diff --git a/H5LiveClient.cpp b/H5LiveClient.cpp index e19e9747..f3ce5e47 100644 --- a/H5LiveClient.cpp +++ b/H5LiveClient.cpp @@ -239,7 +239,7 @@ struct H5LCBase if (videoBuffer && (bufferIsPlaying || checkTimeout(_timestamp))) { videoBuffers.emplace(_timestamp, forward(data)); - emscripten_log(0, "push timestamp:%d", _timestamp); + //emscripten_log(0, "push timestamp:%d", _timestamp); // auto &&info = val::object(); // info.set("code", "NetStream.Play.Start"); // call("onNetStatus", info); diff --git a/H5LiveClient.js b/H5LiveClient.js index 85a83e71..d6e53b63 100644 --- a/H5LiveClient.js +++ b/H5LiveClient.js @@ -229,21 +229,21 @@ mergeInto(LibraryManager.library, { var yTextureRef = this.yTextureRef; var uTextureRef = this.uTextureRef; var vTextureRef = this.vTextureRef; - - if (!croppingParams) { - gl.viewport(0, 0, width, height); - } else { - gl.viewport(0, 0, croppingParams.width, croppingParams.height); - - var tTop = croppingParams.top / height; - var tLeft = croppingParams.left / width; - var tBottom = croppingParams.height / height; - var tRight = croppingParams.width / width; - var texturePosValues = new Float32Array([tRight, tTop, tLeft, tTop, tRight, tBottom, tLeft, tBottom]); - - gl.bindBuffer(gl.ARRAY_BUFFER, texturePosBuffer); - gl.bufferData(gl.ARRAY_BUFFER, texturePosValues, gl.DYNAMIC_DRAW); - } + this.contextGL.viewport(0, 0, this.canvasElement.width, this.canvasElement.height); + // if (!croppingParams) { + // gl.viewport(0, 0, width, height); + // } else { + // gl.viewport(0, 0, croppingParams.width, croppingParams.height); + + // var tTop = croppingParams.top / height; + // var tLeft = croppingParams.left / width; + // var tBottom = croppingParams.height / height; + // var tRight = croppingParams.width / width; + // var texturePosValues = new Float32Array([tRight, tTop, tLeft, tTop, tRight, tBottom, tLeft, tBottom]); + + // gl.bindBuffer(gl.ARRAY_BUFFER, texturePosBuffer); + // gl.bufferData(gl.ARRAY_BUFFER, texturePosValues, gl.DYNAMIC_DRAW); + // } gl.activeTexture(gl.TEXTURE0); gl.bindTexture(gl.TEXTURE_2D, yTextureRef); gl.texImage2D(gl.TEXTURE_2D, 0, gl.LUMINANCE, width, height, 0, gl.LUMINANCE, gl.UNSIGNED_BYTE, data[0]); @@ -439,8 +439,9 @@ mergeInto(LibraryManager.library, { this.playAudio = playAudio; }, setVideoSize: function (w, h, dataPtr) { - // this.webGLCanvas.canvasElement.width = w; - // this.webGLCanvas.canvasElement.height = h; + + //this.webGLCanvas.canvasElement.width = w; + //this.webGLCanvas.canvasElement.height = h; if (this.webGLCanvas.isWebGL()) { this.draw = function () { var y = HEAPU32[dataPtr]; diff --git a/cocos.js b/cocos.js new file mode 100644 index 00000000..792bfc75 --- /dev/null +++ b/cocos.js @@ -0,0 +1,247 @@ +mergeInto(LibraryManager.library, { + init: function () { + var AudioContext = (window.AudioContext || window.webkitAudioContext || window.mozAudioContext) + var context = AudioContext ? new AudioContext() : null + if (!context) { + cc.warn('no audio support') + } + const MVP = ` + uniform mat4 viewProj; + attribute vec3 a_position; + attribute vec2 a_uv0; + varying vec2 uv0; + void main () { + vec4 pos = viewProj * vec4(a_position, 1); + gl_Position = pos; + uv0 = a_uv0; + }`; + const fragmentShaderScript = ` + precision highp float; + varying highp vec2 uv0; + uniform sampler2D ySampler; + uniform sampler2D uSampler; + uniform sampler2D vSampler; + const mat4 YUV2RGB = mat4 + ( + 1.1643828125, 0, 1.59602734375, -.87078515625, + 1.1643828125, -.39176171875, -.81296875, .52959375, + 1.1643828125, 2.017234375, 0, -1.081390625, + 0, 0, 0, 1 + ); + void main(void) { + highp float y = texture2D(ySampler, uv0).r; + highp float u = texture2D(uSampler, uv0).r; + highp float v = texture2D(vSampler, uv0).r; + gl_FragColor = vec4(y, u, v, 1) * YUV2RGB; + }` + + const renderer = cc.renderer; + const renderEngine = renderer.renderEngine; + const Texture2D = renderEngine.Texture2D; + const gfx = renderEngine.gfx; + const Pass = renderEngine.renderer.Pass; + const Technique = renderEngine.renderer.Technique; + const Effect = renderEngine.renderer.Effect; + const PARAM_TEXTURE_2D = renderEngine.renderer.PARAM_TEXTURE_2D; + const option = { format: gfx.TEXTURE_FMT_L8, minFilter: gfx.FILTER_LINEAR, magFilter: gfx.FILTER_LINEAR, wrapS: gfx.WRAP_CLAMP, wrapT: gfx.WRAP_CLAMP } + const YUV2RGB_Material = cc.Class({ + extends: renderEngine.Material, + create(sprite) { + sprite.setState(0) + let name = "YUV2RGB"; + let lib = renderer._forward._programLib; + !lib._templates[name] && lib.define(name, MVP, fragmentShaderScript, []); + let pass = new Pass(name); + pass.setDepth(false, false); + pass.setCullMode(gfx.CULL_NONE); + pass.setBlend( + gfx.BLEND_FUNC_ADD, + gfx.BLEND_SRC_ALPHA, + gfx.BLEND_ONE_MINUS_SRC_ALPHA, + gfx.BLEND_FUNC_ADD, + gfx.BLEND_SRC_ALPHA, + gfx.BLEND_ONE_MINUS_SRC_ALPHA + ); + let mainTech = new Technique( + ['transparent'], + [ + { name: 'ySampler', type: PARAM_TEXTURE_2D, val: this.ySampler = new Texture2D(renderer.device, option) }, + { name: 'uSampler', type: PARAM_TEXTURE_2D, val: this.uSampler = new Texture2D(renderer.device, option) }, + { name: 'vSampler', type: PARAM_TEXTURE_2D, val: this.vSampler = new Texture2D(renderer.device, option) }, + ], + [pass] + ); + this._effect = this.effect = new Effect([mainTech], {}, []); + this._mainTech = mainTech; + this._texture = sprite.spriteFrame.getTexture(); + this.updateHash(); + sprite._state = 114; + sprite._material = sprite._renderData._material = this; + return this + }, + isWebGL() { return true }, + drawNextOutputPicture(width, height, croppingParams, data) { + this.updateHash(Math.random().toString(36)) + this.ySampler.updateImage({ level: 0, width, height, image: data[0] }) + this.uSampler.updateImage({ level: 0, width: width / 2, height: height / 2, image: data[1] }) + this.vSampler.updateImage({ level: 0, width: width / 2, height: height / 2, image: data[2] }) + } + }) + Module.print = text => cc.log(text); + Module.printErr = text => cc.error(text) + Module.H5LiveClient = Module.H5LCBase.extend("H5LC", { + __construct: function (component) { + cc.dynamicAtlasManager.enabled = false; + let sprite = component.node.getComponent(cc.Sprite); + this.webGLCanvas = component._material = new YUV2RGB_Material().create(sprite); + this.__parent.__construct.call(this, this); + }, + __destruct: function () { + this.__parent.__destruct.call(this); + }, + onError: function (err) { + cc.log(this, err) + }, + setStartTime: function (offset) { + cc.log("first timestamp:", offset) + var startTime = Date.now() - offset; + this.timespan = function (t) { + return t - (Date.now() - startTime); + } + + function playVideo(_this) { + _this.decodeVideoBuffer(); + } + this.playVideoBuffer = function (t) { + // console.log("setTimeout:", t); + return setTimeout(playVideo, t, this) + } + }, + timespan: function (t) { + this.setStartTime(t); + return this.timespan(t); + }, + resetTimeSpan: function () { + delete this.timespan; + }, + play: function (url) { + var _this = this; + var reconnectCount = 0; + var reconnectTime = 2000; + + cc.log('H5LiverClient play', url) + + function setWebsocket() { + this.$play(url); + this.ws.onopen = function () { + reconnectCount = 0; + reconnectTime = 2000; + cc.log("ws open") + }; + this.ws.onclose = function () { + _this.isPlaying = false; + _this.ws = null; + _this.$close(); + if (reconnectCount > 3) return; + reconnectCount++; + cc.warn("ws reconnect after " + (reconnectTime / 1000 >> 0) + " second") + _this.reconnectId = setTimeout(function () { + cc.log("ws reconnecting :", reconnectCount); + reconnectTime *= 2; + setWebsocket.call(_this); + }, reconnectTime) + }; + this.ws.onerror = function () { + cc.warn("ws error"); + }; + } + setWebsocket.call(this); + }, + close: function () { + clearTimeout(this.reconnectId) + if (!this.isPlaying) return; + cc.log('close H5LiverClient') + this.isPlaying = false; + this.ws.onmessage = null; + this.ws.onclose = null; + this.ws.onerror = null; + this.ws.close(); + this.ws = null; + this.$close(); + delete this.timespan; + }, + initAudio: function (frameCount, samplerate, channels, outputPtr) { + var isPlaying = false; + var audioBuffers = []; + var allFrameCount = frameCount * channels; + if (!context) return false; + var resampled = samplerate < 22050; + var audioBuffer = resampled ? context.createBuffer(channels, frameCount << 1, samplerate << 1) : context.createBuffer(channels, frameCount, samplerate); + var audioOutputArray = HEAP16.subarray(outputPtr, outputPtr + allFrameCount); + var playNextBuffer = function () { + isPlaying = false; + if (audioBuffers.length) { + playAudio(audioBuffers.shift()); + } + if (audioBuffers.length > 1) audioBuffers.shift(); + //console.log(audioBuffers.length) + }; + var copyAudioOutputArray = resampled ? function (target) { + for (var i = 0; i < allFrameCount; i++) { + var j = i << 1; + target[j] = target[j + 1] = audioOutputArray[i] / 32768; + } + } : function (target) { + for (var i = 0; i < allFrameCount; i++) { + + target[i] = audioOutputArray[i] / 32768; + } + }; + var copyToCtxBuffer = channels > 1 ? function (fromBuffer) { + for (var channel = 0; channel < channels; channel++) { + var nowBuffering = audioBuffer.getChannelData(channel); + if (fromBuffer) { + for (var i = 0; i < frameCount; i++) { + nowBuffering[i] = fromBuffer[i * (channel + 1)]; + } + } else { + for (var i = 0; i < frameCount; i++) { + nowBuffering[i] = audioOutputArray[i * (channel + 1)] / 32768; + } + } + } + } : function (fromBuffer) { + var nowBuffering = audioBuffer.getChannelData(0); + if (fromBuffer) nowBuffering.set(fromBuffer); + else copyAudioOutputArray(nowBuffering); + }; + var playAudio = function (fromBuffer) { + if (isPlaying) { + var buffer = new Float32Array(resampled ? allFrameCount * 2 : allFrameCount); + copyAudioOutputArray(buffer); + audioBuffers.push(buffer); + return; + } + isPlaying = true; + copyToCtxBuffer(fromBuffer); + var source = context.createBufferSource(); + source.buffer = audioBuffer; + source.connect(context.destination); + source.onended = playNextBuffer; + //setTimeout(playNextBuffer, audioBufferTime-audioBuffers.length*200); + source.start(); + }; + this.playAudio = playAudio; + }, + setVideoSize: function (w, h, dataPtr) { + this.draw = function () { + var y = HEAPU32[dataPtr]; + var u = HEAPU32[dataPtr + 1]; + var v = HEAPU32[dataPtr + 2]; + var outputArray = [HEAPU8.subarray(y, y + w * h), HEAPU8.subarray(u, u + (w * h >> 2)), HEAPU8.subarray(v, v + (w * h >> 2))]; + this.webGLCanvas.drawNextOutputPicture(w, h, this.croppingParams, outputArray); + }; + } + }); + } +}) \ No newline at end of file diff --git a/cocosCom.js b/cocosCom.js new file mode 100644 index 00000000..7ce3b223 --- /dev/null +++ b/cocosCom.js @@ -0,0 +1,37 @@ +cc.Class({ + extends: cc.Component, + editor: CC_EDITOR && { + executeInEditMode: true, + requireComponent: cc.Sprite, + }, + properties: { + url: "ws://localhost:8080/live/user1", + videoBuffer: 1, + autoPlay: false, + material: { + visible: false, + get() { + return this._material; + } + }, + }, + + // LIFE-CYCLE CALLBACKS: + onLoad() { + }, + + start() { + this.h5lc = new Module.H5LiveClient(this); + this.h5lc.videoBuffer = this.videoBuffer; + if (this.autoPlay) this.h5lc.play(this.url); + }, + play(url) { + this.h5lc.play(this.url = url); + }, + close() { + this.h5lc.close(); + }, + onDestroy() { + this.h5lc.close() + } +}); diff --git a/h5lc.py b/make.py similarity index 62% rename from h5lc.py rename to make.py index 74c37a5f..bc7e5342 100644 --- a/h5lc.py +++ b/make.py @@ -11,42 +11,42 @@ import getopt from subprocess import Popen, PIPE, STDOUT exec(open(os.path.expanduser('~/.emscripten'), 'r').read()) # sys.path.append(EMSCRIPTEN_ROOT) -opts, args = getopt.getopt(sys.argv[1:], "v:a:o:", ["wasm"]) -args = {} +opts, args = getopt.getopt(sys.argv[1:], "v:a:o:", [ + "wasm", "disable-audio", 'cocos']) +args = {'-a': 'mp3', '-o': 'public/H5LiveClient.js'} for op, value in opts: args[op] = value + video_codec = '-DUSE_'+(args['-v']).upper() if '-v' in args else '' -audio_codec = '-DUSE_'+(args['-a']).upper() if '-a' in args else '-DUSE_MP3' +audio_codec = '' if '--disable-audio' in args else '-DUSE_' + \ + (args['-a']).upper() +sargs = { + 'USE_PTHREADS': 0 if '--cocos' in args else 1, + 'WASM': 1 if '--wasm' in args else 0, + 'TOTAL_MEMORY': 67108864, + 'ASSERTIONS': 0, + 'NO_EXIT_RUNTIME': 1, + 'ERROR_ON_UNDEFINED_SYMBOLS': 0, + 'DISABLE_EXCEPTION_CATCHING':1 + # 'INVOKE_RUN':1 + # 'DEMANGLE_SUPPORT':1 +} emcc_args = [ # '-m32', '-O3', '--memory-init-file', '0', - '--llvm-opts', '3', - '-s', 'WASM='+('1' if '--wasm' in args else '0'), - #'-s', 'CORRECT_SIGNS=1', - #'-s', 'CORRECT_OVERFLOWS=1', - '-s', 'TOTAL_MEMORY=67108864', - #'-s', 'FAST_MEMORY=' + str(12*1024*1024), - #'-s', 'INVOKE_RUN=0', - '-s', 'ASSERTIONS=1', - #'-s DEMANGLE_SUPPORT=1', - # '-s', 'RELOOP=1', - #'-s', '''EXPORTED_FUNCTIONS=["_main"]''', # '--closure', '1', # '--llvm-lto','1', - '-s', 'NO_EXIT_RUNTIME=1', '--bind', '-I.', '-Ithirdparty/Broadway', '-Ithirdparty', video_codec, audio_codec, - # '-DUSE_LIBDE265', - # '-DUSE_AAC', - # '-DUSE_FFMPEG', - '--js-library', 'H5LiveClient.js', '-s ERROR_ON_UNDEFINED_SYMBOLS=0' -] + '--js-library', 'cocos.js' if '--cocos' in args else 'H5LiveClient.js', +]+["-s "+k+"="+str(v) for k, v in sargs.items()] +# if '--cocos' in args: +# emcc_args.append('--post-js cocosCom.js') print 'building...' -output_file = args['-o'] if '-o' in args else 'public/H5LiveClient.js' object_files = [] if video_codec == '-DUSE_LIBHEVC': @@ -67,13 +67,15 @@ if audio_codec == '-DUSE_AAC': elif audio_codec == '-DUSE_SPEEX': emcc_args.append('-Ithirdparty/speex-1.2rc2/include') object_files.append('libspeex.bc') +elif '--disable-audio' in args: + print 'disable-audio' else: object_files.append('mp3.bc') print object_files # emscripten.Building.emcc('H5LiveClient.cpp', [os.path.join( # 'obj', x) for x in object_files]+emcc_args, output_file) -object_files = [os.path.join('obj', x) for x in object_files] +emcc_args = [os.path.join('obj', x) for x in object_files]+emcc_args os.system('emcc H5LiveClient.cpp ' + - (' '.join(object_files+emcc_args)) + ' -o '+output_file) + (' '.join(emcc_args)) + ' -o '+args['-o']) print 'done' diff --git a/public/264_mp3.js b/public/264_mp3.js index 6730d17a..e6da4f42 100644 --- a/public/264_mp3.js +++ b/public/264_mp3.js @@ -1,12 +1,12 @@ -var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module["arguments"]=[];Module["thisProgram"]="./this.program";Module["quit"]=function(status,toThrow){throw toThrow};Module["preRun"]=[];Module["postRun"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;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(Module["ENVIRONMENT"]){throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -s ENVIRONMENT=web or -s ENVIRONMENT=node)")}var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}else{return scriptDirectory+path}}if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+"/";var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);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};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);Module["quit"]=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=function(status){quit(status)}}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}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);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};Module["setWindowTitle"]=function(title){document.title=title}}else{throw new Error("environment detection error")}var out=Module["print"]||(typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null);var err=Module["printErr"]||(typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||out);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;assert(typeof Module["memoryInitializerPrefixURL"]==="undefined","Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["pthreadMainPrefixURL"]==="undefined","Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["cdInitializerPrefixURL"]==="undefined","Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["filePackagePrefixURL"]==="undefined","Module.filePackagePrefixURL option was removed, use Module.locateFile instead");var STACK_ALIGN=16;stackSave=stackRestore=stackAlloc=function(){abort("cannot use the stack before compiled code is ready to run, and has provided stack access")};function dynamicAlloc(size){assert(DYNAMICTOP_PTR);var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end<=_emscripten_get_heap_size()){HEAP32[DYNAMICTOP_PTR>>2]=end}else{return 0}return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var jsCallStartIndex=1;var functionPointers=new Array(0);var funcWrappers={};function makeBigInt(low,high,unsigned){return unsigned?+(low>>>0)+ +(high>>>0)*4294967296:+(low>>>0)+ +(high|0)*4294967296}function dynCall(sig,ptr,args){if(args&&args.length){assert(args.length==sig.length-1);assert("dynCall_"+sig in Module,"bad function pointer type - no table for sig '"+sig+"'");return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{assert(sig.length==1);assert("dynCall_"+sig in Module,"bad function pointer type - no table for sig '"+sig+"'");return Module["dynCall_"+sig].call(null,ptr)}}var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var getTempRet0=function(){return tempRet0};var GLOBAL_BASE=8;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string")return UTF8ToString(ret);if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;assert(returnType!=="array",'Return type should not be "array".');if(args){for(var i=0;i>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)}}var ALLOC_NONE=3;var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(u8Array[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}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){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&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(outIdx+3>=endIdx)break;if(u>=2097152)warnOnce("Invalid Unicode code point 0x"+u.toString(16)+" encountered when serializing a JS string to an UTF-8 string on the asm.js/wasm heap! (Valid unicode code points should be in range 0-0x1FFFFF).");outU8Array[outIdx++]=240|u>>18;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){assert(typeof maxBytesToWrite=="number","stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!");return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}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 len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}function writeArrayToMemory(array,buffer){assert(array.length>=0,"writeArrayToMemory array must have a length (should be an array or typed array)");HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}function demangle(func){warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}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)}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STACK_BASE=56032,STACK_MAX=5298912,DYNAMIC_BASE=5298912,DYNAMICTOP_PTR=56e3;assert(STACK_BASE%16===0,"stack must start aligned");assert(DYNAMIC_BASE%16===0,"heap must start aligned");var TOTAL_STACK=5242880;if(Module["TOTAL_STACK"])assert(TOTAL_STACK===Module["TOTAL_STACK"],"the stack size can no longer be determined at runtime");var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||67108864;if(INITIAL_TOTAL_MEMORY>2]=DYNAMIC_BASE;function writeStackCookie(){assert((STACK_MAX&3)==0);HEAPU32[(STACK_MAX>>2)-1]=34821223;HEAPU32[(STACK_MAX>>2)-2]=2310721022}function checkStackCookie(){if(HEAPU32[(STACK_MAX>>2)-1]!=34821223||HEAPU32[(STACK_MAX>>2)-2]!=2310721022){abort("Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x02135467, but received 0x"+HEAPU32[(STACK_MAX>>2)-2].toString(16)+" "+HEAPU32[(STACK_MAX>>2)-1].toString(16))}if(HEAP32[0]!==1668509029)throw"Runtime error: The application has corrupted its heap memory area (address zero)!"}function abortStackOverflow(allocSize){abort("Stack overflow! Attempted to allocate "+allocSize+" bytes on the stack, but stack has only "+(STACK_MAX-stackSave()+allocSize)+" bytes available!")}HEAP32[0]=1668509029;HEAP16[1]=25459;if(HEAPU8[2]!==115||HEAPU8[3]!==99)throw"Runtime error: expected the system to be little-endian!";function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){checkStackCookie();if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){checkStackCookie();callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){checkStackCookie();runtimeExited=true}function postRun(){checkStackCookie();if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<=half&&(bits<=32||value>half)){value=-2*half+value}return value}assert(Math.imul,"This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.fround,"This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.clz32,"This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.trunc,"This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;var runDependencyTracking={};function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(id){assert(!runDependencyTracking[id]);runDependencyTracking[id]=1;if(runDependencyWatcher===null&&typeof setInterval!=="undefined"){runDependencyWatcher=setInterval(function(){if(ABORT){clearInterval(runDependencyWatcher);runDependencyWatcher=null;return}var shown=false;for(var dep in runDependencyTracking){if(!shown){shown=true;err("still waiting on run dependencies:")}err("dependency: "+dep)}if(shown){err("(end of list)")}},1e4)}}else{err("warning: run dependency added without ID")}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(id){assert(runDependencyTracking[id]);delete runDependencyTracking[id]}else{err("warning: run dependency removed without ID")}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var FS={error:function(){abort("Filesystem support (FS) was not included. The problem is that you are using files from JS, but files were not used from C/C++, so filesystem support was not auto-included. You can force-include filesystem support with -s FORCE_FILESYSTEM=1")},init:function(){FS.error()},createDataFile:function(){FS.error()},createPreloadedFile:function(){FS.error()},createLazyFile:function(){FS.error()},open:function(){FS.error()},mkdev:function(){FS.error()},registerDevice:function(){FS.error()},analyzePath:function(){FS.error()},loadFilesFromDB:function(){FS.error()},ErrnoError:function ErrnoError(){FS.error()}};Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}__ATINIT__.push({func:function(){globalCtors()}});memoryInitializer="data:application/octet-stream;base64,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IwAAACMAAAAkAAAAJAAAACUAAAAlAAAAJQAAACYAAAAmAAAAJgAAACcAAAAnAAAAJwAAACcAAAAAAAAABAAAAAAAAAAEAAAACAAAAAwAAAAIAAAADAAAAAAAAAAEAAAAAAAAAAQAAAAIAAAADAAAAAgAAAAMAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAABAAAAAQAAAAIAAAACAAAAAwAAAAMAAAACAAAAAgAAAAMAAAADAAAAAoAAAANAAAAEAAAAAsAAAAOAAAAEgAAAA0AAAAQAAAAFAAAAA4AAAASAAAAFwAAABAAAAAUAAAAGQAAABIAAAAXAAAAHQAAAAEAAAACAAAABAAAAAgAAAAQAAAAIAAAAEAAAACAAAAAAQAAAAEAAAACAAAAAgAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAQAAAAQAAAAFAAAAAgAAAAMAAAAGAAAABwAAAAgAAAAJAAAADAAAAA0AAAAKAAAACwAAAA4AAAAPAAAAAAAAAAUAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAAAAAAABQAAAAAAAAAHAAAA/wAAAAAAAAD/AAAAAAAAAAAAAAAFAAAABAAAAAAAAAD/AAAAAAAAAP8AAAAAAAAAAAAAAAUAAAAEAAAAAAAAAAAAAAAHAAAABAAAAAIAAAAEAAAAAQAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAABAAAABAAAAAMAAAD/AAAAAAAAAP8AAAAAAAAABAAAAAEAAAAEAAAABAAAAP8AAAAAAAAA/wAAAAAAAAAEAAAAAQAAAAQAAAAEAAAABAAAAAMAAAAEAAAABgAAAAAAAAANAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAAAAAAAA0AAAAAAAAADwAAAP8AAAAAAAAA/wAAAAAAAAAAAAAADQAAAAQAAAAIAAAA/wAAAAAAAAD/AAAAAAAAAAAAAAANAAAABAAAAAgAAAAAAAAADwAAAAQAAAAKAAAABAAAAAkAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAAEAAAACQAAAAQAAAALAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAAJAAAABAAAAAwAAAD/AAAAAAAAAP8AAAAAAAAABAAAAAkAAAAEAAAADAAAAAQAAAALAAAABAAAAA4AAAABAAAACgAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAAEAAAAKAAAABAAAAAAAAAD/AAAAAAAAAP8AAAAAAAAAAQAAAAoAAAABAAAACwAAAP8AAAAAAAAA/wAAAAAAAAABAAAACgAAAAEAAAALAAAABAAAAAAAAAAEAAAAAQAAAAEAAAAOAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAAAQAAAA4AAAAEAAAABAAAAP8AAAAAAAAA/wAAAAAAAAABAAAADgAAAAEAAAAPAAAA/wAAAAAAAAD/AAAAAAAAAAEAAAAOAAAAAQAAAA8AAAAEAAAABAAAAAQAAAAFAAAABAAAAAIAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAAEAAAAAgAAAAQAAAAIAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAACAAAABAAAAAMAAAD/AAAAAAAAAP8AAAAAAAAABAAAAAIAAAAEAAAAAwAAAAQAAAAIAAAABAAAAAkAAAAEAAAABgAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAAGAAAABAAAAAwAAAD/AAAAAAAAAP8AAAAAAAAABAAAAAYAAAAEAAAABwAAAP8AAAAAAAAA/wAAAAAAAAAEAAAABgAAAAQAAAAHAAAABAAAAAwAAAAEAAAADQAAAAEAAAAOAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAAAQAAAA4AAAD/AAAABAAAAP8AAAAAAAAA/wAAAAAAAAABAAAACwAAAAEAAAAOAAAA/wAAAAAAAAD/AAAAAAAAAAEAAAALAAAAAQAAAA4AAAAEAAAAAQAAAP8AAAAEAAAAAgAAAAoAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAACAAAACgAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAAEAAAAPAAAAAgAAAAoAAAD/AAAAAAAAAP8AAAAAAAAAAQAAAA8AAAACAAAACgAAAAQAAAAFAAAA/wAAAAAAAAAEAAAABgAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAAGAAAA/wAAAAwAAAD/AAAAAAAAAP8AAAAAAAAABAAAAAMAAAAEAAAABgAAAP8AAAAAAAAA/wAAAAAAAAAEAAAAAwAAAAQAAAAGAAAABAAAAAkAAAD/AAAADAAAAP8AAAACAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAIAAAD/AAAACAAAAP8AAAAAAAAA/wAAAAAAAAAEAAAABwAAAP8AAAACAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAAHAAAA/wAAAAIAAAAEAAAADQAAAP8AAAAIAAAAAwAAAA8AAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAADAAAADwAAAAAAAAAFAAAA/wAAAAAAAAD/AAAAAAAAAAMAAAAPAAAAAQAAAAoAAAD/AAAAAAAAAP8AAAAAAAAAAwAAAA8AAAABAAAACgAAAAAAAAAFAAAABAAAAAAAAAABAAAACwAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAAEAAAALAAAABAAAAAEAAAD/AAAAAAAAAP8AAAAAAAAAAQAAAAsAAAABAAAADgAAAP8AAAAAAAAA/wAAAAAAAAABAAAACwAAAAEAAAAOAAAABAAAAAEAAAAEAAAABAAAAAAAAAAHAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAAAAAAAAcAAAAAAAAADQAAAP8AAAAAAAAA/wAAAAAAAAAAAAAABwAAAAQAAAACAAAA/wAAAAAAAAD/AAAAAAAAAAAAAAAHAAAABAAAAAIAAAAAAAAADQAAAAQAAAAIAAAABAAAAAMAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAAEAAAAAwAAAAQAAAAJAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAADAAAABAAAAAYAAAD/AAAAAAAAAP8AAAAAAAAABAAAAAMAAAAEAAAABgAAAAQAAAAJAAAABAAAAAwAAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAAwAAAA8AAAABAAAACgAAAAAAAAAFAAAABAAAAAAAAAABAAAACwAAAAEAAAAOAAAABAAAAAEAAAAEAAAABAAAAAAAAAAHAAAABAAAAAIAAAAAAAAADQAAAAQAAAAIAAAABAAAAAMAAAAEAAAABgAAAAQAAAAJAAAABAAAAAwAAAADAAAAEwAAAAEAAAASAAAAAAAAABEAAAAEAAAAEAAAAAMAAAAXAAAAAQAAABYAAAAAAAAAFQAAAAQAAAAUAAAAAQAAAAsAAAABAAAADgAAAAQAAAABAAAA/wAAAAQAAAABAAAADwAAAAIAAAAKAAAABAAAAAUAAAD/AAAAAAAAAAQAAAADAAAABAAAAAYAAAAEAAAACQAAAP8AAAAMAAAABAAAAAcAAAD/AAAAAgAAAAQAAAANAAAA/wAAAAgAAAABAAAAEwAAAAIAAAASAAAABAAAABEAAAD/AAAAEAAAAAEAAAAXAAAAAgAAABYAAAAEAAAAFQAAAP8AAAAUAAAAAQAAAAoAAAABAAAACwAAAAQAAAAAAAAABAAAAAEAAAABAAAADgAAAAEAAAAPAAAABAAAAAQAAAAEAAAABQAAAAQAAAACAAAABAAAAAMAAAAEAAAACAAAAAQAAAAJAAAABAAAAAYAAAAEAAAABwAAAAQAAAAMAAAABAAAAA0AAAABAAAAEgAAAAEAAAATAAAABAAAABAAAAAEAAAAEQAAAAEAAAAWAAAAAQAAABcAAAAEAAAAFAAAAAQAAAAVAAAAAAAAAAUAAAAEAAAAAAAAAAAAAAAHAAAABAAAAAIAAAAEAAAAAQAAAAQAAAAEAAAABAAAAAMAAAAEAAAABgAAAAAAAAANAAAABAAAAAgAAAAAAAAADwAAAAQAAAAKAAAABAAAAAkAAAAEAAAADAAAAAQAAAALAAAABAAAAA4AAAAAAAAAEQAAAAQAAAAQAAAAAAAAABMAAAAEAAAAEgAAAAAAAAAVAAAABAAAABQAAAAAAAAAFwAAAAQAAAAWAAAA4KYAABinAAA4pwAAAAAAADqnAAAAAAMASqcAAAAAAwBqpwAAAAADAAAAAAAAAAAAiqcAAAAAAwC+pwAAAAAEAPanAAAAAAQAdqgAAAAABAD6qAAAAAAEAGapAAAAAAQAMqoAAAAABAACqwAAAAAEAMKrAAAAAAQAAAAAAAAAAADergAAAAAEANaxAAABAAQA1rEAAAIABADWsQAAAwAEANaxAAAEAAQA1rEAAAYABADWsQAACAAEANaxAAAKAAQA1rEAAA0ABAD6tAAABAAEAPq0AAAFAAQA+rQAAAYABAD6tAAABwAEAPq0AAAIAAQA+rQAAAkABAD6tAAACwAEAPq0AAANAAQAAAAAAPn///81AAAAjf////0BAAD4+v//bAYAAGTb//9ISQAAnCQAAGwGAAAIBQAA/QEAAHMAAAA1AAAABwAAAAAAAAD5////NQAAAI3////9AQAA+Pr//2wGAABk2///SEkAAJwkAABsBgAACAUAAP0BAABzAAAANQAAAAcAAAAAAAAA+P///zcAAAB+////9AEAAJ36///SBQAAltn//zxJAADOIgAA+AYAAK0EAAAEAgAAZAAAADQAAAAHAAAAAAAAAPj///83AAAAfv////QBAACd+v//0gUAAJbZ//88SQAAziIAAPgGAACtBAAABAIAAGQAAAA0AAAABwAAAAAAAAD3////OAAAAG/////oAQAAQvr//yoFAADK1///GkkAAAAhAAB2BwAAUgQAAAgCAABXAAAAMwAAAAYAAAAAAAAA9////zgAAABv////6AEAAEL6//8qBQAAytf//xpJAAAAIQAAdgcAAFIEAAAIAgAAVwAAADMAAAAGAAAAAAAAAPb///84AAAAX////9kBAADp+f//dAQAAADW///iSAAAMx8AAOcHAAD4AwAACgIAAEoAAAAxAAAABQAAAAAAAAD2////OAAAAF/////ZAQAA6fn//3QEAAAA1v//4kgAADMfAADnBwAA+AMAAAoCAABKAAAAMQAAAAUAAAAAAAAA9v///zkAAABO////yAEAAJH5//+wAwAAO9T//5JIAABoHQAASwgAAJ4DAAAJAgAAPQAAADAAAAAFAAAAAAAAAPb///85AAAATv///8gBAACR+f//sAMAADvU//+SSAAAaB0AAEsIAACeAwAACQIAAD0AAAAwAAAABQAAAAAAAAD1////OQAAAD3///+zAQAAOvn//94CAAB60v//LUgAAKAbAACiCAAARgMAAAcCAAAxAAAALgAAAAQAAAAAAAAA9f///zkAAAA9////swEAADr5///eAgAAetL//y1IAACgGwAAoggAAEYDAAAHAgAAMQAAAC4AAAAEAAAAAAAAAPT///85AAAALP///5sBAADm+P///QEAAL7Q//+yRwAA3RkAAO0IAADvAgAAAgIAACYAAAAsAAAABAAAAAAAAAD0////OQAAACz///+bAQAA5vj///0BAAC+0P//skcAAN0ZAADtCAAA7wIAAAICAAAmAAAALAAAAAQAAAD/////8////zkAAAAa////gAEAAJX4//8PAQAACs///yFHAAAeGAAAKwkAAJoCAAD8AQAAHAAAACoAAAAEAAAA//////P///85AAAAGv///4ABAACV+P//DwEAAArP//8hRwAAHhgAACsJAACaAgAA/AEAABwAAAAqAAAABAAAAP/////x////OAAAAAj///9iAQAARvj//xIAAABdzf//ekYAAGQWAABeCQAARwIAAPQBAAASAAAAKAAAAAMAAAD/////8f///zgAAAAI////YgEAAEb4//8SAAAAXc3//3pGAABkFgAAXgkAAEcCAAD0AQAAEgAAACgAAAADAAAA//////D///83AAAA9v7//0ABAAD89///Bv///7jL//+/RQAAsRQAAIYJAAD2AQAA6wEAAAkAAAAnAAAAAwAAAP/////w////NwAAAPb+//9AAQAA/Pf//wb///+4y///v0UAALEUAACGCQAA9gEAAOsBAAAJAAAAJwAAAAMAAAD/////7////zYAAADk/v//GwEAALX3///t/f//Hcr///BEAAAGEwAAogkAAKcBAADgAQAAAQAAACUAAAADAAAA/////+////82AAAA5P7//xsBAAC19///7f3//x3K///wRAAABhMAAKIJAACnAQAA4AEAAAEAAAAlAAAAAwAAAP/////u////NAAAANH+///zAAAAc/f//8f8//+NyP//DEQAAGIRAAC0CQAAWwEAANQBAAD5////IwAAAAIAAAD/////7v///zQAAADR/v//8wAAAHP3///H/P//jcj//wxEAABiEQAAtAkAAFsBAADUAQAA+f///yMAAAACAAAA/////+z///8yAAAAv/7//8cAAAA29///k/v//wnH//8VQwAAxw8AALwJAAASAQAAxgEAAPL///8hAAAAAgAAAP/////s////MgAAAL/+///HAAAANvf//5P7//8Jx///FUMAAMcPAAC8CQAAEgEAAMYBAADy////IQAAAAIAAAD/////6////y8AAACt/v//lwAAAP/2//9R+v//kMX//wtCAAA1DgAAugkAAMwAAAC4AQAA6////x8AAAACAAAA/////+v///8vAAAArf7//5cAAAD/9v//Ufr//5DF//8LQgAANQ4AALoJAADMAAAAuAEAAOv///8fAAAAAgAAAP/////p////LAAAAJv+//9lAAAAzvb//wP5//8mxP//8EAAAK0MAACvCQAAiAAAAKkBAADl////HQAAAAIAAAD/////6f///ywAAACb/v//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AAAAAAAAZiAmEAYIZRhlGEMQQxBDEEMQQxBDEEMQQxAiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCAAAAAAAAAAAakBKMCooCiBpOGk4SShJKCkgKSAJGAkYaDBoMGgwaDBIIEggSCBIICgYKBgoGCgYCBAIEAgQCBBnKGcoZyhnKGcoZyhnKGcoRxhHGEcYRxhHGEcYRxhHGG5gTlguUA5QblhOUC5IDkgNQA1ATUhNSC1ALUANOA04bVBtUE1ATUAtOC04DTANMGtIa0hrSGtIa0hrSGtIa0hLOEs4SzhLOEs4SzhLOEs4KzArMCswKzArMCswKzArMAsoCygLKAsoCygLKAsoCygAAAAAL2gvaBCAUIAwgBB4cIBQeDB4EHBweFBwMHAQaG9wb3BPaE9oL2AvYA9gD2BvaG9oT2BPYC9YL1gPWA9YAAAAAAAAAABmOEYgJiAGEGYwRhgmGAYIZShlKCUQJRBkIGQgZCBkIGQYZBhkGGQYQxBDEEMQQxBDEEMQQxBDEAAAAAAAAAAAaUhJOCk4CTAIKAgoSDBIMCgwKDAIIAggZ0BnQGdAZ0BHKEcoRyhHKCcoJygnKCcoBxgHGAcYBxgAAAAAbXhteG6AToAugA6ALngOeE54LnBNcE1wDXANcG1wbXBNaE1oLWgtaA1oDWhtaG1oTWBNYC1gLWANYA1gDFgMWAxYDFhMWExYTFhMWCxYLFgsWCxYDFAMUAxQDFBsYGxgbGBsYExQTFBMUExQLFAsUCxQLFAMSAxIDEgMSGtYa1hrWGtYa1hrWGtYa1hLSEtIS0hLSEtIS0hLSEtIK0grSCtIK0grSCtIK0grSAtAC0ALQAtAC0ALQAtAC0BrUGtQa1BrUGtQa1BrUGtQS0BLQEtAS0BLQEtAS0BLQCtAK0ArQCtAK0ArQCtAK0ALOAs4CzgLOAs4CzgLOAs4AAAAAAAAAAAAAAAAAAAAAAYYRjgmOAYQZkhGMCYwBgglKCUoRShFKCUgJSBFIEUgJRglGGVAZUBFGEUYJRAlEGQ4ZDhkOGQ4ZDBkMGQwZDBkKGQoZChkKGQgZCBkIGQgZBhkGGQYZBhEEEQQRBBEECQIJAgkCCQIBAAEAAQABAAAAAqAaoBKgCqACnhqeEp4KngKcGpwSnAqcApoKWgpaAlgCWBJaEloKWApYAlYCVhpaGloSWBJYClYKVgJUAlQaGBoYGhgaGBIWEhYSFhIWChQKFAoUChQCEgISAhICEhoWGhYaFhoWEhQSFBIUEhQKEgoSChIKEgIQAhACEAIQAc4BzgHOAc4BzgHOAc4BzgHMAcwBzAHMAcwBzAHMAcwR0hHSEdIR0hHSEdIR0hHSAcoBygHKAcoBygHKAcoByhnUGdQZ1BnUGdQZ1BnUGdQR0BHQEdAR0BHQEdAR0BHQCdAJ0AnQCdAJ0AnQCdAJ0AHIAcgByAHIAcgByAHIAcgBggmCAAABgAGECYQRhAAAAYYJhhGGGYYBiAmIEYgZiAGKCYoRihmKAYwJjBGMGYwBjgmOEY4ZjgGQCZARkBmQAZIJkhGSGZIBlAmUEZQZlAGWCZYRlhmWAZgJmBGYGZgBmgmaEZoZmgGcCZwRnBmcAZ4JnhGeGZ4BoAmgEaAZoAAAEMQAgACACEIIQghCCEIZyBnIEggKCBHGEcYJxgnGAYgBiAGIAYgBhgGGAYYBhgGEAYQBhAGEGYYZhhmGGYYJhAmECYQJhAGCAYIBggGCAQBRAGCAaIBSQCJACkAGQADAAMAAwADAAMAAwADAAMA1QD1ALUAdQDlAKUAkwCTAGMAwwBTADMA+QB5ALkAOQDZAFkAmQAZAOkAaQCpACkAyQBJAIkACQABABcBBwEVABUAAwADAAMAAwCGABcBBwEXAAMAAwADAAMAJwIHAhUCFQIlASUBJQAlAIYAFwAVARUBBQEFAQUABQAnAgcCFQIVAiUBJQElACUAiAAXAQcBFwADAAMAAwADAIIBOQI3ATcBGQMJAzkAKQIXAhcCJwEnAQcCBwInACcAMwMjAwYBggGiARkCKQEpAAcBBwEVARUBFQEVARcAFwAHAAcANwMHAyUDJQM1AjUCNQA1ABMDMwEjAgMCCAEIAgQDGQEHAQcBFwAXAAMAAwADAAMAAwADAAMAAwBEA4IDogMZBVkBwgNZAOIDKQRJAhcEFwRHAUcBRwBHAAkEKQM5AgkDFwMXAzcBNwE3ADcAJwInAhUCFQIVAhUCIwEjAQUCJQBVBUUFVQRVAzMFQwQjBVMCAwUzBEMDMwMIAQgCGQIpARUBFQEVARUBBwEHARcAFwAFAAUABQAFAAYDhAPCAxkFWQHiAwIEKQRJAhkERwFHAQkESQApAzkCGQM5AQkDOQAlAiUCJQIlAgUCBQIFAgUCJQAlACUAJQBXBVcERQVFBVMDUwNTA1MDNQVFBCMFIwVTAgMFMwRDA1MAMwMIAQYChALEAgIDGQIpASkAFwEXAQcBBwEXABcABwAHACIDOQVZA0IDSQQpBVkCGQVXAVcBNwQ3BEcDRwNZAAkEJwRHAjcDRwAVBBUERQFFASUDNQITAxMDMwEzAQUDNQAjAgMCUwVDBVMEAwUIAQgCBAMZAQcBBwEXABcAAwADAAMAAwADAAMAAwADAEYDxAMGBIIEpATkBCQFGQd5AWIFhAXEBRkGaQFpAAIGIgZCBhkESQFJACkDOQIJAxcDFwM3ATcBNwA3ACcCJwIVAiUBBQIlAHcHZwd3BlcHdwVnBkUHRQd1BFUGZQU1B3UDdQNFBkUGVwVXBGUDZQMjB3MCZQQFB3MAcwBjAmMCRQU1BQMGAwZVA0UEMwYjBiUFVQITBRMFUwFTATUERQMDBVMAIwRDAjMDAwQIAQgCCAMGBBkCggQXARcBBwEHARcAFwAFAAUABQAFAKQE5gRkBaIFxAUpB3kCAgZ3AXcBGQd5ADkGaQNpACIGQgYZBWcCZwIpBgkGFwYXBmcBZwFZATkEWQBiBikESQIZBEkBCQRJACcDJwM3AjcCFQMVAxUDFQM1ATUBNQE1AQcDNwAlAiUCIwEjASMBIwEDAiMAdQdlB3UGdQVlBmUGRQdFB3UEdQRXB1cFVQZlBTMHMwdzA0MGRQVVBDUFVQNjBAMHQwQjBVMCAwVDAzMDCAEIAggDBARGBMIEGQIpAeIECQAXARcBBwEHARcAFwAEBUIFYgWCBVkGOQeiBSkHeQJJBmkEGQd5AcIFOQZpA0kFWQRJBOIFJwYnBmcCZwJnAWcBGQZpADkFWQMpBVkCFwUXBVcBVwE3BDcERwNHA1kACQQnBCcERwJHAhcEFwQ1A0UBJQM1AkcABwM1ADUAEwMTAxMDEwMzASMCAwIjAHUHZQdzBnMGUwdzBWMGQwdzBGMFcwNTBQMHcwADBgMFCAEIAggDBAQZAQkBFwAXAAMAAwADAAMAAwADAAMAAwBIBEgFSAZIB0gISAlGCsYKRgvGC0YMxgxCDWQNpg0iDkQOhA7EDgQPiQFCD2IPgg+kD+IPGQVZAQIQIhBCEBkERwFHAQkESQApAzkCFwMXAzcBNwEHAwcDNwA3ACcCJwIVAiUBBQIlAGgQaBFoEmYT5BMkFGYU5BQiFUQVhBXEFQQWRBYZD/kB+QCCFqIWwhbpAuIWGQ7pAQIXIhdCF2IXgheiF8kGOQ3CFykN2QIZDbkH4hcCGMkDIhhJC9cB1wEJDdkAiQqpCEkMyQRpC7kGNww3DCcMJwzHAscCVwtXC7kFiQkXDBcMxwHHAZkICQzHAMcAuQRpCqkGeQk3CzcLtwO3A4kIWQonCycLqQVpCacEpwR5CIkHlwSXBHkHeQa1ArUCtQK1AhULFQu1AbUBBwu3AJcGRwo3CqcDVwmXBSUKJQqlAqUCFQoVCqUBpQEHCmcIpQClAIcGRwmVA5UDNwlXCIcFZwclCSUJlQKVAlcHdwU1CDUIhQOFA2cGRwd3BFcGZwV3AxMJkwEFCZUARQiFBHUCdQJHBmcEIwgjCCMIIwiDAhMINQclBxMHEwdzAXMBVQUFB3UANQZlA0UFVQQlBmUCNQUDCIMAEwZjAQMGYwBVA0UEIwUjBVMCAwUzBEMDUwAjBEMCMwNGGPkP6Q/ZD+kOyQ/ZDrkP+QvJDtkMwhjnDOcM1w3XDfkKyQ23DrcO5wvnC5cPlw/3CfcJ5wrnCrcNtw3XC9cLhw+HD/cI9wjHDMcMqQ6ZDocOhw55D3kO9Qf1B/UH9QfVCtUKpw23DMcL9wZlD2UP5QhVD5UN1Qn1BeUHpQy1C0UPRQ/1BPUExwrnBvUD9QMzDzMPhQ3VCCMP8wJlDpUMAw8DD8UJVQ6jC6MLdQ3VB0MOQw7FCNUGMw4zDrMJswmVC6UKswrjBeMEgwxjDeMDIw4DDuMAUw3TBXMMwwdDDYMLswjTBJMKowljDNMDcwtTDMMFkwlzCqMHkwf3DvcM9Q31DeMN4w3jDeMNow/jCQgBCAIIAwgECAUGBoYGBAdCB2IHFwEXAQkBGQAHAAcAiAeICIgJiAqIC4YMBg2IDYYOBg+GDwYQhBDGEEYRxBEEEkQShBLEEgQTRBOEE8QTAhQiFEIUZBSiFMIU5BQiFUIVYhWZAYIVohXCFeIVAhYpCIkCGQiJASIWQhZiFoIWKQd5AmkEGQdZBXkBohY5BmkDSQVZBCkGaQIZBsIWOQVnAWcBWQNJBCcFJwVXAlcCFwUXBVcBVwEJBVkANwQ3BEcDJwRHAjcDRQFFARcEBwQlAyUDNQI1AkcABwMVAxUDNQE1ACMCIwITAiMBAwIjAOIWAhfpDiIXQhdiF/kLghfZDakP+Qq5DukLyQ3ZDJkP+QnpCrkN2QuJD/kIyQyZDukJeQ/5B6kN2Qq5DGkPohfHC8cL9wb3BokO6QhZD5kN9wX3BXcOdw7nB+cHpwynDMcKxwq3C7cL2QmJDUcPRw/3BPcENw83D/cD9wPXCNcI5wbnBicPJw/3AvcCaQ75ABcPFw/3AfcBlwyXDMcJxwlXDqcLtwrnBXcN1wdHDucEhwzHCDcOZw3XBucDlwu3CScOJw6nCqcK5wLnAhcOFw7nAecBCQ7pAFcNVw3XBdcFdwzHB0cNhwvVBNUEtwiXCqcJZwzHBjcN1QPVA9UC1QInDQcNFQ0VDXULdQu1B7UH1QHVAVcM1wDFBcUFhQqFCqUIRQzFBGULtQa1BpcJBww1DDUMxQPFA3UKdQqlB6UHpQalBscABwvDAsMCJQxVC7UFFQyFCZUIxQFFC7UEZQo1C3UJswOzA5UHhQglC1UKswKzAqUFFQuzAbMBtQBlCZUGRQqlBHUIhQc1CqMDowNTCZMFIwqjAhMKowEFCqUAYwhjCIMGQwmTBDMJkwOTA3UHBQlTCIMFIwljB3MGkwITCZMAQwiDBFMHcwUzCIMDYwZDB3MEAwiDAFMGYwUzB3MDQwYDB3MAAwZjAPMP4w/zDtMP8w3DD/MM0w7jDbMPww7jDKMOAw8IAQgCCAMEBBkBCQEXABcAAwADAAMAAwADAAMAAwADAEYExgREBfkPhAXCBegF+QLiBhkP+QEIBwgICAkICggLCAwGDYYNBg6GDgYPhg8GEIQQxBACESQRZBGiEVkBwhHiEQISIhIZBEkBQhIpAzkCFwMXAzcBNwEJAzkAJwInAhUCJQEFAiUA5w/3DtcP9w3HD/cMtw/3C6UPpQ/3CpcP9wn3CIUPhQ91D/UHZQ/1BlUP9QVDD0MP8wTzA/MA8wDzAPMA8wDzAPMA8wA1DzUPNQ81D2gSZhPmE2YUIw8DD+QUJBVkFaIVxBUEFkIWZBakFuQWJBfpA2IXgheiF8IX4hcCGCIYCQ1CGGIYghg5DKIYGQzJAMIY5wLnAikOGQ7ZAykN2QLZATkL4hgXDRcNyQRpC8kDqQcnDCcMyQK5BckBCQxJC7kEaQqpBrcDtwNZCqkFJwsnC7cCtwIXCxcLtwG3AQkLuQBpCZkGSQqpBHkIiQenA6cDOQpZCScKJwqZBWkIpwGnAYkGeQeXBJcESQlZB2cHZwelAqUCpQKlAhUKFQoHCqcANwmXA1cIhwUlCSUJlQKVAncGBwkVCRUJlQGVAZcARwiHBHcFNwiHA2cGJwiFAoUCRwd3BBUIFQiFAYUBhQCFAAcIVwY1BzUHdQN1A2cFRwYlByUHdQJ1AmcEVwUFBwUHEwcTBxMHEwdzAXMBdQA1BmUDRQVVBCUGYwITBmMBYwEFBmUAUwNTAzUFRQQjBVMCEwUDBTMEQwNTACMEQwIzAwMEQwDJDgIZ1w7XDucJ5wnpCtkJ5Q7lDuUO5Q7nDecN5wvnC7UOtQ7FDcUN1wzXC6UOpQ7FDMUMpw3XCncOpwzFCsUKxwl3DVUOVQ6zDbMNsw2zDZMOkw61DMULhQ7lCJUN5Qe1C4UN1QhlDuMGkwylC7UK5QXVB0MOQw7lBIUMwwgzDmMNYw3VBpULtQmlCuMB4wHTBNMEtQilCXMLcwu1B9UAAw7jAFMN0wVzDMMHQw2DC5MKYwzDBjMNUwzDBYMKowiTCUMMswZzClMLgwmTCHMJkweDCOMM0w0IAQgCCAP5DwgECAUIBggHCAgICQYKhAoZAQkBGQAJAOkP+Q7ZD/kNyQ/5DLkP+Qv3CvcKqQ+ZD/cJ9wn3CPcIiQ95D/cH9wdnD2cP9wb3BlcPVw/3BfcFRw9HD/cE9wQ3DzcP9wP3AycPJw/3AvcC9wH3ARkP+QDGCkYLxgtGDMgMxg1GDsYORA+ED8QPBBBEEIQQxBAEEUQRhhEEEkQShBLGEkQThhMCFCQUZBSiFMQUAhUiFUIVYhWCFaIVwhXiFQIWIhZCFmIWghaiFsIW4hYCFyQXYheEF3kDwhd5AkkGaQRZBXkBOQZpA0kFWQQpBmkCGQZpAeIXOQVZA0kEKQVZAhkFAhhXAVcBOQRJAycEJwRHAkcCNwM3AxcEFwRHAUcBCQRJACcDJwM3AjcCFQMVAxUDFQM1ATUBNQE1AQcDNwAlAiUCEwITAhMCEwIjASMBBQIlAAMPAw8DDwMP5w7XDucNxw7nDNcNtw7nC8cN1wynDucKtw3XC8cMlw7nCacN1wq3DMcLhw7nCJcN1wl3DucHpwzHCscKtwu3C4cNhw3XCNcICQ7pAAcNBw3lBuUG5QblBmcOlwzFCcUJVQ5VDrUKtQrlBeUFpwt3DdUH1QflBOUEhQyFDMUIxQhHDicONQ41DmUN1QblA5ULtQmlCuUCFQ7lAVUN1QV1DMUHRQ2FC7UI1QSVCqUJZQzFBjUN1QMlDdUCFQ11C7UH1QFVDMUFhQqlCJUJRQzFBGULZQu1BrUG1wAHDDUMNQzFA3UKpQclDMUCVQu1BRUMhQmVCMUBRQvHAAcLNQs1C7cABwoVChUKswSzBGUKpQZ1CXUJlQeVB6cABwmVAJUAswODCCULVQqzArMCpQUVC7UBZQmTBqMERQp1CIMHgwczCqMDUwmTBSMKowKjAWMIgwZzB0MJkwQzCZMDUwiDBSMJYwdzBpMCEwmTAUMIgwRTB3MFMwiDA2MGIwiDAhMIQwdzBIMBgwEFCIUAUwZjBRMHEwcFB3UAMwcjBwMGYwADBVMAAAAFgA+ACgAbgB4AFAARgDOANgA8ADmAKAAtgCeAIgBjgGYAbABpgHgAfYB3gHIAUABVgF+AWgBLgE4ARABBgMOAxgDMAMmA2ADdgNeA0gDwAPWA/4D6AOuA7gDkAOGAoAClgK+AqgC7gL4AtACxgJOAlgCcAJmAiACNgIeAggCDgYYBjAGJgZgBnYGXgZIBsAG1gb+BugGrga4BpAGhgeAB5YHvgeoB+4H+AfQB8YHTgdYB3AHZgcgBzYHHgcIBQAFFgU+BSgFbgV4BVAFRgXOBdgF8AXmBaAFtgWeBYgEjgSYBLAEpgTgBPYE3gTIBEAEVgR+BGgELgQ4BBAEBgQODBgMMAwmDGAMdgxeDEgMwAzWDP4M6AyuDLgMkAyGDYANlg2+DagN7g34DdANxg1ODVgNcA1mDSANNg0eDQgPAA8WDz4PKA9uD3gPUA9GD84P2A/wD+YPoA+2D54PiA6ODpgOsA6mDuAO9g7eDsgOQA5WDn4OaA4uDjgOEA4GDgAKFgo+CigKbgp4ClAKRgrOCtgK8ArmCqAKtgqeCogLjguYC7ALpgvgC/YL3gvIC0ALVgt+C2gLLgs4CxALBgkOCRgJMAkmCWAJdgleCUgJwAnWCf4J6AmuCbgJkAmGCIAIlgi+CKgI7gj4CNAIxghOCFgIcAhmCCAINggeCAgJINUxDQmFzZQAkcGxheQBvbkRhdGEAJGNsb3NlAGRlY29kZVZpZGVvQnVmZmVyAGlzUGxheWluZwBmbHZNb2RlAGF1ZGlvQnVmZmVyAHZpZGVvQnVmZmVyAGJwcwBidWZmZXJJbmZvAEg1TGl2ZUNsaWVudABjbG9zZQB3ZWJHTENhbnZhcwBpc1dlYkdMAHdlYmdsOiVzAHRydWUAZmFsc2UALmZsdgBXZWJTb2NrZXQAYmluYXJ5VHlwZQBhcnJheWJ1ZmZlcgBvbm1lc3NhZ2UAd3MATlN0M19fMjEyYmFzaWNfc3RyaW5nSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUATlN0M19fMjIxX19iYXNpY19zdHJpbmdfY29tbW9uSUxiMUVFRQBiaW5kAE4xMGVtc2NyaXB0ZW4zdmFsRQBkYXRhAHVua25vdyB0eXBlOiAlZABlcnJvciB0eXBlIDolZABhbGxvY2F0b3I8VD46OmFsbG9jYXRlKHNpemVfdCBuKSAnbicgZXhjZWVkcyBtYXhpbXVtIHN1cHBvcnRlZCBzaXplAHBsYXlBdWRpbwBpbml0QXVkaW8Ac2V0IGF1ZGlvIGJ1ZmZlckxlbmd0aDolZABnb3QgaDI2NCB2aWRlbwBnb3QgaDI2NSB2aWRlbwBPbmx5IHN1cHBvcnQgdmlkZW8gaC4yNjQvYXZjIG9yIGguMjY1L2hldmMgY29kZWMuIGFjdHVhbD0lZAB2aWRlbyBpbmZvIHNldCEAcHVzaCB0aW1lc3RhbXA6JWQAcmVzZXRUaW1lU3BhbgBjb2RlYyA9ICVkAHBsYXlWaWRlb0J1ZmZlcgB0aW1lc3BhbgBjbGVhclRpbWVvdXQAZnJvbnQAYmFjawBzaXplADhINUxDQmFzZQBQOEg1TENCYXNlAFBLOEg1TENCYXNlAGlpAHYAdmkAdmlpaQB2aWkAaWlpAG5vdGlmeU9uRGVzdHJ1Y3Rpb24AaW1wbGVtZW50AGV4dGVuZAAxMkg1TGl2ZUNsaWVudABOMTBlbXNjcmlwdGVuN3dyYXBwZXJJOEg1TENCYXNlRUUATjEwZW1zY3JpcHRlbjhpbnRlcm5hbDExV3JhcHBlckJhc2VFAFAxMkg1TGl2ZUNsaWVudABQSzEySDVMaXZlQ2xpZW50AGlpaWkAYXVkaW8gaW5pdCEgJWQAbXAzIGluaXQhAERFQ09ERVIgSU5JVElBTElaQVRJT04gRkFJTEVECgBIMjY0IGluaXQAOEJyb2Fkd2F5ADEyVmlkZW9EZWNvZGVyAHZpZGVvIGRlY29kZXIgcmVsZWFzZSEKAHZpZGVvIGRlY29kZSAlZABjYW52YXM6JWQsJWQAc2V0VmlkZW9TaXplAGRyYXcAYXVkaW8gZGVjb2RlciByZWxlYXNlCgBhdWRpbyBkZWNvZGVyIHJlbGVhc2UhCgBGbHZEZWNvZGVyIHJlbGVhc2UhCgBfX2Rlc3RydWN0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAAAAAAAQEBAQEBAgICAgICAwMDAwMDBAQEBAQEBQUFBQUFBgYGBgYGBwcHBwcHCAgICAABAgMEBQABAgMEBQABAgMEBQABAgMEBQABAgMEBQABAgMEBQABAgMEBQABAgMEBQABAgMAAGVVREQ0NCMjIyMTExMTAQEBAQEBAQEBAQEBAQEBAQD56dnIyLi4p6enp5eXl5eGhoaGhoaGhnZ2dnZ2dnZ25tbGtqWllZWEhISEdHR0dGRkZGRUVFRUQ0NDQ0NDQ0MzMzMzMzMzMyMjIyMjIyMjExMTExMTExMDAwMDAwMDA9a2xcWlpZWVhISEhFRUVFREREREBAQEBHNzc3Nzc3NzY2NjY2NjY2MzMzMzMzMzMyMjIyMjIyMjExMTExMTExPFtaUFlJR0dDQ0JCSDg4ODY2NjY1NTU1NDQ0NDExMTE7WVpKSEhCQkFBQEBHNzc3NjY2NjU1NTU0NDQ0MzMzMzpgYVFYSE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Ojp3c3RyaW5nAGVtc2NyaXB0ZW46OnZhbABlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgbG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxkb3VibGU+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmcgZG91YmxlPgBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0llRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWZFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ltRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWpFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lpRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJdEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXNFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0loRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJYUVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWNFRQBOU3QzX18yMTJiYXNpY19zdHJpbmdJd05TXzExY2hhcl90cmFpdHNJd0VFTlNfOWFsbG9jYXRvckl3RUVFRQBOU3QzX18yMTJiYXNpY19zdHJpbmdJaE5TXzExY2hhcl90cmFpdHNJaEVFTlNfOWFsbG9jYXRvckloRUVFRQAtKyAgIDBYMHgAKG51bGwpAC0wWCswWCAwWC0weCsweCAweABpbmYASU5GAG5hbgBOQU4ALgB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzOiAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZm9yZWlnbiBleGNlcHRpb24AdGVybWluYXRpbmcAdW5jYXVnaHQAU3Q5ZXhjZXB0aW9uAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAFN0OXR5cGVfaW5mbwBOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAHB0aHJlYWRfb25jZSBmYWlsdXJlIGluIF9fY3hhX2dldF9nbG9iYWxzX2Zhc3QoKQBjYW5ub3QgY3JlYXRlIHB0aHJlYWQga2V5IGZvciBfX2N4YV9nZXRfZ2xvYmFscygpAGNhbm5vdCB6ZXJvIG91dCB0aHJlYWQgdmFsdWUgZm9yIF9fY3hhX2dldF9nbG9iYWxzKCkAdGVybWluYXRlX2hhbmRsZXIgdW5leHBlY3RlZGx5IHJldHVybmVkAFN0MTFsb2dpY19lcnJvcgBTdDEybGVuZ3RoX2Vycm9yAE4xMF9fY3h4YWJpdjExOV9fcG9pbnRlcl90eXBlX2luZm9FAE4xMF9fY3h4YWJpdjExN19fcGJhc2VfdHlwZV9pbmZvRQBOMTBfX2N4eGFiaXYxMjNfX2Z1bmRhbWVudGFsX3R5cGVfaW5mb0UAdgBEbgBiAGMAaABhAHMAdABpAGoAbABtAGYAZABOMTBfX2N4eGFiaXYxMjFfX3ZtaV9jbGFzc190eXBlX2luZm9F";var tempDoublePtr=56016;assert(tempDoublePtr%8==0);function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function ___cxa_allocate_exception(size){return _malloc(size)}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}function ___cxa_free_exception(ptr){try{return _free(ptr)}catch(e){err("exception during cxa_free_exception: "+e)}}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var key in EXCEPTIONS.infos){var ptr=+key;var adj=EXCEPTIONS.infos[ptr].adjusted;var len=adj.length;for(var i=0;i0);info.refcount--;if(info.refcount===0&&!info.rethrown){if(info.destructor){Module["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 ___cxa_begin_catch(ptr){var info=EXCEPTIONS.infos[ptr];if(info&&!info.caught){info.caught=true;__ZSt18uncaught_exceptionv.uncaught_exception--}if(info)info.rethrown=false;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}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(setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(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.push(thrown);return(setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(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."}function ___gxx_personality_v0(){}function ___lock(){}var SYSCALLS={buffers:[null,[],[]],printChar:function(stream,curr){var buffer=SYSCALLS.buffers[stream];assert(buffer);if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(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 ___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();abort("it should not be possible to operate on streams when !SYSCALLS_REQUIRE_FILESYSTEM");return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function flush_NO_FILESYSTEM(){var fflush=Module["_fflush"];if(fflush)fflush(0);var buffers=SYSCALLS.buffers;if(buffers[1].length)SYSCALLS.printChar(1,10);if(buffers[2].length)SYSCALLS.printChar(2,10)}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function count_emval_handles(){var count=0;for(var i=5;i>shift])},destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}});clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function runDestructor(handle){var $$=handle.$$;if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}this.$$.count.value-=1;var toDelete=0===this.$$.count.value;if(toDelete){runDestructor(this)}if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}var registeredPointers={};function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError("Function '"+humanName+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+proto[methodName].overloadTable+")!")}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError("Cannot register public name '"+name+"' twice")}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError("Cannot register multiple overloads of a function with the same number of arguments ("+numArguments+")!")}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError("Expected null or instance of "+desiredClass.name+", got an instance of "+ptrClass.name)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,__emval_register(function(){clonedHandle["delete"]()}));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+handle.$$.ptrType.name+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAPU32[pointer>>2])}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return Object.create(prototype,{$$:{value:record}})}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(dynCall){var args=[];for(var i=1;i0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i>2)+i])}return array}function __embind_register_class_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,fn){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.constructor;if(undefined===proto[methodName]){unboundTypesHandler.argCount=argCount-1;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-1]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));var func=craftInvokerFunction(humanName,invokerArgsArray,null,rawInvoker,fn);if(undefined===proto[methodName].overloadTable){func.argCount=argCount-1;proto[methodName]=func}else{proto[methodName].overloadTable[argCount-1]=func}return[]});return[]})}function __embind_register_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})}function validateThis(this_,classType,humanName){if(!(this_ instanceof Object)){throwBindingError(humanName+' with invalid "this": '+this_)}if(!(this_ instanceof classType.registeredClass.constructor)){throwBindingError(humanName+' incompatible with "this" of type '+this_.constructor.name)}if(!this_.$$.ptr){throwBindingError("cannot call emscripten binding method "+humanName+" on deleted object")}return upcastPointer(this_.$$.ptr,this_.$$.ptrType.registeredClass,classType.registeredClass)}function __embind_register_class_property(classType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){fieldName=readLatin1String(fieldName);getter=embind__requireFunction(getterSignature,getter);whenDependentTypesAreResolved([],[classType],function(classType){classType=classType[0];var humanName=classType.name+"."+fieldName;var desc={get:function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])},enumerable:true,configurable:true};if(setter){desc.set=function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])}}else{desc.set=function(v){throwBindingError(humanName+" is a read-only property")}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);whenDependentTypesAreResolved([],setter?[getterReturnType,setterArgumentType]:[getterReturnType],function(types){var getterReturnType=types[0];var desc={get:function(){var ptr=validateThis(this,classType,humanName+" getter");return getterReturnType["fromWireType"](getter(getterContext,ptr))},enumerable:true};if(setter){setter=embind__requireFunction(setterSignature,setter);var setterArgumentType=types[1];desc.set=function(v){var ptr=validateThis(this,classType,humanName+" setter");var destructors=[];setter(setterContext,ptr,setterArgumentType["toWireType"](destructors,v));runDestructors(destructors)}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);return[]});return[]})}function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=emval_handle_array[handle].value;__emval_decref(handle);return rv},"toWireType":function(destructors,value){return __emval_register(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function _embind_repr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=function(value){return value};if(minRange===0){var bitshift=32-8*size;fromWireType=function(value){return value<>>bitshift}}var isUnsignedType=name.indexOf("unsigned")!=-1;registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(valuemaxRange){throw new TypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}return isUnsignedType?value>>>0:value|0},"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(heap["buffer"],data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var str;if(stdStringIsUTF8){var endChar=HEAPU8[value+4+length];var endCharSwap=0;if(endChar!=0){endCharSwap=endChar;HEAPU8[value+4+length]=0}var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i;if(HEAPU8[currentBytePtr]==0){var stringSegment=UTF8ToString(decodeStartPtr);if(str===undefined)str=stringSegment;else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}if(endCharSwap!=0)HEAPU8[value+4+length]=endCharSwap}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr+4,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}}else{for(var i=0;i>2];var a=new Array(length);var start=value+4>>shift;for(var i=0;i>2]=length;var start=ptr+4>>shift;for(var i=0;i>2]=rd;return returnType["toWireType"](destructors,handle)}function __emval_lookupTypes(argCount,argTypes,argWireTypes){var a=new Array(argCount);for(var i=0;i>2)+i],"parameter "+i)}return a}function __emval_call(handle,argCount,argTypes,argv){handle=requireHandle(handle);var types=__emval_lookupTypes(argCount,argTypes);var args=new Array(argCount);for(var i=0;i>2]=__emval_register(destructors);return destructors}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}else{return symbol}}var emval_methodCallers=[];function __emval_call_method(caller,handle,methodName,destructorsRef,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);return caller(handle,methodName,__emval_allocateDestructors(destructorsRef),args)}function __emval_call_void_method(caller,handle,methodName,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);caller(handle,methodName,null,args)}function emval_get_global(){return function(){return Function}()("return this")()}function __emval_get_global(name){if(name===0){return __emval_register(emval_get_global())}else{name=getStringOrSymbol(name);return __emval_register(emval_get_global()[name])}}function __emval_addMethodCaller(caller){var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id}function __emval_get_method_caller(argCount,argTypes){var types=__emval_lookupTypes(argCount,argTypes);var retType=types[0];var signatureName=retType.name+"_$"+types.slice(1).map(function(t){return t.name}).join("_")+"$";var params=["retType"];var args=[retType];var argsList="";for(var i=0;i4){emval_handle_array[handle].refcount+=1}}function craftEmvalAllocator(argCount){var argsList="";for(var i=0;i> 2) + "+i+'], "parameter '+i+'");\n'+"var arg"+i+" = argType"+i+".readValueFromPointer(args);\n"+"args += argType"+i+"['argPackAdvance'];\n"}functionBody+="var obj = new constructor("+argsList+");\n"+"return __emval_register(obj);\n"+"}\n";return new Function("requireRegisteredType","Module","__emval_register",functionBody)(requireRegisteredType,Module,__emval_register)}var emval_newers={};function __emval_new(handle,argCount,argTypes,args){handle=requireHandle(handle);var newer=emval_newers[argCount];if(!newer){newer=craftEmvalAllocator(argCount);emval_newers[argCount]=newer}return newer(handle,argTypes,args)}function __emval_new_cstring(v){return __emval_register(getStringOrSymbol(v))}function __emval_new_object(){return __emval_register({})}function __emval_run_destructors(handle){var destructors=emval_handle_array[handle].value;runDestructors(destructors);__emval_decref(handle)}function __emval_set_property(handle,key,value){handle=requireHandle(handle);key=requireHandle(key);value=requireHandle(value);handle[key]=value}function __emval_take_value(type,argv){type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](argv);return __emval_register(v)}function _abort(){Module["abort"]()}function _clock(){if(_clock.start===undefined)_clock.start=Date.now();return(Date.now()-_clock.start)*(1e6/1e3)|0}function _emscripten_get_heap_size(){return HEAP8.length}function __reallyNegative(x){return x<0||x===0&&1/x===-Infinity}function __formatString(format,varargs){assert((varargs&3)===0);var textIndex=format;var argIndex=varargs;function prepVararg(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}function getNextArg(type){var ret;argIndex=prepVararg(argIndex,type);if(type==="double"){ret=HEAPF64[argIndex>>3];argIndex+=8}else if(type=="i64"){ret=[HEAP32[argIndex>>2],HEAP32[argIndex+4>>2]];argIndex+=8}else{assert((argIndex&3)===0);type="i32";ret=HEAP32[argIndex>>2];argIndex+=4}return ret}var ret=[];var curr,next,currArg;while(1){var startTextIndex=textIndex;curr=HEAP8[textIndex>>0];if(curr===0)break;next=HEAP8[textIndex+1>>0];if(curr==37){var flagAlwaysSigned=false;var flagLeftAlign=false;var flagAlternative=false;var flagZeroPad=false;var flagPadSign=false;flagsLoop:while(1){switch(next){case 43:flagAlwaysSigned=true;break;case 45:flagLeftAlign=true;break;case 35:flagAlternative=true;break;case 48:if(flagZeroPad){break flagsLoop}else{flagZeroPad=true;break}case 32:flagPadSign=true;break;default:break flagsLoop}textIndex++;next=HEAP8[textIndex+1>>0]}var width=0;if(next==42){width=getNextArg("i32");textIndex++;next=HEAP8[textIndex+1>>0]}else{while(next>=48&&next<=57){width=width*10+(next-48);textIndex++;next=HEAP8[textIndex+1>>0]}}var precisionSet=false,precision=-1;if(next==46){precision=0;precisionSet=true;textIndex++;next=HEAP8[textIndex+1>>0];if(next==42){precision=getNextArg("i32");textIndex++}else{while(1){var precisionChr=HEAP8[textIndex+1>>0];if(precisionChr<48||precisionChr>57)break;precision=precision*10+(precisionChr-48);textIndex++}}next=HEAP8[textIndex+1>>0]}if(precision<0){precision=6;precisionSet=false}var argSize;switch(String.fromCharCode(next)){case"h":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==104){textIndex++;argSize=1}else{argSize=2}break;case"l":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==108){textIndex++;argSize=8}else{argSize=4}break;case"L":case"q":case"j":argSize=8;break;case"z":case"t":case"I":argSize=4;break;default:argSize=null}if(argSize)textIndex++;next=HEAP8[textIndex+1>>0];switch(String.fromCharCode(next)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":{var signed=next==100||next==105;argSize=argSize||4;currArg=getNextArg("i"+argSize*8);var argText;if(argSize==8){currArg=makeBigInt(currArg[0],currArg[1],next==117)}if(argSize<=4){var limit=Math.pow(256,argSize)-1;currArg=(signed?reSign:unSign)(currArg&limit,argSize*8)}var currAbsArg=Math.abs(currArg);var prefix="";if(next==100||next==105){argText=reSign(currArg,8*argSize,1).toString(10)}else if(next==117){argText=unSign(currArg,8*argSize,1).toString(10);currArg=Math.abs(currArg)}else if(next==111){argText=(flagAlternative?"0":"")+currAbsArg.toString(8)}else if(next==120||next==88){prefix=flagAlternative&&currArg!=0?"0x":"";if(currArg<0){currArg=-currArg;argText=(currAbsArg-1).toString(16);var buffer=[];for(var i=0;i=0){if(flagAlwaysSigned){prefix="+"+prefix}else if(flagPadSign){prefix=" "+prefix}}if(argText.charAt(0)=="-"){prefix="-"+prefix;argText=argText.substr(1)}while(prefix.length+argText.lengthexponent&&exponent>=-4){next=(next==103?"f":"F").charCodeAt(0);precision-=exponent+1}else{next=(next==103?"e":"E").charCodeAt(0);precision--}effectivePrecision=Math.min(precision,20)}if(next==101||next==69){argText=currArg.toExponential(effectivePrecision);if(/[eE][-+]\d$/.test(argText)){argText=argText.slice(0,-1)+"0"+argText.slice(-1)}}else if(next==102||next==70){argText=currArg.toFixed(effectivePrecision);if(currArg===0&&__reallyNegative(currArg)){argText="-"+argText}}var parts=argText.split("e");if(isGeneral&&!flagAlternative){while(parts[0].length>1&&parts[0].indexOf(".")!=-1&&(parts[0].slice(-1)=="0"||parts[0].slice(-1)==".")){parts[0]=parts[0].slice(0,-1)}}else{if(flagAlternative&&argText.indexOf(".")==-1)parts[0]+=".";while(precision>effectivePrecision++)parts[0]+="0"}argText=parts[0]+(parts.length>1?"e"+parts[1]:"");if(next==69)argText=argText.toUpperCase();if(currArg>=0){if(flagAlwaysSigned){argText="+"+argText}else if(flagPadSign){argText=" "+argText}}}while(argText.length>0])}}else{ret=ret.concat(intArrayFromString("(null)".substr(0,argLength),true))}if(flagLeftAlign){while(argLength0){ret.push(32)}if(!flagLeftAlign)ret.push(getNextArg("i8"));break}case"n":{var ptr=getNextArg("i32*");HEAP32[ptr>>2]=ret.length;break}case"%":{ret.push(curr);break}default:{for(var i=startTextIndex;i>0])}}}textIndex+=2}else{ret.push(curr);textIndex+=1}}return ret}function __emscripten_traverse_stack(args){if(!args||!args.callee||!args.callee.name){return[null,"",""]}var funstr=args.callee.toString();var funcname=args.callee.name;var str="(";var first=true;for(var i in args){var a=args[i];if(!first){str+=", "}first=false;if(typeof a==="number"||typeof a==="string"){str+=a}else{str+="("+typeof a+")"}}str+=")";var caller=args.callee.caller;args=caller?caller.arguments:[];if(first)str="";return[args,funcname,str]}function _emscripten_get_callstack_js(flags){var callstack=jsStackTrace();var iThisFunc=callstack.lastIndexOf("_emscripten_log");var iThisFunc2=callstack.lastIndexOf("_emscripten_get_callstack");var iNextLine=callstack.indexOf("\n",Math.max(iThisFunc,iThisFunc2))+1;callstack=callstack.slice(iNextLine);if(flags&8&&typeof emscripten_source_map==="undefined"){warnOnce('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.');flags^=8;flags|=16}var stack_args=null;if(flags&128){stack_args=__emscripten_traverse_stack(arguments);while(stack_args[1].indexOf("_emscripten_")>=0)stack_args=__emscripten_traverse_stack(stack_args[0])}var lines=callstack.split("\n");callstack="";var newFirefoxRe=new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)");var firefoxRe=new RegExp("\\s*(.*?)@(.*):(.*)(:(.*))?");var chromeRe=new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(var l in lines){var line=lines[l];var jsSymbolName="";var file="";var lineno=0;var column=0;var parts=chromeRe.exec(line);if(parts&&parts.length==5){jsSymbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]}else{parts=newFirefoxRe.exec(line);if(!parts)parts=firefoxRe.exec(line);if(parts&&parts.length>=4){jsSymbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]|0}else{callstack+=line+"\n";continue}}var cSymbolName=flags&32?demangle(jsSymbolName):jsSymbolName;if(!cSymbolName){cSymbolName=jsSymbolName}var haveSourceMap=false;if(flags&8){var orig=emscripten_source_map.originalPositionFor({line:lineno,column:column});haveSourceMap=orig&&orig.source;if(haveSourceMap){if(flags&64){orig.source=orig.source.substring(orig.source.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=" at "+cSymbolName+" ("+orig.source+":"+orig.line+":"+orig.column+")\n"}}if(flags&16||!haveSourceMap){if(flags&64){file=file.substring(file.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=(haveSourceMap?" = "+jsSymbolName:" at "+cSymbolName)+" ("+file+":"+lineno+":"+column+")\n"}if(flags&128&&stack_args[0]){if(stack_args[1]==jsSymbolName&&stack_args[2].length>0){callstack=callstack.replace(/\s+$/,"");callstack+=" with values: "+stack_args[1]+stack_args[2]+"\n"}stack_args=__emscripten_traverse_stack(stack_args[0])}}callstack=callstack.replace(/\s+$/,"");return callstack}function _emscripten_log_js(flags,str){if(flags&24){str=str.replace(/\s+$/,"");str+=(str.length>0?"\n":"")+_emscripten_get_callstack_js(flags)}if(flags&1){if(flags&4){console.error(str)}else if(flags&2){console.warn(str)}else{console.log(str)}}else if(flags&6){err(str)}else{out(str)}}function _emscripten_log(flags,varargs){var format=HEAP32[varargs>>2];varargs+=4;var str="";if(format){var result=__formatString(format,varargs);for(var i=0;i3)return;reconnectCount++;console.warn("ws reconnect after "+(reconnectTime/1e3>>0)+" second");_this.reconnectId=setTimeout(function(){console.log("ws reconnecting :",reconnectCount);reconnectTime*=2;setWebsocket.call(_this)},reconnectTime)};this.ws.onerror=function(){console.warn("ws error")}}setWebsocket.call(this)},close:function(){clearTimeout(this.reconnectId);if(!this.isPlaying)return;console.log("close H5LiverClient");this.isPlaying=false;this.ws.onmessage=null;this.ws.onclose=null;this.ws.onerror=null;this.ws.close();this.ws=null;this.webGLCanvas.clear();this.$close();delete this.timespan},initAudio:function(frameCount,samplerate,channels,outputPtr){var isPlaying=false;var audioBuffers=[];var allFrameCount=frameCount*channels;if(!context)return false;var resampled=samplerate<22050;var audioBuffer=resampled?context.createBuffer(channels,frameCount<<1,samplerate<<1):context.createBuffer(channels,frameCount,samplerate);var audioOutputArray=HEAP16.subarray(outputPtr,outputPtr+allFrameCount);var playNextBuffer=function(){isPlaying=false;if(audioBuffers.length){playAudio(audioBuffers.shift())}if(audioBuffers.length>1)audioBuffers.shift()};var copyAudioOutputArray=resampled?function(target){for(var i=0;i1?function(fromBuffer){for(var channel=0;channel>2)),HEAPU8.subarray(v,v+(w*h>>2))];this.webGLCanvas.drawNextOutputPicture(w,h,this.croppingParams,outputArray)}}else{var outputArray=HEAPU8.subarray(dataPtr,dataPtr+(w*h<<2));this.webGLCanvas.initRGB(w,h);this.draw=function(){this.webGLCanvas.drawNextOutputPicture(w,h,this.croppingParams,outputArray)}}}})}function _llvm_trap(){abort("trap!")}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest)}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;else err("failed to set errno from JS");return value}init_emval();PureVirtualError=Module["PureVirtualError"]=extendError(Error,"PureVirtualError");embind_init_charCodes();init_embind();BindingError=Module["BindingError"]=extendError(Error,"BindingError");InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_ClassHandle();init_RegisteredPointer();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");var ASSERTIONS=true;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 intArrayToString(array){var ret=[];for(var i=0;i255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var decodeBase64=typeof atob==="function"?atob:function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);Module["quit"]=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=function(status){quit(status)}}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}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);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};Module["setWindowTitle"]=function(title){document.title=title}}else{throw new Error("environment detection error")}var out=Module["print"]||(typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null);var err=Module["printErr"]||(typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||out);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;assert(typeof Module["memoryInitializerPrefixURL"]==="undefined","Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["pthreadMainPrefixURL"]==="undefined","Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["cdInitializerPrefixURL"]==="undefined","Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["filePackagePrefixURL"]==="undefined","Module.filePackagePrefixURL option was removed, use Module.locateFile instead");var STACK_ALIGN=16;stackSave=stackRestore=stackAlloc=function(){abort("cannot use the stack before compiled code is ready to run, and has provided stack access")};function dynamicAlloc(size){assert(DYNAMICTOP_PTR);var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end<=_emscripten_get_heap_size()){HEAP32[DYNAMICTOP_PTR>>2]=end}else{return 0}return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var jsCallStartIndex=1;var functionPointers=new Array(0);var funcWrappers={};function makeBigInt(low,high,unsigned){return unsigned?+(low>>>0)+ +(high>>>0)*4294967296:+(low>>>0)+ +(high|0)*4294967296}function dynCall(sig,ptr,args){if(args&&args.length){assert(args.length==sig.length-1);assert("dynCall_"+sig in Module,"bad function pointer type - no table for sig '"+sig+"'");return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{assert(sig.length==1);assert("dynCall_"+sig in Module,"bad function pointer type - no table for sig '"+sig+"'");return Module["dynCall_"+sig].call(null,ptr)}}var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var getTempRet0=function(){return tempRet0};var GLOBAL_BASE=8;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string")return UTF8ToString(ret);if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;assert(returnType!=="array",'Return type should not be "array".');if(args){for(var i=0;i>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)}}var ALLOC_NONE=3;var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(u8Array[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}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){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&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(outIdx+3>=endIdx)break;if(u>=2097152)warnOnce("Invalid Unicode code point 0x"+u.toString(16)+" encountered when serializing a JS string to an UTF-8 string on the asm.js/wasm heap! (Valid unicode code points should be in range 0-0x1FFFFF).");outU8Array[outIdx++]=240|u>>18;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){assert(typeof maxBytesToWrite=="number","stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!");return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}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 len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}function writeArrayToMemory(array,buffer){assert(array.length>=0,"writeArrayToMemory array must have a length (should be an array or typed array)");HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}function demangle(func){warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}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)}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STACK_BASE=56016,STACK_MAX=5298896,DYNAMIC_BASE=5298896,DYNAMICTOP_PTR=55984;assert(STACK_BASE%16===0,"stack must start aligned");assert(DYNAMIC_BASE%16===0,"heap must start aligned");var TOTAL_STACK=5242880;if(Module["TOTAL_STACK"])assert(TOTAL_STACK===Module["TOTAL_STACK"],"the stack size can no longer be determined at runtime");var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||67108864;if(INITIAL_TOTAL_MEMORY>2]=DYNAMIC_BASE;function writeStackCookie(){assert((STACK_MAX&3)==0);HEAPU32[(STACK_MAX>>2)-1]=34821223;HEAPU32[(STACK_MAX>>2)-2]=2310721022}function checkStackCookie(){if(HEAPU32[(STACK_MAX>>2)-1]!=34821223||HEAPU32[(STACK_MAX>>2)-2]!=2310721022){abort("Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x02135467, but received 0x"+HEAPU32[(STACK_MAX>>2)-2].toString(16)+" "+HEAPU32[(STACK_MAX>>2)-1].toString(16))}if(HEAP32[0]!==1668509029)throw"Runtime error: The application has corrupted its heap memory area (address zero)!"}function abortStackOverflow(allocSize){abort("Stack overflow! Attempted to allocate "+allocSize+" bytes on the stack, but stack has only "+(STACK_MAX-stackSave()+allocSize)+" bytes available!")}HEAP32[0]=1668509029;HEAP16[1]=25459;if(HEAPU8[2]!==115||HEAPU8[3]!==99)throw"Runtime error: expected the system to be little-endian!";function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){checkStackCookie();if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){checkStackCookie();callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){checkStackCookie();runtimeExited=true}function postRun(){checkStackCookie();if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<=half&&(bits<=32||value>half)){value=-2*half+value}return value}assert(Math.imul,"This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.fround,"This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.clz32,"This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.trunc,"This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;var runDependencyTracking={};function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(id){assert(!runDependencyTracking[id]);runDependencyTracking[id]=1;if(runDependencyWatcher===null&&typeof setInterval!=="undefined"){runDependencyWatcher=setInterval(function(){if(ABORT){clearInterval(runDependencyWatcher);runDependencyWatcher=null;return}var shown=false;for(var dep in runDependencyTracking){if(!shown){shown=true;err("still waiting on run dependencies:")}err("dependency: "+dep)}if(shown){err("(end of list)")}},1e4)}}else{err("warning: run dependency added without ID")}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(id){assert(runDependencyTracking[id]);delete runDependencyTracking[id]}else{err("warning: run dependency removed without ID")}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var FS={error:function(){abort("Filesystem support (FS) was not included. The problem is that you are using files from JS, but files were not used from C/C++, so filesystem support was not auto-included. You can force-include filesystem support with -s FORCE_FILESYSTEM=1")},init:function(){FS.error()},createDataFile:function(){FS.error()},createPreloadedFile:function(){FS.error()},createLazyFile:function(){FS.error()},open:function(){FS.error()},mkdev:function(){FS.error()},registerDevice:function(){FS.error()},analyzePath:function(){FS.error()},loadFilesFromDB:function(){FS.error()},ErrnoError:function ErrnoError(){FS.error()}};Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}__ATINIT__.push({func:function(){globalCtors()}});memoryInitializer="data:application/octet-stream;base64,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IwAAACMAAAAkAAAAJAAAACUAAAAlAAAAJQAAACYAAAAmAAAAJgAAACcAAAAnAAAAJwAAACcAAAAAAAAABAAAAAAAAAAEAAAACAAAAAwAAAAIAAAADAAAAAAAAAAEAAAAAAAAAAQAAAAIAAAADAAAAAgAAAAMAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAABAAAAAQAAAAIAAAACAAAAAwAAAAMAAAACAAAAAgAAAAMAAAADAAAAAoAAAANAAAAEAAAAAsAAAAOAAAAEgAAAA0AAAAQAAAAFAAAAA4AAAASAAAAFwAAABAAAAAUAAAAGQAAABIAAAAXAAAAHQAAAAEAAAACAAAABAAAAAgAAAAQAAAAIAAAAEAAAACAAAAAAQAAAAEAAAACAAAAAgAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAQAAAAQAAAAFAAAAAgAAAAMAAAAGAAAABwAAAAgAAAAJAAAADAAAAA0AAAAKAAAACwAAAA4AAAAPAAAAAAAAAAUAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAAAAAAABQAAAAAAAAAHAAAA/wAAAAAAAAD/AAAAAAAAAAAAAAAFAAAABAAAAAAAAAD/AAAAAAAAAP8AAAAAAAAAAAAAAAUAAAAEAAAAAAAAAAAAAAAHAAAABAAAAAIAAAAEAAAAAQAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAABAAAABAAAAAMAAAD/AAAAAAAAAP8AAAAAAAAABAAAAAEAAAAEAAAABAAAAP8AAAAAAAAA/wAAAAAAAAAEAAAAAQAAAAQAAAAEAAAABAAAAAMAAAAEAAAABgAAAAAAAAANAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAAAAAAAA0AAAAAAAAADwAAAP8AAAAAAAAA/wAAAAAAAAAAAAAADQAAAAQAAAAIAAAA/wAAAAAAAAD/AAAAAAAAAAAAAAANAAAABAAAAAgAAAAAAAAADwAAAAQAAAAKAAAABAAAAAkAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAAEAAAACQAAAAQAAAALAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAAJAAAABAAAAAwAAAD/AAAAAAAAAP8AAAAAAAAABAAAAAkAAAAEAAAADAAAAAQAAAALAAAABAAAAA4AAAABAAAACgAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAAEAAAAKAAAABAAAAAAAAAD/AAAAAAAAAP8AAAAAAAAAAQAAAAoAAAABAAAACwAAAP8AAAAAAAAA/wAAAAAAAAABAAAACgAAAAEAAAALAAAABAAAAAAAAAAEAAAAAQAAAAEAAAAOAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAAAQAAAA4AAAAEAAAABAAAAP8AAAAAAAAA/wAAAAAAAAABAAAADgAAAAEAAAAPAAAA/wAAAAAAAAD/AAAAAAAAAAEAAAAOAAAAAQAAAA8AAAAEAAAABAAAAAQAAAAFAAAABAAAAAIAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAAEAAAAAgAAAAQAAAAIAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAACAAAABAAAAAMAAAD/AAAAAAAAAP8AAAAAAAAABAAAAAIAAAAEAAAAAwAAAAQAAAAIAAAABAAAAAkAAAAEAAAABgAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAAGAAAABAAAAAwAAAD/AAAAAAAAAP8AAAAAAAAABAAAAAYAAAAEAAAABwAAAP8AAAAAAAAA/wAAAAAAAAAEAAAABgAAAAQAAAAHAAAABAAAAAwAAAAEAAAADQAAAAEAAAAOAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAAAQAAAA4AAAD/AAAABAAAAP8AAAAAAAAA/wAAAAAAAAABAAAACwAAAAEAAAAOAAAA/wAAAAAAAAD/AAAAAAAAAAEAAAALAAAAAQAAAA4AAAAEAAAAAQAAAP8AAAAEAAAAAgAAAAoAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAACAAAACgAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAAEAAAAPAAAAAgAAAAoAAAD/AAAAAAAAAP8AAAAAAAAAAQAAAA8AAAACAAAACgAAAAQAAAAFAAAA/wAAAAAAAAAEAAAABgAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAAGAAAA/wAAAAwAAAD/AAAAAAAAAP8AAAAAAAAABAAAAAMAAAAEAAAABgAAAP8AAAAAAAAA/wAAAAAAAAAEAAAAAwAAAAQAAAAGAAAABAAAAAkAAAD/AAAADAAAAP8AAAACAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAIAAAD/AAAACAAAAP8AAAAAAAAA/wAAAAAAAAAEAAAABwAAAP8AAAACAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAAHAAAA/wAAAAIAAAAEAAAADQAAAP8AAAAIAAAAAwAAAA8AAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAADAAAADwAAAAAAAAAFAAAA/wAAAAAAAAD/AAAAAAAAAAMAAAAPAAAAAQAAAAoAAAD/AAAAAAAAAP8AAAAAAAAAAwAAAA8AAAABAAAACgAAAAAAAAAFAAAABAAAAAAAAAABAAAACwAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAAEAAAALAAAABAAAAAEAAAD/AAAAAAAAAP8AAAAAAAAAAQAAAAsAAAABAAAADgAAAP8AAAAAAAAA/wAAAAAAAAABAAAACwAAAAEAAAAOAAAABAAAAAEAAAAEAAAABAAAAAAAAAAHAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAAAAAAAAcAAAAAAAAADQAAAP8AAAAAAAAA/wAAAAAAAAAAAAAABwAAAAQAAAACAAAA/wAAAAAAAAD/AAAAAAAAAAAAAAAHAAAABAAAAAIAAAAAAAAADQAAAAQAAAAIAAAABAAAAAMAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAAEAAAAAwAAAAQAAAAJAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAADAAAABAAAAAYAAAD/AAAAAAAAAP8AAAAAAAAABAAAAAMAAAAEAAAABgAAAAQAAAAJAAAABAAAAAwAAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAAwAAAA8AAAABAAAACgAAAAAAAAAFAAAABAAAAAAAAAABAAAACwAAAAEAAAAOAAAABAAAAAEAAAAEAAAABAAAAAAAAAAHAAAABAAAAAIAAAAAAAAADQAAAAQAAAAIAAAABAAAAAMAAAAEAAAABgAAAAQAAAAJAAAABAAAAAwAAAADAAAAEwAAAAEAAAASAAAAAAAAABEAAAAEAAAAEAAAAAMAAAAXAAAAAQAAABYAAAAAAAAAFQAAAAQAAAAUAAAAAQAAAAsAAAABAAAADgAAAAQAAAABAAAA/wAAAAQAAAABAAAADwAAAAIAAAAKAAAABAAAAAUAAAD/AAAAAAAAAAQAAAADAAAABAAAAAYAAAAEAAAACQAAAP8AAAAMAAAABAAAAAcAAAD/AAAAAgAAAAQAAAANAAAA/wAAAAgAAAABAAAAEwAAAAIAAAASAAAABAAAABEAAAD/AAAAEAAAAAEAAAAXAAAAAgAAABYAAAAEAAAAFQAAAP8AAAAUAAAAAQAAAAoAAAABAAAACwAAAAQAAAAAAAAABAAAAAEAAAABAAAADgAAAAEAAAAPAAAABAAAAAQAAAAEAAAABQAAAAQAAAACAAAABAAAAAMAAAAEAAAACAAAAAQAAAAJAAAABAAAAAYAAAAEAAAABwAAAAQAAAAMAAAABAAAAA0AAAABAAAAEgAAAAEAAAATAAAABAAAABAAAAAEAAAAEQAAAAEAAAAWAAAAAQAAABcAAAAEAAAAFAAAAAQAAAAVAAAAAAAAAAUAAAAEAAAAAAAAAAAAAAAHAAAABAAAAAIAAAAEAAAAAQAAAAQAAAAEAAAABAAAAAMAAAAEAAAABgAAAAAAAAANAAAABAAAAAgAAAAAAAAADwAAAAQAAAAKAAAABAAAAAkAAAAEAAAADAAAAAQAAAALAAAABAAAAA4AAAAAAAAAEQAAAAQAAAAQAAAAAAAAABMAAAAEAAAAEgAAAAAAAAAVAAAABAAAABQAAAAAAAAAFwAAAAQAAAAWAAAA4KYAABinAAA4pwAAAAAAADqnAAAAAAMASqcAAAAAAwBqpwAAAAADAAAAAAAAAAAAiqcAAAAAAwC+pwAAAAAEAPanAAAAAAQAdqgAAAAABAD6qAAAAAAEAGapAAAAAAQAMqoAAAAABAACqwAAAAAEAMKrAAAAAAQAAAAAAAAAAADergAAAAAEANaxAAABAAQA1rEAAAIABADWsQAAAwAEANaxAAAEAAQA1rEAAAYABADWsQAACAAEANaxAAAKAAQA1rEAAA0ABAD6tAAABAAEAPq0AAAFAAQA+rQAAAYABAD6tAAABwAEAPq0AAAIAAQA+rQAAAkABAD6tAAACwAEAPq0AAANAAQAAAAAAPn///81AAAAjf////0BAAD4+v//bAYAAGTb//9ISQAAnCQAAGwGAAAIBQAA/QEAAHMAAAA1AAAABwAAAAAAAAD5////NQAAAI3////9AQAA+Pr//2wGAABk2///SEkAAJwkAABsBgAACAUAAP0BAABzAAAANQAAAAcAAAAAAAAA+P///zcAAAB+////9AEAAJ36///SBQAAltn//zxJAADOIgAA+AYAAK0EAAAEAgAAZAAAADQAAAAHAAAAAAAAAPj///83AAAAfv////QBAACd+v//0gUAAJbZ//88SQAAziIAAPgGAACtBAAABAIAAGQAAAA0AAAABwAAAAAAAAD3////OAAAAG/////oAQAAQvr//yoFAADK1///GkkAAAAhAAB2BwAAUgQAAAgCAABXAAAAMwAAAAYAAAAAAAAA9////zgAAABv////6AEAAEL6//8qBQAAytf//xpJAAAAIQAAdgcAAFIEAAAIAgAAVwAAADMAAAAGAAAAAAAAAPb///84AAAAX////9kBAADp+f//dAQAAADW///iSAAAMx8AAOcHAAD4AwAACgIAAEoAAAAxAAAABQAAAAAAAAD2////OAAAAF/////ZAQAA6fn//3QEAAAA1v//4kgAADMfAADnBwAA+AMAAAoCAABKAAAAMQAAAAUAAAAAAAAA9v///zkAAABO////yAEAAJH5//+wAwAAO9T//5JIAABoHQAASwgAAJ4DAAAJAgAAPQAAADAAAAAFAAAAAAAAAPb///85AAAATv///8gBAACR+f//sAMAADvU//+SSAAAaB0AAEsIAACeAwAACQIAAD0AAAAwAAAABQAAAAAAAAD1////OQAAAD3///+zAQAAOvn//94CAAB60v//LUgAAKAbAACiCAAARgMAAAcCAAAxAAAALgAAAAQAAAAAAAAA9f///zkAAAA9////swEAADr5///eAgAAetL//y1IAACgGwAAoggAAEYDAAAHAgAAMQAAAC4AAAAEAAAAAAAAAPT///85AAAALP///5sBAADm+P///QEAAL7Q//+yRwAA3RkAAO0IAADvAgAAAgIAACYAAAAsAAAABAAAAAAAAAD0////OQAAACz///+bAQAA5vj///0BAAC+0P//skcAAN0ZAADtCAAA7wIAAAICAAAmAAAALAAAAAQAAAD/////8////zkAAAAa////gAEAAJX4//8PAQAACs///yFHAAAeGAAAKwkAAJoCAAD8AQAAHAAAACoAAAAEAAAA//////P///85AAAAGv///4ABAACV+P//DwEAAArP//8hRwAAHhgAACsJAACaAgAA/AEAABwAAAAqAAAABAAAAP/////x////OAAAAAj///9iAQAARvj//xIAAABdzf//ekYAAGQWAABeCQAARwIAAPQBAAASAAAAKAAAAAMAAAD/////8f///zgAAAAI////YgEAAEb4//8SAAAAXc3//3pGAABkFgAAXgkAAEcCAAD0AQAAEgAAACgAAAADAAAA//////D///83AAAA9v7//0ABAAD89///Bv///7jL//+/RQAAsRQAAIYJAAD2AQAA6wEAAAkAAAAnAAAAAwAAAP/////w////NwAAAPb+//9AAQAA/Pf//wb///+4y///v0UAALEUAACGCQAA9gEAAOsBAAAJAAAAJwAAAAMAAAD/////7////zYAAADk/v//GwEAALX3///t/f//Hcr///BEAAAGEwAAogkAAKcBAADgAQAAAQAAACUAAAADAAAA/////+////82AAAA5P7//xsBAAC19///7f3//x3K///wRAAABhMAAKIJAACnAQAA4AEAAAEAAAAlAAAAAwAAAP/////u////NAAAANH+///zAAAAc/f//8f8//+NyP//DEQAAGIRAAC0CQAAWwEAANQBAAD5////IwAAAAIAAAD/////7v///zQAAADR/v//8wAAAHP3///H/P//jcj//wxEAABiEQAAtAkAAFsBAADUAQAA+f///yMAAAACAAAA/////+z///8yAAAAv/7//8cAAAA29///k/v//wnH//8VQwAAxw8AALwJAAASAQAAxgEAAPL///8hAAAAAgAAAP/////s////MgAAAL/+///HAAAANvf//5P7//8Jx///FUMAAMcPAAC8CQAAEgEAAMYBAADy////IQAAAAIAAAD/////6////y8AAACt/v//lwAAAP/2//9R+v//kMX//wtCAAA1DgAAugkAAMwAAAC4AQAA6////x8AAAACAAAA/////+v///8vAAAArf7//5cAAAD/9v//Ufr//5DF//8LQgAANQ4AALoJAADMAAAAuAEAAOv///8fAAAAAgAAAP/////p////LAAAAJv+//9lAAAAzvb//wP5//8mxP//8EAAAK0MAACvCQAAiAAAAKkBAADl////HQAAAAIAAAD/////6f///ywAAACb/v//ZQAAAM72//8D+f//JsT///BAAACtDAAArwkAAIgAAACpAQAA5f///x0AAAACAAAA/////+j///8pAAAAif7//y4AAACk9v//qff//8nC///DPwAAMAsAAJwJAABIAAAAmQEAAOD///8cAAAAAgAAAP/////o////KQAAAIn+//8uAAAApPb//6n3///Jwv//wz8AADALAACcCQAASAAAAJkBAADg////HAAAAAIAAAD/////5v///yUAAAB4/v//9f///4D2//9C9v//e8H//4U+AAC+CQAAgAkAAAsAAACIAQAA2////xoAAAABAAAA/////+b///8lAAAAeP7///X///+A9v//Qvb//3vB//+FPgAAvgkAAIAJAAALAAAAiAEAANv///8aAAAAAQAAAIPIAACZyAAAwMgAAObIAAD8yAAAI8kAAEnJAABfyQAAhskAAKzJAADCyQAA6ckAAA3KAAAjygAASsoAAA3KAABuygAAlcoAAA3KAABuygAAlcoAAA3KAABuygAAlcoAALnKAADPygAA9soAAAAAAAAAAAAUvigKHc2lUySpf1kmdWJGLHKMcy2B/LEuAAAANNcgrjSU1mI1lq4dNvRH3jZ6T6Q3Zb43PCTInzy+KAo99cZ2PQuM5T1hY1Y+LjrJPj7/PT+8orQ/BYsWRM2lU0Rqm5FE+2XQRAAAEEVRZFBFFY6RRbt400XzHxZGqX9ZRgCUnUZMWeJGEcwnR/zobUfjrLRHvxT8R9cOIkx1YkZM5wNrTOjxj0w/K7VMwK7aTEl7AE3GjyZNKutMTXKMc02lcppN05zBTRIK6U2CuRBOSKo4TpHbYE6QTIlOgfyxTqHq2k42FgRPi34tT+8iV0+4AoFPPh2rT+Bx1U8AAABUgWMVVCrjKlSxfkBUzzVWVD4IbFS79YFUA/6XVNcgrlT2XcRUJLXaVCQm8VS8sAdVsVQeVcsRNVXU50tVlNZiVdjdeVVs/ZBVHDWoVbiEv1UO7NZV72ruVSsBBlaWrh1WAnM1VkNOTVYtQGVWlkh9VlNnlVY9nK1WK+fFVvRH3lZzvvZWgEoPV/frJ1eyokBXjW5ZV2RPclcURYtXek+kV3VuvVfiodZXoenvV8miBFzKWhFcxBweXKfoKlxlvjdc7p1EXDOHUVwmel5cuXZrXNx8eFyDjIVcn6WSXCTIn1wC9Kxc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AAAAAAAAZiAmEAYIZRhlGEMQQxBDEEMQQxBDEEMQQxAiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCAAAAAAAAAAAakBKMCooCiBpOGk4SShJKCkgKSAJGAkYaDBoMGgwaDBIIEggSCBIICgYKBgoGCgYCBAIEAgQCBBnKGcoZyhnKGcoZyhnKGcoRxhHGEcYRxhHGEcYRxhHGG5gTlguUA5QblhOUC5IDkgNQA1ATUhNSC1ALUANOA04bVBtUE1ATUAtOC04DTANMGtIa0hrSGtIa0hrSGtIa0hLOEs4SzhLOEs4SzhLOEs4KzArMCswKzArMCswKzArMAsoCygLKAsoCygLKAsoCygAAAAAL2gvaBCAUIAwgBB4cIBQeDB4EHBweFBwMHAQaG9wb3BPaE9oL2AvYA9gD2BvaG9oT2BPYC9YL1gPWA9YAAAAAAAAAABmOEYgJiAGEGYwRhgmGAYIZShlKCUQJRBkIGQgZCBkIGQYZBhkGGQYQxBDEEMQQxBDEEMQQxBDEAAAAAAAAAAAaUhJOCk4CTAIKAgoSDBIMCgwKDAIIAggZ0BnQGdAZ0BHKEcoRyhHKCcoJygnKCcoBxgHGAcYBxgAAAAAbXhteG6AToAugA6ALngOeE54LnBNcE1wDXANcG1wbXBNaE1oLWgtaA1oDWhtaG1oTWBNYC1gLWANYA1gDFgMWAxYDFhMWExYTFhMWCxYLFgsWCxYDFAMUAxQDFBsYGxgbGBsYExQTFBMUExQLFAsUCxQLFAMSAxIDEgMSGtYa1hrWGtYa1hrWGtYa1hLSEtIS0hLSEtIS0hLSEtIK0grSCtIK0grSCtIK0grSAtAC0ALQAtAC0ALQAtAC0BrUGtQa1BrUGtQa1BrUGtQS0BLQEtAS0BLQEtAS0BLQCtAK0ArQCtAK0ArQCtAK0ALOAs4CzgLOAs4CzgLOAs4AAAAAAAAAAAAAAAAAAAAAAYYRjgmOAYQZkhGMCYwBgglKCUoRShFKCUgJSBFIEUgJRglGGVAZUBFGEUYJRAlEGQ4ZDhkOGQ4ZDBkMGQwZDBkKGQoZChkKGQgZCBkIGQgZBhkGGQYZBhEEEQQRBBEECQIJAgkCCQIBAAEAAQABAAAAAqAaoBKgCqACnhqeEp4KngKcGpwSnAqcApoKWgpaAlgCWBJaEloKWApYAlYCVhpaGloSWBJYClYKVgJUAlQaGBoYGhgaGBIWEhYSFhIWChQKFAoUChQCEgISAhICEhoWGhYaFhoWEhQSFBIUEhQKEgoSChIKEgIQAhACEAIQAc4BzgHOAc4BzgHOAc4BzgHMAcwBzAHMAcwBzAHMAcwR0hHSEdIR0hHSEdIR0hHSAcoBygHKAcoBygHKAcoByhnUGdQZ1BnUGdQZ1BnUGdQR0BHQEdAR0BHQEdAR0BHQCdAJ0AnQCdAJ0AnQCdAJ0AHIAcgByAHIAcgByAHIAcgBggmCAAABgAGECYQRhAAAAYYJhhGGGYYBiAmIEYgZiAGKCYoRihmKAYwJjBGMGYwBjgmOEY4ZjgGQCZARkBmQAZIJkhGSGZIBlAmUEZQZlAGWCZYRlhmWAZgJmBGYGZgBmgmaEZoZmgGcCZwRnBmcAZ4JnhGeGZ4BoAmgEaAZoAAAEMQAgACACEIIQghCCEIZyBnIEggKCBHGEcYJxgnGAYgBiAGIAYgBhgGGAYYBhgGEAYQBhAGEGYYZhhmGGYYJhAmECYQJhAGCAYIBggGCAQBRAGCAaIBSQCJACkAGQADAAMAAwADAAMAAwADAAMA1QD1ALUAdQDlAKUAkwCTAGMAwwBTADMA+QB5ALkAOQDZAFkAmQAZAOkAaQCpACkAyQBJAIkACQABABcBBwEVABUAAwADAAMAAwCGABcBBwEXAAMAAwADAAMAJwIHAhUCFQIlASUBJQAlAIYAFwAVARUBBQEFAQUABQAnAgcCFQIVAiUBJQElACUAiAAXAQcBFwADAAMAAwADAIIBOQI3ATcBGQMJAzkAKQIXAhcCJwEnAQcCBwInACcAMwMjAwYBggGiARkCKQEpAAcBBwEVARUBFQEVARcAFwAHAAcANwMHAyUDJQM1AjUCNQA1ABMDMwEjAgMCCAEIAgQDGQEHAQcBFwAXAAMAAwADAAMAAwADAAMAAwBEA4IDogMZBVkBwgNZAOIDKQRJAhcEFwRHAUcBRwBHAAkEKQM5AgkDFwMXAzcBNwE3ADcAJwInAhUCFQIVAhUCIwEjAQUCJQBVBUUFVQRVAzMFQwQjBVMCAwUzBEMDMwMIAQgCGQIpARUBFQEVARUBBwEHARcAFwAFAAUABQAFAAYDhAPCAxkFWQHiAwIEKQRJAhkERwFHAQkESQApAzkCGQM5AQkDOQAlAiUCJQIlAgUCBQIFAgUCJQAlACUAJQBXBVcERQVFBVMDUwNTA1MDNQVFBCMFIwVTAgMFMwRDA1MAMwMIAQYChALEAgIDGQIpASkAFwEXAQcBBwEXABcABwAHACIDOQVZA0IDSQQpBVkCGQVXAVcBNwQ3BEcDRwNZAAkEJwRHAjcDRwAVBBUERQFFASUDNQITAxMDMwEzAQUDNQAjAgMCUwVDBVMEAwUIAQgCBAMZAQcBBwEXABcAAwADAAMAAwADAAMAAwADAEYDxAMGBIIEpATkBCQFGQd5AWIFhAXEBRkGaQFpAAIGIgZCBhkESQFJACkDOQIJAxcDFwM3ATcBNwA3ACcCJwIVAiUBBQIlAHcHZwd3BlcHdwVnBkUHRQd1BFUGZQU1B3UDdQNFBkUGVwVXBGUDZQMjB3MCZQQFB3MAcwBjAmMCRQU1BQMGAwZVA0UEMwYjBiUFVQITBRMFUwFTATUERQMDBVMAIwRDAjMDAwQIAQgCCAMGBBkCggQXARcBBwEHARcAFwAFAAUABQAFAKQE5gRkBaIFxAUpB3kCAgZ3AXcBGQd5ADkGaQNpACIGQgYZBWcCZwIpBgkGFwYXBmcBZwFZATkEWQBiBikESQIZBEkBCQRJACcDJwM3AjcCFQMVAxUDFQM1ATUBNQE1AQcDNwAlAiUCIwEjASMBIwEDAiMAdQdlB3UGdQVlBmUGRQdFB3UEdQRXB1cFVQZlBTMHMwdzA0MGRQVVBDUFVQNjBAMHQwQjBVMCAwVDAzMDCAEIAggDBARGBMIEGQIpAeIECQAXARcBBwEHARcAFwAEBUIFYgWCBVkGOQeiBSkHeQJJBmkEGQd5AcIFOQZpA0kFWQRJBOIFJwYnBmcCZwJnAWcBGQZpADkFWQMpBVkCFwUXBVcBVwE3BDcERwNHA1kACQQnBCcERwJHAhcEFwQ1A0UBJQM1AkcABwM1ADUAEwMTAxMDEwMzASMCAwIjAHUHZQdzBnMGUwdzBWMGQwdzBGMFcwNTBQMHcwADBgMFCAEIAggDBAQZAQkBFwAXAAMAAwADAAMAAwADAAMAAwBIBEgFSAZIB0gISAlGCsYKRgvGC0YMxgxCDWQNpg0iDkQOhA7EDgQPiQFCD2IPgg+kD+IPGQVZAQIQIhBCEBkERwFHAQkESQApAzkCFwMXAzcBNwEHAwcDNwA3ACcCJwIVAiUBBQIlAGgQaBFoEmYT5BMkFGYU5BQiFUQVhBXEFQQWRBYZD/kB+QCCFqIWwhbpAuIWGQ7pAQIXIhdCF2IXgheiF8kGOQ3CFykN2QIZDbkH4hcCGMkDIhhJC9cB1wEJDdkAiQqpCEkMyQRpC7kGNww3DCcMJwzHAscCVwtXC7kFiQkXDBcMxwHHAZkICQzHAMcAuQRpCqkGeQk3CzcLtwO3A4kIWQonCycLqQVpCacEpwR5CIkHlwSXBHkHeQa1ArUCtQK1AhULFQu1AbUBBwu3AJcGRwo3CqcDVwmXBSUKJQqlAqUCFQoVCqUBpQEHCmcIpQClAIcGRwmVA5UDNwlXCIcFZwclCSUJlQKVAlcHdwU1CDUIhQOFA2cGRwd3BFcGZwV3AxMJkwEFCZUARQiFBHUCdQJHBmcEIwgjCCMIIwiDAhMINQclBxMHEwdzAXMBVQUFB3UANQZlA0UFVQQlBmUCNQUDCIMAEwZjAQMGYwBVA0UEIwUjBVMCAwUzBEMDUwAjBEMCMwNGGPkP6Q/ZD+kOyQ/ZDrkP+QvJDtkMwhjnDOcM1w3XDfkKyQ23DrcO5wvnC5cPlw/3CfcJ5wrnCrcNtw3XC9cLhw+HD/cI9wjHDMcMqQ6ZDocOhw55D3kO9Qf1B/UH9QfVCtUKpw23DMcL9wZlD2UP5QhVD5UN1Qn1BeUHpQy1C0UPRQ/1BPUExwrnBvUD9QMzDzMPhQ3VCCMP8wJlDpUMAw8DD8UJVQ6jC6MLdQ3VB0MOQw7FCNUGMw4zDrMJswmVC6UKswrjBeMEgwxjDeMDIw4DDuMAUw3TBXMMwwdDDYMLswjTBJMKowljDNMDcwtTDMMFkwlzCqMHkwf3DvcM9Q31DeMN4w3jDeMNow/jCQgBCAIIAwgECAUGBoYGBAdCB2IHFwEXAQkBGQAHAAcAiAeICIgJiAqIC4YMBg2IDYYOBg+GDwYQhBDGEEYRxBEEEkQShBLEEgQTRBOEE8QTAhQiFEIUZBSiFMIU5BQiFUIVYhWZAYIVohXCFeIVAhYpCIkCGQiJASIWQhZiFoIWKQd5AmkEGQdZBXkBohY5BmkDSQVZBCkGaQIZBsIWOQVnAWcBWQNJBCcFJwVXAlcCFwUXBVcBVwEJBVkANwQ3BEcDJwRHAjcDRQFFARcEBwQlAyUDNQI1AkcABwMVAxUDNQE1ACMCIwITAiMBAwIjAOIWAhfpDiIXQhdiF/kLghfZDakP+Qq5DukLyQ3ZDJkP+QnpCrkN2QuJD/kIyQyZDukJeQ/5B6kN2Qq5DGkPohfHC8cL9wb3BokO6QhZD5kN9wX3BXcOdw7nB+cHpwynDMcKxwq3C7cL2QmJDUcPRw/3BPcENw83D/cD9wPXCNcI5wbnBicPJw/3AvcCaQ75ABcPFw/3AfcBlwyXDMcJxwlXDqcLtwrnBXcN1wdHDucEhwzHCDcOZw3XBucDlwu3CScOJw6nCqcK5wLnAhcOFw7nAecBCQ7pAFcNVw3XBdcFdwzHB0cNhwvVBNUEtwiXCqcJZwzHBjcN1QPVA9UC1QInDQcNFQ0VDXULdQu1B7UH1QHVAVcM1wDFBcUFhQqFCqUIRQzFBGULtQa1BpcJBww1DDUMxQPFA3UKdQqlB6UHpQalBscABwvDAsMCJQxVC7UFFQyFCZUIxQFFC7UEZQo1C3UJswOzA5UHhQglC1UKswKzAqUFFQuzAbMBtQBlCZUGRQqlBHUIhQc1CqMDowNTCZMFIwqjAhMKowEFCqUAYwhjCIMGQwmTBDMJkwOTA3UHBQlTCIMFIwljB3MGkwITCZMAQwiDBFMHcwUzCIMDYwZDB3MEAwiDAFMGYwUzB3MDQwYDB3MAAwZjAPMP4w/zDtMP8w3DD/MM0w7jDbMPww7jDKMOAw8IAQgCCAMEBBkBCQEXABcAAwADAAMAAwADAAMAAwADAEYExgREBfkPhAXCBegF+QLiBhkP+QEIBwgICAkICggLCAwGDYYNBg6GDgYPhg8GEIQQxBACESQRZBGiEVkBwhHiEQISIhIZBEkBQhIpAzkCFwMXAzcBNwEJAzkAJwInAhUCJQEFAiUA5w/3DtcP9w3HD/cMtw/3C6UPpQ/3CpcP9wn3CIUPhQ91D/UHZQ/1BlUP9QVDD0MP8wTzA/MA8wDzAPMA8wDzAPMA8wA1DzUPNQ81D2gSZhPmE2YUIw8DD+QUJBVkFaIVxBUEFkIWZBakFuQWJBfpA2IXgheiF8IX4hcCGCIYCQ1CGGIYghg5DKIYGQzJAMIY5wLnAikOGQ7ZAykN2QLZATkL4hgXDRcNyQRpC8kDqQcnDCcMyQK5BckBCQxJC7kEaQqpBrcDtwNZCqkFJwsnC7cCtwIXCxcLtwG3AQkLuQBpCZkGSQqpBHkIiQenA6cDOQpZCScKJwqZBWkIpwGnAYkGeQeXBJcESQlZB2cHZwelAqUCpQKlAhUKFQoHCqcANwmXA1cIhwUlCSUJlQKVAncGBwkVCRUJlQGVAZcARwiHBHcFNwiHA2cGJwiFAoUCRwd3BBUIFQiFAYUBhQCFAAcIVwY1BzUHdQN1A2cFRwYlByUHdQJ1AmcEVwUFBwUHEwcTBxMHEwdzAXMBdQA1BmUDRQVVBCUGYwITBmMBYwEFBmUAUwNTAzUFRQQjBVMCEwUDBTMEQwNTACMEQwIzAwMEQwDJDgIZ1w7XDucJ5wnpCtkJ5Q7lDuUO5Q7nDecN5wvnC7UOtQ7FDcUN1wzXC6UOpQ7FDMUMpw3XCncOpwzFCsUKxwl3DVUOVQ6zDbMNsw2zDZMOkw61DMULhQ7lCJUN5Qe1C4UN1QhlDuMGkwylC7UK5QXVB0MOQw7lBIUMwwgzDmMNYw3VBpULtQmlCuMB4wHTBNMEtQilCXMLcwu1B9UAAw7jAFMN0wVzDMMHQw2DC5MKYwzDBjMNUwzDBYMKowiTCUMMswZzClMLgwmTCHMJkweDCOMM0w0IAQgCCAP5DwgECAUIBggHCAgICQYKhAoZAQkBGQAJAOkP+Q7ZD/kNyQ/5DLkP+Qv3CvcKqQ+ZD/cJ9wn3CPcIiQ95D/cH9wdnD2cP9wb3BlcPVw/3BfcFRw9HD/cE9wQ3DzcP9wP3AycPJw/3AvcC9wH3ARkP+QDGCkYLxgtGDMgMxg1GDsYORA+ED8QPBBBEEIQQxBAEEUQRhhEEEkQShBLGEkQThhMCFCQUZBSiFMQUAhUiFUIVYhWCFaIVwhXiFQIWIhZCFmIWghaiFsIW4hYCFyQXYheEF3kDwhd5AkkGaQRZBXkBOQZpA0kFWQQpBmkCGQZpAeIXOQVZA0kEKQVZAhkFAhhXAVcBOQRJAycEJwRHAkcCNwM3AxcEFwRHAUcBCQRJACcDJwM3AjcCFQMVAxUDFQM1ATUBNQE1AQcDNwAlAiUCEwITAhMCEwIjASMBBQIlAAMPAw8DDwMP5w7XDucNxw7nDNcNtw7nC8cN1wynDucKtw3XC8cMlw7nCacN1wq3DMcLhw7nCJcN1wl3DucHpwzHCscKtwu3C4cNhw3XCNcICQ7pAAcNBw3lBuUG5QblBmcOlwzFCcUJVQ5VDrUKtQrlBeUFpwt3DdUH1QflBOUEhQyFDMUIxQhHDicONQ41DmUN1QblA5ULtQmlCuUCFQ7lAVUN1QV1DMUHRQ2FC7UI1QSVCqUJZQzFBjUN1QMlDdUCFQ11C7UH1QFVDMUFhQqlCJUJRQzFBGULZQu1BrUG1wAHDDUMNQzFA3UKpQclDMUCVQu1BRUMhQmVCMUBRQvHAAcLNQs1C7cABwoVChUKswSzBGUKpQZ1CXUJlQeVB6cABwmVAJUAswODCCULVQqzArMCpQUVC7UBZQmTBqMERQp1CIMHgwczCqMDUwmTBSMKowKjAWMIgwZzB0MJkwQzCZMDUwiDBSMJYwdzBpMCEwmTAUMIgwRTB3MFMwiDA2MGIwiDAhMIQwdzBIMBgwEFCIUAUwZjBRMHEwcFB3UAMwcjBwMGYwADBVMAAAAFgA+ACgAbgB4AFAARgDOANgA8ADmAKAAtgCeAIgBjgGYAbABpgHgAfYB3gHIAUABVgF+AWgBLgE4ARABBgMOAxgDMAMmA2ADdgNeA0gDwAPWA/4D6AOuA7gDkAOGAoAClgK+AqgC7gL4AtACxgJOAlgCcAJmAiACNgIeAggCDgYYBjAGJgZgBnYGXgZIBsAG1gb+BugGrga4BpAGhgeAB5YHvgeoB+4H+AfQB8YHTgdYB3AHZgcgBzYHHgcIBQAFFgU+BSgFbgV4BVAFRgXOBdgF8AXmBaAFtgWeBYgEjgSYBLAEpgTgBPYE3gTIBEAEVgR+BGgELgQ4BBAEBgQODBgMMAwmDGAMdgxeDEgMwAzWDP4M6AyuDLgMkAyGDYANlg2+DagN7g34DdANxg1ODVgNcA1mDSANNg0eDQgPAA8WDz4PKA9uD3gPUA9GD84P2A/wD+YPoA+2D54PiA6ODpgOsA6mDuAO9g7eDsgOQA5WDn4OaA4uDjgOEA4GDgAKFgo+CigKbgp4ClAKRgrOCtgK8ArmCqAKtgqeCogLjguYC7ALpgvgC/YL3gvIC0ALVgt+C2gLLgs4CxALBgkOCRgJMAkmCWAJdgleCUgJwAnWCf4J6AmuCbgJkAmGCIAIlgi+CKgI7gj4CNAIxghOCFgIcAhmCCAINggeCAgJINUxDQmFzZQAkcGxheQBvbkRhdGEAJGNsb3NlAGRlY29kZVZpZGVvQnVmZmVyAGlzUGxheWluZwBmbHZNb2RlAGF1ZGlvQnVmZmVyAHZpZGVvQnVmZmVyAGJwcwBidWZmZXJJbmZvAEg1TGl2ZUNsaWVudABjbG9zZQB3ZWJHTENhbnZhcwBpc1dlYkdMAHdlYmdsOiVzAHRydWUAZmFsc2UALmZsdgBXZWJTb2NrZXQAYmluYXJ5VHlwZQBhcnJheWJ1ZmZlcgBvbm1lc3NhZ2UAd3MATlN0M19fMjEyYmFzaWNfc3RyaW5nSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUATlN0M19fMjIxX19iYXNpY19zdHJpbmdfY29tbW9uSUxiMUVFRQBiaW5kAE4xMGVtc2NyaXB0ZW4zdmFsRQBkYXRhAHVua25vdyB0eXBlOiAlZABlcnJvciB0eXBlIDolZABhbGxvY2F0b3I8VD46OmFsbG9jYXRlKHNpemVfdCBuKSAnbicgZXhjZWVkcyBtYXhpbXVtIHN1cHBvcnRlZCBzaXplAHBsYXlBdWRpbwBpbml0QXVkaW8Ac2V0IGF1ZGlvIGJ1ZmZlckxlbmd0aDolZABnb3QgaDI2NCB2aWRlbwBnb3QgaDI2NSB2aWRlbwBPbmx5IHN1cHBvcnQgdmlkZW8gaC4yNjQvYXZjIG9yIGguMjY1L2hldmMgY29kZWMuIGFjdHVhbD0lZAB2aWRlbyBpbmZvIHNldCEAcmVzZXRUaW1lU3BhbgBjb2RlYyA9ICVkAHBsYXlWaWRlb0J1ZmZlcgB0aW1lc3BhbgBjbGVhclRpbWVvdXQAZnJvbnQAYmFjawBzaXplADhINUxDQmFzZQBQOEg1TENCYXNlAFBLOEg1TENCYXNlAGlpAHYAdmkAdmlpaQB2aWkAaWlpAG5vdGlmeU9uRGVzdHJ1Y3Rpb24AaW1wbGVtZW50AGV4dGVuZAAxMkg1TGl2ZUNsaWVudABOMTBlbXNjcmlwdGVuN3dyYXBwZXJJOEg1TENCYXNlRUUATjEwZW1zY3JpcHRlbjhpbnRlcm5hbDExV3JhcHBlckJhc2VFAFAxMkg1TGl2ZUNsaWVudABQSzEySDVMaXZlQ2xpZW50AGlpaWkAYXVkaW8gaW5pdCEgJWQAbXAzIGluaXQhAERFQ09ERVIgSU5JVElBTElaQVRJT04gRkFJTEVECgBIMjY0IGluaXQAOEJyb2Fkd2F5ADEyVmlkZW9EZWNvZGVyAHZpZGVvIGRlY29kZXIgcmVsZWFzZSEKAHZpZGVvIGRlY29kZSAlZABjYW52YXM6JWQsJWQAc2V0VmlkZW9TaXplAGRyYXcAYXVkaW8gZGVjb2RlciByZWxlYXNlCgBhdWRpbyBkZWNvZGVyIHJlbGVhc2UhCgBGbHZEZWNvZGVyIHJlbGVhc2UhCgBfX2Rlc3RydWN0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAAAAAAAQEBAQEBAgICAgICAwMDAwMDBAQEBAQEBQUFBQUFBgYGBgYGBwcHBwcHCAgICAABAgMEBQABAgMEBQABAgMEBQABAgMEBQABAgMEBQABAgMEBQABAgMEBQABAgMEBQABAgMAAGVVREQ0NCMjIyMTExMTAQEBAQEBAQEBAQEBAQEBAQD56dnIyLi4p6enp5eXl5eGhoaGhoaGhnZ2dnZ2dnZ25tbGtqWllZWEhISEdHR0dGRkZGRUVFRUQ0NDQ0NDQ0MzMzMzMzMzMyMjIyMjIyMjExMTExMTExMDAwMDAwMDA9a2xcWlpZWVhISEhFRUVFREREREBAQEBHNzc3Nzc3NzY2NjY2NjY2MzMzMzMzMzMyMjIyMjIyMjExMTExMTExPFtaUFlJR0dDQ0JCSDg4ODY2NjY1NTU1NDQ0NDExMTE7WVpKSEhCQkFBQEBHNzc3NjY2NjU1NTU0NDQ0MzMzMzpgYVFYSEhISTk5OTk5OTk3Nzc3Nzc3Nz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ZW46OnZhbABlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgbG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxkb3VibGU+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmcgZG91YmxlPgBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0llRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWZFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ltRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWpFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lpRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJdEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXNFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0loRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJYUVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWNFRQBOU3QzX18yMTJiYXNpY19zdHJpbmdJd05TXzExY2hhcl90cmFpdHNJd0VFTlNfOWFsbG9jYXRvckl3RUVFRQBOU3QzX18yMTJiYXNpY19zdHJpbmdJaE5TXzExY2hhcl90cmFpdHNJaEVFTlNfOWFsbG9jYXRvckloRUVFRQAtKyAgIDBYMHgAKG51bGwpAC0wWCswWCAwWC0weCsweCAweABpbmYASU5GAG5hbgBOQU4ALgB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzOiAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZm9yZWlnbiBleGNlcHRpb24AdGVybWluYXRpbmcAdW5jYXVnaHQAU3Q5ZXhjZXB0aW9uAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAFN0OXR5cGVfaW5mbwBOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAHB0aHJlYWRfb25jZSBmYWlsdXJlIGluIF9fY3hhX2dldF9nbG9iYWxzX2Zhc3QoKQBjYW5ub3QgY3JlYXRlIHB0aHJlYWQga2V5IGZvciBfX2N4YV9nZXRfZ2xvYmFscygpAGNhbm5vdCB6ZXJvIG91dCB0aHJlYWQgdmFsdWUgZm9yIF9fY3hhX2dldF9nbG9iYWxzKCkAdGVybWluYXRlX2hhbmRsZXIgdW5leHBlY3RlZGx5IHJldHVybmVkAFN0MTFsb2dpY19lcnJvcgBTdDEybGVuZ3RoX2Vycm9yAE4xMF9fY3h4YWJpdjExOV9fcG9pbnRlcl90eXBlX2luZm9FAE4xMF9fY3h4YWJpdjExN19fcGJhc2VfdHlwZV9pbmZvRQBOMTBfX2N4eGFiaXYxMjNfX2Z1bmRhbWVudGFsX3R5cGVfaW5mb0UAdgBEbgBiAGMAaABhAHMAdABpAGoAbABtAGYAZABOMTBfX2N4eGFiaXYxMjFfX3ZtaV9jbGFzc190eXBlX2luZm9F";var tempDoublePtr=56e3;assert(tempDoublePtr%8==0);function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function ___cxa_allocate_exception(size){return _malloc(size)}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}function ___cxa_free_exception(ptr){try{return _free(ptr)}catch(e){err("exception during cxa_free_exception: "+e)}}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var key in EXCEPTIONS.infos){var ptr=+key;var adj=EXCEPTIONS.infos[ptr].adjusted;var len=adj.length;for(var i=0;i0);info.refcount--;if(info.refcount===0&&!info.rethrown){if(info.destructor){Module["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 ___cxa_begin_catch(ptr){var info=EXCEPTIONS.infos[ptr];if(info&&!info.caught){info.caught=true;__ZSt18uncaught_exceptionv.uncaught_exception--}if(info)info.rethrown=false;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}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(setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(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.push(thrown);return(setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(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."}function ___gxx_personality_v0(){}function ___lock(){}var SYSCALLS={buffers:[null,[],[]],printChar:function(stream,curr){var buffer=SYSCALLS.buffers[stream];assert(buffer);if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(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 ___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();abort("it should not be possible to operate on streams when !SYSCALLS_REQUIRE_FILESYSTEM");return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function flush_NO_FILESYSTEM(){var fflush=Module["_fflush"];if(fflush)fflush(0);var buffers=SYSCALLS.buffers;if(buffers[1].length)SYSCALLS.printChar(1,10);if(buffers[2].length)SYSCALLS.printChar(2,10)}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function count_emval_handles(){var count=0;for(var i=5;i>shift])},destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}});clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function runDestructor(handle){var $$=handle.$$;if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}this.$$.count.value-=1;var toDelete=0===this.$$.count.value;if(toDelete){runDestructor(this)}if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}var registeredPointers={};function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError("Function '"+humanName+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+proto[methodName].overloadTable+")!")}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError("Cannot register public name '"+name+"' twice")}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError("Cannot register multiple overloads of a function with the same number of arguments ("+numArguments+")!")}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError("Expected null or instance of "+desiredClass.name+", got an instance of "+ptrClass.name)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,__emval_register(function(){clonedHandle["delete"]()}));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+handle.$$.ptrType.name+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAPU32[pointer>>2])}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return Object.create(prototype,{$$:{value:record}})}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(dynCall){var args=[];for(var i=1;i0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i>2)+i])}return array}function __embind_register_class_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,fn){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.constructor;if(undefined===proto[methodName]){unboundTypesHandler.argCount=argCount-1;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-1]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));var func=craftInvokerFunction(humanName,invokerArgsArray,null,rawInvoker,fn);if(undefined===proto[methodName].overloadTable){func.argCount=argCount-1;proto[methodName]=func}else{proto[methodName].overloadTable[argCount-1]=func}return[]});return[]})}function __embind_register_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})}function validateThis(this_,classType,humanName){if(!(this_ instanceof Object)){throwBindingError(humanName+' with invalid "this": '+this_)}if(!(this_ instanceof classType.registeredClass.constructor)){throwBindingError(humanName+' incompatible with "this" of type '+this_.constructor.name)}if(!this_.$$.ptr){throwBindingError("cannot call emscripten binding method "+humanName+" on deleted object")}return upcastPointer(this_.$$.ptr,this_.$$.ptrType.registeredClass,classType.registeredClass)}function __embind_register_class_property(classType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){fieldName=readLatin1String(fieldName);getter=embind__requireFunction(getterSignature,getter);whenDependentTypesAreResolved([],[classType],function(classType){classType=classType[0];var humanName=classType.name+"."+fieldName;var desc={get:function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])},enumerable:true,configurable:true};if(setter){desc.set=function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])}}else{desc.set=function(v){throwBindingError(humanName+" is a read-only property")}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);whenDependentTypesAreResolved([],setter?[getterReturnType,setterArgumentType]:[getterReturnType],function(types){var getterReturnType=types[0];var desc={get:function(){var ptr=validateThis(this,classType,humanName+" getter");return getterReturnType["fromWireType"](getter(getterContext,ptr))},enumerable:true};if(setter){setter=embind__requireFunction(setterSignature,setter);var setterArgumentType=types[1];desc.set=function(v){var ptr=validateThis(this,classType,humanName+" setter");var destructors=[];setter(setterContext,ptr,setterArgumentType["toWireType"](destructors,v));runDestructors(destructors)}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);return[]});return[]})}function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=emval_handle_array[handle].value;__emval_decref(handle);return rv},"toWireType":function(destructors,value){return __emval_register(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function _embind_repr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=function(value){return value};if(minRange===0){var bitshift=32-8*size;fromWireType=function(value){return value<>>bitshift}}var isUnsignedType=name.indexOf("unsigned")!=-1;registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(valuemaxRange){throw new TypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}return isUnsignedType?value>>>0:value|0},"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(heap["buffer"],data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var str;if(stdStringIsUTF8){var endChar=HEAPU8[value+4+length];var endCharSwap=0;if(endChar!=0){endCharSwap=endChar;HEAPU8[value+4+length]=0}var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i;if(HEAPU8[currentBytePtr]==0){var stringSegment=UTF8ToString(decodeStartPtr);if(str===undefined)str=stringSegment;else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}if(endCharSwap!=0)HEAPU8[value+4+length]=endCharSwap}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr+4,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}}else{for(var i=0;i>2];var a=new Array(length);var start=value+4>>shift;for(var i=0;i>2]=length;var start=ptr+4>>shift;for(var i=0;i>2]=rd;return returnType["toWireType"](destructors,handle)}function __emval_lookupTypes(argCount,argTypes,argWireTypes){var a=new Array(argCount);for(var i=0;i>2)+i],"parameter "+i)}return a}function __emval_call(handle,argCount,argTypes,argv){handle=requireHandle(handle);var types=__emval_lookupTypes(argCount,argTypes);var args=new Array(argCount);for(var i=0;i>2]=__emval_register(destructors);return destructors}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}else{return symbol}}var emval_methodCallers=[];function __emval_call_method(caller,handle,methodName,destructorsRef,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);return caller(handle,methodName,__emval_allocateDestructors(destructorsRef),args)}function __emval_call_void_method(caller,handle,methodName,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);caller(handle,methodName,null,args)}function emval_get_global(){return function(){return Function}()("return this")()}function __emval_get_global(name){if(name===0){return __emval_register(emval_get_global())}else{name=getStringOrSymbol(name);return __emval_register(emval_get_global()[name])}}function __emval_addMethodCaller(caller){var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id}function __emval_get_method_caller(argCount,argTypes){var types=__emval_lookupTypes(argCount,argTypes);var retType=types[0];var signatureName=retType.name+"_$"+types.slice(1).map(function(t){return t.name}).join("_")+"$";var params=["retType"];var args=[retType];var argsList="";for(var i=0;i4){emval_handle_array[handle].refcount+=1}}function craftEmvalAllocator(argCount){var argsList="";for(var i=0;i> 2) + "+i+'], "parameter '+i+'");\n'+"var arg"+i+" = argType"+i+".readValueFromPointer(args);\n"+"args += argType"+i+"['argPackAdvance'];\n"}functionBody+="var obj = new constructor("+argsList+");\n"+"return __emval_register(obj);\n"+"}\n";return new Function("requireRegisteredType","Module","__emval_register",functionBody)(requireRegisteredType,Module,__emval_register)}var emval_newers={};function __emval_new(handle,argCount,argTypes,args){handle=requireHandle(handle);var newer=emval_newers[argCount];if(!newer){newer=craftEmvalAllocator(argCount);emval_newers[argCount]=newer}return newer(handle,argTypes,args)}function __emval_new_cstring(v){return __emval_register(getStringOrSymbol(v))}function __emval_new_object(){return __emval_register({})}function __emval_run_destructors(handle){var destructors=emval_handle_array[handle].value;runDestructors(destructors);__emval_decref(handle)}function __emval_set_property(handle,key,value){handle=requireHandle(handle);key=requireHandle(key);value=requireHandle(value);handle[key]=value}function __emval_take_value(type,argv){type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](argv);return __emval_register(v)}function _abort(){Module["abort"]()}function _clock(){if(_clock.start===undefined)_clock.start=Date.now();return(Date.now()-_clock.start)*(1e6/1e3)|0}function _emscripten_get_heap_size(){return HEAP8.length}function __reallyNegative(x){return x<0||x===0&&1/x===-Infinity}function __formatString(format,varargs){assert((varargs&3)===0);var textIndex=format;var argIndex=varargs;function prepVararg(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}function getNextArg(type){var ret;argIndex=prepVararg(argIndex,type);if(type==="double"){ret=HEAPF64[argIndex>>3];argIndex+=8}else if(type=="i64"){ret=[HEAP32[argIndex>>2],HEAP32[argIndex+4>>2]];argIndex+=8}else{assert((argIndex&3)===0);type="i32";ret=HEAP32[argIndex>>2];argIndex+=4}return ret}var ret=[];var curr,next,currArg;while(1){var startTextIndex=textIndex;curr=HEAP8[textIndex>>0];if(curr===0)break;next=HEAP8[textIndex+1>>0];if(curr==37){var flagAlwaysSigned=false;var flagLeftAlign=false;var flagAlternative=false;var flagZeroPad=false;var flagPadSign=false;flagsLoop:while(1){switch(next){case 43:flagAlwaysSigned=true;break;case 45:flagLeftAlign=true;break;case 35:flagAlternative=true;break;case 48:if(flagZeroPad){break flagsLoop}else{flagZeroPad=true;break}case 32:flagPadSign=true;break;default:break flagsLoop}textIndex++;next=HEAP8[textIndex+1>>0]}var width=0;if(next==42){width=getNextArg("i32");textIndex++;next=HEAP8[textIndex+1>>0]}else{while(next>=48&&next<=57){width=width*10+(next-48);textIndex++;next=HEAP8[textIndex+1>>0]}}var precisionSet=false,precision=-1;if(next==46){precision=0;precisionSet=true;textIndex++;next=HEAP8[textIndex+1>>0];if(next==42){precision=getNextArg("i32");textIndex++}else{while(1){var precisionChr=HEAP8[textIndex+1>>0];if(precisionChr<48||precisionChr>57)break;precision=precision*10+(precisionChr-48);textIndex++}}next=HEAP8[textIndex+1>>0]}if(precision<0){precision=6;precisionSet=false}var argSize;switch(String.fromCharCode(next)){case"h":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==104){textIndex++;argSize=1}else{argSize=2}break;case"l":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==108){textIndex++;argSize=8}else{argSize=4}break;case"L":case"q":case"j":argSize=8;break;case"z":case"t":case"I":argSize=4;break;default:argSize=null}if(argSize)textIndex++;next=HEAP8[textIndex+1>>0];switch(String.fromCharCode(next)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":{var signed=next==100||next==105;argSize=argSize||4;currArg=getNextArg("i"+argSize*8);var argText;if(argSize==8){currArg=makeBigInt(currArg[0],currArg[1],next==117)}if(argSize<=4){var limit=Math.pow(256,argSize)-1;currArg=(signed?reSign:unSign)(currArg&limit,argSize*8)}var currAbsArg=Math.abs(currArg);var prefix="";if(next==100||next==105){argText=reSign(currArg,8*argSize,1).toString(10)}else if(next==117){argText=unSign(currArg,8*argSize,1).toString(10);currArg=Math.abs(currArg)}else if(next==111){argText=(flagAlternative?"0":"")+currAbsArg.toString(8)}else if(next==120||next==88){prefix=flagAlternative&&currArg!=0?"0x":"";if(currArg<0){currArg=-currArg;argText=(currAbsArg-1).toString(16);var buffer=[];for(var i=0;i=0){if(flagAlwaysSigned){prefix="+"+prefix}else if(flagPadSign){prefix=" "+prefix}}if(argText.charAt(0)=="-"){prefix="-"+prefix;argText=argText.substr(1)}while(prefix.length+argText.lengthexponent&&exponent>=-4){next=(next==103?"f":"F").charCodeAt(0);precision-=exponent+1}else{next=(next==103?"e":"E").charCodeAt(0);precision--}effectivePrecision=Math.min(precision,20)}if(next==101||next==69){argText=currArg.toExponential(effectivePrecision);if(/[eE][-+]\d$/.test(argText)){argText=argText.slice(0,-1)+"0"+argText.slice(-1)}}else if(next==102||next==70){argText=currArg.toFixed(effectivePrecision);if(currArg===0&&__reallyNegative(currArg)){argText="-"+argText}}var parts=argText.split("e");if(isGeneral&&!flagAlternative){while(parts[0].length>1&&parts[0].indexOf(".")!=-1&&(parts[0].slice(-1)=="0"||parts[0].slice(-1)==".")){parts[0]=parts[0].slice(0,-1)}}else{if(flagAlternative&&argText.indexOf(".")==-1)parts[0]+=".";while(precision>effectivePrecision++)parts[0]+="0"}argText=parts[0]+(parts.length>1?"e"+parts[1]:"");if(next==69)argText=argText.toUpperCase();if(currArg>=0){if(flagAlwaysSigned){argText="+"+argText}else if(flagPadSign){argText=" "+argText}}}while(argText.length>0])}}else{ret=ret.concat(intArrayFromString("(null)".substr(0,argLength),true))}if(flagLeftAlign){while(argLength0){ret.push(32)}if(!flagLeftAlign)ret.push(getNextArg("i8"));break}case"n":{var ptr=getNextArg("i32*");HEAP32[ptr>>2]=ret.length;break}case"%":{ret.push(curr);break}default:{for(var i=startTextIndex;i>0])}}}textIndex+=2}else{ret.push(curr);textIndex+=1}}return ret}function __emscripten_traverse_stack(args){if(!args||!args.callee||!args.callee.name){return[null,"",""]}var funstr=args.callee.toString();var funcname=args.callee.name;var str="(";var first=true;for(var i in args){var a=args[i];if(!first){str+=", "}first=false;if(typeof a==="number"||typeof a==="string"){str+=a}else{str+="("+typeof a+")"}}str+=")";var caller=args.callee.caller;args=caller?caller.arguments:[];if(first)str="";return[args,funcname,str]}function _emscripten_get_callstack_js(flags){var callstack=jsStackTrace();var iThisFunc=callstack.lastIndexOf("_emscripten_log");var iThisFunc2=callstack.lastIndexOf("_emscripten_get_callstack");var iNextLine=callstack.indexOf("\n",Math.max(iThisFunc,iThisFunc2))+1;callstack=callstack.slice(iNextLine);if(flags&8&&typeof emscripten_source_map==="undefined"){warnOnce('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.');flags^=8;flags|=16}var stack_args=null;if(flags&128){stack_args=__emscripten_traverse_stack(arguments);while(stack_args[1].indexOf("_emscripten_")>=0)stack_args=__emscripten_traverse_stack(stack_args[0])}var lines=callstack.split("\n");callstack="";var newFirefoxRe=new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)");var firefoxRe=new RegExp("\\s*(.*?)@(.*):(.*)(:(.*))?");var chromeRe=new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(var l in lines){var line=lines[l];var jsSymbolName="";var file="";var lineno=0;var column=0;var parts=chromeRe.exec(line);if(parts&&parts.length==5){jsSymbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]}else{parts=newFirefoxRe.exec(line);if(!parts)parts=firefoxRe.exec(line);if(parts&&parts.length>=4){jsSymbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]|0}else{callstack+=line+"\n";continue}}var cSymbolName=flags&32?demangle(jsSymbolName):jsSymbolName;if(!cSymbolName){cSymbolName=jsSymbolName}var haveSourceMap=false;if(flags&8){var orig=emscripten_source_map.originalPositionFor({line:lineno,column:column});haveSourceMap=orig&&orig.source;if(haveSourceMap){if(flags&64){orig.source=orig.source.substring(orig.source.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=" at "+cSymbolName+" ("+orig.source+":"+orig.line+":"+orig.column+")\n"}}if(flags&16||!haveSourceMap){if(flags&64){file=file.substring(file.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=(haveSourceMap?" = "+jsSymbolName:" at "+cSymbolName)+" ("+file+":"+lineno+":"+column+")\n"}if(flags&128&&stack_args[0]){if(stack_args[1]==jsSymbolName&&stack_args[2].length>0){callstack=callstack.replace(/\s+$/,"");callstack+=" with values: "+stack_args[1]+stack_args[2]+"\n"}stack_args=__emscripten_traverse_stack(stack_args[0])}}callstack=callstack.replace(/\s+$/,"");return callstack}function _emscripten_log_js(flags,str){if(flags&24){str=str.replace(/\s+$/,"");str+=(str.length>0?"\n":"")+_emscripten_get_callstack_js(flags)}if(flags&1){if(flags&4){console.error(str)}else if(flags&2){console.warn(str)}else{console.log(str)}}else if(flags&6){err(str)}else{out(str)}}function _emscripten_log(flags,varargs){var format=HEAP32[varargs>>2];varargs+=4;var str="";if(format){var result=__formatString(format,varargs);for(var i=0;i3)return;reconnectCount++;console.warn("ws reconnect after "+(reconnectTime/1e3>>0)+" second");_this.reconnectId=setTimeout(function(){console.log("ws reconnecting :",reconnectCount);reconnectTime*=2;setWebsocket.call(_this)},reconnectTime)};this.ws.onerror=function(){console.warn("ws error")}}setWebsocket.call(this)},close:function(){clearTimeout(this.reconnectId);if(!this.isPlaying)return;console.log("close H5LiverClient");this.isPlaying=false;this.ws.onmessage=null;this.ws.onclose=null;this.ws.onerror=null;this.ws.close();this.ws=null;this.webGLCanvas.clear();this.$close();delete this.timespan},initAudio:function(frameCount,samplerate,channels,outputPtr){var isPlaying=false;var audioBuffers=[];var allFrameCount=frameCount*channels;if(!context)return false;var resampled=samplerate<22050;var audioBuffer=resampled?context.createBuffer(channels,frameCount<<1,samplerate<<1):context.createBuffer(channels,frameCount,samplerate);var audioOutputArray=HEAP16.subarray(outputPtr,outputPtr+allFrameCount);var playNextBuffer=function(){isPlaying=false;if(audioBuffers.length){playAudio(audioBuffers.shift())}if(audioBuffers.length>1)audioBuffers.shift()};var copyAudioOutputArray=resampled?function(target){for(var i=0;i1?function(fromBuffer){for(var channel=0;channel>2)),HEAPU8.subarray(v,v+(w*h>>2))];this.webGLCanvas.drawNextOutputPicture(w,h,this.croppingParams,outputArray)}}else{var outputArray=HEAPU8.subarray(dataPtr,dataPtr+(w*h<<2));this.webGLCanvas.initRGB(w,h);this.draw=function(){this.webGLCanvas.drawNextOutputPicture(w,h,this.croppingParams,outputArray)}}}})}function _llvm_trap(){abort("trap!")}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest)}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;else err("failed to set errno from JS");return value}init_emval();PureVirtualError=Module["PureVirtualError"]=extendError(Error,"PureVirtualError");embind_init_charCodes();init_embind();BindingError=Module["BindingError"]=extendError(Error,"BindingError");InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_ClassHandle();init_RegisteredPointer();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");var ASSERTIONS=true;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 intArrayToString(array){var ret=[];for(var i=0;i255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var decodeBase64=typeof atob==="function"?atob:function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i>2]|0;x=0;while(1){A=v&1;k=a+(i<<11)+(A<<9)|0;Gg(b+48+(i*4608|0)+(x<<7)|0,v>>>1,k,a+(i<<11)+1024+(A<<9)|0);g=v&-2;q=v+15&14|1;h=A^1;m=5336+(q<<2)|0;B=5336+(g<<2)|0;H=r(c[B>>2]|0,c[k>>2]|0)|0;u=r(c[m>>2]|0,c[a+(i<<11)+(h<<9)>>2]|0)|0;y=r(c[m+56>>2]|0,c[a+(i<<11)+(h<<9)+4>>2]|0)|0;t=r(c[m+48>>2]|0,c[a+(i<<11)+(h<<9)+8>>2]|0)|0;l=r(c[m+40>>2]|0,c[a+(i<<11)+(h<<9)+12>>2]|0)|0;f=r(c[m+32>>2]|0,c[a+(i<<11)+(h<<9)+16>>2]|0)|0;z=r(c[m+24>>2]|0,c[a+(i<<11)+(h<<9)+20>>2]|0)|0;n=r(c[m+16>>2]|0,c[a+(i<<11)+(h<<9)+24>>2]|0)|0;m=r(c[m+8>>2]|0,c[a+(i<<11)+(h<<9)+28>>2]|0)|0;I=r(c[B+56>>2]|0,c[a+(i<<11)+(A<<9)+4>>2]|0)|0;G=r(c[B+48>>2]|0,c[a+(i<<11)+(A<<9)+8>>2]|0)|0;F=r(c[B+40>>2]|0,c[a+(i<<11)+(A<<9)+12>>2]|0)|0;E=r(c[B+32>>2]|0,c[a+(i<<11)+(A<<9)+16>>2]|0)|0;D=r(c[B+24>>2]|0,c[a+(i<<11)+(A<<9)+20>>2]|0)|0;C=r(c[B+16>>2]|0,c[a+(i<<11)+(A<<9)+24>>2]|0)|0;c[s>>2]=I+H+G+F+E+D+C+(r(c[B+8>>2]|0,c[a+(i<<11)+(A<<9)+28>>2]|0)|0)-(y+u+t+l+f+z+n+m)>>2;m=0-g|0;n=0-q|0;z=p+(h<<9)|0;f=5336;l=a+(i<<11)+1024+(h<<9)|0;t=s;u=s+124|0;y=1;while(1){t=t+4|0;I=f+128+(q<<2)|0;H=l+4|0;G=l+8|0;F=l+12|0;E=l+16|0;D=l+20|0;C=l+24|0;B=l+28|0;W=f+128+(g<<2)|0;A=k+60|0;aa=r(c[W+8>>2]|0,c[A>>2]|0)|0;U=r(c[I>>2]|0,c[l>>2]|0)|0;V=r(c[I+56>>2]|0,c[H>>2]|0)|0;T=r(c[I+48>>2]|0,c[G>>2]|0)|0;S=r(c[I+40>>2]|0,c[F>>2]|0)|0;R=r(c[I+32>>2]|0,c[E>>2]|0)|0;Q=r(c[I+24>>2]|0,c[D>>2]|0)|0;O=r(c[I+16>>2]|0,c[C>>2]|0)|0;I=r(c[I+8>>2]|0,c[B>>2]|0)|0;J=k+56|0;ba=r(c[W+16>>2]|0,c[J>>2]|0)|0;K=k+52|0;$=r(c[W+24>>2]|0,c[K>>2]|0)|0;L=k+48|0;_=r(c[W+32>>2]|0,c[L>>2]|0)|0;M=k+44|0;Z=r(c[W+40>>2]|0,c[M>>2]|0)|0;N=k+40|0;Y=r(c[W+48>>2]|0,c[N>>2]|0)|0;P=k+36|0;k=k+32|0;X=r(c[W+56>>2]|0,c[P>>2]|0)|0;c[t>>2]=ba+aa+$+_+Z+Y+X+(r(c[W>>2]|0,c[k>>2]|0)|0)-(V+U+T+S+R+Q+O+I)>>2;I=f+128+(m<<2)|0;O=r(c[I+60>>2]|0,c[k>>2]|0)|0;O=(r(c[I+68>>2]|0,c[P>>2]|0)|0)+O|0;N=O+(r(c[I+76>>2]|0,c[N>>2]|0)|0)|0;M=N+(r(c[I+84>>2]|0,c[M>>2]|0)|0)|0;L=M+(r(c[I+92>>2]|0,c[L>>2]|0)|0)|0;K=L+(r(c[I+100>>2]|0,c[K>>2]|0)|0)|0;J=K+(r(c[I+108>>2]|0,c[J>>2]|0)|0)|0;A=J+(r(c[I+116>>2]|0,c[A>>2]|0)|0)|0;I=f+128+(n<<2)|0;B=A+(r(c[I+116>>2]|0,c[B>>2]|0)|0)|0;C=B+(r(c[I+108>>2]|0,c[C>>2]|0)|0)|0;D=C+(r(c[I+100>>2]|0,c[D>>2]|0)|0)|0;E=D+(r(c[I+92>>2]|0,c[E>>2]|0)|0)|0;F=E+(r(c[I+84>>2]|0,c[F>>2]|0)|0)|0;G=F+(r(c[I+76>>2]|0,c[G>>2]|0)|0)|0;H=G+(r(c[I+68>>2]|0,c[H>>2]|0)|0)|0;c[u>>2]=H+(r(c[I+60>>2]|0,c[l>>2]|0)|0)>>2;y=y+1|0;if((y|0)==16)break;else{f=f+128|0;l=l+32|0;u=u+-4|0}}ba=7384+(q<<2)|0;aa=r(c[ba>>2]|0,c[z>>2]|0)|0;aa=aa+(r(c[ba+56>>2]|0,c[o+(h<<9)+36>>2]|0)|0)|0;aa=aa+(r(c[ba+48>>2]|0,c[o+(h<<9)+40>>2]|0)|0)|0;aa=aa+(r(c[ba+40>>2]|0,c[o+(h<<9)+44>>2]|0)|0)|0;aa=aa+(r(c[ba+32>>2]|0,c[o+(h<<9)+48>>2]|0)|0)|0;aa=aa+(r(c[ba+24>>2]|0,c[o+(h<<9)+52>>2]|0)|0)|0;aa=aa+(r(c[ba+16>>2]|0,c[o+(h<<9)+56>>2]|0)|0)|0;c[s+64>>2]=0-(aa+(r(c[ba+8>>2]|0,c[o+(h<<9)+60>>2]|0)|0))>>2;x=x+1|0;if((x|0)==(e|0))break;else{s=s+128|0;v=v+1&15}}}i=i+1|0;if((i|0)==(d|0))break;else{o=o+2048|0;p=p+2048|0}}return}function Gg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;s=c[a>>2]|0;aa=c[a+124>>2]|0;Q=aa+s|0;aa=(s+2048-aa>>12)*4091|0;s=c[a+60>>2]|0;p=c[a+64>>2]|0;I=p+s|0;p=(s+2048-p>>12)*201|0;s=p+aa|0;p=(aa+2048-p>>12)*4076|0;aa=I+Q|0;I=(Q+2048-I>>12)*4076|0;Q=c[a+28>>2]|0;X=c[a+96>>2]|0;q=X+Q|0;X=(Q+2048-X>>12)*3035|0;Q=c[a+32>>2]|0;A=c[a+92>>2]|0;N=A+Q|0;A=(Q+2048-A>>12)*2751|0;Q=A+X|0;A=(X+2048-A>>12)*401|0;X=N+q|0;N=(q+2048-N>>12)*401|0;q=c[a+12>>2]|0;ba=c[a+112>>2]|0;m=ba+q|0;ba=(q+2048-ba>>12)*3857|0;q=c[a+48>>2]|0;n=c[a+76>>2]|0;G=n+q|0;n=(q+2048-n>>12)*1380|0;q=n+ba|0;n=(ba+2048-n>>12)*3166|0;ba=G+m|0;G=(m+2048-G>>12)*3166|0;m=c[a+16>>2]|0;T=c[a+108>>2]|0;r=T+m|0;T=(m+2048-T>>12)*3703|0;m=c[a+44>>2]|0;i=c[a+80>>2]|0;F=i+m|0;i=(m+2048-i>>12)*1751|0;m=i+T|0;i=(T+2048-i>>12)*2598|0;T=F+r|0;F=(r+2048-F>>12)*2598|0;r=c[a+4>>2]|0;$=c[a+120>>2]|0;k=$+r|0;$=(r+2048-$>>12)*4052|0;r=c[a+56>>2]|0;o=c[a+68>>2]|0;H=o+r|0;o=(r+2048-o>>12)*601|0;r=o+$|0;o=($+2048-o>>12)*3920|0;$=H+k|0;H=(k+2048-H>>12)*3920|0;k=c[a+24>>2]|0;R=c[a+100>>2]|0;Z=R+k|0;R=(k+2048-R>>12)*3290|0;k=c[a+36>>2]|0;g=c[a+88>>2]|0;D=g+k|0;g=(k+2048-g>>12)*2440|0;k=g+R|0;g=(R+2048-g>>12)*1189|0;R=D+Z|0;D=(Z+2048-D>>12)*1189|0;Z=c[a+8>>2]|0;_=c[a+116>>2]|0;l=_+Z|0;_=(Z+2048-_>>12)*3973|0;Z=c[a+52>>2]|0;x=c[a+72>>2]|0;Y=x+Z|0;x=(Z+2048-x>>12)*995|0;Z=x+_|0;x=(_+2048-x>>12)*3612|0;_=Y+l|0;Y=(l+2048-Y>>12)*3612|0;l=c[a+20>>2]|0;S=c[a+104>>2]|0;ca=S+l|0;S=(l+2048-S>>12)*3513|0;l=c[a+40>>2]|0;h=c[a+84>>2]|0;E=h+l|0;h=(l+2048-h>>12)*2106|0;l=h+S|0;h=(S+2048-h>>12)*1931|0;S=E+ca|0;E=(ca+2048-E>>12)*1931|0;ca=X+aa|0;X=(aa+2048-X>>12)*4017|0;aa=T+ba|0;T=(ba+2048-T>>12)*799|0;ba=R+$|0;R=($+2048-R>>12)*3406|0;$=S+_|0;S=(_+2048-S>>12)*2276|0;_=Q+s|0;Q=(s+2048-Q>>12)*4017|0;s=m+q|0;m=(q+2048-m>>12)*799|0;q=k+r|0;k=(r+2048-k>>12)*3406|0;r=l+Z|0;l=(Z+2048-l>>12)*2276|0;Z=N+I|0;N=(I+2048-N>>12)*4017|0;I=F+G|0;F=(G+2048-F>>12)*799|0;G=D+H|0;D=(H+2048-D>>12)*3406|0;H=E+Y|0;E=(Y+2048-E>>12)*2276|0;Y=A+p|0;A=(p+2048-A>>12)*4017|0;p=i+n|0;i=(n+2048-i>>12)*799|0;n=g+o|0;g=(o+2048-g>>12)*3406|0;o=h+x|0;h=(x+2048-h>>12)*2276|0;x=$+ba|0;w=aa+ca+2048|0;c[e+480+(b<<2)>>2]=w+x>>12;c[d+(b<<2)>>2]=((w-x>>12)*2896|0)+2048>>12;x=s+_|0;w=r+q|0;a=w+x|0;c[e+448+(b<<2)>>2]=a+2048>>12;M=I+Z|0;L=H+G|0;B=L+M|0;c[e+416+(b<<2)>>2]=B+2048>>12;z=p+Y|0;t=o+n|0;y=t+z|0;a=(y<<1)-a|0;c[e+384+(b<<2)>>2]=a+2048>>12;W=T+X|0;V=S+R|0;U=V+W|0;c[e+352+(b<<2)>>2]=U+2048>>12;P=m+Q|0;O=l+k|0;j=O+P|0;a=(j<<1)-a|0;c[e+320+(b<<2)>>2]=a+2048>>12;K=F+N|0;J=E+D|0;C=J+K|0;B=(C<<1)-B|0;c[e+288+(b<<2)>>2]=B+2048>>12;v=i+A|0;u=h+g|0;f=u+v|0;y=(f<<1)-y|0;a=(y<<1)-a|0;c[e+256+(b<<2)>>2]=a+2048>>12;aa=(ca+2048-aa>>12)*3784|0;$=(ba+2048-$>>12)*1567|0;ba=$+aa|0;c[e+224+(b<<2)>>2]=ba+2048>>12;c[d+256+(b<<2)>>2]=2048-ba+((aa+2048-$>>12)*5792|0)>>12;s=(_+2048-s>>12)*3784|0;r=(q+2048-r>>12)*1567|0;q=r+s|0;a=(q<<1)-a|0;c[e+192+(b<<2)>>2]=a+2048>>12;I=(Z+2048-I>>12)*3784|0;H=(G+2048-H>>12)*1567|0;G=H+I|0;B=(G<<1)-B|0;c[e+160+(b<<2)>>2]=B+2048>>12;p=(Y+2048-p>>12)*3784|0;o=(n+2048-o>>12)*1567|0;n=o+p|0;y=(n<<1)-y|0;a=(y<<1)-a|0;c[e+128+(b<<2)>>2]=a+2048>>12;T=(X+2048-T>>12)*3784|0;S=(R+2048-S>>12)*1567|0;R=S+T|0;U=(R<<1)-U|0;c[e+96+(b<<2)>>2]=U+2048>>12;U=((W+2048-V>>12)*5792|0)-U|0;c[d+128+(b<<2)>>2]=U+2048>>12;c[d+384+(b<<2)>>2]=2048-U+(((T+2048-S>>12)*5792|0)-R<<1)>>12;m=(Q+2048-m>>12)*3784|0;l=(k+2048-l>>12)*1567|0;k=l+m|0;j=(k<<1)-j|0;a=(j<<1)-a|0;c[e+64+(b<<2)>>2]=a+2048>>12;j=((P+2048-O>>12)*5792|0)-j|0;F=(N+2048-F>>12)*3784|0;E=(D+2048-E>>12)*1567|0;D=E+F|0;C=(D<<1)-C|0;B=(C<<1)-B|0;c[e+32+(b<<2)>>2]=B+2048>>12;B=((M+2048-L>>12)*5792|0)-B|0;c[d+64+(b<<2)>>2]=B+2048>>12;C=((K+2048-J>>12)*5792|0)-C|0;B=(C<<1)-B|0;c[d+192+(b<<2)>>2]=B+2048>>12;B=(((I+2048-H>>12)*5792|0)-G<<1)-B|0;c[d+320+(b<<2)>>2]=B+2048>>12;c[d+448+(b<<2)>>2]=((((F+2048-E>>12)*5792|0)-D<<1)-C<<1)+2048-B>>12;i=(A+2048-i>>12)*3784|0;h=(g+2048-h>>12)*1567|0;g=h+i|0;f=(g<<1)-f|0;y=(f<<1)-y|0;t=((z+2048-t>>12)*5792|0)-y|0;a=(y<<1)-a|0;c[e+(b<<2)>>2]=a+2048>>12;a=((x+2048-w>>12)*5792|0)-a|0;c[d+32+(b<<2)>>2]=a+2048>>12;a=(t<<1)-a|0;c[d+96+(b<<2)>>2]=a+2048>>12;a=(j<<1)-a|0;c[d+160+(b<<2)>>2]=a+2048>>12;f=((v+2048-u>>12)*5792|0)-f|0;e=(f<<1)-t|0;a=(e<<1)-a|0;c[d+224+(b<<2)>>2]=a+2048>>12;a=(((s+2048-r>>12)*5792|0)-q<<1)-a|0;c[d+288+(b<<2)>>2]=a+2048>>12;e=(((p+2048-o>>12)*5792|0)-n<<1)-e|0;a=(e<<1)-a|0;c[d+352+(b<<2)>>2]=a+2048>>12;a=((((m+2048-l>>12)*5792|0)-k<<1)-j<<1)-a|0;c[d+416+(b<<2)>>2]=a+2048>>12;c[d+480+(b<<2)>>2]=(((((i+2048-h>>12)*5792|0)-g<<1)-f<<1)-e<<1)+2048-a>>12;return}function Hg(f,g,h,i,j,k){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;c[j>>2]=0;l=(h|0)!=0;t=(g|0)==1;c[k>>2]=l?(t?1:2):t?5:3;c[i>>2]=xg(f,l?8:9)|0;c[i+4>>2]=xg(f,c[k>>2]|0)|0;if(!l)if(!g)t=2;else{h=0;do{a[i+8+h>>0]=xg(f,4)|0;h=h+1|0}while((h|0)!=(g|0));t=2}else t=1;q=(g|0)==0;s=l?9:4;r=l?2:3;p=l^1;o=0;h=0;do{if(!q){n=0;do{l=i+10+(o*116|0)+(n*58|0)|0;b[l>>1]=xg(f,12)|0;m=i+10+(o*116|0)+(n*58|0)+2|0;b[m>>1]=xg(f,9)|0;b[i+10+(o*116|0)+(n*58|0)+4>>1]=xg(f,8)|0;b[i+10+(o*116|0)+(n*58|0)+6>>1]=xg(f,s)|0;c[j>>2]=(c[j>>2]|0)+(e[l>>1]|0);h=(h|0)==0&(e[m>>1]|0)>288?562:h;m=i+10+(o*116|0)+(n*58|0)+8|0;a[m>>0]=0;if(!(xg(f,1)|0)){a[i+10+(o*116|0)+(n*58|0)+9>>0]=0;a[i+10+(o*116|0)+(n*58|0)+10>>0]=xg(f,5)|0;a[i+10+(o*116|0)+(n*58|0)+11>>0]=xg(f,5)|0;a[i+10+(o*116|0)+(n*58|0)+12>>0]=xg(f,5)|0;a[i+10+(o*116|0)+(n*58|0)+16>>0]=xg(f,4)|0;a[i+10+(o*116|0)+(n*58|0)+17>>0]=xg(f,3)|0}else{u=xg(f,2)|0;k=u&255;l=i+10+(o*116|0)+(n*58|0)+9|0;a[l>>0]=k;h=(u&255|h|0)==0?563:h;if(k<<24>>24==2&p)h=((h|0)==0?(a[i+8+n>>0]|0)!=0:0)?564:h;k=i+10+(o*116|0)+(n*58|0)+16|0;a[k>>0]=7;a[i+10+(o*116|0)+(n*58|0)+17>>0]=36;if(!(xg(f,1)|0)){if((a[l>>0]|0)==2)a[k>>0]=8}else a[m>>0]=a[m>>0]|8;a[i+10+(o*116|0)+(n*58|0)+10>>0]=xg(f,5)|0;a[i+10+(o*116|0)+(n*58|0)+11>>0]=xg(f,5)|0;a[i+10+(o*116|0)+(n*58|0)+12>>0]=4;a[i+10+(o*116|0)+(n*58|0)+13>>0]=xg(f,3)|0;a[i+10+(o*116|0)+(n*58|0)+14>>0]=xg(f,3)|0;a[i+10+(o*116|0)+(n*58|0)+15>>0]=xg(f,3)|0}u=xg(f,r)|0;a[m>>0]=u|d[m>>0];n=n+1|0}while((n|0)!=(g|0))}o=o+1|0}while(o>>>0>>0);return h|0}function Ig(f,h,i,j){f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0;Bb=cc;cc=cc+7296|0;if((cc|0)>=(dc|0))w(7296);yb=Bb+2448|0;xb=Bb+2432|0;wb=Bb+2416|0;ub=Bb+2400|0;tb=Bb+2384|0;sb=Bb+2368|0;zb=Bb+2352|0;vb=Bb+2336|0;rb=Bb+2320|0;qb=Bb+16|0;pb=Bb;ib=Bb+7224|0;ob=Bb+7216|0;Ab=Bb+2608|0;mb=Bb+2464|0;kb=h+28|0;gb=c[kb>>2]|0;lb=(gb&16384|0)==0;k=c[h+20>>2]<<((lb^1)&1);k=(k>>>15&1)+(lb?-8:-5)+(k>>>7&15)|0;gb=2-(gb>>>12&1)|0;if(!gb){Ab=0;cc=Bb;return Ab|0}jb=(j|0)==0;hb=7512+(k*12|0)|0;lb=7512+(k*12|0)+8|0;eb=7512+(k*12|0)+4|0;Ga=i+184|0;cb=h+8|0;Ha=qb+4|0;Sa=qb+8|0;Va=qb+12|0;Wa=qb+16|0;Xa=qb+20|0;Ya=qb+24|0;Za=qb+28|0;_a=qb+32|0;$a=qb+36|0;Ia=qb+40|0;Ja=qb+44|0;Ka=qb+48|0;La=qb+52|0;Ma=qb+56|0;Na=qb+60|0;Oa=qb+64|0;Pa=qb+68|0;Qa=qb+72|0;Ra=qb+76|0;Ta=qb+80|0;Ua=qb+84|0;R=c[10234]|0;bb=h+4|0;T=ib+4|0;U=ib+8|0;db=h+9264|0;V=qb+2|0;fa=qb+4|0;qa=qb+6|0;Aa=qb+8|0;Ba=qb+10|0;Ca=qb+12|0;Da=qb+14|0;Ea=qb+16|0;Fa=qb+18|0;X=qb+20|0;Y=qb+22|0;Z=qb+24|0;_=qb+26|0;$=qb+28|0;aa=qb+30|0;ba=qb+32|0;ca=qb+34|0;da=qb+36|0;ea=qb+38|0;ga=qb+40|0;ha=qb+42|0;ia=qb+44|0;ja=qb+46|0;ka=qb+48|0;la=qb+50|0;ma=qb+52|0;na=qb+54|0;oa=qb+56|0;pa=qb+58|0;ra=qb+60|0;sa=qb+62|0;ta=qb+64|0;ua=qb+66|0;va=qb+68|0;wa=qb+70|0;xa=qb+72|0;ya=qb+74|0;za=qb+76|0;S=Ab+2304|0;ab=0;a:while(1){P=i+10+(ab*116|0)|0;if(!jb){M=c[hb>>2]|0;O=(ab|0)==0;N=0;do{z=i+10+(ab*116|0)+(N*58|0)|0;k=ob+(N<<2)|0;c[k>>2]=M;A=i+10+(ab*116|0)+(N*58|0)+9|0;n=(a[A>>0]|0)==2;if(n){L=c[((a[i+10+(ab*116|0)+(N*58|0)+8>>0]&8)==0?eb:lb)>>2]|0;c[k>>2]=L;k=L}else k=M;if(!(c[kb>>2]&4096)){if(O)m=0;else m=d[i+8+N>>0]|0;L=f;o=c[L+4>>2]|0;p=qb;c[p>>2]=c[L>>2];c[p+4>>2]=o;p=e[i+10+(ab*116|0)+(N*58|0)+6>>1]|0;o=d[51205+(p<<1)>>0]|0;p=d[51205+(p<<1)+1>>0]|0;if(n){l=18-((d[i+10+(ab*116|0)+(N*58|0)+8>>0]|0)>>>3&1)|0;m=l;n=0;while(1){m=m+-1|0;a[i+10+(ab*116|0)+(N*58|0)+18+n>>0]=xg(f,o)|0;if(!m)break;else n=n+1|0}a[i+10+(ab*116|0)+(N*58|0)+18+l>>0]=xg(f,p)|0;a[l+1+(i+10+(ab*116|0)+(N*58|0)+18)>>0]=xg(f,p)|0;a[l+2+(i+10+(ab*116|0)+(N*58|0)+18)>>0]=xg(f,p)|0;K=l|4;a[l+3+(i+10+(ab*116|0)+(N*58|0)+18)>>0]=xg(f,p)|0;a[i+10+(ab*116|0)+(N*58|0)+18+K>>0]=xg(f,p)|0;a[K+1+(i+10+(ab*116|0)+(N*58|0)+18)>>0]=xg(f,p)|0;a[K+2+(i+10+(ab*116|0)+(N*58|0)+18)>>0]=xg(f,p)|0;a[K+3+(i+10+(ab*116|0)+(N*58|0)+18)>>0]=xg(f,p)|0;a[K+4+(i+10+(ab*116|0)+(N*58|0)+18)>>0]=xg(f,p)|0;a[K+5+(i+10+(ab*116|0)+(N*58|0)+18)>>0]=xg(f,p)|0;a[K+6+(i+10+(ab*116|0)+(N*58|0)+18)>>0]=xg(f,p)|0;L=l|12;a[K+7+(i+10+(ab*116|0)+(N*58|0)+18)>>0]=xg(f,p)|0;a[i+10+(ab*116|0)+(N*58|0)+18+L>>0]=xg(f,p)|0;a[L+1+(i+10+(ab*116|0)+(N*58|0)+18)>>0]=xg(f,p)|0;a[L+2+(i+10+(ab*116|0)+(N*58|0)+18)>>0]=xg(f,p)|0;a[L+3+(i+10+(ab*116|0)+(N*58|0)+18)>>0]=xg(f,p)|0;a[L+4+(i+10+(ab*116|0)+(N*58|0)+18)>>0]=xg(f,p)|0;a[L+5+(i+10+(ab*116|0)+(N*58|0)+18)>>0]=xg(f,p)|0;L=z+(l|36)|0;a[L>>0]=0;a[L+1>>0]=0;a[L+2>>0]=0}else{if(!(m&8)){a[i+10+(ab*116|0)+(N*58|0)+18>>0]=xg(f,o)|0;a[i+10+(ab*116|0)+(N*58|0)+19>>0]=xg(f,o)|0;a[i+10+(ab*116|0)+(N*58|0)+20>>0]=xg(f,o)|0;a[i+10+(ab*116|0)+(N*58|0)+21>>0]=xg(f,o)|0;a[i+10+(ab*116|0)+(N*58|0)+22>>0]=xg(f,o)|0;l=(xg(f,o)|0)&255}else{a[i+10+(ab*116|0)+(N*58|0)+18>>0]=a[i+10+(N*58|0)+18>>0]|0;a[i+10+(ab*116|0)+(N*58|0)+19>>0]=a[i+10+(N*58|0)+19>>0]|0;a[i+10+(ab*116|0)+(N*58|0)+20>>0]=a[i+10+(N*58|0)+20>>0]|0;a[i+10+(ab*116|0)+(N*58|0)+21>>0]=a[i+10+(N*58|0)+21>>0]|0;a[i+10+(ab*116|0)+(N*58|0)+22>>0]=a[i+10+(N*58|0)+22>>0]|0;l=a[i+10+(N*58|0)+23>>0]|0}a[i+10+(ab*116|0)+(N*58|0)+23>>0]=l;if(!(m&4)){a[i+10+(ab*116|0)+(N*58|0)+24>>0]=xg(f,o)|0;a[i+10+(ab*116|0)+(N*58|0)+25>>0]=xg(f,o)|0;a[i+10+(ab*116|0)+(N*58|0)+26>>0]=xg(f,o)|0;a[i+10+(ab*116|0)+(N*58|0)+27>>0]=xg(f,o)|0;l=(xg(f,o)|0)&255}else{a[i+10+(ab*116|0)+(N*58|0)+24>>0]=a[i+10+(N*58|0)+24>>0]|0;a[i+10+(ab*116|0)+(N*58|0)+25>>0]=a[i+10+(N*58|0)+25>>0]|0;a[i+10+(ab*116|0)+(N*58|0)+26>>0]=a[i+10+(N*58|0)+26>>0]|0;a[i+10+(ab*116|0)+(N*58|0)+27>>0]=a[i+10+(N*58|0)+27>>0]|0;l=a[i+10+(N*58|0)+28>>0]|0}a[i+10+(ab*116|0)+(N*58|0)+28>>0]=l;if(!(m&2)){a[i+10+(ab*116|0)+(N*58|0)+29>>0]=xg(f,p)|0;a[i+10+(ab*116|0)+(N*58|0)+30>>0]=xg(f,p)|0;a[i+10+(ab*116|0)+(N*58|0)+31>>0]=xg(f,p)|0;a[i+10+(ab*116|0)+(N*58|0)+32>>0]=xg(f,p)|0;l=(xg(f,p)|0)&255}else{a[i+10+(ab*116|0)+(N*58|0)+29>>0]=a[i+10+(N*58|0)+29>>0]|0;a[i+10+(ab*116|0)+(N*58|0)+30>>0]=a[i+10+(N*58|0)+30>>0]|0;a[i+10+(ab*116|0)+(N*58|0)+31>>0]=a[i+10+(N*58|0)+31>>0]|0;a[i+10+(ab*116|0)+(N*58|0)+32>>0]=a[i+10+(N*58|0)+32>>0]|0;l=a[i+10+(N*58|0)+33>>0]|0}a[i+10+(ab*116|0)+(N*58|0)+33>>0]=l;if(!(m&1)){a[i+10+(ab*116|0)+(N*58|0)+34>>0]=xg(f,p)|0;a[i+10+(ab*116|0)+(N*58|0)+35>>0]=xg(f,p)|0;a[i+10+(ab*116|0)+(N*58|0)+36>>0]=xg(f,p)|0;a[i+10+(ab*116|0)+(N*58|0)+37>>0]=xg(f,p)|0;l=(xg(f,p)|0)&255}else{a[i+10+(ab*116|0)+(N*58|0)+34>>0]=a[i+10+(N*58|0)+34>>0]|0;a[i+10+(ab*116|0)+(N*58|0)+35>>0]=a[i+10+(N*58|0)+35>>0]|0;a[i+10+(ab*116|0)+(N*58|0)+36>>0]=a[i+10+(N*58|0)+36>>0]|0;a[i+10+(ab*116|0)+(N*58|0)+37>>0]=a[i+10+(N*58|0)+37>>0]|0;l=a[i+10+(N*58|0)+38>>0]|0}a[i+10+(ab*116|0)+(N*58|0)+38>>0]=l;a[i+10+(ab*116|0)+(N*58|0)+39>>0]=0}l=ug(qb,f)|0}else{u=(N|0)==0?0:Ga;l=c[cb>>2]|0;L=f;p=c[L+4>>2]|0;m=qb;c[m>>2]=c[L>>2];c[m+4>>2]=p;m=b[i+10+(ab*116|0)+(N*58|0)+6>>1]|0;p=m&65535;if(n)x=((d[i+10+(ab*116|0)+(N*58|0)+8>>0]|0)>>>3&1)+1&255;else x=0;if((u|0)!=0&(l&1|0)!=0){l=p>>>1;do if((m&65535)>=360)if((m&65535)<488){s=l+-180|0;t=4;m=s>>>4&3;q=s>>>2&3;s=s&3;break}else{s=l+-244|0;q=(s>>>0)/3|0;t=5;m=q;q=s-(q*3|0)|0;s=0;break}else{L=(l>>>0)%36|0;s=(L>>>0)/6|0;t=3;m=(p>>>0)/72|0;q=s;s=L-(s*6|0)|0}while(0);n=51133+(t*12|0)+(x<<2)|0;p=(1<>0]|0))l=0;else{o=0;while(1){L=xg(f,m)|0;a[i+10+(ab*116|0)+(N*58|0)+18+o>>0]=L;l=o+1|0;a[u+18+o>>0]=(L|0)==(p|0)&1;if(l>>>0<(d[n>>0]|0)>>>0)o=l;else break}}p=(1<>0]|0){o=0;m=l;while(1){L=xg(f,q)|0;a[i+10+(ab*116|0)+(N*58|0)+18+m>>0]=L;l=m+1|0;a[u+18+m>>0]=(L|0)==(p|0)&1;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}p=(1<>0]|0){o=0;m=l;while(1){L=xg(f,s)|0;a[i+10+(ab*116|0)+(N*58|0)+18+m>>0]=L;l=m+1|0;a[u+18+m>>0]=(L|0)==(p|0)&1;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}n=51133+(t*12|0)+(x<<2)+3|0;if(a[n>>0]|0){o=0;m=l;while(1){L=xg(f,0)|0;a[i+10+(ab*116|0)+(N*58|0)+18+m>>0]=L;l=m+1|0;a[u+18+m>>0]=(L|0)==0&1;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}if(l>>>0<39)do{a[i+10+(ab*116|0)+(N*58|0)+18+l>>0]=0;a[u+18+l>>0]=0;l=l+1|0}while((l|0)!=39)}else{do if((m&65535)>=400)if((m&65535)<500){q=p+-400|0;t=1;o=(q>>>0)/20|0;q=(q>>>2>>>0)%5|0;s=m&3;p=0;break}else{s=p+-500|0;q=(s>>>0)/3|0;t=i+10+(ab*116|0)+(N*58|0)+8|0;a[t>>0]=a[t>>0]|4;t=2;o=q;q=s-(q*3|0)|0;s=0;p=0;break}else{t=0;o=(p>>>0)/80|0;q=(p>>>4>>>0)%5|0;s=p>>>2&3;p=p&3}while(0);m=51133+(t*12|0)+(x<<2)|0;if(!(a[m>>0]|0))l=0;else{n=0;while(1){l=n+1|0;a[i+10+(ab*116|0)+(N*58|0)+18+n>>0]=xg(f,o)|0;if(l>>>0<(d[m>>0]|0)>>>0)n=l;else break}}n=51133+(t*12|0)+(x<<2)+1|0;if(a[n>>0]|0){o=0;m=l;while(1){l=m+1|0;a[i+10+(ab*116|0)+(N*58|0)+18+m>>0]=xg(f,q)|0;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}n=51133+(t*12|0)+(x<<2)+2|0;if(a[n>>0]|0){o=0;m=l;while(1){l=m+1|0;a[i+10+(ab*116|0)+(N*58|0)+18+m>>0]=xg(f,s)|0;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}n=51133+(t*12|0)+(x<<2)+3|0;if(a[n>>0]|0){o=0;m=l;while(1){l=m+1|0;a[i+10+(ab*116|0)+(N*58|0)+18+m>>0]=xg(f,p)|0;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}if(l>>>0<39)rj(z+(l+18)|0,0,39-l|0)|0}l=ug(qb,f)|0}y=Ab+(N*2304|0)|0;m=(e[z>>1]|0)-l|0;if((m|0)<0){nb=566;break a}s=(e[i+10+(ab*116|0)+(N*58|0)+4>>1]|0)+-210|0;L=i+10+(ab*116|0)+(N*58|0)+8|0;n=d[L>>0]|0;t=(n>>>1&1)+1|0;do if((a[A>>0]|0)==2){if(!(n&8)){l=0;n=0}else{o=n<<29>>31;l=0;n=0;while(1){c[qb+(n<<2)>>2]=s-((o&d[51237+n>>0])+(d[i+10+(ab*116|0)+(N*58|0)+18+n>>0]|0)<>0]|0)|0;if(l>>>0<36)n=p;else{n=p;break}}}p=s-(d[i+10+(ab*116|0)+(N*58|0)+13>>0]<<3)|0;q=s-(d[i+10+(ab*116|0)+(N*58|0)+14>>0]<<3)|0;o=s-(d[i+10+(ab*116|0)+(N*58|0)+15>>0]<<3)|0;if(l>>>0<576)while(1){c[qb+(n<<2)>>2]=p-(d[i+10+(ab*116|0)+(N*58|0)+18+n>>0]<>2]=q-(d[i+10+(ab*116|0)+(N*58|0)+18+K>>0]<>2]=o-(d[i+10+(ab*116|0)+(N*58|0)+18+K>>0]<>0]|0)*3|0)+l|0;if(l>>>0>=576)break;else n=n+3|0}}else{c[qb>>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+18>>0]<>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+19>>0]<>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+20>>0]<>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+21>>0]<>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+22>>0]<>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+23>>0]<>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+24>>0]<>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+25>>0]<>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+26>>0]<>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+27>>0]<>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+28>>0]<>0]|0;if(!(n&4)){c[Ja>>2]=s-(l<>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+30>>0]<>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+31>>0]<>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+32>>0]<>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+33>>0]<>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+34>>0]<>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+35>>0]<>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+36>>0]<>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+37>>0]<>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+38>>0]<>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+39>>0]<>2]=s-(l+1<>2]=s-((d[i+10+(ab*116|0)+(N*58|0)+30>>0]|0)+1<>2]=s-((d[i+10+(ab*116|0)+(N*58|0)+31>>0]|0)+1<>2]=s-((d[i+10+(ab*116|0)+(N*58|0)+32>>0]|0)+1<>2]=s-((d[i+10+(ab*116|0)+(N*58|0)+33>>0]|0)+2<>2]=s-((d[i+10+(ab*116|0)+(N*58|0)+34>>0]|0)+2<>2]=s-((d[i+10+(ab*116|0)+(N*58|0)+35>>0]|0)+3<>2]=s-((d[i+10+(ab*116|0)+(N*58|0)+36>>0]|0)+3<>2]=s-((d[i+10+(ab*116|0)+(N*58|0)+37>>0]|0)+3<>2]=s-((d[i+10+(ab*116|0)+(N*58|0)+38>>0]|0)+2<>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+39>>0]<>2]|0;o=c[o+4>>2]|0;t=pb;c[t>>2]=n;c[t+4>>2]=o;wg(f,m);o=nj(n|0,o|0,48)|0;v()|0;o=(31-o&-8)+o|0;n=xg(pb,o)|0;t=d[i+10+(ab*116|0)+(N*58|0)+10>>0]|0;q=c[5080+(t<<3)>>2]|0;if(!q){Q=165;break a}s=Ab+(N*2304|0)+(d[k>>0]<<2)|0;z=k+1|0;l=m-o|0;p=c[qb>>2]|0;k=b[i+10+(ab*116|0)+(N*58|0)+2>>1]|0;if((m|0)>0&k<<16>>16!=0){K=i+10+(ab*116|0)+(N*58|0)+17|0;J=k&65535;C=p;u=Ha;A=e[5080+(t<<3)+4>>1]|0;x=(d[i+10+(ab*116|0)+(N*58|0)+16>>0]|0)+1|0;m=0;B=0;p=e[5080+(t<<3)+6>>1]|0;I=0;G=y;while(1){J=J+-1|0;if((G|0)==(s|0)){y=z+1|0;s=G+(d[z>>0]<<2)|0;k=x+-1|0;if(!k){if(!m)k=(d[K>>0]|0)+1|0;else k=0;m=m+1|0;p=d[i+10+(ab*116|0)+(N*58|0)+10+m>>0]|0;q=c[5080+(p<<3)>>2]|0;if(!q){Q=165;break a}else{t=e[5080+(p<<3)+4>>1]|0;p=e[5080+(p<<3)+6>>1]|0}}else t=A;z=c[u>>2]|0;H=z;u=u+4|0;A=t;F=k;E=m;t=(C|0)==(z|0)?B:0;z=y;D=p}else{H=C;F=x;E=m;t=B;D=p}k=31-o&-8;if((o|0)<21){n=xg(pb,k)|0|n<>>(o-D|0)&(1<>0]&1)){m=D;do{o=o-m|0;k=b[q+(k<<1)>>1]|0;m=(k&65535)>>>1&7;k=(n>>>(o-m|0)&(1<>>4&65535)|0}while(!(a[q+(k<<1)>>0]&1))}B=q+(k<<1)|0;m=b[B>>1]|0;o=o-((m&65535)>>>1&7)|0;m=(m&65535)>>>4;k=m&15;x=k&65535;b:do if(!A){if(!(k<<16>>16)){m=t;k=0}else{k=1<>2]|0;m=k&134217727;k=(k>>>27)+((H|0)/4|0)|0;do if((k|0)>=0)if((k|0)>4){g[tb>>3]=+(m|0)*3.725290298461914e-09;c[tb+8>>2]=k;Hh(R,51259,tb)|0;k=2147483647;break}else{k=m<>>0>31?0:(1<<~k)+m>>C}while(0);if(p)k=r((c[40448+(p+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;c[ib+(x<<2)>>2]=k;m=t}else{m=t;k=c[ib+(x<<2)>>2]|0}C=o+-1|0;o=C;k=(1<>2]=k;C=(e[B>>1]|0)>>>8&15;x=C&65535;if(!(C<<16>>16)){y=n;k=0;t=m}else{k=1<>2]|0;m=C&134217727;k=(C>>>27)+k|0;do if((k|0)>=0)if((k|0)>4){g[ub>>3]=+(m|0)*3.725290298461914e-09;c[ub+8>>2]=k;Hh(R,51259,ub)|0;k=2147483647;break}else{k=m<>>0>31?0:(1<<~k)+m>>C}while(0);if(p)k=r((c[40448+(p+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;c[ib+(x<<2)>>2]=k;m=t}else k=c[ib+(x<<2)>>2]|0;t=o+-1|0;y=n;o=t;k=(1<>>0<(A+2|0)>>>0){n=xg(pb,16)|0|n<<16;l=l+-16|0;o=o+16|0}o=o-A|0;p=(H|0)%4|0;k=c[7620+((n>>>o&(1<>2]|0;m=k&134217727;k=(k>>>27)+((H|0)/4|0)|0;do if((k|0)>=0)if((k|0)>4){g[rb>>3]=+(m|0)*3.725290298461914e-09;c[rb+8>>2]=k;Hh(R,51259,rb)|0;k=2147483647;break}else{k=m<>>0>31?0:(1<<~k)+m>>Q}while(0);if(!p){Q=118;break c}k=r((c[40448+(p+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;Q=118;break}default:{k=1<>2]|0;Q=118;break c}t=k|t;p=(H|0)%4|0;k=c[7620+(x<<2)>>2]|0;m=k&134217727;k=(k>>>27)+((H|0)/4|0)|0;do if((k|0)>=0)if((k|0)>4){g[vb>>3]=+(m|0)*3.725290298461914e-09;c[vb+8>>2]=k;Hh(R,51259,vb)|0;k=2147483647;break}else{k=m<>>0>31?0:(1<<~k)+m>>Q}while(0);if(p)k=r((c[40448+(p+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;c[ib+(x<<2)>>2]=k;Q=118}}while(0);if((Q|0)==118){Q=0;C=o+-1|0;y=n;o=C;k=(1<>2]=k;C=(e[B>>1]|0)>>>8;x=C&15;d:do switch(C&15){case 0:{k=0;break b}case 15:{if(o>>>0<(A+1|0)>>>0){n=xg(pb,16)|0|y<<16;l=l+-16|0;o=o+16|0}else n=y;o=o-A|0;p=(H|0)%4|0;k=c[7620+((n>>>o&(1<>2]|0;m=k&134217727;k=(k>>>27)+((H|0)/4|0)|0;do if((k|0)>=0)if((k|0)>4){g[zb>>3]=+(m|0)*3.725290298461914e-09;c[zb+8>>2]=k;Hh(R,51259,zb)|0;k=2147483647;break}else{k=m<>>0>31?0:(1<<~k)+m>>C}while(0);if(!p)break d;k=r((c[40448+(p+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;break}default:{k=1<>2]|0;break d}t=k|t;n=(H|0)%4|0;k=c[7620+(x<<2)>>2]|0;m=k&134217727;k=(k>>>27)+((H|0)/4|0)|0;do if((k|0)>=0)if((k|0)>4){g[sb>>3]=+(m|0)*3.725290298461914e-09;c[sb+8>>2]=k;Hh(R,51259,sb)|0;k=2147483647;break}else{k=m<>>0>31?0:(1<<~k)+m>>C}while(0);if(n)k=r((c[40448+(n+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;c[ib+(x<<2)>>2]=k;n=y}}while(0);C=o+-1|0;y=n;o=C;k=(1<>2]=k;k=I+2|0;m=o+l|0;if(!((J|0)!=0&(m|0)>0)){x=o;t=H;q=z;break}else{n=y;C=H;x=F;m=E;B=t;p=D;I=k;G=Ab+(N*2304|0)+(k<<2)|0}}}else{y=n;x=o;t=p;u=Ha;q=z;k=0}if((m|0)<0){nb=568;break a}C=c[5072+((a[L>>0]&1)<<2)>>2]|0;o=(t|0)/4|0;p=t-(o<<2)|0;n=o+2|0;do if((t|0)>=-11)if((t|0)>11){g[wb>>3]=.25;c[wb+8>>2]=n;Hh(R,51259,wb)|0;n=2147483647;break}else{n=67108864<>>0>31?0:(1<<-3-o)+67108864>>n}while(0);if(p)n=r((c[40448+(p+3<<2)>>2]|0)+32768>>16,n+2048>>12)|0;if((m|0)>0&k>>>0<573){m=y;y=q;while(1){A=Ab+(N*2304|0)+(k<<2)|0;if((x|0)<10){B=xg(pb,16)|0|m<<16;l=l+-16|0;m=x+16|0}else{B=m;m=x}q=m+-4|0;o=C+((B>>>q&15)<<1)|0;p=a[o>>0]|0;if(!(p&1)){p=b[o>>1]|0;o=(p&65535)>>>1&7;p=C+((B>>>(q-o|0)&(1<>>4&65535)<<1)|0;o=p;p=a[p>>0]|0;m=q}z=m-((p&255)>>>1&7)|0;if((A|0)==(s|0)){x=y+1|0;s=s+(d[y>>0]<<2)|0;q=c[u>>2]|0;do if((t|0)==(q|0))m=t;else{n=(q|0)/4|0;p=q-(n<<2)|0;m=n+2|0;do if((q|0)>=-11)if((q|0)>11){g[xb>>3]=.25;c[xb+8>>2]=m;Hh(R,51259,xb)|0;n=2147483647;break}else{n=67108864<>>0>31?0:(1<<-3-n)+67108864>>L}while(0);if(!p){m=q;break}m=q;n=r((c[40448+(p+3<<2)>>2]|0)+32768>>16,n+2048>>12)|0}while(0);p=a[o>>0]|0;t=m;u=u+4|0;q=x}else q=y;y=(p&16)==0;L=z+-1|0;m=0-n|0;z=y?z:L;c[A>>2]=y?0:(1<>0]&32)==0;y=z+-1|0;z=L?z:y;c[A+4>>2]=L?0:(1<>0]<<2)|0;q=c[u>>2]|0;do if((t|0)==(q|0))m=t;else{n=(q|0)/4|0;p=q-(n<<2)|0;m=n+2|0;do if((q|0)>=-11)if((q|0)>11){g[yb>>3]=.25;c[yb+8>>2]=m;Hh(R,51259,yb)|0;n=2147483647;break}else{n=67108864<>>0>31?0:(1<<-3-n)+67108864>>L}while(0);if(!p){m=q;break}m=q;n=r((c[40448+(p+3<<2)>>2]|0)+32768>>16,n+2048>>12)|0}while(0);t=m;u=u+4|0;p=n;q=x;m=0-n|0}else p=n;L=(a[o>>0]&64)==0;K=z+-1|0;x=L?z:K;c[y>>2]=L?0:(1<>0]|0)<0;L=x+-1|0;x=K?L:x;c[y+4>>2]=K?((1<>>0<573&(m|0)>0))break;else{m=B;n=p;y=q}}}if((l|0)<=-65){Q=202;break a}k=(m|0)<0?k+-4|0:k;if((k|0)<576)rj(Ab+(N*2304|0)+(k<<2)|0,0,((((k|0)==575?576:575)-k|0)>>>1<<3)+8|0)|0;N=N+1|0}while(N>>>0>>0)}if((c[bb>>2]|0)==2?(fb=c[cb>>2]|0,fb|0):0){x=c[ob>>2]|0;k=a[i+10+(ab*116|0)+9>>0]|0;if(k<<24>>24!=(a[i+10+(ab*116|0)+67>>0]|0)){Q=276;break}l=a[i+10+(ab*116|0)+66>>0]|0;if((l^a[i+10+(ab*116|0)+8>>0])&8){Q=276;break}O=fb&65535;b[qb>>1]=O;b[V>>1]=O;b[fa>>1]=O;b[qa>>1]=O;b[Aa>>1]=O;b[Ba>>1]=O;b[Ca>>1]=O;b[Da>>1]=O;b[Ea>>1]=O;b[Fa>>1]=O;b[X>>1]=O;b[Y>>1]=O;b[Z>>1]=O;b[_>>1]=O;b[$>>1]=O;b[aa>>1]=O;b[ba>>1]=O;b[ca>>1]=O;b[da>>1]=O;b[ea>>1]=O;b[ga>>1]=O;b[ha>>1]=O;b[ia>>1]=O;b[ja>>1]=O;b[ka>>1]=O;b[la>>1]=O;b[ma>>1]=O;b[na>>1]=O;b[oa>>1]=O;b[pa>>1]=O;b[ra>>1]=O;b[sa>>1]=O;b[ta>>1]=O;b[ua>>1]=O;b[va>>1]=O;b[wa>>1]=O;b[xa>>1]=O;b[ya>>1]=O;b[za>>1]=O;e:do if(fb&1|0){u=c[kb>>2]|0;c[kb>>2]=u|256;if(k<<24>>24==2){c[U>>2]=0;c[T>>2]=0;c[ib>>2]=0;if(l&8){o=0;l=0;p=S;k=0;do{Q=k;k=k+1|0;Q=a[x+Q>>0]|0;n=Q&255;f:do if(Q<<24>>24){m=0;do{if(c[p+(m<<2)>>2]|0){l=k;break f}m=m+1|0}while(m>>>0>>0)}while(0);p=p+(n<<2)|0;o=o+n|0}while(o>>>0<36);if(o>>>0<576){m=p;Q=220}else Q=228}else{o=0;l=0;m=S;k=0;Q=220}if((Q|0)==220){Q=0;q=0;s=k;t=0;while(1){O=a[x+s>>0]|0;s=s+1|0;p=O&255;g:do if(!(O<<24>>24))n=q;else{n=0;while(1){if(c[m+(n<<2)>>2]|0)break;n=n+1|0;if(n>>>0>=p>>>0){n=q;break g}}c[ib+(t<<2)>>2]=s;n=s}while(0);o=o+p|0;if(o>>>0>=576)break;else{q=n;m=m+(p<<2)|0;t=((t+1|0)>>>0)%3|0}}if(!n)Q=228;else{l=k;o=n}}if((Q|0)==228){Q=0;o=0}if(l|0){m=fb&65534;n=0;do{b[qb+(n<<1)>>1]=m;n=n+1|0}while((n|0)!=(l|0))}if(k>>>0>>0){m=fb&65534;l=0;while(1){if(k>>>0<(c[ib+(l<<2)>>2]|0)>>>0)b[qb+(k<<1)>>1]=m;k=k+1|0;if((k|0)==(o|0))break;else l=((l+1|0)>>>0)%3|0}}}else{k=0;o=0;p=S;q=0;while(1){O=a[x+q>>0]|0;q=q+1|0;n=O&255;h:do if(!(O<<24>>24))m=k;else{l=0;while(1){if(c[p+(l<<2)>>2]|0){m=q;break h}l=l+1|0;if(l>>>0>=n>>>0){m=k;break}}}while(0);o=o+n|0;if(o>>>0>=576)break;else{k=m;p=p+(n<<2)|0}}if(m|0){k=fb&65534;l=0;do{b[qb+(l<<1)>>1]=k;l=l+1|0}while((l|0)!=(m|0))}}if(!(u&4096)){p=0;q=0;while(1){k=a[x+q>>0]|0;o=k&255;l=qb+(q<<1)|0;m=b[l>>1]|0;do if(m&1|0){P=a[i+10+(ab*116|0)+76+q>>0]|0;n=P&255;if((P&255)>6){b[l>>1]=m&65534;break}if(k<<24>>24){m=(c[40596+(n<<2)>>2]|0)+32768>>16;l=(c[40596+(6-n<<2)>>2]|0)+32768>>16;k=0;do{P=k+p|0;N=Ab+(P<<2)|0;O=(c[N>>2]|0)+2048>>12;c[N>>2]=r(O,m)|0;c[Ab+2304+(P<<2)>>2]=r(O,l)|0;k=k+1|0}while((k|0)!=(o|0))}}while(0);p=p+o|0;if(p>>>0>=576)break e;else q=q+1|0}}n=b[i+10+(ab*116|0)+64>>1]&1;p=0;q=0;while(1){m=a[x+q>>0]|0;o=m&255;k=qb+(q<<1)|0;l=b[k>>1]|0;i:do if(l&1|0){if(a[P+192+q>>0]|0){b[k>>1]=l&65534;break}k=a[i+10+(ab*116|0)+76+q>>0]|0;l=k&255;if(m<<24>>24){if(!(k<<24>>24)){k=0;while(1){O=k+p|0;c[Ab+2304+(O<<2)>>2]=c[Ab+(O<<2)>>2];k=k+1|0;if((k|0)==(o|0))break i}}m=(c[40476+(n*60|0)+((l+-1|0)>>>1<<2)>>2]|0)+32768>>16;if(!(l&1)){k=0;do{O=k+p|0;c[Ab+2304+(O<<2)>>2]=r((c[Ab+(O<<2)>>2]|0)+2048>>12,m)|0;k=k+1|0}while((k|0)!=(o|0))}else{k=0;do{O=k+p|0;M=Ab+(O<<2)|0;N=c[M>>2]|0;c[M>>2]=r(N+2048>>12,m)|0;c[Ab+2304+(O<<2)>>2]=N;k=k+1|0}while((k|0)!=(o|0))}}}while(0);p=p+o|0;if(p>>>0>=576)break;else q=q+1|0}}while(0);if(fb&2|0){c[kb>>2]=c[kb>>2]|512;m=0;n=0;while(1){P=a[x+n>>0]|0;k=P&255;if(P<<24>>24?(b[qb+(n<<1)>>1]|0)==2:0){l=0;do{P=l+m|0;M=Ab+(P<<2)|0;P=Ab+2304+(P<<2)|0;O=c[P>>2]|0;N=(c[M>>2]|0)+2048|0;c[M>>2]=(N+O>>12)*2896;c[P>>2]=(N-O>>12)*2896;l=l+1|0}while((l|0)!=(k|0))}m=m+k|0;if(m>>>0>=576)break;else n=n+1|0}}}if(!jb){B=ab*18|0;A=0;do{z=h+48+(A*4608|0)+(B<<7)|0;y=i+10+(ab*116|0)+(A*58|0)+9|0;x=Ab+(A*2304|0)|0;if((a[y>>0]|0)==2){k=c[ob+(A<<2)>>2]|0;u=(a[i+10+(ab*116|0)+(A*58|0)+8>>0]&8)==0;if(u)t=0;else{m=0;while(1){l=k+1|0;m=m+(d[k>>0]|0)|0;if(m>>>0>=36){t=2;k=l;break}else k=l}};c[pb>>2]=0;c[pb+4>>2]=0;c[pb+8>>2]=0;c[ib>>2]=t;c[T>>2]=t;c[U>>2]=t;s=t*18|0;m=d[k>>0]|0;q=s;k=k+1|0;l=0;while(1){if(!m){p=d[k>>0]|0;k=k+1|0;l=((l+1|0)>>>0)%3|0}else p=m;O=c[Ab+(A*2304|0)+(q<<2)>>2]|0;n=ib+(l<<2)|0;m=c[n>>2]|0;o=pb+(l<<2)|0;P=c[o>>2]|0;Q=P+1|0;c[o>>2]=Q;c[qb+(m*72|0)+(l*24|0)+(P<<2)>>2]=O;if((Q|0)==6){c[o>>2]=0;c[n>>2]=m+1}q=q+1|0;if((q|0)==576)break;else m=p+-1|0}pj(Ab+(A*2304|0)+(s<<2)|0,qb+(t*72|0)|0,(r(t,-72)|0)+2304|0)|0;if(!u)Jg(x,36)}else Jg(x,576);k=a[y>>0]|0;l=a[i+10+(ab*116|0)+(A*58|0)+8>>0]&8;if(k<<24>>24==2&l<<24>>24==0){Mg(x,mb);Lg(mb,(c[db>>2]|0)+(A*2304|0)|0,z,0);Mg(Ab+(A*2304|0)+72|0,mb);Lg(mb,(c[db>>2]|0)+(A*2304|0)+72|0,z,1)}else{Q=l<<24>>24==0?k&255:0;Kg(x,mb,Q);Lg(mb,(c[db>>2]|0)+(A*2304|0)|0,z,0);Kg(Ab+(A*2304|0)+72|0,mb,Q);Lg(mb,(c[db>>2]|0)+(A*2304|0)+72|0,z,1)}l=z+132|0;P=z+388|0;O=c[P>>2]|0;c[l>>2]=0-(c[l>>2]|0);l=z+644|0;Q=c[l>>2]|0;c[P>>2]=0-O;P=z+900|0;O=c[P>>2]|0;c[l>>2]=0-Q;l=z+1156|0;Q=c[l>>2]|0;c[P>>2]=0-O;P=z+1412|0;O=c[P>>2]|0;c[l>>2]=0-Q;l=z+1668|0;Q=c[l>>2]|0;c[P>>2]=0-O;P=z+1924|0;O=c[P>>2]|0;c[l>>2]=0-Q;l=z+2180|0;Q=c[l>>2]|0;c[P>>2]=0-O;c[l>>2]=0-Q;l=576;while(1){k=l;l=l+-1|0;if(c[Ab+(A*2304|0)+(l<<2)>>2]|0)break;if(l>>>0<=36){k=36;break}}u=32-(((576-k|0)>>>0)/18|0)|0;k=a[y>>0]|0;l=u>>>0>2;j:do if(k<<24>>24==2)if(l){k=36;l=2;while(1){Mg(Ab+(A*2304|0)+(k<<2)|0,mb);Lg(mb,(c[db>>2]|0)+(A*2304|0)+(l*72|0)|0,z,l);if(l&1|0){Q=z+128+(l<<2)|0;O=z+384+(l<<2)|0;N=c[O>>2]|0;c[Q>>2]=0-(c[Q>>2]|0);Q=z+640+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-N;O=z+896+(l<<2)|0;N=c[O>>2]|0;c[Q>>2]=0-P;Q=z+1152+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-N;O=z+1408+(l<<2)|0;N=c[O>>2]|0;c[Q>>2]=0-P;Q=z+1664+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-N;O=z+1920+(l<<2)|0;N=c[O>>2]|0;c[Q>>2]=0-P;Q=z+2176+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-N;c[Q>>2]=0-P}l=l+1|0;if(l>>>0>=u>>>0){Q=311;break}else k=k+18|0}}else Q=312;else if(l){m=36;l=2;while(1){Kg(Ab+(A*2304|0)+(m<<2)|0,mb,k&255);Lg(mb,(c[db>>2]|0)+(A*2304|0)+(l*72|0)|0,z,l);if(l&1|0){Q=z+128+(l<<2)|0;O=z+384+(l<<2)|0;N=c[O>>2]|0;c[Q>>2]=0-(c[Q>>2]|0);Q=z+640+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-N;O=z+896+(l<<2)|0;N=c[O>>2]|0;c[Q>>2]=0-P;Q=z+1152+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-N;O=z+1408+(l<<2)|0;N=c[O>>2]|0;c[Q>>2]=0-P;Q=z+1664+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-N;O=z+1920+(l<<2)|0;N=c[O>>2]|0;c[Q>>2]=0-P;Q=z+2176+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-N;c[Q>>2]=0-P}l=l+1|0;if(l>>>0>=u>>>0){Q=311;break j}k=a[y>>0]|0;m=m+18|0}}else Q=312;while(0);if((Q|0)==311?(Q=0,u>>>0<32):0)Q=312;if((Q|0)==312){Q=0;x=c[db>>2]|0;do{P=x+(A*2304|0)+(u*72|0)|0;c[h+48+(A*4608|0)+(B<<7)+(u<<2)>>2]=c[P>>2];c[P>>2]=0;P=x+(A*2304|0)+(u*72|0)+4|0;k=z+128+(u<<2)|0;c[k>>2]=c[P>>2];c[P>>2]=0;P=x+(A*2304|0)+(u*72|0)+8|0;c[z+256+(u<<2)>>2]=c[P>>2];c[P>>2]=0;P=x+(A*2304|0)+(u*72|0)+12|0;p=z+384+(u<<2)|0;c[p>>2]=c[P>>2];c[P>>2]=0;P=x+(A*2304|0)+(u*72|0)+16|0;c[z+512+(u<<2)>>2]=c[P>>2];c[P>>2]=0;P=x+(A*2304|0)+(u*72|0)+20|0;q=z+640+(u<<2)|0;c[q>>2]=c[P>>2];c[P>>2]=0;P=x+(A*2304|0)+(u*72|0)+24|0;c[z+768+(u<<2)>>2]=c[P>>2];c[P>>2]=0;P=x+(A*2304|0)+(u*72|0)+28|0;s=z+896+(u<<2)|0;c[s>>2]=c[P>>2];c[P>>2]=0;P=x+(A*2304|0)+(u*72|0)+32|0;c[z+1024+(u<<2)>>2]=c[P>>2];c[P>>2]=0;P=x+(A*2304|0)+(u*72|0)+36|0;t=z+1152+(u<<2)|0;c[t>>2]=c[P>>2];c[P>>2]=0;P=x+(A*2304|0)+(u*72|0)+40|0;c[z+1280+(u<<2)>>2]=c[P>>2];c[P>>2]=0;P=x+(A*2304|0)+(u*72|0)+44|0;l=z+1408+(u<<2)|0;c[l>>2]=c[P>>2];c[P>>2]=0;P=x+(A*2304|0)+(u*72|0)+48|0;c[z+1536+(u<<2)>>2]=c[P>>2];c[P>>2]=0;P=x+(A*2304|0)+(u*72|0)+52|0;m=z+1664+(u<<2)|0;c[m>>2]=c[P>>2];c[P>>2]=0;P=x+(A*2304|0)+(u*72|0)+56|0;c[z+1792+(u<<2)>>2]=c[P>>2];c[P>>2]=0;P=x+(A*2304|0)+(u*72|0)+60|0;n=z+1920+(u<<2)|0;c[n>>2]=c[P>>2];c[P>>2]=0;P=x+(A*2304|0)+(u*72|0)+64|0;c[z+2048+(u<<2)>>2]=c[P>>2];c[P>>2]=0;P=x+(A*2304|0)+(u*72|0)+68|0;o=z+2176+(u<<2)|0;c[o>>2]=c[P>>2];c[P>>2]=0;if(u&1|0){O=c[p>>2]|0;c[k>>2]=0-(c[k>>2]|0);P=c[q>>2]|0;c[p>>2]=0-O;O=c[s>>2]|0;c[q>>2]=0-P;P=c[t>>2]|0;c[s>>2]=0-O;O=c[l>>2]|0;c[t>>2]=0-P;P=c[m>>2]|0;c[l>>2]=0-O;O=c[n>>2]|0;c[m>>2]=0-P;P=c[o>>2]|0;c[n>>2]=0-O;c[o>>2]=0-P}u=u+1|0}while(u>>>0<32)}A=A+1|0}while((A|0)!=(j|0))}ab=ab+1|0;if(ab>>>0>=gb>>>0){k=0;Q=318;break}}if((Q|0)==165)nb=567;else if((Q|0)==202)W(51292,51124,1253,51334);else if((Q|0)==276){Ab=569;cc=Bb;return Ab|0}else if((Q|0)==318){cc=Bb;return k|0}Ab=nb;cc=Bb;return Ab|0}function Jg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=a+(b<<2)|0;if((b|0)<=18)return;b=a+72|0;do{g=b+-4|0;e=c[b>>2]|0;f=(c[g>>2]|0)+2048>>12;c[g>>2]=(r(2048-e>>12,-2107)|0)+(f*3512|0);c[b>>2]=(r(f,-2107)|0)+((e+2048>>12)*3512|0);e=b+-8|0;f=b+4|0;g=c[f>>2]|0;a=(c[e>>2]|0)+2048>>12;c[e>>2]=(r(2048-g>>12,-1932)|0)+(a*3612|0);c[f>>2]=(r(a,-1932)|0)+((g+2048>>12)*3612|0);f=b+-12|0;g=b+8|0;a=c[g>>2]|0;e=(c[f>>2]|0)+2048>>12;c[f>>2]=(r(2048-a>>12,-1284)|0)+(e*3890|0);c[g>>2]=(r(e,-1284)|0)+((a+2048>>12)*3890|0);g=b+-16|0;a=b+12|0;e=c[a>>2]|0;f=(c[g>>2]|0)+2048>>12;c[g>>2]=(r(2048-e>>12,-745)|0)+(f*4028|0);c[a>>2]=(r(f,-745)|0)+((e+2048>>12)*4028|0);a=b+-20|0;e=b+16|0;f=c[e>>2]|0;g=(c[a>>2]|0)+2048>>12;c[a>>2]=(r(2048-f>>12,-387)|0)+(g*4078|0);c[e>>2]=(r(g,-387)|0)+((f+2048>>12)*4078|0);e=b+-24|0;f=b+20|0;g=c[f>>2]|0;a=(c[e>>2]|0)+2048>>12;c[e>>2]=(r(2048-g>>12,-168)|0)+(a*4093|0);c[f>>2]=(r(a,-168)|0)+((g+2048>>12)*4093|0);f=b+-28|0;g=b+24|0;a=c[g>>2]|0;e=(c[f>>2]|0)+2048|0;c[f>>2]=(r(2048-a>>12,-58)|0)+(e&-4096);c[g>>2]=(r(e>>12,-58)|0)+(a+2048&-4096);g=b+-32|0;a=b+28|0;e=c[a>>2]|0;f=(c[g>>2]|0)+2048|0;c[g>>2]=(r(2048-e>>12,-15)|0)+(f&-4096);c[a>>2]=(r(f>>12,-15)|0)+(e+2048&-4096);b=b+72|0}while(b>>>0>>0);return}function Kg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;o=((c[a>>2]|0)+2048>>12)*8184|0;g=((c[a+4>>2]|0)+2048>>12)*8122|0;O=((c[a+8>>2]|0)+2048>>12)*7998|0;Z=((c[a+12>>2]|0)+2048>>12)*7813|0;X=((c[a+16>>2]|0)+2048>>12)*7568|0;V=((c[a+20>>2]|0)+2048>>12)*7266|0;ca=((c[a+24>>2]|0)+2048>>12)*6909|0;M=((c[a+28>>2]|0)+2048>>12)*6499|0;Q=((c[a+32>>2]|0)+2048>>12)*6040|0;ba=((c[a+36>>2]|0)+2048>>12)*5534|0;P=((c[a+40>>2]|0)+2048>>12)*4987|0;f=((c[a+44>>2]|0)+2048>>12)*4402|0;A=((c[a+48>>2]|0)+2048>>12)*3783|0;R=((c[a+52>>2]|0)+2048>>12)*3135|0;m=((c[a+56>>2]|0)+2048>>12)*2463|0;u=((c[a+60>>2]|0)+2048>>12)*1773|0;N=((c[a+64>>2]|0)+2048>>12)*1069|0;W=((c[a+68>>2]|0)+2048>>12)*357|0;S=W+o|0;Y=N+g|0;e=u+O|0;a=m+Z|0;v=R+X|0;l=A+V|0;K=f+ca|0;_=P+M|0;L=ba+Q|0;$=a+l|0;l=a-l|0;a=e+K|0;e=K-e|0;K=Y+_|0;aa=S+L|0;S=L-S|0;L=a+$+aa|0;U=e+2048|0;n=r(U+l>>12,-5266)|0;l=l+2048|0;T=(l-S>>12)*8068|0;U=r(S+U>>12,-2802)|0;Y=r(2048-_+Y>>12,-7094)|0;_=r(a+2048-aa>>12,-7698)|0;$=$+2048|0;aa=r($-aa>>12,-1423)|0;a=r($-a>>12,-6275)|0;$=K+v|0;K=(v<<1)-K|0;W=(o+2048-W>>12)*8161|0;N=(g+2048-N>>12)*7913|0;u=(O+2048-u>>12)*7424|0;m=(Z+2048-m>>12)*6710|0;R=X+2048-R>>12;A=(V+2048-A>>12)*4699|0;f=(ca+2048-f>>12)*3462|0;P=(M+2048-P>>12)*2120|0;ba=(Q+2048-ba>>12)*714|0;Q=m+A|0;A=m-A|0;m=u+f|0;u=f-u|0;f=N+P|0;M=W+ba|0;W=ba-W|0;ba=m+Q+M|0;ca=u+2048|0;V=r(ca+A>>12,-5266)|0;A=A+2048|0;X=(A-W>>12)*8068|0;ca=r(W+ca>>12,-2802)|0;N=r(2048-P+N>>12,-7094)|0;P=r(m+2048-M>>12,-7698)|0;Q=Q+2048|0;M=r(Q-M>>12,-1423)|0;m=r(Q-m>>12,-6275)|0;Q=f+(R*5793|0)|0;f=(R*11586|0)-f|0;R=ba+Q|0;Z=V-N-R+X|0;O=m-f+P-Z|0;W=(r(A-u+W>>12,-7094)|0)-O|0;P=P+f-M-W|0;X=N-ca+X-P|0;Q=ba-(Q<<1)-X|0;ca=V+N+ca-Q|0;N=(L+$|0)/2|0;R=((R|0)/2|0)-N|0;V=((n-Y+T|0)/2|0)-R|0;Z=((Z|0)/2|0)-V|0;ba=((a-K+_|0)/2|0)-Z|0;O=((O|0)/2|0)-ba|0;S=(r(l-e+S>>12,-3547)|0)-O|0;W=((W|0)/2|0)-S|0;_=((_+K-aa|0)/2|0)-W|0;P=((P|0)/2|0)-_|0;T=((Y-U+T|0)/2|0)-P|0;X=((X|0)/2|0)-T|0;$=((L-($<<1)|0)/2|0)-X|0;Q=((Q|0)/2|0)-$|0;U=((n+Y+U|0)/2|0)-Q|0;Y=((ca|0)/2|0)-U|0;aa=((a+K+aa|0)/2|0)-Y|0;ca=((m+f+M-ca|0)/2|0)-aa|0;c[b>>2]=P;M=b+4|0;c[M>>2]=T;f=b+8|0;c[f>>2]=X;m=b+12|0;c[m>>2]=$;K=b+16|0;c[K>>2]=Q;a=b+20|0;c[a>>2]=U;n=b+24|0;c[n>>2]=Y;L=b+28|0;c[L>>2]=aa;e=b+32|0;c[e>>2]=ca;l=b+36|0;c[l>>2]=0-ca;u=b+40|0;c[u>>2]=0-aa;A=b+44|0;c[A>>2]=0-Y;g=b+48|0;c[g>>2]=0-U;o=b+52|0;c[o>>2]=0-Q;v=b+56|0;c[v>>2]=0-$;h=b+60|0;c[h>>2]=0-X;p=b+64|0;c[p>>2]=0-T;w=b+68|0;c[w>>2]=0-P;da=0-_|0;i=b+72|0;c[i>>2]=da;I=0-W|0;q=b+76|0;c[q>>2]=I;F=0-S|0;x=b+80|0;c[x>>2]=F;C=0-O|0;j=b+84|0;c[j>>2]=C;H=0-ba|0;s=b+88|0;c[s>>2]=H;E=0-Z|0;y=b+92|0;c[y>>2]=E;B=0-V|0;k=b+96|0;c[k>>2]=B;J=0-R|0;t=b+100|0;c[t>>2]=J;G=0-N|0;z=b+104|0;c[z>>2]=G;D=b+108|0;c[D>>2]=G;G=b+112|0;c[G>>2]=J;J=b+116|0;c[J>>2]=B;B=b+120|0;c[B>>2]=E;E=b+124|0;c[E>>2]=H;H=b+128|0;c[H>>2]=C;C=b+132|0;c[C>>2]=F;F=b+136|0;c[F>>2]=I;I=b+140|0;c[I>>2]=da;switch(d|0){case 0:{c[b>>2]=(P+2048>>12)*179;c[M>>2]=(T+2048>>12)*535;c[f>>2]=(X+2048>>12)*887;c[m>>2]=($+2048>>12)*1232;c[K>>2]=(Q+2048>>12)*1567;c[a>>2]=(U+2048>>12)*1891;c[n>>2]=(Y+2048>>12)*2201;c[L>>2]=(aa+2048>>12)*2493;c[e>>2]=(ca+2048>>12)*2767;c[l>>2]=(2048-ca>>12)*3020;c[u>>2]=(2048-aa>>12)*3250;c[A>>2]=(2048-Y>>12)*3455;c[g>>2]=(2048-U>>12)*3633;c[o>>2]=(2048-Q>>12)*3784;c[v>>2]=(2048-$>>12)*3906;c[h>>2]=(2048-X>>12)*3999;c[p>>2]=(2048-T>>12)*4061;c[w>>2]=(2048-P>>12)*4092;c[i>>2]=(2048-_>>12)*4092;c[q>>2]=(2048-W>>12)*4061;c[x>>2]=(2048-S>>12)*3999;c[j>>2]=(2048-O>>12)*3906;c[s>>2]=(2048-ba>>12)*3784;c[y>>2]=(2048-Z>>12)*3633;c[k>>2]=(2048-V>>12)*3455;c[t>>2]=((c[t>>2]|0)+2048>>12)*3250;c[z>>2]=((c[z>>2]|0)+2048>>12)*3020;c[D>>2]=((c[D>>2]|0)+2048>>12)*2767;c[G>>2]=((c[G>>2]|0)+2048>>12)*2493;c[J>>2]=((c[J>>2]|0)+2048>>12)*2201;c[B>>2]=((c[B>>2]|0)+2048>>12)*1891;c[E>>2]=((c[E>>2]|0)+2048>>12)*1567;c[H>>2]=((c[H>>2]|0)+2048>>12)*1232;c[C>>2]=((c[C>>2]|0)+2048>>12)*887;c[F>>2]=((c[F>>2]|0)+2048>>12)*535;c[I>>2]=((c[I>>2]|0)+2048>>12)*179;return}case 1:{c[b>>2]=(P+2048>>12)*179;c[M>>2]=(T+2048>>12)*535;c[f>>2]=(X+2048>>12)*887;c[m>>2]=($+2048>>12)*1232;c[K>>2]=(Q+2048>>12)*1567;c[a>>2]=(U+2048>>12)*1891;c[n>>2]=(Y+2048>>12)*2201;c[L>>2]=(aa+2048>>12)*2493;c[e>>2]=(ca+2048>>12)*2767;c[l>>2]=(2048-ca>>12)*3020;c[u>>2]=(2048-aa>>12)*3250;c[A>>2]=(2048-Y>>12)*3455;c[g>>2]=(2048-U>>12)*3633;c[o>>2]=(2048-Q>>12)*3784;c[v>>2]=(2048-$>>12)*3906;c[h>>2]=(2048-X>>12)*3999;c[p>>2]=(2048-T>>12)*4061;c[w>>2]=(2048-P>>12)*4092;da=2048-V>>12;c[k>>2]=da*4061;b=2048-R>>12;c[t>>2]=b*3784;d=2048-N>>12;c[z>>2]=d*3250;c[D>>2]=d*2493;c[G>>2]=b*1567;c[J>>2]=da*535;c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;c[B+12>>2]=0;c[B+16>>2]=0;c[B+20>>2]=0;return}case 3:{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[n>>2]=(Y+2048>>12)*535;c[L>>2]=(aa+2048>>12)*1567;c[e>>2]=(ca+2048>>12)*2493;c[l>>2]=(2048-ca>>12)*3250;c[u>>2]=(2048-aa>>12)*3784;c[A>>2]=(2048-Y>>12)*4061;da=2048-_>>12;c[i>>2]=da*4092;b=2048-W>>12;c[q>>2]=b*4061;d=2048-S>>12;c[x>>2]=d*3999;ca=2048-O>>12;c[j>>2]=ca*3906;ba=2048-ba>>12;c[s>>2]=ba*3784;aa=2048-Z>>12;c[y>>2]=aa*3633;$=2048-V>>12;c[k>>2]=$*3455;_=2048-R>>12;c[t>>2]=_*3250;Z=2048-N>>12;c[z>>2]=Z*3020;c[D>>2]=Z*2767;c[G>>2]=_*2493;c[J>>2]=$*2201;c[B>>2]=aa*1891;c[E>>2]=ba*1567;c[H>>2]=ca*1232;c[C>>2]=d*887;c[F>>2]=b*535;c[I>>2]=da*179;return}default:return}}function Lg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;c[d+(e<<2)>>2]=(c[b>>2]|0)+(c[a>>2]|0);c[b>>2]=c[a+72>>2];f=b+4|0;c[d+128+(e<<2)>>2]=(c[f>>2]|0)+(c[a+4>>2]|0);c[f>>2]=c[a+76>>2];f=b+8|0;c[d+256+(e<<2)>>2]=(c[f>>2]|0)+(c[a+8>>2]|0);c[f>>2]=c[a+80>>2];f=b+12|0;c[d+384+(e<<2)>>2]=(c[f>>2]|0)+(c[a+12>>2]|0);c[f>>2]=c[a+84>>2];f=b+16|0;c[d+512+(e<<2)>>2]=(c[f>>2]|0)+(c[a+16>>2]|0);c[f>>2]=c[a+88>>2];f=b+20|0;c[d+640+(e<<2)>>2]=(c[f>>2]|0)+(c[a+20>>2]|0);c[f>>2]=c[a+92>>2];f=b+24|0;c[d+768+(e<<2)>>2]=(c[f>>2]|0)+(c[a+24>>2]|0);c[f>>2]=c[a+96>>2];f=b+28|0;c[d+896+(e<<2)>>2]=(c[f>>2]|0)+(c[a+28>>2]|0);c[f>>2]=c[a+100>>2];f=b+32|0;c[d+1024+(e<<2)>>2]=(c[f>>2]|0)+(c[a+32>>2]|0);c[f>>2]=c[a+104>>2];f=b+36|0;c[d+1152+(e<<2)>>2]=(c[f>>2]|0)+(c[a+36>>2]|0);c[f>>2]=c[a+108>>2];f=b+40|0;c[d+1280+(e<<2)>>2]=(c[f>>2]|0)+(c[a+40>>2]|0);c[f>>2]=c[a+112>>2];f=b+44|0;c[d+1408+(e<<2)>>2]=(c[f>>2]|0)+(c[a+44>>2]|0);c[f>>2]=c[a+116>>2];f=b+48|0;c[d+1536+(e<<2)>>2]=(c[f>>2]|0)+(c[a+48>>2]|0);c[f>>2]=c[a+120>>2];f=b+52|0;c[d+1664+(e<<2)>>2]=(c[f>>2]|0)+(c[a+52>>2]|0);c[f>>2]=c[a+124>>2];f=b+56|0;c[d+1792+(e<<2)>>2]=(c[f>>2]|0)+(c[a+56>>2]|0);c[f>>2]=c[a+128>>2];f=b+60|0;c[d+1920+(e<<2)>>2]=(c[f>>2]|0)+(c[a+60>>2]|0);c[f>>2]=c[a+132>>2];f=b+64|0;c[d+2048+(e<<2)>>2]=(c[f>>2]|0)+(c[a+64>>2]|0);c[f>>2]=c[a+136>>2];b=b+68|0;c[d+2176+(e<<2)>>2]=(c[b>>2]|0)+(c[a+68>>2]|0);c[b>>2]=c[a+140>>2];return}function Mg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=cc;cc=cc+144|0;if((cc|0)>=(dc|0))w(144);e=d;n=(c[a>>2]|0)+2048>>12;l=(c[a+4>>2]|0)+2048>>12;j=r(l,-3784)|0;h=(c[a+8>>2]|0)+2048>>12;i=j+(n*2493|0)+(r(h,-535)|0)|0;g=(c[a+12>>2]|0)+2048>>12;k=(c[a+16>>2]|0)+2048>>12;f=r(k,-1567)|0;m=(c[a+20>>2]|0)+2048>>12;i=i+(g*4061|0)+f+(r(m,-3250)|0)|0;c[e>>2]=i;c[e+20>>2]=0-i;i=(l*1567|0)+(r(n,-3250)|0)+(h*4061|0)+(g*535|0)+(r(k,-3784)|0)+(r(m,-2493)|0)|0;c[e+24>>2]=i;c[e+44>>2]=i;i=j+(n*1567|0)+(h*3784|0)+(r(g,-1567)|0)+f+(m*3784|0)|0;c[e+4>>2]=i;c[e+16>>2]=0-i;l=r(l,-1567)|0;k=k*3784|0;i=l+(r(n,-3784)|0)+(h*1567|0)+(g*3784|0)+k+(m*1567|0)|0;c[e+28>>2]=i;c[e+40>>2]=i;k=l+(n*535|0)+(h*2493|0)+(r(g,-3250)|0)+k+(r(m,-4061)|0)|0;c[e+8>>2]=k;c[e+12>>2]=0-k;m=j+(r(n,-4061)|0)+(r(h,-3250)|0)+(r(g,-2493)|0)+f+(r(m,-535)|0)|0;c[e+32>>2]=m;c[e+36>>2]=m;m=(c[a+24>>2]|0)+2048>>12;f=(c[a+28>>2]|0)+2048>>12;g=r(f,-3784)|0;h=(c[a+32>>2]|0)+2048>>12;n=g+(m*2493|0)+(r(h,-535)|0)|0;j=(c[a+36>>2]|0)+2048>>12;k=(c[a+40>>2]|0)+2048>>12;l=r(k,-1567)|0;i=(c[a+44>>2]|0)+2048>>12;n=n+(j*4061|0)+l+(r(i,-3250)|0)|0;c[e+48>>2]=n;c[e+68>>2]=0-n;n=(f*1567|0)+(r(m,-3250)|0)+(h*4061|0)+(j*535|0)+(r(k,-3784)|0)+(r(i,-2493)|0)|0;c[e+72>>2]=n;c[e+92>>2]=n;n=g+(m*1567|0)+(h*3784|0)+(r(j,-1567)|0)+l+(i*3784|0)|0;c[e+52>>2]=n;c[e+64>>2]=0-n;f=r(f,-1567)|0;k=k*3784|0;n=f+(r(m,-3784)|0)+(h*1567|0)+(j*3784|0)+k+(i*1567|0)|0;c[e+76>>2]=n;c[e+88>>2]=n;k=f+(m*535|0)+(h*2493|0)+(r(j,-3250)|0)+k+(r(i,-4061)|0)|0;c[e+56>>2]=k;c[e+60>>2]=0-k;i=g+(r(m,-4061)|0)+(r(h,-3250)|0)+(r(j,-2493)|0)+l+(r(i,-535)|0)|0;c[e+80>>2]=i;c[e+84>>2]=i;i=(c[a+48>>2]|0)+2048>>12;l=(c[a+52>>2]|0)+2048>>12;j=r(l,-3784)|0;h=(c[a+56>>2]|0)+2048>>12;m=j+(i*2493|0)+(r(h,-535)|0)|0;g=(c[a+60>>2]|0)+2048>>12;k=(c[a+64>>2]|0)+2048>>12;f=r(k,-1567)|0;a=(c[a+68>>2]|0)+2048>>12;m=m+(g*4061|0)+f+(r(a,-3250)|0)|0;c[e+96>>2]=m;c[e+116>>2]=0-m;m=(l*1567|0)+(r(i,-3250)|0)+(h*4061|0)+(g*535|0)+(r(k,-3784)|0)+(r(a,-2493)|0)|0;c[e+120>>2]=m;c[e+140>>2]=m;m=j+(i*1567|0)+(h*3784|0)+(r(g,-1567)|0)+f+(a*3784|0)|0;c[e+100>>2]=m;c[e+112>>2]=0-m;l=r(l,-1567)|0;k=k*3784|0;m=l+(r(i,-3784)|0)+(h*1567|0)+(g*3784|0)+k+(a*1567|0)|0;c[e+124>>2]=m;c[e+136>>2]=m;k=l+(i*535|0)+(h*2493|0)+(r(g,-3250)|0)+k+(r(a,-4061)|0)|0;c[e+104>>2]=k;c[e+108>>2]=0-k;a=j+(r(i,-4061)|0)+(r(h,-3250)|0)+(r(g,-2493)|0)+f+(r(a,-535)|0)|0;c[e+128>>2]=a;c[e+132>>2]=a;c[b>>2]=0;c[b+24>>2]=((c[e>>2]|0)+2048>>12)*535;c[b+48>>2]=(((c[e+48>>2]|0)+2048>>12)*535|0)+(((c[e+24>>2]|0)+2048>>12)*4061|0);c[b+72>>2]=(((c[e+96>>2]|0)+2048>>12)*535|0)+(((c[e+72>>2]|0)+2048>>12)*4061|0);c[b+96>>2]=((c[e+120>>2]|0)+2048>>12)*4061;c[b+120>>2]=0;c[b+4>>2]=0;c[b+28>>2]=((c[e+4>>2]|0)+2048>>12)*1567;c[b+52>>2]=(((c[e+52>>2]|0)+2048>>12)*1567|0)+(((c[e+28>>2]|0)+2048>>12)*3784|0);c[b+76>>2]=(((c[e+100>>2]|0)+2048>>12)*1567|0)+(((c[e+76>>2]|0)+2048>>12)*3784|0);c[b+100>>2]=((c[e+124>>2]|0)+2048>>12)*3784;c[b+124>>2]=0;c[b+8>>2]=0;c[b+32>>2]=((c[e+8>>2]|0)+2048>>12)*2493;c[b+56>>2]=(((c[e+56>>2]|0)+2048>>12)*2493|0)+(((c[e+32>>2]|0)+2048>>12)*3250|0);c[b+80>>2]=(((c[e+104>>2]|0)+2048>>12)*2493|0)+(((c[e+80>>2]|0)+2048>>12)*3250|0);c[b+104>>2]=((c[e+128>>2]|0)+2048>>12)*3250;c[b+128>>2]=0;c[b+12>>2]=0;c[b+36>>2]=((c[e+12>>2]|0)+2048>>12)*3250;c[b+60>>2]=(((c[e+60>>2]|0)+2048>>12)*3250|0)+(((c[e+36>>2]|0)+2048>>12)*2493|0);c[b+84>>2]=(((c[e+108>>2]|0)+2048>>12)*3250|0)+(((c[e+84>>2]|0)+2048>>12)*2493|0);c[b+108>>2]=((c[e+132>>2]|0)+2048>>12)*2493;c[b+132>>2]=0;c[b+16>>2]=0;c[b+40>>2]=((c[e+16>>2]|0)+2048>>12)*3784;c[b+64>>2]=(((c[e+64>>2]|0)+2048>>12)*3784|0)+(((c[e+40>>2]|0)+2048>>12)*1567|0);c[b+88>>2]=(((c[e+112>>2]|0)+2048>>12)*3784|0)+(((c[e+88>>2]|0)+2048>>12)*1567|0);c[b+112>>2]=((c[e+136>>2]|0)+2048>>12)*1567;c[b+136>>2]=0;c[b+20>>2]=0;c[b+44>>2]=((c[e+20>>2]|0)+2048>>12)*4061;c[b+68>>2]=(((c[e+68>>2]|0)+2048>>12)*4061|0)+(((c[e+44>>2]|0)+2048>>12)*535|0);c[b+92>>2]=(((c[e+116>>2]|0)+2048>>12)*4061|0)+(((c[e+92>>2]|0)+2048>>12)*535|0);c[b+116>>2]=((c[e+140>>2]|0)+2048>>12)*535;c[b+140>>2]=0;cc=d;return}function Ng(b){b=b|0;var e=0,f=0,g=0,h=0;h=b+28|0;e=vg(h)|0;g=c[b+4>>2]|0;f=g+-1|0;a:do if(e>>>0>>0){b=e;while(1){e=b+1|0;if((a[b>>0]|0)==-1?(d[e>>0]|0)>223:0){e=b;break a}if(e>>>0>>0)b=e;else break}}while(0);if((g-e|0)<8){h=-1;return h|0}tg(h,e);h=0;return h|0}function Og(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);f=j;g=a+28|0;c[g>>2]=0;h=a+32|0;c[h>>2]=0;i=d+28|0;wg(i,11);if(!(xg(i,1)|0))c[g>>2]=c[g>>2]|16384;k=(xg(i,1)|0)==0;e=c[g>>2]|0;if(!k){if(e&16384|0){c[d+60>>2]=257;k=-1;cc=j;return k|0}}else c[g>>2]=e|4096;k=xg(i,2)|0;c[a>>2]=4-k;if(!k){c[d+60>>2]=258;k=-1;cc=j;return k|0}if(!(xg(i,1)|0)){c[g>>2]=c[g>>2]|16;c[f>>2]=c[i>>2];c[f+4>>2]=c[i+4>>2];b[a+24>>1]=yg(f,16,-1)|0}e=xg(i,4)|0;if((e|0)==15){c[d+60>>2]=259;k=-1;cc=j;return k|0}k=c[a>>2]|0;c[a+16>>2]=c[40624+(((c[g>>2]&4096|0)==0?k+-1|0:(k>>>1)+3|0)*60|0)+(e<<2)>>2];e=xg(i,2)|0;if((e|0)==3){c[d+60>>2]=260;k=-1;cc=j;return k|0}e=c[40924+(e<<2)>>2]|0;d=a+20|0;c[d>>2]=e;f=c[g>>2]|0;if(f&4096|0?(c[d>>2]=e>>>1,f&16384|0):0)c[d>>2]=e>>>2;if(xg(i,1)|0)c[g>>2]=c[g>>2]|128;if(xg(i,1)|0)c[h>>2]=c[h>>2]|256;c[a+4>>2]=3-(xg(i,2)|0);c[a+8>>2]=xg(i,2)|0;if(xg(i,1)|0)c[g>>2]=c[g>>2]|32;if(xg(i,1)|0)c[g>>2]=c[g>>2]|64;c[a+12>>2]=xg(i,2)|0;if(!(c[g>>2]&16)){k=0;cc=j;return k|0}b[a+26>>1]=xg(i,16)|0;k=0;cc=j;return k|0}function Pg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;c[a>>2]=b;if(d>>>0>=e>>>0&(e|0)!=0){h=(d>>>0)/(e>>>0)|0;i=h+b|0;c[a>>2]=i;d=d-(r(h,e)|0)|0}else i=b;a:do if((e|0)>=16e3){if((e|0)<32e3){if((e|0)<22050){switch(e|0){case 16e3:break;default:{f=4;break a}}d=d*22050|0;b=a+4|0;c[b>>2]=d;break}switch(e|0){case 22050:{d=d*16e3|0;b=a+4|0;c[b>>2]=d;break a}case 24e3:{d=d*14700|0;b=a+4|0;c[b>>2]=d;break a}default:{f=4;break a}}}if((e|0)<48e3)if((e|0)<44100){switch(e|0){case 32e3:break;default:{f=4;break a}}d=d*11025|0;b=a+4|0;c[b>>2]=d;break}else{switch(e|0){case 44100:break;default:{f=4;break a}}d=d*8e3|0;b=a+4|0;c[b>>2]=d;break}else if((e|0)<3528e5){switch(e|0){case 48e3:break;default:{f=4;break a}}d=d*7350|0;b=a+4|0;c[b>>2]=d;break}else{switch(e|0){case 3528e5:break;default:{f=4;break a}}b=a+4|0;c[b>>2]=d;break}}else{if((e|0)<8e3){switch(e|0){case 1:case 0:break;case 1e3:{d=d*352800|0;b=a+4|0;c[b>>2]=d;break a}default:{f=4;break a}}c[a+4>>2]=0;return}if((e|0)<11025){switch(e|0){case 8e3:break;default:{f=4;break a}}d=d*44100|0;b=a+4|0;c[b>>2]=d;break}switch(e|0){case 11025:{d=d*32e3|0;b=a+4|0;c[b>>2]=d;break a}case 12e3:{d=d*29400|0;b=a+4|0;c[b>>2]=d;break a}default:{f=4;break a}}}while(0);if((f|0)==4){b=d;f=e;while(1){b=(b>>>0)%(f>>>0)|0;if(!b)break;else{h=f;f=b;b=h}}g=(d>>>0)/(f>>>0)|0;h=(e>>>0)/(f>>>0)|0;if(f>>>0>e>>>0)f=3528e5;else{d=3528e5;f=h;while(1){d=(d>>>0)%(f>>>0)|0;if(!d)break;else{e=f;f=d;d=e}}}d=3528e5/(f>>>0)|0;b=(h>>>0)/(f>>>0)|0;if(f>>>0>h>>>0)W(52015,52026,144,52034);do if(b>>>0>=d>>>0)if(b>>>0>>0){h=(g>>>0)/(b>>>0)|0;d=(((r(g-(r(h,b)|0)|0,d)|0)>>>0)/(b>>>0)|0)+(r(h,d)|0)|0;break}else{d=((r(d,g)|0)>>>0)/(b>>>0)|0;break}else{h=(d>>>0)/(b>>>0)|0;d=(((r(d-(r(h,b)|0)|0,g)|0)>>>0)/(b>>>0)|0)+(r(h,g)|0)|0}while(0);b=a+4|0;c[b>>2]=d}if(d>>>0<=352799999)return;h=(d>>>0)/3528e5|0;c[a>>2]=i+h;c[b>>2]=d-(r(h,3528e5)|0);return}function Qg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=cc;cc=cc+112|0;if((cc|0)>=(dc|0))w(112);j=u+48|0;i=u;s=a+28|0;q=s;p=c[q>>2]|0;q=c[q+4>>2]|0;m=c[b+28>>2]|0;d=m>>>7&1;m=(c[b>>2]|0)==3?((m&4096|0)==0?144:72):144;if(!(Ng(a)|0)){k=i+20|0;l=b+20|0;o=a+20|0;n=4-(d<<2)|0;h=d^1;d=0;do{e=j;f=a;g=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));e=i;f=b;g=e+44|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));if(((Og(i,j)|0)==0?(c[i>>2]|0)==(c[b>>2]|0):0)?(c[k>>2]|0)==(c[l>>2]|0):0){d=vg(s)|0;g=(c[b>>2]|0)==1;g=((r(c[l>>2]|0,(g?n:h)+(d-(c[o>>2]|0))|0)|0)>>>0)/((g?48:m)>>>0)|0;d=(g>>>0)/1e3|0;if(g>>>0>=8e3){t=8;break}}wg(s,8)}while((Ng(a)|0)==0);t=s;c[t>>2]=p;c[t+4>>2]=q;if(d>>>0>=8?!(d>>>0>640&(c[b>>2]|0)==3):0){c[a+16>>2]=d*1e3;t=0;cc=u;return t|0}}else{t=s;c[t>>2]=p;c[t+4>>2]=q}c[a+60>>2]=257;t=-1;cc=u;return t|0}function Rg(a){a=a|0;var b=0;rj(a|0,0,1024)|0;b=0;do{c[a+1536+(b<<5)>>2]=0;c[a+1024+(b<<5)>>2]=0;c[a+1536+(b<<5)+4>>2]=0;c[a+1024+(b<<5)+4>>2]=0;c[a+1536+(b<<5)+8>>2]=0;c[a+1024+(b<<5)+8>>2]=0;c[a+1536+(b<<5)+12>>2]=0;c[a+1024+(b<<5)+12>>2]=0;c[a+1536+(b<<5)+16>>2]=0;c[a+1024+(b<<5)+16>>2]=0;c[a+1536+(b<<5)+20>>2]=0;c[a+1024+(b<<5)+20>>2]=0;c[a+1536+(b<<5)+24>>2]=0;c[a+1024+(b<<5)+24>>2]=0;c[a+1536+(b<<5)+28>>2]=0;c[a+1024+(b<<5)+28>>2]=0;b=b+1|0}while((b|0)!=16);rj(a+2048|0,0,1024)|0;b=0;do{c[a+3584+(b<<5)>>2]=0;c[a+3072+(b<<5)>>2]=0;c[a+3584+(b<<5)+4>>2]=0;c[a+3072+(b<<5)+4>>2]=0;c[a+3584+(b<<5)+8>>2]=0;c[a+3072+(b<<5)+8>>2]=0;c[a+3584+(b<<5)+12>>2]=0;c[a+3072+(b<<5)+12>>2]=0;c[a+3584+(b<<5)+16>>2]=0;c[a+3072+(b<<5)+16>>2]=0;c[a+3584+(b<<5)+20>>2]=0;c[a+3072+(b<<5)+20>>2]=0;c[a+3584+(b<<5)+24>>2]=0;c[a+3072+(b<<5)+24>>2]=0;c[a+3584+(b<<5)+28>>2]=0;c[a+3072+(b<<5)+28>>2]=0;b=b+1|0}while((b|0)!=16);return}function Sg(a){a=a|0;var b=0;rj(a+48|0,0,9216)|0;a=c[a+9264>>2]|0;if(!a)return;rj(a|0,0,2304)|0;b=0;do{c[a+2304+(b<<2)>>2]=0;c[a+2376+(b<<2)>>2]=0;c[a+2448+(b<<2)>>2]=0;c[a+2520+(b<<2)>>2]=0;c[a+2592+(b<<2)>>2]=0;c[a+2664+(b<<2)>>2]=0;c[a+2736+(b<<2)>>2]=0;c[a+2808+(b<<2)>>2]=0;c[a+2880+(b<<2)>>2]=0;c[a+2952+(b<<2)>>2]=0;c[a+3024+(b<<2)>>2]=0;c[a+3096+(b<<2)>>2]=0;c[a+3168+(b<<2)>>2]=0;c[a+3240+(b<<2)>>2]=0;c[a+3312+(b<<2)>>2]=0;c[a+3384+(b<<2)>>2]=0;c[a+3456+(b<<2)>>2]=0;c[a+3528+(b<<2)>>2]=0;c[a+3600+(b<<2)>>2]=0;c[a+3672+(b<<2)>>2]=0;c[a+3744+(b<<2)>>2]=0;c[a+3816+(b<<2)>>2]=0;c[a+3888+(b<<2)>>2]=0;c[a+3960+(b<<2)>>2]=0;c[a+4032+(b<<2)>>2]=0;c[a+4104+(b<<2)>>2]=0;c[a+4176+(b<<2)>>2]=0;c[a+4248+(b<<2)>>2]=0;c[a+4320+(b<<2)>>2]=0;c[a+4392+(b<<2)>>2]=0;c[a+4464+(b<<2)>>2]=0;c[a+4536+(b<<2)>>2]=0;b=b+1|0}while((b|0)!=18);return}function Tg(){Ug(0);return}function Ug(a){a=a|0;wa(1312,52049);la(1328,52054,1,1,0);sa(1336,52059,1,-128,127);sa(1352,52064,1,-128,127);sa(1344,52076,1,0,255);sa(1360,52090,2,-32768,32767);sa(1368,52096,2,0,65535);sa(1376,52111,4,-2147483648,2147483647);sa(1384,52115,4,0,-1);sa(1392,52128,4,-2147483648,2147483647);sa(1400,52133,4,0,-1);ra(1408,52147,4);ra(1416,52153,8);ua(552,52160);ua(736,52172);va(760,4,52205);qa(576,52218);ta(784,0,52234);ta(792,0,52264);ta(800,1,52301);ta(808,2,52340);ta(816,3,52371);ta(824,4,52411);ta(832,5,52440);ta(840,4,52478);ta(848,5,52508);ta(792,0,52547);ta(800,1,52579);ta(808,2,52612);ta(816,3,52645);ta(824,4,52679);ta(832,5,52712);ta(856,6,52746);ta(864,7,52777);ta(872,7,52809);return}function Vg(a){a=a|0;return Ch(c[a+4>>2]|0)|0}function Wg(a){a=a|0;var b=0,d=0;b=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);d=b;c[d>>2]=$g(c[a+60>>2]|0)|0;a=Zg(ia(6,d|0)|0)|0;cc=b;return a|0}function Xg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=cc;cc=cc+48|0;if((cc|0)>=(dc|0))w(48);k=m+32|0;g=m+16|0;f=m;i=a+28|0;e=c[i>>2]|0;c[f>>2]=e;j=a+20|0;e=(c[j>>2]|0)-e|0;c[f+4>>2]=e;c[f+8>>2]=b;c[f+12>>2]=d;e=e+d|0;h=a+60|0;c[g>>2]=c[h>>2];c[g+4>>2]=f;c[g+8>>2]=2;g=Zg(ga(146,g|0)|0)|0;a:do if((e|0)!=(g|0)){b=2;while(1){if((g|0)<0)break;e=e-g|0;o=c[f+4>>2]|0;n=g>>>0>o>>>0;f=n?f+8|0:f;b=b+(n<<31>>31)|0;o=g-(n?o:0)|0;c[f>>2]=(c[f>>2]|0)+o;n=f+4|0;c[n>>2]=(c[n>>2]|0)-o;c[k>>2]=c[h>>2];c[k+4>>2]=f;c[k+8>>2]=b;g=Zg(ga(146,k|0)|0)|0;if((e|0)==(g|0)){l=3;break a}}c[a+16>>2]=0;c[i>>2]=0;c[j>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[f+4>>2]|0)|0}else l=3;while(0);if((l|0)==3){o=c[a+44>>2]|0;c[a+16>>2]=o+(c[a+48>>2]|0);c[i>>2]=o;c[j>>2]=o}cc=m;return d|0}function Yg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=cc;cc=cc+32|0;if((cc|0)>=(dc|0))w(32);h=g+8|0;f=g;c[h>>2]=c[a+60>>2];c[h+4>>2]=d;c[h+8>>2]=b;c[h+12>>2]=f;c[h+16>>2]=e;if((Zg(fa(140,h|0)|0)|0)<0){a=f;c[a>>2]=-1;c[a+4>>2]=-1;a=-1;b=-1}else{b=f;a=c[b+4>>2]|0;b=c[b>>2]|0}u(a|0);cc=g;return b|0}function Zg(a){a=a|0;if(a>>>0>4294963200){c[(_g()|0)>>2]=0-a;a=-1}return a|0}function _g(){return 55276}function $g(a){a=a|0;return a|0}function ah(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=cc;cc=cc+32|0;if((cc|0)>=(dc|0))w(32);f=g;c[b+36>>2]=1;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21523,c[f+8>>2]=g+16,ha(54,f|0)|0):0)a[b+75>>0]=-1;f=Xg(b,d,e)|0;cc=g;return f|0}function bh(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)b=0;else{while(1){e=a[b>>0]|0;f=a[c>>0]|0;if(e<<24>>24!=f<<24>>24)break;d=d+-1|0;if(!d){b=0;break a}else{b=b+1|0;c=c+1|0}}b=(e&255)-(f&255)|0}while(0);return b|0}function ch(a){a=a|0;return (a+-48|0)>>>0<10|0}function dh(a,b,c){a=a|0;b=b|0;c=c|0;return gh(a,b,c,1,17)|0}function eh(b,e,f,g,h,i){b=b|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,s=0,t=0,u=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=cc;cc=cc+560|0;if((cc|0)>=(dc|0))w(560);l=I+32|0;x=I+536|0;H=I;G=H;m=I+540|0;c[x>>2]=0;F=m+12|0;yh(e)|0;j=v()|0;if((j|0)<0){e=-e;yh(e)|0;E=1;D=53361;j=v()|0}else{E=(h&2049|0)!=0&1;D=(h&2048|0)==0?((h&1|0)==0?53362:53367):53364}do if(0==0&(j&2146435072|0)==2146435072){H=(i&32|0)!=0;j=E+3|0;rh(b,32,f,j,h&-65537);kh(b,D,E);kh(b,e!=e|0.0!=0.0?(H?53388:53392):H?53380:53384,3);rh(b,32,f,j,h^8192)}else{q=+zh(e,x)*2.0;j=q!=0.0;if(j)c[x>>2]=(c[x>>2]|0)+-1;u=i|32;if((u|0)==97){o=i&32;s=(o|0)==0?D:D+9|0;p=E|2;j=12-g|0;do if(!(g>>>0>11|(j|0)==0)){e=8.0;do{j=j+-1|0;e=e*16.0}while((j|0)!=0);if((a[s>>0]|0)==45){e=-(e+(-q-e));break}else{e=q+e-e;break}}else e=q;while(0);k=c[x>>2]|0;j=(k|0)<0?0-k|0:k;j=ph(j,((j|0)<0)<<31>>31,F)|0;if((j|0)==(F|0)){j=m+11|0;a[j>>0]=48}a[j+-1>>0]=(k>>31&2)+43;n=j+-2|0;a[n>>0]=i+15;k=(g|0)<1;l=(h&8|0)==0;m=H;do{E=~~e;j=m+1|0;a[m>>0]=o|d[528+E>>0];e=(e-+(E|0))*16.0;if((j-G|0)==1?!(l&(k&e==0.0)):0){a[j>>0]=46;m=m+2|0}else m=j}while(e!=0.0);if((g|0)!=0?(-2-G+m|0)<(g|0):0){k=F;l=n;j=g+2+k-l|0}else{k=F;l=n;j=k-G-l+m|0}F=j+p|0;rh(b,32,f,F,h);kh(b,s,p);rh(b,48,f,F,h^65536);G=m-G|0;kh(b,H,G);H=k-l|0;rh(b,48,j-(G+H)|0,0,0);kh(b,n,H);rh(b,32,f,F,h^8192);j=F;break}k=(g|0)<0?6:g;if(j){j=(c[x>>2]|0)+-28|0;c[x>>2]=j;e=q*268435456.0}else{e=q;j=c[x>>2]|0}C=(j|0)<0?l:l+288|0;l=C;do{A=~~e>>>0;c[l>>2]=A;l=l+4|0;e=(e-+(A>>>0))*1.0e9}while(e!=0.0);A=C;if((j|0)>0){o=C;while(1){n=(j|0)<29?j:29;j=l+-4|0;if(j>>>0>=o>>>0){m=0;do{t=oj(c[j>>2]|0,0,n|0)|0;t=ij(t|0,v()|0,m|0,0)|0;y=v()|0;m=mj(t|0,y|0,1e9,0)|0;z=hj(m|0,v()|0,1e9,0)|0;z=jj(t|0,y|0,z|0,v()|0)|0;v()|0;c[j>>2]=z;j=j+-4|0}while(j>>>0>=o>>>0);if(m){z=o+-4|0;c[z>>2]=m;m=z}else m=o}else m=o;a:do if(l>>>0>m>>>0){j=l;while(1){l=j+-4|0;if(c[l>>2]|0){l=j;break a}if(l>>>0>m>>>0)j=l;else break}}while(0);j=(c[x>>2]|0)-n|0;c[x>>2]=j;if((j|0)>0)o=m;else break}}else m=C;if((j|0)<0){g=((k+25|0)/9|0)+1|0;t=(u|0)==102;do{s=0-j|0;s=(s|0)<9?s:9;if(m>>>0>>0){n=(1<>>s;p=0;j=m;do{z=c[j>>2]|0;c[j>>2]=(z>>>s)+p;p=r(z&n,o)|0;j=j+4|0}while(j>>>0>>0);m=(c[m>>2]|0)==0?m+4|0:m;if(p){c[l>>2]=p;l=l+4|0}}else m=(c[m>>2]|0)==0?m+4|0:m;j=t?C:m;l=(l-j>>2|0)>(g|0)?j+(g<<2)|0:l;j=(c[x>>2]|0)+s|0;c[x>>2]=j}while((j|0)<0);t=m}else t=m;if(t>>>0>>0){j=(A-t>>2)*9|0;n=c[t>>2]|0;if(n>>>0>=10){m=10;do{m=m*10|0;j=j+1|0}while(n>>>0>=m>>>0)}}else j=0;y=(u|0)==103;z=(k|0)!=0;m=k-((u|0)==102?0:j)+((z&y)<<31>>31)|0;if((m|0)<(((l-A>>2)*9|0)+-9|0)){x=m+9216|0;m=(x|0)/9|0;g=C+4+(m+-1024<<2)|0;m=x-(m*9|0)|0;if((m|0)<8){n=10;while(1){n=n*10|0;if((m|0)<7)m=m+1|0;else break}}else n=10;p=c[g>>2]|0;m=(p>>>0)/(n>>>0)|0;s=p-(r(m,n)|0)|0;o=(g+4|0)==(l|0);if(!(o&(s|0)==0)){q=(m&1|0)==0?9007199254740992.0:9007199254740994.0;x=n>>>1;e=s>>>0>>0?.5:o&(s|0)==(x|0)?1.0:1.5;if(E){x=(a[D>>0]|0)==45;e=x?-e:e;q=x?-q:q}m=p-s|0;c[g>>2]=m;if(q+e!=q){x=m+n|0;c[g>>2]=x;if(x>>>0>999999999){n=g;j=t;while(1){m=n+-4|0;c[n>>2]=0;if(m>>>0>>0){j=j+-4|0;c[j>>2]=0}x=(c[m>>2]|0)+1|0;c[m>>2]=x;if(x>>>0>999999999)n=m;else{n=j;break}}}else{m=g;n=t}j=(A-n>>2)*9|0;p=c[n>>2]|0;if(p>>>0>=10){o=10;do{o=o*10|0;j=j+1|0}while(p>>>0>=o>>>0)}}else{m=g;n=t}}else{m=g;n=t}x=m+4|0;l=l>>>0>x>>>0?x:l}else n=t;g=0-j|0;b:do if(l>>>0>n>>>0)while(1){m=l+-4|0;if(c[m>>2]|0){x=l;u=1;break b}if(m>>>0>n>>>0)l=m;else{x=m;u=0;break}}else{x=l;u=0}while(0);do if(y){k=k+((z^1)&1)|0;if((k|0)>(j|0)&(j|0)>-5){o=i+-1|0;k=k+-1-j|0}else{o=i+-2|0;k=k+-1|0}if(!(h&8)){if(u?(B=c[x+-4>>2]|0,(B|0)!=0):0)if(!((B>>>0)%10|0)){m=0;l=10;do{l=l*10|0;m=m+1|0}while(!((B>>>0)%(l>>>0)|0|0))}else m=0;else m=9;l=((x-A>>2)*9|0)+-9|0;if((o|32|0)==102){i=l-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}else{i=l+j-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}}}else o=i;while(0);t=(k|0)!=0;p=t?1:h>>>3&1;s=(o|32|0)==102;if(s){y=0;j=(j|0)>0?j:0}else{l=(j|0)<0?g:j;l=ph(l,((l|0)<0)<<31>>31,F)|0;m=F;if((m-l|0)<2)do{l=l+-1|0;a[l>>0]=48}while((m-l|0)<2);a[l+-1>>0]=(j>>31&2)+43;j=l+-2|0;a[j>>0]=o;y=j;j=m-j|0}j=E+1+k+p+j|0;rh(b,32,f,j,h);kh(b,D,E);rh(b,48,f,j,h^65536);if(s){p=n>>>0>C>>>0?C:n;s=H+9|0;n=s;o=H+8|0;m=p;do{l=ph(c[m>>2]|0,0,s)|0;if((m|0)==(p|0)){if((l|0)==(s|0)){a[o>>0]=48;l=o}}else if(l>>>0>H>>>0){rj(H|0,48,l-G|0)|0;do l=l+-1|0;while(l>>>0>H>>>0)}kh(b,l,n-l|0);m=m+4|0}while(m>>>0<=C>>>0);if(!((h&8|0)==0&(t^1)))kh(b,53396,1);if(m>>>0>>0&(k|0)>0)while(1){l=ph(c[m>>2]|0,0,s)|0;if(l>>>0>H>>>0){rj(H|0,48,l-G|0)|0;do l=l+-1|0;while(l>>>0>H>>>0)}kh(b,l,(k|0)<9?k:9);m=m+4|0;l=k+-9|0;if(!(m>>>0>>0&(k|0)>9)){k=l;break}else k=l}rh(b,48,k+9|0,9,0)}else{x=u?x:n+4|0;if(n>>>0>>0&(k|0)>-1){g=H+9|0;t=(h&8|0)==0;u=g;p=0-G|0;s=H+8|0;o=n;do{l=ph(c[o>>2]|0,0,g)|0;if((l|0)==(g|0)){a[s>>0]=48;l=s}do if((o|0)==(n|0)){m=l+1|0;kh(b,l,1);if(t&(k|0)<1){l=m;break}kh(b,53396,1);l=m}else{if(l>>>0<=H>>>0)break;rj(H|0,48,l+p|0)|0;do l=l+-1|0;while(l>>>0>H>>>0)}while(0);G=u-l|0;kh(b,l,(k|0)>(G|0)?G:k);k=k-G|0;o=o+4|0}while(o>>>0>>0&(k|0)>-1)}rh(b,48,k+18|0,18,0);kh(b,y,F-y|0)}rh(b,32,f,j,h^8192)}while(0);cc=I;return ((j|0)<(f|0)?f:j)|0}function fh(a,b){a=a|0;b=b|0;var d=0.0,e=0;e=(c[b>>2]|0)+(8-1)&~(8-1);d=+g[e>>3];c[b>>2]=e+8;g[a>>3]=d;return}function gh(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=cc;cc=cc+224|0;if((cc|0)>=(dc|0))w(224);p=t+208|0;q=t+160|0;r=t+80|0;s=t;h=q;i=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));c[p>>2]=c[e>>2];if((hh(0,d,p,r,q,f,g)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)o=ih(b)|0;else o=0;e=c[b>>2]|0;n=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;h=b+48|0;if(!(c[h>>2]|0)){i=b+44|0;j=c[i>>2]|0;c[i>>2]=s;k=b+28|0;c[k>>2]=s;l=b+20|0;c[l>>2]=s;c[h>>2]=80;m=b+16|0;c[m>>2]=s+80;e=hh(b,d,p,r,q,f,g)|0;if(j){ic[c[b+36>>2]&7](b,0,0)|0;e=(c[l>>2]|0)==0?-1:e;c[i>>2]=j;c[h>>2]=0;c[m>>2]=0;c[k>>2]=0;c[l>>2]=0}}else e=hh(b,d,p,r,q,f,g)|0;h=c[b>>2]|0;c[b>>2]=h|n;if(o|0)jh(b);e=(h&32|0)==0?e:-1}cc=t;return e|0}function hh(d,e,f,h,i,j,k){d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,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;K=cc;cc=cc+64|0;if((cc|0)>=(dc|0))w(64);H=K+56|0;J=K+40|0;C=K;E=K+48|0;F=K+60|0;c[H>>2]=e;z=(d|0)!=0;A=C+40|0;B=A;C=C+39|0;D=E+4|0;l=0;e=0;n=0;a:while(1){do{do if((e|0)>-1)if((l|0)>(2147483647-e|0)){c[(_g()|0)>>2]=75;e=-1;break}else{e=l+e|0;break}while(0);r=c[H>>2]|0;l=a[r>>0]|0;if(!(l<<24>>24)){y=92;break a}m=r;b:while(1){switch(l<<24>>24){case 37:{y=10;break b}case 0:{l=m;break b}default:{}}x=m+1|0;c[H>>2]=x;l=a[x>>0]|0;m=x}c:do if((y|0)==10){y=0;l=m;do{if((a[m+1>>0]|0)!=37)break c;l=l+1|0;m=m+2|0;c[H>>2]=m}while((a[m>>0]|0)==37)}while(0);l=l-r|0;if(z)kh(d,r,l)}while((l|0)!=0);x=(ch(a[(c[H>>2]|0)+1>>0]|0)|0)==0;m=c[H>>2]|0;if(!x?(a[m+2>>0]|0)==36:0){t=(a[m+1>>0]|0)+-48|0;p=1;l=3}else{t=-1;p=n;l=1}l=m+l|0;c[H>>2]=l;m=a[l>>0]|0;n=(m<<24>>24)+-32|0;if(n>>>0>31|(1<>2]=l;m=a[l>>0]|0;n=(m<<24>>24)+-32|0}while(!(n>>>0>31|(1<>24==42){if((ch(a[l+1>>0]|0)|0)!=0?(I=c[H>>2]|0,(a[I+2>>0]|0)==36):0){l=I+1|0;c[i+((a[l>>0]|0)+-48<<2)>>2]=10;l=c[h+((a[l>>0]|0)+-48<<3)>>2]|0;n=1;m=I+3|0}else{if(p|0){e=-1;break}if(z){x=(c[f>>2]|0)+(4-1)&~(4-1);l=c[x>>2]|0;c[f>>2]=x+4}else l=0;n=0;m=(c[H>>2]|0)+1|0}c[H>>2]=m;x=(l|0)<0;u=x?0-l|0:l;o=x?o|8192:o;x=n}else{l=lh(H)|0;if((l|0)<0){e=-1;break}u=l;x=p;m=c[H>>2]|0}do if((a[m>>0]|0)==46){l=m+1|0;if((a[l>>0]|0)!=42){c[H>>2]=l;l=lh(H)|0;m=c[H>>2]|0;break}if(ch(a[m+2>>0]|0)|0?(G=c[H>>2]|0,(a[G+3>>0]|0)==36):0){l=G+2|0;c[i+((a[l>>0]|0)+-48<<2)>>2]=10;l=c[h+((a[l>>0]|0)+-48<<3)>>2]|0;m=G+4|0;c[H>>2]=m;break}if(x|0){e=-1;break a}if(z){s=(c[f>>2]|0)+(4-1)&~(4-1);l=c[s>>2]|0;c[f>>2]=s+4}else l=0;m=(c[H>>2]|0)+2|0;c[H>>2]=m}else l=-1;while(0);s=0;while(1){if(((a[m>>0]|0)+-65|0)>>>0>57){e=-1;break a}n=m;m=m+1|0;c[H>>2]=m;n=a[(a[n>>0]|0)+-65+(64+(s*58|0))>>0]|0;p=n&255;if((p+-1|0)>>>0>=8)break;else s=p}if(!(n<<24>>24)){e=-1;break}q=(t|0)>-1;do if(n<<24>>24==19)if(q){e=-1;break a}else y=54;else{if(q){c[i+(t<<2)>>2]=p;q=h+(t<<3)|0;t=c[q+4>>2]|0;y=J;c[y>>2]=c[q>>2];c[y+4>>2]=t;y=54;break}if(!z){e=0;break a}mh(J,p,f,k);m=c[H>>2]|0;y=55}while(0);if((y|0)==54){y=0;if(z)y=55;else l=0}d:do if((y|0)==55){y=0;m=a[m+-1>>0]|0;m=(s|0)!=0&(m&15|0)==3?m&-33:m;n=o&-65537;t=(o&8192|0)==0?o:n;e:do switch(m|0){case 110:switch((s&255)<<24>>24){case 0:{c[c[J>>2]>>2]=e;l=0;break d}case 1:{c[c[J>>2]>>2]=e;l=0;break d}case 2:{l=c[J>>2]|0;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=0;break d}case 3:{b[c[J>>2]>>1]=e;l=0;break d}case 4:{a[c[J>>2]>>0]=e;l=0;break d}case 6:{c[c[J>>2]>>2]=e;l=0;break d}case 7:{l=c[J>>2]|0;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=0;break d}default:{l=0;break d}}case 112:{m=120;l=l>>>0>8?l:8;n=t|8;y=67;break}case 88:case 120:{n=t;y=67;break}case 111:{q=J;q=oh(c[q>>2]|0,c[q+4>>2]|0,A)|0;n=B-q|0;o=0;p=53344;l=(t&8|0)==0|(l|0)>(n|0)?l:n+1|0;n=t;y=73;break}case 105:case 100:{n=J;m=c[n>>2]|0;n=c[n+4>>2]|0;if((n|0)<0){m=jj(0,0,m|0,n|0)|0;n=v()|0;o=J;c[o>>2]=m;c[o+4>>2]=n;o=1;p=53344;y=72;break e}else{o=(t&2049|0)!=0&1;p=(t&2048|0)==0?((t&1|0)==0?53344:53346):53345;y=72;break e}}case 117:{n=J;o=0;p=53344;m=c[n>>2]|0;n=c[n+4>>2]|0;y=72;break}case 99:{a[C>>0]=c[J>>2];r=C;o=0;p=53344;q=1;m=n;l=B;break}case 115:{s=c[J>>2]|0;s=(s|0)==0?53354:s;t=qh(s,0,l)|0;L=(t|0)==0;r=s;o=0;p=53344;q=L?l:t-s|0;m=n;l=L?s+l|0:t;break}case 67:{c[E>>2]=c[J>>2];c[D>>2]=0;c[J>>2]=E;p=-1;y=79;break}case 83:{if(!l){rh(d,32,u,0,t);l=0;y=89}else{p=l;y=79}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{l=gc[j&1](d,+g[J>>3],u,l,t,m)|0;break d}default:{o=0;p=53344;q=l;m=t;l=B}}while(0);f:do if((y|0)==67){q=J;q=nh(c[q>>2]|0,c[q+4>>2]|0,A,m&32)|0;p=J;p=(n&8|0)==0|(c[p>>2]|0)==0&(c[p+4>>2]|0)==0;o=p?0:2;p=p?53344:53344+(m>>>4)|0;y=73}else if((y|0)==72){q=ph(m,n,A)|0;n=t;y=73}else if((y|0)==79){y=0;o=c[J>>2]|0;l=0;while(1){m=c[o>>2]|0;if(!m)break;m=sh(F,m)|0;n=(m|0)<0;if(n|m>>>0>(p-l|0)>>>0){y=83;break}l=m+l|0;if(p>>>0>l>>>0)o=o+4|0;else break}if((y|0)==83){y=0;if(n){e=-1;break a}}rh(d,32,u,l,t);if(!l){l=0;y=89}else{n=c[J>>2]|0;o=0;while(1){m=c[n>>2]|0;if(!m){y=89;break f}m=sh(F,m)|0;o=m+o|0;if((o|0)>(l|0)){y=89;break f}kh(d,F,m);if(o>>>0>=l>>>0){y=89;break}else n=n+4|0}}}while(0);if((y|0)==73){y=0;m=J;m=(c[m>>2]|0)!=0|(c[m+4>>2]|0)!=0;L=(l|0)!=0|m;m=B-q+((m^1)&1)|0;r=L?q:A;q=L?((l|0)>(m|0)?l:m):0;m=(l|0)>-1?n&-65537:n;l=B}else if((y|0)==89){y=0;rh(d,32,u,l,t^8192);l=(u|0)>(l|0)?u:l;break}t=l-r|0;s=(q|0)<(t|0)?t:q;L=s+o|0;l=(u|0)<(L|0)?L:u;rh(d,32,l,L,m);kh(d,p,o);rh(d,48,l,L,m^65536);rh(d,48,s,t,0);kh(d,r,t);rh(d,32,l,L,m^8192)}while(0);n=x}g:do if((y|0)==92)if(!d)if(!n)e=0;else{e=1;while(1){l=c[i+(e<<2)>>2]|0;if(!l)break;mh(h+(e<<3)|0,l,f,k);e=e+1|0;if(e>>>0>=10){e=1;break g}}while(1){if(c[i+(e<<2)>>2]|0){e=-1;break g}e=e+1|0;if(e>>>0>=10){e=1;break}}}while(0);cc=K;return e|0}function ih(a){a=a|0;return 1}function jh(a){a=a|0;return}function kh(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))wh(b,d,a)|0;return}function lh(b){b=b|0;var d=0,e=0;if(!(ch(a[c[b>>2]>>0]|0)|0))d=0;else{d=0;do{e=c[b>>2]|0;d=(d*10|0)+-48+(a[e>>0]|0)|0;e=e+1|0;c[b>>2]=e}while((ch(a[e>>0]|0)|0)!=0)}return d|0}function mh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{b=(c[d>>2]|0)+(4-1)&~(4-1);e=c[b>>2]|0;c[d>>2]=b+4;c[a>>2]=e;break a}case 10:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);h=+g[f>>3];c[d>>2]=f+8;g[a>>3]=h;break a}case 18:{mc[e&31](a,d);break a}default:break a}while(0);while(0);return}function nh(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;if(!((b|0)==0&(c|0)==0))do{e=e+-1|0;a[e>>0]=d[528+(b&15)>>0]|0|f;b=nj(b|0,c|0,4)|0;c=v()|0}while(!((b|0)==0&(c|0)==0));return e|0}function oh(b,c,d){b=b|0;c=c|0;d=d|0;if(!((b|0)==0&(c|0)==0))do{d=d+-1|0;a[d>>0]=b&7|48;b=nj(b|0,c|0,3)|0;c=v()|0}while(!((b|0)==0&(c|0)==0));return d|0}function ph(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295){do{e=b;b=mj(b|0,c|0,10,0)|0;f=c;c=v()|0;g=hj(b|0,c|0,10,0)|0;g=jj(e|0,f|0,g|0,v()|0)|0;v()|0;d=d+-1|0;a[d>>0]=g&255|48}while(f>>>0>9|(f|0)==9&e>>>0>4294967295);c=b}else c=b;if(c)do{g=c;c=(c>>>0)/10|0;d=d+-1|0;a[d>>0]=g-(c*10|0)|48}while(g>>>0>=10);return d|0}function qh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(f)i=6;else i=16;b:do if((i|0)==6){g=d&255;if((a[b>>0]|0)==g<<24>>24)if(!e){i=16;break}else break;f=r(h,16843009)|0;c:do if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009|0)break c;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break}}else i=11;while(0);if((i|0)==11)if(!e){i=16;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;e=e+-1|0;if(!e){i=16;break}else b=b+1|0}}while(0);if((i|0)==16)b=0;return b|0}function rh(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;g=cc;cc=cc+256|0;if((cc|0)>=(dc|0))w(256);f=g;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;rj(f|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{kh(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}kh(a,f,e)}cc=g;return}function sh(a,b){a=a|0;b=b|0;if(!a)a=0;else a=th(a,b,0)|0;return a|0}function th(b,d,e){b=b|0;d=d|0;e=e|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(!(c[c[(uh()|0)+188>>2]>>2]|0))if((d&-128|0)==57216){a[b>>0]=d;b=1;break}else{c[(_g()|0)>>2]=84;b=-1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{c[(_g()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function uh(){return vh()|0}function vh(){return 40944}function wh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(xh(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){j=e+20|0;i=c[j>>2]|0;f=i;if((g-i|0)>>>0>>0){f=ic[c[e+36>>2]&7](e,b,d)|0;break}b:do if((a[e+75>>0]|0)<0|(d|0)==0){h=0;g=b}else{i=d;while(1){g=i+-1|0;if((a[b+g>>0]|0)==10)break;if(!g){h=0;g=b;break b}else i=g}f=ic[c[e+36>>2]&7](e,b,i)|0;if(f>>>0>>0)break a;h=i;g=b+i|0;d=d-i|0;f=c[j>>2]|0}while(0);pj(f|0,g|0,d|0)|0;c[j>>2]=(c[j>>2]|0)+d;f=h+d|0}while(0);return f|0}function xh(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;e=c[b+44>>2]|0;c[b+28>>2]=e;c[b+20>>2]=e;c[b+16>>2]=e+(c[b+48>>2]|0);b=0}else{c[b>>2]=d|32;b=-1}return b|0}function yh(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;u(c[h+4>>2]|0);return b|0}function zh(a,b){a=+a;b=b|0;var d=0,e=0,f=0;g[h>>3]=a;d=c[h>>2]|0;e=c[h+4>>2]|0;f=nj(d|0,e|0,52)|0;v()|0;switch(f&2047){case 0:{if(a!=0.0){a=+zh(a*18446744073709551616.0,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=(f&2047)+-1022;c[h>>2]=d;c[h+4>>2]=e&-2146435073|1071644672;a=+g[h>>3]}}return +a}function Ah(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=5;else{d=f;while(1){if(!(a[b>>0]|0)){b=d;break a}b=b+1|0;d=b;if(!(d&3)){e=5;break}}}while(0);if((e|0)==5){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function Bh(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);j=l;k=e&255;a[j>>0]=k;g=b+16|0;h=c[g>>2]|0;if(!h)if(!(xh(b)|0)){h=c[g>>2]|0;i=4}else f=-1;else i=4;do if((i|0)==4){i=b+20|0;g=c[i>>2]|0;if(g>>>0>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[i>>2]=g+1;a[g>>0]=k;break}if((ic[c[b+36>>2]&7](b,j,1)|0)==1)f=d[j>>0]|0;else f=-1}while(0);cc=l;return f|0}function Ch(a){a=a|0;var b=0,c=0;b=(Ah(a)|0)+1|0;c=Jh(b)|0;if(!c)a=0;else a=pj(c|0,a|0,b|0)|0;return a|0}function Dh(){ca(55280);return 55288}function Eh(){ja(55280);return}function Fh(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=Gh(a)|0;break}d=(ih(a)|0)==0;b=Gh(a)|0;if(!d)jh(a)}else{if(!(c[10235]|0))b=0;else b=Fh(c[10235]|0)|0;a=c[(Dh()|0)>>2]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=ih(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=Gh(a)|0|b;if(d|0)jh(a);a=c[a+56>>2]|0}while((a|0)!=0);Eh()}while(0);return b|0}function Gh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;h=a+28|0;if((c[b>>2]|0)>>>0>(c[h>>2]|0)>>>0?(ic[c[a+36>>2]&7](a,0,0)|0,(c[b>>2]|0)==0):0)a=-1;else{d=a+4|0;e=c[d>>2]|0;f=a+8|0;g=c[f>>2]|0;if(e>>>0>>0){g=e-g|0;jc[c[a+40>>2]&1](a,g,((g|0)<0)<<31>>31,1)|0;v()|0}c[a+16>>2]=0;c[h>>2]=0;c[b>>2]=0;c[f>>2]=0;c[d>>2]=0;a=0}return a|0}function Hh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);f=e;c[f>>2]=d;d=dh(a,b,f)|0;cc=e;return d|0}function Ih(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((c[d+76>>2]|0)>=0?(ih(d)|0)!=0:0){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(i=d+20|0,j=c[i>>2]|0,j>>>0<(c[d+16>>2]|0)>>>0):0){c[i>>2]=j+1;a[j>>0]=f}else e=Bh(d,b)|0;jh(d)}else k=3;do if((k|0)==3){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(g=d+20|0,h=c[g>>2]|0,h>>>0<(c[d+16>>2]|0)>>>0):0){c[g>>2]=h+1;a[h>>0]=f;break}e=Bh(d,b)|0}while(0);return e|0}function Jh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0;x=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);n=x;do if(a>>>0<245){k=a>>>0<11?16:a+11&-8;a=k>>>3;m=c[13823]|0;d=m>>>a;if(d&3|0){b=(d&1^1)+a|0;a=55332+(b<<1<<2)|0;d=a+8|0;e=c[d>>2]|0;f=e+8|0;g=c[f>>2]|0;if((g|0)==(a|0))c[13823]=m&~(1<>2]=a;c[d>>2]=g}v=b<<3;c[e+4>>2]=v|3;v=e+v+4|0;c[v>>2]=c[v>>2]|1;v=f;cc=x;return v|0}l=c[13825]|0;if(k>>>0>l>>>0){if(d|0){b=2<>>12&16;b=b>>>i;d=b>>>5&8;b=b>>>d;g=b>>>2&4;b=b>>>g;a=b>>>1&2;b=b>>>a;e=b>>>1&1;e=(d|i|g|a|e)+(b>>>e)|0;b=55332+(e<<1<<2)|0;a=b+8|0;g=c[a>>2]|0;i=g+8|0;d=c[i>>2]|0;if((d|0)==(b|0)){a=m&~(1<>2]=b;c[a>>2]=d;a=m}v=e<<3;h=v-k|0;c[g+4>>2]=k|3;f=g+k|0;c[f+4>>2]=h|1;c[g+v>>2]=h;if(l|0){e=c[13828]|0;b=l>>>3;d=55332+(b<<1<<2)|0;b=1<>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[13825]=h;c[13828]=f;v=i;cc=x;return v|0}g=c[13824]|0;if(g){d=(g&0-g)+-1|0;f=d>>>12&16;d=d>>>f;e=d>>>5&8;d=d>>>e;h=d>>>2&4;d=d>>>h;i=d>>>1&2;d=d>>>i;j=d>>>1&1;j=c[55596+((e|f|h|i|j)+(d>>>j)<<2)>>2]|0;d=j;i=j;j=(c[j+4>>2]&-8)-k|0;while(1){a=c[d+16>>2]|0;if(!a){a=c[d+20>>2]|0;if(!a)break}h=(c[a+4>>2]&-8)-k|0;f=h>>>0>>0;d=a;i=f?a:i;j=f?h:j}h=i+k|0;if(h>>>0>i>>>0){f=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){d=0;break}}while(1){e=b+20|0;d=c[e>>2]|0;if(!d){e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}else{b=d;a=e}}c[a>>2]=0;d=b}else{d=c[i+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);do if(f|0){b=c[i+28>>2]|0;a=55596+(b<<2)|0;if((i|0)==(c[a>>2]|0)){c[a>>2]=d;if(!d){c[13824]=g&~(1<>2]|0)==(i|0)?v:f+20|0)>>2]=d;if(!d)break}c[d+24>>2]=f;b=c[i+16>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}b=c[i+20>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}while(0);if(j>>>0<16){v=j+k|0;c[i+4>>2]=v|3;v=i+v+4|0;c[v>>2]=c[v>>2]|1}else{c[i+4>>2]=k|3;c[h+4>>2]=j|1;c[h+j>>2]=j;if(l|0){e=c[13828]|0;b=l>>>3;d=55332+(b<<1<<2)|0;b=1<>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[13825]=j;c[13828]=h}v=i+8|0;cc=x;return v|0}else m=k}else m=k}else m=k}else if(a>>>0<=4294967231){a=a+11|0;k=a&-8;e=c[13824]|0;if(e){f=0-k|0;a=a>>>8;if(a)if(k>>>0>16777215)j=31;else{m=(a+1048320|0)>>>16&8;q=a<>>16&4;q=q<>>16&2;j=14-(i|m|j)+(q<>>15)|0;j=k>>>(j+7|0)&1|j<<1}else j=0;d=c[55596+(j<<2)>>2]|0;a:do if(!d){d=0;a=0;q=61}else{a=0;i=k<<((j|0)==31?0:25-(j>>>1)|0);g=0;while(1){h=(c[d+4>>2]&-8)-k|0;if(h>>>0>>0)if(!h){a=d;f=0;q=65;break a}else{a=d;f=h}q=c[d+20>>2]|0;d=c[d+16+(i>>>31<<2)>>2]|0;g=(q|0)==0|(q|0)==(d|0)?g:q;if(!d){d=g;q=61;break}else i=i<<1}}while(0);if((q|0)==61){if((d|0)==0&(a|0)==0){a=2<>>12&16;m=m>>>h;g=m>>>5&8;m=m>>>g;i=m>>>2&4;m=m>>>i;j=m>>>1&2;m=m>>>j;d=m>>>1&1;a=0;d=c[55596+((g|h|i|j|d)+(m>>>d)<<2)>>2]|0}if(!d){i=a;h=f}else q=65}if((q|0)==65){g=d;while(1){m=(c[g+4>>2]&-8)-k|0;d=m>>>0>>0;f=d?m:f;a=d?g:a;d=c[g+16>>2]|0;if(!d)d=c[g+20>>2]|0;if(!d){i=a;h=f;break}else g=d}}if(((i|0)!=0?h>>>0<((c[13825]|0)-k|0)>>>0:0)?(l=i+k|0,l>>>0>i>>>0):0){g=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){b=0;break}}while(1){f=b+20|0;d=c[f>>2]|0;if(!d){f=b+16|0;d=c[f>>2]|0;if(!d)break;else{b=d;a=f}}else{b=d;a=f}}c[a>>2]=0}else{v=c[i+8>>2]|0;c[v+12>>2]=b;c[b+8>>2]=v}while(0);do if(g){a=c[i+28>>2]|0;d=55596+(a<<2)|0;if((i|0)==(c[d>>2]|0)){c[d>>2]=b;if(!b){e=e&~(1<>2]|0)==(i|0)?v:g+20|0)>>2]=b;if(!b)break}c[b+24>>2]=g;a=c[i+16>>2]|0;if(a|0){c[b+16>>2]=a;c[a+24>>2]=b}a=c[i+20>>2]|0;if(a){c[b+20>>2]=a;c[a+24>>2]=b}}while(0);b:do if(h>>>0<16){v=h+k|0;c[i+4>>2]=v|3;v=i+v+4|0;c[v>>2]=c[v>>2]|1}else{c[i+4>>2]=k|3;c[l+4>>2]=h|1;c[l+h>>2]=h;b=h>>>3;if(h>>>0<256){d=55332+(b<<1<<2)|0;a=c[13823]|0;b=1<>2]|0}c[a>>2]=l;c[b+12>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;break}b=h>>>8;if(b)if(h>>>0>16777215)d=31;else{u=(b+1048320|0)>>>16&8;v=b<>>16&4;v=v<>>16&2;d=14-(t|u|d)+(v<>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;b=55596+(d<<2)|0;c[l+28>>2]=d;a=l+16|0;c[a+4>>2]=0;c[a>>2]=0;a=1<>2]=l;c[l+24>>2]=b;c[l+12>>2]=l;c[l+8>>2]=l;break}b=c[b>>2]|0;c:do if((c[b+4>>2]&-8|0)!=(h|0)){e=h<<((d|0)==31?0:25-(d>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(h|0)){b=a;break c}else{e=e<<1;b=a}}c[d>>2]=l;c[l+24>>2]=b;c[l+12>>2]=l;c[l+8>>2]=l;break b}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=l;c[u>>2]=l;c[l+8>>2]=v;c[l+12>>2]=b;c[l+24>>2]=0}while(0);v=i+8|0;cc=x;return v|0}else m=k}else m=k}else m=-1;while(0);d=c[13825]|0;if(d>>>0>=m>>>0){b=d-m|0;a=c[13828]|0;if(b>>>0>15){v=a+m|0;c[13828]=v;c[13825]=b;c[v+4>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=m|3}else{c[13825]=0;c[13828]=0;c[a+4>>2]=d|3;v=a+d+4|0;c[v>>2]=c[v>>2]|1}v=a+8|0;cc=x;return v|0}h=c[13826]|0;if(h>>>0>m>>>0){t=h-m|0;c[13826]=t;v=c[13829]|0;u=v+m|0;c[13829]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;cc=x;return v|0}if(!(c[13941]|0)){c[13943]=4096;c[13942]=4096;c[13944]=-1;c[13945]=-1;c[13946]=0;c[13934]=0;c[13941]=n&-16^1431655768;a=4096}else a=c[13943]|0;i=m+48|0;j=m+47|0;g=a+j|0;f=0-a|0;k=g&f;if(k>>>0<=m>>>0){v=0;cc=x;return v|0}a=c[13933]|0;if(a|0?(l=c[13931]|0,n=l+k|0,n>>>0<=l>>>0|n>>>0>a>>>0):0){v=0;cc=x;return v|0}d:do if(!(c[13934]&4)){d=c[13829]|0;e:do if(d){e=55740;while(1){n=c[e>>2]|0;if(n>>>0<=d>>>0?(n+(c[e+4>>2]|0)|0)>>>0>d>>>0:0)break;a=c[e+8>>2]|0;if(!a){q=128;break e}else e=a}b=g-h&f;if(b>>>0<2147483647){a=sj(b|0)|0;if((a|0)==((c[e>>2]|0)+(c[e+4>>2]|0)|0)){if((a|0)!=(-1|0)){h=b;g=a;q=145;break d}}else{e=a;q=136}}else b=0}else q=128;while(0);do if((q|0)==128){d=sj(0)|0;if((d|0)!=(-1|0)?(b=d,o=c[13942]|0,p=o+-1|0,b=((p&b|0)==0?0:(p+b&0-o)-b|0)+k|0,o=c[13931]|0,p=b+o|0,b>>>0>m>>>0&b>>>0<2147483647):0){n=c[13933]|0;if(n|0?p>>>0<=o>>>0|p>>>0>n>>>0:0){b=0;break}a=sj(b|0)|0;if((a|0)==(d|0)){h=b;g=d;q=145;break d}else{e=a;q=136}}else b=0}while(0);do if((q|0)==136){d=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(e|0)!=(-1|0))))if((e|0)==(-1|0)){b=0;break}else{h=b;g=e;q=145;break d}a=c[13943]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=b;g=e;q=145;break d}if((sj(a|0)|0)==(-1|0)){sj(d|0)|0;b=0;break}else{h=a+b|0;g=e;q=145;break d}}while(0);c[13934]=c[13934]|4;q=143}else{b=0;q=143}while(0);if(((q|0)==143?k>>>0<2147483647:0)?(t=sj(k|0)|0,p=sj(0)|0,r=p-t|0,s=r>>>0>(m+40|0)>>>0,!((t|0)==(-1|0)|s^1|t>>>0

>>0&((t|0)!=(-1|0)&(p|0)!=(-1|0))^1)):0){h=s?r:b;g=t;q=145}if((q|0)==145){b=(c[13931]|0)+h|0;c[13931]=b;if(b>>>0>(c[13932]|0)>>>0)c[13932]=b;j=c[13829]|0;f:do if(j){b=55740;while(1){a=c[b>>2]|0;d=c[b+4>>2]|0;if((g|0)==(a+d|0)){q=154;break}e=c[b+8>>2]|0;if(!e)break;else b=e}if(((q|0)==154?(u=b+4|0,(c[b+12>>2]&8|0)==0):0)?g>>>0>j>>>0&a>>>0<=j>>>0:0){c[u>>2]=d+h;v=(c[13826]|0)+h|0;t=j+8|0;t=(t&7|0)==0?0:0-t&7;u=j+t|0;t=v-t|0;c[13829]=u;c[13826]=t;c[u+4>>2]=t|1;c[j+v+4>>2]=40;c[13830]=c[13945];break}if(g>>>0<(c[13827]|0)>>>0)c[13827]=g;d=g+h|0;b=55740;while(1){if((c[b>>2]|0)==(d|0)){q=162;break}a=c[b+8>>2]|0;if(!a)break;else b=a}if((q|0)==162?(c[b+12>>2]&8|0)==0:0){c[b>>2]=g;l=b+4|0;c[l>>2]=(c[l>>2]|0)+h;l=g+8|0;l=g+((l&7|0)==0?0:0-l&7)|0;b=d+8|0;b=d+((b&7|0)==0?0:0-b&7)|0;k=l+m|0;i=b-l-m|0;c[l+4>>2]=m|3;g:do if((j|0)==(b|0)){v=(c[13826]|0)+i|0;c[13826]=v;c[13829]=k;c[k+4>>2]=v|1}else{if((c[13828]|0)==(b|0)){v=(c[13825]|0)+i|0;c[13825]=v;c[13828]=k;c[k+4>>2]=v|1;c[k+v>>2]=v;break}a=c[b+4>>2]|0;if((a&3|0)==1){h=a&-8;e=a>>>3;h:do if(a>>>0<256){a=c[b+8>>2]|0;d=c[b+12>>2]|0;if((d|0)==(a|0)){c[13823]=c[13823]&~(1<>2]=d;c[d+8>>2]=a;break}}else{g=c[b+24>>2]|0;a=c[b+12>>2]|0;do if((a|0)==(b|0)){d=b+16|0;e=d+4|0;a=c[e>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}}else d=e;while(1){f=a+20|0;e=c[f>>2]|0;if(!e){f=a+16|0;e=c[f>>2]|0;if(!e)break;else{a=e;d=f}}else{a=e;d=f}}c[d>>2]=0}else{v=c[b+8>>2]|0;c[v+12>>2]=a;c[a+8>>2]=v}while(0);if(!g)break;d=c[b+28>>2]|0;e=55596+(d<<2)|0;do if((c[e>>2]|0)!=(b|0)){v=g+16|0;c[((c[v>>2]|0)==(b|0)?v:g+20|0)>>2]=a;if(!a)break h}else{c[e>>2]=a;if(a|0)break;c[13824]=c[13824]&~(1<>2]=g;d=b+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(!d)break;c[a+20>>2]=d;c[d+24>>2]=a}while(0);b=b+h|0;f=h+i|0}else f=i;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[k+4>>2]=f|1;c[k+f>>2]=f;b=f>>>3;if(f>>>0<256){d=55332+(b<<1<<2)|0;a=c[13823]|0;b=1<>2]|0}c[a>>2]=k;c[b+12>>2]=k;c[k+8>>2]=b;c[k+12>>2]=d;break}b=f>>>8;do if(!b)e=0;else{if(f>>>0>16777215){e=31;break}u=(b+1048320|0)>>>16&8;v=b<>>16&4;v=v<>>16&2;e=14-(t|u|e)+(v<>>15)|0;e=f>>>(e+7|0)&1|e<<1}while(0);b=55596+(e<<2)|0;c[k+28>>2]=e;a=k+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[13824]|0;d=1<>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break}b=c[b>>2]|0;i:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(f|0)){b=a;break i}else{e=e<<1;b=a}}c[d>>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break g}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=k;c[u>>2]=k;c[k+8>>2]=v;c[k+12>>2]=b;c[k+24>>2]=0}while(0);v=l+8|0;cc=x;return v|0}b=55740;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(v=a+(c[b+4>>2]|0)|0,v>>>0>j>>>0):0)break;b=c[b+8>>2]|0}f=v+-47|0;a=f+8|0;a=f+((a&7|0)==0?0:0-a&7)|0;f=j+16|0;a=a>>>0>>0?j:a;b=a+8|0;d=h+-40|0;t=g+8|0;t=(t&7|0)==0?0:0-t&7;u=g+t|0;t=d-t|0;c[13829]=u;c[13826]=t;c[u+4>>2]=t|1;c[g+d+4>>2]=40;c[13830]=c[13945];d=a+4|0;c[d>>2]=27;c[b>>2]=c[13935];c[b+4>>2]=c[13936];c[b+8>>2]=c[13937];c[b+12>>2]=c[13938];c[13935]=g;c[13936]=h;c[13938]=0;c[13937]=b;b=a+24|0;do{u=b;b=b+4|0;c[b>>2]=7}while((u+8|0)>>>0>>0);if((a|0)!=(j|0)){g=a-j|0;c[d>>2]=c[d>>2]&-2;c[j+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){d=55332+(b<<1<<2)|0;a=c[13823]|0;b=1<>2]|0}c[a>>2]=j;c[b+12>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{u=(b+1048320|0)>>>16&8;v=b<>>16&4;v=v<>>16&2;e=14-(t|u|e)+(v<>>15)|0;e=g>>>(e+7|0)&1|e<<1}else e=0;d=55596+(e<<2)|0;c[j+28>>2]=e;c[j+20>>2]=0;c[f>>2]=0;b=c[13824]|0;a=1<>2]=j;c[j+24>>2]=d;c[j+12>>2]=j;c[j+8>>2]=j;break}b=c[d>>2]|0;j:do if((c[b+4>>2]&-8|0)!=(g|0)){e=g<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(g|0)){b=a;break j}else{e=e<<1;b=a}}c[d>>2]=j;c[j+24>>2]=b;c[j+12>>2]=j;c[j+8>>2]=j;break f}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=j;c[u>>2]=j;c[j+8>>2]=v;c[j+12>>2]=b;c[j+24>>2]=0}}else{v=c[13827]|0;if((v|0)==0|g>>>0>>0)c[13827]=g;c[13935]=g;c[13936]=h;c[13938]=0;c[13832]=c[13941];c[13831]=-1;c[13836]=55332;c[13835]=55332;c[13838]=55340;c[13837]=55340;c[13840]=55348;c[13839]=55348;c[13842]=55356;c[13841]=55356;c[13844]=55364;c[13843]=55364;c[13846]=55372;c[13845]=55372;c[13848]=55380;c[13847]=55380;c[13850]=55388;c[13849]=55388;c[13852]=55396;c[13851]=55396;c[13854]=55404;c[13853]=55404;c[13856]=55412;c[13855]=55412;c[13858]=55420;c[13857]=55420;c[13860]=55428;c[13859]=55428;c[13862]=55436;c[13861]=55436;c[13864]=55444;c[13863]=55444;c[13866]=55452;c[13865]=55452;c[13868]=55460;c[13867]=55460;c[13870]=55468;c[13869]=55468;c[13872]=55476;c[13871]=55476;c[13874]=55484;c[13873]=55484;c[13876]=55492;c[13875]=55492;c[13878]=55500;c[13877]=55500;c[13880]=55508;c[13879]=55508;c[13882]=55516;c[13881]=55516;c[13884]=55524;c[13883]=55524;c[13886]=55532;c[13885]=55532;c[13888]=55540;c[13887]=55540;c[13890]=55548;c[13889]=55548;c[13892]=55556;c[13891]=55556;c[13894]=55564;c[13893]=55564;c[13896]=55572;c[13895]=55572;c[13898]=55580;c[13897]=55580;v=h+-40|0;t=g+8|0;t=(t&7|0)==0?0:0-t&7;u=g+t|0;t=v-t|0;c[13829]=u;c[13826]=t;c[u+4>>2]=t|1;c[g+v+4>>2]=40;c[13830]=c[13945]}while(0);b=c[13826]|0;if(b>>>0>m>>>0){t=b-m|0;c[13826]=t;v=c[13829]|0;u=v+m|0;c[13829]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;cc=x;return v|0}}c[(_g()|0)>>2]=12;v=0;cc=x;return v|0} -function rc(){Yd();Tg()}function sc(a){a=a|0;var b=0;b=cc;cc=cc+a|0;cc=cc+15&-16;if((cc|0)>=(dc|0))w(a|0);return b|0}function tc(){return cc|0}function uc(a){a=a|0;cc=a}function vc(a,b){a=a|0;b=b|0;cc=a;dc=b}function wc(){ab();return 0}function xc(a){a=a|0;var b=0;ma(584,592,608,0,48339,3,48342,0,48342,0,47614,48344,22);b=Qh(8)|0;c[b>>2]=2;c[b+4>>2]=0;oa(584,47623,3,1480,48347,3,b|0,0);b=Qh(8)|0;c[b>>2]=3;c[b+4>>2]=0;oa(584,47629,3,1492,48347,4,b|0,0);b=Qh(8)|0;c[b>>2]=23;c[b+4>>2]=0;oa(584,47636,2,1504,48352,4,b|0,0);b=Qh(8)|0;c[b>>2]=24;c[b+4>>2]=0;oa(584,47643,2,1504,48352,4,b|0,0);b=Qh(8)|0;c[b>>2]=5;c[b+4>>2]=0;a=Qh(8)|0;c[a>>2]=6;c[a+4>>2]=0;pa(584,47661,576,48356,1,b|0,576,48347,5,a|0);a=Qh(8)|0;c[a>>2]=7;c[a+4>>2]=0;b=Qh(8)|0;c[b>>2]=8;c[b+4>>2]=0;pa(584,47671,576,48356,1,a|0,576,48347,5,b|0);b=Qh(8)|0;c[b>>2]=9;c[b+4>>2]=0;a=Qh(8)|0;c[a>>2]=10;c[a+4>>2]=0;pa(584,47679,576,48356,1,b|0,576,48347,5,a|0);a=Qh(8)|0;c[a>>2]=11;c[a+4>>2]=0;b=Qh(8)|0;c[b>>2]=12;c[b+4>>2]=0;pa(584,47691,576,48356,1,a|0,576,48347,5,b|0);b=Qh(8)|0;c[b>>2]=13;c[b+4>>2]=0;a=Qh(8)|0;c[a>>2]=14;c[a+4>>2]=0;pa(584,47703,576,48356,1,b|0,576,48347,5,a|0);a=Qh(8)|0;c[a>>2]=15;c[a+4>>2]=0;pa(584,47707,576,48356,1,a|0,0,0,0,0);ma(664,680,696,584,48339,4,48339,5,48339,6,47718,48344,25);a=Qh(4)|0;c[a>>2]=26;oa(664,48360,2,1512,48352,16,a|0,0);na(584,48380,3,1520,48516,6,2);na(584,48390,3,1644,48516,7,6);return}function yc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);n=o+8|0;m=o;e=b+22908|0;l=b+4|0;if(a[e>>0]|0){f=c[l>>2]|0;if((a[55120]|0)==0?aj(55120)|0:0)c[13794]=Ga(1,1440)|0;Da(c[13794]|0,f|0,47731,m|0)}a[e>>0]=1;g=c[l>>2]|0;j=La(47737)|0;g=Ha(g|0,j|0)|0;Ea(j|0);j=Qc(g,47749)|0;Ea(g|0);c[n>>2]=47757;c[n+4>>2]=j?47766:47771;Ya(0,n|0);a[b+22764>>0]=j&1;j=d+11|0;g=a[j>>0]|0;h=g<<24>>24<0;f=h?c[d>>2]|0:d;k=d+4|0;g=h?c[k>>2]|0:g&255;h=f+g|0;e=h;i=f;a:do if((g|0)<4)g=h;else{while(1){g=g+-3|0;if(!g){g=h;break a}f=qh(f,46,g)|0;if(!f){g=h;break a}if(!(bh(f,47777,4)|0))break;f=f+1|0;g=e-f|0;if((g|0)<4){g=h;break a}}g=f;e=f}while(0);a[b+22909>>0]=(e-i|0)!=-1&(g|0)!=(h|0)&1;h=Fa(47782)|0;e=a[j>>0]|0;if(e<<24>>24<0){f=c[k>>2]|0;g=Jh(f+4|0)|0;c[g>>2]=f;e=c[d>>2]|0}else{f=e&255;g=Jh(f+4|0)|0;c[g>>2]=f;e=d}pj(g+4|0,e|0,f|0)|0;c[n>>2]=g;c[m>>2]=Ka(h|0,1,1448,n|0)|0;Ea(h|0);Oc(m,47792,47803);Pc(n,b,47629);k=c[m>>2]|0;d=La(47815)|0;Pa(k|0,d|0,c[n>>2]|0);Ea(d|0);Ea(c[n>>2]|0);c[b+22900>>2]=Ua()|0;b=c[l>>2]|0;n=La(47825)|0;Pa(b|0,n|0,c[m>>2]|0);Ea(n|0);Ea(c[m>>2]|0);cc=o;return}function zc(b,e){b=b|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0;A=cc;cc=cc+64|0;if((cc|0)>=(dc|0))w(64);k=A+8|0;u=A;z=A+48|0;s=A+32|0;t=A+16|0;f=c[e>>2]|0;y=La(47953)|0;c[s>>2]=Ha(f|0,y|0)|0;Ea(y|0);Tc(z,s);Ea(c[s>>2]|0);y=z+11|0;f=a[y>>0]|0;j=z+4|0;e=b+22904|0;c[e>>2]=(c[e>>2]|0)+(f<<24>>24<0?c[j>>2]|0:f&255);f=Ua()|0;h=b+22900|0;i=c[h>>2]|0;if((f|0)>(i|0)){g[b+22920>>3]=+(c[e>>2]|0)*1.0e3/+(f-i|0);c[h>>2]=f;c[e>>2]=0}a:do if(!(a[b+22909>>0]|0))switch(a[(gi(z,0)|0)>>0]|0){case 1:{bi(t,z,1,-1,z);c[s>>2]=c[t>>2];c[s+4>>2]=c[t+4>>2];c[s+8>>2]=c[t+8>>2];q=s+12|0;c[q>>2]=0;x=s+11|0;v=(a[x>>0]|0)<0?c[s>>2]|0:s;t=a[v+3>>0]|0;r=a[v+2>>0]|0;u=a[v+1>>0]|0;v=a[v>>0]|0;c[q>>2]=4;Uc(b,(r&255)<<8|t&255|(u&255)<<16|(v&255)<<24,s);if((a[x>>0]|0)<0)Rh(c[s>>2]|0);break a}case 2:{bi(t,z,1,-1,z);c[s>>2]=c[t>>2];c[s+4>>2]=c[t+4>>2];c[s+8>>2]=c[t+8>>2];q=s+12|0;c[q>>2]=0;x=s+11|0;v=(a[x>>0]|0)<0?c[s>>2]|0:s;t=a[v+3>>0]|0;r=a[v+2>>0]|0;u=a[v+1>>0]|0;v=a[v>>0]|0;c[q>>2]=4;Vc(b,(r&255)<<8|t&255|(u&255)<<16|(v&255)<<24,s);if((a[x>>0]|0)<0)Rh(c[s>>2]|0);break a}default:{b=a[(gi(z,0)|0)>>0]|0;c[k>>2]=47974;c[k+4>>2]=b;Ya(1,k|0);break a}}else{x=b+12|0;p=a[y>>0]|0;r=p<<24>>24<0;hi(x,r?c[z>>2]|0:z,r?c[j>>2]|0:p&255)|0;j=b+8|0;p=x+11|0;if(!(a[j>>0]|0)){e=a[p>>0]|0;f=e<<24>>24<0;if(f)h=c[b+16>>2]|0;else h=e&255;i=b+24|0;if((h-(c[i>>2]|0)|0)<=12)break;a[j>>0]=1;c[i>>2]=13;if(f){e=c[b+16>>2]|0;f=c[x>>2]|0}else{e=e&255;f=x}b=e+-13|0;qj(f|0,f+13|0,b|0)|0;di(x,b,0);c[i>>2]=0;break}l=b+16|0;q=b+24|0;m=t+11|0;n=t+4|0;o=s+11|0;while(1){i=a[p>>0]|0;j=i<<24>>24<0;if(j)e=c[l>>2]|0;else e=i&255;r=c[q>>2]|0;if((e-r|0)<=3)break;if(j)e=c[x>>2]|0;else e=x;h=r+1|0;k=a[e+r>>0]|0;c[q>>2]=h;h=e+h+3+-1|0;e=a[h>>0]|0;B=a[h+-1>>0]|0;h=a[h+-2>>0]|0;f=r+4|0;c[q>>2]=f;h=(B&255)<<8|e&255|(h&255)<<16;if(j)e=c[l>>2]|0;else e=i&255;if((e-f|0)>>>0<(h+11|0)>>>0){v=24;break}if(j)e=c[x>>2]|0;else e=x;e=e+f+3+-1|0;e=d[e+-1>>0]<<8|d[e>>0]|d[e+-2>>0]<<16;B=r+11|0;c[q>>2]=B;c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;c[s+12>>2]=0;bi(t,x,B,h,x);B=a[m>>0]|0;r=B<<24>>24<0;B=r?c[n>>2]|0:B&255;c[q>>2]=(c[q>>2]|0)+B;hi(s,r?c[t>>2]|0:t,B)|0;if((a[m>>0]|0)<0)Rh(c[t>>2]|0);switch(k<<24>>24){case 8:{Uc(b,e,s);break}case 9:{Vc(b,e,s);break}default:{c[u>>2]=47958;c[u+4>>2]=k&255;Ya(0,u|0)}}c[q>>2]=(c[q>>2]|0)+4;if((a[o>>0]|0)<0)Rh(c[s>>2]|0)}if((v|0)==24)c[q>>2]=r;if(j){e=c[l>>2]|0;f=c[x>>2]|0}else{e=i&255;f=x}B=e-r|0;qj(f|0,f+r|0,B|0)|0;di(x,B,0);c[q>>2]=0}while(0);if((a[y>>0]|0)>=0){cc=A;return}Rh(c[z>>2]|0);cc=A;return}function Ac(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);h=j;g=Fa(48277)|0;f=b+22892|0;c[h>>2]=c[f>>2];Ea(Ba(g|0,1,1476,h|0)|0);Ea(g|0);g=b+22864|0;ld(g);kd(g);h=c[b+22868>>2]|0;i=b+22872|0;d=c[i>>2]|0;if((d|0)!=(h|0))c[i>>2]=d+(~((d+-4-h|0)>>>2)<<2);md(g);c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;if((a[b+22764>>0]|0)==0?(e=c[b+22736>>2]|0,e|0):0)Kh(e);c[f>>2]=0;a[b+22896>>0]=1;a[b+22888>>0]=0;di(b+12|0,0,0);c[b+24>>2]=0;a[b+8>>0]=0;cc=j;return}function Bc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);g=o+4|0;i=o;j=b+22884|0;a:do if(c[j>>2]|0){k=b+22868|0;l=b+22880|0;m=b+4|0;n=b+22916|0;h=b+22728|0;f=0;d=c[l>>2]|0;while(1){p=(d>>>0)/204|0;e=c[(c[k>>2]|0)+(p<<2)>>2]|0;d=d-(p*204|0)|0;if(f?(c[g>>2]=c[e+(d*20|0)>>2],p=bd(c[m>>2]|0,48268,g)|0,p=((c[n>>2]|0)*1e3|0)+p|0,c[i>>2]=p,(p|0)>0):0)break;ad(h,e+(d*20|0)+4|0);d=c[l>>2]|0;e=(d>>>0)/204|0;e=(c[(c[k>>2]|0)+(e<<2)>>2]|0)+((d-(e*204|0)|0)*20|0)+4|0;if((a[e+11>>0]|0)<0){Rh(c[e>>2]|0);d=c[l>>2]|0}e=(c[j>>2]|0)+-1|0;c[j>>2]=e;d=d+1|0;c[l>>2]=d;if(d>>>0>407){Rh(c[c[k>>2]>>2]|0);c[k>>2]=(c[k>>2]|0)+4;d=(c[l>>2]|0)+-204|0;c[l>>2]=d;e=c[j>>2]|0}if(!e)break a;else f=1}a[b+22888>>0]=1;c[b+22892>>2]=cd(c[m>>2]|0,48252,i)|0;cc=o;return}while(0);a[b+22888>>0]=0;cc=o;return}function Cc(a,b){a=a|0;b=b|0;var e=0,f=0;e=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);f=e;c[f>>2]=d[b+22908>>0];c[a>>2]=Qa(1328,f|0)|0;cc=e;return}function Dc(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0;e=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);g=e;f=+Aa(c[d>>2]|0,1328,g|0);Oa(c[g>>2]|0);a[b+22908>>0]=f!=0.0&1;cc=e;return}function Ec(a,b){a=a|0;b=b|0;var e=0,f=0;e=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);f=e;c[f>>2]=d[b+22909>>0];c[a>>2]=Qa(1328,f|0)|0;cc=e;return}function Fc(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0;e=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);g=e;f=+Aa(c[d>>2]|0,1328,g|0);Oa(c[g>>2]|0);a[b+22909>>0]=f!=0.0&1;cc=e;return}function Gc(a,b){a=a|0;b=b|0;var d=0,e=0;d=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);e=d;c[e>>2]=c[b+22912>>2];c[a>>2]=Qa(1376,e|0)|0;cc=d;return}function Hc(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);f=d;e=+Aa(c[b>>2]|0,1376,f|0);Oa(c[f>>2]|0);c[a+22912>>2]=~~e;cc=d;return}function Ic(a,b){a=a|0;b=b|0;var d=0,e=0;d=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);e=d;c[e>>2]=c[b+22916>>2];c[a>>2]=Qa(1376,e|0)|0;cc=d;return}function Jc(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);f=d;e=+Aa(c[b>>2]|0,1376,f|0);Oa(c[f>>2]|0);c[a+22916>>2]=~~e;cc=d;return}function Kc(a,b){a=a|0;b=b|0;var d=0,e=0;d=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);e=d;g[e>>3]=+g[b+22920>>3];c[a>>2]=Qa(1416,e|0)|0;cc=d;return}function Lc(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);f=d;e=+Aa(c[b>>2]|0,1416,f|0);Oa(c[f>>2]|0);g[a+22920>>3]=e;cc=d;return}function Mc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);e=d+4|0;f=d;c[e>>2]=Ma()|0;i=b+22868|0;h=b+22880|0;j=c[h>>2]|0;g=(j>>>0)/204|0;nd(e,48290,(c[(c[i>>2]|0)+(g<<2)>>2]|0)+((j-(g*204|0)|0)*20|0)|0);b=b+22884|0;h=(c[b>>2]|0)+-1+(c[h>>2]|0)|0;g=(h>>>0)/204|0;od(e,48296,(c[(c[i>>2]|0)+(g<<2)>>2]|0)+((h-(g*204|0)|0)*20|0)|0);c[f>>2]=c[b>>2];pd(e,48301,f);b=c[e>>2]|0;c[a>>2]=b;Ia(b|0);Ea(c[e>>2]|0);cc=d;return}function Nc(a){a=a|0;Ea(c[a>>2]|0);return}function Oc(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a>>2]|0;b=La(b|0)|0;d=La(d|0)|0;Pa(a|0,b|0,d|0);Ea(d|0);Ea(b|0);return}function Pc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;b=b+4|0;f=c[b>>2]|0;e=La(d|0)|0;d=Ha(f|0,e|0)|0;Ea(e|0);Sc(a,d,47929,b);Ea(d|0);return}function Qc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0.0;g=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);e=g;f=g+8|0;if((a[55128]|0)==0?aj(55128)|0:0)c[13795]=Ga(1,1444)|0;h=+Ca(c[13795]|0,b|0,d|0,f|0,e|0);Oa(c[f>>2]|0);cc=g;return h!=0.0|0}function Rc(a){a=a|0;Y(a|0)|0;Fi()}function Sc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0.0,k=0;i=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);g=i;h=i+8|0;if((a[55136]|0)==0?aj(55136)|0:0)c[13796]=Ga(2,1452)|0;k=c[13796]|0;Ia(c[f>>2]|0);c[g>>2]=c[f>>2];j=+Ca(k|0,d|0,e|0,h|0,g|0);h=c[h>>2]|0;c[b>>2]=~~j>>>0;Oa(h|0);cc=i;return}function Tc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0.0,j=0;h=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);e=h;i=+Aa(c[d>>2]|0,552,e|0);e=c[e>>2]|0;g=~~i>>>0;f=g+4|0;g=c[g>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;if(g>>>0>4294967279)Wh(b);if(g>>>0<11){a[b+11>>0]=g;if(!g){f=b;g=f+g|0;a[g>>0]=0;Oa(e|0);cc=h;return}else d=b}else{j=g+16&-16;d=Qh(j)|0;c[b>>2]=d;c[b+8>>2]=j|-2147483648;c[b+4>>2]=g}pj(d|0,f|0,g|0)|0;j=d;j=j+g|0;a[j>>0]=0;Oa(e|0);cc=h;return}function Uc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);i=j;h=e+12|0;f=c[h>>2]|0;d=a[((a[e+11>>0]|0)<0?c[e>>2]|0:e)+f+1+-1>>0]|0;c[h>>2]=f+1;d=d&255;h=d>>>4;f=b+22897|0;if(a[f>>0]|0){g=(d&1)+1|0;d=d>>>2;switch(d&3){case 1:{d=11025;break}case 2:{d=22050;break}case 3:{d=44100;break}default:d=d&3}switch(h&15){case 10:{Xc(b,c[b+22912>>2]<<10,d,g);break}case 11:{Xc(b,16e3,16e3,g);break}case 2:{Xc(b,(c[b+22912>>2]|0)*576|0,d,g);break}default:{}}if(a[f>>0]|0){cc=j;return}}g=b+28|0;if((h|0)!=2){cc=j;return}d=c[b+36>>2]|0;f=b+32|0;d=Yc(g,e,d+(c[f>>2]|0)|0,d+(c[g>>2]|0)|0)|0;if(!d){cc=j;return}h=(c[f>>2]|0)+d|0;e=(h|0)==(c[g>>2]|0);c[f>>2]=e?0:h;if(!e){cc=j;return}d=c[b+4>>2]|0;if((a[55120]|0)==0?aj(55120)|0:0)c[13794]=Ga(1,1440)|0;Da(c[13794]|0,d|0,48057,i|0);cc=j;return}function Vc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=cc;cc=cc+64|0;if((cc|0)>=(dc|0))w(64);q=r+40|0;m=r+32|0;l=r+24|0;k=r+16|0;j=r+8|0;o=r;n=r+48|0;p=e+12|0;f=c[p>>2]|0;g=((a[e+11>>0]|0)<0?c[e>>2]|0:e)+f|0;h=a[g+1>>0]|0;i=b+22896|0;if(a[i>>0]|0){g=a[g>>0]|0;f=g&15;switch(g&15){case 7:{c[j>>2]=48103;Ya(0,j|0);break}case 12:{c[k>>2]=48118;Ya(0,k|0);break}default:{c[l>>2]=48133;c[l+4>>2]=f;Ya(0,l|0);cc=r;return}}if(!(h<<24>>24==0&(g&-16)<<24>>24==16)){cc=r;return}$c(b+22728|0,e,f);a[i>>0]=0;c[m>>2]=48193;Ya(0,m|0);cc=r;return}if(h<<24>>24!=1){f=c[b+4>>2]|0;if((a[55120]|0)==0?aj(55120)|0:0)c[13794]=Ga(1,1440)|0;Da(c[13794]|0,f|0,48227,o|0);cc=r;return}if(!d){cc=r;return}c[p>>2]=f+5;f=b+22916|0;a:do if(c[f>>2]|0){g=b+22888|0;do if(!(a[g>>0]|0)){c[o>>2]=d;h=b+4|0;o=bd(c[h>>2]|0,48268,o)|0;o=((c[f>>2]|0)*1e3|0)+o|0;c[n>>2]=o;if((o|0)>0){a[g>>0]=1;c[b+22892>>2]=cd(c[h>>2]|0,48252,n)|0;break}else break a}while(0);j=b+22872|0;g=c[j>>2]|0;k=b+22868|0;f=c[k>>2]|0;o=g-f|0;i=b+22880|0;l=b+22884|0;h=(c[l>>2]|0)+(c[i>>2]|0)|0;if((((o|0)==0?0:((o>>2)*204|0)+-1|0)|0)==(h|0)){dd(b+22864|0);h=(c[i>>2]|0)+(c[l>>2]|0)|0;g=c[j>>2]|0;f=c[k>>2]|0}if((g|0)==(f|0))f=0;else{b=(h>>>0)/204|0;f=(c[f+(b<<2)>>2]|0)+((h-(b*204|0)|0)*20|0)|0}c[f>>2]=d;b=f+4|0;c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[f+16>>2]=c[p>>2];c[l>>2]=(c[l>>2]|0)+1;c[q>>2]=48209;c[q+4>>2]=d;Ya(0,q|0);cc=r;return}while(0);ad(b+22728|0,e);cc=r;return}function Wc(b){b=b|0;if((a[b+11>>0]|0)>=0)return;Rh(c[b>>2]|0);return}function Xc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=cc;cc=cc+32|0;if((cc|0)>=(dc|0))w(32);h=i;a[b+22897>>0]=0;j=r(d<<1,f)|0;g=b+36|0;c[g>>2]=Jh(c[b+28>>2]|0)|0;c[h>>2]=48077;c[h+4>>2]=j;Ya(0,h|0);g=c[g>>2]>>1;b=c[b+4>>2]|0;if((a[55144]|0)==0?aj(55144)|0:0)c[13797]=Ga(5,16)|0;j=c[13797]|0;c[h>>2]=d;c[h+8>>2]=e;c[h+16>>2]=f;c[h+24>>2]=g;Da(j|0,b|0,48067,h|0);cc=i;return}function Yc(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=d+12|0;i=d+22668|0;j=i+11|0;h=a[j>>0]|0;if(h<<24>>24<0)n=c[d+22672>>2]|0;else n=h&255;h=e+11|0;q=a[h>>0]|0;k=e+4|0;l=e+12|0;di(i,n-(c[l>>2]|0)+(q<<24>>24<0?c[k>>2]|0:q&255)|0,0);if((a[j>>0]|0)<0)m=c[i>>2]|0;else m=i;h=a[h>>0]|0;if(h<<24>>24<0){h=c[l>>2]|0;i=c[k>>2]|0;j=h;h=(c[e>>2]|0)+h|0}else{q=c[l>>2]|0;i=h&255;j=q;h=e+q|0}pj(m+n|0,h|0,i-j|0)|0;if((Zc(s)|0)==-1){s=0;return s|0}o=d+13448|0;p=d+13450|0;q=d+13452|0;n=d+18060|0;h=0;while(1){i=b[o>>1]|0;d=b[p>>1]|0;j=d&65535;h=(r((i&65535)<<1,j)|0)+h|0;e=j+-1|0;do if(d<<16>>16)if(i<<16>>16==2){m=j<<2;j=n;k=q;l=f;i=e;while(1){d=c[k>>2]|0;d=(d|0)>268431359?32767:(d|0)<-268439552?-32768:d+4096>>13;a[l>>0]=d;a[l+1>>0]=d>>>8;d=c[j>>2]|0;d=(d|0)>268431359?32767:(d|0)<-268439552?-32768:d+4096>>13;a[l+2>>0]=d;a[l+3>>0]=d>>>8;if(!i)break;else{j=j+4|0;k=k+4|0;l=l+4|0;i=i+-1|0}}f=f+m|0;break}else{l=j<<1;j=q;k=f;i=e;while(1){d=c[j>>2]|0;d=(d|0)>268431359?32767:(d|0)<-268439552?-32768:d+4096>>13;a[k>>0]=d;a[k+1>>0]=d>>>8;if(!i)break;else{j=j+4|0;k=k+2|0;i=i+-1|0}}f=f+l|0;break}while(0);if(f>>>0>=g>>>0){f=22;break}if((Zc(s)|0)==-1){f=22;break}}if((f|0)==22)return h|0;return 0}function Zc(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=cc;cc=cc+272|0;if((cc|0)>=(dc|0))w(272);t=u+256|0;s=u;k=u+248|0;l=u+244|0;q=d+22656|0;n=q+11|0;if((a[n>>0]|0)<0)e=c[q>>2]|0;else e=q;r=d+22668|0;i=e+(c[r>>2]|0)|0;j=_c(d,i)|0;if((j|0)==-1){d=-1;cc=u;return d|0}f=c[r>>2]|0;g=f+j|0;c[r>>2]=g;e=a[n>>0]|0;if(e<<24>>24<0)e=c[d+22660>>2]|0;else e=e&255;if((e|0)==(g|0)){c[r>>2]=f;d=-1;cc=u;return d|0}e=d+9328|0;if((c[e>>2]|0)==0?(p=Lh(1152,4)|0,c[e>>2]=p,(p|0)==0):0){c[d+60>>2]=49;g=d+92|0;e=d+68|0}else{e=d+68|0;f=(c[e>>2]|0)==0;g=d+92|0;h=c[g>>2]|0;if(((h&16|0)!=0?(m=d+28|0,p=c[m+4>>2]|0,o=s,c[o>>2]=c[m>>2],c[o+4>>2]=p,o=d+88|0,p=b[o>>1]|0,c[t>>2]=c[s>>2],c[t+4>>2]=c[s+4>>2],p=yg(t,(h&4096|0)==0?(f?136:256):f?72:136,p)|0,b[o>>1]=p,p<<16>>16!=(b[d+90>>1]|0)):0)?(c[d+108>>2]&1|0)==0:0)c[d+60>>2]=513}p=d+64|0;o=(c[e>>2]|0)==0?1:2;f=d+28|0;Hg(f,o,c[g>>2]&4096,s,l,k)|0;c[g>>2]=c[g>>2]|c[k>>2];g=d+96|0;c[g>>2]=c[g>>2]|c[s+4>>2];g=vg(f)|0;f=i-g+j|0;if((a[n>>0]|0)<0)e=c[q>>2]|0;else e=q;tg(t,e+(c[r>>2]|0)|0);e=xg(t,32)|0;if((e&-1703936|0)==-1966080){if(!(e&65536))wg(t,16);j=xg(t,e>>>19&1|8)|0}else j=0;m=d+22672|0;k=m+11|0;e=a[k>>0]|0;if(e<<24>>24<0)e=c[d+22676>>2]|0;else e=e&255;l=d+22684|0;i=e-(c[l>>2]|0)|0;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;di(t,f,0);h=t+11|0;pj(((a[h>>0]|0)<0?c[t>>2]|0:t)+(c[t+12>>2]|0)|0,g|0,f|0)|0;g=a[h>>0]|0;f=g<<24>>24<0;hi(m,f?c[t>>2]|0:t,f?c[t+4>>2]|0:g&255)|0;if((a[h>>0]|0)<0)Rh(c[t>>2]|0);e=a[n>>0]|0;if(e<<24>>24<0){e=c[r>>2]|0;f=c[q>>2]|0;g=e;e=(c[d+22660>>2]|0)-e|0}else{n=c[r>>2]|0;f=q;g=n;e=(e&255)-n|0}qj(f|0,f+g|0,e|0)|0;di(q,e,0);c[r>>2]=0;e=a[k>>0]|0;h=e<<24>>24<0;if(h)e=c[d+22676>>2]|0;else e=e&255;g=e-(c[l>>2]|0)|0;e=c[s>>2]|0;if(i>>>0>>0|g>>>0>>0)e=-1;else{f=i-e|0;c[l>>2]=f;if(h)e=c[m>>2]|0;else e=m;tg(t,e+f|0);Ig(t,p,s,o)|0;Cg(d+9332|0,p);g=g-j-f+(c[l>>2]|0)|0;c[l>>2]=g;e=a[k>>0]|0;if(e<<24>>24<0){e=c[d+22676>>2]|0;f=c[m>>2]|0}else{e=e&255;f=m}e=e-g|0;qj(f|0,f+g|0,e|0)|0;di(m,e,0);c[l>>2]=0;e=0}d=e;cc=u;return d|0}function _c(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=a+64|0;tg(a+28|0,b);c[a+20>>2]=b;Og(h,a)|0;d=a+100|0;switch(c[h>>2]|0){case 1:{b=384;break}case 3:{b=(c[a+92>>2]&4096|0)==0?1152:576;f=3;break}default:{b=1152;f=3}}g=a+84|0;Pg(d,0,b,c[g>>2]|0);d=a+80|0;e=c[d>>2]|0;if(!e){b=a+16|0;e=c[b>>2]|0;if(!((e|0)!=0?!(e>>>0>64e4&(c[h>>2]|0)==3):0))f=8;do if((f|0)==8)if((Qg(a,h)|0)==-1){h=-1;return h|0}else{e=c[b>>2]|0;break}while(0);c[d>>2]=e;f=a+92|0;b=c[f>>2]|1024;c[f>>2]=b}else b=c[a+92>>2]|0;d=b>>>7&1;switch(c[h>>2]|0){case 1:{h=(((e*12|0)>>>0)/((c[g>>2]|0)>>>0)|0)+d<<2;return h|0}case 3:{b=(b&4096|0)==0?144:72;break}default:b=144}h=r(e,b)|0;h=((h>>>0)/((c[g>>2]|0)>>>0)|0)+d|0;return h|0}function $c(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);j=l;k=d+12|0;g=c[k>>2]|0;c[j>>2]=48241;c[j+4>>2]=e;Ya(0,j|0);switch(e|0){case 7:{j=d+11|0;c[b+32>>2]=a[((a[j>>0]|0)<0?c[d>>2]|0:d)+(c[k>>2]|0)+9>>0]&3;n=g+11|0;c[k>>2]=n;f=a[j>>0]|0;e=c[d>>2]|0;i=f<<24>>24<0?e:d;n=i+n+2+-1|0;m=a[n>>0]|0;n=a[n+-1>>0]|0;h=g+13|0;c[k>>2]=h;g=(n&255)<<8|m&255;if(g){nc[c[(c[b>>2]|0)+20>>2]&7](b,i+h|0,g);h=(c[k>>2]|0)+g|0;c[k>>2]=h;f=a[j>>0]|0;e=c[d>>2]|0}n=h+1|0;c[k>>2]=n;g=f<<24>>24<0?e:d;n=g+n+2+-1|0;e=a[n>>0]|0;n=a[n+-1>>0]|0;f=h+3|0;c[k>>2]=f;e=(n&255)<<8|e&255;if(!e){cc=l;return}nc[c[(c[b>>2]|0)+20>>2]&7](b,g+f|0,e);cc=l;return}case 12:{j=d+11|0;c[b+32>>2]=a[((a[j>>0]|0)<0?c[d>>2]|0:d)+(c[k>>2]|0)+27>>0]&3;i=g+31|0;c[k>>2]=i;n=(a[j>>0]|0)<0?c[d>>2]|0:d;i=n+i+2+-1|0;m=a[i>>0]|0;i=a[i+-1>>0]|0;h=g+33|0;c[k>>2]=h;m=(i&255)<<8|m&255;nc[c[(c[b>>2]|0)+20>>2]&7](b,n+h|0,m);m=(c[k>>2]|0)+m|0;h=m+3|0;c[k>>2]=h;n=(a[j>>0]|0)<0?c[d>>2]|0:d;h=n+h+2+-1|0;i=a[h>>0]|0;h=a[h+-1>>0]|0;m=m+5|0;c[k>>2]=m;i=(h&255)<<8|i&255;nc[c[(c[b>>2]|0)+20>>2]&7](b,n+m|0,i);i=(c[k>>2]|0)+i|0;m=i+3|0;c[k>>2]=m;j=(a[j>>0]|0)<0?c[d>>2]|0:d;m=j+m+2+-1|0;n=a[m>>0]|0;m=a[m+-1>>0]|0;d=i+5|0;c[k>>2]=d;nc[c[(c[b>>2]|0)+20>>2]&7](b,j+d|0,(m&255)<<8|n&255);cc=l;return}default:{cc=l;return}}}function ad(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=d+11|0;l=a[m>>0]|0;e=l<<24>>24<0;n=d+4|0;o=d+12|0;f=c[o>>2]|0;if(((e?c[n>>2]|0:l&255)-f|0)<=4)return;l=b+32|0;i=0;j=0;k=0;do{switch(c[l>>2]|0){case 3:{e=e?c[d>>2]|0:d;k=e+f+4+-1|0;g=4;h=k;i=a[k+-2>>0]|0;j=a[k+-3>>0]|0;k=a[k+-1>>0]|0;break}case 2:{e=e?c[d>>2]|0:d;k=e+f+3+-1|0;g=3;h=k;i=a[k+-2>>0]|0;k=a[k+-1>>0]|0;break}case 1:{e=e?c[d>>2]|0:d;k=e+f+2+-1|0;g=2;h=k;k=a[k+-1>>0]|0;break}default:{h=e?c[d>>2]|0:d;e=h;g=1;h=h+f+1+-1|0}}h=a[h>>0]|0;g=f+g|0;c[o>>2]=g;h=(i&255)<<16|(j&255)<<24|(k&255)<<8|h&255;nc[c[(c[b>>2]|0)+20>>2]&7](b,e+g|0,h);f=(c[o>>2]|0)+h|0;c[o>>2]=f;h=a[m>>0]|0;e=h<<24>>24<0}while(((e?c[n>>2]|0:h&255)-f|0)>4);return}function bd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0.0,j=0;h=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);f=h;g=h+8|0;if((a[55152]|0)==0?aj(55152)|0:0)c[13798]=Ga(2,1460)|0;j=c[13798]|0;c[f>>2]=c[e>>2];i=+Ca(j|0,b|0,d|0,g|0,f|0);Oa(c[g>>2]|0);cc=h;return ~~i|0}function cd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0.0,j=0;h=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);f=h;g=h+8|0;if((a[55160]|0)==0?aj(55160)|0:0)c[13799]=Ga(2,1468)|0;j=c[13799]|0;c[f>>2]=c[e>>2];i=+Ca(j|0,b|0,d|0,g|0,f|0);Oa(c[g>>2]|0);cc=h;return ~~i|0}function dd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=cc;cc=cc+32|0;if((cc|0)>=(dc|0))w(32);k=r+4|0;g=r;b=a+16|0;d=c[b>>2]|0;if(d>>>0>203){c[b>>2]=d+-204;o=a+4|0;m=c[o>>2]|0;q=c[m>>2]|0;m=m+4|0;c[o>>2]=m;p=a+8|0;b=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;e=l;do if((b|0)==(l|0)){i=m;d=c[a>>2]|0;f=d;if(m>>>0>d>>>0){e=((i-f>>2)+1|0)/-2|0;f=m+(e<<2)|0;d=b-i|0;if(!d)b=f;else{qj(f|0,m|0,d|0)|0;b=(c[o>>2]|0)+(e<<2)|0}a=f+(d>>2<<2)|0;c[p>>2]=a;c[o>>2]=b;b=a;break}f=e-f|0;f=(f|0)==0?1:f>>1;g=f>>>2;do if(f)if(f>>>0>1073741823){r=X(8)|0;Uh(r,47989);c[r>>2]=41300;aa(r|0,1248,16)}else{h=Qh(f<<2)|0;break}else h=0;while(0);k=h;e=h+(g<<2)|0;l=e;j=h+(f<<2)|0;if((m|0)==(b|0))b=l;else{f=((b+-4-i|0)>>>2)+1|0;d=m;while(1){c[e>>2]=c[d>>2];d=d+4|0;if((d|0)==(b|0))break;else e=e+4|0}b=h+(f+g<<2)|0;d=c[a>>2]|0}c[a>>2]=k;c[o>>2]=l;c[p>>2]=b;c[n>>2]=j;if(d){Rh(d);b=c[p>>2]|0}}while(0);c[b>>2]=q;c[p>>2]=(c[p>>2]|0)+4;cc=r;return}q=a+8|0;b=c[q>>2]|0;p=a+4|0;f=b-(c[p>>2]|0)>>2;o=a+12|0;d=c[o>>2]|0;e=d-(c[a>>2]|0)|0;if(f>>>0>=e>>2>>>0){b=(e|0)==0?1:e>>1;i=k+12|0;c[i>>2]=0;c[k+16>>2]=a+12;do if(b)if(b>>>0>1073741823){r=X(8)|0;Uh(r,47989);c[r>>2]=41300;aa(r|0,1248,16)}else{d=Qh(b<<2)|0;break}else d=0;while(0);c[k>>2]=d;n=d+(f<<2)|0;j=k+8|0;c[j>>2]=n;h=k+4|0;c[h>>2]=n;c[i>>2]=d+(b<<2);c[g>>2]=Qh(4080)|0;gd(k,g);b=c[q>>2]|0;d=c[p>>2]|0;if((b|0)!=(d|0)){do{b=b+-4|0;hd(k,b);d=c[p>>2]|0}while((b|0)!=(d|0));b=c[q>>2]|0}e=d;f=c[a>>2]|0;c[a>>2]=c[k>>2];c[k>>2]=f;c[p>>2]=c[h>>2];c[h>>2]=e;c[q>>2]=c[j>>2];c[j>>2]=b;a=c[o>>2]|0;c[o>>2]=c[i>>2];c[i>>2]=a;if((d|0)!=(b|0))c[j>>2]=b+(~((b+-4-e|0)>>>2)<<2);if(f|0)Rh(f);cc=r;return}if((d|0)!=(b|0)){c[k>>2]=Qh(4080)|0;ed(a,k);cc=r;return}c[k>>2]=Qh(4080)|0;fd(a,k);m=c[p>>2]|0;n=c[m>>2]|0;m=m+4|0;c[p>>2]=m;b=c[q>>2]|0;l=c[o>>2]|0;e=l;do if((b|0)==(l|0)){j=m;d=c[a>>2]|0;f=d;if(m>>>0>d>>>0){e=((j-f>>2)+1|0)/-2|0;f=m+(e<<2)|0;d=b-j|0;if(!d)b=f;else{qj(f|0,m|0,d|0)|0;b=(c[p>>2]|0)+(e<<2)|0}a=f+(d>>2<<2)|0;c[q>>2]=a;c[p>>2]=b;b=a;break}f=e-f|0;f=(f|0)==0?1:f>>1;g=f>>>2;do if(f)if(f>>>0>1073741823){r=X(8)|0;Uh(r,47989);c[r>>2]=41300;aa(r|0,1248,16)}else{h=Qh(f<<2)|0;break}else h=0;while(0);k=h;e=h+(g<<2)|0;l=e;i=h+(f<<2)|0;if((m|0)==(b|0))b=l;else{f=((b+-4-j|0)>>>2)+1|0;d=m;while(1){c[e>>2]=c[d>>2];d=d+4|0;if((d|0)==(b|0))break;else e=e+4|0}b=h+(f+g<<2)|0;d=c[a>>2]|0}c[a>>2]=k;c[p>>2]=l;c[q>>2]=b;c[o>>2]=i;if(d){Rh(d);b=c[q>>2]|0}}while(0);c[b>>2]=n;c[q>>2]=(c[q>>2]|0)+4;cc=r;return}function ed(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+8|0;d=c[q>>2]|0;n=a+12|0;p=c[n>>2]|0;g=p;do if((d|0)==(p|0)){p=a+4|0;o=c[p>>2]|0;j=o;e=c[a>>2]|0;f=e;if(o>>>0>e>>>0){f=((j-f>>2)+1|0)/-2|0;g=o+(f<<2)|0;e=d-j|0;if(!e)d=g;else{qj(g|0,o|0,e|0)|0;d=(c[p>>2]|0)+(f<<2)|0}o=g+(e>>2<<2)|0;c[q>>2]=o;c[p>>2]=d;d=o;break}g=g-f|0;g=(g|0)==0?1:g>>1;h=g>>>2;do if(g)if(g>>>0>1073741823){q=X(8)|0;Uh(q,47989);c[q>>2]=41300;aa(q|0,1248,16)}else{i=Qh(g<<2)|0;break}else i=0;while(0);l=i;f=i+(h<<2)|0;m=f;k=i+(g<<2)|0;if((o|0)==(d|0))d=m;else{g=h+((d+-4-j|0)>>>2)+1|0;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(d|0))break;else f=f+4|0}d=i+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=l;c[p>>2]=m;c[q>>2]=d;c[n>>2]=k;if(e){Rh(e);d=c[q>>2]|0}}while(0);c[d>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+4;return}function fd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+4|0;o=c[q>>2]|0;j=o;p=c[a>>2]|0;e=p;do if((o|0)==(p|0)){p=a+8|0;m=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;d=l;if(m>>>0>>0){e=m;g=((d-e>>2)+1|0)/2|0;f=m+(g<<2)|0;e=e-j|0;d=f+(0-(e>>2)<<2)|0;if(!e){d=f;e=f}else{qj(d|0,o|0,e|0)|0;e=(c[p>>2]|0)+(g<<2)|0}c[q>>2]=d;c[p>>2]=e;break}e=d-e|0;e=(e|0)==0?1:e>>1;f=(e+3|0)>>>2;do if(e)if(e>>>0>1073741823){q=X(8)|0;Uh(q,47989);c[q>>2]=41300;aa(q|0,1248,16)}else{h=Qh(e<<2)|0;break}else h=0;while(0);k=h;d=h+(f<<2)|0;l=d;i=h+(e<<2)|0;if((o|0)==(m|0)){f=l;e=o}else{g=((m+-4-j|0)>>>2)+f+1|0;f=d;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(m|0))break;else f=f+4|0}f=h+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=k;c[q>>2]=l;c[p>>2]=f;c[n>>2]=i;if(e){Rh(e);d=c[q>>2]|0}}else d=o;while(0);c[d+-4>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+-4;return}function gd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+8|0;d=c[q>>2]|0;n=a+12|0;p=c[n>>2]|0;g=p;do if((d|0)==(p|0)){p=a+4|0;o=c[p>>2]|0;j=o;e=c[a>>2]|0;f=e;if(o>>>0>e>>>0){f=((j-f>>2)+1|0)/-2|0;g=o+(f<<2)|0;e=d-j|0;if(!e)d=g;else{qj(g|0,o|0,e|0)|0;d=(c[p>>2]|0)+(f<<2)|0}o=g+(e>>2<<2)|0;c[q>>2]=o;c[p>>2]=d;d=o;break}g=g-f|0;g=(g|0)==0?1:g>>1;h=g>>>2;do if(g)if(g>>>0>1073741823){q=X(8)|0;Uh(q,47989);c[q>>2]=41300;aa(q|0,1248,16)}else{i=Qh(g<<2)|0;break}else i=0;while(0);l=i;f=i+(h<<2)|0;m=f;k=i+(g<<2)|0;if((o|0)==(d|0))d=m;else{g=h+((d+-4-j|0)>>>2)+1|0;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(d|0))break;else f=f+4|0}d=i+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=l;c[p>>2]=m;c[q>>2]=d;c[n>>2]=k;if(e){Rh(e);d=c[q>>2]|0}}while(0);c[d>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+4;return}function hd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+4|0;o=c[q>>2]|0;j=o;p=c[a>>2]|0;e=p;do if((o|0)==(p|0)){p=a+8|0;m=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;d=l;if(m>>>0>>0){e=m;g=((d-e>>2)+1|0)/2|0;f=m+(g<<2)|0;e=e-j|0;d=f+(0-(e>>2)<<2)|0;if(!e){d=f;e=f}else{qj(d|0,o|0,e|0)|0;e=(c[p>>2]|0)+(g<<2)|0}c[q>>2]=d;c[p>>2]=e;break}e=d-e|0;e=(e|0)==0?1:e>>1;f=(e+3|0)>>>2;do if(e)if(e>>>0>1073741823){q=X(8)|0;Uh(q,47989);c[q>>2]=41300;aa(q|0,1248,16)}else{h=Qh(e<<2)|0;break}else h=0;while(0);k=h;d=h+(f<<2)|0;l=d;i=h+(e<<2)|0;if((o|0)==(m|0)){f=l;e=o}else{g=((m+-4-j|0)>>>2)+f+1|0;f=d;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(m|0))break;else f=f+4|0}f=h+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=k;c[q>>2]=l;c[p>>2]=f;c[n>>2]=i;if(e){Rh(e);d=c[q>>2]|0}}else d=o;while(0);c[d+-4>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+-4;return}function id(a){a=a|0;var b=0,d=0,e=0,f=0;ld(a);d=a+4|0;b=c[d>>2]|0;f=a+8|0;e=c[f>>2]|0;if((b|0)!=(e|0)){do{Rh(c[b>>2]|0);b=b+4|0}while((b|0)!=(e|0));b=c[d>>2]|0;d=c[f>>2]|0;if((d|0)!=(b|0))c[f>>2]=d+(~((d+-4-b|0)>>>2)<<2)}b=c[a>>2]|0;if(!b)return;Rh(b);return}function jd(b){b=b|0;if(a[b+36>>0]|0)return;b=c[b+8>>2]|0;if(!b)return;Kh(b);return}function kd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=a+20|0;g=c[f>>2]|0;if(!g){d=a+8|0;b=c[d>>2]|0;e=a+4|0;if((b|0)!=(c[e>>2]|0))do{Rh(c[b+-4>>2]|0);b=(c[d>>2]|0)+-4|0;c[d>>2]=b}while((c[e>>2]|0)!=(b|0));c[a+16>>2]=0;md(a);return}b=a+16|0;e=c[b>>2]|0;d=a+4|0;if(e>>>0>203){Rh(c[c[d>>2]>>2]|0);h=(c[d>>2]|0)+4|0;c[d>>2]=h;e=(c[b>>2]|0)+-204|0;c[b>>2]=e;g=c[f>>2]|0}else h=c[d>>2]|0;b=a+8|0;d=c[b>>2]|0;h=d-h|0;if((((h|0)==0?0:((h>>2)*204|0)+-1|0)-(g+e)|0)>>>0<=203){md(a);return}Rh(c[d+-4>>2]|0);c[b>>2]=(c[b>>2]|0)+-4;md(a);return}function ld(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=b+4|0;e=c[l>>2]|0;m=b+16|0;g=c[m>>2]|0;d=(g>>>0)/204|0;h=e+(d<<2)|0;j=b+8|0;n=c[j>>2]|0;f=n;i=e;if((n|0)!=(e|0)){d=(c[h>>2]|0)+((g-(d*204|0)|0)*20|0)|0;b=b+20|0;n=(c[b>>2]|0)+g|0;g=(n>>>0)/204|0;g=(c[e+(g<<2)>>2]|0)+((n-(g*204|0)|0)*20|0)|0;if((g|0)==(d|0)){d=b;k=5}else{f=h;while(1){e=d+4|0;if((a[e+11>>0]|0)<0)Rh(c[e>>2]|0);d=d+20|0;if((d-(c[f>>2]|0)|0)==4080){d=f+4|0;e=d;d=c[d>>2]|0}else e=f;if((g|0)==(d|0))break;else f=e}e=c[l>>2]|0;g=j;f=c[j>>2]|0;d=e}}else{d=b+20|0;k=5}if((k|0)==5){g=j;b=d;d=i}c[b>>2]=0;d=f-d>>2;if(d>>>0>2)do{Rh(c[e>>2]|0);e=(c[l>>2]|0)+4|0;c[l>>2]=e;d=(c[g>>2]|0)-e>>2}while(d>>>0>2);switch(d|0){case 1:{d=102;break}case 2:{d=204;break}default:return}c[m>>2]=d;return}function md(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;j=a+12|0;i=c[a>>2]|0;k=a+8|0;h=c[k>>2]|0;l=a+4|0;f=c[l>>2]|0;d=h-f|0;e=d>>2;b=i;if((c[j>>2]|0)-i>>2>>>0<=e>>>0)return;do if(d)if(e>>>0>1073741823){l=X(8)|0;Uh(l,47989);c[l>>2]=41300;aa(l|0,1248,16)}else{g=Qh(d)|0;break}else g=0;while(0);i=g;e=g+(e<<2)|0;if((f|0)==(h|0))d=e;else{d=g;b=f;while(1){c[d>>2]=c[b>>2];b=b+4|0;if((b|0)==(h|0))break;else d=d+4|0}d=g+((c[k>>2]|0)-(c[l>>2]|0)>>2<<2)|0;b=c[a>>2]|0}c[a>>2]=i;c[l>>2]=i;c[k>>2]=d;c[j>>2]=e;if(!b)return;Rh(b);return}function nd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);f=e;a=c[a>>2]|0;b=La(b|0)|0;c[f>>2]=c[d>>2];d=Qa(1392,f|0)|0;Pa(a|0,b|0,d|0);Ea(d|0);Ea(b|0);cc=e;return}function od(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);f=e;a=c[a>>2]|0;b=La(b|0)|0;c[f>>2]=c[d>>2];d=Qa(1392,f|0)|0;Pa(a|0,b|0,d|0);Ea(d|0);Ea(b|0);cc=e;return}function pd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);f=e;a=c[a>>2]|0;b=La(b|0)|0;c[f>>2]=c[d>>2];d=Qa(1400,f|0)|0;Pa(a|0,b|0,d|0);Ea(d|0);Ea(b|0);cc=e;return}function qd(a){a=a|0;return c[(c[a>>2]|0)+-4>>2]|0}function rd(a){a=a|0;if(!a)return;lc[c[(c[a>>2]|0)+4>>2]&31](a);return}function sd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);h=j;f=c[b>>2]|0;b=c[b+4>>2]|0;g=d+(b>>1)|0;if(b&1)f=c[(c[g>>2]|0)+f>>2]|0;d=e+4|0;e=c[e>>2]|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;if(e>>>0>4294967279)Wh(h);if(e>>>0<11){a[h+11>>0]=e;if(!e)b=h;else{b=h;i=9}}else{i=e+16&-16;b=Qh(i)|0;c[h>>2]=b;c[h+8>>2]=i|-2147483648;c[h+4>>2]=e;i=9}if((i|0)==9)pj(b|0,d|0,e|0)|0;a[b+e>>0]=0;mc[f&31](g,h);if((a[h+11>>0]|0)>=0){cc=j;return}Rh(c[h>>2]|0);cc=j;return}function td(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);f=g;e=c[a>>2]|0;h=c[a+4>>2]|0;a=b+(h>>1)|0;if(h&1)e=c[(c[a>>2]|0)+e>>2]|0;c[f>>2]=d;mc[e&31](a,f);Ea(c[f>>2]|0);cc=g;return}function ud(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a>>2]|0;e=c[a+4>>2]|0;a=b+(e>>1)|0;if(!(e&1)){e=d;lc[e&31](a);return}else{e=c[(c[a>>2]|0)+d>>2]|0;lc[e&31](a);return}}function vd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);e=f;d=c[a>>2]|0;g=c[a+4>>2]|0;a=b+(g>>1)|0;if(g&1)d=c[(c[a>>2]|0)+d>>2]|0;mc[d&31](e,a);Ia(c[e>>2]|0);g=c[e>>2]|0;Ea(g|0);cc=f;return g|0}function wd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);f=g;e=c[a>>2]|0;h=c[a+4>>2]|0;a=b+(h>>1)|0;if(h&1)e=c[(c[a>>2]|0)+e>>2]|0;c[f>>2]=d;mc[e&31](a,f);Ea(c[f>>2]|0);cc=g;return}function xd(b,d){b=b|0;d=d|0;var e=0;e=Qh(22936)|0;Id(e,d);a[e+22928>>0]=0;c[e+22932>>2]=c[b>>2];c[b>>2]=0;c[e>>2]=1540;return e|0}function yd(b,d,e){b=b|0;d=d|0;e=e|0;c[b>>2]=ka(((a[d+11>>0]|0)<0?c[d>>2]|0:d)|0,664,c[e>>2]|0)|0;return}function zd(a){a=a|0;return c[(c[a>>2]|0)+-4>>2]|0}function Ad(a){a=a|0;if(!a)return;lc[c[(c[a>>2]|0)+4>>2]&31](a);return}function Bd(a){a=a|0;return a|0}function Cd(a){a=a|0;return a|0}function Dd(a,b){a=a|0;b=b|0;lc[c[a>>2]&31](b);return}function Ed(b){b=b|0;a[b+22928>>0]=1;return}function Fd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;d=hc[a&3](f,g)|0;Ea(c[g>>2]|0);Ea(c[f>>2]|0);cc=e;return d|0}function Gd(b){b=b|0;var d=0,e=0,f=0,g=0;g=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);e=g;c[b>>2]=1556;d=b+22932|0;if(!(a[b+22928>>0]|0)){f=c[d>>2]|0;Ea(f|0);Md(b);cc=g;return}f=c[d>>2]|0;if((a[55120]|0)==0?aj(55120)|0:0)c[13794]=Ga(1,1440)|0;Da(c[13794]|0,f|0,48751,e|0);f=c[d>>2]|0;Ea(f|0);Md(b);cc=g;return}function Hd(a){a=a|0;Gd(a);Rh(a);return}function Id(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);h=f+8|0;i=f;c[d>>2]=1572;g=d+4|0;c[g>>2]=c[e>>2];c[e>>2]=0;a[d+8>>0]=0;e=d+12|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[d+32>>2]=0;e=d+22696|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;zg(d+40|0);Ag(d+104|0);Bg(d+9372|0);c[i>>2]=48536;Ya(0,i|0);c[h>>2]=48521;c[h+4>>2]=d+28;Ya(0,h|0);Kd(d+22728|0);e=d+22864|0;c[d+22892>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;a[e+24>>0]=0;a[d+22896>>0]=1;a[d+22897>>0]=1;e=d+22900|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;c[d+22912>>2]=12;c[d+22732>>2]=g;cc=f;return}function Jd(a){a=a|0;Gd(a);Rh(a);return}function Kd(b){b=b|0;var d=0,e=0,f=0;f=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);e=f+8|0;d=f;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+32>>2]=0;a[b+36>>0]=0;c[b>>2]=1588;if(!(og(b+40|0,0)|0)){c[b+132>>2]=1;c[b+128>>2]=1;c[e>>2]=48577;Ya(0,e|0);cc=f;return}else{c[d>>2]=48546;Ya(0,d|0);cc=f;return}}function Ld(b){b=b|0;var d=0,e=0,f=0;e=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);d=e+8|0;f=e;c[f>>2]=48683;Ya(0,f|0);Kh(c[b+8>>2]|0);c[d>>2]=48706;Ya(0,d|0);Dg(b+76|0);d=b+22684|0;if((a[d+11>>0]|0)<0)Rh(c[d>>2]|0);b=b+22668|0;if((a[b+11>>0]|0)>=0){cc=e;return}Rh(c[b>>2]|0);cc=e;return}function Md(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);g=i+8|0;d=i;c[b>>2]=1572;f=Fa(48277)|0;c[d>>2]=c[b+22892>>2];Ea(Ba(f|0,1,1476,d|0)|0);Ea(f|0);c[g>>2]=48730;Ya(0,g|0);g=b+22864|0;ld(g);f=b+22868|0;d=c[f>>2]|0;h=b+22872|0;e=c[h>>2]|0;if((d|0)!=(e|0)){do{Rh(c[d>>2]|0);d=d+4|0}while((d|0)!=(e|0));d=c[f>>2]|0;e=c[h>>2]|0;if((e|0)!=(d|0))c[h>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=c[g>>2]|0;if(d|0)Rh(d);Pd(b+22728|0);Ld(b+28|0);d=b+12|0;if((a[d+11>>0]|0)>=0){b=b+4|0;b=c[b>>2]|0;Ea(b|0);cc=i;return}Rh(c[d>>2]|0);b=b+4|0;b=c[b>>2]|0;Ea(b|0);cc=i;return}function Nd(a){a=a|0;Md(a);Rh(a);return}function Od(b){b=b|0;var d=0;Dg(b+64|0);d=b+22672|0;if((a[d+11>>0]|0)<0)Rh(c[d>>2]|0);b=b+22656|0;if((a[b+11>>0]|0)>=0)return;Rh(c[b>>2]|0);return}function Pd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);g=h;c[b>>2]=1588;d=b+40|0;e=c[d>>2]|0;if(e|0){pg(e);c[d>>2]=0}c[b>>2]=1620;if((a[b+36>>0]|0)==0?(f=c[b+8>>2]|0,f|0):0)Kh(f);c[g>>2]=48612;Ya(0,g|0);cc=h;return}function Qd(a){a=a|0;Pd(a);Rh(a);return}function Rd(a,b,d){a=a|0;b=b|0;d=d|0;c[a+44>>2]=b;b=a+48|0;c[b>>2]=d;do Ud(a)|0;while((c[b>>2]|0)!=0);return}function Sd(b){b=b|0;var d=0,e=0,f=0;f=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);e=f;c[b>>2]=1620;if((a[b+36>>0]|0)==0?(d=c[b+8>>2]|0,d|0):0)Kh(d);c[e>>2]=48612;Ya(0,e|0);cc=f;return}function Td(a){a=a|0;bb()}function Ud(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);g=v+8|0;t=v;u=b+40|0;e=b+44|0;f=b+60|0;d=rg(c[u>>2]|0,e,f)|0;switch(d|0){case 4:{if(qg(c[u>>2]|0,b+80|0)|0){u=-1;cc=v;return u|0}Vd(b,c[b+84>>2]|0,c[b+88>>2]|0);u=c[f>>2]|0;t=b+48|0;c[t>>2]=(c[e>>2]|0)-u+(c[t>>2]|0);c[e>>2]=u;u=0;cc=v;return u|0}case 3:{s=c[f>>2]|0;q=b+48|0;c[q>>2]=(c[e>>2]|0)-s+(c[q>>2]|0);c[e>>2]=s;break}case 1:case -2:{c[b+48>>2]=0;u=d;cc=v;return u|0}case 2:{c[b+48>>2]=0;break}default:{c[g>>2]=48636;c[g+4>>2]=0-d;Ya(0,g|0);c[b+48>>2]=0;u=d;cc=v;return u|0}}h=b+128|0;c[h>>2]=(c[h>>2]|0)+1;h=b+64|0;if((sg(c[u>>2]|0,h,0)|0)!=2){u=d;cc=v;return u|0}i=b+132|0;j=b+20|0;k=b+84|0;l=b+88|0;m=b+24|0;n=b+28|0;o=b+36|0;p=b+8|0;q=b+12|0;s=b+16|0;b=b+4|0;do{c[i>>2]=(c[i>>2]|0)+1;e=c[h>>2]|0;c[j>>2]=e;g=r(c[l>>2]|0,c[k>>2]|0)|0;f=g+e|0;c[m>>2]=f;g=f+(g>>>2)|0;c[n>>2]=g;if(!(a[o>>0]|0))Wd(e,f,g,c[p>>2]|0,c[q>>2]|0,c[s>>2]|0);e=c[c[b>>2]>>2]|0;if((a[55120]|0)==0?aj(55120)|0:0)c[13794]=Ga(1,1440)|0;Da(c[13794]|0,e|0,48678,t|0)}while((sg(c[u>>2]|0,h,0)|0)==2);cc=v;return d|0}function Vd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=cc;cc=cc+32|0;if((cc|0)>=(dc|0))w(32);h=i;f=b+12|0;c[f>>2]=d;g=b+16|0;c[g>>2]=e;c[h>>2]=48652;c[h+4>>2]=d;c[h+8>>2]=e;Ya(0,h|0);if(!(a[b+36>>0]|0)){e=c[g>>2]|0;e=(r(e<<2,e)|0)+33554432|0;e=Jh((e>>>0>16777216?e:16777216)+16777215&-16777216)|0;c[b+8>>2]=e;d=c[c[b+4>>2]>>2]|0;if((a[55168]|0)==0?aj(55168)|0:0)c[13800]=Ga(4,48)|0;b=c[13800]|0;c[h>>2]=c[f>>2];c[h+8>>2]=c[g>>2];c[h+16>>2]=e;Da(b|0,d|0,48665,h|0);cc=i;return}else{e=b+20|0;c[b+8>>2]=e;e=e>>2;d=c[c[b+4>>2]>>2]|0;if((a[55168]|0)==0?aj(55168)|0:0)c[13800]=Ga(4,48)|0;b=c[13800]|0;c[h>>2]=c[f>>2];c[h+8>>2]=c[g>>2];c[h+16>>2]=e;Da(b|0,d|0,48665,h|0);cc=i;return}}function Wd(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,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;F=g<<2;G=f+(r(F,h)|0)|0;if(!h)return;B=(g|0)==0;E=(g+-1|0)>>>1;C=(E<<3)+8|0;D=g+1&-2;E=E+1|0;j=0;A=0;k=0;i=0;l=0;while(1){if(!B){y=C+j|0;z=E+i|0;x=0;w=k;v=l;while(1){n=d[a+v>>0]|0;p=d[a+(v+g)>>0]|0;t=d[b+i>>0]|0;u=d[e+w>>0]|0;s=t<<8|u;o=G+(s|n<<16)|0;m=c[o>>2]|0;if(!m){J=(n*1192|0)+-19072|0;H=u+-128|0;m=t+-128|0;q=(H*1634|0)+J>>10;H=(r(m,-400)|0)+J+(r(H,-832)|0)>>10;J=(m*2066|0)+J>>10;m=(q|0)>0?q:0;n=(H|0)>0?H:0;I=(J|0)>0?J:0;m=((((J&255|0)==(J|0)?J:(I|0)<255?I:255)<<8)+16711680+((H&255|0)==(H|0)?H:(n|0)<255?n:255)<<8)+((q&255|0)==(q|0)?q:(m|0)<255?m:255)|0;c[o>>2]=m}c[f+j>>2]=m;n=G+(s|p<<16)|0;m=c[n>>2]|0;if(!m){p=(p*1192|0)+-19072|0;H=u+-128|0;m=t+-128|0;J=(H*1634|0)+p>>10;H=(r(m,-400)|0)+p+(r(H,-832)|0)>>10;p=(m*2066|0)+p>>10;m=(J|0)>0?J:0;I=(H|0)>0?H:0;q=(p|0)>0?p:0;m=((((p&255|0)==(p|0)?p:(q|0)<255?q:255)<<8)+16711680+((H&255|0)==(H|0)?H:(I|0)<255?I:255)<<8)+((J&255|0)==(J|0)?J:(m|0)<255?m:255)|0;c[n>>2]=m}c[f+(j+F)>>2]=m;q=j+4|0;p=v+1|0;n=d[a+p>>0]|0;p=d[a+(p+g)>>0]|0;o=G+(s|n<<16)|0;m=c[o>>2]|0;if(!m){m=(n*1192|0)+-19072|0;H=u+-128|0;K=t+-128|0;J=m+(H*1634|0)>>10;H=(r(H,-832)|0)+(r(K,-400)|0)+m>>10;K=m+(K*2066|0)>>10;m=(J|0)>0?J:0;I=(H|0)>0?H:0;n=(K|0)>0?K:0;m=((((K&255|0)==(K|0)?K:(n|0)<255?n:255)<<8)+16711680+((H&255|0)==(H|0)?H:(I|0)<255?I:255)<<8)+((J&255|0)==(J|0)?J:(m|0)<255?m:255)|0;c[o>>2]=m}c[f+q>>2]=m;n=G+(s|p<<16)|0;m=c[n>>2]|0;if(!m){m=(p*1192|0)+-19072|0;I=u+-128|0;u=t+-128|0;K=m+(I*1634|0)>>10;I=(r(I,-832)|0)+(r(u,-400)|0)+m>>10;u=m+(u*2066|0)>>10;m=(K|0)>0?K:0;J=(I|0)>0?I:0;H=(u|0)>0?u:0;m=((((u&255|0)==(u|0)?u:(H|0)<255?H:255)<<8)+16711680+((I&255|0)==(I|0)?I:(J|0)<255?J:255)<<8)+((K&255|0)==(K|0)?K:(m|0)<255?m:255)|0;c[n>>2]=m}c[f+(q+F)>>2]=m;x=x+2|0;if(x>>>0>=g>>>0)break;else{j=j+8|0;w=w+1|0;i=i+1|0;v=v+2|0}}l=D+l|0;j=y;k=E+k|0;i=z}A=A+2|0;if(A>>>0>=h>>>0)break;else{j=j+F|0;l=l+g|0}}return}function Xd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=cc;cc=cc+32|0;if((cc|0)>=(dc|0))w(32);h=l+16|0;j=l+4|0;k=l;f=d+4|0;g=c[d>>2]|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;if(g>>>0>4294967279)Wh(j);if(g>>>0<11){a[j+11>>0]=g;if(!g)d=j;else{d=j;i=6}}else{i=g+16&-16;d=Qh(i)|0;c[j>>2]=d;c[j+8>>2]=i|-2147483648;c[j+4>>2]=g;i=6}if((i|0)==6)pj(d|0,f|0,g|0)|0;a[d+g>>0]=0;c[k>>2]=e;nc[b&7](h,j,k);Ia(c[h>>2]|0);d=c[h>>2]|0;Ea(d|0);Ea(c[k>>2]|0);if((a[j+11>>0]|0)>=0){cc=l;return d|0}Rh(c[j>>2]|0);cc=l;return d|0}function Yd(){xc(0);return}function Zd(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;g=d[50042+b>>0]|0;s=d[50094+b>>0]|0;b=c[1992+(s*12|0)>>2]<>2]<>2]<>2]=r(c[a>>2]|0,b)|0;do if(!(f&65436)){if(f&98|0){j=a+4|0;l=r(c[j>>2]|0,h)|0;m=a+20|0;o=r(c[m>>2]|0,b)|0;n=a+24|0;q=r(c[n>>2]|0,h)|0;k=c[a>>2]|0;s=k+o|0;o=k-o|0;k=(l>>1)-q|0;l=(q>>1)+l|0;q=l+32+s>>6;c[a>>2]=q;p=k+32+o>>6;c[j>>2]=p;o=32-k+o>>6;c[a+8>>2]=o;s=32-l+s>>6;c[a+12>>2]=s;c[a+48>>2]=q;c[a+32>>2]=q;c[a+16>>2]=q;c[a+52>>2]=p;c[a+36>>2]=p;c[m>>2]=p;c[a+56>>2]=o;c[a+40>>2]=o;c[n>>2]=o;c[a+60>>2]=s;c[a+44>>2]=s;c[a+28>>2]=s;if((o+512|p+512|q+512|s+512)>>>0>1023)b=1;else break;return b|0}b=(c[a>>2]|0)+32>>6;if((b+512|0)>>>0>1023){a=1;return a|0}else{c[a+60>>2]=b;c[a+56>>2]=b;c[a+52>>2]=b;c[a+48>>2]=b;c[a+44>>2]=b;c[a+40>>2]=b;c[a+36>>2]=b;c[a+32>>2]=b;c[a+28>>2]=b;c[a+24>>2]=b;c[a+20>>2]=b;c[a+16>>2]=b;c[a+12>>2]=b;c[a+8>>2]=b;c[a+4>>2]=b;c[a>>2]=b;break}}else{n=a+4|0;f=a+56|0;u=a+60|0;z=c[u>>2]|0;o=r(c[n>>2]|0,h)|0;c[f>>2]=r(c[f>>2]|0,h)|0;c[u>>2]=r(z,g)|0;u=a+8|0;z=a+16|0;f=r(c[u>>2]|0,h)|0;w=r(c[a+20>>2]|0,b)|0;p=r(c[z>>2]|0,g)|0;x=a+32|0;A=a+12|0;q=r(c[x>>2]|0,h)|0;l=r(c[A>>2]|0,b)|0;t=r(c[a+24>>2]|0,h)|0;v=a+48|0;k=r(c[a+28>>2]|0,h)|0;i=r(c[v>>2]|0,g)|0;e=r(c[a+36>>2]|0,h)|0;s=r(c[a+40>>2]|0,g)|0;B=r(c[a+44>>2]|0,b)|0;y=r(c[a+52>>2]|0,h)|0;j=c[a>>2]|0;g=w+j|0;w=j-w|0;j=(o>>1)-t|0;o=(t>>1)+o|0;t=o+g|0;b=j+w|0;c[n>>2]=b;j=w-j|0;c[u>>2]=j;o=g-o|0;c[A>>2]=o;A=k+f|0;g=f-k|0;k=(p>>1)-i|0;p=(i>>1)+p|0;i=p+A|0;f=k+g|0;c[a+20>>2]=f;k=g-k|0;c[a+24>>2]=k;p=A-p|0;c[a+28>>2]=p;A=B+l|0;B=l-B|0;l=(q>>1)-y|0;q=(y>>1)+q|0;y=q+A|0;g=l+B|0;c[a+36>>2]=g;l=B-l|0;c[a+40>>2]=l;q=A-q|0;c[a+44>>2]=q;A=a+56|0;B=c[A>>2]|0;u=B+e|0;B=e-B|0;e=a+60|0;w=c[e>>2]|0;m=(s>>1)-w|0;s=(w>>1)+s|0;w=s+u|0;h=m+B|0;c[a+52>>2]=h;m=B-m|0;c[A>>2]=m;s=u-s|0;c[e>>2]=s;e=(i>>1)-w|0;i=(w>>1)+i|0;w=y+t+32|0;u=w+i>>6;c[a>>2]=u;y=t-y+32|0;t=y+e>>6;c[z>>2]=t;e=y-e>>6;c[x>>2]=e;i=w-i>>6;c[v>>2]=i;if((u+512|t+512)>>>0>1023){B=1;return B|0}if((i+512|e+512)>>>0>1023){B=1;return B|0}y=(f>>1)-h|0;f=(h>>1)+f|0;z=g+b+32|0;A=z+f>>6;c[n>>2]=A;b=b-g+32|0;B=b+y>>6;c[a+20>>2]=B;b=b-y>>6;c[a+36>>2]=b;f=z-f>>6;c[a+52>>2]=f;if((A+512|B+512)>>>0>1023){B=1;return B|0}if((f+512|b+512)>>>0>1023){B=1;return B|0}b=(k>>1)-m|0;f=(m>>1)+k|0;z=l+j+32|0;A=z+f>>6;c[a+8>>2]=A;y=j-l+32|0;B=y+b>>6;c[a+24>>2]=B;b=y-b>>6;c[a+40>>2]=b;f=z-f>>6;c[a+56>>2]=f;if((A+512|B+512)>>>0>1023){B=1;return B|0}if((f+512|b+512)>>>0>1023){B=1;return B|0}b=(p>>1)-s|0;f=(s>>1)+p|0;z=q+o+32|0;A=z+f>>6;c[a+12>>2]=A;y=o-q+32|0;B=y+b>>6;c[a+28>>2]=B;b=y-b>>6;c[a+44>>2]=b;f=z-f>>6;c[a+60>>2]=f;if((A+512|B+512)>>>0>1023){B=1;return B|0}if((f+512|b+512)>>>0>1023){B=1;return B|0}}while(0);B=0;return B|0}function _d(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;e=a[50094+d>>0]|0;s=a[50042+d>>0]|0;C=b+8|0;u=c[C>>2]|0;i=c[b+20>>2]|0;p=b+16|0;y=c[p>>2]|0;q=b+32|0;z=c[q>>2]|0;D=b+12|0;v=c[D>>2]|0;f=c[b+24>>2]|0;l=c[b+28>>2]|0;n=b+48|0;g=c[n>>2]|0;B=c[b+36>>2]|0;A=c[b+40>>2]|0;E=c[b+44>>2]|0;h=c[b+52>>2]|0;o=c[b>>2]|0;k=i+o|0;i=o-i|0;o=b+4|0;x=c[o>>2]|0;t=x-f|0;x=f+x|0;f=x+k|0;c[b>>2]=f;j=t+i|0;c[o>>2]=j;t=i-t|0;c[C>>2]=t;x=k-x|0;c[D>>2]=x;D=l+u|0;l=u-l|0;u=y-g|0;y=g+y|0;g=y+D|0;c[p>>2]=g;k=u+l|0;c[b+20>>2]=k;u=l-u|0;c[b+24>>2]=u;y=D-y|0;c[b+28>>2]=y;D=E+v|0;E=v-E|0;v=z-h|0;z=h+z|0;h=z+D|0;c[b+32>>2]=h;l=v+E|0;c[b+36>>2]=l;v=E-v|0;c[b+40>>2]=v;z=D-z|0;c[b+44>>2]=z;D=b+56|0;E=c[D>>2]|0;C=E+B|0;E=B-E|0;B=b+60|0;i=c[B>>2]|0;w=A-i|0;A=i+A|0;i=A+C|0;c[b+48>>2]=i;m=w+E|0;c[b+52>>2]=m;w=E-w|0;c[D>>2]=w;A=C-A|0;c[B>>2]=A;s=s&255;e=c[1992+((e&255)*12|0)>>2]|0;if(d>>>0>11){E=e<>2]=r(D+d|0,E)|0;c[p>>2]=r(C+B|0,E)|0;c[q>>2]=r(B-C|0,E)|0;c[n>>2]=r(d-D|0,E)|0;D=l+j|0;d=j-l|0;C=k-m|0;B=m+k|0;c[o>>2]=r(B+D|0,E)|0;c[b+20>>2]=r(C+d|0,E)|0;c[b+36>>2]=r(d-C|0,E)|0;c[b+52>>2]=r(D-B|0,E)|0;B=v+t|0;v=t-v|0;D=u-w|0;C=w+u|0;c[b+8>>2]=r(C+B|0,E)|0;c[b+24>>2]=r(D+v|0,E)|0;c[b+40>>2]=r(v-D|0,E)|0;c[b+56>>2]=r(B-C|0,E)|0;C=z+x|0;z=x-z|0;B=y-A|0;D=A+y|0;c[b+12>>2]=r(D+C|0,E)|0;c[b+28>>2]=r(B+z|0,E)|0;c[b+44>>2]=r(z-B|0,E)|0;c[b+60>>2]=r(C-D|0,E)|0;return}else{D=(d+-6|0)>>>0<6?1:2;E=2-s|0;s=h+f|0;C=f-h|0;d=g-i|0;B=i+g|0;c[b>>2]=(r(B+s|0,e)|0)+D>>E;c[p>>2]=(r(d+C|0,e)|0)+D>>E;c[q>>2]=(r(C-d|0,e)|0)+D>>E;c[n>>2]=(r(s-B|0,e)|0)+D>>E;B=l+j|0;s=j-l|0;d=k-m|0;C=m+k|0;c[o>>2]=(r(C+B|0,e)|0)+D>>E;c[b+20>>2]=(r(d+s|0,e)|0)+D>>E;c[b+36>>2]=(r(s-d|0,e)|0)+D>>E;c[b+52>>2]=(r(B-C|0,e)|0)+D>>E;C=v+t|0;t=t-v|0;v=u-w|0;B=w+u|0;c[b+8>>2]=(r(B+C|0,e)|0)+D>>E;c[b+24>>2]=(r(v+t|0,e)|0)+D>>E;c[b+40>>2]=(r(t-v|0,e)|0)+D>>E;c[b+56>>2]=(r(C-B|0,e)|0)+D>>E;B=z+x|0;x=x-z|0;z=y-A|0;C=A+y|0;c[b+12>>2]=(r(C+B|0,e)|0)+D>>E;c[b+28>>2]=(r(z+x|0,e)|0)+D>>E;c[b+44>>2]=(r(x-z|0,e)|0)+D>>E;c[b+60>>2]=(r(B-C|0,e)|0)+D>>E;return}}function $d(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=c[1992+((d[50094+b>>0]|0)*12|0)>>2]|0;if(b>>>0>5){e=e<<(d[50042+b>>0]|0)+-1;b=0}else b=1;k=c[a>>2]|0;g=a+8|0;h=c[g>>2]|0;m=h+k|0;h=k-h|0;k=a+4|0;j=c[k>>2]|0;l=a+12|0;f=c[l>>2]|0;i=j-f|0;j=f+j|0;c[a>>2]=(r(j+m|0,e)|0)>>b;c[k>>2]=(r(m-j|0,e)|0)>>b;c[g>>2]=(r(i+h|0,e)|0)>>b;c[l>>2]=(r(h-i|0,e)|0)>>b;l=a+16|0;i=c[l>>2]|0;h=a+24|0;g=c[h>>2]|0;k=g+i|0;g=i-g|0;i=a+20|0;j=c[i>>2]|0;a=a+28|0;m=c[a>>2]|0;f=j-m|0;j=m+j|0;c[l>>2]=(r(j+k|0,e)|0)>>b;c[i>>2]=(r(k-j|0,e)|0)>>b;c[h>>2]=(r(f+g|0,e)|0)>>b;c[a>>2]=(r(g-f|0,e)|0)>>b;return}function ae(a,b){a=a|0;b=b|0;var c=0;b=1<>>1}while((c|0)!=0&(c&a|0)==0);return b|0}function be(a){a=a|0;var b=0;b=8-(c[a+8>>2]|0)|0;a=ce(a,b)|0;if((a|0)==-1){b=1;return b|0}b=(a|0)!=(c[2064+(b+-1<<2)>>2]|0)&1;return b|0}function ce(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=a+4|0;i=c[m>>2]|0;l=c[a+12>>2]<<3;n=a+16|0;k=c[n>>2]|0;e=l-k|0;if((e|0)>31){e=a+8|0;g=c[e>>2]|0;f=(d[i+1>>0]|0)<<16|(d[i>>0]|0)<<24|(d[i+2>>0]|0)<<8|(d[i+3>>0]|0);if(!g)h=e;else{h=e;f=(d[i+4>>0]|0)>>>(8-g|0)|f<0){g=c[h>>2]|0;j=g+24|0;f=(d[i>>0]|0)<0){g=e;e=j;while(1){i=i+1|0;e=e+-8|0;f=(d[i>>0]|0)<>2]=e;c[h>>2]=e&7;if(e>>>0>l>>>0){n=-1;return n|0}c[m>>2]=(c[a>>2]|0)+(e>>>3);n=f>>>(32-b|0);return n|0}function de(a){a=a|0;var b=0;b=(c[a+12>>2]<<3)-(c[a+16>>2]|0)|0;if(!b){b=0;return b|0}if(b>>>0>8){b=1;return b|0}else return ((ee(a)|0)>>>(32-b|0)|0)!=(1<>2]|0;e=(c[a+12>>2]<<3)-(c[a+16>>2]|0)|0;if((e|0)>31){a=c[a+8>>2]|0;b=(d[f+1>>0]|0)<<16|(d[f>>0]|0)<<24|(d[f+2>>0]|0)<<8|(d[f+3>>0]|0);if(!a){f=b;return f|0}f=(d[f+4>>0]|0)>>>(8-a|0)|b<>2]|0;b=g+24|0;a=(d[f>>0]|0)<>0]|0)<>2]|0;d=d+1|0;a:do if(d>>>0>>0)do{if((c[a+(d<<2)>>2]|0)==(e|0))break a;d=d+1|0}while(d>>>0>>0);while(0);return ((d|0)==(b|0)?0:d)|0}function ge(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[a+4>>2]|0;d=(b>>>0)%(f>>>0)|0;e=b-d|0;b=r(c[a+8>>2]|0,f)|0;f=c[a>>2]|0;c[a+12>>2]=f+(d<<4)+(e<<8);d=f+(b<<8)+(e<<6)+(d<<3)|0;c[a+16>>2]=d;c[a+20>>2]=d+(b<<6);return}function he(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;do if(((e>>>0>3?(a[b>>0]|0)==0:0)?(a[b+1>>0]|0)==0:0)?(h=a[b+2>>0]|0,(h&255)<2):0){n=-3;p=3;k=b+3|0;i=2;while(1){if(h<<24>>24)if(h<<24>>24==1&i>>>0>1)break;else i=0;else i=i+1|0;j=p+1|0;if((j|0)==(e|0)){q=6;break}else{h=a[k>>0]|0;n=~p;p=j;k=k+1|0}}if((q|0)==6){c[g>>2]=e;q=1;return q|0}j=(a[k>>0]|0)!=0;l=0;m=p;i=0;o=(j^1)&1;while(1){m=m+1|0;k=k+1|0;h=j?0:o;i=j&o>>>0>2?1:i;if((m|0)==(e|0)){q=15;break}q=a[k>>0]|0;j=q<<24>>24!=0;o=h+((j^1)&1)|0;h=q<<24>>24==3&(o|0)==2?1:l;if(q<<24>>24==1&o>>>0>1){q=13;break}else l=h}if((q|0)==13){m=n+m-o|0;n=f+12|0;c[n>>2]=m;l=h;j=p;h=o-(o>>>0<3?o:3)|0;break}else if((q|0)==15){m=n+e-h|0;n=f+12|0;c[n>>2]=m;j=p;break}}else q=16;while(0);if((q|0)==16){n=f+12|0;c[n>>2]=e;m=e;l=1;j=0;i=0;h=0}k=b+j|0;c[f>>2]=k;c[f+4>>2]=k;c[f+8>>2]=0;c[f+16>>2]=0;c[g>>2]=h+j+m;if(i|0){q=1;return q|0}if(!l){q=0;return q|0}h=c[n>>2]|0;do if(h){i=k;l=k;j=0;a:while(1){h=h+-1|0;k=a[i>>0]|0;do if((j|0)==2){if(k<<24>>24!=3)if((k&255)<3){h=1;q=30;break a}else{q=26;break}if(!h){h=1;q=30;break a}i=i+1|0;if((d[i>>0]|0)>3){h=1;q=30;break a}else j=0}else q=26;while(0);if((q|0)==26){q=0;a[l>>0]=k;i=i+1|0;l=l+1|0;j=k<<24>>24==0?j+1|0:0}if(!h){q=28;break}}if((q|0)==28){j=c[n>>2]|0;h=l;break}else if((q|0)==30)return h|0}else{j=0;i=k;h=k}while(0);c[n>>2]=h-i+j;q=0;return q|0}function ie(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);n=o;je(b,0,92);d=ce(a,8)|0;a:do if((((d|0)!=-1?(c[b>>2]=d,ce(a,1)|0,ce(a,1)|0,(ce(a,1)|0)!=-1):0)?(ce(a,5)|0)!=-1:0)?(e=ce(a,8)|0,(e|0)!=-1):0){m=b+4|0;c[m>>2]=e;e=b+8|0;d=ke(a,e)|0;if(!d)if((c[e>>2]|0)>>>0<=31){d=ke(a,n)|0;if(!d){d=c[n>>2]|0;if(d>>>0<=12){c[b+12>>2]=1<>2]|0;if(d>>>0<=2){c[b+16>>2]=d;b:do switch(d|0){case 0:{d=ke(a,n)|0;if(d|0)break a;d=c[n>>2]|0;if(d>>>0>12){d=1;break a}c[b+20>>2]=1<>2]=(d|0)==1&1;d=le(a,b+28|0)|0;if(d|0)break a;d=le(a,b+32|0)|0;if(d|0)break a;g=b+36|0;d=ke(a,g)|0;if(d|0)break a;d=c[g>>2]|0;if(d>>>0>255){d=1;break a}if(!d){c[b+40>>2]=0;break b}d=me(4,d)|0;f=b+40|0;c[f>>2]=d;if(!d){d=65535;break a}if(c[g>>2]|0){d=le(a,d)|0;if(d|0)break a;e=1;while(1){if(e>>>0>=(c[g>>2]|0)>>>0)break b;d=le(a,(c[f>>2]|0)+(e<<2)|0)|0;if(!d)e=e+1|0;else break a}}break}default:{}}while(0);l=b+44|0;d=ke(a,l)|0;if(!d)if((c[l>>2]|0)>>>0<=16?(h=ce(a,1)|0,(h|0)!=-1):0){c[b+48>>2]=(h|0)==1&1;d=ke(a,n)|0;if(!d){j=b+52|0;c[j>>2]=(c[n>>2]|0)+1;d=ke(a,n)|0;if(!d){i=b+56|0;c[i>>2]=(c[n>>2]|0)+1;switch(ce(a,1)|0){case 0:case -1:{d=1;break a}default:{}}if((ce(a,1)|0)!=-1?(k=ce(a,1)|0,(k|0)!=-1):0){k=(k|0)==1;c[b+60>>2]=k&1;if(k){h=b+64|0;d=ke(a,h)|0;if(d|0)break;e=b+68|0;d=ke(a,e)|0;if(d|0)break;g=b+72|0;d=ke(a,g)|0;if(d|0)break;f=b+76|0;d=ke(a,f)|0;if(d|0)break;d=c[j>>2]|0;if((c[h>>2]|0)>((d<<3)+~c[e>>2]|0)){d=1;break}e=c[i>>2]|0;if((c[g>>2]|0)>((e<<3)+~c[f>>2]|0)){d=1;break}}else{e=c[i>>2]|0;d=c[j>>2]|0}f=r(e,d)|0;do switch(c[m>>2]|0){case 10:{d=99;e=152064;g=59;break}case 11:{d=396;e=345600;g=59;break}case 12:{d=396;e=912384;g=59;break}case 13:{d=396;e=912384;g=59;break}case 20:{d=396;e=912384;g=59;break}case 21:{d=792;e=1824768;g=59;break}case 22:{d=1620;e=3110400;g=59;break}case 30:{d=1620;e=3110400;g=59;break}case 31:{d=3600;e=6912e3;g=59;break}case 32:{d=5120;e=7864320;g=59;break}case 40:{d=8192;e=12582912;g=59;break}case 41:{d=8192;e=12582912;g=59;break}case 42:{d=8704;e=13369344;g=59;break}case 50:{d=22080;e=42393600;g=59;break}case 51:{d=36864;e=70778880;g=59;break}default:g=61}while(0);do if((g|0)==59){if(d>>>0>>0){g=61;break}e=(e>>>0)/((f*384|0)>>>0)|0;e=e>>>0<16?e:16;c[n>>2]=e;d=c[l>>2]|0;if(d>>>0>e>>>0)g=62;else d=e}while(0);if((g|0)==61){c[n>>2]=2147483647;d=c[l>>2]|0;g=62}if((g|0)==62)c[n>>2]=d;f=b+88|0;c[f>>2]=d;d=ce(a,1)|0;if((d|0)!=-1){n=(d|0)==1;c[b+80>>2]=n&1;do if(n){d=me(952,1)|0;e=b+84|0;c[e>>2]=d;if(!d){d=65535;break a}d=ne(a,d)|0;if(d|0)break a;d=c[e>>2]|0;if(!(c[d+920>>2]|0))break;e=c[d+948>>2]|0;if((c[d+944>>2]|0)>>>0>e>>>0){d=1;break a}if(e>>>0<(c[l>>2]|0)>>>0){d=1;break a}if(e>>>0>(c[f>>2]|0)>>>0){d=1;break a}c[f>>2]=(e|0)==0?1:e}while(0);be(a)|0;d=0}else d=1}else d=1}}}else d=1}else d=1}}else d=1}}else d=1}else d=1;while(0);cc=o;return d|0}function je(a,b,c){a=a|0;b=b|0;c=c|0;rj(a|0,b&255|0,c|0)|0;return}function ke(a,b){a=a|0;b=b|0;var d=0,e=0;d=ee(a)|0;if((d|0)<0){oe(a,1)|0;c[b>>2]=0;b=0;return b|0}if(d>>>0>1073741823){if((oe(a,3)|0)==-1){b=1;return b|0}c[b>>2]=(d>>>29&1)+1;b=0;return b|0}if(d>>>0>536870911){if((oe(a,5)|0)==-1){b=1;return b|0}c[b>>2]=(d>>>27&3)+3;b=0;return b|0}if(d>>>0>268435455){if((oe(a,7)|0)==-1){b=1;return b|0}c[b>>2]=(d>>>25&7)+7;b=0;return b|0}d=ae(d,28)|0;e=d+4|0;if((e|0)!=32){oe(a,d+5|0)|0;d=ce(a,e)|0;if((d|0)==-1){b=1;return b|0}c[b>>2]=(1<>2]=0;oe(a,32)|0;if((ce(a,1)|0)!=1){b=1;return b|0}d=ee(a)|0;if((oe(a,32)|0)==-1){b=1;return b|0}switch(d|0){case 0:{c[b>>2]=-1;b=0;return b|0}case 1:{c[b>>2]=-1;b=1;return b|0}default:{b=1;return b|0}}return 0}function le(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);e=f;c[e>>2]=0;d=ke(a,e)|0;a=c[e>>2]|0;d=(d|0)==0;if((a|0)==-1)if(d)a=1;else{c[b>>2]=-2147483648;a=0}else{e=(a+1|0)>>>1;if(d){c[b>>2]=(a&1|0)==0?0-e|0:e;a=0}else a=1}cc=f;return a|0}function me(a,b){a=a|0;b=b|0;if((4294967295/(b>>>0)|0)>>>0>>0){a=0;return a|0}a=Jh(r(b,a)|0)|0;return a|0}function ne(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;je(b,0,952);d=ce(a,1)|0;if((d|0)==-1){b=1;return b|0}f=(d|0)==1;c[b>>2]=f&1;do if(f){d=ce(a,8)|0;if((d|0)==-1){b=1;return b|0}c[b+4>>2]=d;if((d|0)==255){d=ce(a,16)|0;if((d|0)==-1){b=1;return b|0}c[b+8>>2]=d;d=ce(a,16)|0;if((d|0)==-1){b=1;return b|0}else{c[b+12>>2]=d;break}}}while(0);d=ce(a,1)|0;if((d|0)==-1){b=1;return b|0}f=(d|0)==1;c[b+16>>2]=f&1;do if(f){d=ce(a,1)|0;if((d|0)==-1){b=1;return b|0}else{c[b+20>>2]=(d|0)==1&1;break}}while(0);d=ce(a,1)|0;if((d|0)==-1){b=1;return b|0}f=(d|0)==1;c[b+24>>2]=f&1;if(f){d=ce(a,3)|0;if((d|0)==-1){b=1;return b|0}c[b+28>>2]=d;d=ce(a,1)|0;if((d|0)==-1){b=1;return b|0}c[b+32>>2]=(d|0)==1&1;d=ce(a,1)|0;if((d|0)==-1){b=1;return b|0}f=(d|0)==1;c[b+36>>2]=f&1;if(f){d=ce(a,8)|0;if((d|0)==-1){b=1;return b|0}c[b+40>>2]=d;d=ce(a,8)|0;if((d|0)==-1){b=1;return b|0}c[b+44>>2]=d;d=ce(a,8)|0;if((d|0)==-1){b=1;return b|0}}else g=22}else{c[b+28>>2]=5;g=22}if((g|0)==22){c[b+40>>2]=2;c[b+44>>2]=2;d=2}c[b+48>>2]=d;d=ce(a,1)|0;if((d|0)==-1){b=1;return b|0}f=(d|0)==1;c[b+52>>2]=f&1;if(f){e=b+56|0;d=ke(a,e)|0;if(d|0){b=d;return b|0}if((c[e>>2]|0)>>>0>5){b=1;return b|0}e=b+60|0;d=ke(a,e)|0;if(d|0){b=d;return b|0}if((c[e>>2]|0)>>>0>5){b=1;return b|0}}d=ce(a,1)|0;if((d|0)==-1){b=1;return b|0}f=(d|0)==1;c[b+64>>2]=f&1;do if(f){d=ee(a)|0;if((d|0)==0|(oe(a,32)|0)==-1){b=1;return b|0}c[b+68>>2]=d;d=ee(a)|0;if((d|0)==0|(oe(a,32)|0)==-1){b=1;return b|0}c[b+72>>2]=d;d=ce(a,1)|0;if((d|0)==-1){b=1;return b|0}else{c[b+76>>2]=(d|0)==1&1;break}}while(0);d=ce(a,1)|0;if((d|0)==-1){b=1;return b|0}e=(d|0)==1;f=b+80|0;c[f>>2]=e&1;if(e){d=pe(a,b+84|0)|0;if(d|0){b=d;return b|0}}else{c[b+84>>2]=1;c[b+96>>2]=288000001;c[b+224>>2]=288000001;c[b+480>>2]=24;c[b+484>>2]=24;c[b+488>>2]=24;c[b+492>>2]=24}d=ce(a,1)|0;if((d|0)==-1){b=1;return b|0}d=(d|0)==1;e=b+496|0;c[e>>2]=d&1;if(d){d=pe(a,b+500|0)|0;if(d|0){b=d;return b|0}}else{c[b+500>>2]=1;c[b+512>>2]=240000001;c[b+640>>2]=240000001;c[b+896>>2]=24;c[b+900>>2]=24;c[b+904>>2]=24;c[b+908>>2]=24}if(!((c[f>>2]|0)==0?!(c[e>>2]|0):0))g=45;do if((g|0)==45){d=ce(a,1)|0;if((d|0)==-1){b=1;return b|0}else{c[b+912>>2]=(d|0)==1&1;break}}while(0);d=ce(a,1)|0;if((d|0)==-1){b=1;return b|0}c[b+916>>2]=(d|0)==1&1;d=ce(a,1)|0;if((d|0)==-1){b=1;return b|0}g=(d|0)==1;c[b+920>>2]=g&1;do if(g){d=ce(a,1)|0;if((d|0)==-1){b=1;return b|0}c[b+924>>2]=(d|0)==1&1;e=b+928|0;d=ke(a,e)|0;if(d|0){b=d;return b|0}if((c[e>>2]|0)>>>0>16){b=1;return b|0}e=b+932|0;d=ke(a,e)|0;if(d|0){b=d;return b|0}if((c[e>>2]|0)>>>0>16){b=1;return b|0}e=b+936|0;d=ke(a,e)|0;if(d|0){b=d;return b|0}if((c[e>>2]|0)>>>0>16){b=1;return b|0}e=b+940|0;d=ke(a,e)|0;if(d|0){b=d;return b|0}if((c[e>>2]|0)>>>0>16){b=1;return b|0}d=ke(a,b+944|0)|0;if(d|0){b=d;return b|0}d=ke(a,b+948|0)|0;if(!d)break;return d|0}else{c[b+924>>2]=1;c[b+928>>2]=2;c[b+932>>2]=1;c[b+936>>2]=16;c[b+940>>2]=16;c[b+944>>2]=16;c[b+948>>2]=16}while(0);b=0;return b|0}function oe(a,b){a=a|0;b=b|0;var d=0;d=a+16|0;b=(c[d>>2]|0)+b|0;c[d>>2]=b;c[a+8>>2]=b&7;if(b>>>0>c[a+12>>2]<<3>>>0){d=-1;return d|0}c[a+4>>2]=(c[a>>2]|0)+(b>>>3);d=0;return d|0}function pe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=ke(a,b)|0;if(d|0){b=d;return b|0}h=(c[b>>2]|0)+1|0;c[b>>2]=h;if(h>>>0>32){b=1;return b|0}d=ce(a,4)|0;if((d|0)==-1){b=1;return b|0}h=b+4|0;c[h>>2]=d;d=ce(a,4)|0;if((d|0)==-1){b=1;return b|0}g=b+8|0;c[g>>2]=d;a:do if(c[b>>2]|0){f=0;while(1){e=b+12+(f<<2)|0;d=ke(a,e)|0;if(d|0){e=18;break}d=c[e>>2]|0;if((d|0)==-1){d=1;e=18;break}d=d+1|0;c[e>>2]=d;c[e>>2]=d<<(c[h>>2]|0)+6;e=b+140+(f<<2)|0;d=ke(a,e)|0;if(d|0){e=18;break}d=c[e>>2]|0;if((d|0)==-1){d=1;e=18;break}d=d+1|0;c[e>>2]=d;c[e>>2]=d<<(c[g>>2]|0)+4;d=ce(a,1)|0;if((d|0)==-1){d=1;e=18;break}c[b+268+(f<<2)>>2]=(d|0)==1&1;f=f+1|0;if(f>>>0>=(c[b>>2]|0)>>>0)break a}if((e|0)==18)return d|0}while(0);d=ce(a,5)|0;if((d|0)==-1){b=1;return b|0}c[b+396>>2]=d+1;d=ce(a,5)|0;if((d|0)==-1){b=1;return b|0}c[b+400>>2]=d+1;d=ce(a,5)|0;if((d|0)==-1){b=1;return b|0}c[b+404>>2]=d+1;d=ce(a,5)|0;if((d|0)==-1){b=1;return b|0}c[b+408>>2]=d;b=0;return b|0}function qe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;if((c[a>>2]|0)!=(c[b>>2]|0)){b=1;return b|0}if((c[a+4>>2]|0)!=(c[b+4>>2]|0)){b=1;return b|0}if((c[a+12>>2]|0)!=(c[b+12>>2]|0)){b=1;return b|0}d=c[a+16>>2]|0;if((d|0)!=(c[b+16>>2]|0)){b=1;return b|0}if((c[a+44>>2]|0)!=(c[b+44>>2]|0)){b=1;return b|0}if((c[a+48>>2]|0)!=(c[b+48>>2]|0)){b=1;return b|0}if((c[a+52>>2]|0)!=(c[b+52>>2]|0)){b=1;return b|0}if((c[a+56>>2]|0)!=(c[b+56>>2]|0)){b=1;return b|0}h=c[a+60>>2]|0;if((h|0)!=(c[b+60>>2]|0)){b=1;return b|0}if((c[a+80>>2]|0)!=(c[b+80>>2]|0)){b=1;return b|0}a:do switch(d|0){case 0:{if((c[a+20>>2]|0)!=(c[b+20>>2]|0)){b=1;return b|0}break}case 1:{if((c[a+24>>2]|0)!=(c[b+24>>2]|0)){b=1;return b|0}if((c[a+28>>2]|0)!=(c[b+28>>2]|0)){b=1;return b|0}if((c[a+32>>2]|0)!=(c[b+32>>2]|0)){b=1;return b|0}d=c[a+36>>2]|0;if((d|0)!=(c[b+36>>2]|0)){b=1;return b|0}if(d|0){e=c[a+40>>2]|0;f=c[b+40>>2]|0;g=0;while(1){if((c[e+(g<<2)>>2]|0)!=(c[f+(g<<2)>>2]|0)){d=1;break}g=g+1|0;if(g>>>0>=d>>>0)break a}return d|0}break}default:{}}while(0);if(h|0){if((c[a+64>>2]|0)!=(c[b+64>>2]|0)){b=1;return b|0}if((c[a+68>>2]|0)!=(c[b+68>>2]|0)){b=1;return b|0}if((c[a+72>>2]|0)!=(c[b+72>>2]|0)){b=1;return b|0}if((c[a+76>>2]|0)!=(c[b+76>>2]|0)){b=1;return b|0}}b=0;return b|0}function re(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);i=k+4|0;j=k;je(b,0,72);d=ke(a,b)|0;if(d|0){a=d;cc=k;return a|0}if((c[b>>2]|0)>>>0>255){a=1;cc=k;return a|0}e=b+4|0;d=ke(a,e)|0;if(d|0){a=d;cc=k;return a|0}if((c[e>>2]|0)>>>0>31){a=1;cc=k;return a|0}if(ce(a,1)|0){a=1;cc=k;return a|0}d=ce(a,1)|0;if((d|0)==-1){a=1;cc=k;return a|0}c[b+8>>2]=(d|0)==1&1;d=ke(a,i)|0;if(d|0){a=d;cc=k;return a|0}d=(c[i>>2]|0)+1|0;h=b+12|0;c[h>>2]=d;if(d>>>0>8){a=1;cc=k;return a|0}a:do if(d>>>0>1){e=b+16|0;d=ke(a,e)|0;if(d|0){a=d;cc=k;return a|0}d=c[e>>2]|0;if(d>>>0>6){a=1;cc=k;return a|0}switch(d|0){case 0:{g=me(4,c[h>>2]|0)|0;f=b+20|0;c[f>>2]=g;if(!g){a=65535;cc=k;return a|0}if(!(c[h>>2]|0))break a;e=0;while(1){d=ke(a,i)|0;if(d|0)break;c[(c[f>>2]|0)+(e<<2)>>2]=(c[i>>2]|0)+1;e=e+1|0;if(e>>>0>=(c[h>>2]|0)>>>0)break a}cc=k;return d|0}case 2:{g=b+24|0;c[g>>2]=me(4,(c[h>>2]|0)+-1|0)|0;f=me(4,(c[h>>2]|0)+-1|0)|0;e=b+28|0;c[e>>2]=f;if((f|0)==0|(c[g>>2]|0)==0){a=65535;cc=k;return a|0}if((c[h>>2]|0)==1)break a;f=0;while(1){d=ke(a,i)|0;if(d|0){e=49;break}c[(c[g>>2]|0)+(f<<2)>>2]=c[i>>2];d=ke(a,i)|0;if(d|0){e=49;break}c[(c[e>>2]|0)+(f<<2)>>2]=c[i>>2];f=f+1|0;if(f>>>0>=((c[h>>2]|0)+-1|0)>>>0)break a}if((e|0)==49){cc=k;return d|0}break}case 5:case 4:case 3:{d=ce(a,1)|0;if((d|0)==-1){a=1;cc=k;return a|0}c[b+32>>2]=(d|0)==1&1;d=ke(a,i)|0;if(!d){c[b+36>>2]=(c[i>>2]|0)+1;break a}else{a=d;cc=k;return a|0}}case 6:{d=ke(a,i)|0;if(d|0){a=d;cc=k;return a|0}e=(c[i>>2]|0)+1|0;f=b+40|0;c[f>>2]=e;e=me(4,e)|0;g=b+44|0;c[g>>2]=e;if(!e){a=65535;cc=k;return a|0}d=c[2096+((c[h>>2]|0)+-1<<2)>>2]|0;if(!(c[f>>2]|0))break a;e=0;while(1){l=ce(a,d)|0;c[(c[g>>2]|0)+(e<<2)>>2]=l;e=e+1|0;if(l>>>0>=(c[h>>2]|0)>>>0){d=1;break}if(e>>>0>=(c[f>>2]|0)>>>0)break a}cc=k;return d|0}default:break a}}while(0);d=ke(a,i)|0;if(d|0){l=d;cc=k;return l|0}d=c[i>>2]|0;if(d>>>0>31){l=1;cc=k;return l|0}c[b+48>>2]=d+1;d=ke(a,i)|0;if(d|0){l=d;cc=k;return l|0}if((c[i>>2]|0)>>>0>31){l=1;cc=k;return l|0}if(ce(a,1)|0){l=1;cc=k;return l|0}if((ce(a,2)|0)>>>0>2){l=1;cc=k;return l|0}d=le(a,j)|0;if(d|0){l=d;cc=k;return l|0}d=(c[j>>2]|0)+26|0;if(d>>>0>51){l=1;cc=k;return l|0}c[b+52>>2]=d;d=le(a,j)|0;if(d|0){l=d;cc=k;return l|0}if(((c[j>>2]|0)+26|0)>>>0>51){l=1;cc=k;return l|0}d=le(a,j)|0;if(d|0){l=d;cc=k;return l|0}d=c[j>>2]|0;if((d+12|0)>>>0>24){l=1;cc=k;return l|0}c[b+56>>2]=d;d=ce(a,1)|0;if((d|0)==-1){l=1;cc=k;return l|0}c[b+60>>2]=(d|0)==1&1;d=ce(a,1)|0;if((d|0)==-1){l=1;cc=k;return l|0}c[b+64>>2]=(d|0)==1&1;d=ce(a,1)|0;if((d|0)==-1){l=1;cc=k;return l|0}c[b+68>>2]=(d|0)==1&1;be(a)|0;l=0;cc=k;return l|0}function se(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);p=v+12|0;o=v+8|0;u=v+4|0;s=v;je(b,0,988);t=r(c[d+56>>2]|0,c[d+52>>2]|0)|0;g=ke(a,u)|0;if(g|0){u=g;cc=v;return u|0}m=c[u>>2]|0;c[b>>2]=m;if(m>>>0>=t>>>0){u=1;cc=v;return u|0}g=ke(a,u)|0;if(g|0){u=g;cc=v;return u|0}m=c[u>>2]|0;k=b+4|0;c[k>>2]=m;switch(m|0){case 7:case 2:break;case 5:case 0:{q=5;break}default:{u=1;cc=v;return u|0}}if((q|0)==5){if((c[f>>2]|0)==5){u=1;cc=v;return u|0}if(!(c[d+44>>2]|0)){u=1;cc=v;return u|0}}g=ke(a,u)|0;if(g|0){u=g;cc=v;return u|0}m=c[u>>2]|0;c[b+8>>2]=m;if((m|0)!=(c[e>>2]|0)){u=1;cc=v;return u|0}l=d+12|0;g=c[l>>2]|0;h=0;while(1)if(!(g>>>h))break;else h=h+1|0;g=ce(a,h+-1|0)|0;if((g|0)==-1){u=1;cc=v;return u|0}h=(c[f>>2]|0)==5;if((g|0)!=0&h){u=1;cc=v;return u|0}c[b+12>>2]=g;if(h){g=ke(a,u)|0;if(g|0){u=g;cc=v;return u|0}m=c[u>>2]|0;c[b+16>>2]=m;if(m>>>0>65535){u=1;cc=v;return u|0}}j=d+16|0;g=c[j>>2]|0;if(!g){i=d+20|0;g=c[i>>2]|0;h=0;while(1)if(!(g>>>h))break;else h=h+1|0;g=ce(a,h+-1|0)|0;if((g|0)==-1){u=1;cc=v;return u|0}h=b+20|0;c[h>>2]=g;do if(c[e+8>>2]|0){g=le(a,s)|0;if(!g){c[b+24>>2]=c[s>>2];break}else{u=g;cc=v;return u|0}}while(0);if((c[f>>2]|0)==5){g=c[h>>2]|0;if(g>>>0>(c[i>>2]|0)>>>1>>>0){u=1;cc=v;return u|0}m=c[b+24>>2]|0;if((g|0)!=(0-((m|0)<0?m:0)|0)){u=1;cc=v;return u|0}}g=c[j>>2]|0}if((g|0)==1?(c[d+24>>2]|0)==0:0){g=le(a,s)|0;if(g|0){u=g;cc=v;return u|0}g=b+28|0;c[g>>2]=c[s>>2];do if(c[e+8>>2]|0){h=le(a,s)|0;if(!h){c[b+32>>2]=c[s>>2];break}else{u=h;cc=v;return u|0}}while(0);if((c[f>>2]|0)==5?(j=c[g>>2]|0,m=(c[d+32>>2]|0)+j+(c[b+32>>2]|0)|0,((j|0)<(m|0)?j:m)|0):0){u=1;cc=v;return u|0}}if(c[e+68>>2]|0){g=ke(a,u)|0;if(g|0){u=g;cc=v;return u|0}m=c[u>>2]|0;c[b+36>>2]=m;if(m>>>0>127){u=1;cc=v;return u|0}}g=c[k>>2]|0;switch(g|0){case 5:case 0:{g=ce(a,1)|0;if((g|0)==-1){u=1;cc=v;return u|0}c[b+40>>2]=g;do if(!g){g=c[e+48>>2]|0;if(g>>>0>16){u=1;cc=v;return u|0}}else{g=ke(a,u)|0;if(g|0){u=g;cc=v;return u|0}g=c[u>>2]|0;if(g>>>0>15){u=1;cc=v;return u|0}else{g=g+1|0;break}}while(0);c[b+44>>2]=g;g=c[k>>2]|0;break}default:{}}a:do switch(g|0){case 5:case 0:{j=c[b+44>>2]|0;i=c[l>>2]|0;g=ce(a,1)|0;b:do if((g|0)==-1)g=1;else{c[b+68>>2]=g;if(g|0){h=0;while(1){if(h>>>0>j>>>0){g=1;break b}g=ke(a,o)|0;if(g|0)break b;g=c[o>>2]|0;if(g>>>0>3){g=1;break b}c[b+72+(h*12|0)>>2]=g;do if(g>>>0<2){g=ke(a,p)|0;if(g|0)break b;g=c[p>>2]|0;if(g>>>0>=i>>>0){g=1;break b}c[b+72+(h*12|0)+4>>2]=g+1}else{if((g|0)!=2)break;g=ke(a,p)|0;if(g|0)break b;c[b+72+(h*12|0)+8>>2]=c[p>>2]}while(0);if((c[o>>2]|0)==3)break;else h=h+1|0}if(!h){g=1;break}}break a}while(0);u=g;cc=v;return u|0}default:{}}while(0);do if(c[f+4>>2]|0){m=c[d+44>>2]|0;f=(c[f>>2]|0)==5;g=ce(a,1)|0;h=(g|0)==-1;c:do if(f)if((!h?(c[b+276>>2]=g,n=ce(a,1)|0,(n|0)!=-1):0)?(c[b+280>>2]=n,(m|0)!=0|(n|0)==0):0)q=92;else g=1;else if(!h){c[b+284>>2]=g;if(g){i=(m<<1)+2|0;j=0;k=0;h=0;l=0;d=0;while(1){if(j>>>0>i>>>0){g=1;break c}g=ke(a,o)|0;if(g|0)break c;g=c[o>>2]|0;if(g>>>0>6){g=1;break c}c[b+288+(j*20|0)>>2]=g;if((g|2|0)==3){g=ke(a,p)|0;if(g|0)break c;c[b+288+(j*20|0)+4>>2]=(c[p>>2]|0)+1;g=c[o>>2]|0}if((g|0)==2){g=ke(a,p)|0;if(g|0)break c;c[b+288+(j*20|0)+8>>2]=c[p>>2];g=c[o>>2]|0}switch(g|0){case 3:case 6:{g=ke(a,p)|0;if(g|0)break c;c[b+288+(j*20|0)+12>>2]=c[p>>2];g=c[o>>2]|0;break}default:{}}if((g|0)==4){g=ke(a,p)|0;if(g|0)break c;g=c[p>>2]|0;if(g>>>0>m>>>0){g=1;break c}c[b+288+(j*20|0)+16>>2]=(g|0)==0?65535:g+-1|0;g=c[o>>2]|0;h=h+1|0}l=l+((g|0)==5&1)|0;k=k+((g+-1|0)>>>0<3&1)|0;d=d+((g|0)==6&1)|0;if(!g)break;else j=j+1|0}if((l|h|d)>>>0<=1?!((l|0)!=0&(k|0)!=0):0)q=92;else g=1}else q=92}else g=1;while(0);if((q|0)==92)break;u=g;cc=v;return u|0}while(0);g=le(a,s)|0;if(g|0){u=g;cc=v;return u|0}q=c[s>>2]|0;c[b+48>>2]=q;q=(c[e+52>>2]|0)+q|0;c[s>>2]=q;if(q>>>0>51){u=1;cc=v;return u|0}do if(c[e+60>>2]|0){g=ke(a,u)|0;if(g|0){u=g;cc=v;return u|0}g=c[u>>2]|0;c[b+52>>2]=g;if(g>>>0>2){u=1;cc=v;return u|0}if((g|0)!=1){g=le(a,s)|0;if(g|0){u=g;cc=v;return u|0}g=c[s>>2]|0;if((g+6|0)>>>0>12){u=1;cc=v;return u|0}c[b+56>>2]=g<<1;g=le(a,s)|0;if(g|0){u=g;cc=v;return u|0}g=c[s>>2]|0;if((g+6|0)>>>0>12){u=1;cc=v;return u|0}else{c[b+60>>2]=g<<1;break}}}while(0);if((c[e+12>>2]|0)>>>0>1?((c[e+16>>2]|0)+-3|0)>>>0<3:0){j=e+36|0;h=c[j>>2]|0;i=(t>>>0)/(h>>>0)|0;h=(t-(r(i,h)|0)|0)==0;i=(h?1:2)+i|0;h=0;while(1){g=h+1|0;if(!(-1<>2]=g;if((g|0)==-1){u=1;cc=v;return u|0}c[b+64>>2]=g;u=c[j>>2]|0;if(g>>>0>(((t+-1+u|0)>>>0)/(u>>>0)|0)>>>0){u=1;cc=v;return u|0}}u=0;cc=v;return u|0}function te(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=cc;cc=cc+32|0;if((cc|0)>=(dc|0))w(32);e=f+20|0;d=f;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[d+16>>2]=c[a+16>>2];a=ke(d,e)|0;if(!a){a=ke(d,e)|0;if(!a){a=ke(d,e)|0;if(!a){a=c[e>>2]|0;if(a>>>0>255)a=1;else{c[b>>2]=a;a=0}}}}cc=f;return a|0}function ue(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=cc;cc=cc+32|0;if((cc|0)>=(dc|0))w(32);e=g+20|0;f=g;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];c[f+16>>2]=c[a+16>>2];a=ke(f,e)|0;if(a|0){d=a;cc=g;return d|0}a=ke(f,e)|0;if(a|0){d=a;cc=g;return d|0}a=ke(f,e)|0;if(a|0){d=a;cc=g;return d|0}a=0;while(1)if(!(b>>>a))break;else a=a+1|0;a=ce(f,a+-1|0)|0;if((a|0)==-1){d=1;cc=g;return d|0}c[d>>2]=a;d=0;cc=g;return d|0}function ve(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=cc;cc=cc+32|0;if((cc|0)>=(dc|0))w(32);f=h+20|0;g=h;if((d|0)==5){c[g>>2]=c[a>>2];c[g+4>>2]=c[a+4>>2];c[g+8>>2]=c[a+8>>2];c[g+12>>2]=c[a+12>>2];c[g+16>>2]=c[a+16>>2];d=ke(g,f)|0;if(!d){d=ke(g,f)|0;if(!d){d=ke(g,f)|0;if(!d){d=0;while(1)if(!(b>>>d))break;else d=d+1|0;if((ce(g,d+-1|0)|0)==-1)d=1;else d=ke(g,e)|0}}}}else d=1;cc=h;return d|0}function we(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=cc;cc=cc+32|0;if((cc|0)>=(dc|0))w(32);h=j+20|0;i=j;c[i>>2]=c[a>>2];c[i+4>>2]=c[a+4>>2];c[i+8>>2]=c[a+8>>2];c[i+12>>2]=c[a+12>>2];c[i+16>>2]=c[a+16>>2];a=ke(i,h)|0;if(a|0){e=a;cc=j;return e|0}a=ke(i,h)|0;if(a|0){e=a;cc=j;return e|0}a=ke(i,h)|0;if(a|0){e=a;cc=j;return e|0}a=c[b+12>>2]|0;f=0;while(1)if(!(a>>>f))break;else f=f+1|0;if((ce(i,f+-1|0)|0)==-1){e=1;cc=j;return e|0}if((d|0)==5?(g=ke(i,h)|0,g|0):0){e=g;cc=j;return e|0}a=c[b+20>>2]|0;f=0;while(1)if(!(a>>>f))break;else f=f+1|0;a=ce(i,f+-1|0)|0;if((a|0)==-1){e=1;cc=j;return e|0}c[e>>2]=a;e=0;cc=j;return e|0}function xe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=cc;cc=cc+32|0;if((cc|0)>=(dc|0))w(32);h=j+20|0;i=j;c[i>>2]=c[a>>2];c[i+4>>2]=c[a+4>>2];c[i+8>>2]=c[a+8>>2];c[i+12>>2]=c[a+12>>2];c[i+16>>2]=c[a+16>>2];a=ke(i,h)|0;if(a|0){i=a;cc=j;return i|0}a=ke(i,h)|0;if(a|0){i=a;cc=j;return i|0}a=ke(i,h)|0;if(a|0){i=a;cc=j;return i|0}a=c[b+12>>2]|0;f=0;while(1)if(!(a>>>f))break;else f=f+1|0;if((ce(i,f+-1|0)|0)==-1){i=1;cc=j;return i|0}if((d|0)==5?(g=ke(i,h)|0,g|0):0){i=g;cc=j;return i|0}a=c[b+20>>2]|0;f=0;while(1)if(!(a>>>f))break;else f=f+1|0;if((ce(i,f+-1|0)|0)==-1){i=1;cc=j;return i|0}i=le(i,e)|0;cc=j;return i|0}function ye(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=cc;cc=cc+32|0;if((cc|0)>=(dc|0))w(32);h=k+20|0;j=k;c[j>>2]=c[a>>2];c[j+4>>2]=c[a+4>>2];c[j+8>>2]=c[a+8>>2];c[j+12>>2]=c[a+12>>2];c[j+16>>2]=c[a+16>>2];a=ke(j,h)|0;if(a|0){j=a;cc=k;return j|0}a=ke(j,h)|0;if(a|0){j=a;cc=k;return j|0}a=ke(j,h)|0;if(a|0){j=a;cc=k;return j|0}a=c[b+12>>2]|0;b=0;while(1)if(!(a>>>b))break;else b=b+1|0;if((ce(j,b+-1|0)|0)==-1){j=1;cc=k;return j|0}if((d|0)==5?(g=ke(j,h)|0,g|0):0){j=g;cc=k;return j|0}a=le(j,f)|0;if(a|0){j=a;cc=k;return j|0}if(e|0?(i=le(j,f+4|0)|0,i|0):0){j=i;cc=k;return j|0}j=0;cc=k;return j|0}function ze(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=cc;cc=cc+32|0;if((cc|0)>=(dc|0))w(32);k=l+24|0;i=l+20|0;j=l;c[j>>2]=c[b>>2];c[j+4>>2]=c[b+4>>2];c[j+8>>2]=c[b+8>>2];c[j+12>>2]=c[b+12>>2];c[j+16>>2]=c[b+16>>2];f=ke(j,k)|0;if(f|0){e=f;cc=l;return e|0}f=ke(j,k)|0;if(f|0){e=f;cc=l;return e|0}f=ke(j,k)|0;if(f|0){e=f;cc=l;return e|0}f=c[d+12>>2]|0;b=0;while(1)if(!(f>>>b))break;else b=b+1|0;if((ce(j,b+-1|0)|0)==-1){e=1;cc=l;return e|0}f=ke(j,k)|0;if(f|0){e=f;cc=l;return e|0}g=d+16|0;f=c[g>>2]|0;if(!f){f=c[d+20>>2]|0;b=0;while(1)if(!(f>>>b))break;else b=b+1|0;if((ce(j,b+-1|0)|0)==-1){e=1;cc=l;return e|0}if(c[e+8>>2]|0?(h=le(j,i)|0,h|0):0){e=h;cc=l;return e|0}f=c[g>>2]|0}if((f|0)==1?(c[d+24>>2]|0)==0:0){f=le(j,i)|0;if(f|0){e=f;cc=l;return e|0}if(c[e+8>>2]|0?(m=le(j,i)|0,m|0):0){e=m;cc=l;return e|0}}if(c[e+68>>2]|0?(n=ke(j,k)|0,n|0):0){e=n;cc=l;return e|0}e=ce(j,1)|0;c[a>>2]=e;e=(e|0)==-1&1;cc=l;return e|0}function Ae(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;B=cc;cc=cc+448|0;if((cc|0)>=(dc|0))w(448);n=B+8|0;v=B+4|0;t=B;n=n+(0-n&15)|0;l=c[b+3376>>2]|0;h=c[e>>2]|0;c[v>>2]=0;x=b+1192|0;c[x>>2]=(c[x>>2]|0)+1;o=b+1200|0;c[o>>2]=0;m=b+12|0;c[t>>2]=(c[e+48>>2]|0)+(c[(c[m>>2]|0)+52>>2]|0);u=e+36|0;p=b+1212|0;q=e+52|0;r=e+56|0;s=e+60|0;y=e+4|0;j=e+44|0;g=b+1220|0;A=b+1176|0;k=b+1172|0;i=l+12|0;z=0;f=0;while(1){e=c[p>>2]|0;if((c[u>>2]|0)==0?c[e+(h*216|0)+196>>2]|0:0){e=1;f=20;break}C=c[(c[m>>2]|0)+56>>2]|0;F=c[q>>2]|0;E=c[r>>2]|0;D=c[s>>2]|0;c[e+(h*216|0)+4>>2]=c[x>>2];c[e+(h*216|0)+8>>2]=F;c[e+(h*216|0)+12>>2]=E;c[e+(h*216|0)+16>>2]=D;c[e+(h*216|0)+24>>2]=C;e=c[y>>2]|0;if((e|0)!=2?!((f|0)!=0|(e|0)==7):0){e=ke(a,v)|0;if(e|0){f=20;break}e=c[v>>2]|0;if(e>>>0>((c[A>>2]|0)-h|0)>>>0){e=1;f=20;break}if(!e)f=0;else{je(i,0,164);c[l>>2]=0;f=1}}e=c[v>>2]|0;if(!e){e=Be(a,l,(c[p>>2]|0)+(h*216|0)|0,c[y>>2]|0,c[j>>2]|0)|0;if(!e)f=0;else{f=20;break}}else c[v>>2]=e+-1;e=Ce((c[p>>2]|0)+(h*216|0)|0,l,d,g,t,h,c[(c[m>>2]|0)+64>>2]|0,n)|0;if(e|0){f=20;break}z=z+((c[(c[p>>2]|0)+(h*216|0)+196>>2]|0)==1&1)|0;e=de(a)|0;e=(c[v>>2]|e|0)!=0;switch(c[y>>2]|0){case 7:case 2:{c[o>>2]=h;break}default:{}}h=fe(c[k>>2]|0,c[A>>2]|0,h)|0;if(!((h|0)!=0|e^1)){e=1;f=20;break}if(!e){f=18;break}}if((f|0)==18){f=b+1196|0;e=(c[f>>2]|0)+z|0;if(e>>>0>(c[A>>2]|0)>>>0){F=1;cc=B;return F|0}c[f>>2]=e;F=0;cc=B;return F|0}else if((f|0)==20){cc=B;return e|0}return 0}function Be(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0;y=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);t=y+12|0;r=y+8|0;x=y+4|0;v=y;je(d,0,2088);i=ke(a,x)|0;h=c[x>>2]|0;a:do switch(f|0){case 2:case 7:{h=h+6|0;if((i|0)!=0|h>>>0>31){a=1;cc=y;return a|0}else{c[d>>2]=h;l=h;u=d;break a}}default:{h=h+1|0;if((i|0)!=0|h>>>0>31){a=1;cc=y;return a|0}else{c[d>>2]=h;l=h;u=d;break a}}}while(0);b:do if((l|0)!=31){i=l>>>0<6;h=(l|0)!=6;s=i?2:h&1;c:do if(!i){d:do if(!h){c[r>>2]=0;h=ee(a)|0;q=h>>>31;c[d+12>>2]=q;if(!q){c[d+76>>2]=h>>>28&7;h=h<<4;f=1}else{h=h<<1;f=0}q=h>>>31;c[d+16>>2]=q;if(!q){c[d+80>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+20>>2]=q;if(!q){c[d+84>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+24>>2]=q;if(!q){c[d+88>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+28>>2]=q;if(!q){c[d+92>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+32>>2]=q;if(!q){c[d+96>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+36>>2]=q;if(!q){c[d+100>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+40>>2]=q;if(!q){c[d+104>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;do if((oe(a,(f*3|0)+8|0)|0)!=-1){c[r>>2]=1;h=ee(a)|0;q=h>>>31;c[d+44>>2]=q;if(!q){c[d+108>>2]=h>>>28&7;h=h<<4;f=1}else{h=h<<1;f=0}q=h>>>31;c[d+48>>2]=q;if(!q){c[d+112>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+52>>2]=q;if(!q){c[d+116>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+56>>2]=q;if(!q){c[d+120>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+60>>2]=q;if(!q){c[d+124>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+64>>2]=q;if(!q){c[d+128>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+68>>2]=q;if(!q){c[d+132>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+72>>2]=q;if(!q){c[d+136>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;if((oe(a,(f*3|0)+8|0)|0)==-1)break;c[r>>2]=2;c[t>>2]=h;break d}while(0);c[t>>2]=h;h=1;q=96;break c}while(0);r=(ke(a,t)|0)!=0;h=c[t>>2]|0;if(r|h>>>0>3){h=1;q=96}else{c[d+140>>2]=h;h=0;q=96}}else{if(l>>>0<4){if(g>>>0>1){switch(l|0){case 0:case 1:{h=0;break}case 3:case 2:{h=1;break}default:h=3}j=g>>>0>2&1;i=0;while(1){if(nf(a,t,j)|0){h=1;q=96;break c}f=c[t>>2]|0;if(f>>>0>=g>>>0){h=1;q=96;break c}c[d+144+(i<<2)>>2]=f;if(!h)break;else{h=h+-1|0;i=i+1|0}}}switch(l|0){case 0:case 1:{h=0;break}case 3:case 2:{h=1;break}default:h=3}f=h;i=0;while(1){h=le(a,r)|0;if(h|0){q=96;break c}b[d+160+(i<<2)>>1]=c[r>>2];h=le(a,r)|0;if(h|0){q=96;break c}b[d+160+(i<<2)+2>>1]=c[r>>2];if(!f){h=0;q=96;break c}else{f=f+-1|0;i=i+1|0}}}i=(ke(a,t)|0)!=0;h=c[t>>2]|0;e:do if(((!(i|h>>>0>3)?(n=d+176|0,c[n>>2]=h,i=(ke(a,t)|0)!=0,k=c[t>>2]|0,!(i|k>>>0>3)):0)?(o=d+180|0,c[o>>2]=k,k=(ke(a,t)|0)!=0,j=c[t>>2]|0,!(k|j>>>0>3)):0)?(p=d+184|0,c[p>>2]=j,k=(ke(a,t)|0)!=0,m=c[t>>2]|0,!(k|m>>>0>3)):0){i=d+188|0;c[i>>2]=m;if(g>>>0>1&(l|0)!=5){f=g>>>0>2&1;if(nf(a,t,f)|0){h=1;break}h=c[t>>2]|0;if(h>>>0>=g>>>0){h=1;break}c[d+192>>2]=h;if(nf(a,t,f)|0){h=1;break}h=c[t>>2]|0;if(h>>>0>=g>>>0){h=1;break}c[d+196>>2]=h;if(nf(a,t,f)|0){h=1;break}h=c[t>>2]|0;if(h>>>0>=g>>>0){h=1;break}c[d+200>>2]=h;if(nf(a,t,f)|0){h=1;break}h=c[t>>2]|0;if(h>>>0>=g>>>0){h=1;break}c[d+204>>2]=h}h=c[n>>2]|0;switch(h|0){case 0:break;case 2:case 1:{h=1;break}default:h=3}c[t>>2]=h;f=0;while(1){h=le(a,r)|0;if(h|0)break e;b[d+208+(f<<2)>>1]=c[r>>2];h=le(a,r)|0;if(h|0)break e;b[d+208+(f<<2)+2>>1]=c[r>>2];g=c[t>>2]|0;c[t>>2]=g+-1;if(!g)break;else f=f+1|0}h=c[o>>2]|0;switch(h|0){case 0:break;case 2:case 1:{h=1;break}default:h=3}c[t>>2]=h;f=0;while(1){h=le(a,r)|0;if(h|0)break e;b[d+224+(f<<2)>>1]=c[r>>2];h=le(a,r)|0;if(h|0)break e;b[d+224+(f<<2)+2>>1]=c[r>>2];g=c[t>>2]|0;c[t>>2]=g+-1;if(!g)break;else f=f+1|0}h=c[p>>2]|0;switch(h|0){case 0:break;case 2:case 1:{h=1;break}default:h=3}c[t>>2]=h;f=0;while(1){h=le(a,r)|0;if(h|0)break e;b[d+240+(f<<2)>>1]=c[r>>2];h=le(a,r)|0;if(h|0)break e;b[d+240+(f<<2)+2>>1]=c[r>>2];p=c[t>>2]|0;c[t>>2]=p+-1;if(!p)break;else f=f+1|0}h=c[i>>2]|0;switch(h|0){case 0:break;case 2:case 1:{h=1;break}default:h=3}c[t>>2]=h;f=0;while(1){h=le(a,r)|0;if(h|0)break e;b[d+256+(f<<2)>>1]=c[r>>2];h=le(a,r)|0;if(h|0)break e;b[d+256+(f<<2)+2>>1]=c[r>>2];p=c[t>>2]|0;c[t>>2]=p+-1;if(!p){h=0;break}else f=f+1|0}}else h=1;while(0)}while(0);if(h|0){a=h;cc=y;return a|0}do if((s|0)!=1){h=of(a,x,(s|0)==0&1)|0;if(!h){x=c[x>>2]|0;c[d+4>>2]=x;if(!x)break b;else break}else{a=h;cc=y;return a|0}}else{x=c[u>>2]|0;s=x+-7|0;t=s>>>2<<4;c[d+4>>2]=(s>>>0>11?t+-48|0:t)|(x>>>0>18?15:0)}while(0);x=(le(a,v)|0)!=0;h=c[v>>2]|0;if(x|(h+26|0)>>>0>51){a=1;cc=y;return a|0}c[d+8>>2]=h;f=c[d+4>>2]|0;l=d+272|0;f:do if((c[u>>2]|0)>>>0>6){h=qf(a,d+1864|0,pf(e,0,l)|0,16)|0;if(!(h&15)){b[d+320>>1]=h>>>4&255;j=0;h=f;k=3;while(1){f=h>>>1;if(h&1|0){h=qf(a,d+328+(j<<6)+4|0,pf(e,j,l)|0,15)|0;c[d+1992+(j<<2)>>2]=h>>>15;if(h&15|0)break f;b[d+272+(j<<1)>>1]=h>>>4&255;i=j|1;h=qf(a,d+328+(i<<6)+4|0,pf(e,i,l)|0,15)|0;c[d+1992+(i<<2)>>2]=h>>>15;if(h&15|0)break f;b[d+272+(i<<1)>>1]=h>>>4&255;i=j|2;h=qf(a,d+328+(i<<6)+4|0,pf(e,i,l)|0,15)|0;c[d+1992+(i<<2)>>2]=h>>>15;if(h&15|0)break f;b[d+272+(i<<1)>>1]=h>>>4&255;i=j|3;h=qf(a,d+328+(i<<6)+4|0,pf(e,i,l)|0,15)|0;c[d+1992+(i<<2)>>2]=h>>>15;if(h&15|0)break f;b[d+272+(i<<1)>>1]=h>>>4&255}h=j+4|0;if(!k){i=h;q=115;break}else{j=h;h=f;k=k+-1|0}}}}else{j=0;h=f;k=3;while(1){f=h>>>1;if(h&1|0){h=qf(a,d+328+(j<<6)|0,pf(e,j,l)|0,16)|0;c[d+1992+(j<<2)>>2]=h>>>16;if(h&15|0)break f;b[d+272+(j<<1)>>1]=h>>>4&255;i=j|1;h=qf(a,d+328+(i<<6)|0,pf(e,i,l)|0,16)|0;c[d+1992+(i<<2)>>2]=h>>>16;if(h&15|0)break f;b[d+272+(i<<1)>>1]=h>>>4&255;i=j|2;h=qf(a,d+328+(i<<6)|0,pf(e,i,l)|0,16)|0;c[d+1992+(i<<2)>>2]=h>>>16;if(h&15|0)break f;b[d+272+(i<<1)>>1]=h>>>4&255;i=j|3;h=qf(a,d+328+(i<<6)|0,pf(e,i,l)|0,16)|0;c[d+1992+(i<<2)>>2]=h>>>16;if(h&15|0)break f;b[d+272+(i<<1)>>1]=h>>>4&255}h=j+4|0;if(!k){i=h;q=115;break}else{j=h;h=f;k=k+-1|0}}}while(0);do if((q|0)==115){if(f&3|0){h=qf(a,d+1928|0,-1,4)|0;if(h&15|0)break;b[d+322>>1]=h>>>4&255;h=qf(a,d+1944|0,-1,4)|0;if(h&15|0)break;b[d+324>>1]=h>>>4&255}if(f&2){h=qf(a,d+328+(i<<6)+4|0,pf(e,i,l)|0,15)|0;if(!(h&15)){b[d+272+(i<<1)>>1]=h>>>4&255;c[d+1992+(i<<2)>>2]=h>>>15;f=i+1|0;h=qf(a,d+328+(f<<6)+4|0,pf(e,f,l)|0,15)|0;if(!(h&15)){b[d+272+(f<<1)>>1]=h>>>4&255;c[d+1992+(f<<2)>>2]=h>>>15;f=i+2|0;h=qf(a,d+328+(f<<6)+4|0,pf(e,f,l)|0,15)|0;if(!(h&15)){b[d+272+(f<<1)>>1]=h>>>4&255;c[d+1992+(f<<2)>>2]=h>>>15;f=i+3|0;h=qf(a,d+328+(f<<6)+4|0,pf(e,f,l)|0,15)|0;if(!(h&15)){b[d+272+(f<<1)>>1]=h>>>4&255;c[d+1992+(f<<2)>>2]=h>>>15;f=i+4|0;h=qf(a,d+328+(f<<6)+4|0,pf(e,f,l)|0,15)|0;if(!(h&15)){b[d+272+(f<<1)>>1]=h>>>4&255;c[d+1992+(f<<2)>>2]=h>>>15;f=i+5|0;h=qf(a,d+328+(f<<6)+4|0,pf(e,f,l)|0,15)|0;if(!(h&15)){b[d+272+(f<<1)>>1]=h>>>4&255;c[d+1992+(f<<2)>>2]=h>>>15;f=i+6|0;h=qf(a,d+328+(f<<6)+4|0,pf(e,f,l)|0,15)|0;if(!(h&15)){b[d+272+(f<<1)>>1]=h>>>4&255;c[d+1992+(f<<2)>>2]=h>>>15;f=i+7|0;h=qf(a,d+328+(f<<6)+4|0,pf(e,f,l)|0,15)|0;if(!(h&15)){b[d+272+(f<<1)>>1]=h>>>4&255;c[d+1992+(f<<2)>>2]=h>>>15;h=0}}}}}}}}}else h=0}while(0);c[a+16>>2]=((c[a+4>>2]|0)-(c[a>>2]|0)<<3)+(c[a+8>>2]|0);if(h|0){a=h;cc=y;return a|0}}else{g:do if(!(mf(a)|0)){while(1){if(ce(a,1)|0){h=1;break}if(mf(a)|0)break g}cc=y;return h|0}while(0);i=0;f=d+328|0;while(1){h=ce(a,8)|0;c[x>>2]=h;if((h|0)==-1){h=1;break}c[f>>2]=h;i=i+1|0;if(i>>>0>=384)break b;else f=f+4|0}cc=y;return h|0}while(0);a=0;cc=y;return a|0}function Ce(d,e,f,g,h,i,j,k){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=c[e>>2]|0;c[d>>2]=s;m=d+196|0;c[m>>2]=(c[m>>2]|0)+1;ge(f,i);if((s|0)==31){l=d+28|0;c[d+20>>2]=0;if((c[m>>2]|0)>>>0>1){b[l>>1]=16;b[d+30>>1]=16;b[d+32>>1]=16;b[d+34>>1]=16;b[d+36>>1]=16;b[d+38>>1]=16;b[d+40>>1]=16;b[d+42>>1]=16;b[d+44>>1]=16;b[d+46>>1]=16;b[d+48>>1]=16;b[d+50>>1]=16;b[d+52>>1]=16;b[d+54>>1]=16;b[d+56>>1]=16;b[d+58>>1]=16;b[d+60>>1]=16;b[d+62>>1]=16;b[d+64>>1]=16;b[d+66>>1]=16;b[d+68>>1]=16;b[d+70>>1]=16;b[d+72>>1]=16;b[d+74>>1]=16;k=0;return k|0}n=23;m=e+328|0;h=k;while(1){b[l>>1]=16;a[h>>0]=c[m>>2];a[h+1>>0]=c[m+4>>2];a[h+2>>0]=c[m+8>>2];a[h+3>>0]=c[m+12>>2];a[h+4>>0]=c[m+16>>2];a[h+5>>0]=c[m+20>>2];a[h+6>>0]=c[m+24>>2];a[h+7>>0]=c[m+28>>2];a[h+8>>0]=c[m+32>>2];a[h+9>>0]=c[m+36>>2];a[h+10>>0]=c[m+40>>2];a[h+11>>0]=c[m+44>>2];a[h+12>>0]=c[m+48>>2];a[h+13>>0]=c[m+52>>2];a[h+14>>0]=c[m+56>>2];a[h+15>>0]=c[m+60>>2];if(!n)break;else{n=n+-1|0;m=m+64|0;h=h+16|0;l=l+2|0}}De(f,k);k=0;return k|0}p=d+28|0;if(s){Ee(p,e+272|0,54);m=c[e+8>>2]|0;l=c[h>>2]|0;do if(m){l=l+m|0;c[h>>2]=l;if((l|0)<0){l=l+52|0;c[h>>2]=l;break}if((l|0)>51){l=l+-52|0;c[h>>2]=l}}while(0);q=d+20|0;c[q>>2]=l;m=e+328|0;h=e+1992|0;a:do if((c[d>>2]|0)>>>0>6){if(b[d+76>>1]|0)_d(e+1864|0,l);n=2128;o=15;l=p;while(1){r=c[e+1864+(c[n>>2]<<2)>>2]|0;n=n+4|0;c[m>>2]=r;if((r|0)==0?(b[l>>1]|0)==0:0)c[m>>2]=16777215;else u=19;if((u|0)==19?(u=0,Zd(m,c[q>>2]|0,1,c[h>>2]|0)|0):0){l=1;break}m=m+64|0;l=l+2|0;h=h+4|0;if(!o){r=l;break a}else o=o+-1|0}return l|0}else{if(b[p>>1]|0){if(Zd(m,l,0,c[h>>2]|0)|0){k=1;return k|0}}else c[m>>2]=16777215;l=e+392|0;if(b[d+30>>1]|0){if(Zd(l,c[q>>2]|0,0,c[e+1996>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+456|0;if(b[d+32>>1]|0){if(Zd(l,c[q>>2]|0,0,c[e+2e3>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+520|0;if(b[d+34>>1]|0){if(Zd(l,c[q>>2]|0,0,c[e+2004>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+584|0;if(b[d+36>>1]|0){if(Zd(l,c[q>>2]|0,0,c[e+2008>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+648|0;if(b[d+38>>1]|0){if(Zd(l,c[q>>2]|0,0,c[e+2012>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+712|0;if(b[d+40>>1]|0){if(Zd(l,c[q>>2]|0,0,c[e+2016>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+776|0;if(b[d+42>>1]|0){if(Zd(l,c[q>>2]|0,0,c[e+2020>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+840|0;if(b[d+44>>1]|0){if(Zd(l,c[q>>2]|0,0,c[e+2024>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+904|0;if(b[d+46>>1]|0){if(Zd(l,c[q>>2]|0,0,c[e+2028>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+968|0;if(b[d+48>>1]|0){if(Zd(l,c[q>>2]|0,0,c[e+2032>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+1032|0;if(b[d+50>>1]|0){if(Zd(l,c[q>>2]|0,0,c[e+2036>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+1096|0;do if(!(b[d+52>>1]|0))c[l>>2]=16777215;else{if(!(Zd(l,c[q>>2]|0,0,c[e+2040>>2]|0)|0))break;else l=1;return l|0}while(0);l=e+1160|0;do if(!(b[d+54>>1]|0))c[l>>2]=16777215;else{if(!(Zd(l,c[q>>2]|0,0,c[e+2044>>2]|0)|0))break;else l=1;return l|0}while(0);l=e+1224|0;do if(!(b[d+56>>1]|0))c[l>>2]=16777215;else{if(!(Zd(l,c[q>>2]|0,0,c[e+2048>>2]|0)|0))break;else l=1;return l|0}while(0);l=e+1288|0;do if(!(b[d+58>>1]|0))c[l>>2]=16777215;else{if(!(Zd(l,c[q>>2]|0,0,c[e+2052>>2]|0)|0))break;else l=1;return l|0}while(0);m=e+1352|0;h=e+2056|0;r=d+60|0}while(0);q=(c[d+24>>2]|0)+(c[q>>2]|0)|0;q=(q|0)<51?q:51;q=c[1656+(((q|0)>0?q:0)<<2)>>2]|0;if((b[d+78>>1]|0)==0?(b[d+80>>1]|0)==0:0)l=e+1928|0;else{l=e+1928|0;$d(l,q)}o=e+1932|0;p=c[l>>2]|0;c[m>>2]=p;if((p|0)==0?(b[r>>1]|0)==0:0)c[m>>2]=16777215;else u=32;if((u|0)==32?Zd(m,q,1,c[h>>2]|0)|0:0){k=1;return k|0}n=h+4|0;p=e+1936|0;o=c[o>>2]|0;l=m+64|0;c[l>>2]=o;if((o|0)==0?(b[r+2>>1]|0)==0:0)c[l>>2]=16777215;else u=36;if((u|0)==36?Zd(l,q,1,c[n>>2]|0)|0:0){k=1;return k|0}n=h+8|0;o=e+1940|0;p=c[p>>2]|0;l=m+128|0;c[l>>2]=p;if((p|0)==0?(b[r+4>>1]|0)==0:0)c[l>>2]=16777215;else u=40;if((u|0)==40?Zd(l,q,1,c[n>>2]|0)|0:0){k=1;return k|0}n=h+12|0;p=e+1944|0;o=c[o>>2]|0;l=m+192|0;c[l>>2]=o;if((o|0)==0?(b[r+6>>1]|0)==0:0)c[l>>2]=16777215;else u=44;if((u|0)==44?Zd(l,q,1,c[n>>2]|0)|0:0){k=1;return k|0}n=h+16|0;o=e+1948|0;p=c[p>>2]|0;l=m+256|0;c[l>>2]=p;if((p|0)==0?(b[r+8>>1]|0)==0:0)c[l>>2]=16777215;else u=48;if((u|0)==48?Zd(l,q,1,c[n>>2]|0)|0:0){k=1;return k|0}n=h+20|0;p=e+1952|0;o=c[o>>2]|0;l=m+320|0;c[l>>2]=o;if((o|0)==0?(b[r+10>>1]|0)==0:0)c[l>>2]=16777215;else u=52;if((u|0)==52?Zd(l,q,1,c[n>>2]|0)|0:0){k=1;return k|0}n=h+24|0;o=e+1956|0;p=c[p>>2]|0;l=m+384|0;c[l>>2]=p;if((p|0)==0?(b[r+12>>1]|0)==0:0)c[l>>2]=16777215;else u=56;if((u|0)==56?Zd(l,q,1,c[n>>2]|0)|0:0){k=1;return k|0}h=h+28|0;p=c[o>>2]|0;l=m+448|0;c[l>>2]=p;if((p|0)==0?(b[r+14>>1]|0)==0:0)c[l>>2]=16777215;else u=60;if((u|0)==60?Zd(l,q,1,c[h>>2]|0)|0:0){k=1;return k|0}if(s>>>0>=6){l=Fe(d,e,f,i,j,k)|0;if(l|0){k=l;return k|0}}else u=110}else{je(p,0,54);c[d+20>>2]=c[h>>2];u=110}if((u|0)==110?(t=Ge(d,e,g,i,f,k)|0,t|0):0){k=t;return k|0}k=0;return k|0}function De(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[a+4>>2]|0;g=c[a+12>>2]|0;e=c[a+16>>2]|0;d=c[a+20>>2]|0;a=f<<2;h=c[b+4>>2]|0;c[g>>2]=c[b>>2];c[g+4>>2]=h;h=c[b+12>>2]|0;c[g+8>>2]=c[b+8>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+20>>2]|0;c[g>>2]=c[b+16>>2];c[g+4>>2]=h;h=c[b+28>>2]|0;c[g+8>>2]=c[b+24>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+36>>2]|0;c[g>>2]=c[b+32>>2];c[g+4>>2]=h;h=c[b+44>>2]|0;c[g+8>>2]=c[b+40>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+52>>2]|0;c[g>>2]=c[b+48>>2];c[g+4>>2]=h;h=c[b+60>>2]|0;c[g+8>>2]=c[b+56>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+68>>2]|0;c[g>>2]=c[b+64>>2];c[g+4>>2]=h;h=c[b+76>>2]|0;c[g+8>>2]=c[b+72>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+84>>2]|0;c[g>>2]=c[b+80>>2];c[g+4>>2]=h;h=c[b+92>>2]|0;c[g+8>>2]=c[b+88>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+100>>2]|0;c[g>>2]=c[b+96>>2];c[g+4>>2]=h;h=c[b+108>>2]|0;c[g+8>>2]=c[b+104>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+116>>2]|0;c[g>>2]=c[b+112>>2];c[g+4>>2]=h;h=c[b+124>>2]|0;c[g+8>>2]=c[b+120>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+132>>2]|0;c[g>>2]=c[b+128>>2];c[g+4>>2]=h;h=c[b+140>>2]|0;c[g+8>>2]=c[b+136>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+148>>2]|0;c[g>>2]=c[b+144>>2];c[g+4>>2]=h;h=c[b+156>>2]|0;c[g+8>>2]=c[b+152>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+164>>2]|0;c[g>>2]=c[b+160>>2];c[g+4>>2]=h;h=c[b+172>>2]|0;c[g+8>>2]=c[b+168>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+180>>2]|0;c[g>>2]=c[b+176>>2];c[g+4>>2]=h;h=c[b+188>>2]|0;c[g+8>>2]=c[b+184>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+196>>2]|0;c[g>>2]=c[b+192>>2];c[g+4>>2]=h;h=c[b+204>>2]|0;c[g+8>>2]=c[b+200>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+212>>2]|0;c[g>>2]=c[b+208>>2];c[g+4>>2]=h;h=c[b+220>>2]|0;c[g+8>>2]=c[b+216>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+228>>2]|0;c[g>>2]=c[b+224>>2];c[g+4>>2]=h;h=c[b+236>>2]|0;c[g+8>>2]=c[b+232>>2];c[g+12>>2]=h;a=g+(a<<2)|0;g=c[b+244>>2]|0;c[a>>2]=c[b+240>>2];c[a+4>>2]=g;g=c[b+252>>2]|0;c[a+8>>2]=c[b+248>>2];c[a+12>>2]=g;a=f<<1&2147483646;f=c[b+260>>2]|0;c[e>>2]=c[b+256>>2];c[e+4>>2]=f;e=e+(a<<2)|0;f=c[b+268>>2]|0;c[e>>2]=c[b+264>>2];c[e+4>>2]=f;e=e+(a<<2)|0;f=c[b+276>>2]|0;c[e>>2]=c[b+272>>2];c[e+4>>2]=f;e=e+(a<<2)|0;f=c[b+284>>2]|0;c[e>>2]=c[b+280>>2];c[e+4>>2]=f;e=e+(a<<2)|0;f=c[b+292>>2]|0;c[e>>2]=c[b+288>>2];c[e+4>>2]=f;e=e+(a<<2)|0;f=c[b+300>>2]|0;c[e>>2]=c[b+296>>2];c[e+4>>2]=f;e=e+(a<<2)|0;f=c[b+308>>2]|0;c[e>>2]=c[b+304>>2];c[e+4>>2]=f;e=e+(a<<2)|0;f=c[b+316>>2]|0;c[e>>2]=c[b+312>>2];c[e+4>>2]=f;e=c[b+324>>2]|0;c[d>>2]=c[b+320>>2];c[d+4>>2]=e;d=d+(a<<2)|0;e=c[b+332>>2]|0;c[d>>2]=c[b+328>>2];c[d+4>>2]=e;d=d+(a<<2)|0;e=c[b+340>>2]|0;c[d>>2]=c[b+336>>2];c[d+4>>2]=e;d=d+(a<<2)|0;e=c[b+348>>2]|0;c[d>>2]=c[b+344>>2];c[d+4>>2]=e;d=d+(a<<2)|0;e=c[b+356>>2]|0;c[d>>2]=c[b+352>>2];c[d+4>>2]=e;d=d+(a<<2)|0;e=c[b+364>>2]|0;c[d>>2]=c[b+360>>2];c[d+4>>2]=e;d=d+(a<<2)|0;e=c[b+372>>2]|0;c[d>>2]=c[b+368>>2];c[d+4>>2]=e;a=d+(a<<2)|0;d=c[b+380>>2]|0;c[a>>2]=c[b+376>>2];c[a+4>>2]=d;return}function Ee(a,b,c){a=a|0;b=b|0;c=c|0;pj(a|0,b|0,c|0)|0;return}function Fe(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=cc;cc=cc+80|0;if((cc|0)>=(dc|0))w(80);h=j+32|0;i=j;$e(d,h,i,e);if((af(c[a>>2]|0)|0)==1){e=bf(a,g,b+328|0,h,i,f)|0;if(e|0){a=e;cc=j;return a|0}}else{e=cf(a,g,b,h,i,f)|0;if(e|0){a=e;cc=j;return a|0}}e=df(a,g+256|0,b+1352|0,h+21|0,i+16|0,c[b+140>>2]|0,f)|0;if(e|0){a=e;cc=j;return a|0}if((c[a+196>>2]|0)>>>0>1){a=0;cc=j;return a|0}De(d,g);a=0;cc=j;return a|0} -function Gf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;n=r(f,e)|0;m=c[b+12>>2]|0;if((m|0)==1){je(a,0,n<<2);return}g=c[b+16>>2]|0;if((g+-3|0)>>>0<3){d=r(c[b+36>>2]|0,d)|0;d=d>>>0>>0?d:n;if((g&-2|0)==4){k=(c[b+32>>2]|0)==0?d:n-d|0;h=6}else u=d}else{k=0;d=0;h=6}a:do if((h|0)==6)switch(g|0){case 3:{u=d;break a}case 0:{j=c[b+20>>2]|0;if(!m){if(!n)return;while(1){}}d=0;while(1){if(d>>>0>=n>>>0){h=66;break}k=0;do{i=j+(k<<2)|0;g=c[i>>2]|0;b:do if(!g)g=0;else{b=0;do{h=b+d|0;if(h>>>0>=n>>>0)break b;c[a+(h<<2)>>2]=k;b=b+1|0;g=c[i>>2]|0}while(b>>>0>>0)}while(0);k=k+1|0;d=g+d|0;g=d>>>0>>0}while(k>>>0>>0&g);if(!g){h=66;break}}if((h|0)==66)return;break}case 1:{if(!n)return;d=0;do{u=(d>>>0)/(e>>>0)|0;c[a+(d<<2)>>2]=((((r(u,m)|0)>>>1)+(d-(r(u,e)|0))|0)>>>0)%(m>>>0)|0;d=d+1|0}while((d|0)!=(n|0));return}case 2:{l=c[b+24>>2]|0;f=c[b+28>>2]|0;g=m+-1|0;if(n|0){d=0;do{c[a+(d<<2)>>2]=g;d=d+1|0}while((d|0)!=(n|0));if(!g)return}j=m+-2|0;while(1){b=c[l+(j<<2)>>2]|0;d=(b>>>0)/(e>>>0)|0;b=b-(r(d,e)|0)|0;i=c[f+(j<<2)>>2]|0;k=(i>>>0)/(e>>>0)|0;i=i-(r(k,e)|0)|0;c:do if(d>>>0<=k>>>0){if(b>>>0>i>>>0)while(1){d=d+1|0;if(d>>>0>k>>>0)break c}do{g=r(d,e)|0;h=b;do{c[a+(h+g<<2)>>2]=j;h=h+1|0}while(h>>>0<=i>>>0);d=d+1|0}while(d>>>0<=k>>>0)}while(0);if(!j)break;else j=j+-1|0}return}case 4:{d=c[b+32>>2]|0;if(!n)return;h=1-d|0;g=0;do{c[a+(g<<2)>>2]=g>>>0>>0?d:h;g=g+1|0}while((g|0)!=(n|0));return}case 5:{d=c[b+32>>2]|0;if(!e)return;j=1-d|0;if(!f)return;h=0;b=0;while(1){g=0;i=b;while(1){u=a+((r(g,e)|0)+h<<2)|0;c[u>>2]=i>>>0>>0?d:j;g=g+1|0;if((g|0)==(f|0))break;else i=i+1|0}h=h+1|0;if((h|0)==(e|0))break;else b=b+f|0}return}default:{if(!n)return;d=c[b+44>>2]|0;g=0;do{c[a+(g<<2)>>2]=c[d+(g<<2)>>2];g=g+1|0}while((g|0)!=(n|0));return}}while(0);h=c[b+32>>2]|0;if(n|0){d=0;do{c[a+(d<<2)>>2]=1;d=d+1|0}while((d|0)!=(n|0))}d=(e-h|0)>>>1;g=(f-h|0)>>>1;if(!u)return;t=h<<1;q=t+-1|0;s=e+-1|0;t=1-t|0;p=f+-1|0;m=g;o=0;n=d;b=d;i=g;j=d;k=h+-1|0;f=g;while(1){d=a+((r(f,e)|0)+j<<2)|0;g=(c[d>>2]|0)==1;l=g&1;if(g)c[d>>2]=0;do if(!((k|0)==-1&(j|0)==(n|0))){if((k|0)==1&(j|0)==(b|0)){j=b+1|0;j=(j|0)<(s|0)?j:s;d=m;g=n;b=j;k=0;h=t;break}if((h|0)==-1&(f|0)==(i|0)){f=i+-1|0;f=(f|0)>0?f:0;d=m;g=n;i=f;k=t;h=0;break}if((h|0)==1&(f|0)==(m|0)){f=m+1|0;f=(f|0)<(p|0)?f:p;d=f;g=n;k=q;h=0;break}else{d=m;g=n;j=j+k|0;f=f+h|0;break}}else{j=n+-1|0;j=(j|0)>0?j:0;d=m;g=j;k=0;h=q}while(0);o=o+l|0;if(o>>>0>=u>>>0)break;else{m=d;n=g}}return}function Hf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=cc;cc=cc+32|0;if((cc|0)>=(dc|0))w(32);g=s+24|0;i=s+20|0;j=s+16|0;m=s+12|0;q=s+8|0;p=s;c[e>>2]=0;switch(c[b>>2]|0){case 6:case 7:case 8:case 9:case 10:case 11:case 13:case 14:case 15:case 16:case 17:case 18:{c[e>>2]=1;b=0;cc=s;return b|0}case 5:case 1:{r=d+1300|0;f=d+1332|0;if(c[f>>2]|0){c[e>>2]=1;c[f>>2]=0}f=te(a,g)|0;if(f|0){b=f;cc=s;return b|0}k=c[d+148+(c[g>>2]<<2)>>2]|0;if(!k){b=65520;cc=s;return b|0}f=c[k+4>>2]|0;l=c[d+20+(f<<2)>>2]|0;if(!l){b=65520;cc=s;return b|0}g=c[d+8>>2]|0;if(!((g|0)==32|(f|0)==(g|0))?(c[b>>2]|0)!=5:0){b=65520;cc=s;return b|0}f=c[d+1304>>2]|0;g=c[b+4>>2]|0;if((f|0)!=(g|0)?(f|0)==0|(g|0)==0:0)c[e>>2]=1;f=(c[b>>2]|0)==5;if((c[r>>2]|0)==5){if(!f)h=16}else if(f)h=16;if((h|0)==16)c[e>>2]=1;g=l+12|0;if(ue(a,c[g>>2]|0,i)|0){b=1;cc=s;return b|0}h=d+1308|0;f=c[i>>2]|0;if((c[h>>2]|0)!=(f|0)){c[h>>2]=f;c[e>>2]=1}if((c[b>>2]|0)==5){if(ve(a,c[g>>2]|0,5,j)|0){b=1;cc=s;return b|0}if((c[r>>2]|0)==5){f=d+1312|0;h=c[f>>2]|0;g=c[j>>2]|0;if((h|0)==(g|0))g=h;else c[e>>2]=1}else{g=c[j>>2]|0;f=d+1312|0}c[f>>2]=g}switch(c[l+16>>2]|0){case 0:{if(we(a,l,c[b>>2]|0,m)|0){b=1;cc=s;return b|0}g=d+1316|0;f=c[m>>2]|0;if((c[g>>2]|0)!=(f|0)){c[g>>2]=f;c[e>>2]=1}if(c[k+8>>2]|0){f=xe(a,l,c[b>>2]|0,q)|0;if(f|0){b=f;cc=s;return b|0}g=d+1320|0;f=c[q>>2]|0;if((c[g>>2]|0)!=(f|0)){c[g>>2]=f;c[e>>2]=1}}break}case 1:{if(!(c[l+24>>2]|0)){h=k+8|0;f=ye(a,l,c[b>>2]|0,c[h>>2]|0,p)|0;if(f|0){b=f;cc=s;return b|0}g=d+1324|0;f=c[p>>2]|0;if((c[g>>2]|0)!=(f|0)){c[g>>2]=f;c[e>>2]=1}if(c[h>>2]|0?(o=d+1328|0,n=c[p+4>>2]|0,(c[o>>2]|0)!=(n|0)):0){c[o>>2]=n;c[e>>2]=1}}break}default:{}}d=b;e=c[d+4>>2]|0;b=r;c[b>>2]=c[d>>2];c[b+4>>2]=e;b=0;cc=s;return b|0}default:{b=0;cc=s;return b|0}}return 0}function If(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=0;a:while(1){d=c[a+148+(k<<2)>>2]|0;b:do if(d|0?(j=c[a+20+(c[d+4>>2]<<2)>>2]|0,j|0):0){i=c[j+52>>2]|0;l=r(c[j+56>>2]|0,i)|0;e=c[d+12>>2]|0;if(e>>>0<=1){b=0;d=18;break a}b=c[d+16>>2]|0;switch(b|0){case 0:{b=c[d+20>>2]|0;d=0;while(1){if((c[b+(d<<2)>>2]|0)>>>0>l>>>0)break b;d=d+1|0;if(d>>>0>=e>>>0){b=0;d=18;break a}}}case 2:{h=e+-1|0;g=c[d+24>>2]|0;d=c[d+28>>2]|0;f=0;while(1){e=c[g+(f<<2)>>2]|0;b=c[d+(f<<2)>>2]|0;if(!(e>>>0<=b>>>0&b>>>0>>0))break b;f=f+1|0;if(((e>>>0)%(i>>>0)|0)>>>0>((b>>>0)%(i>>>0)|0)>>>0)break b;if(f>>>0>=h>>>0){b=0;d=18;break a}}}default:{if((b+-3|0)>>>0<3)if((c[d+36>>2]|0)>>>0>l>>>0)break b;else{b=0;d=18;break a}if((b|0)!=6){b=0;d=18;break a}if((c[d+40>>2]|0)>>>0>>0)break b;else{b=0;d=18;break a}}}}while(0);k=k+1|0;if(k>>>0>=256){b=1;d=18;break}}if((d|0)==18)return b|0;return 0}function Jf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=c[a+40>>2]|0;if(g|0){h=c[a>>2]|0;j=a+32|0;i=0;do{if(((c[h+(i*40|0)+20>>2]|0)+-1|0)>>>0<2){f=c[h+(i*40|0)+12>>2]|0;if(f>>>0>d>>>0)f=f-(c[j>>2]|0)|0;c[h+(i*40|0)+8>>2]=f}i=i+1|0}while((i|0)!=(g|0))}if(!(c[b>>2]|0)){b=0;return b|0}f=c[b+4>>2]|0;if(f>>>0>=3){b=0;return b|0}o=a+24|0;n=a+32|0;m=a+4|0;k=d;l=0;a:while(1){b:do if((f|0)==2){f=c[b+4+(l*12|0)+8>>2]|0;g=c[o>>2]|0;if(!g){f=1;g=39;break a}i=c[a>>2]|0;h=0;while(1){if((c[i+(h*40|0)+20>>2]|0)==3?(c[i+(h*40|0)+8>>2]|0)==(f|0):0){j=3;g=i;break b}h=h+1|0;if(h>>>0>=g>>>0){f=1;g=39;break a}}}else{g=c[b+4+(l*12|0)+4>>2]|0;if(!f){f=k-g|0;if((f|0)<0)f=(c[n>>2]|0)+f|0}else{k=g+k|0;f=c[n>>2]|0;f=k-((k|0)<(f|0)?0:f)|0}if(f>>>0>d>>>0)i=f-(c[n>>2]|0)|0;else i=f;g=c[o>>2]|0;if(!g){f=1;g=39;break a}k=c[a>>2]|0;h=0;while(1){j=c[k+(h*40|0)+20>>2]|0;if((j+-1|0)>>>0<2?(c[k+(h*40|0)+8>>2]|0)==(i|0):0){g=k;k=f;break b}h=h+1|0;if(h>>>0>=g>>>0){f=1;g=39;break a}}}while(0);if(!((h|0)>-1&j>>>0>1)){f=1;g=39;break}if(l>>>0>>0){f=e;do{i=c[m>>2]|0;j=f;f=f+-1|0;c[i+(j<<2)>>2]=c[i+(f<<2)>>2]}while(f>>>0>l>>>0);f=c[a>>2]|0}else f=g;c[(c[m>>2]|0)+(l<<2)>>2]=f+(h*40|0);l=l+1|0;if(l>>>0<=e>>>0){j=l;f=l;do{g=c[m>>2]|0;i=c[g+(j<<2)>>2]|0;if((i|0)!=((c[a>>2]|0)+(h*40|0)|0)){c[g+(f<<2)>>2]=i;f=f+1|0}j=j+1|0}while(j>>>0<=e>>>0)}f=c[b+4+(l*12|0)>>2]|0;if(f>>>0>=3){f=0;g=39;break}}if((g|0)==39)return f|0;return 0}function Kf(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=a+8|0;j=c[z>>2]|0;if((c[d>>2]|0)!=(c[j>>2]|0)){a=1;return a|0}u=a+52|0;c[u>>2]=0;A=a+56|0;d=(c[A>>2]|0)==0;y=d&1;do if(!b){c[j+20>>2]=0;c[j+12>>2]=e;c[j+8>>2]=e;c[j+16>>2]=f;c[j+24>>2]=y;if(d){q=a+44|0;c[q>>2]=(c[q>>2]|0)+1;q=0}else q=0}else{if(g|0){j=a+20|0;c[j>>2]=0;d=a+16|0;c[d>>2]=0;Lf(a);if(!((c[b>>2]|0)==0?!(c[A>>2]|0):0)){c[d>>2]=0;c[j>>2]=0}f=(c[b+4>>2]|0)==0;q=c[z>>2]|0;c[q+20>>2]=f?2:3;c[a+36>>2]=f?65535:0;c[q+12>>2]=0;c[q+8>>2]=0;c[q+16>>2]=0;c[q+24>>2]=y;c[a+44>>2]=1;c[a+40>>2]=1;q=0;break}if(!(c[b+8>>2]|0)){j=a+40|0;l=c[j>>2]|0;p=c[a+24>>2]|0;if(l>>>0>=p>>>0)if(l){o=c[a>>2]|0;m=0;d=-1;k=0;while(1){if(((c[o+(m*40|0)+20>>2]|0)+-1|0)>>>0<2){b=c[o+(m*40|0)+8>>2]|0;x=(d|0)==-1|(b|0)<(k|0);n=x?m:d;k=x?b:k}else n=d;m=m+1|0;if((m|0)==(l|0))break;else d=n}if((n|0)>-1){c[o+(n*40|0)+20>>2]=0;d=l+-1|0;c[j>>2]=d;if(!(c[o+(n*40|0)+24>>2]|0)){l=a+44|0;c[l>>2]=(c[l>>2]|0)+-1;l=d;k=p;d=0}else{l=d;k=p;d=0}}else{k=p;d=1}}else{l=0;k=p;d=1}else{k=p;d=0}}else{v=a+24|0;t=a+36|0;j=a+40|0;s=a+44|0;q=0;r=0;a:while(1){d=c[b+12+(q*20|0)>>2]|0;b:do switch(d|0){case 0:{x=77;break a}case 1:{n=e-(c[b+12+(q*20|0)+4>>2]|0)|0;l=c[v>>2]|0;if(!l){d=1;break a}m=c[a>>2]|0;d=0;while(1){k=m+(d*40|0)+20|0;if(((c[k>>2]|0)+-1|0)>>>0<2?(c[m+(d*40|0)+8>>2]|0)==(n|0):0)break;d=d+1|0;if(d>>>0>=l>>>0){d=1;break a}}if((d|0)<0){d=1;break a}c[k>>2]=0;c[j>>2]=(c[j>>2]|0)+-1;if(!(c[m+(d*40|0)+24>>2]|0)){c[s>>2]=(c[s>>2]|0)+-1;d=r}else d=r;break}case 2:{l=c[b+12+(q*20|0)+8>>2]|0;m=c[v>>2]|0;if(!m){d=1;break a}n=c[a>>2]|0;d=0;while(1){k=n+(d*40|0)+20|0;if((c[k>>2]|0)==3?(c[n+(d*40|0)+8>>2]|0)==(l|0):0)break;d=d+1|0;if(d>>>0>=m>>>0){d=1;break a}}if((d|0)<0){d=1;break a}c[k>>2]=0;c[j>>2]=(c[j>>2]|0)+-1;if(!(c[n+(d*40|0)+24>>2]|0)){c[s>>2]=(c[s>>2]|0)+-1;d=r}else d=r;break}case 3:{d=c[b+12+(q*20|0)+4>>2]|0;n=c[b+12+(q*20|0)+12>>2]|0;p=c[t>>2]|0;if((p|0)==65535|p>>>0>>0){d=1;break a}o=c[v>>2]|0;if(!o){d=1;break a}p=c[a>>2]|0;k=0;while(1){m=p+(k*40|0)+20|0;if((c[m>>2]|0)==3?(c[p+(k*40|0)+8>>2]|0)==(n|0):0){x=34;break}l=k+1|0;if(l>>>0>>0)k=l;else break}if((x|0)==34?(x=0,c[m>>2]=0,c[j>>2]=(c[j>>2]|0)+-1,(c[p+(k*40|0)+24>>2]|0)==0):0)c[s>>2]=(c[s>>2]|0)+-1;m=e-d|0;d=0;while(1){l=p+(d*40|0)+20|0;k=c[l>>2]|0;if((k+-1|0)>>>0<2?(w=p+(d*40|0)+8|0,(c[w>>2]|0)==(m|0)):0)break;d=d+1|0;if(d>>>0>=o>>>0){d=1;break a}}if(!((d|0)>-1&k>>>0>1)){d=1;break a}c[l>>2]=3;c[w>>2]=n;d=r;break}case 4:{d=c[b+12+(q*20|0)+16>>2]|0;c[t>>2]=d;m=c[v>>2]|0;if(!m)d=r;else{n=c[a>>2]|0;if((d|0)==65535){d=0;while(1){k=n+(d*40|0)+20|0;if((c[k>>2]|0)==3?(c[k>>2]=0,c[j>>2]=(c[j>>2]|0)+-1,(c[n+(d*40|0)+24>>2]|0)==0):0)c[s>>2]=(c[s>>2]|0)+-1;d=d+1|0;if((d|0)==(m|0)){d=r;break b}}}k=0;do{l=n+(k*40|0)+20|0;if(((c[l>>2]|0)==3?(c[n+(k*40|0)+8>>2]|0)>>>0>d>>>0:0)?(c[l>>2]=0,c[j>>2]=(c[j>>2]|0)+-1,(c[n+(k*40|0)+24>>2]|0)==0):0)c[s>>2]=(c[s>>2]|0)+-1;k=k+1|0}while((k|0)!=(m|0));d=r}break}case 5:{Lf(a);c[u>>2]=1;e=0;d=r;break}case 6:{n=c[b+12+(q*20|0)+12>>2]|0;p=c[t>>2]|0;if((p|0)==65535|p>>>0>>0){d=1;break a}k=c[v>>2]|0;c:do if(k){m=c[a>>2]|0;d=0;while(1){l=m+(d*40|0)+20|0;if((c[l>>2]|0)==3?(c[m+(d*40|0)+8>>2]|0)==(n|0):0)break;d=d+1|0;if(d>>>0>=k>>>0)break c}c[l>>2]=0;c[j>>2]=(c[j>>2]|0)+-1;if(!(c[m+(d*40|0)+24>>2]|0))c[s>>2]=(c[s>>2]|0)+-1}else k=0;while(0);d=c[j>>2]|0;if(d>>>0>=k>>>0){d=1;break a}r=c[z>>2]|0;c[r+12>>2]=e;c[r+8>>2]=n;c[r+16>>2]=f;c[r+20>>2]=3;c[r+24>>2]=(c[A>>2]|0)==0&1;c[j>>2]=d+1;c[s>>2]=(c[s>>2]|0)+1;d=1;break}default:{d=1;break a}}while(0);q=q+1|0;r=d}if(r|0){q=d;break}l=c[j>>2]|0;k=c[v>>2]|0}if(l>>>0>>0){q=c[z>>2]|0;c[q+12>>2]=e;c[q+8>>2]=e;c[q+16>>2]=f;c[q+20>>2]=2;c[q+24>>2]=y;q=a+44|0;c[q>>2]=(c[q>>2]|0)+1;c[j>>2]=l+1;q=d}else q=1}while(0);d=c[z>>2]|0;c[d+36>>2]=g;c[d+28>>2]=h;c[d+32>>2]=i;if(!(c[A>>2]|0)){n=a+44|0;j=c[n>>2]|0;d=c[a+28>>2]|0;if(j>>>0>d>>>0){m=c[a>>2]|0;p=a+12|0;o=a+16|0;do{l=0;e=2147483647;k=0;do{if(c[m+(l*40|0)+24>>2]|0){g=c[m+(l*40|0)+16>>2]|0;i=(g|0)<(e|0);e=i?g:e;k=i?m+(l*40|0)|0:k}l=l+1|0}while(l>>>0<=d>>>0);if((k|0)!=0?(g=c[p>>2]|0,i=c[o>>2]|0,c[g+(i<<4)>>2]=c[k>>2],c[g+(i<<4)+12>>2]=c[k+36>>2],c[g+(i<<4)+4>>2]=c[k+28>>2],c[g+(i<<4)+8>>2]=c[k+32>>2],c[o>>2]=i+1,c[k+24>>2]=0,(c[k+20>>2]|0)==0):0){j=j+-1|0;c[n>>2]=j}}while(j>>>0>d>>>0)}}else{y=c[a+12>>2]|0;A=a+16|0;z=c[A>>2]|0;c[y+(z<<4)>>2]=c[d>>2];c[y+(z<<4)+12>>2]=g;c[y+(z<<4)+4>>2]=h;c[y+(z<<4)+8>>2]=i;c[A>>2]=z+1;d=c[a+28>>2]|0}Mf(c[a>>2]|0,d+1|0);a=q;return a|0}function Lf(a){a=a|0;var b=0,d=0,e=0;d=c[a>>2]|0;e=a+44|0;b=d+20|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+24>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+60|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+64>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+100|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+104>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+140|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+144>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+180|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+184>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+220|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+224>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+260|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+264>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+300|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+304>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+340|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+344>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+380|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+384>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+420|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+424>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+460|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+464>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+500|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+504>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+540|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+544>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+580|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+584>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+620|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+624>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;do{}while(!(Nf(a)|0));c[a+40>>2]=0;c[a+36>>2]=65535;c[a+48>>2]=0;return}function Mf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=cc;cc=cc+32|0;if((cc|0)>=(dc|0))w(32);o=q+16|0;p=q;if(b>>>0>7){j=7;do{d=a+(j*40|0)|0;i=d;h=c[i>>2]|0;i=c[i+4>>2]|0;k=c[a+(j*40|0)+8>>2]|0;n=a+(j*40|0)+12|0;m=c[n+4>>2]|0;l=o;c[l>>2]=c[n>>2];c[l+4>>2]=m;l=c[a+(j*40|0)+20>>2]|0;m=c[a+(j*40|0)+24>>2]|0;n=a+(j*40|0)+28|0;c[p>>2]=c[n>>2];c[p+4>>2]=c[n+4>>2];c[p+8>>2]=c[n+8>>2];a:do if(j>>>0<7)e=j;else{if(!l){if(!m){e=j;break}e=j;while(1){d=a+(e*40|0)|0;f=d+-280|0;if(c[f+20>>2]|0)break a;if(c[f+24>>2]|0)break a;e=e+-7|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(e>>>0<7){d=f;break a}}}if((l+-1|0)>>>0<2){e=j;while(1){d=a+(e*40|0)|0;n=d+-280|0;g=c[n+20>>2]|0;if((g|0)!=0&(g+-1|0)>>>0<2?(c[n+8>>2]|0)>=(k|0):0)break a;e=e+-7|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(e>>>0<7){d=f;break a}}}e=j;while(1){d=a+(e*40|0)|0;g=d+-280|0;f=c[g+20>>2]|0;if(f|0){if((f+-1|0)>>>0<2)break a;if((c[g+8>>2]|0)<=(k|0))break a}e=e+-7|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(e>>>0<7){d=f;break}}}while(0);n=d;c[n>>2]=h;c[n+4>>2]=i;c[a+(e*40|0)+8>>2]=k;i=o;k=c[i+4>>2]|0;n=a+(e*40|0)+12|0;c[n>>2]=c[i>>2];c[n+4>>2]=k;c[a+(e*40|0)+20>>2]=l;c[a+(e*40|0)+24>>2]=m;n=a+(e*40|0)+28|0;c[n>>2]=c[p>>2];c[n+4>>2]=c[p+4>>2];c[n+8>>2]=c[p+8>>2];j=j+1|0}while((j|0)!=(b|0))}if(b>>>0>3){j=3;do{d=a+(j*40|0)|0;i=d;h=c[i>>2]|0;i=c[i+4>>2]|0;k=c[a+(j*40|0)+8>>2]|0;n=a+(j*40|0)+12|0;m=c[n+4>>2]|0;l=o;c[l>>2]=c[n>>2];c[l+4>>2]=m;l=c[a+(j*40|0)+20>>2]|0;m=c[a+(j*40|0)+24>>2]|0;n=a+(j*40|0)+28|0;c[p>>2]=c[n>>2];c[p+4>>2]=c[n+4>>2];c[p+8>>2]=c[n+8>>2];b:do if(j>>>0<3)e=j;else{if(!l){if(!m){e=j;break}e=j;while(1){d=a+(e*40|0)|0;f=d+-120|0;if(c[f+20>>2]|0)break b;if(c[f+24>>2]|0)break b;e=e+-3|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(e>>>0<3){d=f;break b}}}if((l+-1|0)>>>0<2){e=j;while(1){d=a+(e*40|0)|0;n=d+-120|0;g=c[n+20>>2]|0;if((g|0)!=0&(g+-1|0)>>>0<2?(c[n+8>>2]|0)>=(k|0):0)break b;e=e+-3|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(e>>>0<3){d=f;break b}}}e=j;while(1){d=a+(e*40|0)|0;g=d+-120|0;f=c[g+20>>2]|0;if(f|0){if((f+-1|0)>>>0<2)break b;if((c[g+8>>2]|0)<=(k|0))break b}e=e+-3|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(e>>>0<3){d=f;break}}}while(0);n=d;c[n>>2]=h;c[n+4>>2]=i;c[a+(e*40|0)+8>>2]=k;i=o;k=c[i+4>>2]|0;n=a+(e*40|0)+12|0;c[n>>2]=c[i>>2];c[n+4>>2]=k;c[a+(e*40|0)+20>>2]=l;c[a+(e*40|0)+24>>2]=m;n=a+(e*40|0)+28|0;c[n>>2]=c[p>>2];c[n+4>>2]=c[p+4>>2];c[n+8>>2]=c[p+8>>2];j=j+1|0}while((j|0)!=(b|0))}if(b>>>0<=1){cc=q;return}j=1;do{d=a+(j*40|0)|0;i=d;h=c[i>>2]|0;i=c[i+4>>2]|0;k=c[a+(j*40|0)+8>>2]|0;n=a+(j*40|0)+12|0;m=c[n+4>>2]|0;l=o;c[l>>2]=c[n>>2];c[l+4>>2]=m;l=c[a+(j*40|0)+20>>2]|0;m=c[a+(j*40|0)+24>>2]|0;n=a+(j*40|0)+28|0;c[p>>2]=c[n>>2];c[p+4>>2]=c[n+4>>2];c[p+8>>2]=c[n+8>>2];c:do if(!l)if(!m)e=j;else{e=j;while(1){d=a+(e*40|0)|0;f=d+-40|0;if(c[f+20>>2]|0)break c;if(c[f+24>>2]|0)break c;e=e+-1|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(!e){d=f;break}}}else{if((l+-1|0)>>>0<2){e=j;while(1){d=a+(e*40|0)|0;n=d+-40|0;g=c[n+20>>2]|0;if((g|0)!=0&(g+-1|0)>>>0<2?(c[n+8>>2]|0)>=(k|0):0)break c;e=e+-1|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(!e){d=f;break c}}}e=j;while(1){d=a+(e*40|0)|0;g=d+-40|0;f=c[g+20>>2]|0;if(f|0){if((f+-1|0)>>>0<2)break c;if((c[g+8>>2]|0)<=(k|0))break c}e=e+-1|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(!e){d=f;break}}}while(0);n=d;c[n>>2]=h;c[n+4>>2]=i;c[a+(e*40|0)+8>>2]=k;i=o;k=c[i+4>>2]|0;n=a+(e*40|0)+12|0;c[n>>2]=c[i>>2];c[n+4>>2]=k;c[a+(e*40|0)+20>>2]=l;c[a+(e*40|0)+24>>2]=m;n=a+(e*40|0)+28|0;c[n>>2]=c[p>>2];c[n+4>>2]=c[p+4>>2];c[n+8>>2]=c[p+8>>2];j=j+1|0}while((j|0)!=(b|0));cc=q;return}function Nf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;if(c[a+56>>2]|0){g=1;return g|0}e=c[a>>2]|0;f=c[a+28>>2]|0;g=0;b=2147483647;d=0;do{if(c[e+(g*40|0)+24>>2]|0){i=c[e+(g*40|0)+16>>2]|0;h=(i|0)<(b|0);b=h?i:b;d=h?e+(g*40|0)|0:d}g=g+1|0}while(g>>>0<=f>>>0);if(!d){i=1;return i|0}g=c[a+12>>2]|0;i=a+16|0;h=c[i>>2]|0;c[g+(h<<4)>>2]=c[d>>2];c[g+(h<<4)+12>>2]=c[d+36>>2];c[g+(h<<4)+4>>2]=c[d+28>>2];c[g+(h<<4)+8>>2]=c[d+32>>2];c[i>>2]=h+1;c[d+24>>2]=0;if(c[d+20>>2]|0){i=0;return i|0}i=a+44|0;c[i>>2]=(c[i>>2]|0)+-1;i=0;return i|0}function Of(a){a=a|0;var b=0;b=(c[a>>2]|0)+((c[a+28>>2]|0)*40|0)|0;c[a+8>>2]=b;return c[b>>2]|0}function Pf(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if((b|0)!=0?(e=a+28|0,(c[e>>2]|0)!=-1):0){d=0;do{xf(c[b+(d*40|0)+4>>2]|0);b=c[a>>2]|0;c[b+(d*40|0)+4>>2]=0;d=d+1|0}while(d>>>0<((c[e>>2]|0)+1|0)>>>0)}xf(b);c[a>>2]=0;e=a+4|0;xf(c[e>>2]|0);c[e>>2]=0;a=a+12|0;xf(c[a>>2]|0);c[a>>2]=0;return}function Qf(a){a=a|0;var b=0,d=0,e=0;b=c[a+40>>2]|0;if(!b)return;e=a+4|0;d=0;do{c[(c[e>>2]|0)+(d<<2)>>2]=(c[a>>2]|0)+(d*40|0);d=d+1|0}while(d>>>0>>0);return}function Rf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;t=a+16|0;c[t>>2]=0;c[a+20>>2]=0;if(!e){b=0;return b|0}v=a+48|0;e=c[v>>2]|0;f=(e|0)==(b|0);do if(!f?(r=a+32|0,g=c[r>>2]|0,h=((e+1|0)>>>0)%(g>>>0)|0,(h|0)!=(b|0)):0){s=a+28|0;u=c[(c[a>>2]|0)+((c[s>>2]|0)*40|0)>>2]|0;p=a+40|0;n=a+24|0;m=a+44|0;o=a+56|0;q=a+12|0;l=h;while(1){j=c[p>>2]|0;f=(j|0)==0;if(!f){e=c[a>>2]|0;h=0;do{if(((c[e+(h*40|0)+20>>2]|0)+-1|0)>>>0<2){k=c[e+(h*40|0)+12>>2]|0;c[e+(h*40|0)+8>>2]=k-(k>>>0>l>>>0?g:0)}h=h+1|0}while((h|0)!=(j|0))}if(j>>>0>=(c[n>>2]|0)>>>0){if(f){e=1;m=49;break}i=c[a>>2]|0;g=0;e=-1;f=0;while(1){if(((c[i+(g*40|0)+20>>2]|0)+-1|0)>>>0<2){k=c[i+(g*40|0)+8>>2]|0;w=(e|0)==-1|(k|0)<(f|0);h=w?g:e;f=w?k:f}else h=e;g=g+1|0;if((g|0)==(j|0))break;else e=h}if((h|0)<=-1){e=1;m=49;break}c[i+(h*40|0)+20>>2]=0;e=j+-1|0;c[p>>2]=e;if(!(c[i+(h*40|0)+24>>2]|0)){c[m>>2]=(c[m>>2]|0)+-1;j=e}else j=e}e=c[m>>2]|0;k=c[s>>2]|0;if(e>>>0>=k>>>0){if(c[o>>2]|0){m=21;break}i=c[a>>2]|0;do{h=0;f=2147483647;g=0;do{if(c[i+(h*40|0)+24>>2]|0){x=c[i+(h*40|0)+16>>2]|0;w=(x|0)<(f|0);f=w?x:f;g=w?i+(h*40|0)|0:g}h=h+1|0}while(h>>>0<=k>>>0);if((g|0)!=0?(w=c[q>>2]|0,x=c[t>>2]|0,c[w+(x<<4)>>2]=c[g>>2],c[w+(x<<4)+12>>2]=c[g+36>>2],c[w+(x<<4)+4>>2]=c[g+28>>2],c[w+(x<<4)+8>>2]=c[g+32>>2],c[t>>2]=x+1,c[g+24>>2]=0,(c[g+20>>2]|0)==0):0){e=e+-1|0;c[m>>2]=e}}while(e>>>0>=k>>>0)}g=c[a>>2]|0;c[g+(k*40|0)+20>>2]=1;c[g+(k*40|0)+12>>2]=l;c[g+(k*40|0)+8>>2]=l;c[g+(k*40|0)+16>>2]=0;c[g+(k*40|0)+24>>2]=0;c[m>>2]=e+1;c[p>>2]=j+1;Mf(g,k+1|0);g=c[r>>2]|0;l=((l+1|0)>>>0)%(g>>>0)|0;if((l|0)==(b|0)){m=33;break}}if((m|0)==21)while(1){}else if((m|0)==33){h=c[t>>2]|0;a:do if(h|0){g=c[q>>2]|0;l=c[a>>2]|0;i=c[s>>2]|0;k=l+(i*40|0)|0;e=c[k>>2]|0;j=e;f=0;while(1){if((c[g+(f<<4)>>2]|0)==(e|0))break;f=f+1|0;if(f>>>0>=h>>>0)break a}if(i|0){f=0;while(1){e=l+(f*40|0)|0;f=f+1|0;if((c[e>>2]|0)==(u|0))break;if(f>>>0>=i>>>0)break a}c[e>>2]=j;c[k>>2]=u}}while(0);if(d|0){m=46;break}e=c[v>>2]|0;break}else if((m|0)==49)return e|0}else m=42;while(0);if((m|0)==42)if(d)if(f){x=1;return x|0}else m=46;if((m|0)==46){c[v>>2]=b;x=0;return x|0}if((e|0)==(b|0)){x=0;return x|0}x=c[a+32>>2]|0;c[v>>2]=((b+-1+x|0)>>>0)%(x>>>0)|0;x=0;return x|0}function Sf(a){a=a|0;var b=0,d=0;d=a+20|0;b=c[d>>2]|0;if(b>>>0>=(c[a+16>>2]|0)>>>0){d=0;return d|0}a=c[a+12>>2]|0;c[d>>2]=b+1;d=a+(b<<4)|0;return d|0}function Tf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=c[a>>2]|0;if(!f)return;c[a+60>>2]=1;if(c[a+56>>2]|0)return;g=c[a+28>>2]|0;i=a+12|0;h=a+16|0;e=a+44|0;a=0;b=2147483647;d=0;while(1){if(c[f+(a*40|0)+24>>2]|0){k=c[f+(a*40|0)+16>>2]|0;j=(k|0)<(b|0);b=j?k:b;d=j?f+(a*40|0)|0:d}a=a+1|0;if(a>>>0>g>>>0){if(!d)break;j=c[i>>2]|0;k=c[h>>2]|0;c[j+(k<<4)>>2]=c[d>>2];c[j+(k<<4)+12>>2]=c[d+36>>2];c[j+(k<<4)+4>>2]=c[d+28>>2];c[j+(k<<4)+8>>2]=c[d+32>>2];c[h>>2]=k+1;c[d+24>>2]=0;if(!(c[d+20>>2]|0)){c[e>>2]=(c[e>>2]|0)+-1;a=0;b=2147483647;d=0}else{a=0;b=2147483647;d=0}}}return}function Uf(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0;Db=cc;cc=cc+176|0;if((cc|0)>=(dc|0))w(176);Ja=Db+40|0;nb=Db;Da=c[e+4>>2]|0;Na=e+8|0;Cb=c[Na>>2]|0;g=r(Cb,Da)|0;if(!Cb){cc=Db;return}Ab=Ja+24|0;Bb=Ja+16|0;Cb=Ja+8|0;Oa=Ja+100|0;Pa=Ja+68|0;Qa=Ja+36|0;Ra=Ja+4|0;Ga=nb+28|0;Ka=nb+32|0;lb=nb+24|0;ob=Ja+120|0;pb=Ja+112|0;qb=Ja+104|0;rb=Ja+96|0;sb=Ja+88|0;tb=Ja+80|0;ub=Ja+72|0;vb=Ja+64|0;wb=Ja+56|0;xb=Ja+48|0;yb=Ja+40|0;zb=Ja+32|0;Sa=Ja+124|0;Ta=Ja+116|0;Ua=Ja+108|0;Va=Ja+92|0;Wa=Ja+84|0;Xa=Ja+76|0;Ya=Ja+60|0;Za=Ja+52|0;_a=Ja+44|0;$a=Ja+28|0;ab=Ja+20|0;bb=Ja+12|0;fb=Da<<4;Ea=nb+12|0;Fa=nb+24|0;db=Da<<6;kb=0-fb|0;cb=kb<<1;jb=r(Da,-48)|0;eb=Da<<5;hb=kb<<2;ib=Da*48|0;Ia=nb+4|0;Ma=nb+8|0;Ha=nb+16|0;La=nb+20|0;mb=nb+12|0;gb=g<<8;ua=g<<6;va=Da<<3;la=Ja+4|0;ra=Ja+36|0;ja=Ja+16|0;na=Ja+20|0;pa=Ja+52|0;za=Ja+8|0;ma=Ja+68|0;Ba=Ja+24|0;sa=Ja+100|0;ka=Ja+80|0;oa=Ja+84|0;qa=Ja+116|0;xa=Ja+24|0;wa=Ja+64|0;Aa=Ja+72|0;Ca=Ja+88|0;ya=Ja+88|0;ha=0;ta=0;ia=f;while(1){g=c[ia+8>>2]|0;do if((g|0)!=1){ga=ia+200|0;n=c[ga>>2]|0;do if(!n)f=1;else{if((g|0)==2?(c[ia+4>>2]|0)!=(c[n+4>>2]|0):0){f=1;break}f=5}while(0);fa=ia+204|0;k=c[fa>>2]|0;do if(k){if((g|0)==2?(c[ia+4>>2]|0)!=(c[k+4>>2]|0):0)break;f=f|2}while(0);ea=(f&2|0)==0;do if(ea){c[Ab>>2]=0;c[Bb>>2]=0;c[Cb>>2]=0;c[Ja>>2]=0;i=0}else{if((c[ia>>2]|0)>>>0<=5?(c[k>>2]|0)>>>0<=5:0){if((b[ia+28>>1]|0)==0?(b[k+48>>1]|0)==0:0)if((c[ia+116>>2]|0)==(c[k+124>>2]|0)?(da=(b[ia+132>>1]|0)-(b[k+172>>1]|0)|0,(((da|0)<0?0-da|0:da)|0)<=3):0){j=(b[ia+134>>1]|0)-(b[k+174>>1]|0)|0;j=(((j|0)<0?0-j|0:j)|0)>3&1}else j=1;else j=2;c[Ja>>2]=j;if((b[ia+30>>1]|0)==0?(b[k+50>>1]|0)==0:0)if((c[ia+116>>2]|0)==(c[k+124>>2]|0)?(da=(b[ia+136>>1]|0)-(b[k+176>>1]|0)|0,(((da|0)<0?0-da|0:da)|0)<=3):0){h=(b[ia+138>>1]|0)-(b[k+178>>1]|0)|0;h=(((h|0)<0?0-h|0:h)|0)>3&1}else h=1;else h=2;c[Cb>>2]=h;if((b[ia+36>>1]|0)==0?(b[k+56>>1]|0)==0:0)if((c[ia+120>>2]|0)==(c[k+128>>2]|0)?(da=(b[ia+148>>1]|0)-(b[k+188>>1]|0)|0,(((da|0)<0?0-da|0:da)|0)<=3):0){i=(b[ia+150>>1]|0)-(b[k+190>>1]|0)|0;i=(((i|0)<0?0-i|0:i)|0)>3&1}else i=1;else i=2;c[Bb>>2]=i;if((b[ia+38>>1]|0)==0?(b[k+58>>1]|0)==0:0)if((c[ia+120>>2]|0)==(c[k+128>>2]|0)?(da=(b[ia+152>>1]|0)-(b[k+192>>1]|0)|0,(((da|0)<0?0-da|0:da)|0)<=3):0){g=(b[ia+154>>1]|0)-(b[k+194>>1]|0)|0;g=(((g|0)<0?0-g|0:g)|0)>3&1}else g=1;else g=2;c[Ab>>2]=g;i=(h|j|i|g|0)!=0&1;break}c[Ab>>2]=4;c[Bb>>2]=4;c[Cb>>2]=4;c[Ja>>2]=4;i=1}while(0);da=(f&4|0)==0;do if(da){c[Oa>>2]=0;c[Pa>>2]=0;c[Qa>>2]=0;c[Ra>>2]=0;g=0;f=c[ia>>2]|0;h=ia;ca=64}else{f=c[ia>>2]|0;if(f>>>0<=5?(c[n>>2]|0)>>>0<=5:0){if((b[ia+28>>1]|0)==0?(b[n+38>>1]|0)==0:0)if((c[ia+116>>2]|0)==(c[n+120>>2]|0)?(ca=(b[ia+132>>1]|0)-(b[n+152>>1]|0)|0,(((ca|0)<0?0-ca|0:ca)|0)<=3):0){k=(b[ia+134>>1]|0)-(b[n+154>>1]|0)|0;k=(((k|0)<0?0-k|0:k)|0)>3&1}else k=1;else k=2;c[Ra>>2]=k;if((b[ia+32>>1]|0)==0?(b[n+42>>1]|0)==0:0)if((c[ia+116>>2]|0)==(c[n+120>>2]|0)?(ca=(b[ia+140>>1]|0)-(b[n+160>>1]|0)|0,(((ca|0)<0?0-ca|0:ca)|0)<=3):0){l=(b[ia+142>>1]|0)-(b[n+162>>1]|0)|0;l=(((l|0)<0?0-l|0:l)|0)>3&1}else l=1;else l=2;c[Qa>>2]=l;if((b[ia+44>>1]|0)==0?(b[n+54>>1]|0)==0:0)if((c[ia+124>>2]|0)==(c[n+128>>2]|0)?(ca=(b[ia+164>>1]|0)-(b[n+184>>1]|0)|0,(((ca|0)<0?0-ca|0:ca)|0)<=3):0){m=(b[ia+166>>1]|0)-(b[n+186>>1]|0)|0;m=(((m|0)<0?0-m|0:m)|0)>3&1}else m=1;else m=2;c[Pa>>2]=m;if((b[ia+48>>1]|0)==0?(b[n+58>>1]|0)==0:0)if((c[ia+124>>2]|0)==(c[n+128>>2]|0)?(ca=(b[ia+172>>1]|0)-(b[n+192>>1]|0)|0,(((ca|0)<0?0-ca|0:ca)|0)<=3):0){j=(b[ia+174>>1]|0)-(b[n+194>>1]|0)|0;j=(((j|0)<0?0-j|0:j)|0)>3&1}else j=1;else j=2;c[Oa>>2]=j;g=k;h=ia;i=(k|i|l|m|j|0)!=0&1;ca=66;break}c[Oa>>2]=4;c[Pa>>2]=4;c[Qa>>2]=4;c[Ra>>2]=4;g=4;h=ia;i=1;ca=64}while(0);if((ca|0)==64){ca=0;if(f>>>0>5){c[ob>>2]=3;c[pb>>2]=3;c[qb>>2]=3;c[rb>>2]=3;c[sb>>2]=3;c[tb>>2]=3;c[ub>>2]=3;c[vb>>2]=3;c[wb>>2]=3;c[xb>>2]=3;c[yb>>2]=3;c[zb>>2]=3;c[Sa>>2]=3;c[Ta>>2]=3;c[Ua>>2]=3;c[Va>>2]=3;c[Wa>>2]=3;c[Xa>>2]=3;c[Ya>>2]=3;c[Za>>2]=3;c[_a>>2]=3;c[$a>>2]=3;c[ab>>2]=3;c[bb>>2]=3}else ca=66}if((ca|0)==66){ca=0;a:do if((sf(f)|0)==1){p=ia+28|0;s=b[ia+32>>1]|0;if(s<<16>>16==0?(b[p>>1]|0)==0:0)L=0;else L=2;c[zb>>2]=L;f=b[ia+34>>1]|0;u=f<<16>>16==0;if(u?(b[ia+30>>1]|0)==0:0)J=0;else J=2;c[yb>>2]=J;h=b[ia+40>>1]|0;v=h<<16>>16==0;if(v?(b[ia+36>>1]|0)==0:0)I=0;else I=2;c[xb>>2]=I;j=b[ia+42>>1]|0;x=j<<16>>16==0;if(x?(b[ia+38>>1]|0)==0:0)H=0;else H=2;c[wb>>2]=H;t=b[ia+44>>1]|0;G=(t|s)<<16>>16==0?0:2;c[vb>>2]=G;q=b[ia+46>>1]|0;y=f<<16>>16!=0;F=(q|f)<<16>>16==0?0:2;c[ub>>2]=F;n=b[ia+52>>1]|0;o=h<<16>>16!=0;E=(n|h)<<16>>16==0?0:2;c[tb>>2]=E;m=b[ia+54>>1]|0;D=(m|j)<<16>>16==0?0:2;c[sb>>2]=D;f=b[ia+48>>1]|0;C=(f|t)<<16>>16==0?0:2;c[rb>>2]=C;h=b[ia+50>>1]|0;B=(h|q)<<16>>16==0?0:2;c[qb>>2]=B;j=b[ia+56>>1]|0;A=(j|n)<<16>>16==0?0:2;c[pb>>2]=A;k=b[ia+58>>1]|0;z=(k|m)<<16>>16==0?0:2;c[ob>>2]=z;l=b[ia+30>>1]|0;if(l<<16>>16==0?(b[p>>1]|0)==0:0)p=0;else p=2;c[bb>>2]=p;$=b[ia+36>>1]|0;aa=($|l)<<16>>16==0?0:2;c[ab>>2]=aa;$=(b[ia+38>>1]|$)<<16>>16==0?0:2;c[$a>>2]=$;K=s<<16>>16!=0|u^1?2:0;c[_a>>2]=K;ba=y|v^1?2:0;c[Za>>2]=ba;v=o|x^1?2:0;c[Ya>>2]=v;t=(q|t)<<16>>16==0?0:2;c[Xa>>2]=t;q=(n|q)<<16>>16==0?0:2;c[Wa>>2]=q;o=(m|n)<<16>>16==0?0:2;c[Va>>2]=o;n=(h|f)<<16>>16==0?0:2;c[Ua>>2]=n;m=(j|h)<<16>>16==0?0:2;c[Ta>>2]=m;h=(k|j)<<16>>16==0?0:2;c[Sa>>2]=h;k=m;m=q;q=ba;ba=p;u=F;s=G;p=H;l=I;j=J;f=L}else switch(c[h>>2]|0){case 2:{q=ia+28|0;s=b[ia+32>>1]|0;if(s<<16>>16==0?(b[q>>1]|0)==0:0)f=0;else f=2;c[zb>>2]=f;t=b[ia+34>>1]|0;B=t<<16>>16==0;if(B?(b[ia+30>>1]|0)==0:0)O=0;else O=2;c[yb>>2]=O;u=b[ia+40>>1]|0;C=u<<16>>16==0;if(C?(b[ia+36>>1]|0)==0:0)l=0;else l=2;c[xb>>2]=l;n=b[ia+42>>1]|0;D=n<<16>>16==0;if(D?(b[ia+38>>1]|0)==0:0)p=0;else p=2;c[wb>>2]=p;v=b[ia+48>>1]|0;if(v<<16>>16==0?(b[ia+44>>1]|0)==0:0)M=0;else M=2;c[rb>>2]=M;x=b[ia+50>>1]|0;E=x<<16>>16==0;if(E?(b[ia+46>>1]|0)==0:0)J=0;else J=2;c[qb>>2]=J;y=b[ia+56>>1]|0;if(y<<16>>16==0?(b[ia+52>>1]|0)==0:0)I=0;else I=2;c[pb>>2]=I;z=b[ia+58>>1]|0;if(z<<16>>16==0?(b[ia+54>>1]|0)==0:0)H=0;else H=2;c[ob>>2]=H;A=b[ia+44>>1]|0;h=b[ia+166>>1]|0;j=b[ia+142>>1]|0;do if(!((A|s)<<16>>16)){ba=(b[ia+164>>1]|0)-(b[ia+140>>1]|0)|0;if((((ba|0)<0?0-ba|0:ba)|0)>3){N=1;break}ba=h-j|0;if((((ba|0)<0?0-ba|0:ba)|0)>3){N=1;break}N=(c[ia+124>>2]|0)!=(c[ia+116>>2]|0)&1}else N=2;while(0);c[vb>>2]=N;o=b[ia+46>>1]|0;h=b[ia+170>>1]|0;j=b[ia+146>>1]|0;do if(!((o|t)<<16>>16)){ba=(b[ia+168>>1]|0)-(b[ia+144>>1]|0)|0;if((((ba|0)<0?0-ba|0:ba)|0)>3){L=1;break}ba=h-j|0;if((((ba|0)<0?0-ba|0:ba)|0)>3){L=1;break}L=(c[ia+124>>2]|0)!=(c[ia+116>>2]|0)&1}else L=2;while(0);c[ub>>2]=L;m=b[ia+52>>1]|0;h=b[ia+182>>1]|0;j=b[ia+158>>1]|0;do if(!((m|u)<<16>>16)){ba=(b[ia+180>>1]|0)-(b[ia+156>>1]|0)|0;if((((ba|0)<0?0-ba|0:ba)|0)>3){G=1;break}ba=h-j|0;if((((ba|0)<0?0-ba|0:ba)|0)>3){G=1;break}G=(c[ia+128>>2]|0)!=(c[ia+120>>2]|0)&1}else G=2;while(0);c[tb>>2]=G;k=b[ia+54>>1]|0;h=b[ia+186>>1]|0;j=b[ia+162>>1]|0;do if(!((k|n)<<16>>16)){ba=(b[ia+184>>1]|0)-(b[ia+160>>1]|0)|0;if((((ba|0)<0?0-ba|0:ba)|0)>3){F=1;break}ba=h-j|0;if((((ba|0)<0?0-ba|0:ba)|0)>3){F=1;break}F=(c[ia+128>>2]|0)!=(c[ia+120>>2]|0)&1}else F=2;while(0);c[sb>>2]=F;h=b[ia+30>>1]|0;if(h<<16>>16==0?(b[q>>1]|0)==0:0)j=0;else j=2;c[bb>>2]=j;$=b[ia+36>>1]|0;aa=($|h)<<16>>16==0?0:2;c[ab>>2]=aa;$=(b[ia+38>>1]|$)<<16>>16==0?0:2;c[$a>>2]=$;K=s<<16>>16!=0|B^1?2:0;c[_a>>2]=K;q=t<<16>>16!=0|C^1?2:0;c[Za>>2]=q;ba=u<<16>>16!=0|D^1?2:0;c[Ya>>2]=ba;t=(o|A)<<16>>16==0?0:2;c[Xa>>2]=t;A=(m|o)<<16>>16==0?0:2;c[Wa>>2]=A;o=(k|m)<<16>>16==0?0:2;c[Va>>2]=o;n=v<<16>>16!=0|E^1?2:0;c[Ua>>2]=n;k=(y|x)<<16>>16==0?0:2;c[Ta>>2]=k;h=(z|y)<<16>>16==0?0:2;c[Sa>>2]=h;m=A;v=ba;ba=j;z=H;A=I;B=J;C=M;D=F;E=G;u=L;s=N;j=O;break a}case 3:{h=ia+28|0;j=b[ia+32>>1]|0;if(j<<16>>16==0?(b[h>>1]|0)==0:0)P=0;else P=2;c[zb>>2]=P;v=b[ia+34>>1]|0;k=v<<16>>16==0;if(k?(b[ia+30>>1]|0)==0:0)O=0;else O=2;c[yb>>2]=O;x=b[ia+40>>1]|0;if(x<<16>>16==0?(b[ia+36>>1]|0)==0:0)l=0;else l=2;c[xb>>2]=l;f=b[ia+42>>1]|0;m=f<<16>>16==0;if(m?(b[ia+38>>1]|0)==0:0)p=0;else p=2;c[wb>>2]=p;n=b[ia+44>>1]|0;N=(n|j)<<16>>16==0?0:2;c[vb>>2]=N;y=b[ia+46>>1]|0;u=(y|v)<<16>>16==0?0:2;c[ub>>2]=u;F=b[ia+52>>1]|0;E=(F|x)<<16>>16==0?0:2;c[tb>>2]=E;o=b[ia+54>>1]|0;D=(o|f)<<16>>16==0?0:2;c[sb>>2]=D;q=b[ia+48>>1]|0;C=(q|n)<<16>>16==0?0:2;c[rb>>2]=C;H=b[ia+50>>1]|0;B=(H|y)<<16>>16==0?0:2;c[qb>>2]=B;I=b[ia+56>>1]|0;A=(I|F)<<16>>16==0?0:2;c[pb>>2]=A;s=b[ia+58>>1]|0;z=(s|o)<<16>>16==0?0:2;c[ob>>2]=z;t=b[ia+30>>1]|0;if(t<<16>>16==0?(b[h>>1]|0)==0:0)M=0;else M=2;c[bb>>2]=M;f=ia+36|0;if(!(b[ia+38>>1]|0)){f=b[f>>1]|0;if(!(f<<16>>16)){L=0;f=0}else ca=146}else{f=b[f>>1]|0;ca=146}if((ca|0)==146){ca=0;L=2}c[$a>>2]=L;K=j<<16>>16!=0|k^1?2:0;c[_a>>2]=K;J=x<<16>>16!=0|m^1?2:0;c[Ya>>2]=J;G=(y|n)<<16>>16==0?0:2;c[Xa>>2]=G;o=(o|F)<<16>>16==0?0:2;c[Va>>2]=o;n=(H|q)<<16>>16==0?0:2;c[Ua>>2]=n;h=(s|I)<<16>>16==0?0:2;c[Sa>>2]=h;j=b[ia+150>>1]|0;k=b[ia+138>>1]|0;do if(!((f|t)<<16>>16)){ba=(b[ia+148>>1]|0)-(b[ia+136>>1]|0)|0;if((((ba|0)<0?0-ba|0:ba)|0)>3){s=1;break}ba=j-k|0;if((((ba|0)<0?0-ba|0:ba)|0)>3){s=1;break}s=(c[ia+120>>2]|0)!=(c[ia+116>>2]|0)&1}else s=2;while(0);c[ab>>2]=s;f=b[ia+158>>1]|0;j=b[ia+146>>1]|0;do if(!((x|v)<<16>>16)){ba=(b[ia+156>>1]|0)-(b[ia+144>>1]|0)|0;if((((ba|0)<0?0-ba|0:ba)|0)>3){q=1;break}ba=f-j|0;if((((ba|0)<0?0-ba|0:ba)|0)>3){q=1;break}q=(c[ia+120>>2]|0)!=(c[ia+116>>2]|0)&1}else q=2;while(0);c[Za>>2]=q;f=b[ia+182>>1]|0;j=b[ia+170>>1]|0;do if(!((F|y)<<16>>16)){ba=(b[ia+180>>1]|0)-(b[ia+168>>1]|0)|0;if((((ba|0)<0?0-ba|0:ba)|0)>3){m=1;break}ba=f-j|0;if((((ba|0)<0?0-ba|0:ba)|0)>3){m=1;break}m=(c[ia+128>>2]|0)!=(c[ia+124>>2]|0)&1}else m=2;while(0);c[Wa>>2]=m;f=b[ia+190>>1]|0;j=b[ia+178>>1]|0;do if(!((I|H)<<16>>16)){ba=(b[ia+188>>1]|0)-(b[ia+176>>1]|0)|0;if((((ba|0)<0?0-ba|0:ba)|0)>3){f=1;break}ba=f-j|0;if((((ba|0)<0?0-ba|0:ba)|0)>3){f=1;break}f=(c[ia+128>>2]|0)!=(c[ia+124>>2]|0)&1}else f=2;while(0);c[Ta>>2]=f;k=f;t=G;v=J;$=L;aa=s;ba=M;s=N;j=O;f=P;break a}default:{x=b[ia+32>>1]|0;h=b[ia+28>>1]|0;y=b[ia+142>>1]|0;k=b[ia+134>>1]|0;if(!((h|x)<<16>>16)){f=(b[ia+140>>1]|0)-(b[ia+132>>1]|0)|0;ba=y-k|0;f=((((ba|0)<0?0-ba|0:ba)|0)>3|(((f|0)<0?0-f|0:f)|0)>3)&1}else f=2;c[zb>>2]=f;F=b[ia+34>>1]|0;m=b[ia+30>>1]|0;G=b[ia+146>>1]|0;n=b[ia+138>>1]|0;if(!((m|F)<<16>>16)){j=(b[ia+144>>1]|0)-(b[ia+136>>1]|0)|0;ba=G-n|0;j=((((ba|0)<0?0-ba|0:ba)|0)>3|(((j|0)<0?0-j|0:j)|0)>3)&1}else j=2;c[yb>>2]=j;H=b[ia+40>>1]|0;o=b[ia+36>>1]|0;J=b[ia+158>>1]|0;t=b[ia+150>>1]|0;if(!((o|H)<<16>>16)){l=(b[ia+156>>1]|0)-(b[ia+148>>1]|0)|0;ba=J-t|0;l=((((ba|0)<0?0-ba|0:ba)|0)>3|(((l|0)<0?0-l|0:l)|0)>3)&1}else l=2;c[xb>>2]=l;I=b[ia+42>>1]|0;q=b[ia+38>>1]|0;K=b[ia+162>>1]|0;v=b[ia+154>>1]|0;if(!((q|I)<<16>>16)){p=(b[ia+160>>1]|0)-(b[ia+152>>1]|0)|0;ba=K-v|0;p=((((ba|0)<0?0-ba|0:ba)|0)>3|(((p|0)<0?0-p|0:p)|0)>3)&1}else p=2;c[wb>>2]=p;L=b[ia+44>>1]|0;M=b[ia+166>>1]|0;if(!((L|x)<<16>>16)){ba=(b[ia+164>>1]|0)-(b[ia+140>>1]|0)|0;if((((ba|0)<0?0-ba|0:ba)|0)<=3?(ba=M-y|0,(((ba|0)<0?0-ba|0:ba)|0)<=3):0)s=(c[ia+124>>2]|0)!=(c[ia+116>>2]|0)&1;else s=1}else s=2;c[vb>>2]=s;N=b[ia+46>>1]|0;O=b[ia+170>>1]|0;do if(!((N|F)<<16>>16)){ba=(b[ia+168>>1]|0)-(b[ia+144>>1]|0)|0;if((((ba|0)<0?0-ba|0:ba)|0)>3)u=1;else{ba=O-G|0;if((((ba|0)<0?0-ba|0:ba)|0)>3){u=1;break}u=(c[ia+124>>2]|0)!=(c[ia+116>>2]|0)&1}}else u=2;while(0);c[ub>>2]=u;P=b[ia+52>>1]|0;S=b[ia+182>>1]|0;do if(!((P|H)<<16>>16)){ba=(b[ia+180>>1]|0)-(b[ia+156>>1]|0)|0;if((((ba|0)<0?0-ba|0:ba)|0)>3){E=1;break}ba=S-J|0;if((((ba|0)<0?0-ba|0:ba)|0)>3){E=1;break}E=(c[ia+128>>2]|0)!=(c[ia+120>>2]|0)&1}else E=2;while(0);c[tb>>2]=E;Q=b[ia+54>>1]|0;R=b[ia+186>>1]|0;do if(!((Q|I)<<16>>16)){ba=(b[ia+184>>1]|0)-(b[ia+160>>1]|0)|0;if((((ba|0)<0?0-ba|0:ba)|0)>3){D=1;break}ba=R-K|0;if((((ba|0)<0?0-ba|0:ba)|0)>3){D=1;break}D=(c[ia+128>>2]|0)!=(c[ia+120>>2]|0)&1}else D=2;while(0);c[sb>>2]=D;T=b[ia+48>>1]|0;U=b[ia+174>>1]|0;if(!((T|L)<<16>>16)){C=(b[ia+172>>1]|0)-(b[ia+164>>1]|0)|0;ba=U-M|0;C=((((ba|0)<0?0-ba|0:ba)|0)>3|(((C|0)<0?0-C|0:C)|0)>3)&1}else C=2;c[rb>>2]=C;V=b[ia+50>>1]|0;W=b[ia+178>>1]|0;if(!((V|N)<<16>>16)){B=(b[ia+176>>1]|0)-(b[ia+168>>1]|0)|0;ba=W-O|0;B=((((ba|0)<0?0-ba|0:ba)|0)>3|(((B|0)<0?0-B|0:B)|0)>3)&1}else B=2;c[qb>>2]=B;X=b[ia+56>>1]|0;_=b[ia+190>>1]|0;if(!((X|P)<<16>>16)){A=(b[ia+188>>1]|0)-(b[ia+180>>1]|0)|0;ba=_-S|0;A=((((ba|0)<0?0-ba|0:ba)|0)>3|(((A|0)<0?0-A|0:A)|0)>3)&1}else A=2;c[pb>>2]=A;Y=b[ia+58>>1]|0;Z=b[ia+194>>1]|0;if(!((Y|Q)<<16>>16)){z=(b[ia+192>>1]|0)-(b[ia+184>>1]|0)|0;ba=Z-R|0;z=((((ba|0)<0?0-ba|0:ba)|0)>3|(((z|0)<0?0-z|0:z)|0)>3)&1}else z=2;c[ob>>2]=z;if(!((m|h)<<16>>16)){ba=(b[ia+136>>1]|0)-(b[ia+132>>1]|0)|0;aa=n-k|0;ba=((((aa|0)<0?0-aa|0:aa)|0)>3|(((ba|0)<0?0-ba|0:ba)|0)>3)&1}else ba=2;c[bb>>2]=ba;do if(!((o|m)<<16>>16)){aa=(b[ia+148>>1]|0)-(b[ia+136>>1]|0)|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){aa=1;break}aa=t-n|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){aa=1;break}aa=(c[ia+120>>2]|0)!=(c[ia+116>>2]|0)&1}else aa=2;while(0);c[ab>>2]=aa;if(!((q|o)<<16>>16)){$=(b[ia+152>>1]|0)-(b[ia+148>>1]|0)|0;v=v-t|0;$=((((v|0)<0?0-v|0:v)|0)>3|((($|0)<0?0-$|0:$)|0)>3)&1}else $=2;c[$a>>2]=$;if(!((F|x)<<16>>16)){x=(b[ia+144>>1]|0)-(b[ia+140>>1]|0)|0;y=G-y|0;x=((((y|0)<0?0-y|0:y)|0)>3|(((x|0)<0?0-x|0:x)|0)>3)&1}else x=2;c[_a>>2]=x;do if(!((H|F)<<16>>16)){F=(b[ia+156>>1]|0)-(b[ia+144>>1]|0)|0;if((((F|0)<0?0-F|0:F)|0)>3){q=1;break}G=J-G|0;if((((G|0)<0?0-G|0:G)|0)>3){q=1;break}q=(c[ia+120>>2]|0)!=(c[ia+116>>2]|0)&1}else q=2;while(0);c[Za>>2]=q;if(!((I|H)<<16>>16)){v=(b[ia+160>>1]|0)-(b[ia+156>>1]|0)|0;K=K-J|0;v=((((K|0)<0?0-K|0:K)|0)>3|(((v|0)<0?0-v|0:v)|0)>3)&1}else v=2;c[Ya>>2]=v;if(!((N|L)<<16>>16)){t=(b[ia+168>>1]|0)-(b[ia+164>>1]|0)|0;M=O-M|0;t=((((M|0)<0?0-M|0:M)|0)>3|(((t|0)<0?0-t|0:t)|0)>3)&1}else t=2;c[Xa>>2]=t;do if(!((P|N)<<16>>16)){N=(b[ia+180>>1]|0)-(b[ia+168>>1]|0)|0;if((((N|0)<0?0-N|0:N)|0)>3){m=1;break}O=S-O|0;if((((O|0)<0?0-O|0:O)|0)>3){m=1;break}m=(c[ia+128>>2]|0)!=(c[ia+124>>2]|0)&1}else m=2;while(0);c[Wa>>2]=m;if(!((Q|P)<<16>>16)){o=(b[ia+184>>1]|0)-(b[ia+180>>1]|0)|0;S=R-S|0;o=((((S|0)<0?0-S|0:S)|0)>3|(((o|0)<0?0-o|0:o)|0)>3)&1}else o=2;c[Va>>2]=o;if(!((V|T)<<16>>16)){n=(b[ia+176>>1]|0)-(b[ia+172>>1]|0)|0;U=W-U|0;n=((((U|0)<0?0-U|0:U)|0)>3|(((n|0)<0?0-n|0:n)|0)>3)&1}else n=2;c[Ua>>2]=n;do if(!((X|V)<<16>>16)){V=(b[ia+188>>1]|0)-(b[ia+176>>1]|0)|0;if((((V|0)<0?0-V|0:V)|0)>3){k=1;break}W=_-W|0;if((((W|0)<0?0-W|0:W)|0)>3){k=1;break}k=(c[ia+128>>2]|0)!=(c[ia+124>>2]|0)&1}else k=2;while(0);c[Ta>>2]=k;if(!((Y|X)<<16>>16)){h=(b[ia+192>>1]|0)-(b[ia+188>>1]|0)|0;_=Z-_|0;h=((((_|0)<0?0-_|0:_)|0)>3|(((h|0)<0?0-h|0:h)|0)>3)&1}else h=2;c[Sa>>2]=h;K=x;break a}}while(0);if((i|0)==0?(k|h|n|o|m|t|v|q|K|$|aa|ba|z|A|B|C|D|E|u|s|p|l|j|f|0)==0:0)break}B=ia+20|0;h=c[B>>2]|0;D=ia+12|0;i=c[D>>2]|0;k=i+h|0;k=(k|0)<51?k:51;k=(k|0)>0?k:0;E=ia+16|0;j=c[E>>2]|0;m=j+h|0;m=(m|0)<51?m:51;l=d[50864+k>>0]|0;c[Ga>>2]=l;m=d[50916+((m|0)>0?m:0)>>0]|0;c[Ka>>2]=m;k=50968+(k*3|0)|0;c[lb>>2]=k;do if(!ea){f=c[(c[fa>>2]|0)+20>>2]|0;if((f|0)==(h|0)){c[Ia>>2]=l;c[Ma>>2]=m;c[nb>>2]=k;break}else{aa=(h+1+f|0)>>>1;ba=aa+i|0;ba=(ba|0)<51?ba:51;ba=(ba|0)>0?ba:0;aa=aa+j|0;aa=(aa|0)<51?aa:51;c[Ia>>2]=d[50864+ba>>0];c[Ma>>2]=d[50916+((aa|0)>0?aa:0)>>0];c[nb>>2]=50968+(ba*3|0);break}}while(0);do if(!da){f=c[(c[ga>>2]|0)+20>>2]|0;if((f|0)==(h|0)){c[Ha>>2]=l;c[La>>2]=m;c[Ea>>2]=k;break}else{aa=(h+1+f|0)>>>1;ba=aa+i|0;ba=(ba|0)<51?ba:51;ba=(ba|0)>0?ba:0;aa=aa+j|0;aa=(aa|0)<51?aa:51;c[Ha>>2]=d[50864+ba>>0];c[La>>2]=d[50916+((aa|0)>0?aa:0)>>0];c[mb>>2]=50968+(ba*3|0);break}}while(0);C=r(ta,Da)|0;y=3;k=0;z=(c[e>>2]|0)+(C<<8)+(ha<<4)|0;A=Ja;while(1){if(g|0)Vf(z,g,Ea,fb);g=c[A+12>>2]|0;if(g|0)Vf(z+4|0,g,Fa,fb);i=A+16|0;g=c[A+20>>2]|0;if(g|0)Vf(z+8|0,g,Fa,fb);j=A+24|0;g=c[A+28>>2]|0;if(g|0)Vf(z+12|0,g,Fa,fb);f=c[A>>2]|0;h=A+8|0;g=c[h>>2]|0;b:do if(((f|0)==(g|0)?(f|0)==(c[i>>2]|0):0)?(f|0)==(c[j>>2]|0):0){if(f|0){if(f>>>0<4){v=d[(c[nb+(k*12|0)>>2]|0)+(f+-1)>>0]|0;u=nb+(k*12|0)+4|0;l=nb+(k*12|0)+8|0;t=0-v|0;s=v+1|0;p=z;q=16;while(1){h=p+cb|0;k=p+kb|0;i=p+fb|0;g=a[i>>0]|0;n=d[k>>0]|0;o=d[p>>0]|0;ba=n-o|0;do if(((ba|0)<0?0-ba|0:ba)>>>0<(c[u>>2]|0)>>>0){m=d[h>>0]|0;ba=m-n|0;f=c[l>>2]|0;if(((ba|0)<0?0-ba|0:ba)>>>0>=f>>>0)break;j=g&255;ba=j-o|0;if(((ba|0)<0?0-ba|0:ba)>>>0>=f>>>0)break;g=d[p+jb>>0]|0;ba=g-n|0;if(((ba|0)<0?0-ba|0:ba)>>>0>>0){f=((n+1+o|0)>>>1)-(m<<1)+g>>1;a[h>>0]=((f|0)<(t|0)?t:(f|0)>(v|0)?v:f)+m;f=c[l>>2]|0;g=s}else g=v;h=d[p+eb>>0]|0;ba=h-o|0;if(((ba|0)<0?0-ba|0:ba)>>>0>>0){ba=((n+1+o|0)>>>1)-(j<<1)+h>>1;a[i>>0]=((ba|0)<(t|0)?t:(ba|0)>(v|0)?v:ba)+j;g=g+1|0}aa=4-j+(o-n<<2)+m>>3;ba=0-g|0;aa=(aa|0)<(ba|0)?ba:(aa|0)>(g|0)?g:aa;ba=a[49274+(o-aa)>>0]|0;a[k>>0]=a[49274+(aa+n)>>0]|0;a[p>>0]=ba}while(0);q=q+-1|0;if(!q)break b;else p=p+1|0}}x=nb+(k*12|0)+4|0;p=nb+(k*12|0)+8|0;u=z;v=16;while(1){j=u+cb|0;k=u+kb|0;o=u+fb|0;g=a[o>>0]|0;q=d[k>>0]|0;s=d[u>>0]|0;h=q-s|0;h=(h|0)<0?0-h|0:h;f=c[x>>2]|0;c:do if(h>>>0>>0){t=d[j>>0]|0;ba=t-q|0;i=c[p>>2]|0;if(((ba|0)<0?0-ba|0:ba)>>>0>=i>>>0)break;n=g&255;ba=n-s|0;if(((ba|0)<0?0-ba|0:ba)>>>0>=i>>>0)break;g=u+jb|0;m=u+eb|0;l=a[m>>0]|0;do if(h>>>0<((f>>>2)+2|0)>>>0){f=d[g>>0]|0;ba=f-q|0;if(((ba|0)<0?0-ba|0:ba)>>>0>>0){ba=s+q+t|0;a[k>>0]=(n+4+(ba<<1)+f|0)>>>3;a[j>>0]=(ba+2+f|0)>>>2;h=f*3|0;i=3;j=ba+4|0;f=d[u+hb>>0]|0}else{h=2;i=2;j=n+q|0;g=k;f=t}a[g>>0]=(j+h+(f<<1)|0)>>>i;g=l&255;ba=g-s|0;if(((ba|0)<0?0-ba|0:ba)>>>0>=(c[p>>2]|0)>>>0)break;ba=n+q+s|0;a[u>>0]=((ba<<1)+4+t+g|0)>>>3;a[o>>0]=(ba+2+g|0)>>>2;a[m>>0]=(ba+4+(g*3|0)+(d[u+ib>>0]<<1)|0)>>>3;break c}else a[k>>0]=(n+q+2+(t<<1)|0)>>>2;while(0);a[u>>0]=(t+s+2+(n<<1)|0)>>>2}while(0);v=v+-1|0;if(!v)break;else u=u+1|0}}}else ca=276;while(0);do if((ca|0)==276){ca=0;if(f){Wf(z,f,nb+(k*12|0)|0,fb);g=c[h>>2]|0}if(g|0)Wf(z+4|0,g,nb+(k*12|0)|0,fb);g=c[i>>2]|0;if(g|0)Wf(z+8|0,g,nb+(k*12|0)|0,fb);g=c[j>>2]|0;if(!g)break;Wf(z+12|0,g,nb+(k*12|0)|0,fb)}while(0);if(!y)break;g=c[A+36>>2]|0;y=y+-1|0;k=2;z=z+db|0;A=A+32|0}n=c[ia+24>>2]|0;l=c[B>>2]|0;m=l+n|0;m=(m|0)<51?m:51;m=c[1656+(((m|0)>0?m:0)<<2)>>2]|0;k=c[D>>2]|0;h=k+m|0;h=(h|0)<51?h:51;h=(h|0)>0?h:0;f=c[E>>2]|0;j=f+m|0;j=(j|0)<51?j:51;i=d[50864+h>>0]|0;c[Ga>>2]=i;j=d[50916+((j|0)>0?j:0)>>0]|0;c[Ka>>2]=j;h=50968+(h*3|0)|0;c[lb>>2]=h;do if(!ea){g=c[(c[fa>>2]|0)+20>>2]|0;if((g|0)==(l|0)){c[Ia>>2]=i;c[Ma>>2]=j;c[nb>>2]=h;break}else{ea=g+n|0;ea=(ea|0)<51?ea:51;ea=(m+1+(c[1656+(((ea|0)>0?ea:0)<<2)>>2]|0)|0)>>>1;fa=ea+k|0;fa=(fa|0)<51?fa:51;fa=(fa|0)>0?fa:0;ea=ea+f|0;ea=(ea|0)<51?ea:51;c[Ia>>2]=d[50864+fa>>0];c[Ma>>2]=d[50916+((ea|0)>0?ea:0)>>0];c[nb>>2]=50968+(fa*3|0);break}}while(0);do if(!da){g=c[(c[ga>>2]|0)+20>>2]|0;if((g|0)==(l|0)){c[Ha>>2]=i;c[La>>2]=j;c[Ea>>2]=h;break}else{fa=g+n|0;fa=(fa|0)<51?fa:51;fa=(m+1+(c[1656+(((fa|0)>0?fa:0)<<2)>>2]|0)|0)>>>1;ga=fa+k|0;ga=(ga|0)<51?ga:51;ga=(ga|0)>0?ga:0;fa=fa+f|0;fa=(fa|0)<51?fa:51;c[Ha>>2]=d[50864+ga>>0];c[La>>2]=d[50916+((fa|0)>0?fa:0)>>0];c[mb>>2]=50968+(ga*3|0);break}}while(0);i=(c[e>>2]|0)+gb+(C<<6)+(ha<<3)|0;k=i+ua|0;g=c[la>>2]|0;if(g|0){Xf(i,g,Ea,va);Xf(k,c[la>>2]|0,Ea,va)}g=c[ra>>2]|0;if(g|0){Xf(i+fb|0,g,Ea,va);Xf(k+fb|0,c[ra>>2]|0,Ea,va)}g=c[na>>2]|0;if(g|0){Xf(i+4|0,g,Fa,va);Xf(k+4|0,c[na>>2]|0,Fa,va)}g=c[pa>>2]|0;if(g|0){Xf(i+fb+4|0,g,Fa,va);Xf(k+fb+4|0,c[pa>>2]|0,Fa,va)}f=c[Ja>>2]|0;g=c[za>>2]|0;h=(f|0)==0;do if(((f|0)==(g|0)?(f|0)==(c[ja>>2]|0):0)&(f|0)==(c[Ba>>2]|0)){if(!h){Yf(i,f,nb,va);Yf(k,c[Ja>>2]|0,nb,va)}}else{if(!h){Zf(i,f,nb,va);Zf(k,c[Ja>>2]|0,nb,va);g=c[za>>2]|0}if(g|0){Zf(i+2|0,g,nb,va);Zf(k+2|0,c[za>>2]|0,nb,va)}g=c[ja>>2]|0;if(g|0){Zf(i+4|0,g,nb,va);Zf(k+4|0,c[ja>>2]|0,nb,va)}g=c[xa>>2]|0;if(!g)break;Zf(i+6|0,g,nb,va);Zf(k+6|0,c[xa>>2]|0,nb,va)}while(0);j=i+eb|0;i=k+eb|0;g=c[ma>>2]|0;if(g|0){Xf(j,g,Ea,va);Xf(i,c[ma>>2]|0,Ea,va)}g=c[sa>>2]|0;if(g|0){Xf(j+fb|0,g,Ea,va);Xf(i+fb|0,c[sa>>2]|0,Ea,va)}g=c[oa>>2]|0;if(g|0){Xf(j+4|0,g,Fa,va);Xf(i+4|0,c[oa>>2]|0,Fa,va)}g=c[qa>>2]|0;if(g|0){Xf(j+fb+4|0,g,Fa,va);Xf(i+fb+4|0,c[qa>>2]|0,Fa,va)}f=c[wa>>2]|0;g=c[Aa>>2]|0;h=(f|0)==0;if(((f|0)==(g|0)?(f|0)==(c[ka>>2]|0):0)&(f|0)==(c[Ca>>2]|0)){if(h)break;Yf(j,f,Fa,va);Yf(i,c[wa>>2]|0,Fa,va);break}if(!h){Zf(j,f,Fa,va);Zf(i,c[wa>>2]|0,Fa,va);g=c[Aa>>2]|0}if(g|0){Zf(j+2|0,g,Fa,va);Zf(i+2|0,c[Aa>>2]|0,Fa,va)}g=c[ka>>2]|0;if(g|0){Zf(j+4|0,g,Fa,va);Zf(i+4|0,c[ka>>2]|0,Fa,va)}g=c[ya>>2]|0;if(!g)break;Zf(j+6|0,g,Fa,va);Zf(i+6|0,c[ya>>2]|0,Fa,va)}while(0);f=ha+1|0;g=(f|0)==(Da|0);ta=ta+(g&1)|0;if(ta>>>0>=(c[Na>>2]|0)>>>0)break;else{ha=g?0:f;ia=ia+216|0}}cc=Db;return}function Vf(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;if(e>>>0<4){s=d[(c[f>>2]|0)+(e+-1)>>0]|0;r=f+4|0;o=f+8|0;q=0-s|0;p=s+1|0;n=4;while(1){f=b+-2|0;k=b+-1|0;j=b+1|0;e=a[j>>0]|0;l=d[k>>0]|0;m=d[b>>0]|0;y=l-m|0;if((((y|0)<0?0-y|0:y)>>>0<(c[r>>2]|0)>>>0?(u=d[f>>0]|0,y=u-l|0,t=c[o>>2]|0,((y|0)<0?0-y|0:y)>>>0>>0):0)?(v=e&255,y=v-m|0,((y|0)<0?0-y|0:y)>>>0>>0):0){i=a[b+2>>0]|0;e=d[b+-3>>0]|0;y=e-l|0;if(((y|0)<0?0-y|0:y)>>>0>>0){h=((l+1+m|0)>>>1)-(u<<1)+e>>1;a[f>>0]=((h|0)<(q|0)?q:(h|0)>(s|0)?s:h)+u;h=c[o>>2]|0;e=p}else{h=t;e=s}f=i&255;y=f-m|0;if(((y|0)<0?0-y|0:y)>>>0>>0){y=((l+1+m|0)>>>1)-(v<<1)+f>>1;a[j>>0]=((y|0)<(q|0)?q:(y|0)>(s|0)?s:y)+v;e=e+1|0}x=4-v+(m-l<<2)+u>>3;y=0-e|0;x=(x|0)<(y|0)?y:(x|0)>(e|0)?e:x;y=a[49274+(m-x)>>0]|0;a[k>>0]=a[49274+(x+l)>>0]|0;a[b>>0]=y}n=n+-1|0;if(!n)break;else b=b+g|0}return}t=f+4|0;s=f+8|0;r=4;while(1){i=b+-2|0;l=b+-1|0;o=b+1|0;e=a[o>>0]|0;p=d[l>>0]|0;q=d[b>>0]|0;h=p-q|0;h=(h|0)<0?0-h|0:h;f=c[t>>2]|0;do if((h>>>0>>0?(x=d[i>>0]|0,v=x-p|0,w=c[s>>2]|0,((v|0)<0?0-v|0:v)>>>0>>0):0)?(y=e&255,v=y-q|0,((v|0)<0?0-v|0:v)>>>0>>0):0){k=b+-3|0;n=b+2|0;m=a[n>>0]|0;if(h>>>0<((f>>>2)+2|0)>>>0){e=d[k>>0]|0;v=e-p|0;if(((v|0)<0?0-v|0:v)>>>0>>0){j=q+p+x|0;a[l>>0]=(y+4+(j<<1)+e|0)>>>3;a[i>>0]=(j+2+e|0)>>>2;h=e*3|0;i=3;j=j+4|0;e=k;f=d[b+-4>>0]|0}else{h=2;i=2;j=y+p|0;e=l;f=x}a[e>>0]=(j+h+(f<<1)|0)>>>i;e=m&255;v=e-q|0;if(((v|0)<0?0-v|0:v)>>>0<(c[s>>2]|0)>>>0){v=y+p+q|0;a[b>>0]=((v<<1)+4+x+e|0)>>>3;a[o>>0]=(v+2+e|0)>>>2;a[n>>0]=(v+4+(e*3|0)+((d[b+3>>0]|0)<<1)|0)>>>3;break}}else a[l>>0]=(y+p+2+(x<<1)|0)>>>2;a[b>>0]=(x+q+2+(y<<1)|0)>>>2}while(0);r=r+-1|0;if(!r)break;else b=b+g|0}return}function Wf(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;u=d[(c[f>>2]|0)+(e+-1)>>0]|0;w=0-g|0;v=w<<1;t=f+4|0;n=f+8|0;q=r(g,-3)|0;s=0-u|0;o=u+1|0;p=g<<1;m=4;while(1){f=b+v|0;j=b+w|0;i=b+g|0;e=a[i>>0]|0;k=d[j>>0]|0;l=d[b>>0]|0;h=k-l|0;if((((h|0)<0?0-h|0:h)>>>0<(c[t>>2]|0)>>>0?(y=d[f>>0]|0,h=y-k|0,x=c[n>>2]|0,((h|0)<0?0-h|0:h)>>>0>>0):0)?(z=e&255,h=z-l|0,((h|0)<0?0-h|0:h)>>>0>>0):0){e=d[b+q>>0]|0;h=e-k|0;if(((h|0)<0?0-h|0:h)>>>0>>0){e=((k+1+l|0)>>>1)-(y<<1)+e>>1;a[f>>0]=((e|0)<(s|0)?s:(e|0)>(u|0)?u:e)+y;f=c[n>>2]|0;e=o}else{f=x;e=u}h=d[b+p>>0]|0;A=h-l|0;if(((A|0)<0?0-A|0:A)>>>0>>0){A=((k+1+l|0)>>>1)-(z<<1)+h>>1;a[i>>0]=((A|0)<(s|0)?s:(A|0)>(u|0)?u:A)+z;e=e+1|0}i=4-z+(l-k<<2)+y>>3;A=0-e|0;i=(i|0)<(A|0)?A:(i|0)>(e|0)?e:i;A=a[49274+(l-i)>>0]|0;a[j>>0]=a[49274+(i+k)>>0]|0;a[b>>0]=A}m=m+-1|0;if(!m)break;else b=b+1|0}return}function Xf(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=b+-1|0;h=a[b+1>>0]|0;k=d[j>>0]|0;n=d[b>>0]|0;p=k-n|0;o=f+4|0;do if((((p|0)<0?0-p|0:p)>>>0<(c[o>>2]|0)>>>0?(l=d[b+-2>>0]|0,p=l-k|0,i=c[f+8>>2]|0,((p|0)<0?0-p|0:p)>>>0>>0):0)?(m=h&255,p=m-n|0,((p|0)<0?0-p|0:p)>>>0>>0):0)if(e>>>0<4){i=d[(c[f>>2]|0)+(e+-1)>>0]|0;p=i+1|0;m=4-m+(n-k<<2)+l>>3;l=~i;m=(m|0)<(l|0)?l:(m|0)>(p|0)?p:m;p=a[49274+(n-m)>>0]|0;a[j>>0]=a[49274+(m+k)>>0]|0;a[b>>0]=p;break}else{a[j>>0]=(k+2+m+(l<<1)|0)>>>2;a[b>>0]=(n+2+(m<<1)+l|0)>>>2;break}while(0);k=b+g|0;l=k+-1|0;m=d[l>>0]|0;n=d[k>>0]|0;p=m-n|0;if(((p|0)<0?0-p|0:p)>>>0>=(c[o>>2]|0)>>>0)return;i=d[k+-2>>0]|0;p=i-m|0;h=c[f+8>>2]|0;if(((p|0)<0?0-p|0:p)>>>0>=h>>>0)return;j=d[k+1>>0]|0;p=j-n|0;if(((p|0)<0?0-p|0:p)>>>0>=h>>>0)return;if(e>>>0<4){e=d[(c[f>>2]|0)+(e+-1)>>0]|0;p=e+1|0;f=4-j+(n-m<<2)+i>>3;e=~e;f=(f|0)<(e|0)?e:(f|0)>(p|0)?p:f;p=a[49274+(n-f)>>0]|0;a[l>>0]=a[49274+(f+m)>>0]|0;a[k>>0]=p;return}else{a[l>>0]=(m+2+j+(i<<1)|0)>>>2;a[k>>0]=(n+2+(j<<1)+i|0)>>>2;return}}function Yf(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;if(e>>>0<4){m=d[(c[f>>2]|0)+(e+-1)>>0]|0;n=m+1|0;q=0-g|0;o=f+4|0;p=q<<1;l=f+8|0;m=~m;j=b;k=8;while(1){f=j+q|0;e=a[j+g>>0]|0;h=d[f>>0]|0;i=d[j>>0]|0;b=h-i|0;if((((b|0)<0?0-b|0:b)>>>0<(c[o>>2]|0)>>>0?(s=d[j+p>>0]|0,b=s-h|0,r=c[l>>2]|0,((b|0)<0?0-b|0:b)>>>0>>0):0)?(t=e&255,b=t-i|0,((b|0)<0?0-b|0:b)>>>0>>0):0){I=4-t+(i-h<<2)+s>>3;I=(I|0)<(m|0)?m:(I|0)>(n|0)?n:I;b=a[49274+(i-I)>>0]|0;a[f>>0]=a[49274+(I+h)>>0]|0;a[j>>0]=b}k=k+-1|0;if(!k)break;else j=j+1|0}return}s=0-g|0;r=f+4|0;I=s<<1;t=f+8|0;h=b+s|0;f=a[b+g>>0]|0;i=d[h>>0]|0;j=d[b>>0]|0;J=i-j|0;e=c[r>>2]|0;if((((J|0)<0?0-J|0:J)>>>0>>0?(l=d[b+I>>0]|0,J=l-i|0,k=c[t>>2]|0,((J|0)<0?0-J|0:J)>>>0>>0):0)?(m=f&255,J=m-j|0,((J|0)<0?0-J|0:J)>>>0>>0):0){a[h>>0]=(i+2+m+(l<<1)|0)>>>2;a[b>>0]=(j+2+(m<<1)+l|0)>>>2;e=c[r>>2]|0}k=b+1|0;h=k+s|0;f=a[k+g>>0]|0;i=d[h>>0]|0;j=d[k>>0]|0;J=i-j|0;if((((J|0)<0?0-J|0:J)>>>0>>0?(o=d[k+I>>0]|0,J=o-i|0,n=c[t>>2]|0,((J|0)<0?0-J|0:J)>>>0>>0):0)?(p=f&255,J=p-j|0,((J|0)<0?0-J|0:J)>>>0>>0):0){a[h>>0]=(i+2+p+(o<<1)|0)>>>2;a[k>>0]=(j+2+(p<<1)+o|0)>>>2;e=c[r>>2]|0}k=b+2|0;h=k+s|0;f=a[k+g>>0]|0;i=d[h>>0]|0;j=d[k>>0]|0;J=i-j|0;if((((J|0)<0?0-J|0:J)>>>0>>0?(u=d[k+I>>0]|0,J=u-i|0,q=c[t>>2]|0,((J|0)<0?0-J|0:J)>>>0>>0):0)?(v=f&255,J=v-j|0,((J|0)<0?0-J|0:J)>>>0>>0):0){a[h>>0]=(i+2+v+(u<<1)|0)>>>2;a[k>>0]=(j+2+(v<<1)+u|0)>>>2;e=c[r>>2]|0}k=b+3|0;h=k+s|0;f=a[k+g>>0]|0;i=d[h>>0]|0;j=d[k>>0]|0;J=i-j|0;if((((J|0)<0?0-J|0:J)>>>0>>0?(x=d[k+I>>0]|0,J=x-i|0,w=c[t>>2]|0,((J|0)<0?0-J|0:J)>>>0>>0):0)?(y=f&255,J=y-j|0,((J|0)<0?0-J|0:J)>>>0>>0):0){a[h>>0]=(i+2+y+(x<<1)|0)>>>2;a[k>>0]=(j+2+(y<<1)+x|0)>>>2;e=c[r>>2]|0}k=b+4|0;h=k+s|0;f=a[k+g>>0]|0;i=d[h>>0]|0;j=d[k>>0]|0;J=i-j|0;if((((J|0)<0?0-J|0:J)>>>0>>0?(A=d[k+I>>0]|0,J=A-i|0,z=c[t>>2]|0,((J|0)<0?0-J|0:J)>>>0>>0):0)?(B=f&255,J=B-j|0,((J|0)<0?0-J|0:J)>>>0>>0):0){a[h>>0]=(i+2+B+(A<<1)|0)>>>2;a[k>>0]=(j+2+(B<<1)+A|0)>>>2;e=c[r>>2]|0}k=b+5|0;h=k+s|0;f=a[k+g>>0]|0;i=d[h>>0]|0;j=d[k>>0]|0;J=i-j|0;if((((J|0)<0?0-J|0:J)>>>0>>0?(D=d[k+I>>0]|0,J=D-i|0,C=c[t>>2]|0,((J|0)<0?0-J|0:J)>>>0>>0):0)?(E=f&255,J=E-j|0,((J|0)<0?0-J|0:J)>>>0>>0):0){a[h>>0]=(i+2+E+(D<<1)|0)>>>2;a[k>>0]=(j+2+(E<<1)+D|0)>>>2;e=c[r>>2]|0}k=b+6|0;h=k+s|0;f=a[k+g>>0]|0;i=d[h>>0]|0;j=d[k>>0]|0;J=i-j|0;if((((J|0)<0?0-J|0:J)>>>0>>0?(G=d[k+I>>0]|0,J=G-i|0,F=c[t>>2]|0,((J|0)<0?0-J|0:J)>>>0>>0):0)?(H=f&255,J=H-j|0,((J|0)<0?0-J|0:J)>>>0>>0):0){a[h>>0]=(i+2+H+(G<<1)|0)>>>2;a[k>>0]=(j+2+(H<<1)+G|0)>>>2;e=c[r>>2]|0}l=b+7|0;i=l+s|0;j=d[i>>0]|0;k=d[l>>0]|0;J=j-k|0;if(((J|0)<0?0-J|0:J)>>>0>=e>>>0)return;h=d[l+I>>0]|0;J=h-j|0;f=c[t>>2]|0;if(((J|0)<0?0-J|0:J)>>>0>=f>>>0)return;e=d[l+g>>0]|0;J=e-k|0;if(((J|0)<0?0-J|0:J)>>>0>=f>>>0)return;a[i>>0]=(j+2+e+(h<<1)|0)>>>2;a[l>>0]=(k+2+(e<<1)+h|0)>>>2;return}function Zf(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=d[(c[f>>2]|0)+(e+-1)>>0]|0;s=r+1|0;o=0-g|0;k=f+4|0;q=o<<1;p=f+8|0;r=~r;h=b+o|0;f=a[b+g>>0]|0;i=d[h>>0]|0;j=d[b>>0]|0;t=i-j|0;e=c[k>>2]|0;if((((t|0)<0?0-t|0:t)>>>0>>0?(m=d[b+q>>0]|0,t=m-i|0,l=c[p>>2]|0,((t|0)<0?0-t|0:t)>>>0>>0):0)?(n=f&255,t=n-j|0,((t|0)<0?0-t|0:t)>>>0>>0):0){t=4-n+(j-i<<2)+m>>3;t=(t|0)<(r|0)?r:(t|0)>(s|0)?s:t;e=a[49274+(j-t)>>0]|0;a[h>>0]=a[49274+(t+i)>>0]|0;a[b>>0]=e;e=c[k>>2]|0}l=b+1|0;i=l+o|0;j=d[i>>0]|0;k=d[l>>0]|0;t=j-k|0;if(((t|0)<0?0-t|0:t)>>>0>=e>>>0)return;h=d[l+q>>0]|0;t=h-j|0;f=c[p>>2]|0;if(((t|0)<0?0-t|0:t)>>>0>=f>>>0)return;e=d[l+g>>0]|0;t=e-k|0;if(((t|0)<0?0-t|0:t)>>>0>=f>>>0)return;g=4-e+(k-j<<2)+h>>3;g=(g|0)<(r|0)?r:(g|0)>(s|0)?s:g;t=a[49274+(k-g)>>0]|0;a[i>>0]=a[49274+(g+j)>>0]|0;a[l>>0]=t;return}function _f(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;p=c[b+4>>2]|0;q=c[b+8>>2]|0;switch(d|0){case 0:case 5:{e=3;break}default:if(!(c[a+3384>>2]|0))f=0;else e=3}if((e|0)==3){e=a+1220|0;g=0;do{f=He(e,g)|0;g=g+1|0}while(g>>>0<16&(f|0)==0)}k=a+1176|0;j=c[k>>2]|0;if(j|0){h=c[a+1212>>2]|0;e=0;g=0;i=0;while(1){if(c[h+(g*216|0)+196>>2]|0){h=e;e=g;n=i;break}g=g+1|0;e=e+1|0;o=(e|0)==(p|0);i=i+(o&1)|0;e=o?0:e;if(g>>>0>=j>>>0){h=e;e=g;n=i;break}}if((e|0)!=(j|0)){o=a+1212|0;j=(c[o>>2]|0)+((r(n,p)|0)*216|0)|0;if(h|0){g=a+1204|0;e=h;do{e=e+-1|0;m=j+(e*216|0)|0;$f(m,b,n,e,d,f);c[m+196>>2]=1;c[g>>2]=(c[g>>2]|0)+1}while((e|0)!=0)}e=h+1|0;if(e>>>0

>>0){i=a+1204|0;do{g=j+(e*216|0)|0;h=g+196|0;if(!(c[h>>2]|0)){$f(g,b,n,e,d,f);c[h>>2]=1;c[i>>2]=(c[i>>2]|0)+1}e=e+1|0}while((e|0)!=(p|0))}a:do if((n|0)!=0&(p|0)!=0){k=n+-1|0;l=r(k,p)|0;m=a+1204|0;i=0-p|0;g=n+-2|0;if(!k){e=0;while(1){k=(c[o>>2]|0)+(l*216|0)+(e*216|0)|0;$f(k,b,0,e,d,f);c[k+196>>2]=1;c[m>>2]=(c[m>>2]|0)+1;e=e+1|0;if((e|0)==(p|0))break a}}j=0;do{e=(c[o>>2]|0)+(l*216|0)+(j*216|0)|0;$f(e,b,k,j,d,f);c[e+196>>2]=1;c[m>>2]=(c[m>>2]|0)+1;h=g;while(1){s=e;e=e+(i*216|0)|0;$f(e,b,h,j,d,f);c[s+(i*216|0)+196>>2]=1;c[m>>2]=(c[m>>2]|0)+1;if(!h)break;else h=h+-1|0}j=j+1|0}while((j|0)!=(p|0))}while(0);e=n+1|0;if(e>>>0>=q>>>0)return 0;k=a+1204|0;if(!p)return 0;do{g=(c[o>>2]|0)+((r(e,p)|0)*216|0)|0;j=0;do{h=g+(j*216|0)|0;i=h+196|0;if(!(c[i>>2]|0)){$f(h,b,e,j,d,f);c[i>>2]=1;c[k>>2]=(c[k>>2]|0)+1}j=j+1|0}while((j|0)!=(p|0));e=e+1|0}while((e|0)!=(q|0));return 0}}switch(d|0){case 2:case 7:{if((f|0)==0|(c[a+3384>>2]|0)==0)e=13;else e=14;break}default:if(!f)e=13;else e=14}if((e|0)==13)je(c[b>>2]|0,128,r(p*384|0,q)|0);else if((e|0)==14)Ee(c[b>>2]|0,f,r(p*384|0,q)|0);g=c[k>>2]|0;c[a+1204>>2]=g;if(!g)return 0;e=c[a+1212>>2]|0;f=0;do{c[e+(f*216|0)+8>>2]=1;f=f+1|0}while((f|0)!=(g|0));return 0}function $f(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=cc;cc=cc+480|0;if((cc|0)>=(dc|0))w(480);ga=ia+96|0;ha=ia+32|0;k=ia+24|0;l=ia;ea=c[e+4>>2]|0;v=c[e+8>>2]|0;ge(e,(r(ea,f)|0)+g|0);j=g<<4;m=(c[e>>2]|0)+(r(f<<8,ea)|0)+j|0;c[b+20>>2]=40;c[b+8>>2]=0;c[b>>2]=6;c[b+12>>2]=0;c[b+16>>2]=0;c[b+24>>2]=0;a:do switch(h|0){case 2:case 7:{je(ga,0,384);break}default:{c[k>>2]=0;c[l+4>>2]=ea;c[l+8>>2]=v;c[l>>2]=i;if(!i){je(ga,0,384);break a}Ie(ga,k,l,j,f<<4,0,0,16,16);De(e,ga);cc=ia;return}}while(0);je(ha,0,64);if((f|0)!=0?(c[b+((0-ea|0)*216|0)+196>>2]|0)!=0:0){da=m+(0-(ea<<4))|0;y=da+1|0;z=y+1|0;x=z+1|0;t=x+1|0;x=(d[y>>0]|0)+(d[da>>0]|0)+(d[z>>0]|0)+(d[x>>0]|0)|0;z=t+1|0;da=z+1|0;y=da+1|0;A=y+1|0;y=(d[z>>0]|0)+(d[t>>0]|0)+(d[da>>0]|0)+(d[y>>0]|0)|0;da=A+1|0;t=da+1|0;z=t+1|0;fa=z+1|0;z=(d[da>>0]|0)+(d[A>>0]|0)+(d[t>>0]|0)+(d[z>>0]|0)|0;t=fa+1|0;A=t+1|0;A=(d[t>>0]|0)+(d[fa>>0]|0)+(d[A>>0]|0)+(d[A+1>>0]|0)|0;fa=y+x|0;c[ha>>2]=z+fa+(c[ha>>2]|0)+A;t=ha+4|0;c[t>>2]=fa-z-A+(c[t>>2]|0);t=1}else{x=0;y=0;z=0;A=0;t=0}if((v+-1|0)!=(f|0)?(c[b+(ea*216|0)+196>>2]|0)!=0:0){fa=m+(ea<<8)|0;C=fa+1|0;D=C+1|0;B=D+1|0;u=B+1|0;B=(d[C>>0]|0)+(d[fa>>0]|0)+(d[D>>0]|0)+(d[B>>0]|0)|0;D=u+1|0;fa=D+1|0;C=fa+1|0;E=C+1|0;C=(d[D>>0]|0)+(d[u>>0]|0)+(d[fa>>0]|0)+(d[C>>0]|0)|0;fa=E+1|0;u=fa+1|0;D=u+1|0;q=D+1|0;D=(d[fa>>0]|0)+(d[E>>0]|0)+(d[u>>0]|0)+(d[D>>0]|0)|0;u=q+1|0;E=u+1|0;E=(d[u>>0]|0)+(d[q>>0]|0)+(d[E>>0]|0)+(d[E+1>>0]|0)|0;q=C+B|0;c[ha>>2]=D+q+(c[ha>>2]|0)+E;u=ha+4|0;c[u>>2]=q-D-E+(c[u>>2]|0);u=1;q=t+1|0}else{u=0;B=0;C=0;D=0;E=0;q=t}if((g|0)!=0?(c[b+-20>>2]|0)!=0:0){da=m+-1|0;fa=ea<<4;k=ea<<5;aa=ea*48|0;F=(d[da+fa>>0]|0)+(d[da>>0]|0)+(d[da+k>>0]|0)+(d[da+aa>>0]|0)|0;s=ea<<6;da=da+s|0;_=(d[da+fa>>0]|0)+(d[da>>0]|0)+(d[da+k>>0]|0)+(d[da+aa>>0]|0)|0;da=da+s|0;$=(d[da+fa>>0]|0)+(d[da>>0]|0)+(d[da+k>>0]|0)+(d[da+aa>>0]|0)|0;s=da+s|0;aa=(d[s+fa>>0]|0)+(d[s>>0]|0)+(d[s+k>>0]|0)+(d[s+aa>>0]|0)|0;s=_+F|0;c[ha>>2]=$+s+(c[ha>>2]|0)+aa;k=ha+16|0;c[k>>2]=s-$-aa+(c[k>>2]|0);k=q+1|0;s=1}else{k=q;F=0;_=0;$=0;aa=0;s=0}do if((ea+-1|0)!=(g|0)?(c[b+412>>2]|0)!=0:0){m=m+16|0;i=ea<<4;l=ea<<5;p=ea*48|0;b=(d[m+i>>0]|0)+(d[m>>0]|0)+(d[m+l>>0]|0)+(d[m+p>>0]|0)|0;h=ea<<6;m=m+h|0;n=(d[m+i>>0]|0)+(d[m>>0]|0)+(d[m+l>>0]|0)+(d[m+p>>0]|0)|0;m=m+h|0;o=(d[m+i>>0]|0)+(d[m>>0]|0)+(d[m+l>>0]|0)+(d[m+p>>0]|0)|0;h=m+h|0;p=(d[h+i>>0]|0)+(d[h>>0]|0)+(d[h+l>>0]|0)+(d[h+p>>0]|0)|0;k=k+1|0;h=s+1|0;l=n+b|0;c[ha>>2]=o+l+(c[ha>>2]|0)+p;i=ha+16|0;l=l-o-p+(c[i>>2]|0)|0;c[i>>2]=l;m=(q|0)==0;j=(s|0)!=0;if(!(m&j)){if(!m){l=1;m=ha+4|0;i=h;p=21;break}}else c[ha+4>>2]=$+aa+_+F-b-n-o-p>>5;o=l;b=1;m=(t|0)!=0;l=(u|0)!=0;p=27}else p=17;while(0);if((p|0)==17){j=(s|0)!=0;if(!q){b=0;n=k;h=s;p=23}else{l=0;m=ha+4|0;i=s;p=21}}if((p|0)==21){c[m>>2]=c[m>>2]>>q+3;b=l;n=k;h=i;p=23}do if((p|0)==23){k=(h|0)==0;m=(t|0)!=0;l=(u|0)!=0;if(l&(m&k)){c[ha+16>>2]=z+A+y+x-E-D-C-B>>5;k=n;fa=j;m=1;da=1;break}i=ha+16|0;if(k){k=n;fa=j;da=l}else{o=c[i>>2]|0;k=n;p=27}}while(0);if((p|0)==27){c[i>>2]=o>>h+3;fa=j;da=l}switch(k|0){case 1:{i=c[ha>>2]>>4;break}case 2:{i=c[ha>>2]>>5;break}case 3:{i=(c[ha>>2]|0)*21>>10;break}default:i=c[ha>>2]>>6}c[ha>>2]=i;ba=ha+4|0;j=c[ba>>2]|0;ca=ha+16|0;k=c[ca>>2]|0;if(!(k|j)){c[ha+60>>2]=i;c[ha+56>>2]=i;c[ha+52>>2]=i;c[ha+48>>2]=i;c[ha+44>>2]=i;c[ha+40>>2]=i;c[ha+36>>2]=i;c[ha+32>>2]=i;c[ha+28>>2]=i;c[ha+24>>2]=i;c[ha+20>>2]=i;c[ca>>2]=i;c[ha+12>>2]=i;c[ha+8>>2]=i;c[ba>>2]=i}else{V=i+j|0;X=j>>1;W=i+X|0;X=i-X|0;Z=i-j|0;c[ha>>2]=V+k;Y=k>>1;c[ca>>2]=V+Y;c[ha+32>>2]=V-Y;c[ha+48>>2]=V-k;c[ba>>2]=W+k;c[ha+20>>2]=W+Y;c[ha+36>>2]=W-Y;c[ha+52>>2]=W-k;c[ha+8>>2]=X+k;c[ha+24>>2]=X+Y;c[ha+40>>2]=X-Y;c[ha+56>>2]=X-k;c[ha+12>>2]=Z+k;c[ha+28>>2]=Z+Y;c[ha+44>>2]=Z-Y;c[ha+60>>2]=Z-k}j=0;i=ga;l=ha;while(1){k=c[l+((j>>>2&3)<<2)>>2]|0;k=(k|0)<255?k:255;a[i>>0]=(k|0)>0?k:0;k=j+1|0;if((k|0)==256)break;else{j=k;i=i+1|0;l=(k&63|0)==0?l+16|0:l}}v=r(v,ea)|0;W=ea<<3;V=0-W|0;X=ea<<6;Y=ea<<4;P=ha+60|0;Q=ha+56|0;R=ha+52|0;S=ha+48|0;T=ha+44|0;U=ha+40|0;I=ha+36|0;J=ha+32|0;K=ha+28|0;L=ha+24|0;M=ha+20|0;N=ha+12|0;O=ha+8|0;H=ga+256|0;Z=v<<6;u=x;t=y;s=z;j=A;q=B;p=C;n=D;l=E;G=0;o=F;h=_;i=$;k=aa;F=(c[e>>2]|0)+(v<<8)+(r(f<<6,ea)|0)+(g<<3)|0;while(1){je(ha,0,64);if(m){u=F+V|0;j=u+1|0;t=j+1|0;u=(d[j>>0]|0)+(d[u>>0]|0)|0;j=t+1|0;s=j+1|0;t=(d[j>>0]|0)+(d[t>>0]|0)|0;j=s+1|0;A=j+1|0;s=(d[j>>0]|0)+(d[s>>0]|0)|0;A=(d[A+1>>0]|0)+(d[A>>0]|0)|0;j=t+u|0;c[ha>>2]=s+j+(c[ha>>2]|0)+A;c[ba>>2]=j-s-A+(c[ba>>2]|0);j=1}else{A=j;j=0}if(da){B=F+X|0;q=B+1|0;C=q+1|0;B=(d[q>>0]|0)+(d[B>>0]|0)|0;q=C+1|0;D=q+1|0;C=(d[q>>0]|0)+(d[C>>0]|0)|0;q=D+1|0;E=q+1|0;D=(d[q>>0]|0)+(d[D>>0]|0)|0;E=(d[E+1>>0]|0)+(d[E>>0]|0)|0;q=C+B|0;c[ha>>2]=D+q+(c[ha>>2]|0)+E;c[ba>>2]=q-D-E+(c[ba>>2]|0);q=j+1|0}else{B=q;C=p;D=n;E=l;q=j}if(fa){z=F+-1|0;v=(d[z+W>>0]|0)+(d[z>>0]|0)|0;z=z+Y|0;x=(d[z+W>>0]|0)+(d[z>>0]|0)|0;z=z+Y|0;y=(d[z+W>>0]|0)+(d[z>>0]|0)|0;z=z+Y|0;z=(d[z+W>>0]|0)+(d[z>>0]|0)|0;j=x+v|0;c[ha>>2]=y+j+(c[ha>>2]|0)+z;c[ca>>2]=j-y-z+(c[ca>>2]|0);j=q+1|0;i=1}else{j=q;v=o;x=h;y=i;z=k;i=0}do if(b){p=F+8|0;h=(d[p+W>>0]|0)+(d[p>>0]|0)|0;p=p+Y|0;n=(d[p+W>>0]|0)+(d[p>>0]|0)|0;p=p+Y|0;o=(d[p+W>>0]|0)+(d[p>>0]|0)|0;p=p+Y|0;p=(d[p+W>>0]|0)+(d[p>>0]|0)|0;j=j+1|0;i=i+1|0;k=n+h|0;c[ha>>2]=o+k+(c[ha>>2]|0)+p;k=k-o-p+(c[ca>>2]|0)|0;c[ca>>2]=k;l=(q|0)==0;if(!(fa&l))if(l){p=55;break}else{p=50;break}else{c[ba>>2]=y+z+x+v-h-n-o-p>>4;p=55;break}}else if(!q)p=51;else p=50;while(0);if((p|0)==50){c[ba>>2]=c[ba>>2]>>q+2;p=51}do if((p|0)==51){p=0;k=(i|0)==0;if(da&(m&k)){k=s+A+t+u-E-D-C-B>>4;p=56;break}if(!k){k=c[ca>>2]|0;p=55}}while(0);if((p|0)==55){k=k>>i+2;p=56}if((p|0)==56)c[ca>>2]=k;switch(j|0){case 1:{i=c[ha>>2]>>3;break}case 2:{i=c[ha>>2]>>4;break}case 3:{i=(c[ha>>2]|0)*21>>9;break}default:i=c[ha>>2]>>5}c[ha>>2]=i;j=c[ba>>2]|0;k=c[ca>>2]|0;if(!(k|j)){c[P>>2]=i;c[Q>>2]=i;c[R>>2]=i;c[S>>2]=i;c[T>>2]=i;c[U>>2]=i;c[I>>2]=i;c[J>>2]=i;c[K>>2]=i;c[L>>2]=i;c[M>>2]=i;c[ca>>2]=i;c[N>>2]=i;c[O>>2]=i;c[ba>>2]=i}else{$=i+j|0;ea=j>>1;aa=i+ea|0;ea=i-ea|0;f=i-j|0;c[ha>>2]=$+k;g=k>>1;c[ca>>2]=$+g;c[J>>2]=$-g;c[S>>2]=$-k;c[ba>>2]=aa+k;c[M>>2]=aa+g;c[I>>2]=aa-g;c[R>>2]=aa-k;c[O>>2]=ea+k;c[L>>2]=ea+g;c[U>>2]=ea-g;c[Q>>2]=ea-k;c[N>>2]=f+k;c[K>>2]=f+g;c[T>>2]=f-g;c[P>>2]=f-k}j=0;i=H+(G<<6)|0;l=ha;while(1){k=c[l+((j>>>1&3)<<2)>>2]|0;k=(k|0)<255?k:255;a[i>>0]=(k|0)>0?k:0;k=j+1|0;if((k|0)==64)break;else{j=k;i=i+1|0;l=(k&15|0)==0?l+16|0:l}}G=G+1|0;if((G|0)==2)break;else{j=A;q=B;p=C;n=D;l=E;o=v;h=x;i=y;k=z;F=F+Z|0}}De(e,ga);cc=ia;return}function ag(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a:do if(!(c[d+284>>2]|0))n=0;else{g=0;b:while(1){f=c[d+288+(g*20|0)>>2]|0;switch(f|0){case 5:{n=1;break a}case 0:break b;default:{}}g=g+1|0}n=f}while(0);switch(c[b+16>>2]|0){case 0:{if((c[e>>2]|0)!=5){g=c[a>>2]|0;f=c[d+20>>2]|0;if(g>>>0>f>>>0?(h=c[b+20>>2]|0,(g-f|0)>>>0>=h>>>1>>>0):0){k=f;j=(c[a+4>>2]|0)+h|0;i=a}else{i=a;l=12}}else{c[a+4>>2]=0;c[a>>2]=0;f=c[d+20>>2]|0;g=0;i=a;l=12}do if((l|0)==12){if(f>>>0>g>>>0?(j=c[b+20>>2]|0,(f-g|0)>>>0>j>>>1>>>0):0){k=f;j=(c[a+4>>2]|0)-j|0;break}k=f;j=c[a+4>>2]|0}while(0);if(!(c[e+4>>2]|0)){d=c[d+24>>2]|0;d=j+k+((d|0)<0?d:0)|0;return d|0}h=a+4|0;c[h>>2]=j;f=c[d+24>>2]|0;g=(f|0)<0;if(!n){c[i>>2]=k;d=j+k+(g?f:0)|0;return d|0}else{c[h>>2]=0;c[i>>2]=g?0-f|0:0;d=0;return d|0}}case 1:{if((c[e>>2]|0)!=5){f=c[a+12>>2]|0;if((c[a+8>>2]|0)>>>0>(c[d+12>>2]|0)>>>0)f=(c[b+12>>2]|0)+f|0}else f=0;l=c[b+36>>2]|0;h=(l|0)==0;if(h)g=0;else g=(c[d+12>>2]|0)+f|0;m=(c[e+4>>2]|0)==0;g=g+(((g|0)!=0&m)<<31>>31)|0;k=(g|0)!=0;g=g+-1|0;if(k){j=(g>>>0)/(l>>>0)|0;e=g-(r(j,l)|0)|0}else{e=0;j=0}if(h)g=0;else{h=c[b+40>>2]|0;g=0;i=0;do{g=(c[h+(i<<2)>>2]|0)+g|0;i=i+1|0}while((i|0)!=(l|0))}if(k){g=r(g,j)|0;h=c[b+40>>2]|0;i=0;do{g=(c[h+(i<<2)>>2]|0)+g|0;i=i+1|0}while(i>>>0<=e>>>0)}else g=0;if(m)i=(c[b+28>>2]|0)+g|0;else i=g;g=(c[d+32>>2]|0)+(c[b+32>>2]|0)|0;h=a+12|0;if(!n){n=((g|0)<0?g:0)+i+(c[d+28>>2]|0)|0;c[h>>2]=f;c[a+8>>2]=c[d+12>>2];d=n;return d|0}else{c[h>>2]=0;c[a+8>>2]=0;d=0;return d|0}}default:{if((c[e>>2]|0)==5){i=0;g=0;f=a+12|0}else{h=c[d+12>>2]|0;f=a+12|0;g=c[f>>2]|0;if((c[a+8>>2]|0)>>>0>h>>>0)g=(c[b+12>>2]|0)+g|0;i=g;g=(h+g<<1)+(((c[e+4>>2]|0)==0)<<31>>31)|0}if(!n){c[f>>2]=i;c[a+8>>2]=c[d+12>>2];d=g;return d|0}else{c[f>>2]=0;c[a+8>>2]=0;d=0;return d|0}}}return 0}function bg(a,b){a=a|0;b=b|0;var d=0;vf(a);d=me(2112,1)|0;c[a+3376>>2]=d;if(!d){d=1;return d|0}if(!b){d=0;return d|0}c[a+1216>>2]=1;d=0;return d|0}function cg(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=cc;cc=cc+208|0;if((cc|0)>=(dc|0))w(208);k=s+204|0;q=s;j=s+112|0;i=s+40|0;r=s+16|0;h=s+12|0;n=s+8|0;c[h>>2]=0;o=a+3344|0;if((c[o>>2]|0)!=0?(c[a+3348>>2]|0)==(b|0):0){l=a+3356|0;c[r>>2]=c[l>>2];c[r+4>>2]=c[l+4>>2];c[r+8>>2]=c[l+8>>2];c[r+12>>2]=c[l+12>>2];c[r+4>>2]=c[r>>2];c[r+8>>2]=0;c[r+16>>2]=0;c[f>>2]=c[a+3352>>2]}else p=4;do if((p|0)==4)if(!(he(b,d,r,f)|0)){l=a+3356|0;c[l>>2]=c[r>>2];c[l+4>>2]=c[r+4>>2];c[l+8>>2]=c[r+8>>2];c[l+12>>2]=c[r+12>>2];c[l+16>>2]=c[r+16>>2];c[a+3352>>2]=c[f>>2];c[a+3348>>2]=b;break}else{a=3;cc=s;return a|0}while(0);c[o>>2]=0;if(tf(r,q)|0){a=3;cc=s;return a|0}if(((c[q>>2]|0)+-1|0)>>>0>11){a=0;cc=s;return a|0}b=Hf(r,q,a,h)|0;a:do if((b|0)<65520){switch(b|0){case 0:break;default:break a}do if(!(c[h>>2]|0))p=19;else{if(c[a+1184>>2]|0?(g=a+16|0,c[g>>2]|0):0){if(c[a+3380>>2]|0){a=3;cc=s;return a|0}d=a+1188|0;if(!(c[d>>2]|0)){r=a+1220|0;b=a+1336|0;c[b>>2]=Of(r)|0;Qf(r);_f(a,b,0)|0}else{b=a+1336|0;_f(a,b,c[a+1372>>2]|0)|0}c[f>>2]=0;c[o>>2]=1;c[a+1180>>2]=0;h=b;b=a+1360|0;break}c[a+1188>>2]=0;c[a+1180>>2]=0;p=19}while(0);b:do if((p|0)==19)switch(c[q>>2]|0){case 7:if(!(ie(r,j)|0)){wf(a,j)|0;a=0;cc=s;return a|0}else{a=j+40|0;xf(c[a>>2]|0);c[a>>2]=0;a=j+84|0;xf(c[a>>2]|0);c[a>>2]=0;a=3;cc=s;return a|0}case 8:if(!(re(r,i)|0)){yf(a,i)|0;a=0;cc=s;return a|0}else{a=i+20|0;xf(c[a>>2]|0);c[a>>2]=0;a=i+24|0;xf(c[a>>2]|0);c[a>>2]=0;a=i+28|0;xf(c[a>>2]|0);c[a>>2]=0;a=i+44|0;xf(c[a>>2]|0);c[a>>2]=0;a=3;cc=s;return a|0}case 1:case 5:{l=a+1180|0;if(c[l>>2]|0){a=0;cc=s;return a|0}c[a+1184>>2]=1;if(Df(a)|0){c[a+1204>>2]=0;c[a+1208>>2]=e;te(r,k)|0;d=a+8|0;g=c[d>>2]|0;b=zf(a,c[k>>2]|0,(c[q>>2]|0)==5&1)|0;if(b|0){c[a+4>>2]=256;c[a+12>>2]=0;c[d>>2]=32;c[a+16>>2]=0;c[a+3380>>2]=0;a=(b|0)==65535?5:4;cc=s;return a|0}if((g|0)!=(c[d>>2]|0)){g=c[a+16>>2]|0;c[n>>2]=1;b=c[a>>2]|0;if(b>>>0<32)b=c[a+20+(b<<2)>>2]|0;else b=0;c[f>>2]=0;c[o>>2]=1;do if(((((c[q>>2]|0)==5?(r=ze(n,r,g,c[a+12>>2]|0,5)|0,(c[n>>2]|r|0)==0):0)?(m=a+1220|0,!((b|0)==0|(c[a+1276>>2]|0)!=0)):0)?(c[b+52>>2]|0)==(c[g+52>>2]|0):0)?(c[b+56>>2]|0)==(c[g+56>>2]|0):0){if((c[b+88>>2]|0)!=(c[g+88>>2]|0)){p=39;break}Tf(m)}else p=39;while(0);if((p|0)==39)c[a+1280>>2]=0;c[a>>2]=c[d>>2];a=2;cc=s;return a|0}}if(c[a+3380>>2]|0){a=3;cc=s;return a|0}j=a+1368|0;g=a+2356|0;h=a+16|0;if(se(r,g,c[h>>2]|0,c[a+12>>2]|0,q)|0){a=3;cc=s;return a|0}if(!(Df(a)|0))b=a+1220|0;else{b=a+1220|0;if((c[q>>2]|0)!=5?Rf(b,c[a+2368>>2]|0,(c[q+4>>2]|0)!=0&1,c[(c[h>>2]|0)+48>>2]|0)|0:0){a=3;cc=s;return a|0}c[a+1336>>2]=Of(b)|0}pj(j|0,g|0,988)|0;d=a+1188|0;c[d>>2]=1;i=a+1360|0;f=q;p=c[f+4>>2]|0;q=i;c[q>>2]=c[f>>2];c[q+4>>2]=p;Ff(a,c[a+1432>>2]|0);Qf(b);if(Jf(b,a+1436|0,c[a+1380>>2]|0,c[a+1412>>2]|0)|0){a=3;cc=s;return a|0}b=a+1336|0;if(Ae(r,a,b,j)|0){rf(a,c[j>>2]|0);a=3;cc=s;return a|0}if(!(Ef(a)|0)){a=0;cc=s;return a|0}else{c[l>>2]=1;g=h;h=b;b=i;break b}}default:{a=0;cc=s;return a|0}}while(0);Uf(h,c[a+1212>>2]|0);Cf(a);g=ag(a+1284|0,c[g>>2]|0,a+1368|0,b)|0;do if(c[d>>2]|0){b=a+1220|0;if(!(c[a+1364>>2]|0)){Kf(b,0,h,c[a+1380>>2]|0,g,(c[a+1360>>2]|0)==5&1,c[a+1208>>2]|0,c[a+1204>>2]|0)|0;break}else{Kf(b,a+1644|0,h,c[a+1380>>2]|0,g,(c[a+1360>>2]|0)==5&1,c[a+1208>>2]|0,c[a+1204>>2]|0)|0;break}}while(0);c[a+1184>>2]=0;c[d>>2]=0;a=1;cc=s;return a|0}else{switch(b|0){case 65520:{b=4;break}default:break a}cc=s;return b|0}while(0);a=3;cc=s;return a|0}function dg(a){a=a|0;var b=0,d=0,e=0;e=0;do{d=a+20+(e<<2)|0;b=c[d>>2]|0;if(b|0){xf(c[b+40>>2]|0);c[(c[d>>2]|0)+40>>2]=0;xf(c[(c[d>>2]|0)+84>>2]|0);c[(c[d>>2]|0)+84>>2]=0;xf(c[d>>2]|0);c[d>>2]=0}e=e+1|0}while((e|0)!=32);e=0;do{d=a+148+(e<<2)|0;b=c[d>>2]|0;if(b|0){xf(c[b+20>>2]|0);c[(c[d>>2]|0)+20>>2]=0;xf(c[(c[d>>2]|0)+24>>2]|0);c[(c[d>>2]|0)+24>>2]=0;xf(c[(c[d>>2]|0)+28>>2]|0);c[(c[d>>2]|0)+28>>2]=0;xf(c[(c[d>>2]|0)+44>>2]|0);c[(c[d>>2]|0)+44>>2]=0;xf(c[d>>2]|0);c[d>>2]=0}e=e+1|0}while((e|0)!=256);e=a+3376|0;xf(c[e>>2]|0);c[e>>2]=0;e=a+1212|0;xf(c[e>>2]|0);c[e>>2]=0;e=a+1172|0;xf(c[e>>2]|0);c[e>>2]=0;Pf(a+1220|0);return}function eg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=Sf(a+1220|0)|0;if(!a){b=0;return b|0}c[b>>2]=c[a+4>>2];c[d>>2]=c[a+12>>2];c[e>>2]=c[a+8>>2];b=c[a>>2]|0;return b|0}function fg(a){a=a|0;a=c[a+16>>2]|0;if(!a){a=0;return a|0}a=c[a+52>>2]|0;return a|0}function gg(a){a=a|0;a=c[a+16>>2]|0;if(!a){a=0;return a|0}a=c[a+56>>2]|0;return a|0}function hg(a){a=a|0;Tf(a+1220|0);return}function ig(a){a=a|0;return (If(a)|0)==0|0}function jg(a){a=a|0;var b=0;a=c[a+16>>2]|0;if((((a|0?c[a+80>>2]|0:0)?(b=c[a+84>>2]|0,b|0):0)?c[b+24>>2]|0:0)?c[b+32>>2]|0:0){b=1;return b|0}b=0;return b|0}function kg(a){a=a|0;a=c[a+16>>2]|0;if(!a){a=2;return a|0}if(!(c[a+80>>2]|0)){a=2;return a|0}a=c[a+84>>2]|0;if(!a){a=2;return a|0}if(!(c[a+24>>2]|0)){a=2;return a|0}if(!(c[a+36>>2]|0)){a=2;return a|0}a=c[a+48>>2]|0;return a|0}function lg(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a=c[a+16>>2]|0;if(a|0?c[a+60>>2]|0:0){c[b>>2]=1;b=a+64|0;c[d>>2]=c[b>>2]<<1;c[e>>2]=(c[a+52>>2]<<4)-((c[a+68>>2]|0)+(c[b>>2]|0)<<1);e=a+72|0;c[f>>2]=c[e>>2]<<1;e=(c[a+56>>2]<<4)-((c[a+76>>2]|0)+(c[e>>2]|0)<<1)|0;c[g>>2]=e;return}c[b>>2]=0;c[d>>2]=0;c[e>>2]=0;c[f>>2]=0;e=0;c[g>>2]=e;return}function mg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;a=c[a+16>>2]|0;a:do if((((a|0)!=0?(c[a+80>>2]|0)!=0:0)?(e=c[a+84>>2]|0,(e|0)!=0):0)?(c[e>>2]|0)!=0:0)do switch(c[e+4>>2]|0){case 255:{f=c[e+8>>2]|0;a=c[e+12>>2]|0;e=(f|0)==0|(a|0)==0;a=e?0:a;e=e?0:f;break a}case 1:{a=1;e=1;break a}case 2:{a=11;e=12;break a}case 3:{a=11;e=10;break a}case 4:{a=11;e=16;break a}case 5:{a=33;e=40;break a}case 6:{a=11;e=24;break a}case 7:{a=11;e=20;break a}case 8:{a=11;e=32;break a}case 9:{a=33;e=80;break a}case 10:{a=11;e=18;break a}case 11:{a=11;e=15;break a}case 12:{a=33;e=64;break a}case 13:{a=99;e=160;break a}default:{a=0;e=0;break a}}while(0);else{a=1;e=1}while(0);c[b>>2]=e;c[d>>2]=a;return}function ng(a){a=a|0;a=c[a+16>>2]|0;if(!a){a=0;return a|0}a=c[a>>2]|0;return a|0}function og(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){e=-1;return e|0}d=Jh(3396)|0;if(!d){e=-4;return e|0}e=d+8|0;if(!(bg(e,b)|0)){c[d>>2]=1;c[d+4>>2]=0;c[a>>2]=d;e=0;return e|0}else{dg(e);Kh(d);e=-4;return e|0}return 0}function pg(a){a=a|0;if(!a)return;dg(a+8|0);Kh(a);return}function qg(a,b){a=a|0;b=b|0;var d=0;if((a|0)==0|(b|0)==0){d=-1;return d|0}d=a+8|0;if(!(c[a+24>>2]|0)){d=-6;return d|0}if(!(c[a+20>>2]|0)){d=-6;return d|0}c[b+4>>2]=(fg(d)|0)<<4;c[b+8>>2]=(gg(d)|0)<<4;c[b+12>>2]=jg(d)|0;c[b+16>>2]=kg(d)|0;lg(d,b+28|0,b+32|0,b+36|0,b+40|0,b+44|0);mg(d,b+20|0,b+24|0);c[b>>2]=ng(d)|0;d=0;return d|0}function rg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);j=l;a:do if((!((b|0)==0|(d|0)==0)?(e=c[b>>2]|0,(e|0)!=0):0)?(g=c[b+4>>2]|0,(g|0)!=0):0)if((a|0)!=0?(f=c[a>>2]|0,(f|0)!=0):0){c[d>>2]=0;c[j>>2]=0;i=a+8|0;c[a+3392>>2]=c[b+12>>2];h=b+8|0;b:do if((f|0)==2){b=e;k=8}else{b=1;c:while(1){m=cg(i,e,g,c[h>>2]|0,j)|0;f=c[j>>2]|0;e=e+f|0;f=g-f|0;g=(f|0)>0?f:0;c[d>>2]=e;switch(m|0){case 5:{b=-4;break a}case 2:break b;case 1:break c;case 4:{m=(ig(i)|0|g|0)==0;b=m?-2:b;break}default:{}}if((f|0)<1)break a;if((c[a>>2]|0)==2){b=e;k=8;break b}}b=a+4|0;c[b>>2]=(c[b>>2]|0)+1;b=(f|0)<1?2:3;break a}while(0);if((k|0)==8){c[a>>2]=1;c[d>>2]=b+(c[j>>2]|0)}b=a+1288|0;if((c[b>>2]|0)!=0?(c[a+1244>>2]|0)!=(c[a+1248>>2]|0):0){c[b>>2]=0;c[a>>2]=2;b=3}else b=4}else b=-3;else b=-1;while(0);cc=l;return b|0}function sg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);f=h+8|0;e=h+4|0;g=h;if((a|0)==0|(b|0)==0){g=-1;cc=h;return g|0}a=a+8|0;if(d|0)hg(a);a=eg(a,g,e,f)|0;if(!a){g=0;cc=h;return g|0}c[b>>2]=a;c[b+4>>2]=c[g>>2];c[b+8>>2]=c[e>>2];c[b+12>>2]=c[f>>2];g=2;cc=h;return g|0}function tg(a,d){a=a|0;d=d|0;c[a>>2]=d;b[a+4>>1]=0;b[a+6>>1]=8;return}function ug(a,b){a=a|0;b=b|0;return (e[a+6>>1]|0)+8-(e[b+6>>1]|0)+((c[b>>2]|0)-((c[a>>2]|0)+1)<<3)|0}function vg(a){a=a|0;var d=0;d=c[a>>2]|0;return ((b[a+6>>1]|0)==8?d:d+1|0)|0}function wg(a,f){a=a|0;f=f|0;var g=0,h=0,i=0;g=(c[a>>2]|0)+(f>>>3)|0;c[a>>2]=g;i=a+6|0;h=(e[i>>1]|0)-(f&7)|0;f=h&65535;b[i>>1]=f;if((h&65535)>>>0>8){g=g+1|0;c[a>>2]=g;f=h+8&65535;b[i>>1]=f}if((f&65535)>=8)return;b[a+4>>1]=d[g>>0]|0;return}function xg(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;l=e+6|0;g=b[l>>1]|0;if(g<<16>>16==8){h=d[c[e>>2]>>0]|0;k=e+4|0;b[k>>1]=h}else{k=e+4|0;h=b[k>>1]|0}j=g&65535;g=(1<>>0<=f>>>0){h=f-j|0;i=(c[e>>2]|0)+1|0;c[e>>2]=i;b[l>>1]=8;if(h>>>0>7){j=f-j|0;do{f=i;i=i+1|0;c[e>>2]=i;g=g<<8|(d[f>>0]|0);h=h+-8|0}while(h>>>0>7);h=j&7}if(!h){l=g;return l|0}else{e=a[i>>0]|0;b[k>>1]=e&255;k=8-h|0;g=(e&255)>>>k|g<>>h}while(0);b[l>>1]=h;l=g;return l|0}function yg(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;h=h&65535;if(g>>>0>31){q=f+6|0;p=f+4|0;n=b[q>>1]|0;o=g;while(1){if(n<<16>>16!=8){j=n&65535;i=(1<>1]|0);if((n&65535)>32){r=j+-32|0;j=r&65535;i=i>>>r;r=13}else r=7}else{i=a[c[f>>2]>>0]|0;b[p>>1]=i&255;i=(1<<(n&65535))+255&(i&255);j=8;r=7}if((r|0)==7){r=0;k=32-j|0;m=c[f>>2]|0;l=m+1|0;c[f>>2]=l;b[q>>1]=8;if(k>>>0>7){j=(24-j|0)>>>3;do{s=l;l=l+1|0;c[f>>2]=l;i=i<<8|(d[s>>0]|0);k=k+-8|0}while(k>>>0>7);j=m+2+j|0;k=0-n&7}else j=l;if(!k)j=8;else{s=a[j>>0]|0;b[p>>1]=s&255;r=8-k|0;j=r&65535;i=(s&255)>>>r|i<>1]=j}s=h<<8^(e[47102+((i>>>24^h>>>8&255)<<1)>>1]|0);s=s<<8^(e[47102+(((s>>>8^i>>>16)&255)<<1)>>1]|0);s=s<<8^(e[47102+(((s^i)>>>8&255)<<1)>>1]|0);h=s<<8^(e[47102+(((s>>>8^i)&255)<<1)>>1]|0);o=o+-32|0;if(o>>>0<=31)break;else n=j}g=g&31}switch(g>>>3&536870911|0){case 3:{q=h<<8;p=h>>>8;o=f+6|0;n=b[o>>1]|0;if(n<<16>>16!=8){i=f+4|0;j=n&65535;h=(1<>1]|0);if((n&65535)>8){r=j+-8|0;i=r&65535;h=h>>>r;r=29}else r=23}else{h=a[c[f>>2]>>0]|0;i=f+4|0;b[i>>1]=h&255;h=(1<<(n&65535))+255&(h&255);j=8;r=23}if((r|0)==23){k=8-j|0;l=c[f>>2]|0;j=l+1|0;c[f>>2]=j;b[o>>1]=8;if(k>>>0>7){m=((k+-8|0)>>>3)+2|0;do{s=j;j=j+1|0;c[f>>2]=j;h=h<<8|(d[s>>0]|0);k=k+-8|0}while(k>>>0>7);j=l+m|0;k=0-n&7}if(!k)i=8;else{s=a[j>>0]|0;b[i>>1]=s&255;r=8-k|0;i=r&65535;h=(s&255)>>>r|h<>1]=i;h=q^(e[47102+(((h^p)&255)<<1)>>1]|0);r=31;break}case 2:{o=f+6|0;i=b[o>>1]|0;r=31;break}case 1:{o=f+6|0;i=b[o>>1]|0;r=43;break}default:{}}if((r|0)==31){q=h<<8;p=h>>>8;if(i<<16>>16!=8){j=f+4|0;k=i&65535;h=(1<>1]|0);if((i&65535)>8){r=k+-8|0;i=r&65535;h=h>>>r;r=41}else r=35}else{h=a[c[f>>2]>>0]|0;j=f+4|0;b[j>>1]=h&255;h=(1<<(i&65535))+255&(h&255);k=8;r=35}if((r|0)==35){l=8-k|0;m=c[f>>2]|0;k=m+1|0;c[f>>2]=k;b[o>>1]=8;if(l>>>0>7){n=((l+-8|0)>>>3)+2|0;do{s=k;k=k+1|0;c[f>>2]=k;h=h<<8|(d[s>>0]|0);l=l+-8|0}while(l>>>0>7);k=m+n|0;l=0-i&7}if(!l)i=8;else{s=a[k>>0]|0;b[j>>1]=s&255;r=8-l|0;i=r&65535;h=(s&255)>>>r|h<>1]=i;h=q^(e[47102+(((h^p)&255)<<1)>>1]|0);r=43}if((r|0)==43){q=h<<8;p=h>>>8;if(i<<16>>16!=8){j=f+4|0;k=i&65535;h=(1<>1]|0);if((i&65535)>8){i=k+-8|0;h=h>>>i;r=53}else r=47}else{h=a[c[f>>2]>>0]|0;j=f+4|0;b[j>>1]=h&255;h=(1<<(i&65535))+255&(h&255);k=8;r=47}if((r|0)==47){l=8-k|0;m=c[f>>2]|0;k=m+1|0;c[f>>2]=k;b[o>>1]=8;if(l>>>0>7){n=((l+-8|0)>>>3)+2|0;do{s=k;k=k+1|0;c[f>>2]=k;h=h<<8|(d[s>>0]|0);l=l+-8|0}while(l>>>0>7);k=m+n|0;i=0-i&7}else i=l;if(i){s=a[k>>0]|0;b[j>>1]=s&255;r=8-i|0;h=(s&255)>>>r|h<>1]=i;h=q^(e[47102+(((h^p)&255)<<1)>>1]|0);g=g&7}if(!g){s=h;s=s&65535;return s|0}q=f+6|0;p=f+4|0;n=b[q>>1]|0;o=g;while(1){o=o+-1|0;if(n<<16>>16!=8){g=n&65535;i=(1<>1]|0);if((n&65535)<=1){k=1-g|0;m=c[f>>2]|0;j=m+1|0;c[f>>2]=j;b[q>>1]=8;if(k>>>0>7){l=(-7-g|0)>>>3;g=i;do{s=j;j=j+1|0;c[f>>2]=j;g=g<<8|(d[s>>0]|0);k=k+-8|0}while(k>>>0>7);j=m+2+l|0;k=1-n&7}else g=i;if(!k)i=8;else{s=a[j>>0]|0;b[p>>1]=s&255;r=8-k|0;j=r&65535;g=(s&255)>>>r|g<>2]>>0]|0;b[p>>1]=i&255;i=(1<<(n&65535))+255&(i&255);g=8;r=60}if((r|0)==60){g=g+-1|0;j=g&65535;g=i>>>g;r=67}if((r|0)==67){r=0;b[q>>1]=j;i=j}s=h<<1;h=((g^h>>>15)&1|0)==0?s:s^32773;if(!o)break;else n=i}s=h&65535;return s|0}function zg(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;tg(a+28|0,0);tg(a+36|0,0);a=a+44|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;return}function Ag(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+36|0;d=a;e=d+36|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));f=55204;d=c[f+4>>2]|0;e=b;c[e>>2]=c[f>>2];c[e+4>>2]=d;c[a+44>>2]=0;c[a+9264>>2]=0;Sg(a);return}function Bg(a){a=a|0;Rg(a);a=a+4096|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Cg(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=(c[d+4>>2]|0)==0?1:2;switch(c[d>>2]|0){case 1:{e=12;break}case 3:{e=(c[d+28>>2]&4096|0)==0?36:18;f=3;break}default:{e=36;f=3}}f=c[d+20>>2]|0;h=a+4100|0;c[h>>2]=f;b[a+4104>>1]=i;g=a+4106|0;b[g>>1]=e<<5;if(!(c[d+44>>2]&2))f=4;else{c[h>>2]=f>>>1;b[g>>1]=e<<4&32752;f=5}oc[f&7](a,d,i,e);a=a+4096|0;c[a>>2]=(c[a>>2]|0)+e&15;return}function Dg(a){a=a|0;var b=0;b=a+9264|0;a=c[b>>2]|0;if(!a)return;Kh(a);c[b>>2]=0;return}function Eg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=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,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;if(!d)return;x=a+4096|0;n=(e|0)==0;m=0;t=a+1504|0;u=a+1472|0;while(1){if(!n){f=a+4108+(m*4608|0)|0;w=c[x>>2]|0;y=0;while(1){A=w&1;o=a+(m<<11)+(A<<9)|0;Gg(b+48+(m*4608|0)+(y<<7)|0,w>>>1,o,a+(m<<11)+1024+(A<<9)|0);k=w&-2;v=w+15&14|1;l=A^1;q=5336+(v<<2)|0;B=5336+(k<<2)|0;H=r(c[B>>2]|0,c[o>>2]|0)|0;g=r(c[q>>2]|0,c[a+(m<<11)+(l<<9)>>2]|0)|0;i=r(c[q+56>>2]|0,c[a+(m<<11)+(l<<9)+4>>2]|0)|0;h=r(c[q+48>>2]|0,c[a+(m<<11)+(l<<9)+8>>2]|0)|0;p=r(c[q+40>>2]|0,c[a+(m<<11)+(l<<9)+12>>2]|0)|0;j=r(c[q+32>>2]|0,c[a+(m<<11)+(l<<9)+16>>2]|0)|0;z=r(c[q+24>>2]|0,c[a+(m<<11)+(l<<9)+20>>2]|0)|0;s=r(c[q+16>>2]|0,c[a+(m<<11)+(l<<9)+24>>2]|0)|0;q=r(c[q+8>>2]|0,c[a+(m<<11)+(l<<9)+28>>2]|0)|0;I=r(c[B+56>>2]|0,c[a+(m<<11)+(A<<9)+4>>2]|0)|0;G=r(c[B+48>>2]|0,c[a+(m<<11)+(A<<9)+8>>2]|0)|0;F=r(c[B+40>>2]|0,c[a+(m<<11)+(A<<9)+12>>2]|0)|0;E=r(c[B+32>>2]|0,c[a+(m<<11)+(A<<9)+16>>2]|0)|0;D=r(c[B+24>>2]|0,c[a+(m<<11)+(A<<9)+20>>2]|0)|0;C=r(c[B+16>>2]|0,c[a+(m<<11)+(A<<9)+24>>2]|0)|0;c[f>>2]=I+H+G+F+E+D+C+(r(c[B+8>>2]|0,c[a+(m<<11)+(A<<9)+28>>2]|0)|0)-(i+g+h+p+j+z+s+q)>>2;q=0-v|0;s=0-k|0;z=t+(l<<9)|0;j=5336;p=a+(m<<11)+1024+(l<<9)|0;h=f+4|0;g=f+60|0;i=1;while(1){f=o;o=o+32|0;if(!(i&1)){B=j+128+(v<<2)|0;A=p+4|0;J=p+8|0;K=p+12|0;L=p+16|0;M=p+20|0;N=p+24|0;O=p+28|0;W=j+128+(k<<2)|0;I=f+60|0;$=r(c[W+8>>2]|0,c[I>>2]|0)|0;U=r(c[B>>2]|0,c[p>>2]|0)|0;V=r(c[B+56>>2]|0,c[A>>2]|0)|0;T=r(c[B+48>>2]|0,c[J>>2]|0)|0;S=r(c[B+40>>2]|0,c[K>>2]|0)|0;R=r(c[B+32>>2]|0,c[L>>2]|0)|0;Q=r(c[B+24>>2]|0,c[M>>2]|0)|0;P=r(c[B+16>>2]|0,c[N>>2]|0)|0;B=r(c[B+8>>2]|0,c[O>>2]|0)|0;H=f+56|0;aa=r(c[W+16>>2]|0,c[H>>2]|0)|0;G=f+52|0;_=r(c[W+24>>2]|0,c[G>>2]|0)|0;F=f+48|0;Z=r(c[W+32>>2]|0,c[F>>2]|0)|0;E=f+44|0;Y=r(c[W+40>>2]|0,c[E>>2]|0)|0;D=f+40|0;X=r(c[W+48>>2]|0,c[D>>2]|0)|0;C=f+36|0;f=r(c[W+56>>2]|0,c[C>>2]|0)|0;c[h>>2]=aa+$+_+Z+Y+X+f+(r(c[W>>2]|0,c[o>>2]|0)|0)-(V+U+T+S+R+Q+P+B)>>2;B=j+128+(q<<2)|0;f=r(c[B+116>>2]|0,c[O>>2]|0)|0;f=(r(c[B+108>>2]|0,c[N>>2]|0)|0)+f|0;f=f+(r(c[B+100>>2]|0,c[M>>2]|0)|0)|0;f=f+(r(c[B+92>>2]|0,c[L>>2]|0)|0)|0;f=f+(r(c[B+84>>2]|0,c[K>>2]|0)|0)|0;f=f+(r(c[B+76>>2]|0,c[J>>2]|0)|0)|0;f=f+(r(c[B+68>>2]|0,c[A>>2]|0)|0)|0;B=f+(r(c[B+60>>2]|0,c[p>>2]|0)|0)|0;f=j+128+(s<<2)|0;B=B+(r(c[f+60>>2]|0,c[o>>2]|0)|0)|0;C=B+(r(c[f+68>>2]|0,c[C>>2]|0)|0)|0;D=C+(r(c[f+76>>2]|0,c[D>>2]|0)|0)|0;E=D+(r(c[f+84>>2]|0,c[E>>2]|0)|0)|0;F=E+(r(c[f+92>>2]|0,c[F>>2]|0)|0)|0;G=F+(r(c[f+100>>2]|0,c[G>>2]|0)|0)|0;H=G+(r(c[f+108>>2]|0,c[H>>2]|0)|0)|0;c[g>>2]=H+(r(c[f+116>>2]|0,c[I>>2]|0)|0)>>2;f=h+4|0;g=g+-4|0}else f=h;i=i+1|0;if((i|0)==16)break;else{j=j+128|0;p=p+32|0;h=f}}aa=7384+(v<<2)|0;$=r(c[aa>>2]|0,c[z>>2]|0)|0;$=$+(r(c[aa+56>>2]|0,c[u+(l<<9)+36>>2]|0)|0)|0;$=$+(r(c[aa+48>>2]|0,c[u+(l<<9)+40>>2]|0)|0)|0;$=$+(r(c[aa+40>>2]|0,c[u+(l<<9)+44>>2]|0)|0)|0;$=$+(r(c[aa+32>>2]|0,c[u+(l<<9)+48>>2]|0)|0)|0;$=$+(r(c[aa+24>>2]|0,c[u+(l<<9)+52>>2]|0)|0)|0;$=$+(r(c[aa+16>>2]|0,c[u+(l<<9)+56>>2]|0)|0)|0;c[f>>2]=0-($+(r(c[aa+8>>2]|0,c[u+(l<<9)+60>>2]|0)|0))>>2;y=y+1|0;if((y|0)==(e|0))break;else{f=f+32|0;w=w+1&15}}}m=m+1|0;if((m|0)==(d|0))break;else{t=t+2048|0;u=u+2048|0}}return} -function Ge(a,f,g,h,i,j){a=a|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;T=cc;cc=cc+32|0;if((cc|0)>=(dc|0))w(32);S=T;m=c[i+4>>2]|0;R=(h>>>0)/(m>>>0)|0;Q=R<<4;R=h-(r(R,m)|0)<<4;c[S+4>>2]=m;c[S+8>>2]=c[i+8>>2];m=c[a>>2]|0;a:do switch(m|0){case 1:case 0:{z=c[f+144>>2]|0;o=c[a+4>>2]|0;l=c[a+200>>2]|0;if((l|0)!=0?(c[l+4>>2]|0)==(o|0):0)if((c[l>>2]|0)>>>0<6){k=l+152|0;k=e[k>>1]|e[k+2>>1]<<16;p=1;x=k&65535;k=k>>>16&65535;s=c[l+104>>2]|0}else{p=1;x=0;k=0;s=-1}else{p=0;x=0;k=0;s=-1}l=c[a+204>>2]|0;if((l|0)!=0?(c[l+4>>2]|0)==(o|0):0)if((c[l>>2]|0)>>>0<6){u=l+172|0;u=e[u>>1]|e[u+2>>1]<<16;n=1;q=c[l+108>>2]|0;t=u&65535;u=u>>>16&65535}else{n=1;q=-1;t=0;u=0}else{n=0;q=-1;t=0;u=0}if(!m)if((!((p|0)==0|(n|0)==0)?((k&65535)<<16|x&65535|s|0)!=0:0)?((u&65535)<<16|t&65535|q|0)!=0:0)P=14;else{m=0;l=0}else P=14;if((P|0)==14){v=b[f+160>>1]|0;y=b[f+162>>1]|0;l=c[a+208>>2]|0;if((l|0)!=0?(c[l+4>>2]|0)==(o|0):0)if((c[l>>2]|0)>>>0<6){o=l+172|0;n=c[l+108>>2]|0;o=e[o>>1]|e[o+2>>1]<<16;P=23}else{n=-1;o=0;P=23}else P=18;do if((P|0)==18){l=c[a+212>>2]|0;if(l|0?(c[l+4>>2]|0)==(o|0):0){if((c[l>>2]|0)>>>0>=6){n=-1;o=0;P=23;break}o=l+192|0;n=c[l+112>>2]|0;o=e[o>>1]|e[o+2>>1]<<16;P=23;break}if((p|0)==0|(n|0)!=0){n=-1;o=0;P=23}else l=x}while(0);do if((P|0)==23){m=(s|0)==(z|0);l=(q|0)==(z|0);if(((l&1)+(m&1)+((n|0)==(z|0)&1)|0)!=1){N=x<<16>>16;L=t<<16>>16;l=o<<16>>16;K=t<<16>>16>x<<16>>16;M=K?t:x;N=K?N:(L|0)<(N|0)?L:N;L=k<<16>>16;K=u<<16>>16;P=o>>16;J=u<<16>>16>k<<16>>16;O=J?u:k;k=J?L:(K|0)<(L|0)?K:L;l=(M<<16>>16<(o&65535)<<16>>16?M&65535:(N|0)>(l|0)?N:l)&65535;k=(O<<16>>16<(o>>>16&65535)<<16>>16?O&65535:(k|0)>(P|0)?k:P)&65535;break}if(m|l){l=m?x:t;k=m?k:u}else{l=o&65535;k=o>>>16&65535}}while(0);l=(l&65535)+(v&65535)|0;k=(k&65535)+(y&65535)|0;if(((l<<16>>16)+8192|0)>>>0>16383){S=1;cc=T;return S|0}if(((k<<16>>16)+2048|0)>>>0>4095){S=1;cc=T;return S|0}else{m=l&65535;l=k&65535}}k=He(g,z)|0;if(!k){S=1;cc=T;return S|0}else{b[a+192>>1]=m;b[a+194>>1]=l;g=c[a+192>>2]|0;c[a+188>>2]=g;c[a+184>>2]=g;c[a+180>>2]=g;c[a+176>>2]=g;c[a+172>>2]=g;c[a+168>>2]=g;c[a+164>>2]=g;c[a+160>>2]=g;c[a+156>>2]=g;c[a+152>>2]=g;c[a+148>>2]=g;c[a+144>>2]=g;c[a+140>>2]=g;c[a+136>>2]=g;c[a+132>>2]=g;c[a+100>>2]=z;c[a+104>>2]=z;c[a+108>>2]=z;c[a+112>>2]=z;c[a+116>>2]=k;c[a+120>>2]=k;c[a+124>>2]=k;c[a+128>>2]=k;c[S>>2]=k;Ie(j,a+132|0,S,R,Q,0,0,16,16);break a}}case 2:{u=b[f+160>>1]|0;v=b[f+162>>1]|0;A=c[f+144>>2]|0;z=a+4|0;o=c[z>>2]|0;k=c[a+204>>2]|0;if((k|0)!=0?(c[k+4>>2]|0)==(o|0):0)if((c[k>>2]|0)>>>0<6){t=k+172|0;t=e[t>>1]|e[t+2>>1]<<16;q=1;k=c[k+108>>2]|0;s=t&65535;t=t>>>16&65535}else{q=1;k=-1;s=0;t=0}else{q=0;k=-1;s=0;t=0}b:do if((k|0)!=(A|0)){m=c[a+200>>2]|0;if((m|0)!=0?(c[m+4>>2]|0)==(o|0):0)if((c[m>>2]|0)>>>0<6){k=m+152|0;k=e[k>>1]|e[k+2>>1]<<16;n=1;l=k&65535;k=k>>>16&65535;p=c[m+104>>2]|0}else{n=1;l=0;k=0;p=-1}else{n=0;l=0;k=0;p=-1}m=c[a+208>>2]|0;if((m|0)!=0?(c[m+4>>2]|0)==(o|0):0)if((c[m>>2]|0)>>>0<6){o=m+172|0;n=c[m+108>>2]|0;o=e[o>>1]|e[o+2>>1]<<16}else{n=-1;o=0}else P=44;do if((P|0)==44){m=c[a+212>>2]|0;if(m|0?(c[m+4>>2]|0)==(o|0):0){if((c[m>>2]|0)>>>0>=6){n=-1;o=0;break}o=m+192|0;n=c[m+112>>2]|0;o=e[o>>1]|e[o+2>>1]<<16;break}if((q|0)!=0|(n|0)==0){n=-1;o=0}else break b}while(0);m=(p|0)==(A|0);if((((n|0)==(A|0)&1)+(m&1)|0)!=1){L=l<<16>>16;K=s<<16>>16;N=o<<16>>16;P=s<<16>>16>l<<16>>16;M=P?s:l;l=P?L:(K|0)<(L|0)?K:L;L=k<<16>>16;K=t<<16>>16;P=o>>16;J=t<<16>>16>k<<16>>16;O=J?t:k;k=J?L:(K|0)<(L|0)?K:L;l=(M<<16>>16<(o&65535)<<16>>16?M&65535:(l|0)>(N|0)?l:N)&65535;k=(O<<16>>16<(o>>>16&65535)<<16>>16?O&65535:(k|0)>(P|0)?k:P)&65535;break}if(!m){l=o&65535;k=o>>>16&65535}}else{l=s;k=t}while(0);m=(l&65535)+(u&65535)|0;k=(k&65535)+(v&65535)|0;if(((m<<16>>16)+8192|0)>>>0>16383){S=1;cc=T;return S|0}if(((k<<16>>16)+2048|0)>>>0>4095){S=1;cc=T;return S|0}l=He(g,A)|0;if(!l){S=1;cc=T;return S|0}b[a+160>>1]=m;b[a+162>>1]=k;u=c[a+160>>2]|0;c[a+156>>2]=u;c[a+152>>2]=u;c[a+148>>2]=u;c[a+144>>2]=u;c[a+140>>2]=u;c[a+136>>2]=u;c[a+132>>2]=u;c[a+100>>2]=A;c[a+104>>2]=A;c[a+116>>2]=l;c[a+120>>2]=l;v=b[f+164>>1]|0;x=b[f+166>>1]|0;y=c[f+148>>2]|0;l=c[z>>2]|0;m=c[a+200>>2]|0;n=(m|0)==0;if((!n?(c[m+4>>2]|0)==(l|0):0)?(c[m>>2]|0)>>>0<6:0){s=m+184|0;s=e[s>>1]|e[s+2>>1]<<16;q=s&65535;s=s>>>16&65535;k=c[m+112>>2]|0}else{q=0;s=0;k=-1}do if((k|0)!=(y|0)){o=u&65535;t=u>>>16;p=t&65535;if((!n?(c[m+4>>2]|0)==(l|0):0)?(c[m>>2]|0)>>>0<6:0){n=m+160|0;k=c[m+104>>2]|0;n=e[n>>1]|e[n+2>>1]<<16}else{k=-1;n=0}m=(A|0)==(y|0);if((((k|0)==(y|0)&1)+(m&1)|0)==1){l=m?u:n;k=m?t:n>>>16;break}else{N=q<<16>>16;P=u<<16>>16;l=n<<16>>16;L=q<<16>>16>16;M=L?o:q;N=L?N:(P|0)<(N|0)?P:N;P=s<<16>>16;L=u>>16;k=n>>16;K=s<<16>>16>16;O=K?p:s;P=K?P:(L|0)<(P|0)?L:P;l=M<<16>>16<(n&65535)<<16>>16?M&65535:(N|0)>(l|0)?N:l;k=O<<16>>16<(n>>>16&65535)<<16>>16?O&65535:(P|0)>(k|0)?P:k;break}}else{k=s&65535;l=k<<16|q&65535}while(0);m=(l&65535)+(v&65535)|0;l=(k&65535)+(x&65535)|0;if(((m<<16>>16)+8192|0)>>>0>16383){S=1;cc=T;return S|0}if(((l<<16>>16)+2048|0)>>>0>4095){S=1;cc=T;return S|0}k=He(g,y)|0;if(!k){S=1;cc=T;return S|0}else{g=a+164|0;b[a+192>>1]=m;b[a+194>>1]=l;P=c[a+192>>2]|0;c[a+188>>2]=P;c[a+184>>2]=P;c[a+180>>2]=P;c[a+176>>2]=P;c[a+172>>2]=P;c[a+168>>2]=P;c[g>>2]=P;c[a+108>>2]=y;c[a+112>>2]=y;P=a+124|0;c[P>>2]=k;c[a+128>>2]=k;c[S>>2]=c[a+116>>2];Ie(j,a+132|0,S,R,Q,0,0,16,8);c[S>>2]=c[P>>2];Ie(j,g,S,R,Q,0,8,16,8);break a}}case 3:{t=b[f+160>>1]|0;u=b[f+162>>1]|0;z=c[f+144>>2]|0;y=a+4|0;n=c[y>>2]|0;m=c[a+200>>2]|0;if((m|0)!=0?(c[m+4>>2]|0)==(n|0):0)if((c[m>>2]|0)>>>0<6){k=m+152|0;k=e[k>>1]|e[k+2>>1]<<16;o=1;l=k&65535;k=k>>>16&65535;m=c[m+104>>2]|0}else{o=1;l=0;k=0;m=-1}else{o=0;l=0;k=0;m=-1}c:do if((m|0)!=(z|0)){m=c[a+204>>2]|0;if((m|0)!=0?(c[m+4>>2]|0)==(n|0):0)if((c[m>>2]|0)>>>0<6){s=m+172|0;s=e[s>>1]|e[s+2>>1]<<16;p=m+188|0;o=c[m+108>>2]|0;q=s&65535;s=s>>>16&65535;n=c[m+112>>2]|0;p=e[p>>1]|e[p+2>>1]<<16}else{o=-1;q=0;s=0;n=-1;p=0}else P=82;do if((P|0)==82){m=c[a+212>>2]|0;if(m|0?(c[m+4>>2]|0)==(n|0):0){if((c[m>>2]|0)>>>0>=6){o=-1;q=0;s=0;n=-1;p=0;break}p=m+192|0;o=-1;q=0;s=0;n=c[m+112>>2]|0;p=e[p>>1]|e[p+2>>1]<<16;break}if(!o){o=-1;q=0;s=0;n=-1;p=0}else break c}while(0);m=(o|0)==(z|0);if(((m&1)+((n|0)==(z|0)&1)|0)!=1){L=l<<16>>16;K=q<<16>>16;N=p<<16>>16;P=q<<16>>16>l<<16>>16;M=P?q:l;l=P?L:(K|0)<(L|0)?K:L;L=k<<16>>16;K=s<<16>>16;P=p>>16;J=s<<16>>16>k<<16>>16;O=J?s:k;k=J?L:(K|0)<(L|0)?K:L;l=(M<<16>>16<(p&65535)<<16>>16?M&65535:(l|0)>(N|0)?l:N)&65535;k=(O<<16>>16<(p>>>16&65535)<<16>>16?O&65535:(k|0)>(P|0)?k:P)&65535;break}if(m){l=q;k=s}else{l=p&65535;k=p>>>16&65535}}while(0);m=(l&65535)+(t&65535)|0;k=(k&65535)+(u&65535)|0;if(((m<<16>>16)+8192|0)>>>0>16383){S=1;cc=T;return S|0}if(((k<<16>>16)+2048|0)>>>0>4095){S=1;cc=T;return S|0}l=He(g,z)|0;if(!l){S=1;cc=T;return S|0}b[a+176>>1]=m;b[a+178>>1]=k;t=c[a+176>>2]|0;c[a+172>>2]=t;c[a+168>>2]=t;c[a+164>>2]=t;c[a+144>>2]=t;c[a+140>>2]=t;c[a+136>>2]=t;c[a+132>>2]=t;c[a+100>>2]=z;c[a+108>>2]=z;c[a+116>>2]=l;c[a+124>>2]=l;u=b[f+164>>1]|0;v=b[f+166>>1]|0;x=c[f+148>>2]|0;m=c[y>>2]|0;k=c[a+208>>2]|0;if((k|0)!=0?(c[k+4>>2]|0)==(m|0):0)if((c[k>>2]|0)>>>0<6){s=k+172|0;n=1;k=c[k+108>>2]|0;s=e[s>>1]|e[s+2>>1]<<16}else{n=1;k=-1;s=0}else{k=c[a+204>>2]|0;if((k|0)!=0?(c[k+4>>2]|0)==(m|0):0)if((c[k>>2]|0)>>>0<6){s=k+176|0;n=1;k=c[k+108>>2]|0;s=e[s>>1]|e[s+2>>1]<<16}else{n=1;k=-1;s=0}else{n=0;k=-1;s=0}}do if((k|0)!=(x|0)){p=t&65535;k=t>>>16;q=k&65535;l=c[a+204>>2]|0;if((l|0)!=0?(c[l+4>>2]|0)==(m|0):0)if((c[l>>2]|0)>>>0<6){o=l+188|0;o=e[o>>1]|e[o+2>>1]<<16;l=c[l+112>>2]|0;n=o&65535;o=o>>>16&65535}else{l=-1;n=0;o=0}else if(!n){l=t;break}else{l=-1;n=0;o=0}m=(z|0)==(x|0);l=(l|0)==(x|0);if(((l&1)+(m&1)|0)!=1){N=t<<16>>16;P=n<<16>>16;l=s<<16>>16;L=n<<16>>16>p<<16>>16;M=L?n:p;N=L?N:(N|0)>(P|0)?P:N;P=t>>16;L=o<<16>>16;k=s>>16;K=o<<16>>16>q<<16>>16;O=K?o:q;P=K?P:(P|0)>(L|0)?L:P;l=M<<16>>16<(s&65535)<<16>>16?M&65535:(N|0)>(l|0)?N:l;k=O<<16>>16<(s>>>16&65535)<<16>>16?O&65535:(P|0)>(k|0)?P:k;break}if(!m)if(l){k=o&65535;l=k<<16|n&65535;break}else{l=s;k=s>>>16;break}else l=t}else{l=s;k=s>>>16}while(0);m=(l&65535)+(u&65535)|0;l=(k&65535)+(v&65535)|0;if(((m<<16>>16)+8192|0)>>>0>16383){S=1;cc=T;return S|0}if(((l<<16>>16)+2048|0)>>>0>4095){S=1;cc=T;return S|0}k=He(g,x)|0;if(!k){S=1;cc=T;return S|0}else{g=a+148|0;b[a+192>>1]=m;b[a+194>>1]=l;P=c[a+192>>2]|0;c[a+188>>2]=P;c[a+184>>2]=P;c[a+180>>2]=P;c[a+160>>2]=P;c[a+156>>2]=P;c[a+152>>2]=P;c[g>>2]=P;c[a+104>>2]=x;c[a+112>>2]=x;P=a+120|0;c[P>>2]=k;c[a+128>>2]=k;c[S>>2]=c[a+116>>2];Ie(j,a+132|0,S,R,Q,0,0,8,16);c[S>>2]=c[P>>2];Ie(j,g,S,R,Q,8,0,8,16);break a}}default:{O=a+4|0;D=0;d:while(1){A=f+176+(D<<2)|0;C=Je(c[A>>2]|0)|0;B=f+192+(D<<2)|0;c[a+100+(D<<2)>>2]=c[B>>2];P=He(g,c[B>>2]|0)|0;c[a+116+(D<<2)>>2]=P;if(!P){k=1;P=165;break}e:do if(C|0){F=D<<2;G=a+132+(F<<2)|0;K=a+132+(F<<2)+2|0;N=F|1;J=a+132+(N<<2)|0;N=a+132+(N<<2)+2|0;L=F|2;H=a+132+(L<<2)|0;L=a+132+(L<<2)+2|0;M=F|3;I=a+132+(M<<2)|0;M=a+132+(M<<2)+2|0;E=0;while(1){x=b[f+208+(D<<4)+(E<<2)>>1]|0;y=b[f+208+(D<<4)+(E<<2)+2>>1]|0;z=Ke(c[A>>2]|0)|0;v=c[B>>2]|0;k=Le(a,c[2192+(D<<7)+(z<<5)+(E<<3)>>2]|0)|0;l=d[2192+(D<<7)+(z<<5)+(E<<3)+4>>0]|0;if((k|0)!=0?(c[k+4>>2]|0)==(c[O>>2]|0):0)if((c[k>>2]|0)>>>0<6){P=k+132+(l<<2)|0;P=e[P>>1]|e[P+2>>1]<<16;p=1;t=c[k+100+(l>>>2<<2)>>2]|0;l=P&65535;k=P>>>16&65535}else{p=1;t=-1;l=0;k=0}else{p=0;t=-1;l=0;k=0}m=Le(a,c[2704+(D<<7)+(z<<5)+(E<<3)>>2]|0)|0;n=d[2704+(D<<7)+(z<<5)+(E<<3)+4>>0]|0;if((m|0)!=0?(c[m+4>>2]|0)==(c[O>>2]|0):0)if((c[m>>2]|0)>>>0<6){u=m+132+(n<<2)|0;u=e[u>>1]|e[u+2>>1]<<16;o=1;q=c[m+100+(n>>>2<<2)>>2]|0;s=u&65535;u=u>>>16&65535}else{o=1;q=-1;s=0;u=0}else{o=0;q=-1;s=0;u=0}m=Le(a,c[3216+(D<<7)+(z<<5)+(E<<3)>>2]|0)|0;n=d[3216+(D<<7)+(z<<5)+(E<<3)+4>>0]|0;if((m|0)!=0?(c[m+4>>2]|0)==(c[O>>2]|0):0)if((c[m>>2]|0)>>>0<6){p=m+132+(n<<2)|0;n=c[m+100+(n>>>2<<2)>>2]|0;p=e[p>>1]|e[p+2>>1]<<16;P=140}else{n=-1;p=0;P=140}else P=135;do if((P|0)==135){P=0;m=Le(a,c[3728+(D<<7)+(z<<5)+(E<<3)>>2]|0)|0;n=d[3728+(D<<7)+(z<<5)+(E<<3)+4>>0]|0;if(m|0?(c[m+4>>2]|0)==(c[O>>2]|0):0){if((c[m>>2]|0)>>>0>=6){n=-1;p=0;P=140;break}p=m+132+(n<<2)|0;n=c[m+100+(n>>>2<<2)>>2]|0;p=e[p>>1]|e[p+2>>1]<<16;P=140;break}if((p|0)==0|(o|0)!=0){n=-1;p=0;P=140}}while(0);do if((P|0)==140){P=0;o=(t|0)==(v|0);m=(q|0)==(v|0);if(((m&1)+(o&1)+((n|0)==(v|0)&1)|0)!=1){q=l<<16>>16;o=s<<16>>16;t=p<<16>>16;v=s<<16>>16>l<<16>>16;s=v?s:l;l=v?q:(o|0)<(q|0)?o:q;q=k<<16>>16;o=u<<16>>16;v=p>>16;n=u<<16>>16>k<<16>>16;u=n?u:k;k=n?q:(o|0)<(q|0)?o:q;l=(s<<16>>16<(p&65535)<<16>>16?s&65535:(l|0)>(t|0)?l:t)&65535;k=(u<<16>>16<(p>>>16&65535)<<16>>16?u&65535:(k|0)>(v|0)?k:v)&65535;break}if(o|m){l=o?l:s;k=o?k:u}else{l=p&65535;k=p>>>16&65535}}while(0);x=(l&65535)+(x&65535)|0;m=x&65535;k=(k&65535)+(y&65535)|0;l=k&65535;if(((x<<16>>16)+8192|0)>>>0>16383){k=1;P=165;break d}if(((k<<16>>16)+2048|0)>>>0>4095){k=1;P=165;break d}switch(z|0){case 0:{b[G>>1]=m;b[K>>1]=l;b[J>>1]=m;b[N>>1]=l;b[H>>1]=m;b[L>>1]=l;b[I>>1]=m;k=M;P=151;break}case 1:{k=(E<<1)+F|0;b[a+132+(k<<2)>>1]=m;b[a+132+(k<<2)+2>>1]=l;k=k|1;b[a+132+(k<<2)>>1]=m;k=a+132+(k<<2)+2|0;P=151;break}case 2:{k=E+F|0;b[a+132+(k<<2)>>1]=m;b[a+132+(k<<2)+2>>1]=l;k=k+2|0;b[a+132+(k<<2)>>1]=m;k=a+132+(k<<2)+2|0;P=151;break}case 3:{k=E+F|0;b[a+132+(k<<2)>>1]=m;k=a+132+(k<<2)+2|0;P=151;break}default:{}}if((P|0)==151)b[k>>1]=l;E=E+1|0;if(E>>>0>=C>>>0)break e}}while(0);D=D+1|0;if(D>>>0>=4){P=154;break}}if((P|0)==154){m=0;while(1){c[S>>2]=c[a+116+(m<<2)>>2];g=Ke(c[f+176+(m<<2)>>2]|0)|0;k=m<<3&8;l=m>>>0<2?0:8;switch(g|0){case 0:{Ie(j,a+132+(m<<2<<2)|0,S,R,Q,k,l,8,8);break}case 1:{g=a+132+(m<<2<<2)|0;Ie(j,g,S,R,Q,k,l,8,4);Ie(j,g+8|0,S,R,Q,k,l|4,8,4);break}case 2:{g=a+132+(m<<2<<2)|0;Ie(j,g,S,R,Q,k,l,4,8);Ie(j,g+4|0,S,R,Q,k|4,l,4,8);break}default:{O=a+132+(m<<2<<2)|0;Ie(j,O,S,R,Q,k,l,4,4);P=k|4;Ie(j,O+4|0,S,R,Q,P,l,4,4);g=l|4;Ie(j,O+8|0,S,R,Q,k,g,4,4);Ie(j,O+12|0,S,R,Q,P,g,4,4)}}m=m+1|0;if((m|0)==4)break a}}else if((P|0)==165){cc=T;return k|0}}}while(0);if((c[a+196>>2]|0)>>>0>1){S=0;cc=T;return S|0}if(!(c[a>>2]|0)){De(i,j);S=0;cc=T;return S|0}else{Me(i,h,j,f+328|0);S=0;cc=T;return S|0}return 0}function He(a,b){a=a|0;b=b|0;var d=0;if((b>>>0<=16?(d=c[(c[a+4>>2]|0)+(b<<2)>>2]|0,(d|0)!=0):0)?(c[d+20>>2]|0)>>>0>1:0)d=c[d>>2]|0;else d=0;return d|0}function Ie(a,d,e,f,g,h,i,j,k){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;m=a+(i<<4)+h|0;v=b[d>>1]|0;u=d+2|0;q=b[u>>1]|0;s=e+4|0;n=c[s>>2]<<4;p=e+8|0;o=c[p>>2]<<4;t=h+f|0;l=(v>>2)+t|0;g=i+g|0;f=(q>>2)+g|0;do switch(c[4240+((v&3)<<4)+((q&3)<<2)>>2]|0){case 0:{Ne(c[e>>2]|0,m,l,f,n,o,j,k,16);f=e;break}case 1:{Oe(c[e>>2]|0,m,l,f+-2|0,n,o,j,k,0);f=e;break}case 2:{Pe(c[e>>2]|0,m,l,f+-2|0,n,o,j,k);f=e;break}case 3:{Oe(c[e>>2]|0,m,l,f+-2|0,n,o,j,k,1);f=e;break}case 4:{Qe(c[e>>2]|0,m,l+-2|0,f,n,o,j,k,0);f=e;break}case 5:{Re(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k,0);f=e;break}case 6:{Se(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k,0);f=e;break}case 7:{Re(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k,2);f=e;break}case 8:{Te(c[e>>2]|0,m,l+-2|0,f,n,o,j,k);f=e;break}case 9:{Ue(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k,0);f=e;break}case 10:{Ve(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k);f=e;break}case 11:{Ue(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k,1);f=e;break}case 12:{Qe(c[e>>2]|0,m,l+-2|0,f,n,o,j,k,1);f=e;break}case 13:{Re(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k,1);f=e;break}case 14:{Se(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k,1);f=e;break}default:{Re(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k,3);f=e}}while(0);q=a+256+(i>>>1<<3)+(h>>>1)|0;v=c[s>>2]|0;l=c[p>>2]|0;i=v<<3;p=l<<3;e=b[d>>1]|0;h=(e>>3)+(t>>>1)|0;a=b[u>>1]|0;o=(a>>3)+(g>>>1)|0;e=e&7;a=a&7;n=j>>>1;m=k>>>1;f=(c[f>>2]|0)+(r(v<<8,l)|0)|0;g=(e|0)!=0;l=(a|0)!=0;if(g&l){We(f,q,h,o,i,p,e,a,n,m);return}if(g){Xe(f,q,h,o,i,p,e,n,m);return}if(l){Ye(f,q,h,o,i,p,a,n,m);return}else{Ne(f,q,h,o,i,p,n,m,8);Ne(f+(r(p,i)|0)|0,q+64|0,h,o,i,p,n,m,8);return}}function Je(a){a=a|0;switch(a|0){case 0:{a=1;break}case 2:case 1:{a=2;break}default:a=4}return a|0}function Ke(a){a=a|0;return a|0}function Le(a,b){a=a|0;b=b|0;switch(b|0){case 0:{a=c[a+200>>2]|0;break}case 1:{a=c[a+204>>2]|0;break}case 2:{a=c[a+208>>2]|0;break}case 3:{a=c[a+212>>2]|0;break}case 4:break;default:a=0}return a|0}function Me(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;s=c[b+4>>2]|0;q=r(c[b+8>>2]|0,s)|0;m=(e>>>0)%(s>>>0)|0;p=c[b>>2]|0;l=e-m|0;i=p+(l<<8)+(m<<4)|0;o=q<<8;l=l<<6;m=m<<3;q=q<<6;n=s<<4;k=s<<2&1073741820;j=0;do{h=c[1864+(j<<2)>>2]|0;b=c[1928+(j<<2)>>2]|0;e=f+(b<<4)+h|0;h=i+(r(b,n)|0)+h|0;b=c[g+(j<<6)>>2]|0;if((b|0)==16777215){b=e+16|0;t=c[b>>2]|0;b=b+16|0;c[h>>2]=c[e>>2];h=h+(k<<2)|0;c[h>>2]=t;h=h+(k<<2)|0;e=c[b+16>>2]|0;c[h>>2]=c[b>>2];c[h+(k<<2)>>2]=e}else{t=d[e+1>>0]|0;v=c[g+(j<<6)+4>>2]|0;a[h>>0]=a[49274+(b+(d[e>>0]|0))>>0]|0;b=d[e+2>>0]|0;u=c[g+(j<<6)+8>>2]|0;a[h+1>>0]=a[49274+(v+t)>>0]|0;t=d[e+3>>0]|0;v=c[g+(j<<6)+12>>2]|0;a[h+2>>0]=a[49274+(u+b)>>0]|0;b=e+16|0;a[h+3>>0]=a[49274+(v+t)>>0]|0;t=h+n|0;e=d[b+1>>0]|0;v=c[g+(j<<6)+20>>2]|0;a[t>>0]=a[49274+((c[g+(j<<6)+16>>2]|0)+(d[b>>0]|0))>>0]|0;h=d[b+2>>0]|0;u=c[g+(j<<6)+24>>2]|0;a[t+1>>0]=a[49274+(v+e)>>0]|0;e=d[b+3>>0]|0;v=c[g+(j<<6)+28>>2]|0;a[t+2>>0]=a[49274+(u+h)>>0]|0;h=b+16|0;a[t+3>>0]=a[49274+(v+e)>>0]|0;t=t+n|0;e=d[h+1>>0]|0;v=c[g+(j<<6)+36>>2]|0;a[t>>0]=a[49274+((c[g+(j<<6)+32>>2]|0)+(d[h>>0]|0))>>0]|0;b=d[h+2>>0]|0;u=c[g+(j<<6)+40>>2]|0;a[t+1>>0]=a[49274+(v+e)>>0]|0;e=d[h+3>>0]|0;v=c[g+(j<<6)+44>>2]|0;a[t+2>>0]=a[49274+(u+b)>>0]|0;h=h+16|0;a[t+3>>0]=a[49274+(v+e)>>0]|0;t=t+n|0;e=d[h+1>>0]|0;v=c[g+(j<<6)+52>>2]|0;a[t>>0]=a[49274+((c[g+(j<<6)+48>>2]|0)+(d[h>>0]|0))>>0]|0;b=d[h+2>>0]|0;u=c[g+(j<<6)+56>>2]|0;a[t+1>>0]=a[49274+(v+e)>>0]|0;h=d[h+3>>0]|0;e=c[g+(j<<6)+60>>2]|0;a[t+2>>0]=a[49274+(u+b)>>0]|0;a[t+3>>0]=a[49274+(e+h)>>0]|0}j=j+1|0}while((j|0)!=16);m=p+o+l+m|0;l=m+q|0;k=s<<3&2147483640;j=k>>>2;i=16;do{b=i&3;h=c[1864+(b<<2)>>2]|0;b=c[1928+(b<<2)>>2]|0;v=i>>>0>19;e=f+(v?320:256)+((b<<3)+h)|0;h=(v?l:m)+((r(b,k)|0)+h)|0;b=c[g+(i<<6)>>2]|0;if((b|0)==16777215){t=e+8|0;u=c[t>>2]|0;t=t+8|0;c[h>>2]=c[e>>2];v=h+(j<<2)|0;c[v>>2]=u;v=v+(j<<2)|0;u=c[t+8>>2]|0;c[v>>2]=c[t>>2];c[v+(j<<2)>>2]=u}else{v=d[e+1>>0]|0;t=c[g+(i<<6)+4>>2]|0;a[h>>0]=a[49274+(b+(d[e>>0]|0))>>0]|0;u=d[e+2>>0]|0;p=c[g+(i<<6)+8>>2]|0;a[h+1>>0]=a[49274+(t+v)>>0]|0;v=d[e+3>>0]|0;t=c[g+(i<<6)+12>>2]|0;a[h+2>>0]=a[49274+(p+u)>>0]|0;u=e+8|0;a[h+3>>0]=a[49274+(t+v)>>0]|0;v=h+k|0;t=d[u+1>>0]|0;p=c[g+(i<<6)+20>>2]|0;a[v>>0]=a[49274+((c[g+(i<<6)+16>>2]|0)+(d[u>>0]|0))>>0]|0;s=d[u+2>>0]|0;q=c[g+(i<<6)+24>>2]|0;a[v+1>>0]=a[49274+(p+t)>>0]|0;t=d[u+3>>0]|0;p=c[g+(i<<6)+28>>2]|0;a[v+2>>0]=a[49274+(q+s)>>0]|0;u=u+8|0;a[v+3>>0]=a[49274+(p+t)>>0]|0;v=v+k|0;t=d[u+1>>0]|0;p=c[g+(i<<6)+36>>2]|0;a[v>>0]=a[49274+((c[g+(i<<6)+32>>2]|0)+(d[u>>0]|0))>>0]|0;s=d[u+2>>0]|0;q=c[g+(i<<6)+40>>2]|0;a[v+1>>0]=a[49274+(p+t)>>0]|0;t=d[u+3>>0]|0;p=c[g+(i<<6)+44>>2]|0;a[v+2>>0]=a[49274+(q+s)>>0]|0;u=u+8|0;a[v+3>>0]=a[49274+(p+t)>>0]|0;v=v+k|0;t=d[u+1>>0]|0;p=c[g+(i<<6)+52>>2]|0;a[v>>0]=a[49274+((c[g+(i<<6)+48>>2]|0)+(d[u>>0]|0))>>0]|0;s=d[u+2>>0]|0;q=c[g+(i<<6)+56>>2]|0;a[v+1>>0]=a[49274+(p+t)>>0]|0;u=d[u+3>>0]|0;t=c[g+(i<<6)+60>>2]|0;a[v+2>>0]=a[49274+(q+s)>>0]|0;a[v+3>>0]=a[49274+(t+u)>>0]|0}i=i+1|0}while((i|0)!=24);return}function Ne(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=g+c|0;p=(c|0)<0|(n|0)>(e|0)?5:4;k=(h+d|0)<0?0-h|0:d;n=(n|0)<0?0-g|0:c;k=(k|0)>(f|0)?f:k;n=(n|0)>(e|0)?e:n;o=n+g|0;l=k+h|0;c=(n|0)>0?a+n|0:a;m=c+(r(k,e)|0)|0;c=(k|0)>0?m:c;n=(n|0)<0?0-n|0:0;o=(o|0)>(e|0)?o-e|0:0;m=g-n-o|0;d=0-k|0;g=(k|0)<0?d:0;a=l-f|0;l=(l|0)>(f|0)?a:0;k=h-g-l|0;if(g){g=r(g,i)|0;f=b;while(1){pc[p&7](c,f,n,m,o);d=d+-1|0;if(!d)break;else f=f+i|0}b=b+g|0}if(k){j=r(k,e)|0;g=r(k,i)|0;f=b;h=c;d=k;while(1){pc[p&7](h,f,n,m,o);d=d+-1|0;if(!d)break;else{f=f+i|0;h=h+e|0}}b=b+g|0;c=c+j|0}c=c+(0-e)|0;if(!l)return;while(1){pc[p&7](c,b,n,m,o);a=a+-1|0;if(!a)break;else b=b+i|0}return}function Oe(b,c,e,f,g,h,i,j,k){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0;t=cc;cc=cc+448|0;if((cc|0)>=(dc|0))w(448);l=t;if(((e|0)>=0?!((f|0)<0|(i+e|0)>>>0>g>>>0):0)?(j+5+f|0)>>>0<=h>>>0:0)l=b;else{Ne(b,l,e,f,g,h,i,j+5|0,i);g=i;e=0;f=0}e=l+((r(f,g)|0)+e)+g|0;f=j>>>2;if(!f){cc=t;return}o=g<<2;s=0-g|0;p=s<<1;q=g<<1;if(!i){cc=t;return}n=e;m=e+(r(g,k+2|0)|0)|0;j=e+(g*5|0)|0;while(1){e=i;h=c;l=n;b=m;k=j;while(1){u=d[k+p>>0]|0;y=d[k+s>>0]|0;z=d[k+g>>0]|0;B=d[k>>0]|0;A=z+u|0;v=d[l+q>>0]|0;a[h+48>>0]=((d[49274+((d[k+q>>0]|0)+16-A-(A<<2)+v+((B+y|0)*20|0)>>5)>>0]|0)+1+(d[b+q>>0]|0)|0)>>>1;A=v+B|0;x=d[l+g>>0]|0;a[h+32>>0]=((d[49274+(z+16+((y+u|0)*20|0)-A-(A<<2)+x>>5)>>0]|0)+1+(d[b+g>>0]|0)|0)>>>1;A=x+y|0;z=d[l>>0]|0;a[h+16>>0]=((d[49274+(B+16+((v+u|0)*20|0)-A-(A<<2)+z>>5)>>0]|0)+1+(d[b>>0]|0)|0)>>>1;u=z+u|0;a[h>>0]=((d[49274+(y+16+((x+v|0)*20|0)-u-(u<<2)+(d[l+s>>0]|0)>>5)>>0]|0)+1+(d[b+s>>0]|0)|0)>>>1;e=e+-1|0;if(!e)break;else{h=h+1|0;l=l+1|0;b=b+1|0;k=k+1|0}}f=f+-1|0;if(!f)break;else{c=c+64|0;n=n+o|0;m=m+o|0;j=j+o|0}}cc=t;return}function Pe(b,c,e,f,g,h,i,j){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0;q=cc;cc=cc+448|0;if((cc|0)>=(dc|0))w(448);k=q;if(((e|0)>=0?!((f|0)<0|(i+e|0)>>>0>g>>>0):0)?(j+5+f|0)>>>0<=h>>>0:0)k=b;else{Ne(b,k,e,f,g,h,i,j+5|0,i);g=i;e=0;f=0}e=k+((r(f,g)|0)+e)+g|0;f=j>>>2;if(!f){cc=q;return}m=g<<2;p=0-g|0;n=p<<1;o=g<<1;if(!i){cc=q;return}l=e;b=e+(g*5|0)|0;while(1){e=i;h=c;k=l;j=b;while(1){s=d[j+n>>0]|0;v=d[j+p>>0]|0;x=d[j+g>>0]|0;z=d[j>>0]|0;y=x+s|0;t=d[k+o>>0]|0;a[h+48>>0]=a[49274+((d[j+o>>0]|0)+16-y-(y<<2)+t+((z+v|0)*20|0)>>5)>>0]|0;y=t+z|0;u=d[k+g>>0]|0;a[h+32>>0]=a[49274+(x+16+((v+s|0)*20|0)-y-(y<<2)+u>>5)>>0]|0;y=u+v|0;x=d[k>>0]|0;a[h+16>>0]=a[49274+(z+16+((t+s|0)*20|0)-y-(y<<2)+x>>5)>>0]|0;s=x+s|0;a[h>>0]=a[49274+(v+16+((u+t|0)*20|0)-s-(s<<2)+(d[k+p>>0]|0)>>5)>>0]|0;e=e+-1|0;if(!e)break;else{h=h+1|0;k=k+1|0;j=j+1|0}}f=f+-1|0;if(!f)break;else{c=c+64|0;l=l+m|0;b=b+m|0}}cc=q;return}function Qe(b,c,e,f,g,h,i,j,k){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,x=0;u=cc;cc=cc+448|0;if((cc|0)>=(dc|0))w(448);l=u;m=i+5|0;if((e|0)>=0?!((j+f|0)>>>0>h>>>0|((f|0)<0|(m+e|0)>>>0>g>>>0)):0){l=b;m=g}else{Ne(b,l,e,f,g,h,m,j,m);e=0;f=0}if(!j){cc=u;return}p=i>>>2;t=(p|0)==0;q=m-i|0;s=16-i|0;o=(k|0)==0;n=i&-4;h=l+((r(f,m)|0)+e)+5|0;while(1){l=d[h+-5>>0]|0;m=d[h+-4>>0]|0;g=d[h+-3>>0]|0;e=d[h+-2>>0]|0;b=d[h+-1>>0]|0;do if(!t){i=h+n|0;if(o){k=c;f=b;b=p;while(1){v=m+f|0;x=m;m=d[h>>0]|0;a[k>>0]=(g+1+(d[49274+(l+16-v+((g+e|0)*20|0)-(v<<2)+m>>5)>>0]|0)|0)>>>1;v=g+m|0;l=g;g=d[h+1>>0]|0;a[k+1>>0]=(e+1+(d[49274+(x+16+((e+f|0)*20|0)-v-(v<<2)+g>>5)>>0]|0)|0)>>>1;v=e+g|0;x=e;e=d[h+2>>0]|0;a[k+2>>0]=(f+1+(d[49274+(l+16+((f+m|0)*20|0)-v-(v<<2)+e>>5)>>0]|0)|0)>>>1;v=f+e|0;l=d[h+3>>0]|0;a[k+3>>0]=(m+1+(d[49274+(x+16+((g+m|0)*20|0)-v-(v<<2)+l>>5)>>0]|0)|0)>>>1;b=b+-1|0;if(!b)break;else{x=f;k=k+4|0;h=h+4|0;f=l;l=x}}c=c+n|0;h=i;break}else{k=c;f=b;b=p;while(1){x=m+f|0;v=m;m=d[h>>0]|0;a[k>>0]=(e+1+(d[49274+(l+16-x+((g+e|0)*20|0)-(x<<2)+m>>5)>>0]|0)|0)>>>1;x=g+m|0;l=g;g=d[h+1>>0]|0;a[k+1>>0]=(f+1+(d[49274+(v+16+((e+f|0)*20|0)-x-(x<<2)+g>>5)>>0]|0)|0)>>>1;x=e+g|0;v=e;e=d[h+2>>0]|0;a[k+2>>0]=(m+1+(d[49274+(l+16+((f+m|0)*20|0)-x-(x<<2)+e>>5)>>0]|0)|0)>>>1;x=f+e|0;l=d[h+3>>0]|0;a[k+3>>0]=(g+1+(d[49274+(v+16+((g+m|0)*20|0)-x-(x<<2)+l>>5)>>0]|0)|0)>>>1;b=b+-1|0;if(!b)break;else{x=f;k=k+4|0;h=h+4|0;f=l;l=x}}c=c+n|0;h=i;break}}while(0);j=j+-1|0;if(!j)break;else{c=c+s|0;h=h+q|0}}cc=u;return}function Re(b,c,e,f,g,h,i,j,k){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0;z=cc;cc=cc+448|0;if((cc|0)>=(dc|0))w(448);l=z;m=i+5|0;if(((e|0)>=0?!((f|0)<0|(m+e|0)>>>0>g>>>0):0)?(j+5+f|0)>>>0<=h>>>0:0){l=b;m=g}else{Ne(b,l,e,f,g,h,m,j+5|0,m);e=0;f=0}y=l+((r(f,m)|0)+e)|0;f=y+(r(m,k>>>1&1|2)|0)+5|0;y=y+m+2+(k&1)|0;do if(!j)f=c;else{u=i>>>2;v=m-i|0;x=16-i|0;if(!u){f=c+((r(j+-1|0,x)|0)+16-i)|0;break}s=i&-4;q=(r(s+16-i|0,j+-1|0)|0)+s+16-i|0;t=c;p=j;while(1){b=f+s|0;h=t;l=f;g=d[f+-1>>0]|0;k=d[f+-2>>0]|0;n=d[f+-3>>0]|0;o=d[f+-4>>0]|0;f=d[f+-5>>0]|0;e=u;while(1){A=o+g|0;B=o;o=d[l>>0]|0;a[h>>0]=a[49274+(f+16-A+((n+k|0)*20|0)-(A<<2)+o>>5)>>0]|0;A=n+o|0;f=n;n=d[l+1>>0]|0;a[h+1>>0]=a[49274+(B+16+((k+g|0)*20|0)-A-(A<<2)+n>>5)>>0]|0;A=k+n|0;B=k;k=d[l+2>>0]|0;a[h+2>>0]=a[49274+(f+16+((g+o|0)*20|0)-A-(A<<2)+k>>5)>>0]|0;A=g+k|0;f=d[l+3>>0]|0;a[h+3>>0]=a[49274+(B+16+((n+o|0)*20|0)-A-(A<<2)+f>>5)>>0]|0;e=e+-1|0;if(!e)break;else{B=g;h=h+4|0;l=l+4|0;g=f;f=B}}p=p+-1|0;if(!p)break;else{t=t+s+x|0;f=b+v|0}}f=c+q|0}while(0);e=j>>>2;if(!e){cc=z;return}q=m<<2;s=0-m|0;o=s<<1;p=m<<1;if(!i){cc=z;return}k=f+(0-(j<<4))|0;n=y;g=y+(m*5|0)|0;while(1){f=k;h=n;l=g;b=i;while(1){B=d[l+o>>0]|0;c=d[l+s>>0]|0;x=d[l+m>>0]|0;u=d[l>>0]|0;j=x+B|0;A=d[h+p>>0]|0;v=f+48|0;a[v>>0]=((d[49274+((d[l+p>>0]|0)+16-j-(j<<2)+A+((u+c|0)*20|0)>>5)>>0]|0)+1+(d[v>>0]|0)|0)>>>1;v=A+u|0;j=d[h+m>>0]|0;y=f+32|0;a[y>>0]=((d[49274+(x+16+((c+B|0)*20|0)-v-(v<<2)+j>>5)>>0]|0)+1+(d[y>>0]|0)|0)>>>1;y=d[h>>0]|0;v=j+c|0;x=f+16|0;a[x>>0]=((d[49274+(u+16+((A+B|0)*20|0)-v-(v<<2)+y>>5)>>0]|0)+1+(d[x>>0]|0)|0)>>>1;B=y+B|0;a[f>>0]=((d[49274+(c+16+((j+A|0)*20|0)-B-(B<<2)+(d[h+s>>0]|0)>>5)>>0]|0)+1+(d[f>>0]|0)|0)>>>1;b=b+-1|0;if(!b)break;else{f=f+1|0;h=h+1|0;l=l+1|0}}e=e+-1|0;if(!e)break;else{k=k+64|0;n=n+q|0;g=g+q|0}}cc=z;return}function Se(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=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;B=cc;cc=cc+1792|0;if((cc|0)>=(dc|0))w(1792);m=B+1344|0;A=B;q=j+5|0;if(((f|0)>=0?!((g|0)<0|(q+f|0)>>>0>h>>>0):0)?(k+5+g|0)>>>0<=i>>>0:0)m=b;else{Ne(b,m,f,g,h,i,q,k+5|0,q);h=q;f=0;g=0}g=m+((r(g,h)|0)+f)+h|0;f=k>>>2;if(f|0?(v=h<<2,x=q*3|0,y=0-h|0,s=y<<1,t=h<<1,u=q<<1,z=-5-j|0,q|0):0){i=A+(q<<2)|0;p=g;o=g+(h*5|0)|0;while(1){n=i+(q<<2)|0;g=p;m=o;b=q;while(1){C=d[m+s>>0]|0;D=d[m+y>>0]|0;H=d[m+h>>0]|0;I=d[m>>0]|0;G=H+C|0;E=d[g+t>>0]|0;c[i+(u<<2)>>2]=(d[m+t>>0]|0)-G-(G<<2)+E+((I+D|0)*20|0);G=E+I|0;F=d[g+h>>0]|0;c[i+(q<<2)>>2]=((D+C|0)*20|0)+H-G-(G<<2)+F;G=d[g>>0]|0;H=F+D|0;c[i>>2]=((E+C|0)*20|0)+I-H-(H<<2)+G;C=G+C|0;c[i+(z<<2)>>2]=((F+E|0)*20|0)+D-C-(C<<2)+(d[g+y>>0]|0);b=b+-1|0;if(!b)break;else{i=i+4|0;g=g+1|0;m=m+1|0}}f=f+-1|0;if(!f)break;else{i=n+(x<<2)|0;p=p+v|0;o=o+v|0}}}if(!k){cc=B;return}u=j>>>2;x=(u|0)==0;v=16-j|0;t=j&-4;g=A+8+(l<<2)|0;f=A+20|0;while(1){if(!x){s=g+(t<<2)|0;q=e;m=f;b=c[f+-4>>2]|0;h=c[f+-8>>2]|0;n=c[f+-12>>2]|0;o=c[f+-16>>2]|0;i=c[f+-20>>2]|0;p=u;while(1){I=o+b|0;H=o;o=c[m>>2]|0;a[q>>0]=((d[49274+(i+512-I+((n+h|0)*20|0)-(I<<2)+o>>10)>>0]|0)+1+(d[49274+((c[g>>2]|0)+16>>5)>>0]|0)|0)>>>1;I=o+n|0;i=n;n=c[m+4>>2]|0;a[q+1>>0]=((d[49274+(H+512+((h+b|0)*20|0)-I-(I<<2)+n>>10)>>0]|0)+1+(d[49274+((c[g+4>>2]|0)+16>>5)>>0]|0)|0)>>>1;I=n+h|0;H=h;h=c[m+8>>2]|0;a[q+2>>0]=((d[49274+(i+512+((o+b|0)*20|0)-I-(I<<2)+h>>10)>>0]|0)+1+(d[49274+((c[g+8>>2]|0)+16>>5)>>0]|0)|0)>>>1;I=h+b|0;i=c[m+12>>2]|0;a[q+3>>0]=((d[49274+(H+512+((n+o|0)*20|0)-I-(I<<2)+i>>10)>>0]|0)+1+(d[49274+((c[g+12>>2]|0)+16>>5)>>0]|0)|0)>>>1;p=p+-1|0;if(!p)break;else{I=b;q=q+4|0;g=g+16|0;m=m+16|0;b=i;i=I}}e=e+t|0;g=s;f=f+(t<<2)|0}k=k+-1|0;if(!k)break;else{e=e+v|0;g=g+20|0;f=f+20|0}}cc=B;return}function Te(b,c,e,f,g,h,i,j){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=cc;cc=cc+448|0;if((cc|0)>=(dc|0))w(448);k=s;l=i+5|0;if((e|0)>=0?!((j+f|0)>>>0>h>>>0|((f|0)<0|(l+e|0)>>>0>g>>>0)):0){k=b;l=g}else{Ne(b,k,e,f,g,h,l,j,l);e=0;f=0}f=k+((r(f,l)|0)+e)+5|0;if(!j){cc=s;return}q=i>>>2;o=l-i|0;p=16-i|0;if(!q){cc=s;return}n=i&-4;m=c;while(1){b=f+n|0;h=m;k=f;l=d[f+-1>>0]|0;g=d[f+-2>>0]|0;i=d[f+-3>>0]|0;c=d[f+-4>>0]|0;f=d[f+-5>>0]|0;e=q;while(1){t=c+l|0;u=c;c=d[k>>0]|0;a[h>>0]=a[49274+(f+16-t+((i+g|0)*20|0)-(t<<2)+c>>5)>>0]|0;t=i+c|0;f=i;i=d[k+1>>0]|0;a[h+1>>0]=a[49274+(u+16+((g+l|0)*20|0)-t-(t<<2)+i>>5)>>0]|0;t=g+i|0;u=g;g=d[k+2>>0]|0;a[h+2>>0]=a[49274+(f+16+((l+c|0)*20|0)-t-(t<<2)+g>>5)>>0]|0;t=l+g|0;f=d[k+3>>0]|0;a[h+3>>0]=a[49274+(u+16+((i+c|0)*20|0)-t-(t<<2)+f>>5)>>0]|0;e=e+-1|0;if(!e)break;else{u=l;h=h+4|0;k=k+4|0;l=f;f=u}}j=j+-1|0;if(!j)break;else{m=m+n+p|0;f=b+o|0}}cc=s;return}function Ue(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;y=cc;cc=cc+1792|0;if((cc|0)>=(dc|0))w(1792);n=y+1344|0;x=y;o=j+5|0;if(((f|0)>=0?!((g|0)<0|(o+f|0)>>>0>h>>>0):0)?(m=k+5|0,(m+g|0)>>>0<=i>>>0):0){n=b;i=h}else{m=k+5|0;Ne(b,n,f,g,h,i,o,m,o);i=o;f=0;g=0}g=n+((r(g,i)|0)+f)+5|0;if(m|0?(u=j>>>2,v=i-j|0,u|0):0){s=j&-4;t=x;while(1){b=g+s|0;i=t;n=g;o=d[g+-1>>0]|0;h=d[g+-2>>0]|0;p=d[g+-3>>0]|0;q=d[g+-4>>0]|0;g=d[g+-5>>0]|0;f=u;while(1){z=q+o|0;A=q;q=d[n>>0]|0;c[i>>2]=g-z+((p+h|0)*20|0)-(z<<2)+q;z=p+q|0;g=p;p=d[n+1>>0]|0;c[i+4>>2]=((h+o|0)*20|0)+A-z-(z<<2)+p;z=h+p|0;A=h;h=d[n+2>>0]|0;c[i+8>>2]=((o+q|0)*20|0)+g-z-(z<<2)+h;z=o+h|0;g=d[n+3>>0]|0;c[i+12>>2]=((p+q|0)*20|0)+A-z-(z<<2)+g;f=f+-1|0;if(!f)break;else{A=o;i=i+16|0;n=n+4|0;o=g;g=A}}m=m+-1|0;if(!m)break;else{t=t+(s<<2)|0;g=b+v|0}}}g=x+(j<<2)|0;f=k>>>2;if(!f){cc=y;return}k=(j|0)==0;v=64-j|0;t=j*3|0;x=0-j|0;u=x<<1;s=j<<1;n=e;m=g;i=g+((r(l+2|0,j)|0)<<2)|0;g=g+(j*5<<2)|0;while(1){if(!k){q=g+(j<<2)|0;p=m+(j<<2)|0;h=n;o=i;b=j;while(1){A=c[g+(u<<2)>>2]|0;e=c[g+(x<<2)>>2]|0;C=c[g+(j<<2)>>2]|0;D=c[g>>2]|0;B=C+A|0;z=c[m+(s<<2)>>2]|0;a[h+48>>0]=((d[49274+((c[g+(s<<2)>>2]|0)+512-B-(B<<2)+z+((D+e|0)*20|0)>>10)>>0]|0)+1+(d[49274+((c[o+(s<<2)>>2]|0)+16>>5)>>0]|0)|0)>>>1;B=z+D|0;l=c[m+(j<<2)>>2]|0;a[h+32>>0]=((d[49274+(C+512+((e+A|0)*20|0)-B-(B<<2)+l>>10)>>0]|0)+1+(d[49274+((c[o+(j<<2)>>2]|0)+16>>5)>>0]|0)|0)>>>1;B=c[m>>2]|0;C=l+e|0;a[h+16>>0]=((d[49274+(D+512+((z+A|0)*20|0)-C-(C<<2)+B>>10)>>0]|0)+1+(d[49274+((c[o>>2]|0)+16>>5)>>0]|0)|0)>>>1;A=B+A|0;a[h>>0]=((d[49274+(e+512+((l+z|0)*20|0)-A-(A<<2)+(c[m+(x<<2)>>2]|0)>>10)>>0]|0)+1+(d[49274+((c[o+(x<<2)>>2]|0)+16>>5)>>0]|0)|0)>>>1;b=b+-1|0;if(!b)break;else{h=h+1|0;m=m+4|0;o=o+4|0;g=g+4|0}}n=n+j|0;m=p;i=i+(j<<2)|0;g=q}f=f+-1|0;if(!f)break;else{n=n+v|0;m=m+(t<<2)|0;i=i+(t<<2)|0;g=g+(t<<2)|0}}cc=y;return}function Ve(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0;x=cc;cc=cc+1792|0;if((cc|0)>=(dc|0))w(1792);m=x+1344|0;v=x;n=j+5|0;if(((f|0)>=0?!((g|0)<0|(n+f|0)>>>0>h>>>0):0)?(l=k+5|0,(l+g|0)>>>0<=i>>>0):0){m=b;i=h}else{l=k+5|0;Ne(b,m,f,g,h,i,n,l,n);i=n;f=0;g=0}g=m+((r(g,i)|0)+f)+5|0;if(l|0?(t=j>>>2,u=i-j|0,t|0):0){q=j&-4;s=v;while(1){b=g+q|0;i=s;m=g;n=d[g+-1>>0]|0;h=d[g+-2>>0]|0;o=d[g+-3>>0]|0;p=d[g+-4>>0]|0;g=d[g+-5>>0]|0;f=t;while(1){y=p+n|0;z=p;p=d[m>>0]|0;c[i>>2]=g-y+((o+h|0)*20|0)-(y<<2)+p;y=o+p|0;g=o;o=d[m+1>>0]|0;c[i+4>>2]=((h+n|0)*20|0)+z-y-(y<<2)+o;y=h+o|0;z=h;h=d[m+2>>0]|0;c[i+8>>2]=((n+p|0)*20|0)+g-y-(y<<2)+h;y=n+h|0;g=d[m+3>>0]|0;c[i+12>>2]=((o+p|0)*20|0)+z-y-(y<<2)+g;f=f+-1|0;if(!f)break;else{z=n;i=i+16|0;m=m+4|0;n=g;g=z}}l=l+-1|0;if(!l)break;else{s=s+(q<<2)|0;g=b+u|0}}}g=v+(j<<2)|0;f=k>>>2;if(!f){cc=x;return}o=j*3|0;q=0-j|0;p=q<<1;h=j<<1;if(!j){cc=x;return}n=g;b=g+(j*5<<2)|0;while(1){g=e;l=n;i=b;m=j;while(1){z=c[i+(p<<2)>>2]|0;v=c[i+(q<<2)>>2]|0;t=c[i+(j<<2)>>2]|0;s=c[i>>2]|0;u=t+z|0;y=c[l+(h<<2)>>2]|0;a[g+48>>0]=a[49274+((c[i+(h<<2)>>2]|0)+512-u-(u<<2)+y+((s+v|0)*20|0)>>10)>>0]|0;u=y+s|0;k=c[l+(j<<2)>>2]|0;a[g+32>>0]=a[49274+(t+512+((v+z|0)*20|0)-u-(u<<2)+k>>10)>>0]|0;u=c[l>>2]|0;t=k+v|0;a[g+16>>0]=a[49274+(s+512+((y+z|0)*20|0)-t-(t<<2)+u>>10)>>0]|0;z=u+z|0;a[g>>0]=a[49274+(v+512+((k+y|0)*20|0)-z-(z<<2)+(c[l+(q<<2)>>2]|0)>>10)>>0]|0;m=m+-1|0;if(!m)break;else{g=g+1|0;l=l+4|0;i=i+4|0}}f=f+-1|0;if(!f)break;else{e=e+64|0;n=n+(j<<2)+(o<<2)|0;b=b+(j<<2)+(o<<2)|0}}cc=x;return}function We(b,c,e,f,g,h,i,j,k,l){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;E=cc;cc=cc+176|0;if((cc|0)>=(dc|0))w(176);m=E;n=k+1|0;if(((e|0)>=0?!((f|0)<0|(n+e|0)>>>0>g>>>0):0)?(l+1+f|0)>>>0<=h>>>0:0){m=b;n=g}else{D=l+1|0;Ne(b,m,e,f,g,h,n,D,n);Ne(b+(r(h,g)|0)|0,m+(r(D,n)|0)|0,e,f,g,h,n,D,n);h=D;e=0;f=0}C=8-i|0;D=8-j|0;l=l>>>1;u=(l|0)==0;y=n<<1;z=k>>>1;v=(z|0)==0;A=16-k|0;B=y-k|0;x=k&-2;if(u|v){cc=E;return}k=c;b=m+(r(f,n)|0)+e|0;t=l;while(1){g=d[b+n>>0]|0;q=b+x|0;o=k;p=b;s=(r(g,j)|0)+(r(D,d[b>>0]|0)|0)|0;b=(r(d[b+y>>0]|0,j)|0)+(r(D,g)|0)|0;g=z;while(1){H=p+1|0;G=d[H+n>>0]|0;F=(r(G,j)|0)+(r(D,d[H>>0]|0)|0)|0;G=(r(d[H+y>>0]|0,j)|0)+(r(D,G)|0)|0;H=((r(s,C)|0)+32+(r(F,i)|0)|0)>>>6;a[o+8>>0]=((r(b,C)|0)+32+(r(G,i)|0)|0)>>>6;a[o>>0]=H;p=p+2|0;H=d[p+n>>0]|0;s=(r(H,j)|0)+(r(D,d[p>>0]|0)|0)|0;b=(r(d[p+y>>0]|0,j)|0)+(r(D,H)|0)|0;F=((r(F,C)|0)+32+(r(s,i)|0)|0)>>>6;a[o+9>>0]=((r(G,C)|0)+32+(r(b,i)|0)|0)>>>6;a[o+1>>0]=F;g=g+-1|0;if(!g)break;else o=o+2|0}t=t+-1|0;if(!t)break;else{k=k+x+A|0;b=q+B|0}}if(u|v){cc=E;return}k=c+64|0;h=m+(r(h+f|0,n)|0)+e|0;while(1){m=d[h+n>>0]|0;e=h+x|0;b=k;g=h;f=(r(m,j)|0)+(r(D,d[h>>0]|0)|0)|0;h=(r(d[h+y>>0]|0,j)|0)+(r(D,m)|0)|0;m=z;while(1){F=g+1|0;G=d[F+n>>0]|0;H=(r(G,j)|0)+(r(D,d[F>>0]|0)|0)|0;G=(r(d[F+y>>0]|0,j)|0)+(r(D,G)|0)|0;F=((r(f,C)|0)+32+(r(H,i)|0)|0)>>>6;a[b+8>>0]=((r(h,C)|0)+32+(r(G,i)|0)|0)>>>6;a[b>>0]=F;g=g+2|0;F=d[g+n>>0]|0;f=(r(F,j)|0)+(r(D,d[g>>0]|0)|0)|0;h=(r(d[g+y>>0]|0,j)|0)+(r(D,F)|0)|0;H=((r(H,C)|0)+32+(r(f,i)|0)|0)>>>6;a[b+9>>0]=((r(G,C)|0)+32+(r(h,i)|0)|0)>>>6;a[b+1>>0]=H;m=m+-1|0;if(!m)break;else b=b+2|0}l=l+-1|0;if(!l)break;else{k=k+x+A|0;h=e+B|0}}cc=E;return}function Xe(b,c,e,f,g,h,i,j,k){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0;z=cc;cc=cc+144|0;if((cc|0)>=(dc|0))w(144);l=z;m=j+1|0;if((e|0)>=0?!((k+f|0)>>>0>h>>>0|((f|0)<0|(m+e|0)>>>0>g>>>0)):0){l=b;m=g}else{Ne(b,l,e,f,g,h,m,k,m);Ne(b+(r(h,g)|0)|0,l+(r(m,k)|0)|0,e,f,g,h,m,k,m);h=k;e=0;f=0}y=8-i|0;s=k>>>1;q=(s|0)==0;u=j>>>1;p=(u|0)==0;v=16-j|0;x=(m<<1)-j|0;t=j&-2;if(q|p){cc=z;return}k=c;b=l+(r(f,m)|0)+e|0;o=s;while(1){n=b+t|0;j=k;g=u;while(1){A=b+1|0;B=d[b>>0]|0;C=d[A+m>>0]|0;A=d[A>>0]|0;a[j+8>>0]=(((r(C,i)|0)+(r(y,d[b+m>>0]|0)|0)<<3)+32|0)>>>6;b=b+2|0;a[j>>0]=(((r(A,i)|0)+(r(y,B)|0)<<3)+32|0)>>>6;B=d[b>>0]|0;a[j+9>>0]=(((r(d[b+m>>0]|0,i)|0)+(r(y,C)|0)<<3)+32|0)>>>6;a[j+1>>0]=(((r(B,i)|0)+(r(y,A)|0)<<3)+32|0)>>>6;g=g+-1|0;if(!g)break;else j=j+2|0}o=o+-1|0;if(!o)break;else{k=k+t+v|0;b=n+x|0}}if(q|p){cc=z;return}k=c+64|0;h=l+(r(h+f|0,m)|0)+e|0;e=s;while(1){g=h+t|0;b=k;l=u;while(1){C=h+1|0;B=d[h>>0]|0;A=d[C+m>>0]|0;C=d[C>>0]|0;a[b+8>>0]=(((r(A,i)|0)+(r(y,d[h+m>>0]|0)|0)<<3)+32|0)>>>6;h=h+2|0;a[b>>0]=(((r(C,i)|0)+(r(y,B)|0)<<3)+32|0)>>>6;B=d[h>>0]|0;a[b+9>>0]=(((r(d[h+m>>0]|0,i)|0)+(r(y,A)|0)<<3)+32|0)>>>6;a[b+1>>0]=(((r(B,i)|0)+(r(y,C)|0)<<3)+32|0)>>>6;l=l+-1|0;if(!l)break;else b=b+2|0}e=e+-1|0;if(!e)break;else{k=k+t+v|0;h=g+x|0}}cc=z;return}function Ye(b,c,e,f,g,h,i,j,k){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=cc;cc=cc+144|0;if((cc|0)>=(dc|0))w(144);l=A;if(((e|0)>=0?!((f|0)<0|(j+e|0)>>>0>g>>>0):0)?(k+1+f|0)>>>0<=h>>>0:0)l=b;else{z=k+1|0;Ne(b,l,e,f,g,h,j,z,j);Ne(b+(r(h,g)|0)|0,l+(r(z,j)|0)|0,e,f,g,h,j,z,j);h=z;g=j;e=0;f=0}z=8-i|0;s=k>>>1;q=(s|0)==0;v=j>>>1;p=(v|0)==0;x=16-j|0;u=g<<1;y=u-j|0;t=j&-2;if(q|p){cc=A;return}j=c;b=l+(r(f,g)|0)+e|0;o=s;while(1){n=b+t|0;m=j;k=v;while(1){B=d[b+g>>0]|0;D=b+1|0;C=d[b>>0]|0;a[m+8>>0]=(((r(z,B)|0)+(r(d[b+u>>0]|0,i)|0)<<3)+32|0)>>>6;a[m>>0]=(((r(z,C)|0)+(r(B,i)|0)<<3)+32|0)>>>6;B=d[D+g>>0]|0;C=d[D>>0]|0;a[m+9>>0]=(((r(z,B)|0)+(r(d[D+u>>0]|0,i)|0)<<3)+32|0)>>>6;a[m+1>>0]=(((r(z,C)|0)+(r(B,i)|0)<<3)+32|0)>>>6;k=k+-1|0;if(!k)break;else{m=m+2|0;b=b+2|0}}o=o+-1|0;if(!o)break;else{j=j+t+x|0;b=n+y|0}}if(q|p){cc=A;return}k=c+64|0;h=l+(r(h+f|0,g)|0)+e|0;f=s;while(1){e=h+t|0;b=k;l=v;while(1){D=d[h+g>>0]|0;B=h+1|0;C=d[h>>0]|0;a[b+8>>0]=(((r(z,D)|0)+(r(d[h+u>>0]|0,i)|0)<<3)+32|0)>>>6;a[b>>0]=(((r(z,C)|0)+(r(D,i)|0)<<3)+32|0)>>>6;D=d[B+g>>0]|0;C=d[B>>0]|0;a[b+9>>0]=(((r(z,D)|0)+(r(d[B+u>>0]|0,i)|0)<<3)+32|0)>>>6;a[b+1>>0]=(((r(z,C)|0)+(r(D,i)|0)<<3)+32|0)>>>6;l=l+-1|0;if(!l)break;else{b=b+2|0;h=h+2|0}}f=f+-1|0;if(!f)break;else{k=k+t+x|0;h=e+y|0}}cc=A;return}function Ze(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;if(d){rj(c|0,a[b>>0]|0,d|0)|0;c=c+d|0}if(e){h=b+e|0;d=e;g=c;while(1){a[g>>0]=a[b>>0]|0;d=d+-1|0;if(!d)break;else{g=g+1|0;b=b+1|0}}c=c+e|0;b=h}if(!f)return;rj(c|0,a[b+-1>>0]|0,f|0)|0;return}function _e(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Ee(b,a,d);return}function $e(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(!f)return;m=c[b+4>>2]|0;n=r(c[b+8>>2]|0,m)|0;j=(f>>>0)/(m>>>0)|0;k=f-(r(j,m)|0)|0;h=m<<4;g=(c[b>>2]|0)+(r(m<<8,j)|0)+(k<<4)|0;l=m>>>0<=f>>>0;if(l){f=g+(0-(h|1))|0;i=f+1|0;a[d>>0]=a[f>>0]|0;f=i+1|0;a[d+1>>0]=a[i>>0]|0;i=f+1|0;a[d+2>>0]=a[f>>0]|0;f=i+1|0;a[d+3>>0]=a[i>>0]|0;i=f+1|0;a[d+4>>0]=a[f>>0]|0;f=i+1|0;a[d+5>>0]=a[i>>0]|0;i=f+1|0;a[d+6>>0]=a[f>>0]|0;f=i+1|0;a[d+7>>0]=a[i>>0]|0;i=f+1|0;a[d+8>>0]=a[f>>0]|0;f=i+1|0;a[d+9>>0]=a[i>>0]|0;i=f+1|0;a[d+10>>0]=a[f>>0]|0;f=i+1|0;a[d+11>>0]=a[i>>0]|0;i=f+1|0;a[d+12>>0]=a[f>>0]|0;f=i+1|0;a[d+13>>0]=a[i>>0]|0;i=f+1|0;a[d+14>>0]=a[f>>0]|0;f=i+1|0;a[d+15>>0]=a[i>>0]|0;i=f+1|0;a[d+16>>0]=a[f>>0]|0;f=i+1|0;a[d+17>>0]=a[i>>0]|0;i=f+1|0;a[d+18>>0]=a[f>>0]|0;a[d+19>>0]=a[i>>0]|0;a[d+20>>0]=a[i+1>>0]|0;d=d+21|0}i=(k|0)!=0;if(i){g=g+-1|0;a[e>>0]=a[g>>0]|0;g=g+h|0;a[e+1>>0]=a[g>>0]|0;g=g+h|0;a[e+2>>0]=a[g>>0]|0;g=g+h|0;a[e+3>>0]=a[g>>0]|0;g=g+h|0;a[e+4>>0]=a[g>>0]|0;g=g+h|0;a[e+5>>0]=a[g>>0]|0;g=g+h|0;a[e+6>>0]=a[g>>0]|0;g=g+h|0;a[e+7>>0]=a[g>>0]|0;g=g+h|0;a[e+8>>0]=a[g>>0]|0;g=g+h|0;a[e+9>>0]=a[g>>0]|0;g=g+h|0;a[e+10>>0]=a[g>>0]|0;g=g+h|0;a[e+11>>0]=a[g>>0]|0;g=g+h|0;a[e+12>>0]=a[g>>0]|0;g=g+h|0;a[e+13>>0]=a[g>>0]|0;g=g+h|0;a[e+14>>0]=a[g>>0]|0;a[e+15>>0]=a[g+h>>0]|0;e=e+16|0}g=m<<3&2147483640;f=(c[b>>2]|0)+(n<<8)+(r(j<<3,g)|0)+(k<<3)|0;if(l){k=f+(0-(g|1))|0;l=k+1|0;a[d>>0]=a[k>>0]|0;k=l+1|0;a[d+1>>0]=a[l>>0]|0;l=k+1|0;a[d+2>>0]=a[k>>0]|0;k=l+1|0;a[d+3>>0]=a[l>>0]|0;l=k+1|0;a[d+4>>0]=a[k>>0]|0;k=l+1|0;a[d+5>>0]=a[l>>0]|0;l=k+1|0;a[d+6>>0]=a[k>>0]|0;k=l+1|0;a[d+7>>0]=a[l>>0]|0;a[d+8>>0]=a[k>>0]|0;k=k+1+((n<<6)+-9)|0;l=k+1|0;a[d+9>>0]=a[k>>0]|0;k=l+1|0;a[d+10>>0]=a[l>>0]|0;l=k+1|0;a[d+11>>0]=a[k>>0]|0;k=l+1|0;a[d+12>>0]=a[l>>0]|0;l=k+1|0;a[d+13>>0]=a[k>>0]|0;k=l+1|0;a[d+14>>0]=a[l>>0]|0;l=k+1|0;a[d+15>>0]=a[k>>0]|0;a[d+16>>0]=a[l>>0]|0;a[d+17>>0]=a[l+1>>0]|0}if(!i)return;l=f+-1|0;a[e>>0]=a[l>>0]|0;l=l+g|0;a[e+1>>0]=a[l>>0]|0;l=l+g|0;a[e+2>>0]=a[l>>0]|0;l=l+g|0;a[e+3>>0]=a[l>>0]|0;l=l+g|0;a[e+4>>0]=a[l>>0]|0;l=l+g|0;a[e+5>>0]=a[l>>0]|0;l=l+g|0;a[e+6>>0]=a[l>>0]|0;l=l+g|0;a[e+7>>0]=a[l>>0]|0;n=l+g+(n-m<<6)|0;a[e+8>>0]=a[n>>0]|0;n=n+g|0;a[e+9>>0]=a[n>>0]|0;n=n+g|0;a[e+10>>0]=a[n>>0]|0;n=n+g|0;a[e+11>>0]=a[n>>0]|0;n=n+g|0;a[e+12>>0]=a[n>>0]|0;n=n+g|0;a[e+13>>0]=a[n>>0]|0;n=n+g|0;a[e+14>>0]=a[n>>0]|0;a[e+15>>0]=a[n+g>>0]|0;return}function af(a){a=a|0;return (a>>>0<6?2:(a|0)!=6&1)|0}function bf(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;k=b+200|0;j=ef(b,c[k>>2]|0)|0;m=(i|0)!=0;if(m&(j|0)!=0){y=(af(c[c[k>>2]>>2]|0)|0)==2;j=y?0:j}k=b+204|0;i=ef(b,c[k>>2]|0)|0;if(m&(i|0)!=0){l=(af(c[c[k>>2]>>2]|0)|0)==2;l=l?0:i}else l=i;k=b+212|0;i=ef(b,c[k>>2]|0)|0;if(m&(i|0)!=0){y=(af(c[c[k>>2]>>2]|0)|0)==2;i=y?0:i}switch(lf(c[b>>2]|0)|0){case 0:{if(!l){f=1;return f|0}l=g+1|0;m=g+2|0;q=g+3|0;s=g+4|0;t=g+5|0;u=g+6|0;v=g+7|0;w=g+8|0;x=g+9|0;y=g+10|0;b=g+11|0;h=g+12|0;n=g+13|0;o=g+14|0;p=g+15|0;i=g+16|0;j=e;k=0;while(1){a[j>>0]=a[l>>0]|0;a[j+1>>0]=a[m>>0]|0;a[j+2>>0]=a[q>>0]|0;a[j+3>>0]=a[s>>0]|0;a[j+4>>0]=a[t>>0]|0;a[j+5>>0]=a[u>>0]|0;a[j+6>>0]=a[v>>0]|0;a[j+7>>0]=a[w>>0]|0;a[j+8>>0]=a[x>>0]|0;a[j+9>>0]=a[y>>0]|0;a[j+10>>0]=a[b>>0]|0;a[j+11>>0]=a[h>>0]|0;a[j+12>>0]=a[n>>0]|0;a[j+13>>0]=a[o>>0]|0;a[j+14>>0]=a[p>>0]|0;a[j+15>>0]=a[i>>0]|0;k=k+1|0;if((k|0)==16)break;else j=j+16|0}break}case 1:{if(!j){f=1;return f|0}i=e;j=0;while(1){g=h+j|0;a[i>>0]=a[g>>0]|0;a[i+1>>0]=a[g>>0]|0;a[i+2>>0]=a[g>>0]|0;a[i+3>>0]=a[g>>0]|0;a[i+4>>0]=a[g>>0]|0;a[i+5>>0]=a[g>>0]|0;a[i+6>>0]=a[g>>0]|0;a[i+7>>0]=a[g>>0]|0;a[i+8>>0]=a[g>>0]|0;a[i+9>>0]=a[g>>0]|0;a[i+10>>0]=a[g>>0]|0;a[i+11>>0]=a[g>>0]|0;a[i+12>>0]=a[g>>0]|0;a[i+13>>0]=a[g>>0]|0;a[i+14>>0]=a[g>>0]|0;a[i+15>>0]=a[g>>0]|0;j=j+1|0;if((j|0)==16)break;else i=i+16|0}break}case 2:{k=g+1|0;j=(j|0)!=0;i=(l|0)!=0;do if(!(j&i)){if(j){i=((d[h>>0]|0)+8+(d[h+1>>0]|0)+(d[h+2>>0]|0)+(d[h+3>>0]|0)+(d[h+4>>0]|0)+(d[h+5>>0]|0)+(d[h+6>>0]|0)+(d[h+7>>0]|0)+(d[h+8>>0]|0)+(d[h+9>>0]|0)+(d[h+10>>0]|0)+(d[h+11>>0]|0)+(d[h+12>>0]|0)+(d[h+13>>0]|0)+(d[h+14>>0]|0)+(d[h+15>>0]|0)|0)>>>4;break}if(i)i=((d[k>>0]|0)+8+(d[g+2>>0]|0)+(d[g+3>>0]|0)+(d[g+4>>0]|0)+(d[g+5>>0]|0)+(d[g+6>>0]|0)+(d[g+7>>0]|0)+(d[g+8>>0]|0)+(d[g+9>>0]|0)+(d[g+10>>0]|0)+(d[g+11>>0]|0)+(d[g+12>>0]|0)+(d[g+13>>0]|0)+(d[g+14>>0]|0)+(d[g+15>>0]|0)+(d[g+16>>0]|0)|0)>>>4;else i=128}else i=((d[k>>0]|0)+16+(d[h>>0]|0)+(d[g+2>>0]|0)+(d[h+1>>0]|0)+(d[g+3>>0]|0)+(d[h+2>>0]|0)+(d[g+4>>0]|0)+(d[h+3>>0]|0)+(d[g+5>>0]|0)+(d[h+4>>0]|0)+(d[g+6>>0]|0)+(d[h+5>>0]|0)+(d[g+7>>0]|0)+(d[h+6>>0]|0)+(d[g+8>>0]|0)+(d[h+7>>0]|0)+(d[g+9>>0]|0)+(d[h+8>>0]|0)+(d[g+10>>0]|0)+(d[h+9>>0]|0)+(d[g+11>>0]|0)+(d[h+10>>0]|0)+(d[g+12>>0]|0)+(d[h+11>>0]|0)+(d[g+13>>0]|0)+(d[h+12>>0]|0)+(d[g+14>>0]|0)+(d[h+13>>0]|0)+(d[g+15>>0]|0)+(d[h+14>>0]|0)+(d[g+16>>0]|0)+(d[h+15>>0]|0)|0)>>>5;while(0);rj(e|0,i&255|0,256)|0;break}default:{if(!((j|0)!=0&(l|0)!=0&(i|0)!=0)){f=1;return f|0}w=d[g+16>>0]|0;u=d[h+15>>0]|0;v=d[g>>0]|0;x=u+w<<4;w=(((d[g+9>>0]|0)-(d[g+7>>0]|0)+((d[g+10>>0]|0)-(d[g+6>>0]|0)<<1)+(((d[g+11>>0]|0)-(d[g+5>>0]|0)|0)*3|0)+((d[g+12>>0]|0)-(d[g+4>>0]|0)<<2)+(((d[g+13>>0]|0)-(d[g+3>>0]|0)|0)*5|0)+(((d[g+14>>0]|0)-(d[g+2>>0]|0)|0)*6|0)+(((d[g+15>>0]|0)-(d[g+1>>0]|0)|0)*7|0)+(w-v<<3)|0)*5|0)+32>>6;v=(((d[h+8>>0]|0)-(d[h+6>>0]|0)+(u-v<<3)+((d[h+9>>0]|0)-(d[h+5>>0]|0)<<1)+(((d[h+10>>0]|0)-(d[h+4>>0]|0)|0)*3|0)+((d[h+11>>0]|0)-(d[h+3>>0]|0)<<2)+(((d[h+12>>0]|0)-(d[h+2>>0]|0)|0)*5|0)+(((d[h+13>>0]|0)-(d[h+1>>0]|0)|0)*6|0)+(((d[h+14>>0]|0)-(d[h>>0]|0)|0)*7|0)|0)*5|0)+32>>6;u=r(w,-7)|0;j=r(w,-6)|0;o=r(w,-5)|0;p=r(w,-4)|0;q=r(w,-3)|0;s=r(w,-2)|0;t=w<<1;k=w*3|0;l=w<<2;m=w*5|0;b=w*6|0;h=w*7|0;n=w<<3;i=0;do{z=(r(i+-7|0,v)|0)+x|0;g=i<<4;y=z+u|0;A=y+16>>5;a[e+g>>0]=(y|0)<-16?0:((A|0)<255?A:255)&255;A=z+j|0;y=A+16>>5;a[e+(g|1)>>0]=(A|0)<-16?0:((y|0)<255?y:255)&255;y=z+o|0;A=y+16>>5;a[e+(g|2)>>0]=(y|0)<-16?0:((A|0)<255?A:255)&255;A=z+p|0;y=A+16>>5;a[e+(g|3)>>0]=(A|0)<-16?0:((y|0)<255?y:255)&255;y=z+q|0;A=y+16>>5;a[e+(g|4)>>0]=(y|0)<-16?0:((A|0)<255?A:255)&255;A=z+s|0;y=A+16>>5;a[e+(g|5)>>0]=(A|0)<-16?0:((y|0)<255?y:255)&255;y=z-w|0;A=y+16>>5;a[e+(g|6)>>0]=(y|0)<-16?0:((A|0)<255?A:255)&255;A=z+16>>5;a[e+(g|7)>>0]=(z|0)<-16?0:((A|0)<255?A:255)&255;A=z+w|0;y=A+16>>5;a[e+(g|8)>>0]=(A|0)<-16?0:((y|0)<255?y:255)&255;y=z+t|0;A=y+16>>5;a[e+(g|9)>>0]=(y|0)<-16?0:((A|0)<255?A:255)&255;A=z+k|0;y=A+16>>5;a[e+(g|10)>>0]=(A|0)<-16?0:((y|0)<255?y:255)&255;y=z+l|0;A=y+16>>5;a[e+(g|11)>>0]=(y|0)<-16?0:((A|0)<255?A:255)&255;A=z+m|0;y=A+16>>5;a[e+(g|12)>>0]=(A|0)<-16?0:((y|0)<255?y:255)&255;y=z+b|0;A=y+16>>5;a[e+(g|13)>>0]=(y|0)<-16?0:((A|0)<255?A:255)&255;A=z+h|0;y=A+16>>5;a[e+(g|14)>>0]=(A|0)<-16?0:((y|0)<255?y:255)&255;z=z+n|0;y=z+16>>5;a[e+(g|15)>>0]=(z|0)<-16?0:((y|0)<255?y:255)&255;i=i+1|0}while((i|0)!=16)}}ff(e,f,0);ff(e,f+64|0,1);ff(e,f+128|0,2);ff(e,f+192|0,3);ff(e,f+256|0,4);ff(e,f+320|0,5);ff(e,f+384|0,6);ff(e,f+448|0,7);ff(e,f+512|0,8);ff(e,f+576|0,9);ff(e,f+640|0,10);ff(e,f+704|0,11);ff(e,f+768|0,12);ff(e,f+832|0,13);ff(e,f+896|0,14);ff(e,f+960|0,15);A=0;return A|0}function cf(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,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=(i|0)!=0;K=0;a:while(1){m=gf(K)|0;l=c[m+4>>2]|0;m=Le(b,c[m>>2]|0)|0;i=ef(b,m)|0;if(L&(i|0)!=0){J=(af(c[m>>2]|0)|0)==2;i=J?0:i}n=hf(K)|0;k=c[n+4>>2]|0;n=Le(b,c[n>>2]|0)|0;j=ef(b,n)|0;if(L&(j|0)!=0){J=(af(c[n>>2]|0)|0)==2;j=J?0:j}H=(i|0)!=0;G=(j|0)!=0;F=H&G;if(F){if(!(af(c[m>>2]|0)|0))j=d[(l&255)+(m+82)>>0]|0;else j=2;if(!(af(c[n>>2]|0)|0))i=d[(k&255)+(n+82)>>0]|0;else i=2;i=j>>>0>>0?j:i}else i=2;if(!(c[f+12+(K<<2)>>2]|0)){J=c[f+76+(K<<2)>>2]|0;i=J+(J>>>0>=i>>>0&1)|0}a[b+82+K>>0]=i;j=c[(jf(K)|0)>>2]|0;j=Le(b,j)|0;k=ef(b,j)|0;if(L&(k|0)!=0){J=(af(c[j>>2]|0)|0)==2;k=J?0:k}j=c[(kf(K)|0)>>2]|0;j=Le(b,j)|0;l=ef(b,j)|0;if(L&(l|0)!=0){J=(af(c[j>>2]|0)|0)==2;l=J?0:l}I=c[1864+(K<<2)>>2]|0;J=c[1928+(K<<2)>>2]|0;t=(1285>>>K&1|0)!=0;if(t){p=h+(J+2)|0;n=J+3|0;o=h;j=h+J|0;m=h+(J+1)|0}else{m=(J<<4)+I|0;p=e+(m+31)|0;n=m+47|0;o=e;j=e+(m+-1)|0;m=e+(m+15)|0}A=a[j>>0]|0;z=a[m>>0]|0;E=a[o+n>>0]|0;D=a[p>>0]|0;do if(!(51>>>K&1)){m=J+-1|0;j=(m<<4)+I|0;u=a[e+j>>0]|0;v=a[e+(j+1)>>0]|0;w=a[e+(j+2)>>0]|0;n=a[e+(j+3)>>0]|0;o=a[e+(j+4)>>0]|0;p=a[e+(j+5)>>0]|0;q=a[e+(j+6)>>0]|0;s=a[e+(j+7)>>0]|0;if(t){j=h+m|0;C=n;B=q;m=s;y=u;x=v;break}else{j=e+(j+-1)|0;C=n;B=q;m=s;y=u;x=v;break}}else{j=g+I|0;C=a[g+(I+4)>>0]|0;o=a[g+(I+5)>>0]|0;p=a[g+(I+6)>>0]|0;B=a[g+(I+7)>>0]|0;m=a[g+(I+8)>>0]|0;y=a[g+(I+1)>>0]|0;x=a[g+(I+2)>>0]|0;w=a[g+(I+3)>>0]|0}while(0);j=a[j>>0]|0;switch(i|0){case 0:{if(!G){i=1;j=51;break a}j=y;k=x;l=w;m=C;n=y;o=x;p=w;q=C;s=y;t=x;u=w;v=C;i=(w&255)<<16|(C&255)<<24|y&255|(x&255)<<8;break}case 1:{if(!H){i=1;j=51;break a}m=r(A&255,16843009)|0;q=r(z&255,16843009)|0;v=r(D&255,16843009)|0;j=m&255;k=m>>>8&255;l=m>>>16&255;m=m>>>24&255;n=q&255;o=q>>>8&255;p=q>>>16&255;q=q>>>24&255;s=v&255;t=v>>>8&255;u=v>>>16&255;v=v>>>24&255;i=r(E&255,16843009)|0;break}case 2:{do if(!F){if(H){i=((A&255)+2+(z&255)+(E&255)+(D&255)|0)>>>2;break}if(G)i=((C&255)+2+(w&255)+(x&255)+(y&255)|0)>>>2;else i=128}else i=((A&255)+4+(z&255)+(E&255)+(D&255)+(C&255)+(w&255)+(x&255)+(y&255)|0)>>>3;while(0);i=r(i&255,16843009)|0;s=i&255;t=i>>>8&255;u=i>>>16&255;v=i>>>24&255;j=s;k=t;l=u;m=v;n=s;o=t;p=u;q=v;break}case 3:{if(!G){i=1;j=51;break a}G=(k|0)==0;j=x&255;k=w&255;s=C&255;E=s+2|0;n=(E+j+(k<<1)|0)>>>2&255;H=(G?C:o)&255;s=(H+2+k+(s<<1)|0)>>>2&255;l=(G?C:p)&255;E=(E+l+(H<<1)|0)>>>2;t=E&255;i=(G?C:B)&255;F=i+2|0;H=(F+H+(l<<1)|0)>>>2;u=H&255;G=(G?C:m)&255;i=(l+2+G+(i<<1)|0)>>>2;j=(k+2+(y&255)+(j<<1)|0)>>>2&255;k=n;l=s;m=t;o=s;p=t;q=u;v=i&255;i=E&255|(F+(G*3|0)|0)>>>2<<24|H<<8&65280|i<<16&16711680;break}case 4:{if(!(F&(l|0)!=0)){i=1;j=51;break a}v=y&255;i=j&255;j=A&255;q=v+2|0;H=(q+j+(i<<1)|0)>>>2;u=H&255;G=x&255;n=G+2|0;v=(n+(v<<1)+i|0)>>>2&255;m=w&255;q=((G<<1)+m+q|0)>>>2&255;G=z&255;B=G+2|0;i=(B+(j<<1)+i|0)>>>2;t=i&255;F=D&255;G=(j+2+(G<<1)+F|0)>>>2;j=u;k=v;l=q;m=(n+(C&255)+(m<<1)|0)>>>2&255;n=t;o=u;p=v;s=G&255;i=(B+(E&255)+(F<<1)|0)>>>2&255|G<<8&65280|H<<24|i<<16&16711680;break}case 5:{if(!(F&(l|0)!=0)){i=1;j=51;break a}s=j&255;u=y&255;t=(u+1+s|0)>>>1&255;v=x&255;B=v+2|0;i=(B+(u<<1)+s|0)>>>2;F=A&255;E=u+2|0;H=(E+F+(s<<1)|0)>>>2;u=(v+1+u|0)>>>1&255;q=w&255;E=((v<<1)+q+E|0)>>>2;m=q+1|0;v=(m+v|0)>>>1&255;C=C&255;G=z&255;j=t;k=u;l=v;m=(m+C|0)>>>1&255;n=H&255;o=i&255;p=E&255;q=(B+C+(q<<1)|0)>>>2&255;s=(G+2+(F<<1)+s|0)>>>2&255;i=E<<24|(F+2+(G<<1)+(D&255)|0)>>>2&255|H<<8&65280|i<<16&16711680;break}case 6:{if(!(F&(l|0)!=0)){i=1;j=51;break a}l=j&255;q=A&255;u=q+1|0;p=(u+l|0)>>>1&255;H=z&255;G=H+2|0;v=(G+(q<<1)+l|0)>>>2&255;u=(u+H|0)>>>1&255;i=D&255;q=q+2|0;F=(q+(H<<1)+i|0)>>>2;D=(H+1+i|0)>>>1;H=E&255;n=y&255;q=(q+n+(l<<1)|0)>>>2&255;m=x&255;j=p;k=q;l=(m+2+(n<<1)+l|0)>>>2&255;m=(n+2+(w&255)+(m<<1)|0)>>>2&255;n=u;o=v;s=D&255;t=F&255;i=D<<16&16711680|F<<24|(i+1+H|0)>>>1&255|G+H+(i<<1)<<6&65280;break}case 7:{if(!G){i=1;j=51;break a}F=(k|0)==0;q=y&255;n=x&255;A=w&255;s=(A+1+n|0)>>>1&255;D=C&255;u=D+1|0;t=(u+A|0)>>>1&255;v=(F?C:o)&255;u=(u+v|0)>>>1&255;i=D+2|0;H=(i+n+(A<<1)|0)>>>2;E=v+2|0;D=(E+A+(D<<1)|0)>>>2;G=(F?C:p)&255;i=(i+G+(v<<1)|0)>>>2;j=(n+1+q|0)>>>1&255;k=s;l=t;m=u;n=(A+2+q+(n<<1)|0)>>>2&255;o=H&255;p=D&255;q=i&255;v=(v+1+G|0)>>>1&255;i=D<<8&65280|(E+((F?C:B)&255)+(G<<1)|0)>>>2<<24|H&255|i<<16&16711680;break}default:{if(!H){i=1;j=51;break a}l=A&255;k=z&255;j=k+1|0;s=D&255;m=s+2|0;n=(j+s|0)>>>1&255;i=E&255;o=(k+2+i+(s<<1)|0)>>>2&255;s=(s+1+i|0)>>>1&255;t=(m+(i*3|0)|0)>>>2&255;j=(j+l|0)>>>1&255;k=(m+l+(k<<1)|0)>>>2&255;l=n;m=o;p=s;q=t;u=E;v=E;i=i<<8|i|i<<16|i<<24}}J=e+((J<<4)+I)|0;c[J>>2]=(l&255)<<16|(m&255)<<24|(k&255)<<8|j&255;c[J+16>>2]=(p&255)<<16|(q&255)<<24|(o&255)<<8|n&255;c[J+32>>2]=(u&255)<<16|(v&255)<<24|(t&255)<<8|s&255;c[J+48>>2]=i;ff(e,f+328+(K<<6)|0,K);K=K+1|0;if(K>>>0>=16){i=0;j=51;break}}if((j|0)==51)return i|0;return 0}function df(b,e,f,g,h,i,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;l=b+200|0;k=ef(b,c[l>>2]|0)|0;m=(j|0)!=0;if(m&(k|0)!=0){w=(af(c[c[l>>2]>>2]|0)|0)==2;k=w?0:k}l=b+204|0;j=ef(b,c[l>>2]|0)|0;if(m&(j|0)!=0){n=(af(c[c[l>>2]>>2]|0)|0)==2;n=n?0:j}else n=j;l=b+212|0;j=ef(b,c[l>>2]|0)|0;if(m&(j|0)!=0){w=(af(c[c[l>>2]>>2]|0)|0)==2;j=w?0:j}v=(k|0)!=0;w=(n|0)!=0;u=v&w;t=u&(j|0)!=0;s=(k|0)==0;q=(n|0)==0;o=16;p=1;n=f;a:while(1){switch(i|0){case 0:{l=g+1|0;do if(!u){if(w){j=((d[l>>0]|0)+2+(d[g+2>>0]|0)+(d[g+3>>0]|0)+(d[g+4>>0]|0)|0)>>>2;k=((d[g+5>>0]|0)+2+(d[g+6>>0]|0)+(d[g+7>>0]|0)+(d[g+8>>0]|0)|0)>>>2;break}if(v){k=((d[h>>0]|0)+2+(d[h+1>>0]|0)+(d[h+2>>0]|0)+(d[h+3>>0]|0)|0)>>>2;j=k}else{j=128;k=128}}else{j=((d[l>>0]|0)+4+(d[g+2>>0]|0)+(d[g+3>>0]|0)+(d[g+4>>0]|0)+(d[h>>0]|0)+(d[h+1>>0]|0)+(d[h+2>>0]|0)+(d[h+3>>0]|0)|0)>>>3;k=((d[g+5>>0]|0)+2+(d[g+6>>0]|0)+(d[g+7>>0]|0)+(d[g+8>>0]|0)|0)>>>2}while(0);b=j&255;f=k&255;rj(e|0,b|0,4)|0;rj(e+4|0,f|0,4)|0;rj(e+8|0,b|0,4)|0;rj(e+12|0,f|0,4)|0;rj(e+16|0,b|0,4)|0;rj(e+20|0,f|0,4)|0;m=e+32|0;rj(e+24|0,b|0,4)|0;rj(e+28|0,f|0,4)|0;if(v){l=d[h+7>>0]|0;k=(d[h+5>>0]|0)+(d[h+4>>0]|0)+(d[h+6>>0]|0)|0;j=(k+2+l|0)>>>2;if(w){b=j;j=(k+4+l+(d[g+5>>0]|0)+(d[g+6>>0]|0)+(d[g+7>>0]|0)+(d[g+8>>0]|0)|0)>>>3}else b=j}else if(w){b=((d[l>>0]|0)+2+(d[g+2>>0]|0)+(d[g+3>>0]|0)+(d[g+4>>0]|0)|0)>>>2;j=((d[g+5>>0]|0)+2+(d[g+6>>0]|0)+(d[g+7>>0]|0)+(d[g+8>>0]|0)|0)>>>2}else{b=128;j=128}b=b&255;f=j&255;rj(m|0,b|0,4)|0;rj(e+36|0,f|0,4)|0;rj(e+40|0,b|0,4)|0;rj(e+44|0,f|0,4)|0;rj(e+48|0,b|0,4)|0;rj(e+52|0,f|0,4)|0;rj(e+56|0,b|0,4)|0;rj(e+60|0,f|0,4)|0;break}case 1:{if(s){j=1;k=28;break a}a[e>>0]=a[h>>0]|0;a[e+1>>0]=a[h>>0]|0;a[e+2>>0]=a[h>>0]|0;a[e+3>>0]=a[h>>0]|0;a[e+4>>0]=a[h>>0]|0;a[e+5>>0]=a[h>>0]|0;a[e+6>>0]=a[h>>0]|0;f=h+1|0;a[e+7>>0]=a[h>>0]|0;a[e+8>>0]=a[f>>0]|0;a[e+9>>0]=a[f>>0]|0;a[e+10>>0]=a[f>>0]|0;a[e+11>>0]=a[f>>0]|0;a[e+12>>0]=a[f>>0]|0;a[e+13>>0]=a[f>>0]|0;a[e+14>>0]=a[f>>0]|0;m=h+2|0;a[e+15>>0]=a[f>>0]|0;a[e+16>>0]=a[m>>0]|0;a[e+17>>0]=a[m>>0]|0;a[e+18>>0]=a[m>>0]|0;a[e+19>>0]=a[m>>0]|0;a[e+20>>0]=a[m>>0]|0;a[e+21>>0]=a[m>>0]|0;a[e+22>>0]=a[m>>0]|0;f=h+3|0;a[e+23>>0]=a[m>>0]|0;a[e+24>>0]=a[f>>0]|0;a[e+25>>0]=a[f>>0]|0;a[e+26>>0]=a[f>>0]|0;a[e+27>>0]=a[f>>0]|0;a[e+28>>0]=a[f>>0]|0;a[e+29>>0]=a[f>>0]|0;a[e+30>>0]=a[f>>0]|0;m=h+4|0;a[e+31>>0]=a[f>>0]|0;a[e+32>>0]=a[m>>0]|0;a[e+33>>0]=a[m>>0]|0;a[e+34>>0]=a[m>>0]|0;a[e+35>>0]=a[m>>0]|0;a[e+36>>0]=a[m>>0]|0;a[e+37>>0]=a[m>>0]|0;a[e+38>>0]=a[m>>0]|0;f=h+5|0;a[e+39>>0]=a[m>>0]|0;a[e+40>>0]=a[f>>0]|0;a[e+41>>0]=a[f>>0]|0;a[e+42>>0]=a[f>>0]|0;a[e+43>>0]=a[f>>0]|0;a[e+44>>0]=a[f>>0]|0;a[e+45>>0]=a[f>>0]|0;a[e+46>>0]=a[f>>0]|0;m=h+6|0;a[e+47>>0]=a[f>>0]|0;a[e+48>>0]=a[m>>0]|0;a[e+49>>0]=a[m>>0]|0;a[e+50>>0]=a[m>>0]|0;a[e+51>>0]=a[m>>0]|0;a[e+52>>0]=a[m>>0]|0;a[e+53>>0]=a[m>>0]|0;a[e+54>>0]=a[m>>0]|0;f=h+7|0;a[e+55>>0]=a[m>>0]|0;a[e+56>>0]=a[f>>0]|0;a[e+57>>0]=a[f>>0]|0;a[e+58>>0]=a[f>>0]|0;a[e+59>>0]=a[f>>0]|0;a[e+60>>0]=a[f>>0]|0;a[e+61>>0]=a[f>>0]|0;a[e+62>>0]=a[f>>0]|0;a[e+63>>0]=a[f>>0]|0;break}case 2:{if(q){j=1;k=28;break a}m=g+1|0;a[e>>0]=a[m>>0]|0;a[e+8>>0]=a[m>>0]|0;a[e+16>>0]=a[m>>0]|0;a[e+24>>0]=a[m>>0]|0;a[e+32>>0]=a[m>>0]|0;a[e+40>>0]=a[m>>0]|0;a[e+48>>0]=a[m>>0]|0;f=g+2|0;a[e+56>>0]=a[m>>0]|0;a[e+1>>0]=a[f>>0]|0;a[e+9>>0]=a[f>>0]|0;a[e+17>>0]=a[f>>0]|0;a[e+25>>0]=a[f>>0]|0;a[e+33>>0]=a[f>>0]|0;a[e+41>>0]=a[f>>0]|0;a[e+49>>0]=a[f>>0]|0;m=g+3|0;a[e+57>>0]=a[f>>0]|0;a[e+2>>0]=a[m>>0]|0;a[e+10>>0]=a[m>>0]|0;a[e+18>>0]=a[m>>0]|0;a[e+26>>0]=a[m>>0]|0;a[e+34>>0]=a[m>>0]|0;a[e+42>>0]=a[m>>0]|0;a[e+50>>0]=a[m>>0]|0;f=g+4|0;a[e+58>>0]=a[m>>0]|0;a[e+3>>0]=a[f>>0]|0;a[e+11>>0]=a[f>>0]|0;a[e+19>>0]=a[f>>0]|0;a[e+27>>0]=a[f>>0]|0;a[e+35>>0]=a[f>>0]|0;a[e+43>>0]=a[f>>0]|0;a[e+51>>0]=a[f>>0]|0;m=g+5|0;a[e+59>>0]=a[f>>0]|0;a[e+4>>0]=a[m>>0]|0;a[e+12>>0]=a[m>>0]|0;a[e+20>>0]=a[m>>0]|0;a[e+28>>0]=a[m>>0]|0;a[e+36>>0]=a[m>>0]|0;a[e+44>>0]=a[m>>0]|0;a[e+52>>0]=a[m>>0]|0;f=g+6|0;a[e+60>>0]=a[m>>0]|0;a[e+5>>0]=a[f>>0]|0;a[e+13>>0]=a[f>>0]|0;a[e+21>>0]=a[f>>0]|0;a[e+29>>0]=a[f>>0]|0;a[e+37>>0]=a[f>>0]|0;a[e+45>>0]=a[f>>0]|0;a[e+53>>0]=a[f>>0]|0;m=g+7|0;a[e+61>>0]=a[f>>0]|0;a[e+6>>0]=a[m>>0]|0;a[e+14>>0]=a[m>>0]|0;a[e+22>>0]=a[m>>0]|0;a[e+30>>0]=a[m>>0]|0;a[e+38>>0]=a[m>>0]|0;a[e+46>>0]=a[m>>0]|0;a[e+54>>0]=a[m>>0]|0;f=g+8|0;a[e+62>>0]=a[m>>0]|0;a[e+7>>0]=a[f>>0]|0;a[e+15>>0]=a[f>>0]|0;a[e+23>>0]=a[f>>0]|0;a[e+31>>0]=a[f>>0]|0;a[e+39>>0]=a[f>>0]|0;a[e+47>>0]=a[f>>0]|0;a[e+55>>0]=a[f>>0]|0;a[e+63>>0]=a[f>>0]|0;break}default:{if(!t){j=1;k=28;break a}l=d[g+8>>0]|0;b=d[h+7>>0]|0;m=d[g>>0]|0;f=(((d[g+5>>0]|0)-(d[g+3>>0]|0)+((d[g+6>>0]|0)-(d[g+2>>0]|0)<<1)+(((d[g+7>>0]|0)-(d[g+1>>0]|0)|0)*3|0)+(l-m<<2)|0)*17|0)+16>>5;m=(((d[h+4>>0]|0)-(d[h+2>>0]|0)+(b-m<<2)+((d[h+5>>0]|0)-(d[h+1>>0]|0)<<1)+(((d[h+6>>0]|0)-(d[h>>0]|0)|0)*3|0)|0)*17|0)+16>>5;l=(b+l<<4)+16+(r(m,-3)|0)|0;b=r(f,-3)|0;k=l+b|0;a[e>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+1>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+2>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+3>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+4>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+5>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+6>>0]=a[49274+(k>>5)>>0]|0;a[e+7>>0]=a[49274+(k+f>>5)>>0]|0;l=l+m|0;k=l+b|0;a[e+8>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+9>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+10>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+11>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+12>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+13>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+14>>0]=a[49274+(k>>5)>>0]|0;a[e+15>>0]=a[49274+(k+f>>5)>>0]|0;l=l+m|0;k=l+b|0;a[e+16>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+17>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+18>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+19>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+20>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+21>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+22>>0]=a[49274+(k>>5)>>0]|0;a[e+23>>0]=a[49274+(k+f>>5)>>0]|0;l=l+m|0;k=l+b|0;a[e+24>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+25>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+26>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+27>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+28>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+29>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+30>>0]=a[49274+(k>>5)>>0]|0;a[e+31>>0]=a[49274+(k+f>>5)>>0]|0;l=l+m|0;k=l+b|0;a[e+32>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+33>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+34>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+35>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+36>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+37>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+38>>0]=a[49274+(k>>5)>>0]|0;a[e+39>>0]=a[49274+(k+f>>5)>>0]|0;l=l+m|0;k=l+b|0;a[e+40>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+41>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+42>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+43>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+44>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+45>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+46>>0]=a[49274+(k>>5)>>0]|0;a[e+47>>0]=a[49274+(k+f>>5)>>0]|0;b=l+m+b|0;a[e+48>>0]=a[49274+(b>>5)>>0]|0;l=b+f|0;a[e+49>>0]=a[49274+(l>>5)>>0]|0;l=l+f|0;a[e+50>>0]=a[49274+(l>>5)>>0]|0;l=l+f|0;a[e+51>>0]=a[49274+(l>>5)>>0]|0;l=l+f|0;a[e+52>>0]=a[49274+(l>>5)>>0]|0;l=l+f|0;a[e+53>>0]=a[49274+(l>>5)>>0]|0;l=l+f|0;a[e+54>>0]=a[49274+(l>>5)>>0]|0;a[e+55>>0]=a[49274+(l+f>>5)>>0]|0;m=b+m|0;a[e+56>>0]=a[49274+(m>>5)>>0]|0;m=m+f|0;a[e+57>>0]=a[49274+(m>>5)>>0]|0;m=m+f|0;a[e+58>>0]=a[49274+(m>>5)>>0]|0;m=m+f|0;a[e+59>>0]=a[49274+(m>>5)>>0]|0;m=m+f|0;a[e+60>>0]=a[49274+(m>>5)>>0]|0;m=m+f|0;a[e+61>>0]=a[49274+(m>>5)>>0]|0;m=m+f|0;a[e+62>>0]=a[49274+(m>>5)>>0]|0;a[e+63>>0]=a[49274+(m+f>>5)>>0]|0}}ff(e,n,o);f=o|1;ff(e,n+64|0,f);ff(e,n+128|0,f+1|0);ff(e,n+192|0,o|3);if(p>>>0<2){g=g+9|0;o=o+4|0;p=2;e=e+64|0;h=h+8|0;n=n+256|0}else{j=0;k=28;break}}if((k|0)==28)return j|0;return 0}function ef(a,b){a=a|0;b=b|0;if(!b)return 0;else return (c[a+4>>2]|0)==(c[b+4>>2]|0)|0;return 0}function ff(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=c[e>>2]|0;if((g|0)==16777215)return;m=f>>>0<16;k=m?16:8;m=m?f:f&3;b=b+(r(c[1928+(m<<2)>>2]|0,k)|0)+(c[1864+(m<<2)>>2]|0)|0;m=c[e+4>>2]|0;f=b+1|0;l=d[f>>0]|0;a[b>>0]=a[49274+(g+(d[b>>0]|0))>>0]|0;j=c[e+8>>2]|0;i=b+2|0;h=d[i>>0]|0;a[f>>0]=a[49274+(m+l)>>0]|0;f=b+3|0;l=a[49274+((c[e+12>>2]|0)+(d[f>>0]|0))>>0]|0;a[i>>0]=a[49274+(j+h)>>0]|0;a[f>>0]=l;b=b+k|0;f=c[e+20>>2]|0;l=b+1|0;i=d[l>>0]|0;a[b>>0]=a[49274+((c[e+16>>2]|0)+(d[b>>0]|0))>>0]|0;h=c[e+24>>2]|0;j=b+2|0;g=d[j>>0]|0;a[l>>0]=a[49274+(f+i)>>0]|0;l=b+3|0;i=a[49274+((c[e+28>>2]|0)+(d[l>>0]|0))>>0]|0;a[j>>0]=a[49274+(h+g)>>0]|0;a[l>>0]=i;b=b+k|0;l=c[e+36>>2]|0;i=b+1|0;j=d[i>>0]|0;a[b>>0]=a[49274+((c[e+32>>2]|0)+(d[b>>0]|0))>>0]|0;g=c[e+40>>2]|0;h=b+2|0;f=d[h>>0]|0;a[i>>0]=a[49274+(l+j)>>0]|0;i=b+3|0;j=a[49274+((c[e+44>>2]|0)+(d[i>>0]|0))>>0]|0;a[h>>0]=a[49274+(g+f)>>0]|0;a[i>>0]=j;b=b+k|0;k=c[e+52>>2]|0;i=b+1|0;j=d[i>>0]|0;a[b>>0]=a[49274+((c[e+48>>2]|0)+(d[b>>0]|0))>>0]|0;h=c[e+56>>2]|0;f=b+2|0;g=d[f>>0]|0;a[i>>0]=a[49274+(k+j)>>0]|0;b=b+3|0;e=a[49274+((c[e+60>>2]|0)+(d[b>>0]|0))>>0]|0;a[f>>0]=a[49274+(h+g)>>0]|0;a[b>>0]=e;return}function gf(a){a=a|0;return 4880+(a<<3)|0}function hf(a){a=a|0;return 4688+(a<<3)|0}function jf(a){a=a|0;return 4496+(a<<3)|0}function kf(a){a=a|0;return 4304+(a<<3)|0}function lf(a){a=a|0;return a+1&3|0}function mf(a){a=a|0;return (c[a+8>>2]|0)==0|0}function nf(a,b,d){a=a|0;b=b|0;d=d|0;if(d|0){b=ke(a,b)|0;return b|0}d=ce(a,1)|0;c[b>>2]=d;if((d|0)==-1){b=1;return b|0}c[b>>2]=d^1;b=0;return b|0}function of(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0;g=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);f=g;if(ke(a,f)|0){b=1;cc=g;return b|0}f=c[f>>2]|0;if(f>>>0>47){b=1;cc=g;return b|0}c[b>>2]=d[((e|0)==0?50768:50816)+f>>0];b=0;cc=g;return b|0}function pf(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=gf(e)|0;e=hf(e)|0;h=a[g+4>>0]|0;i=a[e+4>>0]|0;e=(c[e>>2]|0)==4;if((c[g>>2]|0)==4){g=b[f+((h&255)<<1)>>1]|0;if(e){d=g+1+(b[f+((i&255)<<1)>>1]|0)>>1;return d|0}e=d+204|0;if(!(ef(d,c[e>>2]|0)|0)){d=g;return d|0}d=g+1+(b[(c[e>>2]|0)+28+((i&255)<<1)>>1]|0)>>1;return d|0}if(e){e=b[f+((i&255)<<1)>>1]|0;g=d+200|0;if(!(ef(d,c[g>>2]|0)|0)){d=e;return d|0}d=e+1+(b[(c[g>>2]|0)+28+((h&255)<<1)>>1]|0)>>1;return d|0}e=d+200|0;if(!(ef(d,c[e>>2]|0)|0)){g=0;f=0}else{g=b[(c[e>>2]|0)+28+((h&255)<<1)>>1]|0;f=1}e=d+204|0;if(!(ef(d,c[e>>2]|0)|0)){d=g;return d|0}else{d=b[(c[e>>2]|0)+28+((i&255)<<1)>>1]|0;return ((f|0)==0?d:g+1+d>>1)|0}return 0}function qf(a,b,f,g){a=a|0;b=b|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;T=cc;cc=cc+128|0;if((cc|0)>=(dc|0))w(128);R=T+64|0;S=T;o=ee(a)|0;m=o>>>16;do if(f>>>0<2)if((o|0)>=0){if(o>>>0>201326591){n=e[41408+(o>>>26<<1)>>1]|0;K=25;break}if(o>>>0>16777215){n=e[41472+(o>>>22<<1)>>1]|0;K=25;break}if(o>>>0>2097151){n=e[41568+((o>>>18)+-8<<1)>>1]|0;K=25;break}else{n=e[41680+(m<<1)>>1]|0;K=25;break}}else p=1;else if(f>>>0<4){if((o|0)<0){p=(o&1073741824|0)==0?2082:2;break}if(o>>>0>268435455){n=e[41744+(o>>>26<<1)>>1]|0;K=25;break}if(o>>>0>33554431){n=e[41808+(o>>>23<<1)>>1]|0;K=25;break}else{n=e[41872+(o>>>18<<1)>>1]|0;K=25;break}}else{if(f>>>0<8){f=o>>>26;if((f+-8|0)>>>0<56){n=e[42128+(f<<1)>>1]|0;K=25;break}n=e[42256+(o>>>22<<1)>>1]|0;K=25;break}if(f>>>0<17){n=e[42512+(o>>>26<<1)>>1]|0;K=25;break}f=o>>>29;if(f|0){n=e[42640+(f<<1)>>1]|0;K=25;break}n=e[42656+(o>>>24<<1)>>1]|0;K=25;break}while(0);if((K|0)==25)if(!n){S=1;cc=T;return S|0}else p=n;n=p&31;f=o<>>11;L=y&31;if(L>>>0>g>>>0){S=1;cc=T;return S|0}v=p>>>5&63;do if(L){if(!v)n=0;else{do if(m>>>0>>0)if((oe(a,n)|0)==-1){S=1;cc=T;return S|0}else{m=32;f=ee(a)|0;break}while(0);o=f>>>(32-v|0);f=f<>2]=(n&o|0)==0?1:-1;n=n>>>1;p=p+1|0}while((n|0)!=0);m=m-v|0;n=p}u=v>>>0<3;a:do if(n>>>0>>0){t=n;s=L>>>0>10&u&1;b:while(1){if(m>>>0<16){if((oe(a,32-m|0)|0)==-1){O=1;K=125;break}r=32;f=ee(a)|0}else r=m;do if((f|0)>=0)if(f>>>0<=1073741823)if(f>>>0<=536870911)if(f>>>0<=268435455)if(f>>>0<=134217727)if(f>>>0<=67108863)if(f>>>0<=33554431)if(f>>>0<=16777215)if(f>>>0<=8388607)if(f>>>0>4194303){I=9;K=59}else{if(f>>>0>2097151){I=10;K=59;break}if(f>>>0>1048575){I=11;K=59;break}if(f>>>0>524287){I=12;K=59;break}if(f>>>0>262143){I=13;K=59;break}if(f>>>0>131071){n=14;m=f<<15;o=r+-15|0;q=s;p=(s|0)==0?4:s}else{if((f&-65536|0)!=65536){O=1;K=125;break b}n=15;m=f<<16;o=r+-16|0;q=(s|0)==0?1:s;p=12}H=m;C=n<>>0>>0){if((oe(a,32-z|0)|0)==-1){O=1;K=125;break}f=32;m=ee(a)|0}else{f=z;m=H}F=f-x|0;G=m<>>(32-x|0))+C|0;D=A;E=q}s=u&(t|0)==(v|0)?B+2|0:B;n=(s+2|0)>>>1;o=E?1:D;c[R+(t<<2)>>2]=(s&1|0)==0?n:0-n|0;t=t+1|0;if(t>>>0>=L>>>0){l=F;j=G;break a}else{m=F;f=G;s=o+(o>>>0<6&(n|0)>(3<>>0>>0){do if(l>>>0<9)if((oe(a,32-l|0)|0)==-1){S=1;cc=T;return S|0}else{l=32;j=ee(a)|0;break}while(0);f=j>>>23;c:do if((g|0)==4)if((j|0)>=0)if((L|0)!=3)if(j>>>0>1073741823)k=18;else k=(L|0)==2?34:j>>>0>536870911?35:51;else k=17;else k=1;else{do switch(y&31){case 1:{if(j>>>0>268435455)k=d[50146+(j>>>27)>>0]|0;else{J=50178+f|0;K=91}break}case 2:{J=50210+(j>>>26)|0;K=91;break}case 3:{J=50274+(j>>>26)|0;K=91;break}case 4:{J=50338+(j>>>27)|0;K=91;break}case 5:{J=50370+(j>>>27)|0;K=91;break}case 6:{J=50402+(j>>>26)|0;K=91;break}case 7:{J=50466+(j>>>26)|0;K=91;break}case 8:{J=50530+(j>>>26)|0;K=91;break}case 9:{J=50594+(j>>>26)|0;K=91;break}case 10:{J=50658+(j>>>27)|0;K=91;break}case 11:{J=50690+(j>>>28)|0;K=91;break}case 12:{J=50706+(j>>>28)|0;K=91;break}case 13:{J=50722+(j>>>29)|0;K=91;break}case 14:{J=50730+(j>>>30)|0;K=91;break}default:{k=j>>31&16|1;break c}}while(0);if((K|0)==91)k=d[J>>0]|0;if(!k){S=1;cc=T;return S|0}}while(0);g=k&15;l=l-g|0;j=j<>>4&15}else k=0;n=L+-1|0;if(!n){c[b+(k<<2)>>2]=c[R+(n<<2)>>2];P=l;h=1<>2]=1;Q=l;i=0}else{if(l>>>0<11){if((oe(a,32-l|0)|0)==-1){O=1;K=125;break}l=32;j=ee(a)|0}switch(f|0){case 1:{N=50734+(j>>>31)|0;K=117;break}case 2:{N=50736+(j>>>30)|0;K=117;break}case 3:{N=50740+(j>>>30)|0;K=117;break}case 4:{N=50744+(j>>>29)|0;K=117;break}case 5:{N=50752+(j>>>29)|0;K=117;break}case 6:{N=50760+(j>>>29)|0;K=117;break}default:{if(j>>>0<=536870911)if(j>>>0<=268435455)if(j>>>0<=134217727)if(j>>>0<=67108863)if(j>>>0<=33554431)if(j>>>0>16777215)k=184;else k=j>>>0>8388607?201:j>>>0>4194303?218:j>>>0<2097152?0:235;else k=167;else k=150;else k=133;else k=116;else k=112-(j>>>29<<4)|3;if((k>>>4&15)>>>0>f>>>0){O=1;K=125;break d}else M=k}}if((K|0)==117){K=0;M=d[N>>0]|0}if(!M){O=1;K=125;break}g=M&15;i=M>>>4&15;c[S+(m<<2)>>2]=i+1;Q=l-g|0;j=j<>>0>=n>>>0){K=122;break}else{l=Q;f=i}}if((K|0)==122){c[b+(i<<2)>>2]=c[R+(n<<2)>>2];j=L+-2|0;h=1<>2]|0)+i|0;h=1<>2]=c[R+(j<<2)>>2];if(!j){P=Q;break}else j=j+-1|0}}else if((K|0)==125){cc=T;return O|0}}else{P=m;h=0}while(0);S=(oe(a,32-P|0)|0)==0;S=S?h<<16|L<<4:1;cc=T;return S|0}function rf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=c[a+1192>>2]|0;d=c[a+1200>>2]|0;a:do if(d){d=d+-1|0;if(d>>>0>b>>>0){f=c[a+1212>>2]|0;g=a+16|0;e=0;do{if((c[f+(d*216|0)+4>>2]|0)==(i|0)){e=e+1|0;h=c[(c[g>>2]|0)+52>>2]|0;if(e>>>0>=(h>>>0>10?h:10)>>>0)break a}d=d+-1|0}while(d>>>0>b>>>0)}}else d=b;while(0);b=a+1212|0;h=a+1172|0;g=a+1176|0;f=d;while(1){d=c[b>>2]|0;if((c[d+(f*216|0)+4>>2]|0)!=(i|0)){d=11;break}e=d+(f*216|0)+196|0;d=c[e>>2]|0;if(!d){d=11;break}c[e>>2]=d+-1;f=fe(c[h>>2]|0,c[g>>2]|0,f)|0;if(!f){d=11;break}}if((d|0)==11)return}function sf(a){a=a|0;switch(a|0){case 0:case 1:{a=1;break}case 3:case 2:{a=2;break}default:a=4}return a|0}function tf(a,b){a=a|0;b=b|0;var d=0;if((ce(a,1)|0)==-1){b=1;return b|0}d=b+4|0;c[d>>2]=ce(a,2)|0;a=ce(a,5)|0;c[b>>2]=a;if((a+-2|0)>>>0<3){b=1;return b|0}switch(a|0){case 5:case 7:case 8:{if((a|0)==6|(c[d>>2]|0)==0){b=1;return b|0}break}case 6:case 9:case 10:case 11:case 12:{if(c[d>>2]|0){b=1;return b|0}break}default:{}}b=0;return b|0}function uf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;if(!d)return;k=0-b|0;o=b+-1|0;l=1-b|0;m=~b;i=0;j=0;n=0;while(1){g=(i|0)!=0;f=a+(j*216|0)|0;c[a+(j*216|0)+200>>2]=g?f+-216|0:0;h=(n|0)!=0;if(h){c[a+(j*216|0)+204>>2]=f+(k*216|0);e=i>>>0>>0?f+(l*216|0)|0:0}else{c[a+(j*216|0)+204>>2]=0;e=0}c[a+(j*216|0)+208>>2]=e;c[a+(j*216|0)+212>>2]=h&g?f+(m*216|0)|0:0;e=i+1|0;f=(e|0)==(b|0);j=j+1|0;if((j|0)==(d|0))break;else{i=f?0:e;n=n+(f&1)|0}}return}function vf(a){a=a|0;je(a,0,3388);c[a+8>>2]=32;c[a+4>>2]=256;c[a+1332>>2]=1;return}function wf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=c[b+8>>2]|0;g=a+20+(d<<2)|0;e=c[g>>2]|0;do if(!e){a=me(92,1)|0;c[g>>2]=a;if(!a){a=65535;return a|0}}else{f=a+8|0;if((d|0)!=(c[f>>2]|0)){xf(c[e+40>>2]|0);c[(c[g>>2]|0)+40>>2]=0;xf(c[(c[g>>2]|0)+84>>2]|0);c[(c[g>>2]|0)+84>>2]=0;break}d=a+16|0;if(qe(b,c[d>>2]|0)|0){xf(c[(c[g>>2]|0)+40>>2]|0);c[(c[g>>2]|0)+40>>2]=0;xf(c[(c[g>>2]|0)+84>>2]|0);c[(c[g>>2]|0)+84>>2]=0;c[f>>2]=33;c[a+4>>2]=257;c[d>>2]=0;c[a+12>>2]=0;break}a=b+40|0;xf(c[a>>2]|0);c[a>>2]=0;a=b+84|0;xf(c[a>>2]|0);c[a>>2]=0;a=0;return a|0}while(0);e=c[g>>2]|0;d=e+92|0;do{c[e>>2]=c[b>>2];e=e+4|0;b=b+4|0}while((e|0)<(d|0));a=0;return a|0}function xf(a){a=a|0;Kh(a);return}function yf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=c[b>>2]|0;g=a+148+(d<<2)|0;e=c[g>>2]|0;if(!e){a=me(72,1)|0;c[g>>2]=a;if(!a){a=65535;return a|0}}else{f=a+4|0;if((d|0)==(c[f>>2]|0)){if((c[b+4>>2]|0)!=(c[a+8>>2]|0))c[f>>2]=257;xf(c[e+20>>2]|0);c[(c[g>>2]|0)+20>>2]=0;xf(c[(c[g>>2]|0)+24>>2]|0);c[(c[g>>2]|0)+24>>2]=0;xf(c[(c[g>>2]|0)+28>>2]|0);c[(c[g>>2]|0)+28>>2]=0;xf(c[(c[g>>2]|0)+44>>2]|0)}else{xf(c[e+20>>2]|0);c[(c[g>>2]|0)+20>>2]=0;xf(c[(c[g>>2]|0)+24>>2]|0);c[(c[g>>2]|0)+24>>2]=0;xf(c[(c[g>>2]|0)+28>>2]|0);c[(c[g>>2]|0)+28>>2]=0;xf(c[(c[g>>2]|0)+44>>2]|0)}c[(c[g>>2]|0)+44>>2]=0}e=c[g>>2]|0;d=e+72|0;do{c[e>>2]=c[b>>2];e=e+4|0;b=b+4|0}while((e|0)<(d|0));a=0;return a|0}function zf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=c[a+148+(b<<2)>>2]|0;n=m;if(!m){a=1;return a|0}o=c[m+4>>2]|0;p=a+20+(o<<2)|0;e=c[p>>2]|0;if(!e){a=1;return a|0}k=c[e+52>>2]|0;l=r(c[e+56>>2]|0,k)|0;g=c[m+12>>2]|0;a:do if(g>>>0>1){e=c[m+16>>2]|0;switch(e|0){case 0:{e=c[m+20>>2]|0;f=0;while(1){if((c[e+(f<<2)>>2]|0)>>>0>l>>>0){e=1;break}f=f+1|0;if(f>>>0>=g>>>0)break a}return e|0}case 2:{j=g+-1|0;g=c[m+24>>2]|0;h=c[m+28>>2]|0;i=0;while(1){e=c[g+(i<<2)>>2]|0;f=c[h+(i<<2)>>2]|0;if(!(e>>>0<=f>>>0&f>>>0>>0)){e=1;f=37;break}i=i+1|0;if(((e>>>0)%(k>>>0)|0)>>>0>((f>>>0)%(k>>>0)|0)>>>0){e=1;f=37;break}if(i>>>0>=j>>>0)break a}if((f|0)==37)return e|0;break}default:{if((e+-3|0)>>>0<3){if((c[m+36>>2]|0)>>>0>l>>>0)e=1;else break a;return e|0}if((e|0)!=6)break a;if((c[m+40>>2]|0)>>>0>>0)e=1;else break a;return e|0}}}while(0);f=a+4|0;e=c[f>>2]|0;do if((e|0)!=256){g=a+3380|0;if(!(c[g>>2]|0)){if((e|0)==(b|0))break;e=a+8|0;if((o|0)==(c[e>>2]|0)){c[f>>2]=b;c[a+12>>2]=n;break}if(!d){a=1;return a|0}else{c[f>>2]=b;c[a+12>>2]=m;c[e>>2]=o;q=c[p>>2]|0;c[a+16>>2]=q;b=c[q+52>>2]|0;q=c[q+56>>2]|0;c[a+1176>>2]=r(q,b)|0;c[a+1340>>2]=b;c[a+1344>>2]=q;c[g>>2]=1;break}}c[g>>2]=0;f=a+1212|0;xf(c[f>>2]|0);c[f>>2]=0;e=a+1172|0;xf(c[e>>2]|0);c[e>>2]=0;g=a+1176|0;c[f>>2]=me(216,c[g>>2]|0)|0;b=me(4,c[g>>2]|0)|0;c[e>>2]=b;e=c[f>>2]|0;if((b|0)==0|(e|0)==0){a=65535;return a|0}je(e,0,(c[g>>2]|0)*216|0);b=a+16|0;uf(c[f>>2]|0,c[(c[b>>2]|0)+52>>2]|0,c[g>>2]|0);f=c[b>>2]|0;do if((c[a+1216>>2]|0)==0?(c[f+16>>2]|0)!=2:0){if((c[f+80>>2]|0?(q=c[f+84>>2]|0,c[q+920>>2]|0):0)?(c[q+944>>2]|0)==0:0){e=1;break}e=0}else e=1;while(0);q=r(c[f+56>>2]|0,c[f+52>>2]|0)|0;e=Af(a+1220|0,q,c[f+88>>2]|0,c[f+44>>2]|0,c[f+12>>2]|0,e)|0;if(e|0){a=e;return a|0}}else{c[f>>2]=b;c[a+12>>2]=m;c[a+8>>2]=o;e=c[p>>2]|0;c[a+16>>2]=e;f=c[e+52>>2]|0;do if(f){e=c[e+56>>2]|0;if(e>>>0>(4294967295/(f>>>0)|0)>>>0){a=65535;return a|0}else{c[a+1176>>2]=r(e,f)|0;break}}else{c[a+1176>>2]=0;e=c[e+56>>2]|0}while(0);c[a+1340>>2]=f;c[a+1344>>2]=e;c[a+3380>>2]=1}while(0);a=0;return a|0}function Af(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=c[a>>2]|0;if((h|0)!=0?(j=a+28|0,(c[j>>2]|0)!=-1):0){i=0;do{xf(c[h+(i*40|0)+4>>2]|0);h=c[a>>2]|0;c[h+(i*40|0)+4>>2]=0;i=i+1|0}while(i>>>0<((c[j>>2]|0)+1|0)>>>0)}xf(h);c[a>>2]=0;j=a+4|0;xf(c[j>>2]|0);c[j>>2]=0;j=a+12|0;xf(c[j>>2]|0);c[j>>2]=0;return Bf(a,b,d,e,f,g)|0}function Bf(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;if(b>>>0>11184810){a=65535;return a|0}c[a+36>>2]=65535;e=e>>>0>1?e:1;c[a+24>>2]=e;h=a+28|0;c[h>>2]=(g|0)==0?d:e;c[a+32>>2]=f;c[a+56>>2]=g;c[a+44>>2]=0;c[a+40>>2]=0;c[a+48>>2]=0;e=me(40,17)|0;c[a>>2]=e;if(!e){a=65535;return a|0}je(e,0,680);a:do if((c[h>>2]|0)!=-1){d=b*384|47;g=0;while(1){f=me(1,d)|0;e=c[a>>2]|0;c[e+(g*40|0)+4>>2]=f;if(!f){e=65535;break}c[e+(g*40|0)>>2]=f+(0-f&15);g=g+1|0;if(g>>>0>=((c[h>>2]|0)+1|0)>>>0)break a}return e|0}while(0);e=a+4|0;c[e>>2]=me(4,17)|0;h=me(16,(c[h>>2]|0)+1|0)|0;c[a+12>>2]=h;e=c[e>>2]|0;if((h|0)==0|(e|0)==0){a=65535;return a|0}je(e,0,68);c[a+20>>2]=0;c[a+16>>2]=0;a=0;return a|0}function Cf(a){a=a|0;var b=0,d=0;c[a+1196>>2]=0;c[a+1192>>2]=0;d=c[a+1176>>2]|0;if(!d)return;a=c[a+1212>>2]|0;b=0;do{c[a+(b*216|0)+4>>2]=0;c[a+(b*216|0)+196>>2]=0;b=b+1|0}while(b>>>0>>0);return}function Df(a){a=a|0;return (c[a+1188>>2]|0)==0|0}function Ef(a){a=a|0;var b=0,d=0,e=0;if(!(c[a+1404>>2]|0)){if((c[a+1196>>2]|0)==(c[a+1176>>2]|0)){e=1;return e|0}}else{e=c[a+1176>>2]|0;if(!e){e=1;return e|0}a=c[a+1212>>2]|0;b=0;d=0;do{d=d+((c[a+(b*216|0)+196>>2]|0)!=0&1)|0;b=b+1|0}while(b>>>0>>0);if((d|0)==(e|0)){e=1;return e|0}}e=0;return e|0}function Ff(a,b){a=a|0;b=b|0;var d=0;d=c[a+16>>2]|0;Gf(c[a+1172>>2]|0,c[a+12>>2]|0,b,c[d+52>>2]|0,c[d+56>>2]|0);return} -function Kh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!a)return;d=a+-8|0;f=c[13827]|0;a=c[a+-4>>2]|0;b=a&-8;j=d+b|0;do if(!(a&1)){e=c[d>>2]|0;if(!(a&3))return;h=d+(0-e)|0;g=e+b|0;if(h>>>0>>0)return;if((c[13828]|0)==(h|0)){a=j+4|0;b=c[a>>2]|0;if((b&3|0)!=3){i=h;b=g;break}c[13825]=g;c[a>>2]=b&-2;c[h+4>>2]=g|1;c[h+g>>2]=g;return}d=e>>>3;if(e>>>0<256){a=c[h+8>>2]|0;b=c[h+12>>2]|0;if((b|0)==(a|0)){c[13823]=c[13823]&~(1<>2]=b;c[b+8>>2]=a;i=h;b=g;break}}f=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){b=h+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){a=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0}else{i=c[h+8>>2]|0;c[i+12>>2]=a;c[a+8>>2]=i}while(0);if(f){b=c[h+28>>2]|0;d=55596+(b<<2)|0;if((c[d>>2]|0)==(h|0)){c[d>>2]=a;if(!a){c[13824]=c[13824]&~(1<>2]|0)==(h|0)?i:f+20|0)>>2]=a;if(!a){i=h;b=g;break}}c[a+24>>2]=f;b=h+16|0;d=c[b>>2]|0;if(d|0){c[a+16>>2]=d;c[d+24>>2]=a}b=c[b+4>>2]|0;if(b){c[a+20>>2]=b;c[b+24>>2]=a;i=h;b=g}else{i=h;b=g}}else{i=h;b=g}}else{i=d;h=d}while(0);if(h>>>0>=j>>>0)return;a=j+4|0;e=c[a>>2]|0;if(!(e&1))return;if(!(e&2)){if((c[13829]|0)==(j|0)){j=(c[13826]|0)+b|0;c[13826]=j;c[13829]=i;c[i+4>>2]=j|1;if((i|0)!=(c[13828]|0))return;c[13828]=0;c[13825]=0;return}if((c[13828]|0)==(j|0)){j=(c[13825]|0)+b|0;c[13825]=j;c[13828]=h;c[i+4>>2]=j|1;c[h+j>>2]=j;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){b=c[j+8>>2]|0;a=c[j+12>>2]|0;if((a|0)==(b|0)){c[13823]=c[13823]&~(1<>2]=a;c[a+8>>2]=b;break}}else{g=c[j+24>>2]|0;a=c[j+12>>2]|0;do if((a|0)==(j|0)){b=j+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){d=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0;d=a}else{d=c[j+8>>2]|0;c[d+12>>2]=a;c[a+8>>2]=d;d=a}while(0);if(g|0){a=c[j+28>>2]|0;b=55596+(a<<2)|0;if((c[b>>2]|0)==(j|0)){c[b>>2]=d;if(!d){c[13824]=c[13824]&~(1<>2]|0)==(j|0)?e:g+20|0)>>2]=d;if(!d)break}c[d+24>>2]=g;a=j+16|0;b=c[a>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}a=c[a+4>>2]|0;if(a|0){c[d+20>>2]=a;c[a+24>>2]=d}}}while(0);c[i+4>>2]=f|1;c[h+f>>2]=f;if((i|0)==(c[13828]|0)){c[13825]=f;return}}else{c[a>>2]=e&-2;c[i+4>>2]=b|1;c[h+b>>2]=b;f=b}a=f>>>3;if(f>>>0<256){d=55332+(a<<1<<2)|0;b=c[13823]|0;a=1<>2]|0}c[b>>2]=i;c[a+12>>2]=i;c[i+8>>2]=a;c[i+12>>2]=d;return}a=f>>>8;if(a)if(f>>>0>16777215)e=31;else{h=(a+1048320|0)>>>16&8;j=a<>>16&4;j=j<>>16&2;e=14-(g|h|e)+(j<>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;a=55596+(e<<2)|0;c[i+28>>2]=e;c[i+20>>2]=0;c[i+16>>2]=0;b=c[13824]|0;d=1<>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i}else{a=c[a>>2]|0;b:do if((c[a+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=a+16+(e>>>31<<2)|0;b=c[d>>2]|0;if(!b)break;if((c[b+4>>2]&-8|0)==(f|0)){a=b;break b}else{e=e<<1;a=b}}c[d>>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i;break a}while(0);h=a+8|0;j=c[h>>2]|0;c[j+12>>2]=i;c[h>>2]=i;c[i+8>>2]=j;c[i+12>>2]=a;c[i+24>>2]=0}while(0);j=(c[13831]|0)+-1|0;c[13831]=j;if(j|0)return;a=55748;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[13831]=-1;return}function Lh(a,b){a=a|0;b=b|0;var d=0;if(a){d=r(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;a=Jh(d)|0;if(!a)return a|0;if(!(c[a+-4>>2]&3))return a|0;rj(a|0,0,d|0)|0;return a|0}function Mh(a,b){a=a|0;b=b|0;if(!a){b=22;return b|0}b=Jh(8)|0;c[b>>2]=0;c[b+4>>2]=38177486;c[a>>2]=b;b=0;return b|0}function Nh(a){a=a|0;if((c[a+4>>2]|0)!=38177486){a=0;return a|0}a=c[a>>2]|0;return a|0}function Oh(a,b){a=a|0;b=b|0;if((c[a+4>>2]|0)!=38177486){b=22;return b|0}c[a>>2]=b;b=0;return b|0}function Ph(a,b){a=a|0;b=b|0;if((c[a>>2]|0)==324508639)return 0;kc[b&3]();c[a>>2]=324508639;return 0}function Qh(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=Jh(b)|0;if(a|0)break;a=dj()|0;if(!a){a=0;break}kc[a&3]()}return a|0}function Rh(a){a=a|0;Kh(a);return}function Sh(a,b){a=a|0;b=b|0;var d=0,e=0;e=Ah(b)|0;d=Qh(e+13|0)|0;c[d>>2]=e;c[d+4>>2]=e;c[d+8>>2]=0;d=Th(d)|0;pj(d|0,b|0,e+1|0)|0;c[a>>2]=d;return}function Th(a){a=a|0;return a+12|0}function Uh(a,b){a=a|0;b=b|0;c[a>>2]=41280;Sh(a+4|0,b);return}function Vh(a){a=a|0;return 1}function Wh(a){a=a|0;Ta()}function Xh(a){a=a|0;Ta()}function Yh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);f=g;if(e>>>0>4294967279)Wh(b);if(e>>>0<11)a[b+11>>0]=e;else{i=e+16&-16;h=Qh(i)|0;c[b>>2]=h;c[b+8>>2]=i|-2147483648;c[b+4>>2]=e;b=h}Zh(b,d,e)|0;a[f>>0]=0;_h(b+e|0,f);cc=g;return}function Zh(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)pj(a|0,b|0,c|0)|0;return a|0}function _h(b,c){b=b|0;c=c|0;a[b>>0]=a[c>>0]|0;return}function $h(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)rj(a|0,(ai(c)|0)&255|0,b|0)|0;return a|0}function ai(a){a=a|0;return a&255|0}function bi(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;g=a[d+11>>0]|0;h=g<<24>>24<0;g=h?c[d+4>>2]|0:g&255;if(g>>>0>>0)Xh(b);else{g=g-e|0;Yh(b,(h?c[d>>2]|0:d)+e|0,g>>>0>>0?g:f);return}}function ci(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;o=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);n=o;if((-18-d|0)>>>0>>0)Wh(b);if((a[b+11>>0]|0)<0)m=c[b>>2]|0;else m=b;if(d>>>0<2147483623){k=e+d|0;l=d<<1;k=k>>>0>>0?l:k;k=k>>>0<11?11:k+16&-16}else k=-17;l=Qh(k)|0;if(g|0)Zh(l,m,g)|0;if(i|0)Zh(l+g|0,j,i)|0;e=f-h|0;f=e-g|0;if(f|0)Zh(l+g+i|0,m+g+h|0,f)|0;if((d|0)!=10)Rh(m);c[b>>2]=l;c[b+8>>2]=k|-2147483648;i=e+i|0;c[b+4>>2]=i;a[n>>0]=0;_h(l+i|0,n);cc=o;return}function di(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);g=j;h=b+11|0;f=a[h>>0]|0;i=f<<24>>24<0;if(i)f=c[b+4>>2]|0;else f=f&255;do if(f>>>0>=d>>>0)if(i){i=(c[b>>2]|0)+d|0;a[g>>0]=0;_h(i,g);c[b+4>>2]=d;break}else{a[g>>0]=0;_h(b+d|0,g);a[h>>0]=d;break}else ei(b,d-f|0,e)|0;while(0);cc=j;return}function ei(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);i=k;if(d|0){j=b+11|0;f=a[j>>0]|0;if(f<<24>>24<0){g=(c[b+8>>2]&2147483647)+-1|0;h=c[b+4>>2]|0}else{g=10;h=f&255}if((g-h|0)>>>0>>0){fi(b,g,h+d-g|0,h,h,0,0);f=a[j>>0]|0}if(f<<24>>24<0)g=c[b>>2]|0;else g=b;$h(g+h|0,d,e)|0;f=h+d|0;if((a[j>>0]|0)<0)c[b+4>>2]=f;else a[j>>0]=f;a[i>>0]=0;_h(g+f|0,i)}cc=k;return b|0}function fi(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((-17-d|0)>>>0>>0)Wh(b);if((a[b+11>>0]|0)<0)l=c[b>>2]|0;else l=b;if(d>>>0<2147483623){j=e+d|0;k=d<<1;j=j>>>0>>0?k:j;j=j>>>0<11?11:j+16&-16}else j=-17;k=Qh(j)|0;if(g|0)Zh(k,l,g)|0;e=f-h-g|0;if(e|0)Zh(k+g+i|0,l+g+h|0,e)|0;if((d|0)!=10)Rh(l);c[b>>2]=k;c[b+8>>2]=j|-2147483648;return}function gi(b,d){b=b|0;d=d|0;var e=0,f=0;e=a[b+11>>0]|0;f=e<<24>>24<0;if(f)e=c[b+4>>2]|0;else e=e&255;if(e>>>0<=d>>>0)Xh(b);if(f)b=c[b>>2]|0;return b+d|0}function hi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);i=k;j=b+11|0;f=a[j>>0]|0;h=f<<24>>24<0;if(h){g=(c[b+8>>2]&2147483647)+-1|0;f=c[b+4>>2]|0}else{g=10;f=f&255}if((g-f|0)>>>0>=e>>>0){if(e|0){if(h)g=c[b>>2]|0;else g=b;Zh(g+f|0,d,e)|0;f=f+e|0;if((a[j>>0]|0)<0)c[b+4>>2]=f;else a[j>>0]=f;a[i>>0]=0;_h(g+f|0,i)}}else ci(b,g,f+e-g|0,f,f,0,e,d);cc=k;return b|0}function ii(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0;a=cc;cc=cc+48|0;if((cc|0)>=(dc|0))w(48);h=a+32|0;d=a+24|0;i=a+16|0;g=a;e=a+36|0;a=ji()|0;if(a|0?(f=c[a>>2]|0,f|0):0){a=f+48|0;b=c[a>>2]|0;a=c[a+4>>2]|0;if(!((b&-256|0)==1126902528&(a|0)==1129074247)){c[d>>2]=53534;ki(53484,d)}if((b|0)==1126902529&(a|0)==1129074247)a=c[f+44>>2]|0;else a=f+80|0;c[e>>2]=a;f=c[f>>2]|0;a=c[f+4>>2]|0;if(ic[c[(c[292]|0)+16>>2]&7](1168,f,e)|0){i=c[e>>2]|0;i=fc[c[(c[i>>2]|0)+8>>2]&7](i)|0;c[g>>2]=53534;c[g+4>>2]=a;c[g+8>>2]=i;ki(53398,g)}else{c[i>>2]=53534;c[i+4>>2]=a;ki(53443,i)}}ki(53522,h)}function ji(){var a=0,b=0;a=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);if(!(Ph(55788,3)|0)){b=Nh(c[13948]|0)|0;cc=a;return b|0}else ki(53673,a);return 0}function ki(a,b){a=a|0;b=b|0;var d=0,e=0;d=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);e=d;c[e>>2]=b;d=c[10234]|0;dh(d,a,e)|0;Ih(10,d)|0;Ta()}function li(a){a=a|0;return}function mi(a){a=a|0;li(a);Rh(a);return}function ni(a){a=a|0;return}function oi(a){a=a|0;return}function pi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=cc;cc=cc+64|0;if((cc|0)>=(dc|0))w(64);f=h;if(!(ti(a,b,0)|0))if((b|0)!=0?(g=xi(b,1192,1176,0)|0,(g|0)!=0):0){b=f+4|0;e=b+52|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));c[f>>2]=g;c[f+8>>2]=a;c[f+12>>2]=-1;c[f+48>>2]=1;oc[c[(c[g>>2]|0)+28>>2]&7](g,f,c[d>>2]|0,1);if((c[f+24>>2]|0)==1){c[d>>2]=c[f+16>>2];b=1}else b=0}else b=0;else b=1;cc=h;return b|0}function qi(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(ti(a,c[b+8>>2]|0,g)|0)wi(0,b,d,e,f);return}function ri(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;do if(!(ti(b,c[d+8>>2]|0,g)|0)){if(ti(b,c[d>>2]|0,g)|0){if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;c[h>>2]=e;g=d+40|0;c[g>>2]=(c[g>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1;c[d+44>>2]=4;break}if((f|0)==1)c[d+32>>2]=1}}else vi(0,d,e,f);while(0);return}function si(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(ti(a,c[b+8>>2]|0,0)|0)ui(0,b,d,e);return}function ti(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function ui(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;b=d+16|0;g=c[b>>2]|0;do if(g){if((g|0)!=(e|0)){f=d+36|0;c[f>>2]=(c[f>>2]|0)+1;c[d+24>>2]=2;a[d+54>>0]=1;break}b=d+24|0;if((c[b>>2]|0)==2)c[b>>2]=f}else{c[b>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1}while(0);return}function vi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if((c[b+4>>2]|0)==(d|0)?(f=b+28|0,(c[f>>2]|0)!=1):0)c[f>>2]=e;return}function wi(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a[d+53>>0]=1;do if((c[d+4>>2]|0)==(f|0)){a[d+52>>0]=1;b=d+16|0;f=c[b>>2]|0;if(!f){c[b>>2]=e;c[d+24>>2]=g;c[d+36>>2]=1;if(!((g|0)==1?(c[d+48>>2]|0)==1:0))break;a[d+54>>0]=1;break}if((f|0)!=(e|0)){g=d+36|0;c[g>>2]=(c[g>>2]|0)+1;a[d+54>>0]=1;break}f=d+24|0;b=c[f>>2]|0;if((b|0)==2){c[f>>2]=g;b=g}if((b|0)==1?(c[d+48>>2]|0)==1:0)a[d+54>>0]=1}while(0);return}function xi(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=cc;cc=cc+64|0;if((cc|0)>=(dc|0))w(64);n=p;m=c[d>>2]|0;o=d+(c[m+-8>>2]|0)|0;m=c[m+-4>>2]|0;c[n>>2]=f;c[n+4>>2]=d;c[n+8>>2]=e;c[n+12>>2]=g;d=n+16|0;e=n+20|0;g=n+24|0;h=n+28|0;i=n+32|0;j=n+40|0;k=d;l=k+36|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));b[d+36>>1]=0;a[d+38>>0]=0;a:do if(ti(m,f,0)|0){c[n+48>>2]=1;qc[c[(c[m>>2]|0)+20>>2]&3](m,n,o,o,1,0);d=(c[g>>2]|0)==1?o:0}else{pc[c[(c[m>>2]|0)+24>>2]&7](m,n,o,1,0);switch(c[n+36>>2]|0){case 0:{d=(c[j>>2]|0)==1&(c[h>>2]|0)==1&(c[i>>2]|0)==1?c[e>>2]|0:0;break a}case 1:break;default:{d=0;break a}}if((c[g>>2]|0)!=1?!((c[j>>2]|0)==0&(c[h>>2]|0)==1&(c[i>>2]|0)==1):0){d=0;break}d=c[d>>2]|0}while(0);cc=p;return d|0}function yi(a){a=a|0;li(a);Rh(a);return}function zi(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(ti(a,c[b+8>>2]|0,g)|0)wi(0,b,d,e,f);else{a=c[a+8>>2]|0;qc[c[(c[a>>2]|0)+20>>2]&3](a,b,d,e,f,g)}return}function Ai(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;do if(!(ti(b,c[d+8>>2]|0,g)|0)){if(!(ti(b,c[d>>2]|0,g)|0)){i=c[b+8>>2]|0;pc[c[(c[i>>2]|0)+24>>2]&7](i,d,e,f,g);break}if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;i=d+44|0;if((c[i>>2]|0)==4)break;f=d+52|0;a[f>>0]=0;j=d+53|0;a[j>>0]=0;b=c[b+8>>2]|0;qc[c[(c[b>>2]|0)+20>>2]&3](b,d,e,e,1,g);if(a[j>>0]|0)if(!(a[f>>0]|0)){f=1;b=11}else b=15;else{f=0;b=11}do if((b|0)==11){c[h>>2]=e;j=d+40|0;c[j>>2]=(c[j>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0){a[d+54>>0]=1;if(f){b=15;break}else{f=4;break}}if(f)b=15;else f=4}while(0);if((b|0)==15)f=3;c[i>>2]=f;break}if((f|0)==1)c[d+32>>2]=1}else vi(0,d,e,f);while(0);return}function Bi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(ti(a,c[b+8>>2]|0,0)|0)ui(0,b,d,e);else{a=c[a+8>>2]|0;oc[c[(c[a>>2]|0)+28>>2]&7](a,b,d,e)}return}function Ci(a){a=a|0;return}function Di(){var a=0;a=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);if(!(Mh(55792,27)|0)){cc=a;return}else ki(53722,a)}function Ei(a){a=a|0;var b=0;b=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);Kh(a);if(!(Oh(c[13948]|0,0)|0)){cc=b;return}else ki(53772,b)}function Fi(){var a=0,b=0;a=ji()|0;if((a|0?(b=c[a>>2]|0,b|0):0)?(a=b+48|0,(c[a>>2]&-256|0)==1126902528?(c[a+4>>2]|0)==1129074247:0):0)Gi(c[b+12>>2]|0);Gi(Hi()|0)}function Gi(a){a=a|0;var b=0;b=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);kc[a&3]();ki(53825,b)}function Hi(){var a=0;a=c[10297]|0;c[10297]=a+0;return a|0}function Ii(a){a=a|0;return}function Ji(a){a=a|0;c[a>>2]=41280;Ni(a+4|0);return}function Ki(a){a=a|0;Ji(a);Rh(a);return}function Li(a){a=a|0;return Mi(a+4|0)|0}function Mi(a){a=a|0;return c[a>>2]|0}function Ni(a){a=a|0;var b=0,d=0;if(Vh(a)|0?(b=Oi(c[a>>2]|0)|0,d=b+8|0,a=c[d>>2]|0,c[d>>2]=a+-1,(a+-1|0)<0):0)Rh(b);return}function Oi(a){a=a|0;return a+-12|0}function Pi(a){a=a|0;Ji(a);Rh(a);return}function Qi(a){a=a|0;li(a);Rh(a);return}function Ri(a,b,c){a=a|0;b=b|0;c=c|0;return ti(a,b,0)|0}function Si(a){a=a|0;li(a);Rh(a);return}function Ti(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=cc;cc=cc+64|0;if((cc|0)>=(dc|0))w(64);h=j;c[d>>2]=c[c[d>>2]>>2];if(!(Ui(a,b,0)|0))if(((b|0)!=0?(e=xi(b,1192,1280,0)|0,(e|0)!=0):0)?(c[e+8>>2]&~c[a+8>>2]|0)==0:0){a=a+12|0;b=e+12|0;if(!(ti(c[a>>2]|0,c[b>>2]|0,0)|0)?!(ti(c[a>>2]|0,1312,0)|0):0){a=c[a>>2]|0;if((((a|0)!=0?(g=xi(a,1192,1176,0)|0,(g|0)!=0):0)?(f=c[b>>2]|0,(f|0)!=0):0)?(i=xi(f,1192,1176,0)|0,(i|0)!=0):0){a=h+4|0;b=a+52|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[h>>2]=i;c[h+8>>2]=g;c[h+12>>2]=-1;c[h+48>>2]=1;oc[c[(c[i>>2]|0)+28>>2]&7](i,h,c[d>>2]|0,1);if((c[h+24>>2]|0)==1){c[d>>2]=c[h+16>>2];a=1}else a=0}else a=0}else a=1}else a=0;else a=1;cc=j;return a|0}function Ui(a,b,c){a=a|0;b=b|0;c=c|0;if(ti(a,b,0)|0)a=1;else a=ti(b,1320,0)|0;return a|0}function Vi(a){a=a|0;li(a);Rh(a);return}function Wi(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if(ti(b,c[d+8>>2]|0,h)|0)wi(0,d,e,f,g);else{p=d+52|0;i=a[p>>0]|0;j=d+53|0;k=a[j>>0]|0;o=c[b+12>>2]|0;l=b+16+(o<<3)|0;a[p>>0]=0;a[j>>0]=0;_i(b+16|0,d,e,f,g,h);a:do if((o|0)>1){m=d+24|0;n=b+8|0;o=d+54|0;b=b+24|0;do{if(a[o>>0]|0)break a;if(!(a[p>>0]|0)){if(a[j>>0]|0?(c[n>>2]&1|0)==0:0)break a}else{if((c[m>>2]|0)==1)break a;if(!(c[n>>2]&2))break a}a[p>>0]=0;a[j>>0]=0;_i(b,d,e,f,g,h);b=b+8|0}while(b>>>0>>0)}while(0);a[p>>0]=i;a[j>>0]=k}return}function Xi(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;a:do if(!(ti(b,c[d+8>>2]|0,g)|0)){if(!(ti(b,c[d>>2]|0,g)|0)){q=c[b+12>>2]|0;k=b+16+(q<<3)|0;$i(b+16|0,d,e,f,g);h=b+24|0;if((q|0)<=1)break;b=c[b+8>>2]|0;if((b&2|0)==0?(j=d+36|0,(c[j>>2]|0)!=1):0){if(!(b&1)){b=d+54|0;while(1){if(a[b>>0]|0)break a;if((c[j>>2]|0)==1)break a;$i(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}b=d+24|0;i=d+54|0;while(1){if(a[i>>0]|0)break a;if((c[j>>2]|0)==1?(c[b>>2]|0)==1:0)break a;$i(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}b=d+54|0;while(1){if(a[b>>0]|0)break a;$i(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}if((c[d+16>>2]|0)!=(e|0)?(q=d+20|0,(c[q>>2]|0)!=(e|0)):0){c[d+32>>2]=f;p=d+44|0;if((c[p>>2]|0)==4)break;k=b+16+(c[b+12>>2]<<3)|0;f=d+52|0;l=d+53|0;n=d+54|0;m=b+8|0;o=d+24|0;h=0;i=b+16|0;j=0;b:while(1){if(i>>>0>=k>>>0){b=18;break}a[f>>0]=0;a[l>>0]=0;_i(i,d,e,e,1,g);if(a[n>>0]|0){b=18;break}do if(a[l>>0]|0){if(!(a[f>>0]|0))if(!(c[m>>2]&1)){h=1;b=18;break b}else{h=1;b=j;break}if((c[o>>2]|0)==1){b=23;break b}if(!(c[m>>2]&2)){b=23;break b}else{h=1;b=1}}else b=j;while(0);i=i+8|0;j=b}do if((b|0)==18){if((!j?(c[q>>2]=e,e=d+40|0,c[e>>2]=(c[e>>2]|0)+1,(c[d+36>>2]|0)==1):0)?(c[o>>2]|0)==2:0){a[n>>0]=1;if(h){b=23;break}else{h=4;break}}if(h)b=23;else h=4}while(0);if((b|0)==23)h=3;c[p>>2]=h;break}if((f|0)==1)c[d+32>>2]=1}else vi(0,d,e,f);while(0);return}function Yi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do if(!(ti(b,c[d+8>>2]|0,0)|0)){h=c[b+12>>2]|0;g=b+16+(h<<3)|0;Zi(b+16|0,d,e,f);if((h|0)>1){h=d+54|0;b=b+24|0;do{Zi(b,d,e,f);if(a[h>>0]|0)break a;b=b+8|0}while(b>>>0>>0)}}else ui(0,d,e,f);while(0);return}function Zi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=c[a+4>>2]|0;f=g>>8;if(g&1)f=c[(c[d>>2]|0)+f>>2]|0;a=c[a>>2]|0;oc[c[(c[a>>2]|0)+28>>2]&7](a,b,d+f|0,(g&2|0)==0?2:e);return}function _i(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=c[a+4>>2]|0;h=i>>8;if(i&1)h=c[(c[e>>2]|0)+h>>2]|0;a=c[a>>2]|0;qc[c[(c[a>>2]|0)+20>>2]&3](a,b,d,e+h|0,(i&2|0)==0?2:f,g);return}function $i(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=c[a+4>>2]|0;g=h>>8;if(h&1)g=c[(c[d>>2]|0)+g>>2]|0;a=c[a>>2]|0;pc[c[(c[a>>2]|0)+24>>2]&7](a,b,d+g|0,(h&2|0)==0?2:e,f);return}function aj(b){b=b|0;if((a[b>>0]|0)==1)b=0;else{a[b>>0]=1;b=1}return b|0}function bj(a){a=a|0;return}function cj(a){a=a|0;return}function dj(){var a=0;a=c[13949]|0;c[13949]=a+0;return a|0}function ej(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);e=f;c[e>>2]=c[d>>2];a=ic[c[(c[a>>2]|0)+16>>2]&7](a,b,e)|0;if(a)c[d>>2]=c[e>>2];cc=f;return a&1|0}function fj(a){a=a|0;if(!a)a=0;else a=(xi(a,1192,1280,0)|0)!=0&1;return a|0}function gj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=r(e,f)|0;d=a>>>16;a=(c>>>16)+(r(e,d)|0)|0;e=b>>>16;b=r(e,f)|0;return (u((a>>>16)+(r(e,d)|0)+(((a&65535)+b|0)>>>16)|0),a+b<<16|c&65535|0)|0}function hj(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=gj(e,f)|0;a=v()|0;return (u((r(b,f)|0)+(r(d,e)|0)+a|a&0|0),c|0|0)|0}function ij(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (u(b+d+(c>>>0>>0|0)>>>0|0),c|0)|0}function jj(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 (u(d|0),a-c>>>0|0)|0}function kj(a){a=a|0;return (a?31-(s(a^a-1)|0)|0:32)|0}function lj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (u(n|0),f)|0}else{if(!g){n=0;f=0;return (u(n|0),f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (u(n|0),f)|0}}g=(i|0)==0;do if(h){if(!g){g=(s(i|0)|0)-(s(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (u(n|0),f)|0}g=h-1|0;if(g&h|0){i=(s(h|0)|0)+33-(s(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (u(o|0),p)|0}else{p=kj(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (u(o|0),p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (u(o|0),p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (u(o|0),p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((kj(i|0)|0)>>>0);return (u(o|0),p)|0}g=(s(i|0)|0)-(s(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (u(o|0),p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=ij(m|0,l|0,-1,-1)|0;d=v()|0;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;jj(k|0,d|0,e|0,n|0)|0;p=v()|0;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=jj(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=v()|0;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (u(o|0),p)|0}function mj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return lj(a,b,c,d,0)|0}function nj(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){u(b>>>c|0);return a>>>c|(b&(1<>>c-32|0}function oj(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){u(b<>>32-c|0);return a<=8192){_a(b|0,d|0,e|0)|0;return b|0}h=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return h|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}e=g&-4|0;f=e-64|0;while((b|0)<=(f|0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(e|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{e=g-4|0;while((b|0)<(e|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return h|0}function qj(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else pj(b,c,d)|0;return b|0}function rj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=b+e|0;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}f=h&-4|0;i=d|d<<8|d<<16|d<<24;g=f-64|0;while((b|0)<=(g|0)){c[b>>2]=i;c[b+4>>2]=i;c[b+8>>2]=i;c[b+12>>2]=i;c[b+16>>2]=i;c[b+20>>2]=i;c[b+24>>2]=i;c[b+28>>2]=i;c[b+32>>2]=i;c[b+36>>2]=i;c[b+40>>2]=i;c[b+44>>2]=i;c[b+48>>2]=i;c[b+52>>2]=i;c[b+56>>2]=i;c[b+60>>2]=i;b=b+64|0}while((b|0)<(f|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}return h-e|0}function sj(a){a=a|0;var b=0,d=0,e=0;e=Xa()|0;d=c[i>>2]|0;b=d+a|0;if((a|0)>0&(b|0)<(d|0)|(b|0)<0){cb(b|0)|0;ea(12);return -1}if((b|0)>(e|0))if(!($a(b|0)|0)){ea(12);return -1}c[i>>2]=b;return d|0}function tj(a,b){a=a|0;b=b|0;return fc[a&7](b|0)|0}function uj(a,b,c,d,e,f,g){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;return gc[a&1](b|0,+c,d|0,e|0,f|0,g|0)|0}function vj(a,b,c){a=a|0;b=b|0;c=c|0;return hc[a&3](b|0,c|0)|0}function wj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ic[a&7](b|0,c|0,d|0)|0}function xj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return jc[a&1](b|0,c|0,d|0,e|0)|0}function yj(a){a=a|0;kc[a&3]()}function zj(a,b){a=a|0;b=b|0;lc[a&31](b|0)}function Aj(a,b,c){a=a|0;b=b|0;c=c|0;mc[a&31](b|0,c|0)}function Bj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;nc[a&7](b|0,c|0,d|0)}function Cj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oc[a&7](b|0,c|0,d|0,e|0)}function Dj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pc[a&7](b|0,c|0,d|0,e|0,f|0)}function Ej(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;qc[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function Fj(a){a=a|0;x(0);return 0}function Gj(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=d|0;e=e|0;f=f|0;y(1);return 0}function Hj(a,b){a=a|0;b=b|0;z(2);return 0}function Ij(a,b,c){a=a|0;b=b|0;c=c|0;A(3);return 0}function Jj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;B(4);return 0}function Kj(){C(5)}function Lj(){$()}function Mj(a){a=a|0;D(6)}function Nj(a,b){a=a|0;b=b|0;E(7)}function Oj(a,b,c){a=a|0;b=b|0;c=c|0;F(8)}function Pj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;G(9)}function Qj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;H(10)}function Rj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;I(11)} +function Fg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;if(!d)return;w=a+4096|0;j=(e|0)==0;i=0;o=a+1472|0;p=a+1504|0;while(1){if(!j){s=a+4108+(i*4608|0)|0;v=c[w>>2]|0;x=0;while(1){A=v&1;k=a+(i<<11)+(A<<9)|0;Gg(b+48+(i*4608|0)+(x<<7)|0,v>>>1,k,a+(i<<11)+1024+(A<<9)|0);g=v&-2;q=v+15&14|1;h=A^1;m=5336+(q<<2)|0;B=5336+(g<<2)|0;H=r(c[B>>2]|0,c[k>>2]|0)|0;u=r(c[m>>2]|0,c[a+(i<<11)+(h<<9)>>2]|0)|0;y=r(c[m+56>>2]|0,c[a+(i<<11)+(h<<9)+4>>2]|0)|0;t=r(c[m+48>>2]|0,c[a+(i<<11)+(h<<9)+8>>2]|0)|0;l=r(c[m+40>>2]|0,c[a+(i<<11)+(h<<9)+12>>2]|0)|0;f=r(c[m+32>>2]|0,c[a+(i<<11)+(h<<9)+16>>2]|0)|0;z=r(c[m+24>>2]|0,c[a+(i<<11)+(h<<9)+20>>2]|0)|0;n=r(c[m+16>>2]|0,c[a+(i<<11)+(h<<9)+24>>2]|0)|0;m=r(c[m+8>>2]|0,c[a+(i<<11)+(h<<9)+28>>2]|0)|0;I=r(c[B+56>>2]|0,c[a+(i<<11)+(A<<9)+4>>2]|0)|0;G=r(c[B+48>>2]|0,c[a+(i<<11)+(A<<9)+8>>2]|0)|0;F=r(c[B+40>>2]|0,c[a+(i<<11)+(A<<9)+12>>2]|0)|0;E=r(c[B+32>>2]|0,c[a+(i<<11)+(A<<9)+16>>2]|0)|0;D=r(c[B+24>>2]|0,c[a+(i<<11)+(A<<9)+20>>2]|0)|0;C=r(c[B+16>>2]|0,c[a+(i<<11)+(A<<9)+24>>2]|0)|0;c[s>>2]=I+H+G+F+E+D+C+(r(c[B+8>>2]|0,c[a+(i<<11)+(A<<9)+28>>2]|0)|0)-(y+u+t+l+f+z+n+m)>>2;m=0-g|0;n=0-q|0;z=p+(h<<9)|0;f=5336;l=a+(i<<11)+1024+(h<<9)|0;t=s;u=s+124|0;y=1;while(1){t=t+4|0;I=f+128+(q<<2)|0;H=l+4|0;G=l+8|0;F=l+12|0;E=l+16|0;D=l+20|0;C=l+24|0;B=l+28|0;W=f+128+(g<<2)|0;A=k+60|0;aa=r(c[W+8>>2]|0,c[A>>2]|0)|0;U=r(c[I>>2]|0,c[l>>2]|0)|0;V=r(c[I+56>>2]|0,c[H>>2]|0)|0;T=r(c[I+48>>2]|0,c[G>>2]|0)|0;S=r(c[I+40>>2]|0,c[F>>2]|0)|0;R=r(c[I+32>>2]|0,c[E>>2]|0)|0;Q=r(c[I+24>>2]|0,c[D>>2]|0)|0;O=r(c[I+16>>2]|0,c[C>>2]|0)|0;I=r(c[I+8>>2]|0,c[B>>2]|0)|0;J=k+56|0;ba=r(c[W+16>>2]|0,c[J>>2]|0)|0;K=k+52|0;$=r(c[W+24>>2]|0,c[K>>2]|0)|0;L=k+48|0;_=r(c[W+32>>2]|0,c[L>>2]|0)|0;M=k+44|0;Z=r(c[W+40>>2]|0,c[M>>2]|0)|0;N=k+40|0;Y=r(c[W+48>>2]|0,c[N>>2]|0)|0;P=k+36|0;k=k+32|0;X=r(c[W+56>>2]|0,c[P>>2]|0)|0;c[t>>2]=ba+aa+$+_+Z+Y+X+(r(c[W>>2]|0,c[k>>2]|0)|0)-(V+U+T+S+R+Q+O+I)>>2;I=f+128+(m<<2)|0;O=r(c[I+60>>2]|0,c[k>>2]|0)|0;O=(r(c[I+68>>2]|0,c[P>>2]|0)|0)+O|0;N=O+(r(c[I+76>>2]|0,c[N>>2]|0)|0)|0;M=N+(r(c[I+84>>2]|0,c[M>>2]|0)|0)|0;L=M+(r(c[I+92>>2]|0,c[L>>2]|0)|0)|0;K=L+(r(c[I+100>>2]|0,c[K>>2]|0)|0)|0;J=K+(r(c[I+108>>2]|0,c[J>>2]|0)|0)|0;A=J+(r(c[I+116>>2]|0,c[A>>2]|0)|0)|0;I=f+128+(n<<2)|0;B=A+(r(c[I+116>>2]|0,c[B>>2]|0)|0)|0;C=B+(r(c[I+108>>2]|0,c[C>>2]|0)|0)|0;D=C+(r(c[I+100>>2]|0,c[D>>2]|0)|0)|0;E=D+(r(c[I+92>>2]|0,c[E>>2]|0)|0)|0;F=E+(r(c[I+84>>2]|0,c[F>>2]|0)|0)|0;G=F+(r(c[I+76>>2]|0,c[G>>2]|0)|0)|0;H=G+(r(c[I+68>>2]|0,c[H>>2]|0)|0)|0;c[u>>2]=H+(r(c[I+60>>2]|0,c[l>>2]|0)|0)>>2;y=y+1|0;if((y|0)==16)break;else{f=f+128|0;l=l+32|0;u=u+-4|0}}ba=7384+(q<<2)|0;aa=r(c[ba>>2]|0,c[z>>2]|0)|0;aa=aa+(r(c[ba+56>>2]|0,c[o+(h<<9)+36>>2]|0)|0)|0;aa=aa+(r(c[ba+48>>2]|0,c[o+(h<<9)+40>>2]|0)|0)|0;aa=aa+(r(c[ba+40>>2]|0,c[o+(h<<9)+44>>2]|0)|0)|0;aa=aa+(r(c[ba+32>>2]|0,c[o+(h<<9)+48>>2]|0)|0)|0;aa=aa+(r(c[ba+24>>2]|0,c[o+(h<<9)+52>>2]|0)|0)|0;aa=aa+(r(c[ba+16>>2]|0,c[o+(h<<9)+56>>2]|0)|0)|0;c[s+64>>2]=0-(aa+(r(c[ba+8>>2]|0,c[o+(h<<9)+60>>2]|0)|0))>>2;x=x+1|0;if((x|0)==(e|0))break;else{s=s+128|0;v=v+1&15}}}i=i+1|0;if((i|0)==(d|0))break;else{o=o+2048|0;p=p+2048|0}}return}function Gg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;s=c[a>>2]|0;aa=c[a+124>>2]|0;Q=aa+s|0;aa=(s+2048-aa>>12)*4091|0;s=c[a+60>>2]|0;p=c[a+64>>2]|0;I=p+s|0;p=(s+2048-p>>12)*201|0;s=p+aa|0;p=(aa+2048-p>>12)*4076|0;aa=I+Q|0;I=(Q+2048-I>>12)*4076|0;Q=c[a+28>>2]|0;X=c[a+96>>2]|0;q=X+Q|0;X=(Q+2048-X>>12)*3035|0;Q=c[a+32>>2]|0;A=c[a+92>>2]|0;N=A+Q|0;A=(Q+2048-A>>12)*2751|0;Q=A+X|0;A=(X+2048-A>>12)*401|0;X=N+q|0;N=(q+2048-N>>12)*401|0;q=c[a+12>>2]|0;ba=c[a+112>>2]|0;m=ba+q|0;ba=(q+2048-ba>>12)*3857|0;q=c[a+48>>2]|0;n=c[a+76>>2]|0;G=n+q|0;n=(q+2048-n>>12)*1380|0;q=n+ba|0;n=(ba+2048-n>>12)*3166|0;ba=G+m|0;G=(m+2048-G>>12)*3166|0;m=c[a+16>>2]|0;T=c[a+108>>2]|0;r=T+m|0;T=(m+2048-T>>12)*3703|0;m=c[a+44>>2]|0;i=c[a+80>>2]|0;F=i+m|0;i=(m+2048-i>>12)*1751|0;m=i+T|0;i=(T+2048-i>>12)*2598|0;T=F+r|0;F=(r+2048-F>>12)*2598|0;r=c[a+4>>2]|0;$=c[a+120>>2]|0;k=$+r|0;$=(r+2048-$>>12)*4052|0;r=c[a+56>>2]|0;o=c[a+68>>2]|0;H=o+r|0;o=(r+2048-o>>12)*601|0;r=o+$|0;o=($+2048-o>>12)*3920|0;$=H+k|0;H=(k+2048-H>>12)*3920|0;k=c[a+24>>2]|0;R=c[a+100>>2]|0;Z=R+k|0;R=(k+2048-R>>12)*3290|0;k=c[a+36>>2]|0;g=c[a+88>>2]|0;D=g+k|0;g=(k+2048-g>>12)*2440|0;k=g+R|0;g=(R+2048-g>>12)*1189|0;R=D+Z|0;D=(Z+2048-D>>12)*1189|0;Z=c[a+8>>2]|0;_=c[a+116>>2]|0;l=_+Z|0;_=(Z+2048-_>>12)*3973|0;Z=c[a+52>>2]|0;x=c[a+72>>2]|0;Y=x+Z|0;x=(Z+2048-x>>12)*995|0;Z=x+_|0;x=(_+2048-x>>12)*3612|0;_=Y+l|0;Y=(l+2048-Y>>12)*3612|0;l=c[a+20>>2]|0;S=c[a+104>>2]|0;ca=S+l|0;S=(l+2048-S>>12)*3513|0;l=c[a+40>>2]|0;h=c[a+84>>2]|0;E=h+l|0;h=(l+2048-h>>12)*2106|0;l=h+S|0;h=(S+2048-h>>12)*1931|0;S=E+ca|0;E=(ca+2048-E>>12)*1931|0;ca=X+aa|0;X=(aa+2048-X>>12)*4017|0;aa=T+ba|0;T=(ba+2048-T>>12)*799|0;ba=R+$|0;R=($+2048-R>>12)*3406|0;$=S+_|0;S=(_+2048-S>>12)*2276|0;_=Q+s|0;Q=(s+2048-Q>>12)*4017|0;s=m+q|0;m=(q+2048-m>>12)*799|0;q=k+r|0;k=(r+2048-k>>12)*3406|0;r=l+Z|0;l=(Z+2048-l>>12)*2276|0;Z=N+I|0;N=(I+2048-N>>12)*4017|0;I=F+G|0;F=(G+2048-F>>12)*799|0;G=D+H|0;D=(H+2048-D>>12)*3406|0;H=E+Y|0;E=(Y+2048-E>>12)*2276|0;Y=A+p|0;A=(p+2048-A>>12)*4017|0;p=i+n|0;i=(n+2048-i>>12)*799|0;n=g+o|0;g=(o+2048-g>>12)*3406|0;o=h+x|0;h=(x+2048-h>>12)*2276|0;x=$+ba|0;w=aa+ca+2048|0;c[e+480+(b<<2)>>2]=w+x>>12;c[d+(b<<2)>>2]=((w-x>>12)*2896|0)+2048>>12;x=s+_|0;w=r+q|0;a=w+x|0;c[e+448+(b<<2)>>2]=a+2048>>12;M=I+Z|0;L=H+G|0;B=L+M|0;c[e+416+(b<<2)>>2]=B+2048>>12;z=p+Y|0;t=o+n|0;y=t+z|0;a=(y<<1)-a|0;c[e+384+(b<<2)>>2]=a+2048>>12;W=T+X|0;V=S+R|0;U=V+W|0;c[e+352+(b<<2)>>2]=U+2048>>12;P=m+Q|0;O=l+k|0;j=O+P|0;a=(j<<1)-a|0;c[e+320+(b<<2)>>2]=a+2048>>12;K=F+N|0;J=E+D|0;C=J+K|0;B=(C<<1)-B|0;c[e+288+(b<<2)>>2]=B+2048>>12;v=i+A|0;u=h+g|0;f=u+v|0;y=(f<<1)-y|0;a=(y<<1)-a|0;c[e+256+(b<<2)>>2]=a+2048>>12;aa=(ca+2048-aa>>12)*3784|0;$=(ba+2048-$>>12)*1567|0;ba=$+aa|0;c[e+224+(b<<2)>>2]=ba+2048>>12;c[d+256+(b<<2)>>2]=2048-ba+((aa+2048-$>>12)*5792|0)>>12;s=(_+2048-s>>12)*3784|0;r=(q+2048-r>>12)*1567|0;q=r+s|0;a=(q<<1)-a|0;c[e+192+(b<<2)>>2]=a+2048>>12;I=(Z+2048-I>>12)*3784|0;H=(G+2048-H>>12)*1567|0;G=H+I|0;B=(G<<1)-B|0;c[e+160+(b<<2)>>2]=B+2048>>12;p=(Y+2048-p>>12)*3784|0;o=(n+2048-o>>12)*1567|0;n=o+p|0;y=(n<<1)-y|0;a=(y<<1)-a|0;c[e+128+(b<<2)>>2]=a+2048>>12;T=(X+2048-T>>12)*3784|0;S=(R+2048-S>>12)*1567|0;R=S+T|0;U=(R<<1)-U|0;c[e+96+(b<<2)>>2]=U+2048>>12;U=((W+2048-V>>12)*5792|0)-U|0;c[d+128+(b<<2)>>2]=U+2048>>12;c[d+384+(b<<2)>>2]=2048-U+(((T+2048-S>>12)*5792|0)-R<<1)>>12;m=(Q+2048-m>>12)*3784|0;l=(k+2048-l>>12)*1567|0;k=l+m|0;j=(k<<1)-j|0;a=(j<<1)-a|0;c[e+64+(b<<2)>>2]=a+2048>>12;j=((P+2048-O>>12)*5792|0)-j|0;F=(N+2048-F>>12)*3784|0;E=(D+2048-E>>12)*1567|0;D=E+F|0;C=(D<<1)-C|0;B=(C<<1)-B|0;c[e+32+(b<<2)>>2]=B+2048>>12;B=((M+2048-L>>12)*5792|0)-B|0;c[d+64+(b<<2)>>2]=B+2048>>12;C=((K+2048-J>>12)*5792|0)-C|0;B=(C<<1)-B|0;c[d+192+(b<<2)>>2]=B+2048>>12;B=(((I+2048-H>>12)*5792|0)-G<<1)-B|0;c[d+320+(b<<2)>>2]=B+2048>>12;c[d+448+(b<<2)>>2]=((((F+2048-E>>12)*5792|0)-D<<1)-C<<1)+2048-B>>12;i=(A+2048-i>>12)*3784|0;h=(g+2048-h>>12)*1567|0;g=h+i|0;f=(g<<1)-f|0;y=(f<<1)-y|0;t=((z+2048-t>>12)*5792|0)-y|0;a=(y<<1)-a|0;c[e+(b<<2)>>2]=a+2048>>12;a=((x+2048-w>>12)*5792|0)-a|0;c[d+32+(b<<2)>>2]=a+2048>>12;a=(t<<1)-a|0;c[d+96+(b<<2)>>2]=a+2048>>12;a=(j<<1)-a|0;c[d+160+(b<<2)>>2]=a+2048>>12;f=((v+2048-u>>12)*5792|0)-f|0;e=(f<<1)-t|0;a=(e<<1)-a|0;c[d+224+(b<<2)>>2]=a+2048>>12;a=(((s+2048-r>>12)*5792|0)-q<<1)-a|0;c[d+288+(b<<2)>>2]=a+2048>>12;e=(((p+2048-o>>12)*5792|0)-n<<1)-e|0;a=(e<<1)-a|0;c[d+352+(b<<2)>>2]=a+2048>>12;a=((((m+2048-l>>12)*5792|0)-k<<1)-j<<1)-a|0;c[d+416+(b<<2)>>2]=a+2048>>12;c[d+480+(b<<2)>>2]=(((((i+2048-h>>12)*5792|0)-g<<1)-f<<1)-e<<1)+2048-a>>12;return}function Hg(f,g,h,i,j,k){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;c[j>>2]=0;l=(h|0)!=0;t=(g|0)==1;c[k>>2]=l?(t?1:2):t?5:3;c[i>>2]=xg(f,l?8:9)|0;c[i+4>>2]=xg(f,c[k>>2]|0)|0;if(!l)if(!g)t=2;else{h=0;do{a[i+8+h>>0]=xg(f,4)|0;h=h+1|0}while((h|0)!=(g|0));t=2}else t=1;q=(g|0)==0;s=l?9:4;r=l?2:3;p=l^1;o=0;h=0;do{if(!q){n=0;do{l=i+10+(o*116|0)+(n*58|0)|0;b[l>>1]=xg(f,12)|0;m=i+10+(o*116|0)+(n*58|0)+2|0;b[m>>1]=xg(f,9)|0;b[i+10+(o*116|0)+(n*58|0)+4>>1]=xg(f,8)|0;b[i+10+(o*116|0)+(n*58|0)+6>>1]=xg(f,s)|0;c[j>>2]=(c[j>>2]|0)+(e[l>>1]|0);h=(h|0)==0&(e[m>>1]|0)>288?562:h;m=i+10+(o*116|0)+(n*58|0)+8|0;a[m>>0]=0;if(!(xg(f,1)|0)){a[i+10+(o*116|0)+(n*58|0)+9>>0]=0;a[i+10+(o*116|0)+(n*58|0)+10>>0]=xg(f,5)|0;a[i+10+(o*116|0)+(n*58|0)+11>>0]=xg(f,5)|0;a[i+10+(o*116|0)+(n*58|0)+12>>0]=xg(f,5)|0;a[i+10+(o*116|0)+(n*58|0)+16>>0]=xg(f,4)|0;a[i+10+(o*116|0)+(n*58|0)+17>>0]=xg(f,3)|0}else{u=xg(f,2)|0;k=u&255;l=i+10+(o*116|0)+(n*58|0)+9|0;a[l>>0]=k;h=(u&255|h|0)==0?563:h;if(k<<24>>24==2&p)h=((h|0)==0?(a[i+8+n>>0]|0)!=0:0)?564:h;k=i+10+(o*116|0)+(n*58|0)+16|0;a[k>>0]=7;a[i+10+(o*116|0)+(n*58|0)+17>>0]=36;if(!(xg(f,1)|0)){if((a[l>>0]|0)==2)a[k>>0]=8}else a[m>>0]=a[m>>0]|8;a[i+10+(o*116|0)+(n*58|0)+10>>0]=xg(f,5)|0;a[i+10+(o*116|0)+(n*58|0)+11>>0]=xg(f,5)|0;a[i+10+(o*116|0)+(n*58|0)+12>>0]=4;a[i+10+(o*116|0)+(n*58|0)+13>>0]=xg(f,3)|0;a[i+10+(o*116|0)+(n*58|0)+14>>0]=xg(f,3)|0;a[i+10+(o*116|0)+(n*58|0)+15>>0]=xg(f,3)|0}u=xg(f,r)|0;a[m>>0]=u|d[m>>0];n=n+1|0}while((n|0)!=(g|0))}o=o+1|0}while(o>>>0>>0);return h|0}function Ig(f,h,i,j){f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0;Bb=cc;cc=cc+7296|0;if((cc|0)>=(dc|0))w(7296);yb=Bb+2448|0;xb=Bb+2432|0;wb=Bb+2416|0;ub=Bb+2400|0;tb=Bb+2384|0;sb=Bb+2368|0;zb=Bb+2352|0;vb=Bb+2336|0;rb=Bb+2320|0;qb=Bb+16|0;pb=Bb;ib=Bb+7224|0;ob=Bb+7216|0;Ab=Bb+2608|0;mb=Bb+2464|0;kb=h+28|0;gb=c[kb>>2]|0;lb=(gb&16384|0)==0;k=c[h+20>>2]<<((lb^1)&1);k=(k>>>15&1)+(lb?-8:-5)+(k>>>7&15)|0;gb=2-(gb>>>12&1)|0;if(!gb){Ab=0;cc=Bb;return Ab|0}jb=(j|0)==0;hb=7512+(k*12|0)|0;lb=7512+(k*12|0)+8|0;eb=7512+(k*12|0)+4|0;Ga=i+184|0;cb=h+8|0;Ha=qb+4|0;Sa=qb+8|0;Va=qb+12|0;Wa=qb+16|0;Xa=qb+20|0;Ya=qb+24|0;Za=qb+28|0;_a=qb+32|0;$a=qb+36|0;Ia=qb+40|0;Ja=qb+44|0;Ka=qb+48|0;La=qb+52|0;Ma=qb+56|0;Na=qb+60|0;Oa=qb+64|0;Pa=qb+68|0;Qa=qb+72|0;Ra=qb+76|0;Ta=qb+80|0;Ua=qb+84|0;R=c[10234]|0;bb=h+4|0;T=ib+4|0;U=ib+8|0;db=h+9264|0;V=qb+2|0;fa=qb+4|0;qa=qb+6|0;Aa=qb+8|0;Ba=qb+10|0;Ca=qb+12|0;Da=qb+14|0;Ea=qb+16|0;Fa=qb+18|0;X=qb+20|0;Y=qb+22|0;Z=qb+24|0;_=qb+26|0;$=qb+28|0;aa=qb+30|0;ba=qb+32|0;ca=qb+34|0;da=qb+36|0;ea=qb+38|0;ga=qb+40|0;ha=qb+42|0;ia=qb+44|0;ja=qb+46|0;ka=qb+48|0;la=qb+50|0;ma=qb+52|0;na=qb+54|0;oa=qb+56|0;pa=qb+58|0;ra=qb+60|0;sa=qb+62|0;ta=qb+64|0;ua=qb+66|0;va=qb+68|0;wa=qb+70|0;xa=qb+72|0;ya=qb+74|0;za=qb+76|0;S=Ab+2304|0;ab=0;a:while(1){P=i+10+(ab*116|0)|0;if(!jb){M=c[hb>>2]|0;O=(ab|0)==0;N=0;do{z=i+10+(ab*116|0)+(N*58|0)|0;k=ob+(N<<2)|0;c[k>>2]=M;A=i+10+(ab*116|0)+(N*58|0)+9|0;n=(a[A>>0]|0)==2;if(n){L=c[((a[i+10+(ab*116|0)+(N*58|0)+8>>0]&8)==0?eb:lb)>>2]|0;c[k>>2]=L;k=L}else k=M;if(!(c[kb>>2]&4096)){if(O)m=0;else m=d[i+8+N>>0]|0;L=f;o=c[L+4>>2]|0;p=qb;c[p>>2]=c[L>>2];c[p+4>>2]=o;p=e[i+10+(ab*116|0)+(N*58|0)+6>>1]|0;o=d[51187+(p<<1)>>0]|0;p=d[51187+(p<<1)+1>>0]|0;if(n){l=18-((d[i+10+(ab*116|0)+(N*58|0)+8>>0]|0)>>>3&1)|0;m=l;n=0;while(1){m=m+-1|0;a[i+10+(ab*116|0)+(N*58|0)+18+n>>0]=xg(f,o)|0;if(!m)break;else n=n+1|0}a[i+10+(ab*116|0)+(N*58|0)+18+l>>0]=xg(f,p)|0;a[l+1+(i+10+(ab*116|0)+(N*58|0)+18)>>0]=xg(f,p)|0;a[l+2+(i+10+(ab*116|0)+(N*58|0)+18)>>0]=xg(f,p)|0;K=l|4;a[l+3+(i+10+(ab*116|0)+(N*58|0)+18)>>0]=xg(f,p)|0;a[i+10+(ab*116|0)+(N*58|0)+18+K>>0]=xg(f,p)|0;a[K+1+(i+10+(ab*116|0)+(N*58|0)+18)>>0]=xg(f,p)|0;a[K+2+(i+10+(ab*116|0)+(N*58|0)+18)>>0]=xg(f,p)|0;a[K+3+(i+10+(ab*116|0)+(N*58|0)+18)>>0]=xg(f,p)|0;a[K+4+(i+10+(ab*116|0)+(N*58|0)+18)>>0]=xg(f,p)|0;a[K+5+(i+10+(ab*116|0)+(N*58|0)+18)>>0]=xg(f,p)|0;a[K+6+(i+10+(ab*116|0)+(N*58|0)+18)>>0]=xg(f,p)|0;L=l|12;a[K+7+(i+10+(ab*116|0)+(N*58|0)+18)>>0]=xg(f,p)|0;a[i+10+(ab*116|0)+(N*58|0)+18+L>>0]=xg(f,p)|0;a[L+1+(i+10+(ab*116|0)+(N*58|0)+18)>>0]=xg(f,p)|0;a[L+2+(i+10+(ab*116|0)+(N*58|0)+18)>>0]=xg(f,p)|0;a[L+3+(i+10+(ab*116|0)+(N*58|0)+18)>>0]=xg(f,p)|0;a[L+4+(i+10+(ab*116|0)+(N*58|0)+18)>>0]=xg(f,p)|0;a[L+5+(i+10+(ab*116|0)+(N*58|0)+18)>>0]=xg(f,p)|0;L=z+(l|36)|0;a[L>>0]=0;a[L+1>>0]=0;a[L+2>>0]=0}else{if(!(m&8)){a[i+10+(ab*116|0)+(N*58|0)+18>>0]=xg(f,o)|0;a[i+10+(ab*116|0)+(N*58|0)+19>>0]=xg(f,o)|0;a[i+10+(ab*116|0)+(N*58|0)+20>>0]=xg(f,o)|0;a[i+10+(ab*116|0)+(N*58|0)+21>>0]=xg(f,o)|0;a[i+10+(ab*116|0)+(N*58|0)+22>>0]=xg(f,o)|0;l=(xg(f,o)|0)&255}else{a[i+10+(ab*116|0)+(N*58|0)+18>>0]=a[i+10+(N*58|0)+18>>0]|0;a[i+10+(ab*116|0)+(N*58|0)+19>>0]=a[i+10+(N*58|0)+19>>0]|0;a[i+10+(ab*116|0)+(N*58|0)+20>>0]=a[i+10+(N*58|0)+20>>0]|0;a[i+10+(ab*116|0)+(N*58|0)+21>>0]=a[i+10+(N*58|0)+21>>0]|0;a[i+10+(ab*116|0)+(N*58|0)+22>>0]=a[i+10+(N*58|0)+22>>0]|0;l=a[i+10+(N*58|0)+23>>0]|0}a[i+10+(ab*116|0)+(N*58|0)+23>>0]=l;if(!(m&4)){a[i+10+(ab*116|0)+(N*58|0)+24>>0]=xg(f,o)|0;a[i+10+(ab*116|0)+(N*58|0)+25>>0]=xg(f,o)|0;a[i+10+(ab*116|0)+(N*58|0)+26>>0]=xg(f,o)|0;a[i+10+(ab*116|0)+(N*58|0)+27>>0]=xg(f,o)|0;l=(xg(f,o)|0)&255}else{a[i+10+(ab*116|0)+(N*58|0)+24>>0]=a[i+10+(N*58|0)+24>>0]|0;a[i+10+(ab*116|0)+(N*58|0)+25>>0]=a[i+10+(N*58|0)+25>>0]|0;a[i+10+(ab*116|0)+(N*58|0)+26>>0]=a[i+10+(N*58|0)+26>>0]|0;a[i+10+(ab*116|0)+(N*58|0)+27>>0]=a[i+10+(N*58|0)+27>>0]|0;l=a[i+10+(N*58|0)+28>>0]|0}a[i+10+(ab*116|0)+(N*58|0)+28>>0]=l;if(!(m&2)){a[i+10+(ab*116|0)+(N*58|0)+29>>0]=xg(f,p)|0;a[i+10+(ab*116|0)+(N*58|0)+30>>0]=xg(f,p)|0;a[i+10+(ab*116|0)+(N*58|0)+31>>0]=xg(f,p)|0;a[i+10+(ab*116|0)+(N*58|0)+32>>0]=xg(f,p)|0;l=(xg(f,p)|0)&255}else{a[i+10+(ab*116|0)+(N*58|0)+29>>0]=a[i+10+(N*58|0)+29>>0]|0;a[i+10+(ab*116|0)+(N*58|0)+30>>0]=a[i+10+(N*58|0)+30>>0]|0;a[i+10+(ab*116|0)+(N*58|0)+31>>0]=a[i+10+(N*58|0)+31>>0]|0;a[i+10+(ab*116|0)+(N*58|0)+32>>0]=a[i+10+(N*58|0)+32>>0]|0;l=a[i+10+(N*58|0)+33>>0]|0}a[i+10+(ab*116|0)+(N*58|0)+33>>0]=l;if(!(m&1)){a[i+10+(ab*116|0)+(N*58|0)+34>>0]=xg(f,p)|0;a[i+10+(ab*116|0)+(N*58|0)+35>>0]=xg(f,p)|0;a[i+10+(ab*116|0)+(N*58|0)+36>>0]=xg(f,p)|0;a[i+10+(ab*116|0)+(N*58|0)+37>>0]=xg(f,p)|0;l=(xg(f,p)|0)&255}else{a[i+10+(ab*116|0)+(N*58|0)+34>>0]=a[i+10+(N*58|0)+34>>0]|0;a[i+10+(ab*116|0)+(N*58|0)+35>>0]=a[i+10+(N*58|0)+35>>0]|0;a[i+10+(ab*116|0)+(N*58|0)+36>>0]=a[i+10+(N*58|0)+36>>0]|0;a[i+10+(ab*116|0)+(N*58|0)+37>>0]=a[i+10+(N*58|0)+37>>0]|0;l=a[i+10+(N*58|0)+38>>0]|0}a[i+10+(ab*116|0)+(N*58|0)+38>>0]=l;a[i+10+(ab*116|0)+(N*58|0)+39>>0]=0}l=ug(qb,f)|0}else{u=(N|0)==0?0:Ga;l=c[cb>>2]|0;L=f;p=c[L+4>>2]|0;m=qb;c[m>>2]=c[L>>2];c[m+4>>2]=p;m=b[i+10+(ab*116|0)+(N*58|0)+6>>1]|0;p=m&65535;if(n)x=((d[i+10+(ab*116|0)+(N*58|0)+8>>0]|0)>>>3&1)+1&255;else x=0;if((u|0)!=0&(l&1|0)!=0){l=p>>>1;do if((m&65535)>=360)if((m&65535)<488){s=l+-180|0;t=4;m=s>>>4&3;q=s>>>2&3;s=s&3;break}else{s=l+-244|0;q=(s>>>0)/3|0;t=5;m=q;q=s-(q*3|0)|0;s=0;break}else{L=(l>>>0)%36|0;s=(L>>>0)/6|0;t=3;m=(p>>>0)/72|0;q=s;s=L-(s*6|0)|0}while(0);n=51115+(t*12|0)+(x<<2)|0;p=(1<>0]|0))l=0;else{o=0;while(1){L=xg(f,m)|0;a[i+10+(ab*116|0)+(N*58|0)+18+o>>0]=L;l=o+1|0;a[u+18+o>>0]=(L|0)==(p|0)&1;if(l>>>0<(d[n>>0]|0)>>>0)o=l;else break}}p=(1<>0]|0){o=0;m=l;while(1){L=xg(f,q)|0;a[i+10+(ab*116|0)+(N*58|0)+18+m>>0]=L;l=m+1|0;a[u+18+m>>0]=(L|0)==(p|0)&1;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}p=(1<>0]|0){o=0;m=l;while(1){L=xg(f,s)|0;a[i+10+(ab*116|0)+(N*58|0)+18+m>>0]=L;l=m+1|0;a[u+18+m>>0]=(L|0)==(p|0)&1;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}n=51115+(t*12|0)+(x<<2)+3|0;if(a[n>>0]|0){o=0;m=l;while(1){L=xg(f,0)|0;a[i+10+(ab*116|0)+(N*58|0)+18+m>>0]=L;l=m+1|0;a[u+18+m>>0]=(L|0)==0&1;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}if(l>>>0<39)do{a[i+10+(ab*116|0)+(N*58|0)+18+l>>0]=0;a[u+18+l>>0]=0;l=l+1|0}while((l|0)!=39)}else{do if((m&65535)>=400)if((m&65535)<500){q=p+-400|0;t=1;o=(q>>>0)/20|0;q=(q>>>2>>>0)%5|0;s=m&3;p=0;break}else{s=p+-500|0;q=(s>>>0)/3|0;t=i+10+(ab*116|0)+(N*58|0)+8|0;a[t>>0]=a[t>>0]|4;t=2;o=q;q=s-(q*3|0)|0;s=0;p=0;break}else{t=0;o=(p>>>0)/80|0;q=(p>>>4>>>0)%5|0;s=p>>>2&3;p=p&3}while(0);m=51115+(t*12|0)+(x<<2)|0;if(!(a[m>>0]|0))l=0;else{n=0;while(1){l=n+1|0;a[i+10+(ab*116|0)+(N*58|0)+18+n>>0]=xg(f,o)|0;if(l>>>0<(d[m>>0]|0)>>>0)n=l;else break}}n=51115+(t*12|0)+(x<<2)+1|0;if(a[n>>0]|0){o=0;m=l;while(1){l=m+1|0;a[i+10+(ab*116|0)+(N*58|0)+18+m>>0]=xg(f,q)|0;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}n=51115+(t*12|0)+(x<<2)+2|0;if(a[n>>0]|0){o=0;m=l;while(1){l=m+1|0;a[i+10+(ab*116|0)+(N*58|0)+18+m>>0]=xg(f,s)|0;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}n=51115+(t*12|0)+(x<<2)+3|0;if(a[n>>0]|0){o=0;m=l;while(1){l=m+1|0;a[i+10+(ab*116|0)+(N*58|0)+18+m>>0]=xg(f,p)|0;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}if(l>>>0<39)rj(z+(l+18)|0,0,39-l|0)|0}l=ug(qb,f)|0}y=Ab+(N*2304|0)|0;m=(e[z>>1]|0)-l|0;if((m|0)<0){nb=566;break a}s=(e[i+10+(ab*116|0)+(N*58|0)+4>>1]|0)+-210|0;L=i+10+(ab*116|0)+(N*58|0)+8|0;n=d[L>>0]|0;t=(n>>>1&1)+1|0;do if((a[A>>0]|0)==2){if(!(n&8)){l=0;n=0}else{o=n<<29>>31;l=0;n=0;while(1){c[qb+(n<<2)>>2]=s-((o&d[51219+n>>0])+(d[i+10+(ab*116|0)+(N*58|0)+18+n>>0]|0)<>0]|0)|0;if(l>>>0<36)n=p;else{n=p;break}}}p=s-(d[i+10+(ab*116|0)+(N*58|0)+13>>0]<<3)|0;q=s-(d[i+10+(ab*116|0)+(N*58|0)+14>>0]<<3)|0;o=s-(d[i+10+(ab*116|0)+(N*58|0)+15>>0]<<3)|0;if(l>>>0<576)while(1){c[qb+(n<<2)>>2]=p-(d[i+10+(ab*116|0)+(N*58|0)+18+n>>0]<>2]=q-(d[i+10+(ab*116|0)+(N*58|0)+18+K>>0]<>2]=o-(d[i+10+(ab*116|0)+(N*58|0)+18+K>>0]<>0]|0)*3|0)+l|0;if(l>>>0>=576)break;else n=n+3|0}}else{c[qb>>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+18>>0]<>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+19>>0]<>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+20>>0]<>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+21>>0]<>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+22>>0]<>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+23>>0]<>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+24>>0]<>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+25>>0]<>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+26>>0]<>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+27>>0]<>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+28>>0]<>0]|0;if(!(n&4)){c[Ja>>2]=s-(l<>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+30>>0]<>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+31>>0]<>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+32>>0]<>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+33>>0]<>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+34>>0]<>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+35>>0]<>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+36>>0]<>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+37>>0]<>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+38>>0]<>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+39>>0]<>2]=s-(l+1<>2]=s-((d[i+10+(ab*116|0)+(N*58|0)+30>>0]|0)+1<>2]=s-((d[i+10+(ab*116|0)+(N*58|0)+31>>0]|0)+1<>2]=s-((d[i+10+(ab*116|0)+(N*58|0)+32>>0]|0)+1<>2]=s-((d[i+10+(ab*116|0)+(N*58|0)+33>>0]|0)+2<>2]=s-((d[i+10+(ab*116|0)+(N*58|0)+34>>0]|0)+2<>2]=s-((d[i+10+(ab*116|0)+(N*58|0)+35>>0]|0)+3<>2]=s-((d[i+10+(ab*116|0)+(N*58|0)+36>>0]|0)+3<>2]=s-((d[i+10+(ab*116|0)+(N*58|0)+37>>0]|0)+3<>2]=s-((d[i+10+(ab*116|0)+(N*58|0)+38>>0]|0)+2<>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+39>>0]<>2]|0;o=c[o+4>>2]|0;t=pb;c[t>>2]=n;c[t+4>>2]=o;wg(f,m);o=nj(n|0,o|0,48)|0;v()|0;o=(31-o&-8)+o|0;n=xg(pb,o)|0;t=d[i+10+(ab*116|0)+(N*58|0)+10>>0]|0;q=c[5080+(t<<3)>>2]|0;if(!q){Q=165;break a}s=Ab+(N*2304|0)+(d[k>>0]<<2)|0;z=k+1|0;l=m-o|0;p=c[qb>>2]|0;k=b[i+10+(ab*116|0)+(N*58|0)+2>>1]|0;if((m|0)>0&k<<16>>16!=0){K=i+10+(ab*116|0)+(N*58|0)+17|0;J=k&65535;C=p;u=Ha;A=e[5080+(t<<3)+4>>1]|0;x=(d[i+10+(ab*116|0)+(N*58|0)+16>>0]|0)+1|0;m=0;B=0;p=e[5080+(t<<3)+6>>1]|0;I=0;G=y;while(1){J=J+-1|0;if((G|0)==(s|0)){y=z+1|0;s=G+(d[z>>0]<<2)|0;k=x+-1|0;if(!k){if(!m)k=(d[K>>0]|0)+1|0;else k=0;m=m+1|0;p=d[i+10+(ab*116|0)+(N*58|0)+10+m>>0]|0;q=c[5080+(p<<3)>>2]|0;if(!q){Q=165;break a}else{t=e[5080+(p<<3)+4>>1]|0;p=e[5080+(p<<3)+6>>1]|0}}else t=A;z=c[u>>2]|0;H=z;u=u+4|0;A=t;F=k;E=m;t=(C|0)==(z|0)?B:0;z=y;D=p}else{H=C;F=x;E=m;t=B;D=p}k=31-o&-8;if((o|0)<21){n=xg(pb,k)|0|n<>>(o-D|0)&(1<>0]&1)){m=D;do{o=o-m|0;k=b[q+(k<<1)>>1]|0;m=(k&65535)>>>1&7;k=(n>>>(o-m|0)&(1<>>4&65535)|0}while(!(a[q+(k<<1)>>0]&1))}B=q+(k<<1)|0;m=b[B>>1]|0;o=o-((m&65535)>>>1&7)|0;m=(m&65535)>>>4;k=m&15;x=k&65535;b:do if(!A){if(!(k<<16>>16)){m=t;k=0}else{k=1<>2]|0;m=k&134217727;k=(k>>>27)+((H|0)/4|0)|0;do if((k|0)>=0)if((k|0)>4){g[tb>>3]=+(m|0)*3.725290298461914e-09;c[tb+8>>2]=k;Hh(R,51241,tb)|0;k=2147483647;break}else{k=m<>>0>31?0:(1<<~k)+m>>C}while(0);if(p)k=r((c[40448+(p+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;c[ib+(x<<2)>>2]=k;m=t}else{m=t;k=c[ib+(x<<2)>>2]|0}C=o+-1|0;o=C;k=(1<>2]=k;C=(e[B>>1]|0)>>>8&15;x=C&65535;if(!(C<<16>>16)){y=n;k=0;t=m}else{k=1<>2]|0;m=C&134217727;k=(C>>>27)+k|0;do if((k|0)>=0)if((k|0)>4){g[ub>>3]=+(m|0)*3.725290298461914e-09;c[ub+8>>2]=k;Hh(R,51241,ub)|0;k=2147483647;break}else{k=m<>>0>31?0:(1<<~k)+m>>C}while(0);if(p)k=r((c[40448+(p+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;c[ib+(x<<2)>>2]=k;m=t}else k=c[ib+(x<<2)>>2]|0;t=o+-1|0;y=n;o=t;k=(1<>>0<(A+2|0)>>>0){n=xg(pb,16)|0|n<<16;l=l+-16|0;o=o+16|0}o=o-A|0;p=(H|0)%4|0;k=c[7620+((n>>>o&(1<>2]|0;m=k&134217727;k=(k>>>27)+((H|0)/4|0)|0;do if((k|0)>=0)if((k|0)>4){g[rb>>3]=+(m|0)*3.725290298461914e-09;c[rb+8>>2]=k;Hh(R,51241,rb)|0;k=2147483647;break}else{k=m<>>0>31?0:(1<<~k)+m>>Q}while(0);if(!p){Q=118;break c}k=r((c[40448+(p+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;Q=118;break}default:{k=1<>2]|0;Q=118;break c}t=k|t;p=(H|0)%4|0;k=c[7620+(x<<2)>>2]|0;m=k&134217727;k=(k>>>27)+((H|0)/4|0)|0;do if((k|0)>=0)if((k|0)>4){g[vb>>3]=+(m|0)*3.725290298461914e-09;c[vb+8>>2]=k;Hh(R,51241,vb)|0;k=2147483647;break}else{k=m<>>0>31?0:(1<<~k)+m>>Q}while(0);if(p)k=r((c[40448+(p+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;c[ib+(x<<2)>>2]=k;Q=118}}while(0);if((Q|0)==118){Q=0;C=o+-1|0;y=n;o=C;k=(1<>2]=k;C=(e[B>>1]|0)>>>8;x=C&15;d:do switch(C&15){case 0:{k=0;break b}case 15:{if(o>>>0<(A+1|0)>>>0){n=xg(pb,16)|0|y<<16;l=l+-16|0;o=o+16|0}else n=y;o=o-A|0;p=(H|0)%4|0;k=c[7620+((n>>>o&(1<>2]|0;m=k&134217727;k=(k>>>27)+((H|0)/4|0)|0;do if((k|0)>=0)if((k|0)>4){g[zb>>3]=+(m|0)*3.725290298461914e-09;c[zb+8>>2]=k;Hh(R,51241,zb)|0;k=2147483647;break}else{k=m<>>0>31?0:(1<<~k)+m>>C}while(0);if(!p)break d;k=r((c[40448+(p+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;break}default:{k=1<>2]|0;break d}t=k|t;n=(H|0)%4|0;k=c[7620+(x<<2)>>2]|0;m=k&134217727;k=(k>>>27)+((H|0)/4|0)|0;do if((k|0)>=0)if((k|0)>4){g[sb>>3]=+(m|0)*3.725290298461914e-09;c[sb+8>>2]=k;Hh(R,51241,sb)|0;k=2147483647;break}else{k=m<>>0>31?0:(1<<~k)+m>>C}while(0);if(n)k=r((c[40448+(n+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;c[ib+(x<<2)>>2]=k;n=y}}while(0);C=o+-1|0;y=n;o=C;k=(1<>2]=k;k=I+2|0;m=o+l|0;if(!((J|0)!=0&(m|0)>0)){x=o;t=H;q=z;break}else{n=y;C=H;x=F;m=E;B=t;p=D;I=k;G=Ab+(N*2304|0)+(k<<2)|0}}}else{y=n;x=o;t=p;u=Ha;q=z;k=0}if((m|0)<0){nb=568;break a}C=c[5072+((a[L>>0]&1)<<2)>>2]|0;o=(t|0)/4|0;p=t-(o<<2)|0;n=o+2|0;do if((t|0)>=-11)if((t|0)>11){g[wb>>3]=.25;c[wb+8>>2]=n;Hh(R,51241,wb)|0;n=2147483647;break}else{n=67108864<>>0>31?0:(1<<-3-o)+67108864>>n}while(0);if(p)n=r((c[40448+(p+3<<2)>>2]|0)+32768>>16,n+2048>>12)|0;if((m|0)>0&k>>>0<573){m=y;y=q;while(1){A=Ab+(N*2304|0)+(k<<2)|0;if((x|0)<10){B=xg(pb,16)|0|m<<16;l=l+-16|0;m=x+16|0}else{B=m;m=x}q=m+-4|0;o=C+((B>>>q&15)<<1)|0;p=a[o>>0]|0;if(!(p&1)){p=b[o>>1]|0;o=(p&65535)>>>1&7;p=C+((B>>>(q-o|0)&(1<>>4&65535)<<1)|0;o=p;p=a[p>>0]|0;m=q}z=m-((p&255)>>>1&7)|0;if((A|0)==(s|0)){x=y+1|0;s=s+(d[y>>0]<<2)|0;q=c[u>>2]|0;do if((t|0)==(q|0))m=t;else{n=(q|0)/4|0;p=q-(n<<2)|0;m=n+2|0;do if((q|0)>=-11)if((q|0)>11){g[xb>>3]=.25;c[xb+8>>2]=m;Hh(R,51241,xb)|0;n=2147483647;break}else{n=67108864<>>0>31?0:(1<<-3-n)+67108864>>L}while(0);if(!p){m=q;break}m=q;n=r((c[40448+(p+3<<2)>>2]|0)+32768>>16,n+2048>>12)|0}while(0);p=a[o>>0]|0;t=m;u=u+4|0;q=x}else q=y;y=(p&16)==0;L=z+-1|0;m=0-n|0;z=y?z:L;c[A>>2]=y?0:(1<>0]&32)==0;y=z+-1|0;z=L?z:y;c[A+4>>2]=L?0:(1<>0]<<2)|0;q=c[u>>2]|0;do if((t|0)==(q|0))m=t;else{n=(q|0)/4|0;p=q-(n<<2)|0;m=n+2|0;do if((q|0)>=-11)if((q|0)>11){g[yb>>3]=.25;c[yb+8>>2]=m;Hh(R,51241,yb)|0;n=2147483647;break}else{n=67108864<>>0>31?0:(1<<-3-n)+67108864>>L}while(0);if(!p){m=q;break}m=q;n=r((c[40448+(p+3<<2)>>2]|0)+32768>>16,n+2048>>12)|0}while(0);t=m;u=u+4|0;p=n;q=x;m=0-n|0}else p=n;L=(a[o>>0]&64)==0;K=z+-1|0;x=L?z:K;c[y>>2]=L?0:(1<>0]|0)<0;L=x+-1|0;x=K?L:x;c[y+4>>2]=K?((1<>>0<573&(m|0)>0))break;else{m=B;n=p;y=q}}}if((l|0)<=-65){Q=202;break a}k=(m|0)<0?k+-4|0:k;if((k|0)<576)rj(Ab+(N*2304|0)+(k<<2)|0,0,((((k|0)==575?576:575)-k|0)>>>1<<3)+8|0)|0;N=N+1|0}while(N>>>0>>0)}if((c[bb>>2]|0)==2?(fb=c[cb>>2]|0,fb|0):0){x=c[ob>>2]|0;k=a[i+10+(ab*116|0)+9>>0]|0;if(k<<24>>24!=(a[i+10+(ab*116|0)+67>>0]|0)){Q=276;break}l=a[i+10+(ab*116|0)+66>>0]|0;if((l^a[i+10+(ab*116|0)+8>>0])&8){Q=276;break}O=fb&65535;b[qb>>1]=O;b[V>>1]=O;b[fa>>1]=O;b[qa>>1]=O;b[Aa>>1]=O;b[Ba>>1]=O;b[Ca>>1]=O;b[Da>>1]=O;b[Ea>>1]=O;b[Fa>>1]=O;b[X>>1]=O;b[Y>>1]=O;b[Z>>1]=O;b[_>>1]=O;b[$>>1]=O;b[aa>>1]=O;b[ba>>1]=O;b[ca>>1]=O;b[da>>1]=O;b[ea>>1]=O;b[ga>>1]=O;b[ha>>1]=O;b[ia>>1]=O;b[ja>>1]=O;b[ka>>1]=O;b[la>>1]=O;b[ma>>1]=O;b[na>>1]=O;b[oa>>1]=O;b[pa>>1]=O;b[ra>>1]=O;b[sa>>1]=O;b[ta>>1]=O;b[ua>>1]=O;b[va>>1]=O;b[wa>>1]=O;b[xa>>1]=O;b[ya>>1]=O;b[za>>1]=O;e:do if(fb&1|0){u=c[kb>>2]|0;c[kb>>2]=u|256;if(k<<24>>24==2){c[U>>2]=0;c[T>>2]=0;c[ib>>2]=0;if(l&8){o=0;l=0;p=S;k=0;do{Q=k;k=k+1|0;Q=a[x+Q>>0]|0;n=Q&255;f:do if(Q<<24>>24){m=0;do{if(c[p+(m<<2)>>2]|0){l=k;break f}m=m+1|0}while(m>>>0>>0)}while(0);p=p+(n<<2)|0;o=o+n|0}while(o>>>0<36);if(o>>>0<576){m=p;Q=220}else Q=228}else{o=0;l=0;m=S;k=0;Q=220}if((Q|0)==220){Q=0;q=0;s=k;t=0;while(1){O=a[x+s>>0]|0;s=s+1|0;p=O&255;g:do if(!(O<<24>>24))n=q;else{n=0;while(1){if(c[m+(n<<2)>>2]|0)break;n=n+1|0;if(n>>>0>=p>>>0){n=q;break g}}c[ib+(t<<2)>>2]=s;n=s}while(0);o=o+p|0;if(o>>>0>=576)break;else{q=n;m=m+(p<<2)|0;t=((t+1|0)>>>0)%3|0}}if(!n)Q=228;else{l=k;o=n}}if((Q|0)==228){Q=0;o=0}if(l|0){m=fb&65534;n=0;do{b[qb+(n<<1)>>1]=m;n=n+1|0}while((n|0)!=(l|0))}if(k>>>0>>0){m=fb&65534;l=0;while(1){if(k>>>0<(c[ib+(l<<2)>>2]|0)>>>0)b[qb+(k<<1)>>1]=m;k=k+1|0;if((k|0)==(o|0))break;else l=((l+1|0)>>>0)%3|0}}}else{k=0;o=0;p=S;q=0;while(1){O=a[x+q>>0]|0;q=q+1|0;n=O&255;h:do if(!(O<<24>>24))m=k;else{l=0;while(1){if(c[p+(l<<2)>>2]|0){m=q;break h}l=l+1|0;if(l>>>0>=n>>>0){m=k;break}}}while(0);o=o+n|0;if(o>>>0>=576)break;else{k=m;p=p+(n<<2)|0}}if(m|0){k=fb&65534;l=0;do{b[qb+(l<<1)>>1]=k;l=l+1|0}while((l|0)!=(m|0))}}if(!(u&4096)){p=0;q=0;while(1){k=a[x+q>>0]|0;o=k&255;l=qb+(q<<1)|0;m=b[l>>1]|0;do if(m&1|0){P=a[i+10+(ab*116|0)+76+q>>0]|0;n=P&255;if((P&255)>6){b[l>>1]=m&65534;break}if(k<<24>>24){m=(c[40596+(n<<2)>>2]|0)+32768>>16;l=(c[40596+(6-n<<2)>>2]|0)+32768>>16;k=0;do{P=k+p|0;N=Ab+(P<<2)|0;O=(c[N>>2]|0)+2048>>12;c[N>>2]=r(O,m)|0;c[Ab+2304+(P<<2)>>2]=r(O,l)|0;k=k+1|0}while((k|0)!=(o|0))}}while(0);p=p+o|0;if(p>>>0>=576)break e;else q=q+1|0}}n=b[i+10+(ab*116|0)+64>>1]&1;p=0;q=0;while(1){m=a[x+q>>0]|0;o=m&255;k=qb+(q<<1)|0;l=b[k>>1]|0;i:do if(l&1|0){if(a[P+192+q>>0]|0){b[k>>1]=l&65534;break}k=a[i+10+(ab*116|0)+76+q>>0]|0;l=k&255;if(m<<24>>24){if(!(k<<24>>24)){k=0;while(1){O=k+p|0;c[Ab+2304+(O<<2)>>2]=c[Ab+(O<<2)>>2];k=k+1|0;if((k|0)==(o|0))break i}}m=(c[40476+(n*60|0)+((l+-1|0)>>>1<<2)>>2]|0)+32768>>16;if(!(l&1)){k=0;do{O=k+p|0;c[Ab+2304+(O<<2)>>2]=r((c[Ab+(O<<2)>>2]|0)+2048>>12,m)|0;k=k+1|0}while((k|0)!=(o|0))}else{k=0;do{O=k+p|0;M=Ab+(O<<2)|0;N=c[M>>2]|0;c[M>>2]=r(N+2048>>12,m)|0;c[Ab+2304+(O<<2)>>2]=N;k=k+1|0}while((k|0)!=(o|0))}}}while(0);p=p+o|0;if(p>>>0>=576)break;else q=q+1|0}}while(0);if(fb&2|0){c[kb>>2]=c[kb>>2]|512;m=0;n=0;while(1){P=a[x+n>>0]|0;k=P&255;if(P<<24>>24?(b[qb+(n<<1)>>1]|0)==2:0){l=0;do{P=l+m|0;M=Ab+(P<<2)|0;P=Ab+2304+(P<<2)|0;O=c[P>>2]|0;N=(c[M>>2]|0)+2048|0;c[M>>2]=(N+O>>12)*2896;c[P>>2]=(N-O>>12)*2896;l=l+1|0}while((l|0)!=(k|0))}m=m+k|0;if(m>>>0>=576)break;else n=n+1|0}}}if(!jb){B=ab*18|0;A=0;do{z=h+48+(A*4608|0)+(B<<7)|0;y=i+10+(ab*116|0)+(A*58|0)+9|0;x=Ab+(A*2304|0)|0;if((a[y>>0]|0)==2){k=c[ob+(A<<2)>>2]|0;u=(a[i+10+(ab*116|0)+(A*58|0)+8>>0]&8)==0;if(u)t=0;else{m=0;while(1){l=k+1|0;m=m+(d[k>>0]|0)|0;if(m>>>0>=36){t=2;k=l;break}else k=l}};c[pb>>2]=0;c[pb+4>>2]=0;c[pb+8>>2]=0;c[ib>>2]=t;c[T>>2]=t;c[U>>2]=t;s=t*18|0;m=d[k>>0]|0;q=s;k=k+1|0;l=0;while(1){if(!m){p=d[k>>0]|0;k=k+1|0;l=((l+1|0)>>>0)%3|0}else p=m;O=c[Ab+(A*2304|0)+(q<<2)>>2]|0;n=ib+(l<<2)|0;m=c[n>>2]|0;o=pb+(l<<2)|0;P=c[o>>2]|0;Q=P+1|0;c[o>>2]=Q;c[qb+(m*72|0)+(l*24|0)+(P<<2)>>2]=O;if((Q|0)==6){c[o>>2]=0;c[n>>2]=m+1}q=q+1|0;if((q|0)==576)break;else m=p+-1|0}pj(Ab+(A*2304|0)+(s<<2)|0,qb+(t*72|0)|0,(r(t,-72)|0)+2304|0)|0;if(!u)Jg(x,36)}else Jg(x,576);k=a[y>>0]|0;l=a[i+10+(ab*116|0)+(A*58|0)+8>>0]&8;if(k<<24>>24==2&l<<24>>24==0){Mg(x,mb);Lg(mb,(c[db>>2]|0)+(A*2304|0)|0,z,0);Mg(Ab+(A*2304|0)+72|0,mb);Lg(mb,(c[db>>2]|0)+(A*2304|0)+72|0,z,1)}else{Q=l<<24>>24==0?k&255:0;Kg(x,mb,Q);Lg(mb,(c[db>>2]|0)+(A*2304|0)|0,z,0);Kg(Ab+(A*2304|0)+72|0,mb,Q);Lg(mb,(c[db>>2]|0)+(A*2304|0)+72|0,z,1)}l=z+132|0;P=z+388|0;O=c[P>>2]|0;c[l>>2]=0-(c[l>>2]|0);l=z+644|0;Q=c[l>>2]|0;c[P>>2]=0-O;P=z+900|0;O=c[P>>2]|0;c[l>>2]=0-Q;l=z+1156|0;Q=c[l>>2]|0;c[P>>2]=0-O;P=z+1412|0;O=c[P>>2]|0;c[l>>2]=0-Q;l=z+1668|0;Q=c[l>>2]|0;c[P>>2]=0-O;P=z+1924|0;O=c[P>>2]|0;c[l>>2]=0-Q;l=z+2180|0;Q=c[l>>2]|0;c[P>>2]=0-O;c[l>>2]=0-Q;l=576;while(1){k=l;l=l+-1|0;if(c[Ab+(A*2304|0)+(l<<2)>>2]|0)break;if(l>>>0<=36){k=36;break}}u=32-(((576-k|0)>>>0)/18|0)|0;k=a[y>>0]|0;l=u>>>0>2;j:do if(k<<24>>24==2)if(l){k=36;l=2;while(1){Mg(Ab+(A*2304|0)+(k<<2)|0,mb);Lg(mb,(c[db>>2]|0)+(A*2304|0)+(l*72|0)|0,z,l);if(l&1|0){Q=z+128+(l<<2)|0;O=z+384+(l<<2)|0;N=c[O>>2]|0;c[Q>>2]=0-(c[Q>>2]|0);Q=z+640+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-N;O=z+896+(l<<2)|0;N=c[O>>2]|0;c[Q>>2]=0-P;Q=z+1152+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-N;O=z+1408+(l<<2)|0;N=c[O>>2]|0;c[Q>>2]=0-P;Q=z+1664+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-N;O=z+1920+(l<<2)|0;N=c[O>>2]|0;c[Q>>2]=0-P;Q=z+2176+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-N;c[Q>>2]=0-P}l=l+1|0;if(l>>>0>=u>>>0){Q=311;break}else k=k+18|0}}else Q=312;else if(l){m=36;l=2;while(1){Kg(Ab+(A*2304|0)+(m<<2)|0,mb,k&255);Lg(mb,(c[db>>2]|0)+(A*2304|0)+(l*72|0)|0,z,l);if(l&1|0){Q=z+128+(l<<2)|0;O=z+384+(l<<2)|0;N=c[O>>2]|0;c[Q>>2]=0-(c[Q>>2]|0);Q=z+640+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-N;O=z+896+(l<<2)|0;N=c[O>>2]|0;c[Q>>2]=0-P;Q=z+1152+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-N;O=z+1408+(l<<2)|0;N=c[O>>2]|0;c[Q>>2]=0-P;Q=z+1664+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-N;O=z+1920+(l<<2)|0;N=c[O>>2]|0;c[Q>>2]=0-P;Q=z+2176+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-N;c[Q>>2]=0-P}l=l+1|0;if(l>>>0>=u>>>0){Q=311;break j}k=a[y>>0]|0;m=m+18|0}}else Q=312;while(0);if((Q|0)==311?(Q=0,u>>>0<32):0)Q=312;if((Q|0)==312){Q=0;x=c[db>>2]|0;do{P=x+(A*2304|0)+(u*72|0)|0;c[h+48+(A*4608|0)+(B<<7)+(u<<2)>>2]=c[P>>2];c[P>>2]=0;P=x+(A*2304|0)+(u*72|0)+4|0;k=z+128+(u<<2)|0;c[k>>2]=c[P>>2];c[P>>2]=0;P=x+(A*2304|0)+(u*72|0)+8|0;c[z+256+(u<<2)>>2]=c[P>>2];c[P>>2]=0;P=x+(A*2304|0)+(u*72|0)+12|0;p=z+384+(u<<2)|0;c[p>>2]=c[P>>2];c[P>>2]=0;P=x+(A*2304|0)+(u*72|0)+16|0;c[z+512+(u<<2)>>2]=c[P>>2];c[P>>2]=0;P=x+(A*2304|0)+(u*72|0)+20|0;q=z+640+(u<<2)|0;c[q>>2]=c[P>>2];c[P>>2]=0;P=x+(A*2304|0)+(u*72|0)+24|0;c[z+768+(u<<2)>>2]=c[P>>2];c[P>>2]=0;P=x+(A*2304|0)+(u*72|0)+28|0;s=z+896+(u<<2)|0;c[s>>2]=c[P>>2];c[P>>2]=0;P=x+(A*2304|0)+(u*72|0)+32|0;c[z+1024+(u<<2)>>2]=c[P>>2];c[P>>2]=0;P=x+(A*2304|0)+(u*72|0)+36|0;t=z+1152+(u<<2)|0;c[t>>2]=c[P>>2];c[P>>2]=0;P=x+(A*2304|0)+(u*72|0)+40|0;c[z+1280+(u<<2)>>2]=c[P>>2];c[P>>2]=0;P=x+(A*2304|0)+(u*72|0)+44|0;l=z+1408+(u<<2)|0;c[l>>2]=c[P>>2];c[P>>2]=0;P=x+(A*2304|0)+(u*72|0)+48|0;c[z+1536+(u<<2)>>2]=c[P>>2];c[P>>2]=0;P=x+(A*2304|0)+(u*72|0)+52|0;m=z+1664+(u<<2)|0;c[m>>2]=c[P>>2];c[P>>2]=0;P=x+(A*2304|0)+(u*72|0)+56|0;c[z+1792+(u<<2)>>2]=c[P>>2];c[P>>2]=0;P=x+(A*2304|0)+(u*72|0)+60|0;n=z+1920+(u<<2)|0;c[n>>2]=c[P>>2];c[P>>2]=0;P=x+(A*2304|0)+(u*72|0)+64|0;c[z+2048+(u<<2)>>2]=c[P>>2];c[P>>2]=0;P=x+(A*2304|0)+(u*72|0)+68|0;o=z+2176+(u<<2)|0;c[o>>2]=c[P>>2];c[P>>2]=0;if(u&1|0){O=c[p>>2]|0;c[k>>2]=0-(c[k>>2]|0);P=c[q>>2]|0;c[p>>2]=0-O;O=c[s>>2]|0;c[q>>2]=0-P;P=c[t>>2]|0;c[s>>2]=0-O;O=c[l>>2]|0;c[t>>2]=0-P;P=c[m>>2]|0;c[l>>2]=0-O;O=c[n>>2]|0;c[m>>2]=0-P;P=c[o>>2]|0;c[n>>2]=0-O;c[o>>2]=0-P}u=u+1|0}while(u>>>0<32)}A=A+1|0}while((A|0)!=(j|0))}ab=ab+1|0;if(ab>>>0>=gb>>>0){k=0;Q=318;break}}if((Q|0)==165)nb=567;else if((Q|0)==202)W(51274,51106,1253,51316);else if((Q|0)==276){Ab=569;cc=Bb;return Ab|0}else if((Q|0)==318){cc=Bb;return k|0}Ab=nb;cc=Bb;return Ab|0}function Jg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=a+(b<<2)|0;if((b|0)<=18)return;b=a+72|0;do{g=b+-4|0;e=c[b>>2]|0;f=(c[g>>2]|0)+2048>>12;c[g>>2]=(r(2048-e>>12,-2107)|0)+(f*3512|0);c[b>>2]=(r(f,-2107)|0)+((e+2048>>12)*3512|0);e=b+-8|0;f=b+4|0;g=c[f>>2]|0;a=(c[e>>2]|0)+2048>>12;c[e>>2]=(r(2048-g>>12,-1932)|0)+(a*3612|0);c[f>>2]=(r(a,-1932)|0)+((g+2048>>12)*3612|0);f=b+-12|0;g=b+8|0;a=c[g>>2]|0;e=(c[f>>2]|0)+2048>>12;c[f>>2]=(r(2048-a>>12,-1284)|0)+(e*3890|0);c[g>>2]=(r(e,-1284)|0)+((a+2048>>12)*3890|0);g=b+-16|0;a=b+12|0;e=c[a>>2]|0;f=(c[g>>2]|0)+2048>>12;c[g>>2]=(r(2048-e>>12,-745)|0)+(f*4028|0);c[a>>2]=(r(f,-745)|0)+((e+2048>>12)*4028|0);a=b+-20|0;e=b+16|0;f=c[e>>2]|0;g=(c[a>>2]|0)+2048>>12;c[a>>2]=(r(2048-f>>12,-387)|0)+(g*4078|0);c[e>>2]=(r(g,-387)|0)+((f+2048>>12)*4078|0);e=b+-24|0;f=b+20|0;g=c[f>>2]|0;a=(c[e>>2]|0)+2048>>12;c[e>>2]=(r(2048-g>>12,-168)|0)+(a*4093|0);c[f>>2]=(r(a,-168)|0)+((g+2048>>12)*4093|0);f=b+-28|0;g=b+24|0;a=c[g>>2]|0;e=(c[f>>2]|0)+2048|0;c[f>>2]=(r(2048-a>>12,-58)|0)+(e&-4096);c[g>>2]=(r(e>>12,-58)|0)+(a+2048&-4096);g=b+-32|0;a=b+28|0;e=c[a>>2]|0;f=(c[g>>2]|0)+2048|0;c[g>>2]=(r(2048-e>>12,-15)|0)+(f&-4096);c[a>>2]=(r(f>>12,-15)|0)+(e+2048&-4096);b=b+72|0}while(b>>>0>>0);return}function Kg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;o=((c[a>>2]|0)+2048>>12)*8184|0;g=((c[a+4>>2]|0)+2048>>12)*8122|0;O=((c[a+8>>2]|0)+2048>>12)*7998|0;Z=((c[a+12>>2]|0)+2048>>12)*7813|0;X=((c[a+16>>2]|0)+2048>>12)*7568|0;V=((c[a+20>>2]|0)+2048>>12)*7266|0;ca=((c[a+24>>2]|0)+2048>>12)*6909|0;M=((c[a+28>>2]|0)+2048>>12)*6499|0;Q=((c[a+32>>2]|0)+2048>>12)*6040|0;ba=((c[a+36>>2]|0)+2048>>12)*5534|0;P=((c[a+40>>2]|0)+2048>>12)*4987|0;f=((c[a+44>>2]|0)+2048>>12)*4402|0;A=((c[a+48>>2]|0)+2048>>12)*3783|0;R=((c[a+52>>2]|0)+2048>>12)*3135|0;m=((c[a+56>>2]|0)+2048>>12)*2463|0;u=((c[a+60>>2]|0)+2048>>12)*1773|0;N=((c[a+64>>2]|0)+2048>>12)*1069|0;W=((c[a+68>>2]|0)+2048>>12)*357|0;S=W+o|0;Y=N+g|0;e=u+O|0;a=m+Z|0;v=R+X|0;l=A+V|0;K=f+ca|0;_=P+M|0;L=ba+Q|0;$=a+l|0;l=a-l|0;a=e+K|0;e=K-e|0;K=Y+_|0;aa=S+L|0;S=L-S|0;L=a+$+aa|0;U=e+2048|0;n=r(U+l>>12,-5266)|0;l=l+2048|0;T=(l-S>>12)*8068|0;U=r(S+U>>12,-2802)|0;Y=r(2048-_+Y>>12,-7094)|0;_=r(a+2048-aa>>12,-7698)|0;$=$+2048|0;aa=r($-aa>>12,-1423)|0;a=r($-a>>12,-6275)|0;$=K+v|0;K=(v<<1)-K|0;W=(o+2048-W>>12)*8161|0;N=(g+2048-N>>12)*7913|0;u=(O+2048-u>>12)*7424|0;m=(Z+2048-m>>12)*6710|0;R=X+2048-R>>12;A=(V+2048-A>>12)*4699|0;f=(ca+2048-f>>12)*3462|0;P=(M+2048-P>>12)*2120|0;ba=(Q+2048-ba>>12)*714|0;Q=m+A|0;A=m-A|0;m=u+f|0;u=f-u|0;f=N+P|0;M=W+ba|0;W=ba-W|0;ba=m+Q+M|0;ca=u+2048|0;V=r(ca+A>>12,-5266)|0;A=A+2048|0;X=(A-W>>12)*8068|0;ca=r(W+ca>>12,-2802)|0;N=r(2048-P+N>>12,-7094)|0;P=r(m+2048-M>>12,-7698)|0;Q=Q+2048|0;M=r(Q-M>>12,-1423)|0;m=r(Q-m>>12,-6275)|0;Q=f+(R*5793|0)|0;f=(R*11586|0)-f|0;R=ba+Q|0;Z=V-N-R+X|0;O=m-f+P-Z|0;W=(r(A-u+W>>12,-7094)|0)-O|0;P=P+f-M-W|0;X=N-ca+X-P|0;Q=ba-(Q<<1)-X|0;ca=V+N+ca-Q|0;N=(L+$|0)/2|0;R=((R|0)/2|0)-N|0;V=((n-Y+T|0)/2|0)-R|0;Z=((Z|0)/2|0)-V|0;ba=((a-K+_|0)/2|0)-Z|0;O=((O|0)/2|0)-ba|0;S=(r(l-e+S>>12,-3547)|0)-O|0;W=((W|0)/2|0)-S|0;_=((_+K-aa|0)/2|0)-W|0;P=((P|0)/2|0)-_|0;T=((Y-U+T|0)/2|0)-P|0;X=((X|0)/2|0)-T|0;$=((L-($<<1)|0)/2|0)-X|0;Q=((Q|0)/2|0)-$|0;U=((n+Y+U|0)/2|0)-Q|0;Y=((ca|0)/2|0)-U|0;aa=((a+K+aa|0)/2|0)-Y|0;ca=((m+f+M-ca|0)/2|0)-aa|0;c[b>>2]=P;M=b+4|0;c[M>>2]=T;f=b+8|0;c[f>>2]=X;m=b+12|0;c[m>>2]=$;K=b+16|0;c[K>>2]=Q;a=b+20|0;c[a>>2]=U;n=b+24|0;c[n>>2]=Y;L=b+28|0;c[L>>2]=aa;e=b+32|0;c[e>>2]=ca;l=b+36|0;c[l>>2]=0-ca;u=b+40|0;c[u>>2]=0-aa;A=b+44|0;c[A>>2]=0-Y;g=b+48|0;c[g>>2]=0-U;o=b+52|0;c[o>>2]=0-Q;v=b+56|0;c[v>>2]=0-$;h=b+60|0;c[h>>2]=0-X;p=b+64|0;c[p>>2]=0-T;w=b+68|0;c[w>>2]=0-P;da=0-_|0;i=b+72|0;c[i>>2]=da;I=0-W|0;q=b+76|0;c[q>>2]=I;F=0-S|0;x=b+80|0;c[x>>2]=F;C=0-O|0;j=b+84|0;c[j>>2]=C;H=0-ba|0;s=b+88|0;c[s>>2]=H;E=0-Z|0;y=b+92|0;c[y>>2]=E;B=0-V|0;k=b+96|0;c[k>>2]=B;J=0-R|0;t=b+100|0;c[t>>2]=J;G=0-N|0;z=b+104|0;c[z>>2]=G;D=b+108|0;c[D>>2]=G;G=b+112|0;c[G>>2]=J;J=b+116|0;c[J>>2]=B;B=b+120|0;c[B>>2]=E;E=b+124|0;c[E>>2]=H;H=b+128|0;c[H>>2]=C;C=b+132|0;c[C>>2]=F;F=b+136|0;c[F>>2]=I;I=b+140|0;c[I>>2]=da;switch(d|0){case 0:{c[b>>2]=(P+2048>>12)*179;c[M>>2]=(T+2048>>12)*535;c[f>>2]=(X+2048>>12)*887;c[m>>2]=($+2048>>12)*1232;c[K>>2]=(Q+2048>>12)*1567;c[a>>2]=(U+2048>>12)*1891;c[n>>2]=(Y+2048>>12)*2201;c[L>>2]=(aa+2048>>12)*2493;c[e>>2]=(ca+2048>>12)*2767;c[l>>2]=(2048-ca>>12)*3020;c[u>>2]=(2048-aa>>12)*3250;c[A>>2]=(2048-Y>>12)*3455;c[g>>2]=(2048-U>>12)*3633;c[o>>2]=(2048-Q>>12)*3784;c[v>>2]=(2048-$>>12)*3906;c[h>>2]=(2048-X>>12)*3999;c[p>>2]=(2048-T>>12)*4061;c[w>>2]=(2048-P>>12)*4092;c[i>>2]=(2048-_>>12)*4092;c[q>>2]=(2048-W>>12)*4061;c[x>>2]=(2048-S>>12)*3999;c[j>>2]=(2048-O>>12)*3906;c[s>>2]=(2048-ba>>12)*3784;c[y>>2]=(2048-Z>>12)*3633;c[k>>2]=(2048-V>>12)*3455;c[t>>2]=((c[t>>2]|0)+2048>>12)*3250;c[z>>2]=((c[z>>2]|0)+2048>>12)*3020;c[D>>2]=((c[D>>2]|0)+2048>>12)*2767;c[G>>2]=((c[G>>2]|0)+2048>>12)*2493;c[J>>2]=((c[J>>2]|0)+2048>>12)*2201;c[B>>2]=((c[B>>2]|0)+2048>>12)*1891;c[E>>2]=((c[E>>2]|0)+2048>>12)*1567;c[H>>2]=((c[H>>2]|0)+2048>>12)*1232;c[C>>2]=((c[C>>2]|0)+2048>>12)*887;c[F>>2]=((c[F>>2]|0)+2048>>12)*535;c[I>>2]=((c[I>>2]|0)+2048>>12)*179;return}case 1:{c[b>>2]=(P+2048>>12)*179;c[M>>2]=(T+2048>>12)*535;c[f>>2]=(X+2048>>12)*887;c[m>>2]=($+2048>>12)*1232;c[K>>2]=(Q+2048>>12)*1567;c[a>>2]=(U+2048>>12)*1891;c[n>>2]=(Y+2048>>12)*2201;c[L>>2]=(aa+2048>>12)*2493;c[e>>2]=(ca+2048>>12)*2767;c[l>>2]=(2048-ca>>12)*3020;c[u>>2]=(2048-aa>>12)*3250;c[A>>2]=(2048-Y>>12)*3455;c[g>>2]=(2048-U>>12)*3633;c[o>>2]=(2048-Q>>12)*3784;c[v>>2]=(2048-$>>12)*3906;c[h>>2]=(2048-X>>12)*3999;c[p>>2]=(2048-T>>12)*4061;c[w>>2]=(2048-P>>12)*4092;da=2048-V>>12;c[k>>2]=da*4061;b=2048-R>>12;c[t>>2]=b*3784;d=2048-N>>12;c[z>>2]=d*3250;c[D>>2]=d*2493;c[G>>2]=b*1567;c[J>>2]=da*535;c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;c[B+12>>2]=0;c[B+16>>2]=0;c[B+20>>2]=0;return}case 3:{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[n>>2]=(Y+2048>>12)*535;c[L>>2]=(aa+2048>>12)*1567;c[e>>2]=(ca+2048>>12)*2493;c[l>>2]=(2048-ca>>12)*3250;c[u>>2]=(2048-aa>>12)*3784;c[A>>2]=(2048-Y>>12)*4061;da=2048-_>>12;c[i>>2]=da*4092;b=2048-W>>12;c[q>>2]=b*4061;d=2048-S>>12;c[x>>2]=d*3999;ca=2048-O>>12;c[j>>2]=ca*3906;ba=2048-ba>>12;c[s>>2]=ba*3784;aa=2048-Z>>12;c[y>>2]=aa*3633;$=2048-V>>12;c[k>>2]=$*3455;_=2048-R>>12;c[t>>2]=_*3250;Z=2048-N>>12;c[z>>2]=Z*3020;c[D>>2]=Z*2767;c[G>>2]=_*2493;c[J>>2]=$*2201;c[B>>2]=aa*1891;c[E>>2]=ba*1567;c[H>>2]=ca*1232;c[C>>2]=d*887;c[F>>2]=b*535;c[I>>2]=da*179;return}default:return}}function Lg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;c[d+(e<<2)>>2]=(c[b>>2]|0)+(c[a>>2]|0);c[b>>2]=c[a+72>>2];f=b+4|0;c[d+128+(e<<2)>>2]=(c[f>>2]|0)+(c[a+4>>2]|0);c[f>>2]=c[a+76>>2];f=b+8|0;c[d+256+(e<<2)>>2]=(c[f>>2]|0)+(c[a+8>>2]|0);c[f>>2]=c[a+80>>2];f=b+12|0;c[d+384+(e<<2)>>2]=(c[f>>2]|0)+(c[a+12>>2]|0);c[f>>2]=c[a+84>>2];f=b+16|0;c[d+512+(e<<2)>>2]=(c[f>>2]|0)+(c[a+16>>2]|0);c[f>>2]=c[a+88>>2];f=b+20|0;c[d+640+(e<<2)>>2]=(c[f>>2]|0)+(c[a+20>>2]|0);c[f>>2]=c[a+92>>2];f=b+24|0;c[d+768+(e<<2)>>2]=(c[f>>2]|0)+(c[a+24>>2]|0);c[f>>2]=c[a+96>>2];f=b+28|0;c[d+896+(e<<2)>>2]=(c[f>>2]|0)+(c[a+28>>2]|0);c[f>>2]=c[a+100>>2];f=b+32|0;c[d+1024+(e<<2)>>2]=(c[f>>2]|0)+(c[a+32>>2]|0);c[f>>2]=c[a+104>>2];f=b+36|0;c[d+1152+(e<<2)>>2]=(c[f>>2]|0)+(c[a+36>>2]|0);c[f>>2]=c[a+108>>2];f=b+40|0;c[d+1280+(e<<2)>>2]=(c[f>>2]|0)+(c[a+40>>2]|0);c[f>>2]=c[a+112>>2];f=b+44|0;c[d+1408+(e<<2)>>2]=(c[f>>2]|0)+(c[a+44>>2]|0);c[f>>2]=c[a+116>>2];f=b+48|0;c[d+1536+(e<<2)>>2]=(c[f>>2]|0)+(c[a+48>>2]|0);c[f>>2]=c[a+120>>2];f=b+52|0;c[d+1664+(e<<2)>>2]=(c[f>>2]|0)+(c[a+52>>2]|0);c[f>>2]=c[a+124>>2];f=b+56|0;c[d+1792+(e<<2)>>2]=(c[f>>2]|0)+(c[a+56>>2]|0);c[f>>2]=c[a+128>>2];f=b+60|0;c[d+1920+(e<<2)>>2]=(c[f>>2]|0)+(c[a+60>>2]|0);c[f>>2]=c[a+132>>2];f=b+64|0;c[d+2048+(e<<2)>>2]=(c[f>>2]|0)+(c[a+64>>2]|0);c[f>>2]=c[a+136>>2];b=b+68|0;c[d+2176+(e<<2)>>2]=(c[b>>2]|0)+(c[a+68>>2]|0);c[b>>2]=c[a+140>>2];return}function Mg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=cc;cc=cc+144|0;if((cc|0)>=(dc|0))w(144);e=d;n=(c[a>>2]|0)+2048>>12;l=(c[a+4>>2]|0)+2048>>12;j=r(l,-3784)|0;h=(c[a+8>>2]|0)+2048>>12;i=j+(n*2493|0)+(r(h,-535)|0)|0;g=(c[a+12>>2]|0)+2048>>12;k=(c[a+16>>2]|0)+2048>>12;f=r(k,-1567)|0;m=(c[a+20>>2]|0)+2048>>12;i=i+(g*4061|0)+f+(r(m,-3250)|0)|0;c[e>>2]=i;c[e+20>>2]=0-i;i=(l*1567|0)+(r(n,-3250)|0)+(h*4061|0)+(g*535|0)+(r(k,-3784)|0)+(r(m,-2493)|0)|0;c[e+24>>2]=i;c[e+44>>2]=i;i=j+(n*1567|0)+(h*3784|0)+(r(g,-1567)|0)+f+(m*3784|0)|0;c[e+4>>2]=i;c[e+16>>2]=0-i;l=r(l,-1567)|0;k=k*3784|0;i=l+(r(n,-3784)|0)+(h*1567|0)+(g*3784|0)+k+(m*1567|0)|0;c[e+28>>2]=i;c[e+40>>2]=i;k=l+(n*535|0)+(h*2493|0)+(r(g,-3250)|0)+k+(r(m,-4061)|0)|0;c[e+8>>2]=k;c[e+12>>2]=0-k;m=j+(r(n,-4061)|0)+(r(h,-3250)|0)+(r(g,-2493)|0)+f+(r(m,-535)|0)|0;c[e+32>>2]=m;c[e+36>>2]=m;m=(c[a+24>>2]|0)+2048>>12;f=(c[a+28>>2]|0)+2048>>12;g=r(f,-3784)|0;h=(c[a+32>>2]|0)+2048>>12;n=g+(m*2493|0)+(r(h,-535)|0)|0;j=(c[a+36>>2]|0)+2048>>12;k=(c[a+40>>2]|0)+2048>>12;l=r(k,-1567)|0;i=(c[a+44>>2]|0)+2048>>12;n=n+(j*4061|0)+l+(r(i,-3250)|0)|0;c[e+48>>2]=n;c[e+68>>2]=0-n;n=(f*1567|0)+(r(m,-3250)|0)+(h*4061|0)+(j*535|0)+(r(k,-3784)|0)+(r(i,-2493)|0)|0;c[e+72>>2]=n;c[e+92>>2]=n;n=g+(m*1567|0)+(h*3784|0)+(r(j,-1567)|0)+l+(i*3784|0)|0;c[e+52>>2]=n;c[e+64>>2]=0-n;f=r(f,-1567)|0;k=k*3784|0;n=f+(r(m,-3784)|0)+(h*1567|0)+(j*3784|0)+k+(i*1567|0)|0;c[e+76>>2]=n;c[e+88>>2]=n;k=f+(m*535|0)+(h*2493|0)+(r(j,-3250)|0)+k+(r(i,-4061)|0)|0;c[e+56>>2]=k;c[e+60>>2]=0-k;i=g+(r(m,-4061)|0)+(r(h,-3250)|0)+(r(j,-2493)|0)+l+(r(i,-535)|0)|0;c[e+80>>2]=i;c[e+84>>2]=i;i=(c[a+48>>2]|0)+2048>>12;l=(c[a+52>>2]|0)+2048>>12;j=r(l,-3784)|0;h=(c[a+56>>2]|0)+2048>>12;m=j+(i*2493|0)+(r(h,-535)|0)|0;g=(c[a+60>>2]|0)+2048>>12;k=(c[a+64>>2]|0)+2048>>12;f=r(k,-1567)|0;a=(c[a+68>>2]|0)+2048>>12;m=m+(g*4061|0)+f+(r(a,-3250)|0)|0;c[e+96>>2]=m;c[e+116>>2]=0-m;m=(l*1567|0)+(r(i,-3250)|0)+(h*4061|0)+(g*535|0)+(r(k,-3784)|0)+(r(a,-2493)|0)|0;c[e+120>>2]=m;c[e+140>>2]=m;m=j+(i*1567|0)+(h*3784|0)+(r(g,-1567)|0)+f+(a*3784|0)|0;c[e+100>>2]=m;c[e+112>>2]=0-m;l=r(l,-1567)|0;k=k*3784|0;m=l+(r(i,-3784)|0)+(h*1567|0)+(g*3784|0)+k+(a*1567|0)|0;c[e+124>>2]=m;c[e+136>>2]=m;k=l+(i*535|0)+(h*2493|0)+(r(g,-3250)|0)+k+(r(a,-4061)|0)|0;c[e+104>>2]=k;c[e+108>>2]=0-k;a=j+(r(i,-4061)|0)+(r(h,-3250)|0)+(r(g,-2493)|0)+f+(r(a,-535)|0)|0;c[e+128>>2]=a;c[e+132>>2]=a;c[b>>2]=0;c[b+24>>2]=((c[e>>2]|0)+2048>>12)*535;c[b+48>>2]=(((c[e+48>>2]|0)+2048>>12)*535|0)+(((c[e+24>>2]|0)+2048>>12)*4061|0);c[b+72>>2]=(((c[e+96>>2]|0)+2048>>12)*535|0)+(((c[e+72>>2]|0)+2048>>12)*4061|0);c[b+96>>2]=((c[e+120>>2]|0)+2048>>12)*4061;c[b+120>>2]=0;c[b+4>>2]=0;c[b+28>>2]=((c[e+4>>2]|0)+2048>>12)*1567;c[b+52>>2]=(((c[e+52>>2]|0)+2048>>12)*1567|0)+(((c[e+28>>2]|0)+2048>>12)*3784|0);c[b+76>>2]=(((c[e+100>>2]|0)+2048>>12)*1567|0)+(((c[e+76>>2]|0)+2048>>12)*3784|0);c[b+100>>2]=((c[e+124>>2]|0)+2048>>12)*3784;c[b+124>>2]=0;c[b+8>>2]=0;c[b+32>>2]=((c[e+8>>2]|0)+2048>>12)*2493;c[b+56>>2]=(((c[e+56>>2]|0)+2048>>12)*2493|0)+(((c[e+32>>2]|0)+2048>>12)*3250|0);c[b+80>>2]=(((c[e+104>>2]|0)+2048>>12)*2493|0)+(((c[e+80>>2]|0)+2048>>12)*3250|0);c[b+104>>2]=((c[e+128>>2]|0)+2048>>12)*3250;c[b+128>>2]=0;c[b+12>>2]=0;c[b+36>>2]=((c[e+12>>2]|0)+2048>>12)*3250;c[b+60>>2]=(((c[e+60>>2]|0)+2048>>12)*3250|0)+(((c[e+36>>2]|0)+2048>>12)*2493|0);c[b+84>>2]=(((c[e+108>>2]|0)+2048>>12)*3250|0)+(((c[e+84>>2]|0)+2048>>12)*2493|0);c[b+108>>2]=((c[e+132>>2]|0)+2048>>12)*2493;c[b+132>>2]=0;c[b+16>>2]=0;c[b+40>>2]=((c[e+16>>2]|0)+2048>>12)*3784;c[b+64>>2]=(((c[e+64>>2]|0)+2048>>12)*3784|0)+(((c[e+40>>2]|0)+2048>>12)*1567|0);c[b+88>>2]=(((c[e+112>>2]|0)+2048>>12)*3784|0)+(((c[e+88>>2]|0)+2048>>12)*1567|0);c[b+112>>2]=((c[e+136>>2]|0)+2048>>12)*1567;c[b+136>>2]=0;c[b+20>>2]=0;c[b+44>>2]=((c[e+20>>2]|0)+2048>>12)*4061;c[b+68>>2]=(((c[e+68>>2]|0)+2048>>12)*4061|0)+(((c[e+44>>2]|0)+2048>>12)*535|0);c[b+92>>2]=(((c[e+116>>2]|0)+2048>>12)*4061|0)+(((c[e+92>>2]|0)+2048>>12)*535|0);c[b+116>>2]=((c[e+140>>2]|0)+2048>>12)*535;c[b+140>>2]=0;cc=d;return}function Ng(b){b=b|0;var e=0,f=0,g=0,h=0;h=b+28|0;e=vg(h)|0;g=c[b+4>>2]|0;f=g+-1|0;a:do if(e>>>0>>0){b=e;while(1){e=b+1|0;if((a[b>>0]|0)==-1?(d[e>>0]|0)>223:0){e=b;break a}if(e>>>0>>0)b=e;else break}}while(0);if((g-e|0)<8){h=-1;return h|0}tg(h,e);h=0;return h|0}function Og(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);f=j;g=a+28|0;c[g>>2]=0;h=a+32|0;c[h>>2]=0;i=d+28|0;wg(i,11);if(!(xg(i,1)|0))c[g>>2]=c[g>>2]|16384;k=(xg(i,1)|0)==0;e=c[g>>2]|0;if(!k){if(e&16384|0){c[d+60>>2]=257;k=-1;cc=j;return k|0}}else c[g>>2]=e|4096;k=xg(i,2)|0;c[a>>2]=4-k;if(!k){c[d+60>>2]=258;k=-1;cc=j;return k|0}if(!(xg(i,1)|0)){c[g>>2]=c[g>>2]|16;c[f>>2]=c[i>>2];c[f+4>>2]=c[i+4>>2];b[a+24>>1]=yg(f,16,-1)|0}e=xg(i,4)|0;if((e|0)==15){c[d+60>>2]=259;k=-1;cc=j;return k|0}k=c[a>>2]|0;c[a+16>>2]=c[40624+(((c[g>>2]&4096|0)==0?k+-1|0:(k>>>1)+3|0)*60|0)+(e<<2)>>2];e=xg(i,2)|0;if((e|0)==3){c[d+60>>2]=260;k=-1;cc=j;return k|0}e=c[40924+(e<<2)>>2]|0;d=a+20|0;c[d>>2]=e;f=c[g>>2]|0;if(f&4096|0?(c[d>>2]=e>>>1,f&16384|0):0)c[d>>2]=e>>>2;if(xg(i,1)|0)c[g>>2]=c[g>>2]|128;if(xg(i,1)|0)c[h>>2]=c[h>>2]|256;c[a+4>>2]=3-(xg(i,2)|0);c[a+8>>2]=xg(i,2)|0;if(xg(i,1)|0)c[g>>2]=c[g>>2]|32;if(xg(i,1)|0)c[g>>2]=c[g>>2]|64;c[a+12>>2]=xg(i,2)|0;if(!(c[g>>2]&16)){k=0;cc=j;return k|0}b[a+26>>1]=xg(i,16)|0;k=0;cc=j;return k|0}function Pg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;c[a>>2]=b;if(d>>>0>=e>>>0&(e|0)!=0){h=(d>>>0)/(e>>>0)|0;i=h+b|0;c[a>>2]=i;d=d-(r(h,e)|0)|0}else i=b;a:do if((e|0)>=16e3){if((e|0)<32e3){if((e|0)<22050){switch(e|0){case 16e3:break;default:{f=4;break a}}d=d*22050|0;b=a+4|0;c[b>>2]=d;break}switch(e|0){case 22050:{d=d*16e3|0;b=a+4|0;c[b>>2]=d;break a}case 24e3:{d=d*14700|0;b=a+4|0;c[b>>2]=d;break a}default:{f=4;break a}}}if((e|0)<48e3)if((e|0)<44100){switch(e|0){case 32e3:break;default:{f=4;break a}}d=d*11025|0;b=a+4|0;c[b>>2]=d;break}else{switch(e|0){case 44100:break;default:{f=4;break a}}d=d*8e3|0;b=a+4|0;c[b>>2]=d;break}else if((e|0)<3528e5){switch(e|0){case 48e3:break;default:{f=4;break a}}d=d*7350|0;b=a+4|0;c[b>>2]=d;break}else{switch(e|0){case 3528e5:break;default:{f=4;break a}}b=a+4|0;c[b>>2]=d;break}}else{if((e|0)<8e3){switch(e|0){case 1:case 0:break;case 1e3:{d=d*352800|0;b=a+4|0;c[b>>2]=d;break a}default:{f=4;break a}}c[a+4>>2]=0;return}if((e|0)<11025){switch(e|0){case 8e3:break;default:{f=4;break a}}d=d*44100|0;b=a+4|0;c[b>>2]=d;break}switch(e|0){case 11025:{d=d*32e3|0;b=a+4|0;c[b>>2]=d;break a}case 12e3:{d=d*29400|0;b=a+4|0;c[b>>2]=d;break a}default:{f=4;break a}}}while(0);if((f|0)==4){b=d;f=e;while(1){b=(b>>>0)%(f>>>0)|0;if(!b)break;else{h=f;f=b;b=h}}g=(d>>>0)/(f>>>0)|0;h=(e>>>0)/(f>>>0)|0;if(f>>>0>e>>>0)f=3528e5;else{d=3528e5;f=h;while(1){d=(d>>>0)%(f>>>0)|0;if(!d)break;else{e=f;f=d;d=e}}}d=3528e5/(f>>>0)|0;b=(h>>>0)/(f>>>0)|0;if(f>>>0>h>>>0)W(51997,52008,144,52016);do if(b>>>0>=d>>>0)if(b>>>0>>0){h=(g>>>0)/(b>>>0)|0;d=(((r(g-(r(h,b)|0)|0,d)|0)>>>0)/(b>>>0)|0)+(r(h,d)|0)|0;break}else{d=((r(d,g)|0)>>>0)/(b>>>0)|0;break}else{h=(d>>>0)/(b>>>0)|0;d=(((r(d-(r(h,b)|0)|0,g)|0)>>>0)/(b>>>0)|0)+(r(h,g)|0)|0}while(0);b=a+4|0;c[b>>2]=d}if(d>>>0<=352799999)return;h=(d>>>0)/3528e5|0;c[a>>2]=i+h;c[b>>2]=d-(r(h,3528e5)|0);return}function Qg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=cc;cc=cc+112|0;if((cc|0)>=(dc|0))w(112);j=u+48|0;i=u;s=a+28|0;q=s;p=c[q>>2]|0;q=c[q+4>>2]|0;m=c[b+28>>2]|0;d=m>>>7&1;m=(c[b>>2]|0)==3?((m&4096|0)==0?144:72):144;if(!(Ng(a)|0)){k=i+20|0;l=b+20|0;o=a+20|0;n=4-(d<<2)|0;h=d^1;d=0;do{e=j;f=a;g=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));e=i;f=b;g=e+44|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));if(((Og(i,j)|0)==0?(c[i>>2]|0)==(c[b>>2]|0):0)?(c[k>>2]|0)==(c[l>>2]|0):0){d=vg(s)|0;g=(c[b>>2]|0)==1;g=((r(c[l>>2]|0,(g?n:h)+(d-(c[o>>2]|0))|0)|0)>>>0)/((g?48:m)>>>0)|0;d=(g>>>0)/1e3|0;if(g>>>0>=8e3){t=8;break}}wg(s,8)}while((Ng(a)|0)==0);t=s;c[t>>2]=p;c[t+4>>2]=q;if(d>>>0>=8?!(d>>>0>640&(c[b>>2]|0)==3):0){c[a+16>>2]=d*1e3;t=0;cc=u;return t|0}}else{t=s;c[t>>2]=p;c[t+4>>2]=q}c[a+60>>2]=257;t=-1;cc=u;return t|0}function Rg(a){a=a|0;var b=0;rj(a|0,0,1024)|0;b=0;do{c[a+1536+(b<<5)>>2]=0;c[a+1024+(b<<5)>>2]=0;c[a+1536+(b<<5)+4>>2]=0;c[a+1024+(b<<5)+4>>2]=0;c[a+1536+(b<<5)+8>>2]=0;c[a+1024+(b<<5)+8>>2]=0;c[a+1536+(b<<5)+12>>2]=0;c[a+1024+(b<<5)+12>>2]=0;c[a+1536+(b<<5)+16>>2]=0;c[a+1024+(b<<5)+16>>2]=0;c[a+1536+(b<<5)+20>>2]=0;c[a+1024+(b<<5)+20>>2]=0;c[a+1536+(b<<5)+24>>2]=0;c[a+1024+(b<<5)+24>>2]=0;c[a+1536+(b<<5)+28>>2]=0;c[a+1024+(b<<5)+28>>2]=0;b=b+1|0}while((b|0)!=16);rj(a+2048|0,0,1024)|0;b=0;do{c[a+3584+(b<<5)>>2]=0;c[a+3072+(b<<5)>>2]=0;c[a+3584+(b<<5)+4>>2]=0;c[a+3072+(b<<5)+4>>2]=0;c[a+3584+(b<<5)+8>>2]=0;c[a+3072+(b<<5)+8>>2]=0;c[a+3584+(b<<5)+12>>2]=0;c[a+3072+(b<<5)+12>>2]=0;c[a+3584+(b<<5)+16>>2]=0;c[a+3072+(b<<5)+16>>2]=0;c[a+3584+(b<<5)+20>>2]=0;c[a+3072+(b<<5)+20>>2]=0;c[a+3584+(b<<5)+24>>2]=0;c[a+3072+(b<<5)+24>>2]=0;c[a+3584+(b<<5)+28>>2]=0;c[a+3072+(b<<5)+28>>2]=0;b=b+1|0}while((b|0)!=16);return}function Sg(a){a=a|0;var b=0;rj(a+48|0,0,9216)|0;a=c[a+9264>>2]|0;if(!a)return;rj(a|0,0,2304)|0;b=0;do{c[a+2304+(b<<2)>>2]=0;c[a+2376+(b<<2)>>2]=0;c[a+2448+(b<<2)>>2]=0;c[a+2520+(b<<2)>>2]=0;c[a+2592+(b<<2)>>2]=0;c[a+2664+(b<<2)>>2]=0;c[a+2736+(b<<2)>>2]=0;c[a+2808+(b<<2)>>2]=0;c[a+2880+(b<<2)>>2]=0;c[a+2952+(b<<2)>>2]=0;c[a+3024+(b<<2)>>2]=0;c[a+3096+(b<<2)>>2]=0;c[a+3168+(b<<2)>>2]=0;c[a+3240+(b<<2)>>2]=0;c[a+3312+(b<<2)>>2]=0;c[a+3384+(b<<2)>>2]=0;c[a+3456+(b<<2)>>2]=0;c[a+3528+(b<<2)>>2]=0;c[a+3600+(b<<2)>>2]=0;c[a+3672+(b<<2)>>2]=0;c[a+3744+(b<<2)>>2]=0;c[a+3816+(b<<2)>>2]=0;c[a+3888+(b<<2)>>2]=0;c[a+3960+(b<<2)>>2]=0;c[a+4032+(b<<2)>>2]=0;c[a+4104+(b<<2)>>2]=0;c[a+4176+(b<<2)>>2]=0;c[a+4248+(b<<2)>>2]=0;c[a+4320+(b<<2)>>2]=0;c[a+4392+(b<<2)>>2]=0;c[a+4464+(b<<2)>>2]=0;c[a+4536+(b<<2)>>2]=0;b=b+1|0}while((b|0)!=18);return}function Tg(){Ug(0);return}function Ug(a){a=a|0;wa(1312,52031);la(1328,52036,1,1,0);sa(1336,52041,1,-128,127);sa(1352,52046,1,-128,127);sa(1344,52058,1,0,255);sa(1360,52072,2,-32768,32767);sa(1368,52078,2,0,65535);sa(1376,52093,4,-2147483648,2147483647);sa(1384,52097,4,0,-1);sa(1392,52110,4,-2147483648,2147483647);sa(1400,52115,4,0,-1);ra(1408,52129,4);ra(1416,52135,8);ua(552,52142);ua(736,52154);va(760,4,52187);qa(576,52200);ta(784,0,52216);ta(792,0,52246);ta(800,1,52283);ta(808,2,52322);ta(816,3,52353);ta(824,4,52393);ta(832,5,52422);ta(840,4,52460);ta(848,5,52490);ta(792,0,52529);ta(800,1,52561);ta(808,2,52594);ta(816,3,52627);ta(824,4,52661);ta(832,5,52694);ta(856,6,52728);ta(864,7,52759);ta(872,7,52791);return}function Vg(a){a=a|0;return Ch(c[a+4>>2]|0)|0}function Wg(a){a=a|0;var b=0,d=0;b=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);d=b;c[d>>2]=$g(c[a+60>>2]|0)|0;a=Zg(ia(6,d|0)|0)|0;cc=b;return a|0}function Xg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=cc;cc=cc+48|0;if((cc|0)>=(dc|0))w(48);k=m+32|0;g=m+16|0;f=m;i=a+28|0;e=c[i>>2]|0;c[f>>2]=e;j=a+20|0;e=(c[j>>2]|0)-e|0;c[f+4>>2]=e;c[f+8>>2]=b;c[f+12>>2]=d;e=e+d|0;h=a+60|0;c[g>>2]=c[h>>2];c[g+4>>2]=f;c[g+8>>2]=2;g=Zg(ga(146,g|0)|0)|0;a:do if((e|0)!=(g|0)){b=2;while(1){if((g|0)<0)break;e=e-g|0;o=c[f+4>>2]|0;n=g>>>0>o>>>0;f=n?f+8|0:f;b=b+(n<<31>>31)|0;o=g-(n?o:0)|0;c[f>>2]=(c[f>>2]|0)+o;n=f+4|0;c[n>>2]=(c[n>>2]|0)-o;c[k>>2]=c[h>>2];c[k+4>>2]=f;c[k+8>>2]=b;g=Zg(ga(146,k|0)|0)|0;if((e|0)==(g|0)){l=3;break a}}c[a+16>>2]=0;c[i>>2]=0;c[j>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[f+4>>2]|0)|0}else l=3;while(0);if((l|0)==3){o=c[a+44>>2]|0;c[a+16>>2]=o+(c[a+48>>2]|0);c[i>>2]=o;c[j>>2]=o}cc=m;return d|0}function Yg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=cc;cc=cc+32|0;if((cc|0)>=(dc|0))w(32);h=g+8|0;f=g;c[h>>2]=c[a+60>>2];c[h+4>>2]=d;c[h+8>>2]=b;c[h+12>>2]=f;c[h+16>>2]=e;if((Zg(fa(140,h|0)|0)|0)<0){a=f;c[a>>2]=-1;c[a+4>>2]=-1;a=-1;b=-1}else{b=f;a=c[b+4>>2]|0;b=c[b>>2]|0}u(a|0);cc=g;return b|0}function Zg(a){a=a|0;if(a>>>0>4294963200){c[(_g()|0)>>2]=0-a;a=-1}return a|0}function _g(){return 55260}function $g(a){a=a|0;return a|0}function ah(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=cc;cc=cc+32|0;if((cc|0)>=(dc|0))w(32);f=g;c[b+36>>2]=1;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21523,c[f+8>>2]=g+16,ha(54,f|0)|0):0)a[b+75>>0]=-1;f=Xg(b,d,e)|0;cc=g;return f|0}function bh(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)b=0;else{while(1){e=a[b>>0]|0;f=a[c>>0]|0;if(e<<24>>24!=f<<24>>24)break;d=d+-1|0;if(!d){b=0;break a}else{b=b+1|0;c=c+1|0}}b=(e&255)-(f&255)|0}while(0);return b|0}function ch(a){a=a|0;return (a+-48|0)>>>0<10|0}function dh(a,b,c){a=a|0;b=b|0;c=c|0;return gh(a,b,c,1,17)|0}function eh(b,e,f,g,h,i){b=b|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,s=0,t=0,u=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=cc;cc=cc+560|0;if((cc|0)>=(dc|0))w(560);l=I+32|0;x=I+536|0;H=I;G=H;m=I+540|0;c[x>>2]=0;F=m+12|0;yh(e)|0;j=v()|0;if((j|0)<0){e=-e;yh(e)|0;E=1;D=53343;j=v()|0}else{E=(h&2049|0)!=0&1;D=(h&2048|0)==0?((h&1|0)==0?53344:53349):53346}do if(0==0&(j&2146435072|0)==2146435072){H=(i&32|0)!=0;j=E+3|0;rh(b,32,f,j,h&-65537);kh(b,D,E);kh(b,e!=e|0.0!=0.0?(H?53370:53374):H?53362:53366,3);rh(b,32,f,j,h^8192)}else{q=+zh(e,x)*2.0;j=q!=0.0;if(j)c[x>>2]=(c[x>>2]|0)+-1;u=i|32;if((u|0)==97){o=i&32;s=(o|0)==0?D:D+9|0;p=E|2;j=12-g|0;do if(!(g>>>0>11|(j|0)==0)){e=8.0;do{j=j+-1|0;e=e*16.0}while((j|0)!=0);if((a[s>>0]|0)==45){e=-(e+(-q-e));break}else{e=q+e-e;break}}else e=q;while(0);k=c[x>>2]|0;j=(k|0)<0?0-k|0:k;j=ph(j,((j|0)<0)<<31>>31,F)|0;if((j|0)==(F|0)){j=m+11|0;a[j>>0]=48}a[j+-1>>0]=(k>>31&2)+43;n=j+-2|0;a[n>>0]=i+15;k=(g|0)<1;l=(h&8|0)==0;m=H;do{E=~~e;j=m+1|0;a[m>>0]=o|d[528+E>>0];e=(e-+(E|0))*16.0;if((j-G|0)==1?!(l&(k&e==0.0)):0){a[j>>0]=46;m=m+2|0}else m=j}while(e!=0.0);if((g|0)!=0?(-2-G+m|0)<(g|0):0){k=F;l=n;j=g+2+k-l|0}else{k=F;l=n;j=k-G-l+m|0}F=j+p|0;rh(b,32,f,F,h);kh(b,s,p);rh(b,48,f,F,h^65536);G=m-G|0;kh(b,H,G);H=k-l|0;rh(b,48,j-(G+H)|0,0,0);kh(b,n,H);rh(b,32,f,F,h^8192);j=F;break}k=(g|0)<0?6:g;if(j){j=(c[x>>2]|0)+-28|0;c[x>>2]=j;e=q*268435456.0}else{e=q;j=c[x>>2]|0}C=(j|0)<0?l:l+288|0;l=C;do{A=~~e>>>0;c[l>>2]=A;l=l+4|0;e=(e-+(A>>>0))*1.0e9}while(e!=0.0);A=C;if((j|0)>0){o=C;while(1){n=(j|0)<29?j:29;j=l+-4|0;if(j>>>0>=o>>>0){m=0;do{t=oj(c[j>>2]|0,0,n|0)|0;t=ij(t|0,v()|0,m|0,0)|0;y=v()|0;m=mj(t|0,y|0,1e9,0)|0;z=hj(m|0,v()|0,1e9,0)|0;z=jj(t|0,y|0,z|0,v()|0)|0;v()|0;c[j>>2]=z;j=j+-4|0}while(j>>>0>=o>>>0);if(m){z=o+-4|0;c[z>>2]=m;m=z}else m=o}else m=o;a:do if(l>>>0>m>>>0){j=l;while(1){l=j+-4|0;if(c[l>>2]|0){l=j;break a}if(l>>>0>m>>>0)j=l;else break}}while(0);j=(c[x>>2]|0)-n|0;c[x>>2]=j;if((j|0)>0)o=m;else break}}else m=C;if((j|0)<0){g=((k+25|0)/9|0)+1|0;t=(u|0)==102;do{s=0-j|0;s=(s|0)<9?s:9;if(m>>>0>>0){n=(1<>>s;p=0;j=m;do{z=c[j>>2]|0;c[j>>2]=(z>>>s)+p;p=r(z&n,o)|0;j=j+4|0}while(j>>>0>>0);m=(c[m>>2]|0)==0?m+4|0:m;if(p){c[l>>2]=p;l=l+4|0}}else m=(c[m>>2]|0)==0?m+4|0:m;j=t?C:m;l=(l-j>>2|0)>(g|0)?j+(g<<2)|0:l;j=(c[x>>2]|0)+s|0;c[x>>2]=j}while((j|0)<0);t=m}else t=m;if(t>>>0>>0){j=(A-t>>2)*9|0;n=c[t>>2]|0;if(n>>>0>=10){m=10;do{m=m*10|0;j=j+1|0}while(n>>>0>=m>>>0)}}else j=0;y=(u|0)==103;z=(k|0)!=0;m=k-((u|0)==102?0:j)+((z&y)<<31>>31)|0;if((m|0)<(((l-A>>2)*9|0)+-9|0)){x=m+9216|0;m=(x|0)/9|0;g=C+4+(m+-1024<<2)|0;m=x-(m*9|0)|0;if((m|0)<8){n=10;while(1){n=n*10|0;if((m|0)<7)m=m+1|0;else break}}else n=10;p=c[g>>2]|0;m=(p>>>0)/(n>>>0)|0;s=p-(r(m,n)|0)|0;o=(g+4|0)==(l|0);if(!(o&(s|0)==0)){q=(m&1|0)==0?9007199254740992.0:9007199254740994.0;x=n>>>1;e=s>>>0>>0?.5:o&(s|0)==(x|0)?1.0:1.5;if(E){x=(a[D>>0]|0)==45;e=x?-e:e;q=x?-q:q}m=p-s|0;c[g>>2]=m;if(q+e!=q){x=m+n|0;c[g>>2]=x;if(x>>>0>999999999){n=g;j=t;while(1){m=n+-4|0;c[n>>2]=0;if(m>>>0>>0){j=j+-4|0;c[j>>2]=0}x=(c[m>>2]|0)+1|0;c[m>>2]=x;if(x>>>0>999999999)n=m;else{n=j;break}}}else{m=g;n=t}j=(A-n>>2)*9|0;p=c[n>>2]|0;if(p>>>0>=10){o=10;do{o=o*10|0;j=j+1|0}while(p>>>0>=o>>>0)}}else{m=g;n=t}}else{m=g;n=t}x=m+4|0;l=l>>>0>x>>>0?x:l}else n=t;g=0-j|0;b:do if(l>>>0>n>>>0)while(1){m=l+-4|0;if(c[m>>2]|0){x=l;u=1;break b}if(m>>>0>n>>>0)l=m;else{x=m;u=0;break}}else{x=l;u=0}while(0);do if(y){k=k+((z^1)&1)|0;if((k|0)>(j|0)&(j|0)>-5){o=i+-1|0;k=k+-1-j|0}else{o=i+-2|0;k=k+-1|0}if(!(h&8)){if(u?(B=c[x+-4>>2]|0,(B|0)!=0):0)if(!((B>>>0)%10|0)){m=0;l=10;do{l=l*10|0;m=m+1|0}while(!((B>>>0)%(l>>>0)|0|0))}else m=0;else m=9;l=((x-A>>2)*9|0)+-9|0;if((o|32|0)==102){i=l-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}else{i=l+j-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}}}else o=i;while(0);t=(k|0)!=0;p=t?1:h>>>3&1;s=(o|32|0)==102;if(s){y=0;j=(j|0)>0?j:0}else{l=(j|0)<0?g:j;l=ph(l,((l|0)<0)<<31>>31,F)|0;m=F;if((m-l|0)<2)do{l=l+-1|0;a[l>>0]=48}while((m-l|0)<2);a[l+-1>>0]=(j>>31&2)+43;j=l+-2|0;a[j>>0]=o;y=j;j=m-j|0}j=E+1+k+p+j|0;rh(b,32,f,j,h);kh(b,D,E);rh(b,48,f,j,h^65536);if(s){p=n>>>0>C>>>0?C:n;s=H+9|0;n=s;o=H+8|0;m=p;do{l=ph(c[m>>2]|0,0,s)|0;if((m|0)==(p|0)){if((l|0)==(s|0)){a[o>>0]=48;l=o}}else if(l>>>0>H>>>0){rj(H|0,48,l-G|0)|0;do l=l+-1|0;while(l>>>0>H>>>0)}kh(b,l,n-l|0);m=m+4|0}while(m>>>0<=C>>>0);if(!((h&8|0)==0&(t^1)))kh(b,53378,1);if(m>>>0>>0&(k|0)>0)while(1){l=ph(c[m>>2]|0,0,s)|0;if(l>>>0>H>>>0){rj(H|0,48,l-G|0)|0;do l=l+-1|0;while(l>>>0>H>>>0)}kh(b,l,(k|0)<9?k:9);m=m+4|0;l=k+-9|0;if(!(m>>>0>>0&(k|0)>9)){k=l;break}else k=l}rh(b,48,k+9|0,9,0)}else{x=u?x:n+4|0;if(n>>>0>>0&(k|0)>-1){g=H+9|0;t=(h&8|0)==0;u=g;p=0-G|0;s=H+8|0;o=n;do{l=ph(c[o>>2]|0,0,g)|0;if((l|0)==(g|0)){a[s>>0]=48;l=s}do if((o|0)==(n|0)){m=l+1|0;kh(b,l,1);if(t&(k|0)<1){l=m;break}kh(b,53378,1);l=m}else{if(l>>>0<=H>>>0)break;rj(H|0,48,l+p|0)|0;do l=l+-1|0;while(l>>>0>H>>>0)}while(0);G=u-l|0;kh(b,l,(k|0)>(G|0)?G:k);k=k-G|0;o=o+4|0}while(o>>>0>>0&(k|0)>-1)}rh(b,48,k+18|0,18,0);kh(b,y,F-y|0)}rh(b,32,f,j,h^8192)}while(0);cc=I;return ((j|0)<(f|0)?f:j)|0}function fh(a,b){a=a|0;b=b|0;var d=0.0,e=0;e=(c[b>>2]|0)+(8-1)&~(8-1);d=+g[e>>3];c[b>>2]=e+8;g[a>>3]=d;return}function gh(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=cc;cc=cc+224|0;if((cc|0)>=(dc|0))w(224);p=t+208|0;q=t+160|0;r=t+80|0;s=t;h=q;i=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));c[p>>2]=c[e>>2];if((hh(0,d,p,r,q,f,g)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)o=ih(b)|0;else o=0;e=c[b>>2]|0;n=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;h=b+48|0;if(!(c[h>>2]|0)){i=b+44|0;j=c[i>>2]|0;c[i>>2]=s;k=b+28|0;c[k>>2]=s;l=b+20|0;c[l>>2]=s;c[h>>2]=80;m=b+16|0;c[m>>2]=s+80;e=hh(b,d,p,r,q,f,g)|0;if(j){ic[c[b+36>>2]&7](b,0,0)|0;e=(c[l>>2]|0)==0?-1:e;c[i>>2]=j;c[h>>2]=0;c[m>>2]=0;c[k>>2]=0;c[l>>2]=0}}else e=hh(b,d,p,r,q,f,g)|0;h=c[b>>2]|0;c[b>>2]=h|n;if(o|0)jh(b);e=(h&32|0)==0?e:-1}cc=t;return e|0}function hh(d,e,f,h,i,j,k){d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,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;K=cc;cc=cc+64|0;if((cc|0)>=(dc|0))w(64);H=K+56|0;J=K+40|0;C=K;E=K+48|0;F=K+60|0;c[H>>2]=e;z=(d|0)!=0;A=C+40|0;B=A;C=C+39|0;D=E+4|0;l=0;e=0;n=0;a:while(1){do{do if((e|0)>-1)if((l|0)>(2147483647-e|0)){c[(_g()|0)>>2]=75;e=-1;break}else{e=l+e|0;break}while(0);r=c[H>>2]|0;l=a[r>>0]|0;if(!(l<<24>>24)){y=92;break a}m=r;b:while(1){switch(l<<24>>24){case 37:{y=10;break b}case 0:{l=m;break b}default:{}}x=m+1|0;c[H>>2]=x;l=a[x>>0]|0;m=x}c:do if((y|0)==10){y=0;l=m;do{if((a[m+1>>0]|0)!=37)break c;l=l+1|0;m=m+2|0;c[H>>2]=m}while((a[m>>0]|0)==37)}while(0);l=l-r|0;if(z)kh(d,r,l)}while((l|0)!=0);x=(ch(a[(c[H>>2]|0)+1>>0]|0)|0)==0;m=c[H>>2]|0;if(!x?(a[m+2>>0]|0)==36:0){t=(a[m+1>>0]|0)+-48|0;p=1;l=3}else{t=-1;p=n;l=1}l=m+l|0;c[H>>2]=l;m=a[l>>0]|0;n=(m<<24>>24)+-32|0;if(n>>>0>31|(1<>2]=l;m=a[l>>0]|0;n=(m<<24>>24)+-32|0}while(!(n>>>0>31|(1<>24==42){if((ch(a[l+1>>0]|0)|0)!=0?(I=c[H>>2]|0,(a[I+2>>0]|0)==36):0){l=I+1|0;c[i+((a[l>>0]|0)+-48<<2)>>2]=10;l=c[h+((a[l>>0]|0)+-48<<3)>>2]|0;n=1;m=I+3|0}else{if(p|0){e=-1;break}if(z){x=(c[f>>2]|0)+(4-1)&~(4-1);l=c[x>>2]|0;c[f>>2]=x+4}else l=0;n=0;m=(c[H>>2]|0)+1|0}c[H>>2]=m;x=(l|0)<0;u=x?0-l|0:l;o=x?o|8192:o;x=n}else{l=lh(H)|0;if((l|0)<0){e=-1;break}u=l;x=p;m=c[H>>2]|0}do if((a[m>>0]|0)==46){l=m+1|0;if((a[l>>0]|0)!=42){c[H>>2]=l;l=lh(H)|0;m=c[H>>2]|0;break}if(ch(a[m+2>>0]|0)|0?(G=c[H>>2]|0,(a[G+3>>0]|0)==36):0){l=G+2|0;c[i+((a[l>>0]|0)+-48<<2)>>2]=10;l=c[h+((a[l>>0]|0)+-48<<3)>>2]|0;m=G+4|0;c[H>>2]=m;break}if(x|0){e=-1;break a}if(z){s=(c[f>>2]|0)+(4-1)&~(4-1);l=c[s>>2]|0;c[f>>2]=s+4}else l=0;m=(c[H>>2]|0)+2|0;c[H>>2]=m}else l=-1;while(0);s=0;while(1){if(((a[m>>0]|0)+-65|0)>>>0>57){e=-1;break a}n=m;m=m+1|0;c[H>>2]=m;n=a[(a[n>>0]|0)+-65+(64+(s*58|0))>>0]|0;p=n&255;if((p+-1|0)>>>0>=8)break;else s=p}if(!(n<<24>>24)){e=-1;break}q=(t|0)>-1;do if(n<<24>>24==19)if(q){e=-1;break a}else y=54;else{if(q){c[i+(t<<2)>>2]=p;q=h+(t<<3)|0;t=c[q+4>>2]|0;y=J;c[y>>2]=c[q>>2];c[y+4>>2]=t;y=54;break}if(!z){e=0;break a}mh(J,p,f,k);m=c[H>>2]|0;y=55}while(0);if((y|0)==54){y=0;if(z)y=55;else l=0}d:do if((y|0)==55){y=0;m=a[m+-1>>0]|0;m=(s|0)!=0&(m&15|0)==3?m&-33:m;n=o&-65537;t=(o&8192|0)==0?o:n;e:do switch(m|0){case 110:switch((s&255)<<24>>24){case 0:{c[c[J>>2]>>2]=e;l=0;break d}case 1:{c[c[J>>2]>>2]=e;l=0;break d}case 2:{l=c[J>>2]|0;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=0;break d}case 3:{b[c[J>>2]>>1]=e;l=0;break d}case 4:{a[c[J>>2]>>0]=e;l=0;break d}case 6:{c[c[J>>2]>>2]=e;l=0;break d}case 7:{l=c[J>>2]|0;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=0;break d}default:{l=0;break d}}case 112:{m=120;l=l>>>0>8?l:8;n=t|8;y=67;break}case 88:case 120:{n=t;y=67;break}case 111:{q=J;q=oh(c[q>>2]|0,c[q+4>>2]|0,A)|0;n=B-q|0;o=0;p=53326;l=(t&8|0)==0|(l|0)>(n|0)?l:n+1|0;n=t;y=73;break}case 105:case 100:{n=J;m=c[n>>2]|0;n=c[n+4>>2]|0;if((n|0)<0){m=jj(0,0,m|0,n|0)|0;n=v()|0;o=J;c[o>>2]=m;c[o+4>>2]=n;o=1;p=53326;y=72;break e}else{o=(t&2049|0)!=0&1;p=(t&2048|0)==0?((t&1|0)==0?53326:53328):53327;y=72;break e}}case 117:{n=J;o=0;p=53326;m=c[n>>2]|0;n=c[n+4>>2]|0;y=72;break}case 99:{a[C>>0]=c[J>>2];r=C;o=0;p=53326;q=1;m=n;l=B;break}case 115:{s=c[J>>2]|0;s=(s|0)==0?53336:s;t=qh(s,0,l)|0;L=(t|0)==0;r=s;o=0;p=53326;q=L?l:t-s|0;m=n;l=L?s+l|0:t;break}case 67:{c[E>>2]=c[J>>2];c[D>>2]=0;c[J>>2]=E;p=-1;y=79;break}case 83:{if(!l){rh(d,32,u,0,t);l=0;y=89}else{p=l;y=79}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{l=gc[j&1](d,+g[J>>3],u,l,t,m)|0;break d}default:{o=0;p=53326;q=l;m=t;l=B}}while(0);f:do if((y|0)==67){q=J;q=nh(c[q>>2]|0,c[q+4>>2]|0,A,m&32)|0;p=J;p=(n&8|0)==0|(c[p>>2]|0)==0&(c[p+4>>2]|0)==0;o=p?0:2;p=p?53326:53326+(m>>>4)|0;y=73}else if((y|0)==72){q=ph(m,n,A)|0;n=t;y=73}else if((y|0)==79){y=0;o=c[J>>2]|0;l=0;while(1){m=c[o>>2]|0;if(!m)break;m=sh(F,m)|0;n=(m|0)<0;if(n|m>>>0>(p-l|0)>>>0){y=83;break}l=m+l|0;if(p>>>0>l>>>0)o=o+4|0;else break}if((y|0)==83){y=0;if(n){e=-1;break a}}rh(d,32,u,l,t);if(!l){l=0;y=89}else{n=c[J>>2]|0;o=0;while(1){m=c[n>>2]|0;if(!m){y=89;break f}m=sh(F,m)|0;o=m+o|0;if((o|0)>(l|0)){y=89;break f}kh(d,F,m);if(o>>>0>=l>>>0){y=89;break}else n=n+4|0}}}while(0);if((y|0)==73){y=0;m=J;m=(c[m>>2]|0)!=0|(c[m+4>>2]|0)!=0;L=(l|0)!=0|m;m=B-q+((m^1)&1)|0;r=L?q:A;q=L?((l|0)>(m|0)?l:m):0;m=(l|0)>-1?n&-65537:n;l=B}else if((y|0)==89){y=0;rh(d,32,u,l,t^8192);l=(u|0)>(l|0)?u:l;break}t=l-r|0;s=(q|0)<(t|0)?t:q;L=s+o|0;l=(u|0)<(L|0)?L:u;rh(d,32,l,L,m);kh(d,p,o);rh(d,48,l,L,m^65536);rh(d,48,s,t,0);kh(d,r,t);rh(d,32,l,L,m^8192)}while(0);n=x}g:do if((y|0)==92)if(!d)if(!n)e=0;else{e=1;while(1){l=c[i+(e<<2)>>2]|0;if(!l)break;mh(h+(e<<3)|0,l,f,k);e=e+1|0;if(e>>>0>=10){e=1;break g}}while(1){if(c[i+(e<<2)>>2]|0){e=-1;break g}e=e+1|0;if(e>>>0>=10){e=1;break}}}while(0);cc=K;return e|0}function ih(a){a=a|0;return 1}function jh(a){a=a|0;return}function kh(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))wh(b,d,a)|0;return}function lh(b){b=b|0;var d=0,e=0;if(!(ch(a[c[b>>2]>>0]|0)|0))d=0;else{d=0;do{e=c[b>>2]|0;d=(d*10|0)+-48+(a[e>>0]|0)|0;e=e+1|0;c[b>>2]=e}while((ch(a[e>>0]|0)|0)!=0)}return d|0}function mh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{b=(c[d>>2]|0)+(4-1)&~(4-1);e=c[b>>2]|0;c[d>>2]=b+4;c[a>>2]=e;break a}case 10:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);h=+g[f>>3];c[d>>2]=f+8;g[a>>3]=h;break a}case 18:{mc[e&31](a,d);break a}default:break a}while(0);while(0);return}function nh(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;if(!((b|0)==0&(c|0)==0))do{e=e+-1|0;a[e>>0]=d[528+(b&15)>>0]|0|f;b=nj(b|0,c|0,4)|0;c=v()|0}while(!((b|0)==0&(c|0)==0));return e|0}function oh(b,c,d){b=b|0;c=c|0;d=d|0;if(!((b|0)==0&(c|0)==0))do{d=d+-1|0;a[d>>0]=b&7|48;b=nj(b|0,c|0,3)|0;c=v()|0}while(!((b|0)==0&(c|0)==0));return d|0}function ph(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295){do{e=b;b=mj(b|0,c|0,10,0)|0;f=c;c=v()|0;g=hj(b|0,c|0,10,0)|0;g=jj(e|0,f|0,g|0,v()|0)|0;v()|0;d=d+-1|0;a[d>>0]=g&255|48}while(f>>>0>9|(f|0)==9&e>>>0>4294967295);c=b}else c=b;if(c)do{g=c;c=(c>>>0)/10|0;d=d+-1|0;a[d>>0]=g-(c*10|0)|48}while(g>>>0>=10);return d|0}function qh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(f)i=6;else i=16;b:do if((i|0)==6){g=d&255;if((a[b>>0]|0)==g<<24>>24)if(!e){i=16;break}else break;f=r(h,16843009)|0;c:do if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009|0)break c;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break}}else i=11;while(0);if((i|0)==11)if(!e){i=16;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;e=e+-1|0;if(!e){i=16;break}else b=b+1|0}}while(0);if((i|0)==16)b=0;return b|0}function rh(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;g=cc;cc=cc+256|0;if((cc|0)>=(dc|0))w(256);f=g;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;rj(f|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{kh(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}kh(a,f,e)}cc=g;return}function sh(a,b){a=a|0;b=b|0;if(!a)a=0;else a=th(a,b,0)|0;return a|0}function th(b,d,e){b=b|0;d=d|0;e=e|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(!(c[c[(uh()|0)+188>>2]>>2]|0))if((d&-128|0)==57216){a[b>>0]=d;b=1;break}else{c[(_g()|0)>>2]=84;b=-1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{c[(_g()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function uh(){return vh()|0}function vh(){return 40944}function wh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(xh(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){j=e+20|0;i=c[j>>2]|0;f=i;if((g-i|0)>>>0>>0){f=ic[c[e+36>>2]&7](e,b,d)|0;break}b:do if((a[e+75>>0]|0)<0|(d|0)==0){h=0;g=b}else{i=d;while(1){g=i+-1|0;if((a[b+g>>0]|0)==10)break;if(!g){h=0;g=b;break b}else i=g}f=ic[c[e+36>>2]&7](e,b,i)|0;if(f>>>0>>0)break a;h=i;g=b+i|0;d=d-i|0;f=c[j>>2]|0}while(0);pj(f|0,g|0,d|0)|0;c[j>>2]=(c[j>>2]|0)+d;f=h+d|0}while(0);return f|0}function xh(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;e=c[b+44>>2]|0;c[b+28>>2]=e;c[b+20>>2]=e;c[b+16>>2]=e+(c[b+48>>2]|0);b=0}else{c[b>>2]=d|32;b=-1}return b|0}function yh(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;u(c[h+4>>2]|0);return b|0}function zh(a,b){a=+a;b=b|0;var d=0,e=0,f=0;g[h>>3]=a;d=c[h>>2]|0;e=c[h+4>>2]|0;f=nj(d|0,e|0,52)|0;v()|0;switch(f&2047){case 0:{if(a!=0.0){a=+zh(a*18446744073709551616.0,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=(f&2047)+-1022;c[h>>2]=d;c[h+4>>2]=e&-2146435073|1071644672;a=+g[h>>3]}}return +a}function Ah(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=5;else{d=f;while(1){if(!(a[b>>0]|0)){b=d;break a}b=b+1|0;d=b;if(!(d&3)){e=5;break}}}while(0);if((e|0)==5){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function Bh(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);j=l;k=e&255;a[j>>0]=k;g=b+16|0;h=c[g>>2]|0;if(!h)if(!(xh(b)|0)){h=c[g>>2]|0;i=4}else f=-1;else i=4;do if((i|0)==4){i=b+20|0;g=c[i>>2]|0;if(g>>>0>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[i>>2]=g+1;a[g>>0]=k;break}if((ic[c[b+36>>2]&7](b,j,1)|0)==1)f=d[j>>0]|0;else f=-1}while(0);cc=l;return f|0}function Ch(a){a=a|0;var b=0,c=0;b=(Ah(a)|0)+1|0;c=Jh(b)|0;if(!c)a=0;else a=pj(c|0,a|0,b|0)|0;return a|0}function Dh(){ca(55264);return 55272}function Eh(){ja(55264);return}function Fh(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=Gh(a)|0;break}d=(ih(a)|0)==0;b=Gh(a)|0;if(!d)jh(a)}else{if(!(c[10235]|0))b=0;else b=Fh(c[10235]|0)|0;a=c[(Dh()|0)>>2]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=ih(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=Gh(a)|0|b;if(d|0)jh(a);a=c[a+56>>2]|0}while((a|0)!=0);Eh()}while(0);return b|0}function Gh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;h=a+28|0;if((c[b>>2]|0)>>>0>(c[h>>2]|0)>>>0?(ic[c[a+36>>2]&7](a,0,0)|0,(c[b>>2]|0)==0):0)a=-1;else{d=a+4|0;e=c[d>>2]|0;f=a+8|0;g=c[f>>2]|0;if(e>>>0>>0){g=e-g|0;jc[c[a+40>>2]&1](a,g,((g|0)<0)<<31>>31,1)|0;v()|0}c[a+16>>2]=0;c[h>>2]=0;c[b>>2]=0;c[f>>2]=0;c[d>>2]=0;a=0}return a|0}function Hh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);f=e;c[f>>2]=d;d=dh(a,b,f)|0;cc=e;return d|0}function Ih(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((c[d+76>>2]|0)>=0?(ih(d)|0)!=0:0){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(i=d+20|0,j=c[i>>2]|0,j>>>0<(c[d+16>>2]|0)>>>0):0){c[i>>2]=j+1;a[j>>0]=f}else e=Bh(d,b)|0;jh(d)}else k=3;do if((k|0)==3){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(g=d+20|0,h=c[g>>2]|0,h>>>0<(c[d+16>>2]|0)>>>0):0){c[g>>2]=h+1;a[h>>0]=f;break}e=Bh(d,b)|0}while(0);return e|0}function Jh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0;x=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);n=x;do if(a>>>0<245){k=a>>>0<11?16:a+11&-8;a=k>>>3;m=c[13819]|0;d=m>>>a;if(d&3|0){b=(d&1^1)+a|0;a=55316+(b<<1<<2)|0;d=a+8|0;e=c[d>>2]|0;f=e+8|0;g=c[f>>2]|0;if((g|0)==(a|0))c[13819]=m&~(1<>2]=a;c[d>>2]=g}v=b<<3;c[e+4>>2]=v|3;v=e+v+4|0;c[v>>2]=c[v>>2]|1;v=f;cc=x;return v|0}l=c[13821]|0;if(k>>>0>l>>>0){if(d|0){b=2<>>12&16;b=b>>>i;d=b>>>5&8;b=b>>>d;g=b>>>2&4;b=b>>>g;a=b>>>1&2;b=b>>>a;e=b>>>1&1;e=(d|i|g|a|e)+(b>>>e)|0;b=55316+(e<<1<<2)|0;a=b+8|0;g=c[a>>2]|0;i=g+8|0;d=c[i>>2]|0;if((d|0)==(b|0)){a=m&~(1<>2]=b;c[a>>2]=d;a=m}v=e<<3;h=v-k|0;c[g+4>>2]=k|3;f=g+k|0;c[f+4>>2]=h|1;c[g+v>>2]=h;if(l|0){e=c[13824]|0;b=l>>>3;d=55316+(b<<1<<2)|0;b=1<>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[13821]=h;c[13824]=f;v=i;cc=x;return v|0}g=c[13820]|0;if(g){d=(g&0-g)+-1|0;f=d>>>12&16;d=d>>>f;e=d>>>5&8;d=d>>>e;h=d>>>2&4;d=d>>>h;i=d>>>1&2;d=d>>>i;j=d>>>1&1;j=c[55580+((e|f|h|i|j)+(d>>>j)<<2)>>2]|0;d=j;i=j;j=(c[j+4>>2]&-8)-k|0;while(1){a=c[d+16>>2]|0;if(!a){a=c[d+20>>2]|0;if(!a)break}h=(c[a+4>>2]&-8)-k|0;f=h>>>0>>0;d=a;i=f?a:i;j=f?h:j}h=i+k|0;if(h>>>0>i>>>0){f=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){d=0;break}}while(1){e=b+20|0;d=c[e>>2]|0;if(!d){e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}else{b=d;a=e}}c[a>>2]=0;d=b}else{d=c[i+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);do if(f|0){b=c[i+28>>2]|0;a=55580+(b<<2)|0;if((i|0)==(c[a>>2]|0)){c[a>>2]=d;if(!d){c[13820]=g&~(1<>2]|0)==(i|0)?v:f+20|0)>>2]=d;if(!d)break}c[d+24>>2]=f;b=c[i+16>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}b=c[i+20>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}while(0);if(j>>>0<16){v=j+k|0;c[i+4>>2]=v|3;v=i+v+4|0;c[v>>2]=c[v>>2]|1}else{c[i+4>>2]=k|3;c[h+4>>2]=j|1;c[h+j>>2]=j;if(l|0){e=c[13824]|0;b=l>>>3;d=55316+(b<<1<<2)|0;b=1<>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[13821]=j;c[13824]=h}v=i+8|0;cc=x;return v|0}else m=k}else m=k}else m=k}else if(a>>>0<=4294967231){a=a+11|0;k=a&-8;e=c[13820]|0;if(e){f=0-k|0;a=a>>>8;if(a)if(k>>>0>16777215)j=31;else{m=(a+1048320|0)>>>16&8;q=a<>>16&4;q=q<>>16&2;j=14-(i|m|j)+(q<>>15)|0;j=k>>>(j+7|0)&1|j<<1}else j=0;d=c[55580+(j<<2)>>2]|0;a:do if(!d){d=0;a=0;q=61}else{a=0;i=k<<((j|0)==31?0:25-(j>>>1)|0);g=0;while(1){h=(c[d+4>>2]&-8)-k|0;if(h>>>0>>0)if(!h){a=d;f=0;q=65;break a}else{a=d;f=h}q=c[d+20>>2]|0;d=c[d+16+(i>>>31<<2)>>2]|0;g=(q|0)==0|(q|0)==(d|0)?g:q;if(!d){d=g;q=61;break}else i=i<<1}}while(0);if((q|0)==61){if((d|0)==0&(a|0)==0){a=2<>>12&16;m=m>>>h;g=m>>>5&8;m=m>>>g;i=m>>>2&4;m=m>>>i;j=m>>>1&2;m=m>>>j;d=m>>>1&1;a=0;d=c[55580+((g|h|i|j|d)+(m>>>d)<<2)>>2]|0}if(!d){i=a;h=f}else q=65}if((q|0)==65){g=d;while(1){m=(c[g+4>>2]&-8)-k|0;d=m>>>0>>0;f=d?m:f;a=d?g:a;d=c[g+16>>2]|0;if(!d)d=c[g+20>>2]|0;if(!d){i=a;h=f;break}else g=d}}if(((i|0)!=0?h>>>0<((c[13821]|0)-k|0)>>>0:0)?(l=i+k|0,l>>>0>i>>>0):0){g=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){b=0;break}}while(1){f=b+20|0;d=c[f>>2]|0;if(!d){f=b+16|0;d=c[f>>2]|0;if(!d)break;else{b=d;a=f}}else{b=d;a=f}}c[a>>2]=0}else{v=c[i+8>>2]|0;c[v+12>>2]=b;c[b+8>>2]=v}while(0);do if(g){a=c[i+28>>2]|0;d=55580+(a<<2)|0;if((i|0)==(c[d>>2]|0)){c[d>>2]=b;if(!b){e=e&~(1<>2]|0)==(i|0)?v:g+20|0)>>2]=b;if(!b)break}c[b+24>>2]=g;a=c[i+16>>2]|0;if(a|0){c[b+16>>2]=a;c[a+24>>2]=b}a=c[i+20>>2]|0;if(a){c[b+20>>2]=a;c[a+24>>2]=b}}while(0);b:do if(h>>>0<16){v=h+k|0;c[i+4>>2]=v|3;v=i+v+4|0;c[v>>2]=c[v>>2]|1}else{c[i+4>>2]=k|3;c[l+4>>2]=h|1;c[l+h>>2]=h;b=h>>>3;if(h>>>0<256){d=55316+(b<<1<<2)|0;a=c[13819]|0;b=1<>2]|0}c[a>>2]=l;c[b+12>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;break}b=h>>>8;if(b)if(h>>>0>16777215)d=31;else{u=(b+1048320|0)>>>16&8;v=b<>>16&4;v=v<>>16&2;d=14-(t|u|d)+(v<>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;b=55580+(d<<2)|0;c[l+28>>2]=d;a=l+16|0;c[a+4>>2]=0;c[a>>2]=0;a=1<>2]=l;c[l+24>>2]=b;c[l+12>>2]=l;c[l+8>>2]=l;break}b=c[b>>2]|0;c:do if((c[b+4>>2]&-8|0)!=(h|0)){e=h<<((d|0)==31?0:25-(d>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(h|0)){b=a;break c}else{e=e<<1;b=a}}c[d>>2]=l;c[l+24>>2]=b;c[l+12>>2]=l;c[l+8>>2]=l;break b}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=l;c[u>>2]=l;c[l+8>>2]=v;c[l+12>>2]=b;c[l+24>>2]=0}while(0);v=i+8|0;cc=x;return v|0}else m=k}else m=k}else m=-1;while(0);d=c[13821]|0;if(d>>>0>=m>>>0){b=d-m|0;a=c[13824]|0;if(b>>>0>15){v=a+m|0;c[13824]=v;c[13821]=b;c[v+4>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=m|3}else{c[13821]=0;c[13824]=0;c[a+4>>2]=d|3;v=a+d+4|0;c[v>>2]=c[v>>2]|1}v=a+8|0;cc=x;return v|0}h=c[13822]|0;if(h>>>0>m>>>0){t=h-m|0;c[13822]=t;v=c[13825]|0;u=v+m|0;c[13825]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;cc=x;return v|0}if(!(c[13937]|0)){c[13939]=4096;c[13938]=4096;c[13940]=-1;c[13941]=-1;c[13942]=0;c[13930]=0;c[13937]=n&-16^1431655768;a=4096}else a=c[13939]|0;i=m+48|0;j=m+47|0;g=a+j|0;f=0-a|0;k=g&f;if(k>>>0<=m>>>0){v=0;cc=x;return v|0}a=c[13929]|0;if(a|0?(l=c[13927]|0,n=l+k|0,n>>>0<=l>>>0|n>>>0>a>>>0):0){v=0;cc=x;return v|0}d:do if(!(c[13930]&4)){d=c[13825]|0;e:do if(d){e=55724;while(1){n=c[e>>2]|0;if(n>>>0<=d>>>0?(n+(c[e+4>>2]|0)|0)>>>0>d>>>0:0)break;a=c[e+8>>2]|0;if(!a){q=128;break e}else e=a}b=g-h&f;if(b>>>0<2147483647){a=sj(b|0)|0;if((a|0)==((c[e>>2]|0)+(c[e+4>>2]|0)|0)){if((a|0)!=(-1|0)){h=b;g=a;q=145;break d}}else{e=a;q=136}}else b=0}else q=128;while(0);do if((q|0)==128){d=sj(0)|0;if((d|0)!=(-1|0)?(b=d,o=c[13938]|0,p=o+-1|0,b=((p&b|0)==0?0:(p+b&0-o)-b|0)+k|0,o=c[13927]|0,p=b+o|0,b>>>0>m>>>0&b>>>0<2147483647):0){n=c[13929]|0;if(n|0?p>>>0<=o>>>0|p>>>0>n>>>0:0){b=0;break}a=sj(b|0)|0;if((a|0)==(d|0)){h=b;g=d;q=145;break d}else{e=a;q=136}}else b=0}while(0);do if((q|0)==136){d=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(e|0)!=(-1|0))))if((e|0)==(-1|0)){b=0;break}else{h=b;g=e;q=145;break d}a=c[13939]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=b;g=e;q=145;break d}if((sj(a|0)|0)==(-1|0)){sj(d|0)|0;b=0;break}else{h=a+b|0;g=e;q=145;break d}}while(0);c[13930]=c[13930]|4;q=143}else{b=0;q=143}while(0);if(((q|0)==143?k>>>0<2147483647:0)?(t=sj(k|0)|0,p=sj(0)|0,r=p-t|0,s=r>>>0>(m+40|0)>>>0,!((t|0)==(-1|0)|s^1|t>>>0

>>0&((t|0)!=(-1|0)&(p|0)!=(-1|0))^1)):0){h=s?r:b;g=t;q=145}if((q|0)==145){b=(c[13927]|0)+h|0;c[13927]=b;if(b>>>0>(c[13928]|0)>>>0)c[13928]=b;j=c[13825]|0;f:do if(j){b=55724;while(1){a=c[b>>2]|0;d=c[b+4>>2]|0;if((g|0)==(a+d|0)){q=154;break}e=c[b+8>>2]|0;if(!e)break;else b=e}if(((q|0)==154?(u=b+4|0,(c[b+12>>2]&8|0)==0):0)?g>>>0>j>>>0&a>>>0<=j>>>0:0){c[u>>2]=d+h;v=(c[13822]|0)+h|0;t=j+8|0;t=(t&7|0)==0?0:0-t&7;u=j+t|0;t=v-t|0;c[13825]=u;c[13822]=t;c[u+4>>2]=t|1;c[j+v+4>>2]=40;c[13826]=c[13941];break}if(g>>>0<(c[13823]|0)>>>0)c[13823]=g;d=g+h|0;b=55724;while(1){if((c[b>>2]|0)==(d|0)){q=162;break}a=c[b+8>>2]|0;if(!a)break;else b=a}if((q|0)==162?(c[b+12>>2]&8|0)==0:0){c[b>>2]=g;l=b+4|0;c[l>>2]=(c[l>>2]|0)+h;l=g+8|0;l=g+((l&7|0)==0?0:0-l&7)|0;b=d+8|0;b=d+((b&7|0)==0?0:0-b&7)|0;k=l+m|0;i=b-l-m|0;c[l+4>>2]=m|3;g:do if((j|0)==(b|0)){v=(c[13822]|0)+i|0;c[13822]=v;c[13825]=k;c[k+4>>2]=v|1}else{if((c[13824]|0)==(b|0)){v=(c[13821]|0)+i|0;c[13821]=v;c[13824]=k;c[k+4>>2]=v|1;c[k+v>>2]=v;break}a=c[b+4>>2]|0;if((a&3|0)==1){h=a&-8;e=a>>>3;h:do if(a>>>0<256){a=c[b+8>>2]|0;d=c[b+12>>2]|0;if((d|0)==(a|0)){c[13819]=c[13819]&~(1<>2]=d;c[d+8>>2]=a;break}}else{g=c[b+24>>2]|0;a=c[b+12>>2]|0;do if((a|0)==(b|0)){d=b+16|0;e=d+4|0;a=c[e>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}}else d=e;while(1){f=a+20|0;e=c[f>>2]|0;if(!e){f=a+16|0;e=c[f>>2]|0;if(!e)break;else{a=e;d=f}}else{a=e;d=f}}c[d>>2]=0}else{v=c[b+8>>2]|0;c[v+12>>2]=a;c[a+8>>2]=v}while(0);if(!g)break;d=c[b+28>>2]|0;e=55580+(d<<2)|0;do if((c[e>>2]|0)!=(b|0)){v=g+16|0;c[((c[v>>2]|0)==(b|0)?v:g+20|0)>>2]=a;if(!a)break h}else{c[e>>2]=a;if(a|0)break;c[13820]=c[13820]&~(1<>2]=g;d=b+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(!d)break;c[a+20>>2]=d;c[d+24>>2]=a}while(0);b=b+h|0;f=h+i|0}else f=i;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[k+4>>2]=f|1;c[k+f>>2]=f;b=f>>>3;if(f>>>0<256){d=55316+(b<<1<<2)|0;a=c[13819]|0;b=1<>2]|0}c[a>>2]=k;c[b+12>>2]=k;c[k+8>>2]=b;c[k+12>>2]=d;break}b=f>>>8;do if(!b)e=0;else{if(f>>>0>16777215){e=31;break}u=(b+1048320|0)>>>16&8;v=b<>>16&4;v=v<>>16&2;e=14-(t|u|e)+(v<>>15)|0;e=f>>>(e+7|0)&1|e<<1}while(0);b=55580+(e<<2)|0;c[k+28>>2]=e;a=k+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[13820]|0;d=1<>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break}b=c[b>>2]|0;i:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(f|0)){b=a;break i}else{e=e<<1;b=a}}c[d>>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break g}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=k;c[u>>2]=k;c[k+8>>2]=v;c[k+12>>2]=b;c[k+24>>2]=0}while(0);v=l+8|0;cc=x;return v|0}b=55724;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(v=a+(c[b+4>>2]|0)|0,v>>>0>j>>>0):0)break;b=c[b+8>>2]|0}f=v+-47|0;a=f+8|0;a=f+((a&7|0)==0?0:0-a&7)|0;f=j+16|0;a=a>>>0>>0?j:a;b=a+8|0;d=h+-40|0;t=g+8|0;t=(t&7|0)==0?0:0-t&7;u=g+t|0;t=d-t|0;c[13825]=u;c[13822]=t;c[u+4>>2]=t|1;c[g+d+4>>2]=40;c[13826]=c[13941];d=a+4|0;c[d>>2]=27;c[b>>2]=c[13931];c[b+4>>2]=c[13932];c[b+8>>2]=c[13933];c[b+12>>2]=c[13934];c[13931]=g;c[13932]=h;c[13934]=0;c[13933]=b;b=a+24|0;do{u=b;b=b+4|0;c[b>>2]=7}while((u+8|0)>>>0>>0);if((a|0)!=(j|0)){g=a-j|0;c[d>>2]=c[d>>2]&-2;c[j+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){d=55316+(b<<1<<2)|0;a=c[13819]|0;b=1<>2]|0}c[a>>2]=j;c[b+12>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{u=(b+1048320|0)>>>16&8;v=b<>>16&4;v=v<>>16&2;e=14-(t|u|e)+(v<>>15)|0;e=g>>>(e+7|0)&1|e<<1}else e=0;d=55580+(e<<2)|0;c[j+28>>2]=e;c[j+20>>2]=0;c[f>>2]=0;b=c[13820]|0;a=1<>2]=j;c[j+24>>2]=d;c[j+12>>2]=j;c[j+8>>2]=j;break}b=c[d>>2]|0;j:do if((c[b+4>>2]&-8|0)!=(g|0)){e=g<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(g|0)){b=a;break j}else{e=e<<1;b=a}}c[d>>2]=j;c[j+24>>2]=b;c[j+12>>2]=j;c[j+8>>2]=j;break f}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=j;c[u>>2]=j;c[j+8>>2]=v;c[j+12>>2]=b;c[j+24>>2]=0}}else{v=c[13823]|0;if((v|0)==0|g>>>0>>0)c[13823]=g;c[13931]=g;c[13932]=h;c[13934]=0;c[13828]=c[13937];c[13827]=-1;c[13832]=55316;c[13831]=55316;c[13834]=55324;c[13833]=55324;c[13836]=55332;c[13835]=55332;c[13838]=55340;c[13837]=55340;c[13840]=55348;c[13839]=55348;c[13842]=55356;c[13841]=55356;c[13844]=55364;c[13843]=55364;c[13846]=55372;c[13845]=55372;c[13848]=55380;c[13847]=55380;c[13850]=55388;c[13849]=55388;c[13852]=55396;c[13851]=55396;c[13854]=55404;c[13853]=55404;c[13856]=55412;c[13855]=55412;c[13858]=55420;c[13857]=55420;c[13860]=55428;c[13859]=55428;c[13862]=55436;c[13861]=55436;c[13864]=55444;c[13863]=55444;c[13866]=55452;c[13865]=55452;c[13868]=55460;c[13867]=55460;c[13870]=55468;c[13869]=55468;c[13872]=55476;c[13871]=55476;c[13874]=55484;c[13873]=55484;c[13876]=55492;c[13875]=55492;c[13878]=55500;c[13877]=55500;c[13880]=55508;c[13879]=55508;c[13882]=55516;c[13881]=55516;c[13884]=55524;c[13883]=55524;c[13886]=55532;c[13885]=55532;c[13888]=55540;c[13887]=55540;c[13890]=55548;c[13889]=55548;c[13892]=55556;c[13891]=55556;c[13894]=55564;c[13893]=55564;v=h+-40|0;t=g+8|0;t=(t&7|0)==0?0:0-t&7;u=g+t|0;t=v-t|0;c[13825]=u;c[13822]=t;c[u+4>>2]=t|1;c[g+v+4>>2]=40;c[13826]=c[13941]}while(0);b=c[13822]|0;if(b>>>0>m>>>0){t=b-m|0;c[13822]=t;v=c[13825]|0;u=v+m|0;c[13825]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;cc=x;return v|0}}c[(_g()|0)>>2]=12;v=0;cc=x;return v|0} +function rc(){Yd();Tg()}function sc(a){a=a|0;var b=0;b=cc;cc=cc+a|0;cc=cc+15&-16;if((cc|0)>=(dc|0))w(a|0);return b|0}function tc(){return cc|0}function uc(a){a=a|0;cc=a}function vc(a,b){a=a|0;b=b|0;cc=a;dc=b}function wc(){ab();return 0}function xc(a){a=a|0;var b=0;ma(584,592,608,0,48321,3,48324,0,48324,0,47614,48326,22);b=Qh(8)|0;c[b>>2]=2;c[b+4>>2]=0;oa(584,47623,3,1480,48329,3,b|0,0);b=Qh(8)|0;c[b>>2]=3;c[b+4>>2]=0;oa(584,47629,3,1492,48329,4,b|0,0);b=Qh(8)|0;c[b>>2]=23;c[b+4>>2]=0;oa(584,47636,2,1504,48334,4,b|0,0);b=Qh(8)|0;c[b>>2]=24;c[b+4>>2]=0;oa(584,47643,2,1504,48334,4,b|0,0);b=Qh(8)|0;c[b>>2]=5;c[b+4>>2]=0;a=Qh(8)|0;c[a>>2]=6;c[a+4>>2]=0;pa(584,47661,576,48338,1,b|0,576,48329,5,a|0);a=Qh(8)|0;c[a>>2]=7;c[a+4>>2]=0;b=Qh(8)|0;c[b>>2]=8;c[b+4>>2]=0;pa(584,47671,576,48338,1,a|0,576,48329,5,b|0);b=Qh(8)|0;c[b>>2]=9;c[b+4>>2]=0;a=Qh(8)|0;c[a>>2]=10;c[a+4>>2]=0;pa(584,47679,576,48338,1,b|0,576,48329,5,a|0);a=Qh(8)|0;c[a>>2]=11;c[a+4>>2]=0;b=Qh(8)|0;c[b>>2]=12;c[b+4>>2]=0;pa(584,47691,576,48338,1,a|0,576,48329,5,b|0);b=Qh(8)|0;c[b>>2]=13;c[b+4>>2]=0;a=Qh(8)|0;c[a>>2]=14;c[a+4>>2]=0;pa(584,47703,576,48338,1,b|0,576,48329,5,a|0);a=Qh(8)|0;c[a>>2]=15;c[a+4>>2]=0;pa(584,47707,576,48338,1,a|0,0,0,0,0);ma(664,680,696,584,48321,4,48321,5,48321,6,47718,48326,25);a=Qh(4)|0;c[a>>2]=26;oa(664,48342,2,1512,48334,16,a|0,0);na(584,48362,3,1520,48498,6,2);na(584,48372,3,1644,48498,7,6);return}function yc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);n=o+8|0;m=o;e=b+22908|0;l=b+4|0;if(a[e>>0]|0){f=c[l>>2]|0;if((a[55104]|0)==0?aj(55104)|0:0)c[13790]=Ga(1,1440)|0;Da(c[13790]|0,f|0,47731,m|0)}a[e>>0]=1;g=c[l>>2]|0;j=La(47737)|0;g=Ha(g|0,j|0)|0;Ea(j|0);j=Qc(g,47749)|0;Ea(g|0);c[n>>2]=47757;c[n+4>>2]=j?47766:47771;Ya(0,n|0);a[b+22764>>0]=j&1;j=d+11|0;g=a[j>>0]|0;h=g<<24>>24<0;f=h?c[d>>2]|0:d;k=d+4|0;g=h?c[k>>2]|0:g&255;h=f+g|0;e=h;i=f;a:do if((g|0)<4)g=h;else{while(1){g=g+-3|0;if(!g){g=h;break a}f=qh(f,46,g)|0;if(!f){g=h;break a}if(!(bh(f,47777,4)|0))break;f=f+1|0;g=e-f|0;if((g|0)<4){g=h;break a}}g=f;e=f}while(0);a[b+22909>>0]=(e-i|0)!=-1&(g|0)!=(h|0)&1;h=Fa(47782)|0;e=a[j>>0]|0;if(e<<24>>24<0){f=c[k>>2]|0;g=Jh(f+4|0)|0;c[g>>2]=f;e=c[d>>2]|0}else{f=e&255;g=Jh(f+4|0)|0;c[g>>2]=f;e=d}pj(g+4|0,e|0,f|0)|0;c[n>>2]=g;c[m>>2]=Ka(h|0,1,1448,n|0)|0;Ea(h|0);Oc(m,47792,47803);Pc(n,b,47629);k=c[m>>2]|0;d=La(47815)|0;Pa(k|0,d|0,c[n>>2]|0);Ea(d|0);Ea(c[n>>2]|0);c[b+22900>>2]=Ua()|0;b=c[l>>2]|0;n=La(47825)|0;Pa(b|0,n|0,c[m>>2]|0);Ea(n|0);Ea(c[m>>2]|0);cc=o;return}function zc(b,e){b=b|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0;A=cc;cc=cc+64|0;if((cc|0)>=(dc|0))w(64);k=A+8|0;u=A;z=A+48|0;s=A+32|0;t=A+16|0;f=c[e>>2]|0;y=La(47953)|0;c[s>>2]=Ha(f|0,y|0)|0;Ea(y|0);Tc(z,s);Ea(c[s>>2]|0);y=z+11|0;f=a[y>>0]|0;j=z+4|0;e=b+22904|0;c[e>>2]=(c[e>>2]|0)+(f<<24>>24<0?c[j>>2]|0:f&255);f=Ua()|0;h=b+22900|0;i=c[h>>2]|0;if((f|0)>(i|0)){g[b+22920>>3]=+(c[e>>2]|0)*1.0e3/+(f-i|0);c[h>>2]=f;c[e>>2]=0}a:do if(!(a[b+22909>>0]|0))switch(a[(gi(z,0)|0)>>0]|0){case 1:{bi(t,z,1,-1,z);c[s>>2]=c[t>>2];c[s+4>>2]=c[t+4>>2];c[s+8>>2]=c[t+8>>2];q=s+12|0;c[q>>2]=0;x=s+11|0;v=(a[x>>0]|0)<0?c[s>>2]|0:s;t=a[v+3>>0]|0;r=a[v+2>>0]|0;u=a[v+1>>0]|0;v=a[v>>0]|0;c[q>>2]=4;Uc(b,(r&255)<<8|t&255|(u&255)<<16|(v&255)<<24,s);if((a[x>>0]|0)<0)Rh(c[s>>2]|0);break a}case 2:{bi(t,z,1,-1,z);c[s>>2]=c[t>>2];c[s+4>>2]=c[t+4>>2];c[s+8>>2]=c[t+8>>2];q=s+12|0;c[q>>2]=0;x=s+11|0;v=(a[x>>0]|0)<0?c[s>>2]|0:s;t=a[v+3>>0]|0;r=a[v+2>>0]|0;u=a[v+1>>0]|0;v=a[v>>0]|0;c[q>>2]=4;Vc(b,(r&255)<<8|t&255|(u&255)<<16|(v&255)<<24,s);if((a[x>>0]|0)<0)Rh(c[s>>2]|0);break a}default:{b=a[(gi(z,0)|0)>>0]|0;c[k>>2]=47974;c[k+4>>2]=b;Ya(1,k|0);break a}}else{x=b+12|0;p=a[y>>0]|0;r=p<<24>>24<0;hi(x,r?c[z>>2]|0:z,r?c[j>>2]|0:p&255)|0;j=b+8|0;p=x+11|0;if(!(a[j>>0]|0)){e=a[p>>0]|0;f=e<<24>>24<0;if(f)h=c[b+16>>2]|0;else h=e&255;i=b+24|0;if((h-(c[i>>2]|0)|0)<=12)break;a[j>>0]=1;c[i>>2]=13;if(f){e=c[b+16>>2]|0;f=c[x>>2]|0}else{e=e&255;f=x}b=e+-13|0;qj(f|0,f+13|0,b|0)|0;di(x,b,0);c[i>>2]=0;break}l=b+16|0;q=b+24|0;m=t+11|0;n=t+4|0;o=s+11|0;while(1){i=a[p>>0]|0;j=i<<24>>24<0;if(j)e=c[l>>2]|0;else e=i&255;r=c[q>>2]|0;if((e-r|0)<=3)break;if(j)e=c[x>>2]|0;else e=x;h=r+1|0;k=a[e+r>>0]|0;c[q>>2]=h;h=e+h+3+-1|0;e=a[h>>0]|0;B=a[h+-1>>0]|0;h=a[h+-2>>0]|0;f=r+4|0;c[q>>2]=f;h=(B&255)<<8|e&255|(h&255)<<16;if(j)e=c[l>>2]|0;else e=i&255;if((e-f|0)>>>0<(h+11|0)>>>0){v=24;break}if(j)e=c[x>>2]|0;else e=x;e=e+f+3+-1|0;e=d[e+-1>>0]<<8|d[e>>0]|d[e+-2>>0]<<16;B=r+11|0;c[q>>2]=B;c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;c[s+12>>2]=0;bi(t,x,B,h,x);B=a[m>>0]|0;r=B<<24>>24<0;B=r?c[n>>2]|0:B&255;c[q>>2]=(c[q>>2]|0)+B;hi(s,r?c[t>>2]|0:t,B)|0;if((a[m>>0]|0)<0)Rh(c[t>>2]|0);switch(k<<24>>24){case 8:{Uc(b,e,s);break}case 9:{Vc(b,e,s);break}default:{c[u>>2]=47958;c[u+4>>2]=k&255;Ya(0,u|0)}}c[q>>2]=(c[q>>2]|0)+4;if((a[o>>0]|0)<0)Rh(c[s>>2]|0)}if((v|0)==24)c[q>>2]=r;if(j){e=c[l>>2]|0;f=c[x>>2]|0}else{e=i&255;f=x}B=e-r|0;qj(f|0,f+r|0,B|0)|0;di(x,B,0);c[q>>2]=0}while(0);if((a[y>>0]|0)>=0){cc=A;return}Rh(c[z>>2]|0);cc=A;return}function Ac(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);h=j;g=Fa(48259)|0;f=b+22892|0;c[h>>2]=c[f>>2];Ea(Ba(g|0,1,1476,h|0)|0);Ea(g|0);g=b+22864|0;ld(g);kd(g);h=c[b+22868>>2]|0;i=b+22872|0;d=c[i>>2]|0;if((d|0)!=(h|0))c[i>>2]=d+(~((d+-4-h|0)>>>2)<<2);md(g);c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;if((a[b+22764>>0]|0)==0?(e=c[b+22736>>2]|0,e|0):0)Kh(e);c[f>>2]=0;a[b+22896>>0]=1;a[b+22888>>0]=0;di(b+12|0,0,0);c[b+24>>2]=0;a[b+8>>0]=0;cc=j;return}function Bc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);g=o+4|0;i=o;j=b+22884|0;a:do if(c[j>>2]|0){k=b+22868|0;l=b+22880|0;m=b+4|0;n=b+22916|0;h=b+22728|0;f=0;d=c[l>>2]|0;while(1){p=(d>>>0)/204|0;e=c[(c[k>>2]|0)+(p<<2)>>2]|0;d=d-(p*204|0)|0;if(f?(c[g>>2]=c[e+(d*20|0)>>2],p=bd(c[m>>2]|0,48250,g)|0,p=((c[n>>2]|0)*1e3|0)+p|0,c[i>>2]=p,(p|0)>0):0)break;ad(h,e+(d*20|0)+4|0);d=c[l>>2]|0;e=(d>>>0)/204|0;e=(c[(c[k>>2]|0)+(e<<2)>>2]|0)+((d-(e*204|0)|0)*20|0)+4|0;if((a[e+11>>0]|0)<0){Rh(c[e>>2]|0);d=c[l>>2]|0}e=(c[j>>2]|0)+-1|0;c[j>>2]=e;d=d+1|0;c[l>>2]=d;if(d>>>0>407){Rh(c[c[k>>2]>>2]|0);c[k>>2]=(c[k>>2]|0)+4;d=(c[l>>2]|0)+-204|0;c[l>>2]=d;e=c[j>>2]|0}if(!e)break a;else f=1}a[b+22888>>0]=1;c[b+22892>>2]=cd(c[m>>2]|0,48234,i)|0;cc=o;return}while(0);a[b+22888>>0]=0;cc=o;return}function Cc(a,b){a=a|0;b=b|0;var e=0,f=0;e=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);f=e;c[f>>2]=d[b+22908>>0];c[a>>2]=Qa(1328,f|0)|0;cc=e;return}function Dc(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0;e=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);g=e;f=+Aa(c[d>>2]|0,1328,g|0);Oa(c[g>>2]|0);a[b+22908>>0]=f!=0.0&1;cc=e;return}function Ec(a,b){a=a|0;b=b|0;var e=0,f=0;e=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);f=e;c[f>>2]=d[b+22909>>0];c[a>>2]=Qa(1328,f|0)|0;cc=e;return}function Fc(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0;e=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);g=e;f=+Aa(c[d>>2]|0,1328,g|0);Oa(c[g>>2]|0);a[b+22909>>0]=f!=0.0&1;cc=e;return}function Gc(a,b){a=a|0;b=b|0;var d=0,e=0;d=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);e=d;c[e>>2]=c[b+22912>>2];c[a>>2]=Qa(1376,e|0)|0;cc=d;return}function Hc(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);f=d;e=+Aa(c[b>>2]|0,1376,f|0);Oa(c[f>>2]|0);c[a+22912>>2]=~~e;cc=d;return}function Ic(a,b){a=a|0;b=b|0;var d=0,e=0;d=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);e=d;c[e>>2]=c[b+22916>>2];c[a>>2]=Qa(1376,e|0)|0;cc=d;return}function Jc(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);f=d;e=+Aa(c[b>>2]|0,1376,f|0);Oa(c[f>>2]|0);c[a+22916>>2]=~~e;cc=d;return}function Kc(a,b){a=a|0;b=b|0;var d=0,e=0;d=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);e=d;g[e>>3]=+g[b+22920>>3];c[a>>2]=Qa(1416,e|0)|0;cc=d;return}function Lc(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);f=d;e=+Aa(c[b>>2]|0,1416,f|0);Oa(c[f>>2]|0);g[a+22920>>3]=e;cc=d;return}function Mc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);e=d+4|0;f=d;c[e>>2]=Ma()|0;i=b+22868|0;h=b+22880|0;j=c[h>>2]|0;g=(j>>>0)/204|0;nd(e,48272,(c[(c[i>>2]|0)+(g<<2)>>2]|0)+((j-(g*204|0)|0)*20|0)|0);b=b+22884|0;h=(c[b>>2]|0)+-1+(c[h>>2]|0)|0;g=(h>>>0)/204|0;od(e,48278,(c[(c[i>>2]|0)+(g<<2)>>2]|0)+((h-(g*204|0)|0)*20|0)|0);c[f>>2]=c[b>>2];pd(e,48283,f);b=c[e>>2]|0;c[a>>2]=b;Ia(b|0);Ea(c[e>>2]|0);cc=d;return}function Nc(a){a=a|0;Ea(c[a>>2]|0);return}function Oc(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a>>2]|0;b=La(b|0)|0;d=La(d|0)|0;Pa(a|0,b|0,d|0);Ea(d|0);Ea(b|0);return}function Pc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;b=b+4|0;f=c[b>>2]|0;e=La(d|0)|0;d=Ha(f|0,e|0)|0;Ea(e|0);Sc(a,d,47929,b);Ea(d|0);return}function Qc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0.0;g=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);e=g;f=g+8|0;if((a[55112]|0)==0?aj(55112)|0:0)c[13791]=Ga(1,1444)|0;h=+Ca(c[13791]|0,b|0,d|0,f|0,e|0);Oa(c[f>>2]|0);cc=g;return h!=0.0|0}function Rc(a){a=a|0;Y(a|0)|0;Fi()}function Sc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0.0,k=0;i=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);g=i;h=i+8|0;if((a[55120]|0)==0?aj(55120)|0:0)c[13792]=Ga(2,1452)|0;k=c[13792]|0;Ia(c[f>>2]|0);c[g>>2]=c[f>>2];j=+Ca(k|0,d|0,e|0,h|0,g|0);h=c[h>>2]|0;c[b>>2]=~~j>>>0;Oa(h|0);cc=i;return}function Tc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0.0,j=0;h=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);e=h;i=+Aa(c[d>>2]|0,552,e|0);e=c[e>>2]|0;g=~~i>>>0;f=g+4|0;g=c[g>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;if(g>>>0>4294967279)Wh(b);if(g>>>0<11){a[b+11>>0]=g;if(!g){f=b;g=f+g|0;a[g>>0]=0;Oa(e|0);cc=h;return}else d=b}else{j=g+16&-16;d=Qh(j)|0;c[b>>2]=d;c[b+8>>2]=j|-2147483648;c[b+4>>2]=g}pj(d|0,f|0,g|0)|0;j=d;j=j+g|0;a[j>>0]=0;Oa(e|0);cc=h;return}function Uc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);i=j;h=e+12|0;f=c[h>>2]|0;d=a[((a[e+11>>0]|0)<0?c[e>>2]|0:e)+f+1+-1>>0]|0;c[h>>2]=f+1;d=d&255;h=d>>>4;f=b+22897|0;if(a[f>>0]|0){g=(d&1)+1|0;d=d>>>2;switch(d&3){case 1:{d=11025;break}case 2:{d=22050;break}case 3:{d=44100;break}default:d=d&3}switch(h&15){case 10:{Xc(b,c[b+22912>>2]<<10,d,g);break}case 11:{Xc(b,16e3,16e3,g);break}case 2:{Xc(b,(c[b+22912>>2]|0)*576|0,d,g);break}default:{}}if(a[f>>0]|0){cc=j;return}}g=b+28|0;if((h|0)!=2){cc=j;return}d=c[b+36>>2]|0;f=b+32|0;d=Yc(g,e,d+(c[f>>2]|0)|0,d+(c[g>>2]|0)|0)|0;if(!d){cc=j;return}h=(c[f>>2]|0)+d|0;e=(h|0)==(c[g>>2]|0);c[f>>2]=e?0:h;if(!e){cc=j;return}d=c[b+4>>2]|0;if((a[55104]|0)==0?aj(55104)|0:0)c[13790]=Ga(1,1440)|0;Da(c[13790]|0,d|0,48057,i|0);cc=j;return}function Vc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=cc;cc=cc+48|0;if((cc|0)>=(dc|0))w(48);m=q+32|0;l=q+24|0;k=q+16|0;j=q+8|0;o=q;n=q+36|0;p=e+12|0;f=c[p>>2]|0;g=((a[e+11>>0]|0)<0?c[e>>2]|0:e)+f|0;h=a[g+1>>0]|0;i=b+22896|0;if(a[i>>0]|0){g=a[g>>0]|0;f=g&15;switch(g&15){case 7:{c[j>>2]=48103;Ya(0,j|0);break}case 12:{c[k>>2]=48118;Ya(0,k|0);break}default:{c[l>>2]=48133;c[l+4>>2]=f;Ya(0,l|0);cc=q;return}}if(!(h<<24>>24==0&(g&-16)<<24>>24==16)){cc=q;return}$c(b+22728|0,e,f);a[i>>0]=0;c[m>>2]=48193;Ya(0,m|0);cc=q;return}if(h<<24>>24!=1){f=c[b+4>>2]|0;if((a[55104]|0)==0?aj(55104)|0:0)c[13790]=Ga(1,1440)|0;Da(c[13790]|0,f|0,48209,o|0);cc=q;return}if(!d){cc=q;return}c[p>>2]=f+5;f=b+22916|0;a:do if(c[f>>2]|0){g=b+22888|0;do if(!(a[g>>0]|0)){c[o>>2]=d;h=b+4|0;o=bd(c[h>>2]|0,48250,o)|0;o=((c[f>>2]|0)*1e3|0)+o|0;c[n>>2]=o;if((o|0)>0){a[g>>0]=1;c[b+22892>>2]=cd(c[h>>2]|0,48234,n)|0;break}else break a}while(0);j=b+22872|0;g=c[j>>2]|0;k=b+22868|0;f=c[k>>2]|0;o=g-f|0;i=b+22880|0;l=b+22884|0;h=(c[l>>2]|0)+(c[i>>2]|0)|0;if((((o|0)==0?0:((o>>2)*204|0)+-1|0)|0)==(h|0)){dd(b+22864|0);h=(c[i>>2]|0)+(c[l>>2]|0)|0;g=c[j>>2]|0;f=c[k>>2]|0}if((g|0)==(f|0))f=0;else{b=(h>>>0)/204|0;f=(c[f+(b<<2)>>2]|0)+((h-(b*204|0)|0)*20|0)|0}c[f>>2]=d;d=f+4|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[f+16>>2]=c[p>>2];c[l>>2]=(c[l>>2]|0)+1;cc=q;return}while(0);ad(b+22728|0,e);cc=q;return}function Wc(b){b=b|0;if((a[b+11>>0]|0)>=0)return;Rh(c[b>>2]|0);return}function Xc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=cc;cc=cc+32|0;if((cc|0)>=(dc|0))w(32);h=i;a[b+22897>>0]=0;j=r(d<<1,f)|0;g=b+36|0;c[g>>2]=Jh(c[b+28>>2]|0)|0;c[h>>2]=48077;c[h+4>>2]=j;Ya(0,h|0);g=c[g>>2]>>1;b=c[b+4>>2]|0;if((a[55128]|0)==0?aj(55128)|0:0)c[13793]=Ga(5,16)|0;j=c[13793]|0;c[h>>2]=d;c[h+8>>2]=e;c[h+16>>2]=f;c[h+24>>2]=g;Da(j|0,b|0,48067,h|0);cc=i;return}function Yc(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=d+12|0;i=d+22668|0;j=i+11|0;h=a[j>>0]|0;if(h<<24>>24<0)n=c[d+22672>>2]|0;else n=h&255;h=e+11|0;q=a[h>>0]|0;k=e+4|0;l=e+12|0;di(i,n-(c[l>>2]|0)+(q<<24>>24<0?c[k>>2]|0:q&255)|0,0);if((a[j>>0]|0)<0)m=c[i>>2]|0;else m=i;h=a[h>>0]|0;if(h<<24>>24<0){h=c[l>>2]|0;i=c[k>>2]|0;j=h;h=(c[e>>2]|0)+h|0}else{q=c[l>>2]|0;i=h&255;j=q;h=e+q|0}pj(m+n|0,h|0,i-j|0)|0;if((Zc(s)|0)==-1){s=0;return s|0}o=d+13448|0;p=d+13450|0;q=d+13452|0;n=d+18060|0;h=0;while(1){i=b[o>>1]|0;d=b[p>>1]|0;j=d&65535;h=(r((i&65535)<<1,j)|0)+h|0;e=j+-1|0;do if(d<<16>>16)if(i<<16>>16==2){m=j<<2;j=n;k=q;l=f;i=e;while(1){d=c[k>>2]|0;d=(d|0)>268431359?32767:(d|0)<-268439552?-32768:d+4096>>13;a[l>>0]=d;a[l+1>>0]=d>>>8;d=c[j>>2]|0;d=(d|0)>268431359?32767:(d|0)<-268439552?-32768:d+4096>>13;a[l+2>>0]=d;a[l+3>>0]=d>>>8;if(!i)break;else{j=j+4|0;k=k+4|0;l=l+4|0;i=i+-1|0}}f=f+m|0;break}else{l=j<<1;j=q;k=f;i=e;while(1){d=c[j>>2]|0;d=(d|0)>268431359?32767:(d|0)<-268439552?-32768:d+4096>>13;a[k>>0]=d;a[k+1>>0]=d>>>8;if(!i)break;else{j=j+4|0;k=k+2|0;i=i+-1|0}}f=f+l|0;break}while(0);if(f>>>0>=g>>>0){f=22;break}if((Zc(s)|0)==-1){f=22;break}}if((f|0)==22)return h|0;return 0}function Zc(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=cc;cc=cc+272|0;if((cc|0)>=(dc|0))w(272);t=u+256|0;s=u;k=u+248|0;l=u+244|0;q=d+22656|0;n=q+11|0;if((a[n>>0]|0)<0)e=c[q>>2]|0;else e=q;r=d+22668|0;i=e+(c[r>>2]|0)|0;j=_c(d,i)|0;if((j|0)==-1){d=-1;cc=u;return d|0}f=c[r>>2]|0;g=f+j|0;c[r>>2]=g;e=a[n>>0]|0;if(e<<24>>24<0)e=c[d+22660>>2]|0;else e=e&255;if((e|0)==(g|0)){c[r>>2]=f;d=-1;cc=u;return d|0}e=d+9328|0;if((c[e>>2]|0)==0?(p=Lh(1152,4)|0,c[e>>2]=p,(p|0)==0):0){c[d+60>>2]=49;g=d+92|0;e=d+68|0}else{e=d+68|0;f=(c[e>>2]|0)==0;g=d+92|0;h=c[g>>2]|0;if(((h&16|0)!=0?(m=d+28|0,p=c[m+4>>2]|0,o=s,c[o>>2]=c[m>>2],c[o+4>>2]=p,o=d+88|0,p=b[o>>1]|0,c[t>>2]=c[s>>2],c[t+4>>2]=c[s+4>>2],p=yg(t,(h&4096|0)==0?(f?136:256):f?72:136,p)|0,b[o>>1]=p,p<<16>>16!=(b[d+90>>1]|0)):0)?(c[d+108>>2]&1|0)==0:0)c[d+60>>2]=513}p=d+64|0;o=(c[e>>2]|0)==0?1:2;f=d+28|0;Hg(f,o,c[g>>2]&4096,s,l,k)|0;c[g>>2]=c[g>>2]|c[k>>2];g=d+96|0;c[g>>2]=c[g>>2]|c[s+4>>2];g=vg(f)|0;f=i-g+j|0;if((a[n>>0]|0)<0)e=c[q>>2]|0;else e=q;tg(t,e+(c[r>>2]|0)|0);e=xg(t,32)|0;if((e&-1703936|0)==-1966080){if(!(e&65536))wg(t,16);j=xg(t,e>>>19&1|8)|0}else j=0;m=d+22672|0;k=m+11|0;e=a[k>>0]|0;if(e<<24>>24<0)e=c[d+22676>>2]|0;else e=e&255;l=d+22684|0;i=e-(c[l>>2]|0)|0;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;di(t,f,0);h=t+11|0;pj(((a[h>>0]|0)<0?c[t>>2]|0:t)+(c[t+12>>2]|0)|0,g|0,f|0)|0;g=a[h>>0]|0;f=g<<24>>24<0;hi(m,f?c[t>>2]|0:t,f?c[t+4>>2]|0:g&255)|0;if((a[h>>0]|0)<0)Rh(c[t>>2]|0);e=a[n>>0]|0;if(e<<24>>24<0){e=c[r>>2]|0;f=c[q>>2]|0;g=e;e=(c[d+22660>>2]|0)-e|0}else{n=c[r>>2]|0;f=q;g=n;e=(e&255)-n|0}qj(f|0,f+g|0,e|0)|0;di(q,e,0);c[r>>2]=0;e=a[k>>0]|0;h=e<<24>>24<0;if(h)e=c[d+22676>>2]|0;else e=e&255;g=e-(c[l>>2]|0)|0;e=c[s>>2]|0;if(i>>>0>>0|g>>>0>>0)e=-1;else{f=i-e|0;c[l>>2]=f;if(h)e=c[m>>2]|0;else e=m;tg(t,e+f|0);Ig(t,p,s,o)|0;Cg(d+9332|0,p);g=g-j-f+(c[l>>2]|0)|0;c[l>>2]=g;e=a[k>>0]|0;if(e<<24>>24<0){e=c[d+22676>>2]|0;f=c[m>>2]|0}else{e=e&255;f=m}e=e-g|0;qj(f|0,f+g|0,e|0)|0;di(m,e,0);c[l>>2]=0;e=0}d=e;cc=u;return d|0}function _c(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=a+64|0;tg(a+28|0,b);c[a+20>>2]=b;Og(h,a)|0;d=a+100|0;switch(c[h>>2]|0){case 1:{b=384;break}case 3:{b=(c[a+92>>2]&4096|0)==0?1152:576;f=3;break}default:{b=1152;f=3}}g=a+84|0;Pg(d,0,b,c[g>>2]|0);d=a+80|0;e=c[d>>2]|0;if(!e){b=a+16|0;e=c[b>>2]|0;if(!((e|0)!=0?!(e>>>0>64e4&(c[h>>2]|0)==3):0))f=8;do if((f|0)==8)if((Qg(a,h)|0)==-1){h=-1;return h|0}else{e=c[b>>2]|0;break}while(0);c[d>>2]=e;f=a+92|0;b=c[f>>2]|1024;c[f>>2]=b}else b=c[a+92>>2]|0;d=b>>>7&1;switch(c[h>>2]|0){case 1:{h=(((e*12|0)>>>0)/((c[g>>2]|0)>>>0)|0)+d<<2;return h|0}case 3:{b=(b&4096|0)==0?144:72;break}default:b=144}h=r(e,b)|0;h=((h>>>0)/((c[g>>2]|0)>>>0)|0)+d|0;return h|0}function $c(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);j=l;k=d+12|0;g=c[k>>2]|0;c[j>>2]=48223;c[j+4>>2]=e;Ya(0,j|0);switch(e|0){case 7:{j=d+11|0;c[b+32>>2]=a[((a[j>>0]|0)<0?c[d>>2]|0:d)+(c[k>>2]|0)+9>>0]&3;n=g+11|0;c[k>>2]=n;f=a[j>>0]|0;e=c[d>>2]|0;i=f<<24>>24<0?e:d;n=i+n+2+-1|0;m=a[n>>0]|0;n=a[n+-1>>0]|0;h=g+13|0;c[k>>2]=h;g=(n&255)<<8|m&255;if(g){nc[c[(c[b>>2]|0)+20>>2]&7](b,i+h|0,g);h=(c[k>>2]|0)+g|0;c[k>>2]=h;f=a[j>>0]|0;e=c[d>>2]|0}n=h+1|0;c[k>>2]=n;g=f<<24>>24<0?e:d;n=g+n+2+-1|0;e=a[n>>0]|0;n=a[n+-1>>0]|0;f=h+3|0;c[k>>2]=f;e=(n&255)<<8|e&255;if(!e){cc=l;return}nc[c[(c[b>>2]|0)+20>>2]&7](b,g+f|0,e);cc=l;return}case 12:{j=d+11|0;c[b+32>>2]=a[((a[j>>0]|0)<0?c[d>>2]|0:d)+(c[k>>2]|0)+27>>0]&3;i=g+31|0;c[k>>2]=i;n=(a[j>>0]|0)<0?c[d>>2]|0:d;i=n+i+2+-1|0;m=a[i>>0]|0;i=a[i+-1>>0]|0;h=g+33|0;c[k>>2]=h;m=(i&255)<<8|m&255;nc[c[(c[b>>2]|0)+20>>2]&7](b,n+h|0,m);m=(c[k>>2]|0)+m|0;h=m+3|0;c[k>>2]=h;n=(a[j>>0]|0)<0?c[d>>2]|0:d;h=n+h+2+-1|0;i=a[h>>0]|0;h=a[h+-1>>0]|0;m=m+5|0;c[k>>2]=m;i=(h&255)<<8|i&255;nc[c[(c[b>>2]|0)+20>>2]&7](b,n+m|0,i);i=(c[k>>2]|0)+i|0;m=i+3|0;c[k>>2]=m;j=(a[j>>0]|0)<0?c[d>>2]|0:d;m=j+m+2+-1|0;n=a[m>>0]|0;m=a[m+-1>>0]|0;d=i+5|0;c[k>>2]=d;nc[c[(c[b>>2]|0)+20>>2]&7](b,j+d|0,(m&255)<<8|n&255);cc=l;return}default:{cc=l;return}}}function ad(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=d+11|0;l=a[m>>0]|0;e=l<<24>>24<0;n=d+4|0;o=d+12|0;f=c[o>>2]|0;if(((e?c[n>>2]|0:l&255)-f|0)<=4)return;l=b+32|0;i=0;j=0;k=0;do{switch(c[l>>2]|0){case 3:{e=e?c[d>>2]|0:d;k=e+f+4+-1|0;g=4;h=k;i=a[k+-2>>0]|0;j=a[k+-3>>0]|0;k=a[k+-1>>0]|0;break}case 2:{e=e?c[d>>2]|0:d;k=e+f+3+-1|0;g=3;h=k;i=a[k+-2>>0]|0;k=a[k+-1>>0]|0;break}case 1:{e=e?c[d>>2]|0:d;k=e+f+2+-1|0;g=2;h=k;k=a[k+-1>>0]|0;break}default:{h=e?c[d>>2]|0:d;e=h;g=1;h=h+f+1+-1|0}}h=a[h>>0]|0;g=f+g|0;c[o>>2]=g;h=(i&255)<<16|(j&255)<<24|(k&255)<<8|h&255;nc[c[(c[b>>2]|0)+20>>2]&7](b,e+g|0,h);f=(c[o>>2]|0)+h|0;c[o>>2]=f;h=a[m>>0]|0;e=h<<24>>24<0}while(((e?c[n>>2]|0:h&255)-f|0)>4);return}function bd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0.0,j=0;h=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);f=h;g=h+8|0;if((a[55136]|0)==0?aj(55136)|0:0)c[13794]=Ga(2,1460)|0;j=c[13794]|0;c[f>>2]=c[e>>2];i=+Ca(j|0,b|0,d|0,g|0,f|0);Oa(c[g>>2]|0);cc=h;return ~~i|0}function cd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0.0,j=0;h=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);f=h;g=h+8|0;if((a[55144]|0)==0?aj(55144)|0:0)c[13795]=Ga(2,1468)|0;j=c[13795]|0;c[f>>2]=c[e>>2];i=+Ca(j|0,b|0,d|0,g|0,f|0);Oa(c[g>>2]|0);cc=h;return ~~i|0}function dd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=cc;cc=cc+32|0;if((cc|0)>=(dc|0))w(32);k=r+4|0;g=r;b=a+16|0;d=c[b>>2]|0;if(d>>>0>203){c[b>>2]=d+-204;o=a+4|0;m=c[o>>2]|0;q=c[m>>2]|0;m=m+4|0;c[o>>2]=m;p=a+8|0;b=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;e=l;do if((b|0)==(l|0)){i=m;d=c[a>>2]|0;f=d;if(m>>>0>d>>>0){e=((i-f>>2)+1|0)/-2|0;f=m+(e<<2)|0;d=b-i|0;if(!d)b=f;else{qj(f|0,m|0,d|0)|0;b=(c[o>>2]|0)+(e<<2)|0}a=f+(d>>2<<2)|0;c[p>>2]=a;c[o>>2]=b;b=a;break}f=e-f|0;f=(f|0)==0?1:f>>1;g=f>>>2;do if(f)if(f>>>0>1073741823){r=X(8)|0;Uh(r,47989);c[r>>2]=41300;aa(r|0,1248,16)}else{h=Qh(f<<2)|0;break}else h=0;while(0);k=h;e=h+(g<<2)|0;l=e;j=h+(f<<2)|0;if((m|0)==(b|0))b=l;else{f=((b+-4-i|0)>>>2)+1|0;d=m;while(1){c[e>>2]=c[d>>2];d=d+4|0;if((d|0)==(b|0))break;else e=e+4|0}b=h+(f+g<<2)|0;d=c[a>>2]|0}c[a>>2]=k;c[o>>2]=l;c[p>>2]=b;c[n>>2]=j;if(d){Rh(d);b=c[p>>2]|0}}while(0);c[b>>2]=q;c[p>>2]=(c[p>>2]|0)+4;cc=r;return}q=a+8|0;b=c[q>>2]|0;p=a+4|0;f=b-(c[p>>2]|0)>>2;o=a+12|0;d=c[o>>2]|0;e=d-(c[a>>2]|0)|0;if(f>>>0>=e>>2>>>0){b=(e|0)==0?1:e>>1;i=k+12|0;c[i>>2]=0;c[k+16>>2]=a+12;do if(b)if(b>>>0>1073741823){r=X(8)|0;Uh(r,47989);c[r>>2]=41300;aa(r|0,1248,16)}else{d=Qh(b<<2)|0;break}else d=0;while(0);c[k>>2]=d;n=d+(f<<2)|0;j=k+8|0;c[j>>2]=n;h=k+4|0;c[h>>2]=n;c[i>>2]=d+(b<<2);c[g>>2]=Qh(4080)|0;gd(k,g);b=c[q>>2]|0;d=c[p>>2]|0;if((b|0)!=(d|0)){do{b=b+-4|0;hd(k,b);d=c[p>>2]|0}while((b|0)!=(d|0));b=c[q>>2]|0}e=d;f=c[a>>2]|0;c[a>>2]=c[k>>2];c[k>>2]=f;c[p>>2]=c[h>>2];c[h>>2]=e;c[q>>2]=c[j>>2];c[j>>2]=b;a=c[o>>2]|0;c[o>>2]=c[i>>2];c[i>>2]=a;if((d|0)!=(b|0))c[j>>2]=b+(~((b+-4-e|0)>>>2)<<2);if(f|0)Rh(f);cc=r;return}if((d|0)!=(b|0)){c[k>>2]=Qh(4080)|0;ed(a,k);cc=r;return}c[k>>2]=Qh(4080)|0;fd(a,k);m=c[p>>2]|0;n=c[m>>2]|0;m=m+4|0;c[p>>2]=m;b=c[q>>2]|0;l=c[o>>2]|0;e=l;do if((b|0)==(l|0)){j=m;d=c[a>>2]|0;f=d;if(m>>>0>d>>>0){e=((j-f>>2)+1|0)/-2|0;f=m+(e<<2)|0;d=b-j|0;if(!d)b=f;else{qj(f|0,m|0,d|0)|0;b=(c[p>>2]|0)+(e<<2)|0}a=f+(d>>2<<2)|0;c[q>>2]=a;c[p>>2]=b;b=a;break}f=e-f|0;f=(f|0)==0?1:f>>1;g=f>>>2;do if(f)if(f>>>0>1073741823){r=X(8)|0;Uh(r,47989);c[r>>2]=41300;aa(r|0,1248,16)}else{h=Qh(f<<2)|0;break}else h=0;while(0);k=h;e=h+(g<<2)|0;l=e;i=h+(f<<2)|0;if((m|0)==(b|0))b=l;else{f=((b+-4-j|0)>>>2)+1|0;d=m;while(1){c[e>>2]=c[d>>2];d=d+4|0;if((d|0)==(b|0))break;else e=e+4|0}b=h+(f+g<<2)|0;d=c[a>>2]|0}c[a>>2]=k;c[p>>2]=l;c[q>>2]=b;c[o>>2]=i;if(d){Rh(d);b=c[q>>2]|0}}while(0);c[b>>2]=n;c[q>>2]=(c[q>>2]|0)+4;cc=r;return}function ed(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+8|0;d=c[q>>2]|0;n=a+12|0;p=c[n>>2]|0;g=p;do if((d|0)==(p|0)){p=a+4|0;o=c[p>>2]|0;j=o;e=c[a>>2]|0;f=e;if(o>>>0>e>>>0){f=((j-f>>2)+1|0)/-2|0;g=o+(f<<2)|0;e=d-j|0;if(!e)d=g;else{qj(g|0,o|0,e|0)|0;d=(c[p>>2]|0)+(f<<2)|0}o=g+(e>>2<<2)|0;c[q>>2]=o;c[p>>2]=d;d=o;break}g=g-f|0;g=(g|0)==0?1:g>>1;h=g>>>2;do if(g)if(g>>>0>1073741823){q=X(8)|0;Uh(q,47989);c[q>>2]=41300;aa(q|0,1248,16)}else{i=Qh(g<<2)|0;break}else i=0;while(0);l=i;f=i+(h<<2)|0;m=f;k=i+(g<<2)|0;if((o|0)==(d|0))d=m;else{g=h+((d+-4-j|0)>>>2)+1|0;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(d|0))break;else f=f+4|0}d=i+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=l;c[p>>2]=m;c[q>>2]=d;c[n>>2]=k;if(e){Rh(e);d=c[q>>2]|0}}while(0);c[d>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+4;return}function fd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+4|0;o=c[q>>2]|0;j=o;p=c[a>>2]|0;e=p;do if((o|0)==(p|0)){p=a+8|0;m=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;d=l;if(m>>>0>>0){e=m;g=((d-e>>2)+1|0)/2|0;f=m+(g<<2)|0;e=e-j|0;d=f+(0-(e>>2)<<2)|0;if(!e){d=f;e=f}else{qj(d|0,o|0,e|0)|0;e=(c[p>>2]|0)+(g<<2)|0}c[q>>2]=d;c[p>>2]=e;break}e=d-e|0;e=(e|0)==0?1:e>>1;f=(e+3|0)>>>2;do if(e)if(e>>>0>1073741823){q=X(8)|0;Uh(q,47989);c[q>>2]=41300;aa(q|0,1248,16)}else{h=Qh(e<<2)|0;break}else h=0;while(0);k=h;d=h+(f<<2)|0;l=d;i=h+(e<<2)|0;if((o|0)==(m|0)){f=l;e=o}else{g=((m+-4-j|0)>>>2)+f+1|0;f=d;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(m|0))break;else f=f+4|0}f=h+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=k;c[q>>2]=l;c[p>>2]=f;c[n>>2]=i;if(e){Rh(e);d=c[q>>2]|0}}else d=o;while(0);c[d+-4>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+-4;return}function gd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+8|0;d=c[q>>2]|0;n=a+12|0;p=c[n>>2]|0;g=p;do if((d|0)==(p|0)){p=a+4|0;o=c[p>>2]|0;j=o;e=c[a>>2]|0;f=e;if(o>>>0>e>>>0){f=((j-f>>2)+1|0)/-2|0;g=o+(f<<2)|0;e=d-j|0;if(!e)d=g;else{qj(g|0,o|0,e|0)|0;d=(c[p>>2]|0)+(f<<2)|0}o=g+(e>>2<<2)|0;c[q>>2]=o;c[p>>2]=d;d=o;break}g=g-f|0;g=(g|0)==0?1:g>>1;h=g>>>2;do if(g)if(g>>>0>1073741823){q=X(8)|0;Uh(q,47989);c[q>>2]=41300;aa(q|0,1248,16)}else{i=Qh(g<<2)|0;break}else i=0;while(0);l=i;f=i+(h<<2)|0;m=f;k=i+(g<<2)|0;if((o|0)==(d|0))d=m;else{g=h+((d+-4-j|0)>>>2)+1|0;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(d|0))break;else f=f+4|0}d=i+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=l;c[p>>2]=m;c[q>>2]=d;c[n>>2]=k;if(e){Rh(e);d=c[q>>2]|0}}while(0);c[d>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+4;return}function hd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+4|0;o=c[q>>2]|0;j=o;p=c[a>>2]|0;e=p;do if((o|0)==(p|0)){p=a+8|0;m=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;d=l;if(m>>>0>>0){e=m;g=((d-e>>2)+1|0)/2|0;f=m+(g<<2)|0;e=e-j|0;d=f+(0-(e>>2)<<2)|0;if(!e){d=f;e=f}else{qj(d|0,o|0,e|0)|0;e=(c[p>>2]|0)+(g<<2)|0}c[q>>2]=d;c[p>>2]=e;break}e=d-e|0;e=(e|0)==0?1:e>>1;f=(e+3|0)>>>2;do if(e)if(e>>>0>1073741823){q=X(8)|0;Uh(q,47989);c[q>>2]=41300;aa(q|0,1248,16)}else{h=Qh(e<<2)|0;break}else h=0;while(0);k=h;d=h+(f<<2)|0;l=d;i=h+(e<<2)|0;if((o|0)==(m|0)){f=l;e=o}else{g=((m+-4-j|0)>>>2)+f+1|0;f=d;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(m|0))break;else f=f+4|0}f=h+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=k;c[q>>2]=l;c[p>>2]=f;c[n>>2]=i;if(e){Rh(e);d=c[q>>2]|0}}else d=o;while(0);c[d+-4>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+-4;return}function id(a){a=a|0;var b=0,d=0,e=0,f=0;ld(a);d=a+4|0;b=c[d>>2]|0;f=a+8|0;e=c[f>>2]|0;if((b|0)!=(e|0)){do{Rh(c[b>>2]|0);b=b+4|0}while((b|0)!=(e|0));b=c[d>>2]|0;d=c[f>>2]|0;if((d|0)!=(b|0))c[f>>2]=d+(~((d+-4-b|0)>>>2)<<2)}b=c[a>>2]|0;if(!b)return;Rh(b);return}function jd(b){b=b|0;if(a[b+36>>0]|0)return;b=c[b+8>>2]|0;if(!b)return;Kh(b);return}function kd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=a+20|0;g=c[f>>2]|0;if(!g){d=a+8|0;b=c[d>>2]|0;e=a+4|0;if((b|0)!=(c[e>>2]|0))do{Rh(c[b+-4>>2]|0);b=(c[d>>2]|0)+-4|0;c[d>>2]=b}while((c[e>>2]|0)!=(b|0));c[a+16>>2]=0;md(a);return}b=a+16|0;e=c[b>>2]|0;d=a+4|0;if(e>>>0>203){Rh(c[c[d>>2]>>2]|0);h=(c[d>>2]|0)+4|0;c[d>>2]=h;e=(c[b>>2]|0)+-204|0;c[b>>2]=e;g=c[f>>2]|0}else h=c[d>>2]|0;b=a+8|0;d=c[b>>2]|0;h=d-h|0;if((((h|0)==0?0:((h>>2)*204|0)+-1|0)-(g+e)|0)>>>0<=203){md(a);return}Rh(c[d+-4>>2]|0);c[b>>2]=(c[b>>2]|0)+-4;md(a);return}function ld(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=b+4|0;e=c[l>>2]|0;m=b+16|0;g=c[m>>2]|0;d=(g>>>0)/204|0;h=e+(d<<2)|0;j=b+8|0;n=c[j>>2]|0;f=n;i=e;if((n|0)!=(e|0)){d=(c[h>>2]|0)+((g-(d*204|0)|0)*20|0)|0;b=b+20|0;n=(c[b>>2]|0)+g|0;g=(n>>>0)/204|0;g=(c[e+(g<<2)>>2]|0)+((n-(g*204|0)|0)*20|0)|0;if((g|0)==(d|0)){d=b;k=5}else{f=h;while(1){e=d+4|0;if((a[e+11>>0]|0)<0)Rh(c[e>>2]|0);d=d+20|0;if((d-(c[f>>2]|0)|0)==4080){d=f+4|0;e=d;d=c[d>>2]|0}else e=f;if((g|0)==(d|0))break;else f=e}e=c[l>>2]|0;g=j;f=c[j>>2]|0;d=e}}else{d=b+20|0;k=5}if((k|0)==5){g=j;b=d;d=i}c[b>>2]=0;d=f-d>>2;if(d>>>0>2)do{Rh(c[e>>2]|0);e=(c[l>>2]|0)+4|0;c[l>>2]=e;d=(c[g>>2]|0)-e>>2}while(d>>>0>2);switch(d|0){case 1:{d=102;break}case 2:{d=204;break}default:return}c[m>>2]=d;return}function md(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;j=a+12|0;i=c[a>>2]|0;k=a+8|0;h=c[k>>2]|0;l=a+4|0;f=c[l>>2]|0;d=h-f|0;e=d>>2;b=i;if((c[j>>2]|0)-i>>2>>>0<=e>>>0)return;do if(d)if(e>>>0>1073741823){l=X(8)|0;Uh(l,47989);c[l>>2]=41300;aa(l|0,1248,16)}else{g=Qh(d)|0;break}else g=0;while(0);i=g;e=g+(e<<2)|0;if((f|0)==(h|0))d=e;else{d=g;b=f;while(1){c[d>>2]=c[b>>2];b=b+4|0;if((b|0)==(h|0))break;else d=d+4|0}d=g+((c[k>>2]|0)-(c[l>>2]|0)>>2<<2)|0;b=c[a>>2]|0}c[a>>2]=i;c[l>>2]=i;c[k>>2]=d;c[j>>2]=e;if(!b)return;Rh(b);return}function nd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);f=e;a=c[a>>2]|0;b=La(b|0)|0;c[f>>2]=c[d>>2];d=Qa(1392,f|0)|0;Pa(a|0,b|0,d|0);Ea(d|0);Ea(b|0);cc=e;return}function od(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);f=e;a=c[a>>2]|0;b=La(b|0)|0;c[f>>2]=c[d>>2];d=Qa(1392,f|0)|0;Pa(a|0,b|0,d|0);Ea(d|0);Ea(b|0);cc=e;return}function pd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);f=e;a=c[a>>2]|0;b=La(b|0)|0;c[f>>2]=c[d>>2];d=Qa(1400,f|0)|0;Pa(a|0,b|0,d|0);Ea(d|0);Ea(b|0);cc=e;return}function qd(a){a=a|0;return c[(c[a>>2]|0)+-4>>2]|0}function rd(a){a=a|0;if(!a)return;lc[c[(c[a>>2]|0)+4>>2]&31](a);return}function sd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);h=j;f=c[b>>2]|0;b=c[b+4>>2]|0;g=d+(b>>1)|0;if(b&1)f=c[(c[g>>2]|0)+f>>2]|0;d=e+4|0;e=c[e>>2]|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;if(e>>>0>4294967279)Wh(h);if(e>>>0<11){a[h+11>>0]=e;if(!e)b=h;else{b=h;i=9}}else{i=e+16&-16;b=Qh(i)|0;c[h>>2]=b;c[h+8>>2]=i|-2147483648;c[h+4>>2]=e;i=9}if((i|0)==9)pj(b|0,d|0,e|0)|0;a[b+e>>0]=0;mc[f&31](g,h);if((a[h+11>>0]|0)>=0){cc=j;return}Rh(c[h>>2]|0);cc=j;return}function td(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);f=g;e=c[a>>2]|0;h=c[a+4>>2]|0;a=b+(h>>1)|0;if(h&1)e=c[(c[a>>2]|0)+e>>2]|0;c[f>>2]=d;mc[e&31](a,f);Ea(c[f>>2]|0);cc=g;return}function ud(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a>>2]|0;e=c[a+4>>2]|0;a=b+(e>>1)|0;if(!(e&1)){e=d;lc[e&31](a);return}else{e=c[(c[a>>2]|0)+d>>2]|0;lc[e&31](a);return}}function vd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);e=f;d=c[a>>2]|0;g=c[a+4>>2]|0;a=b+(g>>1)|0;if(g&1)d=c[(c[a>>2]|0)+d>>2]|0;mc[d&31](e,a);Ia(c[e>>2]|0);g=c[e>>2]|0;Ea(g|0);cc=f;return g|0}function wd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);f=g;e=c[a>>2]|0;h=c[a+4>>2]|0;a=b+(h>>1)|0;if(h&1)e=c[(c[a>>2]|0)+e>>2]|0;c[f>>2]=d;mc[e&31](a,f);Ea(c[f>>2]|0);cc=g;return}function xd(b,d){b=b|0;d=d|0;var e=0;e=Qh(22936)|0;Id(e,d);a[e+22928>>0]=0;c[e+22932>>2]=c[b>>2];c[b>>2]=0;c[e>>2]=1540;return e|0}function yd(b,d,e){b=b|0;d=d|0;e=e|0;c[b>>2]=ka(((a[d+11>>0]|0)<0?c[d>>2]|0:d)|0,664,c[e>>2]|0)|0;return}function zd(a){a=a|0;return c[(c[a>>2]|0)+-4>>2]|0}function Ad(a){a=a|0;if(!a)return;lc[c[(c[a>>2]|0)+4>>2]&31](a);return}function Bd(a){a=a|0;return a|0}function Cd(a){a=a|0;return a|0}function Dd(a,b){a=a|0;b=b|0;lc[c[a>>2]&31](b);return}function Ed(b){b=b|0;a[b+22928>>0]=1;return}function Fd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;d=hc[a&3](f,g)|0;Ea(c[g>>2]|0);Ea(c[f>>2]|0);cc=e;return d|0}function Gd(b){b=b|0;var d=0,e=0,f=0,g=0;g=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);e=g;c[b>>2]=1556;d=b+22932|0;if(!(a[b+22928>>0]|0)){f=c[d>>2]|0;Ea(f|0);Md(b);cc=g;return}f=c[d>>2]|0;if((a[55104]|0)==0?aj(55104)|0:0)c[13790]=Ga(1,1440)|0;Da(c[13790]|0,f|0,48733,e|0);f=c[d>>2]|0;Ea(f|0);Md(b);cc=g;return}function Hd(a){a=a|0;Gd(a);Rh(a);return}function Id(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);h=f+8|0;i=f;c[d>>2]=1572;g=d+4|0;c[g>>2]=c[e>>2];c[e>>2]=0;a[d+8>>0]=0;e=d+12|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[d+32>>2]=0;e=d+22696|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;zg(d+40|0);Ag(d+104|0);Bg(d+9372|0);c[i>>2]=48518;Ya(0,i|0);c[h>>2]=48503;c[h+4>>2]=d+28;Ya(0,h|0);Kd(d+22728|0);e=d+22864|0;c[d+22892>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;a[e+24>>0]=0;a[d+22896>>0]=1;a[d+22897>>0]=1;e=d+22900|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;c[d+22912>>2]=12;c[d+22732>>2]=g;cc=f;return}function Jd(a){a=a|0;Gd(a);Rh(a);return}function Kd(b){b=b|0;var d=0,e=0,f=0;f=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);e=f+8|0;d=f;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+32>>2]=0;a[b+36>>0]=0;c[b>>2]=1588;if(!(og(b+40|0,0)|0)){c[b+132>>2]=1;c[b+128>>2]=1;c[e>>2]=48559;Ya(0,e|0);cc=f;return}else{c[d>>2]=48528;Ya(0,d|0);cc=f;return}}function Ld(b){b=b|0;var d=0,e=0,f=0;e=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);d=e+8|0;f=e;c[f>>2]=48665;Ya(0,f|0);Kh(c[b+8>>2]|0);c[d>>2]=48688;Ya(0,d|0);Dg(b+76|0);d=b+22684|0;if((a[d+11>>0]|0)<0)Rh(c[d>>2]|0);b=b+22668|0;if((a[b+11>>0]|0)>=0){cc=e;return}Rh(c[b>>2]|0);cc=e;return}function Md(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);g=i+8|0;d=i;c[b>>2]=1572;f=Fa(48259)|0;c[d>>2]=c[b+22892>>2];Ea(Ba(f|0,1,1476,d|0)|0);Ea(f|0);c[g>>2]=48712;Ya(0,g|0);g=b+22864|0;ld(g);f=b+22868|0;d=c[f>>2]|0;h=b+22872|0;e=c[h>>2]|0;if((d|0)!=(e|0)){do{Rh(c[d>>2]|0);d=d+4|0}while((d|0)!=(e|0));d=c[f>>2]|0;e=c[h>>2]|0;if((e|0)!=(d|0))c[h>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=c[g>>2]|0;if(d|0)Rh(d);Pd(b+22728|0);Ld(b+28|0);d=b+12|0;if((a[d+11>>0]|0)>=0){b=b+4|0;b=c[b>>2]|0;Ea(b|0);cc=i;return}Rh(c[d>>2]|0);b=b+4|0;b=c[b>>2]|0;Ea(b|0);cc=i;return}function Nd(a){a=a|0;Md(a);Rh(a);return}function Od(b){b=b|0;var d=0;Dg(b+64|0);d=b+22672|0;if((a[d+11>>0]|0)<0)Rh(c[d>>2]|0);b=b+22656|0;if((a[b+11>>0]|0)>=0)return;Rh(c[b>>2]|0);return}function Pd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);g=h;c[b>>2]=1588;d=b+40|0;e=c[d>>2]|0;if(e|0){pg(e);c[d>>2]=0}c[b>>2]=1620;if((a[b+36>>0]|0)==0?(f=c[b+8>>2]|0,f|0):0)Kh(f);c[g>>2]=48594;Ya(0,g|0);cc=h;return}function Qd(a){a=a|0;Pd(a);Rh(a);return}function Rd(a,b,d){a=a|0;b=b|0;d=d|0;c[a+44>>2]=b;b=a+48|0;c[b>>2]=d;do Ud(a)|0;while((c[b>>2]|0)!=0);return}function Sd(b){b=b|0;var d=0,e=0,f=0;f=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);e=f;c[b>>2]=1620;if((a[b+36>>0]|0)==0?(d=c[b+8>>2]|0,d|0):0)Kh(d);c[e>>2]=48594;Ya(0,e|0);cc=f;return}function Td(a){a=a|0;bb()}function Ud(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);g=v+8|0;t=v;u=b+40|0;e=b+44|0;f=b+60|0;d=rg(c[u>>2]|0,e,f)|0;switch(d|0){case 4:{if(qg(c[u>>2]|0,b+80|0)|0){u=-1;cc=v;return u|0}Vd(b,c[b+84>>2]|0,c[b+88>>2]|0);u=c[f>>2]|0;t=b+48|0;c[t>>2]=(c[e>>2]|0)-u+(c[t>>2]|0);c[e>>2]=u;u=0;cc=v;return u|0}case 3:{s=c[f>>2]|0;q=b+48|0;c[q>>2]=(c[e>>2]|0)-s+(c[q>>2]|0);c[e>>2]=s;break}case 1:case -2:{c[b+48>>2]=0;u=d;cc=v;return u|0}case 2:{c[b+48>>2]=0;break}default:{c[g>>2]=48618;c[g+4>>2]=0-d;Ya(0,g|0);c[b+48>>2]=0;u=d;cc=v;return u|0}}h=b+128|0;c[h>>2]=(c[h>>2]|0)+1;h=b+64|0;if((sg(c[u>>2]|0,h,0)|0)!=2){u=d;cc=v;return u|0}i=b+132|0;j=b+20|0;k=b+84|0;l=b+88|0;m=b+24|0;n=b+28|0;o=b+36|0;p=b+8|0;q=b+12|0;s=b+16|0;b=b+4|0;do{c[i>>2]=(c[i>>2]|0)+1;e=c[h>>2]|0;c[j>>2]=e;g=r(c[l>>2]|0,c[k>>2]|0)|0;f=g+e|0;c[m>>2]=f;g=f+(g>>>2)|0;c[n>>2]=g;if(!(a[o>>0]|0))Wd(e,f,g,c[p>>2]|0,c[q>>2]|0,c[s>>2]|0);e=c[c[b>>2]>>2]|0;if((a[55104]|0)==0?aj(55104)|0:0)c[13790]=Ga(1,1440)|0;Da(c[13790]|0,e|0,48660,t|0)}while((sg(c[u>>2]|0,h,0)|0)==2);cc=v;return d|0}function Vd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=cc;cc=cc+32|0;if((cc|0)>=(dc|0))w(32);h=i;f=b+12|0;c[f>>2]=d;g=b+16|0;c[g>>2]=e;c[h>>2]=48634;c[h+4>>2]=d;c[h+8>>2]=e;Ya(0,h|0);if(!(a[b+36>>0]|0)){e=c[g>>2]|0;e=(r(e<<2,e)|0)+33554432|0;e=Jh((e>>>0>16777216?e:16777216)+16777215&-16777216)|0;c[b+8>>2]=e;d=c[c[b+4>>2]>>2]|0;if((a[55152]|0)==0?aj(55152)|0:0)c[13796]=Ga(4,48)|0;b=c[13796]|0;c[h>>2]=c[f>>2];c[h+8>>2]=c[g>>2];c[h+16>>2]=e;Da(b|0,d|0,48647,h|0);cc=i;return}else{e=b+20|0;c[b+8>>2]=e;e=e>>2;d=c[c[b+4>>2]>>2]|0;if((a[55152]|0)==0?aj(55152)|0:0)c[13796]=Ga(4,48)|0;b=c[13796]|0;c[h>>2]=c[f>>2];c[h+8>>2]=c[g>>2];c[h+16>>2]=e;Da(b|0,d|0,48647,h|0);cc=i;return}}function Wd(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,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;F=g<<2;G=f+(r(F,h)|0)|0;if(!h)return;B=(g|0)==0;E=(g+-1|0)>>>1;C=(E<<3)+8|0;D=g+1&-2;E=E+1|0;j=0;A=0;k=0;i=0;l=0;while(1){if(!B){y=C+j|0;z=E+i|0;x=0;w=k;v=l;while(1){n=d[a+v>>0]|0;p=d[a+(v+g)>>0]|0;t=d[b+i>>0]|0;u=d[e+w>>0]|0;s=t<<8|u;o=G+(s|n<<16)|0;m=c[o>>2]|0;if(!m){J=(n*1192|0)+-19072|0;H=u+-128|0;m=t+-128|0;q=(H*1634|0)+J>>10;H=(r(m,-400)|0)+J+(r(H,-832)|0)>>10;J=(m*2066|0)+J>>10;m=(q|0)>0?q:0;n=(H|0)>0?H:0;I=(J|0)>0?J:0;m=((((J&255|0)==(J|0)?J:(I|0)<255?I:255)<<8)+16711680+((H&255|0)==(H|0)?H:(n|0)<255?n:255)<<8)+((q&255|0)==(q|0)?q:(m|0)<255?m:255)|0;c[o>>2]=m}c[f+j>>2]=m;n=G+(s|p<<16)|0;m=c[n>>2]|0;if(!m){p=(p*1192|0)+-19072|0;H=u+-128|0;m=t+-128|0;J=(H*1634|0)+p>>10;H=(r(m,-400)|0)+p+(r(H,-832)|0)>>10;p=(m*2066|0)+p>>10;m=(J|0)>0?J:0;I=(H|0)>0?H:0;q=(p|0)>0?p:0;m=((((p&255|0)==(p|0)?p:(q|0)<255?q:255)<<8)+16711680+((H&255|0)==(H|0)?H:(I|0)<255?I:255)<<8)+((J&255|0)==(J|0)?J:(m|0)<255?m:255)|0;c[n>>2]=m}c[f+(j+F)>>2]=m;q=j+4|0;p=v+1|0;n=d[a+p>>0]|0;p=d[a+(p+g)>>0]|0;o=G+(s|n<<16)|0;m=c[o>>2]|0;if(!m){m=(n*1192|0)+-19072|0;H=u+-128|0;K=t+-128|0;J=m+(H*1634|0)>>10;H=(r(H,-832)|0)+(r(K,-400)|0)+m>>10;K=m+(K*2066|0)>>10;m=(J|0)>0?J:0;I=(H|0)>0?H:0;n=(K|0)>0?K:0;m=((((K&255|0)==(K|0)?K:(n|0)<255?n:255)<<8)+16711680+((H&255|0)==(H|0)?H:(I|0)<255?I:255)<<8)+((J&255|0)==(J|0)?J:(m|0)<255?m:255)|0;c[o>>2]=m}c[f+q>>2]=m;n=G+(s|p<<16)|0;m=c[n>>2]|0;if(!m){m=(p*1192|0)+-19072|0;I=u+-128|0;u=t+-128|0;K=m+(I*1634|0)>>10;I=(r(I,-832)|0)+(r(u,-400)|0)+m>>10;u=m+(u*2066|0)>>10;m=(K|0)>0?K:0;J=(I|0)>0?I:0;H=(u|0)>0?u:0;m=((((u&255|0)==(u|0)?u:(H|0)<255?H:255)<<8)+16711680+((I&255|0)==(I|0)?I:(J|0)<255?J:255)<<8)+((K&255|0)==(K|0)?K:(m|0)<255?m:255)|0;c[n>>2]=m}c[f+(q+F)>>2]=m;x=x+2|0;if(x>>>0>=g>>>0)break;else{j=j+8|0;w=w+1|0;i=i+1|0;v=v+2|0}}l=D+l|0;j=y;k=E+k|0;i=z}A=A+2|0;if(A>>>0>=h>>>0)break;else{j=j+F|0;l=l+g|0}}return}function Xd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=cc;cc=cc+32|0;if((cc|0)>=(dc|0))w(32);h=l+16|0;j=l+4|0;k=l;f=d+4|0;g=c[d>>2]|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;if(g>>>0>4294967279)Wh(j);if(g>>>0<11){a[j+11>>0]=g;if(!g)d=j;else{d=j;i=6}}else{i=g+16&-16;d=Qh(i)|0;c[j>>2]=d;c[j+8>>2]=i|-2147483648;c[j+4>>2]=g;i=6}if((i|0)==6)pj(d|0,f|0,g|0)|0;a[d+g>>0]=0;c[k>>2]=e;nc[b&7](h,j,k);Ia(c[h>>2]|0);d=c[h>>2]|0;Ea(d|0);Ea(c[k>>2]|0);if((a[j+11>>0]|0)>=0){cc=l;return d|0}Rh(c[j>>2]|0);cc=l;return d|0}function Yd(){xc(0);return}function Zd(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;g=d[50024+b>>0]|0;s=d[50076+b>>0]|0;b=c[1992+(s*12|0)>>2]<>2]<>2]<>2]=r(c[a>>2]|0,b)|0;do if(!(f&65436)){if(f&98|0){j=a+4|0;l=r(c[j>>2]|0,h)|0;m=a+20|0;o=r(c[m>>2]|0,b)|0;n=a+24|0;q=r(c[n>>2]|0,h)|0;k=c[a>>2]|0;s=k+o|0;o=k-o|0;k=(l>>1)-q|0;l=(q>>1)+l|0;q=l+32+s>>6;c[a>>2]=q;p=k+32+o>>6;c[j>>2]=p;o=32-k+o>>6;c[a+8>>2]=o;s=32-l+s>>6;c[a+12>>2]=s;c[a+48>>2]=q;c[a+32>>2]=q;c[a+16>>2]=q;c[a+52>>2]=p;c[a+36>>2]=p;c[m>>2]=p;c[a+56>>2]=o;c[a+40>>2]=o;c[n>>2]=o;c[a+60>>2]=s;c[a+44>>2]=s;c[a+28>>2]=s;if((o+512|p+512|q+512|s+512)>>>0>1023)b=1;else break;return b|0}b=(c[a>>2]|0)+32>>6;if((b+512|0)>>>0>1023){a=1;return a|0}else{c[a+60>>2]=b;c[a+56>>2]=b;c[a+52>>2]=b;c[a+48>>2]=b;c[a+44>>2]=b;c[a+40>>2]=b;c[a+36>>2]=b;c[a+32>>2]=b;c[a+28>>2]=b;c[a+24>>2]=b;c[a+20>>2]=b;c[a+16>>2]=b;c[a+12>>2]=b;c[a+8>>2]=b;c[a+4>>2]=b;c[a>>2]=b;break}}else{n=a+4|0;f=a+56|0;u=a+60|0;z=c[u>>2]|0;o=r(c[n>>2]|0,h)|0;c[f>>2]=r(c[f>>2]|0,h)|0;c[u>>2]=r(z,g)|0;u=a+8|0;z=a+16|0;f=r(c[u>>2]|0,h)|0;w=r(c[a+20>>2]|0,b)|0;p=r(c[z>>2]|0,g)|0;x=a+32|0;A=a+12|0;q=r(c[x>>2]|0,h)|0;l=r(c[A>>2]|0,b)|0;t=r(c[a+24>>2]|0,h)|0;v=a+48|0;k=r(c[a+28>>2]|0,h)|0;i=r(c[v>>2]|0,g)|0;e=r(c[a+36>>2]|0,h)|0;s=r(c[a+40>>2]|0,g)|0;B=r(c[a+44>>2]|0,b)|0;y=r(c[a+52>>2]|0,h)|0;j=c[a>>2]|0;g=w+j|0;w=j-w|0;j=(o>>1)-t|0;o=(t>>1)+o|0;t=o+g|0;b=j+w|0;c[n>>2]=b;j=w-j|0;c[u>>2]=j;o=g-o|0;c[A>>2]=o;A=k+f|0;g=f-k|0;k=(p>>1)-i|0;p=(i>>1)+p|0;i=p+A|0;f=k+g|0;c[a+20>>2]=f;k=g-k|0;c[a+24>>2]=k;p=A-p|0;c[a+28>>2]=p;A=B+l|0;B=l-B|0;l=(q>>1)-y|0;q=(y>>1)+q|0;y=q+A|0;g=l+B|0;c[a+36>>2]=g;l=B-l|0;c[a+40>>2]=l;q=A-q|0;c[a+44>>2]=q;A=a+56|0;B=c[A>>2]|0;u=B+e|0;B=e-B|0;e=a+60|0;w=c[e>>2]|0;m=(s>>1)-w|0;s=(w>>1)+s|0;w=s+u|0;h=m+B|0;c[a+52>>2]=h;m=B-m|0;c[A>>2]=m;s=u-s|0;c[e>>2]=s;e=(i>>1)-w|0;i=(w>>1)+i|0;w=y+t+32|0;u=w+i>>6;c[a>>2]=u;y=t-y+32|0;t=y+e>>6;c[z>>2]=t;e=y-e>>6;c[x>>2]=e;i=w-i>>6;c[v>>2]=i;if((u+512|t+512)>>>0>1023){B=1;return B|0}if((i+512|e+512)>>>0>1023){B=1;return B|0}y=(f>>1)-h|0;f=(h>>1)+f|0;z=g+b+32|0;A=z+f>>6;c[n>>2]=A;b=b-g+32|0;B=b+y>>6;c[a+20>>2]=B;b=b-y>>6;c[a+36>>2]=b;f=z-f>>6;c[a+52>>2]=f;if((A+512|B+512)>>>0>1023){B=1;return B|0}if((f+512|b+512)>>>0>1023){B=1;return B|0}b=(k>>1)-m|0;f=(m>>1)+k|0;z=l+j+32|0;A=z+f>>6;c[a+8>>2]=A;y=j-l+32|0;B=y+b>>6;c[a+24>>2]=B;b=y-b>>6;c[a+40>>2]=b;f=z-f>>6;c[a+56>>2]=f;if((A+512|B+512)>>>0>1023){B=1;return B|0}if((f+512|b+512)>>>0>1023){B=1;return B|0}b=(p>>1)-s|0;f=(s>>1)+p|0;z=q+o+32|0;A=z+f>>6;c[a+12>>2]=A;y=o-q+32|0;B=y+b>>6;c[a+28>>2]=B;b=y-b>>6;c[a+44>>2]=b;f=z-f>>6;c[a+60>>2]=f;if((A+512|B+512)>>>0>1023){B=1;return B|0}if((f+512|b+512)>>>0>1023){B=1;return B|0}}while(0);B=0;return B|0}function _d(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;e=a[50076+d>>0]|0;s=a[50024+d>>0]|0;C=b+8|0;u=c[C>>2]|0;i=c[b+20>>2]|0;p=b+16|0;y=c[p>>2]|0;q=b+32|0;z=c[q>>2]|0;D=b+12|0;v=c[D>>2]|0;f=c[b+24>>2]|0;l=c[b+28>>2]|0;n=b+48|0;g=c[n>>2]|0;B=c[b+36>>2]|0;A=c[b+40>>2]|0;E=c[b+44>>2]|0;h=c[b+52>>2]|0;o=c[b>>2]|0;k=i+o|0;i=o-i|0;o=b+4|0;x=c[o>>2]|0;t=x-f|0;x=f+x|0;f=x+k|0;c[b>>2]=f;j=t+i|0;c[o>>2]=j;t=i-t|0;c[C>>2]=t;x=k-x|0;c[D>>2]=x;D=l+u|0;l=u-l|0;u=y-g|0;y=g+y|0;g=y+D|0;c[p>>2]=g;k=u+l|0;c[b+20>>2]=k;u=l-u|0;c[b+24>>2]=u;y=D-y|0;c[b+28>>2]=y;D=E+v|0;E=v-E|0;v=z-h|0;z=h+z|0;h=z+D|0;c[b+32>>2]=h;l=v+E|0;c[b+36>>2]=l;v=E-v|0;c[b+40>>2]=v;z=D-z|0;c[b+44>>2]=z;D=b+56|0;E=c[D>>2]|0;C=E+B|0;E=B-E|0;B=b+60|0;i=c[B>>2]|0;w=A-i|0;A=i+A|0;i=A+C|0;c[b+48>>2]=i;m=w+E|0;c[b+52>>2]=m;w=E-w|0;c[D>>2]=w;A=C-A|0;c[B>>2]=A;s=s&255;e=c[1992+((e&255)*12|0)>>2]|0;if(d>>>0>11){E=e<>2]=r(D+d|0,E)|0;c[p>>2]=r(C+B|0,E)|0;c[q>>2]=r(B-C|0,E)|0;c[n>>2]=r(d-D|0,E)|0;D=l+j|0;d=j-l|0;C=k-m|0;B=m+k|0;c[o>>2]=r(B+D|0,E)|0;c[b+20>>2]=r(C+d|0,E)|0;c[b+36>>2]=r(d-C|0,E)|0;c[b+52>>2]=r(D-B|0,E)|0;B=v+t|0;v=t-v|0;D=u-w|0;C=w+u|0;c[b+8>>2]=r(C+B|0,E)|0;c[b+24>>2]=r(D+v|0,E)|0;c[b+40>>2]=r(v-D|0,E)|0;c[b+56>>2]=r(B-C|0,E)|0;C=z+x|0;z=x-z|0;B=y-A|0;D=A+y|0;c[b+12>>2]=r(D+C|0,E)|0;c[b+28>>2]=r(B+z|0,E)|0;c[b+44>>2]=r(z-B|0,E)|0;c[b+60>>2]=r(C-D|0,E)|0;return}else{D=(d+-6|0)>>>0<6?1:2;E=2-s|0;s=h+f|0;C=f-h|0;d=g-i|0;B=i+g|0;c[b>>2]=(r(B+s|0,e)|0)+D>>E;c[p>>2]=(r(d+C|0,e)|0)+D>>E;c[q>>2]=(r(C-d|0,e)|0)+D>>E;c[n>>2]=(r(s-B|0,e)|0)+D>>E;B=l+j|0;s=j-l|0;d=k-m|0;C=m+k|0;c[o>>2]=(r(C+B|0,e)|0)+D>>E;c[b+20>>2]=(r(d+s|0,e)|0)+D>>E;c[b+36>>2]=(r(s-d|0,e)|0)+D>>E;c[b+52>>2]=(r(B-C|0,e)|0)+D>>E;C=v+t|0;t=t-v|0;v=u-w|0;B=w+u|0;c[b+8>>2]=(r(B+C|0,e)|0)+D>>E;c[b+24>>2]=(r(v+t|0,e)|0)+D>>E;c[b+40>>2]=(r(t-v|0,e)|0)+D>>E;c[b+56>>2]=(r(C-B|0,e)|0)+D>>E;B=z+x|0;x=x-z|0;z=y-A|0;C=A+y|0;c[b+12>>2]=(r(C+B|0,e)|0)+D>>E;c[b+28>>2]=(r(z+x|0,e)|0)+D>>E;c[b+44>>2]=(r(x-z|0,e)|0)+D>>E;c[b+60>>2]=(r(B-C|0,e)|0)+D>>E;return}}function $d(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=c[1992+((d[50076+b>>0]|0)*12|0)>>2]|0;if(b>>>0>5){e=e<<(d[50024+b>>0]|0)+-1;b=0}else b=1;k=c[a>>2]|0;g=a+8|0;h=c[g>>2]|0;m=h+k|0;h=k-h|0;k=a+4|0;j=c[k>>2]|0;l=a+12|0;f=c[l>>2]|0;i=j-f|0;j=f+j|0;c[a>>2]=(r(j+m|0,e)|0)>>b;c[k>>2]=(r(m-j|0,e)|0)>>b;c[g>>2]=(r(i+h|0,e)|0)>>b;c[l>>2]=(r(h-i|0,e)|0)>>b;l=a+16|0;i=c[l>>2]|0;h=a+24|0;g=c[h>>2]|0;k=g+i|0;g=i-g|0;i=a+20|0;j=c[i>>2]|0;a=a+28|0;m=c[a>>2]|0;f=j-m|0;j=m+j|0;c[l>>2]=(r(j+k|0,e)|0)>>b;c[i>>2]=(r(k-j|0,e)|0)>>b;c[h>>2]=(r(f+g|0,e)|0)>>b;c[a>>2]=(r(g-f|0,e)|0)>>b;return}function ae(a,b){a=a|0;b=b|0;var c=0;b=1<>>1}while((c|0)!=0&(c&a|0)==0);return b|0}function be(a){a=a|0;var b=0;b=8-(c[a+8>>2]|0)|0;a=ce(a,b)|0;if((a|0)==-1){b=1;return b|0}b=(a|0)!=(c[2064+(b+-1<<2)>>2]|0)&1;return b|0}function ce(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=a+4|0;i=c[m>>2]|0;l=c[a+12>>2]<<3;n=a+16|0;k=c[n>>2]|0;e=l-k|0;if((e|0)>31){e=a+8|0;g=c[e>>2]|0;f=(d[i+1>>0]|0)<<16|(d[i>>0]|0)<<24|(d[i+2>>0]|0)<<8|(d[i+3>>0]|0);if(!g)h=e;else{h=e;f=(d[i+4>>0]|0)>>>(8-g|0)|f<0){g=c[h>>2]|0;j=g+24|0;f=(d[i>>0]|0)<0){g=e;e=j;while(1){i=i+1|0;e=e+-8|0;f=(d[i>>0]|0)<>2]=e;c[h>>2]=e&7;if(e>>>0>l>>>0){n=-1;return n|0}c[m>>2]=(c[a>>2]|0)+(e>>>3);n=f>>>(32-b|0);return n|0}function de(a){a=a|0;var b=0;b=(c[a+12>>2]<<3)-(c[a+16>>2]|0)|0;if(!b){b=0;return b|0}if(b>>>0>8){b=1;return b|0}else return ((ee(a)|0)>>>(32-b|0)|0)!=(1<>2]|0;e=(c[a+12>>2]<<3)-(c[a+16>>2]|0)|0;if((e|0)>31){a=c[a+8>>2]|0;b=(d[f+1>>0]|0)<<16|(d[f>>0]|0)<<24|(d[f+2>>0]|0)<<8|(d[f+3>>0]|0);if(!a){f=b;return f|0}f=(d[f+4>>0]|0)>>>(8-a|0)|b<>2]|0;b=g+24|0;a=(d[f>>0]|0)<>0]|0)<>2]|0;d=d+1|0;a:do if(d>>>0>>0)do{if((c[a+(d<<2)>>2]|0)==(e|0))break a;d=d+1|0}while(d>>>0>>0);while(0);return ((d|0)==(b|0)?0:d)|0}function ge(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[a+4>>2]|0;d=(b>>>0)%(f>>>0)|0;e=b-d|0;b=r(c[a+8>>2]|0,f)|0;f=c[a>>2]|0;c[a+12>>2]=f+(d<<4)+(e<<8);d=f+(b<<8)+(e<<6)+(d<<3)|0;c[a+16>>2]=d;c[a+20>>2]=d+(b<<6);return}function he(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;do if(((e>>>0>3?(a[b>>0]|0)==0:0)?(a[b+1>>0]|0)==0:0)?(h=a[b+2>>0]|0,(h&255)<2):0){n=-3;p=3;k=b+3|0;i=2;while(1){if(h<<24>>24)if(h<<24>>24==1&i>>>0>1)break;else i=0;else i=i+1|0;j=p+1|0;if((j|0)==(e|0)){q=6;break}else{h=a[k>>0]|0;n=~p;p=j;k=k+1|0}}if((q|0)==6){c[g>>2]=e;q=1;return q|0}j=(a[k>>0]|0)!=0;l=0;m=p;i=0;o=(j^1)&1;while(1){m=m+1|0;k=k+1|0;h=j?0:o;i=j&o>>>0>2?1:i;if((m|0)==(e|0)){q=15;break}q=a[k>>0]|0;j=q<<24>>24!=0;o=h+((j^1)&1)|0;h=q<<24>>24==3&(o|0)==2?1:l;if(q<<24>>24==1&o>>>0>1){q=13;break}else l=h}if((q|0)==13){m=n+m-o|0;n=f+12|0;c[n>>2]=m;l=h;j=p;h=o-(o>>>0<3?o:3)|0;break}else if((q|0)==15){m=n+e-h|0;n=f+12|0;c[n>>2]=m;j=p;break}}else q=16;while(0);if((q|0)==16){n=f+12|0;c[n>>2]=e;m=e;l=1;j=0;i=0;h=0}k=b+j|0;c[f>>2]=k;c[f+4>>2]=k;c[f+8>>2]=0;c[f+16>>2]=0;c[g>>2]=h+j+m;if(i|0){q=1;return q|0}if(!l){q=0;return q|0}h=c[n>>2]|0;do if(h){i=k;l=k;j=0;a:while(1){h=h+-1|0;k=a[i>>0]|0;do if((j|0)==2){if(k<<24>>24!=3)if((k&255)<3){h=1;q=30;break a}else{q=26;break}if(!h){h=1;q=30;break a}i=i+1|0;if((d[i>>0]|0)>3){h=1;q=30;break a}else j=0}else q=26;while(0);if((q|0)==26){q=0;a[l>>0]=k;i=i+1|0;l=l+1|0;j=k<<24>>24==0?j+1|0:0}if(!h){q=28;break}}if((q|0)==28){j=c[n>>2]|0;h=l;break}else if((q|0)==30)return h|0}else{j=0;i=k;h=k}while(0);c[n>>2]=h-i+j;q=0;return q|0}function ie(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);n=o;je(b,0,92);d=ce(a,8)|0;a:do if((((d|0)!=-1?(c[b>>2]=d,ce(a,1)|0,ce(a,1)|0,(ce(a,1)|0)!=-1):0)?(ce(a,5)|0)!=-1:0)?(e=ce(a,8)|0,(e|0)!=-1):0){m=b+4|0;c[m>>2]=e;e=b+8|0;d=ke(a,e)|0;if(!d)if((c[e>>2]|0)>>>0<=31){d=ke(a,n)|0;if(!d){d=c[n>>2]|0;if(d>>>0<=12){c[b+12>>2]=1<>2]|0;if(d>>>0<=2){c[b+16>>2]=d;b:do switch(d|0){case 0:{d=ke(a,n)|0;if(d|0)break a;d=c[n>>2]|0;if(d>>>0>12){d=1;break a}c[b+20>>2]=1<>2]=(d|0)==1&1;d=le(a,b+28|0)|0;if(d|0)break a;d=le(a,b+32|0)|0;if(d|0)break a;g=b+36|0;d=ke(a,g)|0;if(d|0)break a;d=c[g>>2]|0;if(d>>>0>255){d=1;break a}if(!d){c[b+40>>2]=0;break b}d=me(4,d)|0;f=b+40|0;c[f>>2]=d;if(!d){d=65535;break a}if(c[g>>2]|0){d=le(a,d)|0;if(d|0)break a;e=1;while(1){if(e>>>0>=(c[g>>2]|0)>>>0)break b;d=le(a,(c[f>>2]|0)+(e<<2)|0)|0;if(!d)e=e+1|0;else break a}}break}default:{}}while(0);l=b+44|0;d=ke(a,l)|0;if(!d)if((c[l>>2]|0)>>>0<=16?(h=ce(a,1)|0,(h|0)!=-1):0){c[b+48>>2]=(h|0)==1&1;d=ke(a,n)|0;if(!d){j=b+52|0;c[j>>2]=(c[n>>2]|0)+1;d=ke(a,n)|0;if(!d){i=b+56|0;c[i>>2]=(c[n>>2]|0)+1;switch(ce(a,1)|0){case 0:case -1:{d=1;break a}default:{}}if((ce(a,1)|0)!=-1?(k=ce(a,1)|0,(k|0)!=-1):0){k=(k|0)==1;c[b+60>>2]=k&1;if(k){h=b+64|0;d=ke(a,h)|0;if(d|0)break;e=b+68|0;d=ke(a,e)|0;if(d|0)break;g=b+72|0;d=ke(a,g)|0;if(d|0)break;f=b+76|0;d=ke(a,f)|0;if(d|0)break;d=c[j>>2]|0;if((c[h>>2]|0)>((d<<3)+~c[e>>2]|0)){d=1;break}e=c[i>>2]|0;if((c[g>>2]|0)>((e<<3)+~c[f>>2]|0)){d=1;break}}else{e=c[i>>2]|0;d=c[j>>2]|0}f=r(e,d)|0;do switch(c[m>>2]|0){case 10:{d=99;e=152064;g=59;break}case 11:{d=396;e=345600;g=59;break}case 12:{d=396;e=912384;g=59;break}case 13:{d=396;e=912384;g=59;break}case 20:{d=396;e=912384;g=59;break}case 21:{d=792;e=1824768;g=59;break}case 22:{d=1620;e=3110400;g=59;break}case 30:{d=1620;e=3110400;g=59;break}case 31:{d=3600;e=6912e3;g=59;break}case 32:{d=5120;e=7864320;g=59;break}case 40:{d=8192;e=12582912;g=59;break}case 41:{d=8192;e=12582912;g=59;break}case 42:{d=8704;e=13369344;g=59;break}case 50:{d=22080;e=42393600;g=59;break}case 51:{d=36864;e=70778880;g=59;break}default:g=61}while(0);do if((g|0)==59){if(d>>>0>>0){g=61;break}e=(e>>>0)/((f*384|0)>>>0)|0;e=e>>>0<16?e:16;c[n>>2]=e;d=c[l>>2]|0;if(d>>>0>e>>>0)g=62;else d=e}while(0);if((g|0)==61){c[n>>2]=2147483647;d=c[l>>2]|0;g=62}if((g|0)==62)c[n>>2]=d;f=b+88|0;c[f>>2]=d;d=ce(a,1)|0;if((d|0)!=-1){n=(d|0)==1;c[b+80>>2]=n&1;do if(n){d=me(952,1)|0;e=b+84|0;c[e>>2]=d;if(!d){d=65535;break a}d=ne(a,d)|0;if(d|0)break a;d=c[e>>2]|0;if(!(c[d+920>>2]|0))break;e=c[d+948>>2]|0;if((c[d+944>>2]|0)>>>0>e>>>0){d=1;break a}if(e>>>0<(c[l>>2]|0)>>>0){d=1;break a}if(e>>>0>(c[f>>2]|0)>>>0){d=1;break a}c[f>>2]=(e|0)==0?1:e}while(0);be(a)|0;d=0}else d=1}else d=1}}}else d=1}else d=1}}else d=1}}else d=1}else d=1;while(0);cc=o;return d|0}function je(a,b,c){a=a|0;b=b|0;c=c|0;rj(a|0,b&255|0,c|0)|0;return}function ke(a,b){a=a|0;b=b|0;var d=0,e=0;d=ee(a)|0;if((d|0)<0){oe(a,1)|0;c[b>>2]=0;b=0;return b|0}if(d>>>0>1073741823){if((oe(a,3)|0)==-1){b=1;return b|0}c[b>>2]=(d>>>29&1)+1;b=0;return b|0}if(d>>>0>536870911){if((oe(a,5)|0)==-1){b=1;return b|0}c[b>>2]=(d>>>27&3)+3;b=0;return b|0}if(d>>>0>268435455){if((oe(a,7)|0)==-1){b=1;return b|0}c[b>>2]=(d>>>25&7)+7;b=0;return b|0}d=ae(d,28)|0;e=d+4|0;if((e|0)!=32){oe(a,d+5|0)|0;d=ce(a,e)|0;if((d|0)==-1){b=1;return b|0}c[b>>2]=(1<>2]=0;oe(a,32)|0;if((ce(a,1)|0)!=1){b=1;return b|0}d=ee(a)|0;if((oe(a,32)|0)==-1){b=1;return b|0}switch(d|0){case 0:{c[b>>2]=-1;b=0;return b|0}case 1:{c[b>>2]=-1;b=1;return b|0}default:{b=1;return b|0}}return 0}function le(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);e=f;c[e>>2]=0;d=ke(a,e)|0;a=c[e>>2]|0;d=(d|0)==0;if((a|0)==-1)if(d)a=1;else{c[b>>2]=-2147483648;a=0}else{e=(a+1|0)>>>1;if(d){c[b>>2]=(a&1|0)==0?0-e|0:e;a=0}else a=1}cc=f;return a|0}function me(a,b){a=a|0;b=b|0;if((4294967295/(b>>>0)|0)>>>0>>0){a=0;return a|0}a=Jh(r(b,a)|0)|0;return a|0}function ne(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;je(b,0,952);d=ce(a,1)|0;if((d|0)==-1){b=1;return b|0}f=(d|0)==1;c[b>>2]=f&1;do if(f){d=ce(a,8)|0;if((d|0)==-1){b=1;return b|0}c[b+4>>2]=d;if((d|0)==255){d=ce(a,16)|0;if((d|0)==-1){b=1;return b|0}c[b+8>>2]=d;d=ce(a,16)|0;if((d|0)==-1){b=1;return b|0}else{c[b+12>>2]=d;break}}}while(0);d=ce(a,1)|0;if((d|0)==-1){b=1;return b|0}f=(d|0)==1;c[b+16>>2]=f&1;do if(f){d=ce(a,1)|0;if((d|0)==-1){b=1;return b|0}else{c[b+20>>2]=(d|0)==1&1;break}}while(0);d=ce(a,1)|0;if((d|0)==-1){b=1;return b|0}f=(d|0)==1;c[b+24>>2]=f&1;if(f){d=ce(a,3)|0;if((d|0)==-1){b=1;return b|0}c[b+28>>2]=d;d=ce(a,1)|0;if((d|0)==-1){b=1;return b|0}c[b+32>>2]=(d|0)==1&1;d=ce(a,1)|0;if((d|0)==-1){b=1;return b|0}f=(d|0)==1;c[b+36>>2]=f&1;if(f){d=ce(a,8)|0;if((d|0)==-1){b=1;return b|0}c[b+40>>2]=d;d=ce(a,8)|0;if((d|0)==-1){b=1;return b|0}c[b+44>>2]=d;d=ce(a,8)|0;if((d|0)==-1){b=1;return b|0}}else g=22}else{c[b+28>>2]=5;g=22}if((g|0)==22){c[b+40>>2]=2;c[b+44>>2]=2;d=2}c[b+48>>2]=d;d=ce(a,1)|0;if((d|0)==-1){b=1;return b|0}f=(d|0)==1;c[b+52>>2]=f&1;if(f){e=b+56|0;d=ke(a,e)|0;if(d|0){b=d;return b|0}if((c[e>>2]|0)>>>0>5){b=1;return b|0}e=b+60|0;d=ke(a,e)|0;if(d|0){b=d;return b|0}if((c[e>>2]|0)>>>0>5){b=1;return b|0}}d=ce(a,1)|0;if((d|0)==-1){b=1;return b|0}f=(d|0)==1;c[b+64>>2]=f&1;do if(f){d=ee(a)|0;if((d|0)==0|(oe(a,32)|0)==-1){b=1;return b|0}c[b+68>>2]=d;d=ee(a)|0;if((d|0)==0|(oe(a,32)|0)==-1){b=1;return b|0}c[b+72>>2]=d;d=ce(a,1)|0;if((d|0)==-1){b=1;return b|0}else{c[b+76>>2]=(d|0)==1&1;break}}while(0);d=ce(a,1)|0;if((d|0)==-1){b=1;return b|0}e=(d|0)==1;f=b+80|0;c[f>>2]=e&1;if(e){d=pe(a,b+84|0)|0;if(d|0){b=d;return b|0}}else{c[b+84>>2]=1;c[b+96>>2]=288000001;c[b+224>>2]=288000001;c[b+480>>2]=24;c[b+484>>2]=24;c[b+488>>2]=24;c[b+492>>2]=24}d=ce(a,1)|0;if((d|0)==-1){b=1;return b|0}d=(d|0)==1;e=b+496|0;c[e>>2]=d&1;if(d){d=pe(a,b+500|0)|0;if(d|0){b=d;return b|0}}else{c[b+500>>2]=1;c[b+512>>2]=240000001;c[b+640>>2]=240000001;c[b+896>>2]=24;c[b+900>>2]=24;c[b+904>>2]=24;c[b+908>>2]=24}if(!((c[f>>2]|0)==0?!(c[e>>2]|0):0))g=45;do if((g|0)==45){d=ce(a,1)|0;if((d|0)==-1){b=1;return b|0}else{c[b+912>>2]=(d|0)==1&1;break}}while(0);d=ce(a,1)|0;if((d|0)==-1){b=1;return b|0}c[b+916>>2]=(d|0)==1&1;d=ce(a,1)|0;if((d|0)==-1){b=1;return b|0}g=(d|0)==1;c[b+920>>2]=g&1;do if(g){d=ce(a,1)|0;if((d|0)==-1){b=1;return b|0}c[b+924>>2]=(d|0)==1&1;e=b+928|0;d=ke(a,e)|0;if(d|0){b=d;return b|0}if((c[e>>2]|0)>>>0>16){b=1;return b|0}e=b+932|0;d=ke(a,e)|0;if(d|0){b=d;return b|0}if((c[e>>2]|0)>>>0>16){b=1;return b|0}e=b+936|0;d=ke(a,e)|0;if(d|0){b=d;return b|0}if((c[e>>2]|0)>>>0>16){b=1;return b|0}e=b+940|0;d=ke(a,e)|0;if(d|0){b=d;return b|0}if((c[e>>2]|0)>>>0>16){b=1;return b|0}d=ke(a,b+944|0)|0;if(d|0){b=d;return b|0}d=ke(a,b+948|0)|0;if(!d)break;return d|0}else{c[b+924>>2]=1;c[b+928>>2]=2;c[b+932>>2]=1;c[b+936>>2]=16;c[b+940>>2]=16;c[b+944>>2]=16;c[b+948>>2]=16}while(0);b=0;return b|0}function oe(a,b){a=a|0;b=b|0;var d=0;d=a+16|0;b=(c[d>>2]|0)+b|0;c[d>>2]=b;c[a+8>>2]=b&7;if(b>>>0>c[a+12>>2]<<3>>>0){d=-1;return d|0}c[a+4>>2]=(c[a>>2]|0)+(b>>>3);d=0;return d|0}function pe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=ke(a,b)|0;if(d|0){b=d;return b|0}h=(c[b>>2]|0)+1|0;c[b>>2]=h;if(h>>>0>32){b=1;return b|0}d=ce(a,4)|0;if((d|0)==-1){b=1;return b|0}h=b+4|0;c[h>>2]=d;d=ce(a,4)|0;if((d|0)==-1){b=1;return b|0}g=b+8|0;c[g>>2]=d;a:do if(c[b>>2]|0){f=0;while(1){e=b+12+(f<<2)|0;d=ke(a,e)|0;if(d|0){e=18;break}d=c[e>>2]|0;if((d|0)==-1){d=1;e=18;break}d=d+1|0;c[e>>2]=d;c[e>>2]=d<<(c[h>>2]|0)+6;e=b+140+(f<<2)|0;d=ke(a,e)|0;if(d|0){e=18;break}d=c[e>>2]|0;if((d|0)==-1){d=1;e=18;break}d=d+1|0;c[e>>2]=d;c[e>>2]=d<<(c[g>>2]|0)+4;d=ce(a,1)|0;if((d|0)==-1){d=1;e=18;break}c[b+268+(f<<2)>>2]=(d|0)==1&1;f=f+1|0;if(f>>>0>=(c[b>>2]|0)>>>0)break a}if((e|0)==18)return d|0}while(0);d=ce(a,5)|0;if((d|0)==-1){b=1;return b|0}c[b+396>>2]=d+1;d=ce(a,5)|0;if((d|0)==-1){b=1;return b|0}c[b+400>>2]=d+1;d=ce(a,5)|0;if((d|0)==-1){b=1;return b|0}c[b+404>>2]=d+1;d=ce(a,5)|0;if((d|0)==-1){b=1;return b|0}c[b+408>>2]=d;b=0;return b|0}function qe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;if((c[a>>2]|0)!=(c[b>>2]|0)){b=1;return b|0}if((c[a+4>>2]|0)!=(c[b+4>>2]|0)){b=1;return b|0}if((c[a+12>>2]|0)!=(c[b+12>>2]|0)){b=1;return b|0}d=c[a+16>>2]|0;if((d|0)!=(c[b+16>>2]|0)){b=1;return b|0}if((c[a+44>>2]|0)!=(c[b+44>>2]|0)){b=1;return b|0}if((c[a+48>>2]|0)!=(c[b+48>>2]|0)){b=1;return b|0}if((c[a+52>>2]|0)!=(c[b+52>>2]|0)){b=1;return b|0}if((c[a+56>>2]|0)!=(c[b+56>>2]|0)){b=1;return b|0}h=c[a+60>>2]|0;if((h|0)!=(c[b+60>>2]|0)){b=1;return b|0}if((c[a+80>>2]|0)!=(c[b+80>>2]|0)){b=1;return b|0}a:do switch(d|0){case 0:{if((c[a+20>>2]|0)!=(c[b+20>>2]|0)){b=1;return b|0}break}case 1:{if((c[a+24>>2]|0)!=(c[b+24>>2]|0)){b=1;return b|0}if((c[a+28>>2]|0)!=(c[b+28>>2]|0)){b=1;return b|0}if((c[a+32>>2]|0)!=(c[b+32>>2]|0)){b=1;return b|0}d=c[a+36>>2]|0;if((d|0)!=(c[b+36>>2]|0)){b=1;return b|0}if(d|0){e=c[a+40>>2]|0;f=c[b+40>>2]|0;g=0;while(1){if((c[e+(g<<2)>>2]|0)!=(c[f+(g<<2)>>2]|0)){d=1;break}g=g+1|0;if(g>>>0>=d>>>0)break a}return d|0}break}default:{}}while(0);if(h|0){if((c[a+64>>2]|0)!=(c[b+64>>2]|0)){b=1;return b|0}if((c[a+68>>2]|0)!=(c[b+68>>2]|0)){b=1;return b|0}if((c[a+72>>2]|0)!=(c[b+72>>2]|0)){b=1;return b|0}if((c[a+76>>2]|0)!=(c[b+76>>2]|0)){b=1;return b|0}}b=0;return b|0}function re(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);i=k+4|0;j=k;je(b,0,72);d=ke(a,b)|0;if(d|0){a=d;cc=k;return a|0}if((c[b>>2]|0)>>>0>255){a=1;cc=k;return a|0}e=b+4|0;d=ke(a,e)|0;if(d|0){a=d;cc=k;return a|0}if((c[e>>2]|0)>>>0>31){a=1;cc=k;return a|0}if(ce(a,1)|0){a=1;cc=k;return a|0}d=ce(a,1)|0;if((d|0)==-1){a=1;cc=k;return a|0}c[b+8>>2]=(d|0)==1&1;d=ke(a,i)|0;if(d|0){a=d;cc=k;return a|0}d=(c[i>>2]|0)+1|0;h=b+12|0;c[h>>2]=d;if(d>>>0>8){a=1;cc=k;return a|0}a:do if(d>>>0>1){e=b+16|0;d=ke(a,e)|0;if(d|0){a=d;cc=k;return a|0}d=c[e>>2]|0;if(d>>>0>6){a=1;cc=k;return a|0}switch(d|0){case 0:{g=me(4,c[h>>2]|0)|0;f=b+20|0;c[f>>2]=g;if(!g){a=65535;cc=k;return a|0}if(!(c[h>>2]|0))break a;e=0;while(1){d=ke(a,i)|0;if(d|0)break;c[(c[f>>2]|0)+(e<<2)>>2]=(c[i>>2]|0)+1;e=e+1|0;if(e>>>0>=(c[h>>2]|0)>>>0)break a}cc=k;return d|0}case 2:{g=b+24|0;c[g>>2]=me(4,(c[h>>2]|0)+-1|0)|0;f=me(4,(c[h>>2]|0)+-1|0)|0;e=b+28|0;c[e>>2]=f;if((f|0)==0|(c[g>>2]|0)==0){a=65535;cc=k;return a|0}if((c[h>>2]|0)==1)break a;f=0;while(1){d=ke(a,i)|0;if(d|0){e=49;break}c[(c[g>>2]|0)+(f<<2)>>2]=c[i>>2];d=ke(a,i)|0;if(d|0){e=49;break}c[(c[e>>2]|0)+(f<<2)>>2]=c[i>>2];f=f+1|0;if(f>>>0>=((c[h>>2]|0)+-1|0)>>>0)break a}if((e|0)==49){cc=k;return d|0}break}case 5:case 4:case 3:{d=ce(a,1)|0;if((d|0)==-1){a=1;cc=k;return a|0}c[b+32>>2]=(d|0)==1&1;d=ke(a,i)|0;if(!d){c[b+36>>2]=(c[i>>2]|0)+1;break a}else{a=d;cc=k;return a|0}}case 6:{d=ke(a,i)|0;if(d|0){a=d;cc=k;return a|0}e=(c[i>>2]|0)+1|0;f=b+40|0;c[f>>2]=e;e=me(4,e)|0;g=b+44|0;c[g>>2]=e;if(!e){a=65535;cc=k;return a|0}d=c[2096+((c[h>>2]|0)+-1<<2)>>2]|0;if(!(c[f>>2]|0))break a;e=0;while(1){l=ce(a,d)|0;c[(c[g>>2]|0)+(e<<2)>>2]=l;e=e+1|0;if(l>>>0>=(c[h>>2]|0)>>>0){d=1;break}if(e>>>0>=(c[f>>2]|0)>>>0)break a}cc=k;return d|0}default:break a}}while(0);d=ke(a,i)|0;if(d|0){l=d;cc=k;return l|0}d=c[i>>2]|0;if(d>>>0>31){l=1;cc=k;return l|0}c[b+48>>2]=d+1;d=ke(a,i)|0;if(d|0){l=d;cc=k;return l|0}if((c[i>>2]|0)>>>0>31){l=1;cc=k;return l|0}if(ce(a,1)|0){l=1;cc=k;return l|0}if((ce(a,2)|0)>>>0>2){l=1;cc=k;return l|0}d=le(a,j)|0;if(d|0){l=d;cc=k;return l|0}d=(c[j>>2]|0)+26|0;if(d>>>0>51){l=1;cc=k;return l|0}c[b+52>>2]=d;d=le(a,j)|0;if(d|0){l=d;cc=k;return l|0}if(((c[j>>2]|0)+26|0)>>>0>51){l=1;cc=k;return l|0}d=le(a,j)|0;if(d|0){l=d;cc=k;return l|0}d=c[j>>2]|0;if((d+12|0)>>>0>24){l=1;cc=k;return l|0}c[b+56>>2]=d;d=ce(a,1)|0;if((d|0)==-1){l=1;cc=k;return l|0}c[b+60>>2]=(d|0)==1&1;d=ce(a,1)|0;if((d|0)==-1){l=1;cc=k;return l|0}c[b+64>>2]=(d|0)==1&1;d=ce(a,1)|0;if((d|0)==-1){l=1;cc=k;return l|0}c[b+68>>2]=(d|0)==1&1;be(a)|0;l=0;cc=k;return l|0}function se(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);p=v+12|0;o=v+8|0;u=v+4|0;s=v;je(b,0,988);t=r(c[d+56>>2]|0,c[d+52>>2]|0)|0;g=ke(a,u)|0;if(g|0){u=g;cc=v;return u|0}m=c[u>>2]|0;c[b>>2]=m;if(m>>>0>=t>>>0){u=1;cc=v;return u|0}g=ke(a,u)|0;if(g|0){u=g;cc=v;return u|0}m=c[u>>2]|0;k=b+4|0;c[k>>2]=m;switch(m|0){case 7:case 2:break;case 5:case 0:{q=5;break}default:{u=1;cc=v;return u|0}}if((q|0)==5){if((c[f>>2]|0)==5){u=1;cc=v;return u|0}if(!(c[d+44>>2]|0)){u=1;cc=v;return u|0}}g=ke(a,u)|0;if(g|0){u=g;cc=v;return u|0}m=c[u>>2]|0;c[b+8>>2]=m;if((m|0)!=(c[e>>2]|0)){u=1;cc=v;return u|0}l=d+12|0;g=c[l>>2]|0;h=0;while(1)if(!(g>>>h))break;else h=h+1|0;g=ce(a,h+-1|0)|0;if((g|0)==-1){u=1;cc=v;return u|0}h=(c[f>>2]|0)==5;if((g|0)!=0&h){u=1;cc=v;return u|0}c[b+12>>2]=g;if(h){g=ke(a,u)|0;if(g|0){u=g;cc=v;return u|0}m=c[u>>2]|0;c[b+16>>2]=m;if(m>>>0>65535){u=1;cc=v;return u|0}}j=d+16|0;g=c[j>>2]|0;if(!g){i=d+20|0;g=c[i>>2]|0;h=0;while(1)if(!(g>>>h))break;else h=h+1|0;g=ce(a,h+-1|0)|0;if((g|0)==-1){u=1;cc=v;return u|0}h=b+20|0;c[h>>2]=g;do if(c[e+8>>2]|0){g=le(a,s)|0;if(!g){c[b+24>>2]=c[s>>2];break}else{u=g;cc=v;return u|0}}while(0);if((c[f>>2]|0)==5){g=c[h>>2]|0;if(g>>>0>(c[i>>2]|0)>>>1>>>0){u=1;cc=v;return u|0}m=c[b+24>>2]|0;if((g|0)!=(0-((m|0)<0?m:0)|0)){u=1;cc=v;return u|0}}g=c[j>>2]|0}if((g|0)==1?(c[d+24>>2]|0)==0:0){g=le(a,s)|0;if(g|0){u=g;cc=v;return u|0}g=b+28|0;c[g>>2]=c[s>>2];do if(c[e+8>>2]|0){h=le(a,s)|0;if(!h){c[b+32>>2]=c[s>>2];break}else{u=h;cc=v;return u|0}}while(0);if((c[f>>2]|0)==5?(j=c[g>>2]|0,m=(c[d+32>>2]|0)+j+(c[b+32>>2]|0)|0,((j|0)<(m|0)?j:m)|0):0){u=1;cc=v;return u|0}}if(c[e+68>>2]|0){g=ke(a,u)|0;if(g|0){u=g;cc=v;return u|0}m=c[u>>2]|0;c[b+36>>2]=m;if(m>>>0>127){u=1;cc=v;return u|0}}g=c[k>>2]|0;switch(g|0){case 5:case 0:{g=ce(a,1)|0;if((g|0)==-1){u=1;cc=v;return u|0}c[b+40>>2]=g;do if(!g){g=c[e+48>>2]|0;if(g>>>0>16){u=1;cc=v;return u|0}}else{g=ke(a,u)|0;if(g|0){u=g;cc=v;return u|0}g=c[u>>2]|0;if(g>>>0>15){u=1;cc=v;return u|0}else{g=g+1|0;break}}while(0);c[b+44>>2]=g;g=c[k>>2]|0;break}default:{}}a:do switch(g|0){case 5:case 0:{j=c[b+44>>2]|0;i=c[l>>2]|0;g=ce(a,1)|0;b:do if((g|0)==-1)g=1;else{c[b+68>>2]=g;if(g|0){h=0;while(1){if(h>>>0>j>>>0){g=1;break b}g=ke(a,o)|0;if(g|0)break b;g=c[o>>2]|0;if(g>>>0>3){g=1;break b}c[b+72+(h*12|0)>>2]=g;do if(g>>>0<2){g=ke(a,p)|0;if(g|0)break b;g=c[p>>2]|0;if(g>>>0>=i>>>0){g=1;break b}c[b+72+(h*12|0)+4>>2]=g+1}else{if((g|0)!=2)break;g=ke(a,p)|0;if(g|0)break b;c[b+72+(h*12|0)+8>>2]=c[p>>2]}while(0);if((c[o>>2]|0)==3)break;else h=h+1|0}if(!h){g=1;break}}break a}while(0);u=g;cc=v;return u|0}default:{}}while(0);do if(c[f+4>>2]|0){m=c[d+44>>2]|0;f=(c[f>>2]|0)==5;g=ce(a,1)|0;h=(g|0)==-1;c:do if(f)if((!h?(c[b+276>>2]=g,n=ce(a,1)|0,(n|0)!=-1):0)?(c[b+280>>2]=n,(m|0)!=0|(n|0)==0):0)q=92;else g=1;else if(!h){c[b+284>>2]=g;if(g){i=(m<<1)+2|0;j=0;k=0;h=0;l=0;d=0;while(1){if(j>>>0>i>>>0){g=1;break c}g=ke(a,o)|0;if(g|0)break c;g=c[o>>2]|0;if(g>>>0>6){g=1;break c}c[b+288+(j*20|0)>>2]=g;if((g|2|0)==3){g=ke(a,p)|0;if(g|0)break c;c[b+288+(j*20|0)+4>>2]=(c[p>>2]|0)+1;g=c[o>>2]|0}if((g|0)==2){g=ke(a,p)|0;if(g|0)break c;c[b+288+(j*20|0)+8>>2]=c[p>>2];g=c[o>>2]|0}switch(g|0){case 3:case 6:{g=ke(a,p)|0;if(g|0)break c;c[b+288+(j*20|0)+12>>2]=c[p>>2];g=c[o>>2]|0;break}default:{}}if((g|0)==4){g=ke(a,p)|0;if(g|0)break c;g=c[p>>2]|0;if(g>>>0>m>>>0){g=1;break c}c[b+288+(j*20|0)+16>>2]=(g|0)==0?65535:g+-1|0;g=c[o>>2]|0;h=h+1|0}l=l+((g|0)==5&1)|0;k=k+((g+-1|0)>>>0<3&1)|0;d=d+((g|0)==6&1)|0;if(!g)break;else j=j+1|0}if((l|h|d)>>>0<=1?!((l|0)!=0&(k|0)!=0):0)q=92;else g=1}else q=92}else g=1;while(0);if((q|0)==92)break;u=g;cc=v;return u|0}while(0);g=le(a,s)|0;if(g|0){u=g;cc=v;return u|0}q=c[s>>2]|0;c[b+48>>2]=q;q=(c[e+52>>2]|0)+q|0;c[s>>2]=q;if(q>>>0>51){u=1;cc=v;return u|0}do if(c[e+60>>2]|0){g=ke(a,u)|0;if(g|0){u=g;cc=v;return u|0}g=c[u>>2]|0;c[b+52>>2]=g;if(g>>>0>2){u=1;cc=v;return u|0}if((g|0)!=1){g=le(a,s)|0;if(g|0){u=g;cc=v;return u|0}g=c[s>>2]|0;if((g+6|0)>>>0>12){u=1;cc=v;return u|0}c[b+56>>2]=g<<1;g=le(a,s)|0;if(g|0){u=g;cc=v;return u|0}g=c[s>>2]|0;if((g+6|0)>>>0>12){u=1;cc=v;return u|0}else{c[b+60>>2]=g<<1;break}}}while(0);if((c[e+12>>2]|0)>>>0>1?((c[e+16>>2]|0)+-3|0)>>>0<3:0){j=e+36|0;h=c[j>>2]|0;i=(t>>>0)/(h>>>0)|0;h=(t-(r(i,h)|0)|0)==0;i=(h?1:2)+i|0;h=0;while(1){g=h+1|0;if(!(-1<>2]=g;if((g|0)==-1){u=1;cc=v;return u|0}c[b+64>>2]=g;u=c[j>>2]|0;if(g>>>0>(((t+-1+u|0)>>>0)/(u>>>0)|0)>>>0){u=1;cc=v;return u|0}}u=0;cc=v;return u|0}function te(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=cc;cc=cc+32|0;if((cc|0)>=(dc|0))w(32);e=f+20|0;d=f;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[d+16>>2]=c[a+16>>2];a=ke(d,e)|0;if(!a){a=ke(d,e)|0;if(!a){a=ke(d,e)|0;if(!a){a=c[e>>2]|0;if(a>>>0>255)a=1;else{c[b>>2]=a;a=0}}}}cc=f;return a|0}function ue(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=cc;cc=cc+32|0;if((cc|0)>=(dc|0))w(32);e=g+20|0;f=g;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];c[f+16>>2]=c[a+16>>2];a=ke(f,e)|0;if(a|0){d=a;cc=g;return d|0}a=ke(f,e)|0;if(a|0){d=a;cc=g;return d|0}a=ke(f,e)|0;if(a|0){d=a;cc=g;return d|0}a=0;while(1)if(!(b>>>a))break;else a=a+1|0;a=ce(f,a+-1|0)|0;if((a|0)==-1){d=1;cc=g;return d|0}c[d>>2]=a;d=0;cc=g;return d|0}function ve(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=cc;cc=cc+32|0;if((cc|0)>=(dc|0))w(32);f=h+20|0;g=h;if((d|0)==5){c[g>>2]=c[a>>2];c[g+4>>2]=c[a+4>>2];c[g+8>>2]=c[a+8>>2];c[g+12>>2]=c[a+12>>2];c[g+16>>2]=c[a+16>>2];d=ke(g,f)|0;if(!d){d=ke(g,f)|0;if(!d){d=ke(g,f)|0;if(!d){d=0;while(1)if(!(b>>>d))break;else d=d+1|0;if((ce(g,d+-1|0)|0)==-1)d=1;else d=ke(g,e)|0}}}}else d=1;cc=h;return d|0}function we(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=cc;cc=cc+32|0;if((cc|0)>=(dc|0))w(32);h=j+20|0;i=j;c[i>>2]=c[a>>2];c[i+4>>2]=c[a+4>>2];c[i+8>>2]=c[a+8>>2];c[i+12>>2]=c[a+12>>2];c[i+16>>2]=c[a+16>>2];a=ke(i,h)|0;if(a|0){e=a;cc=j;return e|0}a=ke(i,h)|0;if(a|0){e=a;cc=j;return e|0}a=ke(i,h)|0;if(a|0){e=a;cc=j;return e|0}a=c[b+12>>2]|0;f=0;while(1)if(!(a>>>f))break;else f=f+1|0;if((ce(i,f+-1|0)|0)==-1){e=1;cc=j;return e|0}if((d|0)==5?(g=ke(i,h)|0,g|0):0){e=g;cc=j;return e|0}a=c[b+20>>2]|0;f=0;while(1)if(!(a>>>f))break;else f=f+1|0;a=ce(i,f+-1|0)|0;if((a|0)==-1){e=1;cc=j;return e|0}c[e>>2]=a;e=0;cc=j;return e|0}function xe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=cc;cc=cc+32|0;if((cc|0)>=(dc|0))w(32);h=j+20|0;i=j;c[i>>2]=c[a>>2];c[i+4>>2]=c[a+4>>2];c[i+8>>2]=c[a+8>>2];c[i+12>>2]=c[a+12>>2];c[i+16>>2]=c[a+16>>2];a=ke(i,h)|0;if(a|0){i=a;cc=j;return i|0}a=ke(i,h)|0;if(a|0){i=a;cc=j;return i|0}a=ke(i,h)|0;if(a|0){i=a;cc=j;return i|0}a=c[b+12>>2]|0;f=0;while(1)if(!(a>>>f))break;else f=f+1|0;if((ce(i,f+-1|0)|0)==-1){i=1;cc=j;return i|0}if((d|0)==5?(g=ke(i,h)|0,g|0):0){i=g;cc=j;return i|0}a=c[b+20>>2]|0;f=0;while(1)if(!(a>>>f))break;else f=f+1|0;if((ce(i,f+-1|0)|0)==-1){i=1;cc=j;return i|0}i=le(i,e)|0;cc=j;return i|0}function ye(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=cc;cc=cc+32|0;if((cc|0)>=(dc|0))w(32);h=k+20|0;j=k;c[j>>2]=c[a>>2];c[j+4>>2]=c[a+4>>2];c[j+8>>2]=c[a+8>>2];c[j+12>>2]=c[a+12>>2];c[j+16>>2]=c[a+16>>2];a=ke(j,h)|0;if(a|0){j=a;cc=k;return j|0}a=ke(j,h)|0;if(a|0){j=a;cc=k;return j|0}a=ke(j,h)|0;if(a|0){j=a;cc=k;return j|0}a=c[b+12>>2]|0;b=0;while(1)if(!(a>>>b))break;else b=b+1|0;if((ce(j,b+-1|0)|0)==-1){j=1;cc=k;return j|0}if((d|0)==5?(g=ke(j,h)|0,g|0):0){j=g;cc=k;return j|0}a=le(j,f)|0;if(a|0){j=a;cc=k;return j|0}if(e|0?(i=le(j,f+4|0)|0,i|0):0){j=i;cc=k;return j|0}j=0;cc=k;return j|0}function ze(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=cc;cc=cc+32|0;if((cc|0)>=(dc|0))w(32);k=l+24|0;i=l+20|0;j=l;c[j>>2]=c[b>>2];c[j+4>>2]=c[b+4>>2];c[j+8>>2]=c[b+8>>2];c[j+12>>2]=c[b+12>>2];c[j+16>>2]=c[b+16>>2];f=ke(j,k)|0;if(f|0){e=f;cc=l;return e|0}f=ke(j,k)|0;if(f|0){e=f;cc=l;return e|0}f=ke(j,k)|0;if(f|0){e=f;cc=l;return e|0}f=c[d+12>>2]|0;b=0;while(1)if(!(f>>>b))break;else b=b+1|0;if((ce(j,b+-1|0)|0)==-1){e=1;cc=l;return e|0}f=ke(j,k)|0;if(f|0){e=f;cc=l;return e|0}g=d+16|0;f=c[g>>2]|0;if(!f){f=c[d+20>>2]|0;b=0;while(1)if(!(f>>>b))break;else b=b+1|0;if((ce(j,b+-1|0)|0)==-1){e=1;cc=l;return e|0}if(c[e+8>>2]|0?(h=le(j,i)|0,h|0):0){e=h;cc=l;return e|0}f=c[g>>2]|0}if((f|0)==1?(c[d+24>>2]|0)==0:0){f=le(j,i)|0;if(f|0){e=f;cc=l;return e|0}if(c[e+8>>2]|0?(m=le(j,i)|0,m|0):0){e=m;cc=l;return e|0}}if(c[e+68>>2]|0?(n=ke(j,k)|0,n|0):0){e=n;cc=l;return e|0}e=ce(j,1)|0;c[a>>2]=e;e=(e|0)==-1&1;cc=l;return e|0}function Ae(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;B=cc;cc=cc+448|0;if((cc|0)>=(dc|0))w(448);n=B+8|0;v=B+4|0;t=B;n=n+(0-n&15)|0;l=c[b+3376>>2]|0;h=c[e>>2]|0;c[v>>2]=0;x=b+1192|0;c[x>>2]=(c[x>>2]|0)+1;o=b+1200|0;c[o>>2]=0;m=b+12|0;c[t>>2]=(c[e+48>>2]|0)+(c[(c[m>>2]|0)+52>>2]|0);u=e+36|0;p=b+1212|0;q=e+52|0;r=e+56|0;s=e+60|0;y=e+4|0;j=e+44|0;g=b+1220|0;A=b+1176|0;k=b+1172|0;i=l+12|0;z=0;f=0;while(1){e=c[p>>2]|0;if((c[u>>2]|0)==0?c[e+(h*216|0)+196>>2]|0:0){e=1;f=20;break}C=c[(c[m>>2]|0)+56>>2]|0;F=c[q>>2]|0;E=c[r>>2]|0;D=c[s>>2]|0;c[e+(h*216|0)+4>>2]=c[x>>2];c[e+(h*216|0)+8>>2]=F;c[e+(h*216|0)+12>>2]=E;c[e+(h*216|0)+16>>2]=D;c[e+(h*216|0)+24>>2]=C;e=c[y>>2]|0;if((e|0)!=2?!((f|0)!=0|(e|0)==7):0){e=ke(a,v)|0;if(e|0){f=20;break}e=c[v>>2]|0;if(e>>>0>((c[A>>2]|0)-h|0)>>>0){e=1;f=20;break}if(!e)f=0;else{je(i,0,164);c[l>>2]=0;f=1}}e=c[v>>2]|0;if(!e){e=Be(a,l,(c[p>>2]|0)+(h*216|0)|0,c[y>>2]|0,c[j>>2]|0)|0;if(!e)f=0;else{f=20;break}}else c[v>>2]=e+-1;e=Ce((c[p>>2]|0)+(h*216|0)|0,l,d,g,t,h,c[(c[m>>2]|0)+64>>2]|0,n)|0;if(e|0){f=20;break}z=z+((c[(c[p>>2]|0)+(h*216|0)+196>>2]|0)==1&1)|0;e=de(a)|0;e=(c[v>>2]|e|0)!=0;switch(c[y>>2]|0){case 7:case 2:{c[o>>2]=h;break}default:{}}h=fe(c[k>>2]|0,c[A>>2]|0,h)|0;if(!((h|0)!=0|e^1)){e=1;f=20;break}if(!e){f=18;break}}if((f|0)==18){f=b+1196|0;e=(c[f>>2]|0)+z|0;if(e>>>0>(c[A>>2]|0)>>>0){F=1;cc=B;return F|0}c[f>>2]=e;F=0;cc=B;return F|0}else if((f|0)==20){cc=B;return e|0}return 0}function Be(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0;y=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);t=y+12|0;r=y+8|0;x=y+4|0;v=y;je(d,0,2088);i=ke(a,x)|0;h=c[x>>2]|0;a:do switch(f|0){case 2:case 7:{h=h+6|0;if((i|0)!=0|h>>>0>31){a=1;cc=y;return a|0}else{c[d>>2]=h;l=h;u=d;break a}}default:{h=h+1|0;if((i|0)!=0|h>>>0>31){a=1;cc=y;return a|0}else{c[d>>2]=h;l=h;u=d;break a}}}while(0);b:do if((l|0)!=31){i=l>>>0<6;h=(l|0)!=6;s=i?2:h&1;c:do if(!i){d:do if(!h){c[r>>2]=0;h=ee(a)|0;q=h>>>31;c[d+12>>2]=q;if(!q){c[d+76>>2]=h>>>28&7;h=h<<4;f=1}else{h=h<<1;f=0}q=h>>>31;c[d+16>>2]=q;if(!q){c[d+80>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+20>>2]=q;if(!q){c[d+84>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+24>>2]=q;if(!q){c[d+88>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+28>>2]=q;if(!q){c[d+92>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+32>>2]=q;if(!q){c[d+96>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+36>>2]=q;if(!q){c[d+100>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+40>>2]=q;if(!q){c[d+104>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;do if((oe(a,(f*3|0)+8|0)|0)!=-1){c[r>>2]=1;h=ee(a)|0;q=h>>>31;c[d+44>>2]=q;if(!q){c[d+108>>2]=h>>>28&7;h=h<<4;f=1}else{h=h<<1;f=0}q=h>>>31;c[d+48>>2]=q;if(!q){c[d+112>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+52>>2]=q;if(!q){c[d+116>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+56>>2]=q;if(!q){c[d+120>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+60>>2]=q;if(!q){c[d+124>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+64>>2]=q;if(!q){c[d+128>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+68>>2]=q;if(!q){c[d+132>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+72>>2]=q;if(!q){c[d+136>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;if((oe(a,(f*3|0)+8|0)|0)==-1)break;c[r>>2]=2;c[t>>2]=h;break d}while(0);c[t>>2]=h;h=1;q=96;break c}while(0);r=(ke(a,t)|0)!=0;h=c[t>>2]|0;if(r|h>>>0>3){h=1;q=96}else{c[d+140>>2]=h;h=0;q=96}}else{if(l>>>0<4){if(g>>>0>1){switch(l|0){case 0:case 1:{h=0;break}case 3:case 2:{h=1;break}default:h=3}j=g>>>0>2&1;i=0;while(1){if(nf(a,t,j)|0){h=1;q=96;break c}f=c[t>>2]|0;if(f>>>0>=g>>>0){h=1;q=96;break c}c[d+144+(i<<2)>>2]=f;if(!h)break;else{h=h+-1|0;i=i+1|0}}}switch(l|0){case 0:case 1:{h=0;break}case 3:case 2:{h=1;break}default:h=3}f=h;i=0;while(1){h=le(a,r)|0;if(h|0){q=96;break c}b[d+160+(i<<2)>>1]=c[r>>2];h=le(a,r)|0;if(h|0){q=96;break c}b[d+160+(i<<2)+2>>1]=c[r>>2];if(!f){h=0;q=96;break c}else{f=f+-1|0;i=i+1|0}}}i=(ke(a,t)|0)!=0;h=c[t>>2]|0;e:do if(((!(i|h>>>0>3)?(n=d+176|0,c[n>>2]=h,i=(ke(a,t)|0)!=0,k=c[t>>2]|0,!(i|k>>>0>3)):0)?(o=d+180|0,c[o>>2]=k,k=(ke(a,t)|0)!=0,j=c[t>>2]|0,!(k|j>>>0>3)):0)?(p=d+184|0,c[p>>2]=j,k=(ke(a,t)|0)!=0,m=c[t>>2]|0,!(k|m>>>0>3)):0){i=d+188|0;c[i>>2]=m;if(g>>>0>1&(l|0)!=5){f=g>>>0>2&1;if(nf(a,t,f)|0){h=1;break}h=c[t>>2]|0;if(h>>>0>=g>>>0){h=1;break}c[d+192>>2]=h;if(nf(a,t,f)|0){h=1;break}h=c[t>>2]|0;if(h>>>0>=g>>>0){h=1;break}c[d+196>>2]=h;if(nf(a,t,f)|0){h=1;break}h=c[t>>2]|0;if(h>>>0>=g>>>0){h=1;break}c[d+200>>2]=h;if(nf(a,t,f)|0){h=1;break}h=c[t>>2]|0;if(h>>>0>=g>>>0){h=1;break}c[d+204>>2]=h}h=c[n>>2]|0;switch(h|0){case 0:break;case 2:case 1:{h=1;break}default:h=3}c[t>>2]=h;f=0;while(1){h=le(a,r)|0;if(h|0)break e;b[d+208+(f<<2)>>1]=c[r>>2];h=le(a,r)|0;if(h|0)break e;b[d+208+(f<<2)+2>>1]=c[r>>2];g=c[t>>2]|0;c[t>>2]=g+-1;if(!g)break;else f=f+1|0}h=c[o>>2]|0;switch(h|0){case 0:break;case 2:case 1:{h=1;break}default:h=3}c[t>>2]=h;f=0;while(1){h=le(a,r)|0;if(h|0)break e;b[d+224+(f<<2)>>1]=c[r>>2];h=le(a,r)|0;if(h|0)break e;b[d+224+(f<<2)+2>>1]=c[r>>2];g=c[t>>2]|0;c[t>>2]=g+-1;if(!g)break;else f=f+1|0}h=c[p>>2]|0;switch(h|0){case 0:break;case 2:case 1:{h=1;break}default:h=3}c[t>>2]=h;f=0;while(1){h=le(a,r)|0;if(h|0)break e;b[d+240+(f<<2)>>1]=c[r>>2];h=le(a,r)|0;if(h|0)break e;b[d+240+(f<<2)+2>>1]=c[r>>2];p=c[t>>2]|0;c[t>>2]=p+-1;if(!p)break;else f=f+1|0}h=c[i>>2]|0;switch(h|0){case 0:break;case 2:case 1:{h=1;break}default:h=3}c[t>>2]=h;f=0;while(1){h=le(a,r)|0;if(h|0)break e;b[d+256+(f<<2)>>1]=c[r>>2];h=le(a,r)|0;if(h|0)break e;b[d+256+(f<<2)+2>>1]=c[r>>2];p=c[t>>2]|0;c[t>>2]=p+-1;if(!p){h=0;break}else f=f+1|0}}else h=1;while(0)}while(0);if(h|0){a=h;cc=y;return a|0}do if((s|0)!=1){h=of(a,x,(s|0)==0&1)|0;if(!h){x=c[x>>2]|0;c[d+4>>2]=x;if(!x)break b;else break}else{a=h;cc=y;return a|0}}else{x=c[u>>2]|0;s=x+-7|0;t=s>>>2<<4;c[d+4>>2]=(s>>>0>11?t+-48|0:t)|(x>>>0>18?15:0)}while(0);x=(le(a,v)|0)!=0;h=c[v>>2]|0;if(x|(h+26|0)>>>0>51){a=1;cc=y;return a|0}c[d+8>>2]=h;f=c[d+4>>2]|0;l=d+272|0;f:do if((c[u>>2]|0)>>>0>6){h=qf(a,d+1864|0,pf(e,0,l)|0,16)|0;if(!(h&15)){b[d+320>>1]=h>>>4&255;j=0;h=f;k=3;while(1){f=h>>>1;if(h&1|0){h=qf(a,d+328+(j<<6)+4|0,pf(e,j,l)|0,15)|0;c[d+1992+(j<<2)>>2]=h>>>15;if(h&15|0)break f;b[d+272+(j<<1)>>1]=h>>>4&255;i=j|1;h=qf(a,d+328+(i<<6)+4|0,pf(e,i,l)|0,15)|0;c[d+1992+(i<<2)>>2]=h>>>15;if(h&15|0)break f;b[d+272+(i<<1)>>1]=h>>>4&255;i=j|2;h=qf(a,d+328+(i<<6)+4|0,pf(e,i,l)|0,15)|0;c[d+1992+(i<<2)>>2]=h>>>15;if(h&15|0)break f;b[d+272+(i<<1)>>1]=h>>>4&255;i=j|3;h=qf(a,d+328+(i<<6)+4|0,pf(e,i,l)|0,15)|0;c[d+1992+(i<<2)>>2]=h>>>15;if(h&15|0)break f;b[d+272+(i<<1)>>1]=h>>>4&255}h=j+4|0;if(!k){i=h;q=115;break}else{j=h;h=f;k=k+-1|0}}}}else{j=0;h=f;k=3;while(1){f=h>>>1;if(h&1|0){h=qf(a,d+328+(j<<6)|0,pf(e,j,l)|0,16)|0;c[d+1992+(j<<2)>>2]=h>>>16;if(h&15|0)break f;b[d+272+(j<<1)>>1]=h>>>4&255;i=j|1;h=qf(a,d+328+(i<<6)|0,pf(e,i,l)|0,16)|0;c[d+1992+(i<<2)>>2]=h>>>16;if(h&15|0)break f;b[d+272+(i<<1)>>1]=h>>>4&255;i=j|2;h=qf(a,d+328+(i<<6)|0,pf(e,i,l)|0,16)|0;c[d+1992+(i<<2)>>2]=h>>>16;if(h&15|0)break f;b[d+272+(i<<1)>>1]=h>>>4&255;i=j|3;h=qf(a,d+328+(i<<6)|0,pf(e,i,l)|0,16)|0;c[d+1992+(i<<2)>>2]=h>>>16;if(h&15|0)break f;b[d+272+(i<<1)>>1]=h>>>4&255}h=j+4|0;if(!k){i=h;q=115;break}else{j=h;h=f;k=k+-1|0}}}while(0);do if((q|0)==115){if(f&3|0){h=qf(a,d+1928|0,-1,4)|0;if(h&15|0)break;b[d+322>>1]=h>>>4&255;h=qf(a,d+1944|0,-1,4)|0;if(h&15|0)break;b[d+324>>1]=h>>>4&255}if(f&2){h=qf(a,d+328+(i<<6)+4|0,pf(e,i,l)|0,15)|0;if(!(h&15)){b[d+272+(i<<1)>>1]=h>>>4&255;c[d+1992+(i<<2)>>2]=h>>>15;f=i+1|0;h=qf(a,d+328+(f<<6)+4|0,pf(e,f,l)|0,15)|0;if(!(h&15)){b[d+272+(f<<1)>>1]=h>>>4&255;c[d+1992+(f<<2)>>2]=h>>>15;f=i+2|0;h=qf(a,d+328+(f<<6)+4|0,pf(e,f,l)|0,15)|0;if(!(h&15)){b[d+272+(f<<1)>>1]=h>>>4&255;c[d+1992+(f<<2)>>2]=h>>>15;f=i+3|0;h=qf(a,d+328+(f<<6)+4|0,pf(e,f,l)|0,15)|0;if(!(h&15)){b[d+272+(f<<1)>>1]=h>>>4&255;c[d+1992+(f<<2)>>2]=h>>>15;f=i+4|0;h=qf(a,d+328+(f<<6)+4|0,pf(e,f,l)|0,15)|0;if(!(h&15)){b[d+272+(f<<1)>>1]=h>>>4&255;c[d+1992+(f<<2)>>2]=h>>>15;f=i+5|0;h=qf(a,d+328+(f<<6)+4|0,pf(e,f,l)|0,15)|0;if(!(h&15)){b[d+272+(f<<1)>>1]=h>>>4&255;c[d+1992+(f<<2)>>2]=h>>>15;f=i+6|0;h=qf(a,d+328+(f<<6)+4|0,pf(e,f,l)|0,15)|0;if(!(h&15)){b[d+272+(f<<1)>>1]=h>>>4&255;c[d+1992+(f<<2)>>2]=h>>>15;f=i+7|0;h=qf(a,d+328+(f<<6)+4|0,pf(e,f,l)|0,15)|0;if(!(h&15)){b[d+272+(f<<1)>>1]=h>>>4&255;c[d+1992+(f<<2)>>2]=h>>>15;h=0}}}}}}}}}else h=0}while(0);c[a+16>>2]=((c[a+4>>2]|0)-(c[a>>2]|0)<<3)+(c[a+8>>2]|0);if(h|0){a=h;cc=y;return a|0}}else{g:do if(!(mf(a)|0)){while(1){if(ce(a,1)|0){h=1;break}if(mf(a)|0)break g}cc=y;return h|0}while(0);i=0;f=d+328|0;while(1){h=ce(a,8)|0;c[x>>2]=h;if((h|0)==-1){h=1;break}c[f>>2]=h;i=i+1|0;if(i>>>0>=384)break b;else f=f+4|0}cc=y;return h|0}while(0);a=0;cc=y;return a|0}function Ce(d,e,f,g,h,i,j,k){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=c[e>>2]|0;c[d>>2]=s;m=d+196|0;c[m>>2]=(c[m>>2]|0)+1;ge(f,i);if((s|0)==31){l=d+28|0;c[d+20>>2]=0;if((c[m>>2]|0)>>>0>1){b[l>>1]=16;b[d+30>>1]=16;b[d+32>>1]=16;b[d+34>>1]=16;b[d+36>>1]=16;b[d+38>>1]=16;b[d+40>>1]=16;b[d+42>>1]=16;b[d+44>>1]=16;b[d+46>>1]=16;b[d+48>>1]=16;b[d+50>>1]=16;b[d+52>>1]=16;b[d+54>>1]=16;b[d+56>>1]=16;b[d+58>>1]=16;b[d+60>>1]=16;b[d+62>>1]=16;b[d+64>>1]=16;b[d+66>>1]=16;b[d+68>>1]=16;b[d+70>>1]=16;b[d+72>>1]=16;b[d+74>>1]=16;k=0;return k|0}n=23;m=e+328|0;h=k;while(1){b[l>>1]=16;a[h>>0]=c[m>>2];a[h+1>>0]=c[m+4>>2];a[h+2>>0]=c[m+8>>2];a[h+3>>0]=c[m+12>>2];a[h+4>>0]=c[m+16>>2];a[h+5>>0]=c[m+20>>2];a[h+6>>0]=c[m+24>>2];a[h+7>>0]=c[m+28>>2];a[h+8>>0]=c[m+32>>2];a[h+9>>0]=c[m+36>>2];a[h+10>>0]=c[m+40>>2];a[h+11>>0]=c[m+44>>2];a[h+12>>0]=c[m+48>>2];a[h+13>>0]=c[m+52>>2];a[h+14>>0]=c[m+56>>2];a[h+15>>0]=c[m+60>>2];if(!n)break;else{n=n+-1|0;m=m+64|0;h=h+16|0;l=l+2|0}}De(f,k);k=0;return k|0}p=d+28|0;if(s){Ee(p,e+272|0,54);m=c[e+8>>2]|0;l=c[h>>2]|0;do if(m){l=l+m|0;c[h>>2]=l;if((l|0)<0){l=l+52|0;c[h>>2]=l;break}if((l|0)>51){l=l+-52|0;c[h>>2]=l}}while(0);q=d+20|0;c[q>>2]=l;m=e+328|0;h=e+1992|0;a:do if((c[d>>2]|0)>>>0>6){if(b[d+76>>1]|0)_d(e+1864|0,l);n=2128;o=15;l=p;while(1){r=c[e+1864+(c[n>>2]<<2)>>2]|0;n=n+4|0;c[m>>2]=r;if((r|0)==0?(b[l>>1]|0)==0:0)c[m>>2]=16777215;else u=19;if((u|0)==19?(u=0,Zd(m,c[q>>2]|0,1,c[h>>2]|0)|0):0){l=1;break}m=m+64|0;l=l+2|0;h=h+4|0;if(!o){r=l;break a}else o=o+-1|0}return l|0}else{if(b[p>>1]|0){if(Zd(m,l,0,c[h>>2]|0)|0){k=1;return k|0}}else c[m>>2]=16777215;l=e+392|0;if(b[d+30>>1]|0){if(Zd(l,c[q>>2]|0,0,c[e+1996>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+456|0;if(b[d+32>>1]|0){if(Zd(l,c[q>>2]|0,0,c[e+2e3>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+520|0;if(b[d+34>>1]|0){if(Zd(l,c[q>>2]|0,0,c[e+2004>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+584|0;if(b[d+36>>1]|0){if(Zd(l,c[q>>2]|0,0,c[e+2008>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+648|0;if(b[d+38>>1]|0){if(Zd(l,c[q>>2]|0,0,c[e+2012>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+712|0;if(b[d+40>>1]|0){if(Zd(l,c[q>>2]|0,0,c[e+2016>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+776|0;if(b[d+42>>1]|0){if(Zd(l,c[q>>2]|0,0,c[e+2020>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+840|0;if(b[d+44>>1]|0){if(Zd(l,c[q>>2]|0,0,c[e+2024>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+904|0;if(b[d+46>>1]|0){if(Zd(l,c[q>>2]|0,0,c[e+2028>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+968|0;if(b[d+48>>1]|0){if(Zd(l,c[q>>2]|0,0,c[e+2032>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+1032|0;if(b[d+50>>1]|0){if(Zd(l,c[q>>2]|0,0,c[e+2036>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+1096|0;do if(!(b[d+52>>1]|0))c[l>>2]=16777215;else{if(!(Zd(l,c[q>>2]|0,0,c[e+2040>>2]|0)|0))break;else l=1;return l|0}while(0);l=e+1160|0;do if(!(b[d+54>>1]|0))c[l>>2]=16777215;else{if(!(Zd(l,c[q>>2]|0,0,c[e+2044>>2]|0)|0))break;else l=1;return l|0}while(0);l=e+1224|0;do if(!(b[d+56>>1]|0))c[l>>2]=16777215;else{if(!(Zd(l,c[q>>2]|0,0,c[e+2048>>2]|0)|0))break;else l=1;return l|0}while(0);l=e+1288|0;do if(!(b[d+58>>1]|0))c[l>>2]=16777215;else{if(!(Zd(l,c[q>>2]|0,0,c[e+2052>>2]|0)|0))break;else l=1;return l|0}while(0);m=e+1352|0;h=e+2056|0;r=d+60|0}while(0);q=(c[d+24>>2]|0)+(c[q>>2]|0)|0;q=(q|0)<51?q:51;q=c[1656+(((q|0)>0?q:0)<<2)>>2]|0;if((b[d+78>>1]|0)==0?(b[d+80>>1]|0)==0:0)l=e+1928|0;else{l=e+1928|0;$d(l,q)}o=e+1932|0;p=c[l>>2]|0;c[m>>2]=p;if((p|0)==0?(b[r>>1]|0)==0:0)c[m>>2]=16777215;else u=32;if((u|0)==32?Zd(m,q,1,c[h>>2]|0)|0:0){k=1;return k|0}n=h+4|0;p=e+1936|0;o=c[o>>2]|0;l=m+64|0;c[l>>2]=o;if((o|0)==0?(b[r+2>>1]|0)==0:0)c[l>>2]=16777215;else u=36;if((u|0)==36?Zd(l,q,1,c[n>>2]|0)|0:0){k=1;return k|0}n=h+8|0;o=e+1940|0;p=c[p>>2]|0;l=m+128|0;c[l>>2]=p;if((p|0)==0?(b[r+4>>1]|0)==0:0)c[l>>2]=16777215;else u=40;if((u|0)==40?Zd(l,q,1,c[n>>2]|0)|0:0){k=1;return k|0}n=h+12|0;p=e+1944|0;o=c[o>>2]|0;l=m+192|0;c[l>>2]=o;if((o|0)==0?(b[r+6>>1]|0)==0:0)c[l>>2]=16777215;else u=44;if((u|0)==44?Zd(l,q,1,c[n>>2]|0)|0:0){k=1;return k|0}n=h+16|0;o=e+1948|0;p=c[p>>2]|0;l=m+256|0;c[l>>2]=p;if((p|0)==0?(b[r+8>>1]|0)==0:0)c[l>>2]=16777215;else u=48;if((u|0)==48?Zd(l,q,1,c[n>>2]|0)|0:0){k=1;return k|0}n=h+20|0;p=e+1952|0;o=c[o>>2]|0;l=m+320|0;c[l>>2]=o;if((o|0)==0?(b[r+10>>1]|0)==0:0)c[l>>2]=16777215;else u=52;if((u|0)==52?Zd(l,q,1,c[n>>2]|0)|0:0){k=1;return k|0}n=h+24|0;o=e+1956|0;p=c[p>>2]|0;l=m+384|0;c[l>>2]=p;if((p|0)==0?(b[r+12>>1]|0)==0:0)c[l>>2]=16777215;else u=56;if((u|0)==56?Zd(l,q,1,c[n>>2]|0)|0:0){k=1;return k|0}h=h+28|0;p=c[o>>2]|0;l=m+448|0;c[l>>2]=p;if((p|0)==0?(b[r+14>>1]|0)==0:0)c[l>>2]=16777215;else u=60;if((u|0)==60?Zd(l,q,1,c[h>>2]|0)|0:0){k=1;return k|0}if(s>>>0>=6){l=Fe(d,e,f,i,j,k)|0;if(l|0){k=l;return k|0}}else u=110}else{je(p,0,54);c[d+20>>2]=c[h>>2];u=110}if((u|0)==110?(t=Ge(d,e,g,i,f,k)|0,t|0):0){k=t;return k|0}k=0;return k|0}function De(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[a+4>>2]|0;g=c[a+12>>2]|0;e=c[a+16>>2]|0;d=c[a+20>>2]|0;a=f<<2;h=c[b+4>>2]|0;c[g>>2]=c[b>>2];c[g+4>>2]=h;h=c[b+12>>2]|0;c[g+8>>2]=c[b+8>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+20>>2]|0;c[g>>2]=c[b+16>>2];c[g+4>>2]=h;h=c[b+28>>2]|0;c[g+8>>2]=c[b+24>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+36>>2]|0;c[g>>2]=c[b+32>>2];c[g+4>>2]=h;h=c[b+44>>2]|0;c[g+8>>2]=c[b+40>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+52>>2]|0;c[g>>2]=c[b+48>>2];c[g+4>>2]=h;h=c[b+60>>2]|0;c[g+8>>2]=c[b+56>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+68>>2]|0;c[g>>2]=c[b+64>>2];c[g+4>>2]=h;h=c[b+76>>2]|0;c[g+8>>2]=c[b+72>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+84>>2]|0;c[g>>2]=c[b+80>>2];c[g+4>>2]=h;h=c[b+92>>2]|0;c[g+8>>2]=c[b+88>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+100>>2]|0;c[g>>2]=c[b+96>>2];c[g+4>>2]=h;h=c[b+108>>2]|0;c[g+8>>2]=c[b+104>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+116>>2]|0;c[g>>2]=c[b+112>>2];c[g+4>>2]=h;h=c[b+124>>2]|0;c[g+8>>2]=c[b+120>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+132>>2]|0;c[g>>2]=c[b+128>>2];c[g+4>>2]=h;h=c[b+140>>2]|0;c[g+8>>2]=c[b+136>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+148>>2]|0;c[g>>2]=c[b+144>>2];c[g+4>>2]=h;h=c[b+156>>2]|0;c[g+8>>2]=c[b+152>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+164>>2]|0;c[g>>2]=c[b+160>>2];c[g+4>>2]=h;h=c[b+172>>2]|0;c[g+8>>2]=c[b+168>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+180>>2]|0;c[g>>2]=c[b+176>>2];c[g+4>>2]=h;h=c[b+188>>2]|0;c[g+8>>2]=c[b+184>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+196>>2]|0;c[g>>2]=c[b+192>>2];c[g+4>>2]=h;h=c[b+204>>2]|0;c[g+8>>2]=c[b+200>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+212>>2]|0;c[g>>2]=c[b+208>>2];c[g+4>>2]=h;h=c[b+220>>2]|0;c[g+8>>2]=c[b+216>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+228>>2]|0;c[g>>2]=c[b+224>>2];c[g+4>>2]=h;h=c[b+236>>2]|0;c[g+8>>2]=c[b+232>>2];c[g+12>>2]=h;a=g+(a<<2)|0;g=c[b+244>>2]|0;c[a>>2]=c[b+240>>2];c[a+4>>2]=g;g=c[b+252>>2]|0;c[a+8>>2]=c[b+248>>2];c[a+12>>2]=g;a=f<<1&2147483646;f=c[b+260>>2]|0;c[e>>2]=c[b+256>>2];c[e+4>>2]=f;e=e+(a<<2)|0;f=c[b+268>>2]|0;c[e>>2]=c[b+264>>2];c[e+4>>2]=f;e=e+(a<<2)|0;f=c[b+276>>2]|0;c[e>>2]=c[b+272>>2];c[e+4>>2]=f;e=e+(a<<2)|0;f=c[b+284>>2]|0;c[e>>2]=c[b+280>>2];c[e+4>>2]=f;e=e+(a<<2)|0;f=c[b+292>>2]|0;c[e>>2]=c[b+288>>2];c[e+4>>2]=f;e=e+(a<<2)|0;f=c[b+300>>2]|0;c[e>>2]=c[b+296>>2];c[e+4>>2]=f;e=e+(a<<2)|0;f=c[b+308>>2]|0;c[e>>2]=c[b+304>>2];c[e+4>>2]=f;e=e+(a<<2)|0;f=c[b+316>>2]|0;c[e>>2]=c[b+312>>2];c[e+4>>2]=f;e=c[b+324>>2]|0;c[d>>2]=c[b+320>>2];c[d+4>>2]=e;d=d+(a<<2)|0;e=c[b+332>>2]|0;c[d>>2]=c[b+328>>2];c[d+4>>2]=e;d=d+(a<<2)|0;e=c[b+340>>2]|0;c[d>>2]=c[b+336>>2];c[d+4>>2]=e;d=d+(a<<2)|0;e=c[b+348>>2]|0;c[d>>2]=c[b+344>>2];c[d+4>>2]=e;d=d+(a<<2)|0;e=c[b+356>>2]|0;c[d>>2]=c[b+352>>2];c[d+4>>2]=e;d=d+(a<<2)|0;e=c[b+364>>2]|0;c[d>>2]=c[b+360>>2];c[d+4>>2]=e;d=d+(a<<2)|0;e=c[b+372>>2]|0;c[d>>2]=c[b+368>>2];c[d+4>>2]=e;a=d+(a<<2)|0;d=c[b+380>>2]|0;c[a>>2]=c[b+376>>2];c[a+4>>2]=d;return}function Ee(a,b,c){a=a|0;b=b|0;c=c|0;pj(a|0,b|0,c|0)|0;return}function Fe(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=cc;cc=cc+80|0;if((cc|0)>=(dc|0))w(80);h=j+32|0;i=j;$e(d,h,i,e);if((af(c[a>>2]|0)|0)==1){e=bf(a,g,b+328|0,h,i,f)|0;if(e|0){a=e;cc=j;return a|0}}else{e=cf(a,g,b,h,i,f)|0;if(e|0){a=e;cc=j;return a|0}}e=df(a,g+256|0,b+1352|0,h+21|0,i+16|0,c[b+140>>2]|0,f)|0;if(e|0){a=e;cc=j;return a|0}if((c[a+196>>2]|0)>>>0>1){a=0;cc=j;return a|0}De(d,g);a=0;cc=j;return a|0} +function Gf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;n=r(f,e)|0;m=c[b+12>>2]|0;if((m|0)==1){je(a,0,n<<2);return}g=c[b+16>>2]|0;if((g+-3|0)>>>0<3){d=r(c[b+36>>2]|0,d)|0;d=d>>>0>>0?d:n;if((g&-2|0)==4){k=(c[b+32>>2]|0)==0?d:n-d|0;h=6}else u=d}else{k=0;d=0;h=6}a:do if((h|0)==6)switch(g|0){case 3:{u=d;break a}case 0:{j=c[b+20>>2]|0;if(!m){if(!n)return;while(1){}}d=0;while(1){if(d>>>0>=n>>>0){h=66;break}k=0;do{i=j+(k<<2)|0;g=c[i>>2]|0;b:do if(!g)g=0;else{b=0;do{h=b+d|0;if(h>>>0>=n>>>0)break b;c[a+(h<<2)>>2]=k;b=b+1|0;g=c[i>>2]|0}while(b>>>0>>0)}while(0);k=k+1|0;d=g+d|0;g=d>>>0>>0}while(k>>>0>>0&g);if(!g){h=66;break}}if((h|0)==66)return;break}case 1:{if(!n)return;d=0;do{u=(d>>>0)/(e>>>0)|0;c[a+(d<<2)>>2]=((((r(u,m)|0)>>>1)+(d-(r(u,e)|0))|0)>>>0)%(m>>>0)|0;d=d+1|0}while((d|0)!=(n|0));return}case 2:{l=c[b+24>>2]|0;f=c[b+28>>2]|0;g=m+-1|0;if(n|0){d=0;do{c[a+(d<<2)>>2]=g;d=d+1|0}while((d|0)!=(n|0));if(!g)return}j=m+-2|0;while(1){b=c[l+(j<<2)>>2]|0;d=(b>>>0)/(e>>>0)|0;b=b-(r(d,e)|0)|0;i=c[f+(j<<2)>>2]|0;k=(i>>>0)/(e>>>0)|0;i=i-(r(k,e)|0)|0;c:do if(d>>>0<=k>>>0){if(b>>>0>i>>>0)while(1){d=d+1|0;if(d>>>0>k>>>0)break c}do{g=r(d,e)|0;h=b;do{c[a+(h+g<<2)>>2]=j;h=h+1|0}while(h>>>0<=i>>>0);d=d+1|0}while(d>>>0<=k>>>0)}while(0);if(!j)break;else j=j+-1|0}return}case 4:{d=c[b+32>>2]|0;if(!n)return;h=1-d|0;g=0;do{c[a+(g<<2)>>2]=g>>>0>>0?d:h;g=g+1|0}while((g|0)!=(n|0));return}case 5:{d=c[b+32>>2]|0;if(!e)return;j=1-d|0;if(!f)return;h=0;b=0;while(1){g=0;i=b;while(1){u=a+((r(g,e)|0)+h<<2)|0;c[u>>2]=i>>>0>>0?d:j;g=g+1|0;if((g|0)==(f|0))break;else i=i+1|0}h=h+1|0;if((h|0)==(e|0))break;else b=b+f|0}return}default:{if(!n)return;d=c[b+44>>2]|0;g=0;do{c[a+(g<<2)>>2]=c[d+(g<<2)>>2];g=g+1|0}while((g|0)!=(n|0));return}}while(0);h=c[b+32>>2]|0;if(n|0){d=0;do{c[a+(d<<2)>>2]=1;d=d+1|0}while((d|0)!=(n|0))}d=(e-h|0)>>>1;g=(f-h|0)>>>1;if(!u)return;t=h<<1;q=t+-1|0;s=e+-1|0;t=1-t|0;p=f+-1|0;m=g;o=0;n=d;b=d;i=g;j=d;k=h+-1|0;f=g;while(1){d=a+((r(f,e)|0)+j<<2)|0;g=(c[d>>2]|0)==1;l=g&1;if(g)c[d>>2]=0;do if(!((k|0)==-1&(j|0)==(n|0))){if((k|0)==1&(j|0)==(b|0)){j=b+1|0;j=(j|0)<(s|0)?j:s;d=m;g=n;b=j;k=0;h=t;break}if((h|0)==-1&(f|0)==(i|0)){f=i+-1|0;f=(f|0)>0?f:0;d=m;g=n;i=f;k=t;h=0;break}if((h|0)==1&(f|0)==(m|0)){f=m+1|0;f=(f|0)<(p|0)?f:p;d=f;g=n;k=q;h=0;break}else{d=m;g=n;j=j+k|0;f=f+h|0;break}}else{j=n+-1|0;j=(j|0)>0?j:0;d=m;g=j;k=0;h=q}while(0);o=o+l|0;if(o>>>0>=u>>>0)break;else{m=d;n=g}}return}function Hf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=cc;cc=cc+32|0;if((cc|0)>=(dc|0))w(32);g=s+24|0;i=s+20|0;j=s+16|0;m=s+12|0;q=s+8|0;p=s;c[e>>2]=0;switch(c[b>>2]|0){case 6:case 7:case 8:case 9:case 10:case 11:case 13:case 14:case 15:case 16:case 17:case 18:{c[e>>2]=1;b=0;cc=s;return b|0}case 5:case 1:{r=d+1300|0;f=d+1332|0;if(c[f>>2]|0){c[e>>2]=1;c[f>>2]=0}f=te(a,g)|0;if(f|0){b=f;cc=s;return b|0}k=c[d+148+(c[g>>2]<<2)>>2]|0;if(!k){b=65520;cc=s;return b|0}f=c[k+4>>2]|0;l=c[d+20+(f<<2)>>2]|0;if(!l){b=65520;cc=s;return b|0}g=c[d+8>>2]|0;if(!((g|0)==32|(f|0)==(g|0))?(c[b>>2]|0)!=5:0){b=65520;cc=s;return b|0}f=c[d+1304>>2]|0;g=c[b+4>>2]|0;if((f|0)!=(g|0)?(f|0)==0|(g|0)==0:0)c[e>>2]=1;f=(c[b>>2]|0)==5;if((c[r>>2]|0)==5){if(!f)h=16}else if(f)h=16;if((h|0)==16)c[e>>2]=1;g=l+12|0;if(ue(a,c[g>>2]|0,i)|0){b=1;cc=s;return b|0}h=d+1308|0;f=c[i>>2]|0;if((c[h>>2]|0)!=(f|0)){c[h>>2]=f;c[e>>2]=1}if((c[b>>2]|0)==5){if(ve(a,c[g>>2]|0,5,j)|0){b=1;cc=s;return b|0}if((c[r>>2]|0)==5){f=d+1312|0;h=c[f>>2]|0;g=c[j>>2]|0;if((h|0)==(g|0))g=h;else c[e>>2]=1}else{g=c[j>>2]|0;f=d+1312|0}c[f>>2]=g}switch(c[l+16>>2]|0){case 0:{if(we(a,l,c[b>>2]|0,m)|0){b=1;cc=s;return b|0}g=d+1316|0;f=c[m>>2]|0;if((c[g>>2]|0)!=(f|0)){c[g>>2]=f;c[e>>2]=1}if(c[k+8>>2]|0){f=xe(a,l,c[b>>2]|0,q)|0;if(f|0){b=f;cc=s;return b|0}g=d+1320|0;f=c[q>>2]|0;if((c[g>>2]|0)!=(f|0)){c[g>>2]=f;c[e>>2]=1}}break}case 1:{if(!(c[l+24>>2]|0)){h=k+8|0;f=ye(a,l,c[b>>2]|0,c[h>>2]|0,p)|0;if(f|0){b=f;cc=s;return b|0}g=d+1324|0;f=c[p>>2]|0;if((c[g>>2]|0)!=(f|0)){c[g>>2]=f;c[e>>2]=1}if(c[h>>2]|0?(o=d+1328|0,n=c[p+4>>2]|0,(c[o>>2]|0)!=(n|0)):0){c[o>>2]=n;c[e>>2]=1}}break}default:{}}d=b;e=c[d+4>>2]|0;b=r;c[b>>2]=c[d>>2];c[b+4>>2]=e;b=0;cc=s;return b|0}default:{b=0;cc=s;return b|0}}return 0}function If(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=0;a:while(1){d=c[a+148+(k<<2)>>2]|0;b:do if(d|0?(j=c[a+20+(c[d+4>>2]<<2)>>2]|0,j|0):0){i=c[j+52>>2]|0;l=r(c[j+56>>2]|0,i)|0;e=c[d+12>>2]|0;if(e>>>0<=1){b=0;d=18;break a}b=c[d+16>>2]|0;switch(b|0){case 0:{b=c[d+20>>2]|0;d=0;while(1){if((c[b+(d<<2)>>2]|0)>>>0>l>>>0)break b;d=d+1|0;if(d>>>0>=e>>>0){b=0;d=18;break a}}}case 2:{h=e+-1|0;g=c[d+24>>2]|0;d=c[d+28>>2]|0;f=0;while(1){e=c[g+(f<<2)>>2]|0;b=c[d+(f<<2)>>2]|0;if(!(e>>>0<=b>>>0&b>>>0>>0))break b;f=f+1|0;if(((e>>>0)%(i>>>0)|0)>>>0>((b>>>0)%(i>>>0)|0)>>>0)break b;if(f>>>0>=h>>>0){b=0;d=18;break a}}}default:{if((b+-3|0)>>>0<3)if((c[d+36>>2]|0)>>>0>l>>>0)break b;else{b=0;d=18;break a}if((b|0)!=6){b=0;d=18;break a}if((c[d+40>>2]|0)>>>0>>0)break b;else{b=0;d=18;break a}}}}while(0);k=k+1|0;if(k>>>0>=256){b=1;d=18;break}}if((d|0)==18)return b|0;return 0}function Jf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=c[a+40>>2]|0;if(g|0){h=c[a>>2]|0;j=a+32|0;i=0;do{if(((c[h+(i*40|0)+20>>2]|0)+-1|0)>>>0<2){f=c[h+(i*40|0)+12>>2]|0;if(f>>>0>d>>>0)f=f-(c[j>>2]|0)|0;c[h+(i*40|0)+8>>2]=f}i=i+1|0}while((i|0)!=(g|0))}if(!(c[b>>2]|0)){b=0;return b|0}f=c[b+4>>2]|0;if(f>>>0>=3){b=0;return b|0}o=a+24|0;n=a+32|0;m=a+4|0;k=d;l=0;a:while(1){b:do if((f|0)==2){f=c[b+4+(l*12|0)+8>>2]|0;g=c[o>>2]|0;if(!g){f=1;g=39;break a}i=c[a>>2]|0;h=0;while(1){if((c[i+(h*40|0)+20>>2]|0)==3?(c[i+(h*40|0)+8>>2]|0)==(f|0):0){j=3;g=i;break b}h=h+1|0;if(h>>>0>=g>>>0){f=1;g=39;break a}}}else{g=c[b+4+(l*12|0)+4>>2]|0;if(!f){f=k-g|0;if((f|0)<0)f=(c[n>>2]|0)+f|0}else{k=g+k|0;f=c[n>>2]|0;f=k-((k|0)<(f|0)?0:f)|0}if(f>>>0>d>>>0)i=f-(c[n>>2]|0)|0;else i=f;g=c[o>>2]|0;if(!g){f=1;g=39;break a}k=c[a>>2]|0;h=0;while(1){j=c[k+(h*40|0)+20>>2]|0;if((j+-1|0)>>>0<2?(c[k+(h*40|0)+8>>2]|0)==(i|0):0){g=k;k=f;break b}h=h+1|0;if(h>>>0>=g>>>0){f=1;g=39;break a}}}while(0);if(!((h|0)>-1&j>>>0>1)){f=1;g=39;break}if(l>>>0>>0){f=e;do{i=c[m>>2]|0;j=f;f=f+-1|0;c[i+(j<<2)>>2]=c[i+(f<<2)>>2]}while(f>>>0>l>>>0);f=c[a>>2]|0}else f=g;c[(c[m>>2]|0)+(l<<2)>>2]=f+(h*40|0);l=l+1|0;if(l>>>0<=e>>>0){j=l;f=l;do{g=c[m>>2]|0;i=c[g+(j<<2)>>2]|0;if((i|0)!=((c[a>>2]|0)+(h*40|0)|0)){c[g+(f<<2)>>2]=i;f=f+1|0}j=j+1|0}while(j>>>0<=e>>>0)}f=c[b+4+(l*12|0)>>2]|0;if(f>>>0>=3){f=0;g=39;break}}if((g|0)==39)return f|0;return 0}function Kf(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=a+8|0;j=c[z>>2]|0;if((c[d>>2]|0)!=(c[j>>2]|0)){a=1;return a|0}u=a+52|0;c[u>>2]=0;A=a+56|0;d=(c[A>>2]|0)==0;y=d&1;do if(!b){c[j+20>>2]=0;c[j+12>>2]=e;c[j+8>>2]=e;c[j+16>>2]=f;c[j+24>>2]=y;if(d){q=a+44|0;c[q>>2]=(c[q>>2]|0)+1;q=0}else q=0}else{if(g|0){j=a+20|0;c[j>>2]=0;d=a+16|0;c[d>>2]=0;Lf(a);if(!((c[b>>2]|0)==0?!(c[A>>2]|0):0)){c[d>>2]=0;c[j>>2]=0}f=(c[b+4>>2]|0)==0;q=c[z>>2]|0;c[q+20>>2]=f?2:3;c[a+36>>2]=f?65535:0;c[q+12>>2]=0;c[q+8>>2]=0;c[q+16>>2]=0;c[q+24>>2]=y;c[a+44>>2]=1;c[a+40>>2]=1;q=0;break}if(!(c[b+8>>2]|0)){j=a+40|0;l=c[j>>2]|0;p=c[a+24>>2]|0;if(l>>>0>=p>>>0)if(l){o=c[a>>2]|0;m=0;d=-1;k=0;while(1){if(((c[o+(m*40|0)+20>>2]|0)+-1|0)>>>0<2){b=c[o+(m*40|0)+8>>2]|0;x=(d|0)==-1|(b|0)<(k|0);n=x?m:d;k=x?b:k}else n=d;m=m+1|0;if((m|0)==(l|0))break;else d=n}if((n|0)>-1){c[o+(n*40|0)+20>>2]=0;d=l+-1|0;c[j>>2]=d;if(!(c[o+(n*40|0)+24>>2]|0)){l=a+44|0;c[l>>2]=(c[l>>2]|0)+-1;l=d;k=p;d=0}else{l=d;k=p;d=0}}else{k=p;d=1}}else{l=0;k=p;d=1}else{k=p;d=0}}else{v=a+24|0;t=a+36|0;j=a+40|0;s=a+44|0;q=0;r=0;a:while(1){d=c[b+12+(q*20|0)>>2]|0;b:do switch(d|0){case 0:{x=77;break a}case 1:{n=e-(c[b+12+(q*20|0)+4>>2]|0)|0;l=c[v>>2]|0;if(!l){d=1;break a}m=c[a>>2]|0;d=0;while(1){k=m+(d*40|0)+20|0;if(((c[k>>2]|0)+-1|0)>>>0<2?(c[m+(d*40|0)+8>>2]|0)==(n|0):0)break;d=d+1|0;if(d>>>0>=l>>>0){d=1;break a}}if((d|0)<0){d=1;break a}c[k>>2]=0;c[j>>2]=(c[j>>2]|0)+-1;if(!(c[m+(d*40|0)+24>>2]|0)){c[s>>2]=(c[s>>2]|0)+-1;d=r}else d=r;break}case 2:{l=c[b+12+(q*20|0)+8>>2]|0;m=c[v>>2]|0;if(!m){d=1;break a}n=c[a>>2]|0;d=0;while(1){k=n+(d*40|0)+20|0;if((c[k>>2]|0)==3?(c[n+(d*40|0)+8>>2]|0)==(l|0):0)break;d=d+1|0;if(d>>>0>=m>>>0){d=1;break a}}if((d|0)<0){d=1;break a}c[k>>2]=0;c[j>>2]=(c[j>>2]|0)+-1;if(!(c[n+(d*40|0)+24>>2]|0)){c[s>>2]=(c[s>>2]|0)+-1;d=r}else d=r;break}case 3:{d=c[b+12+(q*20|0)+4>>2]|0;n=c[b+12+(q*20|0)+12>>2]|0;p=c[t>>2]|0;if((p|0)==65535|p>>>0>>0){d=1;break a}o=c[v>>2]|0;if(!o){d=1;break a}p=c[a>>2]|0;k=0;while(1){m=p+(k*40|0)+20|0;if((c[m>>2]|0)==3?(c[p+(k*40|0)+8>>2]|0)==(n|0):0){x=34;break}l=k+1|0;if(l>>>0>>0)k=l;else break}if((x|0)==34?(x=0,c[m>>2]=0,c[j>>2]=(c[j>>2]|0)+-1,(c[p+(k*40|0)+24>>2]|0)==0):0)c[s>>2]=(c[s>>2]|0)+-1;m=e-d|0;d=0;while(1){l=p+(d*40|0)+20|0;k=c[l>>2]|0;if((k+-1|0)>>>0<2?(w=p+(d*40|0)+8|0,(c[w>>2]|0)==(m|0)):0)break;d=d+1|0;if(d>>>0>=o>>>0){d=1;break a}}if(!((d|0)>-1&k>>>0>1)){d=1;break a}c[l>>2]=3;c[w>>2]=n;d=r;break}case 4:{d=c[b+12+(q*20|0)+16>>2]|0;c[t>>2]=d;m=c[v>>2]|0;if(!m)d=r;else{n=c[a>>2]|0;if((d|0)==65535){d=0;while(1){k=n+(d*40|0)+20|0;if((c[k>>2]|0)==3?(c[k>>2]=0,c[j>>2]=(c[j>>2]|0)+-1,(c[n+(d*40|0)+24>>2]|0)==0):0)c[s>>2]=(c[s>>2]|0)+-1;d=d+1|0;if((d|0)==(m|0)){d=r;break b}}}k=0;do{l=n+(k*40|0)+20|0;if(((c[l>>2]|0)==3?(c[n+(k*40|0)+8>>2]|0)>>>0>d>>>0:0)?(c[l>>2]=0,c[j>>2]=(c[j>>2]|0)+-1,(c[n+(k*40|0)+24>>2]|0)==0):0)c[s>>2]=(c[s>>2]|0)+-1;k=k+1|0}while((k|0)!=(m|0));d=r}break}case 5:{Lf(a);c[u>>2]=1;e=0;d=r;break}case 6:{n=c[b+12+(q*20|0)+12>>2]|0;p=c[t>>2]|0;if((p|0)==65535|p>>>0>>0){d=1;break a}k=c[v>>2]|0;c:do if(k){m=c[a>>2]|0;d=0;while(1){l=m+(d*40|0)+20|0;if((c[l>>2]|0)==3?(c[m+(d*40|0)+8>>2]|0)==(n|0):0)break;d=d+1|0;if(d>>>0>=k>>>0)break c}c[l>>2]=0;c[j>>2]=(c[j>>2]|0)+-1;if(!(c[m+(d*40|0)+24>>2]|0))c[s>>2]=(c[s>>2]|0)+-1}else k=0;while(0);d=c[j>>2]|0;if(d>>>0>=k>>>0){d=1;break a}r=c[z>>2]|0;c[r+12>>2]=e;c[r+8>>2]=n;c[r+16>>2]=f;c[r+20>>2]=3;c[r+24>>2]=(c[A>>2]|0)==0&1;c[j>>2]=d+1;c[s>>2]=(c[s>>2]|0)+1;d=1;break}default:{d=1;break a}}while(0);q=q+1|0;r=d}if(r|0){q=d;break}l=c[j>>2]|0;k=c[v>>2]|0}if(l>>>0>>0){q=c[z>>2]|0;c[q+12>>2]=e;c[q+8>>2]=e;c[q+16>>2]=f;c[q+20>>2]=2;c[q+24>>2]=y;q=a+44|0;c[q>>2]=(c[q>>2]|0)+1;c[j>>2]=l+1;q=d}else q=1}while(0);d=c[z>>2]|0;c[d+36>>2]=g;c[d+28>>2]=h;c[d+32>>2]=i;if(!(c[A>>2]|0)){n=a+44|0;j=c[n>>2]|0;d=c[a+28>>2]|0;if(j>>>0>d>>>0){m=c[a>>2]|0;p=a+12|0;o=a+16|0;do{l=0;e=2147483647;k=0;do{if(c[m+(l*40|0)+24>>2]|0){g=c[m+(l*40|0)+16>>2]|0;i=(g|0)<(e|0);e=i?g:e;k=i?m+(l*40|0)|0:k}l=l+1|0}while(l>>>0<=d>>>0);if((k|0)!=0?(g=c[p>>2]|0,i=c[o>>2]|0,c[g+(i<<4)>>2]=c[k>>2],c[g+(i<<4)+12>>2]=c[k+36>>2],c[g+(i<<4)+4>>2]=c[k+28>>2],c[g+(i<<4)+8>>2]=c[k+32>>2],c[o>>2]=i+1,c[k+24>>2]=0,(c[k+20>>2]|0)==0):0){j=j+-1|0;c[n>>2]=j}}while(j>>>0>d>>>0)}}else{y=c[a+12>>2]|0;A=a+16|0;z=c[A>>2]|0;c[y+(z<<4)>>2]=c[d>>2];c[y+(z<<4)+12>>2]=g;c[y+(z<<4)+4>>2]=h;c[y+(z<<4)+8>>2]=i;c[A>>2]=z+1;d=c[a+28>>2]|0}Mf(c[a>>2]|0,d+1|0);a=q;return a|0}function Lf(a){a=a|0;var b=0,d=0,e=0;d=c[a>>2]|0;e=a+44|0;b=d+20|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+24>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+60|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+64>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+100|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+104>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+140|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+144>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+180|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+184>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+220|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+224>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+260|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+264>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+300|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+304>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+340|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+344>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+380|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+384>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+420|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+424>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+460|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+464>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+500|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+504>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+540|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+544>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+580|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+584>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+620|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+624>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;do{}while(!(Nf(a)|0));c[a+40>>2]=0;c[a+36>>2]=65535;c[a+48>>2]=0;return}function Mf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=cc;cc=cc+32|0;if((cc|0)>=(dc|0))w(32);o=q+16|0;p=q;if(b>>>0>7){j=7;do{d=a+(j*40|0)|0;i=d;h=c[i>>2]|0;i=c[i+4>>2]|0;k=c[a+(j*40|0)+8>>2]|0;n=a+(j*40|0)+12|0;m=c[n+4>>2]|0;l=o;c[l>>2]=c[n>>2];c[l+4>>2]=m;l=c[a+(j*40|0)+20>>2]|0;m=c[a+(j*40|0)+24>>2]|0;n=a+(j*40|0)+28|0;c[p>>2]=c[n>>2];c[p+4>>2]=c[n+4>>2];c[p+8>>2]=c[n+8>>2];a:do if(j>>>0<7)e=j;else{if(!l){if(!m){e=j;break}e=j;while(1){d=a+(e*40|0)|0;f=d+-280|0;if(c[f+20>>2]|0)break a;if(c[f+24>>2]|0)break a;e=e+-7|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(e>>>0<7){d=f;break a}}}if((l+-1|0)>>>0<2){e=j;while(1){d=a+(e*40|0)|0;n=d+-280|0;g=c[n+20>>2]|0;if((g|0)!=0&(g+-1|0)>>>0<2?(c[n+8>>2]|0)>=(k|0):0)break a;e=e+-7|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(e>>>0<7){d=f;break a}}}e=j;while(1){d=a+(e*40|0)|0;g=d+-280|0;f=c[g+20>>2]|0;if(f|0){if((f+-1|0)>>>0<2)break a;if((c[g+8>>2]|0)<=(k|0))break a}e=e+-7|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(e>>>0<7){d=f;break}}}while(0);n=d;c[n>>2]=h;c[n+4>>2]=i;c[a+(e*40|0)+8>>2]=k;i=o;k=c[i+4>>2]|0;n=a+(e*40|0)+12|0;c[n>>2]=c[i>>2];c[n+4>>2]=k;c[a+(e*40|0)+20>>2]=l;c[a+(e*40|0)+24>>2]=m;n=a+(e*40|0)+28|0;c[n>>2]=c[p>>2];c[n+4>>2]=c[p+4>>2];c[n+8>>2]=c[p+8>>2];j=j+1|0}while((j|0)!=(b|0))}if(b>>>0>3){j=3;do{d=a+(j*40|0)|0;i=d;h=c[i>>2]|0;i=c[i+4>>2]|0;k=c[a+(j*40|0)+8>>2]|0;n=a+(j*40|0)+12|0;m=c[n+4>>2]|0;l=o;c[l>>2]=c[n>>2];c[l+4>>2]=m;l=c[a+(j*40|0)+20>>2]|0;m=c[a+(j*40|0)+24>>2]|0;n=a+(j*40|0)+28|0;c[p>>2]=c[n>>2];c[p+4>>2]=c[n+4>>2];c[p+8>>2]=c[n+8>>2];b:do if(j>>>0<3)e=j;else{if(!l){if(!m){e=j;break}e=j;while(1){d=a+(e*40|0)|0;f=d+-120|0;if(c[f+20>>2]|0)break b;if(c[f+24>>2]|0)break b;e=e+-3|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(e>>>0<3){d=f;break b}}}if((l+-1|0)>>>0<2){e=j;while(1){d=a+(e*40|0)|0;n=d+-120|0;g=c[n+20>>2]|0;if((g|0)!=0&(g+-1|0)>>>0<2?(c[n+8>>2]|0)>=(k|0):0)break b;e=e+-3|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(e>>>0<3){d=f;break b}}}e=j;while(1){d=a+(e*40|0)|0;g=d+-120|0;f=c[g+20>>2]|0;if(f|0){if((f+-1|0)>>>0<2)break b;if((c[g+8>>2]|0)<=(k|0))break b}e=e+-3|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(e>>>0<3){d=f;break}}}while(0);n=d;c[n>>2]=h;c[n+4>>2]=i;c[a+(e*40|0)+8>>2]=k;i=o;k=c[i+4>>2]|0;n=a+(e*40|0)+12|0;c[n>>2]=c[i>>2];c[n+4>>2]=k;c[a+(e*40|0)+20>>2]=l;c[a+(e*40|0)+24>>2]=m;n=a+(e*40|0)+28|0;c[n>>2]=c[p>>2];c[n+4>>2]=c[p+4>>2];c[n+8>>2]=c[p+8>>2];j=j+1|0}while((j|0)!=(b|0))}if(b>>>0<=1){cc=q;return}j=1;do{d=a+(j*40|0)|0;i=d;h=c[i>>2]|0;i=c[i+4>>2]|0;k=c[a+(j*40|0)+8>>2]|0;n=a+(j*40|0)+12|0;m=c[n+4>>2]|0;l=o;c[l>>2]=c[n>>2];c[l+4>>2]=m;l=c[a+(j*40|0)+20>>2]|0;m=c[a+(j*40|0)+24>>2]|0;n=a+(j*40|0)+28|0;c[p>>2]=c[n>>2];c[p+4>>2]=c[n+4>>2];c[p+8>>2]=c[n+8>>2];c:do if(!l)if(!m)e=j;else{e=j;while(1){d=a+(e*40|0)|0;f=d+-40|0;if(c[f+20>>2]|0)break c;if(c[f+24>>2]|0)break c;e=e+-1|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(!e){d=f;break}}}else{if((l+-1|0)>>>0<2){e=j;while(1){d=a+(e*40|0)|0;n=d+-40|0;g=c[n+20>>2]|0;if((g|0)!=0&(g+-1|0)>>>0<2?(c[n+8>>2]|0)>=(k|0):0)break c;e=e+-1|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(!e){d=f;break c}}}e=j;while(1){d=a+(e*40|0)|0;g=d+-40|0;f=c[g+20>>2]|0;if(f|0){if((f+-1|0)>>>0<2)break c;if((c[g+8>>2]|0)<=(k|0))break c}e=e+-1|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(!e){d=f;break}}}while(0);n=d;c[n>>2]=h;c[n+4>>2]=i;c[a+(e*40|0)+8>>2]=k;i=o;k=c[i+4>>2]|0;n=a+(e*40|0)+12|0;c[n>>2]=c[i>>2];c[n+4>>2]=k;c[a+(e*40|0)+20>>2]=l;c[a+(e*40|0)+24>>2]=m;n=a+(e*40|0)+28|0;c[n>>2]=c[p>>2];c[n+4>>2]=c[p+4>>2];c[n+8>>2]=c[p+8>>2];j=j+1|0}while((j|0)!=(b|0));cc=q;return}function Nf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;if(c[a+56>>2]|0){g=1;return g|0}e=c[a>>2]|0;f=c[a+28>>2]|0;g=0;b=2147483647;d=0;do{if(c[e+(g*40|0)+24>>2]|0){i=c[e+(g*40|0)+16>>2]|0;h=(i|0)<(b|0);b=h?i:b;d=h?e+(g*40|0)|0:d}g=g+1|0}while(g>>>0<=f>>>0);if(!d){i=1;return i|0}g=c[a+12>>2]|0;i=a+16|0;h=c[i>>2]|0;c[g+(h<<4)>>2]=c[d>>2];c[g+(h<<4)+12>>2]=c[d+36>>2];c[g+(h<<4)+4>>2]=c[d+28>>2];c[g+(h<<4)+8>>2]=c[d+32>>2];c[i>>2]=h+1;c[d+24>>2]=0;if(c[d+20>>2]|0){i=0;return i|0}i=a+44|0;c[i>>2]=(c[i>>2]|0)+-1;i=0;return i|0}function Of(a){a=a|0;var b=0;b=(c[a>>2]|0)+((c[a+28>>2]|0)*40|0)|0;c[a+8>>2]=b;return c[b>>2]|0}function Pf(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if((b|0)!=0?(e=a+28|0,(c[e>>2]|0)!=-1):0){d=0;do{xf(c[b+(d*40|0)+4>>2]|0);b=c[a>>2]|0;c[b+(d*40|0)+4>>2]=0;d=d+1|0}while(d>>>0<((c[e>>2]|0)+1|0)>>>0)}xf(b);c[a>>2]=0;e=a+4|0;xf(c[e>>2]|0);c[e>>2]=0;a=a+12|0;xf(c[a>>2]|0);c[a>>2]=0;return}function Qf(a){a=a|0;var b=0,d=0,e=0;b=c[a+40>>2]|0;if(!b)return;e=a+4|0;d=0;do{c[(c[e>>2]|0)+(d<<2)>>2]=(c[a>>2]|0)+(d*40|0);d=d+1|0}while(d>>>0>>0);return}function Rf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;t=a+16|0;c[t>>2]=0;c[a+20>>2]=0;if(!e){b=0;return b|0}v=a+48|0;e=c[v>>2]|0;f=(e|0)==(b|0);do if(!f?(r=a+32|0,g=c[r>>2]|0,h=((e+1|0)>>>0)%(g>>>0)|0,(h|0)!=(b|0)):0){s=a+28|0;u=c[(c[a>>2]|0)+((c[s>>2]|0)*40|0)>>2]|0;p=a+40|0;n=a+24|0;m=a+44|0;o=a+56|0;q=a+12|0;l=h;while(1){j=c[p>>2]|0;f=(j|0)==0;if(!f){e=c[a>>2]|0;h=0;do{if(((c[e+(h*40|0)+20>>2]|0)+-1|0)>>>0<2){k=c[e+(h*40|0)+12>>2]|0;c[e+(h*40|0)+8>>2]=k-(k>>>0>l>>>0?g:0)}h=h+1|0}while((h|0)!=(j|0))}if(j>>>0>=(c[n>>2]|0)>>>0){if(f){e=1;m=49;break}i=c[a>>2]|0;g=0;e=-1;f=0;while(1){if(((c[i+(g*40|0)+20>>2]|0)+-1|0)>>>0<2){k=c[i+(g*40|0)+8>>2]|0;w=(e|0)==-1|(k|0)<(f|0);h=w?g:e;f=w?k:f}else h=e;g=g+1|0;if((g|0)==(j|0))break;else e=h}if((h|0)<=-1){e=1;m=49;break}c[i+(h*40|0)+20>>2]=0;e=j+-1|0;c[p>>2]=e;if(!(c[i+(h*40|0)+24>>2]|0)){c[m>>2]=(c[m>>2]|0)+-1;j=e}else j=e}e=c[m>>2]|0;k=c[s>>2]|0;if(e>>>0>=k>>>0){if(c[o>>2]|0){m=21;break}i=c[a>>2]|0;do{h=0;f=2147483647;g=0;do{if(c[i+(h*40|0)+24>>2]|0){x=c[i+(h*40|0)+16>>2]|0;w=(x|0)<(f|0);f=w?x:f;g=w?i+(h*40|0)|0:g}h=h+1|0}while(h>>>0<=k>>>0);if((g|0)!=0?(w=c[q>>2]|0,x=c[t>>2]|0,c[w+(x<<4)>>2]=c[g>>2],c[w+(x<<4)+12>>2]=c[g+36>>2],c[w+(x<<4)+4>>2]=c[g+28>>2],c[w+(x<<4)+8>>2]=c[g+32>>2],c[t>>2]=x+1,c[g+24>>2]=0,(c[g+20>>2]|0)==0):0){e=e+-1|0;c[m>>2]=e}}while(e>>>0>=k>>>0)}g=c[a>>2]|0;c[g+(k*40|0)+20>>2]=1;c[g+(k*40|0)+12>>2]=l;c[g+(k*40|0)+8>>2]=l;c[g+(k*40|0)+16>>2]=0;c[g+(k*40|0)+24>>2]=0;c[m>>2]=e+1;c[p>>2]=j+1;Mf(g,k+1|0);g=c[r>>2]|0;l=((l+1|0)>>>0)%(g>>>0)|0;if((l|0)==(b|0)){m=33;break}}if((m|0)==21)while(1){}else if((m|0)==33){h=c[t>>2]|0;a:do if(h|0){g=c[q>>2]|0;l=c[a>>2]|0;i=c[s>>2]|0;k=l+(i*40|0)|0;e=c[k>>2]|0;j=e;f=0;while(1){if((c[g+(f<<4)>>2]|0)==(e|0))break;f=f+1|0;if(f>>>0>=h>>>0)break a}if(i|0){f=0;while(1){e=l+(f*40|0)|0;f=f+1|0;if((c[e>>2]|0)==(u|0))break;if(f>>>0>=i>>>0)break a}c[e>>2]=j;c[k>>2]=u}}while(0);if(d|0){m=46;break}e=c[v>>2]|0;break}else if((m|0)==49)return e|0}else m=42;while(0);if((m|0)==42)if(d)if(f){x=1;return x|0}else m=46;if((m|0)==46){c[v>>2]=b;x=0;return x|0}if((e|0)==(b|0)){x=0;return x|0}x=c[a+32>>2]|0;c[v>>2]=((b+-1+x|0)>>>0)%(x>>>0)|0;x=0;return x|0}function Sf(a){a=a|0;var b=0,d=0;d=a+20|0;b=c[d>>2]|0;if(b>>>0>=(c[a+16>>2]|0)>>>0){d=0;return d|0}a=c[a+12>>2]|0;c[d>>2]=b+1;d=a+(b<<4)|0;return d|0}function Tf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=c[a>>2]|0;if(!f)return;c[a+60>>2]=1;if(c[a+56>>2]|0)return;g=c[a+28>>2]|0;i=a+12|0;h=a+16|0;e=a+44|0;a=0;b=2147483647;d=0;while(1){if(c[f+(a*40|0)+24>>2]|0){k=c[f+(a*40|0)+16>>2]|0;j=(k|0)<(b|0);b=j?k:b;d=j?f+(a*40|0)|0:d}a=a+1|0;if(a>>>0>g>>>0){if(!d)break;j=c[i>>2]|0;k=c[h>>2]|0;c[j+(k<<4)>>2]=c[d>>2];c[j+(k<<4)+12>>2]=c[d+36>>2];c[j+(k<<4)+4>>2]=c[d+28>>2];c[j+(k<<4)+8>>2]=c[d+32>>2];c[h>>2]=k+1;c[d+24>>2]=0;if(!(c[d+20>>2]|0)){c[e>>2]=(c[e>>2]|0)+-1;a=0;b=2147483647;d=0}else{a=0;b=2147483647;d=0}}}return}function Uf(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0;Db=cc;cc=cc+176|0;if((cc|0)>=(dc|0))w(176);Ja=Db+40|0;nb=Db;Da=c[e+4>>2]|0;Na=e+8|0;Cb=c[Na>>2]|0;g=r(Cb,Da)|0;if(!Cb){cc=Db;return}Ab=Ja+24|0;Bb=Ja+16|0;Cb=Ja+8|0;Oa=Ja+100|0;Pa=Ja+68|0;Qa=Ja+36|0;Ra=Ja+4|0;Ga=nb+28|0;Ka=nb+32|0;lb=nb+24|0;ob=Ja+120|0;pb=Ja+112|0;qb=Ja+104|0;rb=Ja+96|0;sb=Ja+88|0;tb=Ja+80|0;ub=Ja+72|0;vb=Ja+64|0;wb=Ja+56|0;xb=Ja+48|0;yb=Ja+40|0;zb=Ja+32|0;Sa=Ja+124|0;Ta=Ja+116|0;Ua=Ja+108|0;Va=Ja+92|0;Wa=Ja+84|0;Xa=Ja+76|0;Ya=Ja+60|0;Za=Ja+52|0;_a=Ja+44|0;$a=Ja+28|0;ab=Ja+20|0;bb=Ja+12|0;fb=Da<<4;Ea=nb+12|0;Fa=nb+24|0;db=Da<<6;kb=0-fb|0;cb=kb<<1;jb=r(Da,-48)|0;eb=Da<<5;hb=kb<<2;ib=Da*48|0;Ia=nb+4|0;Ma=nb+8|0;Ha=nb+16|0;La=nb+20|0;mb=nb+12|0;gb=g<<8;ua=g<<6;va=Da<<3;la=Ja+4|0;ra=Ja+36|0;ja=Ja+16|0;na=Ja+20|0;pa=Ja+52|0;za=Ja+8|0;ma=Ja+68|0;Ba=Ja+24|0;sa=Ja+100|0;ka=Ja+80|0;oa=Ja+84|0;qa=Ja+116|0;xa=Ja+24|0;wa=Ja+64|0;Aa=Ja+72|0;Ca=Ja+88|0;ya=Ja+88|0;ha=0;ta=0;ia=f;while(1){g=c[ia+8>>2]|0;do if((g|0)!=1){ga=ia+200|0;n=c[ga>>2]|0;do if(!n)f=1;else{if((g|0)==2?(c[ia+4>>2]|0)!=(c[n+4>>2]|0):0){f=1;break}f=5}while(0);fa=ia+204|0;k=c[fa>>2]|0;do if(k){if((g|0)==2?(c[ia+4>>2]|0)!=(c[k+4>>2]|0):0)break;f=f|2}while(0);ea=(f&2|0)==0;do if(ea){c[Ab>>2]=0;c[Bb>>2]=0;c[Cb>>2]=0;c[Ja>>2]=0;i=0}else{if((c[ia>>2]|0)>>>0<=5?(c[k>>2]|0)>>>0<=5:0){if((b[ia+28>>1]|0)==0?(b[k+48>>1]|0)==0:0)if((c[ia+116>>2]|0)==(c[k+124>>2]|0)?(da=(b[ia+132>>1]|0)-(b[k+172>>1]|0)|0,(((da|0)<0?0-da|0:da)|0)<=3):0){j=(b[ia+134>>1]|0)-(b[k+174>>1]|0)|0;j=(((j|0)<0?0-j|0:j)|0)>3&1}else j=1;else j=2;c[Ja>>2]=j;if((b[ia+30>>1]|0)==0?(b[k+50>>1]|0)==0:0)if((c[ia+116>>2]|0)==(c[k+124>>2]|0)?(da=(b[ia+136>>1]|0)-(b[k+176>>1]|0)|0,(((da|0)<0?0-da|0:da)|0)<=3):0){h=(b[ia+138>>1]|0)-(b[k+178>>1]|0)|0;h=(((h|0)<0?0-h|0:h)|0)>3&1}else h=1;else h=2;c[Cb>>2]=h;if((b[ia+36>>1]|0)==0?(b[k+56>>1]|0)==0:0)if((c[ia+120>>2]|0)==(c[k+128>>2]|0)?(da=(b[ia+148>>1]|0)-(b[k+188>>1]|0)|0,(((da|0)<0?0-da|0:da)|0)<=3):0){i=(b[ia+150>>1]|0)-(b[k+190>>1]|0)|0;i=(((i|0)<0?0-i|0:i)|0)>3&1}else i=1;else i=2;c[Bb>>2]=i;if((b[ia+38>>1]|0)==0?(b[k+58>>1]|0)==0:0)if((c[ia+120>>2]|0)==(c[k+128>>2]|0)?(da=(b[ia+152>>1]|0)-(b[k+192>>1]|0)|0,(((da|0)<0?0-da|0:da)|0)<=3):0){g=(b[ia+154>>1]|0)-(b[k+194>>1]|0)|0;g=(((g|0)<0?0-g|0:g)|0)>3&1}else g=1;else g=2;c[Ab>>2]=g;i=(h|j|i|g|0)!=0&1;break}c[Ab>>2]=4;c[Bb>>2]=4;c[Cb>>2]=4;c[Ja>>2]=4;i=1}while(0);da=(f&4|0)==0;do if(da){c[Oa>>2]=0;c[Pa>>2]=0;c[Qa>>2]=0;c[Ra>>2]=0;g=0;f=c[ia>>2]|0;h=ia;ca=64}else{f=c[ia>>2]|0;if(f>>>0<=5?(c[n>>2]|0)>>>0<=5:0){if((b[ia+28>>1]|0)==0?(b[n+38>>1]|0)==0:0)if((c[ia+116>>2]|0)==(c[n+120>>2]|0)?(ca=(b[ia+132>>1]|0)-(b[n+152>>1]|0)|0,(((ca|0)<0?0-ca|0:ca)|0)<=3):0){k=(b[ia+134>>1]|0)-(b[n+154>>1]|0)|0;k=(((k|0)<0?0-k|0:k)|0)>3&1}else k=1;else k=2;c[Ra>>2]=k;if((b[ia+32>>1]|0)==0?(b[n+42>>1]|0)==0:0)if((c[ia+116>>2]|0)==(c[n+120>>2]|0)?(ca=(b[ia+140>>1]|0)-(b[n+160>>1]|0)|0,(((ca|0)<0?0-ca|0:ca)|0)<=3):0){l=(b[ia+142>>1]|0)-(b[n+162>>1]|0)|0;l=(((l|0)<0?0-l|0:l)|0)>3&1}else l=1;else l=2;c[Qa>>2]=l;if((b[ia+44>>1]|0)==0?(b[n+54>>1]|0)==0:0)if((c[ia+124>>2]|0)==(c[n+128>>2]|0)?(ca=(b[ia+164>>1]|0)-(b[n+184>>1]|0)|0,(((ca|0)<0?0-ca|0:ca)|0)<=3):0){m=(b[ia+166>>1]|0)-(b[n+186>>1]|0)|0;m=(((m|0)<0?0-m|0:m)|0)>3&1}else m=1;else m=2;c[Pa>>2]=m;if((b[ia+48>>1]|0)==0?(b[n+58>>1]|0)==0:0)if((c[ia+124>>2]|0)==(c[n+128>>2]|0)?(ca=(b[ia+172>>1]|0)-(b[n+192>>1]|0)|0,(((ca|0)<0?0-ca|0:ca)|0)<=3):0){j=(b[ia+174>>1]|0)-(b[n+194>>1]|0)|0;j=(((j|0)<0?0-j|0:j)|0)>3&1}else j=1;else j=2;c[Oa>>2]=j;g=k;h=ia;i=(k|i|l|m|j|0)!=0&1;ca=66;break}c[Oa>>2]=4;c[Pa>>2]=4;c[Qa>>2]=4;c[Ra>>2]=4;g=4;h=ia;i=1;ca=64}while(0);if((ca|0)==64){ca=0;if(f>>>0>5){c[ob>>2]=3;c[pb>>2]=3;c[qb>>2]=3;c[rb>>2]=3;c[sb>>2]=3;c[tb>>2]=3;c[ub>>2]=3;c[vb>>2]=3;c[wb>>2]=3;c[xb>>2]=3;c[yb>>2]=3;c[zb>>2]=3;c[Sa>>2]=3;c[Ta>>2]=3;c[Ua>>2]=3;c[Va>>2]=3;c[Wa>>2]=3;c[Xa>>2]=3;c[Ya>>2]=3;c[Za>>2]=3;c[_a>>2]=3;c[$a>>2]=3;c[ab>>2]=3;c[bb>>2]=3}else ca=66}if((ca|0)==66){ca=0;a:do if((sf(f)|0)==1){p=ia+28|0;s=b[ia+32>>1]|0;if(s<<16>>16==0?(b[p>>1]|0)==0:0)L=0;else L=2;c[zb>>2]=L;f=b[ia+34>>1]|0;u=f<<16>>16==0;if(u?(b[ia+30>>1]|0)==0:0)J=0;else J=2;c[yb>>2]=J;h=b[ia+40>>1]|0;v=h<<16>>16==0;if(v?(b[ia+36>>1]|0)==0:0)I=0;else I=2;c[xb>>2]=I;j=b[ia+42>>1]|0;x=j<<16>>16==0;if(x?(b[ia+38>>1]|0)==0:0)H=0;else H=2;c[wb>>2]=H;t=b[ia+44>>1]|0;G=(t|s)<<16>>16==0?0:2;c[vb>>2]=G;q=b[ia+46>>1]|0;y=f<<16>>16!=0;F=(q|f)<<16>>16==0?0:2;c[ub>>2]=F;n=b[ia+52>>1]|0;o=h<<16>>16!=0;E=(n|h)<<16>>16==0?0:2;c[tb>>2]=E;m=b[ia+54>>1]|0;D=(m|j)<<16>>16==0?0:2;c[sb>>2]=D;f=b[ia+48>>1]|0;C=(f|t)<<16>>16==0?0:2;c[rb>>2]=C;h=b[ia+50>>1]|0;B=(h|q)<<16>>16==0?0:2;c[qb>>2]=B;j=b[ia+56>>1]|0;A=(j|n)<<16>>16==0?0:2;c[pb>>2]=A;k=b[ia+58>>1]|0;z=(k|m)<<16>>16==0?0:2;c[ob>>2]=z;l=b[ia+30>>1]|0;if(l<<16>>16==0?(b[p>>1]|0)==0:0)p=0;else p=2;c[bb>>2]=p;$=b[ia+36>>1]|0;aa=($|l)<<16>>16==0?0:2;c[ab>>2]=aa;$=(b[ia+38>>1]|$)<<16>>16==0?0:2;c[$a>>2]=$;K=s<<16>>16!=0|u^1?2:0;c[_a>>2]=K;ba=y|v^1?2:0;c[Za>>2]=ba;v=o|x^1?2:0;c[Ya>>2]=v;t=(q|t)<<16>>16==0?0:2;c[Xa>>2]=t;q=(n|q)<<16>>16==0?0:2;c[Wa>>2]=q;o=(m|n)<<16>>16==0?0:2;c[Va>>2]=o;n=(h|f)<<16>>16==0?0:2;c[Ua>>2]=n;m=(j|h)<<16>>16==0?0:2;c[Ta>>2]=m;h=(k|j)<<16>>16==0?0:2;c[Sa>>2]=h;k=m;m=q;q=ba;ba=p;u=F;s=G;p=H;l=I;j=J;f=L}else switch(c[h>>2]|0){case 2:{q=ia+28|0;s=b[ia+32>>1]|0;if(s<<16>>16==0?(b[q>>1]|0)==0:0)f=0;else f=2;c[zb>>2]=f;t=b[ia+34>>1]|0;B=t<<16>>16==0;if(B?(b[ia+30>>1]|0)==0:0)O=0;else O=2;c[yb>>2]=O;u=b[ia+40>>1]|0;C=u<<16>>16==0;if(C?(b[ia+36>>1]|0)==0:0)l=0;else l=2;c[xb>>2]=l;n=b[ia+42>>1]|0;D=n<<16>>16==0;if(D?(b[ia+38>>1]|0)==0:0)p=0;else p=2;c[wb>>2]=p;v=b[ia+48>>1]|0;if(v<<16>>16==0?(b[ia+44>>1]|0)==0:0)M=0;else M=2;c[rb>>2]=M;x=b[ia+50>>1]|0;E=x<<16>>16==0;if(E?(b[ia+46>>1]|0)==0:0)J=0;else J=2;c[qb>>2]=J;y=b[ia+56>>1]|0;if(y<<16>>16==0?(b[ia+52>>1]|0)==0:0)I=0;else I=2;c[pb>>2]=I;z=b[ia+58>>1]|0;if(z<<16>>16==0?(b[ia+54>>1]|0)==0:0)H=0;else H=2;c[ob>>2]=H;A=b[ia+44>>1]|0;h=b[ia+166>>1]|0;j=b[ia+142>>1]|0;do if(!((A|s)<<16>>16)){ba=(b[ia+164>>1]|0)-(b[ia+140>>1]|0)|0;if((((ba|0)<0?0-ba|0:ba)|0)>3){N=1;break}ba=h-j|0;if((((ba|0)<0?0-ba|0:ba)|0)>3){N=1;break}N=(c[ia+124>>2]|0)!=(c[ia+116>>2]|0)&1}else N=2;while(0);c[vb>>2]=N;o=b[ia+46>>1]|0;h=b[ia+170>>1]|0;j=b[ia+146>>1]|0;do if(!((o|t)<<16>>16)){ba=(b[ia+168>>1]|0)-(b[ia+144>>1]|0)|0;if((((ba|0)<0?0-ba|0:ba)|0)>3){L=1;break}ba=h-j|0;if((((ba|0)<0?0-ba|0:ba)|0)>3){L=1;break}L=(c[ia+124>>2]|0)!=(c[ia+116>>2]|0)&1}else L=2;while(0);c[ub>>2]=L;m=b[ia+52>>1]|0;h=b[ia+182>>1]|0;j=b[ia+158>>1]|0;do if(!((m|u)<<16>>16)){ba=(b[ia+180>>1]|0)-(b[ia+156>>1]|0)|0;if((((ba|0)<0?0-ba|0:ba)|0)>3){G=1;break}ba=h-j|0;if((((ba|0)<0?0-ba|0:ba)|0)>3){G=1;break}G=(c[ia+128>>2]|0)!=(c[ia+120>>2]|0)&1}else G=2;while(0);c[tb>>2]=G;k=b[ia+54>>1]|0;h=b[ia+186>>1]|0;j=b[ia+162>>1]|0;do if(!((k|n)<<16>>16)){ba=(b[ia+184>>1]|0)-(b[ia+160>>1]|0)|0;if((((ba|0)<0?0-ba|0:ba)|0)>3){F=1;break}ba=h-j|0;if((((ba|0)<0?0-ba|0:ba)|0)>3){F=1;break}F=(c[ia+128>>2]|0)!=(c[ia+120>>2]|0)&1}else F=2;while(0);c[sb>>2]=F;h=b[ia+30>>1]|0;if(h<<16>>16==0?(b[q>>1]|0)==0:0)j=0;else j=2;c[bb>>2]=j;$=b[ia+36>>1]|0;aa=($|h)<<16>>16==0?0:2;c[ab>>2]=aa;$=(b[ia+38>>1]|$)<<16>>16==0?0:2;c[$a>>2]=$;K=s<<16>>16!=0|B^1?2:0;c[_a>>2]=K;q=t<<16>>16!=0|C^1?2:0;c[Za>>2]=q;ba=u<<16>>16!=0|D^1?2:0;c[Ya>>2]=ba;t=(o|A)<<16>>16==0?0:2;c[Xa>>2]=t;A=(m|o)<<16>>16==0?0:2;c[Wa>>2]=A;o=(k|m)<<16>>16==0?0:2;c[Va>>2]=o;n=v<<16>>16!=0|E^1?2:0;c[Ua>>2]=n;k=(y|x)<<16>>16==0?0:2;c[Ta>>2]=k;h=(z|y)<<16>>16==0?0:2;c[Sa>>2]=h;m=A;v=ba;ba=j;z=H;A=I;B=J;C=M;D=F;E=G;u=L;s=N;j=O;break a}case 3:{h=ia+28|0;j=b[ia+32>>1]|0;if(j<<16>>16==0?(b[h>>1]|0)==0:0)P=0;else P=2;c[zb>>2]=P;v=b[ia+34>>1]|0;k=v<<16>>16==0;if(k?(b[ia+30>>1]|0)==0:0)O=0;else O=2;c[yb>>2]=O;x=b[ia+40>>1]|0;if(x<<16>>16==0?(b[ia+36>>1]|0)==0:0)l=0;else l=2;c[xb>>2]=l;f=b[ia+42>>1]|0;m=f<<16>>16==0;if(m?(b[ia+38>>1]|0)==0:0)p=0;else p=2;c[wb>>2]=p;n=b[ia+44>>1]|0;N=(n|j)<<16>>16==0?0:2;c[vb>>2]=N;y=b[ia+46>>1]|0;u=(y|v)<<16>>16==0?0:2;c[ub>>2]=u;F=b[ia+52>>1]|0;E=(F|x)<<16>>16==0?0:2;c[tb>>2]=E;o=b[ia+54>>1]|0;D=(o|f)<<16>>16==0?0:2;c[sb>>2]=D;q=b[ia+48>>1]|0;C=(q|n)<<16>>16==0?0:2;c[rb>>2]=C;H=b[ia+50>>1]|0;B=(H|y)<<16>>16==0?0:2;c[qb>>2]=B;I=b[ia+56>>1]|0;A=(I|F)<<16>>16==0?0:2;c[pb>>2]=A;s=b[ia+58>>1]|0;z=(s|o)<<16>>16==0?0:2;c[ob>>2]=z;t=b[ia+30>>1]|0;if(t<<16>>16==0?(b[h>>1]|0)==0:0)M=0;else M=2;c[bb>>2]=M;f=ia+36|0;if(!(b[ia+38>>1]|0)){f=b[f>>1]|0;if(!(f<<16>>16)){L=0;f=0}else ca=146}else{f=b[f>>1]|0;ca=146}if((ca|0)==146){ca=0;L=2}c[$a>>2]=L;K=j<<16>>16!=0|k^1?2:0;c[_a>>2]=K;J=x<<16>>16!=0|m^1?2:0;c[Ya>>2]=J;G=(y|n)<<16>>16==0?0:2;c[Xa>>2]=G;o=(o|F)<<16>>16==0?0:2;c[Va>>2]=o;n=(H|q)<<16>>16==0?0:2;c[Ua>>2]=n;h=(s|I)<<16>>16==0?0:2;c[Sa>>2]=h;j=b[ia+150>>1]|0;k=b[ia+138>>1]|0;do if(!((f|t)<<16>>16)){ba=(b[ia+148>>1]|0)-(b[ia+136>>1]|0)|0;if((((ba|0)<0?0-ba|0:ba)|0)>3){s=1;break}ba=j-k|0;if((((ba|0)<0?0-ba|0:ba)|0)>3){s=1;break}s=(c[ia+120>>2]|0)!=(c[ia+116>>2]|0)&1}else s=2;while(0);c[ab>>2]=s;f=b[ia+158>>1]|0;j=b[ia+146>>1]|0;do if(!((x|v)<<16>>16)){ba=(b[ia+156>>1]|0)-(b[ia+144>>1]|0)|0;if((((ba|0)<0?0-ba|0:ba)|0)>3){q=1;break}ba=f-j|0;if((((ba|0)<0?0-ba|0:ba)|0)>3){q=1;break}q=(c[ia+120>>2]|0)!=(c[ia+116>>2]|0)&1}else q=2;while(0);c[Za>>2]=q;f=b[ia+182>>1]|0;j=b[ia+170>>1]|0;do if(!((F|y)<<16>>16)){ba=(b[ia+180>>1]|0)-(b[ia+168>>1]|0)|0;if((((ba|0)<0?0-ba|0:ba)|0)>3){m=1;break}ba=f-j|0;if((((ba|0)<0?0-ba|0:ba)|0)>3){m=1;break}m=(c[ia+128>>2]|0)!=(c[ia+124>>2]|0)&1}else m=2;while(0);c[Wa>>2]=m;f=b[ia+190>>1]|0;j=b[ia+178>>1]|0;do if(!((I|H)<<16>>16)){ba=(b[ia+188>>1]|0)-(b[ia+176>>1]|0)|0;if((((ba|0)<0?0-ba|0:ba)|0)>3){f=1;break}ba=f-j|0;if((((ba|0)<0?0-ba|0:ba)|0)>3){f=1;break}f=(c[ia+128>>2]|0)!=(c[ia+124>>2]|0)&1}else f=2;while(0);c[Ta>>2]=f;k=f;t=G;v=J;$=L;aa=s;ba=M;s=N;j=O;f=P;break a}default:{x=b[ia+32>>1]|0;h=b[ia+28>>1]|0;y=b[ia+142>>1]|0;k=b[ia+134>>1]|0;if(!((h|x)<<16>>16)){f=(b[ia+140>>1]|0)-(b[ia+132>>1]|0)|0;ba=y-k|0;f=((((ba|0)<0?0-ba|0:ba)|0)>3|(((f|0)<0?0-f|0:f)|0)>3)&1}else f=2;c[zb>>2]=f;F=b[ia+34>>1]|0;m=b[ia+30>>1]|0;G=b[ia+146>>1]|0;n=b[ia+138>>1]|0;if(!((m|F)<<16>>16)){j=(b[ia+144>>1]|0)-(b[ia+136>>1]|0)|0;ba=G-n|0;j=((((ba|0)<0?0-ba|0:ba)|0)>3|(((j|0)<0?0-j|0:j)|0)>3)&1}else j=2;c[yb>>2]=j;H=b[ia+40>>1]|0;o=b[ia+36>>1]|0;J=b[ia+158>>1]|0;t=b[ia+150>>1]|0;if(!((o|H)<<16>>16)){l=(b[ia+156>>1]|0)-(b[ia+148>>1]|0)|0;ba=J-t|0;l=((((ba|0)<0?0-ba|0:ba)|0)>3|(((l|0)<0?0-l|0:l)|0)>3)&1}else l=2;c[xb>>2]=l;I=b[ia+42>>1]|0;q=b[ia+38>>1]|0;K=b[ia+162>>1]|0;v=b[ia+154>>1]|0;if(!((q|I)<<16>>16)){p=(b[ia+160>>1]|0)-(b[ia+152>>1]|0)|0;ba=K-v|0;p=((((ba|0)<0?0-ba|0:ba)|0)>3|(((p|0)<0?0-p|0:p)|0)>3)&1}else p=2;c[wb>>2]=p;L=b[ia+44>>1]|0;M=b[ia+166>>1]|0;if(!((L|x)<<16>>16)){ba=(b[ia+164>>1]|0)-(b[ia+140>>1]|0)|0;if((((ba|0)<0?0-ba|0:ba)|0)<=3?(ba=M-y|0,(((ba|0)<0?0-ba|0:ba)|0)<=3):0)s=(c[ia+124>>2]|0)!=(c[ia+116>>2]|0)&1;else s=1}else s=2;c[vb>>2]=s;N=b[ia+46>>1]|0;O=b[ia+170>>1]|0;do if(!((N|F)<<16>>16)){ba=(b[ia+168>>1]|0)-(b[ia+144>>1]|0)|0;if((((ba|0)<0?0-ba|0:ba)|0)>3)u=1;else{ba=O-G|0;if((((ba|0)<0?0-ba|0:ba)|0)>3){u=1;break}u=(c[ia+124>>2]|0)!=(c[ia+116>>2]|0)&1}}else u=2;while(0);c[ub>>2]=u;P=b[ia+52>>1]|0;S=b[ia+182>>1]|0;do if(!((P|H)<<16>>16)){ba=(b[ia+180>>1]|0)-(b[ia+156>>1]|0)|0;if((((ba|0)<0?0-ba|0:ba)|0)>3){E=1;break}ba=S-J|0;if((((ba|0)<0?0-ba|0:ba)|0)>3){E=1;break}E=(c[ia+128>>2]|0)!=(c[ia+120>>2]|0)&1}else E=2;while(0);c[tb>>2]=E;Q=b[ia+54>>1]|0;R=b[ia+186>>1]|0;do if(!((Q|I)<<16>>16)){ba=(b[ia+184>>1]|0)-(b[ia+160>>1]|0)|0;if((((ba|0)<0?0-ba|0:ba)|0)>3){D=1;break}ba=R-K|0;if((((ba|0)<0?0-ba|0:ba)|0)>3){D=1;break}D=(c[ia+128>>2]|0)!=(c[ia+120>>2]|0)&1}else D=2;while(0);c[sb>>2]=D;T=b[ia+48>>1]|0;U=b[ia+174>>1]|0;if(!((T|L)<<16>>16)){C=(b[ia+172>>1]|0)-(b[ia+164>>1]|0)|0;ba=U-M|0;C=((((ba|0)<0?0-ba|0:ba)|0)>3|(((C|0)<0?0-C|0:C)|0)>3)&1}else C=2;c[rb>>2]=C;V=b[ia+50>>1]|0;W=b[ia+178>>1]|0;if(!((V|N)<<16>>16)){B=(b[ia+176>>1]|0)-(b[ia+168>>1]|0)|0;ba=W-O|0;B=((((ba|0)<0?0-ba|0:ba)|0)>3|(((B|0)<0?0-B|0:B)|0)>3)&1}else B=2;c[qb>>2]=B;X=b[ia+56>>1]|0;_=b[ia+190>>1]|0;if(!((X|P)<<16>>16)){A=(b[ia+188>>1]|0)-(b[ia+180>>1]|0)|0;ba=_-S|0;A=((((ba|0)<0?0-ba|0:ba)|0)>3|(((A|0)<0?0-A|0:A)|0)>3)&1}else A=2;c[pb>>2]=A;Y=b[ia+58>>1]|0;Z=b[ia+194>>1]|0;if(!((Y|Q)<<16>>16)){z=(b[ia+192>>1]|0)-(b[ia+184>>1]|0)|0;ba=Z-R|0;z=((((ba|0)<0?0-ba|0:ba)|0)>3|(((z|0)<0?0-z|0:z)|0)>3)&1}else z=2;c[ob>>2]=z;if(!((m|h)<<16>>16)){ba=(b[ia+136>>1]|0)-(b[ia+132>>1]|0)|0;aa=n-k|0;ba=((((aa|0)<0?0-aa|0:aa)|0)>3|(((ba|0)<0?0-ba|0:ba)|0)>3)&1}else ba=2;c[bb>>2]=ba;do if(!((o|m)<<16>>16)){aa=(b[ia+148>>1]|0)-(b[ia+136>>1]|0)|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){aa=1;break}aa=t-n|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){aa=1;break}aa=(c[ia+120>>2]|0)!=(c[ia+116>>2]|0)&1}else aa=2;while(0);c[ab>>2]=aa;if(!((q|o)<<16>>16)){$=(b[ia+152>>1]|0)-(b[ia+148>>1]|0)|0;v=v-t|0;$=((((v|0)<0?0-v|0:v)|0)>3|((($|0)<0?0-$|0:$)|0)>3)&1}else $=2;c[$a>>2]=$;if(!((F|x)<<16>>16)){x=(b[ia+144>>1]|0)-(b[ia+140>>1]|0)|0;y=G-y|0;x=((((y|0)<0?0-y|0:y)|0)>3|(((x|0)<0?0-x|0:x)|0)>3)&1}else x=2;c[_a>>2]=x;do if(!((H|F)<<16>>16)){F=(b[ia+156>>1]|0)-(b[ia+144>>1]|0)|0;if((((F|0)<0?0-F|0:F)|0)>3){q=1;break}G=J-G|0;if((((G|0)<0?0-G|0:G)|0)>3){q=1;break}q=(c[ia+120>>2]|0)!=(c[ia+116>>2]|0)&1}else q=2;while(0);c[Za>>2]=q;if(!((I|H)<<16>>16)){v=(b[ia+160>>1]|0)-(b[ia+156>>1]|0)|0;K=K-J|0;v=((((K|0)<0?0-K|0:K)|0)>3|(((v|0)<0?0-v|0:v)|0)>3)&1}else v=2;c[Ya>>2]=v;if(!((N|L)<<16>>16)){t=(b[ia+168>>1]|0)-(b[ia+164>>1]|0)|0;M=O-M|0;t=((((M|0)<0?0-M|0:M)|0)>3|(((t|0)<0?0-t|0:t)|0)>3)&1}else t=2;c[Xa>>2]=t;do if(!((P|N)<<16>>16)){N=(b[ia+180>>1]|0)-(b[ia+168>>1]|0)|0;if((((N|0)<0?0-N|0:N)|0)>3){m=1;break}O=S-O|0;if((((O|0)<0?0-O|0:O)|0)>3){m=1;break}m=(c[ia+128>>2]|0)!=(c[ia+124>>2]|0)&1}else m=2;while(0);c[Wa>>2]=m;if(!((Q|P)<<16>>16)){o=(b[ia+184>>1]|0)-(b[ia+180>>1]|0)|0;S=R-S|0;o=((((S|0)<0?0-S|0:S)|0)>3|(((o|0)<0?0-o|0:o)|0)>3)&1}else o=2;c[Va>>2]=o;if(!((V|T)<<16>>16)){n=(b[ia+176>>1]|0)-(b[ia+172>>1]|0)|0;U=W-U|0;n=((((U|0)<0?0-U|0:U)|0)>3|(((n|0)<0?0-n|0:n)|0)>3)&1}else n=2;c[Ua>>2]=n;do if(!((X|V)<<16>>16)){V=(b[ia+188>>1]|0)-(b[ia+176>>1]|0)|0;if((((V|0)<0?0-V|0:V)|0)>3){k=1;break}W=_-W|0;if((((W|0)<0?0-W|0:W)|0)>3){k=1;break}k=(c[ia+128>>2]|0)!=(c[ia+124>>2]|0)&1}else k=2;while(0);c[Ta>>2]=k;if(!((Y|X)<<16>>16)){h=(b[ia+192>>1]|0)-(b[ia+188>>1]|0)|0;_=Z-_|0;h=((((_|0)<0?0-_|0:_)|0)>3|(((h|0)<0?0-h|0:h)|0)>3)&1}else h=2;c[Sa>>2]=h;K=x;break a}}while(0);if((i|0)==0?(k|h|n|o|m|t|v|q|K|$|aa|ba|z|A|B|C|D|E|u|s|p|l|j|f|0)==0:0)break}B=ia+20|0;h=c[B>>2]|0;D=ia+12|0;i=c[D>>2]|0;k=i+h|0;k=(k|0)<51?k:51;k=(k|0)>0?k:0;E=ia+16|0;j=c[E>>2]|0;m=j+h|0;m=(m|0)<51?m:51;l=d[50846+k>>0]|0;c[Ga>>2]=l;m=d[50898+((m|0)>0?m:0)>>0]|0;c[Ka>>2]=m;k=50950+(k*3|0)|0;c[lb>>2]=k;do if(!ea){f=c[(c[fa>>2]|0)+20>>2]|0;if((f|0)==(h|0)){c[Ia>>2]=l;c[Ma>>2]=m;c[nb>>2]=k;break}else{aa=(h+1+f|0)>>>1;ba=aa+i|0;ba=(ba|0)<51?ba:51;ba=(ba|0)>0?ba:0;aa=aa+j|0;aa=(aa|0)<51?aa:51;c[Ia>>2]=d[50846+ba>>0];c[Ma>>2]=d[50898+((aa|0)>0?aa:0)>>0];c[nb>>2]=50950+(ba*3|0);break}}while(0);do if(!da){f=c[(c[ga>>2]|0)+20>>2]|0;if((f|0)==(h|0)){c[Ha>>2]=l;c[La>>2]=m;c[Ea>>2]=k;break}else{aa=(h+1+f|0)>>>1;ba=aa+i|0;ba=(ba|0)<51?ba:51;ba=(ba|0)>0?ba:0;aa=aa+j|0;aa=(aa|0)<51?aa:51;c[Ha>>2]=d[50846+ba>>0];c[La>>2]=d[50898+((aa|0)>0?aa:0)>>0];c[mb>>2]=50950+(ba*3|0);break}}while(0);C=r(ta,Da)|0;y=3;k=0;z=(c[e>>2]|0)+(C<<8)+(ha<<4)|0;A=Ja;while(1){if(g|0)Vf(z,g,Ea,fb);g=c[A+12>>2]|0;if(g|0)Vf(z+4|0,g,Fa,fb);i=A+16|0;g=c[A+20>>2]|0;if(g|0)Vf(z+8|0,g,Fa,fb);j=A+24|0;g=c[A+28>>2]|0;if(g|0)Vf(z+12|0,g,Fa,fb);f=c[A>>2]|0;h=A+8|0;g=c[h>>2]|0;b:do if(((f|0)==(g|0)?(f|0)==(c[i>>2]|0):0)?(f|0)==(c[j>>2]|0):0){if(f|0){if(f>>>0<4){v=d[(c[nb+(k*12|0)>>2]|0)+(f+-1)>>0]|0;u=nb+(k*12|0)+4|0;l=nb+(k*12|0)+8|0;t=0-v|0;s=v+1|0;p=z;q=16;while(1){h=p+cb|0;k=p+kb|0;i=p+fb|0;g=a[i>>0]|0;n=d[k>>0]|0;o=d[p>>0]|0;ba=n-o|0;do if(((ba|0)<0?0-ba|0:ba)>>>0<(c[u>>2]|0)>>>0){m=d[h>>0]|0;ba=m-n|0;f=c[l>>2]|0;if(((ba|0)<0?0-ba|0:ba)>>>0>=f>>>0)break;j=g&255;ba=j-o|0;if(((ba|0)<0?0-ba|0:ba)>>>0>=f>>>0)break;g=d[p+jb>>0]|0;ba=g-n|0;if(((ba|0)<0?0-ba|0:ba)>>>0>>0){f=((n+1+o|0)>>>1)-(m<<1)+g>>1;a[h>>0]=((f|0)<(t|0)?t:(f|0)>(v|0)?v:f)+m;f=c[l>>2]|0;g=s}else g=v;h=d[p+eb>>0]|0;ba=h-o|0;if(((ba|0)<0?0-ba|0:ba)>>>0>>0){ba=((n+1+o|0)>>>1)-(j<<1)+h>>1;a[i>>0]=((ba|0)<(t|0)?t:(ba|0)>(v|0)?v:ba)+j;g=g+1|0}aa=4-j+(o-n<<2)+m>>3;ba=0-g|0;aa=(aa|0)<(ba|0)?ba:(aa|0)>(g|0)?g:aa;ba=a[49256+(o-aa)>>0]|0;a[k>>0]=a[49256+(aa+n)>>0]|0;a[p>>0]=ba}while(0);q=q+-1|0;if(!q)break b;else p=p+1|0}}x=nb+(k*12|0)+4|0;p=nb+(k*12|0)+8|0;u=z;v=16;while(1){j=u+cb|0;k=u+kb|0;o=u+fb|0;g=a[o>>0]|0;q=d[k>>0]|0;s=d[u>>0]|0;h=q-s|0;h=(h|0)<0?0-h|0:h;f=c[x>>2]|0;c:do if(h>>>0>>0){t=d[j>>0]|0;ba=t-q|0;i=c[p>>2]|0;if(((ba|0)<0?0-ba|0:ba)>>>0>=i>>>0)break;n=g&255;ba=n-s|0;if(((ba|0)<0?0-ba|0:ba)>>>0>=i>>>0)break;g=u+jb|0;m=u+eb|0;l=a[m>>0]|0;do if(h>>>0<((f>>>2)+2|0)>>>0){f=d[g>>0]|0;ba=f-q|0;if(((ba|0)<0?0-ba|0:ba)>>>0>>0){ba=s+q+t|0;a[k>>0]=(n+4+(ba<<1)+f|0)>>>3;a[j>>0]=(ba+2+f|0)>>>2;h=f*3|0;i=3;j=ba+4|0;f=d[u+hb>>0]|0}else{h=2;i=2;j=n+q|0;g=k;f=t}a[g>>0]=(j+h+(f<<1)|0)>>>i;g=l&255;ba=g-s|0;if(((ba|0)<0?0-ba|0:ba)>>>0>=(c[p>>2]|0)>>>0)break;ba=n+q+s|0;a[u>>0]=((ba<<1)+4+t+g|0)>>>3;a[o>>0]=(ba+2+g|0)>>>2;a[m>>0]=(ba+4+(g*3|0)+(d[u+ib>>0]<<1)|0)>>>3;break c}else a[k>>0]=(n+q+2+(t<<1)|0)>>>2;while(0);a[u>>0]=(t+s+2+(n<<1)|0)>>>2}while(0);v=v+-1|0;if(!v)break;else u=u+1|0}}}else ca=276;while(0);do if((ca|0)==276){ca=0;if(f){Wf(z,f,nb+(k*12|0)|0,fb);g=c[h>>2]|0}if(g|0)Wf(z+4|0,g,nb+(k*12|0)|0,fb);g=c[i>>2]|0;if(g|0)Wf(z+8|0,g,nb+(k*12|0)|0,fb);g=c[j>>2]|0;if(!g)break;Wf(z+12|0,g,nb+(k*12|0)|0,fb)}while(0);if(!y)break;g=c[A+36>>2]|0;y=y+-1|0;k=2;z=z+db|0;A=A+32|0}n=c[ia+24>>2]|0;l=c[B>>2]|0;m=l+n|0;m=(m|0)<51?m:51;m=c[1656+(((m|0)>0?m:0)<<2)>>2]|0;k=c[D>>2]|0;h=k+m|0;h=(h|0)<51?h:51;h=(h|0)>0?h:0;f=c[E>>2]|0;j=f+m|0;j=(j|0)<51?j:51;i=d[50846+h>>0]|0;c[Ga>>2]=i;j=d[50898+((j|0)>0?j:0)>>0]|0;c[Ka>>2]=j;h=50950+(h*3|0)|0;c[lb>>2]=h;do if(!ea){g=c[(c[fa>>2]|0)+20>>2]|0;if((g|0)==(l|0)){c[Ia>>2]=i;c[Ma>>2]=j;c[nb>>2]=h;break}else{ea=g+n|0;ea=(ea|0)<51?ea:51;ea=(m+1+(c[1656+(((ea|0)>0?ea:0)<<2)>>2]|0)|0)>>>1;fa=ea+k|0;fa=(fa|0)<51?fa:51;fa=(fa|0)>0?fa:0;ea=ea+f|0;ea=(ea|0)<51?ea:51;c[Ia>>2]=d[50846+fa>>0];c[Ma>>2]=d[50898+((ea|0)>0?ea:0)>>0];c[nb>>2]=50950+(fa*3|0);break}}while(0);do if(!da){g=c[(c[ga>>2]|0)+20>>2]|0;if((g|0)==(l|0)){c[Ha>>2]=i;c[La>>2]=j;c[Ea>>2]=h;break}else{fa=g+n|0;fa=(fa|0)<51?fa:51;fa=(m+1+(c[1656+(((fa|0)>0?fa:0)<<2)>>2]|0)|0)>>>1;ga=fa+k|0;ga=(ga|0)<51?ga:51;ga=(ga|0)>0?ga:0;fa=fa+f|0;fa=(fa|0)<51?fa:51;c[Ha>>2]=d[50846+ga>>0];c[La>>2]=d[50898+((fa|0)>0?fa:0)>>0];c[mb>>2]=50950+(ga*3|0);break}}while(0);i=(c[e>>2]|0)+gb+(C<<6)+(ha<<3)|0;k=i+ua|0;g=c[la>>2]|0;if(g|0){Xf(i,g,Ea,va);Xf(k,c[la>>2]|0,Ea,va)}g=c[ra>>2]|0;if(g|0){Xf(i+fb|0,g,Ea,va);Xf(k+fb|0,c[ra>>2]|0,Ea,va)}g=c[na>>2]|0;if(g|0){Xf(i+4|0,g,Fa,va);Xf(k+4|0,c[na>>2]|0,Fa,va)}g=c[pa>>2]|0;if(g|0){Xf(i+fb+4|0,g,Fa,va);Xf(k+fb+4|0,c[pa>>2]|0,Fa,va)}f=c[Ja>>2]|0;g=c[za>>2]|0;h=(f|0)==0;do if(((f|0)==(g|0)?(f|0)==(c[ja>>2]|0):0)&(f|0)==(c[Ba>>2]|0)){if(!h){Yf(i,f,nb,va);Yf(k,c[Ja>>2]|0,nb,va)}}else{if(!h){Zf(i,f,nb,va);Zf(k,c[Ja>>2]|0,nb,va);g=c[za>>2]|0}if(g|0){Zf(i+2|0,g,nb,va);Zf(k+2|0,c[za>>2]|0,nb,va)}g=c[ja>>2]|0;if(g|0){Zf(i+4|0,g,nb,va);Zf(k+4|0,c[ja>>2]|0,nb,va)}g=c[xa>>2]|0;if(!g)break;Zf(i+6|0,g,nb,va);Zf(k+6|0,c[xa>>2]|0,nb,va)}while(0);j=i+eb|0;i=k+eb|0;g=c[ma>>2]|0;if(g|0){Xf(j,g,Ea,va);Xf(i,c[ma>>2]|0,Ea,va)}g=c[sa>>2]|0;if(g|0){Xf(j+fb|0,g,Ea,va);Xf(i+fb|0,c[sa>>2]|0,Ea,va)}g=c[oa>>2]|0;if(g|0){Xf(j+4|0,g,Fa,va);Xf(i+4|0,c[oa>>2]|0,Fa,va)}g=c[qa>>2]|0;if(g|0){Xf(j+fb+4|0,g,Fa,va);Xf(i+fb+4|0,c[qa>>2]|0,Fa,va)}f=c[wa>>2]|0;g=c[Aa>>2]|0;h=(f|0)==0;if(((f|0)==(g|0)?(f|0)==(c[ka>>2]|0):0)&(f|0)==(c[Ca>>2]|0)){if(h)break;Yf(j,f,Fa,va);Yf(i,c[wa>>2]|0,Fa,va);break}if(!h){Zf(j,f,Fa,va);Zf(i,c[wa>>2]|0,Fa,va);g=c[Aa>>2]|0}if(g|0){Zf(j+2|0,g,Fa,va);Zf(i+2|0,c[Aa>>2]|0,Fa,va)}g=c[ka>>2]|0;if(g|0){Zf(j+4|0,g,Fa,va);Zf(i+4|0,c[ka>>2]|0,Fa,va)}g=c[ya>>2]|0;if(!g)break;Zf(j+6|0,g,Fa,va);Zf(i+6|0,c[ya>>2]|0,Fa,va)}while(0);f=ha+1|0;g=(f|0)==(Da|0);ta=ta+(g&1)|0;if(ta>>>0>=(c[Na>>2]|0)>>>0)break;else{ha=g?0:f;ia=ia+216|0}}cc=Db;return}function Vf(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;if(e>>>0<4){s=d[(c[f>>2]|0)+(e+-1)>>0]|0;r=f+4|0;o=f+8|0;q=0-s|0;p=s+1|0;n=4;while(1){f=b+-2|0;k=b+-1|0;j=b+1|0;e=a[j>>0]|0;l=d[k>>0]|0;m=d[b>>0]|0;y=l-m|0;if((((y|0)<0?0-y|0:y)>>>0<(c[r>>2]|0)>>>0?(u=d[f>>0]|0,y=u-l|0,t=c[o>>2]|0,((y|0)<0?0-y|0:y)>>>0>>0):0)?(v=e&255,y=v-m|0,((y|0)<0?0-y|0:y)>>>0>>0):0){i=a[b+2>>0]|0;e=d[b+-3>>0]|0;y=e-l|0;if(((y|0)<0?0-y|0:y)>>>0>>0){h=((l+1+m|0)>>>1)-(u<<1)+e>>1;a[f>>0]=((h|0)<(q|0)?q:(h|0)>(s|0)?s:h)+u;h=c[o>>2]|0;e=p}else{h=t;e=s}f=i&255;y=f-m|0;if(((y|0)<0?0-y|0:y)>>>0>>0){y=((l+1+m|0)>>>1)-(v<<1)+f>>1;a[j>>0]=((y|0)<(q|0)?q:(y|0)>(s|0)?s:y)+v;e=e+1|0}x=4-v+(m-l<<2)+u>>3;y=0-e|0;x=(x|0)<(y|0)?y:(x|0)>(e|0)?e:x;y=a[49256+(m-x)>>0]|0;a[k>>0]=a[49256+(x+l)>>0]|0;a[b>>0]=y}n=n+-1|0;if(!n)break;else b=b+g|0}return}t=f+4|0;s=f+8|0;r=4;while(1){i=b+-2|0;l=b+-1|0;o=b+1|0;e=a[o>>0]|0;p=d[l>>0]|0;q=d[b>>0]|0;h=p-q|0;h=(h|0)<0?0-h|0:h;f=c[t>>2]|0;do if((h>>>0>>0?(x=d[i>>0]|0,v=x-p|0,w=c[s>>2]|0,((v|0)<0?0-v|0:v)>>>0>>0):0)?(y=e&255,v=y-q|0,((v|0)<0?0-v|0:v)>>>0>>0):0){k=b+-3|0;n=b+2|0;m=a[n>>0]|0;if(h>>>0<((f>>>2)+2|0)>>>0){e=d[k>>0]|0;v=e-p|0;if(((v|0)<0?0-v|0:v)>>>0>>0){j=q+p+x|0;a[l>>0]=(y+4+(j<<1)+e|0)>>>3;a[i>>0]=(j+2+e|0)>>>2;h=e*3|0;i=3;j=j+4|0;e=k;f=d[b+-4>>0]|0}else{h=2;i=2;j=y+p|0;e=l;f=x}a[e>>0]=(j+h+(f<<1)|0)>>>i;e=m&255;v=e-q|0;if(((v|0)<0?0-v|0:v)>>>0<(c[s>>2]|0)>>>0){v=y+p+q|0;a[b>>0]=((v<<1)+4+x+e|0)>>>3;a[o>>0]=(v+2+e|0)>>>2;a[n>>0]=(v+4+(e*3|0)+((d[b+3>>0]|0)<<1)|0)>>>3;break}}else a[l>>0]=(y+p+2+(x<<1)|0)>>>2;a[b>>0]=(x+q+2+(y<<1)|0)>>>2}while(0);r=r+-1|0;if(!r)break;else b=b+g|0}return}function Wf(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;u=d[(c[f>>2]|0)+(e+-1)>>0]|0;w=0-g|0;v=w<<1;t=f+4|0;n=f+8|0;q=r(g,-3)|0;s=0-u|0;o=u+1|0;p=g<<1;m=4;while(1){f=b+v|0;j=b+w|0;i=b+g|0;e=a[i>>0]|0;k=d[j>>0]|0;l=d[b>>0]|0;h=k-l|0;if((((h|0)<0?0-h|0:h)>>>0<(c[t>>2]|0)>>>0?(y=d[f>>0]|0,h=y-k|0,x=c[n>>2]|0,((h|0)<0?0-h|0:h)>>>0>>0):0)?(z=e&255,h=z-l|0,((h|0)<0?0-h|0:h)>>>0>>0):0){e=d[b+q>>0]|0;h=e-k|0;if(((h|0)<0?0-h|0:h)>>>0>>0){e=((k+1+l|0)>>>1)-(y<<1)+e>>1;a[f>>0]=((e|0)<(s|0)?s:(e|0)>(u|0)?u:e)+y;f=c[n>>2]|0;e=o}else{f=x;e=u}h=d[b+p>>0]|0;A=h-l|0;if(((A|0)<0?0-A|0:A)>>>0>>0){A=((k+1+l|0)>>>1)-(z<<1)+h>>1;a[i>>0]=((A|0)<(s|0)?s:(A|0)>(u|0)?u:A)+z;e=e+1|0}i=4-z+(l-k<<2)+y>>3;A=0-e|0;i=(i|0)<(A|0)?A:(i|0)>(e|0)?e:i;A=a[49256+(l-i)>>0]|0;a[j>>0]=a[49256+(i+k)>>0]|0;a[b>>0]=A}m=m+-1|0;if(!m)break;else b=b+1|0}return}function Xf(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=b+-1|0;h=a[b+1>>0]|0;k=d[j>>0]|0;n=d[b>>0]|0;p=k-n|0;o=f+4|0;do if((((p|0)<0?0-p|0:p)>>>0<(c[o>>2]|0)>>>0?(l=d[b+-2>>0]|0,p=l-k|0,i=c[f+8>>2]|0,((p|0)<0?0-p|0:p)>>>0>>0):0)?(m=h&255,p=m-n|0,((p|0)<0?0-p|0:p)>>>0>>0):0)if(e>>>0<4){i=d[(c[f>>2]|0)+(e+-1)>>0]|0;p=i+1|0;m=4-m+(n-k<<2)+l>>3;l=~i;m=(m|0)<(l|0)?l:(m|0)>(p|0)?p:m;p=a[49256+(n-m)>>0]|0;a[j>>0]=a[49256+(m+k)>>0]|0;a[b>>0]=p;break}else{a[j>>0]=(k+2+m+(l<<1)|0)>>>2;a[b>>0]=(n+2+(m<<1)+l|0)>>>2;break}while(0);k=b+g|0;l=k+-1|0;m=d[l>>0]|0;n=d[k>>0]|0;p=m-n|0;if(((p|0)<0?0-p|0:p)>>>0>=(c[o>>2]|0)>>>0)return;i=d[k+-2>>0]|0;p=i-m|0;h=c[f+8>>2]|0;if(((p|0)<0?0-p|0:p)>>>0>=h>>>0)return;j=d[k+1>>0]|0;p=j-n|0;if(((p|0)<0?0-p|0:p)>>>0>=h>>>0)return;if(e>>>0<4){e=d[(c[f>>2]|0)+(e+-1)>>0]|0;p=e+1|0;f=4-j+(n-m<<2)+i>>3;e=~e;f=(f|0)<(e|0)?e:(f|0)>(p|0)?p:f;p=a[49256+(n-f)>>0]|0;a[l>>0]=a[49256+(f+m)>>0]|0;a[k>>0]=p;return}else{a[l>>0]=(m+2+j+(i<<1)|0)>>>2;a[k>>0]=(n+2+(j<<1)+i|0)>>>2;return}}function Yf(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;if(e>>>0<4){m=d[(c[f>>2]|0)+(e+-1)>>0]|0;n=m+1|0;q=0-g|0;o=f+4|0;p=q<<1;l=f+8|0;m=~m;j=b;k=8;while(1){f=j+q|0;e=a[j+g>>0]|0;h=d[f>>0]|0;i=d[j>>0]|0;b=h-i|0;if((((b|0)<0?0-b|0:b)>>>0<(c[o>>2]|0)>>>0?(s=d[j+p>>0]|0,b=s-h|0,r=c[l>>2]|0,((b|0)<0?0-b|0:b)>>>0>>0):0)?(t=e&255,b=t-i|0,((b|0)<0?0-b|0:b)>>>0>>0):0){I=4-t+(i-h<<2)+s>>3;I=(I|0)<(m|0)?m:(I|0)>(n|0)?n:I;b=a[49256+(i-I)>>0]|0;a[f>>0]=a[49256+(I+h)>>0]|0;a[j>>0]=b}k=k+-1|0;if(!k)break;else j=j+1|0}return}s=0-g|0;r=f+4|0;I=s<<1;t=f+8|0;h=b+s|0;f=a[b+g>>0]|0;i=d[h>>0]|0;j=d[b>>0]|0;J=i-j|0;e=c[r>>2]|0;if((((J|0)<0?0-J|0:J)>>>0>>0?(l=d[b+I>>0]|0,J=l-i|0,k=c[t>>2]|0,((J|0)<0?0-J|0:J)>>>0>>0):0)?(m=f&255,J=m-j|0,((J|0)<0?0-J|0:J)>>>0>>0):0){a[h>>0]=(i+2+m+(l<<1)|0)>>>2;a[b>>0]=(j+2+(m<<1)+l|0)>>>2;e=c[r>>2]|0}k=b+1|0;h=k+s|0;f=a[k+g>>0]|0;i=d[h>>0]|0;j=d[k>>0]|0;J=i-j|0;if((((J|0)<0?0-J|0:J)>>>0>>0?(o=d[k+I>>0]|0,J=o-i|0,n=c[t>>2]|0,((J|0)<0?0-J|0:J)>>>0>>0):0)?(p=f&255,J=p-j|0,((J|0)<0?0-J|0:J)>>>0>>0):0){a[h>>0]=(i+2+p+(o<<1)|0)>>>2;a[k>>0]=(j+2+(p<<1)+o|0)>>>2;e=c[r>>2]|0}k=b+2|0;h=k+s|0;f=a[k+g>>0]|0;i=d[h>>0]|0;j=d[k>>0]|0;J=i-j|0;if((((J|0)<0?0-J|0:J)>>>0>>0?(u=d[k+I>>0]|0,J=u-i|0,q=c[t>>2]|0,((J|0)<0?0-J|0:J)>>>0>>0):0)?(v=f&255,J=v-j|0,((J|0)<0?0-J|0:J)>>>0>>0):0){a[h>>0]=(i+2+v+(u<<1)|0)>>>2;a[k>>0]=(j+2+(v<<1)+u|0)>>>2;e=c[r>>2]|0}k=b+3|0;h=k+s|0;f=a[k+g>>0]|0;i=d[h>>0]|0;j=d[k>>0]|0;J=i-j|0;if((((J|0)<0?0-J|0:J)>>>0>>0?(x=d[k+I>>0]|0,J=x-i|0,w=c[t>>2]|0,((J|0)<0?0-J|0:J)>>>0>>0):0)?(y=f&255,J=y-j|0,((J|0)<0?0-J|0:J)>>>0>>0):0){a[h>>0]=(i+2+y+(x<<1)|0)>>>2;a[k>>0]=(j+2+(y<<1)+x|0)>>>2;e=c[r>>2]|0}k=b+4|0;h=k+s|0;f=a[k+g>>0]|0;i=d[h>>0]|0;j=d[k>>0]|0;J=i-j|0;if((((J|0)<0?0-J|0:J)>>>0>>0?(A=d[k+I>>0]|0,J=A-i|0,z=c[t>>2]|0,((J|0)<0?0-J|0:J)>>>0>>0):0)?(B=f&255,J=B-j|0,((J|0)<0?0-J|0:J)>>>0>>0):0){a[h>>0]=(i+2+B+(A<<1)|0)>>>2;a[k>>0]=(j+2+(B<<1)+A|0)>>>2;e=c[r>>2]|0}k=b+5|0;h=k+s|0;f=a[k+g>>0]|0;i=d[h>>0]|0;j=d[k>>0]|0;J=i-j|0;if((((J|0)<0?0-J|0:J)>>>0>>0?(D=d[k+I>>0]|0,J=D-i|0,C=c[t>>2]|0,((J|0)<0?0-J|0:J)>>>0>>0):0)?(E=f&255,J=E-j|0,((J|0)<0?0-J|0:J)>>>0>>0):0){a[h>>0]=(i+2+E+(D<<1)|0)>>>2;a[k>>0]=(j+2+(E<<1)+D|0)>>>2;e=c[r>>2]|0}k=b+6|0;h=k+s|0;f=a[k+g>>0]|0;i=d[h>>0]|0;j=d[k>>0]|0;J=i-j|0;if((((J|0)<0?0-J|0:J)>>>0>>0?(G=d[k+I>>0]|0,J=G-i|0,F=c[t>>2]|0,((J|0)<0?0-J|0:J)>>>0>>0):0)?(H=f&255,J=H-j|0,((J|0)<0?0-J|0:J)>>>0>>0):0){a[h>>0]=(i+2+H+(G<<1)|0)>>>2;a[k>>0]=(j+2+(H<<1)+G|0)>>>2;e=c[r>>2]|0}l=b+7|0;i=l+s|0;j=d[i>>0]|0;k=d[l>>0]|0;J=j-k|0;if(((J|0)<0?0-J|0:J)>>>0>=e>>>0)return;h=d[l+I>>0]|0;J=h-j|0;f=c[t>>2]|0;if(((J|0)<0?0-J|0:J)>>>0>=f>>>0)return;e=d[l+g>>0]|0;J=e-k|0;if(((J|0)<0?0-J|0:J)>>>0>=f>>>0)return;a[i>>0]=(j+2+e+(h<<1)|0)>>>2;a[l>>0]=(k+2+(e<<1)+h|0)>>>2;return}function Zf(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=d[(c[f>>2]|0)+(e+-1)>>0]|0;s=r+1|0;o=0-g|0;k=f+4|0;q=o<<1;p=f+8|0;r=~r;h=b+o|0;f=a[b+g>>0]|0;i=d[h>>0]|0;j=d[b>>0]|0;t=i-j|0;e=c[k>>2]|0;if((((t|0)<0?0-t|0:t)>>>0>>0?(m=d[b+q>>0]|0,t=m-i|0,l=c[p>>2]|0,((t|0)<0?0-t|0:t)>>>0>>0):0)?(n=f&255,t=n-j|0,((t|0)<0?0-t|0:t)>>>0>>0):0){t=4-n+(j-i<<2)+m>>3;t=(t|0)<(r|0)?r:(t|0)>(s|0)?s:t;e=a[49256+(j-t)>>0]|0;a[h>>0]=a[49256+(t+i)>>0]|0;a[b>>0]=e;e=c[k>>2]|0}l=b+1|0;i=l+o|0;j=d[i>>0]|0;k=d[l>>0]|0;t=j-k|0;if(((t|0)<0?0-t|0:t)>>>0>=e>>>0)return;h=d[l+q>>0]|0;t=h-j|0;f=c[p>>2]|0;if(((t|0)<0?0-t|0:t)>>>0>=f>>>0)return;e=d[l+g>>0]|0;t=e-k|0;if(((t|0)<0?0-t|0:t)>>>0>=f>>>0)return;g=4-e+(k-j<<2)+h>>3;g=(g|0)<(r|0)?r:(g|0)>(s|0)?s:g;t=a[49256+(k-g)>>0]|0;a[i>>0]=a[49256+(g+j)>>0]|0;a[l>>0]=t;return}function _f(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;p=c[b+4>>2]|0;q=c[b+8>>2]|0;switch(d|0){case 0:case 5:{e=3;break}default:if(!(c[a+3384>>2]|0))f=0;else e=3}if((e|0)==3){e=a+1220|0;g=0;do{f=He(e,g)|0;g=g+1|0}while(g>>>0<16&(f|0)==0)}k=a+1176|0;j=c[k>>2]|0;if(j|0){h=c[a+1212>>2]|0;e=0;g=0;i=0;while(1){if(c[h+(g*216|0)+196>>2]|0){h=e;e=g;n=i;break}g=g+1|0;e=e+1|0;o=(e|0)==(p|0);i=i+(o&1)|0;e=o?0:e;if(g>>>0>=j>>>0){h=e;e=g;n=i;break}}if((e|0)!=(j|0)){o=a+1212|0;j=(c[o>>2]|0)+((r(n,p)|0)*216|0)|0;if(h|0){g=a+1204|0;e=h;do{e=e+-1|0;m=j+(e*216|0)|0;$f(m,b,n,e,d,f);c[m+196>>2]=1;c[g>>2]=(c[g>>2]|0)+1}while((e|0)!=0)}e=h+1|0;if(e>>>0

>>0){i=a+1204|0;do{g=j+(e*216|0)|0;h=g+196|0;if(!(c[h>>2]|0)){$f(g,b,n,e,d,f);c[h>>2]=1;c[i>>2]=(c[i>>2]|0)+1}e=e+1|0}while((e|0)!=(p|0))}a:do if((n|0)!=0&(p|0)!=0){k=n+-1|0;l=r(k,p)|0;m=a+1204|0;i=0-p|0;g=n+-2|0;if(!k){e=0;while(1){k=(c[o>>2]|0)+(l*216|0)+(e*216|0)|0;$f(k,b,0,e,d,f);c[k+196>>2]=1;c[m>>2]=(c[m>>2]|0)+1;e=e+1|0;if((e|0)==(p|0))break a}}j=0;do{e=(c[o>>2]|0)+(l*216|0)+(j*216|0)|0;$f(e,b,k,j,d,f);c[e+196>>2]=1;c[m>>2]=(c[m>>2]|0)+1;h=g;while(1){s=e;e=e+(i*216|0)|0;$f(e,b,h,j,d,f);c[s+(i*216|0)+196>>2]=1;c[m>>2]=(c[m>>2]|0)+1;if(!h)break;else h=h+-1|0}j=j+1|0}while((j|0)!=(p|0))}while(0);e=n+1|0;if(e>>>0>=q>>>0)return 0;k=a+1204|0;if(!p)return 0;do{g=(c[o>>2]|0)+((r(e,p)|0)*216|0)|0;j=0;do{h=g+(j*216|0)|0;i=h+196|0;if(!(c[i>>2]|0)){$f(h,b,e,j,d,f);c[i>>2]=1;c[k>>2]=(c[k>>2]|0)+1}j=j+1|0}while((j|0)!=(p|0));e=e+1|0}while((e|0)!=(q|0));return 0}}switch(d|0){case 2:case 7:{if((f|0)==0|(c[a+3384>>2]|0)==0)e=13;else e=14;break}default:if(!f)e=13;else e=14}if((e|0)==13)je(c[b>>2]|0,128,r(p*384|0,q)|0);else if((e|0)==14)Ee(c[b>>2]|0,f,r(p*384|0,q)|0);g=c[k>>2]|0;c[a+1204>>2]=g;if(!g)return 0;e=c[a+1212>>2]|0;f=0;do{c[e+(f*216|0)+8>>2]=1;f=f+1|0}while((f|0)!=(g|0));return 0}function $f(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=cc;cc=cc+480|0;if((cc|0)>=(dc|0))w(480);ga=ia+96|0;ha=ia+32|0;k=ia+24|0;l=ia;ea=c[e+4>>2]|0;v=c[e+8>>2]|0;ge(e,(r(ea,f)|0)+g|0);j=g<<4;m=(c[e>>2]|0)+(r(f<<8,ea)|0)+j|0;c[b+20>>2]=40;c[b+8>>2]=0;c[b>>2]=6;c[b+12>>2]=0;c[b+16>>2]=0;c[b+24>>2]=0;a:do switch(h|0){case 2:case 7:{je(ga,0,384);break}default:{c[k>>2]=0;c[l+4>>2]=ea;c[l+8>>2]=v;c[l>>2]=i;if(!i){je(ga,0,384);break a}Ie(ga,k,l,j,f<<4,0,0,16,16);De(e,ga);cc=ia;return}}while(0);je(ha,0,64);if((f|0)!=0?(c[b+((0-ea|0)*216|0)+196>>2]|0)!=0:0){da=m+(0-(ea<<4))|0;y=da+1|0;z=y+1|0;x=z+1|0;t=x+1|0;x=(d[y>>0]|0)+(d[da>>0]|0)+(d[z>>0]|0)+(d[x>>0]|0)|0;z=t+1|0;da=z+1|0;y=da+1|0;A=y+1|0;y=(d[z>>0]|0)+(d[t>>0]|0)+(d[da>>0]|0)+(d[y>>0]|0)|0;da=A+1|0;t=da+1|0;z=t+1|0;fa=z+1|0;z=(d[da>>0]|0)+(d[A>>0]|0)+(d[t>>0]|0)+(d[z>>0]|0)|0;t=fa+1|0;A=t+1|0;A=(d[t>>0]|0)+(d[fa>>0]|0)+(d[A>>0]|0)+(d[A+1>>0]|0)|0;fa=y+x|0;c[ha>>2]=z+fa+(c[ha>>2]|0)+A;t=ha+4|0;c[t>>2]=fa-z-A+(c[t>>2]|0);t=1}else{x=0;y=0;z=0;A=0;t=0}if((v+-1|0)!=(f|0)?(c[b+(ea*216|0)+196>>2]|0)!=0:0){fa=m+(ea<<8)|0;C=fa+1|0;D=C+1|0;B=D+1|0;u=B+1|0;B=(d[C>>0]|0)+(d[fa>>0]|0)+(d[D>>0]|0)+(d[B>>0]|0)|0;D=u+1|0;fa=D+1|0;C=fa+1|0;E=C+1|0;C=(d[D>>0]|0)+(d[u>>0]|0)+(d[fa>>0]|0)+(d[C>>0]|0)|0;fa=E+1|0;u=fa+1|0;D=u+1|0;q=D+1|0;D=(d[fa>>0]|0)+(d[E>>0]|0)+(d[u>>0]|0)+(d[D>>0]|0)|0;u=q+1|0;E=u+1|0;E=(d[u>>0]|0)+(d[q>>0]|0)+(d[E>>0]|0)+(d[E+1>>0]|0)|0;q=C+B|0;c[ha>>2]=D+q+(c[ha>>2]|0)+E;u=ha+4|0;c[u>>2]=q-D-E+(c[u>>2]|0);u=1;q=t+1|0}else{u=0;B=0;C=0;D=0;E=0;q=t}if((g|0)!=0?(c[b+-20>>2]|0)!=0:0){da=m+-1|0;fa=ea<<4;k=ea<<5;aa=ea*48|0;F=(d[da+fa>>0]|0)+(d[da>>0]|0)+(d[da+k>>0]|0)+(d[da+aa>>0]|0)|0;s=ea<<6;da=da+s|0;_=(d[da+fa>>0]|0)+(d[da>>0]|0)+(d[da+k>>0]|0)+(d[da+aa>>0]|0)|0;da=da+s|0;$=(d[da+fa>>0]|0)+(d[da>>0]|0)+(d[da+k>>0]|0)+(d[da+aa>>0]|0)|0;s=da+s|0;aa=(d[s+fa>>0]|0)+(d[s>>0]|0)+(d[s+k>>0]|0)+(d[s+aa>>0]|0)|0;s=_+F|0;c[ha>>2]=$+s+(c[ha>>2]|0)+aa;k=ha+16|0;c[k>>2]=s-$-aa+(c[k>>2]|0);k=q+1|0;s=1}else{k=q;F=0;_=0;$=0;aa=0;s=0}do if((ea+-1|0)!=(g|0)?(c[b+412>>2]|0)!=0:0){m=m+16|0;i=ea<<4;l=ea<<5;p=ea*48|0;b=(d[m+i>>0]|0)+(d[m>>0]|0)+(d[m+l>>0]|0)+(d[m+p>>0]|0)|0;h=ea<<6;m=m+h|0;n=(d[m+i>>0]|0)+(d[m>>0]|0)+(d[m+l>>0]|0)+(d[m+p>>0]|0)|0;m=m+h|0;o=(d[m+i>>0]|0)+(d[m>>0]|0)+(d[m+l>>0]|0)+(d[m+p>>0]|0)|0;h=m+h|0;p=(d[h+i>>0]|0)+(d[h>>0]|0)+(d[h+l>>0]|0)+(d[h+p>>0]|0)|0;k=k+1|0;h=s+1|0;l=n+b|0;c[ha>>2]=o+l+(c[ha>>2]|0)+p;i=ha+16|0;l=l-o-p+(c[i>>2]|0)|0;c[i>>2]=l;m=(q|0)==0;j=(s|0)!=0;if(!(m&j)){if(!m){l=1;m=ha+4|0;i=h;p=21;break}}else c[ha+4>>2]=$+aa+_+F-b-n-o-p>>5;o=l;b=1;m=(t|0)!=0;l=(u|0)!=0;p=27}else p=17;while(0);if((p|0)==17){j=(s|0)!=0;if(!q){b=0;n=k;h=s;p=23}else{l=0;m=ha+4|0;i=s;p=21}}if((p|0)==21){c[m>>2]=c[m>>2]>>q+3;b=l;n=k;h=i;p=23}do if((p|0)==23){k=(h|0)==0;m=(t|0)!=0;l=(u|0)!=0;if(l&(m&k)){c[ha+16>>2]=z+A+y+x-E-D-C-B>>5;k=n;fa=j;m=1;da=1;break}i=ha+16|0;if(k){k=n;fa=j;da=l}else{o=c[i>>2]|0;k=n;p=27}}while(0);if((p|0)==27){c[i>>2]=o>>h+3;fa=j;da=l}switch(k|0){case 1:{i=c[ha>>2]>>4;break}case 2:{i=c[ha>>2]>>5;break}case 3:{i=(c[ha>>2]|0)*21>>10;break}default:i=c[ha>>2]>>6}c[ha>>2]=i;ba=ha+4|0;j=c[ba>>2]|0;ca=ha+16|0;k=c[ca>>2]|0;if(!(k|j)){c[ha+60>>2]=i;c[ha+56>>2]=i;c[ha+52>>2]=i;c[ha+48>>2]=i;c[ha+44>>2]=i;c[ha+40>>2]=i;c[ha+36>>2]=i;c[ha+32>>2]=i;c[ha+28>>2]=i;c[ha+24>>2]=i;c[ha+20>>2]=i;c[ca>>2]=i;c[ha+12>>2]=i;c[ha+8>>2]=i;c[ba>>2]=i}else{V=i+j|0;X=j>>1;W=i+X|0;X=i-X|0;Z=i-j|0;c[ha>>2]=V+k;Y=k>>1;c[ca>>2]=V+Y;c[ha+32>>2]=V-Y;c[ha+48>>2]=V-k;c[ba>>2]=W+k;c[ha+20>>2]=W+Y;c[ha+36>>2]=W-Y;c[ha+52>>2]=W-k;c[ha+8>>2]=X+k;c[ha+24>>2]=X+Y;c[ha+40>>2]=X-Y;c[ha+56>>2]=X-k;c[ha+12>>2]=Z+k;c[ha+28>>2]=Z+Y;c[ha+44>>2]=Z-Y;c[ha+60>>2]=Z-k}j=0;i=ga;l=ha;while(1){k=c[l+((j>>>2&3)<<2)>>2]|0;k=(k|0)<255?k:255;a[i>>0]=(k|0)>0?k:0;k=j+1|0;if((k|0)==256)break;else{j=k;i=i+1|0;l=(k&63|0)==0?l+16|0:l}}v=r(v,ea)|0;W=ea<<3;V=0-W|0;X=ea<<6;Y=ea<<4;P=ha+60|0;Q=ha+56|0;R=ha+52|0;S=ha+48|0;T=ha+44|0;U=ha+40|0;I=ha+36|0;J=ha+32|0;K=ha+28|0;L=ha+24|0;M=ha+20|0;N=ha+12|0;O=ha+8|0;H=ga+256|0;Z=v<<6;u=x;t=y;s=z;j=A;q=B;p=C;n=D;l=E;G=0;o=F;h=_;i=$;k=aa;F=(c[e>>2]|0)+(v<<8)+(r(f<<6,ea)|0)+(g<<3)|0;while(1){je(ha,0,64);if(m){u=F+V|0;j=u+1|0;t=j+1|0;u=(d[j>>0]|0)+(d[u>>0]|0)|0;j=t+1|0;s=j+1|0;t=(d[j>>0]|0)+(d[t>>0]|0)|0;j=s+1|0;A=j+1|0;s=(d[j>>0]|0)+(d[s>>0]|0)|0;A=(d[A+1>>0]|0)+(d[A>>0]|0)|0;j=t+u|0;c[ha>>2]=s+j+(c[ha>>2]|0)+A;c[ba>>2]=j-s-A+(c[ba>>2]|0);j=1}else{A=j;j=0}if(da){B=F+X|0;q=B+1|0;C=q+1|0;B=(d[q>>0]|0)+(d[B>>0]|0)|0;q=C+1|0;D=q+1|0;C=(d[q>>0]|0)+(d[C>>0]|0)|0;q=D+1|0;E=q+1|0;D=(d[q>>0]|0)+(d[D>>0]|0)|0;E=(d[E+1>>0]|0)+(d[E>>0]|0)|0;q=C+B|0;c[ha>>2]=D+q+(c[ha>>2]|0)+E;c[ba>>2]=q-D-E+(c[ba>>2]|0);q=j+1|0}else{B=q;C=p;D=n;E=l;q=j}if(fa){z=F+-1|0;v=(d[z+W>>0]|0)+(d[z>>0]|0)|0;z=z+Y|0;x=(d[z+W>>0]|0)+(d[z>>0]|0)|0;z=z+Y|0;y=(d[z+W>>0]|0)+(d[z>>0]|0)|0;z=z+Y|0;z=(d[z+W>>0]|0)+(d[z>>0]|0)|0;j=x+v|0;c[ha>>2]=y+j+(c[ha>>2]|0)+z;c[ca>>2]=j-y-z+(c[ca>>2]|0);j=q+1|0;i=1}else{j=q;v=o;x=h;y=i;z=k;i=0}do if(b){p=F+8|0;h=(d[p+W>>0]|0)+(d[p>>0]|0)|0;p=p+Y|0;n=(d[p+W>>0]|0)+(d[p>>0]|0)|0;p=p+Y|0;o=(d[p+W>>0]|0)+(d[p>>0]|0)|0;p=p+Y|0;p=(d[p+W>>0]|0)+(d[p>>0]|0)|0;j=j+1|0;i=i+1|0;k=n+h|0;c[ha>>2]=o+k+(c[ha>>2]|0)+p;k=k-o-p+(c[ca>>2]|0)|0;c[ca>>2]=k;l=(q|0)==0;if(!(fa&l))if(l){p=55;break}else{p=50;break}else{c[ba>>2]=y+z+x+v-h-n-o-p>>4;p=55;break}}else if(!q)p=51;else p=50;while(0);if((p|0)==50){c[ba>>2]=c[ba>>2]>>q+2;p=51}do if((p|0)==51){p=0;k=(i|0)==0;if(da&(m&k)){k=s+A+t+u-E-D-C-B>>4;p=56;break}if(!k){k=c[ca>>2]|0;p=55}}while(0);if((p|0)==55){k=k>>i+2;p=56}if((p|0)==56)c[ca>>2]=k;switch(j|0){case 1:{i=c[ha>>2]>>3;break}case 2:{i=c[ha>>2]>>4;break}case 3:{i=(c[ha>>2]|0)*21>>9;break}default:i=c[ha>>2]>>5}c[ha>>2]=i;j=c[ba>>2]|0;k=c[ca>>2]|0;if(!(k|j)){c[P>>2]=i;c[Q>>2]=i;c[R>>2]=i;c[S>>2]=i;c[T>>2]=i;c[U>>2]=i;c[I>>2]=i;c[J>>2]=i;c[K>>2]=i;c[L>>2]=i;c[M>>2]=i;c[ca>>2]=i;c[N>>2]=i;c[O>>2]=i;c[ba>>2]=i}else{$=i+j|0;ea=j>>1;aa=i+ea|0;ea=i-ea|0;f=i-j|0;c[ha>>2]=$+k;g=k>>1;c[ca>>2]=$+g;c[J>>2]=$-g;c[S>>2]=$-k;c[ba>>2]=aa+k;c[M>>2]=aa+g;c[I>>2]=aa-g;c[R>>2]=aa-k;c[O>>2]=ea+k;c[L>>2]=ea+g;c[U>>2]=ea-g;c[Q>>2]=ea-k;c[N>>2]=f+k;c[K>>2]=f+g;c[T>>2]=f-g;c[P>>2]=f-k}j=0;i=H+(G<<6)|0;l=ha;while(1){k=c[l+((j>>>1&3)<<2)>>2]|0;k=(k|0)<255?k:255;a[i>>0]=(k|0)>0?k:0;k=j+1|0;if((k|0)==64)break;else{j=k;i=i+1|0;l=(k&15|0)==0?l+16|0:l}}G=G+1|0;if((G|0)==2)break;else{j=A;q=B;p=C;n=D;l=E;o=v;h=x;i=y;k=z;F=F+Z|0}}De(e,ga);cc=ia;return}function ag(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a:do if(!(c[d+284>>2]|0))n=0;else{g=0;b:while(1){f=c[d+288+(g*20|0)>>2]|0;switch(f|0){case 5:{n=1;break a}case 0:break b;default:{}}g=g+1|0}n=f}while(0);switch(c[b+16>>2]|0){case 0:{if((c[e>>2]|0)!=5){g=c[a>>2]|0;f=c[d+20>>2]|0;if(g>>>0>f>>>0?(h=c[b+20>>2]|0,(g-f|0)>>>0>=h>>>1>>>0):0){k=f;j=(c[a+4>>2]|0)+h|0;i=a}else{i=a;l=12}}else{c[a+4>>2]=0;c[a>>2]=0;f=c[d+20>>2]|0;g=0;i=a;l=12}do if((l|0)==12){if(f>>>0>g>>>0?(j=c[b+20>>2]|0,(f-g|0)>>>0>j>>>1>>>0):0){k=f;j=(c[a+4>>2]|0)-j|0;break}k=f;j=c[a+4>>2]|0}while(0);if(!(c[e+4>>2]|0)){d=c[d+24>>2]|0;d=j+k+((d|0)<0?d:0)|0;return d|0}h=a+4|0;c[h>>2]=j;f=c[d+24>>2]|0;g=(f|0)<0;if(!n){c[i>>2]=k;d=j+k+(g?f:0)|0;return d|0}else{c[h>>2]=0;c[i>>2]=g?0-f|0:0;d=0;return d|0}}case 1:{if((c[e>>2]|0)!=5){f=c[a+12>>2]|0;if((c[a+8>>2]|0)>>>0>(c[d+12>>2]|0)>>>0)f=(c[b+12>>2]|0)+f|0}else f=0;l=c[b+36>>2]|0;h=(l|0)==0;if(h)g=0;else g=(c[d+12>>2]|0)+f|0;m=(c[e+4>>2]|0)==0;g=g+(((g|0)!=0&m)<<31>>31)|0;k=(g|0)!=0;g=g+-1|0;if(k){j=(g>>>0)/(l>>>0)|0;e=g-(r(j,l)|0)|0}else{e=0;j=0}if(h)g=0;else{h=c[b+40>>2]|0;g=0;i=0;do{g=(c[h+(i<<2)>>2]|0)+g|0;i=i+1|0}while((i|0)!=(l|0))}if(k){g=r(g,j)|0;h=c[b+40>>2]|0;i=0;do{g=(c[h+(i<<2)>>2]|0)+g|0;i=i+1|0}while(i>>>0<=e>>>0)}else g=0;if(m)i=(c[b+28>>2]|0)+g|0;else i=g;g=(c[d+32>>2]|0)+(c[b+32>>2]|0)|0;h=a+12|0;if(!n){n=((g|0)<0?g:0)+i+(c[d+28>>2]|0)|0;c[h>>2]=f;c[a+8>>2]=c[d+12>>2];d=n;return d|0}else{c[h>>2]=0;c[a+8>>2]=0;d=0;return d|0}}default:{if((c[e>>2]|0)==5){i=0;g=0;f=a+12|0}else{h=c[d+12>>2]|0;f=a+12|0;g=c[f>>2]|0;if((c[a+8>>2]|0)>>>0>h>>>0)g=(c[b+12>>2]|0)+g|0;i=g;g=(h+g<<1)+(((c[e+4>>2]|0)==0)<<31>>31)|0}if(!n){c[f>>2]=i;c[a+8>>2]=c[d+12>>2];d=g;return d|0}else{c[f>>2]=0;c[a+8>>2]=0;d=0;return d|0}}}return 0}function bg(a,b){a=a|0;b=b|0;var d=0;vf(a);d=me(2112,1)|0;c[a+3376>>2]=d;if(!d){d=1;return d|0}if(!b){d=0;return d|0}c[a+1216>>2]=1;d=0;return d|0}function cg(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=cc;cc=cc+208|0;if((cc|0)>=(dc|0))w(208);k=s+204|0;q=s;j=s+112|0;i=s+40|0;r=s+16|0;h=s+12|0;n=s+8|0;c[h>>2]=0;o=a+3344|0;if((c[o>>2]|0)!=0?(c[a+3348>>2]|0)==(b|0):0){l=a+3356|0;c[r>>2]=c[l>>2];c[r+4>>2]=c[l+4>>2];c[r+8>>2]=c[l+8>>2];c[r+12>>2]=c[l+12>>2];c[r+4>>2]=c[r>>2];c[r+8>>2]=0;c[r+16>>2]=0;c[f>>2]=c[a+3352>>2]}else p=4;do if((p|0)==4)if(!(he(b,d,r,f)|0)){l=a+3356|0;c[l>>2]=c[r>>2];c[l+4>>2]=c[r+4>>2];c[l+8>>2]=c[r+8>>2];c[l+12>>2]=c[r+12>>2];c[l+16>>2]=c[r+16>>2];c[a+3352>>2]=c[f>>2];c[a+3348>>2]=b;break}else{a=3;cc=s;return a|0}while(0);c[o>>2]=0;if(tf(r,q)|0){a=3;cc=s;return a|0}if(((c[q>>2]|0)+-1|0)>>>0>11){a=0;cc=s;return a|0}b=Hf(r,q,a,h)|0;a:do if((b|0)<65520){switch(b|0){case 0:break;default:break a}do if(!(c[h>>2]|0))p=19;else{if(c[a+1184>>2]|0?(g=a+16|0,c[g>>2]|0):0){if(c[a+3380>>2]|0){a=3;cc=s;return a|0}d=a+1188|0;if(!(c[d>>2]|0)){r=a+1220|0;b=a+1336|0;c[b>>2]=Of(r)|0;Qf(r);_f(a,b,0)|0}else{b=a+1336|0;_f(a,b,c[a+1372>>2]|0)|0}c[f>>2]=0;c[o>>2]=1;c[a+1180>>2]=0;h=b;b=a+1360|0;break}c[a+1188>>2]=0;c[a+1180>>2]=0;p=19}while(0);b:do if((p|0)==19)switch(c[q>>2]|0){case 7:if(!(ie(r,j)|0)){wf(a,j)|0;a=0;cc=s;return a|0}else{a=j+40|0;xf(c[a>>2]|0);c[a>>2]=0;a=j+84|0;xf(c[a>>2]|0);c[a>>2]=0;a=3;cc=s;return a|0}case 8:if(!(re(r,i)|0)){yf(a,i)|0;a=0;cc=s;return a|0}else{a=i+20|0;xf(c[a>>2]|0);c[a>>2]=0;a=i+24|0;xf(c[a>>2]|0);c[a>>2]=0;a=i+28|0;xf(c[a>>2]|0);c[a>>2]=0;a=i+44|0;xf(c[a>>2]|0);c[a>>2]=0;a=3;cc=s;return a|0}case 1:case 5:{l=a+1180|0;if(c[l>>2]|0){a=0;cc=s;return a|0}c[a+1184>>2]=1;if(Df(a)|0){c[a+1204>>2]=0;c[a+1208>>2]=e;te(r,k)|0;d=a+8|0;g=c[d>>2]|0;b=zf(a,c[k>>2]|0,(c[q>>2]|0)==5&1)|0;if(b|0){c[a+4>>2]=256;c[a+12>>2]=0;c[d>>2]=32;c[a+16>>2]=0;c[a+3380>>2]=0;a=(b|0)==65535?5:4;cc=s;return a|0}if((g|0)!=(c[d>>2]|0)){g=c[a+16>>2]|0;c[n>>2]=1;b=c[a>>2]|0;if(b>>>0<32)b=c[a+20+(b<<2)>>2]|0;else b=0;c[f>>2]=0;c[o>>2]=1;do if(((((c[q>>2]|0)==5?(r=ze(n,r,g,c[a+12>>2]|0,5)|0,(c[n>>2]|r|0)==0):0)?(m=a+1220|0,!((b|0)==0|(c[a+1276>>2]|0)!=0)):0)?(c[b+52>>2]|0)==(c[g+52>>2]|0):0)?(c[b+56>>2]|0)==(c[g+56>>2]|0):0){if((c[b+88>>2]|0)!=(c[g+88>>2]|0)){p=39;break}Tf(m)}else p=39;while(0);if((p|0)==39)c[a+1280>>2]=0;c[a>>2]=c[d>>2];a=2;cc=s;return a|0}}if(c[a+3380>>2]|0){a=3;cc=s;return a|0}j=a+1368|0;g=a+2356|0;h=a+16|0;if(se(r,g,c[h>>2]|0,c[a+12>>2]|0,q)|0){a=3;cc=s;return a|0}if(!(Df(a)|0))b=a+1220|0;else{b=a+1220|0;if((c[q>>2]|0)!=5?Rf(b,c[a+2368>>2]|0,(c[q+4>>2]|0)!=0&1,c[(c[h>>2]|0)+48>>2]|0)|0:0){a=3;cc=s;return a|0}c[a+1336>>2]=Of(b)|0}pj(j|0,g|0,988)|0;d=a+1188|0;c[d>>2]=1;i=a+1360|0;f=q;p=c[f+4>>2]|0;q=i;c[q>>2]=c[f>>2];c[q+4>>2]=p;Ff(a,c[a+1432>>2]|0);Qf(b);if(Jf(b,a+1436|0,c[a+1380>>2]|0,c[a+1412>>2]|0)|0){a=3;cc=s;return a|0}b=a+1336|0;if(Ae(r,a,b,j)|0){rf(a,c[j>>2]|0);a=3;cc=s;return a|0}if(!(Ef(a)|0)){a=0;cc=s;return a|0}else{c[l>>2]=1;g=h;h=b;b=i;break b}}default:{a=0;cc=s;return a|0}}while(0);Uf(h,c[a+1212>>2]|0);Cf(a);g=ag(a+1284|0,c[g>>2]|0,a+1368|0,b)|0;do if(c[d>>2]|0){b=a+1220|0;if(!(c[a+1364>>2]|0)){Kf(b,0,h,c[a+1380>>2]|0,g,(c[a+1360>>2]|0)==5&1,c[a+1208>>2]|0,c[a+1204>>2]|0)|0;break}else{Kf(b,a+1644|0,h,c[a+1380>>2]|0,g,(c[a+1360>>2]|0)==5&1,c[a+1208>>2]|0,c[a+1204>>2]|0)|0;break}}while(0);c[a+1184>>2]=0;c[d>>2]=0;a=1;cc=s;return a|0}else{switch(b|0){case 65520:{b=4;break}default:break a}cc=s;return b|0}while(0);a=3;cc=s;return a|0}function dg(a){a=a|0;var b=0,d=0,e=0;e=0;do{d=a+20+(e<<2)|0;b=c[d>>2]|0;if(b|0){xf(c[b+40>>2]|0);c[(c[d>>2]|0)+40>>2]=0;xf(c[(c[d>>2]|0)+84>>2]|0);c[(c[d>>2]|0)+84>>2]=0;xf(c[d>>2]|0);c[d>>2]=0}e=e+1|0}while((e|0)!=32);e=0;do{d=a+148+(e<<2)|0;b=c[d>>2]|0;if(b|0){xf(c[b+20>>2]|0);c[(c[d>>2]|0)+20>>2]=0;xf(c[(c[d>>2]|0)+24>>2]|0);c[(c[d>>2]|0)+24>>2]=0;xf(c[(c[d>>2]|0)+28>>2]|0);c[(c[d>>2]|0)+28>>2]=0;xf(c[(c[d>>2]|0)+44>>2]|0);c[(c[d>>2]|0)+44>>2]=0;xf(c[d>>2]|0);c[d>>2]=0}e=e+1|0}while((e|0)!=256);e=a+3376|0;xf(c[e>>2]|0);c[e>>2]=0;e=a+1212|0;xf(c[e>>2]|0);c[e>>2]=0;e=a+1172|0;xf(c[e>>2]|0);c[e>>2]=0;Pf(a+1220|0);return}function eg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=Sf(a+1220|0)|0;if(!a){b=0;return b|0}c[b>>2]=c[a+4>>2];c[d>>2]=c[a+12>>2];c[e>>2]=c[a+8>>2];b=c[a>>2]|0;return b|0}function fg(a){a=a|0;a=c[a+16>>2]|0;if(!a){a=0;return a|0}a=c[a+52>>2]|0;return a|0}function gg(a){a=a|0;a=c[a+16>>2]|0;if(!a){a=0;return a|0}a=c[a+56>>2]|0;return a|0}function hg(a){a=a|0;Tf(a+1220|0);return}function ig(a){a=a|0;return (If(a)|0)==0|0}function jg(a){a=a|0;var b=0;a=c[a+16>>2]|0;if((((a|0?c[a+80>>2]|0:0)?(b=c[a+84>>2]|0,b|0):0)?c[b+24>>2]|0:0)?c[b+32>>2]|0:0){b=1;return b|0}b=0;return b|0}function kg(a){a=a|0;a=c[a+16>>2]|0;if(!a){a=2;return a|0}if(!(c[a+80>>2]|0)){a=2;return a|0}a=c[a+84>>2]|0;if(!a){a=2;return a|0}if(!(c[a+24>>2]|0)){a=2;return a|0}if(!(c[a+36>>2]|0)){a=2;return a|0}a=c[a+48>>2]|0;return a|0}function lg(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a=c[a+16>>2]|0;if(a|0?c[a+60>>2]|0:0){c[b>>2]=1;b=a+64|0;c[d>>2]=c[b>>2]<<1;c[e>>2]=(c[a+52>>2]<<4)-((c[a+68>>2]|0)+(c[b>>2]|0)<<1);e=a+72|0;c[f>>2]=c[e>>2]<<1;e=(c[a+56>>2]<<4)-((c[a+76>>2]|0)+(c[e>>2]|0)<<1)|0;c[g>>2]=e;return}c[b>>2]=0;c[d>>2]=0;c[e>>2]=0;c[f>>2]=0;e=0;c[g>>2]=e;return}function mg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;a=c[a+16>>2]|0;a:do if((((a|0)!=0?(c[a+80>>2]|0)!=0:0)?(e=c[a+84>>2]|0,(e|0)!=0):0)?(c[e>>2]|0)!=0:0)do switch(c[e+4>>2]|0){case 255:{f=c[e+8>>2]|0;a=c[e+12>>2]|0;e=(f|0)==0|(a|0)==0;a=e?0:a;e=e?0:f;break a}case 1:{a=1;e=1;break a}case 2:{a=11;e=12;break a}case 3:{a=11;e=10;break a}case 4:{a=11;e=16;break a}case 5:{a=33;e=40;break a}case 6:{a=11;e=24;break a}case 7:{a=11;e=20;break a}case 8:{a=11;e=32;break a}case 9:{a=33;e=80;break a}case 10:{a=11;e=18;break a}case 11:{a=11;e=15;break a}case 12:{a=33;e=64;break a}case 13:{a=99;e=160;break a}default:{a=0;e=0;break a}}while(0);else{a=1;e=1}while(0);c[b>>2]=e;c[d>>2]=a;return}function ng(a){a=a|0;a=c[a+16>>2]|0;if(!a){a=0;return a|0}a=c[a>>2]|0;return a|0}function og(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){e=-1;return e|0}d=Jh(3396)|0;if(!d){e=-4;return e|0}e=d+8|0;if(!(bg(e,b)|0)){c[d>>2]=1;c[d+4>>2]=0;c[a>>2]=d;e=0;return e|0}else{dg(e);Kh(d);e=-4;return e|0}return 0}function pg(a){a=a|0;if(!a)return;dg(a+8|0);Kh(a);return}function qg(a,b){a=a|0;b=b|0;var d=0;if((a|0)==0|(b|0)==0){d=-1;return d|0}d=a+8|0;if(!(c[a+24>>2]|0)){d=-6;return d|0}if(!(c[a+20>>2]|0)){d=-6;return d|0}c[b+4>>2]=(fg(d)|0)<<4;c[b+8>>2]=(gg(d)|0)<<4;c[b+12>>2]=jg(d)|0;c[b+16>>2]=kg(d)|0;lg(d,b+28|0,b+32|0,b+36|0,b+40|0,b+44|0);mg(d,b+20|0,b+24|0);c[b>>2]=ng(d)|0;d=0;return d|0}function rg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);j=l;a:do if((!((b|0)==0|(d|0)==0)?(e=c[b>>2]|0,(e|0)!=0):0)?(g=c[b+4>>2]|0,(g|0)!=0):0)if((a|0)!=0?(f=c[a>>2]|0,(f|0)!=0):0){c[d>>2]=0;c[j>>2]=0;i=a+8|0;c[a+3392>>2]=c[b+12>>2];h=b+8|0;b:do if((f|0)==2){b=e;k=8}else{b=1;c:while(1){m=cg(i,e,g,c[h>>2]|0,j)|0;f=c[j>>2]|0;e=e+f|0;f=g-f|0;g=(f|0)>0?f:0;c[d>>2]=e;switch(m|0){case 5:{b=-4;break a}case 2:break b;case 1:break c;case 4:{m=(ig(i)|0|g|0)==0;b=m?-2:b;break}default:{}}if((f|0)<1)break a;if((c[a>>2]|0)==2){b=e;k=8;break b}}b=a+4|0;c[b>>2]=(c[b>>2]|0)+1;b=(f|0)<1?2:3;break a}while(0);if((k|0)==8){c[a>>2]=1;c[d>>2]=b+(c[j>>2]|0)}b=a+1288|0;if((c[b>>2]|0)!=0?(c[a+1244>>2]|0)!=(c[a+1248>>2]|0):0){c[b>>2]=0;c[a>>2]=2;b=3}else b=4}else b=-3;else b=-1;while(0);cc=l;return b|0}function sg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);f=h+8|0;e=h+4|0;g=h;if((a|0)==0|(b|0)==0){g=-1;cc=h;return g|0}a=a+8|0;if(d|0)hg(a);a=eg(a,g,e,f)|0;if(!a){g=0;cc=h;return g|0}c[b>>2]=a;c[b+4>>2]=c[g>>2];c[b+8>>2]=c[e>>2];c[b+12>>2]=c[f>>2];g=2;cc=h;return g|0}function tg(a,d){a=a|0;d=d|0;c[a>>2]=d;b[a+4>>1]=0;b[a+6>>1]=8;return}function ug(a,b){a=a|0;b=b|0;return (e[a+6>>1]|0)+8-(e[b+6>>1]|0)+((c[b>>2]|0)-((c[a>>2]|0)+1)<<3)|0}function vg(a){a=a|0;var d=0;d=c[a>>2]|0;return ((b[a+6>>1]|0)==8?d:d+1|0)|0}function wg(a,f){a=a|0;f=f|0;var g=0,h=0,i=0;g=(c[a>>2]|0)+(f>>>3)|0;c[a>>2]=g;i=a+6|0;h=(e[i>>1]|0)-(f&7)|0;f=h&65535;b[i>>1]=f;if((h&65535)>>>0>8){g=g+1|0;c[a>>2]=g;f=h+8&65535;b[i>>1]=f}if((f&65535)>=8)return;b[a+4>>1]=d[g>>0]|0;return}function xg(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;l=e+6|0;g=b[l>>1]|0;if(g<<16>>16==8){h=d[c[e>>2]>>0]|0;k=e+4|0;b[k>>1]=h}else{k=e+4|0;h=b[k>>1]|0}j=g&65535;g=(1<>>0<=f>>>0){h=f-j|0;i=(c[e>>2]|0)+1|0;c[e>>2]=i;b[l>>1]=8;if(h>>>0>7){j=f-j|0;do{f=i;i=i+1|0;c[e>>2]=i;g=g<<8|(d[f>>0]|0);h=h+-8|0}while(h>>>0>7);h=j&7}if(!h){l=g;return l|0}else{e=a[i>>0]|0;b[k>>1]=e&255;k=8-h|0;g=(e&255)>>>k|g<>>h}while(0);b[l>>1]=h;l=g;return l|0}function yg(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;h=h&65535;if(g>>>0>31){q=f+6|0;p=f+4|0;n=b[q>>1]|0;o=g;while(1){if(n<<16>>16!=8){j=n&65535;i=(1<>1]|0);if((n&65535)>32){r=j+-32|0;j=r&65535;i=i>>>r;r=13}else r=7}else{i=a[c[f>>2]>>0]|0;b[p>>1]=i&255;i=(1<<(n&65535))+255&(i&255);j=8;r=7}if((r|0)==7){r=0;k=32-j|0;m=c[f>>2]|0;l=m+1|0;c[f>>2]=l;b[q>>1]=8;if(k>>>0>7){j=(24-j|0)>>>3;do{s=l;l=l+1|0;c[f>>2]=l;i=i<<8|(d[s>>0]|0);k=k+-8|0}while(k>>>0>7);j=m+2+j|0;k=0-n&7}else j=l;if(!k)j=8;else{s=a[j>>0]|0;b[p>>1]=s&255;r=8-k|0;j=r&65535;i=(s&255)>>>r|i<>1]=j}s=h<<8^(e[47102+((i>>>24^h>>>8&255)<<1)>>1]|0);s=s<<8^(e[47102+(((s>>>8^i>>>16)&255)<<1)>>1]|0);s=s<<8^(e[47102+(((s^i)>>>8&255)<<1)>>1]|0);h=s<<8^(e[47102+(((s>>>8^i)&255)<<1)>>1]|0);o=o+-32|0;if(o>>>0<=31)break;else n=j}g=g&31}switch(g>>>3&536870911|0){case 3:{q=h<<8;p=h>>>8;o=f+6|0;n=b[o>>1]|0;if(n<<16>>16!=8){i=f+4|0;j=n&65535;h=(1<>1]|0);if((n&65535)>8){r=j+-8|0;i=r&65535;h=h>>>r;r=29}else r=23}else{h=a[c[f>>2]>>0]|0;i=f+4|0;b[i>>1]=h&255;h=(1<<(n&65535))+255&(h&255);j=8;r=23}if((r|0)==23){k=8-j|0;l=c[f>>2]|0;j=l+1|0;c[f>>2]=j;b[o>>1]=8;if(k>>>0>7){m=((k+-8|0)>>>3)+2|0;do{s=j;j=j+1|0;c[f>>2]=j;h=h<<8|(d[s>>0]|0);k=k+-8|0}while(k>>>0>7);j=l+m|0;k=0-n&7}if(!k)i=8;else{s=a[j>>0]|0;b[i>>1]=s&255;r=8-k|0;i=r&65535;h=(s&255)>>>r|h<>1]=i;h=q^(e[47102+(((h^p)&255)<<1)>>1]|0);r=31;break}case 2:{o=f+6|0;i=b[o>>1]|0;r=31;break}case 1:{o=f+6|0;i=b[o>>1]|0;r=43;break}default:{}}if((r|0)==31){q=h<<8;p=h>>>8;if(i<<16>>16!=8){j=f+4|0;k=i&65535;h=(1<>1]|0);if((i&65535)>8){r=k+-8|0;i=r&65535;h=h>>>r;r=41}else r=35}else{h=a[c[f>>2]>>0]|0;j=f+4|0;b[j>>1]=h&255;h=(1<<(i&65535))+255&(h&255);k=8;r=35}if((r|0)==35){l=8-k|0;m=c[f>>2]|0;k=m+1|0;c[f>>2]=k;b[o>>1]=8;if(l>>>0>7){n=((l+-8|0)>>>3)+2|0;do{s=k;k=k+1|0;c[f>>2]=k;h=h<<8|(d[s>>0]|0);l=l+-8|0}while(l>>>0>7);k=m+n|0;l=0-i&7}if(!l)i=8;else{s=a[k>>0]|0;b[j>>1]=s&255;r=8-l|0;i=r&65535;h=(s&255)>>>r|h<>1]=i;h=q^(e[47102+(((h^p)&255)<<1)>>1]|0);r=43}if((r|0)==43){q=h<<8;p=h>>>8;if(i<<16>>16!=8){j=f+4|0;k=i&65535;h=(1<>1]|0);if((i&65535)>8){i=k+-8|0;h=h>>>i;r=53}else r=47}else{h=a[c[f>>2]>>0]|0;j=f+4|0;b[j>>1]=h&255;h=(1<<(i&65535))+255&(h&255);k=8;r=47}if((r|0)==47){l=8-k|0;m=c[f>>2]|0;k=m+1|0;c[f>>2]=k;b[o>>1]=8;if(l>>>0>7){n=((l+-8|0)>>>3)+2|0;do{s=k;k=k+1|0;c[f>>2]=k;h=h<<8|(d[s>>0]|0);l=l+-8|0}while(l>>>0>7);k=m+n|0;i=0-i&7}else i=l;if(i){s=a[k>>0]|0;b[j>>1]=s&255;r=8-i|0;h=(s&255)>>>r|h<>1]=i;h=q^(e[47102+(((h^p)&255)<<1)>>1]|0);g=g&7}if(!g){s=h;s=s&65535;return s|0}q=f+6|0;p=f+4|0;n=b[q>>1]|0;o=g;while(1){o=o+-1|0;if(n<<16>>16!=8){g=n&65535;i=(1<>1]|0);if((n&65535)<=1){k=1-g|0;m=c[f>>2]|0;j=m+1|0;c[f>>2]=j;b[q>>1]=8;if(k>>>0>7){l=(-7-g|0)>>>3;g=i;do{s=j;j=j+1|0;c[f>>2]=j;g=g<<8|(d[s>>0]|0);k=k+-8|0}while(k>>>0>7);j=m+2+l|0;k=1-n&7}else g=i;if(!k)i=8;else{s=a[j>>0]|0;b[p>>1]=s&255;r=8-k|0;j=r&65535;g=(s&255)>>>r|g<>2]>>0]|0;b[p>>1]=i&255;i=(1<<(n&65535))+255&(i&255);g=8;r=60}if((r|0)==60){g=g+-1|0;j=g&65535;g=i>>>g;r=67}if((r|0)==67){r=0;b[q>>1]=j;i=j}s=h<<1;h=((g^h>>>15)&1|0)==0?s:s^32773;if(!o)break;else n=i}s=h&65535;return s|0}function zg(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;tg(a+28|0,0);tg(a+36|0,0);a=a+44|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;return}function Ag(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+36|0;d=a;e=d+36|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));f=55188;d=c[f+4>>2]|0;e=b;c[e>>2]=c[f>>2];c[e+4>>2]=d;c[a+44>>2]=0;c[a+9264>>2]=0;Sg(a);return}function Bg(a){a=a|0;Rg(a);a=a+4096|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Cg(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=(c[d+4>>2]|0)==0?1:2;switch(c[d>>2]|0){case 1:{e=12;break}case 3:{e=(c[d+28>>2]&4096|0)==0?36:18;f=3;break}default:{e=36;f=3}}f=c[d+20>>2]|0;h=a+4100|0;c[h>>2]=f;b[a+4104>>1]=i;g=a+4106|0;b[g>>1]=e<<5;if(!(c[d+44>>2]&2))f=4;else{c[h>>2]=f>>>1;b[g>>1]=e<<4&32752;f=5}oc[f&7](a,d,i,e);a=a+4096|0;c[a>>2]=(c[a>>2]|0)+e&15;return}function Dg(a){a=a|0;var b=0;b=a+9264|0;a=c[b>>2]|0;if(!a)return;Kh(a);c[b>>2]=0;return}function Eg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=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,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;if(!d)return;x=a+4096|0;n=(e|0)==0;m=0;t=a+1504|0;u=a+1472|0;while(1){if(!n){f=a+4108+(m*4608|0)|0;w=c[x>>2]|0;y=0;while(1){A=w&1;o=a+(m<<11)+(A<<9)|0;Gg(b+48+(m*4608|0)+(y<<7)|0,w>>>1,o,a+(m<<11)+1024+(A<<9)|0);k=w&-2;v=w+15&14|1;l=A^1;q=5336+(v<<2)|0;B=5336+(k<<2)|0;H=r(c[B>>2]|0,c[o>>2]|0)|0;g=r(c[q>>2]|0,c[a+(m<<11)+(l<<9)>>2]|0)|0;i=r(c[q+56>>2]|0,c[a+(m<<11)+(l<<9)+4>>2]|0)|0;h=r(c[q+48>>2]|0,c[a+(m<<11)+(l<<9)+8>>2]|0)|0;p=r(c[q+40>>2]|0,c[a+(m<<11)+(l<<9)+12>>2]|0)|0;j=r(c[q+32>>2]|0,c[a+(m<<11)+(l<<9)+16>>2]|0)|0;z=r(c[q+24>>2]|0,c[a+(m<<11)+(l<<9)+20>>2]|0)|0;s=r(c[q+16>>2]|0,c[a+(m<<11)+(l<<9)+24>>2]|0)|0;q=r(c[q+8>>2]|0,c[a+(m<<11)+(l<<9)+28>>2]|0)|0;I=r(c[B+56>>2]|0,c[a+(m<<11)+(A<<9)+4>>2]|0)|0;G=r(c[B+48>>2]|0,c[a+(m<<11)+(A<<9)+8>>2]|0)|0;F=r(c[B+40>>2]|0,c[a+(m<<11)+(A<<9)+12>>2]|0)|0;E=r(c[B+32>>2]|0,c[a+(m<<11)+(A<<9)+16>>2]|0)|0;D=r(c[B+24>>2]|0,c[a+(m<<11)+(A<<9)+20>>2]|0)|0;C=r(c[B+16>>2]|0,c[a+(m<<11)+(A<<9)+24>>2]|0)|0;c[f>>2]=I+H+G+F+E+D+C+(r(c[B+8>>2]|0,c[a+(m<<11)+(A<<9)+28>>2]|0)|0)-(i+g+h+p+j+z+s+q)>>2;q=0-v|0;s=0-k|0;z=t+(l<<9)|0;j=5336;p=a+(m<<11)+1024+(l<<9)|0;h=f+4|0;g=f+60|0;i=1;while(1){f=o;o=o+32|0;if(!(i&1)){B=j+128+(v<<2)|0;A=p+4|0;J=p+8|0;K=p+12|0;L=p+16|0;M=p+20|0;N=p+24|0;O=p+28|0;W=j+128+(k<<2)|0;I=f+60|0;$=r(c[W+8>>2]|0,c[I>>2]|0)|0;U=r(c[B>>2]|0,c[p>>2]|0)|0;V=r(c[B+56>>2]|0,c[A>>2]|0)|0;T=r(c[B+48>>2]|0,c[J>>2]|0)|0;S=r(c[B+40>>2]|0,c[K>>2]|0)|0;R=r(c[B+32>>2]|0,c[L>>2]|0)|0;Q=r(c[B+24>>2]|0,c[M>>2]|0)|0;P=r(c[B+16>>2]|0,c[N>>2]|0)|0;B=r(c[B+8>>2]|0,c[O>>2]|0)|0;H=f+56|0;aa=r(c[W+16>>2]|0,c[H>>2]|0)|0;G=f+52|0;_=r(c[W+24>>2]|0,c[G>>2]|0)|0;F=f+48|0;Z=r(c[W+32>>2]|0,c[F>>2]|0)|0;E=f+44|0;Y=r(c[W+40>>2]|0,c[E>>2]|0)|0;D=f+40|0;X=r(c[W+48>>2]|0,c[D>>2]|0)|0;C=f+36|0;f=r(c[W+56>>2]|0,c[C>>2]|0)|0;c[h>>2]=aa+$+_+Z+Y+X+f+(r(c[W>>2]|0,c[o>>2]|0)|0)-(V+U+T+S+R+Q+P+B)>>2;B=j+128+(q<<2)|0;f=r(c[B+116>>2]|0,c[O>>2]|0)|0;f=(r(c[B+108>>2]|0,c[N>>2]|0)|0)+f|0;f=f+(r(c[B+100>>2]|0,c[M>>2]|0)|0)|0;f=f+(r(c[B+92>>2]|0,c[L>>2]|0)|0)|0;f=f+(r(c[B+84>>2]|0,c[K>>2]|0)|0)|0;f=f+(r(c[B+76>>2]|0,c[J>>2]|0)|0)|0;f=f+(r(c[B+68>>2]|0,c[A>>2]|0)|0)|0;B=f+(r(c[B+60>>2]|0,c[p>>2]|0)|0)|0;f=j+128+(s<<2)|0;B=B+(r(c[f+60>>2]|0,c[o>>2]|0)|0)|0;C=B+(r(c[f+68>>2]|0,c[C>>2]|0)|0)|0;D=C+(r(c[f+76>>2]|0,c[D>>2]|0)|0)|0;E=D+(r(c[f+84>>2]|0,c[E>>2]|0)|0)|0;F=E+(r(c[f+92>>2]|0,c[F>>2]|0)|0)|0;G=F+(r(c[f+100>>2]|0,c[G>>2]|0)|0)|0;H=G+(r(c[f+108>>2]|0,c[H>>2]|0)|0)|0;c[g>>2]=H+(r(c[f+116>>2]|0,c[I>>2]|0)|0)>>2;f=h+4|0;g=g+-4|0}else f=h;i=i+1|0;if((i|0)==16)break;else{j=j+128|0;p=p+32|0;h=f}}aa=7384+(v<<2)|0;$=r(c[aa>>2]|0,c[z>>2]|0)|0;$=$+(r(c[aa+56>>2]|0,c[u+(l<<9)+36>>2]|0)|0)|0;$=$+(r(c[aa+48>>2]|0,c[u+(l<<9)+40>>2]|0)|0)|0;$=$+(r(c[aa+40>>2]|0,c[u+(l<<9)+44>>2]|0)|0)|0;$=$+(r(c[aa+32>>2]|0,c[u+(l<<9)+48>>2]|0)|0)|0;$=$+(r(c[aa+24>>2]|0,c[u+(l<<9)+52>>2]|0)|0)|0;$=$+(r(c[aa+16>>2]|0,c[u+(l<<9)+56>>2]|0)|0)|0;c[f>>2]=0-($+(r(c[aa+8>>2]|0,c[u+(l<<9)+60>>2]|0)|0))>>2;y=y+1|0;if((y|0)==(e|0))break;else{f=f+32|0;w=w+1&15}}}m=m+1|0;if((m|0)==(d|0))break;else{t=t+2048|0;u=u+2048|0}}return} +function Ge(a,f,g,h,i,j){a=a|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;T=cc;cc=cc+32|0;if((cc|0)>=(dc|0))w(32);S=T;m=c[i+4>>2]|0;R=(h>>>0)/(m>>>0)|0;Q=R<<4;R=h-(r(R,m)|0)<<4;c[S+4>>2]=m;c[S+8>>2]=c[i+8>>2];m=c[a>>2]|0;a:do switch(m|0){case 1:case 0:{z=c[f+144>>2]|0;o=c[a+4>>2]|0;l=c[a+200>>2]|0;if((l|0)!=0?(c[l+4>>2]|0)==(o|0):0)if((c[l>>2]|0)>>>0<6){k=l+152|0;k=e[k>>1]|e[k+2>>1]<<16;p=1;x=k&65535;k=k>>>16&65535;s=c[l+104>>2]|0}else{p=1;x=0;k=0;s=-1}else{p=0;x=0;k=0;s=-1}l=c[a+204>>2]|0;if((l|0)!=0?(c[l+4>>2]|0)==(o|0):0)if((c[l>>2]|0)>>>0<6){u=l+172|0;u=e[u>>1]|e[u+2>>1]<<16;n=1;q=c[l+108>>2]|0;t=u&65535;u=u>>>16&65535}else{n=1;q=-1;t=0;u=0}else{n=0;q=-1;t=0;u=0}if(!m)if((!((p|0)==0|(n|0)==0)?((k&65535)<<16|x&65535|s|0)!=0:0)?((u&65535)<<16|t&65535|q|0)!=0:0)P=14;else{m=0;l=0}else P=14;if((P|0)==14){v=b[f+160>>1]|0;y=b[f+162>>1]|0;l=c[a+208>>2]|0;if((l|0)!=0?(c[l+4>>2]|0)==(o|0):0)if((c[l>>2]|0)>>>0<6){o=l+172|0;n=c[l+108>>2]|0;o=e[o>>1]|e[o+2>>1]<<16;P=23}else{n=-1;o=0;P=23}else P=18;do if((P|0)==18){l=c[a+212>>2]|0;if(l|0?(c[l+4>>2]|0)==(o|0):0){if((c[l>>2]|0)>>>0>=6){n=-1;o=0;P=23;break}o=l+192|0;n=c[l+112>>2]|0;o=e[o>>1]|e[o+2>>1]<<16;P=23;break}if((p|0)==0|(n|0)!=0){n=-1;o=0;P=23}else l=x}while(0);do if((P|0)==23){m=(s|0)==(z|0);l=(q|0)==(z|0);if(((l&1)+(m&1)+((n|0)==(z|0)&1)|0)!=1){N=x<<16>>16;L=t<<16>>16;l=o<<16>>16;K=t<<16>>16>x<<16>>16;M=K?t:x;N=K?N:(L|0)<(N|0)?L:N;L=k<<16>>16;K=u<<16>>16;P=o>>16;J=u<<16>>16>k<<16>>16;O=J?u:k;k=J?L:(K|0)<(L|0)?K:L;l=(M<<16>>16<(o&65535)<<16>>16?M&65535:(N|0)>(l|0)?N:l)&65535;k=(O<<16>>16<(o>>>16&65535)<<16>>16?O&65535:(k|0)>(P|0)?k:P)&65535;break}if(m|l){l=m?x:t;k=m?k:u}else{l=o&65535;k=o>>>16&65535}}while(0);l=(l&65535)+(v&65535)|0;k=(k&65535)+(y&65535)|0;if(((l<<16>>16)+8192|0)>>>0>16383){S=1;cc=T;return S|0}if(((k<<16>>16)+2048|0)>>>0>4095){S=1;cc=T;return S|0}else{m=l&65535;l=k&65535}}k=He(g,z)|0;if(!k){S=1;cc=T;return S|0}else{b[a+192>>1]=m;b[a+194>>1]=l;g=c[a+192>>2]|0;c[a+188>>2]=g;c[a+184>>2]=g;c[a+180>>2]=g;c[a+176>>2]=g;c[a+172>>2]=g;c[a+168>>2]=g;c[a+164>>2]=g;c[a+160>>2]=g;c[a+156>>2]=g;c[a+152>>2]=g;c[a+148>>2]=g;c[a+144>>2]=g;c[a+140>>2]=g;c[a+136>>2]=g;c[a+132>>2]=g;c[a+100>>2]=z;c[a+104>>2]=z;c[a+108>>2]=z;c[a+112>>2]=z;c[a+116>>2]=k;c[a+120>>2]=k;c[a+124>>2]=k;c[a+128>>2]=k;c[S>>2]=k;Ie(j,a+132|0,S,R,Q,0,0,16,16);break a}}case 2:{u=b[f+160>>1]|0;v=b[f+162>>1]|0;A=c[f+144>>2]|0;z=a+4|0;o=c[z>>2]|0;k=c[a+204>>2]|0;if((k|0)!=0?(c[k+4>>2]|0)==(o|0):0)if((c[k>>2]|0)>>>0<6){t=k+172|0;t=e[t>>1]|e[t+2>>1]<<16;q=1;k=c[k+108>>2]|0;s=t&65535;t=t>>>16&65535}else{q=1;k=-1;s=0;t=0}else{q=0;k=-1;s=0;t=0}b:do if((k|0)!=(A|0)){m=c[a+200>>2]|0;if((m|0)!=0?(c[m+4>>2]|0)==(o|0):0)if((c[m>>2]|0)>>>0<6){k=m+152|0;k=e[k>>1]|e[k+2>>1]<<16;n=1;l=k&65535;k=k>>>16&65535;p=c[m+104>>2]|0}else{n=1;l=0;k=0;p=-1}else{n=0;l=0;k=0;p=-1}m=c[a+208>>2]|0;if((m|0)!=0?(c[m+4>>2]|0)==(o|0):0)if((c[m>>2]|0)>>>0<6){o=m+172|0;n=c[m+108>>2]|0;o=e[o>>1]|e[o+2>>1]<<16}else{n=-1;o=0}else P=44;do if((P|0)==44){m=c[a+212>>2]|0;if(m|0?(c[m+4>>2]|0)==(o|0):0){if((c[m>>2]|0)>>>0>=6){n=-1;o=0;break}o=m+192|0;n=c[m+112>>2]|0;o=e[o>>1]|e[o+2>>1]<<16;break}if((q|0)!=0|(n|0)==0){n=-1;o=0}else break b}while(0);m=(p|0)==(A|0);if((((n|0)==(A|0)&1)+(m&1)|0)!=1){L=l<<16>>16;K=s<<16>>16;N=o<<16>>16;P=s<<16>>16>l<<16>>16;M=P?s:l;l=P?L:(K|0)<(L|0)?K:L;L=k<<16>>16;K=t<<16>>16;P=o>>16;J=t<<16>>16>k<<16>>16;O=J?t:k;k=J?L:(K|0)<(L|0)?K:L;l=(M<<16>>16<(o&65535)<<16>>16?M&65535:(l|0)>(N|0)?l:N)&65535;k=(O<<16>>16<(o>>>16&65535)<<16>>16?O&65535:(k|0)>(P|0)?k:P)&65535;break}if(!m){l=o&65535;k=o>>>16&65535}}else{l=s;k=t}while(0);m=(l&65535)+(u&65535)|0;k=(k&65535)+(v&65535)|0;if(((m<<16>>16)+8192|0)>>>0>16383){S=1;cc=T;return S|0}if(((k<<16>>16)+2048|0)>>>0>4095){S=1;cc=T;return S|0}l=He(g,A)|0;if(!l){S=1;cc=T;return S|0}b[a+160>>1]=m;b[a+162>>1]=k;u=c[a+160>>2]|0;c[a+156>>2]=u;c[a+152>>2]=u;c[a+148>>2]=u;c[a+144>>2]=u;c[a+140>>2]=u;c[a+136>>2]=u;c[a+132>>2]=u;c[a+100>>2]=A;c[a+104>>2]=A;c[a+116>>2]=l;c[a+120>>2]=l;v=b[f+164>>1]|0;x=b[f+166>>1]|0;y=c[f+148>>2]|0;l=c[z>>2]|0;m=c[a+200>>2]|0;n=(m|0)==0;if((!n?(c[m+4>>2]|0)==(l|0):0)?(c[m>>2]|0)>>>0<6:0){s=m+184|0;s=e[s>>1]|e[s+2>>1]<<16;q=s&65535;s=s>>>16&65535;k=c[m+112>>2]|0}else{q=0;s=0;k=-1}do if((k|0)!=(y|0)){o=u&65535;t=u>>>16;p=t&65535;if((!n?(c[m+4>>2]|0)==(l|0):0)?(c[m>>2]|0)>>>0<6:0){n=m+160|0;k=c[m+104>>2]|0;n=e[n>>1]|e[n+2>>1]<<16}else{k=-1;n=0}m=(A|0)==(y|0);if((((k|0)==(y|0)&1)+(m&1)|0)==1){l=m?u:n;k=m?t:n>>>16;break}else{N=q<<16>>16;P=u<<16>>16;l=n<<16>>16;L=q<<16>>16>16;M=L?o:q;N=L?N:(P|0)<(N|0)?P:N;P=s<<16>>16;L=u>>16;k=n>>16;K=s<<16>>16>16;O=K?p:s;P=K?P:(L|0)<(P|0)?L:P;l=M<<16>>16<(n&65535)<<16>>16?M&65535:(N|0)>(l|0)?N:l;k=O<<16>>16<(n>>>16&65535)<<16>>16?O&65535:(P|0)>(k|0)?P:k;break}}else{k=s&65535;l=k<<16|q&65535}while(0);m=(l&65535)+(v&65535)|0;l=(k&65535)+(x&65535)|0;if(((m<<16>>16)+8192|0)>>>0>16383){S=1;cc=T;return S|0}if(((l<<16>>16)+2048|0)>>>0>4095){S=1;cc=T;return S|0}k=He(g,y)|0;if(!k){S=1;cc=T;return S|0}else{g=a+164|0;b[a+192>>1]=m;b[a+194>>1]=l;P=c[a+192>>2]|0;c[a+188>>2]=P;c[a+184>>2]=P;c[a+180>>2]=P;c[a+176>>2]=P;c[a+172>>2]=P;c[a+168>>2]=P;c[g>>2]=P;c[a+108>>2]=y;c[a+112>>2]=y;P=a+124|0;c[P>>2]=k;c[a+128>>2]=k;c[S>>2]=c[a+116>>2];Ie(j,a+132|0,S,R,Q,0,0,16,8);c[S>>2]=c[P>>2];Ie(j,g,S,R,Q,0,8,16,8);break a}}case 3:{t=b[f+160>>1]|0;u=b[f+162>>1]|0;z=c[f+144>>2]|0;y=a+4|0;n=c[y>>2]|0;m=c[a+200>>2]|0;if((m|0)!=0?(c[m+4>>2]|0)==(n|0):0)if((c[m>>2]|0)>>>0<6){k=m+152|0;k=e[k>>1]|e[k+2>>1]<<16;o=1;l=k&65535;k=k>>>16&65535;m=c[m+104>>2]|0}else{o=1;l=0;k=0;m=-1}else{o=0;l=0;k=0;m=-1}c:do if((m|0)!=(z|0)){m=c[a+204>>2]|0;if((m|0)!=0?(c[m+4>>2]|0)==(n|0):0)if((c[m>>2]|0)>>>0<6){s=m+172|0;s=e[s>>1]|e[s+2>>1]<<16;p=m+188|0;o=c[m+108>>2]|0;q=s&65535;s=s>>>16&65535;n=c[m+112>>2]|0;p=e[p>>1]|e[p+2>>1]<<16}else{o=-1;q=0;s=0;n=-1;p=0}else P=82;do if((P|0)==82){m=c[a+212>>2]|0;if(m|0?(c[m+4>>2]|0)==(n|0):0){if((c[m>>2]|0)>>>0>=6){o=-1;q=0;s=0;n=-1;p=0;break}p=m+192|0;o=-1;q=0;s=0;n=c[m+112>>2]|0;p=e[p>>1]|e[p+2>>1]<<16;break}if(!o){o=-1;q=0;s=0;n=-1;p=0}else break c}while(0);m=(o|0)==(z|0);if(((m&1)+((n|0)==(z|0)&1)|0)!=1){L=l<<16>>16;K=q<<16>>16;N=p<<16>>16;P=q<<16>>16>l<<16>>16;M=P?q:l;l=P?L:(K|0)<(L|0)?K:L;L=k<<16>>16;K=s<<16>>16;P=p>>16;J=s<<16>>16>k<<16>>16;O=J?s:k;k=J?L:(K|0)<(L|0)?K:L;l=(M<<16>>16<(p&65535)<<16>>16?M&65535:(l|0)>(N|0)?l:N)&65535;k=(O<<16>>16<(p>>>16&65535)<<16>>16?O&65535:(k|0)>(P|0)?k:P)&65535;break}if(m){l=q;k=s}else{l=p&65535;k=p>>>16&65535}}while(0);m=(l&65535)+(t&65535)|0;k=(k&65535)+(u&65535)|0;if(((m<<16>>16)+8192|0)>>>0>16383){S=1;cc=T;return S|0}if(((k<<16>>16)+2048|0)>>>0>4095){S=1;cc=T;return S|0}l=He(g,z)|0;if(!l){S=1;cc=T;return S|0}b[a+176>>1]=m;b[a+178>>1]=k;t=c[a+176>>2]|0;c[a+172>>2]=t;c[a+168>>2]=t;c[a+164>>2]=t;c[a+144>>2]=t;c[a+140>>2]=t;c[a+136>>2]=t;c[a+132>>2]=t;c[a+100>>2]=z;c[a+108>>2]=z;c[a+116>>2]=l;c[a+124>>2]=l;u=b[f+164>>1]|0;v=b[f+166>>1]|0;x=c[f+148>>2]|0;m=c[y>>2]|0;k=c[a+208>>2]|0;if((k|0)!=0?(c[k+4>>2]|0)==(m|0):0)if((c[k>>2]|0)>>>0<6){s=k+172|0;n=1;k=c[k+108>>2]|0;s=e[s>>1]|e[s+2>>1]<<16}else{n=1;k=-1;s=0}else{k=c[a+204>>2]|0;if((k|0)!=0?(c[k+4>>2]|0)==(m|0):0)if((c[k>>2]|0)>>>0<6){s=k+176|0;n=1;k=c[k+108>>2]|0;s=e[s>>1]|e[s+2>>1]<<16}else{n=1;k=-1;s=0}else{n=0;k=-1;s=0}}do if((k|0)!=(x|0)){p=t&65535;k=t>>>16;q=k&65535;l=c[a+204>>2]|0;if((l|0)!=0?(c[l+4>>2]|0)==(m|0):0)if((c[l>>2]|0)>>>0<6){o=l+188|0;o=e[o>>1]|e[o+2>>1]<<16;l=c[l+112>>2]|0;n=o&65535;o=o>>>16&65535}else{l=-1;n=0;o=0}else if(!n){l=t;break}else{l=-1;n=0;o=0}m=(z|0)==(x|0);l=(l|0)==(x|0);if(((l&1)+(m&1)|0)!=1){N=t<<16>>16;P=n<<16>>16;l=s<<16>>16;L=n<<16>>16>p<<16>>16;M=L?n:p;N=L?N:(N|0)>(P|0)?P:N;P=t>>16;L=o<<16>>16;k=s>>16;K=o<<16>>16>q<<16>>16;O=K?o:q;P=K?P:(P|0)>(L|0)?L:P;l=M<<16>>16<(s&65535)<<16>>16?M&65535:(N|0)>(l|0)?N:l;k=O<<16>>16<(s>>>16&65535)<<16>>16?O&65535:(P|0)>(k|0)?P:k;break}if(!m)if(l){k=o&65535;l=k<<16|n&65535;break}else{l=s;k=s>>>16;break}else l=t}else{l=s;k=s>>>16}while(0);m=(l&65535)+(u&65535)|0;l=(k&65535)+(v&65535)|0;if(((m<<16>>16)+8192|0)>>>0>16383){S=1;cc=T;return S|0}if(((l<<16>>16)+2048|0)>>>0>4095){S=1;cc=T;return S|0}k=He(g,x)|0;if(!k){S=1;cc=T;return S|0}else{g=a+148|0;b[a+192>>1]=m;b[a+194>>1]=l;P=c[a+192>>2]|0;c[a+188>>2]=P;c[a+184>>2]=P;c[a+180>>2]=P;c[a+160>>2]=P;c[a+156>>2]=P;c[a+152>>2]=P;c[g>>2]=P;c[a+104>>2]=x;c[a+112>>2]=x;P=a+120|0;c[P>>2]=k;c[a+128>>2]=k;c[S>>2]=c[a+116>>2];Ie(j,a+132|0,S,R,Q,0,0,8,16);c[S>>2]=c[P>>2];Ie(j,g,S,R,Q,8,0,8,16);break a}}default:{O=a+4|0;D=0;d:while(1){A=f+176+(D<<2)|0;C=Je(c[A>>2]|0)|0;B=f+192+(D<<2)|0;c[a+100+(D<<2)>>2]=c[B>>2];P=He(g,c[B>>2]|0)|0;c[a+116+(D<<2)>>2]=P;if(!P){k=1;P=165;break}e:do if(C|0){F=D<<2;G=a+132+(F<<2)|0;K=a+132+(F<<2)+2|0;N=F|1;J=a+132+(N<<2)|0;N=a+132+(N<<2)+2|0;L=F|2;H=a+132+(L<<2)|0;L=a+132+(L<<2)+2|0;M=F|3;I=a+132+(M<<2)|0;M=a+132+(M<<2)+2|0;E=0;while(1){x=b[f+208+(D<<4)+(E<<2)>>1]|0;y=b[f+208+(D<<4)+(E<<2)+2>>1]|0;z=Ke(c[A>>2]|0)|0;v=c[B>>2]|0;k=Le(a,c[2192+(D<<7)+(z<<5)+(E<<3)>>2]|0)|0;l=d[2192+(D<<7)+(z<<5)+(E<<3)+4>>0]|0;if((k|0)!=0?(c[k+4>>2]|0)==(c[O>>2]|0):0)if((c[k>>2]|0)>>>0<6){P=k+132+(l<<2)|0;P=e[P>>1]|e[P+2>>1]<<16;p=1;t=c[k+100+(l>>>2<<2)>>2]|0;l=P&65535;k=P>>>16&65535}else{p=1;t=-1;l=0;k=0}else{p=0;t=-1;l=0;k=0}m=Le(a,c[2704+(D<<7)+(z<<5)+(E<<3)>>2]|0)|0;n=d[2704+(D<<7)+(z<<5)+(E<<3)+4>>0]|0;if((m|0)!=0?(c[m+4>>2]|0)==(c[O>>2]|0):0)if((c[m>>2]|0)>>>0<6){u=m+132+(n<<2)|0;u=e[u>>1]|e[u+2>>1]<<16;o=1;q=c[m+100+(n>>>2<<2)>>2]|0;s=u&65535;u=u>>>16&65535}else{o=1;q=-1;s=0;u=0}else{o=0;q=-1;s=0;u=0}m=Le(a,c[3216+(D<<7)+(z<<5)+(E<<3)>>2]|0)|0;n=d[3216+(D<<7)+(z<<5)+(E<<3)+4>>0]|0;if((m|0)!=0?(c[m+4>>2]|0)==(c[O>>2]|0):0)if((c[m>>2]|0)>>>0<6){p=m+132+(n<<2)|0;n=c[m+100+(n>>>2<<2)>>2]|0;p=e[p>>1]|e[p+2>>1]<<16;P=140}else{n=-1;p=0;P=140}else P=135;do if((P|0)==135){P=0;m=Le(a,c[3728+(D<<7)+(z<<5)+(E<<3)>>2]|0)|0;n=d[3728+(D<<7)+(z<<5)+(E<<3)+4>>0]|0;if(m|0?(c[m+4>>2]|0)==(c[O>>2]|0):0){if((c[m>>2]|0)>>>0>=6){n=-1;p=0;P=140;break}p=m+132+(n<<2)|0;n=c[m+100+(n>>>2<<2)>>2]|0;p=e[p>>1]|e[p+2>>1]<<16;P=140;break}if((p|0)==0|(o|0)!=0){n=-1;p=0;P=140}}while(0);do if((P|0)==140){P=0;o=(t|0)==(v|0);m=(q|0)==(v|0);if(((m&1)+(o&1)+((n|0)==(v|0)&1)|0)!=1){q=l<<16>>16;o=s<<16>>16;t=p<<16>>16;v=s<<16>>16>l<<16>>16;s=v?s:l;l=v?q:(o|0)<(q|0)?o:q;q=k<<16>>16;o=u<<16>>16;v=p>>16;n=u<<16>>16>k<<16>>16;u=n?u:k;k=n?q:(o|0)<(q|0)?o:q;l=(s<<16>>16<(p&65535)<<16>>16?s&65535:(l|0)>(t|0)?l:t)&65535;k=(u<<16>>16<(p>>>16&65535)<<16>>16?u&65535:(k|0)>(v|0)?k:v)&65535;break}if(o|m){l=o?l:s;k=o?k:u}else{l=p&65535;k=p>>>16&65535}}while(0);x=(l&65535)+(x&65535)|0;m=x&65535;k=(k&65535)+(y&65535)|0;l=k&65535;if(((x<<16>>16)+8192|0)>>>0>16383){k=1;P=165;break d}if(((k<<16>>16)+2048|0)>>>0>4095){k=1;P=165;break d}switch(z|0){case 0:{b[G>>1]=m;b[K>>1]=l;b[J>>1]=m;b[N>>1]=l;b[H>>1]=m;b[L>>1]=l;b[I>>1]=m;k=M;P=151;break}case 1:{k=(E<<1)+F|0;b[a+132+(k<<2)>>1]=m;b[a+132+(k<<2)+2>>1]=l;k=k|1;b[a+132+(k<<2)>>1]=m;k=a+132+(k<<2)+2|0;P=151;break}case 2:{k=E+F|0;b[a+132+(k<<2)>>1]=m;b[a+132+(k<<2)+2>>1]=l;k=k+2|0;b[a+132+(k<<2)>>1]=m;k=a+132+(k<<2)+2|0;P=151;break}case 3:{k=E+F|0;b[a+132+(k<<2)>>1]=m;k=a+132+(k<<2)+2|0;P=151;break}default:{}}if((P|0)==151)b[k>>1]=l;E=E+1|0;if(E>>>0>=C>>>0)break e}}while(0);D=D+1|0;if(D>>>0>=4){P=154;break}}if((P|0)==154){m=0;while(1){c[S>>2]=c[a+116+(m<<2)>>2];g=Ke(c[f+176+(m<<2)>>2]|0)|0;k=m<<3&8;l=m>>>0<2?0:8;switch(g|0){case 0:{Ie(j,a+132+(m<<2<<2)|0,S,R,Q,k,l,8,8);break}case 1:{g=a+132+(m<<2<<2)|0;Ie(j,g,S,R,Q,k,l,8,4);Ie(j,g+8|0,S,R,Q,k,l|4,8,4);break}case 2:{g=a+132+(m<<2<<2)|0;Ie(j,g,S,R,Q,k,l,4,8);Ie(j,g+4|0,S,R,Q,k|4,l,4,8);break}default:{O=a+132+(m<<2<<2)|0;Ie(j,O,S,R,Q,k,l,4,4);P=k|4;Ie(j,O+4|0,S,R,Q,P,l,4,4);g=l|4;Ie(j,O+8|0,S,R,Q,k,g,4,4);Ie(j,O+12|0,S,R,Q,P,g,4,4)}}m=m+1|0;if((m|0)==4)break a}}else if((P|0)==165){cc=T;return k|0}}}while(0);if((c[a+196>>2]|0)>>>0>1){S=0;cc=T;return S|0}if(!(c[a>>2]|0)){De(i,j);S=0;cc=T;return S|0}else{Me(i,h,j,f+328|0);S=0;cc=T;return S|0}return 0}function He(a,b){a=a|0;b=b|0;var d=0;if((b>>>0<=16?(d=c[(c[a+4>>2]|0)+(b<<2)>>2]|0,(d|0)!=0):0)?(c[d+20>>2]|0)>>>0>1:0)d=c[d>>2]|0;else d=0;return d|0}function Ie(a,d,e,f,g,h,i,j,k){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;m=a+(i<<4)+h|0;v=b[d>>1]|0;u=d+2|0;q=b[u>>1]|0;s=e+4|0;n=c[s>>2]<<4;p=e+8|0;o=c[p>>2]<<4;t=h+f|0;l=(v>>2)+t|0;g=i+g|0;f=(q>>2)+g|0;do switch(c[4240+((v&3)<<4)+((q&3)<<2)>>2]|0){case 0:{Ne(c[e>>2]|0,m,l,f,n,o,j,k,16);f=e;break}case 1:{Oe(c[e>>2]|0,m,l,f+-2|0,n,o,j,k,0);f=e;break}case 2:{Pe(c[e>>2]|0,m,l,f+-2|0,n,o,j,k);f=e;break}case 3:{Oe(c[e>>2]|0,m,l,f+-2|0,n,o,j,k,1);f=e;break}case 4:{Qe(c[e>>2]|0,m,l+-2|0,f,n,o,j,k,0);f=e;break}case 5:{Re(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k,0);f=e;break}case 6:{Se(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k,0);f=e;break}case 7:{Re(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k,2);f=e;break}case 8:{Te(c[e>>2]|0,m,l+-2|0,f,n,o,j,k);f=e;break}case 9:{Ue(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k,0);f=e;break}case 10:{Ve(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k);f=e;break}case 11:{Ue(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k,1);f=e;break}case 12:{Qe(c[e>>2]|0,m,l+-2|0,f,n,o,j,k,1);f=e;break}case 13:{Re(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k,1);f=e;break}case 14:{Se(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k,1);f=e;break}default:{Re(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k,3);f=e}}while(0);q=a+256+(i>>>1<<3)+(h>>>1)|0;v=c[s>>2]|0;l=c[p>>2]|0;i=v<<3;p=l<<3;e=b[d>>1]|0;h=(e>>3)+(t>>>1)|0;a=b[u>>1]|0;o=(a>>3)+(g>>>1)|0;e=e&7;a=a&7;n=j>>>1;m=k>>>1;f=(c[f>>2]|0)+(r(v<<8,l)|0)|0;g=(e|0)!=0;l=(a|0)!=0;if(g&l){We(f,q,h,o,i,p,e,a,n,m);return}if(g){Xe(f,q,h,o,i,p,e,n,m);return}if(l){Ye(f,q,h,o,i,p,a,n,m);return}else{Ne(f,q,h,o,i,p,n,m,8);Ne(f+(r(p,i)|0)|0,q+64|0,h,o,i,p,n,m,8);return}}function Je(a){a=a|0;switch(a|0){case 0:{a=1;break}case 2:case 1:{a=2;break}default:a=4}return a|0}function Ke(a){a=a|0;return a|0}function Le(a,b){a=a|0;b=b|0;switch(b|0){case 0:{a=c[a+200>>2]|0;break}case 1:{a=c[a+204>>2]|0;break}case 2:{a=c[a+208>>2]|0;break}case 3:{a=c[a+212>>2]|0;break}case 4:break;default:a=0}return a|0}function Me(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;s=c[b+4>>2]|0;q=r(c[b+8>>2]|0,s)|0;m=(e>>>0)%(s>>>0)|0;p=c[b>>2]|0;l=e-m|0;i=p+(l<<8)+(m<<4)|0;o=q<<8;l=l<<6;m=m<<3;q=q<<6;n=s<<4;k=s<<2&1073741820;j=0;do{h=c[1864+(j<<2)>>2]|0;b=c[1928+(j<<2)>>2]|0;e=f+(b<<4)+h|0;h=i+(r(b,n)|0)+h|0;b=c[g+(j<<6)>>2]|0;if((b|0)==16777215){b=e+16|0;t=c[b>>2]|0;b=b+16|0;c[h>>2]=c[e>>2];h=h+(k<<2)|0;c[h>>2]=t;h=h+(k<<2)|0;e=c[b+16>>2]|0;c[h>>2]=c[b>>2];c[h+(k<<2)>>2]=e}else{t=d[e+1>>0]|0;v=c[g+(j<<6)+4>>2]|0;a[h>>0]=a[49256+(b+(d[e>>0]|0))>>0]|0;b=d[e+2>>0]|0;u=c[g+(j<<6)+8>>2]|0;a[h+1>>0]=a[49256+(v+t)>>0]|0;t=d[e+3>>0]|0;v=c[g+(j<<6)+12>>2]|0;a[h+2>>0]=a[49256+(u+b)>>0]|0;b=e+16|0;a[h+3>>0]=a[49256+(v+t)>>0]|0;t=h+n|0;e=d[b+1>>0]|0;v=c[g+(j<<6)+20>>2]|0;a[t>>0]=a[49256+((c[g+(j<<6)+16>>2]|0)+(d[b>>0]|0))>>0]|0;h=d[b+2>>0]|0;u=c[g+(j<<6)+24>>2]|0;a[t+1>>0]=a[49256+(v+e)>>0]|0;e=d[b+3>>0]|0;v=c[g+(j<<6)+28>>2]|0;a[t+2>>0]=a[49256+(u+h)>>0]|0;h=b+16|0;a[t+3>>0]=a[49256+(v+e)>>0]|0;t=t+n|0;e=d[h+1>>0]|0;v=c[g+(j<<6)+36>>2]|0;a[t>>0]=a[49256+((c[g+(j<<6)+32>>2]|0)+(d[h>>0]|0))>>0]|0;b=d[h+2>>0]|0;u=c[g+(j<<6)+40>>2]|0;a[t+1>>0]=a[49256+(v+e)>>0]|0;e=d[h+3>>0]|0;v=c[g+(j<<6)+44>>2]|0;a[t+2>>0]=a[49256+(u+b)>>0]|0;h=h+16|0;a[t+3>>0]=a[49256+(v+e)>>0]|0;t=t+n|0;e=d[h+1>>0]|0;v=c[g+(j<<6)+52>>2]|0;a[t>>0]=a[49256+((c[g+(j<<6)+48>>2]|0)+(d[h>>0]|0))>>0]|0;b=d[h+2>>0]|0;u=c[g+(j<<6)+56>>2]|0;a[t+1>>0]=a[49256+(v+e)>>0]|0;h=d[h+3>>0]|0;e=c[g+(j<<6)+60>>2]|0;a[t+2>>0]=a[49256+(u+b)>>0]|0;a[t+3>>0]=a[49256+(e+h)>>0]|0}j=j+1|0}while((j|0)!=16);m=p+o+l+m|0;l=m+q|0;k=s<<3&2147483640;j=k>>>2;i=16;do{b=i&3;h=c[1864+(b<<2)>>2]|0;b=c[1928+(b<<2)>>2]|0;v=i>>>0>19;e=f+(v?320:256)+((b<<3)+h)|0;h=(v?l:m)+((r(b,k)|0)+h)|0;b=c[g+(i<<6)>>2]|0;if((b|0)==16777215){t=e+8|0;u=c[t>>2]|0;t=t+8|0;c[h>>2]=c[e>>2];v=h+(j<<2)|0;c[v>>2]=u;v=v+(j<<2)|0;u=c[t+8>>2]|0;c[v>>2]=c[t>>2];c[v+(j<<2)>>2]=u}else{v=d[e+1>>0]|0;t=c[g+(i<<6)+4>>2]|0;a[h>>0]=a[49256+(b+(d[e>>0]|0))>>0]|0;u=d[e+2>>0]|0;p=c[g+(i<<6)+8>>2]|0;a[h+1>>0]=a[49256+(t+v)>>0]|0;v=d[e+3>>0]|0;t=c[g+(i<<6)+12>>2]|0;a[h+2>>0]=a[49256+(p+u)>>0]|0;u=e+8|0;a[h+3>>0]=a[49256+(t+v)>>0]|0;v=h+k|0;t=d[u+1>>0]|0;p=c[g+(i<<6)+20>>2]|0;a[v>>0]=a[49256+((c[g+(i<<6)+16>>2]|0)+(d[u>>0]|0))>>0]|0;s=d[u+2>>0]|0;q=c[g+(i<<6)+24>>2]|0;a[v+1>>0]=a[49256+(p+t)>>0]|0;t=d[u+3>>0]|0;p=c[g+(i<<6)+28>>2]|0;a[v+2>>0]=a[49256+(q+s)>>0]|0;u=u+8|0;a[v+3>>0]=a[49256+(p+t)>>0]|0;v=v+k|0;t=d[u+1>>0]|0;p=c[g+(i<<6)+36>>2]|0;a[v>>0]=a[49256+((c[g+(i<<6)+32>>2]|0)+(d[u>>0]|0))>>0]|0;s=d[u+2>>0]|0;q=c[g+(i<<6)+40>>2]|0;a[v+1>>0]=a[49256+(p+t)>>0]|0;t=d[u+3>>0]|0;p=c[g+(i<<6)+44>>2]|0;a[v+2>>0]=a[49256+(q+s)>>0]|0;u=u+8|0;a[v+3>>0]=a[49256+(p+t)>>0]|0;v=v+k|0;t=d[u+1>>0]|0;p=c[g+(i<<6)+52>>2]|0;a[v>>0]=a[49256+((c[g+(i<<6)+48>>2]|0)+(d[u>>0]|0))>>0]|0;s=d[u+2>>0]|0;q=c[g+(i<<6)+56>>2]|0;a[v+1>>0]=a[49256+(p+t)>>0]|0;u=d[u+3>>0]|0;t=c[g+(i<<6)+60>>2]|0;a[v+2>>0]=a[49256+(q+s)>>0]|0;a[v+3>>0]=a[49256+(t+u)>>0]|0}i=i+1|0}while((i|0)!=24);return}function Ne(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=g+c|0;p=(c|0)<0|(n|0)>(e|0)?5:4;k=(h+d|0)<0?0-h|0:d;n=(n|0)<0?0-g|0:c;k=(k|0)>(f|0)?f:k;n=(n|0)>(e|0)?e:n;o=n+g|0;l=k+h|0;c=(n|0)>0?a+n|0:a;m=c+(r(k,e)|0)|0;c=(k|0)>0?m:c;n=(n|0)<0?0-n|0:0;o=(o|0)>(e|0)?o-e|0:0;m=g-n-o|0;d=0-k|0;g=(k|0)<0?d:0;a=l-f|0;l=(l|0)>(f|0)?a:0;k=h-g-l|0;if(g){g=r(g,i)|0;f=b;while(1){pc[p&7](c,f,n,m,o);d=d+-1|0;if(!d)break;else f=f+i|0}b=b+g|0}if(k){j=r(k,e)|0;g=r(k,i)|0;f=b;h=c;d=k;while(1){pc[p&7](h,f,n,m,o);d=d+-1|0;if(!d)break;else{f=f+i|0;h=h+e|0}}b=b+g|0;c=c+j|0}c=c+(0-e)|0;if(!l)return;while(1){pc[p&7](c,b,n,m,o);a=a+-1|0;if(!a)break;else b=b+i|0}return}function Oe(b,c,e,f,g,h,i,j,k){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0;t=cc;cc=cc+448|0;if((cc|0)>=(dc|0))w(448);l=t;if(((e|0)>=0?!((f|0)<0|(i+e|0)>>>0>g>>>0):0)?(j+5+f|0)>>>0<=h>>>0:0)l=b;else{Ne(b,l,e,f,g,h,i,j+5|0,i);g=i;e=0;f=0}e=l+((r(f,g)|0)+e)+g|0;f=j>>>2;if(!f){cc=t;return}o=g<<2;s=0-g|0;p=s<<1;q=g<<1;if(!i){cc=t;return}n=e;m=e+(r(g,k+2|0)|0)|0;j=e+(g*5|0)|0;while(1){e=i;h=c;l=n;b=m;k=j;while(1){u=d[k+p>>0]|0;y=d[k+s>>0]|0;z=d[k+g>>0]|0;B=d[k>>0]|0;A=z+u|0;v=d[l+q>>0]|0;a[h+48>>0]=((d[49256+((d[k+q>>0]|0)+16-A-(A<<2)+v+((B+y|0)*20|0)>>5)>>0]|0)+1+(d[b+q>>0]|0)|0)>>>1;A=v+B|0;x=d[l+g>>0]|0;a[h+32>>0]=((d[49256+(z+16+((y+u|0)*20|0)-A-(A<<2)+x>>5)>>0]|0)+1+(d[b+g>>0]|0)|0)>>>1;A=x+y|0;z=d[l>>0]|0;a[h+16>>0]=((d[49256+(B+16+((v+u|0)*20|0)-A-(A<<2)+z>>5)>>0]|0)+1+(d[b>>0]|0)|0)>>>1;u=z+u|0;a[h>>0]=((d[49256+(y+16+((x+v|0)*20|0)-u-(u<<2)+(d[l+s>>0]|0)>>5)>>0]|0)+1+(d[b+s>>0]|0)|0)>>>1;e=e+-1|0;if(!e)break;else{h=h+1|0;l=l+1|0;b=b+1|0;k=k+1|0}}f=f+-1|0;if(!f)break;else{c=c+64|0;n=n+o|0;m=m+o|0;j=j+o|0}}cc=t;return}function Pe(b,c,e,f,g,h,i,j){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0;q=cc;cc=cc+448|0;if((cc|0)>=(dc|0))w(448);k=q;if(((e|0)>=0?!((f|0)<0|(i+e|0)>>>0>g>>>0):0)?(j+5+f|0)>>>0<=h>>>0:0)k=b;else{Ne(b,k,e,f,g,h,i,j+5|0,i);g=i;e=0;f=0}e=k+((r(f,g)|0)+e)+g|0;f=j>>>2;if(!f){cc=q;return}m=g<<2;p=0-g|0;n=p<<1;o=g<<1;if(!i){cc=q;return}l=e;b=e+(g*5|0)|0;while(1){e=i;h=c;k=l;j=b;while(1){s=d[j+n>>0]|0;v=d[j+p>>0]|0;x=d[j+g>>0]|0;z=d[j>>0]|0;y=x+s|0;t=d[k+o>>0]|0;a[h+48>>0]=a[49256+((d[j+o>>0]|0)+16-y-(y<<2)+t+((z+v|0)*20|0)>>5)>>0]|0;y=t+z|0;u=d[k+g>>0]|0;a[h+32>>0]=a[49256+(x+16+((v+s|0)*20|0)-y-(y<<2)+u>>5)>>0]|0;y=u+v|0;x=d[k>>0]|0;a[h+16>>0]=a[49256+(z+16+((t+s|0)*20|0)-y-(y<<2)+x>>5)>>0]|0;s=x+s|0;a[h>>0]=a[49256+(v+16+((u+t|0)*20|0)-s-(s<<2)+(d[k+p>>0]|0)>>5)>>0]|0;e=e+-1|0;if(!e)break;else{h=h+1|0;k=k+1|0;j=j+1|0}}f=f+-1|0;if(!f)break;else{c=c+64|0;l=l+m|0;b=b+m|0}}cc=q;return}function Qe(b,c,e,f,g,h,i,j,k){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,x=0;u=cc;cc=cc+448|0;if((cc|0)>=(dc|0))w(448);l=u;m=i+5|0;if((e|0)>=0?!((j+f|0)>>>0>h>>>0|((f|0)<0|(m+e|0)>>>0>g>>>0)):0){l=b;m=g}else{Ne(b,l,e,f,g,h,m,j,m);e=0;f=0}if(!j){cc=u;return}p=i>>>2;t=(p|0)==0;q=m-i|0;s=16-i|0;o=(k|0)==0;n=i&-4;h=l+((r(f,m)|0)+e)+5|0;while(1){l=d[h+-5>>0]|0;m=d[h+-4>>0]|0;g=d[h+-3>>0]|0;e=d[h+-2>>0]|0;b=d[h+-1>>0]|0;do if(!t){i=h+n|0;if(o){k=c;f=b;b=p;while(1){v=m+f|0;x=m;m=d[h>>0]|0;a[k>>0]=(g+1+(d[49256+(l+16-v+((g+e|0)*20|0)-(v<<2)+m>>5)>>0]|0)|0)>>>1;v=g+m|0;l=g;g=d[h+1>>0]|0;a[k+1>>0]=(e+1+(d[49256+(x+16+((e+f|0)*20|0)-v-(v<<2)+g>>5)>>0]|0)|0)>>>1;v=e+g|0;x=e;e=d[h+2>>0]|0;a[k+2>>0]=(f+1+(d[49256+(l+16+((f+m|0)*20|0)-v-(v<<2)+e>>5)>>0]|0)|0)>>>1;v=f+e|0;l=d[h+3>>0]|0;a[k+3>>0]=(m+1+(d[49256+(x+16+((g+m|0)*20|0)-v-(v<<2)+l>>5)>>0]|0)|0)>>>1;b=b+-1|0;if(!b)break;else{x=f;k=k+4|0;h=h+4|0;f=l;l=x}}c=c+n|0;h=i;break}else{k=c;f=b;b=p;while(1){x=m+f|0;v=m;m=d[h>>0]|0;a[k>>0]=(e+1+(d[49256+(l+16-x+((g+e|0)*20|0)-(x<<2)+m>>5)>>0]|0)|0)>>>1;x=g+m|0;l=g;g=d[h+1>>0]|0;a[k+1>>0]=(f+1+(d[49256+(v+16+((e+f|0)*20|0)-x-(x<<2)+g>>5)>>0]|0)|0)>>>1;x=e+g|0;v=e;e=d[h+2>>0]|0;a[k+2>>0]=(m+1+(d[49256+(l+16+((f+m|0)*20|0)-x-(x<<2)+e>>5)>>0]|0)|0)>>>1;x=f+e|0;l=d[h+3>>0]|0;a[k+3>>0]=(g+1+(d[49256+(v+16+((g+m|0)*20|0)-x-(x<<2)+l>>5)>>0]|0)|0)>>>1;b=b+-1|0;if(!b)break;else{x=f;k=k+4|0;h=h+4|0;f=l;l=x}}c=c+n|0;h=i;break}}while(0);j=j+-1|0;if(!j)break;else{c=c+s|0;h=h+q|0}}cc=u;return}function Re(b,c,e,f,g,h,i,j,k){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0;z=cc;cc=cc+448|0;if((cc|0)>=(dc|0))w(448);l=z;m=i+5|0;if(((e|0)>=0?!((f|0)<0|(m+e|0)>>>0>g>>>0):0)?(j+5+f|0)>>>0<=h>>>0:0){l=b;m=g}else{Ne(b,l,e,f,g,h,m,j+5|0,m);e=0;f=0}y=l+((r(f,m)|0)+e)|0;f=y+(r(m,k>>>1&1|2)|0)+5|0;y=y+m+2+(k&1)|0;do if(!j)f=c;else{u=i>>>2;v=m-i|0;x=16-i|0;if(!u){f=c+((r(j+-1|0,x)|0)+16-i)|0;break}s=i&-4;q=(r(s+16-i|0,j+-1|0)|0)+s+16-i|0;t=c;p=j;while(1){b=f+s|0;h=t;l=f;g=d[f+-1>>0]|0;k=d[f+-2>>0]|0;n=d[f+-3>>0]|0;o=d[f+-4>>0]|0;f=d[f+-5>>0]|0;e=u;while(1){A=o+g|0;B=o;o=d[l>>0]|0;a[h>>0]=a[49256+(f+16-A+((n+k|0)*20|0)-(A<<2)+o>>5)>>0]|0;A=n+o|0;f=n;n=d[l+1>>0]|0;a[h+1>>0]=a[49256+(B+16+((k+g|0)*20|0)-A-(A<<2)+n>>5)>>0]|0;A=k+n|0;B=k;k=d[l+2>>0]|0;a[h+2>>0]=a[49256+(f+16+((g+o|0)*20|0)-A-(A<<2)+k>>5)>>0]|0;A=g+k|0;f=d[l+3>>0]|0;a[h+3>>0]=a[49256+(B+16+((n+o|0)*20|0)-A-(A<<2)+f>>5)>>0]|0;e=e+-1|0;if(!e)break;else{B=g;h=h+4|0;l=l+4|0;g=f;f=B}}p=p+-1|0;if(!p)break;else{t=t+s+x|0;f=b+v|0}}f=c+q|0}while(0);e=j>>>2;if(!e){cc=z;return}q=m<<2;s=0-m|0;o=s<<1;p=m<<1;if(!i){cc=z;return}k=f+(0-(j<<4))|0;n=y;g=y+(m*5|0)|0;while(1){f=k;h=n;l=g;b=i;while(1){B=d[l+o>>0]|0;c=d[l+s>>0]|0;x=d[l+m>>0]|0;u=d[l>>0]|0;j=x+B|0;A=d[h+p>>0]|0;v=f+48|0;a[v>>0]=((d[49256+((d[l+p>>0]|0)+16-j-(j<<2)+A+((u+c|0)*20|0)>>5)>>0]|0)+1+(d[v>>0]|0)|0)>>>1;v=A+u|0;j=d[h+m>>0]|0;y=f+32|0;a[y>>0]=((d[49256+(x+16+((c+B|0)*20|0)-v-(v<<2)+j>>5)>>0]|0)+1+(d[y>>0]|0)|0)>>>1;y=d[h>>0]|0;v=j+c|0;x=f+16|0;a[x>>0]=((d[49256+(u+16+((A+B|0)*20|0)-v-(v<<2)+y>>5)>>0]|0)+1+(d[x>>0]|0)|0)>>>1;B=y+B|0;a[f>>0]=((d[49256+(c+16+((j+A|0)*20|0)-B-(B<<2)+(d[h+s>>0]|0)>>5)>>0]|0)+1+(d[f>>0]|0)|0)>>>1;b=b+-1|0;if(!b)break;else{f=f+1|0;h=h+1|0;l=l+1|0}}e=e+-1|0;if(!e)break;else{k=k+64|0;n=n+q|0;g=g+q|0}}cc=z;return}function Se(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=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;B=cc;cc=cc+1792|0;if((cc|0)>=(dc|0))w(1792);m=B+1344|0;A=B;q=j+5|0;if(((f|0)>=0?!((g|0)<0|(q+f|0)>>>0>h>>>0):0)?(k+5+g|0)>>>0<=i>>>0:0)m=b;else{Ne(b,m,f,g,h,i,q,k+5|0,q);h=q;f=0;g=0}g=m+((r(g,h)|0)+f)+h|0;f=k>>>2;if(f|0?(v=h<<2,x=q*3|0,y=0-h|0,s=y<<1,t=h<<1,u=q<<1,z=-5-j|0,q|0):0){i=A+(q<<2)|0;p=g;o=g+(h*5|0)|0;while(1){n=i+(q<<2)|0;g=p;m=o;b=q;while(1){C=d[m+s>>0]|0;D=d[m+y>>0]|0;H=d[m+h>>0]|0;I=d[m>>0]|0;G=H+C|0;E=d[g+t>>0]|0;c[i+(u<<2)>>2]=(d[m+t>>0]|0)-G-(G<<2)+E+((I+D|0)*20|0);G=E+I|0;F=d[g+h>>0]|0;c[i+(q<<2)>>2]=((D+C|0)*20|0)+H-G-(G<<2)+F;G=d[g>>0]|0;H=F+D|0;c[i>>2]=((E+C|0)*20|0)+I-H-(H<<2)+G;C=G+C|0;c[i+(z<<2)>>2]=((F+E|0)*20|0)+D-C-(C<<2)+(d[g+y>>0]|0);b=b+-1|0;if(!b)break;else{i=i+4|0;g=g+1|0;m=m+1|0}}f=f+-1|0;if(!f)break;else{i=n+(x<<2)|0;p=p+v|0;o=o+v|0}}}if(!k){cc=B;return}u=j>>>2;x=(u|0)==0;v=16-j|0;t=j&-4;g=A+8+(l<<2)|0;f=A+20|0;while(1){if(!x){s=g+(t<<2)|0;q=e;m=f;b=c[f+-4>>2]|0;h=c[f+-8>>2]|0;n=c[f+-12>>2]|0;o=c[f+-16>>2]|0;i=c[f+-20>>2]|0;p=u;while(1){I=o+b|0;H=o;o=c[m>>2]|0;a[q>>0]=((d[49256+(i+512-I+((n+h|0)*20|0)-(I<<2)+o>>10)>>0]|0)+1+(d[49256+((c[g>>2]|0)+16>>5)>>0]|0)|0)>>>1;I=o+n|0;i=n;n=c[m+4>>2]|0;a[q+1>>0]=((d[49256+(H+512+((h+b|0)*20|0)-I-(I<<2)+n>>10)>>0]|0)+1+(d[49256+((c[g+4>>2]|0)+16>>5)>>0]|0)|0)>>>1;I=n+h|0;H=h;h=c[m+8>>2]|0;a[q+2>>0]=((d[49256+(i+512+((o+b|0)*20|0)-I-(I<<2)+h>>10)>>0]|0)+1+(d[49256+((c[g+8>>2]|0)+16>>5)>>0]|0)|0)>>>1;I=h+b|0;i=c[m+12>>2]|0;a[q+3>>0]=((d[49256+(H+512+((n+o|0)*20|0)-I-(I<<2)+i>>10)>>0]|0)+1+(d[49256+((c[g+12>>2]|0)+16>>5)>>0]|0)|0)>>>1;p=p+-1|0;if(!p)break;else{I=b;q=q+4|0;g=g+16|0;m=m+16|0;b=i;i=I}}e=e+t|0;g=s;f=f+(t<<2)|0}k=k+-1|0;if(!k)break;else{e=e+v|0;g=g+20|0;f=f+20|0}}cc=B;return}function Te(b,c,e,f,g,h,i,j){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=cc;cc=cc+448|0;if((cc|0)>=(dc|0))w(448);k=s;l=i+5|0;if((e|0)>=0?!((j+f|0)>>>0>h>>>0|((f|0)<0|(l+e|0)>>>0>g>>>0)):0){k=b;l=g}else{Ne(b,k,e,f,g,h,l,j,l);e=0;f=0}f=k+((r(f,l)|0)+e)+5|0;if(!j){cc=s;return}q=i>>>2;o=l-i|0;p=16-i|0;if(!q){cc=s;return}n=i&-4;m=c;while(1){b=f+n|0;h=m;k=f;l=d[f+-1>>0]|0;g=d[f+-2>>0]|0;i=d[f+-3>>0]|0;c=d[f+-4>>0]|0;f=d[f+-5>>0]|0;e=q;while(1){t=c+l|0;u=c;c=d[k>>0]|0;a[h>>0]=a[49256+(f+16-t+((i+g|0)*20|0)-(t<<2)+c>>5)>>0]|0;t=i+c|0;f=i;i=d[k+1>>0]|0;a[h+1>>0]=a[49256+(u+16+((g+l|0)*20|0)-t-(t<<2)+i>>5)>>0]|0;t=g+i|0;u=g;g=d[k+2>>0]|0;a[h+2>>0]=a[49256+(f+16+((l+c|0)*20|0)-t-(t<<2)+g>>5)>>0]|0;t=l+g|0;f=d[k+3>>0]|0;a[h+3>>0]=a[49256+(u+16+((i+c|0)*20|0)-t-(t<<2)+f>>5)>>0]|0;e=e+-1|0;if(!e)break;else{u=l;h=h+4|0;k=k+4|0;l=f;f=u}}j=j+-1|0;if(!j)break;else{m=m+n+p|0;f=b+o|0}}cc=s;return}function Ue(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;y=cc;cc=cc+1792|0;if((cc|0)>=(dc|0))w(1792);n=y+1344|0;x=y;o=j+5|0;if(((f|0)>=0?!((g|0)<0|(o+f|0)>>>0>h>>>0):0)?(m=k+5|0,(m+g|0)>>>0<=i>>>0):0){n=b;i=h}else{m=k+5|0;Ne(b,n,f,g,h,i,o,m,o);i=o;f=0;g=0}g=n+((r(g,i)|0)+f)+5|0;if(m|0?(u=j>>>2,v=i-j|0,u|0):0){s=j&-4;t=x;while(1){b=g+s|0;i=t;n=g;o=d[g+-1>>0]|0;h=d[g+-2>>0]|0;p=d[g+-3>>0]|0;q=d[g+-4>>0]|0;g=d[g+-5>>0]|0;f=u;while(1){z=q+o|0;A=q;q=d[n>>0]|0;c[i>>2]=g-z+((p+h|0)*20|0)-(z<<2)+q;z=p+q|0;g=p;p=d[n+1>>0]|0;c[i+4>>2]=((h+o|0)*20|0)+A-z-(z<<2)+p;z=h+p|0;A=h;h=d[n+2>>0]|0;c[i+8>>2]=((o+q|0)*20|0)+g-z-(z<<2)+h;z=o+h|0;g=d[n+3>>0]|0;c[i+12>>2]=((p+q|0)*20|0)+A-z-(z<<2)+g;f=f+-1|0;if(!f)break;else{A=o;i=i+16|0;n=n+4|0;o=g;g=A}}m=m+-1|0;if(!m)break;else{t=t+(s<<2)|0;g=b+v|0}}}g=x+(j<<2)|0;f=k>>>2;if(!f){cc=y;return}k=(j|0)==0;v=64-j|0;t=j*3|0;x=0-j|0;u=x<<1;s=j<<1;n=e;m=g;i=g+((r(l+2|0,j)|0)<<2)|0;g=g+(j*5<<2)|0;while(1){if(!k){q=g+(j<<2)|0;p=m+(j<<2)|0;h=n;o=i;b=j;while(1){A=c[g+(u<<2)>>2]|0;e=c[g+(x<<2)>>2]|0;C=c[g+(j<<2)>>2]|0;D=c[g>>2]|0;B=C+A|0;z=c[m+(s<<2)>>2]|0;a[h+48>>0]=((d[49256+((c[g+(s<<2)>>2]|0)+512-B-(B<<2)+z+((D+e|0)*20|0)>>10)>>0]|0)+1+(d[49256+((c[o+(s<<2)>>2]|0)+16>>5)>>0]|0)|0)>>>1;B=z+D|0;l=c[m+(j<<2)>>2]|0;a[h+32>>0]=((d[49256+(C+512+((e+A|0)*20|0)-B-(B<<2)+l>>10)>>0]|0)+1+(d[49256+((c[o+(j<<2)>>2]|0)+16>>5)>>0]|0)|0)>>>1;B=c[m>>2]|0;C=l+e|0;a[h+16>>0]=((d[49256+(D+512+((z+A|0)*20|0)-C-(C<<2)+B>>10)>>0]|0)+1+(d[49256+((c[o>>2]|0)+16>>5)>>0]|0)|0)>>>1;A=B+A|0;a[h>>0]=((d[49256+(e+512+((l+z|0)*20|0)-A-(A<<2)+(c[m+(x<<2)>>2]|0)>>10)>>0]|0)+1+(d[49256+((c[o+(x<<2)>>2]|0)+16>>5)>>0]|0)|0)>>>1;b=b+-1|0;if(!b)break;else{h=h+1|0;m=m+4|0;o=o+4|0;g=g+4|0}}n=n+j|0;m=p;i=i+(j<<2)|0;g=q}f=f+-1|0;if(!f)break;else{n=n+v|0;m=m+(t<<2)|0;i=i+(t<<2)|0;g=g+(t<<2)|0}}cc=y;return}function Ve(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0;x=cc;cc=cc+1792|0;if((cc|0)>=(dc|0))w(1792);m=x+1344|0;v=x;n=j+5|0;if(((f|0)>=0?!((g|0)<0|(n+f|0)>>>0>h>>>0):0)?(l=k+5|0,(l+g|0)>>>0<=i>>>0):0){m=b;i=h}else{l=k+5|0;Ne(b,m,f,g,h,i,n,l,n);i=n;f=0;g=0}g=m+((r(g,i)|0)+f)+5|0;if(l|0?(t=j>>>2,u=i-j|0,t|0):0){q=j&-4;s=v;while(1){b=g+q|0;i=s;m=g;n=d[g+-1>>0]|0;h=d[g+-2>>0]|0;o=d[g+-3>>0]|0;p=d[g+-4>>0]|0;g=d[g+-5>>0]|0;f=t;while(1){y=p+n|0;z=p;p=d[m>>0]|0;c[i>>2]=g-y+((o+h|0)*20|0)-(y<<2)+p;y=o+p|0;g=o;o=d[m+1>>0]|0;c[i+4>>2]=((h+n|0)*20|0)+z-y-(y<<2)+o;y=h+o|0;z=h;h=d[m+2>>0]|0;c[i+8>>2]=((n+p|0)*20|0)+g-y-(y<<2)+h;y=n+h|0;g=d[m+3>>0]|0;c[i+12>>2]=((o+p|0)*20|0)+z-y-(y<<2)+g;f=f+-1|0;if(!f)break;else{z=n;i=i+16|0;m=m+4|0;n=g;g=z}}l=l+-1|0;if(!l)break;else{s=s+(q<<2)|0;g=b+u|0}}}g=v+(j<<2)|0;f=k>>>2;if(!f){cc=x;return}o=j*3|0;q=0-j|0;p=q<<1;h=j<<1;if(!j){cc=x;return}n=g;b=g+(j*5<<2)|0;while(1){g=e;l=n;i=b;m=j;while(1){z=c[i+(p<<2)>>2]|0;v=c[i+(q<<2)>>2]|0;t=c[i+(j<<2)>>2]|0;s=c[i>>2]|0;u=t+z|0;y=c[l+(h<<2)>>2]|0;a[g+48>>0]=a[49256+((c[i+(h<<2)>>2]|0)+512-u-(u<<2)+y+((s+v|0)*20|0)>>10)>>0]|0;u=y+s|0;k=c[l+(j<<2)>>2]|0;a[g+32>>0]=a[49256+(t+512+((v+z|0)*20|0)-u-(u<<2)+k>>10)>>0]|0;u=c[l>>2]|0;t=k+v|0;a[g+16>>0]=a[49256+(s+512+((y+z|0)*20|0)-t-(t<<2)+u>>10)>>0]|0;z=u+z|0;a[g>>0]=a[49256+(v+512+((k+y|0)*20|0)-z-(z<<2)+(c[l+(q<<2)>>2]|0)>>10)>>0]|0;m=m+-1|0;if(!m)break;else{g=g+1|0;l=l+4|0;i=i+4|0}}f=f+-1|0;if(!f)break;else{e=e+64|0;n=n+(j<<2)+(o<<2)|0;b=b+(j<<2)+(o<<2)|0}}cc=x;return}function We(b,c,e,f,g,h,i,j,k,l){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;E=cc;cc=cc+176|0;if((cc|0)>=(dc|0))w(176);m=E;n=k+1|0;if(((e|0)>=0?!((f|0)<0|(n+e|0)>>>0>g>>>0):0)?(l+1+f|0)>>>0<=h>>>0:0){m=b;n=g}else{D=l+1|0;Ne(b,m,e,f,g,h,n,D,n);Ne(b+(r(h,g)|0)|0,m+(r(D,n)|0)|0,e,f,g,h,n,D,n);h=D;e=0;f=0}C=8-i|0;D=8-j|0;l=l>>>1;u=(l|0)==0;y=n<<1;z=k>>>1;v=(z|0)==0;A=16-k|0;B=y-k|0;x=k&-2;if(u|v){cc=E;return}k=c;b=m+(r(f,n)|0)+e|0;t=l;while(1){g=d[b+n>>0]|0;q=b+x|0;o=k;p=b;s=(r(g,j)|0)+(r(D,d[b>>0]|0)|0)|0;b=(r(d[b+y>>0]|0,j)|0)+(r(D,g)|0)|0;g=z;while(1){H=p+1|0;G=d[H+n>>0]|0;F=(r(G,j)|0)+(r(D,d[H>>0]|0)|0)|0;G=(r(d[H+y>>0]|0,j)|0)+(r(D,G)|0)|0;H=((r(s,C)|0)+32+(r(F,i)|0)|0)>>>6;a[o+8>>0]=((r(b,C)|0)+32+(r(G,i)|0)|0)>>>6;a[o>>0]=H;p=p+2|0;H=d[p+n>>0]|0;s=(r(H,j)|0)+(r(D,d[p>>0]|0)|0)|0;b=(r(d[p+y>>0]|0,j)|0)+(r(D,H)|0)|0;F=((r(F,C)|0)+32+(r(s,i)|0)|0)>>>6;a[o+9>>0]=((r(G,C)|0)+32+(r(b,i)|0)|0)>>>6;a[o+1>>0]=F;g=g+-1|0;if(!g)break;else o=o+2|0}t=t+-1|0;if(!t)break;else{k=k+x+A|0;b=q+B|0}}if(u|v){cc=E;return}k=c+64|0;h=m+(r(h+f|0,n)|0)+e|0;while(1){m=d[h+n>>0]|0;e=h+x|0;b=k;g=h;f=(r(m,j)|0)+(r(D,d[h>>0]|0)|0)|0;h=(r(d[h+y>>0]|0,j)|0)+(r(D,m)|0)|0;m=z;while(1){F=g+1|0;G=d[F+n>>0]|0;H=(r(G,j)|0)+(r(D,d[F>>0]|0)|0)|0;G=(r(d[F+y>>0]|0,j)|0)+(r(D,G)|0)|0;F=((r(f,C)|0)+32+(r(H,i)|0)|0)>>>6;a[b+8>>0]=((r(h,C)|0)+32+(r(G,i)|0)|0)>>>6;a[b>>0]=F;g=g+2|0;F=d[g+n>>0]|0;f=(r(F,j)|0)+(r(D,d[g>>0]|0)|0)|0;h=(r(d[g+y>>0]|0,j)|0)+(r(D,F)|0)|0;H=((r(H,C)|0)+32+(r(f,i)|0)|0)>>>6;a[b+9>>0]=((r(G,C)|0)+32+(r(h,i)|0)|0)>>>6;a[b+1>>0]=H;m=m+-1|0;if(!m)break;else b=b+2|0}l=l+-1|0;if(!l)break;else{k=k+x+A|0;h=e+B|0}}cc=E;return}function Xe(b,c,e,f,g,h,i,j,k){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0;z=cc;cc=cc+144|0;if((cc|0)>=(dc|0))w(144);l=z;m=j+1|0;if((e|0)>=0?!((k+f|0)>>>0>h>>>0|((f|0)<0|(m+e|0)>>>0>g>>>0)):0){l=b;m=g}else{Ne(b,l,e,f,g,h,m,k,m);Ne(b+(r(h,g)|0)|0,l+(r(m,k)|0)|0,e,f,g,h,m,k,m);h=k;e=0;f=0}y=8-i|0;s=k>>>1;q=(s|0)==0;u=j>>>1;p=(u|0)==0;v=16-j|0;x=(m<<1)-j|0;t=j&-2;if(q|p){cc=z;return}k=c;b=l+(r(f,m)|0)+e|0;o=s;while(1){n=b+t|0;j=k;g=u;while(1){A=b+1|0;B=d[b>>0]|0;C=d[A+m>>0]|0;A=d[A>>0]|0;a[j+8>>0]=(((r(C,i)|0)+(r(y,d[b+m>>0]|0)|0)<<3)+32|0)>>>6;b=b+2|0;a[j>>0]=(((r(A,i)|0)+(r(y,B)|0)<<3)+32|0)>>>6;B=d[b>>0]|0;a[j+9>>0]=(((r(d[b+m>>0]|0,i)|0)+(r(y,C)|0)<<3)+32|0)>>>6;a[j+1>>0]=(((r(B,i)|0)+(r(y,A)|0)<<3)+32|0)>>>6;g=g+-1|0;if(!g)break;else j=j+2|0}o=o+-1|0;if(!o)break;else{k=k+t+v|0;b=n+x|0}}if(q|p){cc=z;return}k=c+64|0;h=l+(r(h+f|0,m)|0)+e|0;e=s;while(1){g=h+t|0;b=k;l=u;while(1){C=h+1|0;B=d[h>>0]|0;A=d[C+m>>0]|0;C=d[C>>0]|0;a[b+8>>0]=(((r(A,i)|0)+(r(y,d[h+m>>0]|0)|0)<<3)+32|0)>>>6;h=h+2|0;a[b>>0]=(((r(C,i)|0)+(r(y,B)|0)<<3)+32|0)>>>6;B=d[h>>0]|0;a[b+9>>0]=(((r(d[h+m>>0]|0,i)|0)+(r(y,A)|0)<<3)+32|0)>>>6;a[b+1>>0]=(((r(B,i)|0)+(r(y,C)|0)<<3)+32|0)>>>6;l=l+-1|0;if(!l)break;else b=b+2|0}e=e+-1|0;if(!e)break;else{k=k+t+v|0;h=g+x|0}}cc=z;return}function Ye(b,c,e,f,g,h,i,j,k){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=cc;cc=cc+144|0;if((cc|0)>=(dc|0))w(144);l=A;if(((e|0)>=0?!((f|0)<0|(j+e|0)>>>0>g>>>0):0)?(k+1+f|0)>>>0<=h>>>0:0)l=b;else{z=k+1|0;Ne(b,l,e,f,g,h,j,z,j);Ne(b+(r(h,g)|0)|0,l+(r(z,j)|0)|0,e,f,g,h,j,z,j);h=z;g=j;e=0;f=0}z=8-i|0;s=k>>>1;q=(s|0)==0;v=j>>>1;p=(v|0)==0;x=16-j|0;u=g<<1;y=u-j|0;t=j&-2;if(q|p){cc=A;return}j=c;b=l+(r(f,g)|0)+e|0;o=s;while(1){n=b+t|0;m=j;k=v;while(1){B=d[b+g>>0]|0;D=b+1|0;C=d[b>>0]|0;a[m+8>>0]=(((r(z,B)|0)+(r(d[b+u>>0]|0,i)|0)<<3)+32|0)>>>6;a[m>>0]=(((r(z,C)|0)+(r(B,i)|0)<<3)+32|0)>>>6;B=d[D+g>>0]|0;C=d[D>>0]|0;a[m+9>>0]=(((r(z,B)|0)+(r(d[D+u>>0]|0,i)|0)<<3)+32|0)>>>6;a[m+1>>0]=(((r(z,C)|0)+(r(B,i)|0)<<3)+32|0)>>>6;k=k+-1|0;if(!k)break;else{m=m+2|0;b=b+2|0}}o=o+-1|0;if(!o)break;else{j=j+t+x|0;b=n+y|0}}if(q|p){cc=A;return}k=c+64|0;h=l+(r(h+f|0,g)|0)+e|0;f=s;while(1){e=h+t|0;b=k;l=v;while(1){D=d[h+g>>0]|0;B=h+1|0;C=d[h>>0]|0;a[b+8>>0]=(((r(z,D)|0)+(r(d[h+u>>0]|0,i)|0)<<3)+32|0)>>>6;a[b>>0]=(((r(z,C)|0)+(r(D,i)|0)<<3)+32|0)>>>6;D=d[B+g>>0]|0;C=d[B>>0]|0;a[b+9>>0]=(((r(z,D)|0)+(r(d[B+u>>0]|0,i)|0)<<3)+32|0)>>>6;a[b+1>>0]=(((r(z,C)|0)+(r(D,i)|0)<<3)+32|0)>>>6;l=l+-1|0;if(!l)break;else{b=b+2|0;h=h+2|0}}f=f+-1|0;if(!f)break;else{k=k+t+x|0;h=e+y|0}}cc=A;return}function Ze(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;if(d){rj(c|0,a[b>>0]|0,d|0)|0;c=c+d|0}if(e){h=b+e|0;d=e;g=c;while(1){a[g>>0]=a[b>>0]|0;d=d+-1|0;if(!d)break;else{g=g+1|0;b=b+1|0}}c=c+e|0;b=h}if(!f)return;rj(c|0,a[b+-1>>0]|0,f|0)|0;return}function _e(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Ee(b,a,d);return}function $e(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(!f)return;m=c[b+4>>2]|0;n=r(c[b+8>>2]|0,m)|0;j=(f>>>0)/(m>>>0)|0;k=f-(r(j,m)|0)|0;h=m<<4;g=(c[b>>2]|0)+(r(m<<8,j)|0)+(k<<4)|0;l=m>>>0<=f>>>0;if(l){f=g+(0-(h|1))|0;i=f+1|0;a[d>>0]=a[f>>0]|0;f=i+1|0;a[d+1>>0]=a[i>>0]|0;i=f+1|0;a[d+2>>0]=a[f>>0]|0;f=i+1|0;a[d+3>>0]=a[i>>0]|0;i=f+1|0;a[d+4>>0]=a[f>>0]|0;f=i+1|0;a[d+5>>0]=a[i>>0]|0;i=f+1|0;a[d+6>>0]=a[f>>0]|0;f=i+1|0;a[d+7>>0]=a[i>>0]|0;i=f+1|0;a[d+8>>0]=a[f>>0]|0;f=i+1|0;a[d+9>>0]=a[i>>0]|0;i=f+1|0;a[d+10>>0]=a[f>>0]|0;f=i+1|0;a[d+11>>0]=a[i>>0]|0;i=f+1|0;a[d+12>>0]=a[f>>0]|0;f=i+1|0;a[d+13>>0]=a[i>>0]|0;i=f+1|0;a[d+14>>0]=a[f>>0]|0;f=i+1|0;a[d+15>>0]=a[i>>0]|0;i=f+1|0;a[d+16>>0]=a[f>>0]|0;f=i+1|0;a[d+17>>0]=a[i>>0]|0;i=f+1|0;a[d+18>>0]=a[f>>0]|0;a[d+19>>0]=a[i>>0]|0;a[d+20>>0]=a[i+1>>0]|0;d=d+21|0}i=(k|0)!=0;if(i){g=g+-1|0;a[e>>0]=a[g>>0]|0;g=g+h|0;a[e+1>>0]=a[g>>0]|0;g=g+h|0;a[e+2>>0]=a[g>>0]|0;g=g+h|0;a[e+3>>0]=a[g>>0]|0;g=g+h|0;a[e+4>>0]=a[g>>0]|0;g=g+h|0;a[e+5>>0]=a[g>>0]|0;g=g+h|0;a[e+6>>0]=a[g>>0]|0;g=g+h|0;a[e+7>>0]=a[g>>0]|0;g=g+h|0;a[e+8>>0]=a[g>>0]|0;g=g+h|0;a[e+9>>0]=a[g>>0]|0;g=g+h|0;a[e+10>>0]=a[g>>0]|0;g=g+h|0;a[e+11>>0]=a[g>>0]|0;g=g+h|0;a[e+12>>0]=a[g>>0]|0;g=g+h|0;a[e+13>>0]=a[g>>0]|0;g=g+h|0;a[e+14>>0]=a[g>>0]|0;a[e+15>>0]=a[g+h>>0]|0;e=e+16|0}g=m<<3&2147483640;f=(c[b>>2]|0)+(n<<8)+(r(j<<3,g)|0)+(k<<3)|0;if(l){k=f+(0-(g|1))|0;l=k+1|0;a[d>>0]=a[k>>0]|0;k=l+1|0;a[d+1>>0]=a[l>>0]|0;l=k+1|0;a[d+2>>0]=a[k>>0]|0;k=l+1|0;a[d+3>>0]=a[l>>0]|0;l=k+1|0;a[d+4>>0]=a[k>>0]|0;k=l+1|0;a[d+5>>0]=a[l>>0]|0;l=k+1|0;a[d+6>>0]=a[k>>0]|0;k=l+1|0;a[d+7>>0]=a[l>>0]|0;a[d+8>>0]=a[k>>0]|0;k=k+1+((n<<6)+-9)|0;l=k+1|0;a[d+9>>0]=a[k>>0]|0;k=l+1|0;a[d+10>>0]=a[l>>0]|0;l=k+1|0;a[d+11>>0]=a[k>>0]|0;k=l+1|0;a[d+12>>0]=a[l>>0]|0;l=k+1|0;a[d+13>>0]=a[k>>0]|0;k=l+1|0;a[d+14>>0]=a[l>>0]|0;l=k+1|0;a[d+15>>0]=a[k>>0]|0;a[d+16>>0]=a[l>>0]|0;a[d+17>>0]=a[l+1>>0]|0}if(!i)return;l=f+-1|0;a[e>>0]=a[l>>0]|0;l=l+g|0;a[e+1>>0]=a[l>>0]|0;l=l+g|0;a[e+2>>0]=a[l>>0]|0;l=l+g|0;a[e+3>>0]=a[l>>0]|0;l=l+g|0;a[e+4>>0]=a[l>>0]|0;l=l+g|0;a[e+5>>0]=a[l>>0]|0;l=l+g|0;a[e+6>>0]=a[l>>0]|0;l=l+g|0;a[e+7>>0]=a[l>>0]|0;n=l+g+(n-m<<6)|0;a[e+8>>0]=a[n>>0]|0;n=n+g|0;a[e+9>>0]=a[n>>0]|0;n=n+g|0;a[e+10>>0]=a[n>>0]|0;n=n+g|0;a[e+11>>0]=a[n>>0]|0;n=n+g|0;a[e+12>>0]=a[n>>0]|0;n=n+g|0;a[e+13>>0]=a[n>>0]|0;n=n+g|0;a[e+14>>0]=a[n>>0]|0;a[e+15>>0]=a[n+g>>0]|0;return}function af(a){a=a|0;return (a>>>0<6?2:(a|0)!=6&1)|0}function bf(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;k=b+200|0;j=ef(b,c[k>>2]|0)|0;m=(i|0)!=0;if(m&(j|0)!=0){y=(af(c[c[k>>2]>>2]|0)|0)==2;j=y?0:j}k=b+204|0;i=ef(b,c[k>>2]|0)|0;if(m&(i|0)!=0){l=(af(c[c[k>>2]>>2]|0)|0)==2;l=l?0:i}else l=i;k=b+212|0;i=ef(b,c[k>>2]|0)|0;if(m&(i|0)!=0){y=(af(c[c[k>>2]>>2]|0)|0)==2;i=y?0:i}switch(lf(c[b>>2]|0)|0){case 0:{if(!l){f=1;return f|0}l=g+1|0;m=g+2|0;q=g+3|0;s=g+4|0;t=g+5|0;u=g+6|0;v=g+7|0;w=g+8|0;x=g+9|0;y=g+10|0;b=g+11|0;h=g+12|0;n=g+13|0;o=g+14|0;p=g+15|0;i=g+16|0;j=e;k=0;while(1){a[j>>0]=a[l>>0]|0;a[j+1>>0]=a[m>>0]|0;a[j+2>>0]=a[q>>0]|0;a[j+3>>0]=a[s>>0]|0;a[j+4>>0]=a[t>>0]|0;a[j+5>>0]=a[u>>0]|0;a[j+6>>0]=a[v>>0]|0;a[j+7>>0]=a[w>>0]|0;a[j+8>>0]=a[x>>0]|0;a[j+9>>0]=a[y>>0]|0;a[j+10>>0]=a[b>>0]|0;a[j+11>>0]=a[h>>0]|0;a[j+12>>0]=a[n>>0]|0;a[j+13>>0]=a[o>>0]|0;a[j+14>>0]=a[p>>0]|0;a[j+15>>0]=a[i>>0]|0;k=k+1|0;if((k|0)==16)break;else j=j+16|0}break}case 1:{if(!j){f=1;return f|0}i=e;j=0;while(1){g=h+j|0;a[i>>0]=a[g>>0]|0;a[i+1>>0]=a[g>>0]|0;a[i+2>>0]=a[g>>0]|0;a[i+3>>0]=a[g>>0]|0;a[i+4>>0]=a[g>>0]|0;a[i+5>>0]=a[g>>0]|0;a[i+6>>0]=a[g>>0]|0;a[i+7>>0]=a[g>>0]|0;a[i+8>>0]=a[g>>0]|0;a[i+9>>0]=a[g>>0]|0;a[i+10>>0]=a[g>>0]|0;a[i+11>>0]=a[g>>0]|0;a[i+12>>0]=a[g>>0]|0;a[i+13>>0]=a[g>>0]|0;a[i+14>>0]=a[g>>0]|0;a[i+15>>0]=a[g>>0]|0;j=j+1|0;if((j|0)==16)break;else i=i+16|0}break}case 2:{k=g+1|0;j=(j|0)!=0;i=(l|0)!=0;do if(!(j&i)){if(j){i=((d[h>>0]|0)+8+(d[h+1>>0]|0)+(d[h+2>>0]|0)+(d[h+3>>0]|0)+(d[h+4>>0]|0)+(d[h+5>>0]|0)+(d[h+6>>0]|0)+(d[h+7>>0]|0)+(d[h+8>>0]|0)+(d[h+9>>0]|0)+(d[h+10>>0]|0)+(d[h+11>>0]|0)+(d[h+12>>0]|0)+(d[h+13>>0]|0)+(d[h+14>>0]|0)+(d[h+15>>0]|0)|0)>>>4;break}if(i)i=((d[k>>0]|0)+8+(d[g+2>>0]|0)+(d[g+3>>0]|0)+(d[g+4>>0]|0)+(d[g+5>>0]|0)+(d[g+6>>0]|0)+(d[g+7>>0]|0)+(d[g+8>>0]|0)+(d[g+9>>0]|0)+(d[g+10>>0]|0)+(d[g+11>>0]|0)+(d[g+12>>0]|0)+(d[g+13>>0]|0)+(d[g+14>>0]|0)+(d[g+15>>0]|0)+(d[g+16>>0]|0)|0)>>>4;else i=128}else i=((d[k>>0]|0)+16+(d[h>>0]|0)+(d[g+2>>0]|0)+(d[h+1>>0]|0)+(d[g+3>>0]|0)+(d[h+2>>0]|0)+(d[g+4>>0]|0)+(d[h+3>>0]|0)+(d[g+5>>0]|0)+(d[h+4>>0]|0)+(d[g+6>>0]|0)+(d[h+5>>0]|0)+(d[g+7>>0]|0)+(d[h+6>>0]|0)+(d[g+8>>0]|0)+(d[h+7>>0]|0)+(d[g+9>>0]|0)+(d[h+8>>0]|0)+(d[g+10>>0]|0)+(d[h+9>>0]|0)+(d[g+11>>0]|0)+(d[h+10>>0]|0)+(d[g+12>>0]|0)+(d[h+11>>0]|0)+(d[g+13>>0]|0)+(d[h+12>>0]|0)+(d[g+14>>0]|0)+(d[h+13>>0]|0)+(d[g+15>>0]|0)+(d[h+14>>0]|0)+(d[g+16>>0]|0)+(d[h+15>>0]|0)|0)>>>5;while(0);rj(e|0,i&255|0,256)|0;break}default:{if(!((j|0)!=0&(l|0)!=0&(i|0)!=0)){f=1;return f|0}w=d[g+16>>0]|0;u=d[h+15>>0]|0;v=d[g>>0]|0;x=u+w<<4;w=(((d[g+9>>0]|0)-(d[g+7>>0]|0)+((d[g+10>>0]|0)-(d[g+6>>0]|0)<<1)+(((d[g+11>>0]|0)-(d[g+5>>0]|0)|0)*3|0)+((d[g+12>>0]|0)-(d[g+4>>0]|0)<<2)+(((d[g+13>>0]|0)-(d[g+3>>0]|0)|0)*5|0)+(((d[g+14>>0]|0)-(d[g+2>>0]|0)|0)*6|0)+(((d[g+15>>0]|0)-(d[g+1>>0]|0)|0)*7|0)+(w-v<<3)|0)*5|0)+32>>6;v=(((d[h+8>>0]|0)-(d[h+6>>0]|0)+(u-v<<3)+((d[h+9>>0]|0)-(d[h+5>>0]|0)<<1)+(((d[h+10>>0]|0)-(d[h+4>>0]|0)|0)*3|0)+((d[h+11>>0]|0)-(d[h+3>>0]|0)<<2)+(((d[h+12>>0]|0)-(d[h+2>>0]|0)|0)*5|0)+(((d[h+13>>0]|0)-(d[h+1>>0]|0)|0)*6|0)+(((d[h+14>>0]|0)-(d[h>>0]|0)|0)*7|0)|0)*5|0)+32>>6;u=r(w,-7)|0;j=r(w,-6)|0;o=r(w,-5)|0;p=r(w,-4)|0;q=r(w,-3)|0;s=r(w,-2)|0;t=w<<1;k=w*3|0;l=w<<2;m=w*5|0;b=w*6|0;h=w*7|0;n=w<<3;i=0;do{z=(r(i+-7|0,v)|0)+x|0;g=i<<4;y=z+u|0;A=y+16>>5;a[e+g>>0]=(y|0)<-16?0:((A|0)<255?A:255)&255;A=z+j|0;y=A+16>>5;a[e+(g|1)>>0]=(A|0)<-16?0:((y|0)<255?y:255)&255;y=z+o|0;A=y+16>>5;a[e+(g|2)>>0]=(y|0)<-16?0:((A|0)<255?A:255)&255;A=z+p|0;y=A+16>>5;a[e+(g|3)>>0]=(A|0)<-16?0:((y|0)<255?y:255)&255;y=z+q|0;A=y+16>>5;a[e+(g|4)>>0]=(y|0)<-16?0:((A|0)<255?A:255)&255;A=z+s|0;y=A+16>>5;a[e+(g|5)>>0]=(A|0)<-16?0:((y|0)<255?y:255)&255;y=z-w|0;A=y+16>>5;a[e+(g|6)>>0]=(y|0)<-16?0:((A|0)<255?A:255)&255;A=z+16>>5;a[e+(g|7)>>0]=(z|0)<-16?0:((A|0)<255?A:255)&255;A=z+w|0;y=A+16>>5;a[e+(g|8)>>0]=(A|0)<-16?0:((y|0)<255?y:255)&255;y=z+t|0;A=y+16>>5;a[e+(g|9)>>0]=(y|0)<-16?0:((A|0)<255?A:255)&255;A=z+k|0;y=A+16>>5;a[e+(g|10)>>0]=(A|0)<-16?0:((y|0)<255?y:255)&255;y=z+l|0;A=y+16>>5;a[e+(g|11)>>0]=(y|0)<-16?0:((A|0)<255?A:255)&255;A=z+m|0;y=A+16>>5;a[e+(g|12)>>0]=(A|0)<-16?0:((y|0)<255?y:255)&255;y=z+b|0;A=y+16>>5;a[e+(g|13)>>0]=(y|0)<-16?0:((A|0)<255?A:255)&255;A=z+h|0;y=A+16>>5;a[e+(g|14)>>0]=(A|0)<-16?0:((y|0)<255?y:255)&255;z=z+n|0;y=z+16>>5;a[e+(g|15)>>0]=(z|0)<-16?0:((y|0)<255?y:255)&255;i=i+1|0}while((i|0)!=16)}}ff(e,f,0);ff(e,f+64|0,1);ff(e,f+128|0,2);ff(e,f+192|0,3);ff(e,f+256|0,4);ff(e,f+320|0,5);ff(e,f+384|0,6);ff(e,f+448|0,7);ff(e,f+512|0,8);ff(e,f+576|0,9);ff(e,f+640|0,10);ff(e,f+704|0,11);ff(e,f+768|0,12);ff(e,f+832|0,13);ff(e,f+896|0,14);ff(e,f+960|0,15);A=0;return A|0}function cf(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,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=(i|0)!=0;K=0;a:while(1){m=gf(K)|0;l=c[m+4>>2]|0;m=Le(b,c[m>>2]|0)|0;i=ef(b,m)|0;if(L&(i|0)!=0){J=(af(c[m>>2]|0)|0)==2;i=J?0:i}n=hf(K)|0;k=c[n+4>>2]|0;n=Le(b,c[n>>2]|0)|0;j=ef(b,n)|0;if(L&(j|0)!=0){J=(af(c[n>>2]|0)|0)==2;j=J?0:j}H=(i|0)!=0;G=(j|0)!=0;F=H&G;if(F){if(!(af(c[m>>2]|0)|0))j=d[(l&255)+(m+82)>>0]|0;else j=2;if(!(af(c[n>>2]|0)|0))i=d[(k&255)+(n+82)>>0]|0;else i=2;i=j>>>0>>0?j:i}else i=2;if(!(c[f+12+(K<<2)>>2]|0)){J=c[f+76+(K<<2)>>2]|0;i=J+(J>>>0>=i>>>0&1)|0}a[b+82+K>>0]=i;j=c[(jf(K)|0)>>2]|0;j=Le(b,j)|0;k=ef(b,j)|0;if(L&(k|0)!=0){J=(af(c[j>>2]|0)|0)==2;k=J?0:k}j=c[(kf(K)|0)>>2]|0;j=Le(b,j)|0;l=ef(b,j)|0;if(L&(l|0)!=0){J=(af(c[j>>2]|0)|0)==2;l=J?0:l}I=c[1864+(K<<2)>>2]|0;J=c[1928+(K<<2)>>2]|0;t=(1285>>>K&1|0)!=0;if(t){p=h+(J+2)|0;n=J+3|0;o=h;j=h+J|0;m=h+(J+1)|0}else{m=(J<<4)+I|0;p=e+(m+31)|0;n=m+47|0;o=e;j=e+(m+-1)|0;m=e+(m+15)|0}A=a[j>>0]|0;z=a[m>>0]|0;E=a[o+n>>0]|0;D=a[p>>0]|0;do if(!(51>>>K&1)){m=J+-1|0;j=(m<<4)+I|0;u=a[e+j>>0]|0;v=a[e+(j+1)>>0]|0;w=a[e+(j+2)>>0]|0;n=a[e+(j+3)>>0]|0;o=a[e+(j+4)>>0]|0;p=a[e+(j+5)>>0]|0;q=a[e+(j+6)>>0]|0;s=a[e+(j+7)>>0]|0;if(t){j=h+m|0;C=n;B=q;m=s;y=u;x=v;break}else{j=e+(j+-1)|0;C=n;B=q;m=s;y=u;x=v;break}}else{j=g+I|0;C=a[g+(I+4)>>0]|0;o=a[g+(I+5)>>0]|0;p=a[g+(I+6)>>0]|0;B=a[g+(I+7)>>0]|0;m=a[g+(I+8)>>0]|0;y=a[g+(I+1)>>0]|0;x=a[g+(I+2)>>0]|0;w=a[g+(I+3)>>0]|0}while(0);j=a[j>>0]|0;switch(i|0){case 0:{if(!G){i=1;j=51;break a}j=y;k=x;l=w;m=C;n=y;o=x;p=w;q=C;s=y;t=x;u=w;v=C;i=(w&255)<<16|(C&255)<<24|y&255|(x&255)<<8;break}case 1:{if(!H){i=1;j=51;break a}m=r(A&255,16843009)|0;q=r(z&255,16843009)|0;v=r(D&255,16843009)|0;j=m&255;k=m>>>8&255;l=m>>>16&255;m=m>>>24&255;n=q&255;o=q>>>8&255;p=q>>>16&255;q=q>>>24&255;s=v&255;t=v>>>8&255;u=v>>>16&255;v=v>>>24&255;i=r(E&255,16843009)|0;break}case 2:{do if(!F){if(H){i=((A&255)+2+(z&255)+(E&255)+(D&255)|0)>>>2;break}if(G)i=((C&255)+2+(w&255)+(x&255)+(y&255)|0)>>>2;else i=128}else i=((A&255)+4+(z&255)+(E&255)+(D&255)+(C&255)+(w&255)+(x&255)+(y&255)|0)>>>3;while(0);i=r(i&255,16843009)|0;s=i&255;t=i>>>8&255;u=i>>>16&255;v=i>>>24&255;j=s;k=t;l=u;m=v;n=s;o=t;p=u;q=v;break}case 3:{if(!G){i=1;j=51;break a}G=(k|0)==0;j=x&255;k=w&255;s=C&255;E=s+2|0;n=(E+j+(k<<1)|0)>>>2&255;H=(G?C:o)&255;s=(H+2+k+(s<<1)|0)>>>2&255;l=(G?C:p)&255;E=(E+l+(H<<1)|0)>>>2;t=E&255;i=(G?C:B)&255;F=i+2|0;H=(F+H+(l<<1)|0)>>>2;u=H&255;G=(G?C:m)&255;i=(l+2+G+(i<<1)|0)>>>2;j=(k+2+(y&255)+(j<<1)|0)>>>2&255;k=n;l=s;m=t;o=s;p=t;q=u;v=i&255;i=E&255|(F+(G*3|0)|0)>>>2<<24|H<<8&65280|i<<16&16711680;break}case 4:{if(!(F&(l|0)!=0)){i=1;j=51;break a}v=y&255;i=j&255;j=A&255;q=v+2|0;H=(q+j+(i<<1)|0)>>>2;u=H&255;G=x&255;n=G+2|0;v=(n+(v<<1)+i|0)>>>2&255;m=w&255;q=((G<<1)+m+q|0)>>>2&255;G=z&255;B=G+2|0;i=(B+(j<<1)+i|0)>>>2;t=i&255;F=D&255;G=(j+2+(G<<1)+F|0)>>>2;j=u;k=v;l=q;m=(n+(C&255)+(m<<1)|0)>>>2&255;n=t;o=u;p=v;s=G&255;i=(B+(E&255)+(F<<1)|0)>>>2&255|G<<8&65280|H<<24|i<<16&16711680;break}case 5:{if(!(F&(l|0)!=0)){i=1;j=51;break a}s=j&255;u=y&255;t=(u+1+s|0)>>>1&255;v=x&255;B=v+2|0;i=(B+(u<<1)+s|0)>>>2;F=A&255;E=u+2|0;H=(E+F+(s<<1)|0)>>>2;u=(v+1+u|0)>>>1&255;q=w&255;E=((v<<1)+q+E|0)>>>2;m=q+1|0;v=(m+v|0)>>>1&255;C=C&255;G=z&255;j=t;k=u;l=v;m=(m+C|0)>>>1&255;n=H&255;o=i&255;p=E&255;q=(B+C+(q<<1)|0)>>>2&255;s=(G+2+(F<<1)+s|0)>>>2&255;i=E<<24|(F+2+(G<<1)+(D&255)|0)>>>2&255|H<<8&65280|i<<16&16711680;break}case 6:{if(!(F&(l|0)!=0)){i=1;j=51;break a}l=j&255;q=A&255;u=q+1|0;p=(u+l|0)>>>1&255;H=z&255;G=H+2|0;v=(G+(q<<1)+l|0)>>>2&255;u=(u+H|0)>>>1&255;i=D&255;q=q+2|0;F=(q+(H<<1)+i|0)>>>2;D=(H+1+i|0)>>>1;H=E&255;n=y&255;q=(q+n+(l<<1)|0)>>>2&255;m=x&255;j=p;k=q;l=(m+2+(n<<1)+l|0)>>>2&255;m=(n+2+(w&255)+(m<<1)|0)>>>2&255;n=u;o=v;s=D&255;t=F&255;i=D<<16&16711680|F<<24|(i+1+H|0)>>>1&255|G+H+(i<<1)<<6&65280;break}case 7:{if(!G){i=1;j=51;break a}F=(k|0)==0;q=y&255;n=x&255;A=w&255;s=(A+1+n|0)>>>1&255;D=C&255;u=D+1|0;t=(u+A|0)>>>1&255;v=(F?C:o)&255;u=(u+v|0)>>>1&255;i=D+2|0;H=(i+n+(A<<1)|0)>>>2;E=v+2|0;D=(E+A+(D<<1)|0)>>>2;G=(F?C:p)&255;i=(i+G+(v<<1)|0)>>>2;j=(n+1+q|0)>>>1&255;k=s;l=t;m=u;n=(A+2+q+(n<<1)|0)>>>2&255;o=H&255;p=D&255;q=i&255;v=(v+1+G|0)>>>1&255;i=D<<8&65280|(E+((F?C:B)&255)+(G<<1)|0)>>>2<<24|H&255|i<<16&16711680;break}default:{if(!H){i=1;j=51;break a}l=A&255;k=z&255;j=k+1|0;s=D&255;m=s+2|0;n=(j+s|0)>>>1&255;i=E&255;o=(k+2+i+(s<<1)|0)>>>2&255;s=(s+1+i|0)>>>1&255;t=(m+(i*3|0)|0)>>>2&255;j=(j+l|0)>>>1&255;k=(m+l+(k<<1)|0)>>>2&255;l=n;m=o;p=s;q=t;u=E;v=E;i=i<<8|i|i<<16|i<<24}}J=e+((J<<4)+I)|0;c[J>>2]=(l&255)<<16|(m&255)<<24|(k&255)<<8|j&255;c[J+16>>2]=(p&255)<<16|(q&255)<<24|(o&255)<<8|n&255;c[J+32>>2]=(u&255)<<16|(v&255)<<24|(t&255)<<8|s&255;c[J+48>>2]=i;ff(e,f+328+(K<<6)|0,K);K=K+1|0;if(K>>>0>=16){i=0;j=51;break}}if((j|0)==51)return i|0;return 0}function df(b,e,f,g,h,i,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;l=b+200|0;k=ef(b,c[l>>2]|0)|0;m=(j|0)!=0;if(m&(k|0)!=0){w=(af(c[c[l>>2]>>2]|0)|0)==2;k=w?0:k}l=b+204|0;j=ef(b,c[l>>2]|0)|0;if(m&(j|0)!=0){n=(af(c[c[l>>2]>>2]|0)|0)==2;n=n?0:j}else n=j;l=b+212|0;j=ef(b,c[l>>2]|0)|0;if(m&(j|0)!=0){w=(af(c[c[l>>2]>>2]|0)|0)==2;j=w?0:j}v=(k|0)!=0;w=(n|0)!=0;u=v&w;t=u&(j|0)!=0;s=(k|0)==0;q=(n|0)==0;o=16;p=1;n=f;a:while(1){switch(i|0){case 0:{l=g+1|0;do if(!u){if(w){j=((d[l>>0]|0)+2+(d[g+2>>0]|0)+(d[g+3>>0]|0)+(d[g+4>>0]|0)|0)>>>2;k=((d[g+5>>0]|0)+2+(d[g+6>>0]|0)+(d[g+7>>0]|0)+(d[g+8>>0]|0)|0)>>>2;break}if(v){k=((d[h>>0]|0)+2+(d[h+1>>0]|0)+(d[h+2>>0]|0)+(d[h+3>>0]|0)|0)>>>2;j=k}else{j=128;k=128}}else{j=((d[l>>0]|0)+4+(d[g+2>>0]|0)+(d[g+3>>0]|0)+(d[g+4>>0]|0)+(d[h>>0]|0)+(d[h+1>>0]|0)+(d[h+2>>0]|0)+(d[h+3>>0]|0)|0)>>>3;k=((d[g+5>>0]|0)+2+(d[g+6>>0]|0)+(d[g+7>>0]|0)+(d[g+8>>0]|0)|0)>>>2}while(0);b=j&255;f=k&255;rj(e|0,b|0,4)|0;rj(e+4|0,f|0,4)|0;rj(e+8|0,b|0,4)|0;rj(e+12|0,f|0,4)|0;rj(e+16|0,b|0,4)|0;rj(e+20|0,f|0,4)|0;m=e+32|0;rj(e+24|0,b|0,4)|0;rj(e+28|0,f|0,4)|0;if(v){l=d[h+7>>0]|0;k=(d[h+5>>0]|0)+(d[h+4>>0]|0)+(d[h+6>>0]|0)|0;j=(k+2+l|0)>>>2;if(w){b=j;j=(k+4+l+(d[g+5>>0]|0)+(d[g+6>>0]|0)+(d[g+7>>0]|0)+(d[g+8>>0]|0)|0)>>>3}else b=j}else if(w){b=((d[l>>0]|0)+2+(d[g+2>>0]|0)+(d[g+3>>0]|0)+(d[g+4>>0]|0)|0)>>>2;j=((d[g+5>>0]|0)+2+(d[g+6>>0]|0)+(d[g+7>>0]|0)+(d[g+8>>0]|0)|0)>>>2}else{b=128;j=128}b=b&255;f=j&255;rj(m|0,b|0,4)|0;rj(e+36|0,f|0,4)|0;rj(e+40|0,b|0,4)|0;rj(e+44|0,f|0,4)|0;rj(e+48|0,b|0,4)|0;rj(e+52|0,f|0,4)|0;rj(e+56|0,b|0,4)|0;rj(e+60|0,f|0,4)|0;break}case 1:{if(s){j=1;k=28;break a}a[e>>0]=a[h>>0]|0;a[e+1>>0]=a[h>>0]|0;a[e+2>>0]=a[h>>0]|0;a[e+3>>0]=a[h>>0]|0;a[e+4>>0]=a[h>>0]|0;a[e+5>>0]=a[h>>0]|0;a[e+6>>0]=a[h>>0]|0;f=h+1|0;a[e+7>>0]=a[h>>0]|0;a[e+8>>0]=a[f>>0]|0;a[e+9>>0]=a[f>>0]|0;a[e+10>>0]=a[f>>0]|0;a[e+11>>0]=a[f>>0]|0;a[e+12>>0]=a[f>>0]|0;a[e+13>>0]=a[f>>0]|0;a[e+14>>0]=a[f>>0]|0;m=h+2|0;a[e+15>>0]=a[f>>0]|0;a[e+16>>0]=a[m>>0]|0;a[e+17>>0]=a[m>>0]|0;a[e+18>>0]=a[m>>0]|0;a[e+19>>0]=a[m>>0]|0;a[e+20>>0]=a[m>>0]|0;a[e+21>>0]=a[m>>0]|0;a[e+22>>0]=a[m>>0]|0;f=h+3|0;a[e+23>>0]=a[m>>0]|0;a[e+24>>0]=a[f>>0]|0;a[e+25>>0]=a[f>>0]|0;a[e+26>>0]=a[f>>0]|0;a[e+27>>0]=a[f>>0]|0;a[e+28>>0]=a[f>>0]|0;a[e+29>>0]=a[f>>0]|0;a[e+30>>0]=a[f>>0]|0;m=h+4|0;a[e+31>>0]=a[f>>0]|0;a[e+32>>0]=a[m>>0]|0;a[e+33>>0]=a[m>>0]|0;a[e+34>>0]=a[m>>0]|0;a[e+35>>0]=a[m>>0]|0;a[e+36>>0]=a[m>>0]|0;a[e+37>>0]=a[m>>0]|0;a[e+38>>0]=a[m>>0]|0;f=h+5|0;a[e+39>>0]=a[m>>0]|0;a[e+40>>0]=a[f>>0]|0;a[e+41>>0]=a[f>>0]|0;a[e+42>>0]=a[f>>0]|0;a[e+43>>0]=a[f>>0]|0;a[e+44>>0]=a[f>>0]|0;a[e+45>>0]=a[f>>0]|0;a[e+46>>0]=a[f>>0]|0;m=h+6|0;a[e+47>>0]=a[f>>0]|0;a[e+48>>0]=a[m>>0]|0;a[e+49>>0]=a[m>>0]|0;a[e+50>>0]=a[m>>0]|0;a[e+51>>0]=a[m>>0]|0;a[e+52>>0]=a[m>>0]|0;a[e+53>>0]=a[m>>0]|0;a[e+54>>0]=a[m>>0]|0;f=h+7|0;a[e+55>>0]=a[m>>0]|0;a[e+56>>0]=a[f>>0]|0;a[e+57>>0]=a[f>>0]|0;a[e+58>>0]=a[f>>0]|0;a[e+59>>0]=a[f>>0]|0;a[e+60>>0]=a[f>>0]|0;a[e+61>>0]=a[f>>0]|0;a[e+62>>0]=a[f>>0]|0;a[e+63>>0]=a[f>>0]|0;break}case 2:{if(q){j=1;k=28;break a}m=g+1|0;a[e>>0]=a[m>>0]|0;a[e+8>>0]=a[m>>0]|0;a[e+16>>0]=a[m>>0]|0;a[e+24>>0]=a[m>>0]|0;a[e+32>>0]=a[m>>0]|0;a[e+40>>0]=a[m>>0]|0;a[e+48>>0]=a[m>>0]|0;f=g+2|0;a[e+56>>0]=a[m>>0]|0;a[e+1>>0]=a[f>>0]|0;a[e+9>>0]=a[f>>0]|0;a[e+17>>0]=a[f>>0]|0;a[e+25>>0]=a[f>>0]|0;a[e+33>>0]=a[f>>0]|0;a[e+41>>0]=a[f>>0]|0;a[e+49>>0]=a[f>>0]|0;m=g+3|0;a[e+57>>0]=a[f>>0]|0;a[e+2>>0]=a[m>>0]|0;a[e+10>>0]=a[m>>0]|0;a[e+18>>0]=a[m>>0]|0;a[e+26>>0]=a[m>>0]|0;a[e+34>>0]=a[m>>0]|0;a[e+42>>0]=a[m>>0]|0;a[e+50>>0]=a[m>>0]|0;f=g+4|0;a[e+58>>0]=a[m>>0]|0;a[e+3>>0]=a[f>>0]|0;a[e+11>>0]=a[f>>0]|0;a[e+19>>0]=a[f>>0]|0;a[e+27>>0]=a[f>>0]|0;a[e+35>>0]=a[f>>0]|0;a[e+43>>0]=a[f>>0]|0;a[e+51>>0]=a[f>>0]|0;m=g+5|0;a[e+59>>0]=a[f>>0]|0;a[e+4>>0]=a[m>>0]|0;a[e+12>>0]=a[m>>0]|0;a[e+20>>0]=a[m>>0]|0;a[e+28>>0]=a[m>>0]|0;a[e+36>>0]=a[m>>0]|0;a[e+44>>0]=a[m>>0]|0;a[e+52>>0]=a[m>>0]|0;f=g+6|0;a[e+60>>0]=a[m>>0]|0;a[e+5>>0]=a[f>>0]|0;a[e+13>>0]=a[f>>0]|0;a[e+21>>0]=a[f>>0]|0;a[e+29>>0]=a[f>>0]|0;a[e+37>>0]=a[f>>0]|0;a[e+45>>0]=a[f>>0]|0;a[e+53>>0]=a[f>>0]|0;m=g+7|0;a[e+61>>0]=a[f>>0]|0;a[e+6>>0]=a[m>>0]|0;a[e+14>>0]=a[m>>0]|0;a[e+22>>0]=a[m>>0]|0;a[e+30>>0]=a[m>>0]|0;a[e+38>>0]=a[m>>0]|0;a[e+46>>0]=a[m>>0]|0;a[e+54>>0]=a[m>>0]|0;f=g+8|0;a[e+62>>0]=a[m>>0]|0;a[e+7>>0]=a[f>>0]|0;a[e+15>>0]=a[f>>0]|0;a[e+23>>0]=a[f>>0]|0;a[e+31>>0]=a[f>>0]|0;a[e+39>>0]=a[f>>0]|0;a[e+47>>0]=a[f>>0]|0;a[e+55>>0]=a[f>>0]|0;a[e+63>>0]=a[f>>0]|0;break}default:{if(!t){j=1;k=28;break a}l=d[g+8>>0]|0;b=d[h+7>>0]|0;m=d[g>>0]|0;f=(((d[g+5>>0]|0)-(d[g+3>>0]|0)+((d[g+6>>0]|0)-(d[g+2>>0]|0)<<1)+(((d[g+7>>0]|0)-(d[g+1>>0]|0)|0)*3|0)+(l-m<<2)|0)*17|0)+16>>5;m=(((d[h+4>>0]|0)-(d[h+2>>0]|0)+(b-m<<2)+((d[h+5>>0]|0)-(d[h+1>>0]|0)<<1)+(((d[h+6>>0]|0)-(d[h>>0]|0)|0)*3|0)|0)*17|0)+16>>5;l=(b+l<<4)+16+(r(m,-3)|0)|0;b=r(f,-3)|0;k=l+b|0;a[e>>0]=a[49256+(k>>5)>>0]|0;k=k+f|0;a[e+1>>0]=a[49256+(k>>5)>>0]|0;k=k+f|0;a[e+2>>0]=a[49256+(k>>5)>>0]|0;k=k+f|0;a[e+3>>0]=a[49256+(k>>5)>>0]|0;k=k+f|0;a[e+4>>0]=a[49256+(k>>5)>>0]|0;k=k+f|0;a[e+5>>0]=a[49256+(k>>5)>>0]|0;k=k+f|0;a[e+6>>0]=a[49256+(k>>5)>>0]|0;a[e+7>>0]=a[49256+(k+f>>5)>>0]|0;l=l+m|0;k=l+b|0;a[e+8>>0]=a[49256+(k>>5)>>0]|0;k=k+f|0;a[e+9>>0]=a[49256+(k>>5)>>0]|0;k=k+f|0;a[e+10>>0]=a[49256+(k>>5)>>0]|0;k=k+f|0;a[e+11>>0]=a[49256+(k>>5)>>0]|0;k=k+f|0;a[e+12>>0]=a[49256+(k>>5)>>0]|0;k=k+f|0;a[e+13>>0]=a[49256+(k>>5)>>0]|0;k=k+f|0;a[e+14>>0]=a[49256+(k>>5)>>0]|0;a[e+15>>0]=a[49256+(k+f>>5)>>0]|0;l=l+m|0;k=l+b|0;a[e+16>>0]=a[49256+(k>>5)>>0]|0;k=k+f|0;a[e+17>>0]=a[49256+(k>>5)>>0]|0;k=k+f|0;a[e+18>>0]=a[49256+(k>>5)>>0]|0;k=k+f|0;a[e+19>>0]=a[49256+(k>>5)>>0]|0;k=k+f|0;a[e+20>>0]=a[49256+(k>>5)>>0]|0;k=k+f|0;a[e+21>>0]=a[49256+(k>>5)>>0]|0;k=k+f|0;a[e+22>>0]=a[49256+(k>>5)>>0]|0;a[e+23>>0]=a[49256+(k+f>>5)>>0]|0;l=l+m|0;k=l+b|0;a[e+24>>0]=a[49256+(k>>5)>>0]|0;k=k+f|0;a[e+25>>0]=a[49256+(k>>5)>>0]|0;k=k+f|0;a[e+26>>0]=a[49256+(k>>5)>>0]|0;k=k+f|0;a[e+27>>0]=a[49256+(k>>5)>>0]|0;k=k+f|0;a[e+28>>0]=a[49256+(k>>5)>>0]|0;k=k+f|0;a[e+29>>0]=a[49256+(k>>5)>>0]|0;k=k+f|0;a[e+30>>0]=a[49256+(k>>5)>>0]|0;a[e+31>>0]=a[49256+(k+f>>5)>>0]|0;l=l+m|0;k=l+b|0;a[e+32>>0]=a[49256+(k>>5)>>0]|0;k=k+f|0;a[e+33>>0]=a[49256+(k>>5)>>0]|0;k=k+f|0;a[e+34>>0]=a[49256+(k>>5)>>0]|0;k=k+f|0;a[e+35>>0]=a[49256+(k>>5)>>0]|0;k=k+f|0;a[e+36>>0]=a[49256+(k>>5)>>0]|0;k=k+f|0;a[e+37>>0]=a[49256+(k>>5)>>0]|0;k=k+f|0;a[e+38>>0]=a[49256+(k>>5)>>0]|0;a[e+39>>0]=a[49256+(k+f>>5)>>0]|0;l=l+m|0;k=l+b|0;a[e+40>>0]=a[49256+(k>>5)>>0]|0;k=k+f|0;a[e+41>>0]=a[49256+(k>>5)>>0]|0;k=k+f|0;a[e+42>>0]=a[49256+(k>>5)>>0]|0;k=k+f|0;a[e+43>>0]=a[49256+(k>>5)>>0]|0;k=k+f|0;a[e+44>>0]=a[49256+(k>>5)>>0]|0;k=k+f|0;a[e+45>>0]=a[49256+(k>>5)>>0]|0;k=k+f|0;a[e+46>>0]=a[49256+(k>>5)>>0]|0;a[e+47>>0]=a[49256+(k+f>>5)>>0]|0;b=l+m+b|0;a[e+48>>0]=a[49256+(b>>5)>>0]|0;l=b+f|0;a[e+49>>0]=a[49256+(l>>5)>>0]|0;l=l+f|0;a[e+50>>0]=a[49256+(l>>5)>>0]|0;l=l+f|0;a[e+51>>0]=a[49256+(l>>5)>>0]|0;l=l+f|0;a[e+52>>0]=a[49256+(l>>5)>>0]|0;l=l+f|0;a[e+53>>0]=a[49256+(l>>5)>>0]|0;l=l+f|0;a[e+54>>0]=a[49256+(l>>5)>>0]|0;a[e+55>>0]=a[49256+(l+f>>5)>>0]|0;m=b+m|0;a[e+56>>0]=a[49256+(m>>5)>>0]|0;m=m+f|0;a[e+57>>0]=a[49256+(m>>5)>>0]|0;m=m+f|0;a[e+58>>0]=a[49256+(m>>5)>>0]|0;m=m+f|0;a[e+59>>0]=a[49256+(m>>5)>>0]|0;m=m+f|0;a[e+60>>0]=a[49256+(m>>5)>>0]|0;m=m+f|0;a[e+61>>0]=a[49256+(m>>5)>>0]|0;m=m+f|0;a[e+62>>0]=a[49256+(m>>5)>>0]|0;a[e+63>>0]=a[49256+(m+f>>5)>>0]|0}}ff(e,n,o);f=o|1;ff(e,n+64|0,f);ff(e,n+128|0,f+1|0);ff(e,n+192|0,o|3);if(p>>>0<2){g=g+9|0;o=o+4|0;p=2;e=e+64|0;h=h+8|0;n=n+256|0}else{j=0;k=28;break}}if((k|0)==28)return j|0;return 0}function ef(a,b){a=a|0;b=b|0;if(!b)return 0;else return (c[a+4>>2]|0)==(c[b+4>>2]|0)|0;return 0}function ff(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=c[e>>2]|0;if((g|0)==16777215)return;m=f>>>0<16;k=m?16:8;m=m?f:f&3;b=b+(r(c[1928+(m<<2)>>2]|0,k)|0)+(c[1864+(m<<2)>>2]|0)|0;m=c[e+4>>2]|0;f=b+1|0;l=d[f>>0]|0;a[b>>0]=a[49256+(g+(d[b>>0]|0))>>0]|0;j=c[e+8>>2]|0;i=b+2|0;h=d[i>>0]|0;a[f>>0]=a[49256+(m+l)>>0]|0;f=b+3|0;l=a[49256+((c[e+12>>2]|0)+(d[f>>0]|0))>>0]|0;a[i>>0]=a[49256+(j+h)>>0]|0;a[f>>0]=l;b=b+k|0;f=c[e+20>>2]|0;l=b+1|0;i=d[l>>0]|0;a[b>>0]=a[49256+((c[e+16>>2]|0)+(d[b>>0]|0))>>0]|0;h=c[e+24>>2]|0;j=b+2|0;g=d[j>>0]|0;a[l>>0]=a[49256+(f+i)>>0]|0;l=b+3|0;i=a[49256+((c[e+28>>2]|0)+(d[l>>0]|0))>>0]|0;a[j>>0]=a[49256+(h+g)>>0]|0;a[l>>0]=i;b=b+k|0;l=c[e+36>>2]|0;i=b+1|0;j=d[i>>0]|0;a[b>>0]=a[49256+((c[e+32>>2]|0)+(d[b>>0]|0))>>0]|0;g=c[e+40>>2]|0;h=b+2|0;f=d[h>>0]|0;a[i>>0]=a[49256+(l+j)>>0]|0;i=b+3|0;j=a[49256+((c[e+44>>2]|0)+(d[i>>0]|0))>>0]|0;a[h>>0]=a[49256+(g+f)>>0]|0;a[i>>0]=j;b=b+k|0;k=c[e+52>>2]|0;i=b+1|0;j=d[i>>0]|0;a[b>>0]=a[49256+((c[e+48>>2]|0)+(d[b>>0]|0))>>0]|0;h=c[e+56>>2]|0;f=b+2|0;g=d[f>>0]|0;a[i>>0]=a[49256+(k+j)>>0]|0;b=b+3|0;e=a[49256+((c[e+60>>2]|0)+(d[b>>0]|0))>>0]|0;a[f>>0]=a[49256+(h+g)>>0]|0;a[b>>0]=e;return}function gf(a){a=a|0;return 4880+(a<<3)|0}function hf(a){a=a|0;return 4688+(a<<3)|0}function jf(a){a=a|0;return 4496+(a<<3)|0}function kf(a){a=a|0;return 4304+(a<<3)|0}function lf(a){a=a|0;return a+1&3|0}function mf(a){a=a|0;return (c[a+8>>2]|0)==0|0}function nf(a,b,d){a=a|0;b=b|0;d=d|0;if(d|0){b=ke(a,b)|0;return b|0}d=ce(a,1)|0;c[b>>2]=d;if((d|0)==-1){b=1;return b|0}c[b>>2]=d^1;b=0;return b|0}function of(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0;g=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);f=g;if(ke(a,f)|0){b=1;cc=g;return b|0}f=c[f>>2]|0;if(f>>>0>47){b=1;cc=g;return b|0}c[b>>2]=d[((e|0)==0?50750:50798)+f>>0];b=0;cc=g;return b|0}function pf(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=gf(e)|0;e=hf(e)|0;h=a[g+4>>0]|0;i=a[e+4>>0]|0;e=(c[e>>2]|0)==4;if((c[g>>2]|0)==4){g=b[f+((h&255)<<1)>>1]|0;if(e){d=g+1+(b[f+((i&255)<<1)>>1]|0)>>1;return d|0}e=d+204|0;if(!(ef(d,c[e>>2]|0)|0)){d=g;return d|0}d=g+1+(b[(c[e>>2]|0)+28+((i&255)<<1)>>1]|0)>>1;return d|0}if(e){e=b[f+((i&255)<<1)>>1]|0;g=d+200|0;if(!(ef(d,c[g>>2]|0)|0)){d=e;return d|0}d=e+1+(b[(c[g>>2]|0)+28+((h&255)<<1)>>1]|0)>>1;return d|0}e=d+200|0;if(!(ef(d,c[e>>2]|0)|0)){g=0;f=0}else{g=b[(c[e>>2]|0)+28+((h&255)<<1)>>1]|0;f=1}e=d+204|0;if(!(ef(d,c[e>>2]|0)|0)){d=g;return d|0}else{d=b[(c[e>>2]|0)+28+((i&255)<<1)>>1]|0;return ((f|0)==0?d:g+1+d>>1)|0}return 0}function qf(a,b,f,g){a=a|0;b=b|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;T=cc;cc=cc+128|0;if((cc|0)>=(dc|0))w(128);R=T+64|0;S=T;o=ee(a)|0;m=o>>>16;do if(f>>>0<2)if((o|0)>=0){if(o>>>0>201326591){n=e[41408+(o>>>26<<1)>>1]|0;K=25;break}if(o>>>0>16777215){n=e[41472+(o>>>22<<1)>>1]|0;K=25;break}if(o>>>0>2097151){n=e[41568+((o>>>18)+-8<<1)>>1]|0;K=25;break}else{n=e[41680+(m<<1)>>1]|0;K=25;break}}else p=1;else if(f>>>0<4){if((o|0)<0){p=(o&1073741824|0)==0?2082:2;break}if(o>>>0>268435455){n=e[41744+(o>>>26<<1)>>1]|0;K=25;break}if(o>>>0>33554431){n=e[41808+(o>>>23<<1)>>1]|0;K=25;break}else{n=e[41872+(o>>>18<<1)>>1]|0;K=25;break}}else{if(f>>>0<8){f=o>>>26;if((f+-8|0)>>>0<56){n=e[42128+(f<<1)>>1]|0;K=25;break}n=e[42256+(o>>>22<<1)>>1]|0;K=25;break}if(f>>>0<17){n=e[42512+(o>>>26<<1)>>1]|0;K=25;break}f=o>>>29;if(f|0){n=e[42640+(f<<1)>>1]|0;K=25;break}n=e[42656+(o>>>24<<1)>>1]|0;K=25;break}while(0);if((K|0)==25)if(!n){S=1;cc=T;return S|0}else p=n;n=p&31;f=o<>>11;L=y&31;if(L>>>0>g>>>0){S=1;cc=T;return S|0}v=p>>>5&63;do if(L){if(!v)n=0;else{do if(m>>>0>>0)if((oe(a,n)|0)==-1){S=1;cc=T;return S|0}else{m=32;f=ee(a)|0;break}while(0);o=f>>>(32-v|0);f=f<>2]=(n&o|0)==0?1:-1;n=n>>>1;p=p+1|0}while((n|0)!=0);m=m-v|0;n=p}u=v>>>0<3;a:do if(n>>>0>>0){t=n;s=L>>>0>10&u&1;b:while(1){if(m>>>0<16){if((oe(a,32-m|0)|0)==-1){O=1;K=125;break}r=32;f=ee(a)|0}else r=m;do if((f|0)>=0)if(f>>>0<=1073741823)if(f>>>0<=536870911)if(f>>>0<=268435455)if(f>>>0<=134217727)if(f>>>0<=67108863)if(f>>>0<=33554431)if(f>>>0<=16777215)if(f>>>0<=8388607)if(f>>>0>4194303){I=9;K=59}else{if(f>>>0>2097151){I=10;K=59;break}if(f>>>0>1048575){I=11;K=59;break}if(f>>>0>524287){I=12;K=59;break}if(f>>>0>262143){I=13;K=59;break}if(f>>>0>131071){n=14;m=f<<15;o=r+-15|0;q=s;p=(s|0)==0?4:s}else{if((f&-65536|0)!=65536){O=1;K=125;break b}n=15;m=f<<16;o=r+-16|0;q=(s|0)==0?1:s;p=12}H=m;C=n<>>0>>0){if((oe(a,32-z|0)|0)==-1){O=1;K=125;break}f=32;m=ee(a)|0}else{f=z;m=H}F=f-x|0;G=m<>>(32-x|0))+C|0;D=A;E=q}s=u&(t|0)==(v|0)?B+2|0:B;n=(s+2|0)>>>1;o=E?1:D;c[R+(t<<2)>>2]=(s&1|0)==0?n:0-n|0;t=t+1|0;if(t>>>0>=L>>>0){l=F;j=G;break a}else{m=F;f=G;s=o+(o>>>0<6&(n|0)>(3<>>0>>0){do if(l>>>0<9)if((oe(a,32-l|0)|0)==-1){S=1;cc=T;return S|0}else{l=32;j=ee(a)|0;break}while(0);f=j>>>23;c:do if((g|0)==4)if((j|0)>=0)if((L|0)!=3)if(j>>>0>1073741823)k=18;else k=(L|0)==2?34:j>>>0>536870911?35:51;else k=17;else k=1;else{do switch(y&31){case 1:{if(j>>>0>268435455)k=d[50128+(j>>>27)>>0]|0;else{J=50160+f|0;K=91}break}case 2:{J=50192+(j>>>26)|0;K=91;break}case 3:{J=50256+(j>>>26)|0;K=91;break}case 4:{J=50320+(j>>>27)|0;K=91;break}case 5:{J=50352+(j>>>27)|0;K=91;break}case 6:{J=50384+(j>>>26)|0;K=91;break}case 7:{J=50448+(j>>>26)|0;K=91;break}case 8:{J=50512+(j>>>26)|0;K=91;break}case 9:{J=50576+(j>>>26)|0;K=91;break}case 10:{J=50640+(j>>>27)|0;K=91;break}case 11:{J=50672+(j>>>28)|0;K=91;break}case 12:{J=50688+(j>>>28)|0;K=91;break}case 13:{J=50704+(j>>>29)|0;K=91;break}case 14:{J=50712+(j>>>30)|0;K=91;break}default:{k=j>>31&16|1;break c}}while(0);if((K|0)==91)k=d[J>>0]|0;if(!k){S=1;cc=T;return S|0}}while(0);g=k&15;l=l-g|0;j=j<>>4&15}else k=0;n=L+-1|0;if(!n){c[b+(k<<2)>>2]=c[R+(n<<2)>>2];P=l;h=1<>2]=1;Q=l;i=0}else{if(l>>>0<11){if((oe(a,32-l|0)|0)==-1){O=1;K=125;break}l=32;j=ee(a)|0}switch(f|0){case 1:{N=50716+(j>>>31)|0;K=117;break}case 2:{N=50718+(j>>>30)|0;K=117;break}case 3:{N=50722+(j>>>30)|0;K=117;break}case 4:{N=50726+(j>>>29)|0;K=117;break}case 5:{N=50734+(j>>>29)|0;K=117;break}case 6:{N=50742+(j>>>29)|0;K=117;break}default:{if(j>>>0<=536870911)if(j>>>0<=268435455)if(j>>>0<=134217727)if(j>>>0<=67108863)if(j>>>0<=33554431)if(j>>>0>16777215)k=184;else k=j>>>0>8388607?201:j>>>0>4194303?218:j>>>0<2097152?0:235;else k=167;else k=150;else k=133;else k=116;else k=112-(j>>>29<<4)|3;if((k>>>4&15)>>>0>f>>>0){O=1;K=125;break d}else M=k}}if((K|0)==117){K=0;M=d[N>>0]|0}if(!M){O=1;K=125;break}g=M&15;i=M>>>4&15;c[S+(m<<2)>>2]=i+1;Q=l-g|0;j=j<>>0>=n>>>0){K=122;break}else{l=Q;f=i}}if((K|0)==122){c[b+(i<<2)>>2]=c[R+(n<<2)>>2];j=L+-2|0;h=1<>2]|0)+i|0;h=1<>2]=c[R+(j<<2)>>2];if(!j){P=Q;break}else j=j+-1|0}}else if((K|0)==125){cc=T;return O|0}}else{P=m;h=0}while(0);S=(oe(a,32-P|0)|0)==0;S=S?h<<16|L<<4:1;cc=T;return S|0}function rf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=c[a+1192>>2]|0;d=c[a+1200>>2]|0;a:do if(d){d=d+-1|0;if(d>>>0>b>>>0){f=c[a+1212>>2]|0;g=a+16|0;e=0;do{if((c[f+(d*216|0)+4>>2]|0)==(i|0)){e=e+1|0;h=c[(c[g>>2]|0)+52>>2]|0;if(e>>>0>=(h>>>0>10?h:10)>>>0)break a}d=d+-1|0}while(d>>>0>b>>>0)}}else d=b;while(0);b=a+1212|0;h=a+1172|0;g=a+1176|0;f=d;while(1){d=c[b>>2]|0;if((c[d+(f*216|0)+4>>2]|0)!=(i|0)){d=11;break}e=d+(f*216|0)+196|0;d=c[e>>2]|0;if(!d){d=11;break}c[e>>2]=d+-1;f=fe(c[h>>2]|0,c[g>>2]|0,f)|0;if(!f){d=11;break}}if((d|0)==11)return}function sf(a){a=a|0;switch(a|0){case 0:case 1:{a=1;break}case 3:case 2:{a=2;break}default:a=4}return a|0}function tf(a,b){a=a|0;b=b|0;var d=0;if((ce(a,1)|0)==-1){b=1;return b|0}d=b+4|0;c[d>>2]=ce(a,2)|0;a=ce(a,5)|0;c[b>>2]=a;if((a+-2|0)>>>0<3){b=1;return b|0}switch(a|0){case 5:case 7:case 8:{if((a|0)==6|(c[d>>2]|0)==0){b=1;return b|0}break}case 6:case 9:case 10:case 11:case 12:{if(c[d>>2]|0){b=1;return b|0}break}default:{}}b=0;return b|0}function uf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;if(!d)return;k=0-b|0;o=b+-1|0;l=1-b|0;m=~b;i=0;j=0;n=0;while(1){g=(i|0)!=0;f=a+(j*216|0)|0;c[a+(j*216|0)+200>>2]=g?f+-216|0:0;h=(n|0)!=0;if(h){c[a+(j*216|0)+204>>2]=f+(k*216|0);e=i>>>0>>0?f+(l*216|0)|0:0}else{c[a+(j*216|0)+204>>2]=0;e=0}c[a+(j*216|0)+208>>2]=e;c[a+(j*216|0)+212>>2]=h&g?f+(m*216|0)|0:0;e=i+1|0;f=(e|0)==(b|0);j=j+1|0;if((j|0)==(d|0))break;else{i=f?0:e;n=n+(f&1)|0}}return}function vf(a){a=a|0;je(a,0,3388);c[a+8>>2]=32;c[a+4>>2]=256;c[a+1332>>2]=1;return}function wf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=c[b+8>>2]|0;g=a+20+(d<<2)|0;e=c[g>>2]|0;do if(!e){a=me(92,1)|0;c[g>>2]=a;if(!a){a=65535;return a|0}}else{f=a+8|0;if((d|0)!=(c[f>>2]|0)){xf(c[e+40>>2]|0);c[(c[g>>2]|0)+40>>2]=0;xf(c[(c[g>>2]|0)+84>>2]|0);c[(c[g>>2]|0)+84>>2]=0;break}d=a+16|0;if(qe(b,c[d>>2]|0)|0){xf(c[(c[g>>2]|0)+40>>2]|0);c[(c[g>>2]|0)+40>>2]=0;xf(c[(c[g>>2]|0)+84>>2]|0);c[(c[g>>2]|0)+84>>2]=0;c[f>>2]=33;c[a+4>>2]=257;c[d>>2]=0;c[a+12>>2]=0;break}a=b+40|0;xf(c[a>>2]|0);c[a>>2]=0;a=b+84|0;xf(c[a>>2]|0);c[a>>2]=0;a=0;return a|0}while(0);e=c[g>>2]|0;d=e+92|0;do{c[e>>2]=c[b>>2];e=e+4|0;b=b+4|0}while((e|0)<(d|0));a=0;return a|0}function xf(a){a=a|0;Kh(a);return}function yf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=c[b>>2]|0;g=a+148+(d<<2)|0;e=c[g>>2]|0;if(!e){a=me(72,1)|0;c[g>>2]=a;if(!a){a=65535;return a|0}}else{f=a+4|0;if((d|0)==(c[f>>2]|0)){if((c[b+4>>2]|0)!=(c[a+8>>2]|0))c[f>>2]=257;xf(c[e+20>>2]|0);c[(c[g>>2]|0)+20>>2]=0;xf(c[(c[g>>2]|0)+24>>2]|0);c[(c[g>>2]|0)+24>>2]=0;xf(c[(c[g>>2]|0)+28>>2]|0);c[(c[g>>2]|0)+28>>2]=0;xf(c[(c[g>>2]|0)+44>>2]|0)}else{xf(c[e+20>>2]|0);c[(c[g>>2]|0)+20>>2]=0;xf(c[(c[g>>2]|0)+24>>2]|0);c[(c[g>>2]|0)+24>>2]=0;xf(c[(c[g>>2]|0)+28>>2]|0);c[(c[g>>2]|0)+28>>2]=0;xf(c[(c[g>>2]|0)+44>>2]|0)}c[(c[g>>2]|0)+44>>2]=0}e=c[g>>2]|0;d=e+72|0;do{c[e>>2]=c[b>>2];e=e+4|0;b=b+4|0}while((e|0)<(d|0));a=0;return a|0}function zf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=c[a+148+(b<<2)>>2]|0;n=m;if(!m){a=1;return a|0}o=c[m+4>>2]|0;p=a+20+(o<<2)|0;e=c[p>>2]|0;if(!e){a=1;return a|0}k=c[e+52>>2]|0;l=r(c[e+56>>2]|0,k)|0;g=c[m+12>>2]|0;a:do if(g>>>0>1){e=c[m+16>>2]|0;switch(e|0){case 0:{e=c[m+20>>2]|0;f=0;while(1){if((c[e+(f<<2)>>2]|0)>>>0>l>>>0){e=1;break}f=f+1|0;if(f>>>0>=g>>>0)break a}return e|0}case 2:{j=g+-1|0;g=c[m+24>>2]|0;h=c[m+28>>2]|0;i=0;while(1){e=c[g+(i<<2)>>2]|0;f=c[h+(i<<2)>>2]|0;if(!(e>>>0<=f>>>0&f>>>0>>0)){e=1;f=37;break}i=i+1|0;if(((e>>>0)%(k>>>0)|0)>>>0>((f>>>0)%(k>>>0)|0)>>>0){e=1;f=37;break}if(i>>>0>=j>>>0)break a}if((f|0)==37)return e|0;break}default:{if((e+-3|0)>>>0<3){if((c[m+36>>2]|0)>>>0>l>>>0)e=1;else break a;return e|0}if((e|0)!=6)break a;if((c[m+40>>2]|0)>>>0>>0)e=1;else break a;return e|0}}}while(0);f=a+4|0;e=c[f>>2]|0;do if((e|0)!=256){g=a+3380|0;if(!(c[g>>2]|0)){if((e|0)==(b|0))break;e=a+8|0;if((o|0)==(c[e>>2]|0)){c[f>>2]=b;c[a+12>>2]=n;break}if(!d){a=1;return a|0}else{c[f>>2]=b;c[a+12>>2]=m;c[e>>2]=o;q=c[p>>2]|0;c[a+16>>2]=q;b=c[q+52>>2]|0;q=c[q+56>>2]|0;c[a+1176>>2]=r(q,b)|0;c[a+1340>>2]=b;c[a+1344>>2]=q;c[g>>2]=1;break}}c[g>>2]=0;f=a+1212|0;xf(c[f>>2]|0);c[f>>2]=0;e=a+1172|0;xf(c[e>>2]|0);c[e>>2]=0;g=a+1176|0;c[f>>2]=me(216,c[g>>2]|0)|0;b=me(4,c[g>>2]|0)|0;c[e>>2]=b;e=c[f>>2]|0;if((b|0)==0|(e|0)==0){a=65535;return a|0}je(e,0,(c[g>>2]|0)*216|0);b=a+16|0;uf(c[f>>2]|0,c[(c[b>>2]|0)+52>>2]|0,c[g>>2]|0);f=c[b>>2]|0;do if((c[a+1216>>2]|0)==0?(c[f+16>>2]|0)!=2:0){if((c[f+80>>2]|0?(q=c[f+84>>2]|0,c[q+920>>2]|0):0)?(c[q+944>>2]|0)==0:0){e=1;break}e=0}else e=1;while(0);q=r(c[f+56>>2]|0,c[f+52>>2]|0)|0;e=Af(a+1220|0,q,c[f+88>>2]|0,c[f+44>>2]|0,c[f+12>>2]|0,e)|0;if(e|0){a=e;return a|0}}else{c[f>>2]=b;c[a+12>>2]=m;c[a+8>>2]=o;e=c[p>>2]|0;c[a+16>>2]=e;f=c[e+52>>2]|0;do if(f){e=c[e+56>>2]|0;if(e>>>0>(4294967295/(f>>>0)|0)>>>0){a=65535;return a|0}else{c[a+1176>>2]=r(e,f)|0;break}}else{c[a+1176>>2]=0;e=c[e+56>>2]|0}while(0);c[a+1340>>2]=f;c[a+1344>>2]=e;c[a+3380>>2]=1}while(0);a=0;return a|0}function Af(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=c[a>>2]|0;if((h|0)!=0?(j=a+28|0,(c[j>>2]|0)!=-1):0){i=0;do{xf(c[h+(i*40|0)+4>>2]|0);h=c[a>>2]|0;c[h+(i*40|0)+4>>2]=0;i=i+1|0}while(i>>>0<((c[j>>2]|0)+1|0)>>>0)}xf(h);c[a>>2]=0;j=a+4|0;xf(c[j>>2]|0);c[j>>2]=0;j=a+12|0;xf(c[j>>2]|0);c[j>>2]=0;return Bf(a,b,d,e,f,g)|0}function Bf(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;if(b>>>0>11184810){a=65535;return a|0}c[a+36>>2]=65535;e=e>>>0>1?e:1;c[a+24>>2]=e;h=a+28|0;c[h>>2]=(g|0)==0?d:e;c[a+32>>2]=f;c[a+56>>2]=g;c[a+44>>2]=0;c[a+40>>2]=0;c[a+48>>2]=0;e=me(40,17)|0;c[a>>2]=e;if(!e){a=65535;return a|0}je(e,0,680);a:do if((c[h>>2]|0)!=-1){d=b*384|47;g=0;while(1){f=me(1,d)|0;e=c[a>>2]|0;c[e+(g*40|0)+4>>2]=f;if(!f){e=65535;break}c[e+(g*40|0)>>2]=f+(0-f&15);g=g+1|0;if(g>>>0>=((c[h>>2]|0)+1|0)>>>0)break a}return e|0}while(0);e=a+4|0;c[e>>2]=me(4,17)|0;h=me(16,(c[h>>2]|0)+1|0)|0;c[a+12>>2]=h;e=c[e>>2]|0;if((h|0)==0|(e|0)==0){a=65535;return a|0}je(e,0,68);c[a+20>>2]=0;c[a+16>>2]=0;a=0;return a|0}function Cf(a){a=a|0;var b=0,d=0;c[a+1196>>2]=0;c[a+1192>>2]=0;d=c[a+1176>>2]|0;if(!d)return;a=c[a+1212>>2]|0;b=0;do{c[a+(b*216|0)+4>>2]=0;c[a+(b*216|0)+196>>2]=0;b=b+1|0}while(b>>>0>>0);return}function Df(a){a=a|0;return (c[a+1188>>2]|0)==0|0}function Ef(a){a=a|0;var b=0,d=0,e=0;if(!(c[a+1404>>2]|0)){if((c[a+1196>>2]|0)==(c[a+1176>>2]|0)){e=1;return e|0}}else{e=c[a+1176>>2]|0;if(!e){e=1;return e|0}a=c[a+1212>>2]|0;b=0;d=0;do{d=d+((c[a+(b*216|0)+196>>2]|0)!=0&1)|0;b=b+1|0}while(b>>>0>>0);if((d|0)==(e|0)){e=1;return e|0}}e=0;return e|0}function Ff(a,b){a=a|0;b=b|0;var d=0;d=c[a+16>>2]|0;Gf(c[a+1172>>2]|0,c[a+12>>2]|0,b,c[d+52>>2]|0,c[d+56>>2]|0);return} +function Kh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!a)return;d=a+-8|0;f=c[13823]|0;a=c[a+-4>>2]|0;b=a&-8;j=d+b|0;do if(!(a&1)){e=c[d>>2]|0;if(!(a&3))return;h=d+(0-e)|0;g=e+b|0;if(h>>>0>>0)return;if((c[13824]|0)==(h|0)){a=j+4|0;b=c[a>>2]|0;if((b&3|0)!=3){i=h;b=g;break}c[13821]=g;c[a>>2]=b&-2;c[h+4>>2]=g|1;c[h+g>>2]=g;return}d=e>>>3;if(e>>>0<256){a=c[h+8>>2]|0;b=c[h+12>>2]|0;if((b|0)==(a|0)){c[13819]=c[13819]&~(1<>2]=b;c[b+8>>2]=a;i=h;b=g;break}}f=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){b=h+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){a=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0}else{i=c[h+8>>2]|0;c[i+12>>2]=a;c[a+8>>2]=i}while(0);if(f){b=c[h+28>>2]|0;d=55580+(b<<2)|0;if((c[d>>2]|0)==(h|0)){c[d>>2]=a;if(!a){c[13820]=c[13820]&~(1<>2]|0)==(h|0)?i:f+20|0)>>2]=a;if(!a){i=h;b=g;break}}c[a+24>>2]=f;b=h+16|0;d=c[b>>2]|0;if(d|0){c[a+16>>2]=d;c[d+24>>2]=a}b=c[b+4>>2]|0;if(b){c[a+20>>2]=b;c[b+24>>2]=a;i=h;b=g}else{i=h;b=g}}else{i=h;b=g}}else{i=d;h=d}while(0);if(h>>>0>=j>>>0)return;a=j+4|0;e=c[a>>2]|0;if(!(e&1))return;if(!(e&2)){if((c[13825]|0)==(j|0)){j=(c[13822]|0)+b|0;c[13822]=j;c[13825]=i;c[i+4>>2]=j|1;if((i|0)!=(c[13824]|0))return;c[13824]=0;c[13821]=0;return}if((c[13824]|0)==(j|0)){j=(c[13821]|0)+b|0;c[13821]=j;c[13824]=h;c[i+4>>2]=j|1;c[h+j>>2]=j;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){b=c[j+8>>2]|0;a=c[j+12>>2]|0;if((a|0)==(b|0)){c[13819]=c[13819]&~(1<>2]=a;c[a+8>>2]=b;break}}else{g=c[j+24>>2]|0;a=c[j+12>>2]|0;do if((a|0)==(j|0)){b=j+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){d=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0;d=a}else{d=c[j+8>>2]|0;c[d+12>>2]=a;c[a+8>>2]=d;d=a}while(0);if(g|0){a=c[j+28>>2]|0;b=55580+(a<<2)|0;if((c[b>>2]|0)==(j|0)){c[b>>2]=d;if(!d){c[13820]=c[13820]&~(1<>2]|0)==(j|0)?e:g+20|0)>>2]=d;if(!d)break}c[d+24>>2]=g;a=j+16|0;b=c[a>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}a=c[a+4>>2]|0;if(a|0){c[d+20>>2]=a;c[a+24>>2]=d}}}while(0);c[i+4>>2]=f|1;c[h+f>>2]=f;if((i|0)==(c[13824]|0)){c[13821]=f;return}}else{c[a>>2]=e&-2;c[i+4>>2]=b|1;c[h+b>>2]=b;f=b}a=f>>>3;if(f>>>0<256){d=55316+(a<<1<<2)|0;b=c[13819]|0;a=1<>2]|0}c[b>>2]=i;c[a+12>>2]=i;c[i+8>>2]=a;c[i+12>>2]=d;return}a=f>>>8;if(a)if(f>>>0>16777215)e=31;else{h=(a+1048320|0)>>>16&8;j=a<>>16&4;j=j<>>16&2;e=14-(g|h|e)+(j<>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;a=55580+(e<<2)|0;c[i+28>>2]=e;c[i+20>>2]=0;c[i+16>>2]=0;b=c[13820]|0;d=1<>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i}else{a=c[a>>2]|0;b:do if((c[a+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=a+16+(e>>>31<<2)|0;b=c[d>>2]|0;if(!b)break;if((c[b+4>>2]&-8|0)==(f|0)){a=b;break b}else{e=e<<1;a=b}}c[d>>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i;break a}while(0);h=a+8|0;j=c[h>>2]|0;c[j+12>>2]=i;c[h>>2]=i;c[i+8>>2]=j;c[i+12>>2]=a;c[i+24>>2]=0}while(0);j=(c[13827]|0)+-1|0;c[13827]=j;if(j|0)return;a=55732;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[13827]=-1;return}function Lh(a,b){a=a|0;b=b|0;var d=0;if(a){d=r(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;a=Jh(d)|0;if(!a)return a|0;if(!(c[a+-4>>2]&3))return a|0;rj(a|0,0,d|0)|0;return a|0}function Mh(a,b){a=a|0;b=b|0;if(!a){b=22;return b|0}b=Jh(8)|0;c[b>>2]=0;c[b+4>>2]=38177486;c[a>>2]=b;b=0;return b|0}function Nh(a){a=a|0;if((c[a+4>>2]|0)!=38177486){a=0;return a|0}a=c[a>>2]|0;return a|0}function Oh(a,b){a=a|0;b=b|0;if((c[a+4>>2]|0)!=38177486){b=22;return b|0}c[a>>2]=b;b=0;return b|0}function Ph(a,b){a=a|0;b=b|0;if((c[a>>2]|0)==324508639)return 0;kc[b&3]();c[a>>2]=324508639;return 0}function Qh(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=Jh(b)|0;if(a|0)break;a=dj()|0;if(!a){a=0;break}kc[a&3]()}return a|0}function Rh(a){a=a|0;Kh(a);return}function Sh(a,b){a=a|0;b=b|0;var d=0,e=0;e=Ah(b)|0;d=Qh(e+13|0)|0;c[d>>2]=e;c[d+4>>2]=e;c[d+8>>2]=0;d=Th(d)|0;pj(d|0,b|0,e+1|0)|0;c[a>>2]=d;return}function Th(a){a=a|0;return a+12|0}function Uh(a,b){a=a|0;b=b|0;c[a>>2]=41280;Sh(a+4|0,b);return}function Vh(a){a=a|0;return 1}function Wh(a){a=a|0;Ta()}function Xh(a){a=a|0;Ta()}function Yh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);f=g;if(e>>>0>4294967279)Wh(b);if(e>>>0<11)a[b+11>>0]=e;else{i=e+16&-16;h=Qh(i)|0;c[b>>2]=h;c[b+8>>2]=i|-2147483648;c[b+4>>2]=e;b=h}Zh(b,d,e)|0;a[f>>0]=0;_h(b+e|0,f);cc=g;return}function Zh(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)pj(a|0,b|0,c|0)|0;return a|0}function _h(b,c){b=b|0;c=c|0;a[b>>0]=a[c>>0]|0;return}function $h(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)rj(a|0,(ai(c)|0)&255|0,b|0)|0;return a|0}function ai(a){a=a|0;return a&255|0}function bi(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;g=a[d+11>>0]|0;h=g<<24>>24<0;g=h?c[d+4>>2]|0:g&255;if(g>>>0>>0)Xh(b);else{g=g-e|0;Yh(b,(h?c[d>>2]|0:d)+e|0,g>>>0>>0?g:f);return}}function ci(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;o=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);n=o;if((-18-d|0)>>>0>>0)Wh(b);if((a[b+11>>0]|0)<0)m=c[b>>2]|0;else m=b;if(d>>>0<2147483623){k=e+d|0;l=d<<1;k=k>>>0>>0?l:k;k=k>>>0<11?11:k+16&-16}else k=-17;l=Qh(k)|0;if(g|0)Zh(l,m,g)|0;if(i|0)Zh(l+g|0,j,i)|0;e=f-h|0;f=e-g|0;if(f|0)Zh(l+g+i|0,m+g+h|0,f)|0;if((d|0)!=10)Rh(m);c[b>>2]=l;c[b+8>>2]=k|-2147483648;i=e+i|0;c[b+4>>2]=i;a[n>>0]=0;_h(l+i|0,n);cc=o;return}function di(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);g=j;h=b+11|0;f=a[h>>0]|0;i=f<<24>>24<0;if(i)f=c[b+4>>2]|0;else f=f&255;do if(f>>>0>=d>>>0)if(i){i=(c[b>>2]|0)+d|0;a[g>>0]=0;_h(i,g);c[b+4>>2]=d;break}else{a[g>>0]=0;_h(b+d|0,g);a[h>>0]=d;break}else ei(b,d-f|0,e)|0;while(0);cc=j;return}function ei(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);i=k;if(d|0){j=b+11|0;f=a[j>>0]|0;if(f<<24>>24<0){g=(c[b+8>>2]&2147483647)+-1|0;h=c[b+4>>2]|0}else{g=10;h=f&255}if((g-h|0)>>>0>>0){fi(b,g,h+d-g|0,h,h,0,0);f=a[j>>0]|0}if(f<<24>>24<0)g=c[b>>2]|0;else g=b;$h(g+h|0,d,e)|0;f=h+d|0;if((a[j>>0]|0)<0)c[b+4>>2]=f;else a[j>>0]=f;a[i>>0]=0;_h(g+f|0,i)}cc=k;return b|0}function fi(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((-17-d|0)>>>0>>0)Wh(b);if((a[b+11>>0]|0)<0)l=c[b>>2]|0;else l=b;if(d>>>0<2147483623){j=e+d|0;k=d<<1;j=j>>>0>>0?k:j;j=j>>>0<11?11:j+16&-16}else j=-17;k=Qh(j)|0;if(g|0)Zh(k,l,g)|0;e=f-h-g|0;if(e|0)Zh(k+g+i|0,l+g+h|0,e)|0;if((d|0)!=10)Rh(l);c[b>>2]=k;c[b+8>>2]=j|-2147483648;return}function gi(b,d){b=b|0;d=d|0;var e=0,f=0;e=a[b+11>>0]|0;f=e<<24>>24<0;if(f)e=c[b+4>>2]|0;else e=e&255;if(e>>>0<=d>>>0)Xh(b);if(f)b=c[b>>2]|0;return b+d|0}function hi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);i=k;j=b+11|0;f=a[j>>0]|0;h=f<<24>>24<0;if(h){g=(c[b+8>>2]&2147483647)+-1|0;f=c[b+4>>2]|0}else{g=10;f=f&255}if((g-f|0)>>>0>=e>>>0){if(e|0){if(h)g=c[b>>2]|0;else g=b;Zh(g+f|0,d,e)|0;f=f+e|0;if((a[j>>0]|0)<0)c[b+4>>2]=f;else a[j>>0]=f;a[i>>0]=0;_h(g+f|0,i)}}else ci(b,g,f+e-g|0,f,f,0,e,d);cc=k;return b|0}function ii(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0;a=cc;cc=cc+48|0;if((cc|0)>=(dc|0))w(48);h=a+32|0;d=a+24|0;i=a+16|0;g=a;e=a+36|0;a=ji()|0;if(a|0?(f=c[a>>2]|0,f|0):0){a=f+48|0;b=c[a>>2]|0;a=c[a+4>>2]|0;if(!((b&-256|0)==1126902528&(a|0)==1129074247)){c[d>>2]=53516;ki(53466,d)}if((b|0)==1126902529&(a|0)==1129074247)a=c[f+44>>2]|0;else a=f+80|0;c[e>>2]=a;f=c[f>>2]|0;a=c[f+4>>2]|0;if(ic[c[(c[292]|0)+16>>2]&7](1168,f,e)|0){i=c[e>>2]|0;i=fc[c[(c[i>>2]|0)+8>>2]&7](i)|0;c[g>>2]=53516;c[g+4>>2]=a;c[g+8>>2]=i;ki(53380,g)}else{c[i>>2]=53516;c[i+4>>2]=a;ki(53425,i)}}ki(53504,h)}function ji(){var a=0,b=0;a=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);if(!(Ph(55772,3)|0)){b=Nh(c[13944]|0)|0;cc=a;return b|0}else ki(53655,a);return 0}function ki(a,b){a=a|0;b=b|0;var d=0,e=0;d=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);e=d;c[e>>2]=b;d=c[10234]|0;dh(d,a,e)|0;Ih(10,d)|0;Ta()}function li(a){a=a|0;return}function mi(a){a=a|0;li(a);Rh(a);return}function ni(a){a=a|0;return}function oi(a){a=a|0;return}function pi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=cc;cc=cc+64|0;if((cc|0)>=(dc|0))w(64);f=h;if(!(ti(a,b,0)|0))if((b|0)!=0?(g=xi(b,1192,1176,0)|0,(g|0)!=0):0){b=f+4|0;e=b+52|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));c[f>>2]=g;c[f+8>>2]=a;c[f+12>>2]=-1;c[f+48>>2]=1;oc[c[(c[g>>2]|0)+28>>2]&7](g,f,c[d>>2]|0,1);if((c[f+24>>2]|0)==1){c[d>>2]=c[f+16>>2];b=1}else b=0}else b=0;else b=1;cc=h;return b|0}function qi(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(ti(a,c[b+8>>2]|0,g)|0)wi(0,b,d,e,f);return}function ri(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;do if(!(ti(b,c[d+8>>2]|0,g)|0)){if(ti(b,c[d>>2]|0,g)|0){if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;c[h>>2]=e;g=d+40|0;c[g>>2]=(c[g>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1;c[d+44>>2]=4;break}if((f|0)==1)c[d+32>>2]=1}}else vi(0,d,e,f);while(0);return}function si(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(ti(a,c[b+8>>2]|0,0)|0)ui(0,b,d,e);return}function ti(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function ui(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;b=d+16|0;g=c[b>>2]|0;do if(g){if((g|0)!=(e|0)){f=d+36|0;c[f>>2]=(c[f>>2]|0)+1;c[d+24>>2]=2;a[d+54>>0]=1;break}b=d+24|0;if((c[b>>2]|0)==2)c[b>>2]=f}else{c[b>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1}while(0);return}function vi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if((c[b+4>>2]|0)==(d|0)?(f=b+28|0,(c[f>>2]|0)!=1):0)c[f>>2]=e;return}function wi(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a[d+53>>0]=1;do if((c[d+4>>2]|0)==(f|0)){a[d+52>>0]=1;b=d+16|0;f=c[b>>2]|0;if(!f){c[b>>2]=e;c[d+24>>2]=g;c[d+36>>2]=1;if(!((g|0)==1?(c[d+48>>2]|0)==1:0))break;a[d+54>>0]=1;break}if((f|0)!=(e|0)){g=d+36|0;c[g>>2]=(c[g>>2]|0)+1;a[d+54>>0]=1;break}f=d+24|0;b=c[f>>2]|0;if((b|0)==2){c[f>>2]=g;b=g}if((b|0)==1?(c[d+48>>2]|0)==1:0)a[d+54>>0]=1}while(0);return}function xi(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=cc;cc=cc+64|0;if((cc|0)>=(dc|0))w(64);n=p;m=c[d>>2]|0;o=d+(c[m+-8>>2]|0)|0;m=c[m+-4>>2]|0;c[n>>2]=f;c[n+4>>2]=d;c[n+8>>2]=e;c[n+12>>2]=g;d=n+16|0;e=n+20|0;g=n+24|0;h=n+28|0;i=n+32|0;j=n+40|0;k=d;l=k+36|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));b[d+36>>1]=0;a[d+38>>0]=0;a:do if(ti(m,f,0)|0){c[n+48>>2]=1;qc[c[(c[m>>2]|0)+20>>2]&3](m,n,o,o,1,0);d=(c[g>>2]|0)==1?o:0}else{pc[c[(c[m>>2]|0)+24>>2]&7](m,n,o,1,0);switch(c[n+36>>2]|0){case 0:{d=(c[j>>2]|0)==1&(c[h>>2]|0)==1&(c[i>>2]|0)==1?c[e>>2]|0:0;break a}case 1:break;default:{d=0;break a}}if((c[g>>2]|0)!=1?!((c[j>>2]|0)==0&(c[h>>2]|0)==1&(c[i>>2]|0)==1):0){d=0;break}d=c[d>>2]|0}while(0);cc=p;return d|0}function yi(a){a=a|0;li(a);Rh(a);return}function zi(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(ti(a,c[b+8>>2]|0,g)|0)wi(0,b,d,e,f);else{a=c[a+8>>2]|0;qc[c[(c[a>>2]|0)+20>>2]&3](a,b,d,e,f,g)}return}function Ai(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;do if(!(ti(b,c[d+8>>2]|0,g)|0)){if(!(ti(b,c[d>>2]|0,g)|0)){i=c[b+8>>2]|0;pc[c[(c[i>>2]|0)+24>>2]&7](i,d,e,f,g);break}if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;i=d+44|0;if((c[i>>2]|0)==4)break;f=d+52|0;a[f>>0]=0;j=d+53|0;a[j>>0]=0;b=c[b+8>>2]|0;qc[c[(c[b>>2]|0)+20>>2]&3](b,d,e,e,1,g);if(a[j>>0]|0)if(!(a[f>>0]|0)){f=1;b=11}else b=15;else{f=0;b=11}do if((b|0)==11){c[h>>2]=e;j=d+40|0;c[j>>2]=(c[j>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0){a[d+54>>0]=1;if(f){b=15;break}else{f=4;break}}if(f)b=15;else f=4}while(0);if((b|0)==15)f=3;c[i>>2]=f;break}if((f|0)==1)c[d+32>>2]=1}else vi(0,d,e,f);while(0);return}function Bi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(ti(a,c[b+8>>2]|0,0)|0)ui(0,b,d,e);else{a=c[a+8>>2]|0;oc[c[(c[a>>2]|0)+28>>2]&7](a,b,d,e)}return}function Ci(a){a=a|0;return}function Di(){var a=0;a=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);if(!(Mh(55776,27)|0)){cc=a;return}else ki(53704,a)}function Ei(a){a=a|0;var b=0;b=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);Kh(a);if(!(Oh(c[13944]|0,0)|0)){cc=b;return}else ki(53754,b)}function Fi(){var a=0,b=0;a=ji()|0;if((a|0?(b=c[a>>2]|0,b|0):0)?(a=b+48|0,(c[a>>2]&-256|0)==1126902528?(c[a+4>>2]|0)==1129074247:0):0)Gi(c[b+12>>2]|0);Gi(Hi()|0)}function Gi(a){a=a|0;var b=0;b=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);kc[a&3]();ki(53807,b)}function Hi(){var a=0;a=c[10297]|0;c[10297]=a+0;return a|0}function Ii(a){a=a|0;return}function Ji(a){a=a|0;c[a>>2]=41280;Ni(a+4|0);return}function Ki(a){a=a|0;Ji(a);Rh(a);return}function Li(a){a=a|0;return Mi(a+4|0)|0}function Mi(a){a=a|0;return c[a>>2]|0}function Ni(a){a=a|0;var b=0,d=0;if(Vh(a)|0?(b=Oi(c[a>>2]|0)|0,d=b+8|0,a=c[d>>2]|0,c[d>>2]=a+-1,(a+-1|0)<0):0)Rh(b);return}function Oi(a){a=a|0;return a+-12|0}function Pi(a){a=a|0;Ji(a);Rh(a);return}function Qi(a){a=a|0;li(a);Rh(a);return}function Ri(a,b,c){a=a|0;b=b|0;c=c|0;return ti(a,b,0)|0}function Si(a){a=a|0;li(a);Rh(a);return}function Ti(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=cc;cc=cc+64|0;if((cc|0)>=(dc|0))w(64);h=j;c[d>>2]=c[c[d>>2]>>2];if(!(Ui(a,b,0)|0))if(((b|0)!=0?(e=xi(b,1192,1280,0)|0,(e|0)!=0):0)?(c[e+8>>2]&~c[a+8>>2]|0)==0:0){a=a+12|0;b=e+12|0;if(!(ti(c[a>>2]|0,c[b>>2]|0,0)|0)?!(ti(c[a>>2]|0,1312,0)|0):0){a=c[a>>2]|0;if((((a|0)!=0?(g=xi(a,1192,1176,0)|0,(g|0)!=0):0)?(f=c[b>>2]|0,(f|0)!=0):0)?(i=xi(f,1192,1176,0)|0,(i|0)!=0):0){a=h+4|0;b=a+52|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[h>>2]=i;c[h+8>>2]=g;c[h+12>>2]=-1;c[h+48>>2]=1;oc[c[(c[i>>2]|0)+28>>2]&7](i,h,c[d>>2]|0,1);if((c[h+24>>2]|0)==1){c[d>>2]=c[h+16>>2];a=1}else a=0}else a=0}else a=1}else a=0;else a=1;cc=j;return a|0}function Ui(a,b,c){a=a|0;b=b|0;c=c|0;if(ti(a,b,0)|0)a=1;else a=ti(b,1320,0)|0;return a|0}function Vi(a){a=a|0;li(a);Rh(a);return}function Wi(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if(ti(b,c[d+8>>2]|0,h)|0)wi(0,d,e,f,g);else{p=d+52|0;i=a[p>>0]|0;j=d+53|0;k=a[j>>0]|0;o=c[b+12>>2]|0;l=b+16+(o<<3)|0;a[p>>0]=0;a[j>>0]=0;_i(b+16|0,d,e,f,g,h);a:do if((o|0)>1){m=d+24|0;n=b+8|0;o=d+54|0;b=b+24|0;do{if(a[o>>0]|0)break a;if(!(a[p>>0]|0)){if(a[j>>0]|0?(c[n>>2]&1|0)==0:0)break a}else{if((c[m>>2]|0)==1)break a;if(!(c[n>>2]&2))break a}a[p>>0]=0;a[j>>0]=0;_i(b,d,e,f,g,h);b=b+8|0}while(b>>>0>>0)}while(0);a[p>>0]=i;a[j>>0]=k}return}function Xi(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;a:do if(!(ti(b,c[d+8>>2]|0,g)|0)){if(!(ti(b,c[d>>2]|0,g)|0)){q=c[b+12>>2]|0;k=b+16+(q<<3)|0;$i(b+16|0,d,e,f,g);h=b+24|0;if((q|0)<=1)break;b=c[b+8>>2]|0;if((b&2|0)==0?(j=d+36|0,(c[j>>2]|0)!=1):0){if(!(b&1)){b=d+54|0;while(1){if(a[b>>0]|0)break a;if((c[j>>2]|0)==1)break a;$i(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}b=d+24|0;i=d+54|0;while(1){if(a[i>>0]|0)break a;if((c[j>>2]|0)==1?(c[b>>2]|0)==1:0)break a;$i(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}b=d+54|0;while(1){if(a[b>>0]|0)break a;$i(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}if((c[d+16>>2]|0)!=(e|0)?(q=d+20|0,(c[q>>2]|0)!=(e|0)):0){c[d+32>>2]=f;p=d+44|0;if((c[p>>2]|0)==4)break;k=b+16+(c[b+12>>2]<<3)|0;f=d+52|0;l=d+53|0;n=d+54|0;m=b+8|0;o=d+24|0;h=0;i=b+16|0;j=0;b:while(1){if(i>>>0>=k>>>0){b=18;break}a[f>>0]=0;a[l>>0]=0;_i(i,d,e,e,1,g);if(a[n>>0]|0){b=18;break}do if(a[l>>0]|0){if(!(a[f>>0]|0))if(!(c[m>>2]&1)){h=1;b=18;break b}else{h=1;b=j;break}if((c[o>>2]|0)==1){b=23;break b}if(!(c[m>>2]&2)){b=23;break b}else{h=1;b=1}}else b=j;while(0);i=i+8|0;j=b}do if((b|0)==18){if((!j?(c[q>>2]=e,e=d+40|0,c[e>>2]=(c[e>>2]|0)+1,(c[d+36>>2]|0)==1):0)?(c[o>>2]|0)==2:0){a[n>>0]=1;if(h){b=23;break}else{h=4;break}}if(h)b=23;else h=4}while(0);if((b|0)==23)h=3;c[p>>2]=h;break}if((f|0)==1)c[d+32>>2]=1}else vi(0,d,e,f);while(0);return}function Yi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do if(!(ti(b,c[d+8>>2]|0,0)|0)){h=c[b+12>>2]|0;g=b+16+(h<<3)|0;Zi(b+16|0,d,e,f);if((h|0)>1){h=d+54|0;b=b+24|0;do{Zi(b,d,e,f);if(a[h>>0]|0)break a;b=b+8|0}while(b>>>0>>0)}}else ui(0,d,e,f);while(0);return}function Zi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=c[a+4>>2]|0;f=g>>8;if(g&1)f=c[(c[d>>2]|0)+f>>2]|0;a=c[a>>2]|0;oc[c[(c[a>>2]|0)+28>>2]&7](a,b,d+f|0,(g&2|0)==0?2:e);return}function _i(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=c[a+4>>2]|0;h=i>>8;if(i&1)h=c[(c[e>>2]|0)+h>>2]|0;a=c[a>>2]|0;qc[c[(c[a>>2]|0)+20>>2]&3](a,b,d,e+h|0,(i&2|0)==0?2:f,g);return}function $i(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=c[a+4>>2]|0;g=h>>8;if(h&1)g=c[(c[d>>2]|0)+g>>2]|0;a=c[a>>2]|0;pc[c[(c[a>>2]|0)+24>>2]&7](a,b,d+g|0,(h&2|0)==0?2:e,f);return}function aj(b){b=b|0;if((a[b>>0]|0)==1)b=0;else{a[b>>0]=1;b=1}return b|0}function bj(a){a=a|0;return}function cj(a){a=a|0;return}function dj(){var a=0;a=c[13945]|0;c[13945]=a+0;return a|0}function ej(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);e=f;c[e>>2]=c[d>>2];a=ic[c[(c[a>>2]|0)+16>>2]&7](a,b,e)|0;if(a)c[d>>2]=c[e>>2];cc=f;return a&1|0}function fj(a){a=a|0;if(!a)a=0;else a=(xi(a,1192,1280,0)|0)!=0&1;return a|0}function gj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=r(e,f)|0;d=a>>>16;a=(c>>>16)+(r(e,d)|0)|0;e=b>>>16;b=r(e,f)|0;return (u((a>>>16)+(r(e,d)|0)+(((a&65535)+b|0)>>>16)|0),a+b<<16|c&65535|0)|0}function hj(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=gj(e,f)|0;a=v()|0;return (u((r(b,f)|0)+(r(d,e)|0)+a|a&0|0),c|0|0)|0}function ij(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (u(b+d+(c>>>0>>0|0)>>>0|0),c|0)|0}function jj(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 (u(d|0),a-c>>>0|0)|0}function kj(a){a=a|0;return (a?31-(s(a^a-1)|0)|0:32)|0}function lj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (u(n|0),f)|0}else{if(!g){n=0;f=0;return (u(n|0),f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (u(n|0),f)|0}}g=(i|0)==0;do if(h){if(!g){g=(s(i|0)|0)-(s(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (u(n|0),f)|0}g=h-1|0;if(g&h|0){i=(s(h|0)|0)+33-(s(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (u(o|0),p)|0}else{p=kj(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (u(o|0),p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (u(o|0),p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (u(o|0),p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((kj(i|0)|0)>>>0);return (u(o|0),p)|0}g=(s(i|0)|0)-(s(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (u(o|0),p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=ij(m|0,l|0,-1,-1)|0;d=v()|0;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;jj(k|0,d|0,e|0,n|0)|0;p=v()|0;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=jj(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=v()|0;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (u(o|0),p)|0}function mj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return lj(a,b,c,d,0)|0}function nj(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){u(b>>>c|0);return a>>>c|(b&(1<>>c-32|0}function oj(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){u(b<>>32-c|0);return a<=8192){_a(b|0,d|0,e|0)|0;return b|0}h=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return h|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}e=g&-4|0;f=e-64|0;while((b|0)<=(f|0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(e|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{e=g-4|0;while((b|0)<(e|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return h|0}function qj(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else pj(b,c,d)|0;return b|0}function rj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=b+e|0;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}f=h&-4|0;i=d|d<<8|d<<16|d<<24;g=f-64|0;while((b|0)<=(g|0)){c[b>>2]=i;c[b+4>>2]=i;c[b+8>>2]=i;c[b+12>>2]=i;c[b+16>>2]=i;c[b+20>>2]=i;c[b+24>>2]=i;c[b+28>>2]=i;c[b+32>>2]=i;c[b+36>>2]=i;c[b+40>>2]=i;c[b+44>>2]=i;c[b+48>>2]=i;c[b+52>>2]=i;c[b+56>>2]=i;c[b+60>>2]=i;b=b+64|0}while((b|0)<(f|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}return h-e|0}function sj(a){a=a|0;var b=0,d=0,e=0;e=Xa()|0;d=c[i>>2]|0;b=d+a|0;if((a|0)>0&(b|0)<(d|0)|(b|0)<0){cb(b|0)|0;ea(12);return -1}if((b|0)>(e|0))if(!($a(b|0)|0)){ea(12);return -1}c[i>>2]=b;return d|0}function tj(a,b){a=a|0;b=b|0;return fc[a&7](b|0)|0}function uj(a,b,c,d,e,f,g){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;return gc[a&1](b|0,+c,d|0,e|0,f|0,g|0)|0}function vj(a,b,c){a=a|0;b=b|0;c=c|0;return hc[a&3](b|0,c|0)|0}function wj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ic[a&7](b|0,c|0,d|0)|0}function xj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return jc[a&1](b|0,c|0,d|0,e|0)|0}function yj(a){a=a|0;kc[a&3]()}function zj(a,b){a=a|0;b=b|0;lc[a&31](b|0)}function Aj(a,b,c){a=a|0;b=b|0;c=c|0;mc[a&31](b|0,c|0)}function Bj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;nc[a&7](b|0,c|0,d|0)}function Cj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oc[a&7](b|0,c|0,d|0,e|0)}function Dj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pc[a&7](b|0,c|0,d|0,e|0,f|0)}function Ej(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;qc[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function Fj(a){a=a|0;x(0);return 0}function Gj(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=d|0;e=e|0;f=f|0;y(1);return 0}function Hj(a,b){a=a|0;b=b|0;z(2);return 0}function Ij(a,b,c){a=a|0;b=b|0;c=c|0;A(3);return 0}function Jj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;B(4);return 0}function Kj(){C(5)}function Lj(){$()}function Mj(a){a=a|0;D(6)}function Nj(a,b){a=a|0;b=b|0;E(7)}function Oj(a,b,c){a=a|0;b=b|0;c=c|0;F(8)}function Pj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;G(9)}function Qj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;H(10)}function Rj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;I(11)} // EMSCRIPTEN_END_FUNCS var fc=[Fj,Wg,Li,qd,zd,Bd,Cd,Fj];var gc=[Gj,eh];var hc=[Hj,vd,xd,Hj];var ic=[Ij,Xg,ah,pi,Ri,Ti,Fd,Xd];var jc=[Jj,Yg];var kc=[Kj,Lj,ii,Di];var lc=[Mj,Gd,Hd,Jd,Md,Nd,Pd,Qd,jd,Sd,Td,li,mi,ni,oi,yi,Ji,Ki,Pi,Qi,Si,Vi,rd,Ac,Bc,Ad,Ed,Ei,Mj,Mj,Mj,Mj];var mc=[Nj,ad,yc,zc,ud,Cc,Dc,Ec,Fc,Gc,Hc,Ic,Jc,Kc,Lc,Mc,Dd,fh,Nj,Nj,Nj,Nj,Nj,Nj,Nj,Nj,Nj,Nj,Nj,Nj,Nj,Nj];var nc=[Oj,$c,Rd,sd,td,wd,yd,Oj];var oc=[Pj,si,Bi,Yi,Fg,Eg,Pj,Pj];var pc=[Qj,ri,Ai,Xi,_e,Ze,Qj,Qj];var qc=[Rj,qi,zi,Wi];return{___cxa_can_catch:ej,___cxa_is_pointer_type:fj,___errno_location:_g,___getTypeName:Vg,___muldi3:hj,___udivdi3:mj,_bitshift64Lshr:nj,_bitshift64Shl:oj,_fflush:Fh,_free:Kh,_i64Add:ij,_i64Subtract:jj,_main:wc,_malloc:Jh,_memcpy:pj,_memmove:qj,_memset:rj,_sbrk:sj,_strlen:Ah,dynCall_ii:tj,dynCall_iidiiii:uj,dynCall_iii:vj,dynCall_iiii:wj,dynCall_iiiii:xj,dynCall_v:yj,dynCall_vi:zj,dynCall_vii:Aj,dynCall_viii:Bj,dynCall_viiii:Cj,dynCall_viiiii:Dj,dynCall_viiiiii:Ej,establishStackSpace:vc,globalCtors:rc,stackAlloc:sc,stackRestore:uc,stackSave:tc}}) diff --git a/public/H5LiveClient.js b/public/H5LiveClient.js index 6730d17a..45a215eb 100644 --- a/public/H5LiveClient.js +++ b/public/H5LiveClient.js @@ -1,17 +1,17 @@ -var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module["arguments"]=[];Module["thisProgram"]="./this.program";Module["quit"]=function(status,toThrow){throw toThrow};Module["preRun"]=[];Module["postRun"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;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(Module["ENVIRONMENT"]){throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -s ENVIRONMENT=web or -s ENVIRONMENT=node)")}var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}else{return scriptDirectory+path}}if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+"/";var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);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};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);Module["quit"]=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=function(status){quit(status)}}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}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);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};Module["setWindowTitle"]=function(title){document.title=title}}else{throw new Error("environment detection error")}var out=Module["print"]||(typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null);var err=Module["printErr"]||(typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||out);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;assert(typeof Module["memoryInitializerPrefixURL"]==="undefined","Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["pthreadMainPrefixURL"]==="undefined","Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["cdInitializerPrefixURL"]==="undefined","Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["filePackagePrefixURL"]==="undefined","Module.filePackagePrefixURL option was removed, use Module.locateFile instead");var STACK_ALIGN=16;stackSave=stackRestore=stackAlloc=function(){abort("cannot use the stack before compiled code is ready to run, and has provided stack access")};function dynamicAlloc(size){assert(DYNAMICTOP_PTR);var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end<=_emscripten_get_heap_size()){HEAP32[DYNAMICTOP_PTR>>2]=end}else{return 0}return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var jsCallStartIndex=1;var functionPointers=new Array(0);var funcWrappers={};function makeBigInt(low,high,unsigned){return unsigned?+(low>>>0)+ +(high>>>0)*4294967296:+(low>>>0)+ +(high|0)*4294967296}function dynCall(sig,ptr,args){if(args&&args.length){assert(args.length==sig.length-1);assert("dynCall_"+sig in Module,"bad function pointer type - no table for sig '"+sig+"'");return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{assert(sig.length==1);assert("dynCall_"+sig in Module,"bad function pointer type - no table for sig '"+sig+"'");return Module["dynCall_"+sig].call(null,ptr)}}var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var getTempRet0=function(){return tempRet0};var GLOBAL_BASE=8;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string")return UTF8ToString(ret);if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;assert(returnType!=="array",'Return type should not be "array".');if(args){for(var i=0;i>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)}}var ALLOC_NONE=3;var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(u8Array[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}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){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&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(outIdx+3>=endIdx)break;if(u>=2097152)warnOnce("Invalid Unicode code point 0x"+u.toString(16)+" encountered when serializing a JS string to an UTF-8 string on the asm.js/wasm heap! (Valid unicode code points should be in range 0-0x1FFFFF).");outU8Array[outIdx++]=240|u>>18;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){assert(typeof maxBytesToWrite=="number","stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!");return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}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 len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}function writeArrayToMemory(array,buffer){assert(array.length>=0,"writeArrayToMemory array must have a length (should be an array or typed array)");HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}function demangle(func){warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}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)}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STACK_BASE=56032,STACK_MAX=5298912,DYNAMIC_BASE=5298912,DYNAMICTOP_PTR=56e3;assert(STACK_BASE%16===0,"stack must start aligned");assert(DYNAMIC_BASE%16===0,"heap must start aligned");var TOTAL_STACK=5242880;if(Module["TOTAL_STACK"])assert(TOTAL_STACK===Module["TOTAL_STACK"],"the stack size can no longer be determined at runtime");var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||67108864;if(INITIAL_TOTAL_MEMORY>2]=DYNAMIC_BASE;function writeStackCookie(){assert((STACK_MAX&3)==0);HEAPU32[(STACK_MAX>>2)-1]=34821223;HEAPU32[(STACK_MAX>>2)-2]=2310721022}function checkStackCookie(){if(HEAPU32[(STACK_MAX>>2)-1]!=34821223||HEAPU32[(STACK_MAX>>2)-2]!=2310721022){abort("Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x02135467, but received 0x"+HEAPU32[(STACK_MAX>>2)-2].toString(16)+" "+HEAPU32[(STACK_MAX>>2)-1].toString(16))}if(HEAP32[0]!==1668509029)throw"Runtime error: The application has corrupted its heap memory area (address zero)!"}function abortStackOverflow(allocSize){abort("Stack overflow! Attempted to allocate "+allocSize+" bytes on the stack, but stack has only "+(STACK_MAX-stackSave()+allocSize)+" bytes available!")}HEAP32[0]=1668509029;HEAP16[1]=25459;if(HEAPU8[2]!==115||HEAPU8[3]!==99)throw"Runtime error: expected the system to be little-endian!";function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){checkStackCookie();if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){checkStackCookie();callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){checkStackCookie();runtimeExited=true}function postRun(){checkStackCookie();if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<=half&&(bits<=32||value>half)){value=-2*half+value}return value}assert(Math.imul,"This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.fround,"This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.clz32,"This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.trunc,"This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;var runDependencyTracking={};function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(id){assert(!runDependencyTracking[id]);runDependencyTracking[id]=1;if(runDependencyWatcher===null&&typeof setInterval!=="undefined"){runDependencyWatcher=setInterval(function(){if(ABORT){clearInterval(runDependencyWatcher);runDependencyWatcher=null;return}var shown=false;for(var dep in runDependencyTracking){if(!shown){shown=true;err("still waiting on run dependencies:")}err("dependency: "+dep)}if(shown){err("(end of list)")}},1e4)}}else{err("warning: run dependency added without ID")}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(id){assert(runDependencyTracking[id]);delete runDependencyTracking[id]}else{err("warning: run dependency removed without ID")}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var FS={error:function(){abort("Filesystem support (FS) was not included. The problem is that you are using files from JS, but files were not used from C/C++, so filesystem support was not auto-included. You can force-include filesystem support with -s FORCE_FILESYSTEM=1")},init:function(){FS.error()},createDataFile:function(){FS.error()},createPreloadedFile:function(){FS.error()},createLazyFile:function(){FS.error()},open:function(){FS.error()},mkdev:function(){FS.error()},registerDevice:function(){FS.error()},analyzePath:function(){FS.error()},loadFilesFromDB:function(){FS.error()},ErrnoError:function ErrnoError(){FS.error()}};Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}__ATINIT__.push({func:function(){globalCtors()}});memoryInitializer="data:application/octet-stream;base64,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IwAAACMAAAAkAAAAJAAAACUAAAAlAAAAJQAAACYAAAAmAAAAJgAAACcAAAAnAAAAJwAAACcAAAAAAAAABAAAAAAAAAAEAAAACAAAAAwAAAAIAAAADAAAAAAAAAAEAAAAAAAAAAQAAAAIAAAADAAAAAgAAAAMAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAABAAAAAQAAAAIAAAACAAAAAwAAAAMAAAACAAAAAgAAAAMAAAADAAAAAoAAAANAAAAEAAAAAsAAAAOAAAAEgAAAA0AAAAQAAAAFAAAAA4AAAASAAAAFwAAABAAAAAUAAAAGQAAABIAAAAXAAAAHQAAAAEAAAACAAAABAAAAAgAAAAQAAAAIAAAAEAAAACAAAAAAQAAAAEAAAACAAAAAgAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAQAAAAQAAAAFAAAAAgAAAAMAAAAGAAAABwAAAAgAAAAJAAAADAAAAA0AAAAKAAAACwAAAA4AAAAPAAAAAAAAAAUAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAAAAAAABQAAAAAAAAAHAAAA/wAAAAAAAAD/AAAAAAAAAAAAAAAFAAAABAAAAAAAAAD/AAAAAAAAAP8AAAAAAAAAAAAAAAUAAAAEAAAAAAAAAAAAAAAHAAAABAAAAAIAAAAEAAAAAQAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAABAAAABAAAAAMAAAD/AAAAAAAAAP8AAAAAAAAABAAAAAEAAAAEAAAABAAAAP8AAAAAAAAA/wAAAAAAAAAEAAAAAQAAAAQAAAAEAAAABAAAAAMAAAAEAAAABgAAAAAAAAANAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAAAAAAAA0AAAAAAAAADwAAAP8AAAAAAAAA/wAAAAAAAAAAAAAADQAAAAQAAAAIAAAA/wAAAAAAAAD/AAAAAAAAAAAAAAANAAAABAAAAAgAAAAAAAAADwAAAAQAAAAKAAAABAAAAAkAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAAEAAAACQAAAAQAAAALAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAAJAAAABAAAAAwAAAD/AAAAAAAAAP8AAAAAAAAABAAAAAkAAAAEAAAADAAAAAQAAAALAAAABAAAAA4AAAABAAAACgAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAAEAAAAKAAAABAAAAAAAAAD/AAAAAAAAAP8AAAAAAAAAAQAAAAoAAAABAAAACwAAAP8AAAAAAAAA/wAAAAAAAAABAAAACgAAAAEAAAALAAAABAAAAAAAAAAEAAAAAQAAAAEAAAAOAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAAAQAAAA4AAAAEAAAABAAAAP8AAAAAAAAA/wAAAAAAAAABAAAADgAAAAEAAAAPAAAA/wAAAAAAAAD/AAAAAAAAAAEAAAAOAAAAAQAAAA8AAAAEAAAABAAAAAQAAAAFAAAABAAAAAIAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAAEAAAAAgAAAAQAAAAIAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAACAAAABAAAAAMAAAD/AAAAAAAAAP8AAAAAAAAABAAAAAIAAAAEAAAAAwAAAAQAAAAIAAAABAAAAAkAAAAEAAAABgAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAAGAAAABAAAAAwAAAD/AAAAAAAAAP8AAAAAAAAABAAAAAYAAAAEAAAABwAAAP8AAAAAAAAA/wAAAAAAAAAEAAAABgAAAAQAAAAHAAAABAAAAAwAAAAEAAAADQAAAAEAAAAOAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAAAQAAAA4AAAD/AAAABAAAAP8AAAAAAAAA/wAAAAAAAAABAAAACwAAAAEAAAAOAAAA/wAAAAAAAAD/AAAAAAAAAAEAAAALAAAAAQAAAA4AAAAEAAAAAQAAAP8AAAAEAAAAAgAAAAoAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAACAAAACgAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAAEAAAAPAAAAAgAAAAoAAAD/AAAAAAAAAP8AAAAAAAAAAQAAAA8AAAACAAAACgAAAAQAAAAFAAAA/wAAAAAAAAAEAAAABgAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAAGAAAA/wAAAAwAAAD/AAAAAAAAAP8AAAAAAAAABAAAAAMAAAAEAAAABgAAAP8AAAAAAAAA/wAAAAAAAAAEAAAAAwAAAAQAAAAGAAAABAAAAAkAAAD/AAAADAAAAP8AAAACAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAIAAAD/AAAACAAAAP8AAAAAAAAA/wAAAAAAAAAEAAAABwAAAP8AAAACAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAAHAAAA/wAAAAIAAAAEAAAADQAAAP8AAAAIAAAAAwAAAA8AAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAADAAAADwAAAAAAAAAFAAAA/wAAAAAAAAD/AAAAAAAAAAMAAAAPAAAAAQAAAAoAAAD/AAAAAAAAAP8AAAAAAAAAAwAAAA8AAAABAAAACgAAAAAAAAAFAAAABAAAAAAAAAABAAAACwAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAAEAAAALAAAABAAAAAEAAAD/AAAAAAAAAP8AAAAAAAAAAQAAAAsAAAABAAAADgAAAP8AAAAAAAAA/wAAAAAAAAABAAAACwAAAAEAAAAOAAAABAAAAAEAAAAEAAAABAAAAAAAAAAHAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAAAAAAAAcAAAAAAAAADQAAAP8AAAAAAAAA/wAAAAAAAAAAAAAABwAAAAQAAAACAAAA/wAAAAAAAAD/AAAAAAAAAAAAAAAHAAAABAAAAAIAAAAAAAAADQAAAAQAAAAIAAAABAAAAAMAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAAEAAAAAwAAAAQAAAAJAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAADAAAABAAAAAYAAAD/AAAAAAAAAP8AAAAAAAAABAAAAAMAAAAEAAAABgAAAAQAAAAJAAAABAAAAAwAAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAAwAAAA8AAAABAAAACgAAAAAAAAAFAAAABAAAAAAAAAABAAAACwAAAAEAAAAOAAAABAAAAAEAAAAEAAAABAAAAAAAAAAHAAAABAAAAAIAAAAAAAAADQAAAAQAAAAIAAAABAAAAAMAAAAEAAAABgAAAAQAAAAJAAAABAAAAAwAAAADAAAAEwAAAAEAAAASAAAAAAAAABEAAAAEAAAAEAAAAAMAAAAXAAAAAQAAABYAAAAAAAAAFQAAAAQAAAAUAAAAAQAAAAsAAAABAAAADgAAAAQAAAABAAAA/wAAAAQAAAABAAAADwAAAAIAAAAKAAAABAAAAAUAAAD/AAAAAAAAAAQAAAADAAAABAAAAAYAAAAEAAAACQAAAP8AAAAMAAAABAAAAAcAAAD/AAAAAgAAAAQAAAANAAAA/wAAAAgAAAABAAAAEwAAAAIAAAASAAAABAAAABEAAAD/AAAAEAAAAAEAAAAXAAAAAgAAABYAAAAEAAAAFQAAAP8AAAAUAAAAAQAAAAoAAAABAAAACwAAAAQAAAAAAAAABAAAAAEAAAABAAAADgAAAAEAAAAPAAAABAAAAAQAAAAEAAAABQAAAAQAAAACAAAABAAAAAMAAAAEAAAACAAAAAQAAAAJAAAABAAAAAYAAAAEAAAABwAAAAQAAAAMAAAABAAAAA0AAAABAAAAEgAAAAEAAAATAAAABAAAABAAAAAEAAAAEQAAAAEAAAAWAAAAAQAAABcAAAAEAAAAFAAAAAQAAAAVAAAAAAAAAAUAAAAEAAAAAAAAAAAAAAAHAAAABAAAAAIAAAAEAAAAAQAAAAQAAAAEAAAABAAAAAMAAAAEAAAABgAAAAAAAAANAAAABAAAAAgAAAAAAAAADwAAAAQAAAAKAAAABAAAAAkAAAAEAAAADAAAAAQAAAALAAAABAAAAA4AAAAAAAAAEQAAAAQAAAAQAAAAAAAAABMAAAAEAAAAEgAAAAAAAAAVAAAABAAAABQAAAAAAAAAFwAAAAQAAAAWAAAA4KYAABinAAA4pwAAAAAAADqnAAAAAAMASqcAAAAAAwBqpwAAAAADAAAAAAAAAAAAiqcAAAAAAwC+pwAAAAAEAPanAAAAAAQAdqgAAAAABAD6qAAAAAAEAGapAAAAAAQAMqoAAAAABAACqwAAAAAEAMKrAAAAAAQAAAAAAAAAAADergAAAAAEANaxAAABAAQA1rEAAAIABADWsQAAAwAEANaxAAAEAAQA1rEAAAYABADWsQAACAAEANaxAAAKAAQA1rEAAA0ABAD6tAAABAAEAPq0AAAFAAQA+rQAAAYABAD6tAAABwAEAPq0AAAIAAQA+rQAAAkABAD6tAAACwAEAPq0AAANAAQAAAAAAPn///81AAAAjf////0BAAD4+v//bAYAAGTb//9ISQAAnCQAAGwGAAAIBQAA/QEAAHMAAAA1AAAABwAAAAAAAAD5////NQAAAI3////9AQAA+Pr//2wGAABk2///SEkAAJwkAABsBgAACAUAAP0BAABzAAAANQAAAAcAAAAAAAAA+P///zcAAAB+////9AEAAJ36///SBQAAltn//zxJAADOIgAA+AYAAK0EAAAEAgAAZAAAADQAAAAHAAAAAAAAAPj///83AAAAfv////QBAACd+v//0gUAAJbZ//88SQAAziIAAPgGAACtBAAABAIAAGQAAAA0AAAABwAAAAAAAAD3////OAAAAG/////oAQAAQvr//yoFAADK1///GkkAAAAhAAB2BwAAUgQAAAgCAABXAAAAMwAAAAYAAAAAAAAA9////zgAAABv////6AEAAEL6//8qBQAAytf//xpJAAAAIQAAdgcAAFIEAAAIAgAAVwAAADMAAAAGAAAAAAAAAPb///84AAAAX////9kBAADp+f//dAQAAADW///iSAAAMx8AAOcHAAD4AwAACgIAAEoAAAAxAAAABQAAAAAAAAD2////OAAAAF/////ZAQAA6fn//3QEAAAA1v//4kgAADMfAADnBwAA+AMAAAoCAABKAAAAMQAAAAUAAAAAAAAA9v///zkAAABO////yAEAAJH5//+wAwAAO9T//5JIAABoHQAASwgAAJ4DAAAJAgAAPQAAADAAAAAFAAAAAAAAAPb///85AAAATv///8gBAACR+f//sAMAADvU//+SSAAAaB0AAEsIAACeAwAACQIAAD0AAAAwAAAABQAAAAAAAAD1////OQAAAD3///+zAQAAOvn//94CAAB60v//LUgAAKAbAACiCAAARgMAAAcCAAAxAAAALgAAAAQAAAAAAAAA9f///zkAAAA9////swEAADr5///eAgAAetL//y1IAACgGwAAoggAAEYDAAAHAgAAMQAAAC4AAAAEAAAAAAAAAPT///85AAAALP///5sBAADm+P///QEAAL7Q//+yRwAA3RkAAO0IAADvAgAAAgIAACYAAAAsAAAABAAAAAAAAAD0////OQAAACz///+bAQAA5vj///0BAAC+0P//skcAAN0ZAADtCAAA7wIAAAICAAAmAAAALAAAAAQAAAD/////8////zkAAAAa////gAEAAJX4//8PAQAACs///yFHAAAeGAAAKwkAAJoCAAD8AQAAHAAAACoAAAAEAAAA//////P///85AAAAGv///4ABAACV+P//DwEAAArP//8hRwAAHhgAACsJAACaAgAA/AEAABwAAAAqAAAABAAAAP/////x////OAAAAAj///9iAQAARvj//xIAAABdzf//ekYAAGQWAABeCQAARwIAAPQBAAASAAAAKAAAAAMAAAD/////8f///zgAAAAI////YgEAAEb4//8SAAAAXc3//3pGAABkFgAAXgkAAEcCAAD0AQAAEgAAACgAAAADAAAA//////D///83AAAA9v7//0ABAAD89///Bv///7jL//+/RQAAsRQAAIYJAAD2AQAA6wEAAAkAAAAnAAAAAwAAAP/////w////NwAAAPb+//9AAQAA/Pf//wb///+4y///v0UAALEUAACGCQAA9gEAAOsBAAAJAAAAJwAAAAMAAAD/////7////zYAAADk/v//GwEAALX3///t/f//Hcr///BEAAAGEwAAogkAAKcBAADgAQAAAQAAACUAAAADAAAA/////+////82AAAA5P7//xsBAAC19///7f3//x3K///wRAAABhMAAKIJAACnAQAA4AEAAAEAAAAlAAAAAwAAAP/////u////NAAAANH+///zAAAAc/f//8f8//+NyP//DEQAAGIRAAC0CQAAWwEAANQBAAD5////IwAAAAIAAAD/////7v///zQAAADR/v//8wAAAHP3///H/P//jcj//wxEAABiEQAAtAkAAFsBAADUAQAA+f///yMAAAACAAAA/////+z///8yAAAAv/7//8cAAAA29///k/v//wnH//8VQwAAxw8AALwJAAASAQAAxgEAAPL///8hAAAAAgAAAP/////s////MgAAAL/+///HAAAANvf//5P7//8Jx///FUMAAMcPAAC8CQAAEgEAAMYBAADy////IQAAAAIAAAD/////6////y8AAACt/v//lwAAAP/2//9R+v//kMX//wtCAAA1DgAAugkAAMwAAAC4AQAA6////x8AAAACAAAA/////+v///8vAAAArf7//5cAAAD/9v//Ufr//5DF//8LQgAANQ4AALoJAADMAAAAuAEAAOv///8fAAAAAgAAAP/////p////LAAAAJv+//9lAAAAzvb//wP5//8mxP//8EAAAK0MAACvCQAAiAAAAKkBAADl////HQAAAAIAAAD/////6f///ywAAACb/v//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AAAAAAAAZiAmEAYIZRhlGEMQQxBDEEMQQxBDEEMQQxAiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCAAAAAAAAAAAakBKMCooCiBpOGk4SShJKCkgKSAJGAkYaDBoMGgwaDBIIEggSCBIICgYKBgoGCgYCBAIEAgQCBBnKGcoZyhnKGcoZyhnKGcoRxhHGEcYRxhHGEcYRxhHGG5gTlguUA5QblhOUC5IDkgNQA1ATUhNSC1ALUANOA04bVBtUE1ATUAtOC04DTANMGtIa0hrSGtIa0hrSGtIa0hLOEs4SzhLOEs4SzhLOEs4KzArMCswKzArMCswKzArMAsoCygLKAsoCygLKAsoCygAAAAAL2gvaBCAUIAwgBB4cIBQeDB4EHBweFBwMHAQaG9wb3BPaE9oL2AvYA9gD2BvaG9oT2BPYC9YL1gPWA9YAAAAAAAAAABmOEYgJiAGEGYwRhgmGAYIZShlKCUQJRBkIGQgZCBkIGQYZBhkGGQYQxBDEEMQQxBDEEMQQxBDEAAAAAAAAAAAaUhJOCk4CTAIKAgoSDBIMCgwKDAIIAggZ0BnQGdAZ0BHKEcoRyhHKCcoJygnKCcoBxgHGAcYBxgAAAAAbXhteG6AToAugA6ALngOeE54LnBNcE1wDXANcG1wbXBNaE1oLWgtaA1oDWhtaG1oTWBNYC1gLWANYA1gDFgMWAxYDFhMWExYTFhMWCxYLFgsWCxYDFAMUAxQDFBsYGxgbGBsYExQTFBMUExQLFAsUCxQLFAMSAxIDEgMSGtYa1hrWGtYa1hrWGtYa1hLSEtIS0hLSEtIS0hLSEtIK0grSCtIK0grSCtIK0grSAtAC0ALQAtAC0ALQAtAC0BrUGtQa1BrUGtQa1BrUGtQS0BLQEtAS0BLQEtAS0BLQCtAK0ArQCtAK0ArQCtAK0ALOAs4CzgLOAs4CzgLOAs4AAAAAAAAAAAAAAAAAAAAAAYYRjgmOAYQZkhGMCYwBgglKCUoRShFKCUgJSBFIEUgJRglGGVAZUBFGEUYJRAlEGQ4ZDhkOGQ4ZDBkMGQwZDBkKGQoZChkKGQgZCBkIGQgZBhkGGQYZBhEEEQQRBBEECQIJAgkCCQIBAAEAAQABAAAAAqAaoBKgCqACnhqeEp4KngKcGpwSnAqcApoKWgpaAlgCWBJaEloKWApYAlYCVhpaGloSWBJYClYKVgJUAlQaGBoYGhgaGBIWEhYSFhIWChQKFAoUChQCEgISAhICEhoWGhYaFhoWEhQSFBIUEhQKEgoSChIKEgIQAhACEAIQAc4BzgHOAc4BzgHOAc4BzgHMAcwBzAHMAcwBzAHMAcwR0hHSEdIR0hHSEdIR0hHSAcoBygHKAcoBygHKAcoByhnUGdQZ1BnUGdQZ1BnUGdQR0BHQEdAR0BHQEdAR0BHQCdAJ0AnQCdAJ0AnQCdAJ0AHIAcgByAHIAcgByAHIAcgBggmCAAABgAGECYQRhAAAAYYJhhGGGYYBiAmIEYgZiAGKCYoRihmKAYwJjBGMGYwBjgmOEY4ZjgGQCZARkBmQAZIJkhGSGZIBlAmUEZQZlAGWCZYRlhmWAZgJmBGYGZgBmgmaEZoZmgGcCZwRnBmcAZ4JnhGeGZ4BoAmgEaAZoAAAEMQAgACACEIIQghCCEIZyBnIEggKCBHGEcYJxgnGAYgBiAGIAYgBhgGGAYYBhgGEAYQBhAGEGYYZhhmGGYYJhAmECYQJhAGCAYIBggGCAQBRAGCAaIBSQCJACkAGQADAAMAAwADAAMAAwADAAMA1QD1ALUAdQDlAKUAkwCTAGMAwwBTADMA+QB5ALkAOQDZAFkAmQAZAOkAaQCpACkAyQBJAIkACQABABcBBwEVABUAAwADAAMAAwCGABcBBwEXAAMAAwADAAMAJwIHAhUCFQIlASUBJQAlAIYAFwAVARUBBQEFAQUABQAnAgcCFQIVAiUBJQElACUAiAAXAQcBFwADAAMAAwADAIIBOQI3ATcBGQMJAzkAKQIXAhcCJwEnAQcCBwInACcAMwMjAwYBggGiARkCKQEpAAcBBwEVARUBFQEVARcAFwAHAAcANwMHAyUDJQM1AjUCNQA1ABMDMwEjAgMCCAEIAgQDGQEHAQcBFwAXAAMAAwADAAMAAwADAAMAAwBEA4IDogMZBVkBwgNZAOIDKQRJAhcEFwRHAUcBRwBHAAkEKQM5AgkDFwMXAzcBNwE3ADcAJwInAhUCFQIVAhUCIwEjAQUCJQBVBUUFVQRVAzMFQwQjBVMCAwUzBEMDMwMIAQgCGQIpARUBFQEVARUBBwEHARcAFwAFAAUABQAFAAYDhAPCAxkFWQHiAwIEKQRJAhkERwFHAQkESQApAzkCGQM5AQkDOQAlAiUCJQIlAgUCBQIFAgUCJQAlACUAJQBXBVcERQVFBVMDUwNTA1MDNQVFBCMFIwVTAgMFMwRDA1MAMwMIAQYChALEAgIDGQIpASkAFwEXAQcBBwEXABcABwAHACIDOQVZA0IDSQQpBVkCGQVXAVcBNwQ3BEcDRwNZAAkEJwRHAjcDRwAVBBUERQFFASUDNQITAxMDMwEzAQUDNQAjAgMCUwVDBVMEAwUIAQgCBAMZAQcBBwEXABcAAwADAAMAAwADAAMAAwADAEYDxAMGBIIEpATkBCQFGQd5AWIFhAXEBRkGaQFpAAIGIgZCBhkESQFJACkDOQIJAxcDFwM3ATcBNwA3ACcCJwIVAiUBBQIlAHcHZwd3BlcHdwVnBkUHRQd1BFUGZQU1B3UDdQNFBkUGVwVXBGUDZQMjB3MCZQQFB3MAcwBjAmMCRQU1BQMGAwZVA0UEMwYjBiUFVQITBRMFUwFTATUERQMDBVMAIwRDAjMDAwQIAQgCCAMGBBkCggQXARcBBwEHARcAFwAFAAUABQAFAKQE5gRkBaIFxAUpB3kCAgZ3AXcBGQd5ADkGaQNpACIGQgYZBWcCZwIpBgkGFwYXBmcBZwFZATkEWQBiBikESQIZBEkBCQRJACcDJwM3AjcCFQMVAxUDFQM1ATUBNQE1AQcDNwAlAiUCIwEjASMBIwEDAiMAdQdlB3UGdQVlBmUGRQdFB3UEdQRXB1cFVQZlBTMHMwdzA0MGRQVVBDUFVQNjBAMHQwQjBVMCAwVDAzMDCAEIAggDBARGBMIEGQIpAeIECQAXARcBBwEHARcAFwAEBUIFYgWCBVkGOQeiBSkHeQJJBmkEGQd5AcIFOQZpA0kFWQRJBOIFJwYnBmcCZwJnAWcBGQZpADkFWQMpBVkCFwUXBVcBVwE3BDcERwNHA1kACQQnBCcERwJHAhcEFwQ1A0UBJQM1AkcABwM1ADUAEwMTAxMDEwMzASMCAwIjAHUHZQdzBnMGUwdzBWMGQwdzBGMFcwNTBQMHcwADBgMFCAEIAggDBAQZAQkBFwAXAAMAAwADAAMAAwADAAMAAwBIBEgFSAZIB0gISAlGCsYKRgvGC0YMxgxCDWQNpg0iDkQOhA7EDgQPiQFCD2IPgg+kD+IPGQVZAQIQIhBCEBkERwFHAQkESQApAzkCFwMXAzcBNwEHAwcDNwA3ACcCJwIVAiUBBQIlAGgQaBFoEmYT5BMkFGYU5BQiFUQVhBXEFQQWRBYZD/kB+QCCFqIWwhbpAuIWGQ7pAQIXIhdCF2IXgheiF8kGOQ3CFykN2QIZDbkH4hcCGMkDIhhJC9cB1wEJDdkAiQqpCEkMyQRpC7kGNww3DCcMJwzHAscCVwtXC7kFiQkXDBcMxwHHAZkICQzHAMcAuQRpCqkGeQk3CzcLtwO3A4kIWQonCycLqQVpCacEpwR5CIkHlwSXBHkHeQa1ArUCtQK1AhULFQu1AbUBBwu3AJcGRwo3CqcDVwmXBSUKJQqlAqUCFQoVCqUBpQEHCmcIpQClAIcGRwmVA5UDNwlXCIcFZwclCSUJlQKVAlcHdwU1CDUIhQOFA2cGRwd3BFcGZwV3AxMJkwEFCZUARQiFBHUCdQJHBmcEIwgjCCMIIwiDAhMINQclBxMHEwdzAXMBVQUFB3UANQZlA0UFVQQlBmUCNQUDCIMAEwZjAQMGYwBVA0UEIwUjBVMCAwUzBEMDUwAjBEMCMwNGGPkP6Q/ZD+kOyQ/ZDrkP+QvJDtkMwhjnDOcM1w3XDfkKyQ23DrcO5wvnC5cPlw/3CfcJ5wrnCrcNtw3XC9cLhw+HD/cI9wjHDMcMqQ6ZDocOhw55D3kO9Qf1B/UH9QfVCtUKpw23DMcL9wZlD2UP5QhVD5UN1Qn1BeUHpQy1C0UPRQ/1BPUExwrnBvUD9QMzDzMPhQ3VCCMP8wJlDpUMAw8DD8UJVQ6jC6MLdQ3VB0MOQw7FCNUGMw4zDrMJswmVC6UKswrjBeMEgwxjDeMDIw4DDuMAUw3TBXMMwwdDDYMLswjTBJMKowljDNMDcwtTDMMFkwlzCqMHkwf3DvcM9Q31DeMN4w3jDeMNow/jCQgBCAIIAwgECAUGBoYGBAdCB2IHFwEXAQkBGQAHAAcAiAeICIgJiAqIC4YMBg2IDYYOBg+GDwYQhBDGEEYRxBEEEkQShBLEEgQTRBOEE8QTAhQiFEIUZBSiFMIU5BQiFUIVYhWZAYIVohXCFeIVAhYpCIkCGQiJASIWQhZiFoIWKQd5AmkEGQdZBXkBohY5BmkDSQVZBCkGaQIZBsIWOQVnAWcBWQNJBCcFJwVXAlcCFwUXBVcBVwEJBVkANwQ3BEcDJwRHAjcDRQFFARcEBwQlAyUDNQI1AkcABwMVAxUDNQE1ACMCIwITAiMBAwIjAOIWAhfpDiIXQhdiF/kLghfZDakP+Qq5DukLyQ3ZDJkP+QnpCrkN2QuJD/kIyQyZDukJeQ/5B6kN2Qq5DGkPohfHC8cL9wb3BokO6QhZD5kN9wX3BXcOdw7nB+cHpwynDMcKxwq3C7cL2QmJDUcPRw/3BPcENw83D/cD9wPXCNcI5wbnBicPJw/3AvcCaQ75ABcPFw/3AfcBlwyXDMcJxwlXDqcLtwrnBXcN1wdHDucEhwzHCDcOZw3XBucDlwu3CScOJw6nCqcK5wLnAhcOFw7nAecBCQ7pAFcNVw3XBdcFdwzHB0cNhwvVBNUEtwiXCqcJZwzHBjcN1QPVA9UC1QInDQcNFQ0VDXULdQu1B7UH1QHVAVcM1wDFBcUFhQqFCqUIRQzFBGULtQa1BpcJBww1DDUMxQPFA3UKdQqlB6UHpQalBscABwvDAsMCJQxVC7UFFQyFCZUIxQFFC7UEZQo1C3UJswOzA5UHhQglC1UKswKzAqUFFQuzAbMBtQBlCZUGRQqlBHUIhQc1CqMDowNTCZMFIwqjAhMKowEFCqUAYwhjCIMGQwmTBDMJkwOTA3UHBQlTCIMFIwljB3MGkwITCZMAQwiDBFMHcwUzCIMDYwZDB3MEAwiDAFMGYwUzB3MDQwYDB3MAAwZjAPMP4w/zDtMP8w3DD/MM0w7jDbMPww7jDKMOAw8IAQgCCAMEBBkBCQEXABcAAwADAAMAAwADAAMAAwADAEYExgREBfkPhAXCBegF+QLiBhkP+QEIBwgICAkICggLCAwGDYYNBg6GDgYPhg8GEIQQxBACESQRZBGiEVkBwhHiEQISIhIZBEkBQhIpAzkCFwMXAzcBNwEJAzkAJwInAhUCJQEFAiUA5w/3DtcP9w3HD/cMtw/3C6UPpQ/3CpcP9wn3CIUPhQ91D/UHZQ/1BlUP9QVDD0MP8wTzA/MA8wDzAPMA8wDzAPMA8wA1DzUPNQ81D2gSZhPmE2YUIw8DD+QUJBVkFaIVxBUEFkIWZBakFuQWJBfpA2IXgheiF8IX4hcCGCIYCQ1CGGIYghg5DKIYGQzJAMIY5wLnAikOGQ7ZAykN2QLZATkL4hgXDRcNyQRpC8kDqQcnDCcMyQK5BckBCQxJC7kEaQqpBrcDtwNZCqkFJwsnC7cCtwIXCxcLtwG3AQkLuQBpCZkGSQqpBHkIiQenA6cDOQpZCScKJwqZBWkIpwGnAYkGeQeXBJcESQlZB2cHZwelAqUCpQKlAhUKFQoHCqcANwmXA1cIhwUlCSUJlQKVAncGBwkVCRUJlQGVAZcARwiHBHcFNwiHA2cGJwiFAoUCRwd3BBUIFQiFAYUBhQCFAAcIVwY1BzUHdQN1A2cFRwYlByUHdQJ1AmcEVwUFBwUHEwcTBxMHEwdzAXMBdQA1BmUDRQVVBCUGYwITBmMBYwEFBmUAUwNTAzUFRQQjBVMCEwUDBTMEQwNTACMEQwIzAwMEQwDJDgIZ1w7XDucJ5wnpCtkJ5Q7lDuUO5Q7nDecN5wvnC7UOtQ7FDcUN1wzXC6UOpQ7FDMUMpw3XCncOpwzFCsUKxwl3DVUOVQ6zDbMNsw2zDZMOkw61DMULhQ7lCJUN5Qe1C4UN1QhlDuMGkwylC7UK5QXVB0MOQw7lBIUMwwgzDmMNYw3VBpULtQmlCuMB4wHTBNMEtQilCXMLcwu1B9UAAw7jAFMN0wVzDMMHQw2DC5MKYwzDBjMNUwzDBYMKowiTCUMMswZzClMLgwmTCHMJkweDCOMM0w0IAQgCCAP5DwgECAUIBggHCAgICQYKhAoZAQkBGQAJAOkP+Q7ZD/kNyQ/5DLkP+Qv3CvcKqQ+ZD/cJ9wn3CPcIiQ95D/cH9wdnD2cP9wb3BlcPVw/3BfcFRw9HD/cE9wQ3DzcP9wP3AycPJw/3AvcC9wH3ARkP+QDGCkYLxgtGDMgMxg1GDsYORA+ED8QPBBBEEIQQxBAEEUQRhhEEEkQShBLGEkQThhMCFCQUZBSiFMQUAhUiFUIVYhWCFaIVwhXiFQIWIhZCFmIWghaiFsIW4hYCFyQXYheEF3kDwhd5AkkGaQRZBXkBOQZpA0kFWQQpBmkCGQZpAeIXOQVZA0kEKQVZAhkFAhhXAVcBOQRJAycEJwRHAkcCNwM3AxcEFwRHAUcBCQRJACcDJwM3AjcCFQMVAxUDFQM1ATUBNQE1AQcDNwAlAiUCEwITAhMCEwIjASMBBQIlAAMPAw8DDwMP5w7XDucNxw7nDNcNtw7nC8cN1wynDucKtw3XC8cMlw7nCacN1wq3DMcLhw7nCJcN1wl3DucHpwzHCscKtwu3C4cNhw3XCNcICQ7pAAcNBw3lBuUG5QblBmcOlwzFCcUJVQ5VDrUKtQrlBeUFpwt3DdUH1QflBOUEhQyFDMUIxQhHDicONQ41DmUN1QblA5ULtQmlCuUCFQ7lAVUN1QV1DMUHRQ2FC7UI1QSVCqUJZQzFBjUN1QMlDdUCFQ11C7UH1QFVDMUFhQqlCJUJRQzFBGULZQu1BrUG1wAHDDUMNQzFA3UKpQclDMUCVQu1BRUMhQmVCMUBRQvHAAcLNQs1C7cABwoVChUKswSzBGUKpQZ1CXUJlQeVB6cABwmVAJUAswODCCULVQqzArMCpQUVC7UBZQmTBqMERQp1CIMHgwczCqMDUwmTBSMKowKjAWMIgwZzB0MJkwQzCZMDUwiDBSMJYwdzBpMCEwmTAUMIgwRTB3MFMwiDA2MGIwiDAhMIQwdzBIMBgwEFCIUAUwZjBRMHEwcFB3UAMwcjBwMGYwADBVMAAAAFgA+ACgAbgB4AFAARgDOANgA8ADmAKAAtgCeAIgBjgGYAbABpgHgAfYB3gHIAUABVgF+AWgBLgE4ARABBgMOAxgDMAMmA2ADdgNeA0gDwAPWA/4D6AOuA7gDkAOGAoAClgK+AqgC7gL4AtACxgJOAlgCcAJmAiACNgIeAggCDgYYBjAGJgZgBnYGXgZIBsAG1gb+BugGrga4BpAGhgeAB5YHvgeoB+4H+AfQB8YHTgdYB3AHZgcgBzYHHgcIBQAFFgU+BSgFbgV4BVAFRgXOBdgF8AXmBaAFtgWeBYgEjgSYBLAEpgTgBPYE3gTIBEAEVgR+BGgELgQ4BBAEBgQODBgMMAwmDGAMdgxeDEgMwAzWDP4M6AyuDLgMkAyGDYANlg2+DagN7g34DdANxg1ODVgNcA1mDSANNg0eDQgPAA8WDz4PKA9uD3gPUA9GD84P2A/wD+YPoA+2D54PiA6ODpgOsA6mDuAO9g7eDsgOQA5WDn4OaA4uDjgOEA4GDgAKFgo+CigKbgp4ClAKRgrOCtgK8ArmCqAKtgqeCogLjguYC7ALpgvgC/YL3gvIC0ALVgt+C2gLLgs4CxALBgkOCRgJMAkmCWAJdgleCUgJwAnWCf4J6AmuCbgJkAmGCIAIlgi+CKgI7gj4CNAIxghOCFgIcAhmCCAINggeCAgJINUxDQmFzZQAkcGxheQBvbkRhdGEAJGNsb3NlAGRlY29kZVZpZGVvQnVmZmVyAGlzUGxheWluZwBmbHZNb2RlAGF1ZGlvQnVmZmVyAHZpZGVvQnVmZmVyAGJwcwBidWZmZXJJbmZvAEg1TGl2ZUNsaWVudABjbG9zZQB3ZWJHTENhbnZhcwBpc1dlYkdMAHdlYmdsOiVzAHRydWUAZmFsc2UALmZsdgBXZWJTb2NrZXQAYmluYXJ5VHlwZQBhcnJheWJ1ZmZlcgBvbm1lc3NhZ2UAd3MATlN0M19fMjEyYmFzaWNfc3RyaW5nSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUATlN0M19fMjIxX19iYXNpY19zdHJpbmdfY29tbW9uSUxiMUVFRQBiaW5kAE4xMGVtc2NyaXB0ZW4zdmFsRQBkYXRhAHVua25vdyB0eXBlOiAlZABlcnJvciB0eXBlIDolZABhbGxvY2F0b3I8VD46OmFsbG9jYXRlKHNpemVfdCBuKSAnbicgZXhjZWVkcyBtYXhpbXVtIHN1cHBvcnRlZCBzaXplAHBsYXlBdWRpbwBpbml0QXVkaW8Ac2V0IGF1ZGlvIGJ1ZmZlckxlbmd0aDolZABnb3QgaDI2NCB2aWRlbwBnb3QgaDI2NSB2aWRlbwBPbmx5IHN1cHBvcnQgdmlkZW8gaC4yNjQvYXZjIG9yIGguMjY1L2hldmMgY29kZWMuIGFjdHVhbD0lZAB2aWRlbyBpbmZvIHNldCEAcHVzaCB0aW1lc3RhbXA6JWQAcmVzZXRUaW1lU3BhbgBjb2RlYyA9ICVkAHBsYXlWaWRlb0J1ZmZlcgB0aW1lc3BhbgBjbGVhclRpbWVvdXQAZnJvbnQAYmFjawBzaXplADhINUxDQmFzZQBQOEg1TENCYXNlAFBLOEg1TENCYXNlAGlpAHYAdmkAdmlpaQB2aWkAaWlpAG5vdGlmeU9uRGVzdHJ1Y3Rpb24AaW1wbGVtZW50AGV4dGVuZAAxMkg1TGl2ZUNsaWVudABOMTBlbXNjcmlwdGVuN3dyYXBwZXJJOEg1TENCYXNlRUUATjEwZW1zY3JpcHRlbjhpbnRlcm5hbDExV3JhcHBlckJhc2VFAFAxMkg1TGl2ZUNsaWVudABQSzEySDVMaXZlQ2xpZW50AGlpaWkAYXVkaW8gaW5pdCEgJWQAbXAzIGluaXQhAERFQ09ERVIgSU5JVElBTElaQVRJT04gRkFJTEVECgBIMjY0IGluaXQAOEJyb2Fkd2F5ADEyVmlkZW9EZWNvZGVyAHZpZGVvIGRlY29kZXIgcmVsZWFzZSEKAHZpZGVvIGRlY29kZSAlZABjYW52YXM6JWQsJWQAc2V0VmlkZW9TaXplAGRyYXcAYXVkaW8gZGVjb2RlciByZWxlYXNlCgBhdWRpbyBkZWNvZGVyIHJlbGVhc2UhCgBGbHZEZWNvZGVyIHJlbGVhc2UhCgBfX2Rlc3RydWN0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAAAAAAAQEBAQEBAgICAgICAwMDAwMDBAQEBAQEBQUFBQUFBgYGBgYGBwcHBwcHCAgICAABAgMEBQABAgMEBQABAgMEBQABAgMEBQABAgMEBQABAgMEBQABAgMEBQABAgMEBQABAgMAAGVVREQ0NCMjIyMTExMTAQEBAQEBAQEBAQEBAQEBAQD56dnIyLi4p6enp5eXl5eGhoaGhoaGhnZ2dnZ2dnZ25tbGtqWllZWEhISEdHR0dGRkZGRUVFRUQ0NDQ0NDQ0MzMzMzMzMzMyMjIyMjIyMjExMTExMTExMDAwMDAwMDA9a2xcWlpZWVhISEhFRUVFREREREBAQEBHNzc3Nzc3NzY2NjY2NjY2MzMzMzMzMzMyMjIyMjIyMjExMTExMTExPFtaUFlJR0dDQ0JCSDg4ODY2NjY1NTU1NDQ0NDExMTE7WVpKSEhCQkFBQEBHNzc3NjY2NjU1NTU0NDQ0MzMzMzpgYVFYSE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Ojp3c3RyaW5nAGVtc2NyaXB0ZW46OnZhbABlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgbG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxkb3VibGU+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmcgZG91YmxlPgBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0llRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWZFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ltRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWpFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lpRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJdEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXNFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0loRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJYUVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWNFRQBOU3QzX18yMTJiYXNpY19zdHJpbmdJd05TXzExY2hhcl90cmFpdHNJd0VFTlNfOWFsbG9jYXRvckl3RUVFRQBOU3QzX18yMTJiYXNpY19zdHJpbmdJaE5TXzExY2hhcl90cmFpdHNJaEVFTlNfOWFsbG9jYXRvckloRUVFRQAtKyAgIDBYMHgAKG51bGwpAC0wWCswWCAwWC0weCsweCAweABpbmYASU5GAG5hbgBOQU4ALgB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzOiAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZm9yZWlnbiBleGNlcHRpb24AdGVybWluYXRpbmcAdW5jYXVnaHQAU3Q5ZXhjZXB0aW9uAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAFN0OXR5cGVfaW5mbwBOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAHB0aHJlYWRfb25jZSBmYWlsdXJlIGluIF9fY3hhX2dldF9nbG9iYWxzX2Zhc3QoKQBjYW5ub3QgY3JlYXRlIHB0aHJlYWQga2V5IGZvciBfX2N4YV9nZXRfZ2xvYmFscygpAGNhbm5vdCB6ZXJvIG91dCB0aHJlYWQgdmFsdWUgZm9yIF9fY3hhX2dldF9nbG9iYWxzKCkAdGVybWluYXRlX2hhbmRsZXIgdW5leHBlY3RlZGx5IHJldHVybmVkAFN0MTFsb2dpY19lcnJvcgBTdDEybGVuZ3RoX2Vycm9yAE4xMF9fY3h4YWJpdjExOV9fcG9pbnRlcl90eXBlX2luZm9FAE4xMF9fY3h4YWJpdjExN19fcGJhc2VfdHlwZV9pbmZvRQBOMTBfX2N4eGFiaXYxMjNfX2Z1bmRhbWVudGFsX3R5cGVfaW5mb0UAdgBEbgBiAGMAaABhAHMAdABpAGoAbABtAGYAZABOMTBfX2N4eGFiaXYxMjFfX3ZtaV9jbGFzc190eXBlX2luZm9F";var tempDoublePtr=56016;assert(tempDoublePtr%8==0);function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function ___cxa_allocate_exception(size){return _malloc(size)}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}function ___cxa_free_exception(ptr){try{return _free(ptr)}catch(e){err("exception during cxa_free_exception: "+e)}}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var key in EXCEPTIONS.infos){var ptr=+key;var adj=EXCEPTIONS.infos[ptr].adjusted;var len=adj.length;for(var i=0;i0);info.refcount--;if(info.refcount===0&&!info.rethrown){if(info.destructor){Module["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 ___cxa_begin_catch(ptr){var info=EXCEPTIONS.infos[ptr];if(info&&!info.caught){info.caught=true;__ZSt18uncaught_exceptionv.uncaught_exception--}if(info)info.rethrown=false;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}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(setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(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.push(thrown);return(setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(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."}function ___gxx_personality_v0(){}function ___lock(){}var SYSCALLS={buffers:[null,[],[]],printChar:function(stream,curr){var buffer=SYSCALLS.buffers[stream];assert(buffer);if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(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 ___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();abort("it should not be possible to operate on streams when !SYSCALLS_REQUIRE_FILESYSTEM");return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function flush_NO_FILESYSTEM(){var fflush=Module["_fflush"];if(fflush)fflush(0);var buffers=SYSCALLS.buffers;if(buffers[1].length)SYSCALLS.printChar(1,10);if(buffers[2].length)SYSCALLS.printChar(2,10)}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function count_emval_handles(){var count=0;for(var i=5;i>shift])},destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}});clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function runDestructor(handle){var $$=handle.$$;if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}this.$$.count.value-=1;var toDelete=0===this.$$.count.value;if(toDelete){runDestructor(this)}if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}var registeredPointers={};function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError("Function '"+humanName+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+proto[methodName].overloadTable+")!")}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError("Cannot register public name '"+name+"' twice")}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError("Cannot register multiple overloads of a function with the same number of arguments ("+numArguments+")!")}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError("Expected null or instance of "+desiredClass.name+", got an instance of "+ptrClass.name)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,__emval_register(function(){clonedHandle["delete"]()}));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+handle.$$.ptrType.name+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAPU32[pointer>>2])}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return Object.create(prototype,{$$:{value:record}})}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(dynCall){var args=[];for(var i=1;i0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i>2)+i])}return array}function __embind_register_class_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,fn){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.constructor;if(undefined===proto[methodName]){unboundTypesHandler.argCount=argCount-1;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-1]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));var func=craftInvokerFunction(humanName,invokerArgsArray,null,rawInvoker,fn);if(undefined===proto[methodName].overloadTable){func.argCount=argCount-1;proto[methodName]=func}else{proto[methodName].overloadTable[argCount-1]=func}return[]});return[]})}function __embind_register_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})}function validateThis(this_,classType,humanName){if(!(this_ instanceof Object)){throwBindingError(humanName+' with invalid "this": '+this_)}if(!(this_ instanceof classType.registeredClass.constructor)){throwBindingError(humanName+' incompatible with "this" of type '+this_.constructor.name)}if(!this_.$$.ptr){throwBindingError("cannot call emscripten binding method "+humanName+" on deleted object")}return upcastPointer(this_.$$.ptr,this_.$$.ptrType.registeredClass,classType.registeredClass)}function __embind_register_class_property(classType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){fieldName=readLatin1String(fieldName);getter=embind__requireFunction(getterSignature,getter);whenDependentTypesAreResolved([],[classType],function(classType){classType=classType[0];var humanName=classType.name+"."+fieldName;var desc={get:function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])},enumerable:true,configurable:true};if(setter){desc.set=function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])}}else{desc.set=function(v){throwBindingError(humanName+" is a read-only property")}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);whenDependentTypesAreResolved([],setter?[getterReturnType,setterArgumentType]:[getterReturnType],function(types){var getterReturnType=types[0];var desc={get:function(){var ptr=validateThis(this,classType,humanName+" getter");return getterReturnType["fromWireType"](getter(getterContext,ptr))},enumerable:true};if(setter){setter=embind__requireFunction(setterSignature,setter);var setterArgumentType=types[1];desc.set=function(v){var ptr=validateThis(this,classType,humanName+" setter");var destructors=[];setter(setterContext,ptr,setterArgumentType["toWireType"](destructors,v));runDestructors(destructors)}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);return[]});return[]})}function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=emval_handle_array[handle].value;__emval_decref(handle);return rv},"toWireType":function(destructors,value){return __emval_register(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function _embind_repr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=function(value){return value};if(minRange===0){var bitshift=32-8*size;fromWireType=function(value){return value<>>bitshift}}var isUnsignedType=name.indexOf("unsigned")!=-1;registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(valuemaxRange){throw new TypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}return isUnsignedType?value>>>0:value|0},"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(heap["buffer"],data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var str;if(stdStringIsUTF8){var endChar=HEAPU8[value+4+length];var endCharSwap=0;if(endChar!=0){endCharSwap=endChar;HEAPU8[value+4+length]=0}var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i;if(HEAPU8[currentBytePtr]==0){var stringSegment=UTF8ToString(decodeStartPtr);if(str===undefined)str=stringSegment;else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}if(endCharSwap!=0)HEAPU8[value+4+length]=endCharSwap}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr+4,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}}else{for(var i=0;i>2];var a=new Array(length);var start=value+4>>shift;for(var i=0;i>2]=length;var start=ptr+4>>shift;for(var i=0;i>2]=rd;return returnType["toWireType"](destructors,handle)}function __emval_lookupTypes(argCount,argTypes,argWireTypes){var a=new Array(argCount);for(var i=0;i>2)+i],"parameter "+i)}return a}function __emval_call(handle,argCount,argTypes,argv){handle=requireHandle(handle);var types=__emval_lookupTypes(argCount,argTypes);var args=new Array(argCount);for(var i=0;i>2]=__emval_register(destructors);return destructors}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}else{return symbol}}var emval_methodCallers=[];function __emval_call_method(caller,handle,methodName,destructorsRef,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);return caller(handle,methodName,__emval_allocateDestructors(destructorsRef),args)}function __emval_call_void_method(caller,handle,methodName,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);caller(handle,methodName,null,args)}function emval_get_global(){return function(){return Function}()("return this")()}function __emval_get_global(name){if(name===0){return __emval_register(emval_get_global())}else{name=getStringOrSymbol(name);return __emval_register(emval_get_global()[name])}}function __emval_addMethodCaller(caller){var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id}function __emval_get_method_caller(argCount,argTypes){var types=__emval_lookupTypes(argCount,argTypes);var retType=types[0];var signatureName=retType.name+"_$"+types.slice(1).map(function(t){return t.name}).join("_")+"$";var params=["retType"];var args=[retType];var argsList="";for(var i=0;i4){emval_handle_array[handle].refcount+=1}}function craftEmvalAllocator(argCount){var argsList="";for(var i=0;i> 2) + "+i+'], "parameter '+i+'");\n'+"var arg"+i+" = argType"+i+".readValueFromPointer(args);\n"+"args += argType"+i+"['argPackAdvance'];\n"}functionBody+="var obj = new constructor("+argsList+");\n"+"return __emval_register(obj);\n"+"}\n";return new Function("requireRegisteredType","Module","__emval_register",functionBody)(requireRegisteredType,Module,__emval_register)}var emval_newers={};function __emval_new(handle,argCount,argTypes,args){handle=requireHandle(handle);var newer=emval_newers[argCount];if(!newer){newer=craftEmvalAllocator(argCount);emval_newers[argCount]=newer}return newer(handle,argTypes,args)}function __emval_new_cstring(v){return __emval_register(getStringOrSymbol(v))}function __emval_new_object(){return __emval_register({})}function __emval_run_destructors(handle){var destructors=emval_handle_array[handle].value;runDestructors(destructors);__emval_decref(handle)}function __emval_set_property(handle,key,value){handle=requireHandle(handle);key=requireHandle(key);value=requireHandle(value);handle[key]=value}function __emval_take_value(type,argv){type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](argv);return __emval_register(v)}function _abort(){Module["abort"]()}function _clock(){if(_clock.start===undefined)_clock.start=Date.now();return(Date.now()-_clock.start)*(1e6/1e3)|0}function _emscripten_get_heap_size(){return HEAP8.length}function __reallyNegative(x){return x<0||x===0&&1/x===-Infinity}function __formatString(format,varargs){assert((varargs&3)===0);var textIndex=format;var argIndex=varargs;function prepVararg(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}function getNextArg(type){var ret;argIndex=prepVararg(argIndex,type);if(type==="double"){ret=HEAPF64[argIndex>>3];argIndex+=8}else if(type=="i64"){ret=[HEAP32[argIndex>>2],HEAP32[argIndex+4>>2]];argIndex+=8}else{assert((argIndex&3)===0);type="i32";ret=HEAP32[argIndex>>2];argIndex+=4}return ret}var ret=[];var curr,next,currArg;while(1){var startTextIndex=textIndex;curr=HEAP8[textIndex>>0];if(curr===0)break;next=HEAP8[textIndex+1>>0];if(curr==37){var flagAlwaysSigned=false;var flagLeftAlign=false;var flagAlternative=false;var flagZeroPad=false;var flagPadSign=false;flagsLoop:while(1){switch(next){case 43:flagAlwaysSigned=true;break;case 45:flagLeftAlign=true;break;case 35:flagAlternative=true;break;case 48:if(flagZeroPad){break flagsLoop}else{flagZeroPad=true;break}case 32:flagPadSign=true;break;default:break flagsLoop}textIndex++;next=HEAP8[textIndex+1>>0]}var width=0;if(next==42){width=getNextArg("i32");textIndex++;next=HEAP8[textIndex+1>>0]}else{while(next>=48&&next<=57){width=width*10+(next-48);textIndex++;next=HEAP8[textIndex+1>>0]}}var precisionSet=false,precision=-1;if(next==46){precision=0;precisionSet=true;textIndex++;next=HEAP8[textIndex+1>>0];if(next==42){precision=getNextArg("i32");textIndex++}else{while(1){var precisionChr=HEAP8[textIndex+1>>0];if(precisionChr<48||precisionChr>57)break;precision=precision*10+(precisionChr-48);textIndex++}}next=HEAP8[textIndex+1>>0]}if(precision<0){precision=6;precisionSet=false}var argSize;switch(String.fromCharCode(next)){case"h":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==104){textIndex++;argSize=1}else{argSize=2}break;case"l":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==108){textIndex++;argSize=8}else{argSize=4}break;case"L":case"q":case"j":argSize=8;break;case"z":case"t":case"I":argSize=4;break;default:argSize=null}if(argSize)textIndex++;next=HEAP8[textIndex+1>>0];switch(String.fromCharCode(next)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":{var signed=next==100||next==105;argSize=argSize||4;currArg=getNextArg("i"+argSize*8);var argText;if(argSize==8){currArg=makeBigInt(currArg[0],currArg[1],next==117)}if(argSize<=4){var limit=Math.pow(256,argSize)-1;currArg=(signed?reSign:unSign)(currArg&limit,argSize*8)}var currAbsArg=Math.abs(currArg);var prefix="";if(next==100||next==105){argText=reSign(currArg,8*argSize,1).toString(10)}else if(next==117){argText=unSign(currArg,8*argSize,1).toString(10);currArg=Math.abs(currArg)}else if(next==111){argText=(flagAlternative?"0":"")+currAbsArg.toString(8)}else if(next==120||next==88){prefix=flagAlternative&&currArg!=0?"0x":"";if(currArg<0){currArg=-currArg;argText=(currAbsArg-1).toString(16);var buffer=[];for(var i=0;i=0){if(flagAlwaysSigned){prefix="+"+prefix}else if(flagPadSign){prefix=" "+prefix}}if(argText.charAt(0)=="-"){prefix="-"+prefix;argText=argText.substr(1)}while(prefix.length+argText.lengthexponent&&exponent>=-4){next=(next==103?"f":"F").charCodeAt(0);precision-=exponent+1}else{next=(next==103?"e":"E").charCodeAt(0);precision--}effectivePrecision=Math.min(precision,20)}if(next==101||next==69){argText=currArg.toExponential(effectivePrecision);if(/[eE][-+]\d$/.test(argText)){argText=argText.slice(0,-1)+"0"+argText.slice(-1)}}else if(next==102||next==70){argText=currArg.toFixed(effectivePrecision);if(currArg===0&&__reallyNegative(currArg)){argText="-"+argText}}var parts=argText.split("e");if(isGeneral&&!flagAlternative){while(parts[0].length>1&&parts[0].indexOf(".")!=-1&&(parts[0].slice(-1)=="0"||parts[0].slice(-1)==".")){parts[0]=parts[0].slice(0,-1)}}else{if(flagAlternative&&argText.indexOf(".")==-1)parts[0]+=".";while(precision>effectivePrecision++)parts[0]+="0"}argText=parts[0]+(parts.length>1?"e"+parts[1]:"");if(next==69)argText=argText.toUpperCase();if(currArg>=0){if(flagAlwaysSigned){argText="+"+argText}else if(flagPadSign){argText=" "+argText}}}while(argText.length>0])}}else{ret=ret.concat(intArrayFromString("(null)".substr(0,argLength),true))}if(flagLeftAlign){while(argLength0){ret.push(32)}if(!flagLeftAlign)ret.push(getNextArg("i8"));break}case"n":{var ptr=getNextArg("i32*");HEAP32[ptr>>2]=ret.length;break}case"%":{ret.push(curr);break}default:{for(var i=startTextIndex;i>0])}}}textIndex+=2}else{ret.push(curr);textIndex+=1}}return ret}function __emscripten_traverse_stack(args){if(!args||!args.callee||!args.callee.name){return[null,"",""]}var funstr=args.callee.toString();var funcname=args.callee.name;var str="(";var first=true;for(var i in args){var a=args[i];if(!first){str+=", "}first=false;if(typeof a==="number"||typeof a==="string"){str+=a}else{str+="("+typeof a+")"}}str+=")";var caller=args.callee.caller;args=caller?caller.arguments:[];if(first)str="";return[args,funcname,str]}function _emscripten_get_callstack_js(flags){var callstack=jsStackTrace();var iThisFunc=callstack.lastIndexOf("_emscripten_log");var iThisFunc2=callstack.lastIndexOf("_emscripten_get_callstack");var iNextLine=callstack.indexOf("\n",Math.max(iThisFunc,iThisFunc2))+1;callstack=callstack.slice(iNextLine);if(flags&8&&typeof emscripten_source_map==="undefined"){warnOnce('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.');flags^=8;flags|=16}var stack_args=null;if(flags&128){stack_args=__emscripten_traverse_stack(arguments);while(stack_args[1].indexOf("_emscripten_")>=0)stack_args=__emscripten_traverse_stack(stack_args[0])}var lines=callstack.split("\n");callstack="";var newFirefoxRe=new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)");var firefoxRe=new RegExp("\\s*(.*?)@(.*):(.*)(:(.*))?");var chromeRe=new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(var l in lines){var line=lines[l];var jsSymbolName="";var file="";var lineno=0;var column=0;var parts=chromeRe.exec(line);if(parts&&parts.length==5){jsSymbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]}else{parts=newFirefoxRe.exec(line);if(!parts)parts=firefoxRe.exec(line);if(parts&&parts.length>=4){jsSymbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]|0}else{callstack+=line+"\n";continue}}var cSymbolName=flags&32?demangle(jsSymbolName):jsSymbolName;if(!cSymbolName){cSymbolName=jsSymbolName}var haveSourceMap=false;if(flags&8){var orig=emscripten_source_map.originalPositionFor({line:lineno,column:column});haveSourceMap=orig&&orig.source;if(haveSourceMap){if(flags&64){orig.source=orig.source.substring(orig.source.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=" at "+cSymbolName+" ("+orig.source+":"+orig.line+":"+orig.column+")\n"}}if(flags&16||!haveSourceMap){if(flags&64){file=file.substring(file.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=(haveSourceMap?" = "+jsSymbolName:" at "+cSymbolName)+" ("+file+":"+lineno+":"+column+")\n"}if(flags&128&&stack_args[0]){if(stack_args[1]==jsSymbolName&&stack_args[2].length>0){callstack=callstack.replace(/\s+$/,"");callstack+=" with values: "+stack_args[1]+stack_args[2]+"\n"}stack_args=__emscripten_traverse_stack(stack_args[0])}}callstack=callstack.replace(/\s+$/,"");return callstack}function _emscripten_log_js(flags,str){if(flags&24){str=str.replace(/\s+$/,"");str+=(str.length>0?"\n":"")+_emscripten_get_callstack_js(flags)}if(flags&1){if(flags&4){console.error(str)}else if(flags&2){console.warn(str)}else{console.log(str)}}else if(flags&6){err(str)}else{out(str)}}function _emscripten_log(flags,varargs){var format=HEAP32[varargs>>2];varargs+=4;var str="";if(format){var result=__formatString(format,varargs);for(var i=0;i3)return;reconnectCount++;console.warn("ws reconnect after "+(reconnectTime/1e3>>0)+" second");_this.reconnectId=setTimeout(function(){console.log("ws reconnecting :",reconnectCount);reconnectTime*=2;setWebsocket.call(_this)},reconnectTime)};this.ws.onerror=function(){console.warn("ws error")}}setWebsocket.call(this)},close:function(){clearTimeout(this.reconnectId);if(!this.isPlaying)return;console.log("close H5LiverClient");this.isPlaying=false;this.ws.onmessage=null;this.ws.onclose=null;this.ws.onerror=null;this.ws.close();this.ws=null;this.webGLCanvas.clear();this.$close();delete this.timespan},initAudio:function(frameCount,samplerate,channels,outputPtr){var isPlaying=false;var audioBuffers=[];var allFrameCount=frameCount*channels;if(!context)return false;var resampled=samplerate<22050;var audioBuffer=resampled?context.createBuffer(channels,frameCount<<1,samplerate<<1):context.createBuffer(channels,frameCount,samplerate);var audioOutputArray=HEAP16.subarray(outputPtr,outputPtr+allFrameCount);var playNextBuffer=function(){isPlaying=false;if(audioBuffers.length){playAudio(audioBuffers.shift())}if(audioBuffers.length>1)audioBuffers.shift()};var copyAudioOutputArray=resampled?function(target){for(var i=0;i1?function(fromBuffer){for(var channel=0;channel>2)),HEAPU8.subarray(v,v+(w*h>>2))];this.webGLCanvas.drawNextOutputPicture(w,h,this.croppingParams,outputArray)}}else{var outputArray=HEAPU8.subarray(dataPtr,dataPtr+(w*h<<2));this.webGLCanvas.initRGB(w,h);this.draw=function(){this.webGLCanvas.drawNextOutputPicture(w,h,this.croppingParams,outputArray)}}}})}function _llvm_trap(){abort("trap!")}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest)}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;else err("failed to set errno from JS");return value}init_emval();PureVirtualError=Module["PureVirtualError"]=extendError(Error,"PureVirtualError");embind_init_charCodes();init_embind();BindingError=Module["BindingError"]=extendError(Error,"BindingError");InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_ClassHandle();init_RegisteredPointer();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");var ASSERTIONS=true;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 intArrayToString(array){var ret=[];for(var i=0;i255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var decodeBase64=typeof atob==="function"?atob:function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);Module["quit"]=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=function(status){quit(status)}}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}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);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};Module["setWindowTitle"]=function(title){document.title=title}}else{}var out=Module["print"]||(typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null);var err=Module["printErr"]||(typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||out);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var STACK_ALIGN=16;function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end<=_emscripten_get_heap_size()){HEAP32[DYNAMICTOP_PTR>>2]=end}else{return 0}return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var jsCallStartIndex=1;var functionPointers=new Array(0);var funcWrappers={};function makeBigInt(low,high,unsigned){return unsigned?+(low>>>0)+ +(high>>>0)*4294967296:+(low>>>0)+ +(high|0)*4294967296}function dynCall(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var getTempRet0=function(){return tempRet0};var GLOBAL_BASE=8;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string")return UTF8ToString(ret);if(returnType==="boolean")return Boolean(ret);return ret}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)}}var ALLOC_NONE=3;function getMemory(size){if(!runtimeInitialized)return dynamicAlloc(size);return _malloc(size)}function UTF8ArrayToString(u8Array,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var str="";while(!(idx>=endIdx)){var u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|u8Array[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}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){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&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(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}}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 len+=4}return len}function allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}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}function demangle(func){return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}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()}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}if(!ENVIRONMENT_IS_PTHREAD){var STACK_BASE=58368,DYNAMIC_BASE=5301248,DYNAMICTOP_PTR=58336}var TOTAL_STACK=5242880;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||67108864;if(INITIAL_TOTAL_MEMORYend)return new ArrayBuffer(0);var num=end-begin;var target=new ArrayBuffer(num);var targetArray=new Uint8Array(target);var sourceArray=new Uint8Array(this,begin,num);targetArray.set(sourceArray);return target}}})()}if(typeof Atomics==="undefined"){Atomics={};Atomics["add"]=function(t,i,v){var w=t[i];t[i]+=v;return w};Atomics["and"]=function(t,i,v){var w=t[i];t[i]&=v;return w};Atomics["compareExchange"]=function(t,i,e,r){var w=t[i];if(w==e)t[i]=r;return w};Atomics["exchange"]=function(t,i,v){var w=t[i];t[i]=v;return w};Atomics["wait"]=function(t,i,v,o){if(t[i]!=v)return"not-equal";else return"timed-out"};Atomics["notify"]=function(t,i,c){return 0};Atomics["wakeOrRequeue"]=function(t,i1,c,i2,v){return 0};Atomics["isLockFree"]=function(s){return true};Atomics["load"]=function(t,i){return t[i]};Atomics["or"]=function(t,i,v){var w=t[i];t[i]|=v;return w};Atomics["store"]=function(t,i,v){t[i]=v;return v};Atomics["sub"]=function(t,i,v){var w=t[i];t[i]-=v;return w};Atomics["xor"]=function(t,i,v){var w=t[i];t[i]^=v;return w}}if(typeof SharedArrayBuffer!=="undefined"){if(!ENVIRONMENT_IS_PTHREAD)buffer=new SharedArrayBuffer(INITIAL_TOTAL_MEMORY)}else{if(!ENVIRONMENT_IS_PTHREAD)buffer=new ArrayBuffer(INITIAL_TOTAL_MEMORY)}updateGlobalBufferViews();if(!ENVIRONMENT_IS_PTHREAD){HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["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;if(ENVIRONMENT_IS_PTHREAD)runtimeInitialized=true;function preRun(){if(ENVIRONMENT_IS_PTHREAD)return;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(ENVIRONMENT_IS_PTHREAD)return;if(runtimeInitialized)return;runtimeInitialized=true;__register_pthread_ptr(PThread.mainThreadBlock,!ENVIRONMENT_IS_WORKER,1);_emscripten_register_main_browser_thread_id(PThread.mainThreadBlock);callRuntimeCallbacks(__ATINIT__)}function preMain(){if(ENVIRONMENT_IS_PTHREAD)return;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){if(ENVIRONMENT_IS_PTHREAD)return;runtimeExited=true}function postRun(){if(ENVIRONMENT_IS_PTHREAD)return;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 addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<=half&&(bits<=32||value>half)){value=-2*half+value}return value}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){assert(!ENVIRONMENT_IS_PTHREAD,"addRunDependency cannot be used in a pthread worker");runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var ASM_CONSTS=[function(){postMessage({cmd:"processQueuedMainThreadWork"})},function($0){if(!ENVIRONMENT_IS_PTHREAD){if(!PThread.pthreads[$0]||!PThread.pthreads[$0].worker){return 0}PThread.pthreads[$0].worker.postMessage({cmd:"processThreadQueue"})}else{postMessage({targetThread:$0,cmd:"processThreadQueue"})}return 1},function(){return!!Module["canvas"]},function(){Module["noExitRuntime"]=true}];function _emscripten_asm_const_i(code){return ASM_CONSTS[code]()}function _emscripten_asm_const_ii(code,a0){return ASM_CONSTS[code](a0)}if(!ENVIRONMENT_IS_PTHREAD)__ATINIT__.push({func:function(){globalCtors()}});if(!ENVIRONMENT_IS_PTHREAD){memoryInitializer="data:application/octet-stream;base64,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IwAAACMAAAAkAAAAJAAAACUAAAAlAAAAJQAAACYAAAAmAAAAJgAAACcAAAAnAAAAJwAAACcAAAAAAAAABAAAAAAAAAAEAAAACAAAAAwAAAAIAAAADAAAAAAAAAAEAAAAAAAAAAQAAAAIAAAADAAAAAgAAAAMAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAABAAAAAQAAAAIAAAACAAAAAwAAAAMAAAACAAAAAgAAAAMAAAADAAAAAoAAAANAAAAEAAAAAsAAAAOAAAAEgAAAA0AAAAQAAAAFAAAAA4AAAASAAAAFwAAABAAAAAUAAAAGQAAABIAAAAXAAAAHQAAAAEAAAACAAAABAAAAAgAAAAQAAAAIAAAAEAAAACAAAAAAQAAAAEAAAACAAAAAgAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAQAAAAQAAAAFAAAAAgAAAAMAAAAGAAAABwAAAAgAAAAJAAAADAAAAA0AAAAKAAAACwAAAA4AAAAPAAAAAAAAAAUAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAAAAAAABQAAAAAAAAAHAAAA/wAAAAAAAAD/AAAAAAAAAAAAAAAFAAAABAAAAAAAAAD/AAAAAAAAAP8AAAAAAAAAAAAAAAUAAAAEAAAAAAAAAAAAAAAHAAAABAAAAAIAAAAEAAAAAQAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAABAAAABAAAAAMAAAD/AAAAAAAAAP8AAAAAAAAABAAAAAEAAAAEAAAABAAAAP8AAAAAAAAA/wAAAAAAAAAEAAAAAQAAAAQAAAAEAAAABAAAAAMAAAAEAAAABgAAAAAAAAANAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAAAAAAAA0AAAAAAAAADwAAAP8AAAAAAAAA/wAAAAAAAAAAAAAADQAAAAQAAAAIAAAA/wAAAAAAAAD/AAAAAAAAAAAAAAANAAAABAAAAAgAAAAAAAAADwAAAAQAAAAKAAAABAAAAAkAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAAEAAAACQAAAAQAAAALAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAAJAAAABAAAAAwAAAD/AAAAAAAAAP8AAAAAAAAABAAAAAkAAAAEAAAADAAAAAQAAAALAAAABAAAAA4AAAABAAAACgAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAAEAAAAKAAAABAAAAAAAAAD/AAAAAAAAAP8AAAAAAAAAAQAAAAoAAAABAAAACwAAAP8AAAAAAAAA/wAAAAAAAAABAAAACgAAAAEAAAALAAAABAAAAAAAAAAEAAAAAQAAAAEAAAAOAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAAAQAAAA4AAAAEAAAABAAAAP8AAAAAAAAA/wAAAAAAAAABAAAADgAAAAEAAAAPAAAA/wAAAAAAAAD/AAAAAAAAAAEAAAAOAAAAAQAAAA8AAAAEAAAABAAAAAQAAAAFAAAABAAAAAIAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAAEAAAAAgAAAAQAAAAIAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAACAAAABAAAAAMAAAD/AAAAAAAAAP8AAAAAAAAABAAAAAIAAAAEAAAAAwAAAAQAAAAIAAAABAAAAAkAAAAEAAAABgAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAAGAAAABAAAAAwAAAD/AAAAAAAAAP8AAAAAAAAABAAAAAYAAAAEAAAABwAAAP8AAAAAAAAA/wAAAAAAAAAEAAAABgAAAAQAAAAHAAAABAAAAAwAAAAEAAAADQAAAAEAAAAOAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAAAQAAAA4AAAD/AAAABAAAAP8AAAAAAAAA/wAAAAAAAAABAAAACwAAAAEAAAAOAAAA/wAAAAAAAAD/AAAAAAAAAAEAAAALAAAAAQAAAA4AAAAEAAAAAQAAAP8AAAAEAAAAAgAAAAoAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAACAAAACgAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAAEAAAAPAAAAAgAAAAoAAAD/AAAAAAAAAP8AAAAAAAAAAQAAAA8AAAACAAAACgAAAAQAAAAFAAAA/wAAAAAAAAAEAAAABgAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAAGAAAA/wAAAAwAAAD/AAAAAAAAAP8AAAAAAAAABAAAAAMAAAAEAAAABgAAAP8AAAAAAAAA/wAAAAAAAAAEAAAAAwAAAAQAAAAGAAAABAAAAAkAAAD/AAAADAAAAP8AAAACAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAIAAAD/AAAACAAAAP8AAAAAAAAA/wAAAAAAAAAEAAAABwAAAP8AAAACAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAAHAAAA/wAAAAIAAAAEAAAADQAAAP8AAAAIAAAAAwAAAA8AAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAADAAAADwAAAAAAAAAFAAAA/wAAAAAAAAD/AAAAAAAAAAMAAAAPAAAAAQAAAAoAAAD/AAAAAAAAAP8AAAAAAAAAAwAAAA8AAAABAAAACgAAAAAAAAAFAAAABAAAAAAAAAABAAAACwAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAAEAAAALAAAABAAAAAEAAAD/AAAAAAAAAP8AAAAAAAAAAQAAAAsAAAABAAAADgAAAP8AAAAAAAAA/wAAAAAAAAABAAAACwAAAAEAAAAOAAAABAAAAAEAAAAEAAAABAAAAAAAAAAHAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAAAAAAAAcAAAAAAAAADQAAAP8AAAAAAAAA/wAAAAAAAAAAAAAABwAAAAQAAAACAAAA/wAAAAAAAAD/AAAAAAAAAAAAAAAHAAAABAAAAAIAAAAAAAAADQAAAAQAAAAIAAAABAAAAAMAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAAEAAAAAwAAAAQAAAAJAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAADAAAABAAAAAYAAAD/AAAAAAAAAP8AAAAAAAAABAAAAAMAAAAEAAAABgAAAAQAAAAJAAAABAAAAAwAAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAAwAAAA8AAAABAAAACgAAAAAAAAAFAAAABAAAAAAAAAABAAAACwAAAAEAAAAOAAAABAAAAAEAAAAEAAAABAAAAAAAAAAHAAAABAAAAAIAAAAAAAAADQAAAAQAAAAIAAAABAAAAAMAAAAEAAAABgAAAAQAAAAJAAAABAAAAAwAAAADAAAAEwAAAAEAAAASAAAAAAAAABEAAAAEAAAAEAAAAAMAAAAXAAAAAQAAABYAAAAAAAAAFQAAAAQAAAAUAAAAAQAAAAsAAAABAAAADgAAAAQAAAABAAAA/wAAAAQAAAABAAAADwAAAAIAAAAKAAAABAAAAAUAAAD/AAAAAAAAAAQAAAADAAAABAAAAAYAAAAEAAAACQAAAP8AAAAMAAAABAAAAAcAAAD/AAAAAgAAAAQAAAANAAAA/wAAAAgAAAABAAAAEwAAAAIAAAASAAAABAAAABEAAAD/AAAAEAAAAAEAAAAXAAAAAgAAABYAAAAEAAAAFQAAAP8AAAAUAAAAAQAAAAoAAAABAAAACwAAAAQAAAAAAAAABAAAAAEAAAABAAAADgAAAAEAAAAPAAAABAAAAAQAAAAEAAAABQAAAAQAAAACAAAABAAAAAMAAAAEAAAACAAAAAQAAAAJAAAABAAAAAYAAAAEAAAABwAAAAQAAAAMAAAABAAAAA0AAAABAAAAEgAAAAEAAAATAAAABAAAABAAAAAEAAAAEQAAAAEAAAAWAAAAAQAAABcAAAAEAAAAFAAAAAQAAAAVAAAAAAAAAAUAAAAEAAAAAAAAAAAAAAAHAAAABAAAAAIAAAAEAAAAAQAAAAQAAAAEAAAABAAAAAMAAAAEAAAABgAAAAAAAAANAAAABAAAAAgAAAAAAAAADwAAAAQAAAAKAAAABAAAAAkAAAAEAAAADAAAAAQAAAALAAAABAAAAA4AAAAAAAAAEQAAAAQAAAAQAAAAAAAAABMAAAAEAAAAEgAAAAAAAAAVAAAABAAAABQAAAAAAAAAFwAAAAQAAAAWAAAA6KUAACCmAABApgAAAAAAAEKmAAAAAAMAUqYAAAAAAwBypgAAAAADAAAAAAAAAAAAkqYAAAAAAwDGpgAAAAAEAP6mAAAAAAQAfqcAAAAABAACqAAAAAAEAG6oAAAAAAQAOqkAAAAABAAKqgAAAAAEAMqqAAAAAAQAAAAAAAAAAADmrQAAAAAEAN6wAAABAAQA3rAAAAIABADesAAAAwAEAN6wAAAEAAQA3rAAAAYABADesAAACAAEAN6wAAAKAAQA3rAAAA0ABAACtAAABAAEAAK0AAAFAAQAArQAAAYABAACtAAABwAEAAK0AAAIAAQAArQAAAkABAACtAAACwAEAAK0AAANAAQAAAAAAPn///81AAAAjf////0BAAD4+v//bAYAAGTb//9ISQAAnCQAAGwGAAAIBQAA/QEAAHMAAAA1AAAABwAAAAAAAAD5////NQAAAI3////9AQAA+Pr//2wGAABk2///SEkAAJwkAABsBgAACAUAAP0BAABzAAAANQAAAAcAAAAAAAAA+P///zcAAAB+////9AEAAJ36///SBQAAltn//zxJAADOIgAA+AYAAK0EAAAEAgAAZAAAADQAAAAHAAAAAAAAAPj///83AAAAfv////QBAACd+v//0gUAAJbZ//88SQAAziIAAPgGAACtBAAABAIAAGQAAAA0AAAABwAAAAAAAAD3////OAAAAG/////oAQAAQvr//yoFAADK1///GkkAAAAhAAB2BwAAUgQAAAgCAABXAAAAMwAAAAYAAAAAAAAA9////zgAAABv////6AEAAEL6//8qBQAAytf//xpJAAAAIQAAdgcAAFIEAAAIAgAAVwAAADMAAAAGAAAAAAAAAPb///84AAAAX////9kBAADp+f//dAQAAADW///iSAAAMx8AAOcHAAD4AwAACgIAAEoAAAAxAAAABQAAAAAAAAD2////OAAAAF/////ZAQAA6fn//3QEAAAA1v//4kgAADMfAADnBwAA+AMAAAoCAABKAAAAMQAAAAUAAAAAAAAA9v///zkAAABO////yAEAAJH5//+wAwAAO9T//5JIAABoHQAASwgAAJ4DAAAJAgAAPQAAADAAAAAFAAAAAAAAAPb///85AAAATv///8gBAACR+f//sAMAADvU//+SSAAAaB0AAEsIAACeAwAACQIAAD0AAAAwAAAABQAAAAAAAAD1////OQAAAD3///+zAQAAOvn//94CAAB60v//LUgAAKAbAACiCAAARgMAAAcCAAAxAAAALgAAAAQAAAAAAAAA9f///zkAAAA9////swEAADr5///eAgAAetL//y1IAACgGwAAoggAAEYDAAAHAgAAMQAAAC4AAAAEAAAAAAAAAPT///85AAAALP///5sBAADm+P///QEAAL7Q//+yRwAA3RkAAO0IAADvAgAAAgIAACYAAAAsAAAABAAAAAAAAAD0////OQAAACz///+bAQAA5vj///0BAAC+0P//skcAAN0ZAADtCAAA7wIAAAICAAAmAAAALAAAAAQAAAD/////8////zkAAAAa////gAEAAJX4//8PAQAACs///yFHAAAeGAAAKwkAAJoCAAD8AQAAHAAAACoAAAAEAAAA//////P///85AAAAGv///4ABAACV+P//DwEAAArP//8hRwAAHhgAACsJAACaAgAA/AEAABwAAAAqAAAABAAAAP/////x////OAAAAAj///9iAQAARvj//xIAAABdzf//ekYAAGQWAABeCQAARwIAAPQBAAASAAAAKAAAAAMAAAD/////8f///zgAAAAI////YgEAAEb4//8SAAAAXc3//3pGAABkFgAAXgkAAEcCAAD0AQAAEgAAACgAAAADAAAA//////D///83AAAA9v7//0ABAAD89///Bv///7jL//+/RQAAsRQAAIYJAAD2AQAA6wEAAAkAAAAnAAAAAwAAAP/////w////NwAAAPb+//9AAQAA/Pf//wb///+4y///v0UAALEUAACGCQAA9gEAAOsBAAAJAAAAJwAAAAMAAAD/////7////zYAAADk/v//GwEAALX3///t/f//Hcr///BEAAAGEwAAogkAAKcBAADgAQAAAQAAACUAAAADAAAA/////+////82AAAA5P7//xsBAAC19///7f3//x3K///wRAAABhMAAKIJAACnAQAA4AEAAAEAAAAlAAAAAwAAAP/////u////NAAAANH+///zAAAAc/f//8f8//+NyP//DEQAAGIRAAC0CQAAWwEAANQBAAD5////IwAAAAIAAAD/////7v///zQAAADR/v//8wAAAHP3///H/P//jcj//wxEAABiEQAAtAkAAFsBAADUAQAA+f///yMAAAACAAAA/////+z///8yAAAAv/7//8cAAAA29///k/v//wnH//8VQwAAxw8AALwJAAASAQAAxgEAAPL///8hAAAAAgAAAP/////s////MgAAAL/+///HAAAANvf//5P7//8Jx///FUMAAMcPAAC8CQAAEgEAAMYBAADy////IQAAAAIAAAD/////6////y8AAACt/v//lwAAAP/2//9R+v//kMX//wtCAAA1DgAAugkAAMwAAAC4AQAA6////x8AAAACAAAA/////+v///8vAAAArf7//5cAAAD/9v//Ufr//5DF//8LQgAANQ4AALoJAADMAAAAuAEAAOv///8fAAAAAgAAAP/////p////LAAAAJv+//9lAAAAzvb//wP5//8mxP//8EAAAK0MAACvCQAAiAAAAKkBAADl////HQAAAAIAAAD/////6f///ywAAACb/v//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KzArMCswKzALKAsoCygLKAsoCygLKAsoAAAAAC9oL2gQgFCAMIAQeHCAUHgweBBwcHhQcDBwEGhvcG9wT2hPaC9gL2APYA9gb2hvaE9gT2AvWC9YD1gPWAAAAAAAAAAAZjhGICYgBhBmMEYYJhgGCGUoZSglECUQZCBkIGQgZCBkGGQYZBhkGEMQQxBDEEMQQxBDEEMQQxAAAAAAAAAAAGlISTgpOAkwCCgIKEgwSDAoMCgwCCAIIGdAZ0BnQGdARyhHKEcoRygnKCcoJygnKAcYBxgHGAcYAAAAAG14bXhugE6ALoAOgC54DnhOeC5wTXBNcA1wDXBtcG1wTWhNaC1oLWgNaA1obWhtaE1gTWAtYC1gDWANYAxYDFgMWAxYTFhMWExYTFgsWCxYLFgsWAxQDFAMUAxQbGBsYGxgbGBMUExQTFBMUCxQLFAsUCxQDEgMSAxIDEhrWGtYa1hrWGtYa1hrWGtYS0hLSEtIS0hLSEtIS0hLSCtIK0grSCtIK0grSCtIK0gLQAtAC0ALQAtAC0ALQAtAa1BrUGtQa1BrUGtQa1BrUEtAS0BLQEtAS0BLQEtAS0ArQCtAK0ArQCtAK0ArQCtACzgLOAs4CzgLOAs4CzgLOAAAAAAAAAAAAAAAAAAAAAAGGEY4JjgGEGZIRjAmMAYIJSglKEUoRSglICUgRSBFICUYJRhlQGVARRhFGCUQJRBkOGQ4ZDhkOGQwZDBkMGQwZChkKGQoZChkIGQgZCBkIGQYZBhkGGQYRBBEEEQQRBAkCCQIJAgkCAQABAAEAAQAAAAKgGqASoAqgAp4anhKeCp4CnBqcEpwKnAKaCloKWgJYAlgSWhJaClgKWAJWAlYaWhpaElgSWApWClYCVAJUGhgaGBoYGhgSFhIWEhYSFgoUChQKFAoUAhICEgISAhIaFhoWGhYaFhIUEhQSFBIUChIKEgoSChICEAIQAhACEAHOAc4BzgHOAc4BzgHOAc4BzAHMAcwBzAHMAcwBzAHMEdIR0hHSEdIR0hHSEdIR0gHKAcoBygHKAcoBygHKAcoZ1BnUGdQZ1BnUGdQZ1BnUEdAR0BHQEdAR0BHQEdAR0AnQCdAJ0AnQCdAJ0AnQCdAByAHIAcgByAHIAcgByAHIAYIJggAAAYABhAmEEYQAAAGGCYYRhhmGAYgJiBGIGYgBigmKEYoZigGMCYwRjBmMAY4JjhGOGY4BkAmQEZAZkAGSCZIRkhmSAZQJlBGUGZQBlgmWEZYZlgGYCZgRmBmYAZoJmhGaGZoBnAmcEZwZnAGeCZ4RnhmeAaAJoBGgGaAAABDEAIAAgAhCCEIIQghCGcgZyBIICggRxhHGCcYJxgGIAYgBiAGIAYYBhgGGAYYBhAGEAYQBhBmGGYYZhhmGCYQJhAmECYQBggGCAYIBggEAUQBggGiAUkAiQApABkAAwADAAMAAwADAAMAAwADANUA9QC1AHUA5QClAJMAkwBjAMMAUwAzAPkAeQC5ADkA2QBZAJkAGQDpAGkAqQApAMkASQCJAAkAAQAXAQcBFQAVAAMAAwADAAMAhgAXAQcBFwADAAMAAwADACcCBwIVAhUCJQElASUAJQCGABcAFQEVAQUBBQEFAAUAJwIHAhUCFQIlASUBJQAlAIgAFwEHARcAAwADAAMAAwCCATkCNwE3ARkDCQM5ACkCFwIXAicBJwEHAgcCJwAnADMDIwMGAYIBogEZAikBKQAHAQcBFQEVARUBFQEXABcABwAHADcDBwMlAyUDNQI1AjUANQATAzMBIwIDAggBCAIEAxkBBwEHARcAFwADAAMAAwADAAMAAwADAAMARAOCA6IDGQVZAcIDWQDiAykESQIXBBcERwFHAUcARwAJBCkDOQIJAxcDFwM3ATcBNwA3ACcCJwIVAhUCFQIVAiMBIwEFAiUAVQVFBVUEVQMzBUMEIwVTAgMFMwRDAzMDCAEIAhkCKQEVARUBFQEVAQcBBwEXABcABQAFAAUABQAGA4QDwgMZBVkB4gMCBCkESQIZBEcBRwEJBEkAKQM5AhkDOQEJAzkAJQIlAiUCJQIFAgUCBQIFAiUAJQAlACUAVwVXBEUFRQVTA1MDUwNTAzUFRQQjBSMFUwIDBTMEQwNTADMDCAEGAoQCxAICAxkCKQEpABcBFwEHAQcBFwAXAAcABwAiAzkFWQNCA0kEKQVZAhkFVwFXATcENwRHA0cDWQAJBCcERwI3A0cAFQQVBEUBRQElAzUCEwMTAzMBMwEFAzUAIwIDAlMFQwVTBAMFCAEIAgQDGQEHAQcBFwAXAAMAAwADAAMAAwADAAMAAwBGA8QDBgSCBKQE5AQkBRkHeQFiBYQFxAUZBmkBaQACBiIGQgYZBEkBSQApAzkCCQMXAxcDNwE3ATcANwAnAicCFQIlAQUCJQB3B2cHdwZXB3cFZwZFB0UHdQRVBmUFNQd1A3UDRQZFBlcFVwRlA2UDIwdzAmUEBQdzAHMAYwJjAkUFNQUDBgMGVQNFBDMGIwYlBVUCEwUTBVMBUwE1BEUDAwVTACMEQwIzAwMECAEIAggDBgQZAoIEFwEXAQcBBwEXABcABQAFAAUABQCkBOYEZAWiBcQFKQd5AgIGdwF3ARkHeQA5BmkDaQAiBkIGGQVnAmcCKQYJBhcGFwZnAWcBWQE5BFkAYgYpBEkCGQRJAQkESQAnAycDNwI3AhUDFQMVAxUDNQE1ATUBNQEHAzcAJQIlAiMBIwEjASMBAwIjAHUHZQd1BnUFZQZlBkUHRQd1BHUEVwdXBVUGZQUzBzMHcwNDBkUFVQQ1BVUDYwQDB0MEIwVTAgMFQwMzAwgBCAIIAwQERgTCBBkCKQHiBAkAFwEXAQcBBwEXABcABAVCBWIFggVZBjkHogUpB3kCSQZpBBkHeQHCBTkGaQNJBVkESQTiBScGJwZnAmcCZwFnARkGaQA5BVkDKQVZAhcFFwVXAVcBNwQ3BEcDRwNZAAkEJwQnBEcCRwIXBBcENQNFASUDNQJHAAcDNQA1ABMDEwMTAxMDMwEjAgMCIwB1B2UHcwZzBlMHcwVjBkMHcwRjBXMDUwUDB3MAAwYDBQgBCAIIAwQEGQEJARcAFwADAAMAAwADAAMAAwADAAMASARIBUgGSAdICEgJRgrGCkYLxgtGDMYMQg1kDaYNIg5EDoQOxA4ED4kBQg9iD4IPpA/iDxkFWQECECIQQhAZBEcBRwEJBEkAKQM5AhcDFwM3ATcBBwMHAzcANwAnAicCFQIlAQUCJQBoEGgRaBJmE+QTJBRmFOQUIhVEFYQVxBUEFkQWGQ/5AfkAghaiFsIW6QLiFhkO6QECFyIXQhdiF4IXohfJBjkNwhcpDdkCGQ25B+IXAhjJAyIYSQvXAdcBCQ3ZAIkKqQhJDMkEaQu5BjcMNwwnDCcMxwLHAlcLVwu5BYkJFwwXDMcBxwGZCAkMxwDHALkEaQqpBnkJNws3C7cDtwOJCFkKJwsnC6kFaQmnBKcEeQiJB5cElwR5B3kGtQK1ArUCtQIVCxULtQG1AQcLtwCXBkcKNwqnA1cJlwUlCiUKpQKlAhUKFQqlAaUBBwpnCKUApQCHBkcJlQOVAzcJVwiHBWcHJQklCZUClQJXB3cFNQg1CIUDhQNnBkcHdwRXBmcFdwMTCZMBBQmVAEUIhQR1AnUCRwZnBCMIIwgjCCMIgwITCDUHJQcTBxMHcwFzAVUFBQd1ADUGZQNFBVUEJQZlAjUFAwiDABMGYwEDBmMAVQNFBCMFIwVTAgMFMwRDA1MAIwRDAjMDRhj5D+kP2Q/pDskP2Q65D/kLyQ7ZDMIY5wznDNcN1w35CskNtw63DucL5wuXD5cP9wn3CecK5wq3DbcN1wvXC4cPhw/3CPcIxwzHDKkOmQ6HDocOeQ95DvUH9Qf1B/UH1QrVCqcNtwzHC/cGZQ9lD+UIVQ+VDdUJ9QXlB6UMtQtFD0UP9QT1BMcK5wb1A/UDMw8zD4UN1QgjD/MCZQ6VDAMPAw/FCVUOowujC3UN1QdDDkMOxQjVBjMOMw6zCbMJlQulCrMK4wXjBIMMYw3jAyMOAw7jAFMN0wVzDMMHQw2DC7MI0wSTCqMJYwzTA3MLUwzDBZMJcwqjB5MH9w73DPUN9Q3jDeMN4w3jDaMP4wkIAQgCCAMIBAgFBgaGBgQHQgdiBxcBFwEJARkABwAHAIgHiAiICYgKiAuGDAYNiA2GDgYPhg8GEIQQxhBGEcQRBBJEEoQSxBIEE0QThBPEEwIUIhRCFGQUohTCFOQUIhVCFWIVmQGCFaIVwhXiFQIWKQiJAhkIiQEiFkIWYhaCFikHeQJpBBkHWQV5AaIWOQZpA0kFWQQpBmkCGQbCFjkFZwFnAVkDSQQnBScFVwJXAhcFFwVXAVcBCQVZADcENwRHAycERwI3A0UBRQEXBAcEJQMlAzUCNQJHAAcDFQMVAzUBNQAjAiMCEwIjAQMCIwDiFgIX6Q4iF0IXYhf5C4IX2Q2pD/kKuQ7pC8kN2QyZD/kJ6Qq5DdkLiQ/5CMkMmQ7pCXkP+QepDdkKuQxpD6IXxwvHC/cG9waJDukIWQ+ZDfcF9wV3DncO5wfnB6cMpwzHCscKtwu3C9kJiQ1HD0cP9wT3BDcPNw/3A/cD1wjXCOcG5wYnDycP9wL3AmkO+QAXDxcP9wH3AZcMlwzHCccJVw6nC7cK5wV3DdcHRw7nBIcMxwg3DmcN1wbnA5cLtwknDicOpwqnCucC5wIXDhcO5wHnAQkO6QBXDVcN1wXXBXcMxwdHDYcL1QTVBLcIlwqnCWcMxwY3DdUD1QPVAtUCJw0HDRUNFQ11C3ULtQe1B9UB1QFXDNcAxQXFBYUKhQqlCEUMxQRlC7UGtQaXCQcMNQw1DMUDxQN1CnUKpQelB6UGpQbHAAcLwwLDAiUMVQu1BRUMhQmVCMUBRQu1BGUKNQt1CbMDswOVB4UIJQtVCrMCswKlBRULswGzAbUAZQmVBkUKpQR1CIUHNQqjA6MDUwmTBSMKowITCqMBBQqlAGMIYwiDBkMJkwQzCZMDkwN1BwUJUwiDBSMJYwdzBpMCEwmTAEMIgwRTB3MFMwiDA2MGQwdzBAMIgwBTBmMFMwdzA0MGAwdzAAMGYwDzD+MP8w7TD/MNww/zDNMO4w2zD8MO4wyjDgMPCAEIAggDBAQZAQkBFwAXAAMAAwADAAMAAwADAAMAAwBGBMYERAX5D4QFwgXoBfkC4gYZD/kBCAcICAgJCAoICwgMBg2GDQYOhg4GD4YPBhCEEMQQAhEkEWQRohFZAcIR4hECEiISGQRJAUISKQM5AhcDFwM3ATcBCQM5ACcCJwIVAiUBBQIlAOcP9w7XD/cNxw/3DLcP9wulD6UP9wqXD/cJ9wiFD4UPdQ/1B2UP9QZVD/UFQw9DD/ME8wPzAPMA8wDzAPMA8wDzAPMANQ81DzUPNQ9oEmYT5hNmFCMPAw/kFCQVZBWiFcQVBBZCFmQWpBbkFiQX6QNiF4IXohfCF+IXAhgiGAkNQhhiGIIYOQyiGBkMyQDCGOcC5wIpDhkO2QMpDdkC2QE5C+IYFw0XDckEaQvJA6kHJwwnDMkCuQXJAQkMSQu5BGkKqQa3A7cDWQqpBScLJwu3ArcCFwsXC7cBtwEJC7kAaQmZBkkKqQR5CIkHpwOnAzkKWQknCicKmQVpCKcBpwGJBnkHlwSXBEkJWQdnB2cHpQKlAqUCpQIVChUKBwqnADcJlwNXCIcFJQklCZUClQJ3BgcJFQkVCZUBlQGXAEcIhwR3BTcIhwNnBicIhQKFAkcHdwQVCBUIhQGFAYUAhQAHCFcGNQc1B3UDdQNnBUcGJQclB3UCdQJnBFcFBQcFBxMHEwcTBxMHcwFzAXUANQZlA0UFVQQlBmMCEwZjAWMBBQZlAFMDUwM1BUUEIwVTAhMFAwUzBEMDUwAjBEMCMwMDBEMAyQ4CGdcO1w7nCecJ6QrZCeUO5Q7lDuUO5w3nDecL5wu1DrUOxQ3FDdcM1wulDqUOxQzFDKcN1wp3DqcMxQrFCscJdw1VDlUOsw2zDbMNsw2TDpMOtQzFC4UO5QiVDeUHtQuFDdUIZQ7jBpMMpQu1CuUF1QdDDkMO5QSFDMMIMw5jDWMN1QaVC7UJpQrjAeMB0wTTBLUIpQlzC3MLtQfVAAMO4wBTDdMFcwzDB0MNgwuTCmMMwwYzDVMMwwWDCqMIkwlDDLMGcwpTC4MJkwhzCZMHgwjjDNMNCAEIAggD+Q8IBAgFCAYIBwgICAkGCoQKGQEJARkACQDpD/kO2Q/5DckP+Qy5D/kL9wr3CqkPmQ/3CfcJ9wj3CIkPeQ/3B/cHZw9nD/cG9wZXD1cP9wX3BUcPRw/3BPcENw83D/cD9wMnDycP9wL3AvcB9wEZD/kAxgpGC8YLRgzIDMYNRg7GDkQPhA/EDwQQRBCEEMQQBBFEEYYRBBJEEoQSxhJEE4YTAhQkFGQUohTEFAIVIhVCFWIVghWiFcIV4hUCFiIWQhZiFoIWohbCFuIWAhckF2IXhBd5A8IXeQJJBmkEWQV5ATkGaQNJBVkEKQZpAhkGaQHiFzkFWQNJBCkFWQIZBQIYVwFXATkESQMnBCcERwJHAjcDNwMXBBcERwFHAQkESQAnAycDNwI3AhUDFQMVAxUDNQE1ATUBNQEHAzcAJQIlAhMCEwITAhMCIwEjAQUCJQADDwMPAw8DD+cO1w7nDccO5wzXDbcO5wvHDdcMpw7nCrcN1wvHDJcO5wmnDdcKtwzHC4cO5wiXDdcJdw7nB6cMxwrHCrcLtwuHDYcN1wjXCAkO6QAHDQcN5QblBuUG5QZnDpcMxQnFCVUOVQ61CrUK5QXlBacLdw3VB9UH5QTlBIUMhQzFCMUIRw4nDjUONQ5lDdUG5QOVC7UJpQrlAhUO5QFVDdUFdQzFB0UNhQu1CNUElQqlCWUMxQY1DdUDJQ3VAhUNdQu1B9UBVQzFBYUKpQiVCUUMxQRlC2ULtQa1BtcABww1DDUMxQN1CqUHJQzFAlULtQUVDIUJlQjFAUULxwAHCzULNQu3AAcKFQoVCrMEswRlCqUGdQl1CZUHlQenAAcJlQCVALMDgwglC1UKswKzAqUFFQu1AWUJkwajBEUKdQiDB4MHMwqjA1MJkwUjCqMCowFjCIMGcwdDCZMEMwmTA1MIgwUjCWMHcwaTAhMJkwFDCIMEUwdzBTMIgwNjBiMIgwITCEMHcwSDAYMBBQiFAFMGYwUTBxMHBQd1ADMHIwcDBmMAAwVTAAAABYAPgAoAG4AeABQAEYAzgDYAPAA5gCgALYAngCIAY4BmAGwAaYB4AH2Ad4ByAFAAVYBfgFoAS4BOAEQAQYDDgMYAzADJgNgA3YDXgNIA8AD1gP+A+gDrgO4A5ADhgKAApYCvgKoAu4C+ALQAsYCTgJYAnACZgIgAjYCHgIIAg4GGAYwBiYGYAZ2Bl4GSAbABtYG/gboBq4GuAaQBoYHgAeWB74HqAfuB/gH0AfGB04HWAdwB2YHIAc2Bx4HCAUABRYFPgUoBW4FeAVQBUYFzgXYBfAF5gWgBbYFngWIBI4EmASwBKYE4AT2BN4EyARABFYEfgRoBC4EOAQQBAYEDgwYDDAMJgxgDHYMXgxIDMAM1gz+DOgMrgy4DJAMhg2ADZYNvg2oDe4N+A3QDcYNTg1YDXANZg0gDTYNHg0IDwAPFg8+DygPbg94D1APRg/OD9gP8A/mD6APtg+eD4gOjg6YDrAOpg7gDvYO3g7IDkAOVg5+DmgOLg44DhAOBg4AChYKPgooCm4KeApQCkYKzgrYCvAK5gqgCrYKngqIC44LmAuwC6YL4Av2C94LyAtAC1YLfgtoCy4LOAsQCwYJDgkYCTAJJglgCXYJXglICcAJ1gn+CegJrgm4CZAJhgiACJYIvgioCO4I+AjQCMYITghYCHAIZgggCDYIHggICSDVMQ0Jhc2UAJHBsYXkAb25EYXRhACRjbG9zZQBkZWNvZGVWaWRlb0J1ZmZlcgBpc1BsYXlpbmcAZmx2TW9kZQBhdWRpb0J1ZmZlcgB2aWRlb0J1ZmZlcgBicHMAYnVmZmVySW5mbwBINUxpdmVDbGllbnQAY2xvc2UAd2ViR0xDYW52YXMAaXNXZWJHTAB3ZWJnbDolcwB0cnVlAGZhbHNlAC5mbHYAV2ViU29ja2V0AGJpbmFyeVR5cGUAYXJyYXlidWZmZXIAb25tZXNzYWdlAHdzAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0ljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFAE5TdDNfXzIyMV9fYmFzaWNfc3RyaW5nX2NvbW1vbklMYjFFRUUAYmluZABOMTBlbXNjcmlwdGVuM3ZhbEUAZGF0YQB1bmtub3cgdHlwZTogJWQAZXJyb3IgdHlwZSA6JWQAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQBwbGF5QXVkaW8AaW5pdEF1ZGlvAHNldCBhdWRpbyBidWZmZXJMZW5ndGg6JWQAZ290IGgyNjQgdmlkZW8AZ290IGgyNjUgdmlkZW8AT25seSBzdXBwb3J0IHZpZGVvIGguMjY0L2F2YyBvciBoLjI2NS9oZXZjIGNvZGVjLiBhY3R1YWw9JWQAdmlkZW8gaW5mbyBzZXQhAHJlc2V0VGltZVNwYW4AY29kZWMgPSAlZABwbGF5VmlkZW9CdWZmZXIAdGltZXNwYW4AY2xlYXJUaW1lb3V0AGZyb250AGJhY2sAc2l6ZQA4SDVMQ0Jhc2UAUDhINUxDQmFzZQBQSzhINUxDQmFzZQBpaQB2AHZpAHZpaWkAdmlpAGlpaQBub3RpZnlPbkRlc3RydWN0aW9uAGltcGxlbWVudABleHRlbmQAMTJINUxpdmVDbGllbnQATjEwZW1zY3JpcHRlbjd3cmFwcGVySThINUxDQmFzZUVFAE4xMGVtc2NyaXB0ZW44aW50ZXJuYWwxMVdyYXBwZXJCYXNlRQBQMTJINUxpdmVDbGllbnQAUEsxMkg1TGl2ZUNsaWVudABpaWlpAGF1ZGlvIGluaXQhICVkAG1wMyBpbml0IQBERUNPREVSIElOSVRJQUxJWkFUSU9OIEZBSUxFRAoASDI2NCBpbml0ADhCcm9hZHdheQAxMlZpZGVvRGVjb2RlcgB2aWRlbyBkZWNvZGVyIHJlbGVhc2UhCgB2aWRlbyBkZWNvZGUgJWQAY2FudmFzOiVkLCVkAHNldFZpZGVvU2l6ZQBkcmF3AGF1ZGlvIGRlY29kZXIgcmVsZWFzZQoAYXVkaW8gZGVjb2RlciByZWxlYXNlIQoARmx2RGVjb2RlciByZWxlYXNlIQoAX19kZXN0cnVjdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicoKSorLC0uLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gIGCg4SFhoeIiYqLjI2Oj5CRkpOUlZaXmJmam5ydnp+goaKjpKWmp6ipqqusra6vsLGys7S1tre4ubq7vL2+v8DBwsPExcbHyMnKy8zNzs/Q0dLT1NXW19jZ2tvc3d7f4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb3+Pn6+/z9/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wAAAAAAAAEBAQEBAQICAgICAgMDAwMDAwQEBAQEBAUFBQUFBQYGBgYGBgcHBwcHBwgICAgAAQIDBAUAAQIDBAUAAQIDBAUAAQIDBAUAAQIDBAUAAQIDBAUAAQIDBAUAAQIDBAUAAQIDAABlVURENDQjIyMjExMTEwEBAQEBAQEBAQEBAQEBAQEA+enZyMi4uKenp6eXl5eXhoaGhoaGhoZ2dnZ2dnZ2dubWxralpZWVhISEhHR0dHRkZGRkVFRUVENDQ0NDQ0NDMzMzMzMzMzMjIyMjIyMjIxMTExMTExMTAwMDAwMDAwPWtsXFpaWVlYSEhIRUVFRURERERAQEBARzc3Nzc3Nzc2NjY2NjY2NjMzMzMzMzMzMjIyMjIyMjIxMTExMTExMTxbWlBZSUdHQ0NCQkg4ODg2NjY2NTU1NTQ0NDQxMTExO1laSkhIQkJBQUBARzc3NzY2NjY1NTU1NDQ0NDMzMzM6YGFRWEhISEk5OTk5OTk5Nzc3Nzc3Nzc2NjY2NjY2NjU1NTU1NTU1NDQ0NDQ0NDQzMzMzMzMzMzIyMjIyMjIyOWBhUVdHR0dIODg4ODg4ODY2NjY2NjY2NDQ0NDQ0NDQzMzMzMzMzMzIyMjIyMjIyNSUlJSUlJSUlJSUlJSUlJShgYlJRQUFBRzc3Nzc3Nzc2NjY2NjY2NjMzMzMzMzMzNSUlJSUlJSUlJSUlJSUlJSQkJCQkJCQkJCQkJCQkJCQhYGdXUkJCQkU1NTU1NTU1NiYmJiYmJiYmJiYmJiYmJiQkJCQkJCQkJCQkJCQkJCQjIyMjIyMjIyMjIyMjIyMjIVBWRkIyMjI1JSUlJSUlJS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bnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDhfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDhfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDE2X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQzMl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxmbG9hdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8ZG91YmxlPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxsb25nIGRvdWJsZT4ATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZUVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWRFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lmRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbUVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWxFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lqRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJaUVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXRFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lzRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJaEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWFFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ljRUUATlN0M19fMjEyYmFzaWNfc3RyaW5nSXdOU18xMWNoYXJfdHJhaXRzSXdFRU5TXzlhbGxvY2F0b3JJd0VFRUUATlN0M19fMjEyYmFzaWNfc3RyaW5nSWhOU18xMWNoYXJfdHJhaXRzSWhFRU5TXzlhbGxvY2F0b3JJaEVFRUUALSsgICAwWDB4AChudWxsKQAtMFgrMFggMFgtMHgrMHggMHgAaW5mAElORgBuYW4ATkFOAC4AcmV0dXJuICEhKE1vZHVsZVsnY2FudmFzJ10pACNjYW52YXMATW9kdWxlWydub0V4aXRSdW50aW1lJ10gPSB0cnVlAEFwcGxpY2F0aW9uIG1haW4gdGhyZWFkAGNhbGwARTpcZW1zZGtcZW1zY3JpcHRlblwxLjM4LjMxXHN5c3RlbVxsaWJccHRocmVhZFxsaWJyYXJ5X3B0aHJlYWQuYwBlbV9xdWV1ZWRfY2FsbF9tYWxsb2MAdGFyZ2V0AEdldFF1ZXVlAEVNX0ZVTkNfU0lHX05VTV9GVU5DX0FSR1VNRU5UUyhxLT5mdW5jdGlvbkVudW0pIDw9IEVNX1FVRVVFRF9DQUxMX01BWF9BUkdTAF9kb19jYWxsADAgJiYgIkludmFsaWQgRW1zY3JpcHRlbiBwdGhyZWFkIF9kb19jYWxsIG9wY29kZSEiAGVtc2NyaXB0ZW5fYXN5bmNfcXVldWVfY2FsbF9vbl90aHJlYWQAdGFyZ2V0X3RocmVhZABwb3N0TWVzc2FnZSh7IGNtZDogJ3Byb2Nlc3NRdWV1ZWRNYWluVGhyZWFkV29yaycgfSkAeyBpZiAoIUVOVklST05NRU5UX0lTX1BUSFJFQUQpIHsgaWYgKCFQVGhyZWFkLnB0aHJlYWRzWyQwXSB8fCAhUFRocmVhZC5wdGhyZWFkc1skMF0ud29ya2VyKSB7IHJldHVybiAwOyB9IFBUaHJlYWQucHRocmVhZHNbJDBdLndvcmtlci5wb3N0TWVzc2FnZSh7IGNtZDogJ3Byb2Nlc3NUaHJlYWRRdWV1ZScgfSk7IH0gZWxzZSB7IHBvc3RNZXNzYWdlKHsgdGFyZ2V0VGhyZWFkOiAkMCwgY21kOiAncHJvY2Vzc1RocmVhZFF1ZXVlJyB9KTsgfSByZXR1cm4gMTsgfQB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzOiAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZm9yZWlnbiBleGNlcHRpb24AdGVybWluYXRpbmcAdW5jYXVnaHQAU3Q5ZXhjZXB0aW9uAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAFN0OXR5cGVfaW5mbwBOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAHB0aHJlYWRfb25jZSBmYWlsdXJlIGluIF9fY3hhX2dldF9nbG9iYWxzX2Zhc3QoKQBjYW5ub3QgY3JlYXRlIHB0aHJlYWQga2V5IGZvciBfX2N4YV9nZXRfZ2xvYmFscygpAGNhbm5vdCB6ZXJvIG91dCB0aHJlYWQgdmFsdWUgZm9yIF9fY3hhX2dldF9nbG9iYWxzKCkAdGVybWluYXRlX2hhbmRsZXIgdW5leHBlY3RlZGx5IHJldHVybmVkAFN0MTFsb2dpY19lcnJvcgBTdDEybGVuZ3RoX2Vycm9yAE4xMF9fY3h4YWJpdjExOV9fcG9pbnRlcl90eXBlX2luZm9FAE4xMF9fY3h4YWJpdjExN19fcGJhc2VfdHlwZV9pbmZvRQBOMTBfX2N4eGFiaXYxMjNfX2Z1bmRhbWVudGFsX3R5cGVfaW5mb0UAdgBEbgBiAGMAaABhAHMAdABpAGoAbABtAGYAZABOMTBfX2N4eGFiaXYxMjFfX3ZtaV9jbGFzc190eXBlX2luZm9F"}var tempDoublePtr;if(!ENVIRONMENT_IS_PTHREAD)tempDoublePtr=58352;function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}var PROCINFO={ppid:1,pid:42,sid:42,pgid:42};var PThread={MAIN_THREAD_ID:1,mainThreadInfo:{schedPolicy:0,schedPrio:0},unusedWorkerPool:[],runningWorkers:[],initMainThreadBlock:function(){if(ENVIRONMENT_IS_PTHREAD)return undefined;PThread.mainThreadBlock=57536;for(var i=0;i<244/4;++i)HEAPU32[PThread.mainThreadBlock/4+i]=0;HEAP32[PThread.mainThreadBlock+24>>2]=PThread.mainThreadBlock;var headPtr=PThread.mainThreadBlock+168;HEAP32[headPtr>>2]=headPtr;var tlsMemory=57792;for(var i=0;i<128;++i)HEAPU32[tlsMemory/4+i]=0;Atomics.store(HEAPU32,PThread.mainThreadBlock+116>>2,tlsMemory);Atomics.store(HEAPU32,PThread.mainThreadBlock+52>>2,PThread.mainThreadBlock);Atomics.store(HEAPU32,PThread.mainThreadBlock+56>>2,PROCINFO.pid)},pthreads:{},pthreadIdCounter:2,exitHandlers:null,setThreadStatus:function(){},runExitHandlers:function(){if(PThread.exitHandlers!==null){while(PThread.exitHandlers.length>0){PThread.exitHandlers.pop()()}PThread.exitHandlers=null}if(ENVIRONMENT_IS_PTHREAD&&threadInfoStruct)___pthread_tsd_run_dtors()},threadExit:function(exitCode){var tb=_pthread_self();if(tb){Atomics.store(HEAPU32,tb+4>>2,exitCode);Atomics.store(HEAPU32,tb+0>>2,1);Atomics.store(HEAPU32,tb+72>>2,1);Atomics.store(HEAPU32,tb+76>>2,0);PThread.runExitHandlers();_emscripten_futex_wake(tb+0,2147483647);__register_pthread_ptr(0,0,0);threadInfoStruct=0;if(ENVIRONMENT_IS_PTHREAD){postMessage({cmd:"exit"})}}},threadCancel:function(){PThread.runExitHandlers();Atomics.store(HEAPU32,threadInfoStruct+4>>2,-1);Atomics.store(HEAPU32,threadInfoStruct+0>>2,1);_emscripten_futex_wake(threadInfoStruct+0,2147483647);threadInfoStruct=selfThreadId=0;__register_pthread_ptr(0,0,0);postMessage({cmd:"cancelDone"})},terminateAllThreads:function(){for(var t in PThread.pthreads){var pthread=PThread.pthreads[t];if(pthread){PThread.freeThreadData(pthread);if(pthread.worker)pthread.worker.terminate()}}PThread.pthreads={};for(var t in PThread.unusedWorkerPool){var pthread=PThread.unusedWorkerPool[t];if(pthread){PThread.freeThreadData(pthread);if(pthread.worker)pthread.worker.terminate()}}PThread.unusedWorkerPool=[];for(var t in PThread.runningWorkers){var pthread=PThread.runningWorkers[t];if(pthread){PThread.freeThreadData(pthread);if(pthread.worker)pthread.worker.terminate()}}PThread.runningWorkers=[]},freeThreadData:function(pthread){if(!pthread)return;if(pthread.threadInfoStruct){var tlsMemory=HEAP32[pthread.threadInfoStruct+116>>2];HEAP32[pthread.threadInfoStruct+116>>2]=0;_free(pthread.tlsMemory);_free(pthread.threadInfoStruct)}pthread.threadInfoStruct=0;if(pthread.allocatedOwnStack&&pthread.stackBase)_free(pthread.stackBase);pthread.stackBase=0;if(pthread.worker)pthread.worker.pthread=null},receiveObjectTransfer:function(data){},allocateUnusedWorkers:function(numWorkers,onFinishedLoading){if(typeof SharedArrayBuffer==="undefined")return;var numWorkersLoaded=0;var pthreadMainJs="H5LiveClient.worker.js";pthreadMainJs=locateFile(pthreadMainJs);for(var i=0;i0)return PThread.unusedWorkerPool.pop();else return null},busySpinWait:function(msecs){var t=performance.now()+msecs;while(performance.now()>2]=value;return value}function _clock_gettime(clk_id,tp){var now;if(clk_id===0){now=Date.now()}else if(clk_id===1&&_emscripten_get_now_is_monotonic()){now=_emscripten_get_now()}else{___setErrNo(22);return-1}HEAP32[tp>>2]=now/1e3|0;HEAP32[tp+4>>2]=now%1e3*1e3*1e3|0;return 0}function ___clock_gettime(a0,a1){return _clock_gettime(a0,a1)}function ___cxa_allocate_exception(size){return _malloc(size)}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}function ___cxa_free_exception(ptr){try{return _free(ptr)}catch(e){}}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var key in EXCEPTIONS.infos){var ptr=+key;var adj=EXCEPTIONS.infos[ptr].adjusted;var len=adj.length;for(var i=0;i0);info.refcount--;if(info.refcount===0&&!info.rethrown){if(info.destructor){Module["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 ___cxa_begin_catch(ptr){var info=EXCEPTIONS.infos[ptr];if(info&&!info.caught){info.caught=true;__ZSt18uncaught_exceptionv.uncaught_exception--}if(info)info.rethrown=false;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}throw ptr}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(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.push(thrown);return(setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(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}function ___gxx_personality_v0(){}var SYSCALLS={buffers:[null,[],[]],printChar:function(stream,curr){var buffer=SYSCALLS.buffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function ___syscall140(which,varargs){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(1,1,which,varargs);SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function flush_NO_FILESYSTEM(){var fflush=Module["_fflush"];if(fflush)fflush(0);var buffers=SYSCALLS.buffers;if(buffers[1].length)SYSCALLS.printChar(1,10);if(buffers[2].length)SYSCALLS.printChar(2,10)}function ___syscall146(which,varargs){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(2,1,which,varargs);SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function count_emval_handles(){var count=0;for(var i=5;i>shift])},destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}});clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function runDestructor(handle){var $$=handle.$$;if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}this.$$.count.value-=1;var toDelete=0===this.$$.count.value;if(toDelete){runDestructor(this)}if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}var registeredPointers={};function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError("Function '"+humanName+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+proto[methodName].overloadTable+")!")}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError("Cannot register public name '"+name+"' twice")}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError("Cannot register multiple overloads of a function with the same number of arguments ("+numArguments+")!")}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError("Expected null or instance of "+desiredClass.name+", got an instance of "+ptrClass.name)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,__emval_register(function(){clonedHandle["delete"]()}));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+handle.$$.ptrType.name+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAPU32[pointer>>2])}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return Object.create(prototype,{$$:{value:record}})}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(dynCall){var args=[];for(var i=1;i0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i>2)+i])}return array}function __embind_register_class_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,fn){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.constructor;if(undefined===proto[methodName]){unboundTypesHandler.argCount=argCount-1;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-1]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));var func=craftInvokerFunction(humanName,invokerArgsArray,null,rawInvoker,fn);if(undefined===proto[methodName].overloadTable){func.argCount=argCount-1;proto[methodName]=func}else{proto[methodName].overloadTable[argCount-1]=func}return[]});return[]})}function __embind_register_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})}function validateThis(this_,classType,humanName){if(!(this_ instanceof Object)){throwBindingError(humanName+' with invalid "this": '+this_)}if(!(this_ instanceof classType.registeredClass.constructor)){throwBindingError(humanName+' incompatible with "this" of type '+this_.constructor.name)}if(!this_.$$.ptr){throwBindingError("cannot call emscripten binding method "+humanName+" on deleted object")}return upcastPointer(this_.$$.ptr,this_.$$.ptrType.registeredClass,classType.registeredClass)}function __embind_register_class_property(classType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){fieldName=readLatin1String(fieldName);getter=embind__requireFunction(getterSignature,getter);whenDependentTypesAreResolved([],[classType],function(classType){classType=classType[0];var humanName=classType.name+"."+fieldName;var desc={get:function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])},enumerable:true,configurable:true};if(setter){desc.set=function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])}}else{desc.set=function(v){throwBindingError(humanName+" is a read-only property")}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);whenDependentTypesAreResolved([],setter?[getterReturnType,setterArgumentType]:[getterReturnType],function(types){var getterReturnType=types[0];var desc={get:function(){var ptr=validateThis(this,classType,humanName+" getter");return getterReturnType["fromWireType"](getter(getterContext,ptr))},enumerable:true};if(setter){setter=embind__requireFunction(setterSignature,setter);var setterArgumentType=types[1];desc.set=function(v){var ptr=validateThis(this,classType,humanName+" setter");var destructors=[];setter(setterContext,ptr,setterArgumentType["toWireType"](destructors,v));runDestructors(destructors)}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);return[]});return[]})}function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=emval_handle_array[handle].value;__emval_decref(handle);return rv},"toWireType":function(destructors,value){return __emval_register(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function _embind_repr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=function(value){return value};if(minRange===0){var bitshift=32-8*size;fromWireType=function(value){return value<>>bitshift}}var isUnsignedType=name.indexOf("unsigned")!=-1;registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(valuemaxRange){throw new TypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}return isUnsignedType?value>>>0:value|0},"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(heap["buffer"],data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var str;if(stdStringIsUTF8){var endChar=HEAPU8[value+4+length];var endCharSwap=0;if(endChar!=0){endCharSwap=endChar;HEAPU8[value+4+length]=0}var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i;if(HEAPU8[currentBytePtr]==0){var stringSegment=UTF8ToString(decodeStartPtr);if(str===undefined)str=stringSegment;else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}if(endCharSwap!=0)HEAPU8[value+4+length]=endCharSwap}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr+4,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}}else{for(var i=0;i>2];var a=new Array(length);var start=value+4>>shift;for(var i=0;i>2]=length;var start=ptr+4>>shift;for(var i=0;i>2]=rd;return returnType["toWireType"](destructors,handle)}function __emval_lookupTypes(argCount,argTypes,argWireTypes){var a=new Array(argCount);for(var i=0;i>2)+i],"parameter "+i)}return a}function __emval_call(handle,argCount,argTypes,argv){handle=requireHandle(handle);var types=__emval_lookupTypes(argCount,argTypes);var args=new Array(argCount);for(var i=0;i>2]=__emval_register(destructors);return destructors}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}else{return symbol}}var emval_methodCallers=[];function __emval_call_method(caller,handle,methodName,destructorsRef,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);return caller(handle,methodName,__emval_allocateDestructors(destructorsRef),args)}function __emval_call_void_method(caller,handle,methodName,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);caller(handle,methodName,null,args)}function emval_get_global(){return function(){return Function}()("return this")()}function __emval_get_global(name){if(name===0){return __emval_register(emval_get_global())}else{name=getStringOrSymbol(name);return __emval_register(emval_get_global()[name])}}function __emval_addMethodCaller(caller){var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id}function __emval_get_method_caller(argCount,argTypes){var types=__emval_lookupTypes(argCount,argTypes);var retType=types[0];var signatureName=retType.name+"_$"+types.slice(1).map(function(t){return t.name}).join("_")+"$";var params=["retType"];var args=[retType];var argsList="";for(var i=0;i4){emval_handle_array[handle].refcount+=1}}function craftEmvalAllocator(argCount){var argsList="";for(var i=0;i> 2) + "+i+'], "parameter '+i+'");\n'+"var arg"+i+" = argType"+i+".readValueFromPointer(args);\n"+"args += argType"+i+"['argPackAdvance'];\n"}functionBody+="var obj = new constructor("+argsList+");\n"+"return __emval_register(obj);\n"+"}\n";return new Function("requireRegisteredType","Module","__emval_register",functionBody)(requireRegisteredType,Module,__emval_register)}var emval_newers={};function __emval_new(handle,argCount,argTypes,args){handle=requireHandle(handle);var newer=emval_newers[argCount];if(!newer){newer=craftEmvalAllocator(argCount);emval_newers[argCount]=newer}return newer(handle,argTypes,args)}function __emval_new_cstring(v){return __emval_register(getStringOrSymbol(v))}function __emval_new_object(){return __emval_register({})}function __emval_run_destructors(handle){var destructors=emval_handle_array[handle].value;runDestructors(destructors);__emval_decref(handle)}function __emval_set_property(handle,key,value){handle=requireHandle(handle);key=requireHandle(key);value=requireHandle(value);handle[key]=value}function __emval_take_value(type,argv){type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](argv);return __emval_register(v)}function _abort(){Module["abort"]()}function _clock(){if(_clock.start===undefined)_clock.start=Date.now();return(Date.now()-_clock.start)*(1e6/1e3)|0}function _emscripten_conditional_set_current_thread_status_js(expectedStatus,newStatus){}var __main_thread_futex_wait_address;if(ENVIRONMENT_IS_PTHREAD)__main_thread_futex_wait_address=PthreadWorkerInit.__main_thread_futex_wait_address;else PthreadWorkerInit.__main_thread_futex_wait_address=__main_thread_futex_wait_address=58320;function _emscripten_futex_wait(addr,val,timeout){if(addr<=0||addr>HEAP8.length||addr&3!=0)return-22;if(ENVIRONMENT_IS_WORKER){var ret=Atomics.wait(HEAP32,addr>>2,val,timeout);if(ret==="timed-out")return-110;if(ret==="not-equal")return-11;if(ret==="ok")return 0;throw"Atomics.wait returned an unexpected value "+ret}else{var loadedVal=Atomics.load(HEAP32,addr>>2);if(val!=loadedVal)return-11;var tNow=performance.now();var tEnd=tNow+timeout;Atomics.store(HEAP32,__main_thread_futex_wait_address>>2,addr);var ourWaitAddress=addr;while(addr==ourWaitAddress){tNow=performance.now();if(tNow>tEnd){return-110}_emscripten_main_thread_process_queued_calls();addr=Atomics.load(HEAP32,__main_thread_futex_wait_address>>2)}return 0}}function _emscripten_futex_wake(addr,count){if(addr<=0||addr>HEAP8.length||addr&3!=0||count<0)return-22;if(count==0)return 0;var mainThreadWaitAddress=Atomics.load(HEAP32,__main_thread_futex_wait_address>>2);var mainThreadWoken=0;if(mainThreadWaitAddress==addr){var loadedAddr=Atomics.compareExchange(HEAP32,__main_thread_futex_wait_address>>2,mainThreadWaitAddress,0);if(loadedAddr==mainThreadWaitAddress){--count;mainThreadWoken=1;if(count<=0)return 1}}var ret=Atomics.notify(HEAP32,addr>>2,count);if(ret>=0)return ret+mainThreadWoken;throw"Atomics.notify returned an unexpected value "+ret}function _emscripten_get_heap_size(){return HEAP8.length}function _emscripten_has_threading_support(){return typeof SharedArrayBuffer!=="undefined"}function __reallyNegative(x){return x<0||x===0&&1/x===-Infinity}function __formatString(format,varargs){assert((varargs&3)===0);var textIndex=format;var argIndex=varargs;function prepVararg(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}function getNextArg(type){var ret;argIndex=prepVararg(argIndex,type);if(type==="double"){ret=HEAPF64[argIndex>>3];argIndex+=8}else if(type=="i64"){ret=[HEAP32[argIndex>>2],HEAP32[argIndex+4>>2]];argIndex+=8}else{assert((argIndex&3)===0);type="i32";ret=HEAP32[argIndex>>2];argIndex+=4}return ret}var ret=[];var curr,next,currArg;while(1){var startTextIndex=textIndex;curr=HEAP8[textIndex>>0];if(curr===0)break;next=HEAP8[textIndex+1>>0];if(curr==37){var flagAlwaysSigned=false;var flagLeftAlign=false;var flagAlternative=false;var flagZeroPad=false;var flagPadSign=false;flagsLoop:while(1){switch(next){case 43:flagAlwaysSigned=true;break;case 45:flagLeftAlign=true;break;case 35:flagAlternative=true;break;case 48:if(flagZeroPad){break flagsLoop}else{flagZeroPad=true;break}case 32:flagPadSign=true;break;default:break flagsLoop}textIndex++;next=HEAP8[textIndex+1>>0]}var width=0;if(next==42){width=getNextArg("i32");textIndex++;next=HEAP8[textIndex+1>>0]}else{while(next>=48&&next<=57){width=width*10+(next-48);textIndex++;next=HEAP8[textIndex+1>>0]}}var precisionSet=false,precision=-1;if(next==46){precision=0;precisionSet=true;textIndex++;next=HEAP8[textIndex+1>>0];if(next==42){precision=getNextArg("i32");textIndex++}else{while(1){var precisionChr=HEAP8[textIndex+1>>0];if(precisionChr<48||precisionChr>57)break;precision=precision*10+(precisionChr-48);textIndex++}}next=HEAP8[textIndex+1>>0]}if(precision<0){precision=6;precisionSet=false}var argSize;switch(String.fromCharCode(next)){case"h":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==104){textIndex++;argSize=1}else{argSize=2}break;case"l":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==108){textIndex++;argSize=8}else{argSize=4}break;case"L":case"q":case"j":argSize=8;break;case"z":case"t":case"I":argSize=4;break;default:argSize=null}if(argSize)textIndex++;next=HEAP8[textIndex+1>>0];switch(String.fromCharCode(next)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":{var signed=next==100||next==105;argSize=argSize||4;currArg=getNextArg("i"+argSize*8);var argText;if(argSize==8){currArg=makeBigInt(currArg[0],currArg[1],next==117)}if(argSize<=4){var limit=Math.pow(256,argSize)-1;currArg=(signed?reSign:unSign)(currArg&limit,argSize*8)}var currAbsArg=Math.abs(currArg);var prefix="";if(next==100||next==105){argText=reSign(currArg,8*argSize,1).toString(10)}else if(next==117){argText=unSign(currArg,8*argSize,1).toString(10);currArg=Math.abs(currArg)}else if(next==111){argText=(flagAlternative?"0":"")+currAbsArg.toString(8)}else if(next==120||next==88){prefix=flagAlternative&&currArg!=0?"0x":"";if(currArg<0){currArg=-currArg;argText=(currAbsArg-1).toString(16);var buffer=[];for(var i=0;i=0){if(flagAlwaysSigned){prefix="+"+prefix}else if(flagPadSign){prefix=" "+prefix}}if(argText.charAt(0)=="-"){prefix="-"+prefix;argText=argText.substr(1)}while(prefix.length+argText.lengthexponent&&exponent>=-4){next=(next==103?"f":"F").charCodeAt(0);precision-=exponent+1}else{next=(next==103?"e":"E").charCodeAt(0);precision--}effectivePrecision=Math.min(precision,20)}if(next==101||next==69){argText=currArg.toExponential(effectivePrecision);if(/[eE][-+]\d$/.test(argText)){argText=argText.slice(0,-1)+"0"+argText.slice(-1)}}else if(next==102||next==70){argText=currArg.toFixed(effectivePrecision);if(currArg===0&&__reallyNegative(currArg)){argText="-"+argText}}var parts=argText.split("e");if(isGeneral&&!flagAlternative){while(parts[0].length>1&&parts[0].indexOf(".")!=-1&&(parts[0].slice(-1)=="0"||parts[0].slice(-1)==".")){parts[0]=parts[0].slice(0,-1)}}else{if(flagAlternative&&argText.indexOf(".")==-1)parts[0]+=".";while(precision>effectivePrecision++)parts[0]+="0"}argText=parts[0]+(parts.length>1?"e"+parts[1]:"");if(next==69)argText=argText.toUpperCase();if(currArg>=0){if(flagAlwaysSigned){argText="+"+argText}else if(flagPadSign){argText=" "+argText}}}while(argText.length>0])}}else{ret=ret.concat(intArrayFromString("(null)".substr(0,argLength),true))}if(flagLeftAlign){while(argLength0){ret.push(32)}if(!flagLeftAlign)ret.push(getNextArg("i8"));break}case"n":{var ptr=getNextArg("i32*");HEAP32[ptr>>2]=ret.length;break}case"%":{ret.push(curr);break}default:{for(var i=startTextIndex;i>0])}}}textIndex+=2}else{ret.push(curr);textIndex+=1}}return ret}function __emscripten_traverse_stack(args){if(!args||!args.callee||!args.callee.name){return[null,"",""]}var funstr=args.callee.toString();var funcname=args.callee.name;var str="(";var first=true;for(var i in args){var a=args[i];if(!first){str+=", "}first=false;if(typeof a==="number"||typeof a==="string"){str+=a}else{str+="("+typeof a+")"}}str+=")";var caller=args.callee.caller;args=caller?caller.arguments:[];if(first)str="";return[args,funcname,str]}function _emscripten_get_callstack_js(flags){var callstack=jsStackTrace();var iThisFunc=callstack.lastIndexOf("_emscripten_log");var iThisFunc2=callstack.lastIndexOf("_emscripten_get_callstack");var iNextLine=callstack.indexOf("\n",Math.max(iThisFunc,iThisFunc2))+1;callstack=callstack.slice(iNextLine);if(flags&8&&typeof emscripten_source_map==="undefined"){warnOnce('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.');flags^=8;flags|=16}var stack_args=null;if(flags&128){stack_args=__emscripten_traverse_stack(arguments);while(stack_args[1].indexOf("_emscripten_")>=0)stack_args=__emscripten_traverse_stack(stack_args[0])}var lines=callstack.split("\n");callstack="";var newFirefoxRe=new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)");var firefoxRe=new RegExp("\\s*(.*?)@(.*):(.*)(:(.*))?");var chromeRe=new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(var l in lines){var line=lines[l];var jsSymbolName="";var file="";var lineno=0;var column=0;var parts=chromeRe.exec(line);if(parts&&parts.length==5){jsSymbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]}else{parts=newFirefoxRe.exec(line);if(!parts)parts=firefoxRe.exec(line);if(parts&&parts.length>=4){jsSymbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]|0}else{callstack+=line+"\n";continue}}var cSymbolName=flags&32?demangle(jsSymbolName):jsSymbolName;if(!cSymbolName){cSymbolName=jsSymbolName}var haveSourceMap=false;if(flags&8){var orig=emscripten_source_map.originalPositionFor({line:lineno,column:column});haveSourceMap=orig&&orig.source;if(haveSourceMap){if(flags&64){orig.source=orig.source.substring(orig.source.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=" at "+cSymbolName+" ("+orig.source+":"+orig.line+":"+orig.column+")\n"}}if(flags&16||!haveSourceMap){if(flags&64){file=file.substring(file.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=(haveSourceMap?" = "+jsSymbolName:" at "+cSymbolName)+" ("+file+":"+lineno+":"+column+")\n"}if(flags&128&&stack_args[0]){if(stack_args[1]==jsSymbolName&&stack_args[2].length>0){callstack=callstack.replace(/\s+$/,"");callstack+=" with values: "+stack_args[1]+stack_args[2]+"\n"}stack_args=__emscripten_traverse_stack(stack_args[0])}}callstack=callstack.replace(/\s+$/,"");return callstack}function _emscripten_log_js(flags,str){if(flags&24){str=str.replace(/\s+$/,"");str+=(str.length>0?"\n":"")+_emscripten_get_callstack_js(flags)}if(flags&1){if(flags&4){console.error(str)}else if(flags&2){console.warn(str)}else{console.log(str)}}else if(flags&6){err(str)}else{out(str)}}function _emscripten_log(flags,varargs){var format=HEAP32[varargs>>2];varargs+=4;var str="";if(format){var result=__formatString(format,varargs);for(var i=0;i>3)+i]=arguments[2+i]}var ret=_emscripten_run_in_main_runtime_thread_js(index,numCallArgs,buffer,sync);stackRestore(stack);return ret}function _emscripten_receive_on_main_thread_js(index,numCallArgs,buffer){if(!_emscripten_receive_on_main_thread_js.callArgs){_emscripten_receive_on_main_thread_js.callArgs=[]}var callArgs=_emscripten_receive_on_main_thread_js.callArgs;callArgs.length=numCallArgs;for(var i=0;i>3)+i]}var func;if(index>0){func=proxiedFunctionTable[index]}else{func=ASM_CONSTS[-index-1]}return func.apply(null,callArgs)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){abortOnCannotGrowMemory(requestedSize)}var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence0},removeAllHandlersOnTarget:function(target,eventTypeString){for(var i=0;i>2]=eventTypeId;HEAP32[varargs+4>>2]=eventData;HEAP32[varargs+8>>2]=userData;_emscripten_async_queue_on_thread_(targetThread,637534208,eventHandlerFunc,eventData,varargs);stackRestore(stackTop)},getTargetThreadForEventCallback:function(targetThread){switch(targetThread){case 1:return 0;case 2:return PThread.currentProxiedOperationCallerThread;default:return targetThread}},getBoundingClientRectOrZeros:function(target){return target.getBoundingClientRect?target.getBoundingClientRect():{left:0,top:0}},pageScrollPos:function(){if(window.pageXOffset>0||window.pageYOffset>0){return[window.pageXOffset,window.pageYOffset]}if(typeof document.documentElement.scrollLeft!=="undefined"||typeof document.documentElement.scrollTop!=="undefined"){return[document.documentElement.scrollLeft,document.documentElement.scrollTop]}return[document.body.scrollLeft|0,document.body.scrollTop|0]},getNodeNameForTarget:function(target){if(!target)return"";if(target==window)return"#window";if(target==screen)return"#screen";return target&&target.nodeName?target.nodeName:""},tick:function(){if(window["performance"]&&window["performance"]["now"])return window["performance"]["now"]();else return Date.now()},fullscreenEnabled:function(){return document.fullscreenEnabled||document.mozFullScreenEnabled||document.webkitFullscreenEnabled||document.msFullscreenEnabled}};function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_set_offscreencanvas_size_on_target_thread_js(targetThread,targetCanvas,width,height){var stackTop=stackSave();var varargs=stackAlloc(12);var targetCanvasPtr=0;if(targetCanvas){targetCanvasPtr=stringToNewUTF8(targetCanvas)}HEAP32[varargs>>2]=targetCanvasPtr;HEAP32[varargs+4>>2]=width;HEAP32[varargs+8>>2]=height;_emscripten_async_queue_on_thread_(targetThread,657457152,0,targetCanvasPtr,varargs);stackRestore(stackTop)}function _emscripten_set_offscreencanvas_size_on_target_thread(targetThread,targetCanvas,width,height){targetCanvas=targetCanvas?UTF8ToString(targetCanvas):"";_emscripten_set_offscreencanvas_size_on_target_thread_js(targetThread,targetCanvas,width,height)}var __specialEventTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function __findEventTarget(target){try{if(!target)return window;if(typeof target==="number")target=__specialEventTargets[target]||UTF8ToString(target);if(target==="#window")return window;else if(target==="#document")return document;else if(target==="#screen")return screen;else if(target==="#canvas")return Module["canvas"];return typeof target==="string"?document.getElementById(target):target}catch(e){return null}}function __findCanvasEventTarget(target){if(typeof target==="number")target=UTF8ToString(target);if(!target||target==="#canvas"){if(typeof GL!=="undefined"&&GL.offscreenCanvases["canvas"])return GL.offscreenCanvases["canvas"];return Module["canvas"]}if(typeof GL!=="undefined"&&GL.offscreenCanvases[target])return GL.offscreenCanvases[target];return __findEventTarget(target)}function _emscripten_set_canvas_element_size_calling_thread(target,width,height){var canvas=__findCanvasEventTarget(target);if(!canvas)return-4;if(canvas.canvasSharedPtr){HEAP32[canvas.canvasSharedPtr>>2]=width;HEAP32[canvas.canvasSharedPtr+4>>2]=height}if(canvas.offscreenCanvas||!canvas.controlTransferredOffscreen){if(canvas.offscreenCanvas)canvas=canvas.offscreenCanvas;var autoResizeViewport=false;if(canvas.GLctxObject&&canvas.GLctxObject.GLctx){var prevViewport=canvas.GLctxObject.GLctx.getParameter(canvas.GLctxObject.GLctx.VIEWPORT);autoResizeViewport=prevViewport[0]===0&&prevViewport[1]===0&&prevViewport[2]===canvas.width&&prevViewport[3]===canvas.height}canvas.width=width;canvas.height=height;if(autoResizeViewport){canvas.GLctxObject.GLctx.viewport(0,0,width,height)}}else if(canvas.canvasSharedPtr){var targetThread=HEAP32[canvas.canvasSharedPtr+8>>2];_emscripten_set_offscreencanvas_size_on_target_thread(targetThread,target,width,height);return 1}else{return-4}return 0}function _emscripten_set_canvas_element_size_main_thread(target,width,height){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(4,1,target,width,height);return _emscripten_set_canvas_element_size_calling_thread(target,width,height)}function _emscripten_set_canvas_element_size(target,width,height){var canvas=__findCanvasEventTarget(target);if(canvas){return _emscripten_set_canvas_element_size_calling_thread(target,width,height)}else{return _emscripten_set_canvas_element_size_main_thread(target,width,height)}}function _emscripten_set_current_thread_status_js(newStatus){}function _emscripten_set_thread_name_js(threadId,name){}function _emscripten_syscall(which,varargs){switch(which){case 140:return ___syscall140(which,varargs);case 146:return ___syscall146(which,varargs);case 6:return ___syscall6(which,varargs);default:throw"surprising proxied syscall: "+which}}function _emscripten_webgl_create_context(){err("missing function: emscripten_webgl_create_context");abort(-1)}function _init(){window.AudioContext=window.AudioContext||window.webkitAudioContext;var context=new window.AudioContext;if(/(iPhone|iPad|iPod|iOS|Safari)/i.test(navigator.userAgent)){function _unlock(){context.resume();var source=context.createBufferSource();source.buffer=context.createBuffer(1,1,22050);source.connect(context.destination);if(source.noteOn)source.noteOn(0);else source.start(0)}document.addEventListener("mousedown",_unlock,true);document.addEventListener("touchend",_unlock,true)}function H264bsdCanvas(canvas,forceNoGL,contextOptions){this.canvasElement=canvas;this.contextOptions=contextOptions;if(!forceNoGL)this.initContextGL();if(this.contextGL){this.initProgram();this.initBuffers();this.initTextures()}}H264bsdCanvas.prototype.isWebGL=function(){return!!this.contextGL};H264bsdCanvas.prototype.initContextGL=function(){var canvas=this.canvasElement;var gl=null;var validContextNames=["webgl","experimental-webgl","moz-webgl","webkit-3d"];var nameIndex=0;while(!gl&&nameIndex3)return;reconnectCount++;console.warn("ws reconnect after "+(reconnectTime/1e3>>0)+" second");_this.reconnectId=setTimeout(function(){console.log("ws reconnecting :",reconnectCount);reconnectTime*=2;setWebsocket.call(_this)},reconnectTime)};this.ws.onerror=function(){console.warn("ws error")}}setWebsocket.call(this)},close:function(){clearTimeout(this.reconnectId);if(!this.isPlaying)return;console.log("close H5LiverClient");this.isPlaying=false;this.ws.onmessage=null;this.ws.onclose=null;this.ws.onerror=null;this.ws.close();this.ws=null;this.webGLCanvas.clear();this.$close();delete this.timespan},initAudio:function(frameCount,samplerate,channels,outputPtr){var isPlaying=false;var audioBuffers=[];var allFrameCount=frameCount*channels;if(!context)return false;var resampled=samplerate<22050;var audioBuffer=resampled?context.createBuffer(channels,frameCount<<1,samplerate<<1):context.createBuffer(channels,frameCount,samplerate);var audioOutputArray=HEAP16.subarray(outputPtr,outputPtr+allFrameCount);var playNextBuffer=function(){isPlaying=false;if(audioBuffers.length){playAudio(audioBuffers.shift())}if(audioBuffers.length>1)audioBuffers.shift()};var copyAudioOutputArray=resampled?function(target){for(var i=0;i1?function(fromBuffer){for(var channel=0;channel>2)),HEAPU8.subarray(v,v+(w*h>>2))];this.webGLCanvas.drawNextOutputPicture(w,h,this.croppingParams,outputArray)}}else{var outputArray=HEAPU8.subarray(dataPtr,dataPtr+(w*h<<2));this.webGLCanvas.initRGB(w,h);this.draw=function(){this.webGLCanvas.drawNextOutputPicture(w,h,this.croppingParams,outputArray)}}}})}function _llvm_trap(){abort("trap!")}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest)}function _pthread_cleanup_pop(execute){var routine=PThread.exitHandlers.pop();if(execute)routine()}function _pthread_cleanup_push(routine,arg){if(PThread.exitHandlers===null){PThread.exitHandlers=[];if(!ENVIRONMENT_IS_PTHREAD){__ATEXIT__.push(function(){PThread.runExitHandlers()})}}PThread.exitHandlers.push(function(){dynCall_vi(routine,arg)})}function __spawn_thread(threadParams){if(ENVIRONMENT_IS_PTHREAD)throw"Internal Error! _spawn_thread() can only ever be called from main application thread!";var worker=PThread.getNewWorker();if(worker.pthread!==undefined)throw"Internal error!";if(!threadParams.pthread_ptr)throw"Internal error, no pthread ptr!";PThread.runningWorkers.push(worker);var tlsMemory=_malloc(128*4);for(var i=0;i<128;++i){HEAP32[tlsMemory+i*4>>2]=0}var pthread=PThread.pthreads[threadParams.pthread_ptr]={worker:worker,stackBase:threadParams.stackBase,stackSize:threadParams.stackSize,allocatedOwnStack:threadParams.allocatedOwnStack,thread:threadParams.pthread_ptr,threadInfoStruct:threadParams.pthread_ptr};Atomics.store(HEAPU32,pthread.threadInfoStruct+0>>2,0);Atomics.store(HEAPU32,pthread.threadInfoStruct+4>>2,0);Atomics.store(HEAPU32,pthread.threadInfoStruct+20>>2,0);Atomics.store(HEAPU32,pthread.threadInfoStruct+80>>2,threadParams.detached);Atomics.store(HEAPU32,pthread.threadInfoStruct+116>>2,tlsMemory);Atomics.store(HEAPU32,pthread.threadInfoStruct+60>>2,0);Atomics.store(HEAPU32,pthread.threadInfoStruct+52>>2,pthread.threadInfoStruct);Atomics.store(HEAPU32,pthread.threadInfoStruct+56>>2,PROCINFO.pid);Atomics.store(HEAPU32,pthread.threadInfoStruct+120>>2,threadParams.stackSize);Atomics.store(HEAPU32,pthread.threadInfoStruct+96>>2,threadParams.stackSize);Atomics.store(HEAPU32,pthread.threadInfoStruct+92>>2,threadParams.stackBase);Atomics.store(HEAPU32,pthread.threadInfoStruct+120+8>>2,threadParams.stackBase);Atomics.store(HEAPU32,pthread.threadInfoStruct+120+12>>2,threadParams.detached);Atomics.store(HEAPU32,pthread.threadInfoStruct+120+20>>2,threadParams.schedPolicy);Atomics.store(HEAPU32,pthread.threadInfoStruct+120+24>>2,threadParams.schedPrio);var global_libc=_emscripten_get_global_libc();var global_locale=global_libc+40;Atomics.store(HEAPU32,pthread.threadInfoStruct+188>>2,global_locale);worker.pthread=pthread;var msg={cmd:"run",start_routine:threadParams.startRoutine,arg:threadParams.arg,threadInfoStruct:threadParams.pthread_ptr,selfThreadId:threadParams.pthread_ptr,parentThreadId:threadParams.parent_pthread_ptr,stackBase:threadParams.stackBase,stackSize:threadParams.stackSize};worker.runPthread=function(){msg.time=performance.now();worker.postMessage(msg,threadParams.transferList)};if(worker.loaded){worker.runPthread();delete worker.runPthread}}function _pthread_getschedparam(thread,policy,schedparam){if(!policy&&!schedparam)return ERRNO_CODES.EINVAL;if(!thread){err("pthread_getschedparam called with a null thread pointer!");return ERRNO_CODES.ESRCH}var self=HEAP32[thread+24>>2];if(self!=thread){err("pthread_getschedparam attempted on thread "+thread+", which does not point to a valid thread, or does not exist anymore!");return ERRNO_CODES.ESRCH}var schedPolicy=Atomics.load(HEAPU32,thread+120+20>>2);var schedPrio=Atomics.load(HEAPU32,thread+120+24>>2);if(policy)HEAP32[policy>>2]=schedPolicy;if(schedparam)HEAP32[schedparam>>2]=schedPrio;return 0}function _pthread_create(pthread_ptr,attr,start_routine,arg){if(typeof SharedArrayBuffer==="undefined"){err("Current environment does not support SharedArrayBuffer, pthreads are not available!");return 11}if(!pthread_ptr){err("pthread_create called with a null thread pointer!");return 22}var transferList=[];var error=0;if(ENVIRONMENT_IS_PTHREAD&&(transferList.length==0||error)){return _emscripten_sync_run_in_main_thread_4(687865856,pthread_ptr,attr,start_routine,arg)}if(error)return error;var stackSize=0;var stackBase=0;var detached=0;var schedPolicy=0;var schedPrio=0;if(attr){stackSize=HEAP32[attr>>2];stackSize+=81920;stackBase=HEAP32[attr+8>>2];detached=HEAP32[attr+12>>2]!=0;var inheritSched=HEAP32[attr+16>>2]==0;if(inheritSched){var prevSchedPolicy=HEAP32[attr+20>>2];var prevSchedPrio=HEAP32[attr+24>>2];var parentThreadPtr=PThread.currentProxiedOperationCallerThread?PThread.currentProxiedOperationCallerThread:_pthread_self();_pthread_getschedparam(parentThreadPtr,attr+20,attr+24);schedPolicy=HEAP32[attr+20>>2];schedPrio=HEAP32[attr+24>>2];HEAP32[attr+20>>2]=prevSchedPolicy;HEAP32[attr+24>>2]=prevSchedPrio}else{schedPolicy=HEAP32[attr+20>>2];schedPrio=HEAP32[attr+24>>2]}}else{stackSize=2097152}var allocatedOwnStack=stackBase==0;if(allocatedOwnStack){stackBase=_malloc(stackSize)}else{stackBase-=stackSize;assert(stackBase>0)}var threadInfoStruct=_malloc(244);for(var i=0;i<244>>2;++i)HEAPU32[(threadInfoStruct>>2)+i]=0;HEAP32[pthread_ptr>>2]=threadInfoStruct;HEAP32[threadInfoStruct+24>>2]=threadInfoStruct;var headPtr=threadInfoStruct+168;HEAP32[headPtr>>2]=headPtr;var threadParams={stackBase:stackBase,stackSize:stackSize,allocatedOwnStack:allocatedOwnStack,schedPolicy:schedPolicy,schedPrio:schedPrio,detached:detached,startRoutine:start_routine,pthread_ptr:threadInfoStruct,parent_pthread_ptr:_pthread_self(),arg:arg,transferList:transferList};if(ENVIRONMENT_IS_PTHREAD){threadParams.cmd="spawnThread";postMessage(threadParams,transferList)}else{__spawn_thread(threadParams)}return 0}if(!ENVIRONMENT_IS_PTHREAD)PThread.initMainThreadBlock();if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function _emscripten_get_now_actual(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(ENVIRONMENT_IS_PTHREAD){_emscripten_get_now=function(){return performance["now"]()-__performance_now_clock_drift}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else if(typeof performance==="object"&&performance&&typeof performance["now"]==="function"){_emscripten_get_now=function(){return performance["now"]()}}else{_emscripten_get_now=Date.now}init_emval();PureVirtualError=Module["PureVirtualError"]=extendError(Error,"PureVirtualError");embind_init_charCodes();init_embind();BindingError=Module["BindingError"]=extendError(Error,"BindingError");InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_ClassHandle();init_RegisteredPointer();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");var proxiedFunctionTable=[null,___syscall140,___syscall146,___syscall6,_emscripten_set_canvas_element_size_main_thread];var ASSERTIONS=false;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 intArrayToString(array){var ret=[];for(var i=0;i255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var decodeBase64=typeof atob==="function"?atob:function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i>2]|0;x=0;while(1){A=v&1;k=a+(i<<11)+(A<<9)|0;Gg(b+48+(i*4608|0)+(x<<7)|0,v>>>1,k,a+(i<<11)+1024+(A<<9)|0);g=v&-2;q=v+15&14|1;h=A^1;m=5336+(q<<2)|0;B=5336+(g<<2)|0;H=r(c[B>>2]|0,c[k>>2]|0)|0;u=r(c[m>>2]|0,c[a+(i<<11)+(h<<9)>>2]|0)|0;y=r(c[m+56>>2]|0,c[a+(i<<11)+(h<<9)+4>>2]|0)|0;t=r(c[m+48>>2]|0,c[a+(i<<11)+(h<<9)+8>>2]|0)|0;l=r(c[m+40>>2]|0,c[a+(i<<11)+(h<<9)+12>>2]|0)|0;f=r(c[m+32>>2]|0,c[a+(i<<11)+(h<<9)+16>>2]|0)|0;z=r(c[m+24>>2]|0,c[a+(i<<11)+(h<<9)+20>>2]|0)|0;n=r(c[m+16>>2]|0,c[a+(i<<11)+(h<<9)+24>>2]|0)|0;m=r(c[m+8>>2]|0,c[a+(i<<11)+(h<<9)+28>>2]|0)|0;I=r(c[B+56>>2]|0,c[a+(i<<11)+(A<<9)+4>>2]|0)|0;G=r(c[B+48>>2]|0,c[a+(i<<11)+(A<<9)+8>>2]|0)|0;F=r(c[B+40>>2]|0,c[a+(i<<11)+(A<<9)+12>>2]|0)|0;E=r(c[B+32>>2]|0,c[a+(i<<11)+(A<<9)+16>>2]|0)|0;D=r(c[B+24>>2]|0,c[a+(i<<11)+(A<<9)+20>>2]|0)|0;C=r(c[B+16>>2]|0,c[a+(i<<11)+(A<<9)+24>>2]|0)|0;c[s>>2]=I+H+G+F+E+D+C+(r(c[B+8>>2]|0,c[a+(i<<11)+(A<<9)+28>>2]|0)|0)-(y+u+t+l+f+z+n+m)>>2;m=0-g|0;n=0-q|0;z=p+(h<<9)|0;f=5336;l=a+(i<<11)+1024+(h<<9)|0;t=s;u=s+124|0;y=1;while(1){t=t+4|0;I=f+128+(q<<2)|0;H=l+4|0;G=l+8|0;F=l+12|0;E=l+16|0;D=l+20|0;C=l+24|0;B=l+28|0;W=f+128+(g<<2)|0;A=k+60|0;aa=r(c[W+8>>2]|0,c[A>>2]|0)|0;U=r(c[I>>2]|0,c[l>>2]|0)|0;V=r(c[I+56>>2]|0,c[H>>2]|0)|0;T=r(c[I+48>>2]|0,c[G>>2]|0)|0;S=r(c[I+40>>2]|0,c[F>>2]|0)|0;R=r(c[I+32>>2]|0,c[E>>2]|0)|0;Q=r(c[I+24>>2]|0,c[D>>2]|0)|0;O=r(c[I+16>>2]|0,c[C>>2]|0)|0;I=r(c[I+8>>2]|0,c[B>>2]|0)|0;J=k+56|0;ba=r(c[W+16>>2]|0,c[J>>2]|0)|0;K=k+52|0;$=r(c[W+24>>2]|0,c[K>>2]|0)|0;L=k+48|0;_=r(c[W+32>>2]|0,c[L>>2]|0)|0;M=k+44|0;Z=r(c[W+40>>2]|0,c[M>>2]|0)|0;N=k+40|0;Y=r(c[W+48>>2]|0,c[N>>2]|0)|0;P=k+36|0;k=k+32|0;X=r(c[W+56>>2]|0,c[P>>2]|0)|0;c[t>>2]=ba+aa+$+_+Z+Y+X+(r(c[W>>2]|0,c[k>>2]|0)|0)-(V+U+T+S+R+Q+O+I)>>2;I=f+128+(m<<2)|0;O=r(c[I+60>>2]|0,c[k>>2]|0)|0;O=(r(c[I+68>>2]|0,c[P>>2]|0)|0)+O|0;N=O+(r(c[I+76>>2]|0,c[N>>2]|0)|0)|0;M=N+(r(c[I+84>>2]|0,c[M>>2]|0)|0)|0;L=M+(r(c[I+92>>2]|0,c[L>>2]|0)|0)|0;K=L+(r(c[I+100>>2]|0,c[K>>2]|0)|0)|0;J=K+(r(c[I+108>>2]|0,c[J>>2]|0)|0)|0;A=J+(r(c[I+116>>2]|0,c[A>>2]|0)|0)|0;I=f+128+(n<<2)|0;B=A+(r(c[I+116>>2]|0,c[B>>2]|0)|0)|0;C=B+(r(c[I+108>>2]|0,c[C>>2]|0)|0)|0;D=C+(r(c[I+100>>2]|0,c[D>>2]|0)|0)|0;E=D+(r(c[I+92>>2]|0,c[E>>2]|0)|0)|0;F=E+(r(c[I+84>>2]|0,c[F>>2]|0)|0)|0;G=F+(r(c[I+76>>2]|0,c[G>>2]|0)|0)|0;H=G+(r(c[I+68>>2]|0,c[H>>2]|0)|0)|0;c[u>>2]=H+(r(c[I+60>>2]|0,c[l>>2]|0)|0)>>2;y=y+1|0;if((y|0)==16)break;else{f=f+128|0;l=l+32|0;u=u+-4|0}}ba=7384+(q<<2)|0;aa=r(c[ba>>2]|0,c[z>>2]|0)|0;aa=aa+(r(c[ba+56>>2]|0,c[o+(h<<9)+36>>2]|0)|0)|0;aa=aa+(r(c[ba+48>>2]|0,c[o+(h<<9)+40>>2]|0)|0)|0;aa=aa+(r(c[ba+40>>2]|0,c[o+(h<<9)+44>>2]|0)|0)|0;aa=aa+(r(c[ba+32>>2]|0,c[o+(h<<9)+48>>2]|0)|0)|0;aa=aa+(r(c[ba+24>>2]|0,c[o+(h<<9)+52>>2]|0)|0)|0;aa=aa+(r(c[ba+16>>2]|0,c[o+(h<<9)+56>>2]|0)|0)|0;c[s+64>>2]=0-(aa+(r(c[ba+8>>2]|0,c[o+(h<<9)+60>>2]|0)|0))>>2;x=x+1|0;if((x|0)==(e|0))break;else{s=s+128|0;v=v+1&15}}}i=i+1|0;if((i|0)==(d|0))break;else{o=o+2048|0;p=p+2048|0}}return}function Gg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;s=c[a>>2]|0;aa=c[a+124>>2]|0;Q=aa+s|0;aa=(s+2048-aa>>12)*4091|0;s=c[a+60>>2]|0;p=c[a+64>>2]|0;I=p+s|0;p=(s+2048-p>>12)*201|0;s=p+aa|0;p=(aa+2048-p>>12)*4076|0;aa=I+Q|0;I=(Q+2048-I>>12)*4076|0;Q=c[a+28>>2]|0;X=c[a+96>>2]|0;q=X+Q|0;X=(Q+2048-X>>12)*3035|0;Q=c[a+32>>2]|0;A=c[a+92>>2]|0;N=A+Q|0;A=(Q+2048-A>>12)*2751|0;Q=A+X|0;A=(X+2048-A>>12)*401|0;X=N+q|0;N=(q+2048-N>>12)*401|0;q=c[a+12>>2]|0;ba=c[a+112>>2]|0;m=ba+q|0;ba=(q+2048-ba>>12)*3857|0;q=c[a+48>>2]|0;n=c[a+76>>2]|0;G=n+q|0;n=(q+2048-n>>12)*1380|0;q=n+ba|0;n=(ba+2048-n>>12)*3166|0;ba=G+m|0;G=(m+2048-G>>12)*3166|0;m=c[a+16>>2]|0;T=c[a+108>>2]|0;r=T+m|0;T=(m+2048-T>>12)*3703|0;m=c[a+44>>2]|0;i=c[a+80>>2]|0;F=i+m|0;i=(m+2048-i>>12)*1751|0;m=i+T|0;i=(T+2048-i>>12)*2598|0;T=F+r|0;F=(r+2048-F>>12)*2598|0;r=c[a+4>>2]|0;$=c[a+120>>2]|0;k=$+r|0;$=(r+2048-$>>12)*4052|0;r=c[a+56>>2]|0;o=c[a+68>>2]|0;H=o+r|0;o=(r+2048-o>>12)*601|0;r=o+$|0;o=($+2048-o>>12)*3920|0;$=H+k|0;H=(k+2048-H>>12)*3920|0;k=c[a+24>>2]|0;R=c[a+100>>2]|0;Z=R+k|0;R=(k+2048-R>>12)*3290|0;k=c[a+36>>2]|0;g=c[a+88>>2]|0;D=g+k|0;g=(k+2048-g>>12)*2440|0;k=g+R|0;g=(R+2048-g>>12)*1189|0;R=D+Z|0;D=(Z+2048-D>>12)*1189|0;Z=c[a+8>>2]|0;_=c[a+116>>2]|0;l=_+Z|0;_=(Z+2048-_>>12)*3973|0;Z=c[a+52>>2]|0;x=c[a+72>>2]|0;Y=x+Z|0;x=(Z+2048-x>>12)*995|0;Z=x+_|0;x=(_+2048-x>>12)*3612|0;_=Y+l|0;Y=(l+2048-Y>>12)*3612|0;l=c[a+20>>2]|0;S=c[a+104>>2]|0;ca=S+l|0;S=(l+2048-S>>12)*3513|0;l=c[a+40>>2]|0;h=c[a+84>>2]|0;E=h+l|0;h=(l+2048-h>>12)*2106|0;l=h+S|0;h=(S+2048-h>>12)*1931|0;S=E+ca|0;E=(ca+2048-E>>12)*1931|0;ca=X+aa|0;X=(aa+2048-X>>12)*4017|0;aa=T+ba|0;T=(ba+2048-T>>12)*799|0;ba=R+$|0;R=($+2048-R>>12)*3406|0;$=S+_|0;S=(_+2048-S>>12)*2276|0;_=Q+s|0;Q=(s+2048-Q>>12)*4017|0;s=m+q|0;m=(q+2048-m>>12)*799|0;q=k+r|0;k=(r+2048-k>>12)*3406|0;r=l+Z|0;l=(Z+2048-l>>12)*2276|0;Z=N+I|0;N=(I+2048-N>>12)*4017|0;I=F+G|0;F=(G+2048-F>>12)*799|0;G=D+H|0;D=(H+2048-D>>12)*3406|0;H=E+Y|0;E=(Y+2048-E>>12)*2276|0;Y=A+p|0;A=(p+2048-A>>12)*4017|0;p=i+n|0;i=(n+2048-i>>12)*799|0;n=g+o|0;g=(o+2048-g>>12)*3406|0;o=h+x|0;h=(x+2048-h>>12)*2276|0;x=$+ba|0;w=aa+ca+2048|0;c[e+480+(b<<2)>>2]=w+x>>12;c[d+(b<<2)>>2]=((w-x>>12)*2896|0)+2048>>12;x=s+_|0;w=r+q|0;a=w+x|0;c[e+448+(b<<2)>>2]=a+2048>>12;M=I+Z|0;L=H+G|0;B=L+M|0;c[e+416+(b<<2)>>2]=B+2048>>12;z=p+Y|0;t=o+n|0;y=t+z|0;a=(y<<1)-a|0;c[e+384+(b<<2)>>2]=a+2048>>12;W=T+X|0;V=S+R|0;U=V+W|0;c[e+352+(b<<2)>>2]=U+2048>>12;P=m+Q|0;O=l+k|0;j=O+P|0;a=(j<<1)-a|0;c[e+320+(b<<2)>>2]=a+2048>>12;K=F+N|0;J=E+D|0;C=J+K|0;B=(C<<1)-B|0;c[e+288+(b<<2)>>2]=B+2048>>12;v=i+A|0;u=h+g|0;f=u+v|0;y=(f<<1)-y|0;a=(y<<1)-a|0;c[e+256+(b<<2)>>2]=a+2048>>12;aa=(ca+2048-aa>>12)*3784|0;$=(ba+2048-$>>12)*1567|0;ba=$+aa|0;c[e+224+(b<<2)>>2]=ba+2048>>12;c[d+256+(b<<2)>>2]=2048-ba+((aa+2048-$>>12)*5792|0)>>12;s=(_+2048-s>>12)*3784|0;r=(q+2048-r>>12)*1567|0;q=r+s|0;a=(q<<1)-a|0;c[e+192+(b<<2)>>2]=a+2048>>12;I=(Z+2048-I>>12)*3784|0;H=(G+2048-H>>12)*1567|0;G=H+I|0;B=(G<<1)-B|0;c[e+160+(b<<2)>>2]=B+2048>>12;p=(Y+2048-p>>12)*3784|0;o=(n+2048-o>>12)*1567|0;n=o+p|0;y=(n<<1)-y|0;a=(y<<1)-a|0;c[e+128+(b<<2)>>2]=a+2048>>12;T=(X+2048-T>>12)*3784|0;S=(R+2048-S>>12)*1567|0;R=S+T|0;U=(R<<1)-U|0;c[e+96+(b<<2)>>2]=U+2048>>12;U=((W+2048-V>>12)*5792|0)-U|0;c[d+128+(b<<2)>>2]=U+2048>>12;c[d+384+(b<<2)>>2]=2048-U+(((T+2048-S>>12)*5792|0)-R<<1)>>12;m=(Q+2048-m>>12)*3784|0;l=(k+2048-l>>12)*1567|0;k=l+m|0;j=(k<<1)-j|0;a=(j<<1)-a|0;c[e+64+(b<<2)>>2]=a+2048>>12;j=((P+2048-O>>12)*5792|0)-j|0;F=(N+2048-F>>12)*3784|0;E=(D+2048-E>>12)*1567|0;D=E+F|0;C=(D<<1)-C|0;B=(C<<1)-B|0;c[e+32+(b<<2)>>2]=B+2048>>12;B=((M+2048-L>>12)*5792|0)-B|0;c[d+64+(b<<2)>>2]=B+2048>>12;C=((K+2048-J>>12)*5792|0)-C|0;B=(C<<1)-B|0;c[d+192+(b<<2)>>2]=B+2048>>12;B=(((I+2048-H>>12)*5792|0)-G<<1)-B|0;c[d+320+(b<<2)>>2]=B+2048>>12;c[d+448+(b<<2)>>2]=((((F+2048-E>>12)*5792|0)-D<<1)-C<<1)+2048-B>>12;i=(A+2048-i>>12)*3784|0;h=(g+2048-h>>12)*1567|0;g=h+i|0;f=(g<<1)-f|0;y=(f<<1)-y|0;t=((z+2048-t>>12)*5792|0)-y|0;a=(y<<1)-a|0;c[e+(b<<2)>>2]=a+2048>>12;a=((x+2048-w>>12)*5792|0)-a|0;c[d+32+(b<<2)>>2]=a+2048>>12;a=(t<<1)-a|0;c[d+96+(b<<2)>>2]=a+2048>>12;a=(j<<1)-a|0;c[d+160+(b<<2)>>2]=a+2048>>12;f=((v+2048-u>>12)*5792|0)-f|0;e=(f<<1)-t|0;a=(e<<1)-a|0;c[d+224+(b<<2)>>2]=a+2048>>12;a=(((s+2048-r>>12)*5792|0)-q<<1)-a|0;c[d+288+(b<<2)>>2]=a+2048>>12;e=(((p+2048-o>>12)*5792|0)-n<<1)-e|0;a=(e<<1)-a|0;c[d+352+(b<<2)>>2]=a+2048>>12;a=((((m+2048-l>>12)*5792|0)-k<<1)-j<<1)-a|0;c[d+416+(b<<2)>>2]=a+2048>>12;c[d+480+(b<<2)>>2]=(((((i+2048-h>>12)*5792|0)-g<<1)-f<<1)-e<<1)+2048-a>>12;return}function Hg(f,g,h,i,j,k){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;c[j>>2]=0;l=(h|0)!=0;t=(g|0)==1;c[k>>2]=l?(t?1:2):t?5:3;c[i>>2]=xg(f,l?8:9)|0;c[i+4>>2]=xg(f,c[k>>2]|0)|0;if(!l)if(!g)t=2;else{h=0;do{a[i+8+h>>0]=xg(f,4)|0;h=h+1|0}while((h|0)!=(g|0));t=2}else t=1;q=(g|0)==0;s=l?9:4;r=l?2:3;p=l^1;o=0;h=0;do{if(!q){n=0;do{l=i+10+(o*116|0)+(n*58|0)|0;b[l>>1]=xg(f,12)|0;m=i+10+(o*116|0)+(n*58|0)+2|0;b[m>>1]=xg(f,9)|0;b[i+10+(o*116|0)+(n*58|0)+4>>1]=xg(f,8)|0;b[i+10+(o*116|0)+(n*58|0)+6>>1]=xg(f,s)|0;c[j>>2]=(c[j>>2]|0)+(e[l>>1]|0);h=(h|0)==0&(e[m>>1]|0)>288?562:h;m=i+10+(o*116|0)+(n*58|0)+8|0;a[m>>0]=0;if(!(xg(f,1)|0)){a[i+10+(o*116|0)+(n*58|0)+9>>0]=0;a[i+10+(o*116|0)+(n*58|0)+10>>0]=xg(f,5)|0;a[i+10+(o*116|0)+(n*58|0)+11>>0]=xg(f,5)|0;a[i+10+(o*116|0)+(n*58|0)+12>>0]=xg(f,5)|0;a[i+10+(o*116|0)+(n*58|0)+16>>0]=xg(f,4)|0;a[i+10+(o*116|0)+(n*58|0)+17>>0]=xg(f,3)|0}else{u=xg(f,2)|0;k=u&255;l=i+10+(o*116|0)+(n*58|0)+9|0;a[l>>0]=k;h=(u&255|h|0)==0?563:h;if(k<<24>>24==2&p)h=((h|0)==0?(a[i+8+n>>0]|0)!=0:0)?564:h;k=i+10+(o*116|0)+(n*58|0)+16|0;a[k>>0]=7;a[i+10+(o*116|0)+(n*58|0)+17>>0]=36;if(!(xg(f,1)|0)){if((a[l>>0]|0)==2)a[k>>0]=8}else a[m>>0]=a[m>>0]|8;a[i+10+(o*116|0)+(n*58|0)+10>>0]=xg(f,5)|0;a[i+10+(o*116|0)+(n*58|0)+11>>0]=xg(f,5)|0;a[i+10+(o*116|0)+(n*58|0)+12>>0]=4;a[i+10+(o*116|0)+(n*58|0)+13>>0]=xg(f,3)|0;a[i+10+(o*116|0)+(n*58|0)+14>>0]=xg(f,3)|0;a[i+10+(o*116|0)+(n*58|0)+15>>0]=xg(f,3)|0}u=xg(f,r)|0;a[m>>0]=u|d[m>>0];n=n+1|0}while((n|0)!=(g|0))}o=o+1|0}while(o>>>0>>0);return h|0}function Ig(f,h,i,j){f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0;Bb=cc;cc=cc+7296|0;if((cc|0)>=(dc|0))w(7296);yb=Bb+2448|0;xb=Bb+2432|0;wb=Bb+2416|0;ub=Bb+2400|0;tb=Bb+2384|0;sb=Bb+2368|0;zb=Bb+2352|0;vb=Bb+2336|0;rb=Bb+2320|0;qb=Bb+16|0;pb=Bb;ib=Bb+7224|0;ob=Bb+7216|0;Ab=Bb+2608|0;mb=Bb+2464|0;kb=h+28|0;gb=c[kb>>2]|0;lb=(gb&16384|0)==0;k=c[h+20>>2]<<((lb^1)&1);k=(k>>>15&1)+(lb?-8:-5)+(k>>>7&15)|0;gb=2-(gb>>>12&1)|0;if(!gb){Ab=0;cc=Bb;return Ab|0}jb=(j|0)==0;hb=7512+(k*12|0)|0;lb=7512+(k*12|0)+8|0;eb=7512+(k*12|0)+4|0;Ga=i+184|0;cb=h+8|0;Ha=qb+4|0;Sa=qb+8|0;Va=qb+12|0;Wa=qb+16|0;Xa=qb+20|0;Ya=qb+24|0;Za=qb+28|0;_a=qb+32|0;$a=qb+36|0;Ia=qb+40|0;Ja=qb+44|0;Ka=qb+48|0;La=qb+52|0;Ma=qb+56|0;Na=qb+60|0;Oa=qb+64|0;Pa=qb+68|0;Qa=qb+72|0;Ra=qb+76|0;Ta=qb+80|0;Ua=qb+84|0;R=c[10234]|0;bb=h+4|0;T=ib+4|0;U=ib+8|0;db=h+9264|0;V=qb+2|0;fa=qb+4|0;qa=qb+6|0;Aa=qb+8|0;Ba=qb+10|0;Ca=qb+12|0;Da=qb+14|0;Ea=qb+16|0;Fa=qb+18|0;X=qb+20|0;Y=qb+22|0;Z=qb+24|0;_=qb+26|0;$=qb+28|0;aa=qb+30|0;ba=qb+32|0;ca=qb+34|0;da=qb+36|0;ea=qb+38|0;ga=qb+40|0;ha=qb+42|0;ia=qb+44|0;ja=qb+46|0;ka=qb+48|0;la=qb+50|0;ma=qb+52|0;na=qb+54|0;oa=qb+56|0;pa=qb+58|0;ra=qb+60|0;sa=qb+62|0;ta=qb+64|0;ua=qb+66|0;va=qb+68|0;wa=qb+70|0;xa=qb+72|0;ya=qb+74|0;za=qb+76|0;S=Ab+2304|0;ab=0;a:while(1){P=i+10+(ab*116|0)|0;if(!jb){M=c[hb>>2]|0;O=(ab|0)==0;N=0;do{z=i+10+(ab*116|0)+(N*58|0)|0;k=ob+(N<<2)|0;c[k>>2]=M;A=i+10+(ab*116|0)+(N*58|0)+9|0;n=(a[A>>0]|0)==2;if(n){L=c[((a[i+10+(ab*116|0)+(N*58|0)+8>>0]&8)==0?eb:lb)>>2]|0;c[k>>2]=L;k=L}else k=M;if(!(c[kb>>2]&4096)){if(O)m=0;else m=d[i+8+N>>0]|0;L=f;o=c[L+4>>2]|0;p=qb;c[p>>2]=c[L>>2];c[p+4>>2]=o;p=e[i+10+(ab*116|0)+(N*58|0)+6>>1]|0;o=d[51205+(p<<1)>>0]|0;p=d[51205+(p<<1)+1>>0]|0;if(n){l=18-((d[i+10+(ab*116|0)+(N*58|0)+8>>0]|0)>>>3&1)|0;m=l;n=0;while(1){m=m+-1|0;a[i+10+(ab*116|0)+(N*58|0)+18+n>>0]=xg(f,o)|0;if(!m)break;else n=n+1|0}a[i+10+(ab*116|0)+(N*58|0)+18+l>>0]=xg(f,p)|0;a[l+1+(i+10+(ab*116|0)+(N*58|0)+18)>>0]=xg(f,p)|0;a[l+2+(i+10+(ab*116|0)+(N*58|0)+18)>>0]=xg(f,p)|0;K=l|4;a[l+3+(i+10+(ab*116|0)+(N*58|0)+18)>>0]=xg(f,p)|0;a[i+10+(ab*116|0)+(N*58|0)+18+K>>0]=xg(f,p)|0;a[K+1+(i+10+(ab*116|0)+(N*58|0)+18)>>0]=xg(f,p)|0;a[K+2+(i+10+(ab*116|0)+(N*58|0)+18)>>0]=xg(f,p)|0;a[K+3+(i+10+(ab*116|0)+(N*58|0)+18)>>0]=xg(f,p)|0;a[K+4+(i+10+(ab*116|0)+(N*58|0)+18)>>0]=xg(f,p)|0;a[K+5+(i+10+(ab*116|0)+(N*58|0)+18)>>0]=xg(f,p)|0;a[K+6+(i+10+(ab*116|0)+(N*58|0)+18)>>0]=xg(f,p)|0;L=l|12;a[K+7+(i+10+(ab*116|0)+(N*58|0)+18)>>0]=xg(f,p)|0;a[i+10+(ab*116|0)+(N*58|0)+18+L>>0]=xg(f,p)|0;a[L+1+(i+10+(ab*116|0)+(N*58|0)+18)>>0]=xg(f,p)|0;a[L+2+(i+10+(ab*116|0)+(N*58|0)+18)>>0]=xg(f,p)|0;a[L+3+(i+10+(ab*116|0)+(N*58|0)+18)>>0]=xg(f,p)|0;a[L+4+(i+10+(ab*116|0)+(N*58|0)+18)>>0]=xg(f,p)|0;a[L+5+(i+10+(ab*116|0)+(N*58|0)+18)>>0]=xg(f,p)|0;L=z+(l|36)|0;a[L>>0]=0;a[L+1>>0]=0;a[L+2>>0]=0}else{if(!(m&8)){a[i+10+(ab*116|0)+(N*58|0)+18>>0]=xg(f,o)|0;a[i+10+(ab*116|0)+(N*58|0)+19>>0]=xg(f,o)|0;a[i+10+(ab*116|0)+(N*58|0)+20>>0]=xg(f,o)|0;a[i+10+(ab*116|0)+(N*58|0)+21>>0]=xg(f,o)|0;a[i+10+(ab*116|0)+(N*58|0)+22>>0]=xg(f,o)|0;l=(xg(f,o)|0)&255}else{a[i+10+(ab*116|0)+(N*58|0)+18>>0]=a[i+10+(N*58|0)+18>>0]|0;a[i+10+(ab*116|0)+(N*58|0)+19>>0]=a[i+10+(N*58|0)+19>>0]|0;a[i+10+(ab*116|0)+(N*58|0)+20>>0]=a[i+10+(N*58|0)+20>>0]|0;a[i+10+(ab*116|0)+(N*58|0)+21>>0]=a[i+10+(N*58|0)+21>>0]|0;a[i+10+(ab*116|0)+(N*58|0)+22>>0]=a[i+10+(N*58|0)+22>>0]|0;l=a[i+10+(N*58|0)+23>>0]|0}a[i+10+(ab*116|0)+(N*58|0)+23>>0]=l;if(!(m&4)){a[i+10+(ab*116|0)+(N*58|0)+24>>0]=xg(f,o)|0;a[i+10+(ab*116|0)+(N*58|0)+25>>0]=xg(f,o)|0;a[i+10+(ab*116|0)+(N*58|0)+26>>0]=xg(f,o)|0;a[i+10+(ab*116|0)+(N*58|0)+27>>0]=xg(f,o)|0;l=(xg(f,o)|0)&255}else{a[i+10+(ab*116|0)+(N*58|0)+24>>0]=a[i+10+(N*58|0)+24>>0]|0;a[i+10+(ab*116|0)+(N*58|0)+25>>0]=a[i+10+(N*58|0)+25>>0]|0;a[i+10+(ab*116|0)+(N*58|0)+26>>0]=a[i+10+(N*58|0)+26>>0]|0;a[i+10+(ab*116|0)+(N*58|0)+27>>0]=a[i+10+(N*58|0)+27>>0]|0;l=a[i+10+(N*58|0)+28>>0]|0}a[i+10+(ab*116|0)+(N*58|0)+28>>0]=l;if(!(m&2)){a[i+10+(ab*116|0)+(N*58|0)+29>>0]=xg(f,p)|0;a[i+10+(ab*116|0)+(N*58|0)+30>>0]=xg(f,p)|0;a[i+10+(ab*116|0)+(N*58|0)+31>>0]=xg(f,p)|0;a[i+10+(ab*116|0)+(N*58|0)+32>>0]=xg(f,p)|0;l=(xg(f,p)|0)&255}else{a[i+10+(ab*116|0)+(N*58|0)+29>>0]=a[i+10+(N*58|0)+29>>0]|0;a[i+10+(ab*116|0)+(N*58|0)+30>>0]=a[i+10+(N*58|0)+30>>0]|0;a[i+10+(ab*116|0)+(N*58|0)+31>>0]=a[i+10+(N*58|0)+31>>0]|0;a[i+10+(ab*116|0)+(N*58|0)+32>>0]=a[i+10+(N*58|0)+32>>0]|0;l=a[i+10+(N*58|0)+33>>0]|0}a[i+10+(ab*116|0)+(N*58|0)+33>>0]=l;if(!(m&1)){a[i+10+(ab*116|0)+(N*58|0)+34>>0]=xg(f,p)|0;a[i+10+(ab*116|0)+(N*58|0)+35>>0]=xg(f,p)|0;a[i+10+(ab*116|0)+(N*58|0)+36>>0]=xg(f,p)|0;a[i+10+(ab*116|0)+(N*58|0)+37>>0]=xg(f,p)|0;l=(xg(f,p)|0)&255}else{a[i+10+(ab*116|0)+(N*58|0)+34>>0]=a[i+10+(N*58|0)+34>>0]|0;a[i+10+(ab*116|0)+(N*58|0)+35>>0]=a[i+10+(N*58|0)+35>>0]|0;a[i+10+(ab*116|0)+(N*58|0)+36>>0]=a[i+10+(N*58|0)+36>>0]|0;a[i+10+(ab*116|0)+(N*58|0)+37>>0]=a[i+10+(N*58|0)+37>>0]|0;l=a[i+10+(N*58|0)+38>>0]|0}a[i+10+(ab*116|0)+(N*58|0)+38>>0]=l;a[i+10+(ab*116|0)+(N*58|0)+39>>0]=0}l=ug(qb,f)|0}else{u=(N|0)==0?0:Ga;l=c[cb>>2]|0;L=f;p=c[L+4>>2]|0;m=qb;c[m>>2]=c[L>>2];c[m+4>>2]=p;m=b[i+10+(ab*116|0)+(N*58|0)+6>>1]|0;p=m&65535;if(n)x=((d[i+10+(ab*116|0)+(N*58|0)+8>>0]|0)>>>3&1)+1&255;else x=0;if((u|0)!=0&(l&1|0)!=0){l=p>>>1;do if((m&65535)>=360)if((m&65535)<488){s=l+-180|0;t=4;m=s>>>4&3;q=s>>>2&3;s=s&3;break}else{s=l+-244|0;q=(s>>>0)/3|0;t=5;m=q;q=s-(q*3|0)|0;s=0;break}else{L=(l>>>0)%36|0;s=(L>>>0)/6|0;t=3;m=(p>>>0)/72|0;q=s;s=L-(s*6|0)|0}while(0);n=51133+(t*12|0)+(x<<2)|0;p=(1<>0]|0))l=0;else{o=0;while(1){L=xg(f,m)|0;a[i+10+(ab*116|0)+(N*58|0)+18+o>>0]=L;l=o+1|0;a[u+18+o>>0]=(L|0)==(p|0)&1;if(l>>>0<(d[n>>0]|0)>>>0)o=l;else break}}p=(1<>0]|0){o=0;m=l;while(1){L=xg(f,q)|0;a[i+10+(ab*116|0)+(N*58|0)+18+m>>0]=L;l=m+1|0;a[u+18+m>>0]=(L|0)==(p|0)&1;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}p=(1<>0]|0){o=0;m=l;while(1){L=xg(f,s)|0;a[i+10+(ab*116|0)+(N*58|0)+18+m>>0]=L;l=m+1|0;a[u+18+m>>0]=(L|0)==(p|0)&1;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}n=51133+(t*12|0)+(x<<2)+3|0;if(a[n>>0]|0){o=0;m=l;while(1){L=xg(f,0)|0;a[i+10+(ab*116|0)+(N*58|0)+18+m>>0]=L;l=m+1|0;a[u+18+m>>0]=(L|0)==0&1;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}if(l>>>0<39)do{a[i+10+(ab*116|0)+(N*58|0)+18+l>>0]=0;a[u+18+l>>0]=0;l=l+1|0}while((l|0)!=39)}else{do if((m&65535)>=400)if((m&65535)<500){q=p+-400|0;t=1;o=(q>>>0)/20|0;q=(q>>>2>>>0)%5|0;s=m&3;p=0;break}else{s=p+-500|0;q=(s>>>0)/3|0;t=i+10+(ab*116|0)+(N*58|0)+8|0;a[t>>0]=a[t>>0]|4;t=2;o=q;q=s-(q*3|0)|0;s=0;p=0;break}else{t=0;o=(p>>>0)/80|0;q=(p>>>4>>>0)%5|0;s=p>>>2&3;p=p&3}while(0);m=51133+(t*12|0)+(x<<2)|0;if(!(a[m>>0]|0))l=0;else{n=0;while(1){l=n+1|0;a[i+10+(ab*116|0)+(N*58|0)+18+n>>0]=xg(f,o)|0;if(l>>>0<(d[m>>0]|0)>>>0)n=l;else break}}n=51133+(t*12|0)+(x<<2)+1|0;if(a[n>>0]|0){o=0;m=l;while(1){l=m+1|0;a[i+10+(ab*116|0)+(N*58|0)+18+m>>0]=xg(f,q)|0;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}n=51133+(t*12|0)+(x<<2)+2|0;if(a[n>>0]|0){o=0;m=l;while(1){l=m+1|0;a[i+10+(ab*116|0)+(N*58|0)+18+m>>0]=xg(f,s)|0;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}n=51133+(t*12|0)+(x<<2)+3|0;if(a[n>>0]|0){o=0;m=l;while(1){l=m+1|0;a[i+10+(ab*116|0)+(N*58|0)+18+m>>0]=xg(f,p)|0;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}if(l>>>0<39)rj(z+(l+18)|0,0,39-l|0)|0}l=ug(qb,f)|0}y=Ab+(N*2304|0)|0;m=(e[z>>1]|0)-l|0;if((m|0)<0){nb=566;break a}s=(e[i+10+(ab*116|0)+(N*58|0)+4>>1]|0)+-210|0;L=i+10+(ab*116|0)+(N*58|0)+8|0;n=d[L>>0]|0;t=(n>>>1&1)+1|0;do if((a[A>>0]|0)==2){if(!(n&8)){l=0;n=0}else{o=n<<29>>31;l=0;n=0;while(1){c[qb+(n<<2)>>2]=s-((o&d[51237+n>>0])+(d[i+10+(ab*116|0)+(N*58|0)+18+n>>0]|0)<>0]|0)|0;if(l>>>0<36)n=p;else{n=p;break}}}p=s-(d[i+10+(ab*116|0)+(N*58|0)+13>>0]<<3)|0;q=s-(d[i+10+(ab*116|0)+(N*58|0)+14>>0]<<3)|0;o=s-(d[i+10+(ab*116|0)+(N*58|0)+15>>0]<<3)|0;if(l>>>0<576)while(1){c[qb+(n<<2)>>2]=p-(d[i+10+(ab*116|0)+(N*58|0)+18+n>>0]<>2]=q-(d[i+10+(ab*116|0)+(N*58|0)+18+K>>0]<>2]=o-(d[i+10+(ab*116|0)+(N*58|0)+18+K>>0]<>0]|0)*3|0)+l|0;if(l>>>0>=576)break;else n=n+3|0}}else{c[qb>>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+18>>0]<>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+19>>0]<>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+20>>0]<>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+21>>0]<>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+22>>0]<>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+23>>0]<>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+24>>0]<>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+25>>0]<>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+26>>0]<>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+27>>0]<>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+28>>0]<>0]|0;if(!(n&4)){c[Ja>>2]=s-(l<>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+30>>0]<>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+31>>0]<>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+32>>0]<>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+33>>0]<>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+34>>0]<>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+35>>0]<>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+36>>0]<>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+37>>0]<>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+38>>0]<>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+39>>0]<>2]=s-(l+1<>2]=s-((d[i+10+(ab*116|0)+(N*58|0)+30>>0]|0)+1<>2]=s-((d[i+10+(ab*116|0)+(N*58|0)+31>>0]|0)+1<>2]=s-((d[i+10+(ab*116|0)+(N*58|0)+32>>0]|0)+1<>2]=s-((d[i+10+(ab*116|0)+(N*58|0)+33>>0]|0)+2<>2]=s-((d[i+10+(ab*116|0)+(N*58|0)+34>>0]|0)+2<>2]=s-((d[i+10+(ab*116|0)+(N*58|0)+35>>0]|0)+3<>2]=s-((d[i+10+(ab*116|0)+(N*58|0)+36>>0]|0)+3<>2]=s-((d[i+10+(ab*116|0)+(N*58|0)+37>>0]|0)+3<>2]=s-((d[i+10+(ab*116|0)+(N*58|0)+38>>0]|0)+2<>2]=s-(d[i+10+(ab*116|0)+(N*58|0)+39>>0]<>2]|0;o=c[o+4>>2]|0;t=pb;c[t>>2]=n;c[t+4>>2]=o;wg(f,m);o=nj(n|0,o|0,48)|0;v()|0;o=(31-o&-8)+o|0;n=xg(pb,o)|0;t=d[i+10+(ab*116|0)+(N*58|0)+10>>0]|0;q=c[5080+(t<<3)>>2]|0;if(!q){Q=165;break a}s=Ab+(N*2304|0)+(d[k>>0]<<2)|0;z=k+1|0;l=m-o|0;p=c[qb>>2]|0;k=b[i+10+(ab*116|0)+(N*58|0)+2>>1]|0;if((m|0)>0&k<<16>>16!=0){K=i+10+(ab*116|0)+(N*58|0)+17|0;J=k&65535;C=p;u=Ha;A=e[5080+(t<<3)+4>>1]|0;x=(d[i+10+(ab*116|0)+(N*58|0)+16>>0]|0)+1|0;m=0;B=0;p=e[5080+(t<<3)+6>>1]|0;I=0;G=y;while(1){J=J+-1|0;if((G|0)==(s|0)){y=z+1|0;s=G+(d[z>>0]<<2)|0;k=x+-1|0;if(!k){if(!m)k=(d[K>>0]|0)+1|0;else k=0;m=m+1|0;p=d[i+10+(ab*116|0)+(N*58|0)+10+m>>0]|0;q=c[5080+(p<<3)>>2]|0;if(!q){Q=165;break a}else{t=e[5080+(p<<3)+4>>1]|0;p=e[5080+(p<<3)+6>>1]|0}}else t=A;z=c[u>>2]|0;H=z;u=u+4|0;A=t;F=k;E=m;t=(C|0)==(z|0)?B:0;z=y;D=p}else{H=C;F=x;E=m;t=B;D=p}k=31-o&-8;if((o|0)<21){n=xg(pb,k)|0|n<>>(o-D|0)&(1<>0]&1)){m=D;do{o=o-m|0;k=b[q+(k<<1)>>1]|0;m=(k&65535)>>>1&7;k=(n>>>(o-m|0)&(1<>>4&65535)|0}while(!(a[q+(k<<1)>>0]&1))}B=q+(k<<1)|0;m=b[B>>1]|0;o=o-((m&65535)>>>1&7)|0;m=(m&65535)>>>4;k=m&15;x=k&65535;b:do if(!A){if(!(k<<16>>16)){m=t;k=0}else{k=1<>2]|0;m=k&134217727;k=(k>>>27)+((H|0)/4|0)|0;do if((k|0)>=0)if((k|0)>4){g[tb>>3]=+(m|0)*3.725290298461914e-09;c[tb+8>>2]=k;Hh(R,51259,tb)|0;k=2147483647;break}else{k=m<>>0>31?0:(1<<~k)+m>>C}while(0);if(p)k=r((c[40448+(p+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;c[ib+(x<<2)>>2]=k;m=t}else{m=t;k=c[ib+(x<<2)>>2]|0}C=o+-1|0;o=C;k=(1<>2]=k;C=(e[B>>1]|0)>>>8&15;x=C&65535;if(!(C<<16>>16)){y=n;k=0;t=m}else{k=1<>2]|0;m=C&134217727;k=(C>>>27)+k|0;do if((k|0)>=0)if((k|0)>4){g[ub>>3]=+(m|0)*3.725290298461914e-09;c[ub+8>>2]=k;Hh(R,51259,ub)|0;k=2147483647;break}else{k=m<>>0>31?0:(1<<~k)+m>>C}while(0);if(p)k=r((c[40448+(p+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;c[ib+(x<<2)>>2]=k;m=t}else k=c[ib+(x<<2)>>2]|0;t=o+-1|0;y=n;o=t;k=(1<>>0<(A+2|0)>>>0){n=xg(pb,16)|0|n<<16;l=l+-16|0;o=o+16|0}o=o-A|0;p=(H|0)%4|0;k=c[7620+((n>>>o&(1<>2]|0;m=k&134217727;k=(k>>>27)+((H|0)/4|0)|0;do if((k|0)>=0)if((k|0)>4){g[rb>>3]=+(m|0)*3.725290298461914e-09;c[rb+8>>2]=k;Hh(R,51259,rb)|0;k=2147483647;break}else{k=m<>>0>31?0:(1<<~k)+m>>Q}while(0);if(!p){Q=118;break c}k=r((c[40448+(p+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;Q=118;break}default:{k=1<>2]|0;Q=118;break c}t=k|t;p=(H|0)%4|0;k=c[7620+(x<<2)>>2]|0;m=k&134217727;k=(k>>>27)+((H|0)/4|0)|0;do if((k|0)>=0)if((k|0)>4){g[vb>>3]=+(m|0)*3.725290298461914e-09;c[vb+8>>2]=k;Hh(R,51259,vb)|0;k=2147483647;break}else{k=m<>>0>31?0:(1<<~k)+m>>Q}while(0);if(p)k=r((c[40448+(p+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;c[ib+(x<<2)>>2]=k;Q=118}}while(0);if((Q|0)==118){Q=0;C=o+-1|0;y=n;o=C;k=(1<>2]=k;C=(e[B>>1]|0)>>>8;x=C&15;d:do switch(C&15){case 0:{k=0;break b}case 15:{if(o>>>0<(A+1|0)>>>0){n=xg(pb,16)|0|y<<16;l=l+-16|0;o=o+16|0}else n=y;o=o-A|0;p=(H|0)%4|0;k=c[7620+((n>>>o&(1<>2]|0;m=k&134217727;k=(k>>>27)+((H|0)/4|0)|0;do if((k|0)>=0)if((k|0)>4){g[zb>>3]=+(m|0)*3.725290298461914e-09;c[zb+8>>2]=k;Hh(R,51259,zb)|0;k=2147483647;break}else{k=m<>>0>31?0:(1<<~k)+m>>C}while(0);if(!p)break d;k=r((c[40448+(p+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;break}default:{k=1<>2]|0;break d}t=k|t;n=(H|0)%4|0;k=c[7620+(x<<2)>>2]|0;m=k&134217727;k=(k>>>27)+((H|0)/4|0)|0;do if((k|0)>=0)if((k|0)>4){g[sb>>3]=+(m|0)*3.725290298461914e-09;c[sb+8>>2]=k;Hh(R,51259,sb)|0;k=2147483647;break}else{k=m<>>0>31?0:(1<<~k)+m>>C}while(0);if(n)k=r((c[40448+(n+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;c[ib+(x<<2)>>2]=k;n=y}}while(0);C=o+-1|0;y=n;o=C;k=(1<>2]=k;k=I+2|0;m=o+l|0;if(!((J|0)!=0&(m|0)>0)){x=o;t=H;q=z;break}else{n=y;C=H;x=F;m=E;B=t;p=D;I=k;G=Ab+(N*2304|0)+(k<<2)|0}}}else{y=n;x=o;t=p;u=Ha;q=z;k=0}if((m|0)<0){nb=568;break a}C=c[5072+((a[L>>0]&1)<<2)>>2]|0;o=(t|0)/4|0;p=t-(o<<2)|0;n=o+2|0;do if((t|0)>=-11)if((t|0)>11){g[wb>>3]=.25;c[wb+8>>2]=n;Hh(R,51259,wb)|0;n=2147483647;break}else{n=67108864<>>0>31?0:(1<<-3-o)+67108864>>n}while(0);if(p)n=r((c[40448+(p+3<<2)>>2]|0)+32768>>16,n+2048>>12)|0;if((m|0)>0&k>>>0<573){m=y;y=q;while(1){A=Ab+(N*2304|0)+(k<<2)|0;if((x|0)<10){B=xg(pb,16)|0|m<<16;l=l+-16|0;m=x+16|0}else{B=m;m=x}q=m+-4|0;o=C+((B>>>q&15)<<1)|0;p=a[o>>0]|0;if(!(p&1)){p=b[o>>1]|0;o=(p&65535)>>>1&7;p=C+((B>>>(q-o|0)&(1<>>4&65535)<<1)|0;o=p;p=a[p>>0]|0;m=q}z=m-((p&255)>>>1&7)|0;if((A|0)==(s|0)){x=y+1|0;s=s+(d[y>>0]<<2)|0;q=c[u>>2]|0;do if((t|0)==(q|0))m=t;else{n=(q|0)/4|0;p=q-(n<<2)|0;m=n+2|0;do if((q|0)>=-11)if((q|0)>11){g[xb>>3]=.25;c[xb+8>>2]=m;Hh(R,51259,xb)|0;n=2147483647;break}else{n=67108864<>>0>31?0:(1<<-3-n)+67108864>>L}while(0);if(!p){m=q;break}m=q;n=r((c[40448+(p+3<<2)>>2]|0)+32768>>16,n+2048>>12)|0}while(0);p=a[o>>0]|0;t=m;u=u+4|0;q=x}else q=y;y=(p&16)==0;L=z+-1|0;m=0-n|0;z=y?z:L;c[A>>2]=y?0:(1<>0]&32)==0;y=z+-1|0;z=L?z:y;c[A+4>>2]=L?0:(1<>0]<<2)|0;q=c[u>>2]|0;do if((t|0)==(q|0))m=t;else{n=(q|0)/4|0;p=q-(n<<2)|0;m=n+2|0;do if((q|0)>=-11)if((q|0)>11){g[yb>>3]=.25;c[yb+8>>2]=m;Hh(R,51259,yb)|0;n=2147483647;break}else{n=67108864<>>0>31?0:(1<<-3-n)+67108864>>L}while(0);if(!p){m=q;break}m=q;n=r((c[40448+(p+3<<2)>>2]|0)+32768>>16,n+2048>>12)|0}while(0);t=m;u=u+4|0;p=n;q=x;m=0-n|0}else p=n;L=(a[o>>0]&64)==0;K=z+-1|0;x=L?z:K;c[y>>2]=L?0:(1<>0]|0)<0;L=x+-1|0;x=K?L:x;c[y+4>>2]=K?((1<>>0<573&(m|0)>0))break;else{m=B;n=p;y=q}}}if((l|0)<=-65){Q=202;break a}k=(m|0)<0?k+-4|0:k;if((k|0)<576)rj(Ab+(N*2304|0)+(k<<2)|0,0,((((k|0)==575?576:575)-k|0)>>>1<<3)+8|0)|0;N=N+1|0}while(N>>>0>>0)}if((c[bb>>2]|0)==2?(fb=c[cb>>2]|0,fb|0):0){x=c[ob>>2]|0;k=a[i+10+(ab*116|0)+9>>0]|0;if(k<<24>>24!=(a[i+10+(ab*116|0)+67>>0]|0)){Q=276;break}l=a[i+10+(ab*116|0)+66>>0]|0;if((l^a[i+10+(ab*116|0)+8>>0])&8){Q=276;break}O=fb&65535;b[qb>>1]=O;b[V>>1]=O;b[fa>>1]=O;b[qa>>1]=O;b[Aa>>1]=O;b[Ba>>1]=O;b[Ca>>1]=O;b[Da>>1]=O;b[Ea>>1]=O;b[Fa>>1]=O;b[X>>1]=O;b[Y>>1]=O;b[Z>>1]=O;b[_>>1]=O;b[$>>1]=O;b[aa>>1]=O;b[ba>>1]=O;b[ca>>1]=O;b[da>>1]=O;b[ea>>1]=O;b[ga>>1]=O;b[ha>>1]=O;b[ia>>1]=O;b[ja>>1]=O;b[ka>>1]=O;b[la>>1]=O;b[ma>>1]=O;b[na>>1]=O;b[oa>>1]=O;b[pa>>1]=O;b[ra>>1]=O;b[sa>>1]=O;b[ta>>1]=O;b[ua>>1]=O;b[va>>1]=O;b[wa>>1]=O;b[xa>>1]=O;b[ya>>1]=O;b[za>>1]=O;e:do if(fb&1|0){u=c[kb>>2]|0;c[kb>>2]=u|256;if(k<<24>>24==2){c[U>>2]=0;c[T>>2]=0;c[ib>>2]=0;if(l&8){o=0;l=0;p=S;k=0;do{Q=k;k=k+1|0;Q=a[x+Q>>0]|0;n=Q&255;f:do if(Q<<24>>24){m=0;do{if(c[p+(m<<2)>>2]|0){l=k;break f}m=m+1|0}while(m>>>0>>0)}while(0);p=p+(n<<2)|0;o=o+n|0}while(o>>>0<36);if(o>>>0<576){m=p;Q=220}else Q=228}else{o=0;l=0;m=S;k=0;Q=220}if((Q|0)==220){Q=0;q=0;s=k;t=0;while(1){O=a[x+s>>0]|0;s=s+1|0;p=O&255;g:do if(!(O<<24>>24))n=q;else{n=0;while(1){if(c[m+(n<<2)>>2]|0)break;n=n+1|0;if(n>>>0>=p>>>0){n=q;break g}}c[ib+(t<<2)>>2]=s;n=s}while(0);o=o+p|0;if(o>>>0>=576)break;else{q=n;m=m+(p<<2)|0;t=((t+1|0)>>>0)%3|0}}if(!n)Q=228;else{l=k;o=n}}if((Q|0)==228){Q=0;o=0}if(l|0){m=fb&65534;n=0;do{b[qb+(n<<1)>>1]=m;n=n+1|0}while((n|0)!=(l|0))}if(k>>>0>>0){m=fb&65534;l=0;while(1){if(k>>>0<(c[ib+(l<<2)>>2]|0)>>>0)b[qb+(k<<1)>>1]=m;k=k+1|0;if((k|0)==(o|0))break;else l=((l+1|0)>>>0)%3|0}}}else{k=0;o=0;p=S;q=0;while(1){O=a[x+q>>0]|0;q=q+1|0;n=O&255;h:do if(!(O<<24>>24))m=k;else{l=0;while(1){if(c[p+(l<<2)>>2]|0){m=q;break h}l=l+1|0;if(l>>>0>=n>>>0){m=k;break}}}while(0);o=o+n|0;if(o>>>0>=576)break;else{k=m;p=p+(n<<2)|0}}if(m|0){k=fb&65534;l=0;do{b[qb+(l<<1)>>1]=k;l=l+1|0}while((l|0)!=(m|0))}}if(!(u&4096)){p=0;q=0;while(1){k=a[x+q>>0]|0;o=k&255;l=qb+(q<<1)|0;m=b[l>>1]|0;do if(m&1|0){P=a[i+10+(ab*116|0)+76+q>>0]|0;n=P&255;if((P&255)>6){b[l>>1]=m&65534;break}if(k<<24>>24){m=(c[40596+(n<<2)>>2]|0)+32768>>16;l=(c[40596+(6-n<<2)>>2]|0)+32768>>16;k=0;do{P=k+p|0;N=Ab+(P<<2)|0;O=(c[N>>2]|0)+2048>>12;c[N>>2]=r(O,m)|0;c[Ab+2304+(P<<2)>>2]=r(O,l)|0;k=k+1|0}while((k|0)!=(o|0))}}while(0);p=p+o|0;if(p>>>0>=576)break e;else q=q+1|0}}n=b[i+10+(ab*116|0)+64>>1]&1;p=0;q=0;while(1){m=a[x+q>>0]|0;o=m&255;k=qb+(q<<1)|0;l=b[k>>1]|0;i:do if(l&1|0){if(a[P+192+q>>0]|0){b[k>>1]=l&65534;break}k=a[i+10+(ab*116|0)+76+q>>0]|0;l=k&255;if(m<<24>>24){if(!(k<<24>>24)){k=0;while(1){O=k+p|0;c[Ab+2304+(O<<2)>>2]=c[Ab+(O<<2)>>2];k=k+1|0;if((k|0)==(o|0))break i}}m=(c[40476+(n*60|0)+((l+-1|0)>>>1<<2)>>2]|0)+32768>>16;if(!(l&1)){k=0;do{O=k+p|0;c[Ab+2304+(O<<2)>>2]=r((c[Ab+(O<<2)>>2]|0)+2048>>12,m)|0;k=k+1|0}while((k|0)!=(o|0))}else{k=0;do{O=k+p|0;M=Ab+(O<<2)|0;N=c[M>>2]|0;c[M>>2]=r(N+2048>>12,m)|0;c[Ab+2304+(O<<2)>>2]=N;k=k+1|0}while((k|0)!=(o|0))}}}while(0);p=p+o|0;if(p>>>0>=576)break;else q=q+1|0}}while(0);if(fb&2|0){c[kb>>2]=c[kb>>2]|512;m=0;n=0;while(1){P=a[x+n>>0]|0;k=P&255;if(P<<24>>24?(b[qb+(n<<1)>>1]|0)==2:0){l=0;do{P=l+m|0;M=Ab+(P<<2)|0;P=Ab+2304+(P<<2)|0;O=c[P>>2]|0;N=(c[M>>2]|0)+2048|0;c[M>>2]=(N+O>>12)*2896;c[P>>2]=(N-O>>12)*2896;l=l+1|0}while((l|0)!=(k|0))}m=m+k|0;if(m>>>0>=576)break;else n=n+1|0}}}if(!jb){B=ab*18|0;A=0;do{z=h+48+(A*4608|0)+(B<<7)|0;y=i+10+(ab*116|0)+(A*58|0)+9|0;x=Ab+(A*2304|0)|0;if((a[y>>0]|0)==2){k=c[ob+(A<<2)>>2]|0;u=(a[i+10+(ab*116|0)+(A*58|0)+8>>0]&8)==0;if(u)t=0;else{m=0;while(1){l=k+1|0;m=m+(d[k>>0]|0)|0;if(m>>>0>=36){t=2;k=l;break}else k=l}};c[pb>>2]=0;c[pb+4>>2]=0;c[pb+8>>2]=0;c[ib>>2]=t;c[T>>2]=t;c[U>>2]=t;s=t*18|0;m=d[k>>0]|0;q=s;k=k+1|0;l=0;while(1){if(!m){p=d[k>>0]|0;k=k+1|0;l=((l+1|0)>>>0)%3|0}else p=m;O=c[Ab+(A*2304|0)+(q<<2)>>2]|0;n=ib+(l<<2)|0;m=c[n>>2]|0;o=pb+(l<<2)|0;P=c[o>>2]|0;Q=P+1|0;c[o>>2]=Q;c[qb+(m*72|0)+(l*24|0)+(P<<2)>>2]=O;if((Q|0)==6){c[o>>2]=0;c[n>>2]=m+1}q=q+1|0;if((q|0)==576)break;else m=p+-1|0}pj(Ab+(A*2304|0)+(s<<2)|0,qb+(t*72|0)|0,(r(t,-72)|0)+2304|0)|0;if(!u)Jg(x,36)}else Jg(x,576);k=a[y>>0]|0;l=a[i+10+(ab*116|0)+(A*58|0)+8>>0]&8;if(k<<24>>24==2&l<<24>>24==0){Mg(x,mb);Lg(mb,(c[db>>2]|0)+(A*2304|0)|0,z,0);Mg(Ab+(A*2304|0)+72|0,mb);Lg(mb,(c[db>>2]|0)+(A*2304|0)+72|0,z,1)}else{Q=l<<24>>24==0?k&255:0;Kg(x,mb,Q);Lg(mb,(c[db>>2]|0)+(A*2304|0)|0,z,0);Kg(Ab+(A*2304|0)+72|0,mb,Q);Lg(mb,(c[db>>2]|0)+(A*2304|0)+72|0,z,1)}l=z+132|0;P=z+388|0;O=c[P>>2]|0;c[l>>2]=0-(c[l>>2]|0);l=z+644|0;Q=c[l>>2]|0;c[P>>2]=0-O;P=z+900|0;O=c[P>>2]|0;c[l>>2]=0-Q;l=z+1156|0;Q=c[l>>2]|0;c[P>>2]=0-O;P=z+1412|0;O=c[P>>2]|0;c[l>>2]=0-Q;l=z+1668|0;Q=c[l>>2]|0;c[P>>2]=0-O;P=z+1924|0;O=c[P>>2]|0;c[l>>2]=0-Q;l=z+2180|0;Q=c[l>>2]|0;c[P>>2]=0-O;c[l>>2]=0-Q;l=576;while(1){k=l;l=l+-1|0;if(c[Ab+(A*2304|0)+(l<<2)>>2]|0)break;if(l>>>0<=36){k=36;break}}u=32-(((576-k|0)>>>0)/18|0)|0;k=a[y>>0]|0;l=u>>>0>2;j:do if(k<<24>>24==2)if(l){k=36;l=2;while(1){Mg(Ab+(A*2304|0)+(k<<2)|0,mb);Lg(mb,(c[db>>2]|0)+(A*2304|0)+(l*72|0)|0,z,l);if(l&1|0){Q=z+128+(l<<2)|0;O=z+384+(l<<2)|0;N=c[O>>2]|0;c[Q>>2]=0-(c[Q>>2]|0);Q=z+640+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-N;O=z+896+(l<<2)|0;N=c[O>>2]|0;c[Q>>2]=0-P;Q=z+1152+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-N;O=z+1408+(l<<2)|0;N=c[O>>2]|0;c[Q>>2]=0-P;Q=z+1664+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-N;O=z+1920+(l<<2)|0;N=c[O>>2]|0;c[Q>>2]=0-P;Q=z+2176+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-N;c[Q>>2]=0-P}l=l+1|0;if(l>>>0>=u>>>0){Q=311;break}else k=k+18|0}}else Q=312;else if(l){m=36;l=2;while(1){Kg(Ab+(A*2304|0)+(m<<2)|0,mb,k&255);Lg(mb,(c[db>>2]|0)+(A*2304|0)+(l*72|0)|0,z,l);if(l&1|0){Q=z+128+(l<<2)|0;O=z+384+(l<<2)|0;N=c[O>>2]|0;c[Q>>2]=0-(c[Q>>2]|0);Q=z+640+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-N;O=z+896+(l<<2)|0;N=c[O>>2]|0;c[Q>>2]=0-P;Q=z+1152+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-N;O=z+1408+(l<<2)|0;N=c[O>>2]|0;c[Q>>2]=0-P;Q=z+1664+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-N;O=z+1920+(l<<2)|0;N=c[O>>2]|0;c[Q>>2]=0-P;Q=z+2176+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-N;c[Q>>2]=0-P}l=l+1|0;if(l>>>0>=u>>>0){Q=311;break j}k=a[y>>0]|0;m=m+18|0}}else Q=312;while(0);if((Q|0)==311?(Q=0,u>>>0<32):0)Q=312;if((Q|0)==312){Q=0;x=c[db>>2]|0;do{P=x+(A*2304|0)+(u*72|0)|0;c[h+48+(A*4608|0)+(B<<7)+(u<<2)>>2]=c[P>>2];c[P>>2]=0;P=x+(A*2304|0)+(u*72|0)+4|0;k=z+128+(u<<2)|0;c[k>>2]=c[P>>2];c[P>>2]=0;P=x+(A*2304|0)+(u*72|0)+8|0;c[z+256+(u<<2)>>2]=c[P>>2];c[P>>2]=0;P=x+(A*2304|0)+(u*72|0)+12|0;p=z+384+(u<<2)|0;c[p>>2]=c[P>>2];c[P>>2]=0;P=x+(A*2304|0)+(u*72|0)+16|0;c[z+512+(u<<2)>>2]=c[P>>2];c[P>>2]=0;P=x+(A*2304|0)+(u*72|0)+20|0;q=z+640+(u<<2)|0;c[q>>2]=c[P>>2];c[P>>2]=0;P=x+(A*2304|0)+(u*72|0)+24|0;c[z+768+(u<<2)>>2]=c[P>>2];c[P>>2]=0;P=x+(A*2304|0)+(u*72|0)+28|0;s=z+896+(u<<2)|0;c[s>>2]=c[P>>2];c[P>>2]=0;P=x+(A*2304|0)+(u*72|0)+32|0;c[z+1024+(u<<2)>>2]=c[P>>2];c[P>>2]=0;P=x+(A*2304|0)+(u*72|0)+36|0;t=z+1152+(u<<2)|0;c[t>>2]=c[P>>2];c[P>>2]=0;P=x+(A*2304|0)+(u*72|0)+40|0;c[z+1280+(u<<2)>>2]=c[P>>2];c[P>>2]=0;P=x+(A*2304|0)+(u*72|0)+44|0;l=z+1408+(u<<2)|0;c[l>>2]=c[P>>2];c[P>>2]=0;P=x+(A*2304|0)+(u*72|0)+48|0;c[z+1536+(u<<2)>>2]=c[P>>2];c[P>>2]=0;P=x+(A*2304|0)+(u*72|0)+52|0;m=z+1664+(u<<2)|0;c[m>>2]=c[P>>2];c[P>>2]=0;P=x+(A*2304|0)+(u*72|0)+56|0;c[z+1792+(u<<2)>>2]=c[P>>2];c[P>>2]=0;P=x+(A*2304|0)+(u*72|0)+60|0;n=z+1920+(u<<2)|0;c[n>>2]=c[P>>2];c[P>>2]=0;P=x+(A*2304|0)+(u*72|0)+64|0;c[z+2048+(u<<2)>>2]=c[P>>2];c[P>>2]=0;P=x+(A*2304|0)+(u*72|0)+68|0;o=z+2176+(u<<2)|0;c[o>>2]=c[P>>2];c[P>>2]=0;if(u&1|0){O=c[p>>2]|0;c[k>>2]=0-(c[k>>2]|0);P=c[q>>2]|0;c[p>>2]=0-O;O=c[s>>2]|0;c[q>>2]=0-P;P=c[t>>2]|0;c[s>>2]=0-O;O=c[l>>2]|0;c[t>>2]=0-P;P=c[m>>2]|0;c[l>>2]=0-O;O=c[n>>2]|0;c[m>>2]=0-P;P=c[o>>2]|0;c[n>>2]=0-O;c[o>>2]=0-P}u=u+1|0}while(u>>>0<32)}A=A+1|0}while((A|0)!=(j|0))}ab=ab+1|0;if(ab>>>0>=gb>>>0){k=0;Q=318;break}}if((Q|0)==165)nb=567;else if((Q|0)==202)W(51292,51124,1253,51334);else if((Q|0)==276){Ab=569;cc=Bb;return Ab|0}else if((Q|0)==318){cc=Bb;return k|0}Ab=nb;cc=Bb;return Ab|0}function Jg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=a+(b<<2)|0;if((b|0)<=18)return;b=a+72|0;do{g=b+-4|0;e=c[b>>2]|0;f=(c[g>>2]|0)+2048>>12;c[g>>2]=(r(2048-e>>12,-2107)|0)+(f*3512|0);c[b>>2]=(r(f,-2107)|0)+((e+2048>>12)*3512|0);e=b+-8|0;f=b+4|0;g=c[f>>2]|0;a=(c[e>>2]|0)+2048>>12;c[e>>2]=(r(2048-g>>12,-1932)|0)+(a*3612|0);c[f>>2]=(r(a,-1932)|0)+((g+2048>>12)*3612|0);f=b+-12|0;g=b+8|0;a=c[g>>2]|0;e=(c[f>>2]|0)+2048>>12;c[f>>2]=(r(2048-a>>12,-1284)|0)+(e*3890|0);c[g>>2]=(r(e,-1284)|0)+((a+2048>>12)*3890|0);g=b+-16|0;a=b+12|0;e=c[a>>2]|0;f=(c[g>>2]|0)+2048>>12;c[g>>2]=(r(2048-e>>12,-745)|0)+(f*4028|0);c[a>>2]=(r(f,-745)|0)+((e+2048>>12)*4028|0);a=b+-20|0;e=b+16|0;f=c[e>>2]|0;g=(c[a>>2]|0)+2048>>12;c[a>>2]=(r(2048-f>>12,-387)|0)+(g*4078|0);c[e>>2]=(r(g,-387)|0)+((f+2048>>12)*4078|0);e=b+-24|0;f=b+20|0;g=c[f>>2]|0;a=(c[e>>2]|0)+2048>>12;c[e>>2]=(r(2048-g>>12,-168)|0)+(a*4093|0);c[f>>2]=(r(a,-168)|0)+((g+2048>>12)*4093|0);f=b+-28|0;g=b+24|0;a=c[g>>2]|0;e=(c[f>>2]|0)+2048|0;c[f>>2]=(r(2048-a>>12,-58)|0)+(e&-4096);c[g>>2]=(r(e>>12,-58)|0)+(a+2048&-4096);g=b+-32|0;a=b+28|0;e=c[a>>2]|0;f=(c[g>>2]|0)+2048|0;c[g>>2]=(r(2048-e>>12,-15)|0)+(f&-4096);c[a>>2]=(r(f>>12,-15)|0)+(e+2048&-4096);b=b+72|0}while(b>>>0>>0);return}function Kg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;o=((c[a>>2]|0)+2048>>12)*8184|0;g=((c[a+4>>2]|0)+2048>>12)*8122|0;O=((c[a+8>>2]|0)+2048>>12)*7998|0;Z=((c[a+12>>2]|0)+2048>>12)*7813|0;X=((c[a+16>>2]|0)+2048>>12)*7568|0;V=((c[a+20>>2]|0)+2048>>12)*7266|0;ca=((c[a+24>>2]|0)+2048>>12)*6909|0;M=((c[a+28>>2]|0)+2048>>12)*6499|0;Q=((c[a+32>>2]|0)+2048>>12)*6040|0;ba=((c[a+36>>2]|0)+2048>>12)*5534|0;P=((c[a+40>>2]|0)+2048>>12)*4987|0;f=((c[a+44>>2]|0)+2048>>12)*4402|0;A=((c[a+48>>2]|0)+2048>>12)*3783|0;R=((c[a+52>>2]|0)+2048>>12)*3135|0;m=((c[a+56>>2]|0)+2048>>12)*2463|0;u=((c[a+60>>2]|0)+2048>>12)*1773|0;N=((c[a+64>>2]|0)+2048>>12)*1069|0;W=((c[a+68>>2]|0)+2048>>12)*357|0;S=W+o|0;Y=N+g|0;e=u+O|0;a=m+Z|0;v=R+X|0;l=A+V|0;K=f+ca|0;_=P+M|0;L=ba+Q|0;$=a+l|0;l=a-l|0;a=e+K|0;e=K-e|0;K=Y+_|0;aa=S+L|0;S=L-S|0;L=a+$+aa|0;U=e+2048|0;n=r(U+l>>12,-5266)|0;l=l+2048|0;T=(l-S>>12)*8068|0;U=r(S+U>>12,-2802)|0;Y=r(2048-_+Y>>12,-7094)|0;_=r(a+2048-aa>>12,-7698)|0;$=$+2048|0;aa=r($-aa>>12,-1423)|0;a=r($-a>>12,-6275)|0;$=K+v|0;K=(v<<1)-K|0;W=(o+2048-W>>12)*8161|0;N=(g+2048-N>>12)*7913|0;u=(O+2048-u>>12)*7424|0;m=(Z+2048-m>>12)*6710|0;R=X+2048-R>>12;A=(V+2048-A>>12)*4699|0;f=(ca+2048-f>>12)*3462|0;P=(M+2048-P>>12)*2120|0;ba=(Q+2048-ba>>12)*714|0;Q=m+A|0;A=m-A|0;m=u+f|0;u=f-u|0;f=N+P|0;M=W+ba|0;W=ba-W|0;ba=m+Q+M|0;ca=u+2048|0;V=r(ca+A>>12,-5266)|0;A=A+2048|0;X=(A-W>>12)*8068|0;ca=r(W+ca>>12,-2802)|0;N=r(2048-P+N>>12,-7094)|0;P=r(m+2048-M>>12,-7698)|0;Q=Q+2048|0;M=r(Q-M>>12,-1423)|0;m=r(Q-m>>12,-6275)|0;Q=f+(R*5793|0)|0;f=(R*11586|0)-f|0;R=ba+Q|0;Z=V-N-R+X|0;O=m-f+P-Z|0;W=(r(A-u+W>>12,-7094)|0)-O|0;P=P+f-M-W|0;X=N-ca+X-P|0;Q=ba-(Q<<1)-X|0;ca=V+N+ca-Q|0;N=(L+$|0)/2|0;R=((R|0)/2|0)-N|0;V=((n-Y+T|0)/2|0)-R|0;Z=((Z|0)/2|0)-V|0;ba=((a-K+_|0)/2|0)-Z|0;O=((O|0)/2|0)-ba|0;S=(r(l-e+S>>12,-3547)|0)-O|0;W=((W|0)/2|0)-S|0;_=((_+K-aa|0)/2|0)-W|0;P=((P|0)/2|0)-_|0;T=((Y-U+T|0)/2|0)-P|0;X=((X|0)/2|0)-T|0;$=((L-($<<1)|0)/2|0)-X|0;Q=((Q|0)/2|0)-$|0;U=((n+Y+U|0)/2|0)-Q|0;Y=((ca|0)/2|0)-U|0;aa=((a+K+aa|0)/2|0)-Y|0;ca=((m+f+M-ca|0)/2|0)-aa|0;c[b>>2]=P;M=b+4|0;c[M>>2]=T;f=b+8|0;c[f>>2]=X;m=b+12|0;c[m>>2]=$;K=b+16|0;c[K>>2]=Q;a=b+20|0;c[a>>2]=U;n=b+24|0;c[n>>2]=Y;L=b+28|0;c[L>>2]=aa;e=b+32|0;c[e>>2]=ca;l=b+36|0;c[l>>2]=0-ca;u=b+40|0;c[u>>2]=0-aa;A=b+44|0;c[A>>2]=0-Y;g=b+48|0;c[g>>2]=0-U;o=b+52|0;c[o>>2]=0-Q;v=b+56|0;c[v>>2]=0-$;h=b+60|0;c[h>>2]=0-X;p=b+64|0;c[p>>2]=0-T;w=b+68|0;c[w>>2]=0-P;da=0-_|0;i=b+72|0;c[i>>2]=da;I=0-W|0;q=b+76|0;c[q>>2]=I;F=0-S|0;x=b+80|0;c[x>>2]=F;C=0-O|0;j=b+84|0;c[j>>2]=C;H=0-ba|0;s=b+88|0;c[s>>2]=H;E=0-Z|0;y=b+92|0;c[y>>2]=E;B=0-V|0;k=b+96|0;c[k>>2]=B;J=0-R|0;t=b+100|0;c[t>>2]=J;G=0-N|0;z=b+104|0;c[z>>2]=G;D=b+108|0;c[D>>2]=G;G=b+112|0;c[G>>2]=J;J=b+116|0;c[J>>2]=B;B=b+120|0;c[B>>2]=E;E=b+124|0;c[E>>2]=H;H=b+128|0;c[H>>2]=C;C=b+132|0;c[C>>2]=F;F=b+136|0;c[F>>2]=I;I=b+140|0;c[I>>2]=da;switch(d|0){case 0:{c[b>>2]=(P+2048>>12)*179;c[M>>2]=(T+2048>>12)*535;c[f>>2]=(X+2048>>12)*887;c[m>>2]=($+2048>>12)*1232;c[K>>2]=(Q+2048>>12)*1567;c[a>>2]=(U+2048>>12)*1891;c[n>>2]=(Y+2048>>12)*2201;c[L>>2]=(aa+2048>>12)*2493;c[e>>2]=(ca+2048>>12)*2767;c[l>>2]=(2048-ca>>12)*3020;c[u>>2]=(2048-aa>>12)*3250;c[A>>2]=(2048-Y>>12)*3455;c[g>>2]=(2048-U>>12)*3633;c[o>>2]=(2048-Q>>12)*3784;c[v>>2]=(2048-$>>12)*3906;c[h>>2]=(2048-X>>12)*3999;c[p>>2]=(2048-T>>12)*4061;c[w>>2]=(2048-P>>12)*4092;c[i>>2]=(2048-_>>12)*4092;c[q>>2]=(2048-W>>12)*4061;c[x>>2]=(2048-S>>12)*3999;c[j>>2]=(2048-O>>12)*3906;c[s>>2]=(2048-ba>>12)*3784;c[y>>2]=(2048-Z>>12)*3633;c[k>>2]=(2048-V>>12)*3455;c[t>>2]=((c[t>>2]|0)+2048>>12)*3250;c[z>>2]=((c[z>>2]|0)+2048>>12)*3020;c[D>>2]=((c[D>>2]|0)+2048>>12)*2767;c[G>>2]=((c[G>>2]|0)+2048>>12)*2493;c[J>>2]=((c[J>>2]|0)+2048>>12)*2201;c[B>>2]=((c[B>>2]|0)+2048>>12)*1891;c[E>>2]=((c[E>>2]|0)+2048>>12)*1567;c[H>>2]=((c[H>>2]|0)+2048>>12)*1232;c[C>>2]=((c[C>>2]|0)+2048>>12)*887;c[F>>2]=((c[F>>2]|0)+2048>>12)*535;c[I>>2]=((c[I>>2]|0)+2048>>12)*179;return}case 1:{c[b>>2]=(P+2048>>12)*179;c[M>>2]=(T+2048>>12)*535;c[f>>2]=(X+2048>>12)*887;c[m>>2]=($+2048>>12)*1232;c[K>>2]=(Q+2048>>12)*1567;c[a>>2]=(U+2048>>12)*1891;c[n>>2]=(Y+2048>>12)*2201;c[L>>2]=(aa+2048>>12)*2493;c[e>>2]=(ca+2048>>12)*2767;c[l>>2]=(2048-ca>>12)*3020;c[u>>2]=(2048-aa>>12)*3250;c[A>>2]=(2048-Y>>12)*3455;c[g>>2]=(2048-U>>12)*3633;c[o>>2]=(2048-Q>>12)*3784;c[v>>2]=(2048-$>>12)*3906;c[h>>2]=(2048-X>>12)*3999;c[p>>2]=(2048-T>>12)*4061;c[w>>2]=(2048-P>>12)*4092;da=2048-V>>12;c[k>>2]=da*4061;b=2048-R>>12;c[t>>2]=b*3784;d=2048-N>>12;c[z>>2]=d*3250;c[D>>2]=d*2493;c[G>>2]=b*1567;c[J>>2]=da*535;c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;c[B+12>>2]=0;c[B+16>>2]=0;c[B+20>>2]=0;return}case 3:{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[n>>2]=(Y+2048>>12)*535;c[L>>2]=(aa+2048>>12)*1567;c[e>>2]=(ca+2048>>12)*2493;c[l>>2]=(2048-ca>>12)*3250;c[u>>2]=(2048-aa>>12)*3784;c[A>>2]=(2048-Y>>12)*4061;da=2048-_>>12;c[i>>2]=da*4092;b=2048-W>>12;c[q>>2]=b*4061;d=2048-S>>12;c[x>>2]=d*3999;ca=2048-O>>12;c[j>>2]=ca*3906;ba=2048-ba>>12;c[s>>2]=ba*3784;aa=2048-Z>>12;c[y>>2]=aa*3633;$=2048-V>>12;c[k>>2]=$*3455;_=2048-R>>12;c[t>>2]=_*3250;Z=2048-N>>12;c[z>>2]=Z*3020;c[D>>2]=Z*2767;c[G>>2]=_*2493;c[J>>2]=$*2201;c[B>>2]=aa*1891;c[E>>2]=ba*1567;c[H>>2]=ca*1232;c[C>>2]=d*887;c[F>>2]=b*535;c[I>>2]=da*179;return}default:return}}function Lg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;c[d+(e<<2)>>2]=(c[b>>2]|0)+(c[a>>2]|0);c[b>>2]=c[a+72>>2];f=b+4|0;c[d+128+(e<<2)>>2]=(c[f>>2]|0)+(c[a+4>>2]|0);c[f>>2]=c[a+76>>2];f=b+8|0;c[d+256+(e<<2)>>2]=(c[f>>2]|0)+(c[a+8>>2]|0);c[f>>2]=c[a+80>>2];f=b+12|0;c[d+384+(e<<2)>>2]=(c[f>>2]|0)+(c[a+12>>2]|0);c[f>>2]=c[a+84>>2];f=b+16|0;c[d+512+(e<<2)>>2]=(c[f>>2]|0)+(c[a+16>>2]|0);c[f>>2]=c[a+88>>2];f=b+20|0;c[d+640+(e<<2)>>2]=(c[f>>2]|0)+(c[a+20>>2]|0);c[f>>2]=c[a+92>>2];f=b+24|0;c[d+768+(e<<2)>>2]=(c[f>>2]|0)+(c[a+24>>2]|0);c[f>>2]=c[a+96>>2];f=b+28|0;c[d+896+(e<<2)>>2]=(c[f>>2]|0)+(c[a+28>>2]|0);c[f>>2]=c[a+100>>2];f=b+32|0;c[d+1024+(e<<2)>>2]=(c[f>>2]|0)+(c[a+32>>2]|0);c[f>>2]=c[a+104>>2];f=b+36|0;c[d+1152+(e<<2)>>2]=(c[f>>2]|0)+(c[a+36>>2]|0);c[f>>2]=c[a+108>>2];f=b+40|0;c[d+1280+(e<<2)>>2]=(c[f>>2]|0)+(c[a+40>>2]|0);c[f>>2]=c[a+112>>2];f=b+44|0;c[d+1408+(e<<2)>>2]=(c[f>>2]|0)+(c[a+44>>2]|0);c[f>>2]=c[a+116>>2];f=b+48|0;c[d+1536+(e<<2)>>2]=(c[f>>2]|0)+(c[a+48>>2]|0);c[f>>2]=c[a+120>>2];f=b+52|0;c[d+1664+(e<<2)>>2]=(c[f>>2]|0)+(c[a+52>>2]|0);c[f>>2]=c[a+124>>2];f=b+56|0;c[d+1792+(e<<2)>>2]=(c[f>>2]|0)+(c[a+56>>2]|0);c[f>>2]=c[a+128>>2];f=b+60|0;c[d+1920+(e<<2)>>2]=(c[f>>2]|0)+(c[a+60>>2]|0);c[f>>2]=c[a+132>>2];f=b+64|0;c[d+2048+(e<<2)>>2]=(c[f>>2]|0)+(c[a+64>>2]|0);c[f>>2]=c[a+136>>2];b=b+68|0;c[d+2176+(e<<2)>>2]=(c[b>>2]|0)+(c[a+68>>2]|0);c[b>>2]=c[a+140>>2];return}function Mg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=cc;cc=cc+144|0;if((cc|0)>=(dc|0))w(144);e=d;n=(c[a>>2]|0)+2048>>12;l=(c[a+4>>2]|0)+2048>>12;j=r(l,-3784)|0;h=(c[a+8>>2]|0)+2048>>12;i=j+(n*2493|0)+(r(h,-535)|0)|0;g=(c[a+12>>2]|0)+2048>>12;k=(c[a+16>>2]|0)+2048>>12;f=r(k,-1567)|0;m=(c[a+20>>2]|0)+2048>>12;i=i+(g*4061|0)+f+(r(m,-3250)|0)|0;c[e>>2]=i;c[e+20>>2]=0-i;i=(l*1567|0)+(r(n,-3250)|0)+(h*4061|0)+(g*535|0)+(r(k,-3784)|0)+(r(m,-2493)|0)|0;c[e+24>>2]=i;c[e+44>>2]=i;i=j+(n*1567|0)+(h*3784|0)+(r(g,-1567)|0)+f+(m*3784|0)|0;c[e+4>>2]=i;c[e+16>>2]=0-i;l=r(l,-1567)|0;k=k*3784|0;i=l+(r(n,-3784)|0)+(h*1567|0)+(g*3784|0)+k+(m*1567|0)|0;c[e+28>>2]=i;c[e+40>>2]=i;k=l+(n*535|0)+(h*2493|0)+(r(g,-3250)|0)+k+(r(m,-4061)|0)|0;c[e+8>>2]=k;c[e+12>>2]=0-k;m=j+(r(n,-4061)|0)+(r(h,-3250)|0)+(r(g,-2493)|0)+f+(r(m,-535)|0)|0;c[e+32>>2]=m;c[e+36>>2]=m;m=(c[a+24>>2]|0)+2048>>12;f=(c[a+28>>2]|0)+2048>>12;g=r(f,-3784)|0;h=(c[a+32>>2]|0)+2048>>12;n=g+(m*2493|0)+(r(h,-535)|0)|0;j=(c[a+36>>2]|0)+2048>>12;k=(c[a+40>>2]|0)+2048>>12;l=r(k,-1567)|0;i=(c[a+44>>2]|0)+2048>>12;n=n+(j*4061|0)+l+(r(i,-3250)|0)|0;c[e+48>>2]=n;c[e+68>>2]=0-n;n=(f*1567|0)+(r(m,-3250)|0)+(h*4061|0)+(j*535|0)+(r(k,-3784)|0)+(r(i,-2493)|0)|0;c[e+72>>2]=n;c[e+92>>2]=n;n=g+(m*1567|0)+(h*3784|0)+(r(j,-1567)|0)+l+(i*3784|0)|0;c[e+52>>2]=n;c[e+64>>2]=0-n;f=r(f,-1567)|0;k=k*3784|0;n=f+(r(m,-3784)|0)+(h*1567|0)+(j*3784|0)+k+(i*1567|0)|0;c[e+76>>2]=n;c[e+88>>2]=n;k=f+(m*535|0)+(h*2493|0)+(r(j,-3250)|0)+k+(r(i,-4061)|0)|0;c[e+56>>2]=k;c[e+60>>2]=0-k;i=g+(r(m,-4061)|0)+(r(h,-3250)|0)+(r(j,-2493)|0)+l+(r(i,-535)|0)|0;c[e+80>>2]=i;c[e+84>>2]=i;i=(c[a+48>>2]|0)+2048>>12;l=(c[a+52>>2]|0)+2048>>12;j=r(l,-3784)|0;h=(c[a+56>>2]|0)+2048>>12;m=j+(i*2493|0)+(r(h,-535)|0)|0;g=(c[a+60>>2]|0)+2048>>12;k=(c[a+64>>2]|0)+2048>>12;f=r(k,-1567)|0;a=(c[a+68>>2]|0)+2048>>12;m=m+(g*4061|0)+f+(r(a,-3250)|0)|0;c[e+96>>2]=m;c[e+116>>2]=0-m;m=(l*1567|0)+(r(i,-3250)|0)+(h*4061|0)+(g*535|0)+(r(k,-3784)|0)+(r(a,-2493)|0)|0;c[e+120>>2]=m;c[e+140>>2]=m;m=j+(i*1567|0)+(h*3784|0)+(r(g,-1567)|0)+f+(a*3784|0)|0;c[e+100>>2]=m;c[e+112>>2]=0-m;l=r(l,-1567)|0;k=k*3784|0;m=l+(r(i,-3784)|0)+(h*1567|0)+(g*3784|0)+k+(a*1567|0)|0;c[e+124>>2]=m;c[e+136>>2]=m;k=l+(i*535|0)+(h*2493|0)+(r(g,-3250)|0)+k+(r(a,-4061)|0)|0;c[e+104>>2]=k;c[e+108>>2]=0-k;a=j+(r(i,-4061)|0)+(r(h,-3250)|0)+(r(g,-2493)|0)+f+(r(a,-535)|0)|0;c[e+128>>2]=a;c[e+132>>2]=a;c[b>>2]=0;c[b+24>>2]=((c[e>>2]|0)+2048>>12)*535;c[b+48>>2]=(((c[e+48>>2]|0)+2048>>12)*535|0)+(((c[e+24>>2]|0)+2048>>12)*4061|0);c[b+72>>2]=(((c[e+96>>2]|0)+2048>>12)*535|0)+(((c[e+72>>2]|0)+2048>>12)*4061|0);c[b+96>>2]=((c[e+120>>2]|0)+2048>>12)*4061;c[b+120>>2]=0;c[b+4>>2]=0;c[b+28>>2]=((c[e+4>>2]|0)+2048>>12)*1567;c[b+52>>2]=(((c[e+52>>2]|0)+2048>>12)*1567|0)+(((c[e+28>>2]|0)+2048>>12)*3784|0);c[b+76>>2]=(((c[e+100>>2]|0)+2048>>12)*1567|0)+(((c[e+76>>2]|0)+2048>>12)*3784|0);c[b+100>>2]=((c[e+124>>2]|0)+2048>>12)*3784;c[b+124>>2]=0;c[b+8>>2]=0;c[b+32>>2]=((c[e+8>>2]|0)+2048>>12)*2493;c[b+56>>2]=(((c[e+56>>2]|0)+2048>>12)*2493|0)+(((c[e+32>>2]|0)+2048>>12)*3250|0);c[b+80>>2]=(((c[e+104>>2]|0)+2048>>12)*2493|0)+(((c[e+80>>2]|0)+2048>>12)*3250|0);c[b+104>>2]=((c[e+128>>2]|0)+2048>>12)*3250;c[b+128>>2]=0;c[b+12>>2]=0;c[b+36>>2]=((c[e+12>>2]|0)+2048>>12)*3250;c[b+60>>2]=(((c[e+60>>2]|0)+2048>>12)*3250|0)+(((c[e+36>>2]|0)+2048>>12)*2493|0);c[b+84>>2]=(((c[e+108>>2]|0)+2048>>12)*3250|0)+(((c[e+84>>2]|0)+2048>>12)*2493|0);c[b+108>>2]=((c[e+132>>2]|0)+2048>>12)*2493;c[b+132>>2]=0;c[b+16>>2]=0;c[b+40>>2]=((c[e+16>>2]|0)+2048>>12)*3784;c[b+64>>2]=(((c[e+64>>2]|0)+2048>>12)*3784|0)+(((c[e+40>>2]|0)+2048>>12)*1567|0);c[b+88>>2]=(((c[e+112>>2]|0)+2048>>12)*3784|0)+(((c[e+88>>2]|0)+2048>>12)*1567|0);c[b+112>>2]=((c[e+136>>2]|0)+2048>>12)*1567;c[b+136>>2]=0;c[b+20>>2]=0;c[b+44>>2]=((c[e+20>>2]|0)+2048>>12)*4061;c[b+68>>2]=(((c[e+68>>2]|0)+2048>>12)*4061|0)+(((c[e+44>>2]|0)+2048>>12)*535|0);c[b+92>>2]=(((c[e+116>>2]|0)+2048>>12)*4061|0)+(((c[e+92>>2]|0)+2048>>12)*535|0);c[b+116>>2]=((c[e+140>>2]|0)+2048>>12)*535;c[b+140>>2]=0;cc=d;return}function Ng(b){b=b|0;var e=0,f=0,g=0,h=0;h=b+28|0;e=vg(h)|0;g=c[b+4>>2]|0;f=g+-1|0;a:do if(e>>>0>>0){b=e;while(1){e=b+1|0;if((a[b>>0]|0)==-1?(d[e>>0]|0)>223:0){e=b;break a}if(e>>>0>>0)b=e;else break}}while(0);if((g-e|0)<8){h=-1;return h|0}tg(h,e);h=0;return h|0}function Og(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);f=j;g=a+28|0;c[g>>2]=0;h=a+32|0;c[h>>2]=0;i=d+28|0;wg(i,11);if(!(xg(i,1)|0))c[g>>2]=c[g>>2]|16384;k=(xg(i,1)|0)==0;e=c[g>>2]|0;if(!k){if(e&16384|0){c[d+60>>2]=257;k=-1;cc=j;return k|0}}else c[g>>2]=e|4096;k=xg(i,2)|0;c[a>>2]=4-k;if(!k){c[d+60>>2]=258;k=-1;cc=j;return k|0}if(!(xg(i,1)|0)){c[g>>2]=c[g>>2]|16;c[f>>2]=c[i>>2];c[f+4>>2]=c[i+4>>2];b[a+24>>1]=yg(f,16,-1)|0}e=xg(i,4)|0;if((e|0)==15){c[d+60>>2]=259;k=-1;cc=j;return k|0}k=c[a>>2]|0;c[a+16>>2]=c[40624+(((c[g>>2]&4096|0)==0?k+-1|0:(k>>>1)+3|0)*60|0)+(e<<2)>>2];e=xg(i,2)|0;if((e|0)==3){c[d+60>>2]=260;k=-1;cc=j;return k|0}e=c[40924+(e<<2)>>2]|0;d=a+20|0;c[d>>2]=e;f=c[g>>2]|0;if(f&4096|0?(c[d>>2]=e>>>1,f&16384|0):0)c[d>>2]=e>>>2;if(xg(i,1)|0)c[g>>2]=c[g>>2]|128;if(xg(i,1)|0)c[h>>2]=c[h>>2]|256;c[a+4>>2]=3-(xg(i,2)|0);c[a+8>>2]=xg(i,2)|0;if(xg(i,1)|0)c[g>>2]=c[g>>2]|32;if(xg(i,1)|0)c[g>>2]=c[g>>2]|64;c[a+12>>2]=xg(i,2)|0;if(!(c[g>>2]&16)){k=0;cc=j;return k|0}b[a+26>>1]=xg(i,16)|0;k=0;cc=j;return k|0}function Pg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;c[a>>2]=b;if(d>>>0>=e>>>0&(e|0)!=0){h=(d>>>0)/(e>>>0)|0;i=h+b|0;c[a>>2]=i;d=d-(r(h,e)|0)|0}else i=b;a:do if((e|0)>=16e3){if((e|0)<32e3){if((e|0)<22050){switch(e|0){case 16e3:break;default:{f=4;break a}}d=d*22050|0;b=a+4|0;c[b>>2]=d;break}switch(e|0){case 22050:{d=d*16e3|0;b=a+4|0;c[b>>2]=d;break a}case 24e3:{d=d*14700|0;b=a+4|0;c[b>>2]=d;break a}default:{f=4;break a}}}if((e|0)<48e3)if((e|0)<44100){switch(e|0){case 32e3:break;default:{f=4;break a}}d=d*11025|0;b=a+4|0;c[b>>2]=d;break}else{switch(e|0){case 44100:break;default:{f=4;break a}}d=d*8e3|0;b=a+4|0;c[b>>2]=d;break}else if((e|0)<3528e5){switch(e|0){case 48e3:break;default:{f=4;break a}}d=d*7350|0;b=a+4|0;c[b>>2]=d;break}else{switch(e|0){case 3528e5:break;default:{f=4;break a}}b=a+4|0;c[b>>2]=d;break}}else{if((e|0)<8e3){switch(e|0){case 1:case 0:break;case 1e3:{d=d*352800|0;b=a+4|0;c[b>>2]=d;break a}default:{f=4;break a}}c[a+4>>2]=0;return}if((e|0)<11025){switch(e|0){case 8e3:break;default:{f=4;break a}}d=d*44100|0;b=a+4|0;c[b>>2]=d;break}switch(e|0){case 11025:{d=d*32e3|0;b=a+4|0;c[b>>2]=d;break a}case 12e3:{d=d*29400|0;b=a+4|0;c[b>>2]=d;break a}default:{f=4;break a}}}while(0);if((f|0)==4){b=d;f=e;while(1){b=(b>>>0)%(f>>>0)|0;if(!b)break;else{h=f;f=b;b=h}}g=(d>>>0)/(f>>>0)|0;h=(e>>>0)/(f>>>0)|0;if(f>>>0>e>>>0)f=3528e5;else{d=3528e5;f=h;while(1){d=(d>>>0)%(f>>>0)|0;if(!d)break;else{e=f;f=d;d=e}}}d=3528e5/(f>>>0)|0;b=(h>>>0)/(f>>>0)|0;if(f>>>0>h>>>0)W(52015,52026,144,52034);do if(b>>>0>=d>>>0)if(b>>>0>>0){h=(g>>>0)/(b>>>0)|0;d=(((r(g-(r(h,b)|0)|0,d)|0)>>>0)/(b>>>0)|0)+(r(h,d)|0)|0;break}else{d=((r(d,g)|0)>>>0)/(b>>>0)|0;break}else{h=(d>>>0)/(b>>>0)|0;d=(((r(d-(r(h,b)|0)|0,g)|0)>>>0)/(b>>>0)|0)+(r(h,g)|0)|0}while(0);b=a+4|0;c[b>>2]=d}if(d>>>0<=352799999)return;h=(d>>>0)/3528e5|0;c[a>>2]=i+h;c[b>>2]=d-(r(h,3528e5)|0);return}function Qg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=cc;cc=cc+112|0;if((cc|0)>=(dc|0))w(112);j=u+48|0;i=u;s=a+28|0;q=s;p=c[q>>2]|0;q=c[q+4>>2]|0;m=c[b+28>>2]|0;d=m>>>7&1;m=(c[b>>2]|0)==3?((m&4096|0)==0?144:72):144;if(!(Ng(a)|0)){k=i+20|0;l=b+20|0;o=a+20|0;n=4-(d<<2)|0;h=d^1;d=0;do{e=j;f=a;g=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));e=i;f=b;g=e+44|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));if(((Og(i,j)|0)==0?(c[i>>2]|0)==(c[b>>2]|0):0)?(c[k>>2]|0)==(c[l>>2]|0):0){d=vg(s)|0;g=(c[b>>2]|0)==1;g=((r(c[l>>2]|0,(g?n:h)+(d-(c[o>>2]|0))|0)|0)>>>0)/((g?48:m)>>>0)|0;d=(g>>>0)/1e3|0;if(g>>>0>=8e3){t=8;break}}wg(s,8)}while((Ng(a)|0)==0);t=s;c[t>>2]=p;c[t+4>>2]=q;if(d>>>0>=8?!(d>>>0>640&(c[b>>2]|0)==3):0){c[a+16>>2]=d*1e3;t=0;cc=u;return t|0}}else{t=s;c[t>>2]=p;c[t+4>>2]=q}c[a+60>>2]=257;t=-1;cc=u;return t|0}function Rg(a){a=a|0;var b=0;rj(a|0,0,1024)|0;b=0;do{c[a+1536+(b<<5)>>2]=0;c[a+1024+(b<<5)>>2]=0;c[a+1536+(b<<5)+4>>2]=0;c[a+1024+(b<<5)+4>>2]=0;c[a+1536+(b<<5)+8>>2]=0;c[a+1024+(b<<5)+8>>2]=0;c[a+1536+(b<<5)+12>>2]=0;c[a+1024+(b<<5)+12>>2]=0;c[a+1536+(b<<5)+16>>2]=0;c[a+1024+(b<<5)+16>>2]=0;c[a+1536+(b<<5)+20>>2]=0;c[a+1024+(b<<5)+20>>2]=0;c[a+1536+(b<<5)+24>>2]=0;c[a+1024+(b<<5)+24>>2]=0;c[a+1536+(b<<5)+28>>2]=0;c[a+1024+(b<<5)+28>>2]=0;b=b+1|0}while((b|0)!=16);rj(a+2048|0,0,1024)|0;b=0;do{c[a+3584+(b<<5)>>2]=0;c[a+3072+(b<<5)>>2]=0;c[a+3584+(b<<5)+4>>2]=0;c[a+3072+(b<<5)+4>>2]=0;c[a+3584+(b<<5)+8>>2]=0;c[a+3072+(b<<5)+8>>2]=0;c[a+3584+(b<<5)+12>>2]=0;c[a+3072+(b<<5)+12>>2]=0;c[a+3584+(b<<5)+16>>2]=0;c[a+3072+(b<<5)+16>>2]=0;c[a+3584+(b<<5)+20>>2]=0;c[a+3072+(b<<5)+20>>2]=0;c[a+3584+(b<<5)+24>>2]=0;c[a+3072+(b<<5)+24>>2]=0;c[a+3584+(b<<5)+28>>2]=0;c[a+3072+(b<<5)+28>>2]=0;b=b+1|0}while((b|0)!=16);return}function Sg(a){a=a|0;var b=0;rj(a+48|0,0,9216)|0;a=c[a+9264>>2]|0;if(!a)return;rj(a|0,0,2304)|0;b=0;do{c[a+2304+(b<<2)>>2]=0;c[a+2376+(b<<2)>>2]=0;c[a+2448+(b<<2)>>2]=0;c[a+2520+(b<<2)>>2]=0;c[a+2592+(b<<2)>>2]=0;c[a+2664+(b<<2)>>2]=0;c[a+2736+(b<<2)>>2]=0;c[a+2808+(b<<2)>>2]=0;c[a+2880+(b<<2)>>2]=0;c[a+2952+(b<<2)>>2]=0;c[a+3024+(b<<2)>>2]=0;c[a+3096+(b<<2)>>2]=0;c[a+3168+(b<<2)>>2]=0;c[a+3240+(b<<2)>>2]=0;c[a+3312+(b<<2)>>2]=0;c[a+3384+(b<<2)>>2]=0;c[a+3456+(b<<2)>>2]=0;c[a+3528+(b<<2)>>2]=0;c[a+3600+(b<<2)>>2]=0;c[a+3672+(b<<2)>>2]=0;c[a+3744+(b<<2)>>2]=0;c[a+3816+(b<<2)>>2]=0;c[a+3888+(b<<2)>>2]=0;c[a+3960+(b<<2)>>2]=0;c[a+4032+(b<<2)>>2]=0;c[a+4104+(b<<2)>>2]=0;c[a+4176+(b<<2)>>2]=0;c[a+4248+(b<<2)>>2]=0;c[a+4320+(b<<2)>>2]=0;c[a+4392+(b<<2)>>2]=0;c[a+4464+(b<<2)>>2]=0;c[a+4536+(b<<2)>>2]=0;b=b+1|0}while((b|0)!=18);return}function Tg(){Ug(0);return}function Ug(a){a=a|0;wa(1312,52049);la(1328,52054,1,1,0);sa(1336,52059,1,-128,127);sa(1352,52064,1,-128,127);sa(1344,52076,1,0,255);sa(1360,52090,2,-32768,32767);sa(1368,52096,2,0,65535);sa(1376,52111,4,-2147483648,2147483647);sa(1384,52115,4,0,-1);sa(1392,52128,4,-2147483648,2147483647);sa(1400,52133,4,0,-1);ra(1408,52147,4);ra(1416,52153,8);ua(552,52160);ua(736,52172);va(760,4,52205);qa(576,52218);ta(784,0,52234);ta(792,0,52264);ta(800,1,52301);ta(808,2,52340);ta(816,3,52371);ta(824,4,52411);ta(832,5,52440);ta(840,4,52478);ta(848,5,52508);ta(792,0,52547);ta(800,1,52579);ta(808,2,52612);ta(816,3,52645);ta(824,4,52679);ta(832,5,52712);ta(856,6,52746);ta(864,7,52777);ta(872,7,52809);return}function Vg(a){a=a|0;return Ch(c[a+4>>2]|0)|0}function Wg(a){a=a|0;var b=0,d=0;b=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);d=b;c[d>>2]=$g(c[a+60>>2]|0)|0;a=Zg(ia(6,d|0)|0)|0;cc=b;return a|0}function Xg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=cc;cc=cc+48|0;if((cc|0)>=(dc|0))w(48);k=m+32|0;g=m+16|0;f=m;i=a+28|0;e=c[i>>2]|0;c[f>>2]=e;j=a+20|0;e=(c[j>>2]|0)-e|0;c[f+4>>2]=e;c[f+8>>2]=b;c[f+12>>2]=d;e=e+d|0;h=a+60|0;c[g>>2]=c[h>>2];c[g+4>>2]=f;c[g+8>>2]=2;g=Zg(ga(146,g|0)|0)|0;a:do if((e|0)!=(g|0)){b=2;while(1){if((g|0)<0)break;e=e-g|0;o=c[f+4>>2]|0;n=g>>>0>o>>>0;f=n?f+8|0:f;b=b+(n<<31>>31)|0;o=g-(n?o:0)|0;c[f>>2]=(c[f>>2]|0)+o;n=f+4|0;c[n>>2]=(c[n>>2]|0)-o;c[k>>2]=c[h>>2];c[k+4>>2]=f;c[k+8>>2]=b;g=Zg(ga(146,k|0)|0)|0;if((e|0)==(g|0)){l=3;break a}}c[a+16>>2]=0;c[i>>2]=0;c[j>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[f+4>>2]|0)|0}else l=3;while(0);if((l|0)==3){o=c[a+44>>2]|0;c[a+16>>2]=o+(c[a+48>>2]|0);c[i>>2]=o;c[j>>2]=o}cc=m;return d|0}function Yg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=cc;cc=cc+32|0;if((cc|0)>=(dc|0))w(32);h=g+8|0;f=g;c[h>>2]=c[a+60>>2];c[h+4>>2]=d;c[h+8>>2]=b;c[h+12>>2]=f;c[h+16>>2]=e;if((Zg(fa(140,h|0)|0)|0)<0){a=f;c[a>>2]=-1;c[a+4>>2]=-1;a=-1;b=-1}else{b=f;a=c[b+4>>2]|0;b=c[b>>2]|0}u(a|0);cc=g;return b|0}function Zg(a){a=a|0;if(a>>>0>4294963200){c[(_g()|0)>>2]=0-a;a=-1}return a|0}function _g(){return 55276}function $g(a){a=a|0;return a|0}function ah(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=cc;cc=cc+32|0;if((cc|0)>=(dc|0))w(32);f=g;c[b+36>>2]=1;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21523,c[f+8>>2]=g+16,ha(54,f|0)|0):0)a[b+75>>0]=-1;f=Xg(b,d,e)|0;cc=g;return f|0}function bh(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)b=0;else{while(1){e=a[b>>0]|0;f=a[c>>0]|0;if(e<<24>>24!=f<<24>>24)break;d=d+-1|0;if(!d){b=0;break a}else{b=b+1|0;c=c+1|0}}b=(e&255)-(f&255)|0}while(0);return b|0}function ch(a){a=a|0;return (a+-48|0)>>>0<10|0}function dh(a,b,c){a=a|0;b=b|0;c=c|0;return gh(a,b,c,1,17)|0}function eh(b,e,f,g,h,i){b=b|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,s=0,t=0,u=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=cc;cc=cc+560|0;if((cc|0)>=(dc|0))w(560);l=I+32|0;x=I+536|0;H=I;G=H;m=I+540|0;c[x>>2]=0;F=m+12|0;yh(e)|0;j=v()|0;if((j|0)<0){e=-e;yh(e)|0;E=1;D=53361;j=v()|0}else{E=(h&2049|0)!=0&1;D=(h&2048|0)==0?((h&1|0)==0?53362:53367):53364}do if(0==0&(j&2146435072|0)==2146435072){H=(i&32|0)!=0;j=E+3|0;rh(b,32,f,j,h&-65537);kh(b,D,E);kh(b,e!=e|0.0!=0.0?(H?53388:53392):H?53380:53384,3);rh(b,32,f,j,h^8192)}else{q=+zh(e,x)*2.0;j=q!=0.0;if(j)c[x>>2]=(c[x>>2]|0)+-1;u=i|32;if((u|0)==97){o=i&32;s=(o|0)==0?D:D+9|0;p=E|2;j=12-g|0;do if(!(g>>>0>11|(j|0)==0)){e=8.0;do{j=j+-1|0;e=e*16.0}while((j|0)!=0);if((a[s>>0]|0)==45){e=-(e+(-q-e));break}else{e=q+e-e;break}}else e=q;while(0);k=c[x>>2]|0;j=(k|0)<0?0-k|0:k;j=ph(j,((j|0)<0)<<31>>31,F)|0;if((j|0)==(F|0)){j=m+11|0;a[j>>0]=48}a[j+-1>>0]=(k>>31&2)+43;n=j+-2|0;a[n>>0]=i+15;k=(g|0)<1;l=(h&8|0)==0;m=H;do{E=~~e;j=m+1|0;a[m>>0]=o|d[528+E>>0];e=(e-+(E|0))*16.0;if((j-G|0)==1?!(l&(k&e==0.0)):0){a[j>>0]=46;m=m+2|0}else m=j}while(e!=0.0);if((g|0)!=0?(-2-G+m|0)<(g|0):0){k=F;l=n;j=g+2+k-l|0}else{k=F;l=n;j=k-G-l+m|0}F=j+p|0;rh(b,32,f,F,h);kh(b,s,p);rh(b,48,f,F,h^65536);G=m-G|0;kh(b,H,G);H=k-l|0;rh(b,48,j-(G+H)|0,0,0);kh(b,n,H);rh(b,32,f,F,h^8192);j=F;break}k=(g|0)<0?6:g;if(j){j=(c[x>>2]|0)+-28|0;c[x>>2]=j;e=q*268435456.0}else{e=q;j=c[x>>2]|0}C=(j|0)<0?l:l+288|0;l=C;do{A=~~e>>>0;c[l>>2]=A;l=l+4|0;e=(e-+(A>>>0))*1.0e9}while(e!=0.0);A=C;if((j|0)>0){o=C;while(1){n=(j|0)<29?j:29;j=l+-4|0;if(j>>>0>=o>>>0){m=0;do{t=oj(c[j>>2]|0,0,n|0)|0;t=ij(t|0,v()|0,m|0,0)|0;y=v()|0;m=mj(t|0,y|0,1e9,0)|0;z=hj(m|0,v()|0,1e9,0)|0;z=jj(t|0,y|0,z|0,v()|0)|0;v()|0;c[j>>2]=z;j=j+-4|0}while(j>>>0>=o>>>0);if(m){z=o+-4|0;c[z>>2]=m;m=z}else m=o}else m=o;a:do if(l>>>0>m>>>0){j=l;while(1){l=j+-4|0;if(c[l>>2]|0){l=j;break a}if(l>>>0>m>>>0)j=l;else break}}while(0);j=(c[x>>2]|0)-n|0;c[x>>2]=j;if((j|0)>0)o=m;else break}}else m=C;if((j|0)<0){g=((k+25|0)/9|0)+1|0;t=(u|0)==102;do{s=0-j|0;s=(s|0)<9?s:9;if(m>>>0>>0){n=(1<>>s;p=0;j=m;do{z=c[j>>2]|0;c[j>>2]=(z>>>s)+p;p=r(z&n,o)|0;j=j+4|0}while(j>>>0>>0);m=(c[m>>2]|0)==0?m+4|0:m;if(p){c[l>>2]=p;l=l+4|0}}else m=(c[m>>2]|0)==0?m+4|0:m;j=t?C:m;l=(l-j>>2|0)>(g|0)?j+(g<<2)|0:l;j=(c[x>>2]|0)+s|0;c[x>>2]=j}while((j|0)<0);t=m}else t=m;if(t>>>0>>0){j=(A-t>>2)*9|0;n=c[t>>2]|0;if(n>>>0>=10){m=10;do{m=m*10|0;j=j+1|0}while(n>>>0>=m>>>0)}}else j=0;y=(u|0)==103;z=(k|0)!=0;m=k-((u|0)==102?0:j)+((z&y)<<31>>31)|0;if((m|0)<(((l-A>>2)*9|0)+-9|0)){x=m+9216|0;m=(x|0)/9|0;g=C+4+(m+-1024<<2)|0;m=x-(m*9|0)|0;if((m|0)<8){n=10;while(1){n=n*10|0;if((m|0)<7)m=m+1|0;else break}}else n=10;p=c[g>>2]|0;m=(p>>>0)/(n>>>0)|0;s=p-(r(m,n)|0)|0;o=(g+4|0)==(l|0);if(!(o&(s|0)==0)){q=(m&1|0)==0?9007199254740992.0:9007199254740994.0;x=n>>>1;e=s>>>0>>0?.5:o&(s|0)==(x|0)?1.0:1.5;if(E){x=(a[D>>0]|0)==45;e=x?-e:e;q=x?-q:q}m=p-s|0;c[g>>2]=m;if(q+e!=q){x=m+n|0;c[g>>2]=x;if(x>>>0>999999999){n=g;j=t;while(1){m=n+-4|0;c[n>>2]=0;if(m>>>0>>0){j=j+-4|0;c[j>>2]=0}x=(c[m>>2]|0)+1|0;c[m>>2]=x;if(x>>>0>999999999)n=m;else{n=j;break}}}else{m=g;n=t}j=(A-n>>2)*9|0;p=c[n>>2]|0;if(p>>>0>=10){o=10;do{o=o*10|0;j=j+1|0}while(p>>>0>=o>>>0)}}else{m=g;n=t}}else{m=g;n=t}x=m+4|0;l=l>>>0>x>>>0?x:l}else n=t;g=0-j|0;b:do if(l>>>0>n>>>0)while(1){m=l+-4|0;if(c[m>>2]|0){x=l;u=1;break b}if(m>>>0>n>>>0)l=m;else{x=m;u=0;break}}else{x=l;u=0}while(0);do if(y){k=k+((z^1)&1)|0;if((k|0)>(j|0)&(j|0)>-5){o=i+-1|0;k=k+-1-j|0}else{o=i+-2|0;k=k+-1|0}if(!(h&8)){if(u?(B=c[x+-4>>2]|0,(B|0)!=0):0)if(!((B>>>0)%10|0)){m=0;l=10;do{l=l*10|0;m=m+1|0}while(!((B>>>0)%(l>>>0)|0|0))}else m=0;else m=9;l=((x-A>>2)*9|0)+-9|0;if((o|32|0)==102){i=l-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}else{i=l+j-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}}}else o=i;while(0);t=(k|0)!=0;p=t?1:h>>>3&1;s=(o|32|0)==102;if(s){y=0;j=(j|0)>0?j:0}else{l=(j|0)<0?g:j;l=ph(l,((l|0)<0)<<31>>31,F)|0;m=F;if((m-l|0)<2)do{l=l+-1|0;a[l>>0]=48}while((m-l|0)<2);a[l+-1>>0]=(j>>31&2)+43;j=l+-2|0;a[j>>0]=o;y=j;j=m-j|0}j=E+1+k+p+j|0;rh(b,32,f,j,h);kh(b,D,E);rh(b,48,f,j,h^65536);if(s){p=n>>>0>C>>>0?C:n;s=H+9|0;n=s;o=H+8|0;m=p;do{l=ph(c[m>>2]|0,0,s)|0;if((m|0)==(p|0)){if((l|0)==(s|0)){a[o>>0]=48;l=o}}else if(l>>>0>H>>>0){rj(H|0,48,l-G|0)|0;do l=l+-1|0;while(l>>>0>H>>>0)}kh(b,l,n-l|0);m=m+4|0}while(m>>>0<=C>>>0);if(!((h&8|0)==0&(t^1)))kh(b,53396,1);if(m>>>0>>0&(k|0)>0)while(1){l=ph(c[m>>2]|0,0,s)|0;if(l>>>0>H>>>0){rj(H|0,48,l-G|0)|0;do l=l+-1|0;while(l>>>0>H>>>0)}kh(b,l,(k|0)<9?k:9);m=m+4|0;l=k+-9|0;if(!(m>>>0>>0&(k|0)>9)){k=l;break}else k=l}rh(b,48,k+9|0,9,0)}else{x=u?x:n+4|0;if(n>>>0>>0&(k|0)>-1){g=H+9|0;t=(h&8|0)==0;u=g;p=0-G|0;s=H+8|0;o=n;do{l=ph(c[o>>2]|0,0,g)|0;if((l|0)==(g|0)){a[s>>0]=48;l=s}do if((o|0)==(n|0)){m=l+1|0;kh(b,l,1);if(t&(k|0)<1){l=m;break}kh(b,53396,1);l=m}else{if(l>>>0<=H>>>0)break;rj(H|0,48,l+p|0)|0;do l=l+-1|0;while(l>>>0>H>>>0)}while(0);G=u-l|0;kh(b,l,(k|0)>(G|0)?G:k);k=k-G|0;o=o+4|0}while(o>>>0>>0&(k|0)>-1)}rh(b,48,k+18|0,18,0);kh(b,y,F-y|0)}rh(b,32,f,j,h^8192)}while(0);cc=I;return ((j|0)<(f|0)?f:j)|0}function fh(a,b){a=a|0;b=b|0;var d=0.0,e=0;e=(c[b>>2]|0)+(8-1)&~(8-1);d=+g[e>>3];c[b>>2]=e+8;g[a>>3]=d;return}function gh(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=cc;cc=cc+224|0;if((cc|0)>=(dc|0))w(224);p=t+208|0;q=t+160|0;r=t+80|0;s=t;h=q;i=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));c[p>>2]=c[e>>2];if((hh(0,d,p,r,q,f,g)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)o=ih(b)|0;else o=0;e=c[b>>2]|0;n=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;h=b+48|0;if(!(c[h>>2]|0)){i=b+44|0;j=c[i>>2]|0;c[i>>2]=s;k=b+28|0;c[k>>2]=s;l=b+20|0;c[l>>2]=s;c[h>>2]=80;m=b+16|0;c[m>>2]=s+80;e=hh(b,d,p,r,q,f,g)|0;if(j){ic[c[b+36>>2]&7](b,0,0)|0;e=(c[l>>2]|0)==0?-1:e;c[i>>2]=j;c[h>>2]=0;c[m>>2]=0;c[k>>2]=0;c[l>>2]=0}}else e=hh(b,d,p,r,q,f,g)|0;h=c[b>>2]|0;c[b>>2]=h|n;if(o|0)jh(b);e=(h&32|0)==0?e:-1}cc=t;return e|0}function hh(d,e,f,h,i,j,k){d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,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;K=cc;cc=cc+64|0;if((cc|0)>=(dc|0))w(64);H=K+56|0;J=K+40|0;C=K;E=K+48|0;F=K+60|0;c[H>>2]=e;z=(d|0)!=0;A=C+40|0;B=A;C=C+39|0;D=E+4|0;l=0;e=0;n=0;a:while(1){do{do if((e|0)>-1)if((l|0)>(2147483647-e|0)){c[(_g()|0)>>2]=75;e=-1;break}else{e=l+e|0;break}while(0);r=c[H>>2]|0;l=a[r>>0]|0;if(!(l<<24>>24)){y=92;break a}m=r;b:while(1){switch(l<<24>>24){case 37:{y=10;break b}case 0:{l=m;break b}default:{}}x=m+1|0;c[H>>2]=x;l=a[x>>0]|0;m=x}c:do if((y|0)==10){y=0;l=m;do{if((a[m+1>>0]|0)!=37)break c;l=l+1|0;m=m+2|0;c[H>>2]=m}while((a[m>>0]|0)==37)}while(0);l=l-r|0;if(z)kh(d,r,l)}while((l|0)!=0);x=(ch(a[(c[H>>2]|0)+1>>0]|0)|0)==0;m=c[H>>2]|0;if(!x?(a[m+2>>0]|0)==36:0){t=(a[m+1>>0]|0)+-48|0;p=1;l=3}else{t=-1;p=n;l=1}l=m+l|0;c[H>>2]=l;m=a[l>>0]|0;n=(m<<24>>24)+-32|0;if(n>>>0>31|(1<>2]=l;m=a[l>>0]|0;n=(m<<24>>24)+-32|0}while(!(n>>>0>31|(1<>24==42){if((ch(a[l+1>>0]|0)|0)!=0?(I=c[H>>2]|0,(a[I+2>>0]|0)==36):0){l=I+1|0;c[i+((a[l>>0]|0)+-48<<2)>>2]=10;l=c[h+((a[l>>0]|0)+-48<<3)>>2]|0;n=1;m=I+3|0}else{if(p|0){e=-1;break}if(z){x=(c[f>>2]|0)+(4-1)&~(4-1);l=c[x>>2]|0;c[f>>2]=x+4}else l=0;n=0;m=(c[H>>2]|0)+1|0}c[H>>2]=m;x=(l|0)<0;u=x?0-l|0:l;o=x?o|8192:o;x=n}else{l=lh(H)|0;if((l|0)<0){e=-1;break}u=l;x=p;m=c[H>>2]|0}do if((a[m>>0]|0)==46){l=m+1|0;if((a[l>>0]|0)!=42){c[H>>2]=l;l=lh(H)|0;m=c[H>>2]|0;break}if(ch(a[m+2>>0]|0)|0?(G=c[H>>2]|0,(a[G+3>>0]|0)==36):0){l=G+2|0;c[i+((a[l>>0]|0)+-48<<2)>>2]=10;l=c[h+((a[l>>0]|0)+-48<<3)>>2]|0;m=G+4|0;c[H>>2]=m;break}if(x|0){e=-1;break a}if(z){s=(c[f>>2]|0)+(4-1)&~(4-1);l=c[s>>2]|0;c[f>>2]=s+4}else l=0;m=(c[H>>2]|0)+2|0;c[H>>2]=m}else l=-1;while(0);s=0;while(1){if(((a[m>>0]|0)+-65|0)>>>0>57){e=-1;break a}n=m;m=m+1|0;c[H>>2]=m;n=a[(a[n>>0]|0)+-65+(64+(s*58|0))>>0]|0;p=n&255;if((p+-1|0)>>>0>=8)break;else s=p}if(!(n<<24>>24)){e=-1;break}q=(t|0)>-1;do if(n<<24>>24==19)if(q){e=-1;break a}else y=54;else{if(q){c[i+(t<<2)>>2]=p;q=h+(t<<3)|0;t=c[q+4>>2]|0;y=J;c[y>>2]=c[q>>2];c[y+4>>2]=t;y=54;break}if(!z){e=0;break a}mh(J,p,f,k);m=c[H>>2]|0;y=55}while(0);if((y|0)==54){y=0;if(z)y=55;else l=0}d:do if((y|0)==55){y=0;m=a[m+-1>>0]|0;m=(s|0)!=0&(m&15|0)==3?m&-33:m;n=o&-65537;t=(o&8192|0)==0?o:n;e:do switch(m|0){case 110:switch((s&255)<<24>>24){case 0:{c[c[J>>2]>>2]=e;l=0;break d}case 1:{c[c[J>>2]>>2]=e;l=0;break d}case 2:{l=c[J>>2]|0;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=0;break d}case 3:{b[c[J>>2]>>1]=e;l=0;break d}case 4:{a[c[J>>2]>>0]=e;l=0;break d}case 6:{c[c[J>>2]>>2]=e;l=0;break d}case 7:{l=c[J>>2]|0;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=0;break d}default:{l=0;break d}}case 112:{m=120;l=l>>>0>8?l:8;n=t|8;y=67;break}case 88:case 120:{n=t;y=67;break}case 111:{q=J;q=oh(c[q>>2]|0,c[q+4>>2]|0,A)|0;n=B-q|0;o=0;p=53344;l=(t&8|0)==0|(l|0)>(n|0)?l:n+1|0;n=t;y=73;break}case 105:case 100:{n=J;m=c[n>>2]|0;n=c[n+4>>2]|0;if((n|0)<0){m=jj(0,0,m|0,n|0)|0;n=v()|0;o=J;c[o>>2]=m;c[o+4>>2]=n;o=1;p=53344;y=72;break e}else{o=(t&2049|0)!=0&1;p=(t&2048|0)==0?((t&1|0)==0?53344:53346):53345;y=72;break e}}case 117:{n=J;o=0;p=53344;m=c[n>>2]|0;n=c[n+4>>2]|0;y=72;break}case 99:{a[C>>0]=c[J>>2];r=C;o=0;p=53344;q=1;m=n;l=B;break}case 115:{s=c[J>>2]|0;s=(s|0)==0?53354:s;t=qh(s,0,l)|0;L=(t|0)==0;r=s;o=0;p=53344;q=L?l:t-s|0;m=n;l=L?s+l|0:t;break}case 67:{c[E>>2]=c[J>>2];c[D>>2]=0;c[J>>2]=E;p=-1;y=79;break}case 83:{if(!l){rh(d,32,u,0,t);l=0;y=89}else{p=l;y=79}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{l=gc[j&1](d,+g[J>>3],u,l,t,m)|0;break d}default:{o=0;p=53344;q=l;m=t;l=B}}while(0);f:do if((y|0)==67){q=J;q=nh(c[q>>2]|0,c[q+4>>2]|0,A,m&32)|0;p=J;p=(n&8|0)==0|(c[p>>2]|0)==0&(c[p+4>>2]|0)==0;o=p?0:2;p=p?53344:53344+(m>>>4)|0;y=73}else if((y|0)==72){q=ph(m,n,A)|0;n=t;y=73}else if((y|0)==79){y=0;o=c[J>>2]|0;l=0;while(1){m=c[o>>2]|0;if(!m)break;m=sh(F,m)|0;n=(m|0)<0;if(n|m>>>0>(p-l|0)>>>0){y=83;break}l=m+l|0;if(p>>>0>l>>>0)o=o+4|0;else break}if((y|0)==83){y=0;if(n){e=-1;break a}}rh(d,32,u,l,t);if(!l){l=0;y=89}else{n=c[J>>2]|0;o=0;while(1){m=c[n>>2]|0;if(!m){y=89;break f}m=sh(F,m)|0;o=m+o|0;if((o|0)>(l|0)){y=89;break f}kh(d,F,m);if(o>>>0>=l>>>0){y=89;break}else n=n+4|0}}}while(0);if((y|0)==73){y=0;m=J;m=(c[m>>2]|0)!=0|(c[m+4>>2]|0)!=0;L=(l|0)!=0|m;m=B-q+((m^1)&1)|0;r=L?q:A;q=L?((l|0)>(m|0)?l:m):0;m=(l|0)>-1?n&-65537:n;l=B}else if((y|0)==89){y=0;rh(d,32,u,l,t^8192);l=(u|0)>(l|0)?u:l;break}t=l-r|0;s=(q|0)<(t|0)?t:q;L=s+o|0;l=(u|0)<(L|0)?L:u;rh(d,32,l,L,m);kh(d,p,o);rh(d,48,l,L,m^65536);rh(d,48,s,t,0);kh(d,r,t);rh(d,32,l,L,m^8192)}while(0);n=x}g:do if((y|0)==92)if(!d)if(!n)e=0;else{e=1;while(1){l=c[i+(e<<2)>>2]|0;if(!l)break;mh(h+(e<<3)|0,l,f,k);e=e+1|0;if(e>>>0>=10){e=1;break g}}while(1){if(c[i+(e<<2)>>2]|0){e=-1;break g}e=e+1|0;if(e>>>0>=10){e=1;break}}}while(0);cc=K;return e|0}function ih(a){a=a|0;return 1}function jh(a){a=a|0;return}function kh(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))wh(b,d,a)|0;return}function lh(b){b=b|0;var d=0,e=0;if(!(ch(a[c[b>>2]>>0]|0)|0))d=0;else{d=0;do{e=c[b>>2]|0;d=(d*10|0)+-48+(a[e>>0]|0)|0;e=e+1|0;c[b>>2]=e}while((ch(a[e>>0]|0)|0)!=0)}return d|0}function mh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{b=(c[d>>2]|0)+(4-1)&~(4-1);e=c[b>>2]|0;c[d>>2]=b+4;c[a>>2]=e;break a}case 10:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);h=+g[f>>3];c[d>>2]=f+8;g[a>>3]=h;break a}case 18:{mc[e&31](a,d);break a}default:break a}while(0);while(0);return}function nh(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;if(!((b|0)==0&(c|0)==0))do{e=e+-1|0;a[e>>0]=d[528+(b&15)>>0]|0|f;b=nj(b|0,c|0,4)|0;c=v()|0}while(!((b|0)==0&(c|0)==0));return e|0}function oh(b,c,d){b=b|0;c=c|0;d=d|0;if(!((b|0)==0&(c|0)==0))do{d=d+-1|0;a[d>>0]=b&7|48;b=nj(b|0,c|0,3)|0;c=v()|0}while(!((b|0)==0&(c|0)==0));return d|0}function ph(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295){do{e=b;b=mj(b|0,c|0,10,0)|0;f=c;c=v()|0;g=hj(b|0,c|0,10,0)|0;g=jj(e|0,f|0,g|0,v()|0)|0;v()|0;d=d+-1|0;a[d>>0]=g&255|48}while(f>>>0>9|(f|0)==9&e>>>0>4294967295);c=b}else c=b;if(c)do{g=c;c=(c>>>0)/10|0;d=d+-1|0;a[d>>0]=g-(c*10|0)|48}while(g>>>0>=10);return d|0}function qh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(f)i=6;else i=16;b:do if((i|0)==6){g=d&255;if((a[b>>0]|0)==g<<24>>24)if(!e){i=16;break}else break;f=r(h,16843009)|0;c:do if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009|0)break c;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break}}else i=11;while(0);if((i|0)==11)if(!e){i=16;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;e=e+-1|0;if(!e){i=16;break}else b=b+1|0}}while(0);if((i|0)==16)b=0;return b|0}function rh(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;g=cc;cc=cc+256|0;if((cc|0)>=(dc|0))w(256);f=g;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;rj(f|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{kh(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}kh(a,f,e)}cc=g;return}function sh(a,b){a=a|0;b=b|0;if(!a)a=0;else a=th(a,b,0)|0;return a|0}function th(b,d,e){b=b|0;d=d|0;e=e|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(!(c[c[(uh()|0)+188>>2]>>2]|0))if((d&-128|0)==57216){a[b>>0]=d;b=1;break}else{c[(_g()|0)>>2]=84;b=-1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{c[(_g()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function uh(){return vh()|0}function vh(){return 40944}function wh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(xh(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){j=e+20|0;i=c[j>>2]|0;f=i;if((g-i|0)>>>0>>0){f=ic[c[e+36>>2]&7](e,b,d)|0;break}b:do if((a[e+75>>0]|0)<0|(d|0)==0){h=0;g=b}else{i=d;while(1){g=i+-1|0;if((a[b+g>>0]|0)==10)break;if(!g){h=0;g=b;break b}else i=g}f=ic[c[e+36>>2]&7](e,b,i)|0;if(f>>>0>>0)break a;h=i;g=b+i|0;d=d-i|0;f=c[j>>2]|0}while(0);pj(f|0,g|0,d|0)|0;c[j>>2]=(c[j>>2]|0)+d;f=h+d|0}while(0);return f|0}function xh(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;e=c[b+44>>2]|0;c[b+28>>2]=e;c[b+20>>2]=e;c[b+16>>2]=e+(c[b+48>>2]|0);b=0}else{c[b>>2]=d|32;b=-1}return b|0}function yh(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;u(c[h+4>>2]|0);return b|0}function zh(a,b){a=+a;b=b|0;var d=0,e=0,f=0;g[h>>3]=a;d=c[h>>2]|0;e=c[h+4>>2]|0;f=nj(d|0,e|0,52)|0;v()|0;switch(f&2047){case 0:{if(a!=0.0){a=+zh(a*18446744073709551616.0,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=(f&2047)+-1022;c[h>>2]=d;c[h+4>>2]=e&-2146435073|1071644672;a=+g[h>>3]}}return +a}function Ah(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=5;else{d=f;while(1){if(!(a[b>>0]|0)){b=d;break a}b=b+1|0;d=b;if(!(d&3)){e=5;break}}}while(0);if((e|0)==5){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function Bh(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);j=l;k=e&255;a[j>>0]=k;g=b+16|0;h=c[g>>2]|0;if(!h)if(!(xh(b)|0)){h=c[g>>2]|0;i=4}else f=-1;else i=4;do if((i|0)==4){i=b+20|0;g=c[i>>2]|0;if(g>>>0>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[i>>2]=g+1;a[g>>0]=k;break}if((ic[c[b+36>>2]&7](b,j,1)|0)==1)f=d[j>>0]|0;else f=-1}while(0);cc=l;return f|0}function Ch(a){a=a|0;var b=0,c=0;b=(Ah(a)|0)+1|0;c=Jh(b)|0;if(!c)a=0;else a=pj(c|0,a|0,b|0)|0;return a|0}function Dh(){ca(55280);return 55288}function Eh(){ja(55280);return}function Fh(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=Gh(a)|0;break}d=(ih(a)|0)==0;b=Gh(a)|0;if(!d)jh(a)}else{if(!(c[10235]|0))b=0;else b=Fh(c[10235]|0)|0;a=c[(Dh()|0)>>2]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=ih(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=Gh(a)|0|b;if(d|0)jh(a);a=c[a+56>>2]|0}while((a|0)!=0);Eh()}while(0);return b|0}function Gh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;h=a+28|0;if((c[b>>2]|0)>>>0>(c[h>>2]|0)>>>0?(ic[c[a+36>>2]&7](a,0,0)|0,(c[b>>2]|0)==0):0)a=-1;else{d=a+4|0;e=c[d>>2]|0;f=a+8|0;g=c[f>>2]|0;if(e>>>0>>0){g=e-g|0;jc[c[a+40>>2]&1](a,g,((g|0)<0)<<31>>31,1)|0;v()|0}c[a+16>>2]=0;c[h>>2]=0;c[b>>2]=0;c[f>>2]=0;c[d>>2]=0;a=0}return a|0}function Hh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);f=e;c[f>>2]=d;d=dh(a,b,f)|0;cc=e;return d|0}function Ih(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((c[d+76>>2]|0)>=0?(ih(d)|0)!=0:0){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(i=d+20|0,j=c[i>>2]|0,j>>>0<(c[d+16>>2]|0)>>>0):0){c[i>>2]=j+1;a[j>>0]=f}else e=Bh(d,b)|0;jh(d)}else k=3;do if((k|0)==3){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(g=d+20|0,h=c[g>>2]|0,h>>>0<(c[d+16>>2]|0)>>>0):0){c[g>>2]=h+1;a[h>>0]=f;break}e=Bh(d,b)|0}while(0);return e|0}function Jh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0;x=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);n=x;do if(a>>>0<245){k=a>>>0<11?16:a+11&-8;a=k>>>3;m=c[13823]|0;d=m>>>a;if(d&3|0){b=(d&1^1)+a|0;a=55332+(b<<1<<2)|0;d=a+8|0;e=c[d>>2]|0;f=e+8|0;g=c[f>>2]|0;if((g|0)==(a|0))c[13823]=m&~(1<>2]=a;c[d>>2]=g}v=b<<3;c[e+4>>2]=v|3;v=e+v+4|0;c[v>>2]=c[v>>2]|1;v=f;cc=x;return v|0}l=c[13825]|0;if(k>>>0>l>>>0){if(d|0){b=2<>>12&16;b=b>>>i;d=b>>>5&8;b=b>>>d;g=b>>>2&4;b=b>>>g;a=b>>>1&2;b=b>>>a;e=b>>>1&1;e=(d|i|g|a|e)+(b>>>e)|0;b=55332+(e<<1<<2)|0;a=b+8|0;g=c[a>>2]|0;i=g+8|0;d=c[i>>2]|0;if((d|0)==(b|0)){a=m&~(1<>2]=b;c[a>>2]=d;a=m}v=e<<3;h=v-k|0;c[g+4>>2]=k|3;f=g+k|0;c[f+4>>2]=h|1;c[g+v>>2]=h;if(l|0){e=c[13828]|0;b=l>>>3;d=55332+(b<<1<<2)|0;b=1<>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[13825]=h;c[13828]=f;v=i;cc=x;return v|0}g=c[13824]|0;if(g){d=(g&0-g)+-1|0;f=d>>>12&16;d=d>>>f;e=d>>>5&8;d=d>>>e;h=d>>>2&4;d=d>>>h;i=d>>>1&2;d=d>>>i;j=d>>>1&1;j=c[55596+((e|f|h|i|j)+(d>>>j)<<2)>>2]|0;d=j;i=j;j=(c[j+4>>2]&-8)-k|0;while(1){a=c[d+16>>2]|0;if(!a){a=c[d+20>>2]|0;if(!a)break}h=(c[a+4>>2]&-8)-k|0;f=h>>>0>>0;d=a;i=f?a:i;j=f?h:j}h=i+k|0;if(h>>>0>i>>>0){f=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){d=0;break}}while(1){e=b+20|0;d=c[e>>2]|0;if(!d){e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}else{b=d;a=e}}c[a>>2]=0;d=b}else{d=c[i+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);do if(f|0){b=c[i+28>>2]|0;a=55596+(b<<2)|0;if((i|0)==(c[a>>2]|0)){c[a>>2]=d;if(!d){c[13824]=g&~(1<>2]|0)==(i|0)?v:f+20|0)>>2]=d;if(!d)break}c[d+24>>2]=f;b=c[i+16>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}b=c[i+20>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}while(0);if(j>>>0<16){v=j+k|0;c[i+4>>2]=v|3;v=i+v+4|0;c[v>>2]=c[v>>2]|1}else{c[i+4>>2]=k|3;c[h+4>>2]=j|1;c[h+j>>2]=j;if(l|0){e=c[13828]|0;b=l>>>3;d=55332+(b<<1<<2)|0;b=1<>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[13825]=j;c[13828]=h}v=i+8|0;cc=x;return v|0}else m=k}else m=k}else m=k}else if(a>>>0<=4294967231){a=a+11|0;k=a&-8;e=c[13824]|0;if(e){f=0-k|0;a=a>>>8;if(a)if(k>>>0>16777215)j=31;else{m=(a+1048320|0)>>>16&8;q=a<>>16&4;q=q<>>16&2;j=14-(i|m|j)+(q<>>15)|0;j=k>>>(j+7|0)&1|j<<1}else j=0;d=c[55596+(j<<2)>>2]|0;a:do if(!d){d=0;a=0;q=61}else{a=0;i=k<<((j|0)==31?0:25-(j>>>1)|0);g=0;while(1){h=(c[d+4>>2]&-8)-k|0;if(h>>>0>>0)if(!h){a=d;f=0;q=65;break a}else{a=d;f=h}q=c[d+20>>2]|0;d=c[d+16+(i>>>31<<2)>>2]|0;g=(q|0)==0|(q|0)==(d|0)?g:q;if(!d){d=g;q=61;break}else i=i<<1}}while(0);if((q|0)==61){if((d|0)==0&(a|0)==0){a=2<>>12&16;m=m>>>h;g=m>>>5&8;m=m>>>g;i=m>>>2&4;m=m>>>i;j=m>>>1&2;m=m>>>j;d=m>>>1&1;a=0;d=c[55596+((g|h|i|j|d)+(m>>>d)<<2)>>2]|0}if(!d){i=a;h=f}else q=65}if((q|0)==65){g=d;while(1){m=(c[g+4>>2]&-8)-k|0;d=m>>>0>>0;f=d?m:f;a=d?g:a;d=c[g+16>>2]|0;if(!d)d=c[g+20>>2]|0;if(!d){i=a;h=f;break}else g=d}}if(((i|0)!=0?h>>>0<((c[13825]|0)-k|0)>>>0:0)?(l=i+k|0,l>>>0>i>>>0):0){g=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){b=0;break}}while(1){f=b+20|0;d=c[f>>2]|0;if(!d){f=b+16|0;d=c[f>>2]|0;if(!d)break;else{b=d;a=f}}else{b=d;a=f}}c[a>>2]=0}else{v=c[i+8>>2]|0;c[v+12>>2]=b;c[b+8>>2]=v}while(0);do if(g){a=c[i+28>>2]|0;d=55596+(a<<2)|0;if((i|0)==(c[d>>2]|0)){c[d>>2]=b;if(!b){e=e&~(1<>2]|0)==(i|0)?v:g+20|0)>>2]=b;if(!b)break}c[b+24>>2]=g;a=c[i+16>>2]|0;if(a|0){c[b+16>>2]=a;c[a+24>>2]=b}a=c[i+20>>2]|0;if(a){c[b+20>>2]=a;c[a+24>>2]=b}}while(0);b:do if(h>>>0<16){v=h+k|0;c[i+4>>2]=v|3;v=i+v+4|0;c[v>>2]=c[v>>2]|1}else{c[i+4>>2]=k|3;c[l+4>>2]=h|1;c[l+h>>2]=h;b=h>>>3;if(h>>>0<256){d=55332+(b<<1<<2)|0;a=c[13823]|0;b=1<>2]|0}c[a>>2]=l;c[b+12>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;break}b=h>>>8;if(b)if(h>>>0>16777215)d=31;else{u=(b+1048320|0)>>>16&8;v=b<>>16&4;v=v<>>16&2;d=14-(t|u|d)+(v<>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;b=55596+(d<<2)|0;c[l+28>>2]=d;a=l+16|0;c[a+4>>2]=0;c[a>>2]=0;a=1<>2]=l;c[l+24>>2]=b;c[l+12>>2]=l;c[l+8>>2]=l;break}b=c[b>>2]|0;c:do if((c[b+4>>2]&-8|0)!=(h|0)){e=h<<((d|0)==31?0:25-(d>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(h|0)){b=a;break c}else{e=e<<1;b=a}}c[d>>2]=l;c[l+24>>2]=b;c[l+12>>2]=l;c[l+8>>2]=l;break b}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=l;c[u>>2]=l;c[l+8>>2]=v;c[l+12>>2]=b;c[l+24>>2]=0}while(0);v=i+8|0;cc=x;return v|0}else m=k}else m=k}else m=-1;while(0);d=c[13825]|0;if(d>>>0>=m>>>0){b=d-m|0;a=c[13828]|0;if(b>>>0>15){v=a+m|0;c[13828]=v;c[13825]=b;c[v+4>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=m|3}else{c[13825]=0;c[13828]=0;c[a+4>>2]=d|3;v=a+d+4|0;c[v>>2]=c[v>>2]|1}v=a+8|0;cc=x;return v|0}h=c[13826]|0;if(h>>>0>m>>>0){t=h-m|0;c[13826]=t;v=c[13829]|0;u=v+m|0;c[13829]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;cc=x;return v|0}if(!(c[13941]|0)){c[13943]=4096;c[13942]=4096;c[13944]=-1;c[13945]=-1;c[13946]=0;c[13934]=0;c[13941]=n&-16^1431655768;a=4096}else a=c[13943]|0;i=m+48|0;j=m+47|0;g=a+j|0;f=0-a|0;k=g&f;if(k>>>0<=m>>>0){v=0;cc=x;return v|0}a=c[13933]|0;if(a|0?(l=c[13931]|0,n=l+k|0,n>>>0<=l>>>0|n>>>0>a>>>0):0){v=0;cc=x;return v|0}d:do if(!(c[13934]&4)){d=c[13829]|0;e:do if(d){e=55740;while(1){n=c[e>>2]|0;if(n>>>0<=d>>>0?(n+(c[e+4>>2]|0)|0)>>>0>d>>>0:0)break;a=c[e+8>>2]|0;if(!a){q=128;break e}else e=a}b=g-h&f;if(b>>>0<2147483647){a=sj(b|0)|0;if((a|0)==((c[e>>2]|0)+(c[e+4>>2]|0)|0)){if((a|0)!=(-1|0)){h=b;g=a;q=145;break d}}else{e=a;q=136}}else b=0}else q=128;while(0);do if((q|0)==128){d=sj(0)|0;if((d|0)!=(-1|0)?(b=d,o=c[13942]|0,p=o+-1|0,b=((p&b|0)==0?0:(p+b&0-o)-b|0)+k|0,o=c[13931]|0,p=b+o|0,b>>>0>m>>>0&b>>>0<2147483647):0){n=c[13933]|0;if(n|0?p>>>0<=o>>>0|p>>>0>n>>>0:0){b=0;break}a=sj(b|0)|0;if((a|0)==(d|0)){h=b;g=d;q=145;break d}else{e=a;q=136}}else b=0}while(0);do if((q|0)==136){d=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(e|0)!=(-1|0))))if((e|0)==(-1|0)){b=0;break}else{h=b;g=e;q=145;break d}a=c[13943]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=b;g=e;q=145;break d}if((sj(a|0)|0)==(-1|0)){sj(d|0)|0;b=0;break}else{h=a+b|0;g=e;q=145;break d}}while(0);c[13934]=c[13934]|4;q=143}else{b=0;q=143}while(0);if(((q|0)==143?k>>>0<2147483647:0)?(t=sj(k|0)|0,p=sj(0)|0,r=p-t|0,s=r>>>0>(m+40|0)>>>0,!((t|0)==(-1|0)|s^1|t>>>0

>>0&((t|0)!=(-1|0)&(p|0)!=(-1|0))^1)):0){h=s?r:b;g=t;q=145}if((q|0)==145){b=(c[13931]|0)+h|0;c[13931]=b;if(b>>>0>(c[13932]|0)>>>0)c[13932]=b;j=c[13829]|0;f:do if(j){b=55740;while(1){a=c[b>>2]|0;d=c[b+4>>2]|0;if((g|0)==(a+d|0)){q=154;break}e=c[b+8>>2]|0;if(!e)break;else b=e}if(((q|0)==154?(u=b+4|0,(c[b+12>>2]&8|0)==0):0)?g>>>0>j>>>0&a>>>0<=j>>>0:0){c[u>>2]=d+h;v=(c[13826]|0)+h|0;t=j+8|0;t=(t&7|0)==0?0:0-t&7;u=j+t|0;t=v-t|0;c[13829]=u;c[13826]=t;c[u+4>>2]=t|1;c[j+v+4>>2]=40;c[13830]=c[13945];break}if(g>>>0<(c[13827]|0)>>>0)c[13827]=g;d=g+h|0;b=55740;while(1){if((c[b>>2]|0)==(d|0)){q=162;break}a=c[b+8>>2]|0;if(!a)break;else b=a}if((q|0)==162?(c[b+12>>2]&8|0)==0:0){c[b>>2]=g;l=b+4|0;c[l>>2]=(c[l>>2]|0)+h;l=g+8|0;l=g+((l&7|0)==0?0:0-l&7)|0;b=d+8|0;b=d+((b&7|0)==0?0:0-b&7)|0;k=l+m|0;i=b-l-m|0;c[l+4>>2]=m|3;g:do if((j|0)==(b|0)){v=(c[13826]|0)+i|0;c[13826]=v;c[13829]=k;c[k+4>>2]=v|1}else{if((c[13828]|0)==(b|0)){v=(c[13825]|0)+i|0;c[13825]=v;c[13828]=k;c[k+4>>2]=v|1;c[k+v>>2]=v;break}a=c[b+4>>2]|0;if((a&3|0)==1){h=a&-8;e=a>>>3;h:do if(a>>>0<256){a=c[b+8>>2]|0;d=c[b+12>>2]|0;if((d|0)==(a|0)){c[13823]=c[13823]&~(1<>2]=d;c[d+8>>2]=a;break}}else{g=c[b+24>>2]|0;a=c[b+12>>2]|0;do if((a|0)==(b|0)){d=b+16|0;e=d+4|0;a=c[e>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}}else d=e;while(1){f=a+20|0;e=c[f>>2]|0;if(!e){f=a+16|0;e=c[f>>2]|0;if(!e)break;else{a=e;d=f}}else{a=e;d=f}}c[d>>2]=0}else{v=c[b+8>>2]|0;c[v+12>>2]=a;c[a+8>>2]=v}while(0);if(!g)break;d=c[b+28>>2]|0;e=55596+(d<<2)|0;do if((c[e>>2]|0)!=(b|0)){v=g+16|0;c[((c[v>>2]|0)==(b|0)?v:g+20|0)>>2]=a;if(!a)break h}else{c[e>>2]=a;if(a|0)break;c[13824]=c[13824]&~(1<>2]=g;d=b+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(!d)break;c[a+20>>2]=d;c[d+24>>2]=a}while(0);b=b+h|0;f=h+i|0}else f=i;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[k+4>>2]=f|1;c[k+f>>2]=f;b=f>>>3;if(f>>>0<256){d=55332+(b<<1<<2)|0;a=c[13823]|0;b=1<>2]|0}c[a>>2]=k;c[b+12>>2]=k;c[k+8>>2]=b;c[k+12>>2]=d;break}b=f>>>8;do if(!b)e=0;else{if(f>>>0>16777215){e=31;break}u=(b+1048320|0)>>>16&8;v=b<>>16&4;v=v<>>16&2;e=14-(t|u|e)+(v<>>15)|0;e=f>>>(e+7|0)&1|e<<1}while(0);b=55596+(e<<2)|0;c[k+28>>2]=e;a=k+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[13824]|0;d=1<>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break}b=c[b>>2]|0;i:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(f|0)){b=a;break i}else{e=e<<1;b=a}}c[d>>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break g}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=k;c[u>>2]=k;c[k+8>>2]=v;c[k+12>>2]=b;c[k+24>>2]=0}while(0);v=l+8|0;cc=x;return v|0}b=55740;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(v=a+(c[b+4>>2]|0)|0,v>>>0>j>>>0):0)break;b=c[b+8>>2]|0}f=v+-47|0;a=f+8|0;a=f+((a&7|0)==0?0:0-a&7)|0;f=j+16|0;a=a>>>0>>0?j:a;b=a+8|0;d=h+-40|0;t=g+8|0;t=(t&7|0)==0?0:0-t&7;u=g+t|0;t=d-t|0;c[13829]=u;c[13826]=t;c[u+4>>2]=t|1;c[g+d+4>>2]=40;c[13830]=c[13945];d=a+4|0;c[d>>2]=27;c[b>>2]=c[13935];c[b+4>>2]=c[13936];c[b+8>>2]=c[13937];c[b+12>>2]=c[13938];c[13935]=g;c[13936]=h;c[13938]=0;c[13937]=b;b=a+24|0;do{u=b;b=b+4|0;c[b>>2]=7}while((u+8|0)>>>0>>0);if((a|0)!=(j|0)){g=a-j|0;c[d>>2]=c[d>>2]&-2;c[j+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){d=55332+(b<<1<<2)|0;a=c[13823]|0;b=1<>2]|0}c[a>>2]=j;c[b+12>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{u=(b+1048320|0)>>>16&8;v=b<>>16&4;v=v<>>16&2;e=14-(t|u|e)+(v<>>15)|0;e=g>>>(e+7|0)&1|e<<1}else e=0;d=55596+(e<<2)|0;c[j+28>>2]=e;c[j+20>>2]=0;c[f>>2]=0;b=c[13824]|0;a=1<>2]=j;c[j+24>>2]=d;c[j+12>>2]=j;c[j+8>>2]=j;break}b=c[d>>2]|0;j:do if((c[b+4>>2]&-8|0)!=(g|0)){e=g<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(g|0)){b=a;break j}else{e=e<<1;b=a}}c[d>>2]=j;c[j+24>>2]=b;c[j+12>>2]=j;c[j+8>>2]=j;break f}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=j;c[u>>2]=j;c[j+8>>2]=v;c[j+12>>2]=b;c[j+24>>2]=0}}else{v=c[13827]|0;if((v|0)==0|g>>>0>>0)c[13827]=g;c[13935]=g;c[13936]=h;c[13938]=0;c[13832]=c[13941];c[13831]=-1;c[13836]=55332;c[13835]=55332;c[13838]=55340;c[13837]=55340;c[13840]=55348;c[13839]=55348;c[13842]=55356;c[13841]=55356;c[13844]=55364;c[13843]=55364;c[13846]=55372;c[13845]=55372;c[13848]=55380;c[13847]=55380;c[13850]=55388;c[13849]=55388;c[13852]=55396;c[13851]=55396;c[13854]=55404;c[13853]=55404;c[13856]=55412;c[13855]=55412;c[13858]=55420;c[13857]=55420;c[13860]=55428;c[13859]=55428;c[13862]=55436;c[13861]=55436;c[13864]=55444;c[13863]=55444;c[13866]=55452;c[13865]=55452;c[13868]=55460;c[13867]=55460;c[13870]=55468;c[13869]=55468;c[13872]=55476;c[13871]=55476;c[13874]=55484;c[13873]=55484;c[13876]=55492;c[13875]=55492;c[13878]=55500;c[13877]=55500;c[13880]=55508;c[13879]=55508;c[13882]=55516;c[13881]=55516;c[13884]=55524;c[13883]=55524;c[13886]=55532;c[13885]=55532;c[13888]=55540;c[13887]=55540;c[13890]=55548;c[13889]=55548;c[13892]=55556;c[13891]=55556;c[13894]=55564;c[13893]=55564;c[13896]=55572;c[13895]=55572;c[13898]=55580;c[13897]=55580;v=h+-40|0;t=g+8|0;t=(t&7|0)==0?0:0-t&7;u=g+t|0;t=v-t|0;c[13829]=u;c[13826]=t;c[u+4>>2]=t|1;c[g+v+4>>2]=40;c[13830]=c[13945]}while(0);b=c[13826]|0;if(b>>>0>m>>>0){t=b-m|0;c[13826]=t;v=c[13829]|0;u=v+m|0;c[13829]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;cc=x;return v|0}}c[(_g()|0)>>2]=12;v=0;cc=x;return v|0} -function rc(){Yd();Tg()}function sc(a){a=a|0;var b=0;b=cc;cc=cc+a|0;cc=cc+15&-16;if((cc|0)>=(dc|0))w(a|0);return b|0}function tc(){return cc|0}function uc(a){a=a|0;cc=a}function vc(a,b){a=a|0;b=b|0;cc=a;dc=b}function wc(){ab();return 0}function xc(a){a=a|0;var b=0;ma(584,592,608,0,48339,3,48342,0,48342,0,47614,48344,22);b=Qh(8)|0;c[b>>2]=2;c[b+4>>2]=0;oa(584,47623,3,1480,48347,3,b|0,0);b=Qh(8)|0;c[b>>2]=3;c[b+4>>2]=0;oa(584,47629,3,1492,48347,4,b|0,0);b=Qh(8)|0;c[b>>2]=23;c[b+4>>2]=0;oa(584,47636,2,1504,48352,4,b|0,0);b=Qh(8)|0;c[b>>2]=24;c[b+4>>2]=0;oa(584,47643,2,1504,48352,4,b|0,0);b=Qh(8)|0;c[b>>2]=5;c[b+4>>2]=0;a=Qh(8)|0;c[a>>2]=6;c[a+4>>2]=0;pa(584,47661,576,48356,1,b|0,576,48347,5,a|0);a=Qh(8)|0;c[a>>2]=7;c[a+4>>2]=0;b=Qh(8)|0;c[b>>2]=8;c[b+4>>2]=0;pa(584,47671,576,48356,1,a|0,576,48347,5,b|0);b=Qh(8)|0;c[b>>2]=9;c[b+4>>2]=0;a=Qh(8)|0;c[a>>2]=10;c[a+4>>2]=0;pa(584,47679,576,48356,1,b|0,576,48347,5,a|0);a=Qh(8)|0;c[a>>2]=11;c[a+4>>2]=0;b=Qh(8)|0;c[b>>2]=12;c[b+4>>2]=0;pa(584,47691,576,48356,1,a|0,576,48347,5,b|0);b=Qh(8)|0;c[b>>2]=13;c[b+4>>2]=0;a=Qh(8)|0;c[a>>2]=14;c[a+4>>2]=0;pa(584,47703,576,48356,1,b|0,576,48347,5,a|0);a=Qh(8)|0;c[a>>2]=15;c[a+4>>2]=0;pa(584,47707,576,48356,1,a|0,0,0,0,0);ma(664,680,696,584,48339,4,48339,5,48339,6,47718,48344,25);a=Qh(4)|0;c[a>>2]=26;oa(664,48360,2,1512,48352,16,a|0,0);na(584,48380,3,1520,48516,6,2);na(584,48390,3,1644,48516,7,6);return}function yc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);n=o+8|0;m=o;e=b+22908|0;l=b+4|0;if(a[e>>0]|0){f=c[l>>2]|0;if((a[55120]|0)==0?aj(55120)|0:0)c[13794]=Ga(1,1440)|0;Da(c[13794]|0,f|0,47731,m|0)}a[e>>0]=1;g=c[l>>2]|0;j=La(47737)|0;g=Ha(g|0,j|0)|0;Ea(j|0);j=Qc(g,47749)|0;Ea(g|0);c[n>>2]=47757;c[n+4>>2]=j?47766:47771;Ya(0,n|0);a[b+22764>>0]=j&1;j=d+11|0;g=a[j>>0]|0;h=g<<24>>24<0;f=h?c[d>>2]|0:d;k=d+4|0;g=h?c[k>>2]|0:g&255;h=f+g|0;e=h;i=f;a:do if((g|0)<4)g=h;else{while(1){g=g+-3|0;if(!g){g=h;break a}f=qh(f,46,g)|0;if(!f){g=h;break a}if(!(bh(f,47777,4)|0))break;f=f+1|0;g=e-f|0;if((g|0)<4){g=h;break a}}g=f;e=f}while(0);a[b+22909>>0]=(e-i|0)!=-1&(g|0)!=(h|0)&1;h=Fa(47782)|0;e=a[j>>0]|0;if(e<<24>>24<0){f=c[k>>2]|0;g=Jh(f+4|0)|0;c[g>>2]=f;e=c[d>>2]|0}else{f=e&255;g=Jh(f+4|0)|0;c[g>>2]=f;e=d}pj(g+4|0,e|0,f|0)|0;c[n>>2]=g;c[m>>2]=Ka(h|0,1,1448,n|0)|0;Ea(h|0);Oc(m,47792,47803);Pc(n,b,47629);k=c[m>>2]|0;d=La(47815)|0;Pa(k|0,d|0,c[n>>2]|0);Ea(d|0);Ea(c[n>>2]|0);c[b+22900>>2]=Ua()|0;b=c[l>>2]|0;n=La(47825)|0;Pa(b|0,n|0,c[m>>2]|0);Ea(n|0);Ea(c[m>>2]|0);cc=o;return}function zc(b,e){b=b|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0;A=cc;cc=cc+64|0;if((cc|0)>=(dc|0))w(64);k=A+8|0;u=A;z=A+48|0;s=A+32|0;t=A+16|0;f=c[e>>2]|0;y=La(47953)|0;c[s>>2]=Ha(f|0,y|0)|0;Ea(y|0);Tc(z,s);Ea(c[s>>2]|0);y=z+11|0;f=a[y>>0]|0;j=z+4|0;e=b+22904|0;c[e>>2]=(c[e>>2]|0)+(f<<24>>24<0?c[j>>2]|0:f&255);f=Ua()|0;h=b+22900|0;i=c[h>>2]|0;if((f|0)>(i|0)){g[b+22920>>3]=+(c[e>>2]|0)*1.0e3/+(f-i|0);c[h>>2]=f;c[e>>2]=0}a:do if(!(a[b+22909>>0]|0))switch(a[(gi(z,0)|0)>>0]|0){case 1:{bi(t,z,1,-1,z);c[s>>2]=c[t>>2];c[s+4>>2]=c[t+4>>2];c[s+8>>2]=c[t+8>>2];q=s+12|0;c[q>>2]=0;x=s+11|0;v=(a[x>>0]|0)<0?c[s>>2]|0:s;t=a[v+3>>0]|0;r=a[v+2>>0]|0;u=a[v+1>>0]|0;v=a[v>>0]|0;c[q>>2]=4;Uc(b,(r&255)<<8|t&255|(u&255)<<16|(v&255)<<24,s);if((a[x>>0]|0)<0)Rh(c[s>>2]|0);break a}case 2:{bi(t,z,1,-1,z);c[s>>2]=c[t>>2];c[s+4>>2]=c[t+4>>2];c[s+8>>2]=c[t+8>>2];q=s+12|0;c[q>>2]=0;x=s+11|0;v=(a[x>>0]|0)<0?c[s>>2]|0:s;t=a[v+3>>0]|0;r=a[v+2>>0]|0;u=a[v+1>>0]|0;v=a[v>>0]|0;c[q>>2]=4;Vc(b,(r&255)<<8|t&255|(u&255)<<16|(v&255)<<24,s);if((a[x>>0]|0)<0)Rh(c[s>>2]|0);break a}default:{b=a[(gi(z,0)|0)>>0]|0;c[k>>2]=47974;c[k+4>>2]=b;Ya(1,k|0);break a}}else{x=b+12|0;p=a[y>>0]|0;r=p<<24>>24<0;hi(x,r?c[z>>2]|0:z,r?c[j>>2]|0:p&255)|0;j=b+8|0;p=x+11|0;if(!(a[j>>0]|0)){e=a[p>>0]|0;f=e<<24>>24<0;if(f)h=c[b+16>>2]|0;else h=e&255;i=b+24|0;if((h-(c[i>>2]|0)|0)<=12)break;a[j>>0]=1;c[i>>2]=13;if(f){e=c[b+16>>2]|0;f=c[x>>2]|0}else{e=e&255;f=x}b=e+-13|0;qj(f|0,f+13|0,b|0)|0;di(x,b,0);c[i>>2]=0;break}l=b+16|0;q=b+24|0;m=t+11|0;n=t+4|0;o=s+11|0;while(1){i=a[p>>0]|0;j=i<<24>>24<0;if(j)e=c[l>>2]|0;else e=i&255;r=c[q>>2]|0;if((e-r|0)<=3)break;if(j)e=c[x>>2]|0;else e=x;h=r+1|0;k=a[e+r>>0]|0;c[q>>2]=h;h=e+h+3+-1|0;e=a[h>>0]|0;B=a[h+-1>>0]|0;h=a[h+-2>>0]|0;f=r+4|0;c[q>>2]=f;h=(B&255)<<8|e&255|(h&255)<<16;if(j)e=c[l>>2]|0;else e=i&255;if((e-f|0)>>>0<(h+11|0)>>>0){v=24;break}if(j)e=c[x>>2]|0;else e=x;e=e+f+3+-1|0;e=d[e+-1>>0]<<8|d[e>>0]|d[e+-2>>0]<<16;B=r+11|0;c[q>>2]=B;c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;c[s+12>>2]=0;bi(t,x,B,h,x);B=a[m>>0]|0;r=B<<24>>24<0;B=r?c[n>>2]|0:B&255;c[q>>2]=(c[q>>2]|0)+B;hi(s,r?c[t>>2]|0:t,B)|0;if((a[m>>0]|0)<0)Rh(c[t>>2]|0);switch(k<<24>>24){case 8:{Uc(b,e,s);break}case 9:{Vc(b,e,s);break}default:{c[u>>2]=47958;c[u+4>>2]=k&255;Ya(0,u|0)}}c[q>>2]=(c[q>>2]|0)+4;if((a[o>>0]|0)<0)Rh(c[s>>2]|0)}if((v|0)==24)c[q>>2]=r;if(j){e=c[l>>2]|0;f=c[x>>2]|0}else{e=i&255;f=x}B=e-r|0;qj(f|0,f+r|0,B|0)|0;di(x,B,0);c[q>>2]=0}while(0);if((a[y>>0]|0)>=0){cc=A;return}Rh(c[z>>2]|0);cc=A;return}function Ac(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);h=j;g=Fa(48277)|0;f=b+22892|0;c[h>>2]=c[f>>2];Ea(Ba(g|0,1,1476,h|0)|0);Ea(g|0);g=b+22864|0;ld(g);kd(g);h=c[b+22868>>2]|0;i=b+22872|0;d=c[i>>2]|0;if((d|0)!=(h|0))c[i>>2]=d+(~((d+-4-h|0)>>>2)<<2);md(g);c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;if((a[b+22764>>0]|0)==0?(e=c[b+22736>>2]|0,e|0):0)Kh(e);c[f>>2]=0;a[b+22896>>0]=1;a[b+22888>>0]=0;di(b+12|0,0,0);c[b+24>>2]=0;a[b+8>>0]=0;cc=j;return}function Bc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);g=o+4|0;i=o;j=b+22884|0;a:do if(c[j>>2]|0){k=b+22868|0;l=b+22880|0;m=b+4|0;n=b+22916|0;h=b+22728|0;f=0;d=c[l>>2]|0;while(1){p=(d>>>0)/204|0;e=c[(c[k>>2]|0)+(p<<2)>>2]|0;d=d-(p*204|0)|0;if(f?(c[g>>2]=c[e+(d*20|0)>>2],p=bd(c[m>>2]|0,48268,g)|0,p=((c[n>>2]|0)*1e3|0)+p|0,c[i>>2]=p,(p|0)>0):0)break;ad(h,e+(d*20|0)+4|0);d=c[l>>2]|0;e=(d>>>0)/204|0;e=(c[(c[k>>2]|0)+(e<<2)>>2]|0)+((d-(e*204|0)|0)*20|0)+4|0;if((a[e+11>>0]|0)<0){Rh(c[e>>2]|0);d=c[l>>2]|0}e=(c[j>>2]|0)+-1|0;c[j>>2]=e;d=d+1|0;c[l>>2]=d;if(d>>>0>407){Rh(c[c[k>>2]>>2]|0);c[k>>2]=(c[k>>2]|0)+4;d=(c[l>>2]|0)+-204|0;c[l>>2]=d;e=c[j>>2]|0}if(!e)break a;else f=1}a[b+22888>>0]=1;c[b+22892>>2]=cd(c[m>>2]|0,48252,i)|0;cc=o;return}while(0);a[b+22888>>0]=0;cc=o;return}function Cc(a,b){a=a|0;b=b|0;var e=0,f=0;e=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);f=e;c[f>>2]=d[b+22908>>0];c[a>>2]=Qa(1328,f|0)|0;cc=e;return}function Dc(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0;e=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);g=e;f=+Aa(c[d>>2]|0,1328,g|0);Oa(c[g>>2]|0);a[b+22908>>0]=f!=0.0&1;cc=e;return}function Ec(a,b){a=a|0;b=b|0;var e=0,f=0;e=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);f=e;c[f>>2]=d[b+22909>>0];c[a>>2]=Qa(1328,f|0)|0;cc=e;return}function Fc(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0;e=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);g=e;f=+Aa(c[d>>2]|0,1328,g|0);Oa(c[g>>2]|0);a[b+22909>>0]=f!=0.0&1;cc=e;return}function Gc(a,b){a=a|0;b=b|0;var d=0,e=0;d=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);e=d;c[e>>2]=c[b+22912>>2];c[a>>2]=Qa(1376,e|0)|0;cc=d;return}function Hc(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);f=d;e=+Aa(c[b>>2]|0,1376,f|0);Oa(c[f>>2]|0);c[a+22912>>2]=~~e;cc=d;return}function Ic(a,b){a=a|0;b=b|0;var d=0,e=0;d=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);e=d;c[e>>2]=c[b+22916>>2];c[a>>2]=Qa(1376,e|0)|0;cc=d;return}function Jc(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);f=d;e=+Aa(c[b>>2]|0,1376,f|0);Oa(c[f>>2]|0);c[a+22916>>2]=~~e;cc=d;return}function Kc(a,b){a=a|0;b=b|0;var d=0,e=0;d=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);e=d;g[e>>3]=+g[b+22920>>3];c[a>>2]=Qa(1416,e|0)|0;cc=d;return}function Lc(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);f=d;e=+Aa(c[b>>2]|0,1416,f|0);Oa(c[f>>2]|0);g[a+22920>>3]=e;cc=d;return}function Mc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);e=d+4|0;f=d;c[e>>2]=Ma()|0;i=b+22868|0;h=b+22880|0;j=c[h>>2]|0;g=(j>>>0)/204|0;nd(e,48290,(c[(c[i>>2]|0)+(g<<2)>>2]|0)+((j-(g*204|0)|0)*20|0)|0);b=b+22884|0;h=(c[b>>2]|0)+-1+(c[h>>2]|0)|0;g=(h>>>0)/204|0;od(e,48296,(c[(c[i>>2]|0)+(g<<2)>>2]|0)+((h-(g*204|0)|0)*20|0)|0);c[f>>2]=c[b>>2];pd(e,48301,f);b=c[e>>2]|0;c[a>>2]=b;Ia(b|0);Ea(c[e>>2]|0);cc=d;return}function Nc(a){a=a|0;Ea(c[a>>2]|0);return}function Oc(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a>>2]|0;b=La(b|0)|0;d=La(d|0)|0;Pa(a|0,b|0,d|0);Ea(d|0);Ea(b|0);return}function Pc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;b=b+4|0;f=c[b>>2]|0;e=La(d|0)|0;d=Ha(f|0,e|0)|0;Ea(e|0);Sc(a,d,47929,b);Ea(d|0);return}function Qc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0.0;g=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);e=g;f=g+8|0;if((a[55128]|0)==0?aj(55128)|0:0)c[13795]=Ga(1,1444)|0;h=+Ca(c[13795]|0,b|0,d|0,f|0,e|0);Oa(c[f>>2]|0);cc=g;return h!=0.0|0}function Rc(a){a=a|0;Y(a|0)|0;Fi()}function Sc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0.0,k=0;i=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);g=i;h=i+8|0;if((a[55136]|0)==0?aj(55136)|0:0)c[13796]=Ga(2,1452)|0;k=c[13796]|0;Ia(c[f>>2]|0);c[g>>2]=c[f>>2];j=+Ca(k|0,d|0,e|0,h|0,g|0);h=c[h>>2]|0;c[b>>2]=~~j>>>0;Oa(h|0);cc=i;return}function Tc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0.0,j=0;h=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);e=h;i=+Aa(c[d>>2]|0,552,e|0);e=c[e>>2]|0;g=~~i>>>0;f=g+4|0;g=c[g>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;if(g>>>0>4294967279)Wh(b);if(g>>>0<11){a[b+11>>0]=g;if(!g){f=b;g=f+g|0;a[g>>0]=0;Oa(e|0);cc=h;return}else d=b}else{j=g+16&-16;d=Qh(j)|0;c[b>>2]=d;c[b+8>>2]=j|-2147483648;c[b+4>>2]=g}pj(d|0,f|0,g|0)|0;j=d;j=j+g|0;a[j>>0]=0;Oa(e|0);cc=h;return}function Uc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);i=j;h=e+12|0;f=c[h>>2]|0;d=a[((a[e+11>>0]|0)<0?c[e>>2]|0:e)+f+1+-1>>0]|0;c[h>>2]=f+1;d=d&255;h=d>>>4;f=b+22897|0;if(a[f>>0]|0){g=(d&1)+1|0;d=d>>>2;switch(d&3){case 1:{d=11025;break}case 2:{d=22050;break}case 3:{d=44100;break}default:d=d&3}switch(h&15){case 10:{Xc(b,c[b+22912>>2]<<10,d,g);break}case 11:{Xc(b,16e3,16e3,g);break}case 2:{Xc(b,(c[b+22912>>2]|0)*576|0,d,g);break}default:{}}if(a[f>>0]|0){cc=j;return}}g=b+28|0;if((h|0)!=2){cc=j;return}d=c[b+36>>2]|0;f=b+32|0;d=Yc(g,e,d+(c[f>>2]|0)|0,d+(c[g>>2]|0)|0)|0;if(!d){cc=j;return}h=(c[f>>2]|0)+d|0;e=(h|0)==(c[g>>2]|0);c[f>>2]=e?0:h;if(!e){cc=j;return}d=c[b+4>>2]|0;if((a[55120]|0)==0?aj(55120)|0:0)c[13794]=Ga(1,1440)|0;Da(c[13794]|0,d|0,48057,i|0);cc=j;return}function Vc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=cc;cc=cc+64|0;if((cc|0)>=(dc|0))w(64);q=r+40|0;m=r+32|0;l=r+24|0;k=r+16|0;j=r+8|0;o=r;n=r+48|0;p=e+12|0;f=c[p>>2]|0;g=((a[e+11>>0]|0)<0?c[e>>2]|0:e)+f|0;h=a[g+1>>0]|0;i=b+22896|0;if(a[i>>0]|0){g=a[g>>0]|0;f=g&15;switch(g&15){case 7:{c[j>>2]=48103;Ya(0,j|0);break}case 12:{c[k>>2]=48118;Ya(0,k|0);break}default:{c[l>>2]=48133;c[l+4>>2]=f;Ya(0,l|0);cc=r;return}}if(!(h<<24>>24==0&(g&-16)<<24>>24==16)){cc=r;return}$c(b+22728|0,e,f);a[i>>0]=0;c[m>>2]=48193;Ya(0,m|0);cc=r;return}if(h<<24>>24!=1){f=c[b+4>>2]|0;if((a[55120]|0)==0?aj(55120)|0:0)c[13794]=Ga(1,1440)|0;Da(c[13794]|0,f|0,48227,o|0);cc=r;return}if(!d){cc=r;return}c[p>>2]=f+5;f=b+22916|0;a:do if(c[f>>2]|0){g=b+22888|0;do if(!(a[g>>0]|0)){c[o>>2]=d;h=b+4|0;o=bd(c[h>>2]|0,48268,o)|0;o=((c[f>>2]|0)*1e3|0)+o|0;c[n>>2]=o;if((o|0)>0){a[g>>0]=1;c[b+22892>>2]=cd(c[h>>2]|0,48252,n)|0;break}else break a}while(0);j=b+22872|0;g=c[j>>2]|0;k=b+22868|0;f=c[k>>2]|0;o=g-f|0;i=b+22880|0;l=b+22884|0;h=(c[l>>2]|0)+(c[i>>2]|0)|0;if((((o|0)==0?0:((o>>2)*204|0)+-1|0)|0)==(h|0)){dd(b+22864|0);h=(c[i>>2]|0)+(c[l>>2]|0)|0;g=c[j>>2]|0;f=c[k>>2]|0}if((g|0)==(f|0))f=0;else{b=(h>>>0)/204|0;f=(c[f+(b<<2)>>2]|0)+((h-(b*204|0)|0)*20|0)|0}c[f>>2]=d;b=f+4|0;c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[f+16>>2]=c[p>>2];c[l>>2]=(c[l>>2]|0)+1;c[q>>2]=48209;c[q+4>>2]=d;Ya(0,q|0);cc=r;return}while(0);ad(b+22728|0,e);cc=r;return}function Wc(b){b=b|0;if((a[b+11>>0]|0)>=0)return;Rh(c[b>>2]|0);return}function Xc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=cc;cc=cc+32|0;if((cc|0)>=(dc|0))w(32);h=i;a[b+22897>>0]=0;j=r(d<<1,f)|0;g=b+36|0;c[g>>2]=Jh(c[b+28>>2]|0)|0;c[h>>2]=48077;c[h+4>>2]=j;Ya(0,h|0);g=c[g>>2]>>1;b=c[b+4>>2]|0;if((a[55144]|0)==0?aj(55144)|0:0)c[13797]=Ga(5,16)|0;j=c[13797]|0;c[h>>2]=d;c[h+8>>2]=e;c[h+16>>2]=f;c[h+24>>2]=g;Da(j|0,b|0,48067,h|0);cc=i;return}function Yc(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=d+12|0;i=d+22668|0;j=i+11|0;h=a[j>>0]|0;if(h<<24>>24<0)n=c[d+22672>>2]|0;else n=h&255;h=e+11|0;q=a[h>>0]|0;k=e+4|0;l=e+12|0;di(i,n-(c[l>>2]|0)+(q<<24>>24<0?c[k>>2]|0:q&255)|0,0);if((a[j>>0]|0)<0)m=c[i>>2]|0;else m=i;h=a[h>>0]|0;if(h<<24>>24<0){h=c[l>>2]|0;i=c[k>>2]|0;j=h;h=(c[e>>2]|0)+h|0}else{q=c[l>>2]|0;i=h&255;j=q;h=e+q|0}pj(m+n|0,h|0,i-j|0)|0;if((Zc(s)|0)==-1){s=0;return s|0}o=d+13448|0;p=d+13450|0;q=d+13452|0;n=d+18060|0;h=0;while(1){i=b[o>>1]|0;d=b[p>>1]|0;j=d&65535;h=(r((i&65535)<<1,j)|0)+h|0;e=j+-1|0;do if(d<<16>>16)if(i<<16>>16==2){m=j<<2;j=n;k=q;l=f;i=e;while(1){d=c[k>>2]|0;d=(d|0)>268431359?32767:(d|0)<-268439552?-32768:d+4096>>13;a[l>>0]=d;a[l+1>>0]=d>>>8;d=c[j>>2]|0;d=(d|0)>268431359?32767:(d|0)<-268439552?-32768:d+4096>>13;a[l+2>>0]=d;a[l+3>>0]=d>>>8;if(!i)break;else{j=j+4|0;k=k+4|0;l=l+4|0;i=i+-1|0}}f=f+m|0;break}else{l=j<<1;j=q;k=f;i=e;while(1){d=c[j>>2]|0;d=(d|0)>268431359?32767:(d|0)<-268439552?-32768:d+4096>>13;a[k>>0]=d;a[k+1>>0]=d>>>8;if(!i)break;else{j=j+4|0;k=k+2|0;i=i+-1|0}}f=f+l|0;break}while(0);if(f>>>0>=g>>>0){f=22;break}if((Zc(s)|0)==-1){f=22;break}}if((f|0)==22)return h|0;return 0}function Zc(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=cc;cc=cc+272|0;if((cc|0)>=(dc|0))w(272);t=u+256|0;s=u;k=u+248|0;l=u+244|0;q=d+22656|0;n=q+11|0;if((a[n>>0]|0)<0)e=c[q>>2]|0;else e=q;r=d+22668|0;i=e+(c[r>>2]|0)|0;j=_c(d,i)|0;if((j|0)==-1){d=-1;cc=u;return d|0}f=c[r>>2]|0;g=f+j|0;c[r>>2]=g;e=a[n>>0]|0;if(e<<24>>24<0)e=c[d+22660>>2]|0;else e=e&255;if((e|0)==(g|0)){c[r>>2]=f;d=-1;cc=u;return d|0}e=d+9328|0;if((c[e>>2]|0)==0?(p=Lh(1152,4)|0,c[e>>2]=p,(p|0)==0):0){c[d+60>>2]=49;g=d+92|0;e=d+68|0}else{e=d+68|0;f=(c[e>>2]|0)==0;g=d+92|0;h=c[g>>2]|0;if(((h&16|0)!=0?(m=d+28|0,p=c[m+4>>2]|0,o=s,c[o>>2]=c[m>>2],c[o+4>>2]=p,o=d+88|0,p=b[o>>1]|0,c[t>>2]=c[s>>2],c[t+4>>2]=c[s+4>>2],p=yg(t,(h&4096|0)==0?(f?136:256):f?72:136,p)|0,b[o>>1]=p,p<<16>>16!=(b[d+90>>1]|0)):0)?(c[d+108>>2]&1|0)==0:0)c[d+60>>2]=513}p=d+64|0;o=(c[e>>2]|0)==0?1:2;f=d+28|0;Hg(f,o,c[g>>2]&4096,s,l,k)|0;c[g>>2]=c[g>>2]|c[k>>2];g=d+96|0;c[g>>2]=c[g>>2]|c[s+4>>2];g=vg(f)|0;f=i-g+j|0;if((a[n>>0]|0)<0)e=c[q>>2]|0;else e=q;tg(t,e+(c[r>>2]|0)|0);e=xg(t,32)|0;if((e&-1703936|0)==-1966080){if(!(e&65536))wg(t,16);j=xg(t,e>>>19&1|8)|0}else j=0;m=d+22672|0;k=m+11|0;e=a[k>>0]|0;if(e<<24>>24<0)e=c[d+22676>>2]|0;else e=e&255;l=d+22684|0;i=e-(c[l>>2]|0)|0;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;di(t,f,0);h=t+11|0;pj(((a[h>>0]|0)<0?c[t>>2]|0:t)+(c[t+12>>2]|0)|0,g|0,f|0)|0;g=a[h>>0]|0;f=g<<24>>24<0;hi(m,f?c[t>>2]|0:t,f?c[t+4>>2]|0:g&255)|0;if((a[h>>0]|0)<0)Rh(c[t>>2]|0);e=a[n>>0]|0;if(e<<24>>24<0){e=c[r>>2]|0;f=c[q>>2]|0;g=e;e=(c[d+22660>>2]|0)-e|0}else{n=c[r>>2]|0;f=q;g=n;e=(e&255)-n|0}qj(f|0,f+g|0,e|0)|0;di(q,e,0);c[r>>2]=0;e=a[k>>0]|0;h=e<<24>>24<0;if(h)e=c[d+22676>>2]|0;else e=e&255;g=e-(c[l>>2]|0)|0;e=c[s>>2]|0;if(i>>>0>>0|g>>>0>>0)e=-1;else{f=i-e|0;c[l>>2]=f;if(h)e=c[m>>2]|0;else e=m;tg(t,e+f|0);Ig(t,p,s,o)|0;Cg(d+9332|0,p);g=g-j-f+(c[l>>2]|0)|0;c[l>>2]=g;e=a[k>>0]|0;if(e<<24>>24<0){e=c[d+22676>>2]|0;f=c[m>>2]|0}else{e=e&255;f=m}e=e-g|0;qj(f|0,f+g|0,e|0)|0;di(m,e,0);c[l>>2]=0;e=0}d=e;cc=u;return d|0}function _c(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=a+64|0;tg(a+28|0,b);c[a+20>>2]=b;Og(h,a)|0;d=a+100|0;switch(c[h>>2]|0){case 1:{b=384;break}case 3:{b=(c[a+92>>2]&4096|0)==0?1152:576;f=3;break}default:{b=1152;f=3}}g=a+84|0;Pg(d,0,b,c[g>>2]|0);d=a+80|0;e=c[d>>2]|0;if(!e){b=a+16|0;e=c[b>>2]|0;if(!((e|0)!=0?!(e>>>0>64e4&(c[h>>2]|0)==3):0))f=8;do if((f|0)==8)if((Qg(a,h)|0)==-1){h=-1;return h|0}else{e=c[b>>2]|0;break}while(0);c[d>>2]=e;f=a+92|0;b=c[f>>2]|1024;c[f>>2]=b}else b=c[a+92>>2]|0;d=b>>>7&1;switch(c[h>>2]|0){case 1:{h=(((e*12|0)>>>0)/((c[g>>2]|0)>>>0)|0)+d<<2;return h|0}case 3:{b=(b&4096|0)==0?144:72;break}default:b=144}h=r(e,b)|0;h=((h>>>0)/((c[g>>2]|0)>>>0)|0)+d|0;return h|0}function $c(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);j=l;k=d+12|0;g=c[k>>2]|0;c[j>>2]=48241;c[j+4>>2]=e;Ya(0,j|0);switch(e|0){case 7:{j=d+11|0;c[b+32>>2]=a[((a[j>>0]|0)<0?c[d>>2]|0:d)+(c[k>>2]|0)+9>>0]&3;n=g+11|0;c[k>>2]=n;f=a[j>>0]|0;e=c[d>>2]|0;i=f<<24>>24<0?e:d;n=i+n+2+-1|0;m=a[n>>0]|0;n=a[n+-1>>0]|0;h=g+13|0;c[k>>2]=h;g=(n&255)<<8|m&255;if(g){nc[c[(c[b>>2]|0)+20>>2]&7](b,i+h|0,g);h=(c[k>>2]|0)+g|0;c[k>>2]=h;f=a[j>>0]|0;e=c[d>>2]|0}n=h+1|0;c[k>>2]=n;g=f<<24>>24<0?e:d;n=g+n+2+-1|0;e=a[n>>0]|0;n=a[n+-1>>0]|0;f=h+3|0;c[k>>2]=f;e=(n&255)<<8|e&255;if(!e){cc=l;return}nc[c[(c[b>>2]|0)+20>>2]&7](b,g+f|0,e);cc=l;return}case 12:{j=d+11|0;c[b+32>>2]=a[((a[j>>0]|0)<0?c[d>>2]|0:d)+(c[k>>2]|0)+27>>0]&3;i=g+31|0;c[k>>2]=i;n=(a[j>>0]|0)<0?c[d>>2]|0:d;i=n+i+2+-1|0;m=a[i>>0]|0;i=a[i+-1>>0]|0;h=g+33|0;c[k>>2]=h;m=(i&255)<<8|m&255;nc[c[(c[b>>2]|0)+20>>2]&7](b,n+h|0,m);m=(c[k>>2]|0)+m|0;h=m+3|0;c[k>>2]=h;n=(a[j>>0]|0)<0?c[d>>2]|0:d;h=n+h+2+-1|0;i=a[h>>0]|0;h=a[h+-1>>0]|0;m=m+5|0;c[k>>2]=m;i=(h&255)<<8|i&255;nc[c[(c[b>>2]|0)+20>>2]&7](b,n+m|0,i);i=(c[k>>2]|0)+i|0;m=i+3|0;c[k>>2]=m;j=(a[j>>0]|0)<0?c[d>>2]|0:d;m=j+m+2+-1|0;n=a[m>>0]|0;m=a[m+-1>>0]|0;d=i+5|0;c[k>>2]=d;nc[c[(c[b>>2]|0)+20>>2]&7](b,j+d|0,(m&255)<<8|n&255);cc=l;return}default:{cc=l;return}}}function ad(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=d+11|0;l=a[m>>0]|0;e=l<<24>>24<0;n=d+4|0;o=d+12|0;f=c[o>>2]|0;if(((e?c[n>>2]|0:l&255)-f|0)<=4)return;l=b+32|0;i=0;j=0;k=0;do{switch(c[l>>2]|0){case 3:{e=e?c[d>>2]|0:d;k=e+f+4+-1|0;g=4;h=k;i=a[k+-2>>0]|0;j=a[k+-3>>0]|0;k=a[k+-1>>0]|0;break}case 2:{e=e?c[d>>2]|0:d;k=e+f+3+-1|0;g=3;h=k;i=a[k+-2>>0]|0;k=a[k+-1>>0]|0;break}case 1:{e=e?c[d>>2]|0:d;k=e+f+2+-1|0;g=2;h=k;k=a[k+-1>>0]|0;break}default:{h=e?c[d>>2]|0:d;e=h;g=1;h=h+f+1+-1|0}}h=a[h>>0]|0;g=f+g|0;c[o>>2]=g;h=(i&255)<<16|(j&255)<<24|(k&255)<<8|h&255;nc[c[(c[b>>2]|0)+20>>2]&7](b,e+g|0,h);f=(c[o>>2]|0)+h|0;c[o>>2]=f;h=a[m>>0]|0;e=h<<24>>24<0}while(((e?c[n>>2]|0:h&255)-f|0)>4);return}function bd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0.0,j=0;h=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);f=h;g=h+8|0;if((a[55152]|0)==0?aj(55152)|0:0)c[13798]=Ga(2,1460)|0;j=c[13798]|0;c[f>>2]=c[e>>2];i=+Ca(j|0,b|0,d|0,g|0,f|0);Oa(c[g>>2]|0);cc=h;return ~~i|0}function cd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0.0,j=0;h=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);f=h;g=h+8|0;if((a[55160]|0)==0?aj(55160)|0:0)c[13799]=Ga(2,1468)|0;j=c[13799]|0;c[f>>2]=c[e>>2];i=+Ca(j|0,b|0,d|0,g|0,f|0);Oa(c[g>>2]|0);cc=h;return ~~i|0}function dd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=cc;cc=cc+32|0;if((cc|0)>=(dc|0))w(32);k=r+4|0;g=r;b=a+16|0;d=c[b>>2]|0;if(d>>>0>203){c[b>>2]=d+-204;o=a+4|0;m=c[o>>2]|0;q=c[m>>2]|0;m=m+4|0;c[o>>2]=m;p=a+8|0;b=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;e=l;do if((b|0)==(l|0)){i=m;d=c[a>>2]|0;f=d;if(m>>>0>d>>>0){e=((i-f>>2)+1|0)/-2|0;f=m+(e<<2)|0;d=b-i|0;if(!d)b=f;else{qj(f|0,m|0,d|0)|0;b=(c[o>>2]|0)+(e<<2)|0}a=f+(d>>2<<2)|0;c[p>>2]=a;c[o>>2]=b;b=a;break}f=e-f|0;f=(f|0)==0?1:f>>1;g=f>>>2;do if(f)if(f>>>0>1073741823){r=X(8)|0;Uh(r,47989);c[r>>2]=41300;aa(r|0,1248,16)}else{h=Qh(f<<2)|0;break}else h=0;while(0);k=h;e=h+(g<<2)|0;l=e;j=h+(f<<2)|0;if((m|0)==(b|0))b=l;else{f=((b+-4-i|0)>>>2)+1|0;d=m;while(1){c[e>>2]=c[d>>2];d=d+4|0;if((d|0)==(b|0))break;else e=e+4|0}b=h+(f+g<<2)|0;d=c[a>>2]|0}c[a>>2]=k;c[o>>2]=l;c[p>>2]=b;c[n>>2]=j;if(d){Rh(d);b=c[p>>2]|0}}while(0);c[b>>2]=q;c[p>>2]=(c[p>>2]|0)+4;cc=r;return}q=a+8|0;b=c[q>>2]|0;p=a+4|0;f=b-(c[p>>2]|0)>>2;o=a+12|0;d=c[o>>2]|0;e=d-(c[a>>2]|0)|0;if(f>>>0>=e>>2>>>0){b=(e|0)==0?1:e>>1;i=k+12|0;c[i>>2]=0;c[k+16>>2]=a+12;do if(b)if(b>>>0>1073741823){r=X(8)|0;Uh(r,47989);c[r>>2]=41300;aa(r|0,1248,16)}else{d=Qh(b<<2)|0;break}else d=0;while(0);c[k>>2]=d;n=d+(f<<2)|0;j=k+8|0;c[j>>2]=n;h=k+4|0;c[h>>2]=n;c[i>>2]=d+(b<<2);c[g>>2]=Qh(4080)|0;gd(k,g);b=c[q>>2]|0;d=c[p>>2]|0;if((b|0)!=(d|0)){do{b=b+-4|0;hd(k,b);d=c[p>>2]|0}while((b|0)!=(d|0));b=c[q>>2]|0}e=d;f=c[a>>2]|0;c[a>>2]=c[k>>2];c[k>>2]=f;c[p>>2]=c[h>>2];c[h>>2]=e;c[q>>2]=c[j>>2];c[j>>2]=b;a=c[o>>2]|0;c[o>>2]=c[i>>2];c[i>>2]=a;if((d|0)!=(b|0))c[j>>2]=b+(~((b+-4-e|0)>>>2)<<2);if(f|0)Rh(f);cc=r;return}if((d|0)!=(b|0)){c[k>>2]=Qh(4080)|0;ed(a,k);cc=r;return}c[k>>2]=Qh(4080)|0;fd(a,k);m=c[p>>2]|0;n=c[m>>2]|0;m=m+4|0;c[p>>2]=m;b=c[q>>2]|0;l=c[o>>2]|0;e=l;do if((b|0)==(l|0)){j=m;d=c[a>>2]|0;f=d;if(m>>>0>d>>>0){e=((j-f>>2)+1|0)/-2|0;f=m+(e<<2)|0;d=b-j|0;if(!d)b=f;else{qj(f|0,m|0,d|0)|0;b=(c[p>>2]|0)+(e<<2)|0}a=f+(d>>2<<2)|0;c[q>>2]=a;c[p>>2]=b;b=a;break}f=e-f|0;f=(f|0)==0?1:f>>1;g=f>>>2;do if(f)if(f>>>0>1073741823){r=X(8)|0;Uh(r,47989);c[r>>2]=41300;aa(r|0,1248,16)}else{h=Qh(f<<2)|0;break}else h=0;while(0);k=h;e=h+(g<<2)|0;l=e;i=h+(f<<2)|0;if((m|0)==(b|0))b=l;else{f=((b+-4-j|0)>>>2)+1|0;d=m;while(1){c[e>>2]=c[d>>2];d=d+4|0;if((d|0)==(b|0))break;else e=e+4|0}b=h+(f+g<<2)|0;d=c[a>>2]|0}c[a>>2]=k;c[p>>2]=l;c[q>>2]=b;c[o>>2]=i;if(d){Rh(d);b=c[q>>2]|0}}while(0);c[b>>2]=n;c[q>>2]=(c[q>>2]|0)+4;cc=r;return}function ed(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+8|0;d=c[q>>2]|0;n=a+12|0;p=c[n>>2]|0;g=p;do if((d|0)==(p|0)){p=a+4|0;o=c[p>>2]|0;j=o;e=c[a>>2]|0;f=e;if(o>>>0>e>>>0){f=((j-f>>2)+1|0)/-2|0;g=o+(f<<2)|0;e=d-j|0;if(!e)d=g;else{qj(g|0,o|0,e|0)|0;d=(c[p>>2]|0)+(f<<2)|0}o=g+(e>>2<<2)|0;c[q>>2]=o;c[p>>2]=d;d=o;break}g=g-f|0;g=(g|0)==0?1:g>>1;h=g>>>2;do if(g)if(g>>>0>1073741823){q=X(8)|0;Uh(q,47989);c[q>>2]=41300;aa(q|0,1248,16)}else{i=Qh(g<<2)|0;break}else i=0;while(0);l=i;f=i+(h<<2)|0;m=f;k=i+(g<<2)|0;if((o|0)==(d|0))d=m;else{g=h+((d+-4-j|0)>>>2)+1|0;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(d|0))break;else f=f+4|0}d=i+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=l;c[p>>2]=m;c[q>>2]=d;c[n>>2]=k;if(e){Rh(e);d=c[q>>2]|0}}while(0);c[d>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+4;return}function fd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+4|0;o=c[q>>2]|0;j=o;p=c[a>>2]|0;e=p;do if((o|0)==(p|0)){p=a+8|0;m=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;d=l;if(m>>>0>>0){e=m;g=((d-e>>2)+1|0)/2|0;f=m+(g<<2)|0;e=e-j|0;d=f+(0-(e>>2)<<2)|0;if(!e){d=f;e=f}else{qj(d|0,o|0,e|0)|0;e=(c[p>>2]|0)+(g<<2)|0}c[q>>2]=d;c[p>>2]=e;break}e=d-e|0;e=(e|0)==0?1:e>>1;f=(e+3|0)>>>2;do if(e)if(e>>>0>1073741823){q=X(8)|0;Uh(q,47989);c[q>>2]=41300;aa(q|0,1248,16)}else{h=Qh(e<<2)|0;break}else h=0;while(0);k=h;d=h+(f<<2)|0;l=d;i=h+(e<<2)|0;if((o|0)==(m|0)){f=l;e=o}else{g=((m+-4-j|0)>>>2)+f+1|0;f=d;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(m|0))break;else f=f+4|0}f=h+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=k;c[q>>2]=l;c[p>>2]=f;c[n>>2]=i;if(e){Rh(e);d=c[q>>2]|0}}else d=o;while(0);c[d+-4>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+-4;return}function gd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+8|0;d=c[q>>2]|0;n=a+12|0;p=c[n>>2]|0;g=p;do if((d|0)==(p|0)){p=a+4|0;o=c[p>>2]|0;j=o;e=c[a>>2]|0;f=e;if(o>>>0>e>>>0){f=((j-f>>2)+1|0)/-2|0;g=o+(f<<2)|0;e=d-j|0;if(!e)d=g;else{qj(g|0,o|0,e|0)|0;d=(c[p>>2]|0)+(f<<2)|0}o=g+(e>>2<<2)|0;c[q>>2]=o;c[p>>2]=d;d=o;break}g=g-f|0;g=(g|0)==0?1:g>>1;h=g>>>2;do if(g)if(g>>>0>1073741823){q=X(8)|0;Uh(q,47989);c[q>>2]=41300;aa(q|0,1248,16)}else{i=Qh(g<<2)|0;break}else i=0;while(0);l=i;f=i+(h<<2)|0;m=f;k=i+(g<<2)|0;if((o|0)==(d|0))d=m;else{g=h+((d+-4-j|0)>>>2)+1|0;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(d|0))break;else f=f+4|0}d=i+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=l;c[p>>2]=m;c[q>>2]=d;c[n>>2]=k;if(e){Rh(e);d=c[q>>2]|0}}while(0);c[d>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+4;return}function hd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+4|0;o=c[q>>2]|0;j=o;p=c[a>>2]|0;e=p;do if((o|0)==(p|0)){p=a+8|0;m=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;d=l;if(m>>>0>>0){e=m;g=((d-e>>2)+1|0)/2|0;f=m+(g<<2)|0;e=e-j|0;d=f+(0-(e>>2)<<2)|0;if(!e){d=f;e=f}else{qj(d|0,o|0,e|0)|0;e=(c[p>>2]|0)+(g<<2)|0}c[q>>2]=d;c[p>>2]=e;break}e=d-e|0;e=(e|0)==0?1:e>>1;f=(e+3|0)>>>2;do if(e)if(e>>>0>1073741823){q=X(8)|0;Uh(q,47989);c[q>>2]=41300;aa(q|0,1248,16)}else{h=Qh(e<<2)|0;break}else h=0;while(0);k=h;d=h+(f<<2)|0;l=d;i=h+(e<<2)|0;if((o|0)==(m|0)){f=l;e=o}else{g=((m+-4-j|0)>>>2)+f+1|0;f=d;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(m|0))break;else f=f+4|0}f=h+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=k;c[q>>2]=l;c[p>>2]=f;c[n>>2]=i;if(e){Rh(e);d=c[q>>2]|0}}else d=o;while(0);c[d+-4>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+-4;return}function id(a){a=a|0;var b=0,d=0,e=0,f=0;ld(a);d=a+4|0;b=c[d>>2]|0;f=a+8|0;e=c[f>>2]|0;if((b|0)!=(e|0)){do{Rh(c[b>>2]|0);b=b+4|0}while((b|0)!=(e|0));b=c[d>>2]|0;d=c[f>>2]|0;if((d|0)!=(b|0))c[f>>2]=d+(~((d+-4-b|0)>>>2)<<2)}b=c[a>>2]|0;if(!b)return;Rh(b);return}function jd(b){b=b|0;if(a[b+36>>0]|0)return;b=c[b+8>>2]|0;if(!b)return;Kh(b);return}function kd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=a+20|0;g=c[f>>2]|0;if(!g){d=a+8|0;b=c[d>>2]|0;e=a+4|0;if((b|0)!=(c[e>>2]|0))do{Rh(c[b+-4>>2]|0);b=(c[d>>2]|0)+-4|0;c[d>>2]=b}while((c[e>>2]|0)!=(b|0));c[a+16>>2]=0;md(a);return}b=a+16|0;e=c[b>>2]|0;d=a+4|0;if(e>>>0>203){Rh(c[c[d>>2]>>2]|0);h=(c[d>>2]|0)+4|0;c[d>>2]=h;e=(c[b>>2]|0)+-204|0;c[b>>2]=e;g=c[f>>2]|0}else h=c[d>>2]|0;b=a+8|0;d=c[b>>2]|0;h=d-h|0;if((((h|0)==0?0:((h>>2)*204|0)+-1|0)-(g+e)|0)>>>0<=203){md(a);return}Rh(c[d+-4>>2]|0);c[b>>2]=(c[b>>2]|0)+-4;md(a);return}function ld(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=b+4|0;e=c[l>>2]|0;m=b+16|0;g=c[m>>2]|0;d=(g>>>0)/204|0;h=e+(d<<2)|0;j=b+8|0;n=c[j>>2]|0;f=n;i=e;if((n|0)!=(e|0)){d=(c[h>>2]|0)+((g-(d*204|0)|0)*20|0)|0;b=b+20|0;n=(c[b>>2]|0)+g|0;g=(n>>>0)/204|0;g=(c[e+(g<<2)>>2]|0)+((n-(g*204|0)|0)*20|0)|0;if((g|0)==(d|0)){d=b;k=5}else{f=h;while(1){e=d+4|0;if((a[e+11>>0]|0)<0)Rh(c[e>>2]|0);d=d+20|0;if((d-(c[f>>2]|0)|0)==4080){d=f+4|0;e=d;d=c[d>>2]|0}else e=f;if((g|0)==(d|0))break;else f=e}e=c[l>>2]|0;g=j;f=c[j>>2]|0;d=e}}else{d=b+20|0;k=5}if((k|0)==5){g=j;b=d;d=i}c[b>>2]=0;d=f-d>>2;if(d>>>0>2)do{Rh(c[e>>2]|0);e=(c[l>>2]|0)+4|0;c[l>>2]=e;d=(c[g>>2]|0)-e>>2}while(d>>>0>2);switch(d|0){case 1:{d=102;break}case 2:{d=204;break}default:return}c[m>>2]=d;return}function md(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;j=a+12|0;i=c[a>>2]|0;k=a+8|0;h=c[k>>2]|0;l=a+4|0;f=c[l>>2]|0;d=h-f|0;e=d>>2;b=i;if((c[j>>2]|0)-i>>2>>>0<=e>>>0)return;do if(d)if(e>>>0>1073741823){l=X(8)|0;Uh(l,47989);c[l>>2]=41300;aa(l|0,1248,16)}else{g=Qh(d)|0;break}else g=0;while(0);i=g;e=g+(e<<2)|0;if((f|0)==(h|0))d=e;else{d=g;b=f;while(1){c[d>>2]=c[b>>2];b=b+4|0;if((b|0)==(h|0))break;else d=d+4|0}d=g+((c[k>>2]|0)-(c[l>>2]|0)>>2<<2)|0;b=c[a>>2]|0}c[a>>2]=i;c[l>>2]=i;c[k>>2]=d;c[j>>2]=e;if(!b)return;Rh(b);return}function nd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);f=e;a=c[a>>2]|0;b=La(b|0)|0;c[f>>2]=c[d>>2];d=Qa(1392,f|0)|0;Pa(a|0,b|0,d|0);Ea(d|0);Ea(b|0);cc=e;return}function od(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);f=e;a=c[a>>2]|0;b=La(b|0)|0;c[f>>2]=c[d>>2];d=Qa(1392,f|0)|0;Pa(a|0,b|0,d|0);Ea(d|0);Ea(b|0);cc=e;return}function pd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);f=e;a=c[a>>2]|0;b=La(b|0)|0;c[f>>2]=c[d>>2];d=Qa(1400,f|0)|0;Pa(a|0,b|0,d|0);Ea(d|0);Ea(b|0);cc=e;return}function qd(a){a=a|0;return c[(c[a>>2]|0)+-4>>2]|0}function rd(a){a=a|0;if(!a)return;lc[c[(c[a>>2]|0)+4>>2]&31](a);return}function sd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);h=j;f=c[b>>2]|0;b=c[b+4>>2]|0;g=d+(b>>1)|0;if(b&1)f=c[(c[g>>2]|0)+f>>2]|0;d=e+4|0;e=c[e>>2]|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;if(e>>>0>4294967279)Wh(h);if(e>>>0<11){a[h+11>>0]=e;if(!e)b=h;else{b=h;i=9}}else{i=e+16&-16;b=Qh(i)|0;c[h>>2]=b;c[h+8>>2]=i|-2147483648;c[h+4>>2]=e;i=9}if((i|0)==9)pj(b|0,d|0,e|0)|0;a[b+e>>0]=0;mc[f&31](g,h);if((a[h+11>>0]|0)>=0){cc=j;return}Rh(c[h>>2]|0);cc=j;return}function td(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);f=g;e=c[a>>2]|0;h=c[a+4>>2]|0;a=b+(h>>1)|0;if(h&1)e=c[(c[a>>2]|0)+e>>2]|0;c[f>>2]=d;mc[e&31](a,f);Ea(c[f>>2]|0);cc=g;return}function ud(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a>>2]|0;e=c[a+4>>2]|0;a=b+(e>>1)|0;if(!(e&1)){e=d;lc[e&31](a);return}else{e=c[(c[a>>2]|0)+d>>2]|0;lc[e&31](a);return}}function vd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);e=f;d=c[a>>2]|0;g=c[a+4>>2]|0;a=b+(g>>1)|0;if(g&1)d=c[(c[a>>2]|0)+d>>2]|0;mc[d&31](e,a);Ia(c[e>>2]|0);g=c[e>>2]|0;Ea(g|0);cc=f;return g|0}function wd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);f=g;e=c[a>>2]|0;h=c[a+4>>2]|0;a=b+(h>>1)|0;if(h&1)e=c[(c[a>>2]|0)+e>>2]|0;c[f>>2]=d;mc[e&31](a,f);Ea(c[f>>2]|0);cc=g;return}function xd(b,d){b=b|0;d=d|0;var e=0;e=Qh(22936)|0;Id(e,d);a[e+22928>>0]=0;c[e+22932>>2]=c[b>>2];c[b>>2]=0;c[e>>2]=1540;return e|0}function yd(b,d,e){b=b|0;d=d|0;e=e|0;c[b>>2]=ka(((a[d+11>>0]|0)<0?c[d>>2]|0:d)|0,664,c[e>>2]|0)|0;return}function zd(a){a=a|0;return c[(c[a>>2]|0)+-4>>2]|0}function Ad(a){a=a|0;if(!a)return;lc[c[(c[a>>2]|0)+4>>2]&31](a);return}function Bd(a){a=a|0;return a|0}function Cd(a){a=a|0;return a|0}function Dd(a,b){a=a|0;b=b|0;lc[c[a>>2]&31](b);return}function Ed(b){b=b|0;a[b+22928>>0]=1;return}function Fd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;d=hc[a&3](f,g)|0;Ea(c[g>>2]|0);Ea(c[f>>2]|0);cc=e;return d|0}function Gd(b){b=b|0;var d=0,e=0,f=0,g=0;g=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);e=g;c[b>>2]=1556;d=b+22932|0;if(!(a[b+22928>>0]|0)){f=c[d>>2]|0;Ea(f|0);Md(b);cc=g;return}f=c[d>>2]|0;if((a[55120]|0)==0?aj(55120)|0:0)c[13794]=Ga(1,1440)|0;Da(c[13794]|0,f|0,48751,e|0);f=c[d>>2]|0;Ea(f|0);Md(b);cc=g;return}function Hd(a){a=a|0;Gd(a);Rh(a);return}function Id(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);h=f+8|0;i=f;c[d>>2]=1572;g=d+4|0;c[g>>2]=c[e>>2];c[e>>2]=0;a[d+8>>0]=0;e=d+12|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[d+32>>2]=0;e=d+22696|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;zg(d+40|0);Ag(d+104|0);Bg(d+9372|0);c[i>>2]=48536;Ya(0,i|0);c[h>>2]=48521;c[h+4>>2]=d+28;Ya(0,h|0);Kd(d+22728|0);e=d+22864|0;c[d+22892>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;a[e+24>>0]=0;a[d+22896>>0]=1;a[d+22897>>0]=1;e=d+22900|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;c[d+22912>>2]=12;c[d+22732>>2]=g;cc=f;return}function Jd(a){a=a|0;Gd(a);Rh(a);return}function Kd(b){b=b|0;var d=0,e=0,f=0;f=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);e=f+8|0;d=f;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+32>>2]=0;a[b+36>>0]=0;c[b>>2]=1588;if(!(og(b+40|0,0)|0)){c[b+132>>2]=1;c[b+128>>2]=1;c[e>>2]=48577;Ya(0,e|0);cc=f;return}else{c[d>>2]=48546;Ya(0,d|0);cc=f;return}}function Ld(b){b=b|0;var d=0,e=0,f=0;e=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);d=e+8|0;f=e;c[f>>2]=48683;Ya(0,f|0);Kh(c[b+8>>2]|0);c[d>>2]=48706;Ya(0,d|0);Dg(b+76|0);d=b+22684|0;if((a[d+11>>0]|0)<0)Rh(c[d>>2]|0);b=b+22668|0;if((a[b+11>>0]|0)>=0){cc=e;return}Rh(c[b>>2]|0);cc=e;return}function Md(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);g=i+8|0;d=i;c[b>>2]=1572;f=Fa(48277)|0;c[d>>2]=c[b+22892>>2];Ea(Ba(f|0,1,1476,d|0)|0);Ea(f|0);c[g>>2]=48730;Ya(0,g|0);g=b+22864|0;ld(g);f=b+22868|0;d=c[f>>2]|0;h=b+22872|0;e=c[h>>2]|0;if((d|0)!=(e|0)){do{Rh(c[d>>2]|0);d=d+4|0}while((d|0)!=(e|0));d=c[f>>2]|0;e=c[h>>2]|0;if((e|0)!=(d|0))c[h>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=c[g>>2]|0;if(d|0)Rh(d);Pd(b+22728|0);Ld(b+28|0);d=b+12|0;if((a[d+11>>0]|0)>=0){b=b+4|0;b=c[b>>2]|0;Ea(b|0);cc=i;return}Rh(c[d>>2]|0);b=b+4|0;b=c[b>>2]|0;Ea(b|0);cc=i;return}function Nd(a){a=a|0;Md(a);Rh(a);return}function Od(b){b=b|0;var d=0;Dg(b+64|0);d=b+22672|0;if((a[d+11>>0]|0)<0)Rh(c[d>>2]|0);b=b+22656|0;if((a[b+11>>0]|0)>=0)return;Rh(c[b>>2]|0);return}function Pd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);g=h;c[b>>2]=1588;d=b+40|0;e=c[d>>2]|0;if(e|0){pg(e);c[d>>2]=0}c[b>>2]=1620;if((a[b+36>>0]|0)==0?(f=c[b+8>>2]|0,f|0):0)Kh(f);c[g>>2]=48612;Ya(0,g|0);cc=h;return}function Qd(a){a=a|0;Pd(a);Rh(a);return}function Rd(a,b,d){a=a|0;b=b|0;d=d|0;c[a+44>>2]=b;b=a+48|0;c[b>>2]=d;do Ud(a)|0;while((c[b>>2]|0)!=0);return}function Sd(b){b=b|0;var d=0,e=0,f=0;f=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);e=f;c[b>>2]=1620;if((a[b+36>>0]|0)==0?(d=c[b+8>>2]|0,d|0):0)Kh(d);c[e>>2]=48612;Ya(0,e|0);cc=f;return}function Td(a){a=a|0;bb()}function Ud(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);g=v+8|0;t=v;u=b+40|0;e=b+44|0;f=b+60|0;d=rg(c[u>>2]|0,e,f)|0;switch(d|0){case 4:{if(qg(c[u>>2]|0,b+80|0)|0){u=-1;cc=v;return u|0}Vd(b,c[b+84>>2]|0,c[b+88>>2]|0);u=c[f>>2]|0;t=b+48|0;c[t>>2]=(c[e>>2]|0)-u+(c[t>>2]|0);c[e>>2]=u;u=0;cc=v;return u|0}case 3:{s=c[f>>2]|0;q=b+48|0;c[q>>2]=(c[e>>2]|0)-s+(c[q>>2]|0);c[e>>2]=s;break}case 1:case -2:{c[b+48>>2]=0;u=d;cc=v;return u|0}case 2:{c[b+48>>2]=0;break}default:{c[g>>2]=48636;c[g+4>>2]=0-d;Ya(0,g|0);c[b+48>>2]=0;u=d;cc=v;return u|0}}h=b+128|0;c[h>>2]=(c[h>>2]|0)+1;h=b+64|0;if((sg(c[u>>2]|0,h,0)|0)!=2){u=d;cc=v;return u|0}i=b+132|0;j=b+20|0;k=b+84|0;l=b+88|0;m=b+24|0;n=b+28|0;o=b+36|0;p=b+8|0;q=b+12|0;s=b+16|0;b=b+4|0;do{c[i>>2]=(c[i>>2]|0)+1;e=c[h>>2]|0;c[j>>2]=e;g=r(c[l>>2]|0,c[k>>2]|0)|0;f=g+e|0;c[m>>2]=f;g=f+(g>>>2)|0;c[n>>2]=g;if(!(a[o>>0]|0))Wd(e,f,g,c[p>>2]|0,c[q>>2]|0,c[s>>2]|0);e=c[c[b>>2]>>2]|0;if((a[55120]|0)==0?aj(55120)|0:0)c[13794]=Ga(1,1440)|0;Da(c[13794]|0,e|0,48678,t|0)}while((sg(c[u>>2]|0,h,0)|0)==2);cc=v;return d|0}function Vd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=cc;cc=cc+32|0;if((cc|0)>=(dc|0))w(32);h=i;f=b+12|0;c[f>>2]=d;g=b+16|0;c[g>>2]=e;c[h>>2]=48652;c[h+4>>2]=d;c[h+8>>2]=e;Ya(0,h|0);if(!(a[b+36>>0]|0)){e=c[g>>2]|0;e=(r(e<<2,e)|0)+33554432|0;e=Jh((e>>>0>16777216?e:16777216)+16777215&-16777216)|0;c[b+8>>2]=e;d=c[c[b+4>>2]>>2]|0;if((a[55168]|0)==0?aj(55168)|0:0)c[13800]=Ga(4,48)|0;b=c[13800]|0;c[h>>2]=c[f>>2];c[h+8>>2]=c[g>>2];c[h+16>>2]=e;Da(b|0,d|0,48665,h|0);cc=i;return}else{e=b+20|0;c[b+8>>2]=e;e=e>>2;d=c[c[b+4>>2]>>2]|0;if((a[55168]|0)==0?aj(55168)|0:0)c[13800]=Ga(4,48)|0;b=c[13800]|0;c[h>>2]=c[f>>2];c[h+8>>2]=c[g>>2];c[h+16>>2]=e;Da(b|0,d|0,48665,h|0);cc=i;return}}function Wd(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,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;F=g<<2;G=f+(r(F,h)|0)|0;if(!h)return;B=(g|0)==0;E=(g+-1|0)>>>1;C=(E<<3)+8|0;D=g+1&-2;E=E+1|0;j=0;A=0;k=0;i=0;l=0;while(1){if(!B){y=C+j|0;z=E+i|0;x=0;w=k;v=l;while(1){n=d[a+v>>0]|0;p=d[a+(v+g)>>0]|0;t=d[b+i>>0]|0;u=d[e+w>>0]|0;s=t<<8|u;o=G+(s|n<<16)|0;m=c[o>>2]|0;if(!m){J=(n*1192|0)+-19072|0;H=u+-128|0;m=t+-128|0;q=(H*1634|0)+J>>10;H=(r(m,-400)|0)+J+(r(H,-832)|0)>>10;J=(m*2066|0)+J>>10;m=(q|0)>0?q:0;n=(H|0)>0?H:0;I=(J|0)>0?J:0;m=((((J&255|0)==(J|0)?J:(I|0)<255?I:255)<<8)+16711680+((H&255|0)==(H|0)?H:(n|0)<255?n:255)<<8)+((q&255|0)==(q|0)?q:(m|0)<255?m:255)|0;c[o>>2]=m}c[f+j>>2]=m;n=G+(s|p<<16)|0;m=c[n>>2]|0;if(!m){p=(p*1192|0)+-19072|0;H=u+-128|0;m=t+-128|0;J=(H*1634|0)+p>>10;H=(r(m,-400)|0)+p+(r(H,-832)|0)>>10;p=(m*2066|0)+p>>10;m=(J|0)>0?J:0;I=(H|0)>0?H:0;q=(p|0)>0?p:0;m=((((p&255|0)==(p|0)?p:(q|0)<255?q:255)<<8)+16711680+((H&255|0)==(H|0)?H:(I|0)<255?I:255)<<8)+((J&255|0)==(J|0)?J:(m|0)<255?m:255)|0;c[n>>2]=m}c[f+(j+F)>>2]=m;q=j+4|0;p=v+1|0;n=d[a+p>>0]|0;p=d[a+(p+g)>>0]|0;o=G+(s|n<<16)|0;m=c[o>>2]|0;if(!m){m=(n*1192|0)+-19072|0;H=u+-128|0;K=t+-128|0;J=m+(H*1634|0)>>10;H=(r(H,-832)|0)+(r(K,-400)|0)+m>>10;K=m+(K*2066|0)>>10;m=(J|0)>0?J:0;I=(H|0)>0?H:0;n=(K|0)>0?K:0;m=((((K&255|0)==(K|0)?K:(n|0)<255?n:255)<<8)+16711680+((H&255|0)==(H|0)?H:(I|0)<255?I:255)<<8)+((J&255|0)==(J|0)?J:(m|0)<255?m:255)|0;c[o>>2]=m}c[f+q>>2]=m;n=G+(s|p<<16)|0;m=c[n>>2]|0;if(!m){m=(p*1192|0)+-19072|0;I=u+-128|0;u=t+-128|0;K=m+(I*1634|0)>>10;I=(r(I,-832)|0)+(r(u,-400)|0)+m>>10;u=m+(u*2066|0)>>10;m=(K|0)>0?K:0;J=(I|0)>0?I:0;H=(u|0)>0?u:0;m=((((u&255|0)==(u|0)?u:(H|0)<255?H:255)<<8)+16711680+((I&255|0)==(I|0)?I:(J|0)<255?J:255)<<8)+((K&255|0)==(K|0)?K:(m|0)<255?m:255)|0;c[n>>2]=m}c[f+(q+F)>>2]=m;x=x+2|0;if(x>>>0>=g>>>0)break;else{j=j+8|0;w=w+1|0;i=i+1|0;v=v+2|0}}l=D+l|0;j=y;k=E+k|0;i=z}A=A+2|0;if(A>>>0>=h>>>0)break;else{j=j+F|0;l=l+g|0}}return}function Xd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=cc;cc=cc+32|0;if((cc|0)>=(dc|0))w(32);h=l+16|0;j=l+4|0;k=l;f=d+4|0;g=c[d>>2]|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;if(g>>>0>4294967279)Wh(j);if(g>>>0<11){a[j+11>>0]=g;if(!g)d=j;else{d=j;i=6}}else{i=g+16&-16;d=Qh(i)|0;c[j>>2]=d;c[j+8>>2]=i|-2147483648;c[j+4>>2]=g;i=6}if((i|0)==6)pj(d|0,f|0,g|0)|0;a[d+g>>0]=0;c[k>>2]=e;nc[b&7](h,j,k);Ia(c[h>>2]|0);d=c[h>>2]|0;Ea(d|0);Ea(c[k>>2]|0);if((a[j+11>>0]|0)>=0){cc=l;return d|0}Rh(c[j>>2]|0);cc=l;return d|0}function Yd(){xc(0);return}function Zd(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;g=d[50042+b>>0]|0;s=d[50094+b>>0]|0;b=c[1992+(s*12|0)>>2]<>2]<>2]<>2]=r(c[a>>2]|0,b)|0;do if(!(f&65436)){if(f&98|0){j=a+4|0;l=r(c[j>>2]|0,h)|0;m=a+20|0;o=r(c[m>>2]|0,b)|0;n=a+24|0;q=r(c[n>>2]|0,h)|0;k=c[a>>2]|0;s=k+o|0;o=k-o|0;k=(l>>1)-q|0;l=(q>>1)+l|0;q=l+32+s>>6;c[a>>2]=q;p=k+32+o>>6;c[j>>2]=p;o=32-k+o>>6;c[a+8>>2]=o;s=32-l+s>>6;c[a+12>>2]=s;c[a+48>>2]=q;c[a+32>>2]=q;c[a+16>>2]=q;c[a+52>>2]=p;c[a+36>>2]=p;c[m>>2]=p;c[a+56>>2]=o;c[a+40>>2]=o;c[n>>2]=o;c[a+60>>2]=s;c[a+44>>2]=s;c[a+28>>2]=s;if((o+512|p+512|q+512|s+512)>>>0>1023)b=1;else break;return b|0}b=(c[a>>2]|0)+32>>6;if((b+512|0)>>>0>1023){a=1;return a|0}else{c[a+60>>2]=b;c[a+56>>2]=b;c[a+52>>2]=b;c[a+48>>2]=b;c[a+44>>2]=b;c[a+40>>2]=b;c[a+36>>2]=b;c[a+32>>2]=b;c[a+28>>2]=b;c[a+24>>2]=b;c[a+20>>2]=b;c[a+16>>2]=b;c[a+12>>2]=b;c[a+8>>2]=b;c[a+4>>2]=b;c[a>>2]=b;break}}else{n=a+4|0;f=a+56|0;u=a+60|0;z=c[u>>2]|0;o=r(c[n>>2]|0,h)|0;c[f>>2]=r(c[f>>2]|0,h)|0;c[u>>2]=r(z,g)|0;u=a+8|0;z=a+16|0;f=r(c[u>>2]|0,h)|0;w=r(c[a+20>>2]|0,b)|0;p=r(c[z>>2]|0,g)|0;x=a+32|0;A=a+12|0;q=r(c[x>>2]|0,h)|0;l=r(c[A>>2]|0,b)|0;t=r(c[a+24>>2]|0,h)|0;v=a+48|0;k=r(c[a+28>>2]|0,h)|0;i=r(c[v>>2]|0,g)|0;e=r(c[a+36>>2]|0,h)|0;s=r(c[a+40>>2]|0,g)|0;B=r(c[a+44>>2]|0,b)|0;y=r(c[a+52>>2]|0,h)|0;j=c[a>>2]|0;g=w+j|0;w=j-w|0;j=(o>>1)-t|0;o=(t>>1)+o|0;t=o+g|0;b=j+w|0;c[n>>2]=b;j=w-j|0;c[u>>2]=j;o=g-o|0;c[A>>2]=o;A=k+f|0;g=f-k|0;k=(p>>1)-i|0;p=(i>>1)+p|0;i=p+A|0;f=k+g|0;c[a+20>>2]=f;k=g-k|0;c[a+24>>2]=k;p=A-p|0;c[a+28>>2]=p;A=B+l|0;B=l-B|0;l=(q>>1)-y|0;q=(y>>1)+q|0;y=q+A|0;g=l+B|0;c[a+36>>2]=g;l=B-l|0;c[a+40>>2]=l;q=A-q|0;c[a+44>>2]=q;A=a+56|0;B=c[A>>2]|0;u=B+e|0;B=e-B|0;e=a+60|0;w=c[e>>2]|0;m=(s>>1)-w|0;s=(w>>1)+s|0;w=s+u|0;h=m+B|0;c[a+52>>2]=h;m=B-m|0;c[A>>2]=m;s=u-s|0;c[e>>2]=s;e=(i>>1)-w|0;i=(w>>1)+i|0;w=y+t+32|0;u=w+i>>6;c[a>>2]=u;y=t-y+32|0;t=y+e>>6;c[z>>2]=t;e=y-e>>6;c[x>>2]=e;i=w-i>>6;c[v>>2]=i;if((u+512|t+512)>>>0>1023){B=1;return B|0}if((i+512|e+512)>>>0>1023){B=1;return B|0}y=(f>>1)-h|0;f=(h>>1)+f|0;z=g+b+32|0;A=z+f>>6;c[n>>2]=A;b=b-g+32|0;B=b+y>>6;c[a+20>>2]=B;b=b-y>>6;c[a+36>>2]=b;f=z-f>>6;c[a+52>>2]=f;if((A+512|B+512)>>>0>1023){B=1;return B|0}if((f+512|b+512)>>>0>1023){B=1;return B|0}b=(k>>1)-m|0;f=(m>>1)+k|0;z=l+j+32|0;A=z+f>>6;c[a+8>>2]=A;y=j-l+32|0;B=y+b>>6;c[a+24>>2]=B;b=y-b>>6;c[a+40>>2]=b;f=z-f>>6;c[a+56>>2]=f;if((A+512|B+512)>>>0>1023){B=1;return B|0}if((f+512|b+512)>>>0>1023){B=1;return B|0}b=(p>>1)-s|0;f=(s>>1)+p|0;z=q+o+32|0;A=z+f>>6;c[a+12>>2]=A;y=o-q+32|0;B=y+b>>6;c[a+28>>2]=B;b=y-b>>6;c[a+44>>2]=b;f=z-f>>6;c[a+60>>2]=f;if((A+512|B+512)>>>0>1023){B=1;return B|0}if((f+512|b+512)>>>0>1023){B=1;return B|0}}while(0);B=0;return B|0}function _d(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;e=a[50094+d>>0]|0;s=a[50042+d>>0]|0;C=b+8|0;u=c[C>>2]|0;i=c[b+20>>2]|0;p=b+16|0;y=c[p>>2]|0;q=b+32|0;z=c[q>>2]|0;D=b+12|0;v=c[D>>2]|0;f=c[b+24>>2]|0;l=c[b+28>>2]|0;n=b+48|0;g=c[n>>2]|0;B=c[b+36>>2]|0;A=c[b+40>>2]|0;E=c[b+44>>2]|0;h=c[b+52>>2]|0;o=c[b>>2]|0;k=i+o|0;i=o-i|0;o=b+4|0;x=c[o>>2]|0;t=x-f|0;x=f+x|0;f=x+k|0;c[b>>2]=f;j=t+i|0;c[o>>2]=j;t=i-t|0;c[C>>2]=t;x=k-x|0;c[D>>2]=x;D=l+u|0;l=u-l|0;u=y-g|0;y=g+y|0;g=y+D|0;c[p>>2]=g;k=u+l|0;c[b+20>>2]=k;u=l-u|0;c[b+24>>2]=u;y=D-y|0;c[b+28>>2]=y;D=E+v|0;E=v-E|0;v=z-h|0;z=h+z|0;h=z+D|0;c[b+32>>2]=h;l=v+E|0;c[b+36>>2]=l;v=E-v|0;c[b+40>>2]=v;z=D-z|0;c[b+44>>2]=z;D=b+56|0;E=c[D>>2]|0;C=E+B|0;E=B-E|0;B=b+60|0;i=c[B>>2]|0;w=A-i|0;A=i+A|0;i=A+C|0;c[b+48>>2]=i;m=w+E|0;c[b+52>>2]=m;w=E-w|0;c[D>>2]=w;A=C-A|0;c[B>>2]=A;s=s&255;e=c[1992+((e&255)*12|0)>>2]|0;if(d>>>0>11){E=e<>2]=r(D+d|0,E)|0;c[p>>2]=r(C+B|0,E)|0;c[q>>2]=r(B-C|0,E)|0;c[n>>2]=r(d-D|0,E)|0;D=l+j|0;d=j-l|0;C=k-m|0;B=m+k|0;c[o>>2]=r(B+D|0,E)|0;c[b+20>>2]=r(C+d|0,E)|0;c[b+36>>2]=r(d-C|0,E)|0;c[b+52>>2]=r(D-B|0,E)|0;B=v+t|0;v=t-v|0;D=u-w|0;C=w+u|0;c[b+8>>2]=r(C+B|0,E)|0;c[b+24>>2]=r(D+v|0,E)|0;c[b+40>>2]=r(v-D|0,E)|0;c[b+56>>2]=r(B-C|0,E)|0;C=z+x|0;z=x-z|0;B=y-A|0;D=A+y|0;c[b+12>>2]=r(D+C|0,E)|0;c[b+28>>2]=r(B+z|0,E)|0;c[b+44>>2]=r(z-B|0,E)|0;c[b+60>>2]=r(C-D|0,E)|0;return}else{D=(d+-6|0)>>>0<6?1:2;E=2-s|0;s=h+f|0;C=f-h|0;d=g-i|0;B=i+g|0;c[b>>2]=(r(B+s|0,e)|0)+D>>E;c[p>>2]=(r(d+C|0,e)|0)+D>>E;c[q>>2]=(r(C-d|0,e)|0)+D>>E;c[n>>2]=(r(s-B|0,e)|0)+D>>E;B=l+j|0;s=j-l|0;d=k-m|0;C=m+k|0;c[o>>2]=(r(C+B|0,e)|0)+D>>E;c[b+20>>2]=(r(d+s|0,e)|0)+D>>E;c[b+36>>2]=(r(s-d|0,e)|0)+D>>E;c[b+52>>2]=(r(B-C|0,e)|0)+D>>E;C=v+t|0;t=t-v|0;v=u-w|0;B=w+u|0;c[b+8>>2]=(r(B+C|0,e)|0)+D>>E;c[b+24>>2]=(r(v+t|0,e)|0)+D>>E;c[b+40>>2]=(r(t-v|0,e)|0)+D>>E;c[b+56>>2]=(r(C-B|0,e)|0)+D>>E;B=z+x|0;x=x-z|0;z=y-A|0;C=A+y|0;c[b+12>>2]=(r(C+B|0,e)|0)+D>>E;c[b+28>>2]=(r(z+x|0,e)|0)+D>>E;c[b+44>>2]=(r(x-z|0,e)|0)+D>>E;c[b+60>>2]=(r(B-C|0,e)|0)+D>>E;return}}function $d(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=c[1992+((d[50094+b>>0]|0)*12|0)>>2]|0;if(b>>>0>5){e=e<<(d[50042+b>>0]|0)+-1;b=0}else b=1;k=c[a>>2]|0;g=a+8|0;h=c[g>>2]|0;m=h+k|0;h=k-h|0;k=a+4|0;j=c[k>>2]|0;l=a+12|0;f=c[l>>2]|0;i=j-f|0;j=f+j|0;c[a>>2]=(r(j+m|0,e)|0)>>b;c[k>>2]=(r(m-j|0,e)|0)>>b;c[g>>2]=(r(i+h|0,e)|0)>>b;c[l>>2]=(r(h-i|0,e)|0)>>b;l=a+16|0;i=c[l>>2]|0;h=a+24|0;g=c[h>>2]|0;k=g+i|0;g=i-g|0;i=a+20|0;j=c[i>>2]|0;a=a+28|0;m=c[a>>2]|0;f=j-m|0;j=m+j|0;c[l>>2]=(r(j+k|0,e)|0)>>b;c[i>>2]=(r(k-j|0,e)|0)>>b;c[h>>2]=(r(f+g|0,e)|0)>>b;c[a>>2]=(r(g-f|0,e)|0)>>b;return}function ae(a,b){a=a|0;b=b|0;var c=0;b=1<>>1}while((c|0)!=0&(c&a|0)==0);return b|0}function be(a){a=a|0;var b=0;b=8-(c[a+8>>2]|0)|0;a=ce(a,b)|0;if((a|0)==-1){b=1;return b|0}b=(a|0)!=(c[2064+(b+-1<<2)>>2]|0)&1;return b|0}function ce(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=a+4|0;i=c[m>>2]|0;l=c[a+12>>2]<<3;n=a+16|0;k=c[n>>2]|0;e=l-k|0;if((e|0)>31){e=a+8|0;g=c[e>>2]|0;f=(d[i+1>>0]|0)<<16|(d[i>>0]|0)<<24|(d[i+2>>0]|0)<<8|(d[i+3>>0]|0);if(!g)h=e;else{h=e;f=(d[i+4>>0]|0)>>>(8-g|0)|f<0){g=c[h>>2]|0;j=g+24|0;f=(d[i>>0]|0)<0){g=e;e=j;while(1){i=i+1|0;e=e+-8|0;f=(d[i>>0]|0)<>2]=e;c[h>>2]=e&7;if(e>>>0>l>>>0){n=-1;return n|0}c[m>>2]=(c[a>>2]|0)+(e>>>3);n=f>>>(32-b|0);return n|0}function de(a){a=a|0;var b=0;b=(c[a+12>>2]<<3)-(c[a+16>>2]|0)|0;if(!b){b=0;return b|0}if(b>>>0>8){b=1;return b|0}else return ((ee(a)|0)>>>(32-b|0)|0)!=(1<>2]|0;e=(c[a+12>>2]<<3)-(c[a+16>>2]|0)|0;if((e|0)>31){a=c[a+8>>2]|0;b=(d[f+1>>0]|0)<<16|(d[f>>0]|0)<<24|(d[f+2>>0]|0)<<8|(d[f+3>>0]|0);if(!a){f=b;return f|0}f=(d[f+4>>0]|0)>>>(8-a|0)|b<>2]|0;b=g+24|0;a=(d[f>>0]|0)<>0]|0)<>2]|0;d=d+1|0;a:do if(d>>>0>>0)do{if((c[a+(d<<2)>>2]|0)==(e|0))break a;d=d+1|0}while(d>>>0>>0);while(0);return ((d|0)==(b|0)?0:d)|0}function ge(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[a+4>>2]|0;d=(b>>>0)%(f>>>0)|0;e=b-d|0;b=r(c[a+8>>2]|0,f)|0;f=c[a>>2]|0;c[a+12>>2]=f+(d<<4)+(e<<8);d=f+(b<<8)+(e<<6)+(d<<3)|0;c[a+16>>2]=d;c[a+20>>2]=d+(b<<6);return}function he(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;do if(((e>>>0>3?(a[b>>0]|0)==0:0)?(a[b+1>>0]|0)==0:0)?(h=a[b+2>>0]|0,(h&255)<2):0){n=-3;p=3;k=b+3|0;i=2;while(1){if(h<<24>>24)if(h<<24>>24==1&i>>>0>1)break;else i=0;else i=i+1|0;j=p+1|0;if((j|0)==(e|0)){q=6;break}else{h=a[k>>0]|0;n=~p;p=j;k=k+1|0}}if((q|0)==6){c[g>>2]=e;q=1;return q|0}j=(a[k>>0]|0)!=0;l=0;m=p;i=0;o=(j^1)&1;while(1){m=m+1|0;k=k+1|0;h=j?0:o;i=j&o>>>0>2?1:i;if((m|0)==(e|0)){q=15;break}q=a[k>>0]|0;j=q<<24>>24!=0;o=h+((j^1)&1)|0;h=q<<24>>24==3&(o|0)==2?1:l;if(q<<24>>24==1&o>>>0>1){q=13;break}else l=h}if((q|0)==13){m=n+m-o|0;n=f+12|0;c[n>>2]=m;l=h;j=p;h=o-(o>>>0<3?o:3)|0;break}else if((q|0)==15){m=n+e-h|0;n=f+12|0;c[n>>2]=m;j=p;break}}else q=16;while(0);if((q|0)==16){n=f+12|0;c[n>>2]=e;m=e;l=1;j=0;i=0;h=0}k=b+j|0;c[f>>2]=k;c[f+4>>2]=k;c[f+8>>2]=0;c[f+16>>2]=0;c[g>>2]=h+j+m;if(i|0){q=1;return q|0}if(!l){q=0;return q|0}h=c[n>>2]|0;do if(h){i=k;l=k;j=0;a:while(1){h=h+-1|0;k=a[i>>0]|0;do if((j|0)==2){if(k<<24>>24!=3)if((k&255)<3){h=1;q=30;break a}else{q=26;break}if(!h){h=1;q=30;break a}i=i+1|0;if((d[i>>0]|0)>3){h=1;q=30;break a}else j=0}else q=26;while(0);if((q|0)==26){q=0;a[l>>0]=k;i=i+1|0;l=l+1|0;j=k<<24>>24==0?j+1|0:0}if(!h){q=28;break}}if((q|0)==28){j=c[n>>2]|0;h=l;break}else if((q|0)==30)return h|0}else{j=0;i=k;h=k}while(0);c[n>>2]=h-i+j;q=0;return q|0}function ie(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);n=o;je(b,0,92);d=ce(a,8)|0;a:do if((((d|0)!=-1?(c[b>>2]=d,ce(a,1)|0,ce(a,1)|0,(ce(a,1)|0)!=-1):0)?(ce(a,5)|0)!=-1:0)?(e=ce(a,8)|0,(e|0)!=-1):0){m=b+4|0;c[m>>2]=e;e=b+8|0;d=ke(a,e)|0;if(!d)if((c[e>>2]|0)>>>0<=31){d=ke(a,n)|0;if(!d){d=c[n>>2]|0;if(d>>>0<=12){c[b+12>>2]=1<>2]|0;if(d>>>0<=2){c[b+16>>2]=d;b:do switch(d|0){case 0:{d=ke(a,n)|0;if(d|0)break a;d=c[n>>2]|0;if(d>>>0>12){d=1;break a}c[b+20>>2]=1<>2]=(d|0)==1&1;d=le(a,b+28|0)|0;if(d|0)break a;d=le(a,b+32|0)|0;if(d|0)break a;g=b+36|0;d=ke(a,g)|0;if(d|0)break a;d=c[g>>2]|0;if(d>>>0>255){d=1;break a}if(!d){c[b+40>>2]=0;break b}d=me(4,d)|0;f=b+40|0;c[f>>2]=d;if(!d){d=65535;break a}if(c[g>>2]|0){d=le(a,d)|0;if(d|0)break a;e=1;while(1){if(e>>>0>=(c[g>>2]|0)>>>0)break b;d=le(a,(c[f>>2]|0)+(e<<2)|0)|0;if(!d)e=e+1|0;else break a}}break}default:{}}while(0);l=b+44|0;d=ke(a,l)|0;if(!d)if((c[l>>2]|0)>>>0<=16?(h=ce(a,1)|0,(h|0)!=-1):0){c[b+48>>2]=(h|0)==1&1;d=ke(a,n)|0;if(!d){j=b+52|0;c[j>>2]=(c[n>>2]|0)+1;d=ke(a,n)|0;if(!d){i=b+56|0;c[i>>2]=(c[n>>2]|0)+1;switch(ce(a,1)|0){case 0:case -1:{d=1;break a}default:{}}if((ce(a,1)|0)!=-1?(k=ce(a,1)|0,(k|0)!=-1):0){k=(k|0)==1;c[b+60>>2]=k&1;if(k){h=b+64|0;d=ke(a,h)|0;if(d|0)break;e=b+68|0;d=ke(a,e)|0;if(d|0)break;g=b+72|0;d=ke(a,g)|0;if(d|0)break;f=b+76|0;d=ke(a,f)|0;if(d|0)break;d=c[j>>2]|0;if((c[h>>2]|0)>((d<<3)+~c[e>>2]|0)){d=1;break}e=c[i>>2]|0;if((c[g>>2]|0)>((e<<3)+~c[f>>2]|0)){d=1;break}}else{e=c[i>>2]|0;d=c[j>>2]|0}f=r(e,d)|0;do switch(c[m>>2]|0){case 10:{d=99;e=152064;g=59;break}case 11:{d=396;e=345600;g=59;break}case 12:{d=396;e=912384;g=59;break}case 13:{d=396;e=912384;g=59;break}case 20:{d=396;e=912384;g=59;break}case 21:{d=792;e=1824768;g=59;break}case 22:{d=1620;e=3110400;g=59;break}case 30:{d=1620;e=3110400;g=59;break}case 31:{d=3600;e=6912e3;g=59;break}case 32:{d=5120;e=7864320;g=59;break}case 40:{d=8192;e=12582912;g=59;break}case 41:{d=8192;e=12582912;g=59;break}case 42:{d=8704;e=13369344;g=59;break}case 50:{d=22080;e=42393600;g=59;break}case 51:{d=36864;e=70778880;g=59;break}default:g=61}while(0);do if((g|0)==59){if(d>>>0>>0){g=61;break}e=(e>>>0)/((f*384|0)>>>0)|0;e=e>>>0<16?e:16;c[n>>2]=e;d=c[l>>2]|0;if(d>>>0>e>>>0)g=62;else d=e}while(0);if((g|0)==61){c[n>>2]=2147483647;d=c[l>>2]|0;g=62}if((g|0)==62)c[n>>2]=d;f=b+88|0;c[f>>2]=d;d=ce(a,1)|0;if((d|0)!=-1){n=(d|0)==1;c[b+80>>2]=n&1;do if(n){d=me(952,1)|0;e=b+84|0;c[e>>2]=d;if(!d){d=65535;break a}d=ne(a,d)|0;if(d|0)break a;d=c[e>>2]|0;if(!(c[d+920>>2]|0))break;e=c[d+948>>2]|0;if((c[d+944>>2]|0)>>>0>e>>>0){d=1;break a}if(e>>>0<(c[l>>2]|0)>>>0){d=1;break a}if(e>>>0>(c[f>>2]|0)>>>0){d=1;break a}c[f>>2]=(e|0)==0?1:e}while(0);be(a)|0;d=0}else d=1}else d=1}}}else d=1}else d=1}}else d=1}}else d=1}else d=1;while(0);cc=o;return d|0}function je(a,b,c){a=a|0;b=b|0;c=c|0;rj(a|0,b&255|0,c|0)|0;return}function ke(a,b){a=a|0;b=b|0;var d=0,e=0;d=ee(a)|0;if((d|0)<0){oe(a,1)|0;c[b>>2]=0;b=0;return b|0}if(d>>>0>1073741823){if((oe(a,3)|0)==-1){b=1;return b|0}c[b>>2]=(d>>>29&1)+1;b=0;return b|0}if(d>>>0>536870911){if((oe(a,5)|0)==-1){b=1;return b|0}c[b>>2]=(d>>>27&3)+3;b=0;return b|0}if(d>>>0>268435455){if((oe(a,7)|0)==-1){b=1;return b|0}c[b>>2]=(d>>>25&7)+7;b=0;return b|0}d=ae(d,28)|0;e=d+4|0;if((e|0)!=32){oe(a,d+5|0)|0;d=ce(a,e)|0;if((d|0)==-1){b=1;return b|0}c[b>>2]=(1<>2]=0;oe(a,32)|0;if((ce(a,1)|0)!=1){b=1;return b|0}d=ee(a)|0;if((oe(a,32)|0)==-1){b=1;return b|0}switch(d|0){case 0:{c[b>>2]=-1;b=0;return b|0}case 1:{c[b>>2]=-1;b=1;return b|0}default:{b=1;return b|0}}return 0}function le(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);e=f;c[e>>2]=0;d=ke(a,e)|0;a=c[e>>2]|0;d=(d|0)==0;if((a|0)==-1)if(d)a=1;else{c[b>>2]=-2147483648;a=0}else{e=(a+1|0)>>>1;if(d){c[b>>2]=(a&1|0)==0?0-e|0:e;a=0}else a=1}cc=f;return a|0}function me(a,b){a=a|0;b=b|0;if((4294967295/(b>>>0)|0)>>>0>>0){a=0;return a|0}a=Jh(r(b,a)|0)|0;return a|0}function ne(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;je(b,0,952);d=ce(a,1)|0;if((d|0)==-1){b=1;return b|0}f=(d|0)==1;c[b>>2]=f&1;do if(f){d=ce(a,8)|0;if((d|0)==-1){b=1;return b|0}c[b+4>>2]=d;if((d|0)==255){d=ce(a,16)|0;if((d|0)==-1){b=1;return b|0}c[b+8>>2]=d;d=ce(a,16)|0;if((d|0)==-1){b=1;return b|0}else{c[b+12>>2]=d;break}}}while(0);d=ce(a,1)|0;if((d|0)==-1){b=1;return b|0}f=(d|0)==1;c[b+16>>2]=f&1;do if(f){d=ce(a,1)|0;if((d|0)==-1){b=1;return b|0}else{c[b+20>>2]=(d|0)==1&1;break}}while(0);d=ce(a,1)|0;if((d|0)==-1){b=1;return b|0}f=(d|0)==1;c[b+24>>2]=f&1;if(f){d=ce(a,3)|0;if((d|0)==-1){b=1;return b|0}c[b+28>>2]=d;d=ce(a,1)|0;if((d|0)==-1){b=1;return b|0}c[b+32>>2]=(d|0)==1&1;d=ce(a,1)|0;if((d|0)==-1){b=1;return b|0}f=(d|0)==1;c[b+36>>2]=f&1;if(f){d=ce(a,8)|0;if((d|0)==-1){b=1;return b|0}c[b+40>>2]=d;d=ce(a,8)|0;if((d|0)==-1){b=1;return b|0}c[b+44>>2]=d;d=ce(a,8)|0;if((d|0)==-1){b=1;return b|0}}else g=22}else{c[b+28>>2]=5;g=22}if((g|0)==22){c[b+40>>2]=2;c[b+44>>2]=2;d=2}c[b+48>>2]=d;d=ce(a,1)|0;if((d|0)==-1){b=1;return b|0}f=(d|0)==1;c[b+52>>2]=f&1;if(f){e=b+56|0;d=ke(a,e)|0;if(d|0){b=d;return b|0}if((c[e>>2]|0)>>>0>5){b=1;return b|0}e=b+60|0;d=ke(a,e)|0;if(d|0){b=d;return b|0}if((c[e>>2]|0)>>>0>5){b=1;return b|0}}d=ce(a,1)|0;if((d|0)==-1){b=1;return b|0}f=(d|0)==1;c[b+64>>2]=f&1;do if(f){d=ee(a)|0;if((d|0)==0|(oe(a,32)|0)==-1){b=1;return b|0}c[b+68>>2]=d;d=ee(a)|0;if((d|0)==0|(oe(a,32)|0)==-1){b=1;return b|0}c[b+72>>2]=d;d=ce(a,1)|0;if((d|0)==-1){b=1;return b|0}else{c[b+76>>2]=(d|0)==1&1;break}}while(0);d=ce(a,1)|0;if((d|0)==-1){b=1;return b|0}e=(d|0)==1;f=b+80|0;c[f>>2]=e&1;if(e){d=pe(a,b+84|0)|0;if(d|0){b=d;return b|0}}else{c[b+84>>2]=1;c[b+96>>2]=288000001;c[b+224>>2]=288000001;c[b+480>>2]=24;c[b+484>>2]=24;c[b+488>>2]=24;c[b+492>>2]=24}d=ce(a,1)|0;if((d|0)==-1){b=1;return b|0}d=(d|0)==1;e=b+496|0;c[e>>2]=d&1;if(d){d=pe(a,b+500|0)|0;if(d|0){b=d;return b|0}}else{c[b+500>>2]=1;c[b+512>>2]=240000001;c[b+640>>2]=240000001;c[b+896>>2]=24;c[b+900>>2]=24;c[b+904>>2]=24;c[b+908>>2]=24}if(!((c[f>>2]|0)==0?!(c[e>>2]|0):0))g=45;do if((g|0)==45){d=ce(a,1)|0;if((d|0)==-1){b=1;return b|0}else{c[b+912>>2]=(d|0)==1&1;break}}while(0);d=ce(a,1)|0;if((d|0)==-1){b=1;return b|0}c[b+916>>2]=(d|0)==1&1;d=ce(a,1)|0;if((d|0)==-1){b=1;return b|0}g=(d|0)==1;c[b+920>>2]=g&1;do if(g){d=ce(a,1)|0;if((d|0)==-1){b=1;return b|0}c[b+924>>2]=(d|0)==1&1;e=b+928|0;d=ke(a,e)|0;if(d|0){b=d;return b|0}if((c[e>>2]|0)>>>0>16){b=1;return b|0}e=b+932|0;d=ke(a,e)|0;if(d|0){b=d;return b|0}if((c[e>>2]|0)>>>0>16){b=1;return b|0}e=b+936|0;d=ke(a,e)|0;if(d|0){b=d;return b|0}if((c[e>>2]|0)>>>0>16){b=1;return b|0}e=b+940|0;d=ke(a,e)|0;if(d|0){b=d;return b|0}if((c[e>>2]|0)>>>0>16){b=1;return b|0}d=ke(a,b+944|0)|0;if(d|0){b=d;return b|0}d=ke(a,b+948|0)|0;if(!d)break;return d|0}else{c[b+924>>2]=1;c[b+928>>2]=2;c[b+932>>2]=1;c[b+936>>2]=16;c[b+940>>2]=16;c[b+944>>2]=16;c[b+948>>2]=16}while(0);b=0;return b|0}function oe(a,b){a=a|0;b=b|0;var d=0;d=a+16|0;b=(c[d>>2]|0)+b|0;c[d>>2]=b;c[a+8>>2]=b&7;if(b>>>0>c[a+12>>2]<<3>>>0){d=-1;return d|0}c[a+4>>2]=(c[a>>2]|0)+(b>>>3);d=0;return d|0}function pe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=ke(a,b)|0;if(d|0){b=d;return b|0}h=(c[b>>2]|0)+1|0;c[b>>2]=h;if(h>>>0>32){b=1;return b|0}d=ce(a,4)|0;if((d|0)==-1){b=1;return b|0}h=b+4|0;c[h>>2]=d;d=ce(a,4)|0;if((d|0)==-1){b=1;return b|0}g=b+8|0;c[g>>2]=d;a:do if(c[b>>2]|0){f=0;while(1){e=b+12+(f<<2)|0;d=ke(a,e)|0;if(d|0){e=18;break}d=c[e>>2]|0;if((d|0)==-1){d=1;e=18;break}d=d+1|0;c[e>>2]=d;c[e>>2]=d<<(c[h>>2]|0)+6;e=b+140+(f<<2)|0;d=ke(a,e)|0;if(d|0){e=18;break}d=c[e>>2]|0;if((d|0)==-1){d=1;e=18;break}d=d+1|0;c[e>>2]=d;c[e>>2]=d<<(c[g>>2]|0)+4;d=ce(a,1)|0;if((d|0)==-1){d=1;e=18;break}c[b+268+(f<<2)>>2]=(d|0)==1&1;f=f+1|0;if(f>>>0>=(c[b>>2]|0)>>>0)break a}if((e|0)==18)return d|0}while(0);d=ce(a,5)|0;if((d|0)==-1){b=1;return b|0}c[b+396>>2]=d+1;d=ce(a,5)|0;if((d|0)==-1){b=1;return b|0}c[b+400>>2]=d+1;d=ce(a,5)|0;if((d|0)==-1){b=1;return b|0}c[b+404>>2]=d+1;d=ce(a,5)|0;if((d|0)==-1){b=1;return b|0}c[b+408>>2]=d;b=0;return b|0}function qe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;if((c[a>>2]|0)!=(c[b>>2]|0)){b=1;return b|0}if((c[a+4>>2]|0)!=(c[b+4>>2]|0)){b=1;return b|0}if((c[a+12>>2]|0)!=(c[b+12>>2]|0)){b=1;return b|0}d=c[a+16>>2]|0;if((d|0)!=(c[b+16>>2]|0)){b=1;return b|0}if((c[a+44>>2]|0)!=(c[b+44>>2]|0)){b=1;return b|0}if((c[a+48>>2]|0)!=(c[b+48>>2]|0)){b=1;return b|0}if((c[a+52>>2]|0)!=(c[b+52>>2]|0)){b=1;return b|0}if((c[a+56>>2]|0)!=(c[b+56>>2]|0)){b=1;return b|0}h=c[a+60>>2]|0;if((h|0)!=(c[b+60>>2]|0)){b=1;return b|0}if((c[a+80>>2]|0)!=(c[b+80>>2]|0)){b=1;return b|0}a:do switch(d|0){case 0:{if((c[a+20>>2]|0)!=(c[b+20>>2]|0)){b=1;return b|0}break}case 1:{if((c[a+24>>2]|0)!=(c[b+24>>2]|0)){b=1;return b|0}if((c[a+28>>2]|0)!=(c[b+28>>2]|0)){b=1;return b|0}if((c[a+32>>2]|0)!=(c[b+32>>2]|0)){b=1;return b|0}d=c[a+36>>2]|0;if((d|0)!=(c[b+36>>2]|0)){b=1;return b|0}if(d|0){e=c[a+40>>2]|0;f=c[b+40>>2]|0;g=0;while(1){if((c[e+(g<<2)>>2]|0)!=(c[f+(g<<2)>>2]|0)){d=1;break}g=g+1|0;if(g>>>0>=d>>>0)break a}return d|0}break}default:{}}while(0);if(h|0){if((c[a+64>>2]|0)!=(c[b+64>>2]|0)){b=1;return b|0}if((c[a+68>>2]|0)!=(c[b+68>>2]|0)){b=1;return b|0}if((c[a+72>>2]|0)!=(c[b+72>>2]|0)){b=1;return b|0}if((c[a+76>>2]|0)!=(c[b+76>>2]|0)){b=1;return b|0}}b=0;return b|0}function re(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);i=k+4|0;j=k;je(b,0,72);d=ke(a,b)|0;if(d|0){a=d;cc=k;return a|0}if((c[b>>2]|0)>>>0>255){a=1;cc=k;return a|0}e=b+4|0;d=ke(a,e)|0;if(d|0){a=d;cc=k;return a|0}if((c[e>>2]|0)>>>0>31){a=1;cc=k;return a|0}if(ce(a,1)|0){a=1;cc=k;return a|0}d=ce(a,1)|0;if((d|0)==-1){a=1;cc=k;return a|0}c[b+8>>2]=(d|0)==1&1;d=ke(a,i)|0;if(d|0){a=d;cc=k;return a|0}d=(c[i>>2]|0)+1|0;h=b+12|0;c[h>>2]=d;if(d>>>0>8){a=1;cc=k;return a|0}a:do if(d>>>0>1){e=b+16|0;d=ke(a,e)|0;if(d|0){a=d;cc=k;return a|0}d=c[e>>2]|0;if(d>>>0>6){a=1;cc=k;return a|0}switch(d|0){case 0:{g=me(4,c[h>>2]|0)|0;f=b+20|0;c[f>>2]=g;if(!g){a=65535;cc=k;return a|0}if(!(c[h>>2]|0))break a;e=0;while(1){d=ke(a,i)|0;if(d|0)break;c[(c[f>>2]|0)+(e<<2)>>2]=(c[i>>2]|0)+1;e=e+1|0;if(e>>>0>=(c[h>>2]|0)>>>0)break a}cc=k;return d|0}case 2:{g=b+24|0;c[g>>2]=me(4,(c[h>>2]|0)+-1|0)|0;f=me(4,(c[h>>2]|0)+-1|0)|0;e=b+28|0;c[e>>2]=f;if((f|0)==0|(c[g>>2]|0)==0){a=65535;cc=k;return a|0}if((c[h>>2]|0)==1)break a;f=0;while(1){d=ke(a,i)|0;if(d|0){e=49;break}c[(c[g>>2]|0)+(f<<2)>>2]=c[i>>2];d=ke(a,i)|0;if(d|0){e=49;break}c[(c[e>>2]|0)+(f<<2)>>2]=c[i>>2];f=f+1|0;if(f>>>0>=((c[h>>2]|0)+-1|0)>>>0)break a}if((e|0)==49){cc=k;return d|0}break}case 5:case 4:case 3:{d=ce(a,1)|0;if((d|0)==-1){a=1;cc=k;return a|0}c[b+32>>2]=(d|0)==1&1;d=ke(a,i)|0;if(!d){c[b+36>>2]=(c[i>>2]|0)+1;break a}else{a=d;cc=k;return a|0}}case 6:{d=ke(a,i)|0;if(d|0){a=d;cc=k;return a|0}e=(c[i>>2]|0)+1|0;f=b+40|0;c[f>>2]=e;e=me(4,e)|0;g=b+44|0;c[g>>2]=e;if(!e){a=65535;cc=k;return a|0}d=c[2096+((c[h>>2]|0)+-1<<2)>>2]|0;if(!(c[f>>2]|0))break a;e=0;while(1){l=ce(a,d)|0;c[(c[g>>2]|0)+(e<<2)>>2]=l;e=e+1|0;if(l>>>0>=(c[h>>2]|0)>>>0){d=1;break}if(e>>>0>=(c[f>>2]|0)>>>0)break a}cc=k;return d|0}default:break a}}while(0);d=ke(a,i)|0;if(d|0){l=d;cc=k;return l|0}d=c[i>>2]|0;if(d>>>0>31){l=1;cc=k;return l|0}c[b+48>>2]=d+1;d=ke(a,i)|0;if(d|0){l=d;cc=k;return l|0}if((c[i>>2]|0)>>>0>31){l=1;cc=k;return l|0}if(ce(a,1)|0){l=1;cc=k;return l|0}if((ce(a,2)|0)>>>0>2){l=1;cc=k;return l|0}d=le(a,j)|0;if(d|0){l=d;cc=k;return l|0}d=(c[j>>2]|0)+26|0;if(d>>>0>51){l=1;cc=k;return l|0}c[b+52>>2]=d;d=le(a,j)|0;if(d|0){l=d;cc=k;return l|0}if(((c[j>>2]|0)+26|0)>>>0>51){l=1;cc=k;return l|0}d=le(a,j)|0;if(d|0){l=d;cc=k;return l|0}d=c[j>>2]|0;if((d+12|0)>>>0>24){l=1;cc=k;return l|0}c[b+56>>2]=d;d=ce(a,1)|0;if((d|0)==-1){l=1;cc=k;return l|0}c[b+60>>2]=(d|0)==1&1;d=ce(a,1)|0;if((d|0)==-1){l=1;cc=k;return l|0}c[b+64>>2]=(d|0)==1&1;d=ce(a,1)|0;if((d|0)==-1){l=1;cc=k;return l|0}c[b+68>>2]=(d|0)==1&1;be(a)|0;l=0;cc=k;return l|0}function se(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);p=v+12|0;o=v+8|0;u=v+4|0;s=v;je(b,0,988);t=r(c[d+56>>2]|0,c[d+52>>2]|0)|0;g=ke(a,u)|0;if(g|0){u=g;cc=v;return u|0}m=c[u>>2]|0;c[b>>2]=m;if(m>>>0>=t>>>0){u=1;cc=v;return u|0}g=ke(a,u)|0;if(g|0){u=g;cc=v;return u|0}m=c[u>>2]|0;k=b+4|0;c[k>>2]=m;switch(m|0){case 7:case 2:break;case 5:case 0:{q=5;break}default:{u=1;cc=v;return u|0}}if((q|0)==5){if((c[f>>2]|0)==5){u=1;cc=v;return u|0}if(!(c[d+44>>2]|0)){u=1;cc=v;return u|0}}g=ke(a,u)|0;if(g|0){u=g;cc=v;return u|0}m=c[u>>2]|0;c[b+8>>2]=m;if((m|0)!=(c[e>>2]|0)){u=1;cc=v;return u|0}l=d+12|0;g=c[l>>2]|0;h=0;while(1)if(!(g>>>h))break;else h=h+1|0;g=ce(a,h+-1|0)|0;if((g|0)==-1){u=1;cc=v;return u|0}h=(c[f>>2]|0)==5;if((g|0)!=0&h){u=1;cc=v;return u|0}c[b+12>>2]=g;if(h){g=ke(a,u)|0;if(g|0){u=g;cc=v;return u|0}m=c[u>>2]|0;c[b+16>>2]=m;if(m>>>0>65535){u=1;cc=v;return u|0}}j=d+16|0;g=c[j>>2]|0;if(!g){i=d+20|0;g=c[i>>2]|0;h=0;while(1)if(!(g>>>h))break;else h=h+1|0;g=ce(a,h+-1|0)|0;if((g|0)==-1){u=1;cc=v;return u|0}h=b+20|0;c[h>>2]=g;do if(c[e+8>>2]|0){g=le(a,s)|0;if(!g){c[b+24>>2]=c[s>>2];break}else{u=g;cc=v;return u|0}}while(0);if((c[f>>2]|0)==5){g=c[h>>2]|0;if(g>>>0>(c[i>>2]|0)>>>1>>>0){u=1;cc=v;return u|0}m=c[b+24>>2]|0;if((g|0)!=(0-((m|0)<0?m:0)|0)){u=1;cc=v;return u|0}}g=c[j>>2]|0}if((g|0)==1?(c[d+24>>2]|0)==0:0){g=le(a,s)|0;if(g|0){u=g;cc=v;return u|0}g=b+28|0;c[g>>2]=c[s>>2];do if(c[e+8>>2]|0){h=le(a,s)|0;if(!h){c[b+32>>2]=c[s>>2];break}else{u=h;cc=v;return u|0}}while(0);if((c[f>>2]|0)==5?(j=c[g>>2]|0,m=(c[d+32>>2]|0)+j+(c[b+32>>2]|0)|0,((j|0)<(m|0)?j:m)|0):0){u=1;cc=v;return u|0}}if(c[e+68>>2]|0){g=ke(a,u)|0;if(g|0){u=g;cc=v;return u|0}m=c[u>>2]|0;c[b+36>>2]=m;if(m>>>0>127){u=1;cc=v;return u|0}}g=c[k>>2]|0;switch(g|0){case 5:case 0:{g=ce(a,1)|0;if((g|0)==-1){u=1;cc=v;return u|0}c[b+40>>2]=g;do if(!g){g=c[e+48>>2]|0;if(g>>>0>16){u=1;cc=v;return u|0}}else{g=ke(a,u)|0;if(g|0){u=g;cc=v;return u|0}g=c[u>>2]|0;if(g>>>0>15){u=1;cc=v;return u|0}else{g=g+1|0;break}}while(0);c[b+44>>2]=g;g=c[k>>2]|0;break}default:{}}a:do switch(g|0){case 5:case 0:{j=c[b+44>>2]|0;i=c[l>>2]|0;g=ce(a,1)|0;b:do if((g|0)==-1)g=1;else{c[b+68>>2]=g;if(g|0){h=0;while(1){if(h>>>0>j>>>0){g=1;break b}g=ke(a,o)|0;if(g|0)break b;g=c[o>>2]|0;if(g>>>0>3){g=1;break b}c[b+72+(h*12|0)>>2]=g;do if(g>>>0<2){g=ke(a,p)|0;if(g|0)break b;g=c[p>>2]|0;if(g>>>0>=i>>>0){g=1;break b}c[b+72+(h*12|0)+4>>2]=g+1}else{if((g|0)!=2)break;g=ke(a,p)|0;if(g|0)break b;c[b+72+(h*12|0)+8>>2]=c[p>>2]}while(0);if((c[o>>2]|0)==3)break;else h=h+1|0}if(!h){g=1;break}}break a}while(0);u=g;cc=v;return u|0}default:{}}while(0);do if(c[f+4>>2]|0){m=c[d+44>>2]|0;f=(c[f>>2]|0)==5;g=ce(a,1)|0;h=(g|0)==-1;c:do if(f)if((!h?(c[b+276>>2]=g,n=ce(a,1)|0,(n|0)!=-1):0)?(c[b+280>>2]=n,(m|0)!=0|(n|0)==0):0)q=92;else g=1;else if(!h){c[b+284>>2]=g;if(g){i=(m<<1)+2|0;j=0;k=0;h=0;l=0;d=0;while(1){if(j>>>0>i>>>0){g=1;break c}g=ke(a,o)|0;if(g|0)break c;g=c[o>>2]|0;if(g>>>0>6){g=1;break c}c[b+288+(j*20|0)>>2]=g;if((g|2|0)==3){g=ke(a,p)|0;if(g|0)break c;c[b+288+(j*20|0)+4>>2]=(c[p>>2]|0)+1;g=c[o>>2]|0}if((g|0)==2){g=ke(a,p)|0;if(g|0)break c;c[b+288+(j*20|0)+8>>2]=c[p>>2];g=c[o>>2]|0}switch(g|0){case 3:case 6:{g=ke(a,p)|0;if(g|0)break c;c[b+288+(j*20|0)+12>>2]=c[p>>2];g=c[o>>2]|0;break}default:{}}if((g|0)==4){g=ke(a,p)|0;if(g|0)break c;g=c[p>>2]|0;if(g>>>0>m>>>0){g=1;break c}c[b+288+(j*20|0)+16>>2]=(g|0)==0?65535:g+-1|0;g=c[o>>2]|0;h=h+1|0}l=l+((g|0)==5&1)|0;k=k+((g+-1|0)>>>0<3&1)|0;d=d+((g|0)==6&1)|0;if(!g)break;else j=j+1|0}if((l|h|d)>>>0<=1?!((l|0)!=0&(k|0)!=0):0)q=92;else g=1}else q=92}else g=1;while(0);if((q|0)==92)break;u=g;cc=v;return u|0}while(0);g=le(a,s)|0;if(g|0){u=g;cc=v;return u|0}q=c[s>>2]|0;c[b+48>>2]=q;q=(c[e+52>>2]|0)+q|0;c[s>>2]=q;if(q>>>0>51){u=1;cc=v;return u|0}do if(c[e+60>>2]|0){g=ke(a,u)|0;if(g|0){u=g;cc=v;return u|0}g=c[u>>2]|0;c[b+52>>2]=g;if(g>>>0>2){u=1;cc=v;return u|0}if((g|0)!=1){g=le(a,s)|0;if(g|0){u=g;cc=v;return u|0}g=c[s>>2]|0;if((g+6|0)>>>0>12){u=1;cc=v;return u|0}c[b+56>>2]=g<<1;g=le(a,s)|0;if(g|0){u=g;cc=v;return u|0}g=c[s>>2]|0;if((g+6|0)>>>0>12){u=1;cc=v;return u|0}else{c[b+60>>2]=g<<1;break}}}while(0);if((c[e+12>>2]|0)>>>0>1?((c[e+16>>2]|0)+-3|0)>>>0<3:0){j=e+36|0;h=c[j>>2]|0;i=(t>>>0)/(h>>>0)|0;h=(t-(r(i,h)|0)|0)==0;i=(h?1:2)+i|0;h=0;while(1){g=h+1|0;if(!(-1<>2]=g;if((g|0)==-1){u=1;cc=v;return u|0}c[b+64>>2]=g;u=c[j>>2]|0;if(g>>>0>(((t+-1+u|0)>>>0)/(u>>>0)|0)>>>0){u=1;cc=v;return u|0}}u=0;cc=v;return u|0}function te(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=cc;cc=cc+32|0;if((cc|0)>=(dc|0))w(32);e=f+20|0;d=f;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[d+16>>2]=c[a+16>>2];a=ke(d,e)|0;if(!a){a=ke(d,e)|0;if(!a){a=ke(d,e)|0;if(!a){a=c[e>>2]|0;if(a>>>0>255)a=1;else{c[b>>2]=a;a=0}}}}cc=f;return a|0}function ue(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=cc;cc=cc+32|0;if((cc|0)>=(dc|0))w(32);e=g+20|0;f=g;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];c[f+16>>2]=c[a+16>>2];a=ke(f,e)|0;if(a|0){d=a;cc=g;return d|0}a=ke(f,e)|0;if(a|0){d=a;cc=g;return d|0}a=ke(f,e)|0;if(a|0){d=a;cc=g;return d|0}a=0;while(1)if(!(b>>>a))break;else a=a+1|0;a=ce(f,a+-1|0)|0;if((a|0)==-1){d=1;cc=g;return d|0}c[d>>2]=a;d=0;cc=g;return d|0}function ve(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=cc;cc=cc+32|0;if((cc|0)>=(dc|0))w(32);f=h+20|0;g=h;if((d|0)==5){c[g>>2]=c[a>>2];c[g+4>>2]=c[a+4>>2];c[g+8>>2]=c[a+8>>2];c[g+12>>2]=c[a+12>>2];c[g+16>>2]=c[a+16>>2];d=ke(g,f)|0;if(!d){d=ke(g,f)|0;if(!d){d=ke(g,f)|0;if(!d){d=0;while(1)if(!(b>>>d))break;else d=d+1|0;if((ce(g,d+-1|0)|0)==-1)d=1;else d=ke(g,e)|0}}}}else d=1;cc=h;return d|0}function we(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=cc;cc=cc+32|0;if((cc|0)>=(dc|0))w(32);h=j+20|0;i=j;c[i>>2]=c[a>>2];c[i+4>>2]=c[a+4>>2];c[i+8>>2]=c[a+8>>2];c[i+12>>2]=c[a+12>>2];c[i+16>>2]=c[a+16>>2];a=ke(i,h)|0;if(a|0){e=a;cc=j;return e|0}a=ke(i,h)|0;if(a|0){e=a;cc=j;return e|0}a=ke(i,h)|0;if(a|0){e=a;cc=j;return e|0}a=c[b+12>>2]|0;f=0;while(1)if(!(a>>>f))break;else f=f+1|0;if((ce(i,f+-1|0)|0)==-1){e=1;cc=j;return e|0}if((d|0)==5?(g=ke(i,h)|0,g|0):0){e=g;cc=j;return e|0}a=c[b+20>>2]|0;f=0;while(1)if(!(a>>>f))break;else f=f+1|0;a=ce(i,f+-1|0)|0;if((a|0)==-1){e=1;cc=j;return e|0}c[e>>2]=a;e=0;cc=j;return e|0}function xe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=cc;cc=cc+32|0;if((cc|0)>=(dc|0))w(32);h=j+20|0;i=j;c[i>>2]=c[a>>2];c[i+4>>2]=c[a+4>>2];c[i+8>>2]=c[a+8>>2];c[i+12>>2]=c[a+12>>2];c[i+16>>2]=c[a+16>>2];a=ke(i,h)|0;if(a|0){i=a;cc=j;return i|0}a=ke(i,h)|0;if(a|0){i=a;cc=j;return i|0}a=ke(i,h)|0;if(a|0){i=a;cc=j;return i|0}a=c[b+12>>2]|0;f=0;while(1)if(!(a>>>f))break;else f=f+1|0;if((ce(i,f+-1|0)|0)==-1){i=1;cc=j;return i|0}if((d|0)==5?(g=ke(i,h)|0,g|0):0){i=g;cc=j;return i|0}a=c[b+20>>2]|0;f=0;while(1)if(!(a>>>f))break;else f=f+1|0;if((ce(i,f+-1|0)|0)==-1){i=1;cc=j;return i|0}i=le(i,e)|0;cc=j;return i|0}function ye(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=cc;cc=cc+32|0;if((cc|0)>=(dc|0))w(32);h=k+20|0;j=k;c[j>>2]=c[a>>2];c[j+4>>2]=c[a+4>>2];c[j+8>>2]=c[a+8>>2];c[j+12>>2]=c[a+12>>2];c[j+16>>2]=c[a+16>>2];a=ke(j,h)|0;if(a|0){j=a;cc=k;return j|0}a=ke(j,h)|0;if(a|0){j=a;cc=k;return j|0}a=ke(j,h)|0;if(a|0){j=a;cc=k;return j|0}a=c[b+12>>2]|0;b=0;while(1)if(!(a>>>b))break;else b=b+1|0;if((ce(j,b+-1|0)|0)==-1){j=1;cc=k;return j|0}if((d|0)==5?(g=ke(j,h)|0,g|0):0){j=g;cc=k;return j|0}a=le(j,f)|0;if(a|0){j=a;cc=k;return j|0}if(e|0?(i=le(j,f+4|0)|0,i|0):0){j=i;cc=k;return j|0}j=0;cc=k;return j|0}function ze(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=cc;cc=cc+32|0;if((cc|0)>=(dc|0))w(32);k=l+24|0;i=l+20|0;j=l;c[j>>2]=c[b>>2];c[j+4>>2]=c[b+4>>2];c[j+8>>2]=c[b+8>>2];c[j+12>>2]=c[b+12>>2];c[j+16>>2]=c[b+16>>2];f=ke(j,k)|0;if(f|0){e=f;cc=l;return e|0}f=ke(j,k)|0;if(f|0){e=f;cc=l;return e|0}f=ke(j,k)|0;if(f|0){e=f;cc=l;return e|0}f=c[d+12>>2]|0;b=0;while(1)if(!(f>>>b))break;else b=b+1|0;if((ce(j,b+-1|0)|0)==-1){e=1;cc=l;return e|0}f=ke(j,k)|0;if(f|0){e=f;cc=l;return e|0}g=d+16|0;f=c[g>>2]|0;if(!f){f=c[d+20>>2]|0;b=0;while(1)if(!(f>>>b))break;else b=b+1|0;if((ce(j,b+-1|0)|0)==-1){e=1;cc=l;return e|0}if(c[e+8>>2]|0?(h=le(j,i)|0,h|0):0){e=h;cc=l;return e|0}f=c[g>>2]|0}if((f|0)==1?(c[d+24>>2]|0)==0:0){f=le(j,i)|0;if(f|0){e=f;cc=l;return e|0}if(c[e+8>>2]|0?(m=le(j,i)|0,m|0):0){e=m;cc=l;return e|0}}if(c[e+68>>2]|0?(n=ke(j,k)|0,n|0):0){e=n;cc=l;return e|0}e=ce(j,1)|0;c[a>>2]=e;e=(e|0)==-1&1;cc=l;return e|0}function Ae(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;B=cc;cc=cc+448|0;if((cc|0)>=(dc|0))w(448);n=B+8|0;v=B+4|0;t=B;n=n+(0-n&15)|0;l=c[b+3376>>2]|0;h=c[e>>2]|0;c[v>>2]=0;x=b+1192|0;c[x>>2]=(c[x>>2]|0)+1;o=b+1200|0;c[o>>2]=0;m=b+12|0;c[t>>2]=(c[e+48>>2]|0)+(c[(c[m>>2]|0)+52>>2]|0);u=e+36|0;p=b+1212|0;q=e+52|0;r=e+56|0;s=e+60|0;y=e+4|0;j=e+44|0;g=b+1220|0;A=b+1176|0;k=b+1172|0;i=l+12|0;z=0;f=0;while(1){e=c[p>>2]|0;if((c[u>>2]|0)==0?c[e+(h*216|0)+196>>2]|0:0){e=1;f=20;break}C=c[(c[m>>2]|0)+56>>2]|0;F=c[q>>2]|0;E=c[r>>2]|0;D=c[s>>2]|0;c[e+(h*216|0)+4>>2]=c[x>>2];c[e+(h*216|0)+8>>2]=F;c[e+(h*216|0)+12>>2]=E;c[e+(h*216|0)+16>>2]=D;c[e+(h*216|0)+24>>2]=C;e=c[y>>2]|0;if((e|0)!=2?!((f|0)!=0|(e|0)==7):0){e=ke(a,v)|0;if(e|0){f=20;break}e=c[v>>2]|0;if(e>>>0>((c[A>>2]|0)-h|0)>>>0){e=1;f=20;break}if(!e)f=0;else{je(i,0,164);c[l>>2]=0;f=1}}e=c[v>>2]|0;if(!e){e=Be(a,l,(c[p>>2]|0)+(h*216|0)|0,c[y>>2]|0,c[j>>2]|0)|0;if(!e)f=0;else{f=20;break}}else c[v>>2]=e+-1;e=Ce((c[p>>2]|0)+(h*216|0)|0,l,d,g,t,h,c[(c[m>>2]|0)+64>>2]|0,n)|0;if(e|0){f=20;break}z=z+((c[(c[p>>2]|0)+(h*216|0)+196>>2]|0)==1&1)|0;e=de(a)|0;e=(c[v>>2]|e|0)!=0;switch(c[y>>2]|0){case 7:case 2:{c[o>>2]=h;break}default:{}}h=fe(c[k>>2]|0,c[A>>2]|0,h)|0;if(!((h|0)!=0|e^1)){e=1;f=20;break}if(!e){f=18;break}}if((f|0)==18){f=b+1196|0;e=(c[f>>2]|0)+z|0;if(e>>>0>(c[A>>2]|0)>>>0){F=1;cc=B;return F|0}c[f>>2]=e;F=0;cc=B;return F|0}else if((f|0)==20){cc=B;return e|0}return 0}function Be(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0;y=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);t=y+12|0;r=y+8|0;x=y+4|0;v=y;je(d,0,2088);i=ke(a,x)|0;h=c[x>>2]|0;a:do switch(f|0){case 2:case 7:{h=h+6|0;if((i|0)!=0|h>>>0>31){a=1;cc=y;return a|0}else{c[d>>2]=h;l=h;u=d;break a}}default:{h=h+1|0;if((i|0)!=0|h>>>0>31){a=1;cc=y;return a|0}else{c[d>>2]=h;l=h;u=d;break a}}}while(0);b:do if((l|0)!=31){i=l>>>0<6;h=(l|0)!=6;s=i?2:h&1;c:do if(!i){d:do if(!h){c[r>>2]=0;h=ee(a)|0;q=h>>>31;c[d+12>>2]=q;if(!q){c[d+76>>2]=h>>>28&7;h=h<<4;f=1}else{h=h<<1;f=0}q=h>>>31;c[d+16>>2]=q;if(!q){c[d+80>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+20>>2]=q;if(!q){c[d+84>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+24>>2]=q;if(!q){c[d+88>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+28>>2]=q;if(!q){c[d+92>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+32>>2]=q;if(!q){c[d+96>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+36>>2]=q;if(!q){c[d+100>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+40>>2]=q;if(!q){c[d+104>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;do if((oe(a,(f*3|0)+8|0)|0)!=-1){c[r>>2]=1;h=ee(a)|0;q=h>>>31;c[d+44>>2]=q;if(!q){c[d+108>>2]=h>>>28&7;h=h<<4;f=1}else{h=h<<1;f=0}q=h>>>31;c[d+48>>2]=q;if(!q){c[d+112>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+52>>2]=q;if(!q){c[d+116>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+56>>2]=q;if(!q){c[d+120>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+60>>2]=q;if(!q){c[d+124>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+64>>2]=q;if(!q){c[d+128>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+68>>2]=q;if(!q){c[d+132>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+72>>2]=q;if(!q){c[d+136>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;if((oe(a,(f*3|0)+8|0)|0)==-1)break;c[r>>2]=2;c[t>>2]=h;break d}while(0);c[t>>2]=h;h=1;q=96;break c}while(0);r=(ke(a,t)|0)!=0;h=c[t>>2]|0;if(r|h>>>0>3){h=1;q=96}else{c[d+140>>2]=h;h=0;q=96}}else{if(l>>>0<4){if(g>>>0>1){switch(l|0){case 0:case 1:{h=0;break}case 3:case 2:{h=1;break}default:h=3}j=g>>>0>2&1;i=0;while(1){if(nf(a,t,j)|0){h=1;q=96;break c}f=c[t>>2]|0;if(f>>>0>=g>>>0){h=1;q=96;break c}c[d+144+(i<<2)>>2]=f;if(!h)break;else{h=h+-1|0;i=i+1|0}}}switch(l|0){case 0:case 1:{h=0;break}case 3:case 2:{h=1;break}default:h=3}f=h;i=0;while(1){h=le(a,r)|0;if(h|0){q=96;break c}b[d+160+(i<<2)>>1]=c[r>>2];h=le(a,r)|0;if(h|0){q=96;break c}b[d+160+(i<<2)+2>>1]=c[r>>2];if(!f){h=0;q=96;break c}else{f=f+-1|0;i=i+1|0}}}i=(ke(a,t)|0)!=0;h=c[t>>2]|0;e:do if(((!(i|h>>>0>3)?(n=d+176|0,c[n>>2]=h,i=(ke(a,t)|0)!=0,k=c[t>>2]|0,!(i|k>>>0>3)):0)?(o=d+180|0,c[o>>2]=k,k=(ke(a,t)|0)!=0,j=c[t>>2]|0,!(k|j>>>0>3)):0)?(p=d+184|0,c[p>>2]=j,k=(ke(a,t)|0)!=0,m=c[t>>2]|0,!(k|m>>>0>3)):0){i=d+188|0;c[i>>2]=m;if(g>>>0>1&(l|0)!=5){f=g>>>0>2&1;if(nf(a,t,f)|0){h=1;break}h=c[t>>2]|0;if(h>>>0>=g>>>0){h=1;break}c[d+192>>2]=h;if(nf(a,t,f)|0){h=1;break}h=c[t>>2]|0;if(h>>>0>=g>>>0){h=1;break}c[d+196>>2]=h;if(nf(a,t,f)|0){h=1;break}h=c[t>>2]|0;if(h>>>0>=g>>>0){h=1;break}c[d+200>>2]=h;if(nf(a,t,f)|0){h=1;break}h=c[t>>2]|0;if(h>>>0>=g>>>0){h=1;break}c[d+204>>2]=h}h=c[n>>2]|0;switch(h|0){case 0:break;case 2:case 1:{h=1;break}default:h=3}c[t>>2]=h;f=0;while(1){h=le(a,r)|0;if(h|0)break e;b[d+208+(f<<2)>>1]=c[r>>2];h=le(a,r)|0;if(h|0)break e;b[d+208+(f<<2)+2>>1]=c[r>>2];g=c[t>>2]|0;c[t>>2]=g+-1;if(!g)break;else f=f+1|0}h=c[o>>2]|0;switch(h|0){case 0:break;case 2:case 1:{h=1;break}default:h=3}c[t>>2]=h;f=0;while(1){h=le(a,r)|0;if(h|0)break e;b[d+224+(f<<2)>>1]=c[r>>2];h=le(a,r)|0;if(h|0)break e;b[d+224+(f<<2)+2>>1]=c[r>>2];g=c[t>>2]|0;c[t>>2]=g+-1;if(!g)break;else f=f+1|0}h=c[p>>2]|0;switch(h|0){case 0:break;case 2:case 1:{h=1;break}default:h=3}c[t>>2]=h;f=0;while(1){h=le(a,r)|0;if(h|0)break e;b[d+240+(f<<2)>>1]=c[r>>2];h=le(a,r)|0;if(h|0)break e;b[d+240+(f<<2)+2>>1]=c[r>>2];p=c[t>>2]|0;c[t>>2]=p+-1;if(!p)break;else f=f+1|0}h=c[i>>2]|0;switch(h|0){case 0:break;case 2:case 1:{h=1;break}default:h=3}c[t>>2]=h;f=0;while(1){h=le(a,r)|0;if(h|0)break e;b[d+256+(f<<2)>>1]=c[r>>2];h=le(a,r)|0;if(h|0)break e;b[d+256+(f<<2)+2>>1]=c[r>>2];p=c[t>>2]|0;c[t>>2]=p+-1;if(!p){h=0;break}else f=f+1|0}}else h=1;while(0)}while(0);if(h|0){a=h;cc=y;return a|0}do if((s|0)!=1){h=of(a,x,(s|0)==0&1)|0;if(!h){x=c[x>>2]|0;c[d+4>>2]=x;if(!x)break b;else break}else{a=h;cc=y;return a|0}}else{x=c[u>>2]|0;s=x+-7|0;t=s>>>2<<4;c[d+4>>2]=(s>>>0>11?t+-48|0:t)|(x>>>0>18?15:0)}while(0);x=(le(a,v)|0)!=0;h=c[v>>2]|0;if(x|(h+26|0)>>>0>51){a=1;cc=y;return a|0}c[d+8>>2]=h;f=c[d+4>>2]|0;l=d+272|0;f:do if((c[u>>2]|0)>>>0>6){h=qf(a,d+1864|0,pf(e,0,l)|0,16)|0;if(!(h&15)){b[d+320>>1]=h>>>4&255;j=0;h=f;k=3;while(1){f=h>>>1;if(h&1|0){h=qf(a,d+328+(j<<6)+4|0,pf(e,j,l)|0,15)|0;c[d+1992+(j<<2)>>2]=h>>>15;if(h&15|0)break f;b[d+272+(j<<1)>>1]=h>>>4&255;i=j|1;h=qf(a,d+328+(i<<6)+4|0,pf(e,i,l)|0,15)|0;c[d+1992+(i<<2)>>2]=h>>>15;if(h&15|0)break f;b[d+272+(i<<1)>>1]=h>>>4&255;i=j|2;h=qf(a,d+328+(i<<6)+4|0,pf(e,i,l)|0,15)|0;c[d+1992+(i<<2)>>2]=h>>>15;if(h&15|0)break f;b[d+272+(i<<1)>>1]=h>>>4&255;i=j|3;h=qf(a,d+328+(i<<6)+4|0,pf(e,i,l)|0,15)|0;c[d+1992+(i<<2)>>2]=h>>>15;if(h&15|0)break f;b[d+272+(i<<1)>>1]=h>>>4&255}h=j+4|0;if(!k){i=h;q=115;break}else{j=h;h=f;k=k+-1|0}}}}else{j=0;h=f;k=3;while(1){f=h>>>1;if(h&1|0){h=qf(a,d+328+(j<<6)|0,pf(e,j,l)|0,16)|0;c[d+1992+(j<<2)>>2]=h>>>16;if(h&15|0)break f;b[d+272+(j<<1)>>1]=h>>>4&255;i=j|1;h=qf(a,d+328+(i<<6)|0,pf(e,i,l)|0,16)|0;c[d+1992+(i<<2)>>2]=h>>>16;if(h&15|0)break f;b[d+272+(i<<1)>>1]=h>>>4&255;i=j|2;h=qf(a,d+328+(i<<6)|0,pf(e,i,l)|0,16)|0;c[d+1992+(i<<2)>>2]=h>>>16;if(h&15|0)break f;b[d+272+(i<<1)>>1]=h>>>4&255;i=j|3;h=qf(a,d+328+(i<<6)|0,pf(e,i,l)|0,16)|0;c[d+1992+(i<<2)>>2]=h>>>16;if(h&15|0)break f;b[d+272+(i<<1)>>1]=h>>>4&255}h=j+4|0;if(!k){i=h;q=115;break}else{j=h;h=f;k=k+-1|0}}}while(0);do if((q|0)==115){if(f&3|0){h=qf(a,d+1928|0,-1,4)|0;if(h&15|0)break;b[d+322>>1]=h>>>4&255;h=qf(a,d+1944|0,-1,4)|0;if(h&15|0)break;b[d+324>>1]=h>>>4&255}if(f&2){h=qf(a,d+328+(i<<6)+4|0,pf(e,i,l)|0,15)|0;if(!(h&15)){b[d+272+(i<<1)>>1]=h>>>4&255;c[d+1992+(i<<2)>>2]=h>>>15;f=i+1|0;h=qf(a,d+328+(f<<6)+4|0,pf(e,f,l)|0,15)|0;if(!(h&15)){b[d+272+(f<<1)>>1]=h>>>4&255;c[d+1992+(f<<2)>>2]=h>>>15;f=i+2|0;h=qf(a,d+328+(f<<6)+4|0,pf(e,f,l)|0,15)|0;if(!(h&15)){b[d+272+(f<<1)>>1]=h>>>4&255;c[d+1992+(f<<2)>>2]=h>>>15;f=i+3|0;h=qf(a,d+328+(f<<6)+4|0,pf(e,f,l)|0,15)|0;if(!(h&15)){b[d+272+(f<<1)>>1]=h>>>4&255;c[d+1992+(f<<2)>>2]=h>>>15;f=i+4|0;h=qf(a,d+328+(f<<6)+4|0,pf(e,f,l)|0,15)|0;if(!(h&15)){b[d+272+(f<<1)>>1]=h>>>4&255;c[d+1992+(f<<2)>>2]=h>>>15;f=i+5|0;h=qf(a,d+328+(f<<6)+4|0,pf(e,f,l)|0,15)|0;if(!(h&15)){b[d+272+(f<<1)>>1]=h>>>4&255;c[d+1992+(f<<2)>>2]=h>>>15;f=i+6|0;h=qf(a,d+328+(f<<6)+4|0,pf(e,f,l)|0,15)|0;if(!(h&15)){b[d+272+(f<<1)>>1]=h>>>4&255;c[d+1992+(f<<2)>>2]=h>>>15;f=i+7|0;h=qf(a,d+328+(f<<6)+4|0,pf(e,f,l)|0,15)|0;if(!(h&15)){b[d+272+(f<<1)>>1]=h>>>4&255;c[d+1992+(f<<2)>>2]=h>>>15;h=0}}}}}}}}}else h=0}while(0);c[a+16>>2]=((c[a+4>>2]|0)-(c[a>>2]|0)<<3)+(c[a+8>>2]|0);if(h|0){a=h;cc=y;return a|0}}else{g:do if(!(mf(a)|0)){while(1){if(ce(a,1)|0){h=1;break}if(mf(a)|0)break g}cc=y;return h|0}while(0);i=0;f=d+328|0;while(1){h=ce(a,8)|0;c[x>>2]=h;if((h|0)==-1){h=1;break}c[f>>2]=h;i=i+1|0;if(i>>>0>=384)break b;else f=f+4|0}cc=y;return h|0}while(0);a=0;cc=y;return a|0}function Ce(d,e,f,g,h,i,j,k){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=c[e>>2]|0;c[d>>2]=s;m=d+196|0;c[m>>2]=(c[m>>2]|0)+1;ge(f,i);if((s|0)==31){l=d+28|0;c[d+20>>2]=0;if((c[m>>2]|0)>>>0>1){b[l>>1]=16;b[d+30>>1]=16;b[d+32>>1]=16;b[d+34>>1]=16;b[d+36>>1]=16;b[d+38>>1]=16;b[d+40>>1]=16;b[d+42>>1]=16;b[d+44>>1]=16;b[d+46>>1]=16;b[d+48>>1]=16;b[d+50>>1]=16;b[d+52>>1]=16;b[d+54>>1]=16;b[d+56>>1]=16;b[d+58>>1]=16;b[d+60>>1]=16;b[d+62>>1]=16;b[d+64>>1]=16;b[d+66>>1]=16;b[d+68>>1]=16;b[d+70>>1]=16;b[d+72>>1]=16;b[d+74>>1]=16;k=0;return k|0}n=23;m=e+328|0;h=k;while(1){b[l>>1]=16;a[h>>0]=c[m>>2];a[h+1>>0]=c[m+4>>2];a[h+2>>0]=c[m+8>>2];a[h+3>>0]=c[m+12>>2];a[h+4>>0]=c[m+16>>2];a[h+5>>0]=c[m+20>>2];a[h+6>>0]=c[m+24>>2];a[h+7>>0]=c[m+28>>2];a[h+8>>0]=c[m+32>>2];a[h+9>>0]=c[m+36>>2];a[h+10>>0]=c[m+40>>2];a[h+11>>0]=c[m+44>>2];a[h+12>>0]=c[m+48>>2];a[h+13>>0]=c[m+52>>2];a[h+14>>0]=c[m+56>>2];a[h+15>>0]=c[m+60>>2];if(!n)break;else{n=n+-1|0;m=m+64|0;h=h+16|0;l=l+2|0}}De(f,k);k=0;return k|0}p=d+28|0;if(s){Ee(p,e+272|0,54);m=c[e+8>>2]|0;l=c[h>>2]|0;do if(m){l=l+m|0;c[h>>2]=l;if((l|0)<0){l=l+52|0;c[h>>2]=l;break}if((l|0)>51){l=l+-52|0;c[h>>2]=l}}while(0);q=d+20|0;c[q>>2]=l;m=e+328|0;h=e+1992|0;a:do if((c[d>>2]|0)>>>0>6){if(b[d+76>>1]|0)_d(e+1864|0,l);n=2128;o=15;l=p;while(1){r=c[e+1864+(c[n>>2]<<2)>>2]|0;n=n+4|0;c[m>>2]=r;if((r|0)==0?(b[l>>1]|0)==0:0)c[m>>2]=16777215;else u=19;if((u|0)==19?(u=0,Zd(m,c[q>>2]|0,1,c[h>>2]|0)|0):0){l=1;break}m=m+64|0;l=l+2|0;h=h+4|0;if(!o){r=l;break a}else o=o+-1|0}return l|0}else{if(b[p>>1]|0){if(Zd(m,l,0,c[h>>2]|0)|0){k=1;return k|0}}else c[m>>2]=16777215;l=e+392|0;if(b[d+30>>1]|0){if(Zd(l,c[q>>2]|0,0,c[e+1996>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+456|0;if(b[d+32>>1]|0){if(Zd(l,c[q>>2]|0,0,c[e+2e3>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+520|0;if(b[d+34>>1]|0){if(Zd(l,c[q>>2]|0,0,c[e+2004>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+584|0;if(b[d+36>>1]|0){if(Zd(l,c[q>>2]|0,0,c[e+2008>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+648|0;if(b[d+38>>1]|0){if(Zd(l,c[q>>2]|0,0,c[e+2012>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+712|0;if(b[d+40>>1]|0){if(Zd(l,c[q>>2]|0,0,c[e+2016>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+776|0;if(b[d+42>>1]|0){if(Zd(l,c[q>>2]|0,0,c[e+2020>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+840|0;if(b[d+44>>1]|0){if(Zd(l,c[q>>2]|0,0,c[e+2024>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+904|0;if(b[d+46>>1]|0){if(Zd(l,c[q>>2]|0,0,c[e+2028>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+968|0;if(b[d+48>>1]|0){if(Zd(l,c[q>>2]|0,0,c[e+2032>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+1032|0;if(b[d+50>>1]|0){if(Zd(l,c[q>>2]|0,0,c[e+2036>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+1096|0;do if(!(b[d+52>>1]|0))c[l>>2]=16777215;else{if(!(Zd(l,c[q>>2]|0,0,c[e+2040>>2]|0)|0))break;else l=1;return l|0}while(0);l=e+1160|0;do if(!(b[d+54>>1]|0))c[l>>2]=16777215;else{if(!(Zd(l,c[q>>2]|0,0,c[e+2044>>2]|0)|0))break;else l=1;return l|0}while(0);l=e+1224|0;do if(!(b[d+56>>1]|0))c[l>>2]=16777215;else{if(!(Zd(l,c[q>>2]|0,0,c[e+2048>>2]|0)|0))break;else l=1;return l|0}while(0);l=e+1288|0;do if(!(b[d+58>>1]|0))c[l>>2]=16777215;else{if(!(Zd(l,c[q>>2]|0,0,c[e+2052>>2]|0)|0))break;else l=1;return l|0}while(0);m=e+1352|0;h=e+2056|0;r=d+60|0}while(0);q=(c[d+24>>2]|0)+(c[q>>2]|0)|0;q=(q|0)<51?q:51;q=c[1656+(((q|0)>0?q:0)<<2)>>2]|0;if((b[d+78>>1]|0)==0?(b[d+80>>1]|0)==0:0)l=e+1928|0;else{l=e+1928|0;$d(l,q)}o=e+1932|0;p=c[l>>2]|0;c[m>>2]=p;if((p|0)==0?(b[r>>1]|0)==0:0)c[m>>2]=16777215;else u=32;if((u|0)==32?Zd(m,q,1,c[h>>2]|0)|0:0){k=1;return k|0}n=h+4|0;p=e+1936|0;o=c[o>>2]|0;l=m+64|0;c[l>>2]=o;if((o|0)==0?(b[r+2>>1]|0)==0:0)c[l>>2]=16777215;else u=36;if((u|0)==36?Zd(l,q,1,c[n>>2]|0)|0:0){k=1;return k|0}n=h+8|0;o=e+1940|0;p=c[p>>2]|0;l=m+128|0;c[l>>2]=p;if((p|0)==0?(b[r+4>>1]|0)==0:0)c[l>>2]=16777215;else u=40;if((u|0)==40?Zd(l,q,1,c[n>>2]|0)|0:0){k=1;return k|0}n=h+12|0;p=e+1944|0;o=c[o>>2]|0;l=m+192|0;c[l>>2]=o;if((o|0)==0?(b[r+6>>1]|0)==0:0)c[l>>2]=16777215;else u=44;if((u|0)==44?Zd(l,q,1,c[n>>2]|0)|0:0){k=1;return k|0}n=h+16|0;o=e+1948|0;p=c[p>>2]|0;l=m+256|0;c[l>>2]=p;if((p|0)==0?(b[r+8>>1]|0)==0:0)c[l>>2]=16777215;else u=48;if((u|0)==48?Zd(l,q,1,c[n>>2]|0)|0:0){k=1;return k|0}n=h+20|0;p=e+1952|0;o=c[o>>2]|0;l=m+320|0;c[l>>2]=o;if((o|0)==0?(b[r+10>>1]|0)==0:0)c[l>>2]=16777215;else u=52;if((u|0)==52?Zd(l,q,1,c[n>>2]|0)|0:0){k=1;return k|0}n=h+24|0;o=e+1956|0;p=c[p>>2]|0;l=m+384|0;c[l>>2]=p;if((p|0)==0?(b[r+12>>1]|0)==0:0)c[l>>2]=16777215;else u=56;if((u|0)==56?Zd(l,q,1,c[n>>2]|0)|0:0){k=1;return k|0}h=h+28|0;p=c[o>>2]|0;l=m+448|0;c[l>>2]=p;if((p|0)==0?(b[r+14>>1]|0)==0:0)c[l>>2]=16777215;else u=60;if((u|0)==60?Zd(l,q,1,c[h>>2]|0)|0:0){k=1;return k|0}if(s>>>0>=6){l=Fe(d,e,f,i,j,k)|0;if(l|0){k=l;return k|0}}else u=110}else{je(p,0,54);c[d+20>>2]=c[h>>2];u=110}if((u|0)==110?(t=Ge(d,e,g,i,f,k)|0,t|0):0){k=t;return k|0}k=0;return k|0}function De(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[a+4>>2]|0;g=c[a+12>>2]|0;e=c[a+16>>2]|0;d=c[a+20>>2]|0;a=f<<2;h=c[b+4>>2]|0;c[g>>2]=c[b>>2];c[g+4>>2]=h;h=c[b+12>>2]|0;c[g+8>>2]=c[b+8>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+20>>2]|0;c[g>>2]=c[b+16>>2];c[g+4>>2]=h;h=c[b+28>>2]|0;c[g+8>>2]=c[b+24>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+36>>2]|0;c[g>>2]=c[b+32>>2];c[g+4>>2]=h;h=c[b+44>>2]|0;c[g+8>>2]=c[b+40>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+52>>2]|0;c[g>>2]=c[b+48>>2];c[g+4>>2]=h;h=c[b+60>>2]|0;c[g+8>>2]=c[b+56>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+68>>2]|0;c[g>>2]=c[b+64>>2];c[g+4>>2]=h;h=c[b+76>>2]|0;c[g+8>>2]=c[b+72>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+84>>2]|0;c[g>>2]=c[b+80>>2];c[g+4>>2]=h;h=c[b+92>>2]|0;c[g+8>>2]=c[b+88>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+100>>2]|0;c[g>>2]=c[b+96>>2];c[g+4>>2]=h;h=c[b+108>>2]|0;c[g+8>>2]=c[b+104>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+116>>2]|0;c[g>>2]=c[b+112>>2];c[g+4>>2]=h;h=c[b+124>>2]|0;c[g+8>>2]=c[b+120>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+132>>2]|0;c[g>>2]=c[b+128>>2];c[g+4>>2]=h;h=c[b+140>>2]|0;c[g+8>>2]=c[b+136>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+148>>2]|0;c[g>>2]=c[b+144>>2];c[g+4>>2]=h;h=c[b+156>>2]|0;c[g+8>>2]=c[b+152>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+164>>2]|0;c[g>>2]=c[b+160>>2];c[g+4>>2]=h;h=c[b+172>>2]|0;c[g+8>>2]=c[b+168>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+180>>2]|0;c[g>>2]=c[b+176>>2];c[g+4>>2]=h;h=c[b+188>>2]|0;c[g+8>>2]=c[b+184>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+196>>2]|0;c[g>>2]=c[b+192>>2];c[g+4>>2]=h;h=c[b+204>>2]|0;c[g+8>>2]=c[b+200>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+212>>2]|0;c[g>>2]=c[b+208>>2];c[g+4>>2]=h;h=c[b+220>>2]|0;c[g+8>>2]=c[b+216>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+228>>2]|0;c[g>>2]=c[b+224>>2];c[g+4>>2]=h;h=c[b+236>>2]|0;c[g+8>>2]=c[b+232>>2];c[g+12>>2]=h;a=g+(a<<2)|0;g=c[b+244>>2]|0;c[a>>2]=c[b+240>>2];c[a+4>>2]=g;g=c[b+252>>2]|0;c[a+8>>2]=c[b+248>>2];c[a+12>>2]=g;a=f<<1&2147483646;f=c[b+260>>2]|0;c[e>>2]=c[b+256>>2];c[e+4>>2]=f;e=e+(a<<2)|0;f=c[b+268>>2]|0;c[e>>2]=c[b+264>>2];c[e+4>>2]=f;e=e+(a<<2)|0;f=c[b+276>>2]|0;c[e>>2]=c[b+272>>2];c[e+4>>2]=f;e=e+(a<<2)|0;f=c[b+284>>2]|0;c[e>>2]=c[b+280>>2];c[e+4>>2]=f;e=e+(a<<2)|0;f=c[b+292>>2]|0;c[e>>2]=c[b+288>>2];c[e+4>>2]=f;e=e+(a<<2)|0;f=c[b+300>>2]|0;c[e>>2]=c[b+296>>2];c[e+4>>2]=f;e=e+(a<<2)|0;f=c[b+308>>2]|0;c[e>>2]=c[b+304>>2];c[e+4>>2]=f;e=e+(a<<2)|0;f=c[b+316>>2]|0;c[e>>2]=c[b+312>>2];c[e+4>>2]=f;e=c[b+324>>2]|0;c[d>>2]=c[b+320>>2];c[d+4>>2]=e;d=d+(a<<2)|0;e=c[b+332>>2]|0;c[d>>2]=c[b+328>>2];c[d+4>>2]=e;d=d+(a<<2)|0;e=c[b+340>>2]|0;c[d>>2]=c[b+336>>2];c[d+4>>2]=e;d=d+(a<<2)|0;e=c[b+348>>2]|0;c[d>>2]=c[b+344>>2];c[d+4>>2]=e;d=d+(a<<2)|0;e=c[b+356>>2]|0;c[d>>2]=c[b+352>>2];c[d+4>>2]=e;d=d+(a<<2)|0;e=c[b+364>>2]|0;c[d>>2]=c[b+360>>2];c[d+4>>2]=e;d=d+(a<<2)|0;e=c[b+372>>2]|0;c[d>>2]=c[b+368>>2];c[d+4>>2]=e;a=d+(a<<2)|0;d=c[b+380>>2]|0;c[a>>2]=c[b+376>>2];c[a+4>>2]=d;return}function Ee(a,b,c){a=a|0;b=b|0;c=c|0;pj(a|0,b|0,c|0)|0;return}function Fe(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=cc;cc=cc+80|0;if((cc|0)>=(dc|0))w(80);h=j+32|0;i=j;$e(d,h,i,e);if((af(c[a>>2]|0)|0)==1){e=bf(a,g,b+328|0,h,i,f)|0;if(e|0){a=e;cc=j;return a|0}}else{e=cf(a,g,b,h,i,f)|0;if(e|0){a=e;cc=j;return a|0}}e=df(a,g+256|0,b+1352|0,h+21|0,i+16|0,c[b+140>>2]|0,f)|0;if(e|0){a=e;cc=j;return a|0}if((c[a+196>>2]|0)>>>0>1){a=0;cc=j;return a|0}De(d,g);a=0;cc=j;return a|0} -function Gf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;n=r(f,e)|0;m=c[b+12>>2]|0;if((m|0)==1){je(a,0,n<<2);return}g=c[b+16>>2]|0;if((g+-3|0)>>>0<3){d=r(c[b+36>>2]|0,d)|0;d=d>>>0>>0?d:n;if((g&-2|0)==4){k=(c[b+32>>2]|0)==0?d:n-d|0;h=6}else u=d}else{k=0;d=0;h=6}a:do if((h|0)==6)switch(g|0){case 3:{u=d;break a}case 0:{j=c[b+20>>2]|0;if(!m){if(!n)return;while(1){}}d=0;while(1){if(d>>>0>=n>>>0){h=66;break}k=0;do{i=j+(k<<2)|0;g=c[i>>2]|0;b:do if(!g)g=0;else{b=0;do{h=b+d|0;if(h>>>0>=n>>>0)break b;c[a+(h<<2)>>2]=k;b=b+1|0;g=c[i>>2]|0}while(b>>>0>>0)}while(0);k=k+1|0;d=g+d|0;g=d>>>0>>0}while(k>>>0>>0&g);if(!g){h=66;break}}if((h|0)==66)return;break}case 1:{if(!n)return;d=0;do{u=(d>>>0)/(e>>>0)|0;c[a+(d<<2)>>2]=((((r(u,m)|0)>>>1)+(d-(r(u,e)|0))|0)>>>0)%(m>>>0)|0;d=d+1|0}while((d|0)!=(n|0));return}case 2:{l=c[b+24>>2]|0;f=c[b+28>>2]|0;g=m+-1|0;if(n|0){d=0;do{c[a+(d<<2)>>2]=g;d=d+1|0}while((d|0)!=(n|0));if(!g)return}j=m+-2|0;while(1){b=c[l+(j<<2)>>2]|0;d=(b>>>0)/(e>>>0)|0;b=b-(r(d,e)|0)|0;i=c[f+(j<<2)>>2]|0;k=(i>>>0)/(e>>>0)|0;i=i-(r(k,e)|0)|0;c:do if(d>>>0<=k>>>0){if(b>>>0>i>>>0)while(1){d=d+1|0;if(d>>>0>k>>>0)break c}do{g=r(d,e)|0;h=b;do{c[a+(h+g<<2)>>2]=j;h=h+1|0}while(h>>>0<=i>>>0);d=d+1|0}while(d>>>0<=k>>>0)}while(0);if(!j)break;else j=j+-1|0}return}case 4:{d=c[b+32>>2]|0;if(!n)return;h=1-d|0;g=0;do{c[a+(g<<2)>>2]=g>>>0>>0?d:h;g=g+1|0}while((g|0)!=(n|0));return}case 5:{d=c[b+32>>2]|0;if(!e)return;j=1-d|0;if(!f)return;h=0;b=0;while(1){g=0;i=b;while(1){u=a+((r(g,e)|0)+h<<2)|0;c[u>>2]=i>>>0>>0?d:j;g=g+1|0;if((g|0)==(f|0))break;else i=i+1|0}h=h+1|0;if((h|0)==(e|0))break;else b=b+f|0}return}default:{if(!n)return;d=c[b+44>>2]|0;g=0;do{c[a+(g<<2)>>2]=c[d+(g<<2)>>2];g=g+1|0}while((g|0)!=(n|0));return}}while(0);h=c[b+32>>2]|0;if(n|0){d=0;do{c[a+(d<<2)>>2]=1;d=d+1|0}while((d|0)!=(n|0))}d=(e-h|0)>>>1;g=(f-h|0)>>>1;if(!u)return;t=h<<1;q=t+-1|0;s=e+-1|0;t=1-t|0;p=f+-1|0;m=g;o=0;n=d;b=d;i=g;j=d;k=h+-1|0;f=g;while(1){d=a+((r(f,e)|0)+j<<2)|0;g=(c[d>>2]|0)==1;l=g&1;if(g)c[d>>2]=0;do if(!((k|0)==-1&(j|0)==(n|0))){if((k|0)==1&(j|0)==(b|0)){j=b+1|0;j=(j|0)<(s|0)?j:s;d=m;g=n;b=j;k=0;h=t;break}if((h|0)==-1&(f|0)==(i|0)){f=i+-1|0;f=(f|0)>0?f:0;d=m;g=n;i=f;k=t;h=0;break}if((h|0)==1&(f|0)==(m|0)){f=m+1|0;f=(f|0)<(p|0)?f:p;d=f;g=n;k=q;h=0;break}else{d=m;g=n;j=j+k|0;f=f+h|0;break}}else{j=n+-1|0;j=(j|0)>0?j:0;d=m;g=j;k=0;h=q}while(0);o=o+l|0;if(o>>>0>=u>>>0)break;else{m=d;n=g}}return}function Hf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=cc;cc=cc+32|0;if((cc|0)>=(dc|0))w(32);g=s+24|0;i=s+20|0;j=s+16|0;m=s+12|0;q=s+8|0;p=s;c[e>>2]=0;switch(c[b>>2]|0){case 6:case 7:case 8:case 9:case 10:case 11:case 13:case 14:case 15:case 16:case 17:case 18:{c[e>>2]=1;b=0;cc=s;return b|0}case 5:case 1:{r=d+1300|0;f=d+1332|0;if(c[f>>2]|0){c[e>>2]=1;c[f>>2]=0}f=te(a,g)|0;if(f|0){b=f;cc=s;return b|0}k=c[d+148+(c[g>>2]<<2)>>2]|0;if(!k){b=65520;cc=s;return b|0}f=c[k+4>>2]|0;l=c[d+20+(f<<2)>>2]|0;if(!l){b=65520;cc=s;return b|0}g=c[d+8>>2]|0;if(!((g|0)==32|(f|0)==(g|0))?(c[b>>2]|0)!=5:0){b=65520;cc=s;return b|0}f=c[d+1304>>2]|0;g=c[b+4>>2]|0;if((f|0)!=(g|0)?(f|0)==0|(g|0)==0:0)c[e>>2]=1;f=(c[b>>2]|0)==5;if((c[r>>2]|0)==5){if(!f)h=16}else if(f)h=16;if((h|0)==16)c[e>>2]=1;g=l+12|0;if(ue(a,c[g>>2]|0,i)|0){b=1;cc=s;return b|0}h=d+1308|0;f=c[i>>2]|0;if((c[h>>2]|0)!=(f|0)){c[h>>2]=f;c[e>>2]=1}if((c[b>>2]|0)==5){if(ve(a,c[g>>2]|0,5,j)|0){b=1;cc=s;return b|0}if((c[r>>2]|0)==5){f=d+1312|0;h=c[f>>2]|0;g=c[j>>2]|0;if((h|0)==(g|0))g=h;else c[e>>2]=1}else{g=c[j>>2]|0;f=d+1312|0}c[f>>2]=g}switch(c[l+16>>2]|0){case 0:{if(we(a,l,c[b>>2]|0,m)|0){b=1;cc=s;return b|0}g=d+1316|0;f=c[m>>2]|0;if((c[g>>2]|0)!=(f|0)){c[g>>2]=f;c[e>>2]=1}if(c[k+8>>2]|0){f=xe(a,l,c[b>>2]|0,q)|0;if(f|0){b=f;cc=s;return b|0}g=d+1320|0;f=c[q>>2]|0;if((c[g>>2]|0)!=(f|0)){c[g>>2]=f;c[e>>2]=1}}break}case 1:{if(!(c[l+24>>2]|0)){h=k+8|0;f=ye(a,l,c[b>>2]|0,c[h>>2]|0,p)|0;if(f|0){b=f;cc=s;return b|0}g=d+1324|0;f=c[p>>2]|0;if((c[g>>2]|0)!=(f|0)){c[g>>2]=f;c[e>>2]=1}if(c[h>>2]|0?(o=d+1328|0,n=c[p+4>>2]|0,(c[o>>2]|0)!=(n|0)):0){c[o>>2]=n;c[e>>2]=1}}break}default:{}}d=b;e=c[d+4>>2]|0;b=r;c[b>>2]=c[d>>2];c[b+4>>2]=e;b=0;cc=s;return b|0}default:{b=0;cc=s;return b|0}}return 0}function If(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=0;a:while(1){d=c[a+148+(k<<2)>>2]|0;b:do if(d|0?(j=c[a+20+(c[d+4>>2]<<2)>>2]|0,j|0):0){i=c[j+52>>2]|0;l=r(c[j+56>>2]|0,i)|0;e=c[d+12>>2]|0;if(e>>>0<=1){b=0;d=18;break a}b=c[d+16>>2]|0;switch(b|0){case 0:{b=c[d+20>>2]|0;d=0;while(1){if((c[b+(d<<2)>>2]|0)>>>0>l>>>0)break b;d=d+1|0;if(d>>>0>=e>>>0){b=0;d=18;break a}}}case 2:{h=e+-1|0;g=c[d+24>>2]|0;d=c[d+28>>2]|0;f=0;while(1){e=c[g+(f<<2)>>2]|0;b=c[d+(f<<2)>>2]|0;if(!(e>>>0<=b>>>0&b>>>0>>0))break b;f=f+1|0;if(((e>>>0)%(i>>>0)|0)>>>0>((b>>>0)%(i>>>0)|0)>>>0)break b;if(f>>>0>=h>>>0){b=0;d=18;break a}}}default:{if((b+-3|0)>>>0<3)if((c[d+36>>2]|0)>>>0>l>>>0)break b;else{b=0;d=18;break a}if((b|0)!=6){b=0;d=18;break a}if((c[d+40>>2]|0)>>>0>>0)break b;else{b=0;d=18;break a}}}}while(0);k=k+1|0;if(k>>>0>=256){b=1;d=18;break}}if((d|0)==18)return b|0;return 0}function Jf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=c[a+40>>2]|0;if(g|0){h=c[a>>2]|0;j=a+32|0;i=0;do{if(((c[h+(i*40|0)+20>>2]|0)+-1|0)>>>0<2){f=c[h+(i*40|0)+12>>2]|0;if(f>>>0>d>>>0)f=f-(c[j>>2]|0)|0;c[h+(i*40|0)+8>>2]=f}i=i+1|0}while((i|0)!=(g|0))}if(!(c[b>>2]|0)){b=0;return b|0}f=c[b+4>>2]|0;if(f>>>0>=3){b=0;return b|0}o=a+24|0;n=a+32|0;m=a+4|0;k=d;l=0;a:while(1){b:do if((f|0)==2){f=c[b+4+(l*12|0)+8>>2]|0;g=c[o>>2]|0;if(!g){f=1;g=39;break a}i=c[a>>2]|0;h=0;while(1){if((c[i+(h*40|0)+20>>2]|0)==3?(c[i+(h*40|0)+8>>2]|0)==(f|0):0){j=3;g=i;break b}h=h+1|0;if(h>>>0>=g>>>0){f=1;g=39;break a}}}else{g=c[b+4+(l*12|0)+4>>2]|0;if(!f){f=k-g|0;if((f|0)<0)f=(c[n>>2]|0)+f|0}else{k=g+k|0;f=c[n>>2]|0;f=k-((k|0)<(f|0)?0:f)|0}if(f>>>0>d>>>0)i=f-(c[n>>2]|0)|0;else i=f;g=c[o>>2]|0;if(!g){f=1;g=39;break a}k=c[a>>2]|0;h=0;while(1){j=c[k+(h*40|0)+20>>2]|0;if((j+-1|0)>>>0<2?(c[k+(h*40|0)+8>>2]|0)==(i|0):0){g=k;k=f;break b}h=h+1|0;if(h>>>0>=g>>>0){f=1;g=39;break a}}}while(0);if(!((h|0)>-1&j>>>0>1)){f=1;g=39;break}if(l>>>0>>0){f=e;do{i=c[m>>2]|0;j=f;f=f+-1|0;c[i+(j<<2)>>2]=c[i+(f<<2)>>2]}while(f>>>0>l>>>0);f=c[a>>2]|0}else f=g;c[(c[m>>2]|0)+(l<<2)>>2]=f+(h*40|0);l=l+1|0;if(l>>>0<=e>>>0){j=l;f=l;do{g=c[m>>2]|0;i=c[g+(j<<2)>>2]|0;if((i|0)!=((c[a>>2]|0)+(h*40|0)|0)){c[g+(f<<2)>>2]=i;f=f+1|0}j=j+1|0}while(j>>>0<=e>>>0)}f=c[b+4+(l*12|0)>>2]|0;if(f>>>0>=3){f=0;g=39;break}}if((g|0)==39)return f|0;return 0}function Kf(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=a+8|0;j=c[z>>2]|0;if((c[d>>2]|0)!=(c[j>>2]|0)){a=1;return a|0}u=a+52|0;c[u>>2]=0;A=a+56|0;d=(c[A>>2]|0)==0;y=d&1;do if(!b){c[j+20>>2]=0;c[j+12>>2]=e;c[j+8>>2]=e;c[j+16>>2]=f;c[j+24>>2]=y;if(d){q=a+44|0;c[q>>2]=(c[q>>2]|0)+1;q=0}else q=0}else{if(g|0){j=a+20|0;c[j>>2]=0;d=a+16|0;c[d>>2]=0;Lf(a);if(!((c[b>>2]|0)==0?!(c[A>>2]|0):0)){c[d>>2]=0;c[j>>2]=0}f=(c[b+4>>2]|0)==0;q=c[z>>2]|0;c[q+20>>2]=f?2:3;c[a+36>>2]=f?65535:0;c[q+12>>2]=0;c[q+8>>2]=0;c[q+16>>2]=0;c[q+24>>2]=y;c[a+44>>2]=1;c[a+40>>2]=1;q=0;break}if(!(c[b+8>>2]|0)){j=a+40|0;l=c[j>>2]|0;p=c[a+24>>2]|0;if(l>>>0>=p>>>0)if(l){o=c[a>>2]|0;m=0;d=-1;k=0;while(1){if(((c[o+(m*40|0)+20>>2]|0)+-1|0)>>>0<2){b=c[o+(m*40|0)+8>>2]|0;x=(d|0)==-1|(b|0)<(k|0);n=x?m:d;k=x?b:k}else n=d;m=m+1|0;if((m|0)==(l|0))break;else d=n}if((n|0)>-1){c[o+(n*40|0)+20>>2]=0;d=l+-1|0;c[j>>2]=d;if(!(c[o+(n*40|0)+24>>2]|0)){l=a+44|0;c[l>>2]=(c[l>>2]|0)+-1;l=d;k=p;d=0}else{l=d;k=p;d=0}}else{k=p;d=1}}else{l=0;k=p;d=1}else{k=p;d=0}}else{v=a+24|0;t=a+36|0;j=a+40|0;s=a+44|0;q=0;r=0;a:while(1){d=c[b+12+(q*20|0)>>2]|0;b:do switch(d|0){case 0:{x=77;break a}case 1:{n=e-(c[b+12+(q*20|0)+4>>2]|0)|0;l=c[v>>2]|0;if(!l){d=1;break a}m=c[a>>2]|0;d=0;while(1){k=m+(d*40|0)+20|0;if(((c[k>>2]|0)+-1|0)>>>0<2?(c[m+(d*40|0)+8>>2]|0)==(n|0):0)break;d=d+1|0;if(d>>>0>=l>>>0){d=1;break a}}if((d|0)<0){d=1;break a}c[k>>2]=0;c[j>>2]=(c[j>>2]|0)+-1;if(!(c[m+(d*40|0)+24>>2]|0)){c[s>>2]=(c[s>>2]|0)+-1;d=r}else d=r;break}case 2:{l=c[b+12+(q*20|0)+8>>2]|0;m=c[v>>2]|0;if(!m){d=1;break a}n=c[a>>2]|0;d=0;while(1){k=n+(d*40|0)+20|0;if((c[k>>2]|0)==3?(c[n+(d*40|0)+8>>2]|0)==(l|0):0)break;d=d+1|0;if(d>>>0>=m>>>0){d=1;break a}}if((d|0)<0){d=1;break a}c[k>>2]=0;c[j>>2]=(c[j>>2]|0)+-1;if(!(c[n+(d*40|0)+24>>2]|0)){c[s>>2]=(c[s>>2]|0)+-1;d=r}else d=r;break}case 3:{d=c[b+12+(q*20|0)+4>>2]|0;n=c[b+12+(q*20|0)+12>>2]|0;p=c[t>>2]|0;if((p|0)==65535|p>>>0>>0){d=1;break a}o=c[v>>2]|0;if(!o){d=1;break a}p=c[a>>2]|0;k=0;while(1){m=p+(k*40|0)+20|0;if((c[m>>2]|0)==3?(c[p+(k*40|0)+8>>2]|0)==(n|0):0){x=34;break}l=k+1|0;if(l>>>0>>0)k=l;else break}if((x|0)==34?(x=0,c[m>>2]=0,c[j>>2]=(c[j>>2]|0)+-1,(c[p+(k*40|0)+24>>2]|0)==0):0)c[s>>2]=(c[s>>2]|0)+-1;m=e-d|0;d=0;while(1){l=p+(d*40|0)+20|0;k=c[l>>2]|0;if((k+-1|0)>>>0<2?(w=p+(d*40|0)+8|0,(c[w>>2]|0)==(m|0)):0)break;d=d+1|0;if(d>>>0>=o>>>0){d=1;break a}}if(!((d|0)>-1&k>>>0>1)){d=1;break a}c[l>>2]=3;c[w>>2]=n;d=r;break}case 4:{d=c[b+12+(q*20|0)+16>>2]|0;c[t>>2]=d;m=c[v>>2]|0;if(!m)d=r;else{n=c[a>>2]|0;if((d|0)==65535){d=0;while(1){k=n+(d*40|0)+20|0;if((c[k>>2]|0)==3?(c[k>>2]=0,c[j>>2]=(c[j>>2]|0)+-1,(c[n+(d*40|0)+24>>2]|0)==0):0)c[s>>2]=(c[s>>2]|0)+-1;d=d+1|0;if((d|0)==(m|0)){d=r;break b}}}k=0;do{l=n+(k*40|0)+20|0;if(((c[l>>2]|0)==3?(c[n+(k*40|0)+8>>2]|0)>>>0>d>>>0:0)?(c[l>>2]=0,c[j>>2]=(c[j>>2]|0)+-1,(c[n+(k*40|0)+24>>2]|0)==0):0)c[s>>2]=(c[s>>2]|0)+-1;k=k+1|0}while((k|0)!=(m|0));d=r}break}case 5:{Lf(a);c[u>>2]=1;e=0;d=r;break}case 6:{n=c[b+12+(q*20|0)+12>>2]|0;p=c[t>>2]|0;if((p|0)==65535|p>>>0>>0){d=1;break a}k=c[v>>2]|0;c:do if(k){m=c[a>>2]|0;d=0;while(1){l=m+(d*40|0)+20|0;if((c[l>>2]|0)==3?(c[m+(d*40|0)+8>>2]|0)==(n|0):0)break;d=d+1|0;if(d>>>0>=k>>>0)break c}c[l>>2]=0;c[j>>2]=(c[j>>2]|0)+-1;if(!(c[m+(d*40|0)+24>>2]|0))c[s>>2]=(c[s>>2]|0)+-1}else k=0;while(0);d=c[j>>2]|0;if(d>>>0>=k>>>0){d=1;break a}r=c[z>>2]|0;c[r+12>>2]=e;c[r+8>>2]=n;c[r+16>>2]=f;c[r+20>>2]=3;c[r+24>>2]=(c[A>>2]|0)==0&1;c[j>>2]=d+1;c[s>>2]=(c[s>>2]|0)+1;d=1;break}default:{d=1;break a}}while(0);q=q+1|0;r=d}if(r|0){q=d;break}l=c[j>>2]|0;k=c[v>>2]|0}if(l>>>0>>0){q=c[z>>2]|0;c[q+12>>2]=e;c[q+8>>2]=e;c[q+16>>2]=f;c[q+20>>2]=2;c[q+24>>2]=y;q=a+44|0;c[q>>2]=(c[q>>2]|0)+1;c[j>>2]=l+1;q=d}else q=1}while(0);d=c[z>>2]|0;c[d+36>>2]=g;c[d+28>>2]=h;c[d+32>>2]=i;if(!(c[A>>2]|0)){n=a+44|0;j=c[n>>2]|0;d=c[a+28>>2]|0;if(j>>>0>d>>>0){m=c[a>>2]|0;p=a+12|0;o=a+16|0;do{l=0;e=2147483647;k=0;do{if(c[m+(l*40|0)+24>>2]|0){g=c[m+(l*40|0)+16>>2]|0;i=(g|0)<(e|0);e=i?g:e;k=i?m+(l*40|0)|0:k}l=l+1|0}while(l>>>0<=d>>>0);if((k|0)!=0?(g=c[p>>2]|0,i=c[o>>2]|0,c[g+(i<<4)>>2]=c[k>>2],c[g+(i<<4)+12>>2]=c[k+36>>2],c[g+(i<<4)+4>>2]=c[k+28>>2],c[g+(i<<4)+8>>2]=c[k+32>>2],c[o>>2]=i+1,c[k+24>>2]=0,(c[k+20>>2]|0)==0):0){j=j+-1|0;c[n>>2]=j}}while(j>>>0>d>>>0)}}else{y=c[a+12>>2]|0;A=a+16|0;z=c[A>>2]|0;c[y+(z<<4)>>2]=c[d>>2];c[y+(z<<4)+12>>2]=g;c[y+(z<<4)+4>>2]=h;c[y+(z<<4)+8>>2]=i;c[A>>2]=z+1;d=c[a+28>>2]|0}Mf(c[a>>2]|0,d+1|0);a=q;return a|0}function Lf(a){a=a|0;var b=0,d=0,e=0;d=c[a>>2]|0;e=a+44|0;b=d+20|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+24>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+60|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+64>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+100|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+104>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+140|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+144>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+180|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+184>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+220|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+224>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+260|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+264>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+300|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+304>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+340|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+344>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+380|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+384>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+420|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+424>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+460|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+464>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+500|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+504>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+540|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+544>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+580|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+584>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+620|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+624>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;do{}while(!(Nf(a)|0));c[a+40>>2]=0;c[a+36>>2]=65535;c[a+48>>2]=0;return}function Mf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=cc;cc=cc+32|0;if((cc|0)>=(dc|0))w(32);o=q+16|0;p=q;if(b>>>0>7){j=7;do{d=a+(j*40|0)|0;i=d;h=c[i>>2]|0;i=c[i+4>>2]|0;k=c[a+(j*40|0)+8>>2]|0;n=a+(j*40|0)+12|0;m=c[n+4>>2]|0;l=o;c[l>>2]=c[n>>2];c[l+4>>2]=m;l=c[a+(j*40|0)+20>>2]|0;m=c[a+(j*40|0)+24>>2]|0;n=a+(j*40|0)+28|0;c[p>>2]=c[n>>2];c[p+4>>2]=c[n+4>>2];c[p+8>>2]=c[n+8>>2];a:do if(j>>>0<7)e=j;else{if(!l){if(!m){e=j;break}e=j;while(1){d=a+(e*40|0)|0;f=d+-280|0;if(c[f+20>>2]|0)break a;if(c[f+24>>2]|0)break a;e=e+-7|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(e>>>0<7){d=f;break a}}}if((l+-1|0)>>>0<2){e=j;while(1){d=a+(e*40|0)|0;n=d+-280|0;g=c[n+20>>2]|0;if((g|0)!=0&(g+-1|0)>>>0<2?(c[n+8>>2]|0)>=(k|0):0)break a;e=e+-7|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(e>>>0<7){d=f;break a}}}e=j;while(1){d=a+(e*40|0)|0;g=d+-280|0;f=c[g+20>>2]|0;if(f|0){if((f+-1|0)>>>0<2)break a;if((c[g+8>>2]|0)<=(k|0))break a}e=e+-7|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(e>>>0<7){d=f;break}}}while(0);n=d;c[n>>2]=h;c[n+4>>2]=i;c[a+(e*40|0)+8>>2]=k;i=o;k=c[i+4>>2]|0;n=a+(e*40|0)+12|0;c[n>>2]=c[i>>2];c[n+4>>2]=k;c[a+(e*40|0)+20>>2]=l;c[a+(e*40|0)+24>>2]=m;n=a+(e*40|0)+28|0;c[n>>2]=c[p>>2];c[n+4>>2]=c[p+4>>2];c[n+8>>2]=c[p+8>>2];j=j+1|0}while((j|0)!=(b|0))}if(b>>>0>3){j=3;do{d=a+(j*40|0)|0;i=d;h=c[i>>2]|0;i=c[i+4>>2]|0;k=c[a+(j*40|0)+8>>2]|0;n=a+(j*40|0)+12|0;m=c[n+4>>2]|0;l=o;c[l>>2]=c[n>>2];c[l+4>>2]=m;l=c[a+(j*40|0)+20>>2]|0;m=c[a+(j*40|0)+24>>2]|0;n=a+(j*40|0)+28|0;c[p>>2]=c[n>>2];c[p+4>>2]=c[n+4>>2];c[p+8>>2]=c[n+8>>2];b:do if(j>>>0<3)e=j;else{if(!l){if(!m){e=j;break}e=j;while(1){d=a+(e*40|0)|0;f=d+-120|0;if(c[f+20>>2]|0)break b;if(c[f+24>>2]|0)break b;e=e+-3|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(e>>>0<3){d=f;break b}}}if((l+-1|0)>>>0<2){e=j;while(1){d=a+(e*40|0)|0;n=d+-120|0;g=c[n+20>>2]|0;if((g|0)!=0&(g+-1|0)>>>0<2?(c[n+8>>2]|0)>=(k|0):0)break b;e=e+-3|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(e>>>0<3){d=f;break b}}}e=j;while(1){d=a+(e*40|0)|0;g=d+-120|0;f=c[g+20>>2]|0;if(f|0){if((f+-1|0)>>>0<2)break b;if((c[g+8>>2]|0)<=(k|0))break b}e=e+-3|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(e>>>0<3){d=f;break}}}while(0);n=d;c[n>>2]=h;c[n+4>>2]=i;c[a+(e*40|0)+8>>2]=k;i=o;k=c[i+4>>2]|0;n=a+(e*40|0)+12|0;c[n>>2]=c[i>>2];c[n+4>>2]=k;c[a+(e*40|0)+20>>2]=l;c[a+(e*40|0)+24>>2]=m;n=a+(e*40|0)+28|0;c[n>>2]=c[p>>2];c[n+4>>2]=c[p+4>>2];c[n+8>>2]=c[p+8>>2];j=j+1|0}while((j|0)!=(b|0))}if(b>>>0<=1){cc=q;return}j=1;do{d=a+(j*40|0)|0;i=d;h=c[i>>2]|0;i=c[i+4>>2]|0;k=c[a+(j*40|0)+8>>2]|0;n=a+(j*40|0)+12|0;m=c[n+4>>2]|0;l=o;c[l>>2]=c[n>>2];c[l+4>>2]=m;l=c[a+(j*40|0)+20>>2]|0;m=c[a+(j*40|0)+24>>2]|0;n=a+(j*40|0)+28|0;c[p>>2]=c[n>>2];c[p+4>>2]=c[n+4>>2];c[p+8>>2]=c[n+8>>2];c:do if(!l)if(!m)e=j;else{e=j;while(1){d=a+(e*40|0)|0;f=d+-40|0;if(c[f+20>>2]|0)break c;if(c[f+24>>2]|0)break c;e=e+-1|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(!e){d=f;break}}}else{if((l+-1|0)>>>0<2){e=j;while(1){d=a+(e*40|0)|0;n=d+-40|0;g=c[n+20>>2]|0;if((g|0)!=0&(g+-1|0)>>>0<2?(c[n+8>>2]|0)>=(k|0):0)break c;e=e+-1|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(!e){d=f;break c}}}e=j;while(1){d=a+(e*40|0)|0;g=d+-40|0;f=c[g+20>>2]|0;if(f|0){if((f+-1|0)>>>0<2)break c;if((c[g+8>>2]|0)<=(k|0))break c}e=e+-1|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(!e){d=f;break}}}while(0);n=d;c[n>>2]=h;c[n+4>>2]=i;c[a+(e*40|0)+8>>2]=k;i=o;k=c[i+4>>2]|0;n=a+(e*40|0)+12|0;c[n>>2]=c[i>>2];c[n+4>>2]=k;c[a+(e*40|0)+20>>2]=l;c[a+(e*40|0)+24>>2]=m;n=a+(e*40|0)+28|0;c[n>>2]=c[p>>2];c[n+4>>2]=c[p+4>>2];c[n+8>>2]=c[p+8>>2];j=j+1|0}while((j|0)!=(b|0));cc=q;return}function Nf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;if(c[a+56>>2]|0){g=1;return g|0}e=c[a>>2]|0;f=c[a+28>>2]|0;g=0;b=2147483647;d=0;do{if(c[e+(g*40|0)+24>>2]|0){i=c[e+(g*40|0)+16>>2]|0;h=(i|0)<(b|0);b=h?i:b;d=h?e+(g*40|0)|0:d}g=g+1|0}while(g>>>0<=f>>>0);if(!d){i=1;return i|0}g=c[a+12>>2]|0;i=a+16|0;h=c[i>>2]|0;c[g+(h<<4)>>2]=c[d>>2];c[g+(h<<4)+12>>2]=c[d+36>>2];c[g+(h<<4)+4>>2]=c[d+28>>2];c[g+(h<<4)+8>>2]=c[d+32>>2];c[i>>2]=h+1;c[d+24>>2]=0;if(c[d+20>>2]|0){i=0;return i|0}i=a+44|0;c[i>>2]=(c[i>>2]|0)+-1;i=0;return i|0}function Of(a){a=a|0;var b=0;b=(c[a>>2]|0)+((c[a+28>>2]|0)*40|0)|0;c[a+8>>2]=b;return c[b>>2]|0}function Pf(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if((b|0)!=0?(e=a+28|0,(c[e>>2]|0)!=-1):0){d=0;do{xf(c[b+(d*40|0)+4>>2]|0);b=c[a>>2]|0;c[b+(d*40|0)+4>>2]=0;d=d+1|0}while(d>>>0<((c[e>>2]|0)+1|0)>>>0)}xf(b);c[a>>2]=0;e=a+4|0;xf(c[e>>2]|0);c[e>>2]=0;a=a+12|0;xf(c[a>>2]|0);c[a>>2]=0;return}function Qf(a){a=a|0;var b=0,d=0,e=0;b=c[a+40>>2]|0;if(!b)return;e=a+4|0;d=0;do{c[(c[e>>2]|0)+(d<<2)>>2]=(c[a>>2]|0)+(d*40|0);d=d+1|0}while(d>>>0>>0);return}function Rf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;t=a+16|0;c[t>>2]=0;c[a+20>>2]=0;if(!e){b=0;return b|0}v=a+48|0;e=c[v>>2]|0;f=(e|0)==(b|0);do if(!f?(r=a+32|0,g=c[r>>2]|0,h=((e+1|0)>>>0)%(g>>>0)|0,(h|0)!=(b|0)):0){s=a+28|0;u=c[(c[a>>2]|0)+((c[s>>2]|0)*40|0)>>2]|0;p=a+40|0;n=a+24|0;m=a+44|0;o=a+56|0;q=a+12|0;l=h;while(1){j=c[p>>2]|0;f=(j|0)==0;if(!f){e=c[a>>2]|0;h=0;do{if(((c[e+(h*40|0)+20>>2]|0)+-1|0)>>>0<2){k=c[e+(h*40|0)+12>>2]|0;c[e+(h*40|0)+8>>2]=k-(k>>>0>l>>>0?g:0)}h=h+1|0}while((h|0)!=(j|0))}if(j>>>0>=(c[n>>2]|0)>>>0){if(f){e=1;m=49;break}i=c[a>>2]|0;g=0;e=-1;f=0;while(1){if(((c[i+(g*40|0)+20>>2]|0)+-1|0)>>>0<2){k=c[i+(g*40|0)+8>>2]|0;w=(e|0)==-1|(k|0)<(f|0);h=w?g:e;f=w?k:f}else h=e;g=g+1|0;if((g|0)==(j|0))break;else e=h}if((h|0)<=-1){e=1;m=49;break}c[i+(h*40|0)+20>>2]=0;e=j+-1|0;c[p>>2]=e;if(!(c[i+(h*40|0)+24>>2]|0)){c[m>>2]=(c[m>>2]|0)+-1;j=e}else j=e}e=c[m>>2]|0;k=c[s>>2]|0;if(e>>>0>=k>>>0){if(c[o>>2]|0){m=21;break}i=c[a>>2]|0;do{h=0;f=2147483647;g=0;do{if(c[i+(h*40|0)+24>>2]|0){x=c[i+(h*40|0)+16>>2]|0;w=(x|0)<(f|0);f=w?x:f;g=w?i+(h*40|0)|0:g}h=h+1|0}while(h>>>0<=k>>>0);if((g|0)!=0?(w=c[q>>2]|0,x=c[t>>2]|0,c[w+(x<<4)>>2]=c[g>>2],c[w+(x<<4)+12>>2]=c[g+36>>2],c[w+(x<<4)+4>>2]=c[g+28>>2],c[w+(x<<4)+8>>2]=c[g+32>>2],c[t>>2]=x+1,c[g+24>>2]=0,(c[g+20>>2]|0)==0):0){e=e+-1|0;c[m>>2]=e}}while(e>>>0>=k>>>0)}g=c[a>>2]|0;c[g+(k*40|0)+20>>2]=1;c[g+(k*40|0)+12>>2]=l;c[g+(k*40|0)+8>>2]=l;c[g+(k*40|0)+16>>2]=0;c[g+(k*40|0)+24>>2]=0;c[m>>2]=e+1;c[p>>2]=j+1;Mf(g,k+1|0);g=c[r>>2]|0;l=((l+1|0)>>>0)%(g>>>0)|0;if((l|0)==(b|0)){m=33;break}}if((m|0)==21)while(1){}else if((m|0)==33){h=c[t>>2]|0;a:do if(h|0){g=c[q>>2]|0;l=c[a>>2]|0;i=c[s>>2]|0;k=l+(i*40|0)|0;e=c[k>>2]|0;j=e;f=0;while(1){if((c[g+(f<<4)>>2]|0)==(e|0))break;f=f+1|0;if(f>>>0>=h>>>0)break a}if(i|0){f=0;while(1){e=l+(f*40|0)|0;f=f+1|0;if((c[e>>2]|0)==(u|0))break;if(f>>>0>=i>>>0)break a}c[e>>2]=j;c[k>>2]=u}}while(0);if(d|0){m=46;break}e=c[v>>2]|0;break}else if((m|0)==49)return e|0}else m=42;while(0);if((m|0)==42)if(d)if(f){x=1;return x|0}else m=46;if((m|0)==46){c[v>>2]=b;x=0;return x|0}if((e|0)==(b|0)){x=0;return x|0}x=c[a+32>>2]|0;c[v>>2]=((b+-1+x|0)>>>0)%(x>>>0)|0;x=0;return x|0}function Sf(a){a=a|0;var b=0,d=0;d=a+20|0;b=c[d>>2]|0;if(b>>>0>=(c[a+16>>2]|0)>>>0){d=0;return d|0}a=c[a+12>>2]|0;c[d>>2]=b+1;d=a+(b<<4)|0;return d|0}function Tf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=c[a>>2]|0;if(!f)return;c[a+60>>2]=1;if(c[a+56>>2]|0)return;g=c[a+28>>2]|0;i=a+12|0;h=a+16|0;e=a+44|0;a=0;b=2147483647;d=0;while(1){if(c[f+(a*40|0)+24>>2]|0){k=c[f+(a*40|0)+16>>2]|0;j=(k|0)<(b|0);b=j?k:b;d=j?f+(a*40|0)|0:d}a=a+1|0;if(a>>>0>g>>>0){if(!d)break;j=c[i>>2]|0;k=c[h>>2]|0;c[j+(k<<4)>>2]=c[d>>2];c[j+(k<<4)+12>>2]=c[d+36>>2];c[j+(k<<4)+4>>2]=c[d+28>>2];c[j+(k<<4)+8>>2]=c[d+32>>2];c[h>>2]=k+1;c[d+24>>2]=0;if(!(c[d+20>>2]|0)){c[e>>2]=(c[e>>2]|0)+-1;a=0;b=2147483647;d=0}else{a=0;b=2147483647;d=0}}}return}function Uf(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0;Db=cc;cc=cc+176|0;if((cc|0)>=(dc|0))w(176);Ja=Db+40|0;nb=Db;Da=c[e+4>>2]|0;Na=e+8|0;Cb=c[Na>>2]|0;g=r(Cb,Da)|0;if(!Cb){cc=Db;return}Ab=Ja+24|0;Bb=Ja+16|0;Cb=Ja+8|0;Oa=Ja+100|0;Pa=Ja+68|0;Qa=Ja+36|0;Ra=Ja+4|0;Ga=nb+28|0;Ka=nb+32|0;lb=nb+24|0;ob=Ja+120|0;pb=Ja+112|0;qb=Ja+104|0;rb=Ja+96|0;sb=Ja+88|0;tb=Ja+80|0;ub=Ja+72|0;vb=Ja+64|0;wb=Ja+56|0;xb=Ja+48|0;yb=Ja+40|0;zb=Ja+32|0;Sa=Ja+124|0;Ta=Ja+116|0;Ua=Ja+108|0;Va=Ja+92|0;Wa=Ja+84|0;Xa=Ja+76|0;Ya=Ja+60|0;Za=Ja+52|0;_a=Ja+44|0;$a=Ja+28|0;ab=Ja+20|0;bb=Ja+12|0;fb=Da<<4;Ea=nb+12|0;Fa=nb+24|0;db=Da<<6;kb=0-fb|0;cb=kb<<1;jb=r(Da,-48)|0;eb=Da<<5;hb=kb<<2;ib=Da*48|0;Ia=nb+4|0;Ma=nb+8|0;Ha=nb+16|0;La=nb+20|0;mb=nb+12|0;gb=g<<8;ua=g<<6;va=Da<<3;la=Ja+4|0;ra=Ja+36|0;ja=Ja+16|0;na=Ja+20|0;pa=Ja+52|0;za=Ja+8|0;ma=Ja+68|0;Ba=Ja+24|0;sa=Ja+100|0;ka=Ja+80|0;oa=Ja+84|0;qa=Ja+116|0;xa=Ja+24|0;wa=Ja+64|0;Aa=Ja+72|0;Ca=Ja+88|0;ya=Ja+88|0;ha=0;ta=0;ia=f;while(1){g=c[ia+8>>2]|0;do if((g|0)!=1){ga=ia+200|0;n=c[ga>>2]|0;do if(!n)f=1;else{if((g|0)==2?(c[ia+4>>2]|0)!=(c[n+4>>2]|0):0){f=1;break}f=5}while(0);fa=ia+204|0;k=c[fa>>2]|0;do if(k){if((g|0)==2?(c[ia+4>>2]|0)!=(c[k+4>>2]|0):0)break;f=f|2}while(0);ea=(f&2|0)==0;do if(ea){c[Ab>>2]=0;c[Bb>>2]=0;c[Cb>>2]=0;c[Ja>>2]=0;i=0}else{if((c[ia>>2]|0)>>>0<=5?(c[k>>2]|0)>>>0<=5:0){if((b[ia+28>>1]|0)==0?(b[k+48>>1]|0)==0:0)if((c[ia+116>>2]|0)==(c[k+124>>2]|0)?(da=(b[ia+132>>1]|0)-(b[k+172>>1]|0)|0,(((da|0)<0?0-da|0:da)|0)<=3):0){j=(b[ia+134>>1]|0)-(b[k+174>>1]|0)|0;j=(((j|0)<0?0-j|0:j)|0)>3&1}else j=1;else j=2;c[Ja>>2]=j;if((b[ia+30>>1]|0)==0?(b[k+50>>1]|0)==0:0)if((c[ia+116>>2]|0)==(c[k+124>>2]|0)?(da=(b[ia+136>>1]|0)-(b[k+176>>1]|0)|0,(((da|0)<0?0-da|0:da)|0)<=3):0){h=(b[ia+138>>1]|0)-(b[k+178>>1]|0)|0;h=(((h|0)<0?0-h|0:h)|0)>3&1}else h=1;else h=2;c[Cb>>2]=h;if((b[ia+36>>1]|0)==0?(b[k+56>>1]|0)==0:0)if((c[ia+120>>2]|0)==(c[k+128>>2]|0)?(da=(b[ia+148>>1]|0)-(b[k+188>>1]|0)|0,(((da|0)<0?0-da|0:da)|0)<=3):0){i=(b[ia+150>>1]|0)-(b[k+190>>1]|0)|0;i=(((i|0)<0?0-i|0:i)|0)>3&1}else i=1;else i=2;c[Bb>>2]=i;if((b[ia+38>>1]|0)==0?(b[k+58>>1]|0)==0:0)if((c[ia+120>>2]|0)==(c[k+128>>2]|0)?(da=(b[ia+152>>1]|0)-(b[k+192>>1]|0)|0,(((da|0)<0?0-da|0:da)|0)<=3):0){g=(b[ia+154>>1]|0)-(b[k+194>>1]|0)|0;g=(((g|0)<0?0-g|0:g)|0)>3&1}else g=1;else g=2;c[Ab>>2]=g;i=(h|j|i|g|0)!=0&1;break}c[Ab>>2]=4;c[Bb>>2]=4;c[Cb>>2]=4;c[Ja>>2]=4;i=1}while(0);da=(f&4|0)==0;do if(da){c[Oa>>2]=0;c[Pa>>2]=0;c[Qa>>2]=0;c[Ra>>2]=0;g=0;f=c[ia>>2]|0;h=ia;ca=64}else{f=c[ia>>2]|0;if(f>>>0<=5?(c[n>>2]|0)>>>0<=5:0){if((b[ia+28>>1]|0)==0?(b[n+38>>1]|0)==0:0)if((c[ia+116>>2]|0)==(c[n+120>>2]|0)?(ca=(b[ia+132>>1]|0)-(b[n+152>>1]|0)|0,(((ca|0)<0?0-ca|0:ca)|0)<=3):0){k=(b[ia+134>>1]|0)-(b[n+154>>1]|0)|0;k=(((k|0)<0?0-k|0:k)|0)>3&1}else k=1;else k=2;c[Ra>>2]=k;if((b[ia+32>>1]|0)==0?(b[n+42>>1]|0)==0:0)if((c[ia+116>>2]|0)==(c[n+120>>2]|0)?(ca=(b[ia+140>>1]|0)-(b[n+160>>1]|0)|0,(((ca|0)<0?0-ca|0:ca)|0)<=3):0){l=(b[ia+142>>1]|0)-(b[n+162>>1]|0)|0;l=(((l|0)<0?0-l|0:l)|0)>3&1}else l=1;else l=2;c[Qa>>2]=l;if((b[ia+44>>1]|0)==0?(b[n+54>>1]|0)==0:0)if((c[ia+124>>2]|0)==(c[n+128>>2]|0)?(ca=(b[ia+164>>1]|0)-(b[n+184>>1]|0)|0,(((ca|0)<0?0-ca|0:ca)|0)<=3):0){m=(b[ia+166>>1]|0)-(b[n+186>>1]|0)|0;m=(((m|0)<0?0-m|0:m)|0)>3&1}else m=1;else m=2;c[Pa>>2]=m;if((b[ia+48>>1]|0)==0?(b[n+58>>1]|0)==0:0)if((c[ia+124>>2]|0)==(c[n+128>>2]|0)?(ca=(b[ia+172>>1]|0)-(b[n+192>>1]|0)|0,(((ca|0)<0?0-ca|0:ca)|0)<=3):0){j=(b[ia+174>>1]|0)-(b[n+194>>1]|0)|0;j=(((j|0)<0?0-j|0:j)|0)>3&1}else j=1;else j=2;c[Oa>>2]=j;g=k;h=ia;i=(k|i|l|m|j|0)!=0&1;ca=66;break}c[Oa>>2]=4;c[Pa>>2]=4;c[Qa>>2]=4;c[Ra>>2]=4;g=4;h=ia;i=1;ca=64}while(0);if((ca|0)==64){ca=0;if(f>>>0>5){c[ob>>2]=3;c[pb>>2]=3;c[qb>>2]=3;c[rb>>2]=3;c[sb>>2]=3;c[tb>>2]=3;c[ub>>2]=3;c[vb>>2]=3;c[wb>>2]=3;c[xb>>2]=3;c[yb>>2]=3;c[zb>>2]=3;c[Sa>>2]=3;c[Ta>>2]=3;c[Ua>>2]=3;c[Va>>2]=3;c[Wa>>2]=3;c[Xa>>2]=3;c[Ya>>2]=3;c[Za>>2]=3;c[_a>>2]=3;c[$a>>2]=3;c[ab>>2]=3;c[bb>>2]=3}else ca=66}if((ca|0)==66){ca=0;a:do if((sf(f)|0)==1){p=ia+28|0;s=b[ia+32>>1]|0;if(s<<16>>16==0?(b[p>>1]|0)==0:0)L=0;else L=2;c[zb>>2]=L;f=b[ia+34>>1]|0;u=f<<16>>16==0;if(u?(b[ia+30>>1]|0)==0:0)J=0;else J=2;c[yb>>2]=J;h=b[ia+40>>1]|0;v=h<<16>>16==0;if(v?(b[ia+36>>1]|0)==0:0)I=0;else I=2;c[xb>>2]=I;j=b[ia+42>>1]|0;x=j<<16>>16==0;if(x?(b[ia+38>>1]|0)==0:0)H=0;else H=2;c[wb>>2]=H;t=b[ia+44>>1]|0;G=(t|s)<<16>>16==0?0:2;c[vb>>2]=G;q=b[ia+46>>1]|0;y=f<<16>>16!=0;F=(q|f)<<16>>16==0?0:2;c[ub>>2]=F;n=b[ia+52>>1]|0;o=h<<16>>16!=0;E=(n|h)<<16>>16==0?0:2;c[tb>>2]=E;m=b[ia+54>>1]|0;D=(m|j)<<16>>16==0?0:2;c[sb>>2]=D;f=b[ia+48>>1]|0;C=(f|t)<<16>>16==0?0:2;c[rb>>2]=C;h=b[ia+50>>1]|0;B=(h|q)<<16>>16==0?0:2;c[qb>>2]=B;j=b[ia+56>>1]|0;A=(j|n)<<16>>16==0?0:2;c[pb>>2]=A;k=b[ia+58>>1]|0;z=(k|m)<<16>>16==0?0:2;c[ob>>2]=z;l=b[ia+30>>1]|0;if(l<<16>>16==0?(b[p>>1]|0)==0:0)p=0;else p=2;c[bb>>2]=p;$=b[ia+36>>1]|0;aa=($|l)<<16>>16==0?0:2;c[ab>>2]=aa;$=(b[ia+38>>1]|$)<<16>>16==0?0:2;c[$a>>2]=$;K=s<<16>>16!=0|u^1?2:0;c[_a>>2]=K;ba=y|v^1?2:0;c[Za>>2]=ba;v=o|x^1?2:0;c[Ya>>2]=v;t=(q|t)<<16>>16==0?0:2;c[Xa>>2]=t;q=(n|q)<<16>>16==0?0:2;c[Wa>>2]=q;o=(m|n)<<16>>16==0?0:2;c[Va>>2]=o;n=(h|f)<<16>>16==0?0:2;c[Ua>>2]=n;m=(j|h)<<16>>16==0?0:2;c[Ta>>2]=m;h=(k|j)<<16>>16==0?0:2;c[Sa>>2]=h;k=m;m=q;q=ba;ba=p;u=F;s=G;p=H;l=I;j=J;f=L}else switch(c[h>>2]|0){case 2:{q=ia+28|0;s=b[ia+32>>1]|0;if(s<<16>>16==0?(b[q>>1]|0)==0:0)f=0;else f=2;c[zb>>2]=f;t=b[ia+34>>1]|0;B=t<<16>>16==0;if(B?(b[ia+30>>1]|0)==0:0)O=0;else O=2;c[yb>>2]=O;u=b[ia+40>>1]|0;C=u<<16>>16==0;if(C?(b[ia+36>>1]|0)==0:0)l=0;else l=2;c[xb>>2]=l;n=b[ia+42>>1]|0;D=n<<16>>16==0;if(D?(b[ia+38>>1]|0)==0:0)p=0;else p=2;c[wb>>2]=p;v=b[ia+48>>1]|0;if(v<<16>>16==0?(b[ia+44>>1]|0)==0:0)M=0;else M=2;c[rb>>2]=M;x=b[ia+50>>1]|0;E=x<<16>>16==0;if(E?(b[ia+46>>1]|0)==0:0)J=0;else J=2;c[qb>>2]=J;y=b[ia+56>>1]|0;if(y<<16>>16==0?(b[ia+52>>1]|0)==0:0)I=0;else I=2;c[pb>>2]=I;z=b[ia+58>>1]|0;if(z<<16>>16==0?(b[ia+54>>1]|0)==0:0)H=0;else H=2;c[ob>>2]=H;A=b[ia+44>>1]|0;h=b[ia+166>>1]|0;j=b[ia+142>>1]|0;do if(!((A|s)<<16>>16)){ba=(b[ia+164>>1]|0)-(b[ia+140>>1]|0)|0;if((((ba|0)<0?0-ba|0:ba)|0)>3){N=1;break}ba=h-j|0;if((((ba|0)<0?0-ba|0:ba)|0)>3){N=1;break}N=(c[ia+124>>2]|0)!=(c[ia+116>>2]|0)&1}else N=2;while(0);c[vb>>2]=N;o=b[ia+46>>1]|0;h=b[ia+170>>1]|0;j=b[ia+146>>1]|0;do if(!((o|t)<<16>>16)){ba=(b[ia+168>>1]|0)-(b[ia+144>>1]|0)|0;if((((ba|0)<0?0-ba|0:ba)|0)>3){L=1;break}ba=h-j|0;if((((ba|0)<0?0-ba|0:ba)|0)>3){L=1;break}L=(c[ia+124>>2]|0)!=(c[ia+116>>2]|0)&1}else L=2;while(0);c[ub>>2]=L;m=b[ia+52>>1]|0;h=b[ia+182>>1]|0;j=b[ia+158>>1]|0;do if(!((m|u)<<16>>16)){ba=(b[ia+180>>1]|0)-(b[ia+156>>1]|0)|0;if((((ba|0)<0?0-ba|0:ba)|0)>3){G=1;break}ba=h-j|0;if((((ba|0)<0?0-ba|0:ba)|0)>3){G=1;break}G=(c[ia+128>>2]|0)!=(c[ia+120>>2]|0)&1}else G=2;while(0);c[tb>>2]=G;k=b[ia+54>>1]|0;h=b[ia+186>>1]|0;j=b[ia+162>>1]|0;do if(!((k|n)<<16>>16)){ba=(b[ia+184>>1]|0)-(b[ia+160>>1]|0)|0;if((((ba|0)<0?0-ba|0:ba)|0)>3){F=1;break}ba=h-j|0;if((((ba|0)<0?0-ba|0:ba)|0)>3){F=1;break}F=(c[ia+128>>2]|0)!=(c[ia+120>>2]|0)&1}else F=2;while(0);c[sb>>2]=F;h=b[ia+30>>1]|0;if(h<<16>>16==0?(b[q>>1]|0)==0:0)j=0;else j=2;c[bb>>2]=j;$=b[ia+36>>1]|0;aa=($|h)<<16>>16==0?0:2;c[ab>>2]=aa;$=(b[ia+38>>1]|$)<<16>>16==0?0:2;c[$a>>2]=$;K=s<<16>>16!=0|B^1?2:0;c[_a>>2]=K;q=t<<16>>16!=0|C^1?2:0;c[Za>>2]=q;ba=u<<16>>16!=0|D^1?2:0;c[Ya>>2]=ba;t=(o|A)<<16>>16==0?0:2;c[Xa>>2]=t;A=(m|o)<<16>>16==0?0:2;c[Wa>>2]=A;o=(k|m)<<16>>16==0?0:2;c[Va>>2]=o;n=v<<16>>16!=0|E^1?2:0;c[Ua>>2]=n;k=(y|x)<<16>>16==0?0:2;c[Ta>>2]=k;h=(z|y)<<16>>16==0?0:2;c[Sa>>2]=h;m=A;v=ba;ba=j;z=H;A=I;B=J;C=M;D=F;E=G;u=L;s=N;j=O;break a}case 3:{h=ia+28|0;j=b[ia+32>>1]|0;if(j<<16>>16==0?(b[h>>1]|0)==0:0)P=0;else P=2;c[zb>>2]=P;v=b[ia+34>>1]|0;k=v<<16>>16==0;if(k?(b[ia+30>>1]|0)==0:0)O=0;else O=2;c[yb>>2]=O;x=b[ia+40>>1]|0;if(x<<16>>16==0?(b[ia+36>>1]|0)==0:0)l=0;else l=2;c[xb>>2]=l;f=b[ia+42>>1]|0;m=f<<16>>16==0;if(m?(b[ia+38>>1]|0)==0:0)p=0;else p=2;c[wb>>2]=p;n=b[ia+44>>1]|0;N=(n|j)<<16>>16==0?0:2;c[vb>>2]=N;y=b[ia+46>>1]|0;u=(y|v)<<16>>16==0?0:2;c[ub>>2]=u;F=b[ia+52>>1]|0;E=(F|x)<<16>>16==0?0:2;c[tb>>2]=E;o=b[ia+54>>1]|0;D=(o|f)<<16>>16==0?0:2;c[sb>>2]=D;q=b[ia+48>>1]|0;C=(q|n)<<16>>16==0?0:2;c[rb>>2]=C;H=b[ia+50>>1]|0;B=(H|y)<<16>>16==0?0:2;c[qb>>2]=B;I=b[ia+56>>1]|0;A=(I|F)<<16>>16==0?0:2;c[pb>>2]=A;s=b[ia+58>>1]|0;z=(s|o)<<16>>16==0?0:2;c[ob>>2]=z;t=b[ia+30>>1]|0;if(t<<16>>16==0?(b[h>>1]|0)==0:0)M=0;else M=2;c[bb>>2]=M;f=ia+36|0;if(!(b[ia+38>>1]|0)){f=b[f>>1]|0;if(!(f<<16>>16)){L=0;f=0}else ca=146}else{f=b[f>>1]|0;ca=146}if((ca|0)==146){ca=0;L=2}c[$a>>2]=L;K=j<<16>>16!=0|k^1?2:0;c[_a>>2]=K;J=x<<16>>16!=0|m^1?2:0;c[Ya>>2]=J;G=(y|n)<<16>>16==0?0:2;c[Xa>>2]=G;o=(o|F)<<16>>16==0?0:2;c[Va>>2]=o;n=(H|q)<<16>>16==0?0:2;c[Ua>>2]=n;h=(s|I)<<16>>16==0?0:2;c[Sa>>2]=h;j=b[ia+150>>1]|0;k=b[ia+138>>1]|0;do if(!((f|t)<<16>>16)){ba=(b[ia+148>>1]|0)-(b[ia+136>>1]|0)|0;if((((ba|0)<0?0-ba|0:ba)|0)>3){s=1;break}ba=j-k|0;if((((ba|0)<0?0-ba|0:ba)|0)>3){s=1;break}s=(c[ia+120>>2]|0)!=(c[ia+116>>2]|0)&1}else s=2;while(0);c[ab>>2]=s;f=b[ia+158>>1]|0;j=b[ia+146>>1]|0;do if(!((x|v)<<16>>16)){ba=(b[ia+156>>1]|0)-(b[ia+144>>1]|0)|0;if((((ba|0)<0?0-ba|0:ba)|0)>3){q=1;break}ba=f-j|0;if((((ba|0)<0?0-ba|0:ba)|0)>3){q=1;break}q=(c[ia+120>>2]|0)!=(c[ia+116>>2]|0)&1}else q=2;while(0);c[Za>>2]=q;f=b[ia+182>>1]|0;j=b[ia+170>>1]|0;do if(!((F|y)<<16>>16)){ba=(b[ia+180>>1]|0)-(b[ia+168>>1]|0)|0;if((((ba|0)<0?0-ba|0:ba)|0)>3){m=1;break}ba=f-j|0;if((((ba|0)<0?0-ba|0:ba)|0)>3){m=1;break}m=(c[ia+128>>2]|0)!=(c[ia+124>>2]|0)&1}else m=2;while(0);c[Wa>>2]=m;f=b[ia+190>>1]|0;j=b[ia+178>>1]|0;do if(!((I|H)<<16>>16)){ba=(b[ia+188>>1]|0)-(b[ia+176>>1]|0)|0;if((((ba|0)<0?0-ba|0:ba)|0)>3){f=1;break}ba=f-j|0;if((((ba|0)<0?0-ba|0:ba)|0)>3){f=1;break}f=(c[ia+128>>2]|0)!=(c[ia+124>>2]|0)&1}else f=2;while(0);c[Ta>>2]=f;k=f;t=G;v=J;$=L;aa=s;ba=M;s=N;j=O;f=P;break a}default:{x=b[ia+32>>1]|0;h=b[ia+28>>1]|0;y=b[ia+142>>1]|0;k=b[ia+134>>1]|0;if(!((h|x)<<16>>16)){f=(b[ia+140>>1]|0)-(b[ia+132>>1]|0)|0;ba=y-k|0;f=((((ba|0)<0?0-ba|0:ba)|0)>3|(((f|0)<0?0-f|0:f)|0)>3)&1}else f=2;c[zb>>2]=f;F=b[ia+34>>1]|0;m=b[ia+30>>1]|0;G=b[ia+146>>1]|0;n=b[ia+138>>1]|0;if(!((m|F)<<16>>16)){j=(b[ia+144>>1]|0)-(b[ia+136>>1]|0)|0;ba=G-n|0;j=((((ba|0)<0?0-ba|0:ba)|0)>3|(((j|0)<0?0-j|0:j)|0)>3)&1}else j=2;c[yb>>2]=j;H=b[ia+40>>1]|0;o=b[ia+36>>1]|0;J=b[ia+158>>1]|0;t=b[ia+150>>1]|0;if(!((o|H)<<16>>16)){l=(b[ia+156>>1]|0)-(b[ia+148>>1]|0)|0;ba=J-t|0;l=((((ba|0)<0?0-ba|0:ba)|0)>3|(((l|0)<0?0-l|0:l)|0)>3)&1}else l=2;c[xb>>2]=l;I=b[ia+42>>1]|0;q=b[ia+38>>1]|0;K=b[ia+162>>1]|0;v=b[ia+154>>1]|0;if(!((q|I)<<16>>16)){p=(b[ia+160>>1]|0)-(b[ia+152>>1]|0)|0;ba=K-v|0;p=((((ba|0)<0?0-ba|0:ba)|0)>3|(((p|0)<0?0-p|0:p)|0)>3)&1}else p=2;c[wb>>2]=p;L=b[ia+44>>1]|0;M=b[ia+166>>1]|0;if(!((L|x)<<16>>16)){ba=(b[ia+164>>1]|0)-(b[ia+140>>1]|0)|0;if((((ba|0)<0?0-ba|0:ba)|0)<=3?(ba=M-y|0,(((ba|0)<0?0-ba|0:ba)|0)<=3):0)s=(c[ia+124>>2]|0)!=(c[ia+116>>2]|0)&1;else s=1}else s=2;c[vb>>2]=s;N=b[ia+46>>1]|0;O=b[ia+170>>1]|0;do if(!((N|F)<<16>>16)){ba=(b[ia+168>>1]|0)-(b[ia+144>>1]|0)|0;if((((ba|0)<0?0-ba|0:ba)|0)>3)u=1;else{ba=O-G|0;if((((ba|0)<0?0-ba|0:ba)|0)>3){u=1;break}u=(c[ia+124>>2]|0)!=(c[ia+116>>2]|0)&1}}else u=2;while(0);c[ub>>2]=u;P=b[ia+52>>1]|0;S=b[ia+182>>1]|0;do if(!((P|H)<<16>>16)){ba=(b[ia+180>>1]|0)-(b[ia+156>>1]|0)|0;if((((ba|0)<0?0-ba|0:ba)|0)>3){E=1;break}ba=S-J|0;if((((ba|0)<0?0-ba|0:ba)|0)>3){E=1;break}E=(c[ia+128>>2]|0)!=(c[ia+120>>2]|0)&1}else E=2;while(0);c[tb>>2]=E;Q=b[ia+54>>1]|0;R=b[ia+186>>1]|0;do if(!((Q|I)<<16>>16)){ba=(b[ia+184>>1]|0)-(b[ia+160>>1]|0)|0;if((((ba|0)<0?0-ba|0:ba)|0)>3){D=1;break}ba=R-K|0;if((((ba|0)<0?0-ba|0:ba)|0)>3){D=1;break}D=(c[ia+128>>2]|0)!=(c[ia+120>>2]|0)&1}else D=2;while(0);c[sb>>2]=D;T=b[ia+48>>1]|0;U=b[ia+174>>1]|0;if(!((T|L)<<16>>16)){C=(b[ia+172>>1]|0)-(b[ia+164>>1]|0)|0;ba=U-M|0;C=((((ba|0)<0?0-ba|0:ba)|0)>3|(((C|0)<0?0-C|0:C)|0)>3)&1}else C=2;c[rb>>2]=C;V=b[ia+50>>1]|0;W=b[ia+178>>1]|0;if(!((V|N)<<16>>16)){B=(b[ia+176>>1]|0)-(b[ia+168>>1]|0)|0;ba=W-O|0;B=((((ba|0)<0?0-ba|0:ba)|0)>3|(((B|0)<0?0-B|0:B)|0)>3)&1}else B=2;c[qb>>2]=B;X=b[ia+56>>1]|0;_=b[ia+190>>1]|0;if(!((X|P)<<16>>16)){A=(b[ia+188>>1]|0)-(b[ia+180>>1]|0)|0;ba=_-S|0;A=((((ba|0)<0?0-ba|0:ba)|0)>3|(((A|0)<0?0-A|0:A)|0)>3)&1}else A=2;c[pb>>2]=A;Y=b[ia+58>>1]|0;Z=b[ia+194>>1]|0;if(!((Y|Q)<<16>>16)){z=(b[ia+192>>1]|0)-(b[ia+184>>1]|0)|0;ba=Z-R|0;z=((((ba|0)<0?0-ba|0:ba)|0)>3|(((z|0)<0?0-z|0:z)|0)>3)&1}else z=2;c[ob>>2]=z;if(!((m|h)<<16>>16)){ba=(b[ia+136>>1]|0)-(b[ia+132>>1]|0)|0;aa=n-k|0;ba=((((aa|0)<0?0-aa|0:aa)|0)>3|(((ba|0)<0?0-ba|0:ba)|0)>3)&1}else ba=2;c[bb>>2]=ba;do if(!((o|m)<<16>>16)){aa=(b[ia+148>>1]|0)-(b[ia+136>>1]|0)|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){aa=1;break}aa=t-n|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){aa=1;break}aa=(c[ia+120>>2]|0)!=(c[ia+116>>2]|0)&1}else aa=2;while(0);c[ab>>2]=aa;if(!((q|o)<<16>>16)){$=(b[ia+152>>1]|0)-(b[ia+148>>1]|0)|0;v=v-t|0;$=((((v|0)<0?0-v|0:v)|0)>3|((($|0)<0?0-$|0:$)|0)>3)&1}else $=2;c[$a>>2]=$;if(!((F|x)<<16>>16)){x=(b[ia+144>>1]|0)-(b[ia+140>>1]|0)|0;y=G-y|0;x=((((y|0)<0?0-y|0:y)|0)>3|(((x|0)<0?0-x|0:x)|0)>3)&1}else x=2;c[_a>>2]=x;do if(!((H|F)<<16>>16)){F=(b[ia+156>>1]|0)-(b[ia+144>>1]|0)|0;if((((F|0)<0?0-F|0:F)|0)>3){q=1;break}G=J-G|0;if((((G|0)<0?0-G|0:G)|0)>3){q=1;break}q=(c[ia+120>>2]|0)!=(c[ia+116>>2]|0)&1}else q=2;while(0);c[Za>>2]=q;if(!((I|H)<<16>>16)){v=(b[ia+160>>1]|0)-(b[ia+156>>1]|0)|0;K=K-J|0;v=((((K|0)<0?0-K|0:K)|0)>3|(((v|0)<0?0-v|0:v)|0)>3)&1}else v=2;c[Ya>>2]=v;if(!((N|L)<<16>>16)){t=(b[ia+168>>1]|0)-(b[ia+164>>1]|0)|0;M=O-M|0;t=((((M|0)<0?0-M|0:M)|0)>3|(((t|0)<0?0-t|0:t)|0)>3)&1}else t=2;c[Xa>>2]=t;do if(!((P|N)<<16>>16)){N=(b[ia+180>>1]|0)-(b[ia+168>>1]|0)|0;if((((N|0)<0?0-N|0:N)|0)>3){m=1;break}O=S-O|0;if((((O|0)<0?0-O|0:O)|0)>3){m=1;break}m=(c[ia+128>>2]|0)!=(c[ia+124>>2]|0)&1}else m=2;while(0);c[Wa>>2]=m;if(!((Q|P)<<16>>16)){o=(b[ia+184>>1]|0)-(b[ia+180>>1]|0)|0;S=R-S|0;o=((((S|0)<0?0-S|0:S)|0)>3|(((o|0)<0?0-o|0:o)|0)>3)&1}else o=2;c[Va>>2]=o;if(!((V|T)<<16>>16)){n=(b[ia+176>>1]|0)-(b[ia+172>>1]|0)|0;U=W-U|0;n=((((U|0)<0?0-U|0:U)|0)>3|(((n|0)<0?0-n|0:n)|0)>3)&1}else n=2;c[Ua>>2]=n;do if(!((X|V)<<16>>16)){V=(b[ia+188>>1]|0)-(b[ia+176>>1]|0)|0;if((((V|0)<0?0-V|0:V)|0)>3){k=1;break}W=_-W|0;if((((W|0)<0?0-W|0:W)|0)>3){k=1;break}k=(c[ia+128>>2]|0)!=(c[ia+124>>2]|0)&1}else k=2;while(0);c[Ta>>2]=k;if(!((Y|X)<<16>>16)){h=(b[ia+192>>1]|0)-(b[ia+188>>1]|0)|0;_=Z-_|0;h=((((_|0)<0?0-_|0:_)|0)>3|(((h|0)<0?0-h|0:h)|0)>3)&1}else h=2;c[Sa>>2]=h;K=x;break a}}while(0);if((i|0)==0?(k|h|n|o|m|t|v|q|K|$|aa|ba|z|A|B|C|D|E|u|s|p|l|j|f|0)==0:0)break}B=ia+20|0;h=c[B>>2]|0;D=ia+12|0;i=c[D>>2]|0;k=i+h|0;k=(k|0)<51?k:51;k=(k|0)>0?k:0;E=ia+16|0;j=c[E>>2]|0;m=j+h|0;m=(m|0)<51?m:51;l=d[50864+k>>0]|0;c[Ga>>2]=l;m=d[50916+((m|0)>0?m:0)>>0]|0;c[Ka>>2]=m;k=50968+(k*3|0)|0;c[lb>>2]=k;do if(!ea){f=c[(c[fa>>2]|0)+20>>2]|0;if((f|0)==(h|0)){c[Ia>>2]=l;c[Ma>>2]=m;c[nb>>2]=k;break}else{aa=(h+1+f|0)>>>1;ba=aa+i|0;ba=(ba|0)<51?ba:51;ba=(ba|0)>0?ba:0;aa=aa+j|0;aa=(aa|0)<51?aa:51;c[Ia>>2]=d[50864+ba>>0];c[Ma>>2]=d[50916+((aa|0)>0?aa:0)>>0];c[nb>>2]=50968+(ba*3|0);break}}while(0);do if(!da){f=c[(c[ga>>2]|0)+20>>2]|0;if((f|0)==(h|0)){c[Ha>>2]=l;c[La>>2]=m;c[Ea>>2]=k;break}else{aa=(h+1+f|0)>>>1;ba=aa+i|0;ba=(ba|0)<51?ba:51;ba=(ba|0)>0?ba:0;aa=aa+j|0;aa=(aa|0)<51?aa:51;c[Ha>>2]=d[50864+ba>>0];c[La>>2]=d[50916+((aa|0)>0?aa:0)>>0];c[mb>>2]=50968+(ba*3|0);break}}while(0);C=r(ta,Da)|0;y=3;k=0;z=(c[e>>2]|0)+(C<<8)+(ha<<4)|0;A=Ja;while(1){if(g|0)Vf(z,g,Ea,fb);g=c[A+12>>2]|0;if(g|0)Vf(z+4|0,g,Fa,fb);i=A+16|0;g=c[A+20>>2]|0;if(g|0)Vf(z+8|0,g,Fa,fb);j=A+24|0;g=c[A+28>>2]|0;if(g|0)Vf(z+12|0,g,Fa,fb);f=c[A>>2]|0;h=A+8|0;g=c[h>>2]|0;b:do if(((f|0)==(g|0)?(f|0)==(c[i>>2]|0):0)?(f|0)==(c[j>>2]|0):0){if(f|0){if(f>>>0<4){v=d[(c[nb+(k*12|0)>>2]|0)+(f+-1)>>0]|0;u=nb+(k*12|0)+4|0;l=nb+(k*12|0)+8|0;t=0-v|0;s=v+1|0;p=z;q=16;while(1){h=p+cb|0;k=p+kb|0;i=p+fb|0;g=a[i>>0]|0;n=d[k>>0]|0;o=d[p>>0]|0;ba=n-o|0;do if(((ba|0)<0?0-ba|0:ba)>>>0<(c[u>>2]|0)>>>0){m=d[h>>0]|0;ba=m-n|0;f=c[l>>2]|0;if(((ba|0)<0?0-ba|0:ba)>>>0>=f>>>0)break;j=g&255;ba=j-o|0;if(((ba|0)<0?0-ba|0:ba)>>>0>=f>>>0)break;g=d[p+jb>>0]|0;ba=g-n|0;if(((ba|0)<0?0-ba|0:ba)>>>0>>0){f=((n+1+o|0)>>>1)-(m<<1)+g>>1;a[h>>0]=((f|0)<(t|0)?t:(f|0)>(v|0)?v:f)+m;f=c[l>>2]|0;g=s}else g=v;h=d[p+eb>>0]|0;ba=h-o|0;if(((ba|0)<0?0-ba|0:ba)>>>0>>0){ba=((n+1+o|0)>>>1)-(j<<1)+h>>1;a[i>>0]=((ba|0)<(t|0)?t:(ba|0)>(v|0)?v:ba)+j;g=g+1|0}aa=4-j+(o-n<<2)+m>>3;ba=0-g|0;aa=(aa|0)<(ba|0)?ba:(aa|0)>(g|0)?g:aa;ba=a[49274+(o-aa)>>0]|0;a[k>>0]=a[49274+(aa+n)>>0]|0;a[p>>0]=ba}while(0);q=q+-1|0;if(!q)break b;else p=p+1|0}}x=nb+(k*12|0)+4|0;p=nb+(k*12|0)+8|0;u=z;v=16;while(1){j=u+cb|0;k=u+kb|0;o=u+fb|0;g=a[o>>0]|0;q=d[k>>0]|0;s=d[u>>0]|0;h=q-s|0;h=(h|0)<0?0-h|0:h;f=c[x>>2]|0;c:do if(h>>>0>>0){t=d[j>>0]|0;ba=t-q|0;i=c[p>>2]|0;if(((ba|0)<0?0-ba|0:ba)>>>0>=i>>>0)break;n=g&255;ba=n-s|0;if(((ba|0)<0?0-ba|0:ba)>>>0>=i>>>0)break;g=u+jb|0;m=u+eb|0;l=a[m>>0]|0;do if(h>>>0<((f>>>2)+2|0)>>>0){f=d[g>>0]|0;ba=f-q|0;if(((ba|0)<0?0-ba|0:ba)>>>0>>0){ba=s+q+t|0;a[k>>0]=(n+4+(ba<<1)+f|0)>>>3;a[j>>0]=(ba+2+f|0)>>>2;h=f*3|0;i=3;j=ba+4|0;f=d[u+hb>>0]|0}else{h=2;i=2;j=n+q|0;g=k;f=t}a[g>>0]=(j+h+(f<<1)|0)>>>i;g=l&255;ba=g-s|0;if(((ba|0)<0?0-ba|0:ba)>>>0>=(c[p>>2]|0)>>>0)break;ba=n+q+s|0;a[u>>0]=((ba<<1)+4+t+g|0)>>>3;a[o>>0]=(ba+2+g|0)>>>2;a[m>>0]=(ba+4+(g*3|0)+(d[u+ib>>0]<<1)|0)>>>3;break c}else a[k>>0]=(n+q+2+(t<<1)|0)>>>2;while(0);a[u>>0]=(t+s+2+(n<<1)|0)>>>2}while(0);v=v+-1|0;if(!v)break;else u=u+1|0}}}else ca=276;while(0);do if((ca|0)==276){ca=0;if(f){Wf(z,f,nb+(k*12|0)|0,fb);g=c[h>>2]|0}if(g|0)Wf(z+4|0,g,nb+(k*12|0)|0,fb);g=c[i>>2]|0;if(g|0)Wf(z+8|0,g,nb+(k*12|0)|0,fb);g=c[j>>2]|0;if(!g)break;Wf(z+12|0,g,nb+(k*12|0)|0,fb)}while(0);if(!y)break;g=c[A+36>>2]|0;y=y+-1|0;k=2;z=z+db|0;A=A+32|0}n=c[ia+24>>2]|0;l=c[B>>2]|0;m=l+n|0;m=(m|0)<51?m:51;m=c[1656+(((m|0)>0?m:0)<<2)>>2]|0;k=c[D>>2]|0;h=k+m|0;h=(h|0)<51?h:51;h=(h|0)>0?h:0;f=c[E>>2]|0;j=f+m|0;j=(j|0)<51?j:51;i=d[50864+h>>0]|0;c[Ga>>2]=i;j=d[50916+((j|0)>0?j:0)>>0]|0;c[Ka>>2]=j;h=50968+(h*3|0)|0;c[lb>>2]=h;do if(!ea){g=c[(c[fa>>2]|0)+20>>2]|0;if((g|0)==(l|0)){c[Ia>>2]=i;c[Ma>>2]=j;c[nb>>2]=h;break}else{ea=g+n|0;ea=(ea|0)<51?ea:51;ea=(m+1+(c[1656+(((ea|0)>0?ea:0)<<2)>>2]|0)|0)>>>1;fa=ea+k|0;fa=(fa|0)<51?fa:51;fa=(fa|0)>0?fa:0;ea=ea+f|0;ea=(ea|0)<51?ea:51;c[Ia>>2]=d[50864+fa>>0];c[Ma>>2]=d[50916+((ea|0)>0?ea:0)>>0];c[nb>>2]=50968+(fa*3|0);break}}while(0);do if(!da){g=c[(c[ga>>2]|0)+20>>2]|0;if((g|0)==(l|0)){c[Ha>>2]=i;c[La>>2]=j;c[Ea>>2]=h;break}else{fa=g+n|0;fa=(fa|0)<51?fa:51;fa=(m+1+(c[1656+(((fa|0)>0?fa:0)<<2)>>2]|0)|0)>>>1;ga=fa+k|0;ga=(ga|0)<51?ga:51;ga=(ga|0)>0?ga:0;fa=fa+f|0;fa=(fa|0)<51?fa:51;c[Ha>>2]=d[50864+ga>>0];c[La>>2]=d[50916+((fa|0)>0?fa:0)>>0];c[mb>>2]=50968+(ga*3|0);break}}while(0);i=(c[e>>2]|0)+gb+(C<<6)+(ha<<3)|0;k=i+ua|0;g=c[la>>2]|0;if(g|0){Xf(i,g,Ea,va);Xf(k,c[la>>2]|0,Ea,va)}g=c[ra>>2]|0;if(g|0){Xf(i+fb|0,g,Ea,va);Xf(k+fb|0,c[ra>>2]|0,Ea,va)}g=c[na>>2]|0;if(g|0){Xf(i+4|0,g,Fa,va);Xf(k+4|0,c[na>>2]|0,Fa,va)}g=c[pa>>2]|0;if(g|0){Xf(i+fb+4|0,g,Fa,va);Xf(k+fb+4|0,c[pa>>2]|0,Fa,va)}f=c[Ja>>2]|0;g=c[za>>2]|0;h=(f|0)==0;do if(((f|0)==(g|0)?(f|0)==(c[ja>>2]|0):0)&(f|0)==(c[Ba>>2]|0)){if(!h){Yf(i,f,nb,va);Yf(k,c[Ja>>2]|0,nb,va)}}else{if(!h){Zf(i,f,nb,va);Zf(k,c[Ja>>2]|0,nb,va);g=c[za>>2]|0}if(g|0){Zf(i+2|0,g,nb,va);Zf(k+2|0,c[za>>2]|0,nb,va)}g=c[ja>>2]|0;if(g|0){Zf(i+4|0,g,nb,va);Zf(k+4|0,c[ja>>2]|0,nb,va)}g=c[xa>>2]|0;if(!g)break;Zf(i+6|0,g,nb,va);Zf(k+6|0,c[xa>>2]|0,nb,va)}while(0);j=i+eb|0;i=k+eb|0;g=c[ma>>2]|0;if(g|0){Xf(j,g,Ea,va);Xf(i,c[ma>>2]|0,Ea,va)}g=c[sa>>2]|0;if(g|0){Xf(j+fb|0,g,Ea,va);Xf(i+fb|0,c[sa>>2]|0,Ea,va)}g=c[oa>>2]|0;if(g|0){Xf(j+4|0,g,Fa,va);Xf(i+4|0,c[oa>>2]|0,Fa,va)}g=c[qa>>2]|0;if(g|0){Xf(j+fb+4|0,g,Fa,va);Xf(i+fb+4|0,c[qa>>2]|0,Fa,va)}f=c[wa>>2]|0;g=c[Aa>>2]|0;h=(f|0)==0;if(((f|0)==(g|0)?(f|0)==(c[ka>>2]|0):0)&(f|0)==(c[Ca>>2]|0)){if(h)break;Yf(j,f,Fa,va);Yf(i,c[wa>>2]|0,Fa,va);break}if(!h){Zf(j,f,Fa,va);Zf(i,c[wa>>2]|0,Fa,va);g=c[Aa>>2]|0}if(g|0){Zf(j+2|0,g,Fa,va);Zf(i+2|0,c[Aa>>2]|0,Fa,va)}g=c[ka>>2]|0;if(g|0){Zf(j+4|0,g,Fa,va);Zf(i+4|0,c[ka>>2]|0,Fa,va)}g=c[ya>>2]|0;if(!g)break;Zf(j+6|0,g,Fa,va);Zf(i+6|0,c[ya>>2]|0,Fa,va)}while(0);f=ha+1|0;g=(f|0)==(Da|0);ta=ta+(g&1)|0;if(ta>>>0>=(c[Na>>2]|0)>>>0)break;else{ha=g?0:f;ia=ia+216|0}}cc=Db;return}function Vf(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;if(e>>>0<4){s=d[(c[f>>2]|0)+(e+-1)>>0]|0;r=f+4|0;o=f+8|0;q=0-s|0;p=s+1|0;n=4;while(1){f=b+-2|0;k=b+-1|0;j=b+1|0;e=a[j>>0]|0;l=d[k>>0]|0;m=d[b>>0]|0;y=l-m|0;if((((y|0)<0?0-y|0:y)>>>0<(c[r>>2]|0)>>>0?(u=d[f>>0]|0,y=u-l|0,t=c[o>>2]|0,((y|0)<0?0-y|0:y)>>>0>>0):0)?(v=e&255,y=v-m|0,((y|0)<0?0-y|0:y)>>>0>>0):0){i=a[b+2>>0]|0;e=d[b+-3>>0]|0;y=e-l|0;if(((y|0)<0?0-y|0:y)>>>0>>0){h=((l+1+m|0)>>>1)-(u<<1)+e>>1;a[f>>0]=((h|0)<(q|0)?q:(h|0)>(s|0)?s:h)+u;h=c[o>>2]|0;e=p}else{h=t;e=s}f=i&255;y=f-m|0;if(((y|0)<0?0-y|0:y)>>>0>>0){y=((l+1+m|0)>>>1)-(v<<1)+f>>1;a[j>>0]=((y|0)<(q|0)?q:(y|0)>(s|0)?s:y)+v;e=e+1|0}x=4-v+(m-l<<2)+u>>3;y=0-e|0;x=(x|0)<(y|0)?y:(x|0)>(e|0)?e:x;y=a[49274+(m-x)>>0]|0;a[k>>0]=a[49274+(x+l)>>0]|0;a[b>>0]=y}n=n+-1|0;if(!n)break;else b=b+g|0}return}t=f+4|0;s=f+8|0;r=4;while(1){i=b+-2|0;l=b+-1|0;o=b+1|0;e=a[o>>0]|0;p=d[l>>0]|0;q=d[b>>0]|0;h=p-q|0;h=(h|0)<0?0-h|0:h;f=c[t>>2]|0;do if((h>>>0>>0?(x=d[i>>0]|0,v=x-p|0,w=c[s>>2]|0,((v|0)<0?0-v|0:v)>>>0>>0):0)?(y=e&255,v=y-q|0,((v|0)<0?0-v|0:v)>>>0>>0):0){k=b+-3|0;n=b+2|0;m=a[n>>0]|0;if(h>>>0<((f>>>2)+2|0)>>>0){e=d[k>>0]|0;v=e-p|0;if(((v|0)<0?0-v|0:v)>>>0>>0){j=q+p+x|0;a[l>>0]=(y+4+(j<<1)+e|0)>>>3;a[i>>0]=(j+2+e|0)>>>2;h=e*3|0;i=3;j=j+4|0;e=k;f=d[b+-4>>0]|0}else{h=2;i=2;j=y+p|0;e=l;f=x}a[e>>0]=(j+h+(f<<1)|0)>>>i;e=m&255;v=e-q|0;if(((v|0)<0?0-v|0:v)>>>0<(c[s>>2]|0)>>>0){v=y+p+q|0;a[b>>0]=((v<<1)+4+x+e|0)>>>3;a[o>>0]=(v+2+e|0)>>>2;a[n>>0]=(v+4+(e*3|0)+((d[b+3>>0]|0)<<1)|0)>>>3;break}}else a[l>>0]=(y+p+2+(x<<1)|0)>>>2;a[b>>0]=(x+q+2+(y<<1)|0)>>>2}while(0);r=r+-1|0;if(!r)break;else b=b+g|0}return}function Wf(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;u=d[(c[f>>2]|0)+(e+-1)>>0]|0;w=0-g|0;v=w<<1;t=f+4|0;n=f+8|0;q=r(g,-3)|0;s=0-u|0;o=u+1|0;p=g<<1;m=4;while(1){f=b+v|0;j=b+w|0;i=b+g|0;e=a[i>>0]|0;k=d[j>>0]|0;l=d[b>>0]|0;h=k-l|0;if((((h|0)<0?0-h|0:h)>>>0<(c[t>>2]|0)>>>0?(y=d[f>>0]|0,h=y-k|0,x=c[n>>2]|0,((h|0)<0?0-h|0:h)>>>0>>0):0)?(z=e&255,h=z-l|0,((h|0)<0?0-h|0:h)>>>0>>0):0){e=d[b+q>>0]|0;h=e-k|0;if(((h|0)<0?0-h|0:h)>>>0>>0){e=((k+1+l|0)>>>1)-(y<<1)+e>>1;a[f>>0]=((e|0)<(s|0)?s:(e|0)>(u|0)?u:e)+y;f=c[n>>2]|0;e=o}else{f=x;e=u}h=d[b+p>>0]|0;A=h-l|0;if(((A|0)<0?0-A|0:A)>>>0>>0){A=((k+1+l|0)>>>1)-(z<<1)+h>>1;a[i>>0]=((A|0)<(s|0)?s:(A|0)>(u|0)?u:A)+z;e=e+1|0}i=4-z+(l-k<<2)+y>>3;A=0-e|0;i=(i|0)<(A|0)?A:(i|0)>(e|0)?e:i;A=a[49274+(l-i)>>0]|0;a[j>>0]=a[49274+(i+k)>>0]|0;a[b>>0]=A}m=m+-1|0;if(!m)break;else b=b+1|0}return}function Xf(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=b+-1|0;h=a[b+1>>0]|0;k=d[j>>0]|0;n=d[b>>0]|0;p=k-n|0;o=f+4|0;do if((((p|0)<0?0-p|0:p)>>>0<(c[o>>2]|0)>>>0?(l=d[b+-2>>0]|0,p=l-k|0,i=c[f+8>>2]|0,((p|0)<0?0-p|0:p)>>>0>>0):0)?(m=h&255,p=m-n|0,((p|0)<0?0-p|0:p)>>>0>>0):0)if(e>>>0<4){i=d[(c[f>>2]|0)+(e+-1)>>0]|0;p=i+1|0;m=4-m+(n-k<<2)+l>>3;l=~i;m=(m|0)<(l|0)?l:(m|0)>(p|0)?p:m;p=a[49274+(n-m)>>0]|0;a[j>>0]=a[49274+(m+k)>>0]|0;a[b>>0]=p;break}else{a[j>>0]=(k+2+m+(l<<1)|0)>>>2;a[b>>0]=(n+2+(m<<1)+l|0)>>>2;break}while(0);k=b+g|0;l=k+-1|0;m=d[l>>0]|0;n=d[k>>0]|0;p=m-n|0;if(((p|0)<0?0-p|0:p)>>>0>=(c[o>>2]|0)>>>0)return;i=d[k+-2>>0]|0;p=i-m|0;h=c[f+8>>2]|0;if(((p|0)<0?0-p|0:p)>>>0>=h>>>0)return;j=d[k+1>>0]|0;p=j-n|0;if(((p|0)<0?0-p|0:p)>>>0>=h>>>0)return;if(e>>>0<4){e=d[(c[f>>2]|0)+(e+-1)>>0]|0;p=e+1|0;f=4-j+(n-m<<2)+i>>3;e=~e;f=(f|0)<(e|0)?e:(f|0)>(p|0)?p:f;p=a[49274+(n-f)>>0]|0;a[l>>0]=a[49274+(f+m)>>0]|0;a[k>>0]=p;return}else{a[l>>0]=(m+2+j+(i<<1)|0)>>>2;a[k>>0]=(n+2+(j<<1)+i|0)>>>2;return}}function Yf(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;if(e>>>0<4){m=d[(c[f>>2]|0)+(e+-1)>>0]|0;n=m+1|0;q=0-g|0;o=f+4|0;p=q<<1;l=f+8|0;m=~m;j=b;k=8;while(1){f=j+q|0;e=a[j+g>>0]|0;h=d[f>>0]|0;i=d[j>>0]|0;b=h-i|0;if((((b|0)<0?0-b|0:b)>>>0<(c[o>>2]|0)>>>0?(s=d[j+p>>0]|0,b=s-h|0,r=c[l>>2]|0,((b|0)<0?0-b|0:b)>>>0>>0):0)?(t=e&255,b=t-i|0,((b|0)<0?0-b|0:b)>>>0>>0):0){I=4-t+(i-h<<2)+s>>3;I=(I|0)<(m|0)?m:(I|0)>(n|0)?n:I;b=a[49274+(i-I)>>0]|0;a[f>>0]=a[49274+(I+h)>>0]|0;a[j>>0]=b}k=k+-1|0;if(!k)break;else j=j+1|0}return}s=0-g|0;r=f+4|0;I=s<<1;t=f+8|0;h=b+s|0;f=a[b+g>>0]|0;i=d[h>>0]|0;j=d[b>>0]|0;J=i-j|0;e=c[r>>2]|0;if((((J|0)<0?0-J|0:J)>>>0>>0?(l=d[b+I>>0]|0,J=l-i|0,k=c[t>>2]|0,((J|0)<0?0-J|0:J)>>>0>>0):0)?(m=f&255,J=m-j|0,((J|0)<0?0-J|0:J)>>>0>>0):0){a[h>>0]=(i+2+m+(l<<1)|0)>>>2;a[b>>0]=(j+2+(m<<1)+l|0)>>>2;e=c[r>>2]|0}k=b+1|0;h=k+s|0;f=a[k+g>>0]|0;i=d[h>>0]|0;j=d[k>>0]|0;J=i-j|0;if((((J|0)<0?0-J|0:J)>>>0>>0?(o=d[k+I>>0]|0,J=o-i|0,n=c[t>>2]|0,((J|0)<0?0-J|0:J)>>>0>>0):0)?(p=f&255,J=p-j|0,((J|0)<0?0-J|0:J)>>>0>>0):0){a[h>>0]=(i+2+p+(o<<1)|0)>>>2;a[k>>0]=(j+2+(p<<1)+o|0)>>>2;e=c[r>>2]|0}k=b+2|0;h=k+s|0;f=a[k+g>>0]|0;i=d[h>>0]|0;j=d[k>>0]|0;J=i-j|0;if((((J|0)<0?0-J|0:J)>>>0>>0?(u=d[k+I>>0]|0,J=u-i|0,q=c[t>>2]|0,((J|0)<0?0-J|0:J)>>>0>>0):0)?(v=f&255,J=v-j|0,((J|0)<0?0-J|0:J)>>>0>>0):0){a[h>>0]=(i+2+v+(u<<1)|0)>>>2;a[k>>0]=(j+2+(v<<1)+u|0)>>>2;e=c[r>>2]|0}k=b+3|0;h=k+s|0;f=a[k+g>>0]|0;i=d[h>>0]|0;j=d[k>>0]|0;J=i-j|0;if((((J|0)<0?0-J|0:J)>>>0>>0?(x=d[k+I>>0]|0,J=x-i|0,w=c[t>>2]|0,((J|0)<0?0-J|0:J)>>>0>>0):0)?(y=f&255,J=y-j|0,((J|0)<0?0-J|0:J)>>>0>>0):0){a[h>>0]=(i+2+y+(x<<1)|0)>>>2;a[k>>0]=(j+2+(y<<1)+x|0)>>>2;e=c[r>>2]|0}k=b+4|0;h=k+s|0;f=a[k+g>>0]|0;i=d[h>>0]|0;j=d[k>>0]|0;J=i-j|0;if((((J|0)<0?0-J|0:J)>>>0>>0?(A=d[k+I>>0]|0,J=A-i|0,z=c[t>>2]|0,((J|0)<0?0-J|0:J)>>>0>>0):0)?(B=f&255,J=B-j|0,((J|0)<0?0-J|0:J)>>>0>>0):0){a[h>>0]=(i+2+B+(A<<1)|0)>>>2;a[k>>0]=(j+2+(B<<1)+A|0)>>>2;e=c[r>>2]|0}k=b+5|0;h=k+s|0;f=a[k+g>>0]|0;i=d[h>>0]|0;j=d[k>>0]|0;J=i-j|0;if((((J|0)<0?0-J|0:J)>>>0>>0?(D=d[k+I>>0]|0,J=D-i|0,C=c[t>>2]|0,((J|0)<0?0-J|0:J)>>>0>>0):0)?(E=f&255,J=E-j|0,((J|0)<0?0-J|0:J)>>>0>>0):0){a[h>>0]=(i+2+E+(D<<1)|0)>>>2;a[k>>0]=(j+2+(E<<1)+D|0)>>>2;e=c[r>>2]|0}k=b+6|0;h=k+s|0;f=a[k+g>>0]|0;i=d[h>>0]|0;j=d[k>>0]|0;J=i-j|0;if((((J|0)<0?0-J|0:J)>>>0>>0?(G=d[k+I>>0]|0,J=G-i|0,F=c[t>>2]|0,((J|0)<0?0-J|0:J)>>>0>>0):0)?(H=f&255,J=H-j|0,((J|0)<0?0-J|0:J)>>>0>>0):0){a[h>>0]=(i+2+H+(G<<1)|0)>>>2;a[k>>0]=(j+2+(H<<1)+G|0)>>>2;e=c[r>>2]|0}l=b+7|0;i=l+s|0;j=d[i>>0]|0;k=d[l>>0]|0;J=j-k|0;if(((J|0)<0?0-J|0:J)>>>0>=e>>>0)return;h=d[l+I>>0]|0;J=h-j|0;f=c[t>>2]|0;if(((J|0)<0?0-J|0:J)>>>0>=f>>>0)return;e=d[l+g>>0]|0;J=e-k|0;if(((J|0)<0?0-J|0:J)>>>0>=f>>>0)return;a[i>>0]=(j+2+e+(h<<1)|0)>>>2;a[l>>0]=(k+2+(e<<1)+h|0)>>>2;return}function Zf(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=d[(c[f>>2]|0)+(e+-1)>>0]|0;s=r+1|0;o=0-g|0;k=f+4|0;q=o<<1;p=f+8|0;r=~r;h=b+o|0;f=a[b+g>>0]|0;i=d[h>>0]|0;j=d[b>>0]|0;t=i-j|0;e=c[k>>2]|0;if((((t|0)<0?0-t|0:t)>>>0>>0?(m=d[b+q>>0]|0,t=m-i|0,l=c[p>>2]|0,((t|0)<0?0-t|0:t)>>>0>>0):0)?(n=f&255,t=n-j|0,((t|0)<0?0-t|0:t)>>>0>>0):0){t=4-n+(j-i<<2)+m>>3;t=(t|0)<(r|0)?r:(t|0)>(s|0)?s:t;e=a[49274+(j-t)>>0]|0;a[h>>0]=a[49274+(t+i)>>0]|0;a[b>>0]=e;e=c[k>>2]|0}l=b+1|0;i=l+o|0;j=d[i>>0]|0;k=d[l>>0]|0;t=j-k|0;if(((t|0)<0?0-t|0:t)>>>0>=e>>>0)return;h=d[l+q>>0]|0;t=h-j|0;f=c[p>>2]|0;if(((t|0)<0?0-t|0:t)>>>0>=f>>>0)return;e=d[l+g>>0]|0;t=e-k|0;if(((t|0)<0?0-t|0:t)>>>0>=f>>>0)return;g=4-e+(k-j<<2)+h>>3;g=(g|0)<(r|0)?r:(g|0)>(s|0)?s:g;t=a[49274+(k-g)>>0]|0;a[i>>0]=a[49274+(g+j)>>0]|0;a[l>>0]=t;return}function _f(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;p=c[b+4>>2]|0;q=c[b+8>>2]|0;switch(d|0){case 0:case 5:{e=3;break}default:if(!(c[a+3384>>2]|0))f=0;else e=3}if((e|0)==3){e=a+1220|0;g=0;do{f=He(e,g)|0;g=g+1|0}while(g>>>0<16&(f|0)==0)}k=a+1176|0;j=c[k>>2]|0;if(j|0){h=c[a+1212>>2]|0;e=0;g=0;i=0;while(1){if(c[h+(g*216|0)+196>>2]|0){h=e;e=g;n=i;break}g=g+1|0;e=e+1|0;o=(e|0)==(p|0);i=i+(o&1)|0;e=o?0:e;if(g>>>0>=j>>>0){h=e;e=g;n=i;break}}if((e|0)!=(j|0)){o=a+1212|0;j=(c[o>>2]|0)+((r(n,p)|0)*216|0)|0;if(h|0){g=a+1204|0;e=h;do{e=e+-1|0;m=j+(e*216|0)|0;$f(m,b,n,e,d,f);c[m+196>>2]=1;c[g>>2]=(c[g>>2]|0)+1}while((e|0)!=0)}e=h+1|0;if(e>>>0

>>0){i=a+1204|0;do{g=j+(e*216|0)|0;h=g+196|0;if(!(c[h>>2]|0)){$f(g,b,n,e,d,f);c[h>>2]=1;c[i>>2]=(c[i>>2]|0)+1}e=e+1|0}while((e|0)!=(p|0))}a:do if((n|0)!=0&(p|0)!=0){k=n+-1|0;l=r(k,p)|0;m=a+1204|0;i=0-p|0;g=n+-2|0;if(!k){e=0;while(1){k=(c[o>>2]|0)+(l*216|0)+(e*216|0)|0;$f(k,b,0,e,d,f);c[k+196>>2]=1;c[m>>2]=(c[m>>2]|0)+1;e=e+1|0;if((e|0)==(p|0))break a}}j=0;do{e=(c[o>>2]|0)+(l*216|0)+(j*216|0)|0;$f(e,b,k,j,d,f);c[e+196>>2]=1;c[m>>2]=(c[m>>2]|0)+1;h=g;while(1){s=e;e=e+(i*216|0)|0;$f(e,b,h,j,d,f);c[s+(i*216|0)+196>>2]=1;c[m>>2]=(c[m>>2]|0)+1;if(!h)break;else h=h+-1|0}j=j+1|0}while((j|0)!=(p|0))}while(0);e=n+1|0;if(e>>>0>=q>>>0)return 0;k=a+1204|0;if(!p)return 0;do{g=(c[o>>2]|0)+((r(e,p)|0)*216|0)|0;j=0;do{h=g+(j*216|0)|0;i=h+196|0;if(!(c[i>>2]|0)){$f(h,b,e,j,d,f);c[i>>2]=1;c[k>>2]=(c[k>>2]|0)+1}j=j+1|0}while((j|0)!=(p|0));e=e+1|0}while((e|0)!=(q|0));return 0}}switch(d|0){case 2:case 7:{if((f|0)==0|(c[a+3384>>2]|0)==0)e=13;else e=14;break}default:if(!f)e=13;else e=14}if((e|0)==13)je(c[b>>2]|0,128,r(p*384|0,q)|0);else if((e|0)==14)Ee(c[b>>2]|0,f,r(p*384|0,q)|0);g=c[k>>2]|0;c[a+1204>>2]=g;if(!g)return 0;e=c[a+1212>>2]|0;f=0;do{c[e+(f*216|0)+8>>2]=1;f=f+1|0}while((f|0)!=(g|0));return 0}function $f(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=cc;cc=cc+480|0;if((cc|0)>=(dc|0))w(480);ga=ia+96|0;ha=ia+32|0;k=ia+24|0;l=ia;ea=c[e+4>>2]|0;v=c[e+8>>2]|0;ge(e,(r(ea,f)|0)+g|0);j=g<<4;m=(c[e>>2]|0)+(r(f<<8,ea)|0)+j|0;c[b+20>>2]=40;c[b+8>>2]=0;c[b>>2]=6;c[b+12>>2]=0;c[b+16>>2]=0;c[b+24>>2]=0;a:do switch(h|0){case 2:case 7:{je(ga,0,384);break}default:{c[k>>2]=0;c[l+4>>2]=ea;c[l+8>>2]=v;c[l>>2]=i;if(!i){je(ga,0,384);break a}Ie(ga,k,l,j,f<<4,0,0,16,16);De(e,ga);cc=ia;return}}while(0);je(ha,0,64);if((f|0)!=0?(c[b+((0-ea|0)*216|0)+196>>2]|0)!=0:0){da=m+(0-(ea<<4))|0;y=da+1|0;z=y+1|0;x=z+1|0;t=x+1|0;x=(d[y>>0]|0)+(d[da>>0]|0)+(d[z>>0]|0)+(d[x>>0]|0)|0;z=t+1|0;da=z+1|0;y=da+1|0;A=y+1|0;y=(d[z>>0]|0)+(d[t>>0]|0)+(d[da>>0]|0)+(d[y>>0]|0)|0;da=A+1|0;t=da+1|0;z=t+1|0;fa=z+1|0;z=(d[da>>0]|0)+(d[A>>0]|0)+(d[t>>0]|0)+(d[z>>0]|0)|0;t=fa+1|0;A=t+1|0;A=(d[t>>0]|0)+(d[fa>>0]|0)+(d[A>>0]|0)+(d[A+1>>0]|0)|0;fa=y+x|0;c[ha>>2]=z+fa+(c[ha>>2]|0)+A;t=ha+4|0;c[t>>2]=fa-z-A+(c[t>>2]|0);t=1}else{x=0;y=0;z=0;A=0;t=0}if((v+-1|0)!=(f|0)?(c[b+(ea*216|0)+196>>2]|0)!=0:0){fa=m+(ea<<8)|0;C=fa+1|0;D=C+1|0;B=D+1|0;u=B+1|0;B=(d[C>>0]|0)+(d[fa>>0]|0)+(d[D>>0]|0)+(d[B>>0]|0)|0;D=u+1|0;fa=D+1|0;C=fa+1|0;E=C+1|0;C=(d[D>>0]|0)+(d[u>>0]|0)+(d[fa>>0]|0)+(d[C>>0]|0)|0;fa=E+1|0;u=fa+1|0;D=u+1|0;q=D+1|0;D=(d[fa>>0]|0)+(d[E>>0]|0)+(d[u>>0]|0)+(d[D>>0]|0)|0;u=q+1|0;E=u+1|0;E=(d[u>>0]|0)+(d[q>>0]|0)+(d[E>>0]|0)+(d[E+1>>0]|0)|0;q=C+B|0;c[ha>>2]=D+q+(c[ha>>2]|0)+E;u=ha+4|0;c[u>>2]=q-D-E+(c[u>>2]|0);u=1;q=t+1|0}else{u=0;B=0;C=0;D=0;E=0;q=t}if((g|0)!=0?(c[b+-20>>2]|0)!=0:0){da=m+-1|0;fa=ea<<4;k=ea<<5;aa=ea*48|0;F=(d[da+fa>>0]|0)+(d[da>>0]|0)+(d[da+k>>0]|0)+(d[da+aa>>0]|0)|0;s=ea<<6;da=da+s|0;_=(d[da+fa>>0]|0)+(d[da>>0]|0)+(d[da+k>>0]|0)+(d[da+aa>>0]|0)|0;da=da+s|0;$=(d[da+fa>>0]|0)+(d[da>>0]|0)+(d[da+k>>0]|0)+(d[da+aa>>0]|0)|0;s=da+s|0;aa=(d[s+fa>>0]|0)+(d[s>>0]|0)+(d[s+k>>0]|0)+(d[s+aa>>0]|0)|0;s=_+F|0;c[ha>>2]=$+s+(c[ha>>2]|0)+aa;k=ha+16|0;c[k>>2]=s-$-aa+(c[k>>2]|0);k=q+1|0;s=1}else{k=q;F=0;_=0;$=0;aa=0;s=0}do if((ea+-1|0)!=(g|0)?(c[b+412>>2]|0)!=0:0){m=m+16|0;i=ea<<4;l=ea<<5;p=ea*48|0;b=(d[m+i>>0]|0)+(d[m>>0]|0)+(d[m+l>>0]|0)+(d[m+p>>0]|0)|0;h=ea<<6;m=m+h|0;n=(d[m+i>>0]|0)+(d[m>>0]|0)+(d[m+l>>0]|0)+(d[m+p>>0]|0)|0;m=m+h|0;o=(d[m+i>>0]|0)+(d[m>>0]|0)+(d[m+l>>0]|0)+(d[m+p>>0]|0)|0;h=m+h|0;p=(d[h+i>>0]|0)+(d[h>>0]|0)+(d[h+l>>0]|0)+(d[h+p>>0]|0)|0;k=k+1|0;h=s+1|0;l=n+b|0;c[ha>>2]=o+l+(c[ha>>2]|0)+p;i=ha+16|0;l=l-o-p+(c[i>>2]|0)|0;c[i>>2]=l;m=(q|0)==0;j=(s|0)!=0;if(!(m&j)){if(!m){l=1;m=ha+4|0;i=h;p=21;break}}else c[ha+4>>2]=$+aa+_+F-b-n-o-p>>5;o=l;b=1;m=(t|0)!=0;l=(u|0)!=0;p=27}else p=17;while(0);if((p|0)==17){j=(s|0)!=0;if(!q){b=0;n=k;h=s;p=23}else{l=0;m=ha+4|0;i=s;p=21}}if((p|0)==21){c[m>>2]=c[m>>2]>>q+3;b=l;n=k;h=i;p=23}do if((p|0)==23){k=(h|0)==0;m=(t|0)!=0;l=(u|0)!=0;if(l&(m&k)){c[ha+16>>2]=z+A+y+x-E-D-C-B>>5;k=n;fa=j;m=1;da=1;break}i=ha+16|0;if(k){k=n;fa=j;da=l}else{o=c[i>>2]|0;k=n;p=27}}while(0);if((p|0)==27){c[i>>2]=o>>h+3;fa=j;da=l}switch(k|0){case 1:{i=c[ha>>2]>>4;break}case 2:{i=c[ha>>2]>>5;break}case 3:{i=(c[ha>>2]|0)*21>>10;break}default:i=c[ha>>2]>>6}c[ha>>2]=i;ba=ha+4|0;j=c[ba>>2]|0;ca=ha+16|0;k=c[ca>>2]|0;if(!(k|j)){c[ha+60>>2]=i;c[ha+56>>2]=i;c[ha+52>>2]=i;c[ha+48>>2]=i;c[ha+44>>2]=i;c[ha+40>>2]=i;c[ha+36>>2]=i;c[ha+32>>2]=i;c[ha+28>>2]=i;c[ha+24>>2]=i;c[ha+20>>2]=i;c[ca>>2]=i;c[ha+12>>2]=i;c[ha+8>>2]=i;c[ba>>2]=i}else{V=i+j|0;X=j>>1;W=i+X|0;X=i-X|0;Z=i-j|0;c[ha>>2]=V+k;Y=k>>1;c[ca>>2]=V+Y;c[ha+32>>2]=V-Y;c[ha+48>>2]=V-k;c[ba>>2]=W+k;c[ha+20>>2]=W+Y;c[ha+36>>2]=W-Y;c[ha+52>>2]=W-k;c[ha+8>>2]=X+k;c[ha+24>>2]=X+Y;c[ha+40>>2]=X-Y;c[ha+56>>2]=X-k;c[ha+12>>2]=Z+k;c[ha+28>>2]=Z+Y;c[ha+44>>2]=Z-Y;c[ha+60>>2]=Z-k}j=0;i=ga;l=ha;while(1){k=c[l+((j>>>2&3)<<2)>>2]|0;k=(k|0)<255?k:255;a[i>>0]=(k|0)>0?k:0;k=j+1|0;if((k|0)==256)break;else{j=k;i=i+1|0;l=(k&63|0)==0?l+16|0:l}}v=r(v,ea)|0;W=ea<<3;V=0-W|0;X=ea<<6;Y=ea<<4;P=ha+60|0;Q=ha+56|0;R=ha+52|0;S=ha+48|0;T=ha+44|0;U=ha+40|0;I=ha+36|0;J=ha+32|0;K=ha+28|0;L=ha+24|0;M=ha+20|0;N=ha+12|0;O=ha+8|0;H=ga+256|0;Z=v<<6;u=x;t=y;s=z;j=A;q=B;p=C;n=D;l=E;G=0;o=F;h=_;i=$;k=aa;F=(c[e>>2]|0)+(v<<8)+(r(f<<6,ea)|0)+(g<<3)|0;while(1){je(ha,0,64);if(m){u=F+V|0;j=u+1|0;t=j+1|0;u=(d[j>>0]|0)+(d[u>>0]|0)|0;j=t+1|0;s=j+1|0;t=(d[j>>0]|0)+(d[t>>0]|0)|0;j=s+1|0;A=j+1|0;s=(d[j>>0]|0)+(d[s>>0]|0)|0;A=(d[A+1>>0]|0)+(d[A>>0]|0)|0;j=t+u|0;c[ha>>2]=s+j+(c[ha>>2]|0)+A;c[ba>>2]=j-s-A+(c[ba>>2]|0);j=1}else{A=j;j=0}if(da){B=F+X|0;q=B+1|0;C=q+1|0;B=(d[q>>0]|0)+(d[B>>0]|0)|0;q=C+1|0;D=q+1|0;C=(d[q>>0]|0)+(d[C>>0]|0)|0;q=D+1|0;E=q+1|0;D=(d[q>>0]|0)+(d[D>>0]|0)|0;E=(d[E+1>>0]|0)+(d[E>>0]|0)|0;q=C+B|0;c[ha>>2]=D+q+(c[ha>>2]|0)+E;c[ba>>2]=q-D-E+(c[ba>>2]|0);q=j+1|0}else{B=q;C=p;D=n;E=l;q=j}if(fa){z=F+-1|0;v=(d[z+W>>0]|0)+(d[z>>0]|0)|0;z=z+Y|0;x=(d[z+W>>0]|0)+(d[z>>0]|0)|0;z=z+Y|0;y=(d[z+W>>0]|0)+(d[z>>0]|0)|0;z=z+Y|0;z=(d[z+W>>0]|0)+(d[z>>0]|0)|0;j=x+v|0;c[ha>>2]=y+j+(c[ha>>2]|0)+z;c[ca>>2]=j-y-z+(c[ca>>2]|0);j=q+1|0;i=1}else{j=q;v=o;x=h;y=i;z=k;i=0}do if(b){p=F+8|0;h=(d[p+W>>0]|0)+(d[p>>0]|0)|0;p=p+Y|0;n=(d[p+W>>0]|0)+(d[p>>0]|0)|0;p=p+Y|0;o=(d[p+W>>0]|0)+(d[p>>0]|0)|0;p=p+Y|0;p=(d[p+W>>0]|0)+(d[p>>0]|0)|0;j=j+1|0;i=i+1|0;k=n+h|0;c[ha>>2]=o+k+(c[ha>>2]|0)+p;k=k-o-p+(c[ca>>2]|0)|0;c[ca>>2]=k;l=(q|0)==0;if(!(fa&l))if(l){p=55;break}else{p=50;break}else{c[ba>>2]=y+z+x+v-h-n-o-p>>4;p=55;break}}else if(!q)p=51;else p=50;while(0);if((p|0)==50){c[ba>>2]=c[ba>>2]>>q+2;p=51}do if((p|0)==51){p=0;k=(i|0)==0;if(da&(m&k)){k=s+A+t+u-E-D-C-B>>4;p=56;break}if(!k){k=c[ca>>2]|0;p=55}}while(0);if((p|0)==55){k=k>>i+2;p=56}if((p|0)==56)c[ca>>2]=k;switch(j|0){case 1:{i=c[ha>>2]>>3;break}case 2:{i=c[ha>>2]>>4;break}case 3:{i=(c[ha>>2]|0)*21>>9;break}default:i=c[ha>>2]>>5}c[ha>>2]=i;j=c[ba>>2]|0;k=c[ca>>2]|0;if(!(k|j)){c[P>>2]=i;c[Q>>2]=i;c[R>>2]=i;c[S>>2]=i;c[T>>2]=i;c[U>>2]=i;c[I>>2]=i;c[J>>2]=i;c[K>>2]=i;c[L>>2]=i;c[M>>2]=i;c[ca>>2]=i;c[N>>2]=i;c[O>>2]=i;c[ba>>2]=i}else{$=i+j|0;ea=j>>1;aa=i+ea|0;ea=i-ea|0;f=i-j|0;c[ha>>2]=$+k;g=k>>1;c[ca>>2]=$+g;c[J>>2]=$-g;c[S>>2]=$-k;c[ba>>2]=aa+k;c[M>>2]=aa+g;c[I>>2]=aa-g;c[R>>2]=aa-k;c[O>>2]=ea+k;c[L>>2]=ea+g;c[U>>2]=ea-g;c[Q>>2]=ea-k;c[N>>2]=f+k;c[K>>2]=f+g;c[T>>2]=f-g;c[P>>2]=f-k}j=0;i=H+(G<<6)|0;l=ha;while(1){k=c[l+((j>>>1&3)<<2)>>2]|0;k=(k|0)<255?k:255;a[i>>0]=(k|0)>0?k:0;k=j+1|0;if((k|0)==64)break;else{j=k;i=i+1|0;l=(k&15|0)==0?l+16|0:l}}G=G+1|0;if((G|0)==2)break;else{j=A;q=B;p=C;n=D;l=E;o=v;h=x;i=y;k=z;F=F+Z|0}}De(e,ga);cc=ia;return}function ag(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a:do if(!(c[d+284>>2]|0))n=0;else{g=0;b:while(1){f=c[d+288+(g*20|0)>>2]|0;switch(f|0){case 5:{n=1;break a}case 0:break b;default:{}}g=g+1|0}n=f}while(0);switch(c[b+16>>2]|0){case 0:{if((c[e>>2]|0)!=5){g=c[a>>2]|0;f=c[d+20>>2]|0;if(g>>>0>f>>>0?(h=c[b+20>>2]|0,(g-f|0)>>>0>=h>>>1>>>0):0){k=f;j=(c[a+4>>2]|0)+h|0;i=a}else{i=a;l=12}}else{c[a+4>>2]=0;c[a>>2]=0;f=c[d+20>>2]|0;g=0;i=a;l=12}do if((l|0)==12){if(f>>>0>g>>>0?(j=c[b+20>>2]|0,(f-g|0)>>>0>j>>>1>>>0):0){k=f;j=(c[a+4>>2]|0)-j|0;break}k=f;j=c[a+4>>2]|0}while(0);if(!(c[e+4>>2]|0)){d=c[d+24>>2]|0;d=j+k+((d|0)<0?d:0)|0;return d|0}h=a+4|0;c[h>>2]=j;f=c[d+24>>2]|0;g=(f|0)<0;if(!n){c[i>>2]=k;d=j+k+(g?f:0)|0;return d|0}else{c[h>>2]=0;c[i>>2]=g?0-f|0:0;d=0;return d|0}}case 1:{if((c[e>>2]|0)!=5){f=c[a+12>>2]|0;if((c[a+8>>2]|0)>>>0>(c[d+12>>2]|0)>>>0)f=(c[b+12>>2]|0)+f|0}else f=0;l=c[b+36>>2]|0;h=(l|0)==0;if(h)g=0;else g=(c[d+12>>2]|0)+f|0;m=(c[e+4>>2]|0)==0;g=g+(((g|0)!=0&m)<<31>>31)|0;k=(g|0)!=0;g=g+-1|0;if(k){j=(g>>>0)/(l>>>0)|0;e=g-(r(j,l)|0)|0}else{e=0;j=0}if(h)g=0;else{h=c[b+40>>2]|0;g=0;i=0;do{g=(c[h+(i<<2)>>2]|0)+g|0;i=i+1|0}while((i|0)!=(l|0))}if(k){g=r(g,j)|0;h=c[b+40>>2]|0;i=0;do{g=(c[h+(i<<2)>>2]|0)+g|0;i=i+1|0}while(i>>>0<=e>>>0)}else g=0;if(m)i=(c[b+28>>2]|0)+g|0;else i=g;g=(c[d+32>>2]|0)+(c[b+32>>2]|0)|0;h=a+12|0;if(!n){n=((g|0)<0?g:0)+i+(c[d+28>>2]|0)|0;c[h>>2]=f;c[a+8>>2]=c[d+12>>2];d=n;return d|0}else{c[h>>2]=0;c[a+8>>2]=0;d=0;return d|0}}default:{if((c[e>>2]|0)==5){i=0;g=0;f=a+12|0}else{h=c[d+12>>2]|0;f=a+12|0;g=c[f>>2]|0;if((c[a+8>>2]|0)>>>0>h>>>0)g=(c[b+12>>2]|0)+g|0;i=g;g=(h+g<<1)+(((c[e+4>>2]|0)==0)<<31>>31)|0}if(!n){c[f>>2]=i;c[a+8>>2]=c[d+12>>2];d=g;return d|0}else{c[f>>2]=0;c[a+8>>2]=0;d=0;return d|0}}}return 0}function bg(a,b){a=a|0;b=b|0;var d=0;vf(a);d=me(2112,1)|0;c[a+3376>>2]=d;if(!d){d=1;return d|0}if(!b){d=0;return d|0}c[a+1216>>2]=1;d=0;return d|0}function cg(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=cc;cc=cc+208|0;if((cc|0)>=(dc|0))w(208);k=s+204|0;q=s;j=s+112|0;i=s+40|0;r=s+16|0;h=s+12|0;n=s+8|0;c[h>>2]=0;o=a+3344|0;if((c[o>>2]|0)!=0?(c[a+3348>>2]|0)==(b|0):0){l=a+3356|0;c[r>>2]=c[l>>2];c[r+4>>2]=c[l+4>>2];c[r+8>>2]=c[l+8>>2];c[r+12>>2]=c[l+12>>2];c[r+4>>2]=c[r>>2];c[r+8>>2]=0;c[r+16>>2]=0;c[f>>2]=c[a+3352>>2]}else p=4;do if((p|0)==4)if(!(he(b,d,r,f)|0)){l=a+3356|0;c[l>>2]=c[r>>2];c[l+4>>2]=c[r+4>>2];c[l+8>>2]=c[r+8>>2];c[l+12>>2]=c[r+12>>2];c[l+16>>2]=c[r+16>>2];c[a+3352>>2]=c[f>>2];c[a+3348>>2]=b;break}else{a=3;cc=s;return a|0}while(0);c[o>>2]=0;if(tf(r,q)|0){a=3;cc=s;return a|0}if(((c[q>>2]|0)+-1|0)>>>0>11){a=0;cc=s;return a|0}b=Hf(r,q,a,h)|0;a:do if((b|0)<65520){switch(b|0){case 0:break;default:break a}do if(!(c[h>>2]|0))p=19;else{if(c[a+1184>>2]|0?(g=a+16|0,c[g>>2]|0):0){if(c[a+3380>>2]|0){a=3;cc=s;return a|0}d=a+1188|0;if(!(c[d>>2]|0)){r=a+1220|0;b=a+1336|0;c[b>>2]=Of(r)|0;Qf(r);_f(a,b,0)|0}else{b=a+1336|0;_f(a,b,c[a+1372>>2]|0)|0}c[f>>2]=0;c[o>>2]=1;c[a+1180>>2]=0;h=b;b=a+1360|0;break}c[a+1188>>2]=0;c[a+1180>>2]=0;p=19}while(0);b:do if((p|0)==19)switch(c[q>>2]|0){case 7:if(!(ie(r,j)|0)){wf(a,j)|0;a=0;cc=s;return a|0}else{a=j+40|0;xf(c[a>>2]|0);c[a>>2]=0;a=j+84|0;xf(c[a>>2]|0);c[a>>2]=0;a=3;cc=s;return a|0}case 8:if(!(re(r,i)|0)){yf(a,i)|0;a=0;cc=s;return a|0}else{a=i+20|0;xf(c[a>>2]|0);c[a>>2]=0;a=i+24|0;xf(c[a>>2]|0);c[a>>2]=0;a=i+28|0;xf(c[a>>2]|0);c[a>>2]=0;a=i+44|0;xf(c[a>>2]|0);c[a>>2]=0;a=3;cc=s;return a|0}case 1:case 5:{l=a+1180|0;if(c[l>>2]|0){a=0;cc=s;return a|0}c[a+1184>>2]=1;if(Df(a)|0){c[a+1204>>2]=0;c[a+1208>>2]=e;te(r,k)|0;d=a+8|0;g=c[d>>2]|0;b=zf(a,c[k>>2]|0,(c[q>>2]|0)==5&1)|0;if(b|0){c[a+4>>2]=256;c[a+12>>2]=0;c[d>>2]=32;c[a+16>>2]=0;c[a+3380>>2]=0;a=(b|0)==65535?5:4;cc=s;return a|0}if((g|0)!=(c[d>>2]|0)){g=c[a+16>>2]|0;c[n>>2]=1;b=c[a>>2]|0;if(b>>>0<32)b=c[a+20+(b<<2)>>2]|0;else b=0;c[f>>2]=0;c[o>>2]=1;do if(((((c[q>>2]|0)==5?(r=ze(n,r,g,c[a+12>>2]|0,5)|0,(c[n>>2]|r|0)==0):0)?(m=a+1220|0,!((b|0)==0|(c[a+1276>>2]|0)!=0)):0)?(c[b+52>>2]|0)==(c[g+52>>2]|0):0)?(c[b+56>>2]|0)==(c[g+56>>2]|0):0){if((c[b+88>>2]|0)!=(c[g+88>>2]|0)){p=39;break}Tf(m)}else p=39;while(0);if((p|0)==39)c[a+1280>>2]=0;c[a>>2]=c[d>>2];a=2;cc=s;return a|0}}if(c[a+3380>>2]|0){a=3;cc=s;return a|0}j=a+1368|0;g=a+2356|0;h=a+16|0;if(se(r,g,c[h>>2]|0,c[a+12>>2]|0,q)|0){a=3;cc=s;return a|0}if(!(Df(a)|0))b=a+1220|0;else{b=a+1220|0;if((c[q>>2]|0)!=5?Rf(b,c[a+2368>>2]|0,(c[q+4>>2]|0)!=0&1,c[(c[h>>2]|0)+48>>2]|0)|0:0){a=3;cc=s;return a|0}c[a+1336>>2]=Of(b)|0}pj(j|0,g|0,988)|0;d=a+1188|0;c[d>>2]=1;i=a+1360|0;f=q;p=c[f+4>>2]|0;q=i;c[q>>2]=c[f>>2];c[q+4>>2]=p;Ff(a,c[a+1432>>2]|0);Qf(b);if(Jf(b,a+1436|0,c[a+1380>>2]|0,c[a+1412>>2]|0)|0){a=3;cc=s;return a|0}b=a+1336|0;if(Ae(r,a,b,j)|0){rf(a,c[j>>2]|0);a=3;cc=s;return a|0}if(!(Ef(a)|0)){a=0;cc=s;return a|0}else{c[l>>2]=1;g=h;h=b;b=i;break b}}default:{a=0;cc=s;return a|0}}while(0);Uf(h,c[a+1212>>2]|0);Cf(a);g=ag(a+1284|0,c[g>>2]|0,a+1368|0,b)|0;do if(c[d>>2]|0){b=a+1220|0;if(!(c[a+1364>>2]|0)){Kf(b,0,h,c[a+1380>>2]|0,g,(c[a+1360>>2]|0)==5&1,c[a+1208>>2]|0,c[a+1204>>2]|0)|0;break}else{Kf(b,a+1644|0,h,c[a+1380>>2]|0,g,(c[a+1360>>2]|0)==5&1,c[a+1208>>2]|0,c[a+1204>>2]|0)|0;break}}while(0);c[a+1184>>2]=0;c[d>>2]=0;a=1;cc=s;return a|0}else{switch(b|0){case 65520:{b=4;break}default:break a}cc=s;return b|0}while(0);a=3;cc=s;return a|0}function dg(a){a=a|0;var b=0,d=0,e=0;e=0;do{d=a+20+(e<<2)|0;b=c[d>>2]|0;if(b|0){xf(c[b+40>>2]|0);c[(c[d>>2]|0)+40>>2]=0;xf(c[(c[d>>2]|0)+84>>2]|0);c[(c[d>>2]|0)+84>>2]=0;xf(c[d>>2]|0);c[d>>2]=0}e=e+1|0}while((e|0)!=32);e=0;do{d=a+148+(e<<2)|0;b=c[d>>2]|0;if(b|0){xf(c[b+20>>2]|0);c[(c[d>>2]|0)+20>>2]=0;xf(c[(c[d>>2]|0)+24>>2]|0);c[(c[d>>2]|0)+24>>2]=0;xf(c[(c[d>>2]|0)+28>>2]|0);c[(c[d>>2]|0)+28>>2]=0;xf(c[(c[d>>2]|0)+44>>2]|0);c[(c[d>>2]|0)+44>>2]=0;xf(c[d>>2]|0);c[d>>2]=0}e=e+1|0}while((e|0)!=256);e=a+3376|0;xf(c[e>>2]|0);c[e>>2]=0;e=a+1212|0;xf(c[e>>2]|0);c[e>>2]=0;e=a+1172|0;xf(c[e>>2]|0);c[e>>2]=0;Pf(a+1220|0);return}function eg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=Sf(a+1220|0)|0;if(!a){b=0;return b|0}c[b>>2]=c[a+4>>2];c[d>>2]=c[a+12>>2];c[e>>2]=c[a+8>>2];b=c[a>>2]|0;return b|0}function fg(a){a=a|0;a=c[a+16>>2]|0;if(!a){a=0;return a|0}a=c[a+52>>2]|0;return a|0}function gg(a){a=a|0;a=c[a+16>>2]|0;if(!a){a=0;return a|0}a=c[a+56>>2]|0;return a|0}function hg(a){a=a|0;Tf(a+1220|0);return}function ig(a){a=a|0;return (If(a)|0)==0|0}function jg(a){a=a|0;var b=0;a=c[a+16>>2]|0;if((((a|0?c[a+80>>2]|0:0)?(b=c[a+84>>2]|0,b|0):0)?c[b+24>>2]|0:0)?c[b+32>>2]|0:0){b=1;return b|0}b=0;return b|0}function kg(a){a=a|0;a=c[a+16>>2]|0;if(!a){a=2;return a|0}if(!(c[a+80>>2]|0)){a=2;return a|0}a=c[a+84>>2]|0;if(!a){a=2;return a|0}if(!(c[a+24>>2]|0)){a=2;return a|0}if(!(c[a+36>>2]|0)){a=2;return a|0}a=c[a+48>>2]|0;return a|0}function lg(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a=c[a+16>>2]|0;if(a|0?c[a+60>>2]|0:0){c[b>>2]=1;b=a+64|0;c[d>>2]=c[b>>2]<<1;c[e>>2]=(c[a+52>>2]<<4)-((c[a+68>>2]|0)+(c[b>>2]|0)<<1);e=a+72|0;c[f>>2]=c[e>>2]<<1;e=(c[a+56>>2]<<4)-((c[a+76>>2]|0)+(c[e>>2]|0)<<1)|0;c[g>>2]=e;return}c[b>>2]=0;c[d>>2]=0;c[e>>2]=0;c[f>>2]=0;e=0;c[g>>2]=e;return}function mg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;a=c[a+16>>2]|0;a:do if((((a|0)!=0?(c[a+80>>2]|0)!=0:0)?(e=c[a+84>>2]|0,(e|0)!=0):0)?(c[e>>2]|0)!=0:0)do switch(c[e+4>>2]|0){case 255:{f=c[e+8>>2]|0;a=c[e+12>>2]|0;e=(f|0)==0|(a|0)==0;a=e?0:a;e=e?0:f;break a}case 1:{a=1;e=1;break a}case 2:{a=11;e=12;break a}case 3:{a=11;e=10;break a}case 4:{a=11;e=16;break a}case 5:{a=33;e=40;break a}case 6:{a=11;e=24;break a}case 7:{a=11;e=20;break a}case 8:{a=11;e=32;break a}case 9:{a=33;e=80;break a}case 10:{a=11;e=18;break a}case 11:{a=11;e=15;break a}case 12:{a=33;e=64;break a}case 13:{a=99;e=160;break a}default:{a=0;e=0;break a}}while(0);else{a=1;e=1}while(0);c[b>>2]=e;c[d>>2]=a;return}function ng(a){a=a|0;a=c[a+16>>2]|0;if(!a){a=0;return a|0}a=c[a>>2]|0;return a|0}function og(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){e=-1;return e|0}d=Jh(3396)|0;if(!d){e=-4;return e|0}e=d+8|0;if(!(bg(e,b)|0)){c[d>>2]=1;c[d+4>>2]=0;c[a>>2]=d;e=0;return e|0}else{dg(e);Kh(d);e=-4;return e|0}return 0}function pg(a){a=a|0;if(!a)return;dg(a+8|0);Kh(a);return}function qg(a,b){a=a|0;b=b|0;var d=0;if((a|0)==0|(b|0)==0){d=-1;return d|0}d=a+8|0;if(!(c[a+24>>2]|0)){d=-6;return d|0}if(!(c[a+20>>2]|0)){d=-6;return d|0}c[b+4>>2]=(fg(d)|0)<<4;c[b+8>>2]=(gg(d)|0)<<4;c[b+12>>2]=jg(d)|0;c[b+16>>2]=kg(d)|0;lg(d,b+28|0,b+32|0,b+36|0,b+40|0,b+44|0);mg(d,b+20|0,b+24|0);c[b>>2]=ng(d)|0;d=0;return d|0}function rg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);j=l;a:do if((!((b|0)==0|(d|0)==0)?(e=c[b>>2]|0,(e|0)!=0):0)?(g=c[b+4>>2]|0,(g|0)!=0):0)if((a|0)!=0?(f=c[a>>2]|0,(f|0)!=0):0){c[d>>2]=0;c[j>>2]=0;i=a+8|0;c[a+3392>>2]=c[b+12>>2];h=b+8|0;b:do if((f|0)==2){b=e;k=8}else{b=1;c:while(1){m=cg(i,e,g,c[h>>2]|0,j)|0;f=c[j>>2]|0;e=e+f|0;f=g-f|0;g=(f|0)>0?f:0;c[d>>2]=e;switch(m|0){case 5:{b=-4;break a}case 2:break b;case 1:break c;case 4:{m=(ig(i)|0|g|0)==0;b=m?-2:b;break}default:{}}if((f|0)<1)break a;if((c[a>>2]|0)==2){b=e;k=8;break b}}b=a+4|0;c[b>>2]=(c[b>>2]|0)+1;b=(f|0)<1?2:3;break a}while(0);if((k|0)==8){c[a>>2]=1;c[d>>2]=b+(c[j>>2]|0)}b=a+1288|0;if((c[b>>2]|0)!=0?(c[a+1244>>2]|0)!=(c[a+1248>>2]|0):0){c[b>>2]=0;c[a>>2]=2;b=3}else b=4}else b=-3;else b=-1;while(0);cc=l;return b|0}function sg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);f=h+8|0;e=h+4|0;g=h;if((a|0)==0|(b|0)==0){g=-1;cc=h;return g|0}a=a+8|0;if(d|0)hg(a);a=eg(a,g,e,f)|0;if(!a){g=0;cc=h;return g|0}c[b>>2]=a;c[b+4>>2]=c[g>>2];c[b+8>>2]=c[e>>2];c[b+12>>2]=c[f>>2];g=2;cc=h;return g|0}function tg(a,d){a=a|0;d=d|0;c[a>>2]=d;b[a+4>>1]=0;b[a+6>>1]=8;return}function ug(a,b){a=a|0;b=b|0;return (e[a+6>>1]|0)+8-(e[b+6>>1]|0)+((c[b>>2]|0)-((c[a>>2]|0)+1)<<3)|0}function vg(a){a=a|0;var d=0;d=c[a>>2]|0;return ((b[a+6>>1]|0)==8?d:d+1|0)|0}function wg(a,f){a=a|0;f=f|0;var g=0,h=0,i=0;g=(c[a>>2]|0)+(f>>>3)|0;c[a>>2]=g;i=a+6|0;h=(e[i>>1]|0)-(f&7)|0;f=h&65535;b[i>>1]=f;if((h&65535)>>>0>8){g=g+1|0;c[a>>2]=g;f=h+8&65535;b[i>>1]=f}if((f&65535)>=8)return;b[a+4>>1]=d[g>>0]|0;return}function xg(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;l=e+6|0;g=b[l>>1]|0;if(g<<16>>16==8){h=d[c[e>>2]>>0]|0;k=e+4|0;b[k>>1]=h}else{k=e+4|0;h=b[k>>1]|0}j=g&65535;g=(1<>>0<=f>>>0){h=f-j|0;i=(c[e>>2]|0)+1|0;c[e>>2]=i;b[l>>1]=8;if(h>>>0>7){j=f-j|0;do{f=i;i=i+1|0;c[e>>2]=i;g=g<<8|(d[f>>0]|0);h=h+-8|0}while(h>>>0>7);h=j&7}if(!h){l=g;return l|0}else{e=a[i>>0]|0;b[k>>1]=e&255;k=8-h|0;g=(e&255)>>>k|g<>>h}while(0);b[l>>1]=h;l=g;return l|0}function yg(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;h=h&65535;if(g>>>0>31){q=f+6|0;p=f+4|0;n=b[q>>1]|0;o=g;while(1){if(n<<16>>16!=8){j=n&65535;i=(1<>1]|0);if((n&65535)>32){r=j+-32|0;j=r&65535;i=i>>>r;r=13}else r=7}else{i=a[c[f>>2]>>0]|0;b[p>>1]=i&255;i=(1<<(n&65535))+255&(i&255);j=8;r=7}if((r|0)==7){r=0;k=32-j|0;m=c[f>>2]|0;l=m+1|0;c[f>>2]=l;b[q>>1]=8;if(k>>>0>7){j=(24-j|0)>>>3;do{s=l;l=l+1|0;c[f>>2]=l;i=i<<8|(d[s>>0]|0);k=k+-8|0}while(k>>>0>7);j=m+2+j|0;k=0-n&7}else j=l;if(!k)j=8;else{s=a[j>>0]|0;b[p>>1]=s&255;r=8-k|0;j=r&65535;i=(s&255)>>>r|i<>1]=j}s=h<<8^(e[47102+((i>>>24^h>>>8&255)<<1)>>1]|0);s=s<<8^(e[47102+(((s>>>8^i>>>16)&255)<<1)>>1]|0);s=s<<8^(e[47102+(((s^i)>>>8&255)<<1)>>1]|0);h=s<<8^(e[47102+(((s>>>8^i)&255)<<1)>>1]|0);o=o+-32|0;if(o>>>0<=31)break;else n=j}g=g&31}switch(g>>>3&536870911|0){case 3:{q=h<<8;p=h>>>8;o=f+6|0;n=b[o>>1]|0;if(n<<16>>16!=8){i=f+4|0;j=n&65535;h=(1<>1]|0);if((n&65535)>8){r=j+-8|0;i=r&65535;h=h>>>r;r=29}else r=23}else{h=a[c[f>>2]>>0]|0;i=f+4|0;b[i>>1]=h&255;h=(1<<(n&65535))+255&(h&255);j=8;r=23}if((r|0)==23){k=8-j|0;l=c[f>>2]|0;j=l+1|0;c[f>>2]=j;b[o>>1]=8;if(k>>>0>7){m=((k+-8|0)>>>3)+2|0;do{s=j;j=j+1|0;c[f>>2]=j;h=h<<8|(d[s>>0]|0);k=k+-8|0}while(k>>>0>7);j=l+m|0;k=0-n&7}if(!k)i=8;else{s=a[j>>0]|0;b[i>>1]=s&255;r=8-k|0;i=r&65535;h=(s&255)>>>r|h<>1]=i;h=q^(e[47102+(((h^p)&255)<<1)>>1]|0);r=31;break}case 2:{o=f+6|0;i=b[o>>1]|0;r=31;break}case 1:{o=f+6|0;i=b[o>>1]|0;r=43;break}default:{}}if((r|0)==31){q=h<<8;p=h>>>8;if(i<<16>>16!=8){j=f+4|0;k=i&65535;h=(1<>1]|0);if((i&65535)>8){r=k+-8|0;i=r&65535;h=h>>>r;r=41}else r=35}else{h=a[c[f>>2]>>0]|0;j=f+4|0;b[j>>1]=h&255;h=(1<<(i&65535))+255&(h&255);k=8;r=35}if((r|0)==35){l=8-k|0;m=c[f>>2]|0;k=m+1|0;c[f>>2]=k;b[o>>1]=8;if(l>>>0>7){n=((l+-8|0)>>>3)+2|0;do{s=k;k=k+1|0;c[f>>2]=k;h=h<<8|(d[s>>0]|0);l=l+-8|0}while(l>>>0>7);k=m+n|0;l=0-i&7}if(!l)i=8;else{s=a[k>>0]|0;b[j>>1]=s&255;r=8-l|0;i=r&65535;h=(s&255)>>>r|h<>1]=i;h=q^(e[47102+(((h^p)&255)<<1)>>1]|0);r=43}if((r|0)==43){q=h<<8;p=h>>>8;if(i<<16>>16!=8){j=f+4|0;k=i&65535;h=(1<>1]|0);if((i&65535)>8){i=k+-8|0;h=h>>>i;r=53}else r=47}else{h=a[c[f>>2]>>0]|0;j=f+4|0;b[j>>1]=h&255;h=(1<<(i&65535))+255&(h&255);k=8;r=47}if((r|0)==47){l=8-k|0;m=c[f>>2]|0;k=m+1|0;c[f>>2]=k;b[o>>1]=8;if(l>>>0>7){n=((l+-8|0)>>>3)+2|0;do{s=k;k=k+1|0;c[f>>2]=k;h=h<<8|(d[s>>0]|0);l=l+-8|0}while(l>>>0>7);k=m+n|0;i=0-i&7}else i=l;if(i){s=a[k>>0]|0;b[j>>1]=s&255;r=8-i|0;h=(s&255)>>>r|h<>1]=i;h=q^(e[47102+(((h^p)&255)<<1)>>1]|0);g=g&7}if(!g){s=h;s=s&65535;return s|0}q=f+6|0;p=f+4|0;n=b[q>>1]|0;o=g;while(1){o=o+-1|0;if(n<<16>>16!=8){g=n&65535;i=(1<>1]|0);if((n&65535)<=1){k=1-g|0;m=c[f>>2]|0;j=m+1|0;c[f>>2]=j;b[q>>1]=8;if(k>>>0>7){l=(-7-g|0)>>>3;g=i;do{s=j;j=j+1|0;c[f>>2]=j;g=g<<8|(d[s>>0]|0);k=k+-8|0}while(k>>>0>7);j=m+2+l|0;k=1-n&7}else g=i;if(!k)i=8;else{s=a[j>>0]|0;b[p>>1]=s&255;r=8-k|0;j=r&65535;g=(s&255)>>>r|g<>2]>>0]|0;b[p>>1]=i&255;i=(1<<(n&65535))+255&(i&255);g=8;r=60}if((r|0)==60){g=g+-1|0;j=g&65535;g=i>>>g;r=67}if((r|0)==67){r=0;b[q>>1]=j;i=j}s=h<<1;h=((g^h>>>15)&1|0)==0?s:s^32773;if(!o)break;else n=i}s=h&65535;return s|0}function zg(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;tg(a+28|0,0);tg(a+36|0,0);a=a+44|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;return}function Ag(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+36|0;d=a;e=d+36|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));f=55204;d=c[f+4>>2]|0;e=b;c[e>>2]=c[f>>2];c[e+4>>2]=d;c[a+44>>2]=0;c[a+9264>>2]=0;Sg(a);return}function Bg(a){a=a|0;Rg(a);a=a+4096|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Cg(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=(c[d+4>>2]|0)==0?1:2;switch(c[d>>2]|0){case 1:{e=12;break}case 3:{e=(c[d+28>>2]&4096|0)==0?36:18;f=3;break}default:{e=36;f=3}}f=c[d+20>>2]|0;h=a+4100|0;c[h>>2]=f;b[a+4104>>1]=i;g=a+4106|0;b[g>>1]=e<<5;if(!(c[d+44>>2]&2))f=4;else{c[h>>2]=f>>>1;b[g>>1]=e<<4&32752;f=5}oc[f&7](a,d,i,e);a=a+4096|0;c[a>>2]=(c[a>>2]|0)+e&15;return}function Dg(a){a=a|0;var b=0;b=a+9264|0;a=c[b>>2]|0;if(!a)return;Kh(a);c[b>>2]=0;return}function Eg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=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,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;if(!d)return;x=a+4096|0;n=(e|0)==0;m=0;t=a+1504|0;u=a+1472|0;while(1){if(!n){f=a+4108+(m*4608|0)|0;w=c[x>>2]|0;y=0;while(1){A=w&1;o=a+(m<<11)+(A<<9)|0;Gg(b+48+(m*4608|0)+(y<<7)|0,w>>>1,o,a+(m<<11)+1024+(A<<9)|0);k=w&-2;v=w+15&14|1;l=A^1;q=5336+(v<<2)|0;B=5336+(k<<2)|0;H=r(c[B>>2]|0,c[o>>2]|0)|0;g=r(c[q>>2]|0,c[a+(m<<11)+(l<<9)>>2]|0)|0;i=r(c[q+56>>2]|0,c[a+(m<<11)+(l<<9)+4>>2]|0)|0;h=r(c[q+48>>2]|0,c[a+(m<<11)+(l<<9)+8>>2]|0)|0;p=r(c[q+40>>2]|0,c[a+(m<<11)+(l<<9)+12>>2]|0)|0;j=r(c[q+32>>2]|0,c[a+(m<<11)+(l<<9)+16>>2]|0)|0;z=r(c[q+24>>2]|0,c[a+(m<<11)+(l<<9)+20>>2]|0)|0;s=r(c[q+16>>2]|0,c[a+(m<<11)+(l<<9)+24>>2]|0)|0;q=r(c[q+8>>2]|0,c[a+(m<<11)+(l<<9)+28>>2]|0)|0;I=r(c[B+56>>2]|0,c[a+(m<<11)+(A<<9)+4>>2]|0)|0;G=r(c[B+48>>2]|0,c[a+(m<<11)+(A<<9)+8>>2]|0)|0;F=r(c[B+40>>2]|0,c[a+(m<<11)+(A<<9)+12>>2]|0)|0;E=r(c[B+32>>2]|0,c[a+(m<<11)+(A<<9)+16>>2]|0)|0;D=r(c[B+24>>2]|0,c[a+(m<<11)+(A<<9)+20>>2]|0)|0;C=r(c[B+16>>2]|0,c[a+(m<<11)+(A<<9)+24>>2]|0)|0;c[f>>2]=I+H+G+F+E+D+C+(r(c[B+8>>2]|0,c[a+(m<<11)+(A<<9)+28>>2]|0)|0)-(i+g+h+p+j+z+s+q)>>2;q=0-v|0;s=0-k|0;z=t+(l<<9)|0;j=5336;p=a+(m<<11)+1024+(l<<9)|0;h=f+4|0;g=f+60|0;i=1;while(1){f=o;o=o+32|0;if(!(i&1)){B=j+128+(v<<2)|0;A=p+4|0;J=p+8|0;K=p+12|0;L=p+16|0;M=p+20|0;N=p+24|0;O=p+28|0;W=j+128+(k<<2)|0;I=f+60|0;$=r(c[W+8>>2]|0,c[I>>2]|0)|0;U=r(c[B>>2]|0,c[p>>2]|0)|0;V=r(c[B+56>>2]|0,c[A>>2]|0)|0;T=r(c[B+48>>2]|0,c[J>>2]|0)|0;S=r(c[B+40>>2]|0,c[K>>2]|0)|0;R=r(c[B+32>>2]|0,c[L>>2]|0)|0;Q=r(c[B+24>>2]|0,c[M>>2]|0)|0;P=r(c[B+16>>2]|0,c[N>>2]|0)|0;B=r(c[B+8>>2]|0,c[O>>2]|0)|0;H=f+56|0;aa=r(c[W+16>>2]|0,c[H>>2]|0)|0;G=f+52|0;_=r(c[W+24>>2]|0,c[G>>2]|0)|0;F=f+48|0;Z=r(c[W+32>>2]|0,c[F>>2]|0)|0;E=f+44|0;Y=r(c[W+40>>2]|0,c[E>>2]|0)|0;D=f+40|0;X=r(c[W+48>>2]|0,c[D>>2]|0)|0;C=f+36|0;f=r(c[W+56>>2]|0,c[C>>2]|0)|0;c[h>>2]=aa+$+_+Z+Y+X+f+(r(c[W>>2]|0,c[o>>2]|0)|0)-(V+U+T+S+R+Q+P+B)>>2;B=j+128+(q<<2)|0;f=r(c[B+116>>2]|0,c[O>>2]|0)|0;f=(r(c[B+108>>2]|0,c[N>>2]|0)|0)+f|0;f=f+(r(c[B+100>>2]|0,c[M>>2]|0)|0)|0;f=f+(r(c[B+92>>2]|0,c[L>>2]|0)|0)|0;f=f+(r(c[B+84>>2]|0,c[K>>2]|0)|0)|0;f=f+(r(c[B+76>>2]|0,c[J>>2]|0)|0)|0;f=f+(r(c[B+68>>2]|0,c[A>>2]|0)|0)|0;B=f+(r(c[B+60>>2]|0,c[p>>2]|0)|0)|0;f=j+128+(s<<2)|0;B=B+(r(c[f+60>>2]|0,c[o>>2]|0)|0)|0;C=B+(r(c[f+68>>2]|0,c[C>>2]|0)|0)|0;D=C+(r(c[f+76>>2]|0,c[D>>2]|0)|0)|0;E=D+(r(c[f+84>>2]|0,c[E>>2]|0)|0)|0;F=E+(r(c[f+92>>2]|0,c[F>>2]|0)|0)|0;G=F+(r(c[f+100>>2]|0,c[G>>2]|0)|0)|0;H=G+(r(c[f+108>>2]|0,c[H>>2]|0)|0)|0;c[g>>2]=H+(r(c[f+116>>2]|0,c[I>>2]|0)|0)>>2;f=h+4|0;g=g+-4|0}else f=h;i=i+1|0;if((i|0)==16)break;else{j=j+128|0;p=p+32|0;h=f}}aa=7384+(v<<2)|0;$=r(c[aa>>2]|0,c[z>>2]|0)|0;$=$+(r(c[aa+56>>2]|0,c[u+(l<<9)+36>>2]|0)|0)|0;$=$+(r(c[aa+48>>2]|0,c[u+(l<<9)+40>>2]|0)|0)|0;$=$+(r(c[aa+40>>2]|0,c[u+(l<<9)+44>>2]|0)|0)|0;$=$+(r(c[aa+32>>2]|0,c[u+(l<<9)+48>>2]|0)|0)|0;$=$+(r(c[aa+24>>2]|0,c[u+(l<<9)+52>>2]|0)|0)|0;$=$+(r(c[aa+16>>2]|0,c[u+(l<<9)+56>>2]|0)|0)|0;c[f>>2]=0-($+(r(c[aa+8>>2]|0,c[u+(l<<9)+60>>2]|0)|0))>>2;y=y+1|0;if((y|0)==(e|0))break;else{f=f+32|0;w=w+1&15}}}m=m+1|0;if((m|0)==(d|0))break;else{t=t+2048|0;u=u+2048|0}}return} -function Ge(a,f,g,h,i,j){a=a|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;T=cc;cc=cc+32|0;if((cc|0)>=(dc|0))w(32);S=T;m=c[i+4>>2]|0;R=(h>>>0)/(m>>>0)|0;Q=R<<4;R=h-(r(R,m)|0)<<4;c[S+4>>2]=m;c[S+8>>2]=c[i+8>>2];m=c[a>>2]|0;a:do switch(m|0){case 1:case 0:{z=c[f+144>>2]|0;o=c[a+4>>2]|0;l=c[a+200>>2]|0;if((l|0)!=0?(c[l+4>>2]|0)==(o|0):0)if((c[l>>2]|0)>>>0<6){k=l+152|0;k=e[k>>1]|e[k+2>>1]<<16;p=1;x=k&65535;k=k>>>16&65535;s=c[l+104>>2]|0}else{p=1;x=0;k=0;s=-1}else{p=0;x=0;k=0;s=-1}l=c[a+204>>2]|0;if((l|0)!=0?(c[l+4>>2]|0)==(o|0):0)if((c[l>>2]|0)>>>0<6){u=l+172|0;u=e[u>>1]|e[u+2>>1]<<16;n=1;q=c[l+108>>2]|0;t=u&65535;u=u>>>16&65535}else{n=1;q=-1;t=0;u=0}else{n=0;q=-1;t=0;u=0}if(!m)if((!((p|0)==0|(n|0)==0)?((k&65535)<<16|x&65535|s|0)!=0:0)?((u&65535)<<16|t&65535|q|0)!=0:0)P=14;else{m=0;l=0}else P=14;if((P|0)==14){v=b[f+160>>1]|0;y=b[f+162>>1]|0;l=c[a+208>>2]|0;if((l|0)!=0?(c[l+4>>2]|0)==(o|0):0)if((c[l>>2]|0)>>>0<6){o=l+172|0;n=c[l+108>>2]|0;o=e[o>>1]|e[o+2>>1]<<16;P=23}else{n=-1;o=0;P=23}else P=18;do if((P|0)==18){l=c[a+212>>2]|0;if(l|0?(c[l+4>>2]|0)==(o|0):0){if((c[l>>2]|0)>>>0>=6){n=-1;o=0;P=23;break}o=l+192|0;n=c[l+112>>2]|0;o=e[o>>1]|e[o+2>>1]<<16;P=23;break}if((p|0)==0|(n|0)!=0){n=-1;o=0;P=23}else l=x}while(0);do if((P|0)==23){m=(s|0)==(z|0);l=(q|0)==(z|0);if(((l&1)+(m&1)+((n|0)==(z|0)&1)|0)!=1){N=x<<16>>16;L=t<<16>>16;l=o<<16>>16;K=t<<16>>16>x<<16>>16;M=K?t:x;N=K?N:(L|0)<(N|0)?L:N;L=k<<16>>16;K=u<<16>>16;P=o>>16;J=u<<16>>16>k<<16>>16;O=J?u:k;k=J?L:(K|0)<(L|0)?K:L;l=(M<<16>>16<(o&65535)<<16>>16?M&65535:(N|0)>(l|0)?N:l)&65535;k=(O<<16>>16<(o>>>16&65535)<<16>>16?O&65535:(k|0)>(P|0)?k:P)&65535;break}if(m|l){l=m?x:t;k=m?k:u}else{l=o&65535;k=o>>>16&65535}}while(0);l=(l&65535)+(v&65535)|0;k=(k&65535)+(y&65535)|0;if(((l<<16>>16)+8192|0)>>>0>16383){S=1;cc=T;return S|0}if(((k<<16>>16)+2048|0)>>>0>4095){S=1;cc=T;return S|0}else{m=l&65535;l=k&65535}}k=He(g,z)|0;if(!k){S=1;cc=T;return S|0}else{b[a+192>>1]=m;b[a+194>>1]=l;g=c[a+192>>2]|0;c[a+188>>2]=g;c[a+184>>2]=g;c[a+180>>2]=g;c[a+176>>2]=g;c[a+172>>2]=g;c[a+168>>2]=g;c[a+164>>2]=g;c[a+160>>2]=g;c[a+156>>2]=g;c[a+152>>2]=g;c[a+148>>2]=g;c[a+144>>2]=g;c[a+140>>2]=g;c[a+136>>2]=g;c[a+132>>2]=g;c[a+100>>2]=z;c[a+104>>2]=z;c[a+108>>2]=z;c[a+112>>2]=z;c[a+116>>2]=k;c[a+120>>2]=k;c[a+124>>2]=k;c[a+128>>2]=k;c[S>>2]=k;Ie(j,a+132|0,S,R,Q,0,0,16,16);break a}}case 2:{u=b[f+160>>1]|0;v=b[f+162>>1]|0;A=c[f+144>>2]|0;z=a+4|0;o=c[z>>2]|0;k=c[a+204>>2]|0;if((k|0)!=0?(c[k+4>>2]|0)==(o|0):0)if((c[k>>2]|0)>>>0<6){t=k+172|0;t=e[t>>1]|e[t+2>>1]<<16;q=1;k=c[k+108>>2]|0;s=t&65535;t=t>>>16&65535}else{q=1;k=-1;s=0;t=0}else{q=0;k=-1;s=0;t=0}b:do if((k|0)!=(A|0)){m=c[a+200>>2]|0;if((m|0)!=0?(c[m+4>>2]|0)==(o|0):0)if((c[m>>2]|0)>>>0<6){k=m+152|0;k=e[k>>1]|e[k+2>>1]<<16;n=1;l=k&65535;k=k>>>16&65535;p=c[m+104>>2]|0}else{n=1;l=0;k=0;p=-1}else{n=0;l=0;k=0;p=-1}m=c[a+208>>2]|0;if((m|0)!=0?(c[m+4>>2]|0)==(o|0):0)if((c[m>>2]|0)>>>0<6){o=m+172|0;n=c[m+108>>2]|0;o=e[o>>1]|e[o+2>>1]<<16}else{n=-1;o=0}else P=44;do if((P|0)==44){m=c[a+212>>2]|0;if(m|0?(c[m+4>>2]|0)==(o|0):0){if((c[m>>2]|0)>>>0>=6){n=-1;o=0;break}o=m+192|0;n=c[m+112>>2]|0;o=e[o>>1]|e[o+2>>1]<<16;break}if((q|0)!=0|(n|0)==0){n=-1;o=0}else break b}while(0);m=(p|0)==(A|0);if((((n|0)==(A|0)&1)+(m&1)|0)!=1){L=l<<16>>16;K=s<<16>>16;N=o<<16>>16;P=s<<16>>16>l<<16>>16;M=P?s:l;l=P?L:(K|0)<(L|0)?K:L;L=k<<16>>16;K=t<<16>>16;P=o>>16;J=t<<16>>16>k<<16>>16;O=J?t:k;k=J?L:(K|0)<(L|0)?K:L;l=(M<<16>>16<(o&65535)<<16>>16?M&65535:(l|0)>(N|0)?l:N)&65535;k=(O<<16>>16<(o>>>16&65535)<<16>>16?O&65535:(k|0)>(P|0)?k:P)&65535;break}if(!m){l=o&65535;k=o>>>16&65535}}else{l=s;k=t}while(0);m=(l&65535)+(u&65535)|0;k=(k&65535)+(v&65535)|0;if(((m<<16>>16)+8192|0)>>>0>16383){S=1;cc=T;return S|0}if(((k<<16>>16)+2048|0)>>>0>4095){S=1;cc=T;return S|0}l=He(g,A)|0;if(!l){S=1;cc=T;return S|0}b[a+160>>1]=m;b[a+162>>1]=k;u=c[a+160>>2]|0;c[a+156>>2]=u;c[a+152>>2]=u;c[a+148>>2]=u;c[a+144>>2]=u;c[a+140>>2]=u;c[a+136>>2]=u;c[a+132>>2]=u;c[a+100>>2]=A;c[a+104>>2]=A;c[a+116>>2]=l;c[a+120>>2]=l;v=b[f+164>>1]|0;x=b[f+166>>1]|0;y=c[f+148>>2]|0;l=c[z>>2]|0;m=c[a+200>>2]|0;n=(m|0)==0;if((!n?(c[m+4>>2]|0)==(l|0):0)?(c[m>>2]|0)>>>0<6:0){s=m+184|0;s=e[s>>1]|e[s+2>>1]<<16;q=s&65535;s=s>>>16&65535;k=c[m+112>>2]|0}else{q=0;s=0;k=-1}do if((k|0)!=(y|0)){o=u&65535;t=u>>>16;p=t&65535;if((!n?(c[m+4>>2]|0)==(l|0):0)?(c[m>>2]|0)>>>0<6:0){n=m+160|0;k=c[m+104>>2]|0;n=e[n>>1]|e[n+2>>1]<<16}else{k=-1;n=0}m=(A|0)==(y|0);if((((k|0)==(y|0)&1)+(m&1)|0)==1){l=m?u:n;k=m?t:n>>>16;break}else{N=q<<16>>16;P=u<<16>>16;l=n<<16>>16;L=q<<16>>16>16;M=L?o:q;N=L?N:(P|0)<(N|0)?P:N;P=s<<16>>16;L=u>>16;k=n>>16;K=s<<16>>16>16;O=K?p:s;P=K?P:(L|0)<(P|0)?L:P;l=M<<16>>16<(n&65535)<<16>>16?M&65535:(N|0)>(l|0)?N:l;k=O<<16>>16<(n>>>16&65535)<<16>>16?O&65535:(P|0)>(k|0)?P:k;break}}else{k=s&65535;l=k<<16|q&65535}while(0);m=(l&65535)+(v&65535)|0;l=(k&65535)+(x&65535)|0;if(((m<<16>>16)+8192|0)>>>0>16383){S=1;cc=T;return S|0}if(((l<<16>>16)+2048|0)>>>0>4095){S=1;cc=T;return S|0}k=He(g,y)|0;if(!k){S=1;cc=T;return S|0}else{g=a+164|0;b[a+192>>1]=m;b[a+194>>1]=l;P=c[a+192>>2]|0;c[a+188>>2]=P;c[a+184>>2]=P;c[a+180>>2]=P;c[a+176>>2]=P;c[a+172>>2]=P;c[a+168>>2]=P;c[g>>2]=P;c[a+108>>2]=y;c[a+112>>2]=y;P=a+124|0;c[P>>2]=k;c[a+128>>2]=k;c[S>>2]=c[a+116>>2];Ie(j,a+132|0,S,R,Q,0,0,16,8);c[S>>2]=c[P>>2];Ie(j,g,S,R,Q,0,8,16,8);break a}}case 3:{t=b[f+160>>1]|0;u=b[f+162>>1]|0;z=c[f+144>>2]|0;y=a+4|0;n=c[y>>2]|0;m=c[a+200>>2]|0;if((m|0)!=0?(c[m+4>>2]|0)==(n|0):0)if((c[m>>2]|0)>>>0<6){k=m+152|0;k=e[k>>1]|e[k+2>>1]<<16;o=1;l=k&65535;k=k>>>16&65535;m=c[m+104>>2]|0}else{o=1;l=0;k=0;m=-1}else{o=0;l=0;k=0;m=-1}c:do if((m|0)!=(z|0)){m=c[a+204>>2]|0;if((m|0)!=0?(c[m+4>>2]|0)==(n|0):0)if((c[m>>2]|0)>>>0<6){s=m+172|0;s=e[s>>1]|e[s+2>>1]<<16;p=m+188|0;o=c[m+108>>2]|0;q=s&65535;s=s>>>16&65535;n=c[m+112>>2]|0;p=e[p>>1]|e[p+2>>1]<<16}else{o=-1;q=0;s=0;n=-1;p=0}else P=82;do if((P|0)==82){m=c[a+212>>2]|0;if(m|0?(c[m+4>>2]|0)==(n|0):0){if((c[m>>2]|0)>>>0>=6){o=-1;q=0;s=0;n=-1;p=0;break}p=m+192|0;o=-1;q=0;s=0;n=c[m+112>>2]|0;p=e[p>>1]|e[p+2>>1]<<16;break}if(!o){o=-1;q=0;s=0;n=-1;p=0}else break c}while(0);m=(o|0)==(z|0);if(((m&1)+((n|0)==(z|0)&1)|0)!=1){L=l<<16>>16;K=q<<16>>16;N=p<<16>>16;P=q<<16>>16>l<<16>>16;M=P?q:l;l=P?L:(K|0)<(L|0)?K:L;L=k<<16>>16;K=s<<16>>16;P=p>>16;J=s<<16>>16>k<<16>>16;O=J?s:k;k=J?L:(K|0)<(L|0)?K:L;l=(M<<16>>16<(p&65535)<<16>>16?M&65535:(l|0)>(N|0)?l:N)&65535;k=(O<<16>>16<(p>>>16&65535)<<16>>16?O&65535:(k|0)>(P|0)?k:P)&65535;break}if(m){l=q;k=s}else{l=p&65535;k=p>>>16&65535}}while(0);m=(l&65535)+(t&65535)|0;k=(k&65535)+(u&65535)|0;if(((m<<16>>16)+8192|0)>>>0>16383){S=1;cc=T;return S|0}if(((k<<16>>16)+2048|0)>>>0>4095){S=1;cc=T;return S|0}l=He(g,z)|0;if(!l){S=1;cc=T;return S|0}b[a+176>>1]=m;b[a+178>>1]=k;t=c[a+176>>2]|0;c[a+172>>2]=t;c[a+168>>2]=t;c[a+164>>2]=t;c[a+144>>2]=t;c[a+140>>2]=t;c[a+136>>2]=t;c[a+132>>2]=t;c[a+100>>2]=z;c[a+108>>2]=z;c[a+116>>2]=l;c[a+124>>2]=l;u=b[f+164>>1]|0;v=b[f+166>>1]|0;x=c[f+148>>2]|0;m=c[y>>2]|0;k=c[a+208>>2]|0;if((k|0)!=0?(c[k+4>>2]|0)==(m|0):0)if((c[k>>2]|0)>>>0<6){s=k+172|0;n=1;k=c[k+108>>2]|0;s=e[s>>1]|e[s+2>>1]<<16}else{n=1;k=-1;s=0}else{k=c[a+204>>2]|0;if((k|0)!=0?(c[k+4>>2]|0)==(m|0):0)if((c[k>>2]|0)>>>0<6){s=k+176|0;n=1;k=c[k+108>>2]|0;s=e[s>>1]|e[s+2>>1]<<16}else{n=1;k=-1;s=0}else{n=0;k=-1;s=0}}do if((k|0)!=(x|0)){p=t&65535;k=t>>>16;q=k&65535;l=c[a+204>>2]|0;if((l|0)!=0?(c[l+4>>2]|0)==(m|0):0)if((c[l>>2]|0)>>>0<6){o=l+188|0;o=e[o>>1]|e[o+2>>1]<<16;l=c[l+112>>2]|0;n=o&65535;o=o>>>16&65535}else{l=-1;n=0;o=0}else if(!n){l=t;break}else{l=-1;n=0;o=0}m=(z|0)==(x|0);l=(l|0)==(x|0);if(((l&1)+(m&1)|0)!=1){N=t<<16>>16;P=n<<16>>16;l=s<<16>>16;L=n<<16>>16>p<<16>>16;M=L?n:p;N=L?N:(N|0)>(P|0)?P:N;P=t>>16;L=o<<16>>16;k=s>>16;K=o<<16>>16>q<<16>>16;O=K?o:q;P=K?P:(P|0)>(L|0)?L:P;l=M<<16>>16<(s&65535)<<16>>16?M&65535:(N|0)>(l|0)?N:l;k=O<<16>>16<(s>>>16&65535)<<16>>16?O&65535:(P|0)>(k|0)?P:k;break}if(!m)if(l){k=o&65535;l=k<<16|n&65535;break}else{l=s;k=s>>>16;break}else l=t}else{l=s;k=s>>>16}while(0);m=(l&65535)+(u&65535)|0;l=(k&65535)+(v&65535)|0;if(((m<<16>>16)+8192|0)>>>0>16383){S=1;cc=T;return S|0}if(((l<<16>>16)+2048|0)>>>0>4095){S=1;cc=T;return S|0}k=He(g,x)|0;if(!k){S=1;cc=T;return S|0}else{g=a+148|0;b[a+192>>1]=m;b[a+194>>1]=l;P=c[a+192>>2]|0;c[a+188>>2]=P;c[a+184>>2]=P;c[a+180>>2]=P;c[a+160>>2]=P;c[a+156>>2]=P;c[a+152>>2]=P;c[g>>2]=P;c[a+104>>2]=x;c[a+112>>2]=x;P=a+120|0;c[P>>2]=k;c[a+128>>2]=k;c[S>>2]=c[a+116>>2];Ie(j,a+132|0,S,R,Q,0,0,8,16);c[S>>2]=c[P>>2];Ie(j,g,S,R,Q,8,0,8,16);break a}}default:{O=a+4|0;D=0;d:while(1){A=f+176+(D<<2)|0;C=Je(c[A>>2]|0)|0;B=f+192+(D<<2)|0;c[a+100+(D<<2)>>2]=c[B>>2];P=He(g,c[B>>2]|0)|0;c[a+116+(D<<2)>>2]=P;if(!P){k=1;P=165;break}e:do if(C|0){F=D<<2;G=a+132+(F<<2)|0;K=a+132+(F<<2)+2|0;N=F|1;J=a+132+(N<<2)|0;N=a+132+(N<<2)+2|0;L=F|2;H=a+132+(L<<2)|0;L=a+132+(L<<2)+2|0;M=F|3;I=a+132+(M<<2)|0;M=a+132+(M<<2)+2|0;E=0;while(1){x=b[f+208+(D<<4)+(E<<2)>>1]|0;y=b[f+208+(D<<4)+(E<<2)+2>>1]|0;z=Ke(c[A>>2]|0)|0;v=c[B>>2]|0;k=Le(a,c[2192+(D<<7)+(z<<5)+(E<<3)>>2]|0)|0;l=d[2192+(D<<7)+(z<<5)+(E<<3)+4>>0]|0;if((k|0)!=0?(c[k+4>>2]|0)==(c[O>>2]|0):0)if((c[k>>2]|0)>>>0<6){P=k+132+(l<<2)|0;P=e[P>>1]|e[P+2>>1]<<16;p=1;t=c[k+100+(l>>>2<<2)>>2]|0;l=P&65535;k=P>>>16&65535}else{p=1;t=-1;l=0;k=0}else{p=0;t=-1;l=0;k=0}m=Le(a,c[2704+(D<<7)+(z<<5)+(E<<3)>>2]|0)|0;n=d[2704+(D<<7)+(z<<5)+(E<<3)+4>>0]|0;if((m|0)!=0?(c[m+4>>2]|0)==(c[O>>2]|0):0)if((c[m>>2]|0)>>>0<6){u=m+132+(n<<2)|0;u=e[u>>1]|e[u+2>>1]<<16;o=1;q=c[m+100+(n>>>2<<2)>>2]|0;s=u&65535;u=u>>>16&65535}else{o=1;q=-1;s=0;u=0}else{o=0;q=-1;s=0;u=0}m=Le(a,c[3216+(D<<7)+(z<<5)+(E<<3)>>2]|0)|0;n=d[3216+(D<<7)+(z<<5)+(E<<3)+4>>0]|0;if((m|0)!=0?(c[m+4>>2]|0)==(c[O>>2]|0):0)if((c[m>>2]|0)>>>0<6){p=m+132+(n<<2)|0;n=c[m+100+(n>>>2<<2)>>2]|0;p=e[p>>1]|e[p+2>>1]<<16;P=140}else{n=-1;p=0;P=140}else P=135;do if((P|0)==135){P=0;m=Le(a,c[3728+(D<<7)+(z<<5)+(E<<3)>>2]|0)|0;n=d[3728+(D<<7)+(z<<5)+(E<<3)+4>>0]|0;if(m|0?(c[m+4>>2]|0)==(c[O>>2]|0):0){if((c[m>>2]|0)>>>0>=6){n=-1;p=0;P=140;break}p=m+132+(n<<2)|0;n=c[m+100+(n>>>2<<2)>>2]|0;p=e[p>>1]|e[p+2>>1]<<16;P=140;break}if((p|0)==0|(o|0)!=0){n=-1;p=0;P=140}}while(0);do if((P|0)==140){P=0;o=(t|0)==(v|0);m=(q|0)==(v|0);if(((m&1)+(o&1)+((n|0)==(v|0)&1)|0)!=1){q=l<<16>>16;o=s<<16>>16;t=p<<16>>16;v=s<<16>>16>l<<16>>16;s=v?s:l;l=v?q:(o|0)<(q|0)?o:q;q=k<<16>>16;o=u<<16>>16;v=p>>16;n=u<<16>>16>k<<16>>16;u=n?u:k;k=n?q:(o|0)<(q|0)?o:q;l=(s<<16>>16<(p&65535)<<16>>16?s&65535:(l|0)>(t|0)?l:t)&65535;k=(u<<16>>16<(p>>>16&65535)<<16>>16?u&65535:(k|0)>(v|0)?k:v)&65535;break}if(o|m){l=o?l:s;k=o?k:u}else{l=p&65535;k=p>>>16&65535}}while(0);x=(l&65535)+(x&65535)|0;m=x&65535;k=(k&65535)+(y&65535)|0;l=k&65535;if(((x<<16>>16)+8192|0)>>>0>16383){k=1;P=165;break d}if(((k<<16>>16)+2048|0)>>>0>4095){k=1;P=165;break d}switch(z|0){case 0:{b[G>>1]=m;b[K>>1]=l;b[J>>1]=m;b[N>>1]=l;b[H>>1]=m;b[L>>1]=l;b[I>>1]=m;k=M;P=151;break}case 1:{k=(E<<1)+F|0;b[a+132+(k<<2)>>1]=m;b[a+132+(k<<2)+2>>1]=l;k=k|1;b[a+132+(k<<2)>>1]=m;k=a+132+(k<<2)+2|0;P=151;break}case 2:{k=E+F|0;b[a+132+(k<<2)>>1]=m;b[a+132+(k<<2)+2>>1]=l;k=k+2|0;b[a+132+(k<<2)>>1]=m;k=a+132+(k<<2)+2|0;P=151;break}case 3:{k=E+F|0;b[a+132+(k<<2)>>1]=m;k=a+132+(k<<2)+2|0;P=151;break}default:{}}if((P|0)==151)b[k>>1]=l;E=E+1|0;if(E>>>0>=C>>>0)break e}}while(0);D=D+1|0;if(D>>>0>=4){P=154;break}}if((P|0)==154){m=0;while(1){c[S>>2]=c[a+116+(m<<2)>>2];g=Ke(c[f+176+(m<<2)>>2]|0)|0;k=m<<3&8;l=m>>>0<2?0:8;switch(g|0){case 0:{Ie(j,a+132+(m<<2<<2)|0,S,R,Q,k,l,8,8);break}case 1:{g=a+132+(m<<2<<2)|0;Ie(j,g,S,R,Q,k,l,8,4);Ie(j,g+8|0,S,R,Q,k,l|4,8,4);break}case 2:{g=a+132+(m<<2<<2)|0;Ie(j,g,S,R,Q,k,l,4,8);Ie(j,g+4|0,S,R,Q,k|4,l,4,8);break}default:{O=a+132+(m<<2<<2)|0;Ie(j,O,S,R,Q,k,l,4,4);P=k|4;Ie(j,O+4|0,S,R,Q,P,l,4,4);g=l|4;Ie(j,O+8|0,S,R,Q,k,g,4,4);Ie(j,O+12|0,S,R,Q,P,g,4,4)}}m=m+1|0;if((m|0)==4)break a}}else if((P|0)==165){cc=T;return k|0}}}while(0);if((c[a+196>>2]|0)>>>0>1){S=0;cc=T;return S|0}if(!(c[a>>2]|0)){De(i,j);S=0;cc=T;return S|0}else{Me(i,h,j,f+328|0);S=0;cc=T;return S|0}return 0}function He(a,b){a=a|0;b=b|0;var d=0;if((b>>>0<=16?(d=c[(c[a+4>>2]|0)+(b<<2)>>2]|0,(d|0)!=0):0)?(c[d+20>>2]|0)>>>0>1:0)d=c[d>>2]|0;else d=0;return d|0}function Ie(a,d,e,f,g,h,i,j,k){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;m=a+(i<<4)+h|0;v=b[d>>1]|0;u=d+2|0;q=b[u>>1]|0;s=e+4|0;n=c[s>>2]<<4;p=e+8|0;o=c[p>>2]<<4;t=h+f|0;l=(v>>2)+t|0;g=i+g|0;f=(q>>2)+g|0;do switch(c[4240+((v&3)<<4)+((q&3)<<2)>>2]|0){case 0:{Ne(c[e>>2]|0,m,l,f,n,o,j,k,16);f=e;break}case 1:{Oe(c[e>>2]|0,m,l,f+-2|0,n,o,j,k,0);f=e;break}case 2:{Pe(c[e>>2]|0,m,l,f+-2|0,n,o,j,k);f=e;break}case 3:{Oe(c[e>>2]|0,m,l,f+-2|0,n,o,j,k,1);f=e;break}case 4:{Qe(c[e>>2]|0,m,l+-2|0,f,n,o,j,k,0);f=e;break}case 5:{Re(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k,0);f=e;break}case 6:{Se(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k,0);f=e;break}case 7:{Re(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k,2);f=e;break}case 8:{Te(c[e>>2]|0,m,l+-2|0,f,n,o,j,k);f=e;break}case 9:{Ue(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k,0);f=e;break}case 10:{Ve(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k);f=e;break}case 11:{Ue(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k,1);f=e;break}case 12:{Qe(c[e>>2]|0,m,l+-2|0,f,n,o,j,k,1);f=e;break}case 13:{Re(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k,1);f=e;break}case 14:{Se(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k,1);f=e;break}default:{Re(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k,3);f=e}}while(0);q=a+256+(i>>>1<<3)+(h>>>1)|0;v=c[s>>2]|0;l=c[p>>2]|0;i=v<<3;p=l<<3;e=b[d>>1]|0;h=(e>>3)+(t>>>1)|0;a=b[u>>1]|0;o=(a>>3)+(g>>>1)|0;e=e&7;a=a&7;n=j>>>1;m=k>>>1;f=(c[f>>2]|0)+(r(v<<8,l)|0)|0;g=(e|0)!=0;l=(a|0)!=0;if(g&l){We(f,q,h,o,i,p,e,a,n,m);return}if(g){Xe(f,q,h,o,i,p,e,n,m);return}if(l){Ye(f,q,h,o,i,p,a,n,m);return}else{Ne(f,q,h,o,i,p,n,m,8);Ne(f+(r(p,i)|0)|0,q+64|0,h,o,i,p,n,m,8);return}}function Je(a){a=a|0;switch(a|0){case 0:{a=1;break}case 2:case 1:{a=2;break}default:a=4}return a|0}function Ke(a){a=a|0;return a|0}function Le(a,b){a=a|0;b=b|0;switch(b|0){case 0:{a=c[a+200>>2]|0;break}case 1:{a=c[a+204>>2]|0;break}case 2:{a=c[a+208>>2]|0;break}case 3:{a=c[a+212>>2]|0;break}case 4:break;default:a=0}return a|0}function Me(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;s=c[b+4>>2]|0;q=r(c[b+8>>2]|0,s)|0;m=(e>>>0)%(s>>>0)|0;p=c[b>>2]|0;l=e-m|0;i=p+(l<<8)+(m<<4)|0;o=q<<8;l=l<<6;m=m<<3;q=q<<6;n=s<<4;k=s<<2&1073741820;j=0;do{h=c[1864+(j<<2)>>2]|0;b=c[1928+(j<<2)>>2]|0;e=f+(b<<4)+h|0;h=i+(r(b,n)|0)+h|0;b=c[g+(j<<6)>>2]|0;if((b|0)==16777215){b=e+16|0;t=c[b>>2]|0;b=b+16|0;c[h>>2]=c[e>>2];h=h+(k<<2)|0;c[h>>2]=t;h=h+(k<<2)|0;e=c[b+16>>2]|0;c[h>>2]=c[b>>2];c[h+(k<<2)>>2]=e}else{t=d[e+1>>0]|0;v=c[g+(j<<6)+4>>2]|0;a[h>>0]=a[49274+(b+(d[e>>0]|0))>>0]|0;b=d[e+2>>0]|0;u=c[g+(j<<6)+8>>2]|0;a[h+1>>0]=a[49274+(v+t)>>0]|0;t=d[e+3>>0]|0;v=c[g+(j<<6)+12>>2]|0;a[h+2>>0]=a[49274+(u+b)>>0]|0;b=e+16|0;a[h+3>>0]=a[49274+(v+t)>>0]|0;t=h+n|0;e=d[b+1>>0]|0;v=c[g+(j<<6)+20>>2]|0;a[t>>0]=a[49274+((c[g+(j<<6)+16>>2]|0)+(d[b>>0]|0))>>0]|0;h=d[b+2>>0]|0;u=c[g+(j<<6)+24>>2]|0;a[t+1>>0]=a[49274+(v+e)>>0]|0;e=d[b+3>>0]|0;v=c[g+(j<<6)+28>>2]|0;a[t+2>>0]=a[49274+(u+h)>>0]|0;h=b+16|0;a[t+3>>0]=a[49274+(v+e)>>0]|0;t=t+n|0;e=d[h+1>>0]|0;v=c[g+(j<<6)+36>>2]|0;a[t>>0]=a[49274+((c[g+(j<<6)+32>>2]|0)+(d[h>>0]|0))>>0]|0;b=d[h+2>>0]|0;u=c[g+(j<<6)+40>>2]|0;a[t+1>>0]=a[49274+(v+e)>>0]|0;e=d[h+3>>0]|0;v=c[g+(j<<6)+44>>2]|0;a[t+2>>0]=a[49274+(u+b)>>0]|0;h=h+16|0;a[t+3>>0]=a[49274+(v+e)>>0]|0;t=t+n|0;e=d[h+1>>0]|0;v=c[g+(j<<6)+52>>2]|0;a[t>>0]=a[49274+((c[g+(j<<6)+48>>2]|0)+(d[h>>0]|0))>>0]|0;b=d[h+2>>0]|0;u=c[g+(j<<6)+56>>2]|0;a[t+1>>0]=a[49274+(v+e)>>0]|0;h=d[h+3>>0]|0;e=c[g+(j<<6)+60>>2]|0;a[t+2>>0]=a[49274+(u+b)>>0]|0;a[t+3>>0]=a[49274+(e+h)>>0]|0}j=j+1|0}while((j|0)!=16);m=p+o+l+m|0;l=m+q|0;k=s<<3&2147483640;j=k>>>2;i=16;do{b=i&3;h=c[1864+(b<<2)>>2]|0;b=c[1928+(b<<2)>>2]|0;v=i>>>0>19;e=f+(v?320:256)+((b<<3)+h)|0;h=(v?l:m)+((r(b,k)|0)+h)|0;b=c[g+(i<<6)>>2]|0;if((b|0)==16777215){t=e+8|0;u=c[t>>2]|0;t=t+8|0;c[h>>2]=c[e>>2];v=h+(j<<2)|0;c[v>>2]=u;v=v+(j<<2)|0;u=c[t+8>>2]|0;c[v>>2]=c[t>>2];c[v+(j<<2)>>2]=u}else{v=d[e+1>>0]|0;t=c[g+(i<<6)+4>>2]|0;a[h>>0]=a[49274+(b+(d[e>>0]|0))>>0]|0;u=d[e+2>>0]|0;p=c[g+(i<<6)+8>>2]|0;a[h+1>>0]=a[49274+(t+v)>>0]|0;v=d[e+3>>0]|0;t=c[g+(i<<6)+12>>2]|0;a[h+2>>0]=a[49274+(p+u)>>0]|0;u=e+8|0;a[h+3>>0]=a[49274+(t+v)>>0]|0;v=h+k|0;t=d[u+1>>0]|0;p=c[g+(i<<6)+20>>2]|0;a[v>>0]=a[49274+((c[g+(i<<6)+16>>2]|0)+(d[u>>0]|0))>>0]|0;s=d[u+2>>0]|0;q=c[g+(i<<6)+24>>2]|0;a[v+1>>0]=a[49274+(p+t)>>0]|0;t=d[u+3>>0]|0;p=c[g+(i<<6)+28>>2]|0;a[v+2>>0]=a[49274+(q+s)>>0]|0;u=u+8|0;a[v+3>>0]=a[49274+(p+t)>>0]|0;v=v+k|0;t=d[u+1>>0]|0;p=c[g+(i<<6)+36>>2]|0;a[v>>0]=a[49274+((c[g+(i<<6)+32>>2]|0)+(d[u>>0]|0))>>0]|0;s=d[u+2>>0]|0;q=c[g+(i<<6)+40>>2]|0;a[v+1>>0]=a[49274+(p+t)>>0]|0;t=d[u+3>>0]|0;p=c[g+(i<<6)+44>>2]|0;a[v+2>>0]=a[49274+(q+s)>>0]|0;u=u+8|0;a[v+3>>0]=a[49274+(p+t)>>0]|0;v=v+k|0;t=d[u+1>>0]|0;p=c[g+(i<<6)+52>>2]|0;a[v>>0]=a[49274+((c[g+(i<<6)+48>>2]|0)+(d[u>>0]|0))>>0]|0;s=d[u+2>>0]|0;q=c[g+(i<<6)+56>>2]|0;a[v+1>>0]=a[49274+(p+t)>>0]|0;u=d[u+3>>0]|0;t=c[g+(i<<6)+60>>2]|0;a[v+2>>0]=a[49274+(q+s)>>0]|0;a[v+3>>0]=a[49274+(t+u)>>0]|0}i=i+1|0}while((i|0)!=24);return}function Ne(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=g+c|0;p=(c|0)<0|(n|0)>(e|0)?5:4;k=(h+d|0)<0?0-h|0:d;n=(n|0)<0?0-g|0:c;k=(k|0)>(f|0)?f:k;n=(n|0)>(e|0)?e:n;o=n+g|0;l=k+h|0;c=(n|0)>0?a+n|0:a;m=c+(r(k,e)|0)|0;c=(k|0)>0?m:c;n=(n|0)<0?0-n|0:0;o=(o|0)>(e|0)?o-e|0:0;m=g-n-o|0;d=0-k|0;g=(k|0)<0?d:0;a=l-f|0;l=(l|0)>(f|0)?a:0;k=h-g-l|0;if(g){g=r(g,i)|0;f=b;while(1){pc[p&7](c,f,n,m,o);d=d+-1|0;if(!d)break;else f=f+i|0}b=b+g|0}if(k){j=r(k,e)|0;g=r(k,i)|0;f=b;h=c;d=k;while(1){pc[p&7](h,f,n,m,o);d=d+-1|0;if(!d)break;else{f=f+i|0;h=h+e|0}}b=b+g|0;c=c+j|0}c=c+(0-e)|0;if(!l)return;while(1){pc[p&7](c,b,n,m,o);a=a+-1|0;if(!a)break;else b=b+i|0}return}function Oe(b,c,e,f,g,h,i,j,k){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0;t=cc;cc=cc+448|0;if((cc|0)>=(dc|0))w(448);l=t;if(((e|0)>=0?!((f|0)<0|(i+e|0)>>>0>g>>>0):0)?(j+5+f|0)>>>0<=h>>>0:0)l=b;else{Ne(b,l,e,f,g,h,i,j+5|0,i);g=i;e=0;f=0}e=l+((r(f,g)|0)+e)+g|0;f=j>>>2;if(!f){cc=t;return}o=g<<2;s=0-g|0;p=s<<1;q=g<<1;if(!i){cc=t;return}n=e;m=e+(r(g,k+2|0)|0)|0;j=e+(g*5|0)|0;while(1){e=i;h=c;l=n;b=m;k=j;while(1){u=d[k+p>>0]|0;y=d[k+s>>0]|0;z=d[k+g>>0]|0;B=d[k>>0]|0;A=z+u|0;v=d[l+q>>0]|0;a[h+48>>0]=((d[49274+((d[k+q>>0]|0)+16-A-(A<<2)+v+((B+y|0)*20|0)>>5)>>0]|0)+1+(d[b+q>>0]|0)|0)>>>1;A=v+B|0;x=d[l+g>>0]|0;a[h+32>>0]=((d[49274+(z+16+((y+u|0)*20|0)-A-(A<<2)+x>>5)>>0]|0)+1+(d[b+g>>0]|0)|0)>>>1;A=x+y|0;z=d[l>>0]|0;a[h+16>>0]=((d[49274+(B+16+((v+u|0)*20|0)-A-(A<<2)+z>>5)>>0]|0)+1+(d[b>>0]|0)|0)>>>1;u=z+u|0;a[h>>0]=((d[49274+(y+16+((x+v|0)*20|0)-u-(u<<2)+(d[l+s>>0]|0)>>5)>>0]|0)+1+(d[b+s>>0]|0)|0)>>>1;e=e+-1|0;if(!e)break;else{h=h+1|0;l=l+1|0;b=b+1|0;k=k+1|0}}f=f+-1|0;if(!f)break;else{c=c+64|0;n=n+o|0;m=m+o|0;j=j+o|0}}cc=t;return}function Pe(b,c,e,f,g,h,i,j){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0;q=cc;cc=cc+448|0;if((cc|0)>=(dc|0))w(448);k=q;if(((e|0)>=0?!((f|0)<0|(i+e|0)>>>0>g>>>0):0)?(j+5+f|0)>>>0<=h>>>0:0)k=b;else{Ne(b,k,e,f,g,h,i,j+5|0,i);g=i;e=0;f=0}e=k+((r(f,g)|0)+e)+g|0;f=j>>>2;if(!f){cc=q;return}m=g<<2;p=0-g|0;n=p<<1;o=g<<1;if(!i){cc=q;return}l=e;b=e+(g*5|0)|0;while(1){e=i;h=c;k=l;j=b;while(1){s=d[j+n>>0]|0;v=d[j+p>>0]|0;x=d[j+g>>0]|0;z=d[j>>0]|0;y=x+s|0;t=d[k+o>>0]|0;a[h+48>>0]=a[49274+((d[j+o>>0]|0)+16-y-(y<<2)+t+((z+v|0)*20|0)>>5)>>0]|0;y=t+z|0;u=d[k+g>>0]|0;a[h+32>>0]=a[49274+(x+16+((v+s|0)*20|0)-y-(y<<2)+u>>5)>>0]|0;y=u+v|0;x=d[k>>0]|0;a[h+16>>0]=a[49274+(z+16+((t+s|0)*20|0)-y-(y<<2)+x>>5)>>0]|0;s=x+s|0;a[h>>0]=a[49274+(v+16+((u+t|0)*20|0)-s-(s<<2)+(d[k+p>>0]|0)>>5)>>0]|0;e=e+-1|0;if(!e)break;else{h=h+1|0;k=k+1|0;j=j+1|0}}f=f+-1|0;if(!f)break;else{c=c+64|0;l=l+m|0;b=b+m|0}}cc=q;return}function Qe(b,c,e,f,g,h,i,j,k){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,x=0;u=cc;cc=cc+448|0;if((cc|0)>=(dc|0))w(448);l=u;m=i+5|0;if((e|0)>=0?!((j+f|0)>>>0>h>>>0|((f|0)<0|(m+e|0)>>>0>g>>>0)):0){l=b;m=g}else{Ne(b,l,e,f,g,h,m,j,m);e=0;f=0}if(!j){cc=u;return}p=i>>>2;t=(p|0)==0;q=m-i|0;s=16-i|0;o=(k|0)==0;n=i&-4;h=l+((r(f,m)|0)+e)+5|0;while(1){l=d[h+-5>>0]|0;m=d[h+-4>>0]|0;g=d[h+-3>>0]|0;e=d[h+-2>>0]|0;b=d[h+-1>>0]|0;do if(!t){i=h+n|0;if(o){k=c;f=b;b=p;while(1){v=m+f|0;x=m;m=d[h>>0]|0;a[k>>0]=(g+1+(d[49274+(l+16-v+((g+e|0)*20|0)-(v<<2)+m>>5)>>0]|0)|0)>>>1;v=g+m|0;l=g;g=d[h+1>>0]|0;a[k+1>>0]=(e+1+(d[49274+(x+16+((e+f|0)*20|0)-v-(v<<2)+g>>5)>>0]|0)|0)>>>1;v=e+g|0;x=e;e=d[h+2>>0]|0;a[k+2>>0]=(f+1+(d[49274+(l+16+((f+m|0)*20|0)-v-(v<<2)+e>>5)>>0]|0)|0)>>>1;v=f+e|0;l=d[h+3>>0]|0;a[k+3>>0]=(m+1+(d[49274+(x+16+((g+m|0)*20|0)-v-(v<<2)+l>>5)>>0]|0)|0)>>>1;b=b+-1|0;if(!b)break;else{x=f;k=k+4|0;h=h+4|0;f=l;l=x}}c=c+n|0;h=i;break}else{k=c;f=b;b=p;while(1){x=m+f|0;v=m;m=d[h>>0]|0;a[k>>0]=(e+1+(d[49274+(l+16-x+((g+e|0)*20|0)-(x<<2)+m>>5)>>0]|0)|0)>>>1;x=g+m|0;l=g;g=d[h+1>>0]|0;a[k+1>>0]=(f+1+(d[49274+(v+16+((e+f|0)*20|0)-x-(x<<2)+g>>5)>>0]|0)|0)>>>1;x=e+g|0;v=e;e=d[h+2>>0]|0;a[k+2>>0]=(m+1+(d[49274+(l+16+((f+m|0)*20|0)-x-(x<<2)+e>>5)>>0]|0)|0)>>>1;x=f+e|0;l=d[h+3>>0]|0;a[k+3>>0]=(g+1+(d[49274+(v+16+((g+m|0)*20|0)-x-(x<<2)+l>>5)>>0]|0)|0)>>>1;b=b+-1|0;if(!b)break;else{x=f;k=k+4|0;h=h+4|0;f=l;l=x}}c=c+n|0;h=i;break}}while(0);j=j+-1|0;if(!j)break;else{c=c+s|0;h=h+q|0}}cc=u;return}function Re(b,c,e,f,g,h,i,j,k){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0;z=cc;cc=cc+448|0;if((cc|0)>=(dc|0))w(448);l=z;m=i+5|0;if(((e|0)>=0?!((f|0)<0|(m+e|0)>>>0>g>>>0):0)?(j+5+f|0)>>>0<=h>>>0:0){l=b;m=g}else{Ne(b,l,e,f,g,h,m,j+5|0,m);e=0;f=0}y=l+((r(f,m)|0)+e)|0;f=y+(r(m,k>>>1&1|2)|0)+5|0;y=y+m+2+(k&1)|0;do if(!j)f=c;else{u=i>>>2;v=m-i|0;x=16-i|0;if(!u){f=c+((r(j+-1|0,x)|0)+16-i)|0;break}s=i&-4;q=(r(s+16-i|0,j+-1|0)|0)+s+16-i|0;t=c;p=j;while(1){b=f+s|0;h=t;l=f;g=d[f+-1>>0]|0;k=d[f+-2>>0]|0;n=d[f+-3>>0]|0;o=d[f+-4>>0]|0;f=d[f+-5>>0]|0;e=u;while(1){A=o+g|0;B=o;o=d[l>>0]|0;a[h>>0]=a[49274+(f+16-A+((n+k|0)*20|0)-(A<<2)+o>>5)>>0]|0;A=n+o|0;f=n;n=d[l+1>>0]|0;a[h+1>>0]=a[49274+(B+16+((k+g|0)*20|0)-A-(A<<2)+n>>5)>>0]|0;A=k+n|0;B=k;k=d[l+2>>0]|0;a[h+2>>0]=a[49274+(f+16+((g+o|0)*20|0)-A-(A<<2)+k>>5)>>0]|0;A=g+k|0;f=d[l+3>>0]|0;a[h+3>>0]=a[49274+(B+16+((n+o|0)*20|0)-A-(A<<2)+f>>5)>>0]|0;e=e+-1|0;if(!e)break;else{B=g;h=h+4|0;l=l+4|0;g=f;f=B}}p=p+-1|0;if(!p)break;else{t=t+s+x|0;f=b+v|0}}f=c+q|0}while(0);e=j>>>2;if(!e){cc=z;return}q=m<<2;s=0-m|0;o=s<<1;p=m<<1;if(!i){cc=z;return}k=f+(0-(j<<4))|0;n=y;g=y+(m*5|0)|0;while(1){f=k;h=n;l=g;b=i;while(1){B=d[l+o>>0]|0;c=d[l+s>>0]|0;x=d[l+m>>0]|0;u=d[l>>0]|0;j=x+B|0;A=d[h+p>>0]|0;v=f+48|0;a[v>>0]=((d[49274+((d[l+p>>0]|0)+16-j-(j<<2)+A+((u+c|0)*20|0)>>5)>>0]|0)+1+(d[v>>0]|0)|0)>>>1;v=A+u|0;j=d[h+m>>0]|0;y=f+32|0;a[y>>0]=((d[49274+(x+16+((c+B|0)*20|0)-v-(v<<2)+j>>5)>>0]|0)+1+(d[y>>0]|0)|0)>>>1;y=d[h>>0]|0;v=j+c|0;x=f+16|0;a[x>>0]=((d[49274+(u+16+((A+B|0)*20|0)-v-(v<<2)+y>>5)>>0]|0)+1+(d[x>>0]|0)|0)>>>1;B=y+B|0;a[f>>0]=((d[49274+(c+16+((j+A|0)*20|0)-B-(B<<2)+(d[h+s>>0]|0)>>5)>>0]|0)+1+(d[f>>0]|0)|0)>>>1;b=b+-1|0;if(!b)break;else{f=f+1|0;h=h+1|0;l=l+1|0}}e=e+-1|0;if(!e)break;else{k=k+64|0;n=n+q|0;g=g+q|0}}cc=z;return}function Se(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=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;B=cc;cc=cc+1792|0;if((cc|0)>=(dc|0))w(1792);m=B+1344|0;A=B;q=j+5|0;if(((f|0)>=0?!((g|0)<0|(q+f|0)>>>0>h>>>0):0)?(k+5+g|0)>>>0<=i>>>0:0)m=b;else{Ne(b,m,f,g,h,i,q,k+5|0,q);h=q;f=0;g=0}g=m+((r(g,h)|0)+f)+h|0;f=k>>>2;if(f|0?(v=h<<2,x=q*3|0,y=0-h|0,s=y<<1,t=h<<1,u=q<<1,z=-5-j|0,q|0):0){i=A+(q<<2)|0;p=g;o=g+(h*5|0)|0;while(1){n=i+(q<<2)|0;g=p;m=o;b=q;while(1){C=d[m+s>>0]|0;D=d[m+y>>0]|0;H=d[m+h>>0]|0;I=d[m>>0]|0;G=H+C|0;E=d[g+t>>0]|0;c[i+(u<<2)>>2]=(d[m+t>>0]|0)-G-(G<<2)+E+((I+D|0)*20|0);G=E+I|0;F=d[g+h>>0]|0;c[i+(q<<2)>>2]=((D+C|0)*20|0)+H-G-(G<<2)+F;G=d[g>>0]|0;H=F+D|0;c[i>>2]=((E+C|0)*20|0)+I-H-(H<<2)+G;C=G+C|0;c[i+(z<<2)>>2]=((F+E|0)*20|0)+D-C-(C<<2)+(d[g+y>>0]|0);b=b+-1|0;if(!b)break;else{i=i+4|0;g=g+1|0;m=m+1|0}}f=f+-1|0;if(!f)break;else{i=n+(x<<2)|0;p=p+v|0;o=o+v|0}}}if(!k){cc=B;return}u=j>>>2;x=(u|0)==0;v=16-j|0;t=j&-4;g=A+8+(l<<2)|0;f=A+20|0;while(1){if(!x){s=g+(t<<2)|0;q=e;m=f;b=c[f+-4>>2]|0;h=c[f+-8>>2]|0;n=c[f+-12>>2]|0;o=c[f+-16>>2]|0;i=c[f+-20>>2]|0;p=u;while(1){I=o+b|0;H=o;o=c[m>>2]|0;a[q>>0]=((d[49274+(i+512-I+((n+h|0)*20|0)-(I<<2)+o>>10)>>0]|0)+1+(d[49274+((c[g>>2]|0)+16>>5)>>0]|0)|0)>>>1;I=o+n|0;i=n;n=c[m+4>>2]|0;a[q+1>>0]=((d[49274+(H+512+((h+b|0)*20|0)-I-(I<<2)+n>>10)>>0]|0)+1+(d[49274+((c[g+4>>2]|0)+16>>5)>>0]|0)|0)>>>1;I=n+h|0;H=h;h=c[m+8>>2]|0;a[q+2>>0]=((d[49274+(i+512+((o+b|0)*20|0)-I-(I<<2)+h>>10)>>0]|0)+1+(d[49274+((c[g+8>>2]|0)+16>>5)>>0]|0)|0)>>>1;I=h+b|0;i=c[m+12>>2]|0;a[q+3>>0]=((d[49274+(H+512+((n+o|0)*20|0)-I-(I<<2)+i>>10)>>0]|0)+1+(d[49274+((c[g+12>>2]|0)+16>>5)>>0]|0)|0)>>>1;p=p+-1|0;if(!p)break;else{I=b;q=q+4|0;g=g+16|0;m=m+16|0;b=i;i=I}}e=e+t|0;g=s;f=f+(t<<2)|0}k=k+-1|0;if(!k)break;else{e=e+v|0;g=g+20|0;f=f+20|0}}cc=B;return}function Te(b,c,e,f,g,h,i,j){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=cc;cc=cc+448|0;if((cc|0)>=(dc|0))w(448);k=s;l=i+5|0;if((e|0)>=0?!((j+f|0)>>>0>h>>>0|((f|0)<0|(l+e|0)>>>0>g>>>0)):0){k=b;l=g}else{Ne(b,k,e,f,g,h,l,j,l);e=0;f=0}f=k+((r(f,l)|0)+e)+5|0;if(!j){cc=s;return}q=i>>>2;o=l-i|0;p=16-i|0;if(!q){cc=s;return}n=i&-4;m=c;while(1){b=f+n|0;h=m;k=f;l=d[f+-1>>0]|0;g=d[f+-2>>0]|0;i=d[f+-3>>0]|0;c=d[f+-4>>0]|0;f=d[f+-5>>0]|0;e=q;while(1){t=c+l|0;u=c;c=d[k>>0]|0;a[h>>0]=a[49274+(f+16-t+((i+g|0)*20|0)-(t<<2)+c>>5)>>0]|0;t=i+c|0;f=i;i=d[k+1>>0]|0;a[h+1>>0]=a[49274+(u+16+((g+l|0)*20|0)-t-(t<<2)+i>>5)>>0]|0;t=g+i|0;u=g;g=d[k+2>>0]|0;a[h+2>>0]=a[49274+(f+16+((l+c|0)*20|0)-t-(t<<2)+g>>5)>>0]|0;t=l+g|0;f=d[k+3>>0]|0;a[h+3>>0]=a[49274+(u+16+((i+c|0)*20|0)-t-(t<<2)+f>>5)>>0]|0;e=e+-1|0;if(!e)break;else{u=l;h=h+4|0;k=k+4|0;l=f;f=u}}j=j+-1|0;if(!j)break;else{m=m+n+p|0;f=b+o|0}}cc=s;return}function Ue(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;y=cc;cc=cc+1792|0;if((cc|0)>=(dc|0))w(1792);n=y+1344|0;x=y;o=j+5|0;if(((f|0)>=0?!((g|0)<0|(o+f|0)>>>0>h>>>0):0)?(m=k+5|0,(m+g|0)>>>0<=i>>>0):0){n=b;i=h}else{m=k+5|0;Ne(b,n,f,g,h,i,o,m,o);i=o;f=0;g=0}g=n+((r(g,i)|0)+f)+5|0;if(m|0?(u=j>>>2,v=i-j|0,u|0):0){s=j&-4;t=x;while(1){b=g+s|0;i=t;n=g;o=d[g+-1>>0]|0;h=d[g+-2>>0]|0;p=d[g+-3>>0]|0;q=d[g+-4>>0]|0;g=d[g+-5>>0]|0;f=u;while(1){z=q+o|0;A=q;q=d[n>>0]|0;c[i>>2]=g-z+((p+h|0)*20|0)-(z<<2)+q;z=p+q|0;g=p;p=d[n+1>>0]|0;c[i+4>>2]=((h+o|0)*20|0)+A-z-(z<<2)+p;z=h+p|0;A=h;h=d[n+2>>0]|0;c[i+8>>2]=((o+q|0)*20|0)+g-z-(z<<2)+h;z=o+h|0;g=d[n+3>>0]|0;c[i+12>>2]=((p+q|0)*20|0)+A-z-(z<<2)+g;f=f+-1|0;if(!f)break;else{A=o;i=i+16|0;n=n+4|0;o=g;g=A}}m=m+-1|0;if(!m)break;else{t=t+(s<<2)|0;g=b+v|0}}}g=x+(j<<2)|0;f=k>>>2;if(!f){cc=y;return}k=(j|0)==0;v=64-j|0;t=j*3|0;x=0-j|0;u=x<<1;s=j<<1;n=e;m=g;i=g+((r(l+2|0,j)|0)<<2)|0;g=g+(j*5<<2)|0;while(1){if(!k){q=g+(j<<2)|0;p=m+(j<<2)|0;h=n;o=i;b=j;while(1){A=c[g+(u<<2)>>2]|0;e=c[g+(x<<2)>>2]|0;C=c[g+(j<<2)>>2]|0;D=c[g>>2]|0;B=C+A|0;z=c[m+(s<<2)>>2]|0;a[h+48>>0]=((d[49274+((c[g+(s<<2)>>2]|0)+512-B-(B<<2)+z+((D+e|0)*20|0)>>10)>>0]|0)+1+(d[49274+((c[o+(s<<2)>>2]|0)+16>>5)>>0]|0)|0)>>>1;B=z+D|0;l=c[m+(j<<2)>>2]|0;a[h+32>>0]=((d[49274+(C+512+((e+A|0)*20|0)-B-(B<<2)+l>>10)>>0]|0)+1+(d[49274+((c[o+(j<<2)>>2]|0)+16>>5)>>0]|0)|0)>>>1;B=c[m>>2]|0;C=l+e|0;a[h+16>>0]=((d[49274+(D+512+((z+A|0)*20|0)-C-(C<<2)+B>>10)>>0]|0)+1+(d[49274+((c[o>>2]|0)+16>>5)>>0]|0)|0)>>>1;A=B+A|0;a[h>>0]=((d[49274+(e+512+((l+z|0)*20|0)-A-(A<<2)+(c[m+(x<<2)>>2]|0)>>10)>>0]|0)+1+(d[49274+((c[o+(x<<2)>>2]|0)+16>>5)>>0]|0)|0)>>>1;b=b+-1|0;if(!b)break;else{h=h+1|0;m=m+4|0;o=o+4|0;g=g+4|0}}n=n+j|0;m=p;i=i+(j<<2)|0;g=q}f=f+-1|0;if(!f)break;else{n=n+v|0;m=m+(t<<2)|0;i=i+(t<<2)|0;g=g+(t<<2)|0}}cc=y;return}function Ve(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0;x=cc;cc=cc+1792|0;if((cc|0)>=(dc|0))w(1792);m=x+1344|0;v=x;n=j+5|0;if(((f|0)>=0?!((g|0)<0|(n+f|0)>>>0>h>>>0):0)?(l=k+5|0,(l+g|0)>>>0<=i>>>0):0){m=b;i=h}else{l=k+5|0;Ne(b,m,f,g,h,i,n,l,n);i=n;f=0;g=0}g=m+((r(g,i)|0)+f)+5|0;if(l|0?(t=j>>>2,u=i-j|0,t|0):0){q=j&-4;s=v;while(1){b=g+q|0;i=s;m=g;n=d[g+-1>>0]|0;h=d[g+-2>>0]|0;o=d[g+-3>>0]|0;p=d[g+-4>>0]|0;g=d[g+-5>>0]|0;f=t;while(1){y=p+n|0;z=p;p=d[m>>0]|0;c[i>>2]=g-y+((o+h|0)*20|0)-(y<<2)+p;y=o+p|0;g=o;o=d[m+1>>0]|0;c[i+4>>2]=((h+n|0)*20|0)+z-y-(y<<2)+o;y=h+o|0;z=h;h=d[m+2>>0]|0;c[i+8>>2]=((n+p|0)*20|0)+g-y-(y<<2)+h;y=n+h|0;g=d[m+3>>0]|0;c[i+12>>2]=((o+p|0)*20|0)+z-y-(y<<2)+g;f=f+-1|0;if(!f)break;else{z=n;i=i+16|0;m=m+4|0;n=g;g=z}}l=l+-1|0;if(!l)break;else{s=s+(q<<2)|0;g=b+u|0}}}g=v+(j<<2)|0;f=k>>>2;if(!f){cc=x;return}o=j*3|0;q=0-j|0;p=q<<1;h=j<<1;if(!j){cc=x;return}n=g;b=g+(j*5<<2)|0;while(1){g=e;l=n;i=b;m=j;while(1){z=c[i+(p<<2)>>2]|0;v=c[i+(q<<2)>>2]|0;t=c[i+(j<<2)>>2]|0;s=c[i>>2]|0;u=t+z|0;y=c[l+(h<<2)>>2]|0;a[g+48>>0]=a[49274+((c[i+(h<<2)>>2]|0)+512-u-(u<<2)+y+((s+v|0)*20|0)>>10)>>0]|0;u=y+s|0;k=c[l+(j<<2)>>2]|0;a[g+32>>0]=a[49274+(t+512+((v+z|0)*20|0)-u-(u<<2)+k>>10)>>0]|0;u=c[l>>2]|0;t=k+v|0;a[g+16>>0]=a[49274+(s+512+((y+z|0)*20|0)-t-(t<<2)+u>>10)>>0]|0;z=u+z|0;a[g>>0]=a[49274+(v+512+((k+y|0)*20|0)-z-(z<<2)+(c[l+(q<<2)>>2]|0)>>10)>>0]|0;m=m+-1|0;if(!m)break;else{g=g+1|0;l=l+4|0;i=i+4|0}}f=f+-1|0;if(!f)break;else{e=e+64|0;n=n+(j<<2)+(o<<2)|0;b=b+(j<<2)+(o<<2)|0}}cc=x;return}function We(b,c,e,f,g,h,i,j,k,l){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;E=cc;cc=cc+176|0;if((cc|0)>=(dc|0))w(176);m=E;n=k+1|0;if(((e|0)>=0?!((f|0)<0|(n+e|0)>>>0>g>>>0):0)?(l+1+f|0)>>>0<=h>>>0:0){m=b;n=g}else{D=l+1|0;Ne(b,m,e,f,g,h,n,D,n);Ne(b+(r(h,g)|0)|0,m+(r(D,n)|0)|0,e,f,g,h,n,D,n);h=D;e=0;f=0}C=8-i|0;D=8-j|0;l=l>>>1;u=(l|0)==0;y=n<<1;z=k>>>1;v=(z|0)==0;A=16-k|0;B=y-k|0;x=k&-2;if(u|v){cc=E;return}k=c;b=m+(r(f,n)|0)+e|0;t=l;while(1){g=d[b+n>>0]|0;q=b+x|0;o=k;p=b;s=(r(g,j)|0)+(r(D,d[b>>0]|0)|0)|0;b=(r(d[b+y>>0]|0,j)|0)+(r(D,g)|0)|0;g=z;while(1){H=p+1|0;G=d[H+n>>0]|0;F=(r(G,j)|0)+(r(D,d[H>>0]|0)|0)|0;G=(r(d[H+y>>0]|0,j)|0)+(r(D,G)|0)|0;H=((r(s,C)|0)+32+(r(F,i)|0)|0)>>>6;a[o+8>>0]=((r(b,C)|0)+32+(r(G,i)|0)|0)>>>6;a[o>>0]=H;p=p+2|0;H=d[p+n>>0]|0;s=(r(H,j)|0)+(r(D,d[p>>0]|0)|0)|0;b=(r(d[p+y>>0]|0,j)|0)+(r(D,H)|0)|0;F=((r(F,C)|0)+32+(r(s,i)|0)|0)>>>6;a[o+9>>0]=((r(G,C)|0)+32+(r(b,i)|0)|0)>>>6;a[o+1>>0]=F;g=g+-1|0;if(!g)break;else o=o+2|0}t=t+-1|0;if(!t)break;else{k=k+x+A|0;b=q+B|0}}if(u|v){cc=E;return}k=c+64|0;h=m+(r(h+f|0,n)|0)+e|0;while(1){m=d[h+n>>0]|0;e=h+x|0;b=k;g=h;f=(r(m,j)|0)+(r(D,d[h>>0]|0)|0)|0;h=(r(d[h+y>>0]|0,j)|0)+(r(D,m)|0)|0;m=z;while(1){F=g+1|0;G=d[F+n>>0]|0;H=(r(G,j)|0)+(r(D,d[F>>0]|0)|0)|0;G=(r(d[F+y>>0]|0,j)|0)+(r(D,G)|0)|0;F=((r(f,C)|0)+32+(r(H,i)|0)|0)>>>6;a[b+8>>0]=((r(h,C)|0)+32+(r(G,i)|0)|0)>>>6;a[b>>0]=F;g=g+2|0;F=d[g+n>>0]|0;f=(r(F,j)|0)+(r(D,d[g>>0]|0)|0)|0;h=(r(d[g+y>>0]|0,j)|0)+(r(D,F)|0)|0;H=((r(H,C)|0)+32+(r(f,i)|0)|0)>>>6;a[b+9>>0]=((r(G,C)|0)+32+(r(h,i)|0)|0)>>>6;a[b+1>>0]=H;m=m+-1|0;if(!m)break;else b=b+2|0}l=l+-1|0;if(!l)break;else{k=k+x+A|0;h=e+B|0}}cc=E;return}function Xe(b,c,e,f,g,h,i,j,k){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0;z=cc;cc=cc+144|0;if((cc|0)>=(dc|0))w(144);l=z;m=j+1|0;if((e|0)>=0?!((k+f|0)>>>0>h>>>0|((f|0)<0|(m+e|0)>>>0>g>>>0)):0){l=b;m=g}else{Ne(b,l,e,f,g,h,m,k,m);Ne(b+(r(h,g)|0)|0,l+(r(m,k)|0)|0,e,f,g,h,m,k,m);h=k;e=0;f=0}y=8-i|0;s=k>>>1;q=(s|0)==0;u=j>>>1;p=(u|0)==0;v=16-j|0;x=(m<<1)-j|0;t=j&-2;if(q|p){cc=z;return}k=c;b=l+(r(f,m)|0)+e|0;o=s;while(1){n=b+t|0;j=k;g=u;while(1){A=b+1|0;B=d[b>>0]|0;C=d[A+m>>0]|0;A=d[A>>0]|0;a[j+8>>0]=(((r(C,i)|0)+(r(y,d[b+m>>0]|0)|0)<<3)+32|0)>>>6;b=b+2|0;a[j>>0]=(((r(A,i)|0)+(r(y,B)|0)<<3)+32|0)>>>6;B=d[b>>0]|0;a[j+9>>0]=(((r(d[b+m>>0]|0,i)|0)+(r(y,C)|0)<<3)+32|0)>>>6;a[j+1>>0]=(((r(B,i)|0)+(r(y,A)|0)<<3)+32|0)>>>6;g=g+-1|0;if(!g)break;else j=j+2|0}o=o+-1|0;if(!o)break;else{k=k+t+v|0;b=n+x|0}}if(q|p){cc=z;return}k=c+64|0;h=l+(r(h+f|0,m)|0)+e|0;e=s;while(1){g=h+t|0;b=k;l=u;while(1){C=h+1|0;B=d[h>>0]|0;A=d[C+m>>0]|0;C=d[C>>0]|0;a[b+8>>0]=(((r(A,i)|0)+(r(y,d[h+m>>0]|0)|0)<<3)+32|0)>>>6;h=h+2|0;a[b>>0]=(((r(C,i)|0)+(r(y,B)|0)<<3)+32|0)>>>6;B=d[h>>0]|0;a[b+9>>0]=(((r(d[h+m>>0]|0,i)|0)+(r(y,A)|0)<<3)+32|0)>>>6;a[b+1>>0]=(((r(B,i)|0)+(r(y,C)|0)<<3)+32|0)>>>6;l=l+-1|0;if(!l)break;else b=b+2|0}e=e+-1|0;if(!e)break;else{k=k+t+v|0;h=g+x|0}}cc=z;return}function Ye(b,c,e,f,g,h,i,j,k){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=cc;cc=cc+144|0;if((cc|0)>=(dc|0))w(144);l=A;if(((e|0)>=0?!((f|0)<0|(j+e|0)>>>0>g>>>0):0)?(k+1+f|0)>>>0<=h>>>0:0)l=b;else{z=k+1|0;Ne(b,l,e,f,g,h,j,z,j);Ne(b+(r(h,g)|0)|0,l+(r(z,j)|0)|0,e,f,g,h,j,z,j);h=z;g=j;e=0;f=0}z=8-i|0;s=k>>>1;q=(s|0)==0;v=j>>>1;p=(v|0)==0;x=16-j|0;u=g<<1;y=u-j|0;t=j&-2;if(q|p){cc=A;return}j=c;b=l+(r(f,g)|0)+e|0;o=s;while(1){n=b+t|0;m=j;k=v;while(1){B=d[b+g>>0]|0;D=b+1|0;C=d[b>>0]|0;a[m+8>>0]=(((r(z,B)|0)+(r(d[b+u>>0]|0,i)|0)<<3)+32|0)>>>6;a[m>>0]=(((r(z,C)|0)+(r(B,i)|0)<<3)+32|0)>>>6;B=d[D+g>>0]|0;C=d[D>>0]|0;a[m+9>>0]=(((r(z,B)|0)+(r(d[D+u>>0]|0,i)|0)<<3)+32|0)>>>6;a[m+1>>0]=(((r(z,C)|0)+(r(B,i)|0)<<3)+32|0)>>>6;k=k+-1|0;if(!k)break;else{m=m+2|0;b=b+2|0}}o=o+-1|0;if(!o)break;else{j=j+t+x|0;b=n+y|0}}if(q|p){cc=A;return}k=c+64|0;h=l+(r(h+f|0,g)|0)+e|0;f=s;while(1){e=h+t|0;b=k;l=v;while(1){D=d[h+g>>0]|0;B=h+1|0;C=d[h>>0]|0;a[b+8>>0]=(((r(z,D)|0)+(r(d[h+u>>0]|0,i)|0)<<3)+32|0)>>>6;a[b>>0]=(((r(z,C)|0)+(r(D,i)|0)<<3)+32|0)>>>6;D=d[B+g>>0]|0;C=d[B>>0]|0;a[b+9>>0]=(((r(z,D)|0)+(r(d[B+u>>0]|0,i)|0)<<3)+32|0)>>>6;a[b+1>>0]=(((r(z,C)|0)+(r(D,i)|0)<<3)+32|0)>>>6;l=l+-1|0;if(!l)break;else{b=b+2|0;h=h+2|0}}f=f+-1|0;if(!f)break;else{k=k+t+x|0;h=e+y|0}}cc=A;return}function Ze(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;if(d){rj(c|0,a[b>>0]|0,d|0)|0;c=c+d|0}if(e){h=b+e|0;d=e;g=c;while(1){a[g>>0]=a[b>>0]|0;d=d+-1|0;if(!d)break;else{g=g+1|0;b=b+1|0}}c=c+e|0;b=h}if(!f)return;rj(c|0,a[b+-1>>0]|0,f|0)|0;return}function _e(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Ee(b,a,d);return}function $e(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(!f)return;m=c[b+4>>2]|0;n=r(c[b+8>>2]|0,m)|0;j=(f>>>0)/(m>>>0)|0;k=f-(r(j,m)|0)|0;h=m<<4;g=(c[b>>2]|0)+(r(m<<8,j)|0)+(k<<4)|0;l=m>>>0<=f>>>0;if(l){f=g+(0-(h|1))|0;i=f+1|0;a[d>>0]=a[f>>0]|0;f=i+1|0;a[d+1>>0]=a[i>>0]|0;i=f+1|0;a[d+2>>0]=a[f>>0]|0;f=i+1|0;a[d+3>>0]=a[i>>0]|0;i=f+1|0;a[d+4>>0]=a[f>>0]|0;f=i+1|0;a[d+5>>0]=a[i>>0]|0;i=f+1|0;a[d+6>>0]=a[f>>0]|0;f=i+1|0;a[d+7>>0]=a[i>>0]|0;i=f+1|0;a[d+8>>0]=a[f>>0]|0;f=i+1|0;a[d+9>>0]=a[i>>0]|0;i=f+1|0;a[d+10>>0]=a[f>>0]|0;f=i+1|0;a[d+11>>0]=a[i>>0]|0;i=f+1|0;a[d+12>>0]=a[f>>0]|0;f=i+1|0;a[d+13>>0]=a[i>>0]|0;i=f+1|0;a[d+14>>0]=a[f>>0]|0;f=i+1|0;a[d+15>>0]=a[i>>0]|0;i=f+1|0;a[d+16>>0]=a[f>>0]|0;f=i+1|0;a[d+17>>0]=a[i>>0]|0;i=f+1|0;a[d+18>>0]=a[f>>0]|0;a[d+19>>0]=a[i>>0]|0;a[d+20>>0]=a[i+1>>0]|0;d=d+21|0}i=(k|0)!=0;if(i){g=g+-1|0;a[e>>0]=a[g>>0]|0;g=g+h|0;a[e+1>>0]=a[g>>0]|0;g=g+h|0;a[e+2>>0]=a[g>>0]|0;g=g+h|0;a[e+3>>0]=a[g>>0]|0;g=g+h|0;a[e+4>>0]=a[g>>0]|0;g=g+h|0;a[e+5>>0]=a[g>>0]|0;g=g+h|0;a[e+6>>0]=a[g>>0]|0;g=g+h|0;a[e+7>>0]=a[g>>0]|0;g=g+h|0;a[e+8>>0]=a[g>>0]|0;g=g+h|0;a[e+9>>0]=a[g>>0]|0;g=g+h|0;a[e+10>>0]=a[g>>0]|0;g=g+h|0;a[e+11>>0]=a[g>>0]|0;g=g+h|0;a[e+12>>0]=a[g>>0]|0;g=g+h|0;a[e+13>>0]=a[g>>0]|0;g=g+h|0;a[e+14>>0]=a[g>>0]|0;a[e+15>>0]=a[g+h>>0]|0;e=e+16|0}g=m<<3&2147483640;f=(c[b>>2]|0)+(n<<8)+(r(j<<3,g)|0)+(k<<3)|0;if(l){k=f+(0-(g|1))|0;l=k+1|0;a[d>>0]=a[k>>0]|0;k=l+1|0;a[d+1>>0]=a[l>>0]|0;l=k+1|0;a[d+2>>0]=a[k>>0]|0;k=l+1|0;a[d+3>>0]=a[l>>0]|0;l=k+1|0;a[d+4>>0]=a[k>>0]|0;k=l+1|0;a[d+5>>0]=a[l>>0]|0;l=k+1|0;a[d+6>>0]=a[k>>0]|0;k=l+1|0;a[d+7>>0]=a[l>>0]|0;a[d+8>>0]=a[k>>0]|0;k=k+1+((n<<6)+-9)|0;l=k+1|0;a[d+9>>0]=a[k>>0]|0;k=l+1|0;a[d+10>>0]=a[l>>0]|0;l=k+1|0;a[d+11>>0]=a[k>>0]|0;k=l+1|0;a[d+12>>0]=a[l>>0]|0;l=k+1|0;a[d+13>>0]=a[k>>0]|0;k=l+1|0;a[d+14>>0]=a[l>>0]|0;l=k+1|0;a[d+15>>0]=a[k>>0]|0;a[d+16>>0]=a[l>>0]|0;a[d+17>>0]=a[l+1>>0]|0}if(!i)return;l=f+-1|0;a[e>>0]=a[l>>0]|0;l=l+g|0;a[e+1>>0]=a[l>>0]|0;l=l+g|0;a[e+2>>0]=a[l>>0]|0;l=l+g|0;a[e+3>>0]=a[l>>0]|0;l=l+g|0;a[e+4>>0]=a[l>>0]|0;l=l+g|0;a[e+5>>0]=a[l>>0]|0;l=l+g|0;a[e+6>>0]=a[l>>0]|0;l=l+g|0;a[e+7>>0]=a[l>>0]|0;n=l+g+(n-m<<6)|0;a[e+8>>0]=a[n>>0]|0;n=n+g|0;a[e+9>>0]=a[n>>0]|0;n=n+g|0;a[e+10>>0]=a[n>>0]|0;n=n+g|0;a[e+11>>0]=a[n>>0]|0;n=n+g|0;a[e+12>>0]=a[n>>0]|0;n=n+g|0;a[e+13>>0]=a[n>>0]|0;n=n+g|0;a[e+14>>0]=a[n>>0]|0;a[e+15>>0]=a[n+g>>0]|0;return}function af(a){a=a|0;return (a>>>0<6?2:(a|0)!=6&1)|0}function bf(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;k=b+200|0;j=ef(b,c[k>>2]|0)|0;m=(i|0)!=0;if(m&(j|0)!=0){y=(af(c[c[k>>2]>>2]|0)|0)==2;j=y?0:j}k=b+204|0;i=ef(b,c[k>>2]|0)|0;if(m&(i|0)!=0){l=(af(c[c[k>>2]>>2]|0)|0)==2;l=l?0:i}else l=i;k=b+212|0;i=ef(b,c[k>>2]|0)|0;if(m&(i|0)!=0){y=(af(c[c[k>>2]>>2]|0)|0)==2;i=y?0:i}switch(lf(c[b>>2]|0)|0){case 0:{if(!l){f=1;return f|0}l=g+1|0;m=g+2|0;q=g+3|0;s=g+4|0;t=g+5|0;u=g+6|0;v=g+7|0;w=g+8|0;x=g+9|0;y=g+10|0;b=g+11|0;h=g+12|0;n=g+13|0;o=g+14|0;p=g+15|0;i=g+16|0;j=e;k=0;while(1){a[j>>0]=a[l>>0]|0;a[j+1>>0]=a[m>>0]|0;a[j+2>>0]=a[q>>0]|0;a[j+3>>0]=a[s>>0]|0;a[j+4>>0]=a[t>>0]|0;a[j+5>>0]=a[u>>0]|0;a[j+6>>0]=a[v>>0]|0;a[j+7>>0]=a[w>>0]|0;a[j+8>>0]=a[x>>0]|0;a[j+9>>0]=a[y>>0]|0;a[j+10>>0]=a[b>>0]|0;a[j+11>>0]=a[h>>0]|0;a[j+12>>0]=a[n>>0]|0;a[j+13>>0]=a[o>>0]|0;a[j+14>>0]=a[p>>0]|0;a[j+15>>0]=a[i>>0]|0;k=k+1|0;if((k|0)==16)break;else j=j+16|0}break}case 1:{if(!j){f=1;return f|0}i=e;j=0;while(1){g=h+j|0;a[i>>0]=a[g>>0]|0;a[i+1>>0]=a[g>>0]|0;a[i+2>>0]=a[g>>0]|0;a[i+3>>0]=a[g>>0]|0;a[i+4>>0]=a[g>>0]|0;a[i+5>>0]=a[g>>0]|0;a[i+6>>0]=a[g>>0]|0;a[i+7>>0]=a[g>>0]|0;a[i+8>>0]=a[g>>0]|0;a[i+9>>0]=a[g>>0]|0;a[i+10>>0]=a[g>>0]|0;a[i+11>>0]=a[g>>0]|0;a[i+12>>0]=a[g>>0]|0;a[i+13>>0]=a[g>>0]|0;a[i+14>>0]=a[g>>0]|0;a[i+15>>0]=a[g>>0]|0;j=j+1|0;if((j|0)==16)break;else i=i+16|0}break}case 2:{k=g+1|0;j=(j|0)!=0;i=(l|0)!=0;do if(!(j&i)){if(j){i=((d[h>>0]|0)+8+(d[h+1>>0]|0)+(d[h+2>>0]|0)+(d[h+3>>0]|0)+(d[h+4>>0]|0)+(d[h+5>>0]|0)+(d[h+6>>0]|0)+(d[h+7>>0]|0)+(d[h+8>>0]|0)+(d[h+9>>0]|0)+(d[h+10>>0]|0)+(d[h+11>>0]|0)+(d[h+12>>0]|0)+(d[h+13>>0]|0)+(d[h+14>>0]|0)+(d[h+15>>0]|0)|0)>>>4;break}if(i)i=((d[k>>0]|0)+8+(d[g+2>>0]|0)+(d[g+3>>0]|0)+(d[g+4>>0]|0)+(d[g+5>>0]|0)+(d[g+6>>0]|0)+(d[g+7>>0]|0)+(d[g+8>>0]|0)+(d[g+9>>0]|0)+(d[g+10>>0]|0)+(d[g+11>>0]|0)+(d[g+12>>0]|0)+(d[g+13>>0]|0)+(d[g+14>>0]|0)+(d[g+15>>0]|0)+(d[g+16>>0]|0)|0)>>>4;else i=128}else i=((d[k>>0]|0)+16+(d[h>>0]|0)+(d[g+2>>0]|0)+(d[h+1>>0]|0)+(d[g+3>>0]|0)+(d[h+2>>0]|0)+(d[g+4>>0]|0)+(d[h+3>>0]|0)+(d[g+5>>0]|0)+(d[h+4>>0]|0)+(d[g+6>>0]|0)+(d[h+5>>0]|0)+(d[g+7>>0]|0)+(d[h+6>>0]|0)+(d[g+8>>0]|0)+(d[h+7>>0]|0)+(d[g+9>>0]|0)+(d[h+8>>0]|0)+(d[g+10>>0]|0)+(d[h+9>>0]|0)+(d[g+11>>0]|0)+(d[h+10>>0]|0)+(d[g+12>>0]|0)+(d[h+11>>0]|0)+(d[g+13>>0]|0)+(d[h+12>>0]|0)+(d[g+14>>0]|0)+(d[h+13>>0]|0)+(d[g+15>>0]|0)+(d[h+14>>0]|0)+(d[g+16>>0]|0)+(d[h+15>>0]|0)|0)>>>5;while(0);rj(e|0,i&255|0,256)|0;break}default:{if(!((j|0)!=0&(l|0)!=0&(i|0)!=0)){f=1;return f|0}w=d[g+16>>0]|0;u=d[h+15>>0]|0;v=d[g>>0]|0;x=u+w<<4;w=(((d[g+9>>0]|0)-(d[g+7>>0]|0)+((d[g+10>>0]|0)-(d[g+6>>0]|0)<<1)+(((d[g+11>>0]|0)-(d[g+5>>0]|0)|0)*3|0)+((d[g+12>>0]|0)-(d[g+4>>0]|0)<<2)+(((d[g+13>>0]|0)-(d[g+3>>0]|0)|0)*5|0)+(((d[g+14>>0]|0)-(d[g+2>>0]|0)|0)*6|0)+(((d[g+15>>0]|0)-(d[g+1>>0]|0)|0)*7|0)+(w-v<<3)|0)*5|0)+32>>6;v=(((d[h+8>>0]|0)-(d[h+6>>0]|0)+(u-v<<3)+((d[h+9>>0]|0)-(d[h+5>>0]|0)<<1)+(((d[h+10>>0]|0)-(d[h+4>>0]|0)|0)*3|0)+((d[h+11>>0]|0)-(d[h+3>>0]|0)<<2)+(((d[h+12>>0]|0)-(d[h+2>>0]|0)|0)*5|0)+(((d[h+13>>0]|0)-(d[h+1>>0]|0)|0)*6|0)+(((d[h+14>>0]|0)-(d[h>>0]|0)|0)*7|0)|0)*5|0)+32>>6;u=r(w,-7)|0;j=r(w,-6)|0;o=r(w,-5)|0;p=r(w,-4)|0;q=r(w,-3)|0;s=r(w,-2)|0;t=w<<1;k=w*3|0;l=w<<2;m=w*5|0;b=w*6|0;h=w*7|0;n=w<<3;i=0;do{z=(r(i+-7|0,v)|0)+x|0;g=i<<4;y=z+u|0;A=y+16>>5;a[e+g>>0]=(y|0)<-16?0:((A|0)<255?A:255)&255;A=z+j|0;y=A+16>>5;a[e+(g|1)>>0]=(A|0)<-16?0:((y|0)<255?y:255)&255;y=z+o|0;A=y+16>>5;a[e+(g|2)>>0]=(y|0)<-16?0:((A|0)<255?A:255)&255;A=z+p|0;y=A+16>>5;a[e+(g|3)>>0]=(A|0)<-16?0:((y|0)<255?y:255)&255;y=z+q|0;A=y+16>>5;a[e+(g|4)>>0]=(y|0)<-16?0:((A|0)<255?A:255)&255;A=z+s|0;y=A+16>>5;a[e+(g|5)>>0]=(A|0)<-16?0:((y|0)<255?y:255)&255;y=z-w|0;A=y+16>>5;a[e+(g|6)>>0]=(y|0)<-16?0:((A|0)<255?A:255)&255;A=z+16>>5;a[e+(g|7)>>0]=(z|0)<-16?0:((A|0)<255?A:255)&255;A=z+w|0;y=A+16>>5;a[e+(g|8)>>0]=(A|0)<-16?0:((y|0)<255?y:255)&255;y=z+t|0;A=y+16>>5;a[e+(g|9)>>0]=(y|0)<-16?0:((A|0)<255?A:255)&255;A=z+k|0;y=A+16>>5;a[e+(g|10)>>0]=(A|0)<-16?0:((y|0)<255?y:255)&255;y=z+l|0;A=y+16>>5;a[e+(g|11)>>0]=(y|0)<-16?0:((A|0)<255?A:255)&255;A=z+m|0;y=A+16>>5;a[e+(g|12)>>0]=(A|0)<-16?0:((y|0)<255?y:255)&255;y=z+b|0;A=y+16>>5;a[e+(g|13)>>0]=(y|0)<-16?0:((A|0)<255?A:255)&255;A=z+h|0;y=A+16>>5;a[e+(g|14)>>0]=(A|0)<-16?0:((y|0)<255?y:255)&255;z=z+n|0;y=z+16>>5;a[e+(g|15)>>0]=(z|0)<-16?0:((y|0)<255?y:255)&255;i=i+1|0}while((i|0)!=16)}}ff(e,f,0);ff(e,f+64|0,1);ff(e,f+128|0,2);ff(e,f+192|0,3);ff(e,f+256|0,4);ff(e,f+320|0,5);ff(e,f+384|0,6);ff(e,f+448|0,7);ff(e,f+512|0,8);ff(e,f+576|0,9);ff(e,f+640|0,10);ff(e,f+704|0,11);ff(e,f+768|0,12);ff(e,f+832|0,13);ff(e,f+896|0,14);ff(e,f+960|0,15);A=0;return A|0}function cf(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,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=(i|0)!=0;K=0;a:while(1){m=gf(K)|0;l=c[m+4>>2]|0;m=Le(b,c[m>>2]|0)|0;i=ef(b,m)|0;if(L&(i|0)!=0){J=(af(c[m>>2]|0)|0)==2;i=J?0:i}n=hf(K)|0;k=c[n+4>>2]|0;n=Le(b,c[n>>2]|0)|0;j=ef(b,n)|0;if(L&(j|0)!=0){J=(af(c[n>>2]|0)|0)==2;j=J?0:j}H=(i|0)!=0;G=(j|0)!=0;F=H&G;if(F){if(!(af(c[m>>2]|0)|0))j=d[(l&255)+(m+82)>>0]|0;else j=2;if(!(af(c[n>>2]|0)|0))i=d[(k&255)+(n+82)>>0]|0;else i=2;i=j>>>0>>0?j:i}else i=2;if(!(c[f+12+(K<<2)>>2]|0)){J=c[f+76+(K<<2)>>2]|0;i=J+(J>>>0>=i>>>0&1)|0}a[b+82+K>>0]=i;j=c[(jf(K)|0)>>2]|0;j=Le(b,j)|0;k=ef(b,j)|0;if(L&(k|0)!=0){J=(af(c[j>>2]|0)|0)==2;k=J?0:k}j=c[(kf(K)|0)>>2]|0;j=Le(b,j)|0;l=ef(b,j)|0;if(L&(l|0)!=0){J=(af(c[j>>2]|0)|0)==2;l=J?0:l}I=c[1864+(K<<2)>>2]|0;J=c[1928+(K<<2)>>2]|0;t=(1285>>>K&1|0)!=0;if(t){p=h+(J+2)|0;n=J+3|0;o=h;j=h+J|0;m=h+(J+1)|0}else{m=(J<<4)+I|0;p=e+(m+31)|0;n=m+47|0;o=e;j=e+(m+-1)|0;m=e+(m+15)|0}A=a[j>>0]|0;z=a[m>>0]|0;E=a[o+n>>0]|0;D=a[p>>0]|0;do if(!(51>>>K&1)){m=J+-1|0;j=(m<<4)+I|0;u=a[e+j>>0]|0;v=a[e+(j+1)>>0]|0;w=a[e+(j+2)>>0]|0;n=a[e+(j+3)>>0]|0;o=a[e+(j+4)>>0]|0;p=a[e+(j+5)>>0]|0;q=a[e+(j+6)>>0]|0;s=a[e+(j+7)>>0]|0;if(t){j=h+m|0;C=n;B=q;m=s;y=u;x=v;break}else{j=e+(j+-1)|0;C=n;B=q;m=s;y=u;x=v;break}}else{j=g+I|0;C=a[g+(I+4)>>0]|0;o=a[g+(I+5)>>0]|0;p=a[g+(I+6)>>0]|0;B=a[g+(I+7)>>0]|0;m=a[g+(I+8)>>0]|0;y=a[g+(I+1)>>0]|0;x=a[g+(I+2)>>0]|0;w=a[g+(I+3)>>0]|0}while(0);j=a[j>>0]|0;switch(i|0){case 0:{if(!G){i=1;j=51;break a}j=y;k=x;l=w;m=C;n=y;o=x;p=w;q=C;s=y;t=x;u=w;v=C;i=(w&255)<<16|(C&255)<<24|y&255|(x&255)<<8;break}case 1:{if(!H){i=1;j=51;break a}m=r(A&255,16843009)|0;q=r(z&255,16843009)|0;v=r(D&255,16843009)|0;j=m&255;k=m>>>8&255;l=m>>>16&255;m=m>>>24&255;n=q&255;o=q>>>8&255;p=q>>>16&255;q=q>>>24&255;s=v&255;t=v>>>8&255;u=v>>>16&255;v=v>>>24&255;i=r(E&255,16843009)|0;break}case 2:{do if(!F){if(H){i=((A&255)+2+(z&255)+(E&255)+(D&255)|0)>>>2;break}if(G)i=((C&255)+2+(w&255)+(x&255)+(y&255)|0)>>>2;else i=128}else i=((A&255)+4+(z&255)+(E&255)+(D&255)+(C&255)+(w&255)+(x&255)+(y&255)|0)>>>3;while(0);i=r(i&255,16843009)|0;s=i&255;t=i>>>8&255;u=i>>>16&255;v=i>>>24&255;j=s;k=t;l=u;m=v;n=s;o=t;p=u;q=v;break}case 3:{if(!G){i=1;j=51;break a}G=(k|0)==0;j=x&255;k=w&255;s=C&255;E=s+2|0;n=(E+j+(k<<1)|0)>>>2&255;H=(G?C:o)&255;s=(H+2+k+(s<<1)|0)>>>2&255;l=(G?C:p)&255;E=(E+l+(H<<1)|0)>>>2;t=E&255;i=(G?C:B)&255;F=i+2|0;H=(F+H+(l<<1)|0)>>>2;u=H&255;G=(G?C:m)&255;i=(l+2+G+(i<<1)|0)>>>2;j=(k+2+(y&255)+(j<<1)|0)>>>2&255;k=n;l=s;m=t;o=s;p=t;q=u;v=i&255;i=E&255|(F+(G*3|0)|0)>>>2<<24|H<<8&65280|i<<16&16711680;break}case 4:{if(!(F&(l|0)!=0)){i=1;j=51;break a}v=y&255;i=j&255;j=A&255;q=v+2|0;H=(q+j+(i<<1)|0)>>>2;u=H&255;G=x&255;n=G+2|0;v=(n+(v<<1)+i|0)>>>2&255;m=w&255;q=((G<<1)+m+q|0)>>>2&255;G=z&255;B=G+2|0;i=(B+(j<<1)+i|0)>>>2;t=i&255;F=D&255;G=(j+2+(G<<1)+F|0)>>>2;j=u;k=v;l=q;m=(n+(C&255)+(m<<1)|0)>>>2&255;n=t;o=u;p=v;s=G&255;i=(B+(E&255)+(F<<1)|0)>>>2&255|G<<8&65280|H<<24|i<<16&16711680;break}case 5:{if(!(F&(l|0)!=0)){i=1;j=51;break a}s=j&255;u=y&255;t=(u+1+s|0)>>>1&255;v=x&255;B=v+2|0;i=(B+(u<<1)+s|0)>>>2;F=A&255;E=u+2|0;H=(E+F+(s<<1)|0)>>>2;u=(v+1+u|0)>>>1&255;q=w&255;E=((v<<1)+q+E|0)>>>2;m=q+1|0;v=(m+v|0)>>>1&255;C=C&255;G=z&255;j=t;k=u;l=v;m=(m+C|0)>>>1&255;n=H&255;o=i&255;p=E&255;q=(B+C+(q<<1)|0)>>>2&255;s=(G+2+(F<<1)+s|0)>>>2&255;i=E<<24|(F+2+(G<<1)+(D&255)|0)>>>2&255|H<<8&65280|i<<16&16711680;break}case 6:{if(!(F&(l|0)!=0)){i=1;j=51;break a}l=j&255;q=A&255;u=q+1|0;p=(u+l|0)>>>1&255;H=z&255;G=H+2|0;v=(G+(q<<1)+l|0)>>>2&255;u=(u+H|0)>>>1&255;i=D&255;q=q+2|0;F=(q+(H<<1)+i|0)>>>2;D=(H+1+i|0)>>>1;H=E&255;n=y&255;q=(q+n+(l<<1)|0)>>>2&255;m=x&255;j=p;k=q;l=(m+2+(n<<1)+l|0)>>>2&255;m=(n+2+(w&255)+(m<<1)|0)>>>2&255;n=u;o=v;s=D&255;t=F&255;i=D<<16&16711680|F<<24|(i+1+H|0)>>>1&255|G+H+(i<<1)<<6&65280;break}case 7:{if(!G){i=1;j=51;break a}F=(k|0)==0;q=y&255;n=x&255;A=w&255;s=(A+1+n|0)>>>1&255;D=C&255;u=D+1|0;t=(u+A|0)>>>1&255;v=(F?C:o)&255;u=(u+v|0)>>>1&255;i=D+2|0;H=(i+n+(A<<1)|0)>>>2;E=v+2|0;D=(E+A+(D<<1)|0)>>>2;G=(F?C:p)&255;i=(i+G+(v<<1)|0)>>>2;j=(n+1+q|0)>>>1&255;k=s;l=t;m=u;n=(A+2+q+(n<<1)|0)>>>2&255;o=H&255;p=D&255;q=i&255;v=(v+1+G|0)>>>1&255;i=D<<8&65280|(E+((F?C:B)&255)+(G<<1)|0)>>>2<<24|H&255|i<<16&16711680;break}default:{if(!H){i=1;j=51;break a}l=A&255;k=z&255;j=k+1|0;s=D&255;m=s+2|0;n=(j+s|0)>>>1&255;i=E&255;o=(k+2+i+(s<<1)|0)>>>2&255;s=(s+1+i|0)>>>1&255;t=(m+(i*3|0)|0)>>>2&255;j=(j+l|0)>>>1&255;k=(m+l+(k<<1)|0)>>>2&255;l=n;m=o;p=s;q=t;u=E;v=E;i=i<<8|i|i<<16|i<<24}}J=e+((J<<4)+I)|0;c[J>>2]=(l&255)<<16|(m&255)<<24|(k&255)<<8|j&255;c[J+16>>2]=(p&255)<<16|(q&255)<<24|(o&255)<<8|n&255;c[J+32>>2]=(u&255)<<16|(v&255)<<24|(t&255)<<8|s&255;c[J+48>>2]=i;ff(e,f+328+(K<<6)|0,K);K=K+1|0;if(K>>>0>=16){i=0;j=51;break}}if((j|0)==51)return i|0;return 0}function df(b,e,f,g,h,i,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;l=b+200|0;k=ef(b,c[l>>2]|0)|0;m=(j|0)!=0;if(m&(k|0)!=0){w=(af(c[c[l>>2]>>2]|0)|0)==2;k=w?0:k}l=b+204|0;j=ef(b,c[l>>2]|0)|0;if(m&(j|0)!=0){n=(af(c[c[l>>2]>>2]|0)|0)==2;n=n?0:j}else n=j;l=b+212|0;j=ef(b,c[l>>2]|0)|0;if(m&(j|0)!=0){w=(af(c[c[l>>2]>>2]|0)|0)==2;j=w?0:j}v=(k|0)!=0;w=(n|0)!=0;u=v&w;t=u&(j|0)!=0;s=(k|0)==0;q=(n|0)==0;o=16;p=1;n=f;a:while(1){switch(i|0){case 0:{l=g+1|0;do if(!u){if(w){j=((d[l>>0]|0)+2+(d[g+2>>0]|0)+(d[g+3>>0]|0)+(d[g+4>>0]|0)|0)>>>2;k=((d[g+5>>0]|0)+2+(d[g+6>>0]|0)+(d[g+7>>0]|0)+(d[g+8>>0]|0)|0)>>>2;break}if(v){k=((d[h>>0]|0)+2+(d[h+1>>0]|0)+(d[h+2>>0]|0)+(d[h+3>>0]|0)|0)>>>2;j=k}else{j=128;k=128}}else{j=((d[l>>0]|0)+4+(d[g+2>>0]|0)+(d[g+3>>0]|0)+(d[g+4>>0]|0)+(d[h>>0]|0)+(d[h+1>>0]|0)+(d[h+2>>0]|0)+(d[h+3>>0]|0)|0)>>>3;k=((d[g+5>>0]|0)+2+(d[g+6>>0]|0)+(d[g+7>>0]|0)+(d[g+8>>0]|0)|0)>>>2}while(0);b=j&255;f=k&255;rj(e|0,b|0,4)|0;rj(e+4|0,f|0,4)|0;rj(e+8|0,b|0,4)|0;rj(e+12|0,f|0,4)|0;rj(e+16|0,b|0,4)|0;rj(e+20|0,f|0,4)|0;m=e+32|0;rj(e+24|0,b|0,4)|0;rj(e+28|0,f|0,4)|0;if(v){l=d[h+7>>0]|0;k=(d[h+5>>0]|0)+(d[h+4>>0]|0)+(d[h+6>>0]|0)|0;j=(k+2+l|0)>>>2;if(w){b=j;j=(k+4+l+(d[g+5>>0]|0)+(d[g+6>>0]|0)+(d[g+7>>0]|0)+(d[g+8>>0]|0)|0)>>>3}else b=j}else if(w){b=((d[l>>0]|0)+2+(d[g+2>>0]|0)+(d[g+3>>0]|0)+(d[g+4>>0]|0)|0)>>>2;j=((d[g+5>>0]|0)+2+(d[g+6>>0]|0)+(d[g+7>>0]|0)+(d[g+8>>0]|0)|0)>>>2}else{b=128;j=128}b=b&255;f=j&255;rj(m|0,b|0,4)|0;rj(e+36|0,f|0,4)|0;rj(e+40|0,b|0,4)|0;rj(e+44|0,f|0,4)|0;rj(e+48|0,b|0,4)|0;rj(e+52|0,f|0,4)|0;rj(e+56|0,b|0,4)|0;rj(e+60|0,f|0,4)|0;break}case 1:{if(s){j=1;k=28;break a}a[e>>0]=a[h>>0]|0;a[e+1>>0]=a[h>>0]|0;a[e+2>>0]=a[h>>0]|0;a[e+3>>0]=a[h>>0]|0;a[e+4>>0]=a[h>>0]|0;a[e+5>>0]=a[h>>0]|0;a[e+6>>0]=a[h>>0]|0;f=h+1|0;a[e+7>>0]=a[h>>0]|0;a[e+8>>0]=a[f>>0]|0;a[e+9>>0]=a[f>>0]|0;a[e+10>>0]=a[f>>0]|0;a[e+11>>0]=a[f>>0]|0;a[e+12>>0]=a[f>>0]|0;a[e+13>>0]=a[f>>0]|0;a[e+14>>0]=a[f>>0]|0;m=h+2|0;a[e+15>>0]=a[f>>0]|0;a[e+16>>0]=a[m>>0]|0;a[e+17>>0]=a[m>>0]|0;a[e+18>>0]=a[m>>0]|0;a[e+19>>0]=a[m>>0]|0;a[e+20>>0]=a[m>>0]|0;a[e+21>>0]=a[m>>0]|0;a[e+22>>0]=a[m>>0]|0;f=h+3|0;a[e+23>>0]=a[m>>0]|0;a[e+24>>0]=a[f>>0]|0;a[e+25>>0]=a[f>>0]|0;a[e+26>>0]=a[f>>0]|0;a[e+27>>0]=a[f>>0]|0;a[e+28>>0]=a[f>>0]|0;a[e+29>>0]=a[f>>0]|0;a[e+30>>0]=a[f>>0]|0;m=h+4|0;a[e+31>>0]=a[f>>0]|0;a[e+32>>0]=a[m>>0]|0;a[e+33>>0]=a[m>>0]|0;a[e+34>>0]=a[m>>0]|0;a[e+35>>0]=a[m>>0]|0;a[e+36>>0]=a[m>>0]|0;a[e+37>>0]=a[m>>0]|0;a[e+38>>0]=a[m>>0]|0;f=h+5|0;a[e+39>>0]=a[m>>0]|0;a[e+40>>0]=a[f>>0]|0;a[e+41>>0]=a[f>>0]|0;a[e+42>>0]=a[f>>0]|0;a[e+43>>0]=a[f>>0]|0;a[e+44>>0]=a[f>>0]|0;a[e+45>>0]=a[f>>0]|0;a[e+46>>0]=a[f>>0]|0;m=h+6|0;a[e+47>>0]=a[f>>0]|0;a[e+48>>0]=a[m>>0]|0;a[e+49>>0]=a[m>>0]|0;a[e+50>>0]=a[m>>0]|0;a[e+51>>0]=a[m>>0]|0;a[e+52>>0]=a[m>>0]|0;a[e+53>>0]=a[m>>0]|0;a[e+54>>0]=a[m>>0]|0;f=h+7|0;a[e+55>>0]=a[m>>0]|0;a[e+56>>0]=a[f>>0]|0;a[e+57>>0]=a[f>>0]|0;a[e+58>>0]=a[f>>0]|0;a[e+59>>0]=a[f>>0]|0;a[e+60>>0]=a[f>>0]|0;a[e+61>>0]=a[f>>0]|0;a[e+62>>0]=a[f>>0]|0;a[e+63>>0]=a[f>>0]|0;break}case 2:{if(q){j=1;k=28;break a}m=g+1|0;a[e>>0]=a[m>>0]|0;a[e+8>>0]=a[m>>0]|0;a[e+16>>0]=a[m>>0]|0;a[e+24>>0]=a[m>>0]|0;a[e+32>>0]=a[m>>0]|0;a[e+40>>0]=a[m>>0]|0;a[e+48>>0]=a[m>>0]|0;f=g+2|0;a[e+56>>0]=a[m>>0]|0;a[e+1>>0]=a[f>>0]|0;a[e+9>>0]=a[f>>0]|0;a[e+17>>0]=a[f>>0]|0;a[e+25>>0]=a[f>>0]|0;a[e+33>>0]=a[f>>0]|0;a[e+41>>0]=a[f>>0]|0;a[e+49>>0]=a[f>>0]|0;m=g+3|0;a[e+57>>0]=a[f>>0]|0;a[e+2>>0]=a[m>>0]|0;a[e+10>>0]=a[m>>0]|0;a[e+18>>0]=a[m>>0]|0;a[e+26>>0]=a[m>>0]|0;a[e+34>>0]=a[m>>0]|0;a[e+42>>0]=a[m>>0]|0;a[e+50>>0]=a[m>>0]|0;f=g+4|0;a[e+58>>0]=a[m>>0]|0;a[e+3>>0]=a[f>>0]|0;a[e+11>>0]=a[f>>0]|0;a[e+19>>0]=a[f>>0]|0;a[e+27>>0]=a[f>>0]|0;a[e+35>>0]=a[f>>0]|0;a[e+43>>0]=a[f>>0]|0;a[e+51>>0]=a[f>>0]|0;m=g+5|0;a[e+59>>0]=a[f>>0]|0;a[e+4>>0]=a[m>>0]|0;a[e+12>>0]=a[m>>0]|0;a[e+20>>0]=a[m>>0]|0;a[e+28>>0]=a[m>>0]|0;a[e+36>>0]=a[m>>0]|0;a[e+44>>0]=a[m>>0]|0;a[e+52>>0]=a[m>>0]|0;f=g+6|0;a[e+60>>0]=a[m>>0]|0;a[e+5>>0]=a[f>>0]|0;a[e+13>>0]=a[f>>0]|0;a[e+21>>0]=a[f>>0]|0;a[e+29>>0]=a[f>>0]|0;a[e+37>>0]=a[f>>0]|0;a[e+45>>0]=a[f>>0]|0;a[e+53>>0]=a[f>>0]|0;m=g+7|0;a[e+61>>0]=a[f>>0]|0;a[e+6>>0]=a[m>>0]|0;a[e+14>>0]=a[m>>0]|0;a[e+22>>0]=a[m>>0]|0;a[e+30>>0]=a[m>>0]|0;a[e+38>>0]=a[m>>0]|0;a[e+46>>0]=a[m>>0]|0;a[e+54>>0]=a[m>>0]|0;f=g+8|0;a[e+62>>0]=a[m>>0]|0;a[e+7>>0]=a[f>>0]|0;a[e+15>>0]=a[f>>0]|0;a[e+23>>0]=a[f>>0]|0;a[e+31>>0]=a[f>>0]|0;a[e+39>>0]=a[f>>0]|0;a[e+47>>0]=a[f>>0]|0;a[e+55>>0]=a[f>>0]|0;a[e+63>>0]=a[f>>0]|0;break}default:{if(!t){j=1;k=28;break a}l=d[g+8>>0]|0;b=d[h+7>>0]|0;m=d[g>>0]|0;f=(((d[g+5>>0]|0)-(d[g+3>>0]|0)+((d[g+6>>0]|0)-(d[g+2>>0]|0)<<1)+(((d[g+7>>0]|0)-(d[g+1>>0]|0)|0)*3|0)+(l-m<<2)|0)*17|0)+16>>5;m=(((d[h+4>>0]|0)-(d[h+2>>0]|0)+(b-m<<2)+((d[h+5>>0]|0)-(d[h+1>>0]|0)<<1)+(((d[h+6>>0]|0)-(d[h>>0]|0)|0)*3|0)|0)*17|0)+16>>5;l=(b+l<<4)+16+(r(m,-3)|0)|0;b=r(f,-3)|0;k=l+b|0;a[e>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+1>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+2>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+3>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+4>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+5>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+6>>0]=a[49274+(k>>5)>>0]|0;a[e+7>>0]=a[49274+(k+f>>5)>>0]|0;l=l+m|0;k=l+b|0;a[e+8>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+9>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+10>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+11>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+12>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+13>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+14>>0]=a[49274+(k>>5)>>0]|0;a[e+15>>0]=a[49274+(k+f>>5)>>0]|0;l=l+m|0;k=l+b|0;a[e+16>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+17>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+18>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+19>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+20>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+21>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+22>>0]=a[49274+(k>>5)>>0]|0;a[e+23>>0]=a[49274+(k+f>>5)>>0]|0;l=l+m|0;k=l+b|0;a[e+24>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+25>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+26>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+27>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+28>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+29>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+30>>0]=a[49274+(k>>5)>>0]|0;a[e+31>>0]=a[49274+(k+f>>5)>>0]|0;l=l+m|0;k=l+b|0;a[e+32>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+33>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+34>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+35>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+36>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+37>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+38>>0]=a[49274+(k>>5)>>0]|0;a[e+39>>0]=a[49274+(k+f>>5)>>0]|0;l=l+m|0;k=l+b|0;a[e+40>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+41>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+42>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+43>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+44>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+45>>0]=a[49274+(k>>5)>>0]|0;k=k+f|0;a[e+46>>0]=a[49274+(k>>5)>>0]|0;a[e+47>>0]=a[49274+(k+f>>5)>>0]|0;b=l+m+b|0;a[e+48>>0]=a[49274+(b>>5)>>0]|0;l=b+f|0;a[e+49>>0]=a[49274+(l>>5)>>0]|0;l=l+f|0;a[e+50>>0]=a[49274+(l>>5)>>0]|0;l=l+f|0;a[e+51>>0]=a[49274+(l>>5)>>0]|0;l=l+f|0;a[e+52>>0]=a[49274+(l>>5)>>0]|0;l=l+f|0;a[e+53>>0]=a[49274+(l>>5)>>0]|0;l=l+f|0;a[e+54>>0]=a[49274+(l>>5)>>0]|0;a[e+55>>0]=a[49274+(l+f>>5)>>0]|0;m=b+m|0;a[e+56>>0]=a[49274+(m>>5)>>0]|0;m=m+f|0;a[e+57>>0]=a[49274+(m>>5)>>0]|0;m=m+f|0;a[e+58>>0]=a[49274+(m>>5)>>0]|0;m=m+f|0;a[e+59>>0]=a[49274+(m>>5)>>0]|0;m=m+f|0;a[e+60>>0]=a[49274+(m>>5)>>0]|0;m=m+f|0;a[e+61>>0]=a[49274+(m>>5)>>0]|0;m=m+f|0;a[e+62>>0]=a[49274+(m>>5)>>0]|0;a[e+63>>0]=a[49274+(m+f>>5)>>0]|0}}ff(e,n,o);f=o|1;ff(e,n+64|0,f);ff(e,n+128|0,f+1|0);ff(e,n+192|0,o|3);if(p>>>0<2){g=g+9|0;o=o+4|0;p=2;e=e+64|0;h=h+8|0;n=n+256|0}else{j=0;k=28;break}}if((k|0)==28)return j|0;return 0}function ef(a,b){a=a|0;b=b|0;if(!b)return 0;else return (c[a+4>>2]|0)==(c[b+4>>2]|0)|0;return 0}function ff(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=c[e>>2]|0;if((g|0)==16777215)return;m=f>>>0<16;k=m?16:8;m=m?f:f&3;b=b+(r(c[1928+(m<<2)>>2]|0,k)|0)+(c[1864+(m<<2)>>2]|0)|0;m=c[e+4>>2]|0;f=b+1|0;l=d[f>>0]|0;a[b>>0]=a[49274+(g+(d[b>>0]|0))>>0]|0;j=c[e+8>>2]|0;i=b+2|0;h=d[i>>0]|0;a[f>>0]=a[49274+(m+l)>>0]|0;f=b+3|0;l=a[49274+((c[e+12>>2]|0)+(d[f>>0]|0))>>0]|0;a[i>>0]=a[49274+(j+h)>>0]|0;a[f>>0]=l;b=b+k|0;f=c[e+20>>2]|0;l=b+1|0;i=d[l>>0]|0;a[b>>0]=a[49274+((c[e+16>>2]|0)+(d[b>>0]|0))>>0]|0;h=c[e+24>>2]|0;j=b+2|0;g=d[j>>0]|0;a[l>>0]=a[49274+(f+i)>>0]|0;l=b+3|0;i=a[49274+((c[e+28>>2]|0)+(d[l>>0]|0))>>0]|0;a[j>>0]=a[49274+(h+g)>>0]|0;a[l>>0]=i;b=b+k|0;l=c[e+36>>2]|0;i=b+1|0;j=d[i>>0]|0;a[b>>0]=a[49274+((c[e+32>>2]|0)+(d[b>>0]|0))>>0]|0;g=c[e+40>>2]|0;h=b+2|0;f=d[h>>0]|0;a[i>>0]=a[49274+(l+j)>>0]|0;i=b+3|0;j=a[49274+((c[e+44>>2]|0)+(d[i>>0]|0))>>0]|0;a[h>>0]=a[49274+(g+f)>>0]|0;a[i>>0]=j;b=b+k|0;k=c[e+52>>2]|0;i=b+1|0;j=d[i>>0]|0;a[b>>0]=a[49274+((c[e+48>>2]|0)+(d[b>>0]|0))>>0]|0;h=c[e+56>>2]|0;f=b+2|0;g=d[f>>0]|0;a[i>>0]=a[49274+(k+j)>>0]|0;b=b+3|0;e=a[49274+((c[e+60>>2]|0)+(d[b>>0]|0))>>0]|0;a[f>>0]=a[49274+(h+g)>>0]|0;a[b>>0]=e;return}function gf(a){a=a|0;return 4880+(a<<3)|0}function hf(a){a=a|0;return 4688+(a<<3)|0}function jf(a){a=a|0;return 4496+(a<<3)|0}function kf(a){a=a|0;return 4304+(a<<3)|0}function lf(a){a=a|0;return a+1&3|0}function mf(a){a=a|0;return (c[a+8>>2]|0)==0|0}function nf(a,b,d){a=a|0;b=b|0;d=d|0;if(d|0){b=ke(a,b)|0;return b|0}d=ce(a,1)|0;c[b>>2]=d;if((d|0)==-1){b=1;return b|0}c[b>>2]=d^1;b=0;return b|0}function of(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0;g=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);f=g;if(ke(a,f)|0){b=1;cc=g;return b|0}f=c[f>>2]|0;if(f>>>0>47){b=1;cc=g;return b|0}c[b>>2]=d[((e|0)==0?50768:50816)+f>>0];b=0;cc=g;return b|0}function pf(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=gf(e)|0;e=hf(e)|0;h=a[g+4>>0]|0;i=a[e+4>>0]|0;e=(c[e>>2]|0)==4;if((c[g>>2]|0)==4){g=b[f+((h&255)<<1)>>1]|0;if(e){d=g+1+(b[f+((i&255)<<1)>>1]|0)>>1;return d|0}e=d+204|0;if(!(ef(d,c[e>>2]|0)|0)){d=g;return d|0}d=g+1+(b[(c[e>>2]|0)+28+((i&255)<<1)>>1]|0)>>1;return d|0}if(e){e=b[f+((i&255)<<1)>>1]|0;g=d+200|0;if(!(ef(d,c[g>>2]|0)|0)){d=e;return d|0}d=e+1+(b[(c[g>>2]|0)+28+((h&255)<<1)>>1]|0)>>1;return d|0}e=d+200|0;if(!(ef(d,c[e>>2]|0)|0)){g=0;f=0}else{g=b[(c[e>>2]|0)+28+((h&255)<<1)>>1]|0;f=1}e=d+204|0;if(!(ef(d,c[e>>2]|0)|0)){d=g;return d|0}else{d=b[(c[e>>2]|0)+28+((i&255)<<1)>>1]|0;return ((f|0)==0?d:g+1+d>>1)|0}return 0}function qf(a,b,f,g){a=a|0;b=b|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;T=cc;cc=cc+128|0;if((cc|0)>=(dc|0))w(128);R=T+64|0;S=T;o=ee(a)|0;m=o>>>16;do if(f>>>0<2)if((o|0)>=0){if(o>>>0>201326591){n=e[41408+(o>>>26<<1)>>1]|0;K=25;break}if(o>>>0>16777215){n=e[41472+(o>>>22<<1)>>1]|0;K=25;break}if(o>>>0>2097151){n=e[41568+((o>>>18)+-8<<1)>>1]|0;K=25;break}else{n=e[41680+(m<<1)>>1]|0;K=25;break}}else p=1;else if(f>>>0<4){if((o|0)<0){p=(o&1073741824|0)==0?2082:2;break}if(o>>>0>268435455){n=e[41744+(o>>>26<<1)>>1]|0;K=25;break}if(o>>>0>33554431){n=e[41808+(o>>>23<<1)>>1]|0;K=25;break}else{n=e[41872+(o>>>18<<1)>>1]|0;K=25;break}}else{if(f>>>0<8){f=o>>>26;if((f+-8|0)>>>0<56){n=e[42128+(f<<1)>>1]|0;K=25;break}n=e[42256+(o>>>22<<1)>>1]|0;K=25;break}if(f>>>0<17){n=e[42512+(o>>>26<<1)>>1]|0;K=25;break}f=o>>>29;if(f|0){n=e[42640+(f<<1)>>1]|0;K=25;break}n=e[42656+(o>>>24<<1)>>1]|0;K=25;break}while(0);if((K|0)==25)if(!n){S=1;cc=T;return S|0}else p=n;n=p&31;f=o<>>11;L=y&31;if(L>>>0>g>>>0){S=1;cc=T;return S|0}v=p>>>5&63;do if(L){if(!v)n=0;else{do if(m>>>0>>0)if((oe(a,n)|0)==-1){S=1;cc=T;return S|0}else{m=32;f=ee(a)|0;break}while(0);o=f>>>(32-v|0);f=f<>2]=(n&o|0)==0?1:-1;n=n>>>1;p=p+1|0}while((n|0)!=0);m=m-v|0;n=p}u=v>>>0<3;a:do if(n>>>0>>0){t=n;s=L>>>0>10&u&1;b:while(1){if(m>>>0<16){if((oe(a,32-m|0)|0)==-1){O=1;K=125;break}r=32;f=ee(a)|0}else r=m;do if((f|0)>=0)if(f>>>0<=1073741823)if(f>>>0<=536870911)if(f>>>0<=268435455)if(f>>>0<=134217727)if(f>>>0<=67108863)if(f>>>0<=33554431)if(f>>>0<=16777215)if(f>>>0<=8388607)if(f>>>0>4194303){I=9;K=59}else{if(f>>>0>2097151){I=10;K=59;break}if(f>>>0>1048575){I=11;K=59;break}if(f>>>0>524287){I=12;K=59;break}if(f>>>0>262143){I=13;K=59;break}if(f>>>0>131071){n=14;m=f<<15;o=r+-15|0;q=s;p=(s|0)==0?4:s}else{if((f&-65536|0)!=65536){O=1;K=125;break b}n=15;m=f<<16;o=r+-16|0;q=(s|0)==0?1:s;p=12}H=m;C=n<>>0>>0){if((oe(a,32-z|0)|0)==-1){O=1;K=125;break}f=32;m=ee(a)|0}else{f=z;m=H}F=f-x|0;G=m<>>(32-x|0))+C|0;D=A;E=q}s=u&(t|0)==(v|0)?B+2|0:B;n=(s+2|0)>>>1;o=E?1:D;c[R+(t<<2)>>2]=(s&1|0)==0?n:0-n|0;t=t+1|0;if(t>>>0>=L>>>0){l=F;j=G;break a}else{m=F;f=G;s=o+(o>>>0<6&(n|0)>(3<>>0>>0){do if(l>>>0<9)if((oe(a,32-l|0)|0)==-1){S=1;cc=T;return S|0}else{l=32;j=ee(a)|0;break}while(0);f=j>>>23;c:do if((g|0)==4)if((j|0)>=0)if((L|0)!=3)if(j>>>0>1073741823)k=18;else k=(L|0)==2?34:j>>>0>536870911?35:51;else k=17;else k=1;else{do switch(y&31){case 1:{if(j>>>0>268435455)k=d[50146+(j>>>27)>>0]|0;else{J=50178+f|0;K=91}break}case 2:{J=50210+(j>>>26)|0;K=91;break}case 3:{J=50274+(j>>>26)|0;K=91;break}case 4:{J=50338+(j>>>27)|0;K=91;break}case 5:{J=50370+(j>>>27)|0;K=91;break}case 6:{J=50402+(j>>>26)|0;K=91;break}case 7:{J=50466+(j>>>26)|0;K=91;break}case 8:{J=50530+(j>>>26)|0;K=91;break}case 9:{J=50594+(j>>>26)|0;K=91;break}case 10:{J=50658+(j>>>27)|0;K=91;break}case 11:{J=50690+(j>>>28)|0;K=91;break}case 12:{J=50706+(j>>>28)|0;K=91;break}case 13:{J=50722+(j>>>29)|0;K=91;break}case 14:{J=50730+(j>>>30)|0;K=91;break}default:{k=j>>31&16|1;break c}}while(0);if((K|0)==91)k=d[J>>0]|0;if(!k){S=1;cc=T;return S|0}}while(0);g=k&15;l=l-g|0;j=j<>>4&15}else k=0;n=L+-1|0;if(!n){c[b+(k<<2)>>2]=c[R+(n<<2)>>2];P=l;h=1<>2]=1;Q=l;i=0}else{if(l>>>0<11){if((oe(a,32-l|0)|0)==-1){O=1;K=125;break}l=32;j=ee(a)|0}switch(f|0){case 1:{N=50734+(j>>>31)|0;K=117;break}case 2:{N=50736+(j>>>30)|0;K=117;break}case 3:{N=50740+(j>>>30)|0;K=117;break}case 4:{N=50744+(j>>>29)|0;K=117;break}case 5:{N=50752+(j>>>29)|0;K=117;break}case 6:{N=50760+(j>>>29)|0;K=117;break}default:{if(j>>>0<=536870911)if(j>>>0<=268435455)if(j>>>0<=134217727)if(j>>>0<=67108863)if(j>>>0<=33554431)if(j>>>0>16777215)k=184;else k=j>>>0>8388607?201:j>>>0>4194303?218:j>>>0<2097152?0:235;else k=167;else k=150;else k=133;else k=116;else k=112-(j>>>29<<4)|3;if((k>>>4&15)>>>0>f>>>0){O=1;K=125;break d}else M=k}}if((K|0)==117){K=0;M=d[N>>0]|0}if(!M){O=1;K=125;break}g=M&15;i=M>>>4&15;c[S+(m<<2)>>2]=i+1;Q=l-g|0;j=j<>>0>=n>>>0){K=122;break}else{l=Q;f=i}}if((K|0)==122){c[b+(i<<2)>>2]=c[R+(n<<2)>>2];j=L+-2|0;h=1<>2]|0)+i|0;h=1<>2]=c[R+(j<<2)>>2];if(!j){P=Q;break}else j=j+-1|0}}else if((K|0)==125){cc=T;return O|0}}else{P=m;h=0}while(0);S=(oe(a,32-P|0)|0)==0;S=S?h<<16|L<<4:1;cc=T;return S|0}function rf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=c[a+1192>>2]|0;d=c[a+1200>>2]|0;a:do if(d){d=d+-1|0;if(d>>>0>b>>>0){f=c[a+1212>>2]|0;g=a+16|0;e=0;do{if((c[f+(d*216|0)+4>>2]|0)==(i|0)){e=e+1|0;h=c[(c[g>>2]|0)+52>>2]|0;if(e>>>0>=(h>>>0>10?h:10)>>>0)break a}d=d+-1|0}while(d>>>0>b>>>0)}}else d=b;while(0);b=a+1212|0;h=a+1172|0;g=a+1176|0;f=d;while(1){d=c[b>>2]|0;if((c[d+(f*216|0)+4>>2]|0)!=(i|0)){d=11;break}e=d+(f*216|0)+196|0;d=c[e>>2]|0;if(!d){d=11;break}c[e>>2]=d+-1;f=fe(c[h>>2]|0,c[g>>2]|0,f)|0;if(!f){d=11;break}}if((d|0)==11)return}function sf(a){a=a|0;switch(a|0){case 0:case 1:{a=1;break}case 3:case 2:{a=2;break}default:a=4}return a|0}function tf(a,b){a=a|0;b=b|0;var d=0;if((ce(a,1)|0)==-1){b=1;return b|0}d=b+4|0;c[d>>2]=ce(a,2)|0;a=ce(a,5)|0;c[b>>2]=a;if((a+-2|0)>>>0<3){b=1;return b|0}switch(a|0){case 5:case 7:case 8:{if((a|0)==6|(c[d>>2]|0)==0){b=1;return b|0}break}case 6:case 9:case 10:case 11:case 12:{if(c[d>>2]|0){b=1;return b|0}break}default:{}}b=0;return b|0}function uf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;if(!d)return;k=0-b|0;o=b+-1|0;l=1-b|0;m=~b;i=0;j=0;n=0;while(1){g=(i|0)!=0;f=a+(j*216|0)|0;c[a+(j*216|0)+200>>2]=g?f+-216|0:0;h=(n|0)!=0;if(h){c[a+(j*216|0)+204>>2]=f+(k*216|0);e=i>>>0>>0?f+(l*216|0)|0:0}else{c[a+(j*216|0)+204>>2]=0;e=0}c[a+(j*216|0)+208>>2]=e;c[a+(j*216|0)+212>>2]=h&g?f+(m*216|0)|0:0;e=i+1|0;f=(e|0)==(b|0);j=j+1|0;if((j|0)==(d|0))break;else{i=f?0:e;n=n+(f&1)|0}}return}function vf(a){a=a|0;je(a,0,3388);c[a+8>>2]=32;c[a+4>>2]=256;c[a+1332>>2]=1;return}function wf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=c[b+8>>2]|0;g=a+20+(d<<2)|0;e=c[g>>2]|0;do if(!e){a=me(92,1)|0;c[g>>2]=a;if(!a){a=65535;return a|0}}else{f=a+8|0;if((d|0)!=(c[f>>2]|0)){xf(c[e+40>>2]|0);c[(c[g>>2]|0)+40>>2]=0;xf(c[(c[g>>2]|0)+84>>2]|0);c[(c[g>>2]|0)+84>>2]=0;break}d=a+16|0;if(qe(b,c[d>>2]|0)|0){xf(c[(c[g>>2]|0)+40>>2]|0);c[(c[g>>2]|0)+40>>2]=0;xf(c[(c[g>>2]|0)+84>>2]|0);c[(c[g>>2]|0)+84>>2]=0;c[f>>2]=33;c[a+4>>2]=257;c[d>>2]=0;c[a+12>>2]=0;break}a=b+40|0;xf(c[a>>2]|0);c[a>>2]=0;a=b+84|0;xf(c[a>>2]|0);c[a>>2]=0;a=0;return a|0}while(0);e=c[g>>2]|0;d=e+92|0;do{c[e>>2]=c[b>>2];e=e+4|0;b=b+4|0}while((e|0)<(d|0));a=0;return a|0}function xf(a){a=a|0;Kh(a);return}function yf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=c[b>>2]|0;g=a+148+(d<<2)|0;e=c[g>>2]|0;if(!e){a=me(72,1)|0;c[g>>2]=a;if(!a){a=65535;return a|0}}else{f=a+4|0;if((d|0)==(c[f>>2]|0)){if((c[b+4>>2]|0)!=(c[a+8>>2]|0))c[f>>2]=257;xf(c[e+20>>2]|0);c[(c[g>>2]|0)+20>>2]=0;xf(c[(c[g>>2]|0)+24>>2]|0);c[(c[g>>2]|0)+24>>2]=0;xf(c[(c[g>>2]|0)+28>>2]|0);c[(c[g>>2]|0)+28>>2]=0;xf(c[(c[g>>2]|0)+44>>2]|0)}else{xf(c[e+20>>2]|0);c[(c[g>>2]|0)+20>>2]=0;xf(c[(c[g>>2]|0)+24>>2]|0);c[(c[g>>2]|0)+24>>2]=0;xf(c[(c[g>>2]|0)+28>>2]|0);c[(c[g>>2]|0)+28>>2]=0;xf(c[(c[g>>2]|0)+44>>2]|0)}c[(c[g>>2]|0)+44>>2]=0}e=c[g>>2]|0;d=e+72|0;do{c[e>>2]=c[b>>2];e=e+4|0;b=b+4|0}while((e|0)<(d|0));a=0;return a|0}function zf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=c[a+148+(b<<2)>>2]|0;n=m;if(!m){a=1;return a|0}o=c[m+4>>2]|0;p=a+20+(o<<2)|0;e=c[p>>2]|0;if(!e){a=1;return a|0}k=c[e+52>>2]|0;l=r(c[e+56>>2]|0,k)|0;g=c[m+12>>2]|0;a:do if(g>>>0>1){e=c[m+16>>2]|0;switch(e|0){case 0:{e=c[m+20>>2]|0;f=0;while(1){if((c[e+(f<<2)>>2]|0)>>>0>l>>>0){e=1;break}f=f+1|0;if(f>>>0>=g>>>0)break a}return e|0}case 2:{j=g+-1|0;g=c[m+24>>2]|0;h=c[m+28>>2]|0;i=0;while(1){e=c[g+(i<<2)>>2]|0;f=c[h+(i<<2)>>2]|0;if(!(e>>>0<=f>>>0&f>>>0>>0)){e=1;f=37;break}i=i+1|0;if(((e>>>0)%(k>>>0)|0)>>>0>((f>>>0)%(k>>>0)|0)>>>0){e=1;f=37;break}if(i>>>0>=j>>>0)break a}if((f|0)==37)return e|0;break}default:{if((e+-3|0)>>>0<3){if((c[m+36>>2]|0)>>>0>l>>>0)e=1;else break a;return e|0}if((e|0)!=6)break a;if((c[m+40>>2]|0)>>>0>>0)e=1;else break a;return e|0}}}while(0);f=a+4|0;e=c[f>>2]|0;do if((e|0)!=256){g=a+3380|0;if(!(c[g>>2]|0)){if((e|0)==(b|0))break;e=a+8|0;if((o|0)==(c[e>>2]|0)){c[f>>2]=b;c[a+12>>2]=n;break}if(!d){a=1;return a|0}else{c[f>>2]=b;c[a+12>>2]=m;c[e>>2]=o;q=c[p>>2]|0;c[a+16>>2]=q;b=c[q+52>>2]|0;q=c[q+56>>2]|0;c[a+1176>>2]=r(q,b)|0;c[a+1340>>2]=b;c[a+1344>>2]=q;c[g>>2]=1;break}}c[g>>2]=0;f=a+1212|0;xf(c[f>>2]|0);c[f>>2]=0;e=a+1172|0;xf(c[e>>2]|0);c[e>>2]=0;g=a+1176|0;c[f>>2]=me(216,c[g>>2]|0)|0;b=me(4,c[g>>2]|0)|0;c[e>>2]=b;e=c[f>>2]|0;if((b|0)==0|(e|0)==0){a=65535;return a|0}je(e,0,(c[g>>2]|0)*216|0);b=a+16|0;uf(c[f>>2]|0,c[(c[b>>2]|0)+52>>2]|0,c[g>>2]|0);f=c[b>>2]|0;do if((c[a+1216>>2]|0)==0?(c[f+16>>2]|0)!=2:0){if((c[f+80>>2]|0?(q=c[f+84>>2]|0,c[q+920>>2]|0):0)?(c[q+944>>2]|0)==0:0){e=1;break}e=0}else e=1;while(0);q=r(c[f+56>>2]|0,c[f+52>>2]|0)|0;e=Af(a+1220|0,q,c[f+88>>2]|0,c[f+44>>2]|0,c[f+12>>2]|0,e)|0;if(e|0){a=e;return a|0}}else{c[f>>2]=b;c[a+12>>2]=m;c[a+8>>2]=o;e=c[p>>2]|0;c[a+16>>2]=e;f=c[e+52>>2]|0;do if(f){e=c[e+56>>2]|0;if(e>>>0>(4294967295/(f>>>0)|0)>>>0){a=65535;return a|0}else{c[a+1176>>2]=r(e,f)|0;break}}else{c[a+1176>>2]=0;e=c[e+56>>2]|0}while(0);c[a+1340>>2]=f;c[a+1344>>2]=e;c[a+3380>>2]=1}while(0);a=0;return a|0}function Af(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=c[a>>2]|0;if((h|0)!=0?(j=a+28|0,(c[j>>2]|0)!=-1):0){i=0;do{xf(c[h+(i*40|0)+4>>2]|0);h=c[a>>2]|0;c[h+(i*40|0)+4>>2]=0;i=i+1|0}while(i>>>0<((c[j>>2]|0)+1|0)>>>0)}xf(h);c[a>>2]=0;j=a+4|0;xf(c[j>>2]|0);c[j>>2]=0;j=a+12|0;xf(c[j>>2]|0);c[j>>2]=0;return Bf(a,b,d,e,f,g)|0}function Bf(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;if(b>>>0>11184810){a=65535;return a|0}c[a+36>>2]=65535;e=e>>>0>1?e:1;c[a+24>>2]=e;h=a+28|0;c[h>>2]=(g|0)==0?d:e;c[a+32>>2]=f;c[a+56>>2]=g;c[a+44>>2]=0;c[a+40>>2]=0;c[a+48>>2]=0;e=me(40,17)|0;c[a>>2]=e;if(!e){a=65535;return a|0}je(e,0,680);a:do if((c[h>>2]|0)!=-1){d=b*384|47;g=0;while(1){f=me(1,d)|0;e=c[a>>2]|0;c[e+(g*40|0)+4>>2]=f;if(!f){e=65535;break}c[e+(g*40|0)>>2]=f+(0-f&15);g=g+1|0;if(g>>>0>=((c[h>>2]|0)+1|0)>>>0)break a}return e|0}while(0);e=a+4|0;c[e>>2]=me(4,17)|0;h=me(16,(c[h>>2]|0)+1|0)|0;c[a+12>>2]=h;e=c[e>>2]|0;if((h|0)==0|(e|0)==0){a=65535;return a|0}je(e,0,68);c[a+20>>2]=0;c[a+16>>2]=0;a=0;return a|0}function Cf(a){a=a|0;var b=0,d=0;c[a+1196>>2]=0;c[a+1192>>2]=0;d=c[a+1176>>2]|0;if(!d)return;a=c[a+1212>>2]|0;b=0;do{c[a+(b*216|0)+4>>2]=0;c[a+(b*216|0)+196>>2]=0;b=b+1|0}while(b>>>0>>0);return}function Df(a){a=a|0;return (c[a+1188>>2]|0)==0|0}function Ef(a){a=a|0;var b=0,d=0,e=0;if(!(c[a+1404>>2]|0)){if((c[a+1196>>2]|0)==(c[a+1176>>2]|0)){e=1;return e|0}}else{e=c[a+1176>>2]|0;if(!e){e=1;return e|0}a=c[a+1212>>2]|0;b=0;d=0;do{d=d+((c[a+(b*216|0)+196>>2]|0)!=0&1)|0;b=b+1|0}while(b>>>0>>0);if((d|0)==(e|0)){e=1;return e|0}}e=0;return e|0}function Ff(a,b){a=a|0;b=b|0;var d=0;d=c[a+16>>2]|0;Gf(c[a+1172>>2]|0,c[a+12>>2]|0,b,c[d+52>>2]|0,c[d+56>>2]|0);return} -function Kh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!a)return;d=a+-8|0;f=c[13827]|0;a=c[a+-4>>2]|0;b=a&-8;j=d+b|0;do if(!(a&1)){e=c[d>>2]|0;if(!(a&3))return;h=d+(0-e)|0;g=e+b|0;if(h>>>0>>0)return;if((c[13828]|0)==(h|0)){a=j+4|0;b=c[a>>2]|0;if((b&3|0)!=3){i=h;b=g;break}c[13825]=g;c[a>>2]=b&-2;c[h+4>>2]=g|1;c[h+g>>2]=g;return}d=e>>>3;if(e>>>0<256){a=c[h+8>>2]|0;b=c[h+12>>2]|0;if((b|0)==(a|0)){c[13823]=c[13823]&~(1<>2]=b;c[b+8>>2]=a;i=h;b=g;break}}f=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){b=h+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){a=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0}else{i=c[h+8>>2]|0;c[i+12>>2]=a;c[a+8>>2]=i}while(0);if(f){b=c[h+28>>2]|0;d=55596+(b<<2)|0;if((c[d>>2]|0)==(h|0)){c[d>>2]=a;if(!a){c[13824]=c[13824]&~(1<>2]|0)==(h|0)?i:f+20|0)>>2]=a;if(!a){i=h;b=g;break}}c[a+24>>2]=f;b=h+16|0;d=c[b>>2]|0;if(d|0){c[a+16>>2]=d;c[d+24>>2]=a}b=c[b+4>>2]|0;if(b){c[a+20>>2]=b;c[b+24>>2]=a;i=h;b=g}else{i=h;b=g}}else{i=h;b=g}}else{i=d;h=d}while(0);if(h>>>0>=j>>>0)return;a=j+4|0;e=c[a>>2]|0;if(!(e&1))return;if(!(e&2)){if((c[13829]|0)==(j|0)){j=(c[13826]|0)+b|0;c[13826]=j;c[13829]=i;c[i+4>>2]=j|1;if((i|0)!=(c[13828]|0))return;c[13828]=0;c[13825]=0;return}if((c[13828]|0)==(j|0)){j=(c[13825]|0)+b|0;c[13825]=j;c[13828]=h;c[i+4>>2]=j|1;c[h+j>>2]=j;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){b=c[j+8>>2]|0;a=c[j+12>>2]|0;if((a|0)==(b|0)){c[13823]=c[13823]&~(1<>2]=a;c[a+8>>2]=b;break}}else{g=c[j+24>>2]|0;a=c[j+12>>2]|0;do if((a|0)==(j|0)){b=j+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){d=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0;d=a}else{d=c[j+8>>2]|0;c[d+12>>2]=a;c[a+8>>2]=d;d=a}while(0);if(g|0){a=c[j+28>>2]|0;b=55596+(a<<2)|0;if((c[b>>2]|0)==(j|0)){c[b>>2]=d;if(!d){c[13824]=c[13824]&~(1<>2]|0)==(j|0)?e:g+20|0)>>2]=d;if(!d)break}c[d+24>>2]=g;a=j+16|0;b=c[a>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}a=c[a+4>>2]|0;if(a|0){c[d+20>>2]=a;c[a+24>>2]=d}}}while(0);c[i+4>>2]=f|1;c[h+f>>2]=f;if((i|0)==(c[13828]|0)){c[13825]=f;return}}else{c[a>>2]=e&-2;c[i+4>>2]=b|1;c[h+b>>2]=b;f=b}a=f>>>3;if(f>>>0<256){d=55332+(a<<1<<2)|0;b=c[13823]|0;a=1<>2]|0}c[b>>2]=i;c[a+12>>2]=i;c[i+8>>2]=a;c[i+12>>2]=d;return}a=f>>>8;if(a)if(f>>>0>16777215)e=31;else{h=(a+1048320|0)>>>16&8;j=a<>>16&4;j=j<>>16&2;e=14-(g|h|e)+(j<>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;a=55596+(e<<2)|0;c[i+28>>2]=e;c[i+20>>2]=0;c[i+16>>2]=0;b=c[13824]|0;d=1<>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i}else{a=c[a>>2]|0;b:do if((c[a+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=a+16+(e>>>31<<2)|0;b=c[d>>2]|0;if(!b)break;if((c[b+4>>2]&-8|0)==(f|0)){a=b;break b}else{e=e<<1;a=b}}c[d>>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i;break a}while(0);h=a+8|0;j=c[h>>2]|0;c[j+12>>2]=i;c[h>>2]=i;c[i+8>>2]=j;c[i+12>>2]=a;c[i+24>>2]=0}while(0);j=(c[13831]|0)+-1|0;c[13831]=j;if(j|0)return;a=55748;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[13831]=-1;return}function Lh(a,b){a=a|0;b=b|0;var d=0;if(a){d=r(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;a=Jh(d)|0;if(!a)return a|0;if(!(c[a+-4>>2]&3))return a|0;rj(a|0,0,d|0)|0;return a|0}function Mh(a,b){a=a|0;b=b|0;if(!a){b=22;return b|0}b=Jh(8)|0;c[b>>2]=0;c[b+4>>2]=38177486;c[a>>2]=b;b=0;return b|0}function Nh(a){a=a|0;if((c[a+4>>2]|0)!=38177486){a=0;return a|0}a=c[a>>2]|0;return a|0}function Oh(a,b){a=a|0;b=b|0;if((c[a+4>>2]|0)!=38177486){b=22;return b|0}c[a>>2]=b;b=0;return b|0}function Ph(a,b){a=a|0;b=b|0;if((c[a>>2]|0)==324508639)return 0;kc[b&3]();c[a>>2]=324508639;return 0}function Qh(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=Jh(b)|0;if(a|0)break;a=dj()|0;if(!a){a=0;break}kc[a&3]()}return a|0}function Rh(a){a=a|0;Kh(a);return}function Sh(a,b){a=a|0;b=b|0;var d=0,e=0;e=Ah(b)|0;d=Qh(e+13|0)|0;c[d>>2]=e;c[d+4>>2]=e;c[d+8>>2]=0;d=Th(d)|0;pj(d|0,b|0,e+1|0)|0;c[a>>2]=d;return}function Th(a){a=a|0;return a+12|0}function Uh(a,b){a=a|0;b=b|0;c[a>>2]=41280;Sh(a+4|0,b);return}function Vh(a){a=a|0;return 1}function Wh(a){a=a|0;Ta()}function Xh(a){a=a|0;Ta()}function Yh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);f=g;if(e>>>0>4294967279)Wh(b);if(e>>>0<11)a[b+11>>0]=e;else{i=e+16&-16;h=Qh(i)|0;c[b>>2]=h;c[b+8>>2]=i|-2147483648;c[b+4>>2]=e;b=h}Zh(b,d,e)|0;a[f>>0]=0;_h(b+e|0,f);cc=g;return}function Zh(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)pj(a|0,b|0,c|0)|0;return a|0}function _h(b,c){b=b|0;c=c|0;a[b>>0]=a[c>>0]|0;return}function $h(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)rj(a|0,(ai(c)|0)&255|0,b|0)|0;return a|0}function ai(a){a=a|0;return a&255|0}function bi(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;g=a[d+11>>0]|0;h=g<<24>>24<0;g=h?c[d+4>>2]|0:g&255;if(g>>>0>>0)Xh(b);else{g=g-e|0;Yh(b,(h?c[d>>2]|0:d)+e|0,g>>>0>>0?g:f);return}}function ci(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;o=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);n=o;if((-18-d|0)>>>0>>0)Wh(b);if((a[b+11>>0]|0)<0)m=c[b>>2]|0;else m=b;if(d>>>0<2147483623){k=e+d|0;l=d<<1;k=k>>>0>>0?l:k;k=k>>>0<11?11:k+16&-16}else k=-17;l=Qh(k)|0;if(g|0)Zh(l,m,g)|0;if(i|0)Zh(l+g|0,j,i)|0;e=f-h|0;f=e-g|0;if(f|0)Zh(l+g+i|0,m+g+h|0,f)|0;if((d|0)!=10)Rh(m);c[b>>2]=l;c[b+8>>2]=k|-2147483648;i=e+i|0;c[b+4>>2]=i;a[n>>0]=0;_h(l+i|0,n);cc=o;return}function di(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);g=j;h=b+11|0;f=a[h>>0]|0;i=f<<24>>24<0;if(i)f=c[b+4>>2]|0;else f=f&255;do if(f>>>0>=d>>>0)if(i){i=(c[b>>2]|0)+d|0;a[g>>0]=0;_h(i,g);c[b+4>>2]=d;break}else{a[g>>0]=0;_h(b+d|0,g);a[h>>0]=d;break}else ei(b,d-f|0,e)|0;while(0);cc=j;return}function ei(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);i=k;if(d|0){j=b+11|0;f=a[j>>0]|0;if(f<<24>>24<0){g=(c[b+8>>2]&2147483647)+-1|0;h=c[b+4>>2]|0}else{g=10;h=f&255}if((g-h|0)>>>0>>0){fi(b,g,h+d-g|0,h,h,0,0);f=a[j>>0]|0}if(f<<24>>24<0)g=c[b>>2]|0;else g=b;$h(g+h|0,d,e)|0;f=h+d|0;if((a[j>>0]|0)<0)c[b+4>>2]=f;else a[j>>0]=f;a[i>>0]=0;_h(g+f|0,i)}cc=k;return b|0}function fi(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((-17-d|0)>>>0>>0)Wh(b);if((a[b+11>>0]|0)<0)l=c[b>>2]|0;else l=b;if(d>>>0<2147483623){j=e+d|0;k=d<<1;j=j>>>0>>0?k:j;j=j>>>0<11?11:j+16&-16}else j=-17;k=Qh(j)|0;if(g|0)Zh(k,l,g)|0;e=f-h-g|0;if(e|0)Zh(k+g+i|0,l+g+h|0,e)|0;if((d|0)!=10)Rh(l);c[b>>2]=k;c[b+8>>2]=j|-2147483648;return}function gi(b,d){b=b|0;d=d|0;var e=0,f=0;e=a[b+11>>0]|0;f=e<<24>>24<0;if(f)e=c[b+4>>2]|0;else e=e&255;if(e>>>0<=d>>>0)Xh(b);if(f)b=c[b>>2]|0;return b+d|0}function hi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);i=k;j=b+11|0;f=a[j>>0]|0;h=f<<24>>24<0;if(h){g=(c[b+8>>2]&2147483647)+-1|0;f=c[b+4>>2]|0}else{g=10;f=f&255}if((g-f|0)>>>0>=e>>>0){if(e|0){if(h)g=c[b>>2]|0;else g=b;Zh(g+f|0,d,e)|0;f=f+e|0;if((a[j>>0]|0)<0)c[b+4>>2]=f;else a[j>>0]=f;a[i>>0]=0;_h(g+f|0,i)}}else ci(b,g,f+e-g|0,f,f,0,e,d);cc=k;return b|0}function ii(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0;a=cc;cc=cc+48|0;if((cc|0)>=(dc|0))w(48);h=a+32|0;d=a+24|0;i=a+16|0;g=a;e=a+36|0;a=ji()|0;if(a|0?(f=c[a>>2]|0,f|0):0){a=f+48|0;b=c[a>>2]|0;a=c[a+4>>2]|0;if(!((b&-256|0)==1126902528&(a|0)==1129074247)){c[d>>2]=53534;ki(53484,d)}if((b|0)==1126902529&(a|0)==1129074247)a=c[f+44>>2]|0;else a=f+80|0;c[e>>2]=a;f=c[f>>2]|0;a=c[f+4>>2]|0;if(ic[c[(c[292]|0)+16>>2]&7](1168,f,e)|0){i=c[e>>2]|0;i=fc[c[(c[i>>2]|0)+8>>2]&7](i)|0;c[g>>2]=53534;c[g+4>>2]=a;c[g+8>>2]=i;ki(53398,g)}else{c[i>>2]=53534;c[i+4>>2]=a;ki(53443,i)}}ki(53522,h)}function ji(){var a=0,b=0;a=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);if(!(Ph(55788,3)|0)){b=Nh(c[13948]|0)|0;cc=a;return b|0}else ki(53673,a);return 0}function ki(a,b){a=a|0;b=b|0;var d=0,e=0;d=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);e=d;c[e>>2]=b;d=c[10234]|0;dh(d,a,e)|0;Ih(10,d)|0;Ta()}function li(a){a=a|0;return}function mi(a){a=a|0;li(a);Rh(a);return}function ni(a){a=a|0;return}function oi(a){a=a|0;return}function pi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=cc;cc=cc+64|0;if((cc|0)>=(dc|0))w(64);f=h;if(!(ti(a,b,0)|0))if((b|0)!=0?(g=xi(b,1192,1176,0)|0,(g|0)!=0):0){b=f+4|0;e=b+52|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));c[f>>2]=g;c[f+8>>2]=a;c[f+12>>2]=-1;c[f+48>>2]=1;oc[c[(c[g>>2]|0)+28>>2]&7](g,f,c[d>>2]|0,1);if((c[f+24>>2]|0)==1){c[d>>2]=c[f+16>>2];b=1}else b=0}else b=0;else b=1;cc=h;return b|0}function qi(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(ti(a,c[b+8>>2]|0,g)|0)wi(0,b,d,e,f);return}function ri(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;do if(!(ti(b,c[d+8>>2]|0,g)|0)){if(ti(b,c[d>>2]|0,g)|0){if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;c[h>>2]=e;g=d+40|0;c[g>>2]=(c[g>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1;c[d+44>>2]=4;break}if((f|0)==1)c[d+32>>2]=1}}else vi(0,d,e,f);while(0);return}function si(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(ti(a,c[b+8>>2]|0,0)|0)ui(0,b,d,e);return}function ti(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function ui(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;b=d+16|0;g=c[b>>2]|0;do if(g){if((g|0)!=(e|0)){f=d+36|0;c[f>>2]=(c[f>>2]|0)+1;c[d+24>>2]=2;a[d+54>>0]=1;break}b=d+24|0;if((c[b>>2]|0)==2)c[b>>2]=f}else{c[b>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1}while(0);return}function vi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if((c[b+4>>2]|0)==(d|0)?(f=b+28|0,(c[f>>2]|0)!=1):0)c[f>>2]=e;return}function wi(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a[d+53>>0]=1;do if((c[d+4>>2]|0)==(f|0)){a[d+52>>0]=1;b=d+16|0;f=c[b>>2]|0;if(!f){c[b>>2]=e;c[d+24>>2]=g;c[d+36>>2]=1;if(!((g|0)==1?(c[d+48>>2]|0)==1:0))break;a[d+54>>0]=1;break}if((f|0)!=(e|0)){g=d+36|0;c[g>>2]=(c[g>>2]|0)+1;a[d+54>>0]=1;break}f=d+24|0;b=c[f>>2]|0;if((b|0)==2){c[f>>2]=g;b=g}if((b|0)==1?(c[d+48>>2]|0)==1:0)a[d+54>>0]=1}while(0);return}function xi(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=cc;cc=cc+64|0;if((cc|0)>=(dc|0))w(64);n=p;m=c[d>>2]|0;o=d+(c[m+-8>>2]|0)|0;m=c[m+-4>>2]|0;c[n>>2]=f;c[n+4>>2]=d;c[n+8>>2]=e;c[n+12>>2]=g;d=n+16|0;e=n+20|0;g=n+24|0;h=n+28|0;i=n+32|0;j=n+40|0;k=d;l=k+36|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));b[d+36>>1]=0;a[d+38>>0]=0;a:do if(ti(m,f,0)|0){c[n+48>>2]=1;qc[c[(c[m>>2]|0)+20>>2]&3](m,n,o,o,1,0);d=(c[g>>2]|0)==1?o:0}else{pc[c[(c[m>>2]|0)+24>>2]&7](m,n,o,1,0);switch(c[n+36>>2]|0){case 0:{d=(c[j>>2]|0)==1&(c[h>>2]|0)==1&(c[i>>2]|0)==1?c[e>>2]|0:0;break a}case 1:break;default:{d=0;break a}}if((c[g>>2]|0)!=1?!((c[j>>2]|0)==0&(c[h>>2]|0)==1&(c[i>>2]|0)==1):0){d=0;break}d=c[d>>2]|0}while(0);cc=p;return d|0}function yi(a){a=a|0;li(a);Rh(a);return}function zi(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(ti(a,c[b+8>>2]|0,g)|0)wi(0,b,d,e,f);else{a=c[a+8>>2]|0;qc[c[(c[a>>2]|0)+20>>2]&3](a,b,d,e,f,g)}return}function Ai(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;do if(!(ti(b,c[d+8>>2]|0,g)|0)){if(!(ti(b,c[d>>2]|0,g)|0)){i=c[b+8>>2]|0;pc[c[(c[i>>2]|0)+24>>2]&7](i,d,e,f,g);break}if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;i=d+44|0;if((c[i>>2]|0)==4)break;f=d+52|0;a[f>>0]=0;j=d+53|0;a[j>>0]=0;b=c[b+8>>2]|0;qc[c[(c[b>>2]|0)+20>>2]&3](b,d,e,e,1,g);if(a[j>>0]|0)if(!(a[f>>0]|0)){f=1;b=11}else b=15;else{f=0;b=11}do if((b|0)==11){c[h>>2]=e;j=d+40|0;c[j>>2]=(c[j>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0){a[d+54>>0]=1;if(f){b=15;break}else{f=4;break}}if(f)b=15;else f=4}while(0);if((b|0)==15)f=3;c[i>>2]=f;break}if((f|0)==1)c[d+32>>2]=1}else vi(0,d,e,f);while(0);return}function Bi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(ti(a,c[b+8>>2]|0,0)|0)ui(0,b,d,e);else{a=c[a+8>>2]|0;oc[c[(c[a>>2]|0)+28>>2]&7](a,b,d,e)}return}function Ci(a){a=a|0;return}function Di(){var a=0;a=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);if(!(Mh(55792,27)|0)){cc=a;return}else ki(53722,a)}function Ei(a){a=a|0;var b=0;b=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);Kh(a);if(!(Oh(c[13948]|0,0)|0)){cc=b;return}else ki(53772,b)}function Fi(){var a=0,b=0;a=ji()|0;if((a|0?(b=c[a>>2]|0,b|0):0)?(a=b+48|0,(c[a>>2]&-256|0)==1126902528?(c[a+4>>2]|0)==1129074247:0):0)Gi(c[b+12>>2]|0);Gi(Hi()|0)}function Gi(a){a=a|0;var b=0;b=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);kc[a&3]();ki(53825,b)}function Hi(){var a=0;a=c[10297]|0;c[10297]=a+0;return a|0}function Ii(a){a=a|0;return}function Ji(a){a=a|0;c[a>>2]=41280;Ni(a+4|0);return}function Ki(a){a=a|0;Ji(a);Rh(a);return}function Li(a){a=a|0;return Mi(a+4|0)|0}function Mi(a){a=a|0;return c[a>>2]|0}function Ni(a){a=a|0;var b=0,d=0;if(Vh(a)|0?(b=Oi(c[a>>2]|0)|0,d=b+8|0,a=c[d>>2]|0,c[d>>2]=a+-1,(a+-1|0)<0):0)Rh(b);return}function Oi(a){a=a|0;return a+-12|0}function Pi(a){a=a|0;Ji(a);Rh(a);return}function Qi(a){a=a|0;li(a);Rh(a);return}function Ri(a,b,c){a=a|0;b=b|0;c=c|0;return ti(a,b,0)|0}function Si(a){a=a|0;li(a);Rh(a);return}function Ti(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=cc;cc=cc+64|0;if((cc|0)>=(dc|0))w(64);h=j;c[d>>2]=c[c[d>>2]>>2];if(!(Ui(a,b,0)|0))if(((b|0)!=0?(e=xi(b,1192,1280,0)|0,(e|0)!=0):0)?(c[e+8>>2]&~c[a+8>>2]|0)==0:0){a=a+12|0;b=e+12|0;if(!(ti(c[a>>2]|0,c[b>>2]|0,0)|0)?!(ti(c[a>>2]|0,1312,0)|0):0){a=c[a>>2]|0;if((((a|0)!=0?(g=xi(a,1192,1176,0)|0,(g|0)!=0):0)?(f=c[b>>2]|0,(f|0)!=0):0)?(i=xi(f,1192,1176,0)|0,(i|0)!=0):0){a=h+4|0;b=a+52|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[h>>2]=i;c[h+8>>2]=g;c[h+12>>2]=-1;c[h+48>>2]=1;oc[c[(c[i>>2]|0)+28>>2]&7](i,h,c[d>>2]|0,1);if((c[h+24>>2]|0)==1){c[d>>2]=c[h+16>>2];a=1}else a=0}else a=0}else a=1}else a=0;else a=1;cc=j;return a|0}function Ui(a,b,c){a=a|0;b=b|0;c=c|0;if(ti(a,b,0)|0)a=1;else a=ti(b,1320,0)|0;return a|0}function Vi(a){a=a|0;li(a);Rh(a);return}function Wi(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if(ti(b,c[d+8>>2]|0,h)|0)wi(0,d,e,f,g);else{p=d+52|0;i=a[p>>0]|0;j=d+53|0;k=a[j>>0]|0;o=c[b+12>>2]|0;l=b+16+(o<<3)|0;a[p>>0]=0;a[j>>0]=0;_i(b+16|0,d,e,f,g,h);a:do if((o|0)>1){m=d+24|0;n=b+8|0;o=d+54|0;b=b+24|0;do{if(a[o>>0]|0)break a;if(!(a[p>>0]|0)){if(a[j>>0]|0?(c[n>>2]&1|0)==0:0)break a}else{if((c[m>>2]|0)==1)break a;if(!(c[n>>2]&2))break a}a[p>>0]=0;a[j>>0]=0;_i(b,d,e,f,g,h);b=b+8|0}while(b>>>0>>0)}while(0);a[p>>0]=i;a[j>>0]=k}return}function Xi(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;a:do if(!(ti(b,c[d+8>>2]|0,g)|0)){if(!(ti(b,c[d>>2]|0,g)|0)){q=c[b+12>>2]|0;k=b+16+(q<<3)|0;$i(b+16|0,d,e,f,g);h=b+24|0;if((q|0)<=1)break;b=c[b+8>>2]|0;if((b&2|0)==0?(j=d+36|0,(c[j>>2]|0)!=1):0){if(!(b&1)){b=d+54|0;while(1){if(a[b>>0]|0)break a;if((c[j>>2]|0)==1)break a;$i(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}b=d+24|0;i=d+54|0;while(1){if(a[i>>0]|0)break a;if((c[j>>2]|0)==1?(c[b>>2]|0)==1:0)break a;$i(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}b=d+54|0;while(1){if(a[b>>0]|0)break a;$i(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}if((c[d+16>>2]|0)!=(e|0)?(q=d+20|0,(c[q>>2]|0)!=(e|0)):0){c[d+32>>2]=f;p=d+44|0;if((c[p>>2]|0)==4)break;k=b+16+(c[b+12>>2]<<3)|0;f=d+52|0;l=d+53|0;n=d+54|0;m=b+8|0;o=d+24|0;h=0;i=b+16|0;j=0;b:while(1){if(i>>>0>=k>>>0){b=18;break}a[f>>0]=0;a[l>>0]=0;_i(i,d,e,e,1,g);if(a[n>>0]|0){b=18;break}do if(a[l>>0]|0){if(!(a[f>>0]|0))if(!(c[m>>2]&1)){h=1;b=18;break b}else{h=1;b=j;break}if((c[o>>2]|0)==1){b=23;break b}if(!(c[m>>2]&2)){b=23;break b}else{h=1;b=1}}else b=j;while(0);i=i+8|0;j=b}do if((b|0)==18){if((!j?(c[q>>2]=e,e=d+40|0,c[e>>2]=(c[e>>2]|0)+1,(c[d+36>>2]|0)==1):0)?(c[o>>2]|0)==2:0){a[n>>0]=1;if(h){b=23;break}else{h=4;break}}if(h)b=23;else h=4}while(0);if((b|0)==23)h=3;c[p>>2]=h;break}if((f|0)==1)c[d+32>>2]=1}else vi(0,d,e,f);while(0);return}function Yi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do if(!(ti(b,c[d+8>>2]|0,0)|0)){h=c[b+12>>2]|0;g=b+16+(h<<3)|0;Zi(b+16|0,d,e,f);if((h|0)>1){h=d+54|0;b=b+24|0;do{Zi(b,d,e,f);if(a[h>>0]|0)break a;b=b+8|0}while(b>>>0>>0)}}else ui(0,d,e,f);while(0);return}function Zi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=c[a+4>>2]|0;f=g>>8;if(g&1)f=c[(c[d>>2]|0)+f>>2]|0;a=c[a>>2]|0;oc[c[(c[a>>2]|0)+28>>2]&7](a,b,d+f|0,(g&2|0)==0?2:e);return}function _i(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=c[a+4>>2]|0;h=i>>8;if(i&1)h=c[(c[e>>2]|0)+h>>2]|0;a=c[a>>2]|0;qc[c[(c[a>>2]|0)+20>>2]&3](a,b,d,e+h|0,(i&2|0)==0?2:f,g);return}function $i(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=c[a+4>>2]|0;g=h>>8;if(h&1)g=c[(c[d>>2]|0)+g>>2]|0;a=c[a>>2]|0;pc[c[(c[a>>2]|0)+24>>2]&7](a,b,d+g|0,(h&2|0)==0?2:e,f);return}function aj(b){b=b|0;if((a[b>>0]|0)==1)b=0;else{a[b>>0]=1;b=1}return b|0}function bj(a){a=a|0;return}function cj(a){a=a|0;return}function dj(){var a=0;a=c[13949]|0;c[13949]=a+0;return a|0}function ej(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=cc;cc=cc+16|0;if((cc|0)>=(dc|0))w(16);e=f;c[e>>2]=c[d>>2];a=ic[c[(c[a>>2]|0)+16>>2]&7](a,b,e)|0;if(a)c[d>>2]=c[e>>2];cc=f;return a&1|0}function fj(a){a=a|0;if(!a)a=0;else a=(xi(a,1192,1280,0)|0)!=0&1;return a|0}function gj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=r(e,f)|0;d=a>>>16;a=(c>>>16)+(r(e,d)|0)|0;e=b>>>16;b=r(e,f)|0;return (u((a>>>16)+(r(e,d)|0)+(((a&65535)+b|0)>>>16)|0),a+b<<16|c&65535|0)|0}function hj(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=gj(e,f)|0;a=v()|0;return (u((r(b,f)|0)+(r(d,e)|0)+a|a&0|0),c|0|0)|0}function ij(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (u(b+d+(c>>>0>>0|0)>>>0|0),c|0)|0}function jj(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 (u(d|0),a-c>>>0|0)|0}function kj(a){a=a|0;return (a?31-(s(a^a-1)|0)|0:32)|0}function lj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (u(n|0),f)|0}else{if(!g){n=0;f=0;return (u(n|0),f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (u(n|0),f)|0}}g=(i|0)==0;do if(h){if(!g){g=(s(i|0)|0)-(s(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (u(n|0),f)|0}g=h-1|0;if(g&h|0){i=(s(h|0)|0)+33-(s(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (u(o|0),p)|0}else{p=kj(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (u(o|0),p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (u(o|0),p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (u(o|0),p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((kj(i|0)|0)>>>0);return (u(o|0),p)|0}g=(s(i|0)|0)-(s(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (u(o|0),p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=ij(m|0,l|0,-1,-1)|0;d=v()|0;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;jj(k|0,d|0,e|0,n|0)|0;p=v()|0;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=jj(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=v()|0;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (u(o|0),p)|0}function mj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return lj(a,b,c,d,0)|0}function nj(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){u(b>>>c|0);return a>>>c|(b&(1<>>c-32|0}function oj(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){u(b<>>32-c|0);return a<=8192){_a(b|0,d|0,e|0)|0;return b|0}h=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return h|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}e=g&-4|0;f=e-64|0;while((b|0)<=(f|0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(e|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{e=g-4|0;while((b|0)<(e|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return h|0}function qj(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else pj(b,c,d)|0;return b|0}function rj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=b+e|0;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}f=h&-4|0;i=d|d<<8|d<<16|d<<24;g=f-64|0;while((b|0)<=(g|0)){c[b>>2]=i;c[b+4>>2]=i;c[b+8>>2]=i;c[b+12>>2]=i;c[b+16>>2]=i;c[b+20>>2]=i;c[b+24>>2]=i;c[b+28>>2]=i;c[b+32>>2]=i;c[b+36>>2]=i;c[b+40>>2]=i;c[b+44>>2]=i;c[b+48>>2]=i;c[b+52>>2]=i;c[b+56>>2]=i;c[b+60>>2]=i;b=b+64|0}while((b|0)<(f|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}return h-e|0}function sj(a){a=a|0;var b=0,d=0,e=0;e=Xa()|0;d=c[i>>2]|0;b=d+a|0;if((a|0)>0&(b|0)<(d|0)|(b|0)<0){cb(b|0)|0;ea(12);return -1}if((b|0)>(e|0))if(!($a(b|0)|0)){ea(12);return -1}c[i>>2]=b;return d|0}function tj(a,b){a=a|0;b=b|0;return fc[a&7](b|0)|0}function uj(a,b,c,d,e,f,g){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;return gc[a&1](b|0,+c,d|0,e|0,f|0,g|0)|0}function vj(a,b,c){a=a|0;b=b|0;c=c|0;return hc[a&3](b|0,c|0)|0}function wj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ic[a&7](b|0,c|0,d|0)|0}function xj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return jc[a&1](b|0,c|0,d|0,e|0)|0}function yj(a){a=a|0;kc[a&3]()}function zj(a,b){a=a|0;b=b|0;lc[a&31](b|0)}function Aj(a,b,c){a=a|0;b=b|0;c=c|0;mc[a&31](b|0,c|0)}function Bj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;nc[a&7](b|0,c|0,d|0)}function Cj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oc[a&7](b|0,c|0,d|0,e|0)}function Dj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pc[a&7](b|0,c|0,d|0,e|0,f|0)}function Ej(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;qc[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function Fj(a){a=a|0;x(0);return 0}function Gj(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=d|0;e=e|0;f=f|0;y(1);return 0}function Hj(a,b){a=a|0;b=b|0;z(2);return 0}function Ij(a,b,c){a=a|0;b=b|0;c=c|0;A(3);return 0}function Jj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;B(4);return 0}function Kj(){C(5)}function Lj(){$()}function Mj(a){a=a|0;D(6)}function Nj(a,b){a=a|0;b=b|0;E(7)}function Oj(a,b,c){a=a|0;b=b|0;c=c|0;F(8)}function Pj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;G(9)}function Qj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;H(10)}function Rj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;I(11)} +function zh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;if(!d)return;w=a+4096|0;j=(e|0)==0;i=0;o=a+1472|0;p=a+1504|0;while(1){if(!j){r=a+4108+(i*4608|0)|0;u=c[w>>2]|0;x=0;while(1){A=u&1;k=a+(i<<11)+(A<<9)|0;Ah(b+48+(i*4608|0)+(x<<7)|0,u>>>1,k,a+(i<<11)+1024+(A<<9)|0);g=u&-2;q=u+15&14|1;h=A^1;m=5336+(q<<2)|0;B=5336+(g<<2)|0;H=v(c[B>>2]|0,c[k>>2]|0)|0;t=v(c[m>>2]|0,c[a+(i<<11)+(h<<9)>>2]|0)|0;y=v(c[m+56>>2]|0,c[a+(i<<11)+(h<<9)+4>>2]|0)|0;s=v(c[m+48>>2]|0,c[a+(i<<11)+(h<<9)+8>>2]|0)|0;l=v(c[m+40>>2]|0,c[a+(i<<11)+(h<<9)+12>>2]|0)|0;f=v(c[m+32>>2]|0,c[a+(i<<11)+(h<<9)+16>>2]|0)|0;z=v(c[m+24>>2]|0,c[a+(i<<11)+(h<<9)+20>>2]|0)|0;n=v(c[m+16>>2]|0,c[a+(i<<11)+(h<<9)+24>>2]|0)|0;m=v(c[m+8>>2]|0,c[a+(i<<11)+(h<<9)+28>>2]|0)|0;I=v(c[B+56>>2]|0,c[a+(i<<11)+(A<<9)+4>>2]|0)|0;G=v(c[B+48>>2]|0,c[a+(i<<11)+(A<<9)+8>>2]|0)|0;F=v(c[B+40>>2]|0,c[a+(i<<11)+(A<<9)+12>>2]|0)|0;E=v(c[B+32>>2]|0,c[a+(i<<11)+(A<<9)+16>>2]|0)|0;D=v(c[B+24>>2]|0,c[a+(i<<11)+(A<<9)+20>>2]|0)|0;C=v(c[B+16>>2]|0,c[a+(i<<11)+(A<<9)+24>>2]|0)|0;c[r>>2]=I+H+G+F+E+D+C+(v(c[B+8>>2]|0,c[a+(i<<11)+(A<<9)+28>>2]|0)|0)-(y+t+s+l+f+z+n+m)>>2;m=0-g|0;n=0-q|0;z=p+(h<<9)|0;f=5336;l=a+(i<<11)+1024+(h<<9)|0;s=r;t=r+124|0;y=1;while(1){s=s+4|0;I=f+128+(q<<2)|0;H=l+4|0;G=l+8|0;F=l+12|0;E=l+16|0;D=l+20|0;C=l+24|0;B=l+28|0;W=f+128+(g<<2)|0;A=k+60|0;aa=v(c[W+8>>2]|0,c[A>>2]|0)|0;U=v(c[I>>2]|0,c[l>>2]|0)|0;V=v(c[I+56>>2]|0,c[H>>2]|0)|0;T=v(c[I+48>>2]|0,c[G>>2]|0)|0;S=v(c[I+40>>2]|0,c[F>>2]|0)|0;R=v(c[I+32>>2]|0,c[E>>2]|0)|0;Q=v(c[I+24>>2]|0,c[D>>2]|0)|0;O=v(c[I+16>>2]|0,c[C>>2]|0)|0;I=v(c[I+8>>2]|0,c[B>>2]|0)|0;J=k+56|0;ba=v(c[W+16>>2]|0,c[J>>2]|0)|0;K=k+52|0;$=v(c[W+24>>2]|0,c[K>>2]|0)|0;L=k+48|0;_=v(c[W+32>>2]|0,c[L>>2]|0)|0;M=k+44|0;Z=v(c[W+40>>2]|0,c[M>>2]|0)|0;N=k+40|0;Y=v(c[W+48>>2]|0,c[N>>2]|0)|0;P=k+36|0;k=k+32|0;X=v(c[W+56>>2]|0,c[P>>2]|0)|0;c[s>>2]=ba+aa+$+_+Z+Y+X+(v(c[W>>2]|0,c[k>>2]|0)|0)-(V+U+T+S+R+Q+O+I)>>2;I=f+128+(m<<2)|0;O=v(c[I+60>>2]|0,c[k>>2]|0)|0;O=(v(c[I+68>>2]|0,c[P>>2]|0)|0)+O|0;N=O+(v(c[I+76>>2]|0,c[N>>2]|0)|0)|0;M=N+(v(c[I+84>>2]|0,c[M>>2]|0)|0)|0;L=M+(v(c[I+92>>2]|0,c[L>>2]|0)|0)|0;K=L+(v(c[I+100>>2]|0,c[K>>2]|0)|0)|0;J=K+(v(c[I+108>>2]|0,c[J>>2]|0)|0)|0;A=J+(v(c[I+116>>2]|0,c[A>>2]|0)|0)|0;I=f+128+(n<<2)|0;B=A+(v(c[I+116>>2]|0,c[B>>2]|0)|0)|0;C=B+(v(c[I+108>>2]|0,c[C>>2]|0)|0)|0;D=C+(v(c[I+100>>2]|0,c[D>>2]|0)|0)|0;E=D+(v(c[I+92>>2]|0,c[E>>2]|0)|0)|0;F=E+(v(c[I+84>>2]|0,c[F>>2]|0)|0)|0;G=F+(v(c[I+76>>2]|0,c[G>>2]|0)|0)|0;H=G+(v(c[I+68>>2]|0,c[H>>2]|0)|0)|0;c[t>>2]=H+(v(c[I+60>>2]|0,c[l>>2]|0)|0)>>2;y=y+1|0;if((y|0)==16)break;else{f=f+128|0;l=l+32|0;t=t+-4|0}}ba=7384+(q<<2)|0;aa=v(c[ba>>2]|0,c[z>>2]|0)|0;aa=aa+(v(c[ba+56>>2]|0,c[o+(h<<9)+36>>2]|0)|0)|0;aa=aa+(v(c[ba+48>>2]|0,c[o+(h<<9)+40>>2]|0)|0)|0;aa=aa+(v(c[ba+40>>2]|0,c[o+(h<<9)+44>>2]|0)|0)|0;aa=aa+(v(c[ba+32>>2]|0,c[o+(h<<9)+48>>2]|0)|0)|0;aa=aa+(v(c[ba+24>>2]|0,c[o+(h<<9)+52>>2]|0)|0)|0;aa=aa+(v(c[ba+16>>2]|0,c[o+(h<<9)+56>>2]|0)|0)|0;c[r+64>>2]=0-(aa+(v(c[ba+8>>2]|0,c[o+(h<<9)+60>>2]|0)|0))>>2;x=x+1|0;if((x|0)==(e|0))break;else{r=r+128|0;u=u+1&15}}}i=i+1|0;if((i|0)==(d|0))break;else{o=o+2048|0;p=p+2048|0}}return}function Ah(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;s=c[a>>2]|0;aa=c[a+124>>2]|0;Q=aa+s|0;aa=(s+2048-aa>>12)*4091|0;s=c[a+60>>2]|0;p=c[a+64>>2]|0;I=p+s|0;p=(s+2048-p>>12)*201|0;s=p+aa|0;p=(aa+2048-p>>12)*4076|0;aa=I+Q|0;I=(Q+2048-I>>12)*4076|0;Q=c[a+28>>2]|0;X=c[a+96>>2]|0;q=X+Q|0;X=(Q+2048-X>>12)*3035|0;Q=c[a+32>>2]|0;A=c[a+92>>2]|0;N=A+Q|0;A=(Q+2048-A>>12)*2751|0;Q=A+X|0;A=(X+2048-A>>12)*401|0;X=N+q|0;N=(q+2048-N>>12)*401|0;q=c[a+12>>2]|0;ba=c[a+112>>2]|0;m=ba+q|0;ba=(q+2048-ba>>12)*3857|0;q=c[a+48>>2]|0;n=c[a+76>>2]|0;G=n+q|0;n=(q+2048-n>>12)*1380|0;q=n+ba|0;n=(ba+2048-n>>12)*3166|0;ba=G+m|0;G=(m+2048-G>>12)*3166|0;m=c[a+16>>2]|0;T=c[a+108>>2]|0;r=T+m|0;T=(m+2048-T>>12)*3703|0;m=c[a+44>>2]|0;i=c[a+80>>2]|0;F=i+m|0;i=(m+2048-i>>12)*1751|0;m=i+T|0;i=(T+2048-i>>12)*2598|0;T=F+r|0;F=(r+2048-F>>12)*2598|0;r=c[a+4>>2]|0;$=c[a+120>>2]|0;k=$+r|0;$=(r+2048-$>>12)*4052|0;r=c[a+56>>2]|0;o=c[a+68>>2]|0;H=o+r|0;o=(r+2048-o>>12)*601|0;r=o+$|0;o=($+2048-o>>12)*3920|0;$=H+k|0;H=(k+2048-H>>12)*3920|0;k=c[a+24>>2]|0;R=c[a+100>>2]|0;Z=R+k|0;R=(k+2048-R>>12)*3290|0;k=c[a+36>>2]|0;g=c[a+88>>2]|0;D=g+k|0;g=(k+2048-g>>12)*2440|0;k=g+R|0;g=(R+2048-g>>12)*1189|0;R=D+Z|0;D=(Z+2048-D>>12)*1189|0;Z=c[a+8>>2]|0;_=c[a+116>>2]|0;l=_+Z|0;_=(Z+2048-_>>12)*3973|0;Z=c[a+52>>2]|0;x=c[a+72>>2]|0;Y=x+Z|0;x=(Z+2048-x>>12)*995|0;Z=x+_|0;x=(_+2048-x>>12)*3612|0;_=Y+l|0;Y=(l+2048-Y>>12)*3612|0;l=c[a+20>>2]|0;S=c[a+104>>2]|0;ca=S+l|0;S=(l+2048-S>>12)*3513|0;l=c[a+40>>2]|0;h=c[a+84>>2]|0;E=h+l|0;h=(l+2048-h>>12)*2106|0;l=h+S|0;h=(S+2048-h>>12)*1931|0;S=E+ca|0;E=(ca+2048-E>>12)*1931|0;ca=X+aa|0;X=(aa+2048-X>>12)*4017|0;aa=T+ba|0;T=(ba+2048-T>>12)*799|0;ba=R+$|0;R=($+2048-R>>12)*3406|0;$=S+_|0;S=(_+2048-S>>12)*2276|0;_=Q+s|0;Q=(s+2048-Q>>12)*4017|0;s=m+q|0;m=(q+2048-m>>12)*799|0;q=k+r|0;k=(r+2048-k>>12)*3406|0;r=l+Z|0;l=(Z+2048-l>>12)*2276|0;Z=N+I|0;N=(I+2048-N>>12)*4017|0;I=F+G|0;F=(G+2048-F>>12)*799|0;G=D+H|0;D=(H+2048-D>>12)*3406|0;H=E+Y|0;E=(Y+2048-E>>12)*2276|0;Y=A+p|0;A=(p+2048-A>>12)*4017|0;p=i+n|0;i=(n+2048-i>>12)*799|0;n=g+o|0;g=(o+2048-g>>12)*3406|0;o=h+x|0;h=(x+2048-h>>12)*2276|0;x=$+ba|0;w=aa+ca+2048|0;c[e+480+(b<<2)>>2]=w+x>>12;c[d+(b<<2)>>2]=((w-x>>12)*2896|0)+2048>>12;x=s+_|0;w=r+q|0;a=w+x|0;c[e+448+(b<<2)>>2]=a+2048>>12;M=I+Z|0;L=H+G|0;B=L+M|0;c[e+416+(b<<2)>>2]=B+2048>>12;z=p+Y|0;t=o+n|0;y=t+z|0;a=(y<<1)-a|0;c[e+384+(b<<2)>>2]=a+2048>>12;W=T+X|0;V=S+R|0;U=V+W|0;c[e+352+(b<<2)>>2]=U+2048>>12;P=m+Q|0;O=l+k|0;j=O+P|0;a=(j<<1)-a|0;c[e+320+(b<<2)>>2]=a+2048>>12;K=F+N|0;J=E+D|0;C=J+K|0;B=(C<<1)-B|0;c[e+288+(b<<2)>>2]=B+2048>>12;v=i+A|0;u=h+g|0;f=u+v|0;y=(f<<1)-y|0;a=(y<<1)-a|0;c[e+256+(b<<2)>>2]=a+2048>>12;aa=(ca+2048-aa>>12)*3784|0;$=(ba+2048-$>>12)*1567|0;ba=$+aa|0;c[e+224+(b<<2)>>2]=ba+2048>>12;c[d+256+(b<<2)>>2]=2048-ba+((aa+2048-$>>12)*5792|0)>>12;s=(_+2048-s>>12)*3784|0;r=(q+2048-r>>12)*1567|0;q=r+s|0;a=(q<<1)-a|0;c[e+192+(b<<2)>>2]=a+2048>>12;I=(Z+2048-I>>12)*3784|0;H=(G+2048-H>>12)*1567|0;G=H+I|0;B=(G<<1)-B|0;c[e+160+(b<<2)>>2]=B+2048>>12;p=(Y+2048-p>>12)*3784|0;o=(n+2048-o>>12)*1567|0;n=o+p|0;y=(n<<1)-y|0;a=(y<<1)-a|0;c[e+128+(b<<2)>>2]=a+2048>>12;T=(X+2048-T>>12)*3784|0;S=(R+2048-S>>12)*1567|0;R=S+T|0;U=(R<<1)-U|0;c[e+96+(b<<2)>>2]=U+2048>>12;U=((W+2048-V>>12)*5792|0)-U|0;c[d+128+(b<<2)>>2]=U+2048>>12;c[d+384+(b<<2)>>2]=2048-U+(((T+2048-S>>12)*5792|0)-R<<1)>>12;m=(Q+2048-m>>12)*3784|0;l=(k+2048-l>>12)*1567|0;k=l+m|0;j=(k<<1)-j|0;a=(j<<1)-a|0;c[e+64+(b<<2)>>2]=a+2048>>12;j=((P+2048-O>>12)*5792|0)-j|0;F=(N+2048-F>>12)*3784|0;E=(D+2048-E>>12)*1567|0;D=E+F|0;C=(D<<1)-C|0;B=(C<<1)-B|0;c[e+32+(b<<2)>>2]=B+2048>>12;B=((M+2048-L>>12)*5792|0)-B|0;c[d+64+(b<<2)>>2]=B+2048>>12;C=((K+2048-J>>12)*5792|0)-C|0;B=(C<<1)-B|0;c[d+192+(b<<2)>>2]=B+2048>>12;B=(((I+2048-H>>12)*5792|0)-G<<1)-B|0;c[d+320+(b<<2)>>2]=B+2048>>12;c[d+448+(b<<2)>>2]=((((F+2048-E>>12)*5792|0)-D<<1)-C<<1)+2048-B>>12;i=(A+2048-i>>12)*3784|0;h=(g+2048-h>>12)*1567|0;g=h+i|0;f=(g<<1)-f|0;y=(f<<1)-y|0;t=((z+2048-t>>12)*5792|0)-y|0;a=(y<<1)-a|0;c[e+(b<<2)>>2]=a+2048>>12;a=((x+2048-w>>12)*5792|0)-a|0;c[d+32+(b<<2)>>2]=a+2048>>12;a=(t<<1)-a|0;c[d+96+(b<<2)>>2]=a+2048>>12;a=(j<<1)-a|0;c[d+160+(b<<2)>>2]=a+2048>>12;f=((v+2048-u>>12)*5792|0)-f|0;e=(f<<1)-t|0;a=(e<<1)-a|0;c[d+224+(b<<2)>>2]=a+2048>>12;a=(((s+2048-r>>12)*5792|0)-q<<1)-a|0;c[d+288+(b<<2)>>2]=a+2048>>12;e=(((p+2048-o>>12)*5792|0)-n<<1)-e|0;a=(e<<1)-a|0;c[d+352+(b<<2)>>2]=a+2048>>12;a=((((m+2048-l>>12)*5792|0)-k<<1)-j<<1)-a|0;c[d+416+(b<<2)>>2]=a+2048>>12;c[d+480+(b<<2)>>2]=(((((i+2048-h>>12)*5792|0)-g<<1)-f<<1)-e<<1)+2048-a>>12;return}function Bh(f,g,h,i,j,k){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;c[j>>2]=0;l=(h|0)!=0;t=(g|0)==1;c[k>>2]=l?(t?1:2):t?5:3;c[i>>2]=rh(f,l?8:9)|0;c[i+4>>2]=rh(f,c[k>>2]|0)|0;if(!l)if(!g)t=2;else{h=0;do{a[i+8+h>>0]=rh(f,4)|0;h=h+1|0}while((h|0)!=(g|0));t=2}else t=1;q=(g|0)==0;s=l?9:4;r=l?2:3;p=l^1;o=0;h=0;do{if(!q){n=0;do{l=i+10+(o*116|0)+(n*58|0)|0;b[l>>1]=rh(f,12)|0;m=i+10+(o*116|0)+(n*58|0)+2|0;b[m>>1]=rh(f,9)|0;b[i+10+(o*116|0)+(n*58|0)+4>>1]=rh(f,8)|0;b[i+10+(o*116|0)+(n*58|0)+6>>1]=rh(f,s)|0;c[j>>2]=(c[j>>2]|0)+(e[l>>1]|0);h=(h|0)==0&(e[m>>1]|0)>288?562:h;m=i+10+(o*116|0)+(n*58|0)+8|0;a[m>>0]=0;if(!(rh(f,1)|0)){a[i+10+(o*116|0)+(n*58|0)+9>>0]=0;a[i+10+(o*116|0)+(n*58|0)+10>>0]=rh(f,5)|0;a[i+10+(o*116|0)+(n*58|0)+11>>0]=rh(f,5)|0;a[i+10+(o*116|0)+(n*58|0)+12>>0]=rh(f,5)|0;a[i+10+(o*116|0)+(n*58|0)+16>>0]=rh(f,4)|0;a[i+10+(o*116|0)+(n*58|0)+17>>0]=rh(f,3)|0}else{u=rh(f,2)|0;k=u&255;l=i+10+(o*116|0)+(n*58|0)+9|0;a[l>>0]=k;h=(u&255|h|0)==0?563:h;if(k<<24>>24==2&p)h=((h|0)==0?(a[i+8+n>>0]|0)!=0:0)?564:h;k=i+10+(o*116|0)+(n*58|0)+16|0;a[k>>0]=7;a[i+10+(o*116|0)+(n*58|0)+17>>0]=36;if(!(rh(f,1)|0)){if((a[l>>0]|0)==2)a[k>>0]=8}else a[m>>0]=a[m>>0]|8;a[i+10+(o*116|0)+(n*58|0)+10>>0]=rh(f,5)|0;a[i+10+(o*116|0)+(n*58|0)+11>>0]=rh(f,5)|0;a[i+10+(o*116|0)+(n*58|0)+12>>0]=4;a[i+10+(o*116|0)+(n*58|0)+13>>0]=rh(f,3)|0;a[i+10+(o*116|0)+(n*58|0)+14>>0]=rh(f,3)|0;a[i+10+(o*116|0)+(n*58|0)+15>>0]=rh(f,3)|0}u=rh(f,r)|0;a[m>>0]=u|d[m>>0];n=n+1|0}while((n|0)!=(g|0))}o=o+1|0}while(o>>>0>>0);return h|0}function Ch(f,h,i,j){f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=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,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0;Ab=Dc;Dc=Dc+7296|0;xb=Ab+2448|0;wb=Ab+2432|0;vb=Ab+2416|0;tb=Ab+2400|0;sb=Ab+2384|0;rb=Ab+2368|0;yb=Ab+2352|0;ub=Ab+2336|0;qb=Ab+2320|0;pb=Ab+16|0;ob=Ab;hb=Ab+7224|0;nb=Ab+7216|0;zb=Ab+2608|0;lb=Ab+2464|0;jb=h+28|0;fb=c[jb>>2]|0;kb=(fb&16384|0)==0;k=c[h+20>>2]<<((kb^1)&1);k=(k>>>15&1)+(kb?-8:-5)+(k>>>7&15)|0;fb=2-(fb>>>12&1)|0;if(!fb){zb=0;Dc=Ab;return zb|0}ib=(j|0)==0;gb=7512+(k*12|0)|0;kb=7512+(k*12|0)+8|0;db=7512+(k*12|0)+4|0;Fa=i+184|0;bb=h+8|0;Ga=pb+4|0;Ra=pb+8|0;Ua=pb+12|0;Va=pb+16|0;Wa=pb+20|0;Xa=pb+24|0;Ya=pb+28|0;Za=pb+32|0;_a=pb+36|0;Ha=pb+40|0;Ia=pb+44|0;Ja=pb+48|0;Ka=pb+52|0;La=pb+56|0;Ma=pb+60|0;Na=pb+64|0;Oa=pb+68|0;Pa=pb+72|0;Qa=pb+76|0;Sa=pb+80|0;Ta=pb+84|0;R=c[10234]|0;ab=h+4|0;T=hb+4|0;U=hb+8|0;cb=h+9264|0;V=pb+2|0;ea=pb+4|0;pa=pb+6|0;za=pb+8|0;Aa=pb+10|0;Ba=pb+12|0;Ca=pb+14|0;Da=pb+16|0;Ea=pb+18|0;W=pb+20|0;X=pb+22|0;Y=pb+24|0;Z=pb+26|0;_=pb+28|0;$=pb+30|0;aa=pb+32|0;ba=pb+34|0;ca=pb+36|0;da=pb+38|0;fa=pb+40|0;ga=pb+42|0;ha=pb+44|0;ia=pb+46|0;ja=pb+48|0;ka=pb+50|0;la=pb+52|0;ma=pb+54|0;na=pb+56|0;oa=pb+58|0;qa=pb+60|0;ra=pb+62|0;sa=pb+64|0;ta=pb+66|0;ua=pb+68|0;va=pb+70|0;wa=pb+72|0;xa=pb+74|0;ya=pb+76|0;S=zb+2304|0;$a=0;a:while(1){P=i+10+($a*116|0)|0;if(!ib){L=c[gb>>2]|0;O=($a|0)==0;M=0;do{x=i+10+($a*116|0)+(M*58|0)|0;k=nb+(M<<2)|0;c[k>>2]=L;y=i+10+($a*116|0)+(M*58|0)+9|0;n=(a[y>>0]|0)==2;if(n){K=c[((a[i+10+($a*116|0)+(M*58|0)+8>>0]&8)==0?db:kb)>>2]|0;c[k>>2]=K;k=K}else k=L;if(!(c[jb>>2]&4096)){if(O)m=0;else m=d[i+8+M>>0]|0;K=f;o=c[K+4>>2]|0;p=pb;c[p>>2]=c[K>>2];c[p+4>>2]=o;p=e[i+10+($a*116|0)+(M*58|0)+6>>1]|0;o=d[50939+(p<<1)>>0]|0;p=d[50939+(p<<1)+1>>0]|0;if(n){l=18-((d[i+10+($a*116|0)+(M*58|0)+8>>0]|0)>>>3&1)|0;m=l;n=0;while(1){m=m+-1|0;a[i+10+($a*116|0)+(M*58|0)+18+n>>0]=rh(f,o)|0;if(!m)break;else n=n+1|0}a[i+10+($a*116|0)+(M*58|0)+18+l>>0]=rh(f,p)|0;a[l+1+(i+10+($a*116|0)+(M*58|0)+18)>>0]=rh(f,p)|0;a[l+2+(i+10+($a*116|0)+(M*58|0)+18)>>0]=rh(f,p)|0;J=l|4;a[l+3+(i+10+($a*116|0)+(M*58|0)+18)>>0]=rh(f,p)|0;a[i+10+($a*116|0)+(M*58|0)+18+J>>0]=rh(f,p)|0;a[J+1+(i+10+($a*116|0)+(M*58|0)+18)>>0]=rh(f,p)|0;a[J+2+(i+10+($a*116|0)+(M*58|0)+18)>>0]=rh(f,p)|0;a[J+3+(i+10+($a*116|0)+(M*58|0)+18)>>0]=rh(f,p)|0;a[J+4+(i+10+($a*116|0)+(M*58|0)+18)>>0]=rh(f,p)|0;a[J+5+(i+10+($a*116|0)+(M*58|0)+18)>>0]=rh(f,p)|0;a[J+6+(i+10+($a*116|0)+(M*58|0)+18)>>0]=rh(f,p)|0;K=l|12;a[J+7+(i+10+($a*116|0)+(M*58|0)+18)>>0]=rh(f,p)|0;a[i+10+($a*116|0)+(M*58|0)+18+K>>0]=rh(f,p)|0;a[K+1+(i+10+($a*116|0)+(M*58|0)+18)>>0]=rh(f,p)|0;a[K+2+(i+10+($a*116|0)+(M*58|0)+18)>>0]=rh(f,p)|0;a[K+3+(i+10+($a*116|0)+(M*58|0)+18)>>0]=rh(f,p)|0;a[K+4+(i+10+($a*116|0)+(M*58|0)+18)>>0]=rh(f,p)|0;a[K+5+(i+10+($a*116|0)+(M*58|0)+18)>>0]=rh(f,p)|0;K=x+(l|36)|0;a[K>>0]=0;a[K+1>>0]=0;a[K+2>>0]=0}else{if(!(m&8)){a[i+10+($a*116|0)+(M*58|0)+18>>0]=rh(f,o)|0;a[i+10+($a*116|0)+(M*58|0)+19>>0]=rh(f,o)|0;a[i+10+($a*116|0)+(M*58|0)+20>>0]=rh(f,o)|0;a[i+10+($a*116|0)+(M*58|0)+21>>0]=rh(f,o)|0;a[i+10+($a*116|0)+(M*58|0)+22>>0]=rh(f,o)|0;l=(rh(f,o)|0)&255}else{a[i+10+($a*116|0)+(M*58|0)+18>>0]=a[i+10+(M*58|0)+18>>0]|0;a[i+10+($a*116|0)+(M*58|0)+19>>0]=a[i+10+(M*58|0)+19>>0]|0;a[i+10+($a*116|0)+(M*58|0)+20>>0]=a[i+10+(M*58|0)+20>>0]|0;a[i+10+($a*116|0)+(M*58|0)+21>>0]=a[i+10+(M*58|0)+21>>0]|0;a[i+10+($a*116|0)+(M*58|0)+22>>0]=a[i+10+(M*58|0)+22>>0]|0;l=a[i+10+(M*58|0)+23>>0]|0}a[i+10+($a*116|0)+(M*58|0)+23>>0]=l;if(!(m&4)){a[i+10+($a*116|0)+(M*58|0)+24>>0]=rh(f,o)|0;a[i+10+($a*116|0)+(M*58|0)+25>>0]=rh(f,o)|0;a[i+10+($a*116|0)+(M*58|0)+26>>0]=rh(f,o)|0;a[i+10+($a*116|0)+(M*58|0)+27>>0]=rh(f,o)|0;l=(rh(f,o)|0)&255}else{a[i+10+($a*116|0)+(M*58|0)+24>>0]=a[i+10+(M*58|0)+24>>0]|0;a[i+10+($a*116|0)+(M*58|0)+25>>0]=a[i+10+(M*58|0)+25>>0]|0;a[i+10+($a*116|0)+(M*58|0)+26>>0]=a[i+10+(M*58|0)+26>>0]|0;a[i+10+($a*116|0)+(M*58|0)+27>>0]=a[i+10+(M*58|0)+27>>0]|0;l=a[i+10+(M*58|0)+28>>0]|0}a[i+10+($a*116|0)+(M*58|0)+28>>0]=l;if(!(m&2)){a[i+10+($a*116|0)+(M*58|0)+29>>0]=rh(f,p)|0;a[i+10+($a*116|0)+(M*58|0)+30>>0]=rh(f,p)|0;a[i+10+($a*116|0)+(M*58|0)+31>>0]=rh(f,p)|0;a[i+10+($a*116|0)+(M*58|0)+32>>0]=rh(f,p)|0;l=(rh(f,p)|0)&255}else{a[i+10+($a*116|0)+(M*58|0)+29>>0]=a[i+10+(M*58|0)+29>>0]|0;a[i+10+($a*116|0)+(M*58|0)+30>>0]=a[i+10+(M*58|0)+30>>0]|0;a[i+10+($a*116|0)+(M*58|0)+31>>0]=a[i+10+(M*58|0)+31>>0]|0;a[i+10+($a*116|0)+(M*58|0)+32>>0]=a[i+10+(M*58|0)+32>>0]|0;l=a[i+10+(M*58|0)+33>>0]|0}a[i+10+($a*116|0)+(M*58|0)+33>>0]=l;if(!(m&1)){a[i+10+($a*116|0)+(M*58|0)+34>>0]=rh(f,p)|0;a[i+10+($a*116|0)+(M*58|0)+35>>0]=rh(f,p)|0;a[i+10+($a*116|0)+(M*58|0)+36>>0]=rh(f,p)|0;a[i+10+($a*116|0)+(M*58|0)+37>>0]=rh(f,p)|0;l=(rh(f,p)|0)&255}else{a[i+10+($a*116|0)+(M*58|0)+34>>0]=a[i+10+(M*58|0)+34>>0]|0;a[i+10+($a*116|0)+(M*58|0)+35>>0]=a[i+10+(M*58|0)+35>>0]|0;a[i+10+($a*116|0)+(M*58|0)+36>>0]=a[i+10+(M*58|0)+36>>0]|0;a[i+10+($a*116|0)+(M*58|0)+37>>0]=a[i+10+(M*58|0)+37>>0]|0;l=a[i+10+(M*58|0)+38>>0]|0}a[i+10+($a*116|0)+(M*58|0)+38>>0]=l;a[i+10+($a*116|0)+(M*58|0)+39>>0]=0}l=oh(pb,f)|0}else{t=(M|0)==0?0:Fa;l=c[bb>>2]|0;K=f;p=c[K+4>>2]|0;m=pb;c[m>>2]=c[K>>2];c[m+4>>2]=p;m=b[i+10+($a*116|0)+(M*58|0)+6>>1]|0;p=m&65535;if(n)u=((d[i+10+($a*116|0)+(M*58|0)+8>>0]|0)>>>3&1)+1&255;else u=0;if((t|0)!=0&(l&1|0)!=0){l=p>>>1;do if((m&65535)>=360)if((m&65535)<488){r=l+-180|0;s=4;m=r>>>4&3;q=r>>>2&3;r=r&3;break}else{r=l+-244|0;q=(r>>>0)/3|0;s=5;m=q;q=r-(q*3|0)|0;r=0;break}else{K=(l>>>0)%36|0;r=(K>>>0)/6|0;s=3;m=(p>>>0)/72|0;q=r;r=K-(r*6|0)|0}while(0);n=50867+(s*12|0)+(u<<2)|0;p=(1<>0]|0))l=0;else{o=0;while(1){K=rh(f,m)|0;a[i+10+($a*116|0)+(M*58|0)+18+o>>0]=K;l=o+1|0;a[t+18+o>>0]=(K|0)==(p|0)&1;if(l>>>0<(d[n>>0]|0)>>>0)o=l;else break}}p=(1<>0]|0){o=0;m=l;while(1){K=rh(f,q)|0;a[i+10+($a*116|0)+(M*58|0)+18+m>>0]=K;l=m+1|0;a[t+18+m>>0]=(K|0)==(p|0)&1;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}p=(1<>0]|0){o=0;m=l;while(1){K=rh(f,r)|0;a[i+10+($a*116|0)+(M*58|0)+18+m>>0]=K;l=m+1|0;a[t+18+m>>0]=(K|0)==(p|0)&1;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}n=50867+(s*12|0)+(u<<2)+3|0;if(a[n>>0]|0){o=0;m=l;while(1){K=rh(f,0)|0;a[i+10+($a*116|0)+(M*58|0)+18+m>>0]=K;l=m+1|0;a[t+18+m>>0]=(K|0)==0&1;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}if(l>>>0<39)do{a[i+10+($a*116|0)+(M*58|0)+18+l>>0]=0;a[t+18+l>>0]=0;l=l+1|0}while((l|0)!=39)}else{do if((m&65535)>=400)if((m&65535)<500){q=p+-400|0;s=1;o=(q>>>0)/20|0;q=(q>>>2>>>0)%5|0;r=m&3;p=0;break}else{r=p+-500|0;q=(r>>>0)/3|0;s=i+10+($a*116|0)+(M*58|0)+8|0;a[s>>0]=a[s>>0]|4;s=2;o=q;q=r-(q*3|0)|0;r=0;p=0;break}else{s=0;o=(p>>>0)/80|0;q=(p>>>4>>>0)%5|0;r=p>>>2&3;p=p&3}while(0);m=50867+(s*12|0)+(u<<2)|0;if(!(a[m>>0]|0))l=0;else{n=0;while(1){l=n+1|0;a[i+10+($a*116|0)+(M*58|0)+18+n>>0]=rh(f,o)|0;if(l>>>0<(d[m>>0]|0)>>>0)n=l;else break}}n=50867+(s*12|0)+(u<<2)+1|0;if(a[n>>0]|0){o=0;m=l;while(1){l=m+1|0;a[i+10+($a*116|0)+(M*58|0)+18+m>>0]=rh(f,q)|0;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}n=50867+(s*12|0)+(u<<2)+2|0;if(a[n>>0]|0){o=0;m=l;while(1){l=m+1|0;a[i+10+($a*116|0)+(M*58|0)+18+m>>0]=rh(f,r)|0;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}n=50867+(s*12|0)+(u<<2)+3|0;if(a[n>>0]|0){o=0;m=l;while(1){l=m+1|0;a[i+10+($a*116|0)+(M*58|0)+18+m>>0]=rh(f,p)|0;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}if(l>>>0<39)zl(x+(l+18)|0,0,39-l|0)|0}l=oh(pb,f)|0}w=zb+(M*2304|0)|0;m=(e[x>>1]|0)-l|0;if((m|0)<0){mb=566;break a}r=(e[i+10+($a*116|0)+(M*58|0)+4>>1]|0)+-210|0;K=i+10+($a*116|0)+(M*58|0)+8|0;n=d[K>>0]|0;s=(n>>>1&1)+1|0;do if((a[y>>0]|0)==2){if(!(n&8)){l=0;n=0}else{o=n<<29>>31;l=0;n=0;while(1){c[pb+(n<<2)>>2]=r-((o&d[50971+n>>0])+(d[i+10+($a*116|0)+(M*58|0)+18+n>>0]|0)<>0]|0)|0;if(l>>>0<36)n=p;else{n=p;break}}}p=r-(d[i+10+($a*116|0)+(M*58|0)+13>>0]<<3)|0;q=r-(d[i+10+($a*116|0)+(M*58|0)+14>>0]<<3)|0;o=r-(d[i+10+($a*116|0)+(M*58|0)+15>>0]<<3)|0;if(l>>>0<576)while(1){c[pb+(n<<2)>>2]=p-(d[i+10+($a*116|0)+(M*58|0)+18+n>>0]<>2]=q-(d[i+10+($a*116|0)+(M*58|0)+18+J>>0]<>2]=o-(d[i+10+($a*116|0)+(M*58|0)+18+J>>0]<>0]|0)*3|0)+l|0;if(l>>>0>=576)break;else n=n+3|0}}else{c[pb>>2]=r-(d[i+10+($a*116|0)+(M*58|0)+18>>0]<>2]=r-(d[i+10+($a*116|0)+(M*58|0)+19>>0]<>2]=r-(d[i+10+($a*116|0)+(M*58|0)+20>>0]<>2]=r-(d[i+10+($a*116|0)+(M*58|0)+21>>0]<>2]=r-(d[i+10+($a*116|0)+(M*58|0)+22>>0]<>2]=r-(d[i+10+($a*116|0)+(M*58|0)+23>>0]<>2]=r-(d[i+10+($a*116|0)+(M*58|0)+24>>0]<>2]=r-(d[i+10+($a*116|0)+(M*58|0)+25>>0]<>2]=r-(d[i+10+($a*116|0)+(M*58|0)+26>>0]<>2]=r-(d[i+10+($a*116|0)+(M*58|0)+27>>0]<>2]=r-(d[i+10+($a*116|0)+(M*58|0)+28>>0]<>0]|0;if(!(n&4)){c[Ia>>2]=r-(l<>2]=r-(d[i+10+($a*116|0)+(M*58|0)+30>>0]<>2]=r-(d[i+10+($a*116|0)+(M*58|0)+31>>0]<>2]=r-(d[i+10+($a*116|0)+(M*58|0)+32>>0]<>2]=r-(d[i+10+($a*116|0)+(M*58|0)+33>>0]<>2]=r-(d[i+10+($a*116|0)+(M*58|0)+34>>0]<>2]=r-(d[i+10+($a*116|0)+(M*58|0)+35>>0]<>2]=r-(d[i+10+($a*116|0)+(M*58|0)+36>>0]<>2]=r-(d[i+10+($a*116|0)+(M*58|0)+37>>0]<>2]=r-(d[i+10+($a*116|0)+(M*58|0)+38>>0]<>2]=r-(d[i+10+($a*116|0)+(M*58|0)+39>>0]<>2]=r-(l+1<>2]=r-((d[i+10+($a*116|0)+(M*58|0)+30>>0]|0)+1<>2]=r-((d[i+10+($a*116|0)+(M*58|0)+31>>0]|0)+1<>2]=r-((d[i+10+($a*116|0)+(M*58|0)+32>>0]|0)+1<>2]=r-((d[i+10+($a*116|0)+(M*58|0)+33>>0]|0)+2<>2]=r-((d[i+10+($a*116|0)+(M*58|0)+34>>0]|0)+2<>2]=r-((d[i+10+($a*116|0)+(M*58|0)+35>>0]|0)+3<>2]=r-((d[i+10+($a*116|0)+(M*58|0)+36>>0]|0)+3<>2]=r-((d[i+10+($a*116|0)+(M*58|0)+37>>0]|0)+3<>2]=r-((d[i+10+($a*116|0)+(M*58|0)+38>>0]|0)+2<>2]=r-(d[i+10+($a*116|0)+(M*58|0)+39>>0]<>2]|0;o=c[o+4>>2]|0;s=ob;c[s>>2]=n;c[s+4>>2]=o;qh(f,m);o=ql(n|0,o|0,48)|0;z()|0;o=(31-o&-8)+o|0;n=rh(ob,o)|0;s=d[i+10+($a*116|0)+(M*58|0)+10>>0]|0;q=c[5080+(s<<3)>>2]|0;if(!q){Q=165;break a}r=zb+(M*2304|0)+(d[k>>0]<<2)|0;x=k+1|0;l=m-o|0;p=c[pb>>2]|0;k=b[i+10+($a*116|0)+(M*58|0)+2>>1]|0;if((m|0)>0&k<<16>>16!=0){J=i+10+($a*116|0)+(M*58|0)+17|0;I=k&65535;B=p;t=Ga;y=e[5080+(s<<3)+4>>1]|0;u=(d[i+10+($a*116|0)+(M*58|0)+16>>0]|0)+1|0;m=0;A=0;p=e[5080+(s<<3)+6>>1]|0;H=0;F=w;while(1){I=I+-1|0;if((F|0)==(r|0)){w=x+1|0;r=F+(d[x>>0]<<2)|0;k=u+-1|0;if(!k){if(!m)k=(d[J>>0]|0)+1|0;else k=0;m=m+1|0;p=d[i+10+($a*116|0)+(M*58|0)+10+m>>0]|0;q=c[5080+(p<<3)>>2]|0;if(!q){Q=165;break a}else{s=e[5080+(p<<3)+4>>1]|0;p=e[5080+(p<<3)+6>>1]|0}}else s=y;x=c[t>>2]|0;G=x;t=t+4|0;y=s;E=k;D=m;s=(B|0)==(x|0)?A:0;x=w;C=p}else{G=B;E=u;D=m;s=A;C=p}k=31-o&-8;if((o|0)<21){n=rh(ob,k)|0|n<>>(o-C|0)&(1<>0]&1)){m=C;do{o=o-m|0;k=b[q+(k<<1)>>1]|0;m=(k&65535)>>>1&7;k=(n>>>(o-m|0)&(1<>>4&65535)|0}while(!(a[q+(k<<1)>>0]&1))}A=q+(k<<1)|0;m=b[A>>1]|0;o=o-((m&65535)>>>1&7)|0;m=(m&65535)>>>4;k=m&15;u=k&65535;b:do if(!y){if(!(k<<16>>16)){m=s;k=0}else{k=1<>2]|0;m=k&134217727;k=(k>>>27)+((G|0)/4|0)|0;do if((k|0)>=0)if((k|0)>4){g[sb>>3]=+(m|0)*3.725290298461914e-09;c[sb+8>>2]=k;Ai(R,50993,sb)|0;k=2147483647;break}else{k=m<>>0>31?0:(1<<~k)+m>>B}while(0);if(p)k=v((c[40448+(p+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;c[hb+(u<<2)>>2]=k;m=s}else{m=s;k=c[hb+(u<<2)>>2]|0}B=o+-1|0;o=B;k=(1<>2]=k;B=(e[A>>1]|0)>>>8&15;u=B&65535;if(!(B<<16>>16)){w=n;k=0;s=m}else{k=1<>2]|0;m=B&134217727;k=(B>>>27)+k|0;do if((k|0)>=0)if((k|0)>4){g[tb>>3]=+(m|0)*3.725290298461914e-09;c[tb+8>>2]=k;Ai(R,50993,tb)|0;k=2147483647;break}else{k=m<>>0>31?0:(1<<~k)+m>>B}while(0);if(p)k=v((c[40448+(p+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;c[hb+(u<<2)>>2]=k;m=s}else k=c[hb+(u<<2)>>2]|0;s=o+-1|0;w=n;o=s;k=(1<>>0<(y+2|0)>>>0){n=rh(ob,16)|0|n<<16;l=l+-16|0;o=o+16|0}o=o-y|0;p=(G|0)%4|0;k=c[7620+((n>>>o&(1<>2]|0;m=k&134217727;k=(k>>>27)+((G|0)/4|0)|0;do if((k|0)>=0)if((k|0)>4){g[qb>>3]=+(m|0)*3.725290298461914e-09;c[qb+8>>2]=k;Ai(R,50993,qb)|0;k=2147483647;break}else{k=m<>>0>31?0:(1<<~k)+m>>Q}while(0);if(!p){Q=118;break c}k=v((c[40448+(p+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;Q=118;break}default:{k=1<>2]|0;Q=118;break c}s=k|s;p=(G|0)%4|0;k=c[7620+(u<<2)>>2]|0;m=k&134217727;k=(k>>>27)+((G|0)/4|0)|0;do if((k|0)>=0)if((k|0)>4){g[ub>>3]=+(m|0)*3.725290298461914e-09;c[ub+8>>2]=k;Ai(R,50993,ub)|0;k=2147483647;break}else{k=m<>>0>31?0:(1<<~k)+m>>Q}while(0);if(p)k=v((c[40448+(p+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;c[hb+(u<<2)>>2]=k;Q=118}}while(0);if((Q|0)==118){Q=0;B=o+-1|0;w=n;o=B;k=(1<>2]=k;B=(e[A>>1]|0)>>>8;u=B&15;d:do switch(B&15){case 0:{k=0;break b}case 15:{if(o>>>0<(y+1|0)>>>0){n=rh(ob,16)|0|w<<16;l=l+-16|0;o=o+16|0}else n=w;o=o-y|0;p=(G|0)%4|0;k=c[7620+((n>>>o&(1<>2]|0;m=k&134217727;k=(k>>>27)+((G|0)/4|0)|0;do if((k|0)>=0)if((k|0)>4){g[yb>>3]=+(m|0)*3.725290298461914e-09;c[yb+8>>2]=k;Ai(R,50993,yb)|0;k=2147483647;break}else{k=m<>>0>31?0:(1<<~k)+m>>B}while(0);if(!p)break d;k=v((c[40448+(p+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;break}default:{k=1<>2]|0;break d}s=k|s;n=(G|0)%4|0;k=c[7620+(u<<2)>>2]|0;m=k&134217727;k=(k>>>27)+((G|0)/4|0)|0;do if((k|0)>=0)if((k|0)>4){g[rb>>3]=+(m|0)*3.725290298461914e-09;c[rb+8>>2]=k;Ai(R,50993,rb)|0;k=2147483647;break}else{k=m<>>0>31?0:(1<<~k)+m>>B}while(0);if(n)k=v((c[40448+(n+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;c[hb+(u<<2)>>2]=k;n=w}}while(0);B=o+-1|0;w=n;o=B;k=(1<>2]=k;k=H+2|0;m=o+l|0;if(!((I|0)!=0&(m|0)>0)){u=o;s=G;q=x;break}else{n=w;B=G;u=E;m=D;A=s;p=C;H=k;F=zb+(M*2304|0)+(k<<2)|0}}}else{w=n;u=o;s=p;t=Ga;q=x;k=0}if((m|0)<0){mb=568;break a}B=c[5072+((a[K>>0]&1)<<2)>>2]|0;o=(s|0)/4|0;p=s-(o<<2)|0;n=o+2|0;do if((s|0)>=-11)if((s|0)>11){g[vb>>3]=.25;c[vb+8>>2]=n;Ai(R,50993,vb)|0;n=2147483647;break}else{n=67108864<>>0>31?0:(1<<-3-o)+67108864>>n}while(0);if(p)n=v((c[40448+(p+3<<2)>>2]|0)+32768>>16,n+2048>>12)|0;if((m|0)>0&k>>>0<573){m=w;w=q;while(1){y=zb+(M*2304|0)+(k<<2)|0;if((u|0)<10){A=rh(ob,16)|0|m<<16;l=l+-16|0;m=u+16|0}else{A=m;m=u}q=m+-4|0;o=B+((A>>>q&15)<<1)|0;p=a[o>>0]|0;if(!(p&1)){p=b[o>>1]|0;o=(p&65535)>>>1&7;p=B+((A>>>(q-o|0)&(1<>>4&65535)<<1)|0;o=p;p=a[p>>0]|0;m=q}x=m-((p&255)>>>1&7)|0;if((y|0)==(r|0)){u=w+1|0;r=r+(d[w>>0]<<2)|0;q=c[t>>2]|0;do if((s|0)==(q|0))m=s;else{n=(q|0)/4|0;p=q-(n<<2)|0;m=n+2|0;do if((q|0)>=-11)if((q|0)>11){g[wb>>3]=.25;c[wb+8>>2]=m;Ai(R,50993,wb)|0;n=2147483647;break}else{n=67108864<>>0>31?0:(1<<-3-n)+67108864>>K}while(0);if(!p){m=q;break}m=q;n=v((c[40448+(p+3<<2)>>2]|0)+32768>>16,n+2048>>12)|0}while(0);p=a[o>>0]|0;s=m;t=t+4|0;q=u}else q=w;w=(p&16)==0;K=x+-1|0;m=0-n|0;x=w?x:K;c[y>>2]=w?0:(1<>0]&32)==0;w=x+-1|0;x=K?x:w;c[y+4>>2]=K?0:(1<>0]<<2)|0;q=c[t>>2]|0;do if((s|0)==(q|0))m=s;else{n=(q|0)/4|0;p=q-(n<<2)|0;m=n+2|0;do if((q|0)>=-11)if((q|0)>11){g[xb>>3]=.25;c[xb+8>>2]=m;Ai(R,50993,xb)|0;n=2147483647;break}else{n=67108864<>>0>31?0:(1<<-3-n)+67108864>>K}while(0);if(!p){m=q;break}m=q;n=v((c[40448+(p+3<<2)>>2]|0)+32768>>16,n+2048>>12)|0}while(0);s=m;t=t+4|0;p=n;q=u;m=0-n|0}else p=n;K=(a[o>>0]&64)==0;J=x+-1|0;u=K?x:J;c[w>>2]=K?0:(1<>0]|0)<0;K=u+-1|0;u=J?K:u;c[w+4>>2]=J?((1<>>0<573&(m|0)>0))break;else{m=A;n=p;w=q}}}if((l|0)<=-65){Q=202;break a}k=(m|0)<0?k+-4|0:k;if((k|0)<576)zl(zb+(M*2304|0)+(k<<2)|0,0,((((k|0)==575?576:575)-k|0)>>>1<<3)+8|0)|0;M=M+1|0}while(M>>>0>>0)}if((c[ab>>2]|0)==2?(eb=c[bb>>2]|0,eb|0):0){u=c[nb>>2]|0;k=a[i+10+($a*116|0)+9>>0]|0;if(k<<24>>24!=(a[i+10+($a*116|0)+67>>0]|0)){Q=276;break}l=a[i+10+($a*116|0)+66>>0]|0;if((l^a[i+10+($a*116|0)+8>>0])&8){Q=276;break}O=eb&65535;b[pb>>1]=O;b[V>>1]=O;b[ea>>1]=O;b[pa>>1]=O;b[za>>1]=O;b[Aa>>1]=O;b[Ba>>1]=O;b[Ca>>1]=O;b[Da>>1]=O;b[Ea>>1]=O;b[W>>1]=O;b[X>>1]=O;b[Y>>1]=O;b[Z>>1]=O;b[_>>1]=O;b[$>>1]=O;b[aa>>1]=O;b[ba>>1]=O;b[ca>>1]=O;b[da>>1]=O;b[fa>>1]=O;b[ga>>1]=O;b[ha>>1]=O;b[ia>>1]=O;b[ja>>1]=O;b[ka>>1]=O;b[la>>1]=O;b[ma>>1]=O;b[na>>1]=O;b[oa>>1]=O;b[qa>>1]=O;b[ra>>1]=O;b[sa>>1]=O;b[ta>>1]=O;b[ua>>1]=O;b[va>>1]=O;b[wa>>1]=O;b[xa>>1]=O;b[ya>>1]=O;e:do if(eb&1|0){t=c[jb>>2]|0;c[jb>>2]=t|256;if(k<<24>>24==2){c[U>>2]=0;c[T>>2]=0;c[hb>>2]=0;if(l&8){o=0;l=0;p=S;k=0;do{Q=k;k=k+1|0;Q=a[u+Q>>0]|0;n=Q&255;f:do if(Q<<24>>24){m=0;do{if(c[p+(m<<2)>>2]|0){l=k;break f}m=m+1|0}while(m>>>0>>0)}while(0);p=p+(n<<2)|0;o=o+n|0}while(o>>>0<36);if(o>>>0<576){m=p;Q=220}else Q=228}else{o=0;l=0;m=S;k=0;Q=220}if((Q|0)==220){Q=0;q=0;r=k;s=0;while(1){O=a[u+r>>0]|0;r=r+1|0;p=O&255;g:do if(!(O<<24>>24))n=q;else{n=0;while(1){if(c[m+(n<<2)>>2]|0)break;n=n+1|0;if(n>>>0>=p>>>0){n=q;break g}}c[hb+(s<<2)>>2]=r;n=r}while(0);o=o+p|0;if(o>>>0>=576)break;else{q=n;m=m+(p<<2)|0;s=((s+1|0)>>>0)%3|0}}if(!n)Q=228;else{l=k;o=n}}if((Q|0)==228){Q=0;o=0}if(l|0){m=eb&65534;n=0;do{b[pb+(n<<1)>>1]=m;n=n+1|0}while((n|0)!=(l|0))}if(k>>>0>>0){m=eb&65534;l=0;while(1){if(k>>>0<(c[hb+(l<<2)>>2]|0)>>>0)b[pb+(k<<1)>>1]=m;k=k+1|0;if((k|0)==(o|0))break;else l=((l+1|0)>>>0)%3|0}}}else{k=0;o=0;p=S;q=0;while(1){O=a[u+q>>0]|0;q=q+1|0;n=O&255;h:do if(!(O<<24>>24))m=k;else{l=0;while(1){if(c[p+(l<<2)>>2]|0){m=q;break h}l=l+1|0;if(l>>>0>=n>>>0){m=k;break}}}while(0);o=o+n|0;if(o>>>0>=576)break;else{k=m;p=p+(n<<2)|0}}if(m|0){k=eb&65534;l=0;do{b[pb+(l<<1)>>1]=k;l=l+1|0}while((l|0)!=(m|0))}}if(!(t&4096)){p=0;q=0;while(1){k=a[u+q>>0]|0;o=k&255;l=pb+(q<<1)|0;m=b[l>>1]|0;do if(m&1|0){P=a[i+10+($a*116|0)+76+q>>0]|0;n=P&255;if((P&255)>6){b[l>>1]=m&65534;break}if(k<<24>>24){m=(c[40596+(n<<2)>>2]|0)+32768>>16;l=(c[40596+(6-n<<2)>>2]|0)+32768>>16;k=0;do{P=k+p|0;M=zb+(P<<2)|0;O=(c[M>>2]|0)+2048>>12;c[M>>2]=v(O,m)|0;c[zb+2304+(P<<2)>>2]=v(O,l)|0;k=k+1|0}while((k|0)!=(o|0))}}while(0);p=p+o|0;if(p>>>0>=576)break e;else q=q+1|0}}n=b[i+10+($a*116|0)+64>>1]&1;p=0;q=0;while(1){m=a[u+q>>0]|0;o=m&255;k=pb+(q<<1)|0;l=b[k>>1]|0;i:do if(l&1|0){if(a[P+192+q>>0]|0){b[k>>1]=l&65534;break}k=a[i+10+($a*116|0)+76+q>>0]|0;l=k&255;if(m<<24>>24){if(!(k<<24>>24)){k=0;while(1){O=k+p|0;c[zb+2304+(O<<2)>>2]=c[zb+(O<<2)>>2];k=k+1|0;if((k|0)==(o|0))break i}}m=(c[40476+(n*60|0)+((l+-1|0)>>>1<<2)>>2]|0)+32768>>16;if(!(l&1)){k=0;do{O=k+p|0;c[zb+2304+(O<<2)>>2]=v((c[zb+(O<<2)>>2]|0)+2048>>12,m)|0;k=k+1|0}while((k|0)!=(o|0))}else{k=0;do{O=k+p|0;L=zb+(O<<2)|0;M=c[L>>2]|0;c[L>>2]=v(M+2048>>12,m)|0;c[zb+2304+(O<<2)>>2]=M;k=k+1|0}while((k|0)!=(o|0))}}}while(0);p=p+o|0;if(p>>>0>=576)break;else q=q+1|0}}while(0);if(eb&2|0){c[jb>>2]=c[jb>>2]|512;m=0;n=0;while(1){P=a[u+n>>0]|0;k=P&255;if(P<<24>>24?(b[pb+(n<<1)>>1]|0)==2:0){l=0;do{P=l+m|0;L=zb+(P<<2)|0;P=zb+2304+(P<<2)|0;O=c[P>>2]|0;M=(c[L>>2]|0)+2048|0;c[L>>2]=(M+O>>12)*2896;c[P>>2]=(M-O>>12)*2896;l=l+1|0}while((l|0)!=(k|0))}m=m+k|0;if(m>>>0>=576)break;else n=n+1|0}}}if(!ib){A=$a*18|0;y=0;do{x=h+48+(y*4608|0)+(A<<7)|0;w=i+10+($a*116|0)+(y*58|0)+9|0;u=zb+(y*2304|0)|0;if((a[w>>0]|0)==2){k=c[nb+(y<<2)>>2]|0;t=(a[i+10+($a*116|0)+(y*58|0)+8>>0]&8)==0;if(t)s=0;else{m=0;while(1){l=k+1|0;m=m+(d[k>>0]|0)|0;if(m>>>0>=36){s=2;k=l;break}else k=l}};c[ob>>2]=0;c[ob+4>>2]=0;c[ob+8>>2]=0;c[hb>>2]=s;c[T>>2]=s;c[U>>2]=s;r=s*18|0;m=d[k>>0]|0;q=r;k=k+1|0;l=0;while(1){if(!m){p=d[k>>0]|0;k=k+1|0;l=((l+1|0)>>>0)%3|0}else p=m;O=c[zb+(y*2304|0)+(q<<2)>>2]|0;n=hb+(l<<2)|0;m=c[n>>2]|0;o=ob+(l<<2)|0;P=c[o>>2]|0;Q=P+1|0;c[o>>2]=Q;c[pb+(m*72|0)+(l*24|0)+(P<<2)>>2]=O;if((Q|0)==6){c[o>>2]=0;c[n>>2]=m+1}q=q+1|0;if((q|0)==576)break;else m=p+-1|0}xl(zb+(y*2304|0)+(r<<2)|0,pb+(s*72|0)|0,(v(s,-72)|0)+2304|0)|0;if(!t)Dh(u,36)}else Dh(u,576);k=a[w>>0]|0;l=a[i+10+($a*116|0)+(y*58|0)+8>>0]&8;if(k<<24>>24==2&l<<24>>24==0){Gh(u,lb);Fh(lb,(c[cb>>2]|0)+(y*2304|0)|0,x,0);Gh(zb+(y*2304|0)+72|0,lb);Fh(lb,(c[cb>>2]|0)+(y*2304|0)+72|0,x,1)}else{Q=l<<24>>24==0?k&255:0;Eh(u,lb,Q);Fh(lb,(c[cb>>2]|0)+(y*2304|0)|0,x,0);Eh(zb+(y*2304|0)+72|0,lb,Q);Fh(lb,(c[cb>>2]|0)+(y*2304|0)+72|0,x,1)}l=x+132|0;P=x+388|0;O=c[P>>2]|0;c[l>>2]=0-(c[l>>2]|0);l=x+644|0;Q=c[l>>2]|0;c[P>>2]=0-O;P=x+900|0;O=c[P>>2]|0;c[l>>2]=0-Q;l=x+1156|0;Q=c[l>>2]|0;c[P>>2]=0-O;P=x+1412|0;O=c[P>>2]|0;c[l>>2]=0-Q;l=x+1668|0;Q=c[l>>2]|0;c[P>>2]=0-O;P=x+1924|0;O=c[P>>2]|0;c[l>>2]=0-Q;l=x+2180|0;Q=c[l>>2]|0;c[P>>2]=0-O;c[l>>2]=0-Q;l=576;while(1){k=l;l=l+-1|0;if(c[zb+(y*2304|0)+(l<<2)>>2]|0)break;if(l>>>0<=36){k=36;break}}t=32-(((576-k|0)>>>0)/18|0)|0;k=a[w>>0]|0;l=t>>>0>2;j:do if(k<<24>>24==2)if(l){k=36;l=2;while(1){Gh(zb+(y*2304|0)+(k<<2)|0,lb);Fh(lb,(c[cb>>2]|0)+(y*2304|0)+(l*72|0)|0,x,l);if(l&1|0){Q=x+128+(l<<2)|0;O=x+384+(l<<2)|0;M=c[O>>2]|0;c[Q>>2]=0-(c[Q>>2]|0);Q=x+640+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-M;O=x+896+(l<<2)|0;M=c[O>>2]|0;c[Q>>2]=0-P;Q=x+1152+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-M;O=x+1408+(l<<2)|0;M=c[O>>2]|0;c[Q>>2]=0-P;Q=x+1664+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-M;O=x+1920+(l<<2)|0;M=c[O>>2]|0;c[Q>>2]=0-P;Q=x+2176+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-M;c[Q>>2]=0-P}l=l+1|0;if(l>>>0>=t>>>0){Q=311;break}else k=k+18|0}}else Q=312;else if(l){m=36;l=2;while(1){Eh(zb+(y*2304|0)+(m<<2)|0,lb,k&255);Fh(lb,(c[cb>>2]|0)+(y*2304|0)+(l*72|0)|0,x,l);if(l&1|0){Q=x+128+(l<<2)|0;O=x+384+(l<<2)|0;M=c[O>>2]|0;c[Q>>2]=0-(c[Q>>2]|0);Q=x+640+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-M;O=x+896+(l<<2)|0;M=c[O>>2]|0;c[Q>>2]=0-P;Q=x+1152+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-M;O=x+1408+(l<<2)|0;M=c[O>>2]|0;c[Q>>2]=0-P;Q=x+1664+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-M;O=x+1920+(l<<2)|0;M=c[O>>2]|0;c[Q>>2]=0-P;Q=x+2176+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-M;c[Q>>2]=0-P}l=l+1|0;if(l>>>0>=t>>>0){Q=311;break j}k=a[w>>0]|0;m=m+18|0}}else Q=312;while(0);if((Q|0)==311?(Q=0,t>>>0<32):0)Q=312;if((Q|0)==312){Q=0;u=c[cb>>2]|0;do{P=u+(y*2304|0)+(t*72|0)|0;c[h+48+(y*4608|0)+(A<<7)+(t<<2)>>2]=c[P>>2];c[P>>2]=0;P=u+(y*2304|0)+(t*72|0)+4|0;k=x+128+(t<<2)|0;c[k>>2]=c[P>>2];c[P>>2]=0;P=u+(y*2304|0)+(t*72|0)+8|0;c[x+256+(t<<2)>>2]=c[P>>2];c[P>>2]=0;P=u+(y*2304|0)+(t*72|0)+12|0;p=x+384+(t<<2)|0;c[p>>2]=c[P>>2];c[P>>2]=0;P=u+(y*2304|0)+(t*72|0)+16|0;c[x+512+(t<<2)>>2]=c[P>>2];c[P>>2]=0;P=u+(y*2304|0)+(t*72|0)+20|0;q=x+640+(t<<2)|0;c[q>>2]=c[P>>2];c[P>>2]=0;P=u+(y*2304|0)+(t*72|0)+24|0;c[x+768+(t<<2)>>2]=c[P>>2];c[P>>2]=0;P=u+(y*2304|0)+(t*72|0)+28|0;r=x+896+(t<<2)|0;c[r>>2]=c[P>>2];c[P>>2]=0;P=u+(y*2304|0)+(t*72|0)+32|0;c[x+1024+(t<<2)>>2]=c[P>>2];c[P>>2]=0;P=u+(y*2304|0)+(t*72|0)+36|0;s=x+1152+(t<<2)|0;c[s>>2]=c[P>>2];c[P>>2]=0;P=u+(y*2304|0)+(t*72|0)+40|0;c[x+1280+(t<<2)>>2]=c[P>>2];c[P>>2]=0;P=u+(y*2304|0)+(t*72|0)+44|0;l=x+1408+(t<<2)|0;c[l>>2]=c[P>>2];c[P>>2]=0;P=u+(y*2304|0)+(t*72|0)+48|0;c[x+1536+(t<<2)>>2]=c[P>>2];c[P>>2]=0;P=u+(y*2304|0)+(t*72|0)+52|0;m=x+1664+(t<<2)|0;c[m>>2]=c[P>>2];c[P>>2]=0;P=u+(y*2304|0)+(t*72|0)+56|0;c[x+1792+(t<<2)>>2]=c[P>>2];c[P>>2]=0;P=u+(y*2304|0)+(t*72|0)+60|0;n=x+1920+(t<<2)|0;c[n>>2]=c[P>>2];c[P>>2]=0;P=u+(y*2304|0)+(t*72|0)+64|0;c[x+2048+(t<<2)>>2]=c[P>>2];c[P>>2]=0;P=u+(y*2304|0)+(t*72|0)+68|0;o=x+2176+(t<<2)|0;c[o>>2]=c[P>>2];c[P>>2]=0;if(t&1|0){O=c[p>>2]|0;c[k>>2]=0-(c[k>>2]|0);P=c[q>>2]|0;c[p>>2]=0-O;O=c[r>>2]|0;c[q>>2]=0-P;P=c[s>>2]|0;c[r>>2]=0-O;O=c[l>>2]|0;c[s>>2]=0-P;P=c[m>>2]|0;c[l>>2]=0-O;O=c[n>>2]|0;c[m>>2]=0-P;P=c[o>>2]|0;c[n>>2]=0-O;c[o>>2]=0-P}t=t+1|0}while(t>>>0<32)}y=y+1|0}while((y|0)!=(j|0))}$a=$a+1|0;if($a>>>0>=fb>>>0){k=0;Q=318;break}}if((Q|0)==165)mb=567;else if((Q|0)==202)N(51026,50858,1253,51068);else if((Q|0)==276){zb=569;Dc=Ab;return zb|0}else if((Q|0)==318){Dc=Ab;return k|0}zb=mb;Dc=Ab;return zb|0}function Dh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=a+(b<<2)|0;if((b|0)<=18)return;b=a+72|0;do{g=b+-4|0;e=c[b>>2]|0;f=(c[g>>2]|0)+2048>>12;c[g>>2]=(v(2048-e>>12,-2107)|0)+(f*3512|0);c[b>>2]=(v(f,-2107)|0)+((e+2048>>12)*3512|0);e=b+-8|0;f=b+4|0;g=c[f>>2]|0;a=(c[e>>2]|0)+2048>>12;c[e>>2]=(v(2048-g>>12,-1932)|0)+(a*3612|0);c[f>>2]=(v(a,-1932)|0)+((g+2048>>12)*3612|0);f=b+-12|0;g=b+8|0;a=c[g>>2]|0;e=(c[f>>2]|0)+2048>>12;c[f>>2]=(v(2048-a>>12,-1284)|0)+(e*3890|0);c[g>>2]=(v(e,-1284)|0)+((a+2048>>12)*3890|0);g=b+-16|0;a=b+12|0;e=c[a>>2]|0;f=(c[g>>2]|0)+2048>>12;c[g>>2]=(v(2048-e>>12,-745)|0)+(f*4028|0);c[a>>2]=(v(f,-745)|0)+((e+2048>>12)*4028|0);a=b+-20|0;e=b+16|0;f=c[e>>2]|0;g=(c[a>>2]|0)+2048>>12;c[a>>2]=(v(2048-f>>12,-387)|0)+(g*4078|0);c[e>>2]=(v(g,-387)|0)+((f+2048>>12)*4078|0);e=b+-24|0;f=b+20|0;g=c[f>>2]|0;a=(c[e>>2]|0)+2048>>12;c[e>>2]=(v(2048-g>>12,-168)|0)+(a*4093|0);c[f>>2]=(v(a,-168)|0)+((g+2048>>12)*4093|0);f=b+-28|0;g=b+24|0;a=c[g>>2]|0;e=(c[f>>2]|0)+2048|0;c[f>>2]=(v(2048-a>>12,-58)|0)+(e&-4096);c[g>>2]=(v(e>>12,-58)|0)+(a+2048&-4096);g=b+-32|0;a=b+28|0;e=c[a>>2]|0;f=(c[g>>2]|0)+2048|0;c[g>>2]=(v(2048-e>>12,-15)|0)+(f&-4096);c[a>>2]=(v(f>>12,-15)|0)+(e+2048&-4096);b=b+72|0}while(b>>>0>>0);return}function Eh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;o=((c[a>>2]|0)+2048>>12)*8184|0;g=((c[a+4>>2]|0)+2048>>12)*8122|0;O=((c[a+8>>2]|0)+2048>>12)*7998|0;Z=((c[a+12>>2]|0)+2048>>12)*7813|0;X=((c[a+16>>2]|0)+2048>>12)*7568|0;V=((c[a+20>>2]|0)+2048>>12)*7266|0;ca=((c[a+24>>2]|0)+2048>>12)*6909|0;M=((c[a+28>>2]|0)+2048>>12)*6499|0;Q=((c[a+32>>2]|0)+2048>>12)*6040|0;ba=((c[a+36>>2]|0)+2048>>12)*5534|0;P=((c[a+40>>2]|0)+2048>>12)*4987|0;f=((c[a+44>>2]|0)+2048>>12)*4402|0;A=((c[a+48>>2]|0)+2048>>12)*3783|0;R=((c[a+52>>2]|0)+2048>>12)*3135|0;m=((c[a+56>>2]|0)+2048>>12)*2463|0;t=((c[a+60>>2]|0)+2048>>12)*1773|0;N=((c[a+64>>2]|0)+2048>>12)*1069|0;W=((c[a+68>>2]|0)+2048>>12)*357|0;S=W+o|0;Y=N+g|0;e=t+O|0;a=m+Z|0;u=R+X|0;l=A+V|0;K=f+ca|0;_=P+M|0;L=ba+Q|0;$=a+l|0;l=a-l|0;a=e+K|0;e=K-e|0;K=Y+_|0;aa=S+L|0;S=L-S|0;L=a+$+aa|0;U=e+2048|0;n=v(U+l>>12,-5266)|0;l=l+2048|0;T=(l-S>>12)*8068|0;U=v(S+U>>12,-2802)|0;Y=v(2048-_+Y>>12,-7094)|0;_=v(a+2048-aa>>12,-7698)|0;$=$+2048|0;aa=v($-aa>>12,-1423)|0;a=v($-a>>12,-6275)|0;$=K+u|0;K=(u<<1)-K|0;W=(o+2048-W>>12)*8161|0;N=(g+2048-N>>12)*7913|0;t=(O+2048-t>>12)*7424|0;m=(Z+2048-m>>12)*6710|0;R=X+2048-R>>12;A=(V+2048-A>>12)*4699|0;f=(ca+2048-f>>12)*3462|0;P=(M+2048-P>>12)*2120|0;ba=(Q+2048-ba>>12)*714|0;Q=m+A|0;A=m-A|0;m=t+f|0;t=f-t|0;f=N+P|0;M=W+ba|0;W=ba-W|0;ba=m+Q+M|0;ca=t+2048|0;V=v(ca+A>>12,-5266)|0;A=A+2048|0;X=(A-W>>12)*8068|0;ca=v(W+ca>>12,-2802)|0;N=v(2048-P+N>>12,-7094)|0;P=v(m+2048-M>>12,-7698)|0;Q=Q+2048|0;M=v(Q-M>>12,-1423)|0;m=v(Q-m>>12,-6275)|0;Q=f+(R*5793|0)|0;f=(R*11586|0)-f|0;R=ba+Q|0;Z=V-N-R+X|0;O=m-f+P-Z|0;W=(v(A-t+W>>12,-7094)|0)-O|0;P=P+f-M-W|0;X=N-ca+X-P|0;Q=ba-(Q<<1)-X|0;ca=V+N+ca-Q|0;N=(L+$|0)/2|0;R=((R|0)/2|0)-N|0;V=((n-Y+T|0)/2|0)-R|0;Z=((Z|0)/2|0)-V|0;ba=((a-K+_|0)/2|0)-Z|0;O=((O|0)/2|0)-ba|0;S=(v(l-e+S>>12,-3547)|0)-O|0;W=((W|0)/2|0)-S|0;_=((_+K-aa|0)/2|0)-W|0;P=((P|0)/2|0)-_|0;T=((Y-U+T|0)/2|0)-P|0;X=((X|0)/2|0)-T|0;$=((L-($<<1)|0)/2|0)-X|0;Q=((Q|0)/2|0)-$|0;U=((n+Y+U|0)/2|0)-Q|0;Y=((ca|0)/2|0)-U|0;aa=((a+K+aa|0)/2|0)-Y|0;ca=((m+f+M-ca|0)/2|0)-aa|0;c[b>>2]=P;M=b+4|0;c[M>>2]=T;f=b+8|0;c[f>>2]=X;m=b+12|0;c[m>>2]=$;K=b+16|0;c[K>>2]=Q;a=b+20|0;c[a>>2]=U;n=b+24|0;c[n>>2]=Y;L=b+28|0;c[L>>2]=aa;e=b+32|0;c[e>>2]=ca;l=b+36|0;c[l>>2]=0-ca;t=b+40|0;c[t>>2]=0-aa;A=b+44|0;c[A>>2]=0-Y;g=b+48|0;c[g>>2]=0-U;o=b+52|0;c[o>>2]=0-Q;u=b+56|0;c[u>>2]=0-$;h=b+60|0;c[h>>2]=0-X;p=b+64|0;c[p>>2]=0-T;w=b+68|0;c[w>>2]=0-P;da=0-_|0;i=b+72|0;c[i>>2]=da;I=0-W|0;q=b+76|0;c[q>>2]=I;F=0-S|0;x=b+80|0;c[x>>2]=F;C=0-O|0;j=b+84|0;c[j>>2]=C;H=0-ba|0;r=b+88|0;c[r>>2]=H;E=0-Z|0;y=b+92|0;c[y>>2]=E;B=0-V|0;k=b+96|0;c[k>>2]=B;J=0-R|0;s=b+100|0;c[s>>2]=J;G=0-N|0;z=b+104|0;c[z>>2]=G;D=b+108|0;c[D>>2]=G;G=b+112|0;c[G>>2]=J;J=b+116|0;c[J>>2]=B;B=b+120|0;c[B>>2]=E;E=b+124|0;c[E>>2]=H;H=b+128|0;c[H>>2]=C;C=b+132|0;c[C>>2]=F;F=b+136|0;c[F>>2]=I;I=b+140|0;c[I>>2]=da;switch(d|0){case 0:{c[b>>2]=(P+2048>>12)*179;c[M>>2]=(T+2048>>12)*535;c[f>>2]=(X+2048>>12)*887;c[m>>2]=($+2048>>12)*1232;c[K>>2]=(Q+2048>>12)*1567;c[a>>2]=(U+2048>>12)*1891;c[n>>2]=(Y+2048>>12)*2201;c[L>>2]=(aa+2048>>12)*2493;c[e>>2]=(ca+2048>>12)*2767;c[l>>2]=(2048-ca>>12)*3020;c[t>>2]=(2048-aa>>12)*3250;c[A>>2]=(2048-Y>>12)*3455;c[g>>2]=(2048-U>>12)*3633;c[o>>2]=(2048-Q>>12)*3784;c[u>>2]=(2048-$>>12)*3906;c[h>>2]=(2048-X>>12)*3999;c[p>>2]=(2048-T>>12)*4061;c[w>>2]=(2048-P>>12)*4092;c[i>>2]=(2048-_>>12)*4092;c[q>>2]=(2048-W>>12)*4061;c[x>>2]=(2048-S>>12)*3999;c[j>>2]=(2048-O>>12)*3906;c[r>>2]=(2048-ba>>12)*3784;c[y>>2]=(2048-Z>>12)*3633;c[k>>2]=(2048-V>>12)*3455;c[s>>2]=((c[s>>2]|0)+2048>>12)*3250;c[z>>2]=((c[z>>2]|0)+2048>>12)*3020;c[D>>2]=((c[D>>2]|0)+2048>>12)*2767;c[G>>2]=((c[G>>2]|0)+2048>>12)*2493;c[J>>2]=((c[J>>2]|0)+2048>>12)*2201;c[B>>2]=((c[B>>2]|0)+2048>>12)*1891;c[E>>2]=((c[E>>2]|0)+2048>>12)*1567;c[H>>2]=((c[H>>2]|0)+2048>>12)*1232;c[C>>2]=((c[C>>2]|0)+2048>>12)*887;c[F>>2]=((c[F>>2]|0)+2048>>12)*535;c[I>>2]=((c[I>>2]|0)+2048>>12)*179;return}case 1:{c[b>>2]=(P+2048>>12)*179;c[M>>2]=(T+2048>>12)*535;c[f>>2]=(X+2048>>12)*887;c[m>>2]=($+2048>>12)*1232;c[K>>2]=(Q+2048>>12)*1567;c[a>>2]=(U+2048>>12)*1891;c[n>>2]=(Y+2048>>12)*2201;c[L>>2]=(aa+2048>>12)*2493;c[e>>2]=(ca+2048>>12)*2767;c[l>>2]=(2048-ca>>12)*3020;c[t>>2]=(2048-aa>>12)*3250;c[A>>2]=(2048-Y>>12)*3455;c[g>>2]=(2048-U>>12)*3633;c[o>>2]=(2048-Q>>12)*3784;c[u>>2]=(2048-$>>12)*3906;c[h>>2]=(2048-X>>12)*3999;c[p>>2]=(2048-T>>12)*4061;c[w>>2]=(2048-P>>12)*4092;da=2048-V>>12;c[k>>2]=da*4061;b=2048-R>>12;c[s>>2]=b*3784;d=2048-N>>12;c[z>>2]=d*3250;c[D>>2]=d*2493;c[G>>2]=b*1567;c[J>>2]=da*535;c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;c[B+12>>2]=0;c[B+16>>2]=0;c[B+20>>2]=0;return}case 3:{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[n>>2]=(Y+2048>>12)*535;c[L>>2]=(aa+2048>>12)*1567;c[e>>2]=(ca+2048>>12)*2493;c[l>>2]=(2048-ca>>12)*3250;c[t>>2]=(2048-aa>>12)*3784;c[A>>2]=(2048-Y>>12)*4061;da=2048-_>>12;c[i>>2]=da*4092;b=2048-W>>12;c[q>>2]=b*4061;d=2048-S>>12;c[x>>2]=d*3999;ca=2048-O>>12;c[j>>2]=ca*3906;ba=2048-ba>>12;c[r>>2]=ba*3784;aa=2048-Z>>12;c[y>>2]=aa*3633;$=2048-V>>12;c[k>>2]=$*3455;_=2048-R>>12;c[s>>2]=_*3250;Z=2048-N>>12;c[z>>2]=Z*3020;c[D>>2]=Z*2767;c[G>>2]=_*2493;c[J>>2]=$*2201;c[B>>2]=aa*1891;c[E>>2]=ba*1567;c[H>>2]=ca*1232;c[C>>2]=d*887;c[F>>2]=b*535;c[I>>2]=da*179;return}default:return}}function Fh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;c[d+(e<<2)>>2]=(c[b>>2]|0)+(c[a>>2]|0);c[b>>2]=c[a+72>>2];f=b+4|0;c[d+128+(e<<2)>>2]=(c[f>>2]|0)+(c[a+4>>2]|0);c[f>>2]=c[a+76>>2];f=b+8|0;c[d+256+(e<<2)>>2]=(c[f>>2]|0)+(c[a+8>>2]|0);c[f>>2]=c[a+80>>2];f=b+12|0;c[d+384+(e<<2)>>2]=(c[f>>2]|0)+(c[a+12>>2]|0);c[f>>2]=c[a+84>>2];f=b+16|0;c[d+512+(e<<2)>>2]=(c[f>>2]|0)+(c[a+16>>2]|0);c[f>>2]=c[a+88>>2];f=b+20|0;c[d+640+(e<<2)>>2]=(c[f>>2]|0)+(c[a+20>>2]|0);c[f>>2]=c[a+92>>2];f=b+24|0;c[d+768+(e<<2)>>2]=(c[f>>2]|0)+(c[a+24>>2]|0);c[f>>2]=c[a+96>>2];f=b+28|0;c[d+896+(e<<2)>>2]=(c[f>>2]|0)+(c[a+28>>2]|0);c[f>>2]=c[a+100>>2];f=b+32|0;c[d+1024+(e<<2)>>2]=(c[f>>2]|0)+(c[a+32>>2]|0);c[f>>2]=c[a+104>>2];f=b+36|0;c[d+1152+(e<<2)>>2]=(c[f>>2]|0)+(c[a+36>>2]|0);c[f>>2]=c[a+108>>2];f=b+40|0;c[d+1280+(e<<2)>>2]=(c[f>>2]|0)+(c[a+40>>2]|0);c[f>>2]=c[a+112>>2];f=b+44|0;c[d+1408+(e<<2)>>2]=(c[f>>2]|0)+(c[a+44>>2]|0);c[f>>2]=c[a+116>>2];f=b+48|0;c[d+1536+(e<<2)>>2]=(c[f>>2]|0)+(c[a+48>>2]|0);c[f>>2]=c[a+120>>2];f=b+52|0;c[d+1664+(e<<2)>>2]=(c[f>>2]|0)+(c[a+52>>2]|0);c[f>>2]=c[a+124>>2];f=b+56|0;c[d+1792+(e<<2)>>2]=(c[f>>2]|0)+(c[a+56>>2]|0);c[f>>2]=c[a+128>>2];f=b+60|0;c[d+1920+(e<<2)>>2]=(c[f>>2]|0)+(c[a+60>>2]|0);c[f>>2]=c[a+132>>2];f=b+64|0;c[d+2048+(e<<2)>>2]=(c[f>>2]|0)+(c[a+64>>2]|0);c[f>>2]=c[a+136>>2];b=b+68|0;c[d+2176+(e<<2)>>2]=(c[b>>2]|0)+(c[a+68>>2]|0);c[b>>2]=c[a+140>>2];return}function Gh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=Dc;Dc=Dc+144|0;e=d;n=(c[a>>2]|0)+2048>>12;l=(c[a+4>>2]|0)+2048>>12;j=v(l,-3784)|0;h=(c[a+8>>2]|0)+2048>>12;i=j+(n*2493|0)+(v(h,-535)|0)|0;g=(c[a+12>>2]|0)+2048>>12;k=(c[a+16>>2]|0)+2048>>12;f=v(k,-1567)|0;m=(c[a+20>>2]|0)+2048>>12;i=i+(g*4061|0)+f+(v(m,-3250)|0)|0;c[e>>2]=i;c[e+20>>2]=0-i;i=(l*1567|0)+(v(n,-3250)|0)+(h*4061|0)+(g*535|0)+(v(k,-3784)|0)+(v(m,-2493)|0)|0;c[e+24>>2]=i;c[e+44>>2]=i;i=j+(n*1567|0)+(h*3784|0)+(v(g,-1567)|0)+f+(m*3784|0)|0;c[e+4>>2]=i;c[e+16>>2]=0-i;l=v(l,-1567)|0;k=k*3784|0;i=l+(v(n,-3784)|0)+(h*1567|0)+(g*3784|0)+k+(m*1567|0)|0;c[e+28>>2]=i;c[e+40>>2]=i;k=l+(n*535|0)+(h*2493|0)+(v(g,-3250)|0)+k+(v(m,-4061)|0)|0;c[e+8>>2]=k;c[e+12>>2]=0-k;m=j+(v(n,-4061)|0)+(v(h,-3250)|0)+(v(g,-2493)|0)+f+(v(m,-535)|0)|0;c[e+32>>2]=m;c[e+36>>2]=m;m=(c[a+24>>2]|0)+2048>>12;f=(c[a+28>>2]|0)+2048>>12;g=v(f,-3784)|0;h=(c[a+32>>2]|0)+2048>>12;n=g+(m*2493|0)+(v(h,-535)|0)|0;j=(c[a+36>>2]|0)+2048>>12;k=(c[a+40>>2]|0)+2048>>12;l=v(k,-1567)|0;i=(c[a+44>>2]|0)+2048>>12;n=n+(j*4061|0)+l+(v(i,-3250)|0)|0;c[e+48>>2]=n;c[e+68>>2]=0-n;n=(f*1567|0)+(v(m,-3250)|0)+(h*4061|0)+(j*535|0)+(v(k,-3784)|0)+(v(i,-2493)|0)|0;c[e+72>>2]=n;c[e+92>>2]=n;n=g+(m*1567|0)+(h*3784|0)+(v(j,-1567)|0)+l+(i*3784|0)|0;c[e+52>>2]=n;c[e+64>>2]=0-n;f=v(f,-1567)|0;k=k*3784|0;n=f+(v(m,-3784)|0)+(h*1567|0)+(j*3784|0)+k+(i*1567|0)|0;c[e+76>>2]=n;c[e+88>>2]=n;k=f+(m*535|0)+(h*2493|0)+(v(j,-3250)|0)+k+(v(i,-4061)|0)|0;c[e+56>>2]=k;c[e+60>>2]=0-k;i=g+(v(m,-4061)|0)+(v(h,-3250)|0)+(v(j,-2493)|0)+l+(v(i,-535)|0)|0;c[e+80>>2]=i;c[e+84>>2]=i;i=(c[a+48>>2]|0)+2048>>12;l=(c[a+52>>2]|0)+2048>>12;j=v(l,-3784)|0;h=(c[a+56>>2]|0)+2048>>12;m=j+(i*2493|0)+(v(h,-535)|0)|0;g=(c[a+60>>2]|0)+2048>>12;k=(c[a+64>>2]|0)+2048>>12;f=v(k,-1567)|0;a=(c[a+68>>2]|0)+2048>>12;m=m+(g*4061|0)+f+(v(a,-3250)|0)|0;c[e+96>>2]=m;c[e+116>>2]=0-m;m=(l*1567|0)+(v(i,-3250)|0)+(h*4061|0)+(g*535|0)+(v(k,-3784)|0)+(v(a,-2493)|0)|0;c[e+120>>2]=m;c[e+140>>2]=m;m=j+(i*1567|0)+(h*3784|0)+(v(g,-1567)|0)+f+(a*3784|0)|0;c[e+100>>2]=m;c[e+112>>2]=0-m;l=v(l,-1567)|0;k=k*3784|0;m=l+(v(i,-3784)|0)+(h*1567|0)+(g*3784|0)+k+(a*1567|0)|0;c[e+124>>2]=m;c[e+136>>2]=m;k=l+(i*535|0)+(h*2493|0)+(v(g,-3250)|0)+k+(v(a,-4061)|0)|0;c[e+104>>2]=k;c[e+108>>2]=0-k;a=j+(v(i,-4061)|0)+(v(h,-3250)|0)+(v(g,-2493)|0)+f+(v(a,-535)|0)|0;c[e+128>>2]=a;c[e+132>>2]=a;c[b>>2]=0;c[b+24>>2]=((c[e>>2]|0)+2048>>12)*535;c[b+48>>2]=(((c[e+48>>2]|0)+2048>>12)*535|0)+(((c[e+24>>2]|0)+2048>>12)*4061|0);c[b+72>>2]=(((c[e+96>>2]|0)+2048>>12)*535|0)+(((c[e+72>>2]|0)+2048>>12)*4061|0);c[b+96>>2]=((c[e+120>>2]|0)+2048>>12)*4061;c[b+120>>2]=0;c[b+4>>2]=0;c[b+28>>2]=((c[e+4>>2]|0)+2048>>12)*1567;c[b+52>>2]=(((c[e+52>>2]|0)+2048>>12)*1567|0)+(((c[e+28>>2]|0)+2048>>12)*3784|0);c[b+76>>2]=(((c[e+100>>2]|0)+2048>>12)*1567|0)+(((c[e+76>>2]|0)+2048>>12)*3784|0);c[b+100>>2]=((c[e+124>>2]|0)+2048>>12)*3784;c[b+124>>2]=0;c[b+8>>2]=0;c[b+32>>2]=((c[e+8>>2]|0)+2048>>12)*2493;c[b+56>>2]=(((c[e+56>>2]|0)+2048>>12)*2493|0)+(((c[e+32>>2]|0)+2048>>12)*3250|0);c[b+80>>2]=(((c[e+104>>2]|0)+2048>>12)*2493|0)+(((c[e+80>>2]|0)+2048>>12)*3250|0);c[b+104>>2]=((c[e+128>>2]|0)+2048>>12)*3250;c[b+128>>2]=0;c[b+12>>2]=0;c[b+36>>2]=((c[e+12>>2]|0)+2048>>12)*3250;c[b+60>>2]=(((c[e+60>>2]|0)+2048>>12)*3250|0)+(((c[e+36>>2]|0)+2048>>12)*2493|0);c[b+84>>2]=(((c[e+108>>2]|0)+2048>>12)*3250|0)+(((c[e+84>>2]|0)+2048>>12)*2493|0);c[b+108>>2]=((c[e+132>>2]|0)+2048>>12)*2493;c[b+132>>2]=0;c[b+16>>2]=0;c[b+40>>2]=((c[e+16>>2]|0)+2048>>12)*3784;c[b+64>>2]=(((c[e+64>>2]|0)+2048>>12)*3784|0)+(((c[e+40>>2]|0)+2048>>12)*1567|0);c[b+88>>2]=(((c[e+112>>2]|0)+2048>>12)*3784|0)+(((c[e+88>>2]|0)+2048>>12)*1567|0);c[b+112>>2]=((c[e+136>>2]|0)+2048>>12)*1567;c[b+136>>2]=0;c[b+20>>2]=0;c[b+44>>2]=((c[e+20>>2]|0)+2048>>12)*4061;c[b+68>>2]=(((c[e+68>>2]|0)+2048>>12)*4061|0)+(((c[e+44>>2]|0)+2048>>12)*535|0);c[b+92>>2]=(((c[e+116>>2]|0)+2048>>12)*4061|0)+(((c[e+92>>2]|0)+2048>>12)*535|0);c[b+116>>2]=((c[e+140>>2]|0)+2048>>12)*535;c[b+140>>2]=0;Dc=d;return}function Hh(b){b=b|0;var e=0,f=0,g=0,h=0;h=b+28|0;e=ph(h)|0;g=c[b+4>>2]|0;f=g+-1|0;a:do if(e>>>0>>0){b=e;while(1){e=b+1|0;if((a[b>>0]|0)==-1?(d[e>>0]|0)>223:0){e=b;break a}if(e>>>0>>0)b=e;else break}}while(0);if((g-e|0)<8){h=-1;return h|0}nh(h,e);h=0;return h|0}function Ih(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=Dc;Dc=Dc+16|0;f=j;g=a+28|0;c[g>>2]=0;h=a+32|0;c[h>>2]=0;i=d+28|0;qh(i,11);if(!(rh(i,1)|0))c[g>>2]=c[g>>2]|16384;k=(rh(i,1)|0)==0;e=c[g>>2]|0;if(!k){if(e&16384|0){c[d+60>>2]=257;k=-1;Dc=j;return k|0}}else c[g>>2]=e|4096;k=rh(i,2)|0;c[a>>2]=4-k;if(!k){c[d+60>>2]=258;k=-1;Dc=j;return k|0}if(!(rh(i,1)|0)){c[g>>2]=c[g>>2]|16;c[f>>2]=c[i>>2];c[f+4>>2]=c[i+4>>2];b[a+24>>1]=sh(f,16,-1)|0}e=rh(i,4)|0;if((e|0)==15){c[d+60>>2]=259;k=-1;Dc=j;return k|0}k=c[a>>2]|0;c[a+16>>2]=c[40624+(((c[g>>2]&4096|0)==0?k+-1|0:(k>>>1)+3|0)*60|0)+(e<<2)>>2];e=rh(i,2)|0;if((e|0)==3){c[d+60>>2]=260;k=-1;Dc=j;return k|0}e=c[40924+(e<<2)>>2]|0;d=a+20|0;c[d>>2]=e;f=c[g>>2]|0;if(f&4096|0?(c[d>>2]=e>>>1,f&16384|0):0)c[d>>2]=e>>>2;if(rh(i,1)|0)c[g>>2]=c[g>>2]|128;if(rh(i,1)|0)c[h>>2]=c[h>>2]|256;c[a+4>>2]=3-(rh(i,2)|0);c[a+8>>2]=rh(i,2)|0;if(rh(i,1)|0)c[g>>2]=c[g>>2]|32;if(rh(i,1)|0)c[g>>2]=c[g>>2]|64;c[a+12>>2]=rh(i,2)|0;if(!(c[g>>2]&16)){k=0;Dc=j;return k|0}b[a+26>>1]=rh(i,16)|0;k=0;Dc=j;return k|0}function Jh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;c[a>>2]=b;if(d>>>0>=e>>>0&(e|0)!=0){h=(d>>>0)/(e>>>0)|0;i=h+b|0;c[a>>2]=i;d=d-(v(h,e)|0)|0}else i=b;a:do if((e|0)>=16e3){if((e|0)<32e3){if((e|0)<22050){switch(e|0){case 16e3:break;default:{f=4;break a}}d=d*22050|0;b=a+4|0;c[b>>2]=d;break}switch(e|0){case 22050:{d=d*16e3|0;b=a+4|0;c[b>>2]=d;break a}case 24e3:{d=d*14700|0;b=a+4|0;c[b>>2]=d;break a}default:{f=4;break a}}}if((e|0)<48e3)if((e|0)<44100){switch(e|0){case 32e3:break;default:{f=4;break a}}d=d*11025|0;b=a+4|0;c[b>>2]=d;break}else{switch(e|0){case 44100:break;default:{f=4;break a}}d=d*8e3|0;b=a+4|0;c[b>>2]=d;break}else if((e|0)<3528e5){switch(e|0){case 48e3:break;default:{f=4;break a}}d=d*7350|0;b=a+4|0;c[b>>2]=d;break}else{switch(e|0){case 3528e5:break;default:{f=4;break a}}b=a+4|0;c[b>>2]=d;break}}else{if((e|0)<8e3){switch(e|0){case 1:case 0:break;case 1e3:{d=d*352800|0;b=a+4|0;c[b>>2]=d;break a}default:{f=4;break a}}c[a+4>>2]=0;return}if((e|0)<11025){switch(e|0){case 8e3:break;default:{f=4;break a}}d=d*44100|0;b=a+4|0;c[b>>2]=d;break}switch(e|0){case 11025:{d=d*32e3|0;b=a+4|0;c[b>>2]=d;break a}case 12e3:{d=d*29400|0;b=a+4|0;c[b>>2]=d;break a}default:{f=4;break a}}}while(0);if((f|0)==4){b=d;f=e;while(1){b=(b>>>0)%(f>>>0)|0;if(!b)break;else{h=f;f=b;b=h}}g=(d>>>0)/(f>>>0)|0;h=(e>>>0)/(f>>>0)|0;if(f>>>0>e>>>0)f=3528e5;else{d=3528e5;f=h;while(1){d=(d>>>0)%(f>>>0)|0;if(!d)break;else{e=f;f=d;d=e}}}d=3528e5/(f>>>0)|0;b=(h>>>0)/(f>>>0)|0;if(f>>>0>h>>>0)N(51749,51760,144,51768);do if(b>>>0>=d>>>0)if(b>>>0>>0){h=(g>>>0)/(b>>>0)|0;d=(((v(g-(v(h,b)|0)|0,d)|0)>>>0)/(b>>>0)|0)+(v(h,d)|0)|0;break}else{d=((v(d,g)|0)>>>0)/(b>>>0)|0;break}else{h=(d>>>0)/(b>>>0)|0;d=(((v(d-(v(h,b)|0)|0,g)|0)>>>0)/(b>>>0)|0)+(v(h,g)|0)|0}while(0);b=a+4|0;c[b>>2]=d}if(d>>>0<=352799999)return;h=(d>>>0)/3528e5|0;c[a>>2]=i+h;c[b>>2]=d-(v(h,3528e5)|0);return}function Kh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=Dc;Dc=Dc+112|0;j=t+48|0;i=t;r=a+28|0;q=r;p=c[q>>2]|0;q=c[q+4>>2]|0;m=c[b+28>>2]|0;d=m>>>7&1;m=(c[b>>2]|0)==3?((m&4096|0)==0?144:72):144;if(!(Hh(a)|0)){k=i+20|0;l=b+20|0;o=a+20|0;n=4-(d<<2)|0;h=d^1;d=0;do{e=j;f=a;g=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));e=i;f=b;g=e+44|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));if(((Ih(i,j)|0)==0?(c[i>>2]|0)==(c[b>>2]|0):0)?(c[k>>2]|0)==(c[l>>2]|0):0){d=ph(r)|0;g=(c[b>>2]|0)==1;g=((v(c[l>>2]|0,(g?n:h)+(d-(c[o>>2]|0))|0)|0)>>>0)/((g?48:m)>>>0)|0;d=(g>>>0)/1e3|0;if(g>>>0>=8e3){s=8;break}}qh(r,8)}while((Hh(a)|0)==0);s=r;c[s>>2]=p;c[s+4>>2]=q;if(d>>>0>=8?!(d>>>0>640&(c[b>>2]|0)==3):0){c[a+16>>2]=d*1e3;s=0;Dc=t;return s|0}}else{s=r;c[s>>2]=p;c[s+4>>2]=q}c[a+60>>2]=257;s=-1;Dc=t;return s|0}function Lh(a){a=a|0;var b=0;zl(a|0,0,1024)|0;b=0;do{c[a+1536+(b<<5)>>2]=0;c[a+1024+(b<<5)>>2]=0;c[a+1536+(b<<5)+4>>2]=0;c[a+1024+(b<<5)+4>>2]=0;c[a+1536+(b<<5)+8>>2]=0;c[a+1024+(b<<5)+8>>2]=0;c[a+1536+(b<<5)+12>>2]=0;c[a+1024+(b<<5)+12>>2]=0;c[a+1536+(b<<5)+16>>2]=0;c[a+1024+(b<<5)+16>>2]=0;c[a+1536+(b<<5)+20>>2]=0;c[a+1024+(b<<5)+20>>2]=0;c[a+1536+(b<<5)+24>>2]=0;c[a+1024+(b<<5)+24>>2]=0;c[a+1536+(b<<5)+28>>2]=0;c[a+1024+(b<<5)+28>>2]=0;b=b+1|0}while((b|0)!=16);zl(a+2048|0,0,1024)|0;b=0;do{c[a+3584+(b<<5)>>2]=0;c[a+3072+(b<<5)>>2]=0;c[a+3584+(b<<5)+4>>2]=0;c[a+3072+(b<<5)+4>>2]=0;c[a+3584+(b<<5)+8>>2]=0;c[a+3072+(b<<5)+8>>2]=0;c[a+3584+(b<<5)+12>>2]=0;c[a+3072+(b<<5)+12>>2]=0;c[a+3584+(b<<5)+16>>2]=0;c[a+3072+(b<<5)+16>>2]=0;c[a+3584+(b<<5)+20>>2]=0;c[a+3072+(b<<5)+20>>2]=0;c[a+3584+(b<<5)+24>>2]=0;c[a+3072+(b<<5)+24>>2]=0;c[a+3584+(b<<5)+28>>2]=0;c[a+3072+(b<<5)+28>>2]=0;b=b+1|0}while((b|0)!=16);return}function Mh(a){a=a|0;var b=0;zl(a+48|0,0,9216)|0;a=c[a+9264>>2]|0;if(!a)return;zl(a|0,0,2304)|0;b=0;do{c[a+2304+(b<<2)>>2]=0;c[a+2376+(b<<2)>>2]=0;c[a+2448+(b<<2)>>2]=0;c[a+2520+(b<<2)>>2]=0;c[a+2592+(b<<2)>>2]=0;c[a+2664+(b<<2)>>2]=0;c[a+2736+(b<<2)>>2]=0;c[a+2808+(b<<2)>>2]=0;c[a+2880+(b<<2)>>2]=0;c[a+2952+(b<<2)>>2]=0;c[a+3024+(b<<2)>>2]=0;c[a+3096+(b<<2)>>2]=0;c[a+3168+(b<<2)>>2]=0;c[a+3240+(b<<2)>>2]=0;c[a+3312+(b<<2)>>2]=0;c[a+3384+(b<<2)>>2]=0;c[a+3456+(b<<2)>>2]=0;c[a+3528+(b<<2)>>2]=0;c[a+3600+(b<<2)>>2]=0;c[a+3672+(b<<2)>>2]=0;c[a+3744+(b<<2)>>2]=0;c[a+3816+(b<<2)>>2]=0;c[a+3888+(b<<2)>>2]=0;c[a+3960+(b<<2)>>2]=0;c[a+4032+(b<<2)>>2]=0;c[a+4104+(b<<2)>>2]=0;c[a+4176+(b<<2)>>2]=0;c[a+4248+(b<<2)>>2]=0;c[a+4320+(b<<2)>>2]=0;c[a+4392+(b<<2)>>2]=0;c[a+4464+(b<<2)>>2]=0;c[a+4536+(b<<2)>>2]=0;b=b+1|0}while((b|0)!=18);return}function Nh(){Oh(0);return}function Oh(a){a=a|0;ma(1312,51783);ba(1328,51788,1,1,0);ia(1336,51793,1,-128,127);ia(1352,51798,1,-128,127);ia(1344,51810,1,0,255);ia(1360,51824,2,-32768,32767);ia(1368,51830,2,0,65535);ia(1376,51845,4,-2147483648,2147483647);ia(1384,51849,4,0,-1);ia(1392,51862,4,-2147483648,2147483647);ia(1400,51867,4,0,-1);ha(1408,51881,4);ha(1416,51887,8);ka(552,51894);ka(736,51906);la(760,4,51939);ga(576,51952);ja(784,0,51968);ja(792,0,51998);ja(800,1,52035);ja(808,2,52074);ja(816,3,52105);ja(824,4,52145);ja(832,5,52174);ja(840,4,52212);ja(848,5,52242);ja(792,0,52281);ja(800,1,52313);ja(808,2,52346);ja(816,3,52379);ja(824,4,52413);ja(832,5,52446);ja(856,6,52480);ja(864,7,52511);ja(872,7,52543);return}function Ph(a){a=a|0;return zi(c[a+4>>2]|0)|0}function Qh(){return 56652}function Rh(){c[(Al()|0)+188>>2]=56692;return}function Sh(a){a=a|0;var b=0,d=0;b=Dc;Dc=Dc+16|0;d=b;c[d>>2]=Yh(c[a+60>>2]|0)|0;a=Vh($(6,d|0)|0)|0;Dc=b;return a|0}function Th(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=Dc;Dc=Dc+48|0;k=m+32|0;g=m+16|0;f=m;i=a+28|0;e=c[i>>2]|0;c[f>>2]=e;j=a+20|0;e=(c[j>>2]|0)-e|0;c[f+4>>2]=e;c[f+8>>2]=b;c[f+12>>2]=d;e=e+d|0;h=a+60|0;c[g>>2]=c[h>>2];c[g+4>>2]=f;c[g+8>>2]=2;g=Vh(_(146,g|0)|0)|0;a:do if((e|0)!=(g|0)){b=2;while(1){if((g|0)<0)break;e=e-g|0;o=c[f+4>>2]|0;n=g>>>0>o>>>0;f=n?f+8|0:f;b=b+(n<<31>>31)|0;o=g-(n?o:0)|0;c[f>>2]=(c[f>>2]|0)+o;n=f+4|0;c[n>>2]=(c[n>>2]|0)-o;c[k>>2]=c[h>>2];c[k+4>>2]=f;c[k+8>>2]=b;g=Vh(_(146,k|0)|0)|0;if((e|0)==(g|0)){l=3;break a}}c[a+16>>2]=0;c[i>>2]=0;c[j>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[f+4>>2]|0)|0}else l=3;while(0);if((l|0)==3){o=c[a+44>>2]|0;c[a+16>>2]=o+(c[a+48>>2]|0);c[i>>2]=o;c[j>>2]=o}Dc=m;return d|0}function Uh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=Dc;Dc=Dc+32|0;h=g+8|0;f=g;c[h>>2]=c[a+60>>2];c[h+4>>2]=d;c[h+8>>2]=b;c[h+12>>2]=f;c[h+16>>2]=e;if((Vh(Z(140,h|0)|0)|0)<0){a=f;c[a>>2]=-1;c[a+4>>2]=-1;a=-1;b=-1}else{b=f;a=c[b+4>>2]|0;b=c[b>>2]|0}y(a|0);Dc=g;return b|0}function Vh(a){a=a|0;if(a>>>0>4294963200){c[(Wh()|0)>>2]=0-a;a=-1}return a|0}function Wh(){return (Xh()|0)+64|0}function Xh(){return Al()|0}function Yh(a){a=a|0;return a|0}function Zh(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)b=0;else{while(1){e=a[b>>0]|0;f=a[c>>0]|0;if(e<<24>>24!=f<<24>>24)break;d=d+-1|0;if(!d){b=0;break a}else{b=b+1|0;c=c+1|0}}b=(e&255)-(f&255)|0}while(0);return b|0}function _h(a){a=a|0;return (a+-48|0)>>>0<10|0}function $h(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=Dc;Dc=Dc+160|0;g=j+144|0;i=j;xl(i|0,1024,144)|0;if((d+-1|0)>>>0>2147483646)if(!d){b=g;d=1;h=4}else{c[(Wh()|0)>>2]=75;d=-1}else h=4;if((h|0)==4){h=-2-b|0;h=d>>>0>h>>>0?h:d;c[i+48>>2]=h;g=i+20|0;c[g>>2]=b;c[i+44>>2]=b;d=b+h|0;b=i+16|0;c[b>>2]=d;c[i+28>>2]=d;d=ai(i,e,f)|0;if(h){i=c[g>>2]|0;a[i+(((i|0)==(c[b>>2]|0))<<31>>31)>>0]=0}}Dc=j;return d|0}function ai(a,b,c){a=a|0;b=b|0;c=c|0;return di(a,b,c,1,17)|0}function bi(b,e,f,g,h,i){b=b|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=Dc;Dc=Dc+560|0;l=H+32|0;u=H+536|0;G=H;F=G;m=H+540|0;c[u>>2]=0;E=m+12|0;ui(e)|0;j=z()|0;if((j|0)<0){e=-e;ui(e)|0;D=1;C=53095;j=z()|0}else{D=(h&2049|0)!=0&1;C=(h&2048|0)==0?((h&1|0)==0?53096:53101):53098}do if(0==0&(j&2146435072|0)==2146435072){G=(i&32|0)!=0;j=D+3|0;oi(b,32,f,j,h&-65537);hi(b,C,D);hi(b,e!=e|0.0!=0.0?(G?53122:53126):G?53114:53118,3);oi(b,32,f,j,h^8192)}else{q=+vi(e,u)*2.0;j=q!=0.0;if(j)c[u>>2]=(c[u>>2]|0)+-1;t=i|32;if((t|0)==97){o=i&32;r=(o|0)==0?C:C+9|0;p=D|2;j=12-g|0;do if(!(g>>>0>11|(j|0)==0)){e=8.0;do{j=j+-1|0;e=e*16.0}while((j|0)!=0);if((a[r>>0]|0)==45){e=-(e+(-q-e));break}else{e=q+e-e;break}}else e=q;while(0);k=c[u>>2]|0;j=(k|0)<0?0-k|0:k;j=mi(j,((j|0)<0)<<31>>31,E)|0;if((j|0)==(E|0)){j=m+11|0;a[j>>0]=48}a[j+-1>>0]=(k>>31&2)+43;n=j+-2|0;a[n>>0]=i+15;k=(g|0)<1;l=(h&8|0)==0;m=G;do{D=~~e;j=m+1|0;a[m>>0]=o|d[528+D>>0];e=(e-+(D|0))*16.0;if((j-F|0)==1?!(l&(k&e==0.0)):0){a[j>>0]=46;m=m+2|0}else m=j}while(e!=0.0);if((g|0)!=0?(-2-F+m|0)<(g|0):0){k=E;l=n;j=g+2+k-l|0}else{k=E;l=n;j=k-F-l+m|0}E=j+p|0;oi(b,32,f,E,h);hi(b,r,p);oi(b,48,f,E,h^65536);F=m-F|0;hi(b,G,F);G=k-l|0;oi(b,48,j-(F+G)|0,0,0);hi(b,n,G);oi(b,32,f,E,h^8192);j=E;break}k=(g|0)<0?6:g;if(j){j=(c[u>>2]|0)+-28|0;c[u>>2]=j;e=q*268435456.0}else{e=q;j=c[u>>2]|0}B=(j|0)<0?l:l+288|0;l=B;do{y=~~e>>>0;c[l>>2]=y;l=l+4|0;e=(e-+(y>>>0))*1.0e9}while(e!=0.0);y=B;if((j|0)>0){o=B;while(1){n=(j|0)<29?j:29;j=l+-4|0;if(j>>>0>=o>>>0){m=0;do{s=rl(c[j>>2]|0,0,n|0)|0;s=ll(s|0,z()|0,m|0,0)|0;w=z()|0;m=pl(s|0,w|0,1e9,0)|0;x=kl(m|0,z()|0,1e9,0)|0;x=ml(s|0,w|0,x|0,z()|0)|0;z()|0;c[j>>2]=x;j=j+-4|0}while(j>>>0>=o>>>0);if(m){x=o+-4|0;c[x>>2]=m;m=x}else m=o}else m=o;a:do if(l>>>0>m>>>0){j=l;while(1){l=j+-4|0;if(c[l>>2]|0){l=j;break a}if(l>>>0>m>>>0)j=l;else break}}while(0);j=(c[u>>2]|0)-n|0;c[u>>2]=j;if((j|0)>0)o=m;else break}}else m=B;if((j|0)<0){g=((k+25|0)/9|0)+1|0;s=(t|0)==102;do{r=0-j|0;r=(r|0)<9?r:9;if(m>>>0>>0){n=(1<>>r;p=0;j=m;do{x=c[j>>2]|0;c[j>>2]=(x>>>r)+p;p=v(x&n,o)|0;j=j+4|0}while(j>>>0>>0);m=(c[m>>2]|0)==0?m+4|0:m;if(p){c[l>>2]=p;l=l+4|0}}else m=(c[m>>2]|0)==0?m+4|0:m;j=s?B:m;l=(l-j>>2|0)>(g|0)?j+(g<<2)|0:l;j=(c[u>>2]|0)+r|0;c[u>>2]=j}while((j|0)<0);s=m}else s=m;if(s>>>0>>0){j=(y-s>>2)*9|0;n=c[s>>2]|0;if(n>>>0>=10){m=10;do{m=m*10|0;j=j+1|0}while(n>>>0>=m>>>0)}}else j=0;w=(t|0)==103;x=(k|0)!=0;m=k-((t|0)==102?0:j)+((x&w)<<31>>31)|0;if((m|0)<(((l-y>>2)*9|0)+-9|0)){u=m+9216|0;m=(u|0)/9|0;g=B+4+(m+-1024<<2)|0;m=u-(m*9|0)|0;if((m|0)<8){n=10;while(1){n=n*10|0;if((m|0)<7)m=m+1|0;else break}}else n=10;p=c[g>>2]|0;m=(p>>>0)/(n>>>0)|0;r=p-(v(m,n)|0)|0;o=(g+4|0)==(l|0);if(!(o&(r|0)==0)){q=(m&1|0)==0?9007199254740992.0:9007199254740994.0;u=n>>>1;e=r>>>0>>0?.5:o&(r|0)==(u|0)?1.0:1.5;if(D){u=(a[C>>0]|0)==45;e=u?-e:e;q=u?-q:q}m=p-r|0;c[g>>2]=m;if(q+e!=q){u=m+n|0;c[g>>2]=u;if(u>>>0>999999999){n=g;j=s;while(1){m=n+-4|0;c[n>>2]=0;if(m>>>0>>0){j=j+-4|0;c[j>>2]=0}u=(c[m>>2]|0)+1|0;c[m>>2]=u;if(u>>>0>999999999)n=m;else{n=j;break}}}else{m=g;n=s}j=(y-n>>2)*9|0;p=c[n>>2]|0;if(p>>>0>=10){o=10;do{o=o*10|0;j=j+1|0}while(p>>>0>=o>>>0)}}else{m=g;n=s}}else{m=g;n=s}u=m+4|0;l=l>>>0>u>>>0?u:l}else n=s;g=0-j|0;b:do if(l>>>0>n>>>0)while(1){m=l+-4|0;if(c[m>>2]|0){u=l;t=1;break b}if(m>>>0>n>>>0)l=m;else{u=m;t=0;break}}else{u=l;t=0}while(0);do if(w){k=k+((x^1)&1)|0;if((k|0)>(j|0)&(j|0)>-5){o=i+-1|0;k=k+-1-j|0}else{o=i+-2|0;k=k+-1|0}if(!(h&8)){if(t?(A=c[u+-4>>2]|0,(A|0)!=0):0)if(!((A>>>0)%10|0)){m=0;l=10;do{l=l*10|0;m=m+1|0}while(!((A>>>0)%(l>>>0)|0|0))}else m=0;else m=9;l=((u-y>>2)*9|0)+-9|0;if((o|32|0)==102){i=l-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}else{i=l+j-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}}}else o=i;while(0);s=(k|0)!=0;p=s?1:h>>>3&1;r=(o|32|0)==102;if(r){w=0;j=(j|0)>0?j:0}else{l=(j|0)<0?g:j;l=mi(l,((l|0)<0)<<31>>31,E)|0;m=E;if((m-l|0)<2)do{l=l+-1|0;a[l>>0]=48}while((m-l|0)<2);a[l+-1>>0]=(j>>31&2)+43;j=l+-2|0;a[j>>0]=o;w=j;j=m-j|0}j=D+1+k+p+j|0;oi(b,32,f,j,h);hi(b,C,D);oi(b,48,f,j,h^65536);if(r){p=n>>>0>B>>>0?B:n;r=G+9|0;n=r;o=G+8|0;m=p;do{l=mi(c[m>>2]|0,0,r)|0;if((m|0)==(p|0)){if((l|0)==(r|0)){a[o>>0]=48;l=o}}else if(l>>>0>G>>>0){zl(G|0,48,l-F|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}hi(b,l,n-l|0);m=m+4|0}while(m>>>0<=B>>>0);if(!((h&8|0)==0&(s^1)))hi(b,53130,1);if(m>>>0>>0&(k|0)>0)while(1){l=mi(c[m>>2]|0,0,r)|0;if(l>>>0>G>>>0){zl(G|0,48,l-F|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}hi(b,l,(k|0)<9?k:9);m=m+4|0;l=k+-9|0;if(!(m>>>0>>0&(k|0)>9)){k=l;break}else k=l}oi(b,48,k+9|0,9,0)}else{u=t?u:n+4|0;if(n>>>0>>0&(k|0)>-1){g=G+9|0;s=(h&8|0)==0;t=g;p=0-F|0;r=G+8|0;o=n;do{l=mi(c[o>>2]|0,0,g)|0;if((l|0)==(g|0)){a[r>>0]=48;l=r}do if((o|0)==(n|0)){m=l+1|0;hi(b,l,1);if(s&(k|0)<1){l=m;break}hi(b,53130,1);l=m}else{if(l>>>0<=G>>>0)break;zl(G|0,48,l+p|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}while(0);F=t-l|0;hi(b,l,(k|0)>(F|0)?F:k);k=k-F|0;o=o+4|0}while(o>>>0>>0&(k|0)>-1)}oi(b,48,k+18|0,18,0);hi(b,w,E-w|0)}oi(b,32,f,j,h^8192)}while(0);Dc=H;return ((j|0)<(f|0)?f:j)|0}function ci(a,b){a=a|0;b=b|0;var d=0.0,e=0;e=(c[b>>2]|0)+(8-1)&~(8-1);d=+g[e>>3];c[b>>2]=e+8;g[a>>3]=d;return}function di(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=Dc;Dc=Dc+224|0;p=t+208|0;q=t+160|0;r=t+80|0;s=t;h=q;i=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));c[p>>2]=c[e>>2];if((ei(0,d,p,r,q,f,g)|0)<0)e=-1;else{if((uc(c,b+76>>2)|0)>-1)o=fi(b)|0;else o=0;e=c[b>>2]|0;n=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;h=b+48|0;if(!(c[h>>2]|0)){i=b+44|0;j=c[i>>2]|0;c[i>>2]=s;k=b+28|0;c[k>>2]=s;l=b+20|0;c[l>>2]=s;c[h>>2]=80;m=b+16|0;c[m>>2]=s+80;e=ei(b,d,p,r,q,f,g)|0;if(j){Kc[c[b+36>>2]&7](b,0,0)|0;e=(c[l>>2]|0)==0?-1:e;c[i>>2]=j;c[h>>2]=0;c[m>>2]=0;c[k>>2]=0;c[l>>2]=0}}else e=ei(b,d,p,r,q,f,g)|0;h=c[b>>2]|0;c[b>>2]=h|n;if(o|0)gi(b);e=(h&32|0)==0?e:-1}Dc=t;return e|0}function ei(d,e,f,h,i,j,k){d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;J=Dc;Dc=Dc+64|0;G=J+56|0;I=J+40|0;B=J;D=J+48|0;E=J+60|0;c[G>>2]=e;x=(d|0)!=0;y=B+40|0;A=y;B=B+39|0;C=D+4|0;l=0;e=0;n=0;a:while(1){do{do if((e|0)>-1)if((l|0)>(2147483647-e|0)){c[(Wh()|0)>>2]=75;e=-1;break}else{e=l+e|0;break}while(0);r=c[G>>2]|0;l=a[r>>0]|0;if(!(l<<24>>24)){w=92;break a}m=r;b:while(1){switch(l<<24>>24){case 37:{w=10;break b}case 0:{l=m;break b}default:{}}v=m+1|0;c[G>>2]=v;l=a[v>>0]|0;m=v}c:do if((w|0)==10){w=0;l=m;do{if((a[m+1>>0]|0)!=37)break c;l=l+1|0;m=m+2|0;c[G>>2]=m}while((a[m>>0]|0)==37)}while(0);l=l-r|0;if(x)hi(d,r,l)}while((l|0)!=0);v=(_h(a[(c[G>>2]|0)+1>>0]|0)|0)==0;m=c[G>>2]|0;if(!v?(a[m+2>>0]|0)==36:0){t=(a[m+1>>0]|0)+-48|0;p=1;l=3}else{t=-1;p=n;l=1}l=m+l|0;c[G>>2]=l;m=a[l>>0]|0;n=(m<<24>>24)+-32|0;if(n>>>0>31|(1<>2]=l;m=a[l>>0]|0;n=(m<<24>>24)+-32|0}while(!(n>>>0>31|(1<>24==42){if((_h(a[l+1>>0]|0)|0)!=0?(H=c[G>>2]|0,(a[H+2>>0]|0)==36):0){l=H+1|0;c[i+((a[l>>0]|0)+-48<<2)>>2]=10;l=c[h+((a[l>>0]|0)+-48<<3)>>2]|0;n=1;m=H+3|0}else{if(p|0){e=-1;break}if(x){v=(c[f>>2]|0)+(4-1)&~(4-1);l=c[v>>2]|0;c[f>>2]=v+4}else l=0;n=0;m=(c[G>>2]|0)+1|0}c[G>>2]=m;v=(l|0)<0;u=v?0-l|0:l;o=v?o|8192:o;v=n}else{l=ii(G)|0;if((l|0)<0){e=-1;break}u=l;v=p;m=c[G>>2]|0}do if((a[m>>0]|0)==46){l=m+1|0;if((a[l>>0]|0)!=42){c[G>>2]=l;l=ii(G)|0;m=c[G>>2]|0;break}if(_h(a[m+2>>0]|0)|0?(F=c[G>>2]|0,(a[F+3>>0]|0)==36):0){l=F+2|0;c[i+((a[l>>0]|0)+-48<<2)>>2]=10;l=c[h+((a[l>>0]|0)+-48<<3)>>2]|0;m=F+4|0;c[G>>2]=m;break}if(v|0){e=-1;break a}if(x){s=(c[f>>2]|0)+(4-1)&~(4-1);l=c[s>>2]|0;c[f>>2]=s+4}else l=0;m=(c[G>>2]|0)+2|0;c[G>>2]=m}else l=-1;while(0);s=0;while(1){if(((a[m>>0]|0)+-65|0)>>>0>57){e=-1;break a}n=m;m=m+1|0;c[G>>2]=m;n=a[(a[n>>0]|0)+-65+(64+(s*58|0))>>0]|0;p=n&255;if((p+-1|0)>>>0>=8)break;else s=p}if(!(n<<24>>24)){e=-1;break}q=(t|0)>-1;do if(n<<24>>24==19)if(q){e=-1;break a}else w=54;else{if(q){c[i+(t<<2)>>2]=p;q=h+(t<<3)|0;t=c[q+4>>2]|0;w=I;c[w>>2]=c[q>>2];c[w+4>>2]=t;w=54;break}if(!x){e=0;break a}ji(I,p,f,k);m=c[G>>2]|0;w=55}while(0);if((w|0)==54){w=0;if(x)w=55;else l=0}d:do if((w|0)==55){w=0;m=a[m+-1>>0]|0;m=(s|0)!=0&(m&15|0)==3?m&-33:m;n=o&-65537;t=(o&8192|0)==0?o:n;e:do switch(m|0){case 110:switch((s&255)<<24>>24){case 0:{c[c[I>>2]>>2]=e;l=0;break d}case 1:{c[c[I>>2]>>2]=e;l=0;break d}case 2:{l=c[I>>2]|0;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=0;break d}case 3:{b[c[I>>2]>>1]=e;l=0;break d}case 4:{a[c[I>>2]>>0]=e;l=0;break d}case 6:{c[c[I>>2]>>2]=e;l=0;break d}case 7:{l=c[I>>2]|0;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=0;break d}default:{l=0;break d}}case 112:{m=120;l=l>>>0>8?l:8;n=t|8;w=67;break}case 88:case 120:{n=t;w=67;break}case 111:{q=I;q=li(c[q>>2]|0,c[q+4>>2]|0,y)|0;n=A-q|0;o=0;p=53078;l=(t&8|0)==0|(l|0)>(n|0)?l:n+1|0;n=t;w=73;break}case 105:case 100:{n=I;m=c[n>>2]|0;n=c[n+4>>2]|0;if((n|0)<0){m=ml(0,0,m|0,n|0)|0;n=z()|0;o=I;c[o>>2]=m;c[o+4>>2]=n;o=1;p=53078;w=72;break e}else{o=(t&2049|0)!=0&1;p=(t&2048|0)==0?((t&1|0)==0?53078:53080):53079;w=72;break e}}case 117:{n=I;o=0;p=53078;m=c[n>>2]|0;n=c[n+4>>2]|0;w=72;break}case 99:{a[B>>0]=c[I>>2];r=B;o=0;p=53078;q=1;m=n;l=A;break}case 115:{s=c[I>>2]|0;s=(s|0)==0?53088:s;t=ni(s,0,l)|0;K=(t|0)==0;r=s;o=0;p=53078;q=K?l:t-s|0;m=n;l=K?s+l|0:t;break}case 67:{c[D>>2]=c[I>>2];c[C>>2]=0;c[I>>2]=D;p=-1;w=79;break}case 83:{if(!l){oi(d,32,u,0,t);l=0;w=89}else{p=l;w=79}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{l=Ic[j&1](d,+g[I>>3],u,l,t,m)|0;break d}default:{o=0;p=53078;q=l;m=t;l=A}}while(0);f:do if((w|0)==67){q=I;q=ki(c[q>>2]|0,c[q+4>>2]|0,y,m&32)|0;p=I;p=(n&8|0)==0|(c[p>>2]|0)==0&(c[p+4>>2]|0)==0;o=p?0:2;p=p?53078:53078+(m>>>4)|0;w=73}else if((w|0)==72){q=mi(m,n,y)|0;n=t;w=73}else if((w|0)==79){w=0;o=c[I>>2]|0;l=0;while(1){m=c[o>>2]|0;if(!m)break;m=pi(E,m)|0;n=(m|0)<0;if(n|m>>>0>(p-l|0)>>>0){w=83;break}l=m+l|0;if(p>>>0>l>>>0)o=o+4|0;else break}if((w|0)==83){w=0;if(n){e=-1;break a}}oi(d,32,u,l,t);if(!l){l=0;w=89}else{n=c[I>>2]|0;o=0;while(1){m=c[n>>2]|0;if(!m){w=89;break f}m=pi(E,m)|0;o=m+o|0;if((o|0)>(l|0)){w=89;break f}hi(d,E,m);if(o>>>0>=l>>>0){w=89;break}else n=n+4|0}}}while(0);if((w|0)==73){w=0;m=I;m=(c[m>>2]|0)!=0|(c[m+4>>2]|0)!=0;K=(l|0)!=0|m;m=A-q+((m^1)&1)|0;r=K?q:y;q=K?((l|0)>(m|0)?l:m):0;m=(l|0)>-1?n&-65537:n;l=A}else if((w|0)==89){w=0;oi(d,32,u,l,t^8192);l=(u|0)>(l|0)?u:l;break}t=l-r|0;s=(q|0)<(t|0)?t:q;K=s+o|0;l=(u|0)<(K|0)?K:u;oi(d,32,l,K,m);hi(d,p,o);oi(d,48,l,K,m^65536);oi(d,48,s,t,0);hi(d,r,t);oi(d,32,l,K,m^8192)}while(0);n=v}g:do if((w|0)==92)if(!d)if(!n)e=0;else{e=1;while(1){l=c[i+(e<<2)>>2]|0;if(!l)break;ji(h+(e<<3)|0,l,f,k);e=e+1|0;if(e>>>0>=10){e=1;break g}}while(1){if(c[i+(e<<2)>>2]|0){e=-1;break g}e=e+1|0;if(e>>>0>=10){e=1;break}}}while(0);Dc=J;return e|0}function fi(a){a=a|0;return 1}function gi(a){a=a|0;return}function hi(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))si(b,d,a)|0;return}function ii(b){b=b|0;var d=0,e=0;if(!(_h(a[c[b>>2]>>0]|0)|0))d=0;else{d=0;do{e=c[b>>2]|0;d=(d*10|0)+-48+(a[e>>0]|0)|0;e=e+1|0;c[b>>2]=e}while((_h(a[e>>0]|0)|0)!=0)}return d|0}function ji(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{b=(c[d>>2]|0)+(4-1)&~(4-1);e=c[b>>2]|0;c[d>>2]=b+4;c[a>>2]=e;break a}case 10:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);h=+g[f>>3];c[d>>2]=f+8;g[a>>3]=h;break a}case 18:{$c[e&31](a,d);break a}default:break a}while(0);while(0);return}function ki(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;if(!((b|0)==0&(c|0)==0))do{e=e+-1|0;a[e>>0]=d[528+(b&15)>>0]|0|f;b=ql(b|0,c|0,4)|0;c=z()|0}while(!((b|0)==0&(c|0)==0));return e|0}function li(b,c,d){b=b|0;c=c|0;d=d|0;if(!((b|0)==0&(c|0)==0))do{d=d+-1|0;a[d>>0]=b&7|48;b=ql(b|0,c|0,3)|0;c=z()|0}while(!((b|0)==0&(c|0)==0));return d|0}function mi(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295){do{e=b;b=pl(b|0,c|0,10,0)|0;f=c;c=z()|0;g=kl(b|0,c|0,10,0)|0;g=ml(e|0,f|0,g|0,z()|0)|0;z()|0;d=d+-1|0;a[d>>0]=g&255|48}while(f>>>0>9|(f|0)==9&e>>>0>4294967295);c=b}else c=b;if(c)do{g=c;c=(c>>>0)/10|0;d=d+-1|0;a[d>>0]=g-(c*10|0)|48}while(g>>>0>=10);return d|0}function ni(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(f)i=6;else i=16;b:do if((i|0)==6){g=d&255;if((a[b>>0]|0)==g<<24>>24)if(!e){i=16;break}else break;f=v(h,16843009)|0;c:do if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009|0)break c;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break}}else i=11;while(0);if((i|0)==11)if(!e){i=16;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;e=e+-1|0;if(!e){i=16;break}else b=b+1|0}}while(0);if((i|0)==16)b=0;return b|0}function oi(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;g=Dc;Dc=Dc+256|0;f=g;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;zl(f|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{hi(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}hi(a,f,e)}Dc=g;return}function pi(a,b){a=a|0;b=b|0;if(!a)a=0;else a=qi(a,b,0)|0;return a|0}function qi(b,d,e){b=b|0;d=d|0;e=e|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(!(uc(c,c[(ri()|0)+188>>2]>>2)|0))if((d&-128|0)==57216){a[b>>0]=d;b=1;break}else{c[(Wh()|0)>>2]=84;b=-1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{c[(Wh()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function ri(){return Al()|0}function si(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(ti(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){j=e+20|0;i=c[j>>2]|0;f=i;if((g-i|0)>>>0>>0){f=Kc[c[e+36>>2]&7](e,b,d)|0;break}b:do if((a[e+75>>0]|0)<0|(d|0)==0){h=0;g=b}else{i=d;while(1){g=i+-1|0;if((a[b+g>>0]|0)==10)break;if(!g){h=0;g=b;break b}else i=g}f=Kc[c[e+36>>2]&7](e,b,i)|0;if(f>>>0>>0)break a;h=i;g=b+i|0;d=d-i|0;f=c[j>>2]|0}while(0);xl(f|0,g|0,d|0)|0;c[j>>2]=(c[j>>2]|0)+d;f=h+d|0}while(0);return f|0}function ti(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;e=c[b+44>>2]|0;c[b+28>>2]=e;c[b+20>>2]=e;c[b+16>>2]=e+(c[b+48>>2]|0);b=0}else{c[b>>2]=d|32;b=-1}return b|0}function ui(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;y(c[h+4>>2]|0);return b|0}function vi(a,b){a=+a;b=b|0;var d=0,e=0,f=0;g[h>>3]=a;d=c[h>>2]|0;e=c[h+4>>2]|0;f=ql(d|0,e|0,52)|0;z()|0;switch(f&2047){case 0:{if(a!=0.0){a=+vi(a*18446744073709551616.0,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=(f&2047)+-1022;c[h>>2]=d;c[h+4>>2]=e&-2146435073|1071644672;a=+g[h>>3]}}return +a}function wi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;xl(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function xi(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=5;else{d=f;while(1){if(!(a[b>>0]|0)){b=d;break a}b=b+1|0;d=b;if(!(d&3)){e=5;break}}}while(0);if((e|0)==5){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function yi(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=Dc;Dc=Dc+16|0;j=l;k=e&255;a[j>>0]=k;g=b+16|0;h=c[g>>2]|0;if(!h)if(!(ti(b)|0)){h=c[g>>2]|0;i=4}else f=-1;else i=4;do if((i|0)==4){i=b+20|0;g=c[i>>2]|0;if(g>>>0>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[i>>2]=g+1;a[g>>0]=k;break}if((Kc[c[b+36>>2]&7](b,j,1)|0)==1)f=d[j>>0]|0;else f=-1}while(0);Dc=l;return f|0}function zi(a){a=a|0;var b=0,c=0;b=(xi(a)|0)+1|0;c=Ci(b)|0;if(!c)a=0;else a=xl(c|0,a|0,b|0)|0;return a|0}function Ai(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Dc;Dc=Dc+16|0;f=e;c[f>>2]=d;d=ai(a,b,f)|0;Dc=e;return d|0}function Bi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((uc(c,d+76>>2)|0)>=0?(fi(d)|0)!=0:0){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(i=d+20|0,j=c[i>>2]|0,j>>>0<(c[d+16>>2]|0)>>>0):0){c[i>>2]=j+1;a[j>>0]=f}else e=yi(d,b)|0;gi(d)}else k=3;do if((k|0)==3){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(g=d+20|0,h=c[g>>2]|0,h>>>0<(c[d+16>>2]|0)>>>0):0){c[g>>2]=h+1;a[h>>0]=f;break}e=yi(d,b)|0}while(0);return e|0}function Ci(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=Dc;Dc=Dc+16|0;n=w+4|0;o=w;if(!(c[14179]|0)){hj(56740)|0;if(!(c[14179]|0)){c[14181]=4096;c[14180]=4096;c[14182]=-1;c[14183]=-1;c[14184]=2;c[14303]=2;(wj(n)|0)==0?(xj(57216,n)|0)==0:0;vc(c,14179,o&-16^1431655768)|0}ej(56740)|0}if(c[14303]&2|0?hj(57216)|0:0){v=0;Dc=w;return v|0}do if(a>>>0<245){k=a>>>0<11?16:a+11&-8;a=k>>>3;m=c[14192]|0;d=m>>>a;if(d&3|0){a=(d&1^1)+a|0;d=56808+(a<<1<<2)|0;e=d+8|0;f=c[e>>2]|0;b=f+8|0;g=c[b>>2]|0;if((g|0)==(d|0))c[14192]=m&~(1<>2]=d;c[e>>2]=g}u=a<<3;c[f+4>>2]=u|3;u=f+u+4|0;c[u>>2]=c[u>>2]|1;break}l=c[14194]|0;if(k>>>0>l>>>0){if(d|0){b=2<>>12&16;a=a>>>b;e=a>>>5&8;a=a>>>e;h=a>>>2&4;a=a>>>h;d=a>>>1&2;a=a>>>d;f=a>>>1&1;f=(e|b|h|d|f)+(a>>>f)|0;a=56808+(f<<1<<2)|0;d=a+8|0;h=c[d>>2]|0;b=h+8|0;e=c[b>>2]|0;if((e|0)==(a|0)){d=m&~(1<>2]=a;c[d>>2]=e;d=m}u=f<<3;i=u-k|0;c[h+4>>2]=k|3;g=h+k|0;c[g+4>>2]=i|1;c[h+u>>2]=i;if(l|0){f=c[14197]|0;a=l>>>3;e=56808+(a<<1<<2)|0;a=1<>2]|0}c[d>>2]=f;c[a+12>>2]=f;c[f+8>>2]=a;c[f+12>>2]=e}c[14194]=i;c[14197]=g;break}g=c[14193]|0;if(g){d=(g&0-g)+-1|0;f=d>>>12&16;d=d>>>f;e=d>>>5&8;d=d>>>e;h=d>>>2&4;d=d>>>h;i=d>>>1&2;d=d>>>i;j=d>>>1&1;j=c[57072+((e|f|h|i|j)+(d>>>j)<<2)>>2]|0;d=j;i=j;j=(c[j+4>>2]&-8)-k|0;while(1){a=c[d+16>>2]|0;if(!a){a=c[d+20>>2]|0;if(!a)break}h=(c[a+4>>2]&-8)-k|0;f=h>>>0>>0;d=a;i=f?a:i;j=f?h:j}h=i+k|0;if(h>>>0>i>>>0){f=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){d=0;break}}while(1){e=b+20|0;d=c[e>>2]|0;if(!d){e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}else{b=d;a=e}}c[a>>2]=0;d=b}else{d=c[i+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);do if(f|0){b=c[i+28>>2]|0;a=57072+(b<<2)|0;if((i|0)==(c[a>>2]|0)){c[a>>2]=d;if(!d){c[14193]=g&~(1<>2]|0)==(i|0)?u:f+20|0)>>2]=d;if(!d)break}c[d+24>>2]=f;b=c[i+16>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}b=c[i+20>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}while(0);if(j>>>0<16){u=j+k|0;c[i+4>>2]=u|3;u=i+u+4|0;c[u>>2]=c[u>>2]|1}else{c[i+4>>2]=k|3;c[h+4>>2]=j|1;c[h+j>>2]=j;if(l|0){e=c[14197]|0;b=l>>>3;d=56808+(b<<1<<2)|0;b=1<>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[14194]=j;c[14197]=h}b=i+8|0}else v=118}else v=118}else v=118}else if(a>>>0<=4294967231){a=a+11|0;k=a&-8;e=c[14193]|0;if(e){f=0-k|0;a=a>>>8;if(a)if(k>>>0>16777215)j=31;else{m=(a+1048320|0)>>>16&8;v=a<>>16&4;v=v<>>16&2;j=14-(i|m|j)+(v<>>15)|0;j=k>>>(j+7|0)&1|j<<1}else j=0;d=c[57072+(j<<2)>>2]|0;a:do if(!d){d=0;a=0;v=70}else{a=0;i=k<<((j|0)==31?0:25-(j>>>1)|0);g=0;while(1){h=(c[d+4>>2]&-8)-k|0;if(h>>>0>>0)if(!h){a=d;f=0;v=74;break a}else{a=d;f=h}v=c[d+20>>2]|0;d=c[d+16+(i>>>31<<2)>>2]|0;g=(v|0)==0|(v|0)==(d|0)?g:v;if(!d){d=g;v=70;break}else i=i<<1}}while(0);if((v|0)==70){if((d|0)==0&(a|0)==0){a=2<>>12&16;m=m>>>h;g=m>>>5&8;m=m>>>g;i=m>>>2&4;m=m>>>i;j=m>>>1&2;m=m>>>j;d=m>>>1&1;a=0;d=c[57072+((g|h|i|j|d)+(m>>>d)<<2)>>2]|0}if(!d){i=a;h=f}else v=74}if((v|0)==74){g=d;while(1){m=(c[g+4>>2]&-8)-k|0;d=m>>>0>>0;f=d?m:f;a=d?g:a;d=c[g+16>>2]|0;if(!d)d=c[g+20>>2]|0;if(!d){i=a;h=f;break}else g=d}}if(((i|0)!=0?h>>>0<((c[14194]|0)-k|0)>>>0:0)?(l=i+k|0,l>>>0>i>>>0):0){g=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){b=0;break}}while(1){f=b+20|0;d=c[f>>2]|0;if(!d){f=b+16|0;d=c[f>>2]|0;if(!d)break;else{b=d;a=f}}else{b=d;a=f}}c[a>>2]=0}else{u=c[i+8>>2]|0;c[u+12>>2]=b;c[b+8>>2]=u}while(0);do if(g){a=c[i+28>>2]|0;d=57072+(a<<2)|0;if((i|0)==(c[d>>2]|0)){c[d>>2]=b;if(!b){e=e&~(1<>2]|0)==(i|0)?u:g+20|0)>>2]=b;if(!b)break}c[b+24>>2]=g;a=c[i+16>>2]|0;if(a|0){c[b+16>>2]=a;c[a+24>>2]=b}a=c[i+20>>2]|0;if(a){c[b+20>>2]=a;c[a+24>>2]=b}}while(0);b:do if(h>>>0<16){u=h+k|0;c[i+4>>2]=u|3;u=i+u+4|0;c[u>>2]=c[u>>2]|1}else{c[i+4>>2]=k|3;c[l+4>>2]=h|1;c[l+h>>2]=h;b=h>>>3;if(h>>>0<256){d=56808+(b<<1<<2)|0;a=c[14192]|0;b=1<>2]|0}c[a>>2]=l;c[b+12>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;break}b=h>>>8;if(b)if(h>>>0>16777215)d=31;else{t=(b+1048320|0)>>>16&8;u=b<>>16&4;u=u<>>16&2;d=14-(s|t|d)+(u<>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;b=57072+(d<<2)|0;c[l+28>>2]=d;a=l+16|0;c[a+4>>2]=0;c[a>>2]=0;a=1<>2]=l;c[l+24>>2]=b;c[l+12>>2]=l;c[l+8>>2]=l;break}b=c[b>>2]|0;c:do if((c[b+4>>2]&-8|0)!=(h|0)){e=h<<((d|0)==31?0:25-(d>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(h|0)){b=a;break c}else{e=e<<1;b=a}}c[d>>2]=l;c[l+24>>2]=b;c[l+12>>2]=l;c[l+8>>2]=l;break b}while(0);t=b+8|0;u=c[t>>2]|0;c[u+12>>2]=l;c[t>>2]=l;c[l+8>>2]=u;c[l+12>>2]=b;c[l+24>>2]=0}while(0);b=i+8|0}else v=118}else v=118}else{k=-1;v=118}while(0);d:do if((v|0)==118){d=c[14194]|0;if(d>>>0>=k>>>0){b=d-k|0;a=c[14197]|0;if(b>>>0>15){v=a+k|0;c[14197]=v;c[14194]=b;c[v+4>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=k|3}else{c[14194]=0;c[14197]=0;c[a+4>>2]=d|3;v=a+d+4|0;c[v>>2]=c[v>>2]|1}b=a+8|0;break}a=c[14195]|0;if(a>>>0>k>>>0){u=a-k|0;c[14195]=u;b=c[14198]|0;v=b+k|0;c[14198]=v;c[v+4>>2]=u|1;c[b+4>>2]=k|3;b=b+8|0;break}if(!(c[14179]|0)){hj(56740)|0;if(!(c[14179]|0)){c[14181]=4096;c[14180]=4096;c[14182]=-1;c[14183]=-1;c[14184]=2;c[14303]=2;(wj(n)|0)==0?(xj(57216,n)|0)==0:0;vc(c,14179,o&-16^1431655768)|0}ej(56740)|0}f=k+48|0;h=c[14181]|0;g=k+47|0;h=h+g&0-h;if(h>>>0>k>>>0){a=c[14302]|0;if(a|0?(n=c[14300]|0,o=n+h|0,o>>>0<=n>>>0|o>>>0>a>>>0):0){b=0;break}if(!(c[14303]&4)){d=c[14198]|0;e:do if(d){e=57244;while(1){o=c[e>>2]|0;if(o>>>0<=d>>>0?(o+(c[e+4>>2]|0)|0)>>>0>d>>>0:0)break;a=c[e+8>>2]|0;if(!a){v=141;break e}else e=a}hj(56740)|0;b=c[14181]|0;b=g-(c[14195]|0)+b&0-b;if(b>>>0<2147483647){a=Bl(b|0)|0;if((a|0)==((c[e>>2]|0)+(c[e+4>>2]|0)|0)){if((a|0)==(-1|0))v=155}else v=149}else{b=0;v=155}}else v=141;while(0);do if((v|0)==141){hj(56740)|0;d=Bl(0)|0;if((d|0)!=(-1|0)?(b=d,p=c[14180]|0,q=p+-1|0,b=((q&b|0)==0?0:(q+b&0-p)-b|0)+h|0,p=c[14300]|0,q=b+p|0,b>>>0>k>>>0&b>>>0<2147483647):0){o=c[14302]|0;if(o|0?q>>>0<=p>>>0|q>>>0>o>>>0:0){b=0;v=155;break}a=Bl(b|0)|0;if((a|0)==(d|0))a=d;else v=149}else{b=0;v=155}}while(0);do if((v|0)==149){e=0-b|0;if(!(f>>>0>b>>>0&(b>>>0<2147483647&(a|0)!=(-1|0))))if((a|0)==(-1|0)){b=0;v=155;break}else break;d=c[14181]|0;d=g-b+d&0-d;if(d>>>0<2147483647)if((Bl(d|0)|0)==(-1|0)){Bl(e|0)|0;b=0;v=155;break}else{b=d+b|0;break}}while(0);if((v|0)==155){c[14303]=c[14303]|4;a=-1}ej(56740)|0}else{a=-1;b=0}if(h>>>0<2147483647&(a|0)==(-1|0)){hj(56740)|0;a=Bl(h|0)|0;q=Bl(0)|0;ej(56740)|0;d=q-a|0;e=d>>>0>(k+40|0)>>>0;if(a>>>0>>0&((a|0)!=(-1|0)&(q|0)!=(-1|0))){s=e?a:-1;t=e?d:b;v=159}}else{s=a;t=b;v=159}if((v|0)==159?(s|0)!=(-1|0):0){b=(c[14300]|0)+t|0;c[14300]=b;if(b>>>0>(c[14301]|0)>>>0)c[14301]=b;h=c[14198]|0;f:do if(h){b=57244;while(1){a=c[b>>2]|0;d=c[b+4>>2]|0;if((s|0)==(a+d|0)){v=169;break}e=c[b+8>>2]|0;if(!e)break;else b=e}if(((v|0)==169?(r=b+4|0,(c[b+12>>2]&8|0)==0):0)?s>>>0>h>>>0&a>>>0<=h>>>0:0){c[r>>2]=d+t;v=(c[14195]|0)+t|0;t=h+8|0;t=(t&7|0)==0?0:0-t&7;u=h+t|0;t=v-t|0;c[14198]=u;c[14195]=t;c[u+4>>2]=t|1;c[h+v+4>>2]=40;c[14199]=c[14183];break}if(s>>>0<(c[14196]|0)>>>0)c[14196]=s;d=s+t|0;b=57244;while(1){if((c[b>>2]|0)==(d|0)){v=177;break}a=c[b+8>>2]|0;if(!a)break;else b=a}if((v|0)==177?(c[b+12>>2]&8|0)==0:0){c[b>>2]=s;l=b+4|0;c[l>>2]=(c[l>>2]|0)+t;l=s+8|0;l=s+((l&7|0)==0?0:0-l&7)|0;b=d+8|0;b=d+((b&7|0)==0?0:0-b&7)|0;j=l+k|0;i=b-l-k|0;c[l+4>>2]=k|3;g:do if((h|0)==(b|0)){v=(c[14195]|0)+i|0;c[14195]=v;c[14198]=j;c[j+4>>2]=v|1}else{if((c[14197]|0)==(b|0)){v=(c[14194]|0)+i|0;c[14194]=v;c[14197]=j;c[j+4>>2]=v|1;c[j+v>>2]=v;break}a=c[b+4>>2]|0;if((a&3|0)==1){h=a&-8;e=a>>>3;h:do if(a>>>0<256){a=c[b+8>>2]|0;d=c[b+12>>2]|0;if((d|0)==(a|0)){c[14192]=c[14192]&~(1<>2]=d;c[d+8>>2]=a;break}}else{g=c[b+24>>2]|0;a=c[b+12>>2]|0;do if((a|0)==(b|0)){d=b+16|0;e=d+4|0;a=c[e>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}}else d=e;while(1){f=a+20|0;e=c[f>>2]|0;if(!e){f=a+16|0;e=c[f>>2]|0;if(!e)break;else{a=e;d=f}}else{a=e;d=f}}c[d>>2]=0}else{v=c[b+8>>2]|0;c[v+12>>2]=a;c[a+8>>2]=v}while(0);if(!g)break;d=c[b+28>>2]|0;e=57072+(d<<2)|0;do if((c[e>>2]|0)!=(b|0)){v=g+16|0;c[((c[v>>2]|0)==(b|0)?v:g+20|0)>>2]=a;if(!a)break h}else{c[e>>2]=a;if(a|0)break;c[14193]=c[14193]&~(1<>2]=g;d=b+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(!d)break;c[a+20>>2]=d;c[d+24>>2]=a}while(0);b=b+h|0;f=h+i|0}else f=i;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[j+4>>2]=f|1;c[j+f>>2]=f;b=f>>>3;if(f>>>0<256){d=56808+(b<<1<<2)|0;a=c[14192]|0;b=1<>2]|0}c[a>>2]=j;c[b+12>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;break}b=f>>>8;do if(!b)e=0;else{if(f>>>0>16777215){e=31;break}u=(b+1048320|0)>>>16&8;v=b<>>16&4;v=v<>>16&2;e=14-(t|u|e)+(v<>>15)|0;e=f>>>(e+7|0)&1|e<<1}while(0);b=57072+(e<<2)|0;c[j+28>>2]=e;a=j+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[14193]|0;d=1<>2]=j;c[j+24>>2]=b;c[j+12>>2]=j;c[j+8>>2]=j;break}b=c[b>>2]|0;i:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(f|0)){b=a;break i}else{e=e<<1;b=a}}c[d>>2]=j;c[j+24>>2]=b;c[j+12>>2]=j;c[j+8>>2]=j;break g}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=j;c[u>>2]=j;c[j+8>>2]=v;c[j+12>>2]=b;c[j+24>>2]=0}while(0);b=l+8|0;break d}b=57244;while(1){a=c[b>>2]|0;if(a>>>0<=h>>>0?(u=a+(c[b+4>>2]|0)|0,u>>>0>h>>>0):0)break;b=c[b+8>>2]|0}f=u+-47|0;a=f+8|0;a=f+((a&7|0)==0?0:0-a&7)|0;f=h+16|0;a=a>>>0>>0?h:a;b=a+8|0;d=t+-40|0;r=s+8|0;r=(r&7|0)==0?0:0-r&7;v=s+r|0;r=d-r|0;c[14198]=v;c[14195]=r;c[v+4>>2]=r|1;c[s+d+4>>2]=40;c[14199]=c[14183];d=a+4|0;c[d>>2]=27;c[b>>2]=c[14311];c[b+4>>2]=c[14312];c[b+8>>2]=c[14313];c[b+12>>2]=c[14314];c[14311]=s;c[14312]=t;c[14314]=0;c[14313]=b;b=a+24|0;do{v=b;b=b+4|0;c[b>>2]=7}while((v+8|0)>>>0>>0);if((a|0)!=(h|0)){g=a-h|0;c[d>>2]=c[d>>2]&-2;c[h+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){d=56808+(b<<1<<2)|0;a=c[14192]|0;b=1<>2]|0}c[a>>2]=h;c[b+12>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;break}b=g>>>8;do if(!b)e=0;else{if(g>>>0>16777215){e=31;break}u=(b+1048320|0)>>>16&8;v=b<>>16&4;v=v<>>16&2;e=14-(t|u|e)+(v<>>15)|0;e=g>>>(e+7|0)&1|e<<1}while(0);d=57072+(e<<2)|0;c[h+28>>2]=e;c[h+20>>2]=0;c[f>>2]=0;b=c[14193]|0;a=1<>2]=h;c[h+24>>2]=d;c[h+12>>2]=h;c[h+8>>2]=h;break}b=c[d>>2]|0;j:do if((c[b+4>>2]&-8|0)!=(g|0)){e=g<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(g|0)){b=a;break j}else{e=e<<1;b=a}}c[d>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;break f}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=h;c[u>>2]=h;c[h+8>>2]=v;c[h+12>>2]=b;c[h+24>>2]=0}}else{v=c[14196]|0;if((v|0)==0|s>>>0>>0)c[14196]=s;c[14311]=s;c[14312]=t;c[14314]=0;c[14201]=c[14179];c[14200]=-1;c[14205]=56808;c[14204]=56808;c[14207]=56816;c[14206]=56816;c[14209]=56824;c[14208]=56824;c[14211]=56832;c[14210]=56832;c[14213]=56840;c[14212]=56840;c[14215]=56848;c[14214]=56848;c[14217]=56856;c[14216]=56856;c[14219]=56864;c[14218]=56864;c[14221]=56872;c[14220]=56872;c[14223]=56880;c[14222]=56880;c[14225]=56888;c[14224]=56888;c[14227]=56896;c[14226]=56896;c[14229]=56904;c[14228]=56904;c[14231]=56912;c[14230]=56912;c[14233]=56920;c[14232]=56920;c[14235]=56928;c[14234]=56928;c[14237]=56936;c[14236]=56936;c[14239]=56944;c[14238]=56944;c[14241]=56952;c[14240]=56952;c[14243]=56960;c[14242]=56960;c[14245]=56968;c[14244]=56968;c[14247]=56976;c[14246]=56976;c[14249]=56984;c[14248]=56984;c[14251]=56992;c[14250]=56992;c[14253]=57e3;c[14252]=57e3;c[14255]=57008;c[14254]=57008;c[14257]=57016;c[14256]=57016;c[14259]=57024;c[14258]=57024;c[14261]=57032;c[14260]=57032;c[14263]=57040;c[14262]=57040;c[14265]=57048;c[14264]=57048;c[14267]=57056;c[14266]=57056;v=t+-40|0;t=s+8|0;t=(t&7|0)==0?0:0-t&7;u=s+t|0;t=v-t|0;c[14198]=u;c[14195]=t;c[u+4>>2]=t|1;c[s+v+4>>2]=40;c[14199]=c[14183]}while(0);b=c[14195]|0;if(b>>>0>k>>>0){u=b-k|0;c[14195]=u;b=c[14198]|0;v=b+k|0;c[14198]=v;c[v+4>>2]=u|1;c[b+4>>2]=k|3;b=b+8|0;break}}c[(Wh()|0)>>2]=12;b=0}else b=0}while(0);if(!(c[14303]&2)){v=b;Dc=w;return v|0}ej(57216)|0;v=b;Dc=w;return v|0} +function ld(){Se();Nh();Rh()}function md(a){a=a|0;var b=0;b=Dc;Dc=Dc+a|0;Dc=Dc+15&-16;return b|0}function nd(){return Dc|0}function od(a){a=a|0;Dc=a}function pd(a,b){a=a|0;b=b|0;Dc=a;Ec=b}function qd(){nb();return 0}function rd(a){a=a|0;var b=0;ca(584,592,608,0,48073,3,48076,0,48076,0,47366,48078,22);b=Sj(8)|0;c[b>>2]=2;c[b+4>>2]=0;ea(584,47375,3,1480,48081,3,b|0,0);b=Sj(8)|0;c[b>>2]=3;c[b+4>>2]=0;ea(584,47381,3,1492,48081,4,b|0,0);b=Sj(8)|0;c[b>>2]=23;c[b+4>>2]=0;ea(584,47388,2,1504,48086,4,b|0,0);b=Sj(8)|0;c[b>>2]=24;c[b+4>>2]=0;ea(584,47395,2,1504,48086,4,b|0,0);b=Sj(8)|0;c[b>>2]=5;c[b+4>>2]=0;a=Sj(8)|0;c[a>>2]=6;c[a+4>>2]=0;fa(584,47413,576,48090,1,b|0,576,48081,5,a|0);a=Sj(8)|0;c[a>>2]=7;c[a+4>>2]=0;b=Sj(8)|0;c[b>>2]=8;c[b+4>>2]=0;fa(584,47423,576,48090,1,a|0,576,48081,5,b|0);b=Sj(8)|0;c[b>>2]=9;c[b+4>>2]=0;a=Sj(8)|0;c[a>>2]=10;c[a+4>>2]=0;fa(584,47431,576,48090,1,b|0,576,48081,5,a|0);a=Sj(8)|0;c[a>>2]=11;c[a+4>>2]=0;b=Sj(8)|0;c[b>>2]=12;c[b+4>>2]=0;fa(584,47443,576,48090,1,a|0,576,48081,5,b|0);b=Sj(8)|0;c[b>>2]=13;c[b+4>>2]=0;a=Sj(8)|0;c[a>>2]=14;c[a+4>>2]=0;fa(584,47455,576,48090,1,b|0,576,48081,5,a|0);a=Sj(8)|0;c[a>>2]=15;c[a+4>>2]=0;fa(584,47459,576,48090,1,a|0,0,0,0,0);ca(664,680,696,584,48073,4,48073,5,48073,6,47470,48078,25);a=Sj(4)|0;c[a>>2]=26;ea(664,48094,2,1512,48086,16,a|0,0);da(584,48114,3,1520,48250,6,2);da(584,48124,3,1644,48250,7,6);return}function sd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=Dc;Dc=Dc+16|0;n=o+8|0;m=o;e=b+22908|0;l=b+4|0;if(a[e>>0]|0){f=c[l>>2]|0;if((a[56560]|0)==0?cl(56560)|0:0)c[14154]=wa(1,1440)|0;ta(c[14154]|0,f|0,47483,m|0)}a[e>>0]=1;g=c[l>>2]|0;j=Ba(47489)|0;g=xa(g|0,j|0)|0;ua(j|0);j=Kd(g,47501)|0;ua(g|0);c[n>>2]=47509;c[n+4>>2]=j?47518:47523;_a(0,n|0);a[b+22764>>0]=j&1;j=d+11|0;g=a[j>>0]|0;h=g<<24>>24<0;f=h?c[d>>2]|0:d;k=d+4|0;g=h?c[k>>2]|0:g&255;h=f+g|0;e=h;i=f;a:do if((g|0)<4)g=h;else{while(1){g=g+-3|0;if(!g){g=h;break a}f=ni(f,46,g)|0;if(!f){g=h;break a}if(!(Zh(f,47529,4)|0))break;f=f+1|0;g=e-f|0;if((g|0)<4){g=h;break a}}g=f;e=f}while(0);a[b+22909>>0]=(e-i|0)!=-1&(g|0)!=(h|0)&1;h=va(47534)|0;e=a[j>>0]|0;if(e<<24>>24<0){f=c[k>>2]|0;g=Ci(f+4|0)|0;c[g>>2]=f;e=c[d>>2]|0}else{f=e&255;g=Ci(f+4|0)|0;c[g>>2]=f;e=d}xl(g+4|0,e|0,f|0)|0;c[n>>2]=g;c[m>>2]=Aa(h|0,1,1448,n|0)|0;ua(h|0);Id(m,47544,47555);Jd(n,b,47381);k=c[m>>2]|0;d=Ba(47567)|0;Fa(k|0,d|0,c[n>>2]|0);ua(d|0);ua(c[n>>2]|0);c[b+22900>>2]=Na()|0;b=c[l>>2]|0;n=Ba(47577)|0;Fa(b|0,n|0,c[m>>2]|0);ua(n|0);ua(c[m>>2]|0);Dc=o;return}function td(b,e){b=b|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=Dc;Dc=Dc+64|0;k=z+8|0;u=z;y=z+48|0;s=z+32|0;t=z+16|0;f=c[e>>2]|0;x=Ba(47705)|0;c[s>>2]=xa(f|0,x|0)|0;ua(x|0);Nd(y,s);ua(c[s>>2]|0);x=y+11|0;f=a[x>>0]|0;j=y+4|0;e=b+22904|0;c[e>>2]=(c[e>>2]|0)+(f<<24>>24<0?c[j>>2]|0:f&255);f=Na()|0;h=b+22900|0;i=c[h>>2]|0;if((f|0)>(i|0)){g[b+22920>>3]=+(c[e>>2]|0)*1.0e3/+(f-i|0);c[h>>2]=f;c[e>>2]=0}a:do if(!(a[b+22909>>0]|0))switch(a[(ik(y,0)|0)>>0]|0){case 1:{dk(t,y,1,-1,y);c[s>>2]=c[t>>2];c[s+4>>2]=c[t+4>>2];c[s+8>>2]=c[t+8>>2];q=s+12|0;c[q>>2]=0;w=s+11|0;v=(a[w>>0]|0)<0?c[s>>2]|0:s;t=a[v+3>>0]|0;r=a[v+2>>0]|0;u=a[v+1>>0]|0;v=a[v>>0]|0;c[q>>2]=4;Od(b,(r&255)<<8|t&255|(u&255)<<16|(v&255)<<24,s);if((a[w>>0]|0)<0)Tj(c[s>>2]|0);break a}case 2:{dk(t,y,1,-1,y);c[s>>2]=c[t>>2];c[s+4>>2]=c[t+4>>2];c[s+8>>2]=c[t+8>>2];q=s+12|0;c[q>>2]=0;w=s+11|0;v=(a[w>>0]|0)<0?c[s>>2]|0:s;t=a[v+3>>0]|0;r=a[v+2>>0]|0;u=a[v+1>>0]|0;v=a[v>>0]|0;c[q>>2]=4;Pd(b,(r&255)<<8|t&255|(u&255)<<16|(v&255)<<24,s);if((a[w>>0]|0)<0)Tj(c[s>>2]|0);break a}default:{b=a[(ik(y,0)|0)>>0]|0;c[k>>2]=47726;c[k+4>>2]=b;_a(1,k|0);break a}}else{w=b+12|0;p=a[x>>0]|0;r=p<<24>>24<0;jk(w,r?c[y>>2]|0:y,r?c[j>>2]|0:p&255)|0;j=b+8|0;p=w+11|0;if(!(a[j>>0]|0)){e=a[p>>0]|0;f=e<<24>>24<0;if(f)h=c[b+16>>2]|0;else h=e&255;i=b+24|0;if((h-(c[i>>2]|0)|0)<=12)break;a[j>>0]=1;c[i>>2]=13;if(f){e=c[b+16>>2]|0;f=c[w>>2]|0}else{e=e&255;f=w}b=e+-13|0;yl(f|0,f+13|0,b|0)|0;fk(w,b,0);c[i>>2]=0;break}l=b+16|0;q=b+24|0;m=t+11|0;n=t+4|0;o=s+11|0;while(1){i=a[p>>0]|0;j=i<<24>>24<0;if(j)e=c[l>>2]|0;else e=i&255;r=c[q>>2]|0;if((e-r|0)<=3)break;if(j)e=c[w>>2]|0;else e=w;h=r+1|0;k=a[e+r>>0]|0;c[q>>2]=h;h=e+h+3+-1|0;e=a[h>>0]|0;A=a[h+-1>>0]|0;h=a[h+-2>>0]|0;f=r+4|0;c[q>>2]=f;h=(A&255)<<8|e&255|(h&255)<<16;if(j)e=c[l>>2]|0;else e=i&255;if((e-f|0)>>>0<(h+11|0)>>>0){v=24;break}if(j)e=c[w>>2]|0;else e=w;e=e+f+3+-1|0;e=d[e+-1>>0]<<8|d[e>>0]|d[e+-2>>0]<<16;A=r+11|0;c[q>>2]=A;c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;c[s+12>>2]=0;dk(t,w,A,h,w);A=a[m>>0]|0;r=A<<24>>24<0;A=r?c[n>>2]|0:A&255;c[q>>2]=(c[q>>2]|0)+A;jk(s,r?c[t>>2]|0:t,A)|0;if((a[m>>0]|0)<0)Tj(c[t>>2]|0);switch(k<<24>>24){case 8:{Od(b,e,s);break}case 9:{Pd(b,e,s);break}default:{c[u>>2]=47710;c[u+4>>2]=k&255;_a(0,u|0)}}c[q>>2]=(c[q>>2]|0)+4;if((a[o>>0]|0)<0)Tj(c[s>>2]|0)}if((v|0)==24)c[q>>2]=r;if(j){e=c[l>>2]|0;f=c[w>>2]|0}else{e=i&255;f=w}A=e-r|0;yl(f|0,f+r|0,A|0)|0;fk(w,A,0);c[q>>2]=0}while(0);if((a[x>>0]|0)>=0){Dc=z;return}Tj(c[y>>2]|0);Dc=z;return}function ud(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=Dc;Dc=Dc+16|0;h=j;g=va(48011)|0;f=b+22892|0;c[h>>2]=c[f>>2];ua(ra(g|0,1,1476,h|0)|0);ua(g|0);g=b+22864|0;fe(g);ee(g);h=c[b+22868>>2]|0;i=b+22872|0;d=c[i>>2]|0;if((d|0)!=(h|0))c[i>>2]=d+(~((d+-4-h|0)>>>2)<<2);ge(g);c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;if((a[b+22764>>0]|0)==0?(e=c[b+22736>>2]|0,e|0):0)Di(e);c[f>>2]=0;a[b+22896>>0]=1;a[b+22888>>0]=0;fk(b+12|0,0,0);c[b+24>>2]=0;a[b+8>>0]=0;Dc=j;return}function vd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=Dc;Dc=Dc+16|0;g=o+4|0;i=o;j=b+22884|0;a:do if(c[j>>2]|0){k=b+22868|0;l=b+22880|0;m=b+4|0;n=b+22916|0;h=b+22728|0;f=0;d=c[l>>2]|0;while(1){p=(d>>>0)/204|0;e=c[(c[k>>2]|0)+(p<<2)>>2]|0;d=d-(p*204|0)|0;if(f?(c[g>>2]=c[e+(d*20|0)>>2],p=Xd(c[m>>2]|0,48002,g)|0,p=((c[n>>2]|0)*1e3|0)+p|0,c[i>>2]=p,(p|0)>0):0)break;Wd(h,e+(d*20|0)+4|0);d=c[l>>2]|0;e=(d>>>0)/204|0;e=(c[(c[k>>2]|0)+(e<<2)>>2]|0)+((d-(e*204|0)|0)*20|0)+4|0;if((a[e+11>>0]|0)<0){Tj(c[e>>2]|0);d=c[l>>2]|0}e=(c[j>>2]|0)+-1|0;c[j>>2]=e;d=d+1|0;c[l>>2]=d;if(d>>>0>407){Tj(c[c[k>>2]>>2]|0);c[k>>2]=(c[k>>2]|0)+4;d=(c[l>>2]|0)+-204|0;c[l>>2]=d;e=c[j>>2]|0}if(!e)break a;else f=1}a[b+22888>>0]=1;c[b+22892>>2]=Yd(c[m>>2]|0,47986,i)|0;Dc=o;return}while(0);a[b+22888>>0]=0;Dc=o;return}function wd(a,b){a=a|0;b=b|0;var e=0,f=0;e=Dc;Dc=Dc+16|0;f=e;c[f>>2]=d[b+22908>>0];c[a>>2]=Ga(1328,f|0)|0;Dc=e;return}function xd(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0;e=Dc;Dc=Dc+16|0;g=e;f=+qa(c[d>>2]|0,1328,g|0);Ea(c[g>>2]|0);a[b+22908>>0]=f!=0.0&1;Dc=e;return}function yd(a,b){a=a|0;b=b|0;var e=0,f=0;e=Dc;Dc=Dc+16|0;f=e;c[f>>2]=d[b+22909>>0];c[a>>2]=Ga(1328,f|0)|0;Dc=e;return}function zd(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0;e=Dc;Dc=Dc+16|0;g=e;f=+qa(c[d>>2]|0,1328,g|0);Ea(c[g>>2]|0);a[b+22909>>0]=f!=0.0&1;Dc=e;return}function Ad(a,b){a=a|0;b=b|0;var d=0,e=0;d=Dc;Dc=Dc+16|0;e=d;c[e>>2]=c[b+22912>>2];c[a>>2]=Ga(1376,e|0)|0;Dc=d;return}function Bd(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=Dc;Dc=Dc+16|0;f=d;e=+qa(c[b>>2]|0,1376,f|0);Ea(c[f>>2]|0);c[a+22912>>2]=~~e;Dc=d;return}function Cd(a,b){a=a|0;b=b|0;var d=0,e=0;d=Dc;Dc=Dc+16|0;e=d;c[e>>2]=c[b+22916>>2];c[a>>2]=Ga(1376,e|0)|0;Dc=d;return}function Dd(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=Dc;Dc=Dc+16|0;f=d;e=+qa(c[b>>2]|0,1376,f|0);Ea(c[f>>2]|0);c[a+22916>>2]=~~e;Dc=d;return}function Ed(a,b){a=a|0;b=b|0;var d=0,e=0;d=Dc;Dc=Dc+16|0;e=d;g[e>>3]=+g[b+22920>>3];c[a>>2]=Ga(1416,e|0)|0;Dc=d;return}function Fd(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=Dc;Dc=Dc+16|0;f=d;e=+qa(c[b>>2]|0,1416,f|0);Ea(c[f>>2]|0);g[a+22920>>3]=e;Dc=d;return}function Gd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=Dc;Dc=Dc+16|0;e=d+4|0;f=d;c[e>>2]=Ca()|0;i=b+22868|0;h=b+22880|0;j=c[h>>2]|0;g=(j>>>0)/204|0;he(e,48024,(c[(c[i>>2]|0)+(g<<2)>>2]|0)+((j-(g*204|0)|0)*20|0)|0);b=b+22884|0;h=(c[b>>2]|0)+-1+(c[h>>2]|0)|0;g=(h>>>0)/204|0;ie(e,48030,(c[(c[i>>2]|0)+(g<<2)>>2]|0)+((h-(g*204|0)|0)*20|0)|0);c[f>>2]=c[b>>2];je(e,48035,f);b=c[e>>2]|0;c[a>>2]=b;ya(b|0);ua(c[e>>2]|0);Dc=d;return}function Hd(a){a=a|0;ua(c[a>>2]|0);return}function Id(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a>>2]|0;b=Ba(b|0)|0;d=Ba(d|0)|0;Fa(a|0,b|0,d|0);ua(d|0);ua(b|0);return}function Jd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;b=b+4|0;f=c[b>>2]|0;e=Ba(d|0)|0;d=xa(f|0,e|0)|0;ua(e|0);Md(a,d,47681,b);ua(d|0);return}function Kd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0.0;g=Dc;Dc=Dc+16|0;e=g;f=g+8|0;if((a[56568]|0)==0?cl(56568)|0:0)c[14155]=wa(1,1444)|0;h=+sa(c[14155]|0,b|0,d|0,f|0,e|0);Ea(c[f>>2]|0);Dc=g;return h!=0.0|0}function Ld(a){a=a|0;R(a|0)|0;Hk()}function Md(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0.0,k=0;i=Dc;Dc=Dc+16|0;g=i;h=i+8|0;if((a[56576]|0)==0?cl(56576)|0:0)c[14156]=wa(2,1452)|0;k=c[14156]|0;ya(c[f>>2]|0);c[g>>2]=c[f>>2];j=+sa(k|0,d|0,e|0,h|0,g|0);h=c[h>>2]|0;c[b>>2]=~~j>>>0;Ea(h|0);Dc=i;return}function Nd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0.0,j=0;h=Dc;Dc=Dc+16|0;e=h;i=+qa(c[d>>2]|0,552,e|0);e=c[e>>2]|0;g=~~i>>>0;f=g+4|0;g=c[g>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;if(g>>>0>4294967279)Yj(b);if(g>>>0<11){a[b+11>>0]=g;if(!g){f=b;g=f+g|0;a[g>>0]=0;Ea(e|0);Dc=h;return}else d=b}else{j=g+16&-16;d=Sj(j)|0;c[b>>2]=d;c[b+8>>2]=j|-2147483648;c[b+4>>2]=g}xl(d|0,f|0,g|0)|0;j=d;j=j+g|0;a[j>>0]=0;Ea(e|0);Dc=h;return}function Od(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=Dc;Dc=Dc+16|0;i=j;h=e+12|0;f=c[h>>2]|0;d=a[((a[e+11>>0]|0)<0?c[e>>2]|0:e)+f+1+-1>>0]|0;c[h>>2]=f+1;d=d&255;h=d>>>4;f=b+22897|0;if(a[f>>0]|0){g=(d&1)+1|0;d=d>>>2;switch(d&3){case 1:{d=11025;break}case 2:{d=22050;break}case 3:{d=44100;break}default:d=d&3}switch(h&15){case 10:{Rd(b,c[b+22912>>2]<<10,d,g);break}case 11:{Rd(b,16e3,16e3,g);break}case 2:{Rd(b,(c[b+22912>>2]|0)*576|0,d,g);break}default:{}}if(a[f>>0]|0){Dc=j;return}}g=b+28|0;if((h|0)!=2){Dc=j;return}d=c[b+36>>2]|0;f=b+32|0;d=Sd(g,e,d+(c[f>>2]|0)|0,d+(c[g>>2]|0)|0)|0;if(!d){Dc=j;return}h=(c[f>>2]|0)+d|0;e=(h|0)==(c[g>>2]|0);c[f>>2]=e?0:h;if(!e){Dc=j;return}d=c[b+4>>2]|0;if((a[56560]|0)==0?cl(56560)|0:0)c[14154]=wa(1,1440)|0;ta(c[14154]|0,d|0,47809,i|0);Dc=j;return}function Pd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=Dc;Dc=Dc+48|0;m=q+32|0;l=q+24|0;k=q+16|0;j=q+8|0;o=q;n=q+36|0;p=e+12|0;f=c[p>>2]|0;g=((a[e+11>>0]|0)<0?c[e>>2]|0:e)+f|0;h=a[g+1>>0]|0;i=b+22896|0;if(a[i>>0]|0){g=a[g>>0]|0;f=g&15;switch(g&15){case 7:{c[j>>2]=47855;_a(0,j|0);break}case 12:{c[k>>2]=47870;_a(0,k|0);break}default:{c[l>>2]=47885;c[l+4>>2]=f;_a(0,l|0);Dc=q;return}}if(!(h<<24>>24==0&(g&-16)<<24>>24==16)){Dc=q;return}Vd(b+22728|0,e,f);a[i>>0]=0;c[m>>2]=47945;_a(0,m|0);Dc=q;return}if(h<<24>>24!=1){f=c[b+4>>2]|0;if((a[56560]|0)==0?cl(56560)|0:0)c[14154]=wa(1,1440)|0;ta(c[14154]|0,f|0,47961,o|0);Dc=q;return}if(!d){Dc=q;return}c[p>>2]=f+5;f=b+22916|0;a:do if(c[f>>2]|0){g=b+22888|0;do if(!(a[g>>0]|0)){c[o>>2]=d;h=b+4|0;o=Xd(c[h>>2]|0,48002,o)|0;o=((c[f>>2]|0)*1e3|0)+o|0;c[n>>2]=o;if((o|0)>0){a[g>>0]=1;c[b+22892>>2]=Yd(c[h>>2]|0,47986,n)|0;break}else break a}while(0);j=b+22872|0;g=c[j>>2]|0;k=b+22868|0;f=c[k>>2]|0;o=g-f|0;i=b+22880|0;l=b+22884|0;h=(c[l>>2]|0)+(c[i>>2]|0)|0;if((((o|0)==0?0:((o>>2)*204|0)+-1|0)|0)==(h|0)){Zd(b+22864|0);h=(c[i>>2]|0)+(c[l>>2]|0)|0;g=c[j>>2]|0;f=c[k>>2]|0}if((g|0)==(f|0))f=0;else{b=(h>>>0)/204|0;f=(c[f+(b<<2)>>2]|0)+((h-(b*204|0)|0)*20|0)|0}c[f>>2]=d;d=f+4|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[f+16>>2]=c[p>>2];c[l>>2]=(c[l>>2]|0)+1;Dc=q;return}while(0);Wd(b+22728|0,e);Dc=q;return}function Qd(b){b=b|0;if((a[b+11>>0]|0)>=0)return;Tj(c[b>>2]|0);return}function Rd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=Dc;Dc=Dc+32|0;h=i;a[b+22897>>0]=0;j=v(d<<1,f)|0;g=b+36|0;c[g>>2]=Ci(c[b+28>>2]|0)|0;c[h>>2]=47829;c[h+4>>2]=j;_a(0,h|0);g=c[g>>2]>>1;b=c[b+4>>2]|0;if((a[56584]|0)==0?cl(56584)|0:0)c[14157]=wa(5,16)|0;j=c[14157]|0;c[h>>2]=d;c[h+8>>2]=e;c[h+16>>2]=f;c[h+24>>2]=g;ta(j|0,b|0,47819,h|0);Dc=i;return}function Sd(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=d+12|0;i=d+22668|0;j=i+11|0;h=a[j>>0]|0;if(h<<24>>24<0)n=c[d+22672>>2]|0;else n=h&255;h=e+11|0;q=a[h>>0]|0;k=e+4|0;l=e+12|0;fk(i,n-(c[l>>2]|0)+(q<<24>>24<0?c[k>>2]|0:q&255)|0,0);if((a[j>>0]|0)<0)m=c[i>>2]|0;else m=i;h=a[h>>0]|0;if(h<<24>>24<0){h=c[l>>2]|0;i=c[k>>2]|0;j=h;h=(c[e>>2]|0)+h|0}else{q=c[l>>2]|0;i=h&255;j=q;h=e+q|0}xl(m+n|0,h|0,i-j|0)|0;if((Td(r)|0)==-1){r=0;return r|0}o=d+13448|0;p=d+13450|0;q=d+13452|0;n=d+18060|0;h=0;while(1){i=b[o>>1]|0;d=b[p>>1]|0;j=d&65535;h=(v((i&65535)<<1,j)|0)+h|0;e=j+-1|0;do if(d<<16>>16)if(i<<16>>16==2){m=j<<2;j=n;k=q;l=f;i=e;while(1){d=c[k>>2]|0;d=(d|0)>268431359?32767:(d|0)<-268439552?-32768:d+4096>>13;a[l>>0]=d;a[l+1>>0]=d>>>8;d=c[j>>2]|0;d=(d|0)>268431359?32767:(d|0)<-268439552?-32768:d+4096>>13;a[l+2>>0]=d;a[l+3>>0]=d>>>8;if(!i)break;else{j=j+4|0;k=k+4|0;l=l+4|0;i=i+-1|0}}f=f+m|0;break}else{l=j<<1;j=q;k=f;i=e;while(1){d=c[j>>2]|0;d=(d|0)>268431359?32767:(d|0)<-268439552?-32768:d+4096>>13;a[k>>0]=d;a[k+1>>0]=d>>>8;if(!i)break;else{j=j+4|0;k=k+2|0;i=i+-1|0}}f=f+l|0;break}while(0);if(f>>>0>=g>>>0){f=22;break}if((Td(r)|0)==-1){f=22;break}}if((f|0)==22)return h|0;return 0}function Td(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=Dc;Dc=Dc+272|0;t=u+256|0;s=u;k=u+248|0;l=u+244|0;q=d+22656|0;n=q+11|0;if((a[n>>0]|0)<0)e=c[q>>2]|0;else e=q;r=d+22668|0;i=e+(c[r>>2]|0)|0;j=Ud(d,i)|0;if((j|0)==-1){d=-1;Dc=u;return d|0}f=c[r>>2]|0;g=f+j|0;c[r>>2]=g;e=a[n>>0]|0;if(e<<24>>24<0)e=c[d+22660>>2]|0;else e=e&255;if((e|0)==(g|0)){c[r>>2]=f;d=-1;Dc=u;return d|0}e=d+9328|0;if((c[e>>2]|0)==0?(p=Ei(1152,4)|0,c[e>>2]=p,(p|0)==0):0){c[d+60>>2]=49;g=d+92|0;e=d+68|0}else{e=d+68|0;f=(c[e>>2]|0)==0;g=d+92|0;h=c[g>>2]|0;if(((h&16|0)!=0?(m=d+28|0,p=c[m+4>>2]|0,o=s,c[o>>2]=c[m>>2],c[o+4>>2]=p,o=d+88|0,p=b[o>>1]|0,c[t>>2]=c[s>>2],c[t+4>>2]=c[s+4>>2],p=sh(t,(h&4096|0)==0?(f?136:256):f?72:136,p)|0,b[o>>1]=p,p<<16>>16!=(b[d+90>>1]|0)):0)?(c[d+108>>2]&1|0)==0:0)c[d+60>>2]=513}p=d+64|0;o=(c[e>>2]|0)==0?1:2;f=d+28|0;Bh(f,o,c[g>>2]&4096,s,l,k)|0;c[g>>2]=c[g>>2]|c[k>>2];g=d+96|0;c[g>>2]=c[g>>2]|c[s+4>>2];g=ph(f)|0;f=i-g+j|0;if((a[n>>0]|0)<0)e=c[q>>2]|0;else e=q;nh(t,e+(c[r>>2]|0)|0);e=rh(t,32)|0;if((e&-1703936|0)==-1966080){if(!(e&65536))qh(t,16);j=rh(t,e>>>19&1|8)|0}else j=0;m=d+22672|0;k=m+11|0;e=a[k>>0]|0;if(e<<24>>24<0)e=c[d+22676>>2]|0;else e=e&255;l=d+22684|0;i=e-(c[l>>2]|0)|0;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;fk(t,f,0);h=t+11|0;xl(((a[h>>0]|0)<0?c[t>>2]|0:t)+(c[t+12>>2]|0)|0,g|0,f|0)|0;g=a[h>>0]|0;f=g<<24>>24<0;jk(m,f?c[t>>2]|0:t,f?c[t+4>>2]|0:g&255)|0;if((a[h>>0]|0)<0)Tj(c[t>>2]|0);e=a[n>>0]|0;if(e<<24>>24<0){e=c[r>>2]|0;f=c[q>>2]|0;g=e;e=(c[d+22660>>2]|0)-e|0}else{n=c[r>>2]|0;f=q;g=n;e=(e&255)-n|0}yl(f|0,f+g|0,e|0)|0;fk(q,e,0);c[r>>2]=0;e=a[k>>0]|0;h=e<<24>>24<0;if(h)e=c[d+22676>>2]|0;else e=e&255;g=e-(c[l>>2]|0)|0;e=c[s>>2]|0;if(i>>>0>>0|g>>>0>>0)e=-1;else{f=i-e|0;c[l>>2]=f;if(h)e=c[m>>2]|0;else e=m;nh(t,e+f|0);Ch(t,p,s,o)|0;wh(d+9332|0,p);g=g-j-f+(c[l>>2]|0)|0;c[l>>2]=g;e=a[k>>0]|0;if(e<<24>>24<0){e=c[d+22676>>2]|0;f=c[m>>2]|0}else{e=e&255;f=m}e=e-g|0;yl(f|0,f+g|0,e|0)|0;fk(m,e,0);c[l>>2]=0;e=0}d=e;Dc=u;return d|0}function Ud(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=a+64|0;nh(a+28|0,b);c[a+20>>2]=b;Ih(h,a)|0;d=a+100|0;switch(c[h>>2]|0){case 1:{b=384;break}case 3:{b=(c[a+92>>2]&4096|0)==0?1152:576;f=3;break}default:{b=1152;f=3}}g=a+84|0;Jh(d,0,b,c[g>>2]|0);d=a+80|0;e=c[d>>2]|0;if(!e){b=a+16|0;e=c[b>>2]|0;if(!((e|0)!=0?!(e>>>0>64e4&(c[h>>2]|0)==3):0))f=8;do if((f|0)==8)if((Kh(a,h)|0)==-1){h=-1;return h|0}else{e=c[b>>2]|0;break}while(0);c[d>>2]=e;f=a+92|0;b=c[f>>2]|1024;c[f>>2]=b}else b=c[a+92>>2]|0;d=b>>>7&1;switch(c[h>>2]|0){case 1:{h=(((e*12|0)>>>0)/((c[g>>2]|0)>>>0)|0)+d<<2;return h|0}case 3:{b=(b&4096|0)==0?144:72;break}default:b=144}h=v(e,b)|0;h=((h>>>0)/((c[g>>2]|0)>>>0)|0)+d|0;return h|0}function Vd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=Dc;Dc=Dc+16|0;j=l;k=d+12|0;g=c[k>>2]|0;c[j>>2]=47975;c[j+4>>2]=e;_a(0,j|0);switch(e|0){case 7:{j=d+11|0;c[b+32>>2]=a[((a[j>>0]|0)<0?c[d>>2]|0:d)+(c[k>>2]|0)+9>>0]&3;n=g+11|0;c[k>>2]=n;f=a[j>>0]|0;e=c[d>>2]|0;i=f<<24>>24<0?e:d;n=i+n+2+-1|0;m=a[n>>0]|0;n=a[n+-1>>0]|0;h=g+13|0;c[k>>2]=h;g=(n&255)<<8|m&255;if(g){cd[c[(c[b>>2]|0)+20>>2]&7](b,i+h|0,g);h=(c[k>>2]|0)+g|0;c[k>>2]=h;f=a[j>>0]|0;e=c[d>>2]|0}n=h+1|0;c[k>>2]=n;g=f<<24>>24<0?e:d;n=g+n+2+-1|0;e=a[n>>0]|0;n=a[n+-1>>0]|0;f=h+3|0;c[k>>2]=f;e=(n&255)<<8|e&255;if(!e){Dc=l;return}cd[c[(c[b>>2]|0)+20>>2]&7](b,g+f|0,e);Dc=l;return}case 12:{j=d+11|0;c[b+32>>2]=a[((a[j>>0]|0)<0?c[d>>2]|0:d)+(c[k>>2]|0)+27>>0]&3;i=g+31|0;c[k>>2]=i;n=(a[j>>0]|0)<0?c[d>>2]|0:d;i=n+i+2+-1|0;m=a[i>>0]|0;i=a[i+-1>>0]|0;h=g+33|0;c[k>>2]=h;m=(i&255)<<8|m&255;cd[c[(c[b>>2]|0)+20>>2]&7](b,n+h|0,m);m=(c[k>>2]|0)+m|0;h=m+3|0;c[k>>2]=h;n=(a[j>>0]|0)<0?c[d>>2]|0:d;h=n+h+2+-1|0;i=a[h>>0]|0;h=a[h+-1>>0]|0;m=m+5|0;c[k>>2]=m;i=(h&255)<<8|i&255;cd[c[(c[b>>2]|0)+20>>2]&7](b,n+m|0,i);i=(c[k>>2]|0)+i|0;m=i+3|0;c[k>>2]=m;j=(a[j>>0]|0)<0?c[d>>2]|0:d;m=j+m+2+-1|0;n=a[m>>0]|0;m=a[m+-1>>0]|0;d=i+5|0;c[k>>2]=d;cd[c[(c[b>>2]|0)+20>>2]&7](b,j+d|0,(m&255)<<8|n&255);Dc=l;return}default:{Dc=l;return}}}function Wd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=d+11|0;l=a[m>>0]|0;e=l<<24>>24<0;n=d+4|0;o=d+12|0;f=c[o>>2]|0;if(((e?c[n>>2]|0:l&255)-f|0)<=4)return;l=b+32|0;i=0;j=0;k=0;do{switch(c[l>>2]|0){case 3:{e=e?c[d>>2]|0:d;k=e+f+4+-1|0;g=4;h=k;i=a[k+-2>>0]|0;j=a[k+-3>>0]|0;k=a[k+-1>>0]|0;break}case 2:{e=e?c[d>>2]|0:d;k=e+f+3+-1|0;g=3;h=k;i=a[k+-2>>0]|0;k=a[k+-1>>0]|0;break}case 1:{e=e?c[d>>2]|0:d;k=e+f+2+-1|0;g=2;h=k;k=a[k+-1>>0]|0;break}default:{h=e?c[d>>2]|0:d;e=h;g=1;h=h+f+1+-1|0}}h=a[h>>0]|0;g=f+g|0;c[o>>2]=g;h=(i&255)<<16|(j&255)<<24|(k&255)<<8|h&255;cd[c[(c[b>>2]|0)+20>>2]&7](b,e+g|0,h);f=(c[o>>2]|0)+h|0;c[o>>2]=f;h=a[m>>0]|0;e=h<<24>>24<0}while(((e?c[n>>2]|0:h&255)-f|0)>4);return}function Xd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0.0,j=0;h=Dc;Dc=Dc+16|0;f=h;g=h+8|0;if((a[56592]|0)==0?cl(56592)|0:0)c[14158]=wa(2,1460)|0;j=c[14158]|0;c[f>>2]=c[e>>2];i=+sa(j|0,b|0,d|0,g|0,f|0);Ea(c[g>>2]|0);Dc=h;return ~~i|0}function Yd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0.0,j=0;h=Dc;Dc=Dc+16|0;f=h;g=h+8|0;if((a[56600]|0)==0?cl(56600)|0:0)c[14159]=wa(2,1468)|0;j=c[14159]|0;c[f>>2]=c[e>>2];i=+sa(j|0,b|0,d|0,g|0,f|0);Ea(c[g>>2]|0);Dc=h;return ~~i|0}function Zd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=Dc;Dc=Dc+32|0;k=r+4|0;g=r;b=a+16|0;d=c[b>>2]|0;if(d>>>0>203){c[b>>2]=d+-204;o=a+4|0;m=c[o>>2]|0;q=c[m>>2]|0;m=m+4|0;c[o>>2]=m;p=a+8|0;b=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;e=l;do if((b|0)==(l|0)){i=m;d=c[a>>2]|0;f=d;if(m>>>0>d>>>0){e=((i-f>>2)+1|0)/-2|0;f=m+(e<<2)|0;d=b-i|0;if(!d)b=f;else{yl(f|0,m|0,d|0)|0;b=(c[o>>2]|0)+(e<<2)|0}a=f+(d>>2<<2)|0;c[p>>2]=a;c[o>>2]=b;b=a;break}f=e-f|0;f=(f|0)==0?1:f>>1;g=f>>>2;do if(f)if(f>>>0>1073741823){r=Q(8)|0;Wj(r,47741);c[r>>2]=41052;V(r|0,1248,16)}else{h=Sj(f<<2)|0;break}else h=0;while(0);k=h;e=h+(g<<2)|0;l=e;j=h+(f<<2)|0;if((m|0)==(b|0))b=l;else{f=((b+-4-i|0)>>>2)+1|0;d=m;while(1){c[e>>2]=c[d>>2];d=d+4|0;if((d|0)==(b|0))break;else e=e+4|0}b=h+(f+g<<2)|0;d=c[a>>2]|0}c[a>>2]=k;c[o>>2]=l;c[p>>2]=b;c[n>>2]=j;if(d){Tj(d);b=c[p>>2]|0}}while(0);c[b>>2]=q;c[p>>2]=(c[p>>2]|0)+4;Dc=r;return}q=a+8|0;b=c[q>>2]|0;p=a+4|0;f=b-(c[p>>2]|0)>>2;o=a+12|0;d=c[o>>2]|0;e=d-(c[a>>2]|0)|0;if(f>>>0>=e>>2>>>0){b=(e|0)==0?1:e>>1;i=k+12|0;c[i>>2]=0;c[k+16>>2]=a+12;do if(b)if(b>>>0>1073741823){r=Q(8)|0;Wj(r,47741);c[r>>2]=41052;V(r|0,1248,16)}else{d=Sj(b<<2)|0;break}else d=0;while(0);c[k>>2]=d;n=d+(f<<2)|0;j=k+8|0;c[j>>2]=n;h=k+4|0;c[h>>2]=n;c[i>>2]=d+(b<<2);c[g>>2]=Sj(4080)|0;ae(k,g);b=c[q>>2]|0;d=c[p>>2]|0;if((b|0)!=(d|0)){do{b=b+-4|0;be(k,b);d=c[p>>2]|0}while((b|0)!=(d|0));b=c[q>>2]|0}e=d;f=c[a>>2]|0;c[a>>2]=c[k>>2];c[k>>2]=f;c[p>>2]=c[h>>2];c[h>>2]=e;c[q>>2]=c[j>>2];c[j>>2]=b;a=c[o>>2]|0;c[o>>2]=c[i>>2];c[i>>2]=a;if((d|0)!=(b|0))c[j>>2]=b+(~((b+-4-e|0)>>>2)<<2);if(f|0)Tj(f);Dc=r;return}if((d|0)!=(b|0)){c[k>>2]=Sj(4080)|0;_d(a,k);Dc=r;return}c[k>>2]=Sj(4080)|0;$d(a,k);m=c[p>>2]|0;n=c[m>>2]|0;m=m+4|0;c[p>>2]=m;b=c[q>>2]|0;l=c[o>>2]|0;e=l;do if((b|0)==(l|0)){j=m;d=c[a>>2]|0;f=d;if(m>>>0>d>>>0){e=((j-f>>2)+1|0)/-2|0;f=m+(e<<2)|0;d=b-j|0;if(!d)b=f;else{yl(f|0,m|0,d|0)|0;b=(c[p>>2]|0)+(e<<2)|0}a=f+(d>>2<<2)|0;c[q>>2]=a;c[p>>2]=b;b=a;break}f=e-f|0;f=(f|0)==0?1:f>>1;g=f>>>2;do if(f)if(f>>>0>1073741823){r=Q(8)|0;Wj(r,47741);c[r>>2]=41052;V(r|0,1248,16)}else{h=Sj(f<<2)|0;break}else h=0;while(0);k=h;e=h+(g<<2)|0;l=e;i=h+(f<<2)|0;if((m|0)==(b|0))b=l;else{f=((b+-4-j|0)>>>2)+1|0;d=m;while(1){c[e>>2]=c[d>>2];d=d+4|0;if((d|0)==(b|0))break;else e=e+4|0}b=h+(f+g<<2)|0;d=c[a>>2]|0}c[a>>2]=k;c[p>>2]=l;c[q>>2]=b;c[o>>2]=i;if(d){Tj(d);b=c[q>>2]|0}}while(0);c[b>>2]=n;c[q>>2]=(c[q>>2]|0)+4;Dc=r;return}function _d(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+8|0;d=c[q>>2]|0;n=a+12|0;p=c[n>>2]|0;g=p;do if((d|0)==(p|0)){p=a+4|0;o=c[p>>2]|0;j=o;e=c[a>>2]|0;f=e;if(o>>>0>e>>>0){f=((j-f>>2)+1|0)/-2|0;g=o+(f<<2)|0;e=d-j|0;if(!e)d=g;else{yl(g|0,o|0,e|0)|0;d=(c[p>>2]|0)+(f<<2)|0}o=g+(e>>2<<2)|0;c[q>>2]=o;c[p>>2]=d;d=o;break}g=g-f|0;g=(g|0)==0?1:g>>1;h=g>>>2;do if(g)if(g>>>0>1073741823){q=Q(8)|0;Wj(q,47741);c[q>>2]=41052;V(q|0,1248,16)}else{i=Sj(g<<2)|0;break}else i=0;while(0);l=i;f=i+(h<<2)|0;m=f;k=i+(g<<2)|0;if((o|0)==(d|0))d=m;else{g=h+((d+-4-j|0)>>>2)+1|0;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(d|0))break;else f=f+4|0}d=i+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=l;c[p>>2]=m;c[q>>2]=d;c[n>>2]=k;if(e){Tj(e);d=c[q>>2]|0}}while(0);c[d>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+4;return}function $d(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+4|0;o=c[q>>2]|0;j=o;p=c[a>>2]|0;e=p;do if((o|0)==(p|0)){p=a+8|0;m=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;d=l;if(m>>>0>>0){e=m;g=((d-e>>2)+1|0)/2|0;f=m+(g<<2)|0;e=e-j|0;d=f+(0-(e>>2)<<2)|0;if(!e){d=f;e=f}else{yl(d|0,o|0,e|0)|0;e=(c[p>>2]|0)+(g<<2)|0}c[q>>2]=d;c[p>>2]=e;break}e=d-e|0;e=(e|0)==0?1:e>>1;f=(e+3|0)>>>2;do if(e)if(e>>>0>1073741823){q=Q(8)|0;Wj(q,47741);c[q>>2]=41052;V(q|0,1248,16)}else{h=Sj(e<<2)|0;break}else h=0;while(0);k=h;d=h+(f<<2)|0;l=d;i=h+(e<<2)|0;if((o|0)==(m|0)){f=l;e=o}else{g=((m+-4-j|0)>>>2)+f+1|0;f=d;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(m|0))break;else f=f+4|0}f=h+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=k;c[q>>2]=l;c[p>>2]=f;c[n>>2]=i;if(e){Tj(e);d=c[q>>2]|0}}else d=o;while(0);c[d+-4>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+-4;return}function ae(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+8|0;d=c[q>>2]|0;n=a+12|0;p=c[n>>2]|0;g=p;do if((d|0)==(p|0)){p=a+4|0;o=c[p>>2]|0;j=o;e=c[a>>2]|0;f=e;if(o>>>0>e>>>0){f=((j-f>>2)+1|0)/-2|0;g=o+(f<<2)|0;e=d-j|0;if(!e)d=g;else{yl(g|0,o|0,e|0)|0;d=(c[p>>2]|0)+(f<<2)|0}o=g+(e>>2<<2)|0;c[q>>2]=o;c[p>>2]=d;d=o;break}g=g-f|0;g=(g|0)==0?1:g>>1;h=g>>>2;do if(g)if(g>>>0>1073741823){q=Q(8)|0;Wj(q,47741);c[q>>2]=41052;V(q|0,1248,16)}else{i=Sj(g<<2)|0;break}else i=0;while(0);l=i;f=i+(h<<2)|0;m=f;k=i+(g<<2)|0;if((o|0)==(d|0))d=m;else{g=h+((d+-4-j|0)>>>2)+1|0;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(d|0))break;else f=f+4|0}d=i+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=l;c[p>>2]=m;c[q>>2]=d;c[n>>2]=k;if(e){Tj(e);d=c[q>>2]|0}}while(0);c[d>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+4;return}function be(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+4|0;o=c[q>>2]|0;j=o;p=c[a>>2]|0;e=p;do if((o|0)==(p|0)){p=a+8|0;m=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;d=l;if(m>>>0>>0){e=m;g=((d-e>>2)+1|0)/2|0;f=m+(g<<2)|0;e=e-j|0;d=f+(0-(e>>2)<<2)|0;if(!e){d=f;e=f}else{yl(d|0,o|0,e|0)|0;e=(c[p>>2]|0)+(g<<2)|0}c[q>>2]=d;c[p>>2]=e;break}e=d-e|0;e=(e|0)==0?1:e>>1;f=(e+3|0)>>>2;do if(e)if(e>>>0>1073741823){q=Q(8)|0;Wj(q,47741);c[q>>2]=41052;V(q|0,1248,16)}else{h=Sj(e<<2)|0;break}else h=0;while(0);k=h;d=h+(f<<2)|0;l=d;i=h+(e<<2)|0;if((o|0)==(m|0)){f=l;e=o}else{g=((m+-4-j|0)>>>2)+f+1|0;f=d;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(m|0))break;else f=f+4|0}f=h+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=k;c[q>>2]=l;c[p>>2]=f;c[n>>2]=i;if(e){Tj(e);d=c[q>>2]|0}}else d=o;while(0);c[d+-4>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+-4;return}function ce(a){a=a|0;var b=0,d=0,e=0,f=0;fe(a);d=a+4|0;b=c[d>>2]|0;f=a+8|0;e=c[f>>2]|0;if((b|0)!=(e|0)){do{Tj(c[b>>2]|0);b=b+4|0}while((b|0)!=(e|0));b=c[d>>2]|0;d=c[f>>2]|0;if((d|0)!=(b|0))c[f>>2]=d+(~((d+-4-b|0)>>>2)<<2)}b=c[a>>2]|0;if(!b)return;Tj(b);return}function de(b){b=b|0;if(a[b+36>>0]|0)return;b=c[b+8>>2]|0;if(!b)return;Di(b);return}function ee(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=a+20|0;g=c[f>>2]|0;if(!g){d=a+8|0;b=c[d>>2]|0;e=a+4|0;if((b|0)!=(c[e>>2]|0))do{Tj(c[b+-4>>2]|0);b=(c[d>>2]|0)+-4|0;c[d>>2]=b}while((c[e>>2]|0)!=(b|0));c[a+16>>2]=0;ge(a);return}b=a+16|0;e=c[b>>2]|0;d=a+4|0;if(e>>>0>203){Tj(c[c[d>>2]>>2]|0);h=(c[d>>2]|0)+4|0;c[d>>2]=h;e=(c[b>>2]|0)+-204|0;c[b>>2]=e;g=c[f>>2]|0}else h=c[d>>2]|0;b=a+8|0;d=c[b>>2]|0;h=d-h|0;if((((h|0)==0?0:((h>>2)*204|0)+-1|0)-(g+e)|0)>>>0<=203){ge(a);return}Tj(c[d+-4>>2]|0);c[b>>2]=(c[b>>2]|0)+-4;ge(a);return}function fe(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=b+4|0;e=c[l>>2]|0;m=b+16|0;g=c[m>>2]|0;d=(g>>>0)/204|0;h=e+(d<<2)|0;j=b+8|0;n=c[j>>2]|0;f=n;i=e;if((n|0)!=(e|0)){d=(c[h>>2]|0)+((g-(d*204|0)|0)*20|0)|0;b=b+20|0;n=(c[b>>2]|0)+g|0;g=(n>>>0)/204|0;g=(c[e+(g<<2)>>2]|0)+((n-(g*204|0)|0)*20|0)|0;if((g|0)==(d|0)){d=b;k=5}else{f=h;while(1){e=d+4|0;if((a[e+11>>0]|0)<0)Tj(c[e>>2]|0);d=d+20|0;if((d-(c[f>>2]|0)|0)==4080){d=f+4|0;e=d;d=c[d>>2]|0}else e=f;if((g|0)==(d|0))break;else f=e}e=c[l>>2]|0;g=j;f=c[j>>2]|0;d=e}}else{d=b+20|0;k=5}if((k|0)==5){g=j;b=d;d=i}c[b>>2]=0;d=f-d>>2;if(d>>>0>2)do{Tj(c[e>>2]|0);e=(c[l>>2]|0)+4|0;c[l>>2]=e;d=(c[g>>2]|0)-e>>2}while(d>>>0>2);switch(d|0){case 1:{d=102;break}case 2:{d=204;break}default:return}c[m>>2]=d;return}function ge(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;j=a+12|0;i=c[a>>2]|0;k=a+8|0;h=c[k>>2]|0;l=a+4|0;f=c[l>>2]|0;d=h-f|0;e=d>>2;b=i;if((c[j>>2]|0)-i>>2>>>0<=e>>>0)return;do if(d)if(e>>>0>1073741823){l=Q(8)|0;Wj(l,47741);c[l>>2]=41052;V(l|0,1248,16)}else{g=Sj(d)|0;break}else g=0;while(0);i=g;e=g+(e<<2)|0;if((f|0)==(h|0))d=e;else{d=g;b=f;while(1){c[d>>2]=c[b>>2];b=b+4|0;if((b|0)==(h|0))break;else d=d+4|0}d=g+((c[k>>2]|0)-(c[l>>2]|0)>>2<<2)|0;b=c[a>>2]|0}c[a>>2]=i;c[l>>2]=i;c[k>>2]=d;c[j>>2]=e;if(!b)return;Tj(b);return}function he(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Dc;Dc=Dc+16|0;f=e;a=c[a>>2]|0;b=Ba(b|0)|0;c[f>>2]=c[d>>2];d=Ga(1392,f|0)|0;Fa(a|0,b|0,d|0);ua(d|0);ua(b|0);Dc=e;return}function ie(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Dc;Dc=Dc+16|0;f=e;a=c[a>>2]|0;b=Ba(b|0)|0;c[f>>2]=c[d>>2];d=Ga(1392,f|0)|0;Fa(a|0,b|0,d|0);ua(d|0);ua(b|0);Dc=e;return}function je(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Dc;Dc=Dc+16|0;f=e;a=c[a>>2]|0;b=Ba(b|0)|0;c[f>>2]=c[d>>2];d=Ga(1400,f|0)|0;Fa(a|0,b|0,d|0);ua(d|0);ua(b|0);Dc=e;return}function ke(a){a=a|0;return c[(c[a>>2]|0)+-4>>2]|0}function le(a){a=a|0;if(!a)return;Wc[c[(c[a>>2]|0)+4>>2]&31](a);return}function me(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=Dc;Dc=Dc+16|0;h=j;f=c[b>>2]|0;b=c[b+4>>2]|0;g=d+(b>>1)|0;if(b&1)f=c[(c[g>>2]|0)+f>>2]|0;d=e+4|0;e=c[e>>2]|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;if(e>>>0>4294967279)Yj(h);if(e>>>0<11){a[h+11>>0]=e;if(!e)b=h;else{b=h;i=9}}else{i=e+16&-16;b=Sj(i)|0;c[h>>2]=b;c[h+8>>2]=i|-2147483648;c[h+4>>2]=e;i=9}if((i|0)==9)xl(b|0,d|0,e|0)|0;a[b+e>>0]=0;$c[f&31](g,h);if((a[h+11>>0]|0)>=0){Dc=j;return}Tj(c[h>>2]|0);Dc=j;return}function ne(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=Dc;Dc=Dc+16|0;f=g;e=c[a>>2]|0;h=c[a+4>>2]|0;a=b+(h>>1)|0;if(h&1)e=c[(c[a>>2]|0)+e>>2]|0;c[f>>2]=d;$c[e&31](a,f);ua(c[f>>2]|0);Dc=g;return}function oe(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a>>2]|0;e=c[a+4>>2]|0;a=b+(e>>1)|0;if(!(e&1)){e=d;Wc[e&31](a);return}else{e=c[(c[a>>2]|0)+d>>2]|0;Wc[e&31](a);return}}function pe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=Dc;Dc=Dc+16|0;e=f;d=c[a>>2]|0;g=c[a+4>>2]|0;a=b+(g>>1)|0;if(g&1)d=c[(c[a>>2]|0)+d>>2]|0;$c[d&31](e,a);ya(c[e>>2]|0);g=c[e>>2]|0;ua(g|0);Dc=f;return g|0}function qe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=Dc;Dc=Dc+16|0;f=g;e=c[a>>2]|0;h=c[a+4>>2]|0;a=b+(h>>1)|0;if(h&1)e=c[(c[a>>2]|0)+e>>2]|0;c[f>>2]=d;$c[e&31](a,f);ua(c[f>>2]|0);Dc=g;return}function re(b,d){b=b|0;d=d|0;var e=0;e=Sj(22936)|0;Ce(e,d);a[e+22928>>0]=0;c[e+22932>>2]=c[b>>2];c[b>>2]=0;c[e>>2]=1540;return e|0}function se(b,d,e){b=b|0;d=d|0;e=e|0;c[b>>2]=aa(((a[d+11>>0]|0)<0?c[d>>2]|0:d)|0,664,c[e>>2]|0)|0;return}function te(a){a=a|0;return c[(c[a>>2]|0)+-4>>2]|0}function ue(a){a=a|0;if(!a)return;Wc[c[(c[a>>2]|0)+4>>2]&31](a);return}function ve(a){a=a|0;return a|0}function we(a){a=a|0;return a|0}function xe(a,b){a=a|0;b=b|0;Wc[c[a>>2]&31](b);return}function ye(b){b=b|0;a[b+22928>>0]=1;return}function ze(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=Dc;Dc=Dc+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;d=Jc[a&3](f,g)|0;ua(c[g>>2]|0);ua(c[f>>2]|0);Dc=e;return d|0}function Ae(b){b=b|0;var d=0,e=0,f=0,g=0;g=Dc;Dc=Dc+16|0;e=g;c[b>>2]=1556;d=b+22932|0;if(!(a[b+22928>>0]|0)){f=c[d>>2]|0;ua(f|0);Ge(b);Dc=g;return}f=c[d>>2]|0;if((a[56560]|0)==0?cl(56560)|0:0)c[14154]=wa(1,1440)|0;ta(c[14154]|0,f|0,48485,e|0);f=c[d>>2]|0;ua(f|0);Ge(b);Dc=g;return}function Be(a){a=a|0;Ae(a);Tj(a);return}function Ce(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=Dc;Dc=Dc+16|0;h=f+8|0;i=f;c[d>>2]=1572;g=d+4|0;c[g>>2]=c[e>>2];c[e>>2]=0;a[d+8>>0]=0;e=d+12|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[d+32>>2]=0;e=d+22696|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;th(d+40|0);uh(d+104|0);vh(d+9372|0);c[i>>2]=48270;_a(0,i|0);c[h>>2]=48255;c[h+4>>2]=d+28;_a(0,h|0);Ee(d+22728|0);e=d+22864|0;c[d+22892>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;a[e+24>>0]=0;a[d+22896>>0]=1;a[d+22897>>0]=1;e=d+22900|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;c[d+22912>>2]=12;c[d+22732>>2]=g;Dc=f;return}function De(a){a=a|0;Ae(a);Tj(a);return}function Ee(b){b=b|0;var d=0,e=0,f=0;f=Dc;Dc=Dc+16|0;e=f+8|0;d=f;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+32>>2]=0;a[b+36>>0]=0;c[b>>2]=1588;if(!(ih(b+40|0,0)|0)){c[b+132>>2]=1;c[b+128>>2]=1;c[e>>2]=48311;_a(0,e|0);Dc=f;return}else{c[d>>2]=48280;_a(0,d|0);Dc=f;return}}function Fe(b){b=b|0;var d=0,e=0,f=0;e=Dc;Dc=Dc+16|0;d=e+8|0;f=e;c[f>>2]=48417;_a(0,f|0);Di(c[b+8>>2]|0);c[d>>2]=48440;_a(0,d|0);xh(b+76|0);d=b+22684|0;if((a[d+11>>0]|0)<0)Tj(c[d>>2]|0);b=b+22668|0;if((a[b+11>>0]|0)>=0){Dc=e;return}Tj(c[b>>2]|0);Dc=e;return}function Ge(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=Dc;Dc=Dc+16|0;g=i+8|0;d=i;c[b>>2]=1572;f=va(48011)|0;c[d>>2]=c[b+22892>>2];ua(ra(f|0,1,1476,d|0)|0);ua(f|0);c[g>>2]=48464;_a(0,g|0);g=b+22864|0;fe(g);f=b+22868|0;d=c[f>>2]|0;h=b+22872|0;e=c[h>>2]|0;if((d|0)!=(e|0)){do{Tj(c[d>>2]|0);d=d+4|0}while((d|0)!=(e|0));d=c[f>>2]|0;e=c[h>>2]|0;if((e|0)!=(d|0))c[h>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=c[g>>2]|0;if(d|0)Tj(d);Je(b+22728|0);Fe(b+28|0);d=b+12|0;if((a[d+11>>0]|0)>=0){b=b+4|0;b=c[b>>2]|0;ua(b|0);Dc=i;return}Tj(c[d>>2]|0);b=b+4|0;b=c[b>>2]|0;ua(b|0);Dc=i;return}function He(a){a=a|0;Ge(a);Tj(a);return}function Ie(b){b=b|0;var d=0;xh(b+64|0);d=b+22672|0;if((a[d+11>>0]|0)<0)Tj(c[d>>2]|0);b=b+22656|0;if((a[b+11>>0]|0)>=0)return;Tj(c[b>>2]|0);return}function Je(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=Dc;Dc=Dc+16|0;g=h;c[b>>2]=1588;d=b+40|0;e=c[d>>2]|0;if(e|0){jh(e);c[d>>2]=0}c[b>>2]=1620;if((a[b+36>>0]|0)==0?(f=c[b+8>>2]|0,f|0):0)Di(f);c[g>>2]=48346;_a(0,g|0);Dc=h;return}function Ke(a){a=a|0;Je(a);Tj(a);return}function Le(a,b,d){a=a|0;b=b|0;d=d|0;c[a+44>>2]=b;b=a+48|0;c[b>>2]=d;do Oe(a)|0;while((c[b>>2]|0)!=0);return}function Me(b){b=b|0;var d=0,e=0,f=0;f=Dc;Dc=Dc+16|0;e=f;c[b>>2]=1620;if((a[b+36>>0]|0)==0?(d=c[b+8>>2]|0,d|0):0)Di(d);c[e>>2]=48346;_a(0,e|0);Dc=f;return}function Ne(a){a=a|0;ob()}function Oe(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=Dc;Dc=Dc+16|0;g=u+8|0;s=u;t=b+40|0;e=b+44|0;f=b+60|0;d=lh(c[t>>2]|0,e,f)|0;switch(d|0){case 4:{if(kh(c[t>>2]|0,b+80|0)|0){t=-1;Dc=u;return t|0}Pe(b,c[b+84>>2]|0,c[b+88>>2]|0);t=c[f>>2]|0;s=b+48|0;c[s>>2]=(c[e>>2]|0)-t+(c[s>>2]|0);c[e>>2]=t;t=0;Dc=u;return t|0}case 3:{r=c[f>>2]|0;q=b+48|0;c[q>>2]=(c[e>>2]|0)-r+(c[q>>2]|0);c[e>>2]=r;break}case 1:case -2:{c[b+48>>2]=0;t=d;Dc=u;return t|0}case 2:{c[b+48>>2]=0;break}default:{c[g>>2]=48370;c[g+4>>2]=0-d;_a(0,g|0);c[b+48>>2]=0;t=d;Dc=u;return t|0}}h=b+128|0;c[h>>2]=(c[h>>2]|0)+1;h=b+64|0;if((mh(c[t>>2]|0,h,0)|0)!=2){t=d;Dc=u;return t|0}i=b+132|0;j=b+20|0;k=b+84|0;l=b+88|0;m=b+24|0;n=b+28|0;o=b+36|0;p=b+8|0;q=b+12|0;r=b+16|0;b=b+4|0;do{c[i>>2]=(c[i>>2]|0)+1;e=c[h>>2]|0;c[j>>2]=e;g=v(c[l>>2]|0,c[k>>2]|0)|0;f=g+e|0;c[m>>2]=f;g=f+(g>>>2)|0;c[n>>2]=g;if(!(a[o>>0]|0))Qe(e,f,g,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0);e=c[c[b>>2]>>2]|0;if((a[56560]|0)==0?cl(56560)|0:0)c[14154]=wa(1,1440)|0;ta(c[14154]|0,e|0,48412,s|0)}while((mh(c[t>>2]|0,h,0)|0)==2);Dc=u;return d|0}function Pe(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=Dc;Dc=Dc+32|0;h=i;f=b+12|0;c[f>>2]=d;g=b+16|0;c[g>>2]=e;c[h>>2]=48386;c[h+4>>2]=d;c[h+8>>2]=e;_a(0,h|0);if(!(a[b+36>>0]|0)){e=c[g>>2]|0;e=(v(e<<2,e)|0)+33554432|0;e=Ci((e>>>0>16777216?e:16777216)+16777215&-16777216)|0;c[b+8>>2]=e;d=c[c[b+4>>2]>>2]|0;if((a[56608]|0)==0?cl(56608)|0:0)c[14160]=wa(4,48)|0;b=c[14160]|0;c[h>>2]=c[f>>2];c[h+8>>2]=c[g>>2];c[h+16>>2]=e;ta(b|0,d|0,48399,h|0);Dc=i;return}else{e=b+20|0;c[b+8>>2]=e;e=e>>2;d=c[c[b+4>>2]>>2]|0;if((a[56608]|0)==0?cl(56608)|0:0)c[14160]=wa(4,48)|0;b=c[14160]|0;c[h>>2]=c[f>>2];c[h+8>>2]=c[g>>2];c[h+16>>2]=e;ta(b|0,d|0,48399,h|0);Dc=i;return}}function Qe(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,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;F=g<<2;G=f+(v(F,h)|0)|0;if(!h)return;B=(g|0)==0;E=(g+-1|0)>>>1;C=(E<<3)+8|0;D=g+1&-2;E=E+1|0;j=0;A=0;k=0;i=0;l=0;while(1){if(!B){y=C+j|0;z=E+i|0;x=0;w=k;u=l;while(1){n=d[a+u>>0]|0;p=d[a+(u+g)>>0]|0;s=d[b+i>>0]|0;t=d[e+w>>0]|0;r=s<<8|t;o=G+(r|n<<16)|0;m=c[o>>2]|0;if(!m){J=(n*1192|0)+-19072|0;H=t+-128|0;m=s+-128|0;q=(H*1634|0)+J>>10;H=(v(m,-400)|0)+J+(v(H,-832)|0)>>10;J=(m*2066|0)+J>>10;m=(q|0)>0?q:0;n=(H|0)>0?H:0;I=(J|0)>0?J:0;m=((((J&255|0)==(J|0)?J:(I|0)<255?I:255)<<8)+16711680+((H&255|0)==(H|0)?H:(n|0)<255?n:255)<<8)+((q&255|0)==(q|0)?q:(m|0)<255?m:255)|0;c[o>>2]=m}c[f+j>>2]=m;n=G+(r|p<<16)|0;m=c[n>>2]|0;if(!m){p=(p*1192|0)+-19072|0;H=t+-128|0;m=s+-128|0;J=(H*1634|0)+p>>10;H=(v(m,-400)|0)+p+(v(H,-832)|0)>>10;p=(m*2066|0)+p>>10;m=(J|0)>0?J:0;I=(H|0)>0?H:0;q=(p|0)>0?p:0;m=((((p&255|0)==(p|0)?p:(q|0)<255?q:255)<<8)+16711680+((H&255|0)==(H|0)?H:(I|0)<255?I:255)<<8)+((J&255|0)==(J|0)?J:(m|0)<255?m:255)|0;c[n>>2]=m}c[f+(j+F)>>2]=m;q=j+4|0;p=u+1|0;n=d[a+p>>0]|0;p=d[a+(p+g)>>0]|0;o=G+(r|n<<16)|0;m=c[o>>2]|0;if(!m){m=(n*1192|0)+-19072|0;H=t+-128|0;K=s+-128|0;J=m+(H*1634|0)>>10;H=(v(H,-832)|0)+(v(K,-400)|0)+m>>10;K=m+(K*2066|0)>>10;m=(J|0)>0?J:0;I=(H|0)>0?H:0;n=(K|0)>0?K:0;m=((((K&255|0)==(K|0)?K:(n|0)<255?n:255)<<8)+16711680+((H&255|0)==(H|0)?H:(I|0)<255?I:255)<<8)+((J&255|0)==(J|0)?J:(m|0)<255?m:255)|0;c[o>>2]=m}c[f+q>>2]=m;n=G+(r|p<<16)|0;m=c[n>>2]|0;if(!m){m=(p*1192|0)+-19072|0;I=t+-128|0;t=s+-128|0;K=m+(I*1634|0)>>10;I=(v(I,-832)|0)+(v(t,-400)|0)+m>>10;t=m+(t*2066|0)>>10;m=(K|0)>0?K:0;J=(I|0)>0?I:0;H=(t|0)>0?t:0;m=((((t&255|0)==(t|0)?t:(H|0)<255?H:255)<<8)+16711680+((I&255|0)==(I|0)?I:(J|0)<255?J:255)<<8)+((K&255|0)==(K|0)?K:(m|0)<255?m:255)|0;c[n>>2]=m}c[f+(q+F)>>2]=m;x=x+2|0;if(x>>>0>=g>>>0)break;else{j=j+8|0;w=w+1|0;i=i+1|0;u=u+2|0}}l=D+l|0;j=y;k=E+k|0;i=z}A=A+2|0;if(A>>>0>=h>>>0)break;else{j=j+F|0;l=l+g|0}}return}function Re(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=Dc;Dc=Dc+32|0;h=l+16|0;j=l+4|0;k=l;f=d+4|0;g=c[d>>2]|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;if(g>>>0>4294967279)Yj(j);if(g>>>0<11){a[j+11>>0]=g;if(!g)d=j;else{d=j;i=6}}else{i=g+16&-16;d=Sj(i)|0;c[j>>2]=d;c[j+8>>2]=i|-2147483648;c[j+4>>2]=g;i=6}if((i|0)==6)xl(d|0,f|0,g|0)|0;a[d+g>>0]=0;c[k>>2]=e;cd[b&7](h,j,k);ya(c[h>>2]|0);d=c[h>>2]|0;ua(d|0);ua(c[k>>2]|0);if((a[j+11>>0]|0)>=0){Dc=l;return d|0}Tj(c[j>>2]|0);Dc=l;return d|0}function Se(){rd(0);return}function Te(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0;g=d[49776+b>>0]|0;r=d[49828+b>>0]|0;b=c[1992+(r*12|0)>>2]<>2]<>2]<>2]=v(c[a>>2]|0,b)|0;do if(!(f&65436)){if(f&98|0){j=a+4|0;l=v(c[j>>2]|0,h)|0;m=a+20|0;o=v(c[m>>2]|0,b)|0;n=a+24|0;q=v(c[n>>2]|0,h)|0;k=c[a>>2]|0;r=k+o|0;o=k-o|0;k=(l>>1)-q|0;l=(q>>1)+l|0;q=l+32+r>>6;c[a>>2]=q;p=k+32+o>>6;c[j>>2]=p;o=32-k+o>>6;c[a+8>>2]=o;r=32-l+r>>6;c[a+12>>2]=r;c[a+48>>2]=q;c[a+32>>2]=q;c[a+16>>2]=q;c[a+52>>2]=p;c[a+36>>2]=p;c[m>>2]=p;c[a+56>>2]=o;c[a+40>>2]=o;c[n>>2]=o;c[a+60>>2]=r;c[a+44>>2]=r;c[a+28>>2]=r;if((o+512|p+512|q+512|r+512)>>>0>1023)b=1;else break;return b|0}b=(c[a>>2]|0)+32>>6;if((b+512|0)>>>0>1023){a=1;return a|0}else{c[a+60>>2]=b;c[a+56>>2]=b;c[a+52>>2]=b;c[a+48>>2]=b;c[a+44>>2]=b;c[a+40>>2]=b;c[a+36>>2]=b;c[a+32>>2]=b;c[a+28>>2]=b;c[a+24>>2]=b;c[a+20>>2]=b;c[a+16>>2]=b;c[a+12>>2]=b;c[a+8>>2]=b;c[a+4>>2]=b;c[a>>2]=b;break}}else{n=a+4|0;f=a+56|0;t=a+60|0;z=c[t>>2]|0;o=v(c[n>>2]|0,h)|0;c[f>>2]=v(c[f>>2]|0,h)|0;c[t>>2]=v(z,g)|0;t=a+8|0;z=a+16|0;f=v(c[t>>2]|0,h)|0;w=v(c[a+20>>2]|0,b)|0;p=v(c[z>>2]|0,g)|0;x=a+32|0;A=a+12|0;q=v(c[x>>2]|0,h)|0;l=v(c[A>>2]|0,b)|0;s=v(c[a+24>>2]|0,h)|0;u=a+48|0;k=v(c[a+28>>2]|0,h)|0;i=v(c[u>>2]|0,g)|0;e=v(c[a+36>>2]|0,h)|0;r=v(c[a+40>>2]|0,g)|0;B=v(c[a+44>>2]|0,b)|0;y=v(c[a+52>>2]|0,h)|0;j=c[a>>2]|0;g=w+j|0;w=j-w|0;j=(o>>1)-s|0;o=(s>>1)+o|0;s=o+g|0;b=j+w|0;c[n>>2]=b;j=w-j|0;c[t>>2]=j;o=g-o|0;c[A>>2]=o;A=k+f|0;g=f-k|0;k=(p>>1)-i|0;p=(i>>1)+p|0;i=p+A|0;f=k+g|0;c[a+20>>2]=f;k=g-k|0;c[a+24>>2]=k;p=A-p|0;c[a+28>>2]=p;A=B+l|0;B=l-B|0;l=(q>>1)-y|0;q=(y>>1)+q|0;y=q+A|0;g=l+B|0;c[a+36>>2]=g;l=B-l|0;c[a+40>>2]=l;q=A-q|0;c[a+44>>2]=q;A=a+56|0;B=c[A>>2]|0;t=B+e|0;B=e-B|0;e=a+60|0;w=c[e>>2]|0;m=(r>>1)-w|0;r=(w>>1)+r|0;w=r+t|0;h=m+B|0;c[a+52>>2]=h;m=B-m|0;c[A>>2]=m;r=t-r|0;c[e>>2]=r;e=(i>>1)-w|0;i=(w>>1)+i|0;w=y+s+32|0;t=w+i>>6;c[a>>2]=t;y=s-y+32|0;s=y+e>>6;c[z>>2]=s;e=y-e>>6;c[x>>2]=e;i=w-i>>6;c[u>>2]=i;if((t+512|s+512)>>>0>1023){B=1;return B|0}if((i+512|e+512)>>>0>1023){B=1;return B|0}y=(f>>1)-h|0;f=(h>>1)+f|0;z=g+b+32|0;A=z+f>>6;c[n>>2]=A;b=b-g+32|0;B=b+y>>6;c[a+20>>2]=B;b=b-y>>6;c[a+36>>2]=b;f=z-f>>6;c[a+52>>2]=f;if((A+512|B+512)>>>0>1023){B=1;return B|0}if((f+512|b+512)>>>0>1023){B=1;return B|0}b=(k>>1)-m|0;f=(m>>1)+k|0;z=l+j+32|0;A=z+f>>6;c[a+8>>2]=A;y=j-l+32|0;B=y+b>>6;c[a+24>>2]=B;b=y-b>>6;c[a+40>>2]=b;f=z-f>>6;c[a+56>>2]=f;if((A+512|B+512)>>>0>1023){B=1;return B|0}if((f+512|b+512)>>>0>1023){B=1;return B|0}b=(p>>1)-r|0;f=(r>>1)+p|0;z=q+o+32|0;A=z+f>>6;c[a+12>>2]=A;y=o-q+32|0;B=y+b>>6;c[a+28>>2]=B;b=y-b>>6;c[a+44>>2]=b;f=z-f>>6;c[a+60>>2]=f;if((A+512|B+512)>>>0>1023){B=1;return B|0}if((f+512|b+512)>>>0>1023){B=1;return B|0}}while(0);B=0;return B|0}function Ue(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;e=a[49828+d>>0]|0;r=a[49776+d>>0]|0;C=b+8|0;t=c[C>>2]|0;i=c[b+20>>2]|0;p=b+16|0;y=c[p>>2]|0;q=b+32|0;z=c[q>>2]|0;D=b+12|0;u=c[D>>2]|0;f=c[b+24>>2]|0;l=c[b+28>>2]|0;n=b+48|0;g=c[n>>2]|0;B=c[b+36>>2]|0;A=c[b+40>>2]|0;E=c[b+44>>2]|0;h=c[b+52>>2]|0;o=c[b>>2]|0;k=i+o|0;i=o-i|0;o=b+4|0;x=c[o>>2]|0;s=x-f|0;x=f+x|0;f=x+k|0;c[b>>2]=f;j=s+i|0;c[o>>2]=j;s=i-s|0;c[C>>2]=s;x=k-x|0;c[D>>2]=x;D=l+t|0;l=t-l|0;t=y-g|0;y=g+y|0;g=y+D|0;c[p>>2]=g;k=t+l|0;c[b+20>>2]=k;t=l-t|0;c[b+24>>2]=t;y=D-y|0;c[b+28>>2]=y;D=E+u|0;E=u-E|0;u=z-h|0;z=h+z|0;h=z+D|0;c[b+32>>2]=h;l=u+E|0;c[b+36>>2]=l;u=E-u|0;c[b+40>>2]=u;z=D-z|0;c[b+44>>2]=z;D=b+56|0;E=c[D>>2]|0;C=E+B|0;E=B-E|0;B=b+60|0;i=c[B>>2]|0;w=A-i|0;A=i+A|0;i=A+C|0;c[b+48>>2]=i;m=w+E|0;c[b+52>>2]=m;w=E-w|0;c[D>>2]=w;A=C-A|0;c[B>>2]=A;r=r&255;e=c[1992+((e&255)*12|0)>>2]|0;if(d>>>0>11){E=e<>2]=v(D+d|0,E)|0;c[p>>2]=v(C+B|0,E)|0;c[q>>2]=v(B-C|0,E)|0;c[n>>2]=v(d-D|0,E)|0;D=l+j|0;d=j-l|0;C=k-m|0;B=m+k|0;c[o>>2]=v(B+D|0,E)|0;c[b+20>>2]=v(C+d|0,E)|0;c[b+36>>2]=v(d-C|0,E)|0;c[b+52>>2]=v(D-B|0,E)|0;B=u+s|0;u=s-u|0;D=t-w|0;C=w+t|0;c[b+8>>2]=v(C+B|0,E)|0;c[b+24>>2]=v(D+u|0,E)|0;c[b+40>>2]=v(u-D|0,E)|0;c[b+56>>2]=v(B-C|0,E)|0;C=z+x|0;z=x-z|0;B=y-A|0;D=A+y|0;c[b+12>>2]=v(D+C|0,E)|0;c[b+28>>2]=v(B+z|0,E)|0;c[b+44>>2]=v(z-B|0,E)|0;c[b+60>>2]=v(C-D|0,E)|0;return}else{D=(d+-6|0)>>>0<6?1:2;E=2-r|0;r=h+f|0;C=f-h|0;d=g-i|0;B=i+g|0;c[b>>2]=(v(B+r|0,e)|0)+D>>E;c[p>>2]=(v(d+C|0,e)|0)+D>>E;c[q>>2]=(v(C-d|0,e)|0)+D>>E;c[n>>2]=(v(r-B|0,e)|0)+D>>E;B=l+j|0;r=j-l|0;d=k-m|0;C=m+k|0;c[o>>2]=(v(C+B|0,e)|0)+D>>E;c[b+20>>2]=(v(d+r|0,e)|0)+D>>E;c[b+36>>2]=(v(r-d|0,e)|0)+D>>E;c[b+52>>2]=(v(B-C|0,e)|0)+D>>E;C=u+s|0;s=s-u|0;u=t-w|0;B=w+t|0;c[b+8>>2]=(v(B+C|0,e)|0)+D>>E;c[b+24>>2]=(v(u+s|0,e)|0)+D>>E;c[b+40>>2]=(v(s-u|0,e)|0)+D>>E;c[b+56>>2]=(v(C-B|0,e)|0)+D>>E;B=z+x|0;x=x-z|0;z=y-A|0;C=A+y|0;c[b+12>>2]=(v(C+B|0,e)|0)+D>>E;c[b+28>>2]=(v(z+x|0,e)|0)+D>>E;c[b+44>>2]=(v(x-z|0,e)|0)+D>>E;c[b+60>>2]=(v(B-C|0,e)|0)+D>>E;return}}function Ve(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=c[1992+((d[49828+b>>0]|0)*12|0)>>2]|0;if(b>>>0>5){e=e<<(d[49776+b>>0]|0)+-1;b=0}else b=1;k=c[a>>2]|0;g=a+8|0;h=c[g>>2]|0;m=h+k|0;h=k-h|0;k=a+4|0;j=c[k>>2]|0;l=a+12|0;f=c[l>>2]|0;i=j-f|0;j=f+j|0;c[a>>2]=(v(j+m|0,e)|0)>>b;c[k>>2]=(v(m-j|0,e)|0)>>b;c[g>>2]=(v(i+h|0,e)|0)>>b;c[l>>2]=(v(h-i|0,e)|0)>>b;l=a+16|0;i=c[l>>2]|0;h=a+24|0;g=c[h>>2]|0;k=g+i|0;g=i-g|0;i=a+20|0;j=c[i>>2]|0;a=a+28|0;m=c[a>>2]|0;f=j-m|0;j=m+j|0;c[l>>2]=(v(j+k|0,e)|0)>>b;c[i>>2]=(v(k-j|0,e)|0)>>b;c[h>>2]=(v(f+g|0,e)|0)>>b;c[a>>2]=(v(g-f|0,e)|0)>>b;return}function We(a,b){a=a|0;b=b|0;var c=0;b=1<>>1}while((c|0)!=0&(c&a|0)==0);return b|0}function Xe(a){a=a|0;var b=0;b=8-(c[a+8>>2]|0)|0;a=Ye(a,b)|0;if((a|0)==-1){b=1;return b|0}b=(a|0)!=(c[2064+(b+-1<<2)>>2]|0)&1;return b|0}function Ye(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=a+4|0;i=c[m>>2]|0;l=c[a+12>>2]<<3;n=a+16|0;k=c[n>>2]|0;e=l-k|0;if((e|0)>31){e=a+8|0;g=c[e>>2]|0;f=(d[i+1>>0]|0)<<16|(d[i>>0]|0)<<24|(d[i+2>>0]|0)<<8|(d[i+3>>0]|0);if(!g)h=e;else{h=e;f=(d[i+4>>0]|0)>>>(8-g|0)|f<0){g=c[h>>2]|0;j=g+24|0;f=(d[i>>0]|0)<0){g=e;e=j;while(1){i=i+1|0;e=e+-8|0;f=(d[i>>0]|0)<>2]=e;c[h>>2]=e&7;if(e>>>0>l>>>0){n=-1;return n|0}c[m>>2]=(c[a>>2]|0)+(e>>>3);n=f>>>(32-b|0);return n|0}function Ze(a){a=a|0;var b=0;b=(c[a+12>>2]<<3)-(c[a+16>>2]|0)|0;if(!b){b=0;return b|0}if(b>>>0>8){b=1;return b|0}else return ((_e(a)|0)>>>(32-b|0)|0)!=(1<>2]|0;e=(c[a+12>>2]<<3)-(c[a+16>>2]|0)|0;if((e|0)>31){a=c[a+8>>2]|0;b=(d[f+1>>0]|0)<<16|(d[f>>0]|0)<<24|(d[f+2>>0]|0)<<8|(d[f+3>>0]|0);if(!a){f=b;return f|0}f=(d[f+4>>0]|0)>>>(8-a|0)|b<>2]|0;b=g+24|0;a=(d[f>>0]|0)<>0]|0)<>2]|0;d=d+1|0;a:do if(d>>>0>>0)do{if((c[a+(d<<2)>>2]|0)==(e|0))break a;d=d+1|0}while(d>>>0>>0);while(0);return ((d|0)==(b|0)?0:d)|0}function af(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[a+4>>2]|0;d=(b>>>0)%(f>>>0)|0;e=b-d|0;b=v(c[a+8>>2]|0,f)|0;f=c[a>>2]|0;c[a+12>>2]=f+(d<<4)+(e<<8);d=f+(b<<8)+(e<<6)+(d<<3)|0;c[a+16>>2]=d;c[a+20>>2]=d+(b<<6);return}function bf(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;do if(((e>>>0>3?(a[b>>0]|0)==0:0)?(a[b+1>>0]|0)==0:0)?(h=a[b+2>>0]|0,(h&255)<2):0){n=-3;p=3;k=b+3|0;i=2;while(1){if(h<<24>>24)if(h<<24>>24==1&i>>>0>1)break;else i=0;else i=i+1|0;j=p+1|0;if((j|0)==(e|0)){q=6;break}else{h=a[k>>0]|0;n=~p;p=j;k=k+1|0}}if((q|0)==6){c[g>>2]=e;q=1;return q|0}j=(a[k>>0]|0)!=0;l=0;m=p;i=0;o=(j^1)&1;while(1){m=m+1|0;k=k+1|0;h=j?0:o;i=j&o>>>0>2?1:i;if((m|0)==(e|0)){q=15;break}q=a[k>>0]|0;j=q<<24>>24!=0;o=h+((j^1)&1)|0;h=q<<24>>24==3&(o|0)==2?1:l;if(q<<24>>24==1&o>>>0>1){q=13;break}else l=h}if((q|0)==13){m=n+m-o|0;n=f+12|0;c[n>>2]=m;l=h;j=p;h=o-(o>>>0<3?o:3)|0;break}else if((q|0)==15){m=n+e-h|0;n=f+12|0;c[n>>2]=m;j=p;break}}else q=16;while(0);if((q|0)==16){n=f+12|0;c[n>>2]=e;m=e;l=1;j=0;i=0;h=0}k=b+j|0;c[f>>2]=k;c[f+4>>2]=k;c[f+8>>2]=0;c[f+16>>2]=0;c[g>>2]=h+j+m;if(i|0){q=1;return q|0}if(!l){q=0;return q|0}h=c[n>>2]|0;do if(h){i=k;l=k;j=0;a:while(1){h=h+-1|0;k=a[i>>0]|0;do if((j|0)==2){if(k<<24>>24!=3)if((k&255)<3){h=1;q=30;break a}else{q=26;break}if(!h){h=1;q=30;break a}i=i+1|0;if((d[i>>0]|0)>3){h=1;q=30;break a}else j=0}else q=26;while(0);if((q|0)==26){q=0;a[l>>0]=k;i=i+1|0;l=l+1|0;j=k<<24>>24==0?j+1|0:0}if(!h){q=28;break}}if((q|0)==28){j=c[n>>2]|0;h=l;break}else if((q|0)==30)return h|0}else{j=0;i=k;h=k}while(0);c[n>>2]=h-i+j;q=0;return q|0}function cf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=Dc;Dc=Dc+16|0;n=o;df(b,0,92);d=Ye(a,8)|0;a:do if((((d|0)!=-1?(c[b>>2]=d,Ye(a,1)|0,Ye(a,1)|0,(Ye(a,1)|0)!=-1):0)?(Ye(a,5)|0)!=-1:0)?(e=Ye(a,8)|0,(e|0)!=-1):0){m=b+4|0;c[m>>2]=e;e=b+8|0;d=ef(a,e)|0;if(!d)if((c[e>>2]|0)>>>0<=31){d=ef(a,n)|0;if(!d){d=c[n>>2]|0;if(d>>>0<=12){c[b+12>>2]=1<>2]|0;if(d>>>0<=2){c[b+16>>2]=d;b:do switch(d|0){case 0:{d=ef(a,n)|0;if(d|0)break a;d=c[n>>2]|0;if(d>>>0>12){d=1;break a}c[b+20>>2]=1<>2]=(d|0)==1&1;d=ff(a,b+28|0)|0;if(d|0)break a;d=ff(a,b+32|0)|0;if(d|0)break a;g=b+36|0;d=ef(a,g)|0;if(d|0)break a;d=c[g>>2]|0;if(d>>>0>255){d=1;break a}if(!d){c[b+40>>2]=0;break b}d=gf(4,d)|0;f=b+40|0;c[f>>2]=d;if(!d){d=65535;break a}if(c[g>>2]|0){d=ff(a,d)|0;if(d|0)break a;e=1;while(1){if(e>>>0>=(c[g>>2]|0)>>>0)break b;d=ff(a,(c[f>>2]|0)+(e<<2)|0)|0;if(!d)e=e+1|0;else break a}}break}default:{}}while(0);l=b+44|0;d=ef(a,l)|0;if(!d)if((c[l>>2]|0)>>>0<=16?(h=Ye(a,1)|0,(h|0)!=-1):0){c[b+48>>2]=(h|0)==1&1;d=ef(a,n)|0;if(!d){j=b+52|0;c[j>>2]=(c[n>>2]|0)+1;d=ef(a,n)|0;if(!d){i=b+56|0;c[i>>2]=(c[n>>2]|0)+1;switch(Ye(a,1)|0){case 0:case -1:{d=1;break a}default:{}}if((Ye(a,1)|0)!=-1?(k=Ye(a,1)|0,(k|0)!=-1):0){k=(k|0)==1;c[b+60>>2]=k&1;if(k){h=b+64|0;d=ef(a,h)|0;if(d|0)break;e=b+68|0;d=ef(a,e)|0;if(d|0)break;g=b+72|0;d=ef(a,g)|0;if(d|0)break;f=b+76|0;d=ef(a,f)|0;if(d|0)break;d=c[j>>2]|0;if((c[h>>2]|0)>((d<<3)+~c[e>>2]|0)){d=1;break}e=c[i>>2]|0;if((c[g>>2]|0)>((e<<3)+~c[f>>2]|0)){d=1;break}}else{e=c[i>>2]|0;d=c[j>>2]|0}f=v(e,d)|0;do switch(c[m>>2]|0){case 10:{d=99;e=152064;g=59;break}case 11:{d=396;e=345600;g=59;break}case 12:{d=396;e=912384;g=59;break}case 13:{d=396;e=912384;g=59;break}case 20:{d=396;e=912384;g=59;break}case 21:{d=792;e=1824768;g=59;break}case 22:{d=1620;e=3110400;g=59;break}case 30:{d=1620;e=3110400;g=59;break}case 31:{d=3600;e=6912e3;g=59;break}case 32:{d=5120;e=7864320;g=59;break}case 40:{d=8192;e=12582912;g=59;break}case 41:{d=8192;e=12582912;g=59;break}case 42:{d=8704;e=13369344;g=59;break}case 50:{d=22080;e=42393600;g=59;break}case 51:{d=36864;e=70778880;g=59;break}default:g=61}while(0);do if((g|0)==59){if(d>>>0>>0){g=61;break}e=(e>>>0)/((f*384|0)>>>0)|0;e=e>>>0<16?e:16;c[n>>2]=e;d=c[l>>2]|0;if(d>>>0>e>>>0)g=62;else d=e}while(0);if((g|0)==61){c[n>>2]=2147483647;d=c[l>>2]|0;g=62}if((g|0)==62)c[n>>2]=d;f=b+88|0;c[f>>2]=d;d=Ye(a,1)|0;if((d|0)!=-1){n=(d|0)==1;c[b+80>>2]=n&1;do if(n){d=gf(952,1)|0;e=b+84|0;c[e>>2]=d;if(!d){d=65535;break a}d=hf(a,d)|0;if(d|0)break a;d=c[e>>2]|0;if(!(c[d+920>>2]|0))break;e=c[d+948>>2]|0;if((c[d+944>>2]|0)>>>0>e>>>0){d=1;break a}if(e>>>0<(c[l>>2]|0)>>>0){d=1;break a}if(e>>>0>(c[f>>2]|0)>>>0){d=1;break a}c[f>>2]=(e|0)==0?1:e}while(0);Xe(a)|0;d=0}else d=1}else d=1}}}else d=1}else d=1}}else d=1}}else d=1}else d=1;while(0);Dc=o;return d|0}function df(a,b,c){a=a|0;b=b|0;c=c|0;zl(a|0,b&255|0,c|0)|0;return}function ef(a,b){a=a|0;b=b|0;var d=0,e=0;d=_e(a)|0;if((d|0)<0){jf(a,1)|0;c[b>>2]=0;b=0;return b|0}if(d>>>0>1073741823){if((jf(a,3)|0)==-1){b=1;return b|0}c[b>>2]=(d>>>29&1)+1;b=0;return b|0}if(d>>>0>536870911){if((jf(a,5)|0)==-1){b=1;return b|0}c[b>>2]=(d>>>27&3)+3;b=0;return b|0}if(d>>>0>268435455){if((jf(a,7)|0)==-1){b=1;return b|0}c[b>>2]=(d>>>25&7)+7;b=0;return b|0}d=We(d,28)|0;e=d+4|0;if((e|0)!=32){jf(a,d+5|0)|0;d=Ye(a,e)|0;if((d|0)==-1){b=1;return b|0}c[b>>2]=(1<>2]=0;jf(a,32)|0;if((Ye(a,1)|0)!=1){b=1;return b|0}d=_e(a)|0;if((jf(a,32)|0)==-1){b=1;return b|0}switch(d|0){case 0:{c[b>>2]=-1;b=0;return b|0}case 1:{c[b>>2]=-1;b=1;return b|0}default:{b=1;return b|0}}return 0}function ff(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=Dc;Dc=Dc+16|0;e=f;c[e>>2]=0;d=ef(a,e)|0;a=c[e>>2]|0;d=(d|0)==0;if((a|0)==-1)if(d)a=1;else{c[b>>2]=-2147483648;a=0}else{e=(a+1|0)>>>1;if(d){c[b>>2]=(a&1|0)==0?0-e|0:e;a=0}else a=1}Dc=f;return a|0}function gf(a,b){a=a|0;b=b|0;if((4294967295/(b>>>0)|0)>>>0>>0){a=0;return a|0}a=Ci(v(b,a)|0)|0;return a|0}function hf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;df(b,0,952);d=Ye(a,1)|0;if((d|0)==-1){b=1;return b|0}f=(d|0)==1;c[b>>2]=f&1;do if(f){d=Ye(a,8)|0;if((d|0)==-1){b=1;return b|0}c[b+4>>2]=d;if((d|0)==255){d=Ye(a,16)|0;if((d|0)==-1){b=1;return b|0}c[b+8>>2]=d;d=Ye(a,16)|0;if((d|0)==-1){b=1;return b|0}else{c[b+12>>2]=d;break}}}while(0);d=Ye(a,1)|0;if((d|0)==-1){b=1;return b|0}f=(d|0)==1;c[b+16>>2]=f&1;do if(f){d=Ye(a,1)|0;if((d|0)==-1){b=1;return b|0}else{c[b+20>>2]=(d|0)==1&1;break}}while(0);d=Ye(a,1)|0;if((d|0)==-1){b=1;return b|0}f=(d|0)==1;c[b+24>>2]=f&1;if(f){d=Ye(a,3)|0;if((d|0)==-1){b=1;return b|0}c[b+28>>2]=d;d=Ye(a,1)|0;if((d|0)==-1){b=1;return b|0}c[b+32>>2]=(d|0)==1&1;d=Ye(a,1)|0;if((d|0)==-1){b=1;return b|0}f=(d|0)==1;c[b+36>>2]=f&1;if(f){d=Ye(a,8)|0;if((d|0)==-1){b=1;return b|0}c[b+40>>2]=d;d=Ye(a,8)|0;if((d|0)==-1){b=1;return b|0}c[b+44>>2]=d;d=Ye(a,8)|0;if((d|0)==-1){b=1;return b|0}}else g=22}else{c[b+28>>2]=5;g=22}if((g|0)==22){c[b+40>>2]=2;c[b+44>>2]=2;d=2}c[b+48>>2]=d;d=Ye(a,1)|0;if((d|0)==-1){b=1;return b|0}f=(d|0)==1;c[b+52>>2]=f&1;if(f){e=b+56|0;d=ef(a,e)|0;if(d|0){b=d;return b|0}if((c[e>>2]|0)>>>0>5){b=1;return b|0}e=b+60|0;d=ef(a,e)|0;if(d|0){b=d;return b|0}if((c[e>>2]|0)>>>0>5){b=1;return b|0}}d=Ye(a,1)|0;if((d|0)==-1){b=1;return b|0}f=(d|0)==1;c[b+64>>2]=f&1;do if(f){d=_e(a)|0;if((d|0)==0|(jf(a,32)|0)==-1){b=1;return b|0}c[b+68>>2]=d;d=_e(a)|0;if((d|0)==0|(jf(a,32)|0)==-1){b=1;return b|0}c[b+72>>2]=d;d=Ye(a,1)|0;if((d|0)==-1){b=1;return b|0}else{c[b+76>>2]=(d|0)==1&1;break}}while(0);d=Ye(a,1)|0;if((d|0)==-1){b=1;return b|0}e=(d|0)==1;f=b+80|0;c[f>>2]=e&1;if(e){d=kf(a,b+84|0)|0;if(d|0){b=d;return b|0}}else{c[b+84>>2]=1;c[b+96>>2]=288000001;c[b+224>>2]=288000001;c[b+480>>2]=24;c[b+484>>2]=24;c[b+488>>2]=24;c[b+492>>2]=24}d=Ye(a,1)|0;if((d|0)==-1){b=1;return b|0}d=(d|0)==1;e=b+496|0;c[e>>2]=d&1;if(d){d=kf(a,b+500|0)|0;if(d|0){b=d;return b|0}}else{c[b+500>>2]=1;c[b+512>>2]=240000001;c[b+640>>2]=240000001;c[b+896>>2]=24;c[b+900>>2]=24;c[b+904>>2]=24;c[b+908>>2]=24}if(!((c[f>>2]|0)==0?!(c[e>>2]|0):0))g=45;do if((g|0)==45){d=Ye(a,1)|0;if((d|0)==-1){b=1;return b|0}else{c[b+912>>2]=(d|0)==1&1;break}}while(0);d=Ye(a,1)|0;if((d|0)==-1){b=1;return b|0}c[b+916>>2]=(d|0)==1&1;d=Ye(a,1)|0;if((d|0)==-1){b=1;return b|0}g=(d|0)==1;c[b+920>>2]=g&1;do if(g){d=Ye(a,1)|0;if((d|0)==-1){b=1;return b|0}c[b+924>>2]=(d|0)==1&1;e=b+928|0;d=ef(a,e)|0;if(d|0){b=d;return b|0}if((c[e>>2]|0)>>>0>16){b=1;return b|0}e=b+932|0;d=ef(a,e)|0;if(d|0){b=d;return b|0}if((c[e>>2]|0)>>>0>16){b=1;return b|0}e=b+936|0;d=ef(a,e)|0;if(d|0){b=d;return b|0}if((c[e>>2]|0)>>>0>16){b=1;return b|0}e=b+940|0;d=ef(a,e)|0;if(d|0){b=d;return b|0}if((c[e>>2]|0)>>>0>16){b=1;return b|0}d=ef(a,b+944|0)|0;if(d|0){b=d;return b|0}d=ef(a,b+948|0)|0;if(!d)break;return d|0}else{c[b+924>>2]=1;c[b+928>>2]=2;c[b+932>>2]=1;c[b+936>>2]=16;c[b+940>>2]=16;c[b+944>>2]=16;c[b+948>>2]=16}while(0);b=0;return b|0}function jf(a,b){a=a|0;b=b|0;var d=0;d=a+16|0;b=(c[d>>2]|0)+b|0;c[d>>2]=b;c[a+8>>2]=b&7;if(b>>>0>c[a+12>>2]<<3>>>0){d=-1;return d|0}c[a+4>>2]=(c[a>>2]|0)+(b>>>3);d=0;return d|0}function kf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=ef(a,b)|0;if(d|0){b=d;return b|0}h=(c[b>>2]|0)+1|0;c[b>>2]=h;if(h>>>0>32){b=1;return b|0}d=Ye(a,4)|0;if((d|0)==-1){b=1;return b|0}h=b+4|0;c[h>>2]=d;d=Ye(a,4)|0;if((d|0)==-1){b=1;return b|0}g=b+8|0;c[g>>2]=d;a:do if(c[b>>2]|0){f=0;while(1){e=b+12+(f<<2)|0;d=ef(a,e)|0;if(d|0){e=18;break}d=c[e>>2]|0;if((d|0)==-1){d=1;e=18;break}d=d+1|0;c[e>>2]=d;c[e>>2]=d<<(c[h>>2]|0)+6;e=b+140+(f<<2)|0;d=ef(a,e)|0;if(d|0){e=18;break}d=c[e>>2]|0;if((d|0)==-1){d=1;e=18;break}d=d+1|0;c[e>>2]=d;c[e>>2]=d<<(c[g>>2]|0)+4;d=Ye(a,1)|0;if((d|0)==-1){d=1;e=18;break}c[b+268+(f<<2)>>2]=(d|0)==1&1;f=f+1|0;if(f>>>0>=(c[b>>2]|0)>>>0)break a}if((e|0)==18)return d|0}while(0);d=Ye(a,5)|0;if((d|0)==-1){b=1;return b|0}c[b+396>>2]=d+1;d=Ye(a,5)|0;if((d|0)==-1){b=1;return b|0}c[b+400>>2]=d+1;d=Ye(a,5)|0;if((d|0)==-1){b=1;return b|0}c[b+404>>2]=d+1;d=Ye(a,5)|0;if((d|0)==-1){b=1;return b|0}c[b+408>>2]=d;b=0;return b|0}function lf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;if((c[a>>2]|0)!=(c[b>>2]|0)){b=1;return b|0}if((c[a+4>>2]|0)!=(c[b+4>>2]|0)){b=1;return b|0}if((c[a+12>>2]|0)!=(c[b+12>>2]|0)){b=1;return b|0}d=c[a+16>>2]|0;if((d|0)!=(c[b+16>>2]|0)){b=1;return b|0}if((c[a+44>>2]|0)!=(c[b+44>>2]|0)){b=1;return b|0}if((c[a+48>>2]|0)!=(c[b+48>>2]|0)){b=1;return b|0}if((c[a+52>>2]|0)!=(c[b+52>>2]|0)){b=1;return b|0}if((c[a+56>>2]|0)!=(c[b+56>>2]|0)){b=1;return b|0}h=c[a+60>>2]|0;if((h|0)!=(c[b+60>>2]|0)){b=1;return b|0}if((c[a+80>>2]|0)!=(c[b+80>>2]|0)){b=1;return b|0}a:do switch(d|0){case 0:{if((c[a+20>>2]|0)!=(c[b+20>>2]|0)){b=1;return b|0}break}case 1:{if((c[a+24>>2]|0)!=(c[b+24>>2]|0)){b=1;return b|0}if((c[a+28>>2]|0)!=(c[b+28>>2]|0)){b=1;return b|0}if((c[a+32>>2]|0)!=(c[b+32>>2]|0)){b=1;return b|0}d=c[a+36>>2]|0;if((d|0)!=(c[b+36>>2]|0)){b=1;return b|0}if(d|0){e=c[a+40>>2]|0;f=c[b+40>>2]|0;g=0;while(1){if((c[e+(g<<2)>>2]|0)!=(c[f+(g<<2)>>2]|0)){d=1;break}g=g+1|0;if(g>>>0>=d>>>0)break a}return d|0}break}default:{}}while(0);if(h|0){if((c[a+64>>2]|0)!=(c[b+64>>2]|0)){b=1;return b|0}if((c[a+68>>2]|0)!=(c[b+68>>2]|0)){b=1;return b|0}if((c[a+72>>2]|0)!=(c[b+72>>2]|0)){b=1;return b|0}if((c[a+76>>2]|0)!=(c[b+76>>2]|0)){b=1;return b|0}}b=0;return b|0}function mf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=Dc;Dc=Dc+16|0;i=k+4|0;j=k;df(b,0,72);d=ef(a,b)|0;if(d|0){a=d;Dc=k;return a|0}if((c[b>>2]|0)>>>0>255){a=1;Dc=k;return a|0}e=b+4|0;d=ef(a,e)|0;if(d|0){a=d;Dc=k;return a|0}if((c[e>>2]|0)>>>0>31){a=1;Dc=k;return a|0}if(Ye(a,1)|0){a=1;Dc=k;return a|0}d=Ye(a,1)|0;if((d|0)==-1){a=1;Dc=k;return a|0}c[b+8>>2]=(d|0)==1&1;d=ef(a,i)|0;if(d|0){a=d;Dc=k;return a|0}d=(c[i>>2]|0)+1|0;h=b+12|0;c[h>>2]=d;if(d>>>0>8){a=1;Dc=k;return a|0}a:do if(d>>>0>1){e=b+16|0;d=ef(a,e)|0;if(d|0){a=d;Dc=k;return a|0}d=c[e>>2]|0;if(d>>>0>6){a=1;Dc=k;return a|0}switch(d|0){case 0:{g=gf(4,c[h>>2]|0)|0;f=b+20|0;c[f>>2]=g;if(!g){a=65535;Dc=k;return a|0}if(!(c[h>>2]|0))break a;e=0;while(1){d=ef(a,i)|0;if(d|0)break;c[(c[f>>2]|0)+(e<<2)>>2]=(c[i>>2]|0)+1;e=e+1|0;if(e>>>0>=(c[h>>2]|0)>>>0)break a}Dc=k;return d|0}case 2:{g=b+24|0;c[g>>2]=gf(4,(c[h>>2]|0)+-1|0)|0;f=gf(4,(c[h>>2]|0)+-1|0)|0;e=b+28|0;c[e>>2]=f;if((f|0)==0|(c[g>>2]|0)==0){a=65535;Dc=k;return a|0}if((c[h>>2]|0)==1)break a;f=0;while(1){d=ef(a,i)|0;if(d|0){e=49;break}c[(c[g>>2]|0)+(f<<2)>>2]=c[i>>2];d=ef(a,i)|0;if(d|0){e=49;break}c[(c[e>>2]|0)+(f<<2)>>2]=c[i>>2];f=f+1|0;if(f>>>0>=((c[h>>2]|0)+-1|0)>>>0)break a}if((e|0)==49){Dc=k;return d|0}break}case 5:case 4:case 3:{d=Ye(a,1)|0;if((d|0)==-1){a=1;Dc=k;return a|0}c[b+32>>2]=(d|0)==1&1;d=ef(a,i)|0;if(!d){c[b+36>>2]=(c[i>>2]|0)+1;break a}else{a=d;Dc=k;return a|0}}case 6:{d=ef(a,i)|0;if(d|0){a=d;Dc=k;return a|0}e=(c[i>>2]|0)+1|0;f=b+40|0;c[f>>2]=e;e=gf(4,e)|0;g=b+44|0;c[g>>2]=e;if(!e){a=65535;Dc=k;return a|0}d=c[2096+((c[h>>2]|0)+-1<<2)>>2]|0;if(!(c[f>>2]|0))break a;e=0;while(1){l=Ye(a,d)|0;c[(c[g>>2]|0)+(e<<2)>>2]=l;e=e+1|0;if(l>>>0>=(c[h>>2]|0)>>>0){d=1;break}if(e>>>0>=(c[f>>2]|0)>>>0)break a}Dc=k;return d|0}default:break a}}while(0);d=ef(a,i)|0;if(d|0){l=d;Dc=k;return l|0}d=c[i>>2]|0;if(d>>>0>31){l=1;Dc=k;return l|0}c[b+48>>2]=d+1;d=ef(a,i)|0;if(d|0){l=d;Dc=k;return l|0}if((c[i>>2]|0)>>>0>31){l=1;Dc=k;return l|0}if(Ye(a,1)|0){l=1;Dc=k;return l|0}if((Ye(a,2)|0)>>>0>2){l=1;Dc=k;return l|0}d=ff(a,j)|0;if(d|0){l=d;Dc=k;return l|0}d=(c[j>>2]|0)+26|0;if(d>>>0>51){l=1;Dc=k;return l|0}c[b+52>>2]=d;d=ff(a,j)|0;if(d|0){l=d;Dc=k;return l|0}if(((c[j>>2]|0)+26|0)>>>0>51){l=1;Dc=k;return l|0}d=ff(a,j)|0;if(d|0){l=d;Dc=k;return l|0}d=c[j>>2]|0;if((d+12|0)>>>0>24){l=1;Dc=k;return l|0}c[b+56>>2]=d;d=Ye(a,1)|0;if((d|0)==-1){l=1;Dc=k;return l|0}c[b+60>>2]=(d|0)==1&1;d=Ye(a,1)|0;if((d|0)==-1){l=1;Dc=k;return l|0}c[b+64>>2]=(d|0)==1&1;d=Ye(a,1)|0;if((d|0)==-1){l=1;Dc=k;return l|0}c[b+68>>2]=(d|0)==1&1;Xe(a)|0;l=0;Dc=k;return l|0}function nf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=Dc;Dc=Dc+16|0;p=u+12|0;o=u+8|0;t=u+4|0;r=u;df(b,0,988);s=v(c[d+56>>2]|0,c[d+52>>2]|0)|0;g=ef(a,t)|0;if(g|0){t=g;Dc=u;return t|0}m=c[t>>2]|0;c[b>>2]=m;if(m>>>0>=s>>>0){t=1;Dc=u;return t|0}g=ef(a,t)|0;if(g|0){t=g;Dc=u;return t|0}m=c[t>>2]|0;k=b+4|0;c[k>>2]=m;switch(m|0){case 7:case 2:break;case 5:case 0:{q=5;break}default:{t=1;Dc=u;return t|0}}if((q|0)==5){if((c[f>>2]|0)==5){t=1;Dc=u;return t|0}if(!(c[d+44>>2]|0)){t=1;Dc=u;return t|0}}g=ef(a,t)|0;if(g|0){t=g;Dc=u;return t|0}m=c[t>>2]|0;c[b+8>>2]=m;if((m|0)!=(c[e>>2]|0)){t=1;Dc=u;return t|0}l=d+12|0;g=c[l>>2]|0;h=0;while(1)if(!(g>>>h))break;else h=h+1|0;g=Ye(a,h+-1|0)|0;if((g|0)==-1){t=1;Dc=u;return t|0}h=(c[f>>2]|0)==5;if((g|0)!=0&h){t=1;Dc=u;return t|0}c[b+12>>2]=g;if(h){g=ef(a,t)|0;if(g|0){t=g;Dc=u;return t|0}m=c[t>>2]|0;c[b+16>>2]=m;if(m>>>0>65535){t=1;Dc=u;return t|0}}j=d+16|0;g=c[j>>2]|0;if(!g){i=d+20|0;g=c[i>>2]|0;h=0;while(1)if(!(g>>>h))break;else h=h+1|0;g=Ye(a,h+-1|0)|0;if((g|0)==-1){t=1;Dc=u;return t|0}h=b+20|0;c[h>>2]=g;do if(c[e+8>>2]|0){g=ff(a,r)|0;if(!g){c[b+24>>2]=c[r>>2];break}else{t=g;Dc=u;return t|0}}while(0);if((c[f>>2]|0)==5){g=c[h>>2]|0;if(g>>>0>(c[i>>2]|0)>>>1>>>0){t=1;Dc=u;return t|0}m=c[b+24>>2]|0;if((g|0)!=(0-((m|0)<0?m:0)|0)){t=1;Dc=u;return t|0}}g=c[j>>2]|0}if((g|0)==1?(c[d+24>>2]|0)==0:0){g=ff(a,r)|0;if(g|0){t=g;Dc=u;return t|0}g=b+28|0;c[g>>2]=c[r>>2];do if(c[e+8>>2]|0){h=ff(a,r)|0;if(!h){c[b+32>>2]=c[r>>2];break}else{t=h;Dc=u;return t|0}}while(0);if((c[f>>2]|0)==5?(j=c[g>>2]|0,m=(c[d+32>>2]|0)+j+(c[b+32>>2]|0)|0,((j|0)<(m|0)?j:m)|0):0){t=1;Dc=u;return t|0}}if(c[e+68>>2]|0){g=ef(a,t)|0;if(g|0){t=g;Dc=u;return t|0}m=c[t>>2]|0;c[b+36>>2]=m;if(m>>>0>127){t=1;Dc=u;return t|0}}g=c[k>>2]|0;switch(g|0){case 5:case 0:{g=Ye(a,1)|0;if((g|0)==-1){t=1;Dc=u;return t|0}c[b+40>>2]=g;do if(!g){g=c[e+48>>2]|0;if(g>>>0>16){t=1;Dc=u;return t|0}}else{g=ef(a,t)|0;if(g|0){t=g;Dc=u;return t|0}g=c[t>>2]|0;if(g>>>0>15){t=1;Dc=u;return t|0}else{g=g+1|0;break}}while(0);c[b+44>>2]=g;g=c[k>>2]|0;break}default:{}}a:do switch(g|0){case 5:case 0:{j=c[b+44>>2]|0;i=c[l>>2]|0;g=Ye(a,1)|0;b:do if((g|0)==-1)g=1;else{c[b+68>>2]=g;if(g|0){h=0;while(1){if(h>>>0>j>>>0){g=1;break b}g=ef(a,o)|0;if(g|0)break b;g=c[o>>2]|0;if(g>>>0>3){g=1;break b}c[b+72+(h*12|0)>>2]=g;do if(g>>>0<2){g=ef(a,p)|0;if(g|0)break b;g=c[p>>2]|0;if(g>>>0>=i>>>0){g=1;break b}c[b+72+(h*12|0)+4>>2]=g+1}else{if((g|0)!=2)break;g=ef(a,p)|0;if(g|0)break b;c[b+72+(h*12|0)+8>>2]=c[p>>2]}while(0);if((c[o>>2]|0)==3)break;else h=h+1|0}if(!h){g=1;break}}break a}while(0);t=g;Dc=u;return t|0}default:{}}while(0);do if(c[f+4>>2]|0){m=c[d+44>>2]|0;f=(c[f>>2]|0)==5;g=Ye(a,1)|0;h=(g|0)==-1;c:do if(f)if((!h?(c[b+276>>2]=g,n=Ye(a,1)|0,(n|0)!=-1):0)?(c[b+280>>2]=n,(m|0)!=0|(n|0)==0):0)q=92;else g=1;else if(!h){c[b+284>>2]=g;if(g){i=(m<<1)+2|0;j=0;k=0;h=0;l=0;d=0;while(1){if(j>>>0>i>>>0){g=1;break c}g=ef(a,o)|0;if(g|0)break c;g=c[o>>2]|0;if(g>>>0>6){g=1;break c}c[b+288+(j*20|0)>>2]=g;if((g|2|0)==3){g=ef(a,p)|0;if(g|0)break c;c[b+288+(j*20|0)+4>>2]=(c[p>>2]|0)+1;g=c[o>>2]|0}if((g|0)==2){g=ef(a,p)|0;if(g|0)break c;c[b+288+(j*20|0)+8>>2]=c[p>>2];g=c[o>>2]|0}switch(g|0){case 3:case 6:{g=ef(a,p)|0;if(g|0)break c;c[b+288+(j*20|0)+12>>2]=c[p>>2];g=c[o>>2]|0;break}default:{}}if((g|0)==4){g=ef(a,p)|0;if(g|0)break c;g=c[p>>2]|0;if(g>>>0>m>>>0){g=1;break c}c[b+288+(j*20|0)+16>>2]=(g|0)==0?65535:g+-1|0;g=c[o>>2]|0;h=h+1|0}l=l+((g|0)==5&1)|0;k=k+((g+-1|0)>>>0<3&1)|0;d=d+((g|0)==6&1)|0;if(!g)break;else j=j+1|0}if((l|h|d)>>>0<=1?!((l|0)!=0&(k|0)!=0):0)q=92;else g=1}else q=92}else g=1;while(0);if((q|0)==92)break;t=g;Dc=u;return t|0}while(0);g=ff(a,r)|0;if(g|0){t=g;Dc=u;return t|0}q=c[r>>2]|0;c[b+48>>2]=q;q=(c[e+52>>2]|0)+q|0;c[r>>2]=q;if(q>>>0>51){t=1;Dc=u;return t|0}do if(c[e+60>>2]|0){g=ef(a,t)|0;if(g|0){t=g;Dc=u;return t|0}g=c[t>>2]|0;c[b+52>>2]=g;if(g>>>0>2){t=1;Dc=u;return t|0}if((g|0)!=1){g=ff(a,r)|0;if(g|0){t=g;Dc=u;return t|0}g=c[r>>2]|0;if((g+6|0)>>>0>12){t=1;Dc=u;return t|0}c[b+56>>2]=g<<1;g=ff(a,r)|0;if(g|0){t=g;Dc=u;return t|0}g=c[r>>2]|0;if((g+6|0)>>>0>12){t=1;Dc=u;return t|0}else{c[b+60>>2]=g<<1;break}}}while(0);if((c[e+12>>2]|0)>>>0>1?((c[e+16>>2]|0)+-3|0)>>>0<3:0){j=e+36|0;h=c[j>>2]|0;i=(s>>>0)/(h>>>0)|0;h=(s-(v(i,h)|0)|0)==0;i=(h?1:2)+i|0;h=0;while(1){g=h+1|0;if(!(-1<>2]=g;if((g|0)==-1){t=1;Dc=u;return t|0}c[b+64>>2]=g;t=c[j>>2]|0;if(g>>>0>(((s+-1+t|0)>>>0)/(t>>>0)|0)>>>0){t=1;Dc=u;return t|0}}t=0;Dc=u;return t|0}function of(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=Dc;Dc=Dc+32|0;e=f+20|0;d=f;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[d+16>>2]=c[a+16>>2];a=ef(d,e)|0;if(!a){a=ef(d,e)|0;if(!a){a=ef(d,e)|0;if(!a){a=c[e>>2]|0;if(a>>>0>255)a=1;else{c[b>>2]=a;a=0}}}}Dc=f;return a|0}function pf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=Dc;Dc=Dc+32|0;e=g+20|0;f=g;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];c[f+16>>2]=c[a+16>>2];a=ef(f,e)|0;if(a|0){d=a;Dc=g;return d|0}a=ef(f,e)|0;if(a|0){d=a;Dc=g;return d|0}a=ef(f,e)|0;if(a|0){d=a;Dc=g;return d|0}a=0;while(1)if(!(b>>>a))break;else a=a+1|0;a=Ye(f,a+-1|0)|0;if((a|0)==-1){d=1;Dc=g;return d|0}c[d>>2]=a;d=0;Dc=g;return d|0}function qf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=Dc;Dc=Dc+32|0;f=h+20|0;g=h;if((d|0)==5){c[g>>2]=c[a>>2];c[g+4>>2]=c[a+4>>2];c[g+8>>2]=c[a+8>>2];c[g+12>>2]=c[a+12>>2];c[g+16>>2]=c[a+16>>2];d=ef(g,f)|0;if(!d){d=ef(g,f)|0;if(!d){d=ef(g,f)|0;if(!d){d=0;while(1)if(!(b>>>d))break;else d=d+1|0;if((Ye(g,d+-1|0)|0)==-1)d=1;else d=ef(g,e)|0}}}}else d=1;Dc=h;return d|0}function rf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=Dc;Dc=Dc+32|0;h=j+20|0;i=j;c[i>>2]=c[a>>2];c[i+4>>2]=c[a+4>>2];c[i+8>>2]=c[a+8>>2];c[i+12>>2]=c[a+12>>2];c[i+16>>2]=c[a+16>>2];a=ef(i,h)|0;if(a|0){e=a;Dc=j;return e|0}a=ef(i,h)|0;if(a|0){e=a;Dc=j;return e|0}a=ef(i,h)|0;if(a|0){e=a;Dc=j;return e|0}a=c[b+12>>2]|0;f=0;while(1)if(!(a>>>f))break;else f=f+1|0;if((Ye(i,f+-1|0)|0)==-1){e=1;Dc=j;return e|0}if((d|0)==5?(g=ef(i,h)|0,g|0):0){e=g;Dc=j;return e|0}a=c[b+20>>2]|0;f=0;while(1)if(!(a>>>f))break;else f=f+1|0;a=Ye(i,f+-1|0)|0;if((a|0)==-1){e=1;Dc=j;return e|0}c[e>>2]=a;e=0;Dc=j;return e|0}function sf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=Dc;Dc=Dc+32|0;h=j+20|0;i=j;c[i>>2]=c[a>>2];c[i+4>>2]=c[a+4>>2];c[i+8>>2]=c[a+8>>2];c[i+12>>2]=c[a+12>>2];c[i+16>>2]=c[a+16>>2];a=ef(i,h)|0;if(a|0){i=a;Dc=j;return i|0}a=ef(i,h)|0;if(a|0){i=a;Dc=j;return i|0}a=ef(i,h)|0;if(a|0){i=a;Dc=j;return i|0}a=c[b+12>>2]|0;f=0;while(1)if(!(a>>>f))break;else f=f+1|0;if((Ye(i,f+-1|0)|0)==-1){i=1;Dc=j;return i|0}if((d|0)==5?(g=ef(i,h)|0,g|0):0){i=g;Dc=j;return i|0}a=c[b+20>>2]|0;f=0;while(1)if(!(a>>>f))break;else f=f+1|0;if((Ye(i,f+-1|0)|0)==-1){i=1;Dc=j;return i|0}i=ff(i,e)|0;Dc=j;return i|0}function tf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=Dc;Dc=Dc+32|0;h=k+20|0;j=k;c[j>>2]=c[a>>2];c[j+4>>2]=c[a+4>>2];c[j+8>>2]=c[a+8>>2];c[j+12>>2]=c[a+12>>2];c[j+16>>2]=c[a+16>>2];a=ef(j,h)|0;if(a|0){j=a;Dc=k;return j|0}a=ef(j,h)|0;if(a|0){j=a;Dc=k;return j|0}a=ef(j,h)|0;if(a|0){j=a;Dc=k;return j|0}a=c[b+12>>2]|0;b=0;while(1)if(!(a>>>b))break;else b=b+1|0;if((Ye(j,b+-1|0)|0)==-1){j=1;Dc=k;return j|0}if((d|0)==5?(g=ef(j,h)|0,g|0):0){j=g;Dc=k;return j|0}a=ff(j,f)|0;if(a|0){j=a;Dc=k;return j|0}if(e|0?(i=ff(j,f+4|0)|0,i|0):0){j=i;Dc=k;return j|0}j=0;Dc=k;return j|0}function uf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=Dc;Dc=Dc+32|0;k=l+24|0;i=l+20|0;j=l;c[j>>2]=c[b>>2];c[j+4>>2]=c[b+4>>2];c[j+8>>2]=c[b+8>>2];c[j+12>>2]=c[b+12>>2];c[j+16>>2]=c[b+16>>2];f=ef(j,k)|0;if(f|0){e=f;Dc=l;return e|0}f=ef(j,k)|0;if(f|0){e=f;Dc=l;return e|0}f=ef(j,k)|0;if(f|0){e=f;Dc=l;return e|0}f=c[d+12>>2]|0;b=0;while(1)if(!(f>>>b))break;else b=b+1|0;if((Ye(j,b+-1|0)|0)==-1){e=1;Dc=l;return e|0}f=ef(j,k)|0;if(f|0){e=f;Dc=l;return e|0}g=d+16|0;f=c[g>>2]|0;if(!f){f=c[d+20>>2]|0;b=0;while(1)if(!(f>>>b))break;else b=b+1|0;if((Ye(j,b+-1|0)|0)==-1){e=1;Dc=l;return e|0}if(c[e+8>>2]|0?(h=ff(j,i)|0,h|0):0){e=h;Dc=l;return e|0}f=c[g>>2]|0}if((f|0)==1?(c[d+24>>2]|0)==0:0){f=ff(j,i)|0;if(f|0){e=f;Dc=l;return e|0}if(c[e+8>>2]|0?(m=ff(j,i)|0,m|0):0){e=m;Dc=l;return e|0}}if(c[e+68>>2]|0?(n=ef(j,k)|0,n|0):0){e=n;Dc=l;return e|0}e=Ye(j,1)|0;c[a>>2]=e;e=(e|0)==-1&1;Dc=l;return e|0}function vf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;A=Dc;Dc=Dc+448|0;n=A+8|0;v=A+4|0;t=A;n=n+(0-n&15)|0;l=c[b+3376>>2]|0;h=c[e>>2]|0;c[v>>2]=0;w=b+1192|0;c[w>>2]=(c[w>>2]|0)+1;o=b+1200|0;c[o>>2]=0;m=b+12|0;c[t>>2]=(c[e+48>>2]|0)+(c[(c[m>>2]|0)+52>>2]|0);u=e+36|0;p=b+1212|0;q=e+52|0;r=e+56|0;s=e+60|0;x=e+4|0;j=e+44|0;g=b+1220|0;z=b+1176|0;k=b+1172|0;i=l+12|0;y=0;f=0;while(1){e=c[p>>2]|0;if((c[u>>2]|0)==0?c[e+(h*216|0)+196>>2]|0:0){e=1;f=20;break}B=c[(c[m>>2]|0)+56>>2]|0;E=c[q>>2]|0;D=c[r>>2]|0;C=c[s>>2]|0;c[e+(h*216|0)+4>>2]=c[w>>2];c[e+(h*216|0)+8>>2]=E;c[e+(h*216|0)+12>>2]=D;c[e+(h*216|0)+16>>2]=C;c[e+(h*216|0)+24>>2]=B;e=c[x>>2]|0;if((e|0)!=2?!((f|0)!=0|(e|0)==7):0){e=ef(a,v)|0;if(e|0){f=20;break}e=c[v>>2]|0;if(e>>>0>((c[z>>2]|0)-h|0)>>>0){e=1;f=20;break}if(!e)f=0;else{df(i,0,164);c[l>>2]=0;f=1}}e=c[v>>2]|0;if(!e){e=wf(a,l,(c[p>>2]|0)+(h*216|0)|0,c[x>>2]|0,c[j>>2]|0)|0;if(!e)f=0;else{f=20;break}}else c[v>>2]=e+-1;e=xf((c[p>>2]|0)+(h*216|0)|0,l,d,g,t,h,c[(c[m>>2]|0)+64>>2]|0,n)|0;if(e|0){f=20;break}y=y+((c[(c[p>>2]|0)+(h*216|0)+196>>2]|0)==1&1)|0;e=Ze(a)|0;e=(c[v>>2]|e|0)!=0;switch(c[x>>2]|0){case 7:case 2:{c[o>>2]=h;break}default:{}}h=$e(c[k>>2]|0,c[z>>2]|0,h)|0;if(!((h|0)!=0|e^1)){e=1;f=20;break}if(!e){f=18;break}}if((f|0)==18){f=b+1196|0;e=(c[f>>2]|0)+y|0;if(e>>>0>(c[z>>2]|0)>>>0){E=1;Dc=A;return E|0}c[f>>2]=e;E=0;Dc=A;return E|0}else if((f|0)==20){Dc=A;return e|0}return 0}function wf(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=Dc;Dc=Dc+16|0;t=x+12|0;r=x+8|0;w=x+4|0;v=x;df(d,0,2088);i=ef(a,w)|0;h=c[w>>2]|0;a:do switch(f|0){case 2:case 7:{h=h+6|0;if((i|0)!=0|h>>>0>31){a=1;Dc=x;return a|0}else{c[d>>2]=h;l=h;u=d;break a}}default:{h=h+1|0;if((i|0)!=0|h>>>0>31){a=1;Dc=x;return a|0}else{c[d>>2]=h;l=h;u=d;break a}}}while(0);b:do if((l|0)!=31){i=l>>>0<6;h=(l|0)!=6;s=i?2:h&1;c:do if(!i){d:do if(!h){c[r>>2]=0;h=_e(a)|0;q=h>>>31;c[d+12>>2]=q;if(!q){c[d+76>>2]=h>>>28&7;h=h<<4;f=1}else{h=h<<1;f=0}q=h>>>31;c[d+16>>2]=q;if(!q){c[d+80>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+20>>2]=q;if(!q){c[d+84>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+24>>2]=q;if(!q){c[d+88>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+28>>2]=q;if(!q){c[d+92>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+32>>2]=q;if(!q){c[d+96>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+36>>2]=q;if(!q){c[d+100>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+40>>2]=q;if(!q){c[d+104>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;do if((jf(a,(f*3|0)+8|0)|0)!=-1){c[r>>2]=1;h=_e(a)|0;q=h>>>31;c[d+44>>2]=q;if(!q){c[d+108>>2]=h>>>28&7;h=h<<4;f=1}else{h=h<<1;f=0}q=h>>>31;c[d+48>>2]=q;if(!q){c[d+112>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+52>>2]=q;if(!q){c[d+116>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+56>>2]=q;if(!q){c[d+120>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+60>>2]=q;if(!q){c[d+124>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+64>>2]=q;if(!q){c[d+128>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+68>>2]=q;if(!q){c[d+132>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+72>>2]=q;if(!q){c[d+136>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;if((jf(a,(f*3|0)+8|0)|0)==-1)break;c[r>>2]=2;c[t>>2]=h;break d}while(0);c[t>>2]=h;h=1;q=96;break c}while(0);r=(ef(a,t)|0)!=0;h=c[t>>2]|0;if(r|h>>>0>3){h=1;q=96}else{c[d+140>>2]=h;h=0;q=96}}else{if(l>>>0<4){if(g>>>0>1){switch(l|0){case 0:case 1:{h=0;break}case 3:case 2:{h=1;break}default:h=3}j=g>>>0>2&1;i=0;while(1){if(hg(a,t,j)|0){h=1;q=96;break c}f=c[t>>2]|0;if(f>>>0>=g>>>0){h=1;q=96;break c}c[d+144+(i<<2)>>2]=f;if(!h)break;else{h=h+-1|0;i=i+1|0}}}switch(l|0){case 0:case 1:{h=0;break}case 3:case 2:{h=1;break}default:h=3}f=h;i=0;while(1){h=ff(a,r)|0;if(h|0){q=96;break c}b[d+160+(i<<2)>>1]=c[r>>2];h=ff(a,r)|0;if(h|0){q=96;break c}b[d+160+(i<<2)+2>>1]=c[r>>2];if(!f){h=0;q=96;break c}else{f=f+-1|0;i=i+1|0}}}i=(ef(a,t)|0)!=0;h=c[t>>2]|0;e:do if(((!(i|h>>>0>3)?(n=d+176|0,c[n>>2]=h,i=(ef(a,t)|0)!=0,k=c[t>>2]|0,!(i|k>>>0>3)):0)?(o=d+180|0,c[o>>2]=k,k=(ef(a,t)|0)!=0,j=c[t>>2]|0,!(k|j>>>0>3)):0)?(p=d+184|0,c[p>>2]=j,k=(ef(a,t)|0)!=0,m=c[t>>2]|0,!(k|m>>>0>3)):0){i=d+188|0;c[i>>2]=m;if(g>>>0>1&(l|0)!=5){f=g>>>0>2&1;if(hg(a,t,f)|0){h=1;break}h=c[t>>2]|0;if(h>>>0>=g>>>0){h=1;break}c[d+192>>2]=h;if(hg(a,t,f)|0){h=1;break}h=c[t>>2]|0;if(h>>>0>=g>>>0){h=1;break}c[d+196>>2]=h;if(hg(a,t,f)|0){h=1;break}h=c[t>>2]|0;if(h>>>0>=g>>>0){h=1;break}c[d+200>>2]=h;if(hg(a,t,f)|0){h=1;break}h=c[t>>2]|0;if(h>>>0>=g>>>0){h=1;break}c[d+204>>2]=h}h=c[n>>2]|0;switch(h|0){case 0:break;case 2:case 1:{h=1;break}default:h=3}c[t>>2]=h;f=0;while(1){h=ff(a,r)|0;if(h|0)break e;b[d+208+(f<<2)>>1]=c[r>>2];h=ff(a,r)|0;if(h|0)break e;b[d+208+(f<<2)+2>>1]=c[r>>2];g=c[t>>2]|0;c[t>>2]=g+-1;if(!g)break;else f=f+1|0}h=c[o>>2]|0;switch(h|0){case 0:break;case 2:case 1:{h=1;break}default:h=3}c[t>>2]=h;f=0;while(1){h=ff(a,r)|0;if(h|0)break e;b[d+224+(f<<2)>>1]=c[r>>2];h=ff(a,r)|0;if(h|0)break e;b[d+224+(f<<2)+2>>1]=c[r>>2];g=c[t>>2]|0;c[t>>2]=g+-1;if(!g)break;else f=f+1|0}h=c[p>>2]|0;switch(h|0){case 0:break;case 2:case 1:{h=1;break}default:h=3}c[t>>2]=h;f=0;while(1){h=ff(a,r)|0;if(h|0)break e;b[d+240+(f<<2)>>1]=c[r>>2];h=ff(a,r)|0;if(h|0)break e;b[d+240+(f<<2)+2>>1]=c[r>>2];p=c[t>>2]|0;c[t>>2]=p+-1;if(!p)break;else f=f+1|0}h=c[i>>2]|0;switch(h|0){case 0:break;case 2:case 1:{h=1;break}default:h=3}c[t>>2]=h;f=0;while(1){h=ff(a,r)|0;if(h|0)break e;b[d+256+(f<<2)>>1]=c[r>>2];h=ff(a,r)|0;if(h|0)break e;b[d+256+(f<<2)+2>>1]=c[r>>2];p=c[t>>2]|0;c[t>>2]=p+-1;if(!p){h=0;break}else f=f+1|0}}else h=1;while(0)}while(0);if(h|0){a=h;Dc=x;return a|0}do if((s|0)!=1){h=ig(a,w,(s|0)==0&1)|0;if(!h){w=c[w>>2]|0;c[d+4>>2]=w;if(!w)break b;else break}else{a=h;Dc=x;return a|0}}else{w=c[u>>2]|0;s=w+-7|0;t=s>>>2<<4;c[d+4>>2]=(s>>>0>11?t+-48|0:t)|(w>>>0>18?15:0)}while(0);w=(ff(a,v)|0)!=0;h=c[v>>2]|0;if(w|(h+26|0)>>>0>51){a=1;Dc=x;return a|0}c[d+8>>2]=h;f=c[d+4>>2]|0;l=d+272|0;f:do if((c[u>>2]|0)>>>0>6){h=kg(a,d+1864|0,jg(e,0,l)|0,16)|0;if(!(h&15)){b[d+320>>1]=h>>>4&255;j=0;h=f;k=3;while(1){f=h>>>1;if(h&1|0){h=kg(a,d+328+(j<<6)+4|0,jg(e,j,l)|0,15)|0;c[d+1992+(j<<2)>>2]=h>>>15;if(h&15|0)break f;b[d+272+(j<<1)>>1]=h>>>4&255;i=j|1;h=kg(a,d+328+(i<<6)+4|0,jg(e,i,l)|0,15)|0;c[d+1992+(i<<2)>>2]=h>>>15;if(h&15|0)break f;b[d+272+(i<<1)>>1]=h>>>4&255;i=j|2;h=kg(a,d+328+(i<<6)+4|0,jg(e,i,l)|0,15)|0;c[d+1992+(i<<2)>>2]=h>>>15;if(h&15|0)break f;b[d+272+(i<<1)>>1]=h>>>4&255;i=j|3;h=kg(a,d+328+(i<<6)+4|0,jg(e,i,l)|0,15)|0;c[d+1992+(i<<2)>>2]=h>>>15;if(h&15|0)break f;b[d+272+(i<<1)>>1]=h>>>4&255}h=j+4|0;if(!k){i=h;q=115;break}else{j=h;h=f;k=k+-1|0}}}}else{j=0;h=f;k=3;while(1){f=h>>>1;if(h&1|0){h=kg(a,d+328+(j<<6)|0,jg(e,j,l)|0,16)|0;c[d+1992+(j<<2)>>2]=h>>>16;if(h&15|0)break f;b[d+272+(j<<1)>>1]=h>>>4&255;i=j|1;h=kg(a,d+328+(i<<6)|0,jg(e,i,l)|0,16)|0;c[d+1992+(i<<2)>>2]=h>>>16;if(h&15|0)break f;b[d+272+(i<<1)>>1]=h>>>4&255;i=j|2;h=kg(a,d+328+(i<<6)|0,jg(e,i,l)|0,16)|0;c[d+1992+(i<<2)>>2]=h>>>16;if(h&15|0)break f;b[d+272+(i<<1)>>1]=h>>>4&255;i=j|3;h=kg(a,d+328+(i<<6)|0,jg(e,i,l)|0,16)|0;c[d+1992+(i<<2)>>2]=h>>>16;if(h&15|0)break f;b[d+272+(i<<1)>>1]=h>>>4&255}h=j+4|0;if(!k){i=h;q=115;break}else{j=h;h=f;k=k+-1|0}}}while(0);do if((q|0)==115){if(f&3|0){h=kg(a,d+1928|0,-1,4)|0;if(h&15|0)break;b[d+322>>1]=h>>>4&255;h=kg(a,d+1944|0,-1,4)|0;if(h&15|0)break;b[d+324>>1]=h>>>4&255}if(f&2){h=kg(a,d+328+(i<<6)+4|0,jg(e,i,l)|0,15)|0;if(!(h&15)){b[d+272+(i<<1)>>1]=h>>>4&255;c[d+1992+(i<<2)>>2]=h>>>15;f=i+1|0;h=kg(a,d+328+(f<<6)+4|0,jg(e,f,l)|0,15)|0;if(!(h&15)){b[d+272+(f<<1)>>1]=h>>>4&255;c[d+1992+(f<<2)>>2]=h>>>15;f=i+2|0;h=kg(a,d+328+(f<<6)+4|0,jg(e,f,l)|0,15)|0;if(!(h&15)){b[d+272+(f<<1)>>1]=h>>>4&255;c[d+1992+(f<<2)>>2]=h>>>15;f=i+3|0;h=kg(a,d+328+(f<<6)+4|0,jg(e,f,l)|0,15)|0;if(!(h&15)){b[d+272+(f<<1)>>1]=h>>>4&255;c[d+1992+(f<<2)>>2]=h>>>15;f=i+4|0;h=kg(a,d+328+(f<<6)+4|0,jg(e,f,l)|0,15)|0;if(!(h&15)){b[d+272+(f<<1)>>1]=h>>>4&255;c[d+1992+(f<<2)>>2]=h>>>15;f=i+5|0;h=kg(a,d+328+(f<<6)+4|0,jg(e,f,l)|0,15)|0;if(!(h&15)){b[d+272+(f<<1)>>1]=h>>>4&255;c[d+1992+(f<<2)>>2]=h>>>15;f=i+6|0;h=kg(a,d+328+(f<<6)+4|0,jg(e,f,l)|0,15)|0;if(!(h&15)){b[d+272+(f<<1)>>1]=h>>>4&255;c[d+1992+(f<<2)>>2]=h>>>15;f=i+7|0;h=kg(a,d+328+(f<<6)+4|0,jg(e,f,l)|0,15)|0;if(!(h&15)){b[d+272+(f<<1)>>1]=h>>>4&255;c[d+1992+(f<<2)>>2]=h>>>15;h=0}}}}}}}}}else h=0}while(0);c[a+16>>2]=((c[a+4>>2]|0)-(c[a>>2]|0)<<3)+(c[a+8>>2]|0);if(h|0){a=h;Dc=x;return a|0}}else{g:do if(!(gg(a)|0)){while(1){if(Ye(a,1)|0){h=1;break}if(gg(a)|0)break g}Dc=x;return h|0}while(0);i=0;f=d+328|0;while(1){h=Ye(a,8)|0;c[w>>2]=h;if((h|0)==-1){h=1;break}c[f>>2]=h;i=i+1|0;if(i>>>0>=384)break b;else f=f+4|0}Dc=x;return h|0}while(0);a=0;Dc=x;return a|0}function xf(d,e,f,g,h,i,j,k){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=c[e>>2]|0;c[d>>2]=s;m=d+196|0;c[m>>2]=(c[m>>2]|0)+1;af(f,i);if((s|0)==31){l=d+28|0;c[d+20>>2]=0;if((c[m>>2]|0)>>>0>1){b[l>>1]=16;b[d+30>>1]=16;b[d+32>>1]=16;b[d+34>>1]=16;b[d+36>>1]=16;b[d+38>>1]=16;b[d+40>>1]=16;b[d+42>>1]=16;b[d+44>>1]=16;b[d+46>>1]=16;b[d+48>>1]=16;b[d+50>>1]=16;b[d+52>>1]=16;b[d+54>>1]=16;b[d+56>>1]=16;b[d+58>>1]=16;b[d+60>>1]=16;b[d+62>>1]=16;b[d+64>>1]=16;b[d+66>>1]=16;b[d+68>>1]=16;b[d+70>>1]=16;b[d+72>>1]=16;b[d+74>>1]=16;k=0;return k|0}n=23;m=e+328|0;h=k;while(1){b[l>>1]=16;a[h>>0]=c[m>>2];a[h+1>>0]=c[m+4>>2];a[h+2>>0]=c[m+8>>2];a[h+3>>0]=c[m+12>>2];a[h+4>>0]=c[m+16>>2];a[h+5>>0]=c[m+20>>2];a[h+6>>0]=c[m+24>>2];a[h+7>>0]=c[m+28>>2];a[h+8>>0]=c[m+32>>2];a[h+9>>0]=c[m+36>>2];a[h+10>>0]=c[m+40>>2];a[h+11>>0]=c[m+44>>2];a[h+12>>0]=c[m+48>>2];a[h+13>>0]=c[m+52>>2];a[h+14>>0]=c[m+56>>2];a[h+15>>0]=c[m+60>>2];if(!n)break;else{n=n+-1|0;m=m+64|0;h=h+16|0;l=l+2|0}}yf(f,k);k=0;return k|0}p=d+28|0;if(s){zf(p,e+272|0,54);m=c[e+8>>2]|0;l=c[h>>2]|0;do if(m){l=l+m|0;c[h>>2]=l;if((l|0)<0){l=l+52|0;c[h>>2]=l;break}if((l|0)>51){l=l+-52|0;c[h>>2]=l}}while(0);q=d+20|0;c[q>>2]=l;m=e+328|0;h=e+1992|0;a:do if((c[d>>2]|0)>>>0>6){if(b[d+76>>1]|0)Ue(e+1864|0,l);n=2128;o=15;l=p;while(1){r=c[e+1864+(c[n>>2]<<2)>>2]|0;n=n+4|0;c[m>>2]=r;if((r|0)==0?(b[l>>1]|0)==0:0)c[m>>2]=16777215;else u=19;if((u|0)==19?(u=0,Te(m,c[q>>2]|0,1,c[h>>2]|0)|0):0){l=1;break}m=m+64|0;l=l+2|0;h=h+4|0;if(!o){r=l;break a}else o=o+-1|0}return l|0}else{if(b[p>>1]|0){if(Te(m,l,0,c[h>>2]|0)|0){k=1;return k|0}}else c[m>>2]=16777215;l=e+392|0;if(b[d+30>>1]|0){if(Te(l,c[q>>2]|0,0,c[e+1996>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+456|0;if(b[d+32>>1]|0){if(Te(l,c[q>>2]|0,0,c[e+2e3>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+520|0;if(b[d+34>>1]|0){if(Te(l,c[q>>2]|0,0,c[e+2004>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+584|0;if(b[d+36>>1]|0){if(Te(l,c[q>>2]|0,0,c[e+2008>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+648|0;if(b[d+38>>1]|0){if(Te(l,c[q>>2]|0,0,c[e+2012>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+712|0;if(b[d+40>>1]|0){if(Te(l,c[q>>2]|0,0,c[e+2016>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+776|0;if(b[d+42>>1]|0){if(Te(l,c[q>>2]|0,0,c[e+2020>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+840|0;if(b[d+44>>1]|0){if(Te(l,c[q>>2]|0,0,c[e+2024>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+904|0;if(b[d+46>>1]|0){if(Te(l,c[q>>2]|0,0,c[e+2028>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+968|0;if(b[d+48>>1]|0){if(Te(l,c[q>>2]|0,0,c[e+2032>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+1032|0;if(b[d+50>>1]|0){if(Te(l,c[q>>2]|0,0,c[e+2036>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+1096|0;do if(!(b[d+52>>1]|0))c[l>>2]=16777215;else{if(!(Te(l,c[q>>2]|0,0,c[e+2040>>2]|0)|0))break;else l=1;return l|0}while(0);l=e+1160|0;do if(!(b[d+54>>1]|0))c[l>>2]=16777215;else{if(!(Te(l,c[q>>2]|0,0,c[e+2044>>2]|0)|0))break;else l=1;return l|0}while(0);l=e+1224|0;do if(!(b[d+56>>1]|0))c[l>>2]=16777215;else{if(!(Te(l,c[q>>2]|0,0,c[e+2048>>2]|0)|0))break;else l=1;return l|0}while(0);l=e+1288|0;do if(!(b[d+58>>1]|0))c[l>>2]=16777215;else{if(!(Te(l,c[q>>2]|0,0,c[e+2052>>2]|0)|0))break;else l=1;return l|0}while(0);m=e+1352|0;h=e+2056|0;r=d+60|0}while(0);q=(c[d+24>>2]|0)+(c[q>>2]|0)|0;q=(q|0)<51?q:51;q=c[1656+(((q|0)>0?q:0)<<2)>>2]|0;if((b[d+78>>1]|0)==0?(b[d+80>>1]|0)==0:0)l=e+1928|0;else{l=e+1928|0;Ve(l,q)}o=e+1932|0;p=c[l>>2]|0;c[m>>2]=p;if((p|0)==0?(b[r>>1]|0)==0:0)c[m>>2]=16777215;else u=32;if((u|0)==32?Te(m,q,1,c[h>>2]|0)|0:0){k=1;return k|0}n=h+4|0;p=e+1936|0;o=c[o>>2]|0;l=m+64|0;c[l>>2]=o;if((o|0)==0?(b[r+2>>1]|0)==0:0)c[l>>2]=16777215;else u=36;if((u|0)==36?Te(l,q,1,c[n>>2]|0)|0:0){k=1;return k|0}n=h+8|0;o=e+1940|0;p=c[p>>2]|0;l=m+128|0;c[l>>2]=p;if((p|0)==0?(b[r+4>>1]|0)==0:0)c[l>>2]=16777215;else u=40;if((u|0)==40?Te(l,q,1,c[n>>2]|0)|0:0){k=1;return k|0}n=h+12|0;p=e+1944|0;o=c[o>>2]|0;l=m+192|0;c[l>>2]=o;if((o|0)==0?(b[r+6>>1]|0)==0:0)c[l>>2]=16777215;else u=44;if((u|0)==44?Te(l,q,1,c[n>>2]|0)|0:0){k=1;return k|0}n=h+16|0;o=e+1948|0;p=c[p>>2]|0;l=m+256|0;c[l>>2]=p;if((p|0)==0?(b[r+8>>1]|0)==0:0)c[l>>2]=16777215;else u=48;if((u|0)==48?Te(l,q,1,c[n>>2]|0)|0:0){k=1;return k|0}n=h+20|0;p=e+1952|0;o=c[o>>2]|0;l=m+320|0;c[l>>2]=o;if((o|0)==0?(b[r+10>>1]|0)==0:0)c[l>>2]=16777215;else u=52;if((u|0)==52?Te(l,q,1,c[n>>2]|0)|0:0){k=1;return k|0}n=h+24|0;o=e+1956|0;p=c[p>>2]|0;l=m+384|0;c[l>>2]=p;if((p|0)==0?(b[r+12>>1]|0)==0:0)c[l>>2]=16777215;else u=56;if((u|0)==56?Te(l,q,1,c[n>>2]|0)|0:0){k=1;return k|0}h=h+28|0;p=c[o>>2]|0;l=m+448|0;c[l>>2]=p;if((p|0)==0?(b[r+14>>1]|0)==0:0)c[l>>2]=16777215;else u=60;if((u|0)==60?Te(l,q,1,c[h>>2]|0)|0:0){k=1;return k|0}if(s>>>0>=6){l=Af(d,e,f,i,j,k)|0;if(l|0){k=l;return k|0}}else u=110}else{df(p,0,54);c[d+20>>2]=c[h>>2];u=110}if((u|0)==110?(t=Bf(d,e,g,i,f,k)|0,t|0):0){k=t;return k|0}k=0;return k|0}function yf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[a+4>>2]|0;g=c[a+12>>2]|0;e=c[a+16>>2]|0;d=c[a+20>>2]|0;a=f<<2;h=c[b+4>>2]|0;c[g>>2]=c[b>>2];c[g+4>>2]=h;h=c[b+12>>2]|0;c[g+8>>2]=c[b+8>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+20>>2]|0;c[g>>2]=c[b+16>>2];c[g+4>>2]=h;h=c[b+28>>2]|0;c[g+8>>2]=c[b+24>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+36>>2]|0;c[g>>2]=c[b+32>>2];c[g+4>>2]=h;h=c[b+44>>2]|0;c[g+8>>2]=c[b+40>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+52>>2]|0;c[g>>2]=c[b+48>>2];c[g+4>>2]=h;h=c[b+60>>2]|0;c[g+8>>2]=c[b+56>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+68>>2]|0;c[g>>2]=c[b+64>>2];c[g+4>>2]=h;h=c[b+76>>2]|0;c[g+8>>2]=c[b+72>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+84>>2]|0;c[g>>2]=c[b+80>>2];c[g+4>>2]=h;h=c[b+92>>2]|0;c[g+8>>2]=c[b+88>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+100>>2]|0;c[g>>2]=c[b+96>>2];c[g+4>>2]=h;h=c[b+108>>2]|0;c[g+8>>2]=c[b+104>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+116>>2]|0;c[g>>2]=c[b+112>>2];c[g+4>>2]=h;h=c[b+124>>2]|0;c[g+8>>2]=c[b+120>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+132>>2]|0;c[g>>2]=c[b+128>>2];c[g+4>>2]=h;h=c[b+140>>2]|0;c[g+8>>2]=c[b+136>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+148>>2]|0;c[g>>2]=c[b+144>>2];c[g+4>>2]=h;h=c[b+156>>2]|0;c[g+8>>2]=c[b+152>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+164>>2]|0;c[g>>2]=c[b+160>>2];c[g+4>>2]=h;h=c[b+172>>2]|0;c[g+8>>2]=c[b+168>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+180>>2]|0;c[g>>2]=c[b+176>>2];c[g+4>>2]=h;h=c[b+188>>2]|0;c[g+8>>2]=c[b+184>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+196>>2]|0;c[g>>2]=c[b+192>>2];c[g+4>>2]=h;h=c[b+204>>2]|0;c[g+8>>2]=c[b+200>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+212>>2]|0;c[g>>2]=c[b+208>>2];c[g+4>>2]=h;h=c[b+220>>2]|0;c[g+8>>2]=c[b+216>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+228>>2]|0;c[g>>2]=c[b+224>>2];c[g+4>>2]=h;h=c[b+236>>2]|0;c[g+8>>2]=c[b+232>>2];c[g+12>>2]=h;a=g+(a<<2)|0;g=c[b+244>>2]|0;c[a>>2]=c[b+240>>2];c[a+4>>2]=g;g=c[b+252>>2]|0;c[a+8>>2]=c[b+248>>2];c[a+12>>2]=g;a=f<<1&2147483646;f=c[b+260>>2]|0;c[e>>2]=c[b+256>>2];c[e+4>>2]=f;e=e+(a<<2)|0;f=c[b+268>>2]|0;c[e>>2]=c[b+264>>2];c[e+4>>2]=f;e=e+(a<<2)|0;f=c[b+276>>2]|0;c[e>>2]=c[b+272>>2];c[e+4>>2]=f;e=e+(a<<2)|0;f=c[b+284>>2]|0;c[e>>2]=c[b+280>>2];c[e+4>>2]=f;e=e+(a<<2)|0;f=c[b+292>>2]|0;c[e>>2]=c[b+288>>2];c[e+4>>2]=f;e=e+(a<<2)|0;f=c[b+300>>2]|0;c[e>>2]=c[b+296>>2];c[e+4>>2]=f;e=e+(a<<2)|0;f=c[b+308>>2]|0;c[e>>2]=c[b+304>>2];c[e+4>>2]=f;e=e+(a<<2)|0;f=c[b+316>>2]|0;c[e>>2]=c[b+312>>2];c[e+4>>2]=f;e=c[b+324>>2]|0;c[d>>2]=c[b+320>>2];c[d+4>>2]=e;d=d+(a<<2)|0;e=c[b+332>>2]|0;c[d>>2]=c[b+328>>2];c[d+4>>2]=e;d=d+(a<<2)|0;e=c[b+340>>2]|0;c[d>>2]=c[b+336>>2];c[d+4>>2]=e;d=d+(a<<2)|0;e=c[b+348>>2]|0;c[d>>2]=c[b+344>>2];c[d+4>>2]=e;d=d+(a<<2)|0;e=c[b+356>>2]|0;c[d>>2]=c[b+352>>2];c[d+4>>2]=e;d=d+(a<<2)|0;e=c[b+364>>2]|0;c[d>>2]=c[b+360>>2];c[d+4>>2]=e;d=d+(a<<2)|0;e=c[b+372>>2]|0;c[d>>2]=c[b+368>>2];c[d+4>>2]=e;a=d+(a<<2)|0;d=c[b+380>>2]|0;c[a>>2]=c[b+376>>2];c[a+4>>2]=d;return}function zf(a,b,c){a=a|0;b=b|0;c=c|0;xl(a|0,b|0,c|0)|0;return}function Af(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=Dc;Dc=Dc+80|0;h=j+32|0;i=j;Wf(d,h,i,e);if((Xf(c[a>>2]|0)|0)==1){e=Yf(a,g,b+328|0,h,i,f)|0;if(e|0){a=e;Dc=j;return a|0}}else{e=Zf(a,g,b,h,i,f)|0;if(e|0){a=e;Dc=j;return a|0}}e=_f(a,g+256|0,b+1352|0,h+21|0,i+16|0,c[b+140>>2]|0,f)|0;if(e|0){a=e;Dc=j;return a|0}if((c[a+196>>2]|0)>>>0>1){a=0;Dc=j;return a|0}yf(d,g);a=0;Dc=j;return a|0} +function Ag(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;n=v(f,e)|0;m=c[b+12>>2]|0;if((m|0)==1){df(a,0,n<<2);return}g=c[b+16>>2]|0;if((g+-3|0)>>>0<3){d=v(c[b+36>>2]|0,d)|0;d=d>>>0>>0?d:n;if((g&-2|0)==4){k=(c[b+32>>2]|0)==0?d:n-d|0;h=6}else t=d}else{k=0;d=0;h=6}a:do if((h|0)==6)switch(g|0){case 3:{t=d;break a}case 0:{j=c[b+20>>2]|0;if(!m){if(!n)return;while(1){}}d=0;while(1){if(d>>>0>=n>>>0){h=66;break}k=0;do{i=j+(k<<2)|0;g=c[i>>2]|0;b:do if(!g)g=0;else{b=0;do{h=b+d|0;if(h>>>0>=n>>>0)break b;c[a+(h<<2)>>2]=k;b=b+1|0;g=c[i>>2]|0}while(b>>>0>>0)}while(0);k=k+1|0;d=g+d|0;g=d>>>0>>0}while(k>>>0>>0&g);if(!g){h=66;break}}if((h|0)==66)return;break}case 1:{if(!n)return;d=0;do{t=(d>>>0)/(e>>>0)|0;c[a+(d<<2)>>2]=((((v(t,m)|0)>>>1)+(d-(v(t,e)|0))|0)>>>0)%(m>>>0)|0;d=d+1|0}while((d|0)!=(n|0));return}case 2:{l=c[b+24>>2]|0;f=c[b+28>>2]|0;g=m+-1|0;if(n|0){d=0;do{c[a+(d<<2)>>2]=g;d=d+1|0}while((d|0)!=(n|0));if(!g)return}j=m+-2|0;while(1){b=c[l+(j<<2)>>2]|0;d=(b>>>0)/(e>>>0)|0;b=b-(v(d,e)|0)|0;i=c[f+(j<<2)>>2]|0;k=(i>>>0)/(e>>>0)|0;i=i-(v(k,e)|0)|0;c:do if(d>>>0<=k>>>0){if(b>>>0>i>>>0)while(1){d=d+1|0;if(d>>>0>k>>>0)break c}do{g=v(d,e)|0;h=b;do{c[a+(h+g<<2)>>2]=j;h=h+1|0}while(h>>>0<=i>>>0);d=d+1|0}while(d>>>0<=k>>>0)}while(0);if(!j)break;else j=j+-1|0}return}case 4:{d=c[b+32>>2]|0;if(!n)return;h=1-d|0;g=0;do{c[a+(g<<2)>>2]=g>>>0>>0?d:h;g=g+1|0}while((g|0)!=(n|0));return}case 5:{d=c[b+32>>2]|0;if(!e)return;j=1-d|0;if(!f)return;h=0;b=0;while(1){g=0;i=b;while(1){t=a+((v(g,e)|0)+h<<2)|0;c[t>>2]=i>>>0>>0?d:j;g=g+1|0;if((g|0)==(f|0))break;else i=i+1|0}h=h+1|0;if((h|0)==(e|0))break;else b=b+f|0}return}default:{if(!n)return;d=c[b+44>>2]|0;g=0;do{c[a+(g<<2)>>2]=c[d+(g<<2)>>2];g=g+1|0}while((g|0)!=(n|0));return}}while(0);h=c[b+32>>2]|0;if(n|0){d=0;do{c[a+(d<<2)>>2]=1;d=d+1|0}while((d|0)!=(n|0))}d=(e-h|0)>>>1;g=(f-h|0)>>>1;if(!t)return;s=h<<1;q=s+-1|0;r=e+-1|0;s=1-s|0;p=f+-1|0;m=g;o=0;n=d;b=d;i=g;j=d;k=h+-1|0;f=g;while(1){d=a+((v(f,e)|0)+j<<2)|0;g=(c[d>>2]|0)==1;l=g&1;if(g)c[d>>2]=0;do if(!((k|0)==-1&(j|0)==(n|0))){if((k|0)==1&(j|0)==(b|0)){j=b+1|0;j=(j|0)<(r|0)?j:r;d=m;g=n;b=j;k=0;h=s;break}if((h|0)==-1&(f|0)==(i|0)){f=i+-1|0;f=(f|0)>0?f:0;d=m;g=n;i=f;k=s;h=0;break}if((h|0)==1&(f|0)==(m|0)){f=m+1|0;f=(f|0)<(p|0)?f:p;d=f;g=n;k=q;h=0;break}else{d=m;g=n;j=j+k|0;f=f+h|0;break}}else{j=n+-1|0;j=(j|0)>0?j:0;d=m;g=j;k=0;h=q}while(0);o=o+l|0;if(o>>>0>=t>>>0)break;else{m=d;n=g}}return}function Bg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=Dc;Dc=Dc+32|0;g=s+24|0;i=s+20|0;j=s+16|0;m=s+12|0;q=s+8|0;p=s;c[e>>2]=0;switch(c[b>>2]|0){case 6:case 7:case 8:case 9:case 10:case 11:case 13:case 14:case 15:case 16:case 17:case 18:{c[e>>2]=1;b=0;Dc=s;return b|0}case 5:case 1:{r=d+1300|0;f=d+1332|0;if(c[f>>2]|0){c[e>>2]=1;c[f>>2]=0}f=of(a,g)|0;if(f|0){b=f;Dc=s;return b|0}k=c[d+148+(c[g>>2]<<2)>>2]|0;if(!k){b=65520;Dc=s;return b|0}f=c[k+4>>2]|0;l=c[d+20+(f<<2)>>2]|0;if(!l){b=65520;Dc=s;return b|0}g=c[d+8>>2]|0;if(!((g|0)==32|(f|0)==(g|0))?(c[b>>2]|0)!=5:0){b=65520;Dc=s;return b|0}f=c[d+1304>>2]|0;g=c[b+4>>2]|0;if((f|0)!=(g|0)?(f|0)==0|(g|0)==0:0)c[e>>2]=1;f=(c[b>>2]|0)==5;if((c[r>>2]|0)==5){if(!f)h=16}else if(f)h=16;if((h|0)==16)c[e>>2]=1;g=l+12|0;if(pf(a,c[g>>2]|0,i)|0){b=1;Dc=s;return b|0}h=d+1308|0;f=c[i>>2]|0;if((c[h>>2]|0)!=(f|0)){c[h>>2]=f;c[e>>2]=1}if((c[b>>2]|0)==5){if(qf(a,c[g>>2]|0,5,j)|0){b=1;Dc=s;return b|0}if((c[r>>2]|0)==5){f=d+1312|0;h=c[f>>2]|0;g=c[j>>2]|0;if((h|0)==(g|0))g=h;else c[e>>2]=1}else{g=c[j>>2]|0;f=d+1312|0}c[f>>2]=g}switch(c[l+16>>2]|0){case 0:{if(rf(a,l,c[b>>2]|0,m)|0){b=1;Dc=s;return b|0}g=d+1316|0;f=c[m>>2]|0;if((c[g>>2]|0)!=(f|0)){c[g>>2]=f;c[e>>2]=1}if(c[k+8>>2]|0){f=sf(a,l,c[b>>2]|0,q)|0;if(f|0){b=f;Dc=s;return b|0}g=d+1320|0;f=c[q>>2]|0;if((c[g>>2]|0)!=(f|0)){c[g>>2]=f;c[e>>2]=1}}break}case 1:{if(!(c[l+24>>2]|0)){h=k+8|0;f=tf(a,l,c[b>>2]|0,c[h>>2]|0,p)|0;if(f|0){b=f;Dc=s;return b|0}g=d+1324|0;f=c[p>>2]|0;if((c[g>>2]|0)!=(f|0)){c[g>>2]=f;c[e>>2]=1}if(c[h>>2]|0?(o=d+1328|0,n=c[p+4>>2]|0,(c[o>>2]|0)!=(n|0)):0){c[o>>2]=n;c[e>>2]=1}}break}default:{}}d=b;e=c[d+4>>2]|0;b=r;c[b>>2]=c[d>>2];c[b+4>>2]=e;b=0;Dc=s;return b|0}default:{b=0;Dc=s;return b|0}}return 0}function Cg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=0;a:while(1){d=c[a+148+(k<<2)>>2]|0;b:do if(d|0?(j=c[a+20+(c[d+4>>2]<<2)>>2]|0,j|0):0){i=c[j+52>>2]|0;l=v(c[j+56>>2]|0,i)|0;e=c[d+12>>2]|0;if(e>>>0<=1){b=0;d=18;break a}b=c[d+16>>2]|0;switch(b|0){case 0:{b=c[d+20>>2]|0;d=0;while(1){if((c[b+(d<<2)>>2]|0)>>>0>l>>>0)break b;d=d+1|0;if(d>>>0>=e>>>0){b=0;d=18;break a}}}case 2:{h=e+-1|0;g=c[d+24>>2]|0;d=c[d+28>>2]|0;f=0;while(1){e=c[g+(f<<2)>>2]|0;b=c[d+(f<<2)>>2]|0;if(!(e>>>0<=b>>>0&b>>>0>>0))break b;f=f+1|0;if(((e>>>0)%(i>>>0)|0)>>>0>((b>>>0)%(i>>>0)|0)>>>0)break b;if(f>>>0>=h>>>0){b=0;d=18;break a}}}default:{if((b+-3|0)>>>0<3)if((c[d+36>>2]|0)>>>0>l>>>0)break b;else{b=0;d=18;break a}if((b|0)!=6){b=0;d=18;break a}if((c[d+40>>2]|0)>>>0>>0)break b;else{b=0;d=18;break a}}}}while(0);k=k+1|0;if(k>>>0>=256){b=1;d=18;break}}if((d|0)==18)return b|0;return 0}function Dg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=c[a+40>>2]|0;if(g|0){h=c[a>>2]|0;j=a+32|0;i=0;do{if(((c[h+(i*40|0)+20>>2]|0)+-1|0)>>>0<2){f=c[h+(i*40|0)+12>>2]|0;if(f>>>0>d>>>0)f=f-(c[j>>2]|0)|0;c[h+(i*40|0)+8>>2]=f}i=i+1|0}while((i|0)!=(g|0))}if(!(c[b>>2]|0)){b=0;return b|0}f=c[b+4>>2]|0;if(f>>>0>=3){b=0;return b|0}o=a+24|0;n=a+32|0;m=a+4|0;k=d;l=0;a:while(1){b:do if((f|0)==2){f=c[b+4+(l*12|0)+8>>2]|0;g=c[o>>2]|0;if(!g){f=1;g=39;break a}i=c[a>>2]|0;h=0;while(1){if((c[i+(h*40|0)+20>>2]|0)==3?(c[i+(h*40|0)+8>>2]|0)==(f|0):0){j=3;g=i;break b}h=h+1|0;if(h>>>0>=g>>>0){f=1;g=39;break a}}}else{g=c[b+4+(l*12|0)+4>>2]|0;if(!f){f=k-g|0;if((f|0)<0)f=(c[n>>2]|0)+f|0}else{k=g+k|0;f=c[n>>2]|0;f=k-((k|0)<(f|0)?0:f)|0}if(f>>>0>d>>>0)i=f-(c[n>>2]|0)|0;else i=f;g=c[o>>2]|0;if(!g){f=1;g=39;break a}k=c[a>>2]|0;h=0;while(1){j=c[k+(h*40|0)+20>>2]|0;if((j+-1|0)>>>0<2?(c[k+(h*40|0)+8>>2]|0)==(i|0):0){g=k;k=f;break b}h=h+1|0;if(h>>>0>=g>>>0){f=1;g=39;break a}}}while(0);if(!((h|0)>-1&j>>>0>1)){f=1;g=39;break}if(l>>>0>>0){f=e;do{i=c[m>>2]|0;j=f;f=f+-1|0;c[i+(j<<2)>>2]=c[i+(f<<2)>>2]}while(f>>>0>l>>>0);f=c[a>>2]|0}else f=g;c[(c[m>>2]|0)+(l<<2)>>2]=f+(h*40|0);l=l+1|0;if(l>>>0<=e>>>0){j=l;f=l;do{g=c[m>>2]|0;i=c[g+(j<<2)>>2]|0;if((i|0)!=((c[a>>2]|0)+(h*40|0)|0)){c[g+(f<<2)>>2]=i;f=f+1|0}j=j+1|0}while(j>>>0<=e>>>0)}f=c[b+4+(l*12|0)>>2]|0;if(f>>>0>=3){f=0;g=39;break}}if((g|0)==39)return f|0;return 0}function Eg(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=a+8|0;j=c[z>>2]|0;if((c[d>>2]|0)!=(c[j>>2]|0)){a=1;return a|0}u=a+52|0;c[u>>2]=0;A=a+56|0;d=(c[A>>2]|0)==0;y=d&1;do if(!b){c[j+20>>2]=0;c[j+12>>2]=e;c[j+8>>2]=e;c[j+16>>2]=f;c[j+24>>2]=y;if(d){q=a+44|0;c[q>>2]=(c[q>>2]|0)+1;q=0}else q=0}else{if(g|0){j=a+20|0;c[j>>2]=0;d=a+16|0;c[d>>2]=0;Fg(a);if(!((c[b>>2]|0)==0?!(c[A>>2]|0):0)){c[d>>2]=0;c[j>>2]=0}f=(c[b+4>>2]|0)==0;q=c[z>>2]|0;c[q+20>>2]=f?2:3;c[a+36>>2]=f?65535:0;c[q+12>>2]=0;c[q+8>>2]=0;c[q+16>>2]=0;c[q+24>>2]=y;c[a+44>>2]=1;c[a+40>>2]=1;q=0;break}if(!(c[b+8>>2]|0)){j=a+40|0;l=c[j>>2]|0;p=c[a+24>>2]|0;if(l>>>0>=p>>>0)if(l){o=c[a>>2]|0;m=0;d=-1;k=0;while(1){if(((c[o+(m*40|0)+20>>2]|0)+-1|0)>>>0<2){b=c[o+(m*40|0)+8>>2]|0;x=(d|0)==-1|(b|0)<(k|0);n=x?m:d;k=x?b:k}else n=d;m=m+1|0;if((m|0)==(l|0))break;else d=n}if((n|0)>-1){c[o+(n*40|0)+20>>2]=0;d=l+-1|0;c[j>>2]=d;if(!(c[o+(n*40|0)+24>>2]|0)){l=a+44|0;c[l>>2]=(c[l>>2]|0)+-1;l=d;k=p;d=0}else{l=d;k=p;d=0}}else{k=p;d=1}}else{l=0;k=p;d=1}else{k=p;d=0}}else{v=a+24|0;t=a+36|0;j=a+40|0;s=a+44|0;q=0;r=0;a:while(1){d=c[b+12+(q*20|0)>>2]|0;b:do switch(d|0){case 0:{x=77;break a}case 1:{n=e-(c[b+12+(q*20|0)+4>>2]|0)|0;l=c[v>>2]|0;if(!l){d=1;break a}m=c[a>>2]|0;d=0;while(1){k=m+(d*40|0)+20|0;if(((c[k>>2]|0)+-1|0)>>>0<2?(c[m+(d*40|0)+8>>2]|0)==(n|0):0)break;d=d+1|0;if(d>>>0>=l>>>0){d=1;break a}}if((d|0)<0){d=1;break a}c[k>>2]=0;c[j>>2]=(c[j>>2]|0)+-1;if(!(c[m+(d*40|0)+24>>2]|0)){c[s>>2]=(c[s>>2]|0)+-1;d=r}else d=r;break}case 2:{l=c[b+12+(q*20|0)+8>>2]|0;m=c[v>>2]|0;if(!m){d=1;break a}n=c[a>>2]|0;d=0;while(1){k=n+(d*40|0)+20|0;if((c[k>>2]|0)==3?(c[n+(d*40|0)+8>>2]|0)==(l|0):0)break;d=d+1|0;if(d>>>0>=m>>>0){d=1;break a}}if((d|0)<0){d=1;break a}c[k>>2]=0;c[j>>2]=(c[j>>2]|0)+-1;if(!(c[n+(d*40|0)+24>>2]|0)){c[s>>2]=(c[s>>2]|0)+-1;d=r}else d=r;break}case 3:{d=c[b+12+(q*20|0)+4>>2]|0;n=c[b+12+(q*20|0)+12>>2]|0;p=c[t>>2]|0;if((p|0)==65535|p>>>0>>0){d=1;break a}o=c[v>>2]|0;if(!o){d=1;break a}p=c[a>>2]|0;k=0;while(1){m=p+(k*40|0)+20|0;if((c[m>>2]|0)==3?(c[p+(k*40|0)+8>>2]|0)==(n|0):0){x=34;break}l=k+1|0;if(l>>>0>>0)k=l;else break}if((x|0)==34?(x=0,c[m>>2]=0,c[j>>2]=(c[j>>2]|0)+-1,(c[p+(k*40|0)+24>>2]|0)==0):0)c[s>>2]=(c[s>>2]|0)+-1;m=e-d|0;d=0;while(1){l=p+(d*40|0)+20|0;k=c[l>>2]|0;if((k+-1|0)>>>0<2?(w=p+(d*40|0)+8|0,(c[w>>2]|0)==(m|0)):0)break;d=d+1|0;if(d>>>0>=o>>>0){d=1;break a}}if(!((d|0)>-1&k>>>0>1)){d=1;break a}c[l>>2]=3;c[w>>2]=n;d=r;break}case 4:{d=c[b+12+(q*20|0)+16>>2]|0;c[t>>2]=d;m=c[v>>2]|0;if(!m)d=r;else{n=c[a>>2]|0;if((d|0)==65535){d=0;while(1){k=n+(d*40|0)+20|0;if((c[k>>2]|0)==3?(c[k>>2]=0,c[j>>2]=(c[j>>2]|0)+-1,(c[n+(d*40|0)+24>>2]|0)==0):0)c[s>>2]=(c[s>>2]|0)+-1;d=d+1|0;if((d|0)==(m|0)){d=r;break b}}}k=0;do{l=n+(k*40|0)+20|0;if(((c[l>>2]|0)==3?(c[n+(k*40|0)+8>>2]|0)>>>0>d>>>0:0)?(c[l>>2]=0,c[j>>2]=(c[j>>2]|0)+-1,(c[n+(k*40|0)+24>>2]|0)==0):0)c[s>>2]=(c[s>>2]|0)+-1;k=k+1|0}while((k|0)!=(m|0));d=r}break}case 5:{Fg(a);c[u>>2]=1;e=0;d=r;break}case 6:{n=c[b+12+(q*20|0)+12>>2]|0;p=c[t>>2]|0;if((p|0)==65535|p>>>0>>0){d=1;break a}k=c[v>>2]|0;c:do if(k){m=c[a>>2]|0;d=0;while(1){l=m+(d*40|0)+20|0;if((c[l>>2]|0)==3?(c[m+(d*40|0)+8>>2]|0)==(n|0):0)break;d=d+1|0;if(d>>>0>=k>>>0)break c}c[l>>2]=0;c[j>>2]=(c[j>>2]|0)+-1;if(!(c[m+(d*40|0)+24>>2]|0))c[s>>2]=(c[s>>2]|0)+-1}else k=0;while(0);d=c[j>>2]|0;if(d>>>0>=k>>>0){d=1;break a}r=c[z>>2]|0;c[r+12>>2]=e;c[r+8>>2]=n;c[r+16>>2]=f;c[r+20>>2]=3;c[r+24>>2]=(c[A>>2]|0)==0&1;c[j>>2]=d+1;c[s>>2]=(c[s>>2]|0)+1;d=1;break}default:{d=1;break a}}while(0);q=q+1|0;r=d}if(r|0){q=d;break}l=c[j>>2]|0;k=c[v>>2]|0}if(l>>>0>>0){q=c[z>>2]|0;c[q+12>>2]=e;c[q+8>>2]=e;c[q+16>>2]=f;c[q+20>>2]=2;c[q+24>>2]=y;q=a+44|0;c[q>>2]=(c[q>>2]|0)+1;c[j>>2]=l+1;q=d}else q=1}while(0);d=c[z>>2]|0;c[d+36>>2]=g;c[d+28>>2]=h;c[d+32>>2]=i;if(!(c[A>>2]|0)){n=a+44|0;j=c[n>>2]|0;d=c[a+28>>2]|0;if(j>>>0>d>>>0){m=c[a>>2]|0;p=a+12|0;o=a+16|0;do{l=0;e=2147483647;k=0;do{if(c[m+(l*40|0)+24>>2]|0){g=c[m+(l*40|0)+16>>2]|0;i=(g|0)<(e|0);e=i?g:e;k=i?m+(l*40|0)|0:k}l=l+1|0}while(l>>>0<=d>>>0);if((k|0)!=0?(g=c[p>>2]|0,i=c[o>>2]|0,c[g+(i<<4)>>2]=c[k>>2],c[g+(i<<4)+12>>2]=c[k+36>>2],c[g+(i<<4)+4>>2]=c[k+28>>2],c[g+(i<<4)+8>>2]=c[k+32>>2],c[o>>2]=i+1,c[k+24>>2]=0,(c[k+20>>2]|0)==0):0){j=j+-1|0;c[n>>2]=j}}while(j>>>0>d>>>0)}}else{y=c[a+12>>2]|0;A=a+16|0;z=c[A>>2]|0;c[y+(z<<4)>>2]=c[d>>2];c[y+(z<<4)+12>>2]=g;c[y+(z<<4)+4>>2]=h;c[y+(z<<4)+8>>2]=i;c[A>>2]=z+1;d=c[a+28>>2]|0}Gg(c[a>>2]|0,d+1|0);a=q;return a|0}function Fg(a){a=a|0;var b=0,d=0,e=0;d=c[a>>2]|0;e=a+44|0;b=d+20|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+24>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+60|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+64>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+100|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+104>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+140|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+144>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+180|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+184>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+220|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+224>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+260|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+264>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+300|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+304>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+340|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+344>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+380|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+384>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+420|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+424>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+460|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+464>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+500|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+504>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+540|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+544>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+580|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+584>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+620|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+624>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;do{}while(!(Hg(a)|0));c[a+40>>2]=0;c[a+36>>2]=65535;c[a+48>>2]=0;return}function Gg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=Dc;Dc=Dc+32|0;o=q+16|0;p=q;if(b>>>0>7){j=7;do{d=a+(j*40|0)|0;i=d;h=c[i>>2]|0;i=c[i+4>>2]|0;k=c[a+(j*40|0)+8>>2]|0;n=a+(j*40|0)+12|0;m=c[n+4>>2]|0;l=o;c[l>>2]=c[n>>2];c[l+4>>2]=m;l=c[a+(j*40|0)+20>>2]|0;m=c[a+(j*40|0)+24>>2]|0;n=a+(j*40|0)+28|0;c[p>>2]=c[n>>2];c[p+4>>2]=c[n+4>>2];c[p+8>>2]=c[n+8>>2];a:do if(j>>>0<7)e=j;else{if(!l){if(!m){e=j;break}e=j;while(1){d=a+(e*40|0)|0;f=d+-280|0;if(c[f+20>>2]|0)break a;if(c[f+24>>2]|0)break a;e=e+-7|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(e>>>0<7){d=f;break a}}}if((l+-1|0)>>>0<2){e=j;while(1){d=a+(e*40|0)|0;n=d+-280|0;g=c[n+20>>2]|0;if((g|0)!=0&(g+-1|0)>>>0<2?(c[n+8>>2]|0)>=(k|0):0)break a;e=e+-7|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(e>>>0<7){d=f;break a}}}e=j;while(1){d=a+(e*40|0)|0;g=d+-280|0;f=c[g+20>>2]|0;if(f|0){if((f+-1|0)>>>0<2)break a;if((c[g+8>>2]|0)<=(k|0))break a}e=e+-7|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(e>>>0<7){d=f;break}}}while(0);n=d;c[n>>2]=h;c[n+4>>2]=i;c[a+(e*40|0)+8>>2]=k;i=o;k=c[i+4>>2]|0;n=a+(e*40|0)+12|0;c[n>>2]=c[i>>2];c[n+4>>2]=k;c[a+(e*40|0)+20>>2]=l;c[a+(e*40|0)+24>>2]=m;n=a+(e*40|0)+28|0;c[n>>2]=c[p>>2];c[n+4>>2]=c[p+4>>2];c[n+8>>2]=c[p+8>>2];j=j+1|0}while((j|0)!=(b|0))}if(b>>>0>3){j=3;do{d=a+(j*40|0)|0;i=d;h=c[i>>2]|0;i=c[i+4>>2]|0;k=c[a+(j*40|0)+8>>2]|0;n=a+(j*40|0)+12|0;m=c[n+4>>2]|0;l=o;c[l>>2]=c[n>>2];c[l+4>>2]=m;l=c[a+(j*40|0)+20>>2]|0;m=c[a+(j*40|0)+24>>2]|0;n=a+(j*40|0)+28|0;c[p>>2]=c[n>>2];c[p+4>>2]=c[n+4>>2];c[p+8>>2]=c[n+8>>2];b:do if(j>>>0<3)e=j;else{if(!l){if(!m){e=j;break}e=j;while(1){d=a+(e*40|0)|0;f=d+-120|0;if(c[f+20>>2]|0)break b;if(c[f+24>>2]|0)break b;e=e+-3|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(e>>>0<3){d=f;break b}}}if((l+-1|0)>>>0<2){e=j;while(1){d=a+(e*40|0)|0;n=d+-120|0;g=c[n+20>>2]|0;if((g|0)!=0&(g+-1|0)>>>0<2?(c[n+8>>2]|0)>=(k|0):0)break b;e=e+-3|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(e>>>0<3){d=f;break b}}}e=j;while(1){d=a+(e*40|0)|0;g=d+-120|0;f=c[g+20>>2]|0;if(f|0){if((f+-1|0)>>>0<2)break b;if((c[g+8>>2]|0)<=(k|0))break b}e=e+-3|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(e>>>0<3){d=f;break}}}while(0);n=d;c[n>>2]=h;c[n+4>>2]=i;c[a+(e*40|0)+8>>2]=k;i=o;k=c[i+4>>2]|0;n=a+(e*40|0)+12|0;c[n>>2]=c[i>>2];c[n+4>>2]=k;c[a+(e*40|0)+20>>2]=l;c[a+(e*40|0)+24>>2]=m;n=a+(e*40|0)+28|0;c[n>>2]=c[p>>2];c[n+4>>2]=c[p+4>>2];c[n+8>>2]=c[p+8>>2];j=j+1|0}while((j|0)!=(b|0))}if(b>>>0<=1){Dc=q;return}j=1;do{d=a+(j*40|0)|0;i=d;h=c[i>>2]|0;i=c[i+4>>2]|0;k=c[a+(j*40|0)+8>>2]|0;n=a+(j*40|0)+12|0;m=c[n+4>>2]|0;l=o;c[l>>2]=c[n>>2];c[l+4>>2]=m;l=c[a+(j*40|0)+20>>2]|0;m=c[a+(j*40|0)+24>>2]|0;n=a+(j*40|0)+28|0;c[p>>2]=c[n>>2];c[p+4>>2]=c[n+4>>2];c[p+8>>2]=c[n+8>>2];c:do if(!l)if(!m)e=j;else{e=j;while(1){d=a+(e*40|0)|0;f=d+-40|0;if(c[f+20>>2]|0)break c;if(c[f+24>>2]|0)break c;e=e+-1|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(!e){d=f;break}}}else{if((l+-1|0)>>>0<2){e=j;while(1){d=a+(e*40|0)|0;n=d+-40|0;g=c[n+20>>2]|0;if((g|0)!=0&(g+-1|0)>>>0<2?(c[n+8>>2]|0)>=(k|0):0)break c;e=e+-1|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(!e){d=f;break c}}}e=j;while(1){d=a+(e*40|0)|0;g=d+-40|0;f=c[g+20>>2]|0;if(f|0){if((f+-1|0)>>>0<2)break c;if((c[g+8>>2]|0)<=(k|0))break c}e=e+-1|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(!e){d=f;break}}}while(0);n=d;c[n>>2]=h;c[n+4>>2]=i;c[a+(e*40|0)+8>>2]=k;i=o;k=c[i+4>>2]|0;n=a+(e*40|0)+12|0;c[n>>2]=c[i>>2];c[n+4>>2]=k;c[a+(e*40|0)+20>>2]=l;c[a+(e*40|0)+24>>2]=m;n=a+(e*40|0)+28|0;c[n>>2]=c[p>>2];c[n+4>>2]=c[p+4>>2];c[n+8>>2]=c[p+8>>2];j=j+1|0}while((j|0)!=(b|0));Dc=q;return}function Hg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;if(c[a+56>>2]|0){g=1;return g|0}e=c[a>>2]|0;f=c[a+28>>2]|0;g=0;b=2147483647;d=0;do{if(c[e+(g*40|0)+24>>2]|0){i=c[e+(g*40|0)+16>>2]|0;h=(i|0)<(b|0);b=h?i:b;d=h?e+(g*40|0)|0:d}g=g+1|0}while(g>>>0<=f>>>0);if(!d){i=1;return i|0}g=c[a+12>>2]|0;i=a+16|0;h=c[i>>2]|0;c[g+(h<<4)>>2]=c[d>>2];c[g+(h<<4)+12>>2]=c[d+36>>2];c[g+(h<<4)+4>>2]=c[d+28>>2];c[g+(h<<4)+8>>2]=c[d+32>>2];c[i>>2]=h+1;c[d+24>>2]=0;if(c[d+20>>2]|0){i=0;return i|0}i=a+44|0;c[i>>2]=(c[i>>2]|0)+-1;i=0;return i|0}function Ig(a){a=a|0;var b=0;b=(c[a>>2]|0)+((c[a+28>>2]|0)*40|0)|0;c[a+8>>2]=b;return c[b>>2]|0}function Jg(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if((b|0)!=0?(e=a+28|0,(c[e>>2]|0)!=-1):0){d=0;do{rg(c[b+(d*40|0)+4>>2]|0);b=c[a>>2]|0;c[b+(d*40|0)+4>>2]=0;d=d+1|0}while(d>>>0<((c[e>>2]|0)+1|0)>>>0)}rg(b);c[a>>2]=0;e=a+4|0;rg(c[e>>2]|0);c[e>>2]=0;a=a+12|0;rg(c[a>>2]|0);c[a>>2]=0;return}function Kg(a){a=a|0;var b=0,d=0,e=0;b=c[a+40>>2]|0;if(!b)return;e=a+4|0;d=0;do{c[(c[e>>2]|0)+(d<<2)>>2]=(c[a>>2]|0)+(d*40|0);d=d+1|0}while(d>>>0>>0);return}function Lg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;t=a+16|0;c[t>>2]=0;c[a+20>>2]=0;if(!e){b=0;return b|0}v=a+48|0;e=c[v>>2]|0;f=(e|0)==(b|0);do if(!f?(r=a+32|0,g=c[r>>2]|0,h=((e+1|0)>>>0)%(g>>>0)|0,(h|0)!=(b|0)):0){s=a+28|0;u=c[(c[a>>2]|0)+((c[s>>2]|0)*40|0)>>2]|0;p=a+40|0;n=a+24|0;m=a+44|0;o=a+56|0;q=a+12|0;l=h;while(1){j=c[p>>2]|0;f=(j|0)==0;if(!f){e=c[a>>2]|0;h=0;do{if(((c[e+(h*40|0)+20>>2]|0)+-1|0)>>>0<2){k=c[e+(h*40|0)+12>>2]|0;c[e+(h*40|0)+8>>2]=k-(k>>>0>l>>>0?g:0)}h=h+1|0}while((h|0)!=(j|0))}if(j>>>0>=(c[n>>2]|0)>>>0){if(f){e=1;m=49;break}i=c[a>>2]|0;g=0;e=-1;f=0;while(1){if(((c[i+(g*40|0)+20>>2]|0)+-1|0)>>>0<2){k=c[i+(g*40|0)+8>>2]|0;w=(e|0)==-1|(k|0)<(f|0);h=w?g:e;f=w?k:f}else h=e;g=g+1|0;if((g|0)==(j|0))break;else e=h}if((h|0)<=-1){e=1;m=49;break}c[i+(h*40|0)+20>>2]=0;e=j+-1|0;c[p>>2]=e;if(!(c[i+(h*40|0)+24>>2]|0)){c[m>>2]=(c[m>>2]|0)+-1;j=e}else j=e}e=c[m>>2]|0;k=c[s>>2]|0;if(e>>>0>=k>>>0){if(c[o>>2]|0){m=21;break}i=c[a>>2]|0;do{h=0;f=2147483647;g=0;do{if(c[i+(h*40|0)+24>>2]|0){x=c[i+(h*40|0)+16>>2]|0;w=(x|0)<(f|0);f=w?x:f;g=w?i+(h*40|0)|0:g}h=h+1|0}while(h>>>0<=k>>>0);if((g|0)!=0?(w=c[q>>2]|0,x=c[t>>2]|0,c[w+(x<<4)>>2]=c[g>>2],c[w+(x<<4)+12>>2]=c[g+36>>2],c[w+(x<<4)+4>>2]=c[g+28>>2],c[w+(x<<4)+8>>2]=c[g+32>>2],c[t>>2]=x+1,c[g+24>>2]=0,(c[g+20>>2]|0)==0):0){e=e+-1|0;c[m>>2]=e}}while(e>>>0>=k>>>0)}g=c[a>>2]|0;c[g+(k*40|0)+20>>2]=1;c[g+(k*40|0)+12>>2]=l;c[g+(k*40|0)+8>>2]=l;c[g+(k*40|0)+16>>2]=0;c[g+(k*40|0)+24>>2]=0;c[m>>2]=e+1;c[p>>2]=j+1;Gg(g,k+1|0);g=c[r>>2]|0;l=((l+1|0)>>>0)%(g>>>0)|0;if((l|0)==(b|0)){m=33;break}}if((m|0)==21)while(1){}else if((m|0)==33){h=c[t>>2]|0;a:do if(h|0){g=c[q>>2]|0;l=c[a>>2]|0;i=c[s>>2]|0;k=l+(i*40|0)|0;e=c[k>>2]|0;j=e;f=0;while(1){if((c[g+(f<<4)>>2]|0)==(e|0))break;f=f+1|0;if(f>>>0>=h>>>0)break a}if(i|0){f=0;while(1){e=l+(f*40|0)|0;f=f+1|0;if((c[e>>2]|0)==(u|0))break;if(f>>>0>=i>>>0)break a}c[e>>2]=j;c[k>>2]=u}}while(0);if(d|0){m=46;break}e=c[v>>2]|0;break}else if((m|0)==49)return e|0}else m=42;while(0);if((m|0)==42)if(d)if(f){x=1;return x|0}else m=46;if((m|0)==46){c[v>>2]=b;x=0;return x|0}if((e|0)==(b|0)){x=0;return x|0}x=c[a+32>>2]|0;c[v>>2]=((b+-1+x|0)>>>0)%(x>>>0)|0;x=0;return x|0}function Mg(a){a=a|0;var b=0,d=0;d=a+20|0;b=c[d>>2]|0;if(b>>>0>=(c[a+16>>2]|0)>>>0){d=0;return d|0}a=c[a+12>>2]|0;c[d>>2]=b+1;d=a+(b<<4)|0;return d|0}function Ng(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=c[a>>2]|0;if(!f)return;c[a+60>>2]=1;if(c[a+56>>2]|0)return;g=c[a+28>>2]|0;i=a+12|0;h=a+16|0;e=a+44|0;a=0;b=2147483647;d=0;while(1){if(c[f+(a*40|0)+24>>2]|0){k=c[f+(a*40|0)+16>>2]|0;j=(k|0)<(b|0);b=j?k:b;d=j?f+(a*40|0)|0:d}a=a+1|0;if(a>>>0>g>>>0){if(!d)break;j=c[i>>2]|0;k=c[h>>2]|0;c[j+(k<<4)>>2]=c[d>>2];c[j+(k<<4)+12>>2]=c[d+36>>2];c[j+(k<<4)+4>>2]=c[d+28>>2];c[j+(k<<4)+8>>2]=c[d+32>>2];c[h>>2]=k+1;c[d+24>>2]=0;if(!(c[d+20>>2]|0)){c[e>>2]=(c[e>>2]|0)+-1;a=0;b=2147483647;d=0}else{a=0;b=2147483647;d=0}}}return}function Og(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0;Cb=Dc;Dc=Dc+176|0;Ia=Cb+40|0;mb=Cb;Ca=c[e+4>>2]|0;Ma=e+8|0;Bb=c[Ma>>2]|0;g=v(Bb,Ca)|0;if(!Bb){Dc=Cb;return}zb=Ia+24|0;Ab=Ia+16|0;Bb=Ia+8|0;Na=Ia+100|0;Oa=Ia+68|0;Pa=Ia+36|0;Qa=Ia+4|0;Fa=mb+28|0;Ja=mb+32|0;kb=mb+24|0;nb=Ia+120|0;ob=Ia+112|0;pb=Ia+104|0;qb=Ia+96|0;rb=Ia+88|0;sb=Ia+80|0;tb=Ia+72|0;ub=Ia+64|0;vb=Ia+56|0;wb=Ia+48|0;xb=Ia+40|0;yb=Ia+32|0;Ra=Ia+124|0;Sa=Ia+116|0;Ta=Ia+108|0;Ua=Ia+92|0;Va=Ia+84|0;Wa=Ia+76|0;Xa=Ia+60|0;Ya=Ia+52|0;Za=Ia+44|0;_a=Ia+28|0;$a=Ia+20|0;ab=Ia+12|0;eb=Ca<<4;Da=mb+12|0;Ea=mb+24|0;cb=Ca<<6;jb=0-eb|0;bb=jb<<1;ib=v(Ca,-48)|0;db=Ca<<5;gb=jb<<2;hb=Ca*48|0;Ha=mb+4|0;La=mb+8|0;Ga=mb+16|0;Ka=mb+20|0;lb=mb+12|0;fb=g<<8;ta=g<<6;ua=Ca<<3;ka=Ia+4|0;qa=Ia+36|0;ia=Ia+16|0;ma=Ia+20|0;oa=Ia+52|0;ya=Ia+8|0;la=Ia+68|0;Aa=Ia+24|0;ra=Ia+100|0;ja=Ia+80|0;na=Ia+84|0;pa=Ia+116|0;wa=Ia+24|0;va=Ia+64|0;za=Ia+72|0;Ba=Ia+88|0;xa=Ia+88|0;ga=0;sa=0;ha=f;while(1){g=c[ha+8>>2]|0;do if((g|0)!=1){fa=ha+200|0;n=c[fa>>2]|0;do if(!n)f=1;else{if((g|0)==2?(c[ha+4>>2]|0)!=(c[n+4>>2]|0):0){f=1;break}f=5}while(0);ea=ha+204|0;k=c[ea>>2]|0;do if(k){if((g|0)==2?(c[ha+4>>2]|0)!=(c[k+4>>2]|0):0)break;f=f|2}while(0);da=(f&2|0)==0;do if(da){c[zb>>2]=0;c[Ab>>2]=0;c[Bb>>2]=0;c[Ia>>2]=0;i=0}else{if((c[ha>>2]|0)>>>0<=5?(c[k>>2]|0)>>>0<=5:0){if((b[ha+28>>1]|0)==0?(b[k+48>>1]|0)==0:0)if((c[ha+116>>2]|0)==(c[k+124>>2]|0)?(ca=(b[ha+132>>1]|0)-(b[k+172>>1]|0)|0,(((ca|0)<0?0-ca|0:ca)|0)<=3):0){j=(b[ha+134>>1]|0)-(b[k+174>>1]|0)|0;j=(((j|0)<0?0-j|0:j)|0)>3&1}else j=1;else j=2;c[Ia>>2]=j;if((b[ha+30>>1]|0)==0?(b[k+50>>1]|0)==0:0)if((c[ha+116>>2]|0)==(c[k+124>>2]|0)?(ca=(b[ha+136>>1]|0)-(b[k+176>>1]|0)|0,(((ca|0)<0?0-ca|0:ca)|0)<=3):0){h=(b[ha+138>>1]|0)-(b[k+178>>1]|0)|0;h=(((h|0)<0?0-h|0:h)|0)>3&1}else h=1;else h=2;c[Bb>>2]=h;if((b[ha+36>>1]|0)==0?(b[k+56>>1]|0)==0:0)if((c[ha+120>>2]|0)==(c[k+128>>2]|0)?(ca=(b[ha+148>>1]|0)-(b[k+188>>1]|0)|0,(((ca|0)<0?0-ca|0:ca)|0)<=3):0){i=(b[ha+150>>1]|0)-(b[k+190>>1]|0)|0;i=(((i|0)<0?0-i|0:i)|0)>3&1}else i=1;else i=2;c[Ab>>2]=i;if((b[ha+38>>1]|0)==0?(b[k+58>>1]|0)==0:0)if((c[ha+120>>2]|0)==(c[k+128>>2]|0)?(ca=(b[ha+152>>1]|0)-(b[k+192>>1]|0)|0,(((ca|0)<0?0-ca|0:ca)|0)<=3):0){g=(b[ha+154>>1]|0)-(b[k+194>>1]|0)|0;g=(((g|0)<0?0-g|0:g)|0)>3&1}else g=1;else g=2;c[zb>>2]=g;i=(h|j|i|g|0)!=0&1;break}c[zb>>2]=4;c[Ab>>2]=4;c[Bb>>2]=4;c[Ia>>2]=4;i=1}while(0);ca=(f&4|0)==0;do if(ca){c[Na>>2]=0;c[Oa>>2]=0;c[Pa>>2]=0;c[Qa>>2]=0;g=0;f=c[ha>>2]|0;h=ha;ba=64}else{f=c[ha>>2]|0;if(f>>>0<=5?(c[n>>2]|0)>>>0<=5:0){if((b[ha+28>>1]|0)==0?(b[n+38>>1]|0)==0:0)if((c[ha+116>>2]|0)==(c[n+120>>2]|0)?(ba=(b[ha+132>>1]|0)-(b[n+152>>1]|0)|0,(((ba|0)<0?0-ba|0:ba)|0)<=3):0){k=(b[ha+134>>1]|0)-(b[n+154>>1]|0)|0;k=(((k|0)<0?0-k|0:k)|0)>3&1}else k=1;else k=2;c[Qa>>2]=k;if((b[ha+32>>1]|0)==0?(b[n+42>>1]|0)==0:0)if((c[ha+116>>2]|0)==(c[n+120>>2]|0)?(ba=(b[ha+140>>1]|0)-(b[n+160>>1]|0)|0,(((ba|0)<0?0-ba|0:ba)|0)<=3):0){l=(b[ha+142>>1]|0)-(b[n+162>>1]|0)|0;l=(((l|0)<0?0-l|0:l)|0)>3&1}else l=1;else l=2;c[Pa>>2]=l;if((b[ha+44>>1]|0)==0?(b[n+54>>1]|0)==0:0)if((c[ha+124>>2]|0)==(c[n+128>>2]|0)?(ba=(b[ha+164>>1]|0)-(b[n+184>>1]|0)|0,(((ba|0)<0?0-ba|0:ba)|0)<=3):0){m=(b[ha+166>>1]|0)-(b[n+186>>1]|0)|0;m=(((m|0)<0?0-m|0:m)|0)>3&1}else m=1;else m=2;c[Oa>>2]=m;if((b[ha+48>>1]|0)==0?(b[n+58>>1]|0)==0:0)if((c[ha+124>>2]|0)==(c[n+128>>2]|0)?(ba=(b[ha+172>>1]|0)-(b[n+192>>1]|0)|0,(((ba|0)<0?0-ba|0:ba)|0)<=3):0){j=(b[ha+174>>1]|0)-(b[n+194>>1]|0)|0;j=(((j|0)<0?0-j|0:j)|0)>3&1}else j=1;else j=2;c[Na>>2]=j;g=k;h=ha;i=(k|i|l|m|j|0)!=0&1;ba=66;break}c[Na>>2]=4;c[Oa>>2]=4;c[Pa>>2]=4;c[Qa>>2]=4;g=4;h=ha;i=1;ba=64}while(0);if((ba|0)==64){ba=0;if(f>>>0>5){c[nb>>2]=3;c[ob>>2]=3;c[pb>>2]=3;c[qb>>2]=3;c[rb>>2]=3;c[sb>>2]=3;c[tb>>2]=3;c[ub>>2]=3;c[vb>>2]=3;c[wb>>2]=3;c[xb>>2]=3;c[yb>>2]=3;c[Ra>>2]=3;c[Sa>>2]=3;c[Ta>>2]=3;c[Ua>>2]=3;c[Va>>2]=3;c[Wa>>2]=3;c[Xa>>2]=3;c[Ya>>2]=3;c[Za>>2]=3;c[_a>>2]=3;c[$a>>2]=3;c[ab>>2]=3}else ba=66}if((ba|0)==66){ba=0;a:do if((mg(f)|0)==1){p=ha+28|0;r=b[ha+32>>1]|0;if(r<<16>>16==0?(b[p>>1]|0)==0:0)K=0;else K=2;c[yb>>2]=K;f=b[ha+34>>1]|0;t=f<<16>>16==0;if(t?(b[ha+30>>1]|0)==0:0)I=0;else I=2;c[xb>>2]=I;h=b[ha+40>>1]|0;u=h<<16>>16==0;if(u?(b[ha+36>>1]|0)==0:0)H=0;else H=2;c[wb>>2]=H;j=b[ha+42>>1]|0;w=j<<16>>16==0;if(w?(b[ha+38>>1]|0)==0:0)G=0;else G=2;c[vb>>2]=G;s=b[ha+44>>1]|0;F=(s|r)<<16>>16==0?0:2;c[ub>>2]=F;q=b[ha+46>>1]|0;x=f<<16>>16!=0;E=(q|f)<<16>>16==0?0:2;c[tb>>2]=E;n=b[ha+52>>1]|0;o=h<<16>>16!=0;D=(n|h)<<16>>16==0?0:2;c[sb>>2]=D;m=b[ha+54>>1]|0;C=(m|j)<<16>>16==0?0:2;c[rb>>2]=C;f=b[ha+48>>1]|0;B=(f|s)<<16>>16==0?0:2;c[qb>>2]=B;h=b[ha+50>>1]|0;A=(h|q)<<16>>16==0?0:2;c[pb>>2]=A;j=b[ha+56>>1]|0;z=(j|n)<<16>>16==0?0:2;c[ob>>2]=z;k=b[ha+58>>1]|0;y=(k|m)<<16>>16==0?0:2;c[nb>>2]=y;l=b[ha+30>>1]|0;if(l<<16>>16==0?(b[p>>1]|0)==0:0)p=0;else p=2;c[ab>>2]=p;_=b[ha+36>>1]|0;$=(_|l)<<16>>16==0?0:2;c[$a>>2]=$;_=(b[ha+38>>1]|_)<<16>>16==0?0:2;c[_a>>2]=_;J=r<<16>>16!=0|t^1?2:0;c[Za>>2]=J;aa=x|u^1?2:0;c[Ya>>2]=aa;u=o|w^1?2:0;c[Xa>>2]=u;s=(q|s)<<16>>16==0?0:2;c[Wa>>2]=s;q=(n|q)<<16>>16==0?0:2;c[Va>>2]=q;o=(m|n)<<16>>16==0?0:2;c[Ua>>2]=o;n=(h|f)<<16>>16==0?0:2;c[Ta>>2]=n;m=(j|h)<<16>>16==0?0:2;c[Sa>>2]=m;h=(k|j)<<16>>16==0?0:2;c[Ra>>2]=h;k=m;m=q;q=aa;aa=p;t=E;r=F;p=G;l=H;j=I;f=K}else switch(c[h>>2]|0){case 2:{q=ha+28|0;r=b[ha+32>>1]|0;if(r<<16>>16==0?(b[q>>1]|0)==0:0)f=0;else f=2;c[yb>>2]=f;s=b[ha+34>>1]|0;A=s<<16>>16==0;if(A?(b[ha+30>>1]|0)==0:0)N=0;else N=2;c[xb>>2]=N;t=b[ha+40>>1]|0;B=t<<16>>16==0;if(B?(b[ha+36>>1]|0)==0:0)l=0;else l=2;c[wb>>2]=l;n=b[ha+42>>1]|0;C=n<<16>>16==0;if(C?(b[ha+38>>1]|0)==0:0)p=0;else p=2;c[vb>>2]=p;u=b[ha+48>>1]|0;if(u<<16>>16==0?(b[ha+44>>1]|0)==0:0)L=0;else L=2;c[qb>>2]=L;w=b[ha+50>>1]|0;D=w<<16>>16==0;if(D?(b[ha+46>>1]|0)==0:0)I=0;else I=2;c[pb>>2]=I;x=b[ha+56>>1]|0;if(x<<16>>16==0?(b[ha+52>>1]|0)==0:0)H=0;else H=2;c[ob>>2]=H;y=b[ha+58>>1]|0;if(y<<16>>16==0?(b[ha+54>>1]|0)==0:0)G=0;else G=2;c[nb>>2]=G;z=b[ha+44>>1]|0;h=b[ha+166>>1]|0;j=b[ha+142>>1]|0;do if(!((z|r)<<16>>16)){aa=(b[ha+164>>1]|0)-(b[ha+140>>1]|0)|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){M=1;break}aa=h-j|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){M=1;break}M=(c[ha+124>>2]|0)!=(c[ha+116>>2]|0)&1}else M=2;while(0);c[ub>>2]=M;o=b[ha+46>>1]|0;h=b[ha+170>>1]|0;j=b[ha+146>>1]|0;do if(!((o|s)<<16>>16)){aa=(b[ha+168>>1]|0)-(b[ha+144>>1]|0)|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){K=1;break}aa=h-j|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){K=1;break}K=(c[ha+124>>2]|0)!=(c[ha+116>>2]|0)&1}else K=2;while(0);c[tb>>2]=K;m=b[ha+52>>1]|0;h=b[ha+182>>1]|0;j=b[ha+158>>1]|0;do if(!((m|t)<<16>>16)){aa=(b[ha+180>>1]|0)-(b[ha+156>>1]|0)|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){F=1;break}aa=h-j|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){F=1;break}F=(c[ha+128>>2]|0)!=(c[ha+120>>2]|0)&1}else F=2;while(0);c[sb>>2]=F;k=b[ha+54>>1]|0;h=b[ha+186>>1]|0;j=b[ha+162>>1]|0;do if(!((k|n)<<16>>16)){aa=(b[ha+184>>1]|0)-(b[ha+160>>1]|0)|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){E=1;break}aa=h-j|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){E=1;break}E=(c[ha+128>>2]|0)!=(c[ha+120>>2]|0)&1}else E=2;while(0);c[rb>>2]=E;h=b[ha+30>>1]|0;if(h<<16>>16==0?(b[q>>1]|0)==0:0)j=0;else j=2;c[ab>>2]=j;_=b[ha+36>>1]|0;$=(_|h)<<16>>16==0?0:2;c[$a>>2]=$;_=(b[ha+38>>1]|_)<<16>>16==0?0:2;c[_a>>2]=_;J=r<<16>>16!=0|A^1?2:0;c[Za>>2]=J;q=s<<16>>16!=0|B^1?2:0;c[Ya>>2]=q;aa=t<<16>>16!=0|C^1?2:0;c[Xa>>2]=aa;s=(o|z)<<16>>16==0?0:2;c[Wa>>2]=s;z=(m|o)<<16>>16==0?0:2;c[Va>>2]=z;o=(k|m)<<16>>16==0?0:2;c[Ua>>2]=o;n=u<<16>>16!=0|D^1?2:0;c[Ta>>2]=n;k=(x|w)<<16>>16==0?0:2;c[Sa>>2]=k;h=(y|x)<<16>>16==0?0:2;c[Ra>>2]=h;m=z;u=aa;aa=j;y=G;z=H;A=I;B=L;C=E;D=F;t=K;r=M;j=N;break a}case 3:{h=ha+28|0;j=b[ha+32>>1]|0;if(j<<16>>16==0?(b[h>>1]|0)==0:0)O=0;else O=2;c[yb>>2]=O;u=b[ha+34>>1]|0;k=u<<16>>16==0;if(k?(b[ha+30>>1]|0)==0:0)N=0;else N=2;c[xb>>2]=N;w=b[ha+40>>1]|0;if(w<<16>>16==0?(b[ha+36>>1]|0)==0:0)l=0;else l=2;c[wb>>2]=l;f=b[ha+42>>1]|0;m=f<<16>>16==0;if(m?(b[ha+38>>1]|0)==0:0)p=0;else p=2;c[vb>>2]=p;n=b[ha+44>>1]|0;M=(n|j)<<16>>16==0?0:2;c[ub>>2]=M;x=b[ha+46>>1]|0;t=(x|u)<<16>>16==0?0:2;c[tb>>2]=t;E=b[ha+52>>1]|0;D=(E|w)<<16>>16==0?0:2;c[sb>>2]=D;o=b[ha+54>>1]|0;C=(o|f)<<16>>16==0?0:2;c[rb>>2]=C;q=b[ha+48>>1]|0;B=(q|n)<<16>>16==0?0:2;c[qb>>2]=B;G=b[ha+50>>1]|0;A=(G|x)<<16>>16==0?0:2;c[pb>>2]=A;H=b[ha+56>>1]|0;z=(H|E)<<16>>16==0?0:2;c[ob>>2]=z;r=b[ha+58>>1]|0;y=(r|o)<<16>>16==0?0:2;c[nb>>2]=y;s=b[ha+30>>1]|0;if(s<<16>>16==0?(b[h>>1]|0)==0:0)L=0;else L=2;c[ab>>2]=L;f=ha+36|0;if(!(b[ha+38>>1]|0)){f=b[f>>1]|0;if(!(f<<16>>16)){K=0;f=0}else ba=146}else{f=b[f>>1]|0;ba=146}if((ba|0)==146){ba=0;K=2}c[_a>>2]=K;J=j<<16>>16!=0|k^1?2:0;c[Za>>2]=J;I=w<<16>>16!=0|m^1?2:0;c[Xa>>2]=I;F=(x|n)<<16>>16==0?0:2;c[Wa>>2]=F;o=(o|E)<<16>>16==0?0:2;c[Ua>>2]=o;n=(G|q)<<16>>16==0?0:2;c[Ta>>2]=n;h=(r|H)<<16>>16==0?0:2;c[Ra>>2]=h;j=b[ha+150>>1]|0;k=b[ha+138>>1]|0;do if(!((f|s)<<16>>16)){aa=(b[ha+148>>1]|0)-(b[ha+136>>1]|0)|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){r=1;break}aa=j-k|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){r=1;break}r=(c[ha+120>>2]|0)!=(c[ha+116>>2]|0)&1}else r=2;while(0);c[$a>>2]=r;f=b[ha+158>>1]|0;j=b[ha+146>>1]|0;do if(!((w|u)<<16>>16)){aa=(b[ha+156>>1]|0)-(b[ha+144>>1]|0)|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){q=1;break}aa=f-j|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){q=1;break}q=(c[ha+120>>2]|0)!=(c[ha+116>>2]|0)&1}else q=2;while(0);c[Ya>>2]=q;f=b[ha+182>>1]|0;j=b[ha+170>>1]|0;do if(!((E|x)<<16>>16)){aa=(b[ha+180>>1]|0)-(b[ha+168>>1]|0)|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){m=1;break}aa=f-j|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){m=1;break}m=(c[ha+128>>2]|0)!=(c[ha+124>>2]|0)&1}else m=2;while(0);c[Va>>2]=m;f=b[ha+190>>1]|0;j=b[ha+178>>1]|0;do if(!((H|G)<<16>>16)){aa=(b[ha+188>>1]|0)-(b[ha+176>>1]|0)|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){f=1;break}aa=f-j|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){f=1;break}f=(c[ha+128>>2]|0)!=(c[ha+124>>2]|0)&1}else f=2;while(0);c[Sa>>2]=f;k=f;s=F;u=I;_=K;$=r;aa=L;r=M;j=N;f=O;break a}default:{w=b[ha+32>>1]|0;h=b[ha+28>>1]|0;x=b[ha+142>>1]|0;k=b[ha+134>>1]|0;if(!((h|w)<<16>>16)){f=(b[ha+140>>1]|0)-(b[ha+132>>1]|0)|0;aa=x-k|0;f=((((aa|0)<0?0-aa|0:aa)|0)>3|(((f|0)<0?0-f|0:f)|0)>3)&1}else f=2;c[yb>>2]=f;E=b[ha+34>>1]|0;m=b[ha+30>>1]|0;F=b[ha+146>>1]|0;n=b[ha+138>>1]|0;if(!((m|E)<<16>>16)){j=(b[ha+144>>1]|0)-(b[ha+136>>1]|0)|0;aa=F-n|0;j=((((aa|0)<0?0-aa|0:aa)|0)>3|(((j|0)<0?0-j|0:j)|0)>3)&1}else j=2;c[xb>>2]=j;G=b[ha+40>>1]|0;o=b[ha+36>>1]|0;I=b[ha+158>>1]|0;s=b[ha+150>>1]|0;if(!((o|G)<<16>>16)){l=(b[ha+156>>1]|0)-(b[ha+148>>1]|0)|0;aa=I-s|0;l=((((aa|0)<0?0-aa|0:aa)|0)>3|(((l|0)<0?0-l|0:l)|0)>3)&1}else l=2;c[wb>>2]=l;H=b[ha+42>>1]|0;q=b[ha+38>>1]|0;J=b[ha+162>>1]|0;u=b[ha+154>>1]|0;if(!((q|H)<<16>>16)){p=(b[ha+160>>1]|0)-(b[ha+152>>1]|0)|0;aa=J-u|0;p=((((aa|0)<0?0-aa|0:aa)|0)>3|(((p|0)<0?0-p|0:p)|0)>3)&1}else p=2;c[vb>>2]=p;K=b[ha+44>>1]|0;L=b[ha+166>>1]|0;if(!((K|w)<<16>>16)){aa=(b[ha+164>>1]|0)-(b[ha+140>>1]|0)|0;if((((aa|0)<0?0-aa|0:aa)|0)<=3?(aa=L-x|0,(((aa|0)<0?0-aa|0:aa)|0)<=3):0)r=(c[ha+124>>2]|0)!=(c[ha+116>>2]|0)&1;else r=1}else r=2;c[ub>>2]=r;M=b[ha+46>>1]|0;N=b[ha+170>>1]|0;do if(!((M|E)<<16>>16)){aa=(b[ha+168>>1]|0)-(b[ha+144>>1]|0)|0;if((((aa|0)<0?0-aa|0:aa)|0)>3)t=1;else{aa=N-F|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){t=1;break}t=(c[ha+124>>2]|0)!=(c[ha+116>>2]|0)&1}}else t=2;while(0);c[tb>>2]=t;O=b[ha+52>>1]|0;R=b[ha+182>>1]|0;do if(!((O|G)<<16>>16)){aa=(b[ha+180>>1]|0)-(b[ha+156>>1]|0)|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){D=1;break}aa=R-I|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){D=1;break}D=(c[ha+128>>2]|0)!=(c[ha+120>>2]|0)&1}else D=2;while(0);c[sb>>2]=D;P=b[ha+54>>1]|0;Q=b[ha+186>>1]|0;do if(!((P|H)<<16>>16)){aa=(b[ha+184>>1]|0)-(b[ha+160>>1]|0)|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){C=1;break}aa=Q-J|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){C=1;break}C=(c[ha+128>>2]|0)!=(c[ha+120>>2]|0)&1}else C=2;while(0);c[rb>>2]=C;S=b[ha+48>>1]|0;T=b[ha+174>>1]|0;if(!((S|K)<<16>>16)){B=(b[ha+172>>1]|0)-(b[ha+164>>1]|0)|0;aa=T-L|0;B=((((aa|0)<0?0-aa|0:aa)|0)>3|(((B|0)<0?0-B|0:B)|0)>3)&1}else B=2;c[qb>>2]=B;U=b[ha+50>>1]|0;V=b[ha+178>>1]|0;if(!((U|M)<<16>>16)){A=(b[ha+176>>1]|0)-(b[ha+168>>1]|0)|0;aa=V-N|0;A=((((aa|0)<0?0-aa|0:aa)|0)>3|(((A|0)<0?0-A|0:A)|0)>3)&1}else A=2;c[pb>>2]=A;W=b[ha+56>>1]|0;Z=b[ha+190>>1]|0;if(!((W|O)<<16>>16)){z=(b[ha+188>>1]|0)-(b[ha+180>>1]|0)|0;aa=Z-R|0;z=((((aa|0)<0?0-aa|0:aa)|0)>3|(((z|0)<0?0-z|0:z)|0)>3)&1}else z=2;c[ob>>2]=z;X=b[ha+58>>1]|0;Y=b[ha+194>>1]|0;if(!((X|P)<<16>>16)){y=(b[ha+192>>1]|0)-(b[ha+184>>1]|0)|0;aa=Y-Q|0;y=((((aa|0)<0?0-aa|0:aa)|0)>3|(((y|0)<0?0-y|0:y)|0)>3)&1}else y=2;c[nb>>2]=y;if(!((m|h)<<16>>16)){aa=(b[ha+136>>1]|0)-(b[ha+132>>1]|0)|0;$=n-k|0;aa=(((($|0)<0?0-$|0:$)|0)>3|(((aa|0)<0?0-aa|0:aa)|0)>3)&1}else aa=2;c[ab>>2]=aa;do if(!((o|m)<<16>>16)){$=(b[ha+148>>1]|0)-(b[ha+136>>1]|0)|0;if(((($|0)<0?0-$|0:$)|0)>3){$=1;break}$=s-n|0;if(((($|0)<0?0-$|0:$)|0)>3){$=1;break}$=(c[ha+120>>2]|0)!=(c[ha+116>>2]|0)&1}else $=2;while(0);c[$a>>2]=$;if(!((q|o)<<16>>16)){_=(b[ha+152>>1]|0)-(b[ha+148>>1]|0)|0;u=u-s|0;_=((((u|0)<0?0-u|0:u)|0)>3|(((_|0)<0?0-_|0:_)|0)>3)&1}else _=2;c[_a>>2]=_;if(!((E|w)<<16>>16)){w=(b[ha+144>>1]|0)-(b[ha+140>>1]|0)|0;x=F-x|0;w=((((x|0)<0?0-x|0:x)|0)>3|(((w|0)<0?0-w|0:w)|0)>3)&1}else w=2;c[Za>>2]=w;do if(!((G|E)<<16>>16)){E=(b[ha+156>>1]|0)-(b[ha+144>>1]|0)|0;if((((E|0)<0?0-E|0:E)|0)>3){q=1;break}F=I-F|0;if((((F|0)<0?0-F|0:F)|0)>3){q=1;break}q=(c[ha+120>>2]|0)!=(c[ha+116>>2]|0)&1}else q=2;while(0);c[Ya>>2]=q;if(!((H|G)<<16>>16)){u=(b[ha+160>>1]|0)-(b[ha+156>>1]|0)|0;J=J-I|0;u=((((J|0)<0?0-J|0:J)|0)>3|(((u|0)<0?0-u|0:u)|0)>3)&1}else u=2;c[Xa>>2]=u;if(!((M|K)<<16>>16)){s=(b[ha+168>>1]|0)-(b[ha+164>>1]|0)|0;L=N-L|0;s=((((L|0)<0?0-L|0:L)|0)>3|(((s|0)<0?0-s|0:s)|0)>3)&1}else s=2;c[Wa>>2]=s;do if(!((O|M)<<16>>16)){M=(b[ha+180>>1]|0)-(b[ha+168>>1]|0)|0;if((((M|0)<0?0-M|0:M)|0)>3){m=1;break}N=R-N|0;if((((N|0)<0?0-N|0:N)|0)>3){m=1;break}m=(c[ha+128>>2]|0)!=(c[ha+124>>2]|0)&1}else m=2;while(0);c[Va>>2]=m;if(!((P|O)<<16>>16)){o=(b[ha+184>>1]|0)-(b[ha+180>>1]|0)|0;R=Q-R|0;o=((((R|0)<0?0-R|0:R)|0)>3|(((o|0)<0?0-o|0:o)|0)>3)&1}else o=2;c[Ua>>2]=o;if(!((U|S)<<16>>16)){n=(b[ha+176>>1]|0)-(b[ha+172>>1]|0)|0;T=V-T|0;n=((((T|0)<0?0-T|0:T)|0)>3|(((n|0)<0?0-n|0:n)|0)>3)&1}else n=2;c[Ta>>2]=n;do if(!((W|U)<<16>>16)){U=(b[ha+188>>1]|0)-(b[ha+176>>1]|0)|0;if((((U|0)<0?0-U|0:U)|0)>3){k=1;break}V=Z-V|0;if((((V|0)<0?0-V|0:V)|0)>3){k=1;break}k=(c[ha+128>>2]|0)!=(c[ha+124>>2]|0)&1}else k=2;while(0);c[Sa>>2]=k;if(!((X|W)<<16>>16)){h=(b[ha+192>>1]|0)-(b[ha+188>>1]|0)|0;Z=Y-Z|0;h=((((Z|0)<0?0-Z|0:Z)|0)>3|(((h|0)<0?0-h|0:h)|0)>3)&1}else h=2;c[Ra>>2]=h;J=w;break a}}while(0);if((i|0)==0?(k|h|n|o|m|s|u|q|J|_|$|aa|y|z|A|B|C|D|t|r|p|l|j|f|0)==0:0)break}A=ha+20|0;h=c[A>>2]|0;C=ha+12|0;i=c[C>>2]|0;k=i+h|0;k=(k|0)<51?k:51;k=(k|0)>0?k:0;D=ha+16|0;j=c[D>>2]|0;m=j+h|0;m=(m|0)<51?m:51;l=d[50598+k>>0]|0;c[Fa>>2]=l;m=d[50650+((m|0)>0?m:0)>>0]|0;c[Ja>>2]=m;k=50702+(k*3|0)|0;c[kb>>2]=k;do if(!da){f=c[(c[ea>>2]|0)+20>>2]|0;if((f|0)==(h|0)){c[Ha>>2]=l;c[La>>2]=m;c[mb>>2]=k;break}else{$=(h+1+f|0)>>>1;aa=$+i|0;aa=(aa|0)<51?aa:51;aa=(aa|0)>0?aa:0;$=$+j|0;$=($|0)<51?$:51;c[Ha>>2]=d[50598+aa>>0];c[La>>2]=d[50650+(($|0)>0?$:0)>>0];c[mb>>2]=50702+(aa*3|0);break}}while(0);do if(!ca){f=c[(c[fa>>2]|0)+20>>2]|0;if((f|0)==(h|0)){c[Ga>>2]=l;c[Ka>>2]=m;c[Da>>2]=k;break}else{$=(h+1+f|0)>>>1;aa=$+i|0;aa=(aa|0)<51?aa:51;aa=(aa|0)>0?aa:0;$=$+j|0;$=($|0)<51?$:51;c[Ga>>2]=d[50598+aa>>0];c[Ka>>2]=d[50650+(($|0)>0?$:0)>>0];c[lb>>2]=50702+(aa*3|0);break}}while(0);B=v(sa,Ca)|0;x=3;k=0;y=(c[e>>2]|0)+(B<<8)+(ga<<4)|0;z=Ia;while(1){if(g|0)Pg(y,g,Da,eb);g=c[z+12>>2]|0;if(g|0)Pg(y+4|0,g,Ea,eb);i=z+16|0;g=c[z+20>>2]|0;if(g|0)Pg(y+8|0,g,Ea,eb);j=z+24|0;g=c[z+28>>2]|0;if(g|0)Pg(y+12|0,g,Ea,eb);f=c[z>>2]|0;h=z+8|0;g=c[h>>2]|0;b:do if(((f|0)==(g|0)?(f|0)==(c[i>>2]|0):0)?(f|0)==(c[j>>2]|0):0){if(f|0){if(f>>>0<4){u=d[(c[mb+(k*12|0)>>2]|0)+(f+-1)>>0]|0;t=mb+(k*12|0)+4|0;l=mb+(k*12|0)+8|0;s=0-u|0;r=u+1|0;p=y;q=16;while(1){h=p+bb|0;k=p+jb|0;i=p+eb|0;g=a[i>>0]|0;n=d[k>>0]|0;o=d[p>>0]|0;aa=n-o|0;do if(((aa|0)<0?0-aa|0:aa)>>>0<(c[t>>2]|0)>>>0){m=d[h>>0]|0;aa=m-n|0;f=c[l>>2]|0;if(((aa|0)<0?0-aa|0:aa)>>>0>=f>>>0)break;j=g&255;aa=j-o|0;if(((aa|0)<0?0-aa|0:aa)>>>0>=f>>>0)break;g=d[p+ib>>0]|0;aa=g-n|0;if(((aa|0)<0?0-aa|0:aa)>>>0>>0){f=((n+1+o|0)>>>1)-(m<<1)+g>>1;a[h>>0]=((f|0)<(s|0)?s:(f|0)>(u|0)?u:f)+m;f=c[l>>2]|0;g=r}else g=u;h=d[p+db>>0]|0;aa=h-o|0;if(((aa|0)<0?0-aa|0:aa)>>>0>>0){aa=((n+1+o|0)>>>1)-(j<<1)+h>>1;a[i>>0]=((aa|0)<(s|0)?s:(aa|0)>(u|0)?u:aa)+j;g=g+1|0}$=4-j+(o-n<<2)+m>>3;aa=0-g|0;$=($|0)<(aa|0)?aa:($|0)>(g|0)?g:$;aa=a[49008+(o-$)>>0]|0;a[k>>0]=a[49008+($+n)>>0]|0;a[p>>0]=aa}while(0);q=q+-1|0;if(!q)break b;else p=p+1|0}}w=mb+(k*12|0)+4|0;p=mb+(k*12|0)+8|0;t=y;u=16;while(1){j=t+bb|0;k=t+jb|0;o=t+eb|0;g=a[o>>0]|0;q=d[k>>0]|0;r=d[t>>0]|0;h=q-r|0;h=(h|0)<0?0-h|0:h;f=c[w>>2]|0;c:do if(h>>>0>>0){s=d[j>>0]|0;aa=s-q|0;i=c[p>>2]|0;if(((aa|0)<0?0-aa|0:aa)>>>0>=i>>>0)break;n=g&255;aa=n-r|0;if(((aa|0)<0?0-aa|0:aa)>>>0>=i>>>0)break;g=t+ib|0;m=t+db|0;l=a[m>>0]|0;do if(h>>>0<((f>>>2)+2|0)>>>0){f=d[g>>0]|0;aa=f-q|0;if(((aa|0)<0?0-aa|0:aa)>>>0>>0){aa=r+q+s|0;a[k>>0]=(n+4+(aa<<1)+f|0)>>>3;a[j>>0]=(aa+2+f|0)>>>2;h=f*3|0;i=3;j=aa+4|0;f=d[t+gb>>0]|0}else{h=2;i=2;j=n+q|0;g=k;f=s}a[g>>0]=(j+h+(f<<1)|0)>>>i;g=l&255;aa=g-r|0;if(((aa|0)<0?0-aa|0:aa)>>>0>=(c[p>>2]|0)>>>0)break;aa=n+q+r|0;a[t>>0]=((aa<<1)+4+s+g|0)>>>3;a[o>>0]=(aa+2+g|0)>>>2;a[m>>0]=(aa+4+(g*3|0)+(d[t+hb>>0]<<1)|0)>>>3;break c}else a[k>>0]=(n+q+2+(s<<1)|0)>>>2;while(0);a[t>>0]=(s+r+2+(n<<1)|0)>>>2}while(0);u=u+-1|0;if(!u)break;else t=t+1|0}}}else ba=276;while(0);do if((ba|0)==276){ba=0;if(f){Qg(y,f,mb+(k*12|0)|0,eb);g=c[h>>2]|0}if(g|0)Qg(y+4|0,g,mb+(k*12|0)|0,eb);g=c[i>>2]|0;if(g|0)Qg(y+8|0,g,mb+(k*12|0)|0,eb);g=c[j>>2]|0;if(!g)break;Qg(y+12|0,g,mb+(k*12|0)|0,eb)}while(0);if(!x)break;g=c[z+36>>2]|0;x=x+-1|0;k=2;y=y+cb|0;z=z+32|0}n=c[ha+24>>2]|0;l=c[A>>2]|0;m=l+n|0;m=(m|0)<51?m:51;m=c[1656+(((m|0)>0?m:0)<<2)>>2]|0;k=c[C>>2]|0;h=k+m|0;h=(h|0)<51?h:51;h=(h|0)>0?h:0;f=c[D>>2]|0;j=f+m|0;j=(j|0)<51?j:51;i=d[50598+h>>0]|0;c[Fa>>2]=i;j=d[50650+((j|0)>0?j:0)>>0]|0;c[Ja>>2]=j;h=50702+(h*3|0)|0;c[kb>>2]=h;do if(!da){g=c[(c[ea>>2]|0)+20>>2]|0;if((g|0)==(l|0)){c[Ha>>2]=i;c[La>>2]=j;c[mb>>2]=h;break}else{da=g+n|0;da=(da|0)<51?da:51;da=(m+1+(c[1656+(((da|0)>0?da:0)<<2)>>2]|0)|0)>>>1;ea=da+k|0;ea=(ea|0)<51?ea:51;ea=(ea|0)>0?ea:0;da=da+f|0;da=(da|0)<51?da:51;c[Ha>>2]=d[50598+ea>>0];c[La>>2]=d[50650+((da|0)>0?da:0)>>0];c[mb>>2]=50702+(ea*3|0);break}}while(0);do if(!ca){g=c[(c[fa>>2]|0)+20>>2]|0;if((g|0)==(l|0)){c[Ga>>2]=i;c[Ka>>2]=j;c[Da>>2]=h;break}else{ea=g+n|0;ea=(ea|0)<51?ea:51;ea=(m+1+(c[1656+(((ea|0)>0?ea:0)<<2)>>2]|0)|0)>>>1;fa=ea+k|0;fa=(fa|0)<51?fa:51;fa=(fa|0)>0?fa:0;ea=ea+f|0;ea=(ea|0)<51?ea:51;c[Ga>>2]=d[50598+fa>>0];c[Ka>>2]=d[50650+((ea|0)>0?ea:0)>>0];c[lb>>2]=50702+(fa*3|0);break}}while(0);i=(c[e>>2]|0)+fb+(B<<6)+(ga<<3)|0;k=i+ta|0;g=c[ka>>2]|0;if(g|0){Rg(i,g,Da,ua);Rg(k,c[ka>>2]|0,Da,ua)}g=c[qa>>2]|0;if(g|0){Rg(i+eb|0,g,Da,ua);Rg(k+eb|0,c[qa>>2]|0,Da,ua)}g=c[ma>>2]|0;if(g|0){Rg(i+4|0,g,Ea,ua);Rg(k+4|0,c[ma>>2]|0,Ea,ua)}g=c[oa>>2]|0;if(g|0){Rg(i+eb+4|0,g,Ea,ua);Rg(k+eb+4|0,c[oa>>2]|0,Ea,ua)}f=c[Ia>>2]|0;g=c[ya>>2]|0;h=(f|0)==0;do if(((f|0)==(g|0)?(f|0)==(c[ia>>2]|0):0)&(f|0)==(c[Aa>>2]|0)){if(!h){Sg(i,f,mb,ua);Sg(k,c[Ia>>2]|0,mb,ua)}}else{if(!h){Tg(i,f,mb,ua);Tg(k,c[Ia>>2]|0,mb,ua);g=c[ya>>2]|0}if(g|0){Tg(i+2|0,g,mb,ua);Tg(k+2|0,c[ya>>2]|0,mb,ua)}g=c[ia>>2]|0;if(g|0){Tg(i+4|0,g,mb,ua);Tg(k+4|0,c[ia>>2]|0,mb,ua)}g=c[wa>>2]|0;if(!g)break;Tg(i+6|0,g,mb,ua);Tg(k+6|0,c[wa>>2]|0,mb,ua)}while(0);j=i+db|0;i=k+db|0;g=c[la>>2]|0;if(g|0){Rg(j,g,Da,ua);Rg(i,c[la>>2]|0,Da,ua)}g=c[ra>>2]|0;if(g|0){Rg(j+eb|0,g,Da,ua);Rg(i+eb|0,c[ra>>2]|0,Da,ua)}g=c[na>>2]|0;if(g|0){Rg(j+4|0,g,Ea,ua);Rg(i+4|0,c[na>>2]|0,Ea,ua)}g=c[pa>>2]|0;if(g|0){Rg(j+eb+4|0,g,Ea,ua);Rg(i+eb+4|0,c[pa>>2]|0,Ea,ua)}f=c[va>>2]|0;g=c[za>>2]|0;h=(f|0)==0;if(((f|0)==(g|0)?(f|0)==(c[ja>>2]|0):0)&(f|0)==(c[Ba>>2]|0)){if(h)break;Sg(j,f,Ea,ua);Sg(i,c[va>>2]|0,Ea,ua);break}if(!h){Tg(j,f,Ea,ua);Tg(i,c[va>>2]|0,Ea,ua);g=c[za>>2]|0}if(g|0){Tg(j+2|0,g,Ea,ua);Tg(i+2|0,c[za>>2]|0,Ea,ua)}g=c[ja>>2]|0;if(g|0){Tg(j+4|0,g,Ea,ua);Tg(i+4|0,c[ja>>2]|0,Ea,ua)}g=c[xa>>2]|0;if(!g)break;Tg(j+6|0,g,Ea,ua);Tg(i+6|0,c[xa>>2]|0,Ea,ua)}while(0);f=ga+1|0;g=(f|0)==(Ca|0);sa=sa+(g&1)|0;if(sa>>>0>=(c[Ma>>2]|0)>>>0)break;else{ga=g?0:f;ha=ha+216|0}}Dc=Cb;return}function Pg(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;if(e>>>0<4){s=d[(c[f>>2]|0)+(e+-1)>>0]|0;r=f+4|0;o=f+8|0;q=0-s|0;p=s+1|0;n=4;while(1){f=b+-2|0;k=b+-1|0;j=b+1|0;e=a[j>>0]|0;l=d[k>>0]|0;m=d[b>>0]|0;y=l-m|0;if((((y|0)<0?0-y|0:y)>>>0<(c[r>>2]|0)>>>0?(u=d[f>>0]|0,y=u-l|0,t=c[o>>2]|0,((y|0)<0?0-y|0:y)>>>0>>0):0)?(v=e&255,y=v-m|0,((y|0)<0?0-y|0:y)>>>0>>0):0){i=a[b+2>>0]|0;e=d[b+-3>>0]|0;y=e-l|0;if(((y|0)<0?0-y|0:y)>>>0>>0){h=((l+1+m|0)>>>1)-(u<<1)+e>>1;a[f>>0]=((h|0)<(q|0)?q:(h|0)>(s|0)?s:h)+u;h=c[o>>2]|0;e=p}else{h=t;e=s}f=i&255;y=f-m|0;if(((y|0)<0?0-y|0:y)>>>0>>0){y=((l+1+m|0)>>>1)-(v<<1)+f>>1;a[j>>0]=((y|0)<(q|0)?q:(y|0)>(s|0)?s:y)+v;e=e+1|0}x=4-v+(m-l<<2)+u>>3;y=0-e|0;x=(x|0)<(y|0)?y:(x|0)>(e|0)?e:x;y=a[49008+(m-x)>>0]|0;a[k>>0]=a[49008+(x+l)>>0]|0;a[b>>0]=y}n=n+-1|0;if(!n)break;else b=b+g|0}return}t=f+4|0;s=f+8|0;r=4;while(1){i=b+-2|0;l=b+-1|0;o=b+1|0;e=a[o>>0]|0;p=d[l>>0]|0;q=d[b>>0]|0;h=p-q|0;h=(h|0)<0?0-h|0:h;f=c[t>>2]|0;do if((h>>>0>>0?(x=d[i>>0]|0,v=x-p|0,w=c[s>>2]|0,((v|0)<0?0-v|0:v)>>>0>>0):0)?(y=e&255,v=y-q|0,((v|0)<0?0-v|0:v)>>>0>>0):0){k=b+-3|0;n=b+2|0;m=a[n>>0]|0;if(h>>>0<((f>>>2)+2|0)>>>0){e=d[k>>0]|0;v=e-p|0;if(((v|0)<0?0-v|0:v)>>>0>>0){j=q+p+x|0;a[l>>0]=(y+4+(j<<1)+e|0)>>>3;a[i>>0]=(j+2+e|0)>>>2;h=e*3|0;i=3;j=j+4|0;e=k;f=d[b+-4>>0]|0}else{h=2;i=2;j=y+p|0;e=l;f=x}a[e>>0]=(j+h+(f<<1)|0)>>>i;e=m&255;v=e-q|0;if(((v|0)<0?0-v|0:v)>>>0<(c[s>>2]|0)>>>0){v=y+p+q|0;a[b>>0]=((v<<1)+4+x+e|0)>>>3;a[o>>0]=(v+2+e|0)>>>2;a[n>>0]=(v+4+(e*3|0)+((d[b+3>>0]|0)<<1)|0)>>>3;break}}else a[l>>0]=(y+p+2+(x<<1)|0)>>>2;a[b>>0]=(x+q+2+(y<<1)|0)>>>2}while(0);r=r+-1|0;if(!r)break;else b=b+g|0}return}function Qg(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0;t=d[(c[f>>2]|0)+(e+-1)>>0]|0;w=0-g|0;u=w<<1;s=f+4|0;n=f+8|0;q=v(g,-3)|0;r=0-t|0;o=t+1|0;p=g<<1;m=4;while(1){f=b+u|0;j=b+w|0;i=b+g|0;e=a[i>>0]|0;k=d[j>>0]|0;l=d[b>>0]|0;h=k-l|0;if((((h|0)<0?0-h|0:h)>>>0<(c[s>>2]|0)>>>0?(y=d[f>>0]|0,h=y-k|0,x=c[n>>2]|0,((h|0)<0?0-h|0:h)>>>0>>0):0)?(z=e&255,h=z-l|0,((h|0)<0?0-h|0:h)>>>0>>0):0){e=d[b+q>>0]|0;h=e-k|0;if(((h|0)<0?0-h|0:h)>>>0>>0){e=((k+1+l|0)>>>1)-(y<<1)+e>>1;a[f>>0]=((e|0)<(r|0)?r:(e|0)>(t|0)?t:e)+y;f=c[n>>2]|0;e=o}else{f=x;e=t}h=d[b+p>>0]|0;A=h-l|0;if(((A|0)<0?0-A|0:A)>>>0>>0){A=((k+1+l|0)>>>1)-(z<<1)+h>>1;a[i>>0]=((A|0)<(r|0)?r:(A|0)>(t|0)?t:A)+z;e=e+1|0}i=4-z+(l-k<<2)+y>>3;A=0-e|0;i=(i|0)<(A|0)?A:(i|0)>(e|0)?e:i;A=a[49008+(l-i)>>0]|0;a[j>>0]=a[49008+(i+k)>>0]|0;a[b>>0]=A}m=m+-1|0;if(!m)break;else b=b+1|0}return}function Rg(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=b+-1|0;h=a[b+1>>0]|0;k=d[j>>0]|0;n=d[b>>0]|0;p=k-n|0;o=f+4|0;do if((((p|0)<0?0-p|0:p)>>>0<(c[o>>2]|0)>>>0?(l=d[b+-2>>0]|0,p=l-k|0,i=c[f+8>>2]|0,((p|0)<0?0-p|0:p)>>>0>>0):0)?(m=h&255,p=m-n|0,((p|0)<0?0-p|0:p)>>>0>>0):0)if(e>>>0<4){i=d[(c[f>>2]|0)+(e+-1)>>0]|0;p=i+1|0;m=4-m+(n-k<<2)+l>>3;l=~i;m=(m|0)<(l|0)?l:(m|0)>(p|0)?p:m;p=a[49008+(n-m)>>0]|0;a[j>>0]=a[49008+(m+k)>>0]|0;a[b>>0]=p;break}else{a[j>>0]=(k+2+m+(l<<1)|0)>>>2;a[b>>0]=(n+2+(m<<1)+l|0)>>>2;break}while(0);k=b+g|0;l=k+-1|0;m=d[l>>0]|0;n=d[k>>0]|0;p=m-n|0;if(((p|0)<0?0-p|0:p)>>>0>=(c[o>>2]|0)>>>0)return;i=d[k+-2>>0]|0;p=i-m|0;h=c[f+8>>2]|0;if(((p|0)<0?0-p|0:p)>>>0>=h>>>0)return;j=d[k+1>>0]|0;p=j-n|0;if(((p|0)<0?0-p|0:p)>>>0>=h>>>0)return;if(e>>>0<4){e=d[(c[f>>2]|0)+(e+-1)>>0]|0;p=e+1|0;f=4-j+(n-m<<2)+i>>3;e=~e;f=(f|0)<(e|0)?e:(f|0)>(p|0)?p:f;p=a[49008+(n-f)>>0]|0;a[l>>0]=a[49008+(f+m)>>0]|0;a[k>>0]=p;return}else{a[l>>0]=(m+2+j+(i<<1)|0)>>>2;a[k>>0]=(n+2+(j<<1)+i|0)>>>2;return}}function Sg(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;if(e>>>0<4){m=d[(c[f>>2]|0)+(e+-1)>>0]|0;n=m+1|0;q=0-g|0;o=f+4|0;p=q<<1;l=f+8|0;m=~m;j=b;k=8;while(1){f=j+q|0;e=a[j+g>>0]|0;h=d[f>>0]|0;i=d[j>>0]|0;b=h-i|0;if((((b|0)<0?0-b|0:b)>>>0<(c[o>>2]|0)>>>0?(s=d[j+p>>0]|0,b=s-h|0,r=c[l>>2]|0,((b|0)<0?0-b|0:b)>>>0>>0):0)?(t=e&255,b=t-i|0,((b|0)<0?0-b|0:b)>>>0>>0):0){I=4-t+(i-h<<2)+s>>3;I=(I|0)<(m|0)?m:(I|0)>(n|0)?n:I;b=a[49008+(i-I)>>0]|0;a[f>>0]=a[49008+(I+h)>>0]|0;a[j>>0]=b}k=k+-1|0;if(!k)break;else j=j+1|0}return}s=0-g|0;r=f+4|0;I=s<<1;t=f+8|0;h=b+s|0;f=a[b+g>>0]|0;i=d[h>>0]|0;j=d[b>>0]|0;J=i-j|0;e=c[r>>2]|0;if((((J|0)<0?0-J|0:J)>>>0>>0?(l=d[b+I>>0]|0,J=l-i|0,k=c[t>>2]|0,((J|0)<0?0-J|0:J)>>>0>>0):0)?(m=f&255,J=m-j|0,((J|0)<0?0-J|0:J)>>>0>>0):0){a[h>>0]=(i+2+m+(l<<1)|0)>>>2;a[b>>0]=(j+2+(m<<1)+l|0)>>>2;e=c[r>>2]|0}k=b+1|0;h=k+s|0;f=a[k+g>>0]|0;i=d[h>>0]|0;j=d[k>>0]|0;J=i-j|0;if((((J|0)<0?0-J|0:J)>>>0>>0?(o=d[k+I>>0]|0,J=o-i|0,n=c[t>>2]|0,((J|0)<0?0-J|0:J)>>>0>>0):0)?(p=f&255,J=p-j|0,((J|0)<0?0-J|0:J)>>>0>>0):0){a[h>>0]=(i+2+p+(o<<1)|0)>>>2;a[k>>0]=(j+2+(p<<1)+o|0)>>>2;e=c[r>>2]|0}k=b+2|0;h=k+s|0;f=a[k+g>>0]|0;i=d[h>>0]|0;j=d[k>>0]|0;J=i-j|0;if((((J|0)<0?0-J|0:J)>>>0>>0?(u=d[k+I>>0]|0,J=u-i|0,q=c[t>>2]|0,((J|0)<0?0-J|0:J)>>>0>>0):0)?(v=f&255,J=v-j|0,((J|0)<0?0-J|0:J)>>>0>>0):0){a[h>>0]=(i+2+v+(u<<1)|0)>>>2;a[k>>0]=(j+2+(v<<1)+u|0)>>>2;e=c[r>>2]|0}k=b+3|0;h=k+s|0;f=a[k+g>>0]|0;i=d[h>>0]|0;j=d[k>>0]|0;J=i-j|0;if((((J|0)<0?0-J|0:J)>>>0>>0?(x=d[k+I>>0]|0,J=x-i|0,w=c[t>>2]|0,((J|0)<0?0-J|0:J)>>>0>>0):0)?(y=f&255,J=y-j|0,((J|0)<0?0-J|0:J)>>>0>>0):0){a[h>>0]=(i+2+y+(x<<1)|0)>>>2;a[k>>0]=(j+2+(y<<1)+x|0)>>>2;e=c[r>>2]|0}k=b+4|0;h=k+s|0;f=a[k+g>>0]|0;i=d[h>>0]|0;j=d[k>>0]|0;J=i-j|0;if((((J|0)<0?0-J|0:J)>>>0>>0?(A=d[k+I>>0]|0,J=A-i|0,z=c[t>>2]|0,((J|0)<0?0-J|0:J)>>>0>>0):0)?(B=f&255,J=B-j|0,((J|0)<0?0-J|0:J)>>>0>>0):0){a[h>>0]=(i+2+B+(A<<1)|0)>>>2;a[k>>0]=(j+2+(B<<1)+A|0)>>>2;e=c[r>>2]|0}k=b+5|0;h=k+s|0;f=a[k+g>>0]|0;i=d[h>>0]|0;j=d[k>>0]|0;J=i-j|0;if((((J|0)<0?0-J|0:J)>>>0>>0?(D=d[k+I>>0]|0,J=D-i|0,C=c[t>>2]|0,((J|0)<0?0-J|0:J)>>>0>>0):0)?(E=f&255,J=E-j|0,((J|0)<0?0-J|0:J)>>>0>>0):0){a[h>>0]=(i+2+E+(D<<1)|0)>>>2;a[k>>0]=(j+2+(E<<1)+D|0)>>>2;e=c[r>>2]|0}k=b+6|0;h=k+s|0;f=a[k+g>>0]|0;i=d[h>>0]|0;j=d[k>>0]|0;J=i-j|0;if((((J|0)<0?0-J|0:J)>>>0>>0?(G=d[k+I>>0]|0,J=G-i|0,F=c[t>>2]|0,((J|0)<0?0-J|0:J)>>>0>>0):0)?(H=f&255,J=H-j|0,((J|0)<0?0-J|0:J)>>>0>>0):0){a[h>>0]=(i+2+H+(G<<1)|0)>>>2;a[k>>0]=(j+2+(H<<1)+G|0)>>>2;e=c[r>>2]|0}l=b+7|0;i=l+s|0;j=d[i>>0]|0;k=d[l>>0]|0;J=j-k|0;if(((J|0)<0?0-J|0:J)>>>0>=e>>>0)return;h=d[l+I>>0]|0;J=h-j|0;f=c[t>>2]|0;if(((J|0)<0?0-J|0:J)>>>0>=f>>>0)return;e=d[l+g>>0]|0;J=e-k|0;if(((J|0)<0?0-J|0:J)>>>0>=f>>>0)return;a[i>>0]=(j+2+e+(h<<1)|0)>>>2;a[l>>0]=(k+2+(e<<1)+h|0)>>>2;return}function Tg(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=d[(c[f>>2]|0)+(e+-1)>>0]|0;s=r+1|0;o=0-g|0;k=f+4|0;q=o<<1;p=f+8|0;r=~r;h=b+o|0;f=a[b+g>>0]|0;i=d[h>>0]|0;j=d[b>>0]|0;t=i-j|0;e=c[k>>2]|0;if((((t|0)<0?0-t|0:t)>>>0>>0?(m=d[b+q>>0]|0,t=m-i|0,l=c[p>>2]|0,((t|0)<0?0-t|0:t)>>>0>>0):0)?(n=f&255,t=n-j|0,((t|0)<0?0-t|0:t)>>>0>>0):0){t=4-n+(j-i<<2)+m>>3;t=(t|0)<(r|0)?r:(t|0)>(s|0)?s:t;e=a[49008+(j-t)>>0]|0;a[h>>0]=a[49008+(t+i)>>0]|0;a[b>>0]=e;e=c[k>>2]|0}l=b+1|0;i=l+o|0;j=d[i>>0]|0;k=d[l>>0]|0;t=j-k|0;if(((t|0)<0?0-t|0:t)>>>0>=e>>>0)return;h=d[l+q>>0]|0;t=h-j|0;f=c[p>>2]|0;if(((t|0)<0?0-t|0:t)>>>0>=f>>>0)return;e=d[l+g>>0]|0;t=e-k|0;if(((t|0)<0?0-t|0:t)>>>0>=f>>>0)return;g=4-e+(k-j<<2)+h>>3;g=(g|0)<(r|0)?r:(g|0)>(s|0)?s:g;t=a[49008+(k-g)>>0]|0;a[i>>0]=a[49008+(g+j)>>0]|0;a[l>>0]=t;return}function Ug(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=c[b+4>>2]|0;q=c[b+8>>2]|0;switch(d|0){case 0:case 5:{e=3;break}default:if(!(c[a+3384>>2]|0))f=0;else e=3}if((e|0)==3){e=a+1220|0;g=0;do{f=Cf(e,g)|0;g=g+1|0}while(g>>>0<16&(f|0)==0)}k=a+1176|0;j=c[k>>2]|0;if(j|0){h=c[a+1212>>2]|0;e=0;g=0;i=0;while(1){if(c[h+(g*216|0)+196>>2]|0){h=e;e=g;n=i;break}g=g+1|0;e=e+1|0;o=(e|0)==(p|0);i=i+(o&1)|0;e=o?0:e;if(g>>>0>=j>>>0){h=e;e=g;n=i;break}}if((e|0)!=(j|0)){o=a+1212|0;j=(c[o>>2]|0)+((v(n,p)|0)*216|0)|0;if(h|0){g=a+1204|0;e=h;do{e=e+-1|0;m=j+(e*216|0)|0;Vg(m,b,n,e,d,f);c[m+196>>2]=1;c[g>>2]=(c[g>>2]|0)+1}while((e|0)!=0)}e=h+1|0;if(e>>>0

>>0){i=a+1204|0;do{g=j+(e*216|0)|0;h=g+196|0;if(!(c[h>>2]|0)){Vg(g,b,n,e,d,f);c[h>>2]=1;c[i>>2]=(c[i>>2]|0)+1}e=e+1|0}while((e|0)!=(p|0))}a:do if((n|0)!=0&(p|0)!=0){k=n+-1|0;l=v(k,p)|0;m=a+1204|0;i=0-p|0;g=n+-2|0;if(!k){e=0;while(1){k=(c[o>>2]|0)+(l*216|0)+(e*216|0)|0;Vg(k,b,0,e,d,f);c[k+196>>2]=1;c[m>>2]=(c[m>>2]|0)+1;e=e+1|0;if((e|0)==(p|0))break a}}j=0;do{e=(c[o>>2]|0)+(l*216|0)+(j*216|0)|0;Vg(e,b,k,j,d,f);c[e+196>>2]=1;c[m>>2]=(c[m>>2]|0)+1;h=g;while(1){r=e;e=e+(i*216|0)|0;Vg(e,b,h,j,d,f);c[r+(i*216|0)+196>>2]=1;c[m>>2]=(c[m>>2]|0)+1;if(!h)break;else h=h+-1|0}j=j+1|0}while((j|0)!=(p|0))}while(0);e=n+1|0;if(e>>>0>=q>>>0)return 0;k=a+1204|0;if(!p)return 0;do{g=(c[o>>2]|0)+((v(e,p)|0)*216|0)|0;j=0;do{h=g+(j*216|0)|0;i=h+196|0;if(!(c[i>>2]|0)){Vg(h,b,e,j,d,f);c[i>>2]=1;c[k>>2]=(c[k>>2]|0)+1}j=j+1|0}while((j|0)!=(p|0));e=e+1|0}while((e|0)!=(q|0));return 0}}switch(d|0){case 2:case 7:{if((f|0)==0|(c[a+3384>>2]|0)==0)e=13;else e=14;break}default:if(!f)e=13;else e=14}if((e|0)==13)df(c[b>>2]|0,128,v(p*384|0,q)|0);else if((e|0)==14)zf(c[b>>2]|0,f,v(p*384|0,q)|0);g=c[k>>2]|0;c[a+1204>>2]=g;if(!g)return 0;e=c[a+1212>>2]|0;f=0;do{c[e+(f*216|0)+8>>2]=1;f=f+1|0}while((f|0)!=(g|0));return 0}function Vg(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;ha=Dc;Dc=Dc+480|0;fa=ha+96|0;ga=ha+32|0;k=ha+24|0;l=ha;da=c[e+4>>2]|0;u=c[e+8>>2]|0;af(e,(v(da,f)|0)+g|0);j=g<<4;m=(c[e>>2]|0)+(v(f<<8,da)|0)+j|0;c[b+20>>2]=40;c[b+8>>2]=0;c[b>>2]=6;c[b+12>>2]=0;c[b+16>>2]=0;c[b+24>>2]=0;a:do switch(h|0){case 2:case 7:{df(fa,0,384);break}default:{c[k>>2]=0;c[l+4>>2]=da;c[l+8>>2]=u;c[l>>2]=i;if(!i){df(fa,0,384);break a}Df(fa,k,l,j,f<<4,0,0,16,16);yf(e,fa);Dc=ha;return}}while(0);df(ga,0,64);if((f|0)!=0?(c[b+((0-da|0)*216|0)+196>>2]|0)!=0:0){ca=m+(0-(da<<4))|0;x=ca+1|0;y=x+1|0;w=y+1|0;s=w+1|0;w=(d[x>>0]|0)+(d[ca>>0]|0)+(d[y>>0]|0)+(d[w>>0]|0)|0;y=s+1|0;ca=y+1|0;x=ca+1|0;z=x+1|0;x=(d[y>>0]|0)+(d[s>>0]|0)+(d[ca>>0]|0)+(d[x>>0]|0)|0;ca=z+1|0;s=ca+1|0;y=s+1|0;ea=y+1|0;y=(d[ca>>0]|0)+(d[z>>0]|0)+(d[s>>0]|0)+(d[y>>0]|0)|0;s=ea+1|0;z=s+1|0;z=(d[s>>0]|0)+(d[ea>>0]|0)+(d[z>>0]|0)+(d[z+1>>0]|0)|0;ea=x+w|0;c[ga>>2]=y+ea+(c[ga>>2]|0)+z;s=ga+4|0;c[s>>2]=ea-y-z+(c[s>>2]|0);s=1}else{w=0;x=0;y=0;z=0;s=0}if((u+-1|0)!=(f|0)?(c[b+(da*216|0)+196>>2]|0)!=0:0){ea=m+(da<<8)|0;B=ea+1|0;C=B+1|0;A=C+1|0;t=A+1|0;A=(d[B>>0]|0)+(d[ea>>0]|0)+(d[C>>0]|0)+(d[A>>0]|0)|0;C=t+1|0;ea=C+1|0;B=ea+1|0;D=B+1|0;B=(d[C>>0]|0)+(d[t>>0]|0)+(d[ea>>0]|0)+(d[B>>0]|0)|0;ea=D+1|0;t=ea+1|0;C=t+1|0;q=C+1|0;C=(d[ea>>0]|0)+(d[D>>0]|0)+(d[t>>0]|0)+(d[C>>0]|0)|0;t=q+1|0;D=t+1|0;D=(d[t>>0]|0)+(d[q>>0]|0)+(d[D>>0]|0)+(d[D+1>>0]|0)|0;q=B+A|0;c[ga>>2]=C+q+(c[ga>>2]|0)+D;t=ga+4|0;c[t>>2]=q-C-D+(c[t>>2]|0);t=1;q=s+1|0}else{t=0;A=0;B=0;C=0;D=0;q=s}if((g|0)!=0?(c[b+-20>>2]|0)!=0:0){ca=m+-1|0;ea=da<<4;k=da<<5;$=da*48|0;E=(d[ca+ea>>0]|0)+(d[ca>>0]|0)+(d[ca+k>>0]|0)+(d[ca+$>>0]|0)|0;r=da<<6;ca=ca+r|0;Z=(d[ca+ea>>0]|0)+(d[ca>>0]|0)+(d[ca+k>>0]|0)+(d[ca+$>>0]|0)|0;ca=ca+r|0;_=(d[ca+ea>>0]|0)+(d[ca>>0]|0)+(d[ca+k>>0]|0)+(d[ca+$>>0]|0)|0;r=ca+r|0;$=(d[r+ea>>0]|0)+(d[r>>0]|0)+(d[r+k>>0]|0)+(d[r+$>>0]|0)|0;r=Z+E|0;c[ga>>2]=_+r+(c[ga>>2]|0)+$;k=ga+16|0;c[k>>2]=r-_-$+(c[k>>2]|0);k=q+1|0;r=1}else{k=q;E=0;Z=0;_=0;$=0;r=0}do if((da+-1|0)!=(g|0)?(c[b+412>>2]|0)!=0:0){m=m+16|0;i=da<<4;l=da<<5;p=da*48|0;b=(d[m+i>>0]|0)+(d[m>>0]|0)+(d[m+l>>0]|0)+(d[m+p>>0]|0)|0;h=da<<6;m=m+h|0;n=(d[m+i>>0]|0)+(d[m>>0]|0)+(d[m+l>>0]|0)+(d[m+p>>0]|0)|0;m=m+h|0;o=(d[m+i>>0]|0)+(d[m>>0]|0)+(d[m+l>>0]|0)+(d[m+p>>0]|0)|0;h=m+h|0;p=(d[h+i>>0]|0)+(d[h>>0]|0)+(d[h+l>>0]|0)+(d[h+p>>0]|0)|0;k=k+1|0;h=r+1|0;l=n+b|0;c[ga>>2]=o+l+(c[ga>>2]|0)+p;i=ga+16|0;l=l-o-p+(c[i>>2]|0)|0;c[i>>2]=l;m=(q|0)==0;j=(r|0)!=0;if(!(m&j)){if(!m){l=1;m=ga+4|0;i=h;p=21;break}}else c[ga+4>>2]=_+$+Z+E-b-n-o-p>>5;o=l;b=1;m=(s|0)!=0;l=(t|0)!=0;p=27}else p=17;while(0);if((p|0)==17){j=(r|0)!=0;if(!q){b=0;n=k;h=r;p=23}else{l=0;m=ga+4|0;i=r;p=21}}if((p|0)==21){c[m>>2]=c[m>>2]>>q+3;b=l;n=k;h=i;p=23}do if((p|0)==23){k=(h|0)==0;m=(s|0)!=0;l=(t|0)!=0;if(l&(m&k)){c[ga+16>>2]=y+z+x+w-D-C-B-A>>5;k=n;ea=j;m=1;ca=1;break}i=ga+16|0;if(k){k=n;ea=j;ca=l}else{o=c[i>>2]|0;k=n;p=27}}while(0);if((p|0)==27){c[i>>2]=o>>h+3;ea=j;ca=l}switch(k|0){case 1:{i=c[ga>>2]>>4;break}case 2:{i=c[ga>>2]>>5;break}case 3:{i=(c[ga>>2]|0)*21>>10;break}default:i=c[ga>>2]>>6}c[ga>>2]=i;aa=ga+4|0;j=c[aa>>2]|0;ba=ga+16|0;k=c[ba>>2]|0;if(!(k|j)){c[ga+60>>2]=i;c[ga+56>>2]=i;c[ga+52>>2]=i;c[ga+48>>2]=i;c[ga+44>>2]=i;c[ga+40>>2]=i;c[ga+36>>2]=i;c[ga+32>>2]=i;c[ga+28>>2]=i;c[ga+24>>2]=i;c[ga+20>>2]=i;c[ba>>2]=i;c[ga+12>>2]=i;c[ga+8>>2]=i;c[aa>>2]=i}else{U=i+j|0;W=j>>1;V=i+W|0;W=i-W|0;Y=i-j|0;c[ga>>2]=U+k;X=k>>1;c[ba>>2]=U+X;c[ga+32>>2]=U-X;c[ga+48>>2]=U-k;c[aa>>2]=V+k;c[ga+20>>2]=V+X;c[ga+36>>2]=V-X;c[ga+52>>2]=V-k;c[ga+8>>2]=W+k;c[ga+24>>2]=W+X;c[ga+40>>2]=W-X;c[ga+56>>2]=W-k;c[ga+12>>2]=Y+k;c[ga+28>>2]=Y+X;c[ga+44>>2]=Y-X;c[ga+60>>2]=Y-k}j=0;i=fa;l=ga;while(1){k=c[l+((j>>>2&3)<<2)>>2]|0;k=(k|0)<255?k:255;a[i>>0]=(k|0)>0?k:0;k=j+1|0;if((k|0)==256)break;else{j=k;i=i+1|0;l=(k&63|0)==0?l+16|0:l}}u=v(u,da)|0;V=da<<3;U=0-V|0;W=da<<6;X=da<<4;O=ga+60|0;P=ga+56|0;Q=ga+52|0;R=ga+48|0;S=ga+44|0;T=ga+40|0;H=ga+36|0;I=ga+32|0;J=ga+28|0;K=ga+24|0;L=ga+20|0;M=ga+12|0;N=ga+8|0;G=fa+256|0;Y=u<<6;t=w;s=x;r=y;j=z;q=A;p=B;n=C;l=D;F=0;o=E;h=Z;i=_;k=$;E=(c[e>>2]|0)+(u<<8)+(v(f<<6,da)|0)+(g<<3)|0;while(1){df(ga,0,64);if(m){t=E+U|0;j=t+1|0;s=j+1|0;t=(d[j>>0]|0)+(d[t>>0]|0)|0;j=s+1|0;r=j+1|0;s=(d[j>>0]|0)+(d[s>>0]|0)|0;j=r+1|0;z=j+1|0;r=(d[j>>0]|0)+(d[r>>0]|0)|0;z=(d[z+1>>0]|0)+(d[z>>0]|0)|0;j=s+t|0;c[ga>>2]=r+j+(c[ga>>2]|0)+z;c[aa>>2]=j-r-z+(c[aa>>2]|0);j=1}else{z=j;j=0}if(ca){A=E+W|0;q=A+1|0;B=q+1|0;A=(d[q>>0]|0)+(d[A>>0]|0)|0;q=B+1|0;C=q+1|0;B=(d[q>>0]|0)+(d[B>>0]|0)|0;q=C+1|0;D=q+1|0;C=(d[q>>0]|0)+(d[C>>0]|0)|0;D=(d[D+1>>0]|0)+(d[D>>0]|0)|0;q=B+A|0;c[ga>>2]=C+q+(c[ga>>2]|0)+D;c[aa>>2]=q-C-D+(c[aa>>2]|0);q=j+1|0}else{A=q;B=p;C=n;D=l;q=j}if(ea){y=E+-1|0;u=(d[y+V>>0]|0)+(d[y>>0]|0)|0;y=y+X|0;w=(d[y+V>>0]|0)+(d[y>>0]|0)|0;y=y+X|0;x=(d[y+V>>0]|0)+(d[y>>0]|0)|0;y=y+X|0;y=(d[y+V>>0]|0)+(d[y>>0]|0)|0;j=w+u|0;c[ga>>2]=x+j+(c[ga>>2]|0)+y;c[ba>>2]=j-x-y+(c[ba>>2]|0);j=q+1|0;i=1}else{j=q;u=o;w=h;x=i;y=k;i=0}do if(b){p=E+8|0;h=(d[p+V>>0]|0)+(d[p>>0]|0)|0;p=p+X|0;n=(d[p+V>>0]|0)+(d[p>>0]|0)|0;p=p+X|0;o=(d[p+V>>0]|0)+(d[p>>0]|0)|0;p=p+X|0;p=(d[p+V>>0]|0)+(d[p>>0]|0)|0;j=j+1|0;i=i+1|0;k=n+h|0;c[ga>>2]=o+k+(c[ga>>2]|0)+p;k=k-o-p+(c[ba>>2]|0)|0;c[ba>>2]=k;l=(q|0)==0;if(!(ea&l))if(l){p=55;break}else{p=50;break}else{c[aa>>2]=x+y+w+u-h-n-o-p>>4;p=55;break}}else if(!q)p=51;else p=50;while(0);if((p|0)==50){c[aa>>2]=c[aa>>2]>>q+2;p=51}do if((p|0)==51){p=0;k=(i|0)==0;if(ca&(m&k)){k=r+z+s+t-D-C-B-A>>4;p=56;break}if(!k){k=c[ba>>2]|0;p=55}}while(0);if((p|0)==55){k=k>>i+2;p=56}if((p|0)==56)c[ba>>2]=k;switch(j|0){case 1:{i=c[ga>>2]>>3;break}case 2:{i=c[ga>>2]>>4;break}case 3:{i=(c[ga>>2]|0)*21>>9;break}default:i=c[ga>>2]>>5}c[ga>>2]=i;j=c[aa>>2]|0;k=c[ba>>2]|0;if(!(k|j)){c[O>>2]=i;c[P>>2]=i;c[Q>>2]=i;c[R>>2]=i;c[S>>2]=i;c[T>>2]=i;c[H>>2]=i;c[I>>2]=i;c[J>>2]=i;c[K>>2]=i;c[L>>2]=i;c[ba>>2]=i;c[M>>2]=i;c[N>>2]=i;c[aa>>2]=i}else{_=i+j|0;da=j>>1;$=i+da|0;da=i-da|0;f=i-j|0;c[ga>>2]=_+k;g=k>>1;c[ba>>2]=_+g;c[I>>2]=_-g;c[R>>2]=_-k;c[aa>>2]=$+k;c[L>>2]=$+g;c[H>>2]=$-g;c[Q>>2]=$-k;c[N>>2]=da+k;c[K>>2]=da+g;c[T>>2]=da-g;c[P>>2]=da-k;c[M>>2]=f+k;c[J>>2]=f+g;c[S>>2]=f-g;c[O>>2]=f-k}j=0;i=G+(F<<6)|0;l=ga;while(1){k=c[l+((j>>>1&3)<<2)>>2]|0;k=(k|0)<255?k:255;a[i>>0]=(k|0)>0?k:0;k=j+1|0;if((k|0)==64)break;else{j=k;i=i+1|0;l=(k&15|0)==0?l+16|0:l}}F=F+1|0;if((F|0)==2)break;else{j=z;q=A;p=B;n=C;l=D;o=u;h=w;i=x;k=y;E=E+Y|0}}yf(e,fa);Dc=ha;return}function Wg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a:do if(!(c[d+284>>2]|0))n=0;else{g=0;b:while(1){f=c[d+288+(g*20|0)>>2]|0;switch(f|0){case 5:{n=1;break a}case 0:break b;default:{}}g=g+1|0}n=f}while(0);switch(c[b+16>>2]|0){case 0:{if((c[e>>2]|0)!=5){g=c[a>>2]|0;f=c[d+20>>2]|0;if(g>>>0>f>>>0?(h=c[b+20>>2]|0,(g-f|0)>>>0>=h>>>1>>>0):0){k=f;j=(c[a+4>>2]|0)+h|0;i=a}else{i=a;l=12}}else{c[a+4>>2]=0;c[a>>2]=0;f=c[d+20>>2]|0;g=0;i=a;l=12}do if((l|0)==12){if(f>>>0>g>>>0?(j=c[b+20>>2]|0,(f-g|0)>>>0>j>>>1>>>0):0){k=f;j=(c[a+4>>2]|0)-j|0;break}k=f;j=c[a+4>>2]|0}while(0);if(!(c[e+4>>2]|0)){d=c[d+24>>2]|0;d=j+k+((d|0)<0?d:0)|0;return d|0}h=a+4|0;c[h>>2]=j;f=c[d+24>>2]|0;g=(f|0)<0;if(!n){c[i>>2]=k;d=j+k+(g?f:0)|0;return d|0}else{c[h>>2]=0;c[i>>2]=g?0-f|0:0;d=0;return d|0}}case 1:{if((c[e>>2]|0)!=5){f=c[a+12>>2]|0;if((c[a+8>>2]|0)>>>0>(c[d+12>>2]|0)>>>0)f=(c[b+12>>2]|0)+f|0}else f=0;l=c[b+36>>2]|0;h=(l|0)==0;if(h)g=0;else g=(c[d+12>>2]|0)+f|0;m=(c[e+4>>2]|0)==0;g=g+(((g|0)!=0&m)<<31>>31)|0;k=(g|0)!=0;g=g+-1|0;if(k){j=(g>>>0)/(l>>>0)|0;e=g-(v(j,l)|0)|0}else{e=0;j=0}if(h)g=0;else{h=c[b+40>>2]|0;g=0;i=0;do{g=(c[h+(i<<2)>>2]|0)+g|0;i=i+1|0}while((i|0)!=(l|0))}if(k){g=v(g,j)|0;h=c[b+40>>2]|0;i=0;do{g=(c[h+(i<<2)>>2]|0)+g|0;i=i+1|0}while(i>>>0<=e>>>0)}else g=0;if(m)i=(c[b+28>>2]|0)+g|0;else i=g;g=(c[d+32>>2]|0)+(c[b+32>>2]|0)|0;h=a+12|0;if(!n){n=((g|0)<0?g:0)+i+(c[d+28>>2]|0)|0;c[h>>2]=f;c[a+8>>2]=c[d+12>>2];d=n;return d|0}else{c[h>>2]=0;c[a+8>>2]=0;d=0;return d|0}}default:{if((c[e>>2]|0)==5){i=0;g=0;f=a+12|0}else{h=c[d+12>>2]|0;f=a+12|0;g=c[f>>2]|0;if((c[a+8>>2]|0)>>>0>h>>>0)g=(c[b+12>>2]|0)+g|0;i=g;g=(h+g<<1)+(((c[e+4>>2]|0)==0)<<31>>31)|0}if(!n){c[f>>2]=i;c[a+8>>2]=c[d+12>>2];d=g;return d|0}else{c[f>>2]=0;c[a+8>>2]=0;d=0;return d|0}}}return 0}function Xg(a,b){a=a|0;b=b|0;var d=0;pg(a);d=gf(2112,1)|0;c[a+3376>>2]=d;if(!d){d=1;return d|0}if(!b){d=0;return d|0}c[a+1216>>2]=1;d=0;return d|0}function Yg(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=Dc;Dc=Dc+208|0;k=s+204|0;q=s;j=s+112|0;i=s+40|0;r=s+16|0;h=s+12|0;n=s+8|0;c[h>>2]=0;o=a+3344|0;if((c[o>>2]|0)!=0?(c[a+3348>>2]|0)==(b|0):0){l=a+3356|0;c[r>>2]=c[l>>2];c[r+4>>2]=c[l+4>>2];c[r+8>>2]=c[l+8>>2];c[r+12>>2]=c[l+12>>2];c[r+4>>2]=c[r>>2];c[r+8>>2]=0;c[r+16>>2]=0;c[f>>2]=c[a+3352>>2]}else p=4;do if((p|0)==4)if(!(bf(b,d,r,f)|0)){l=a+3356|0;c[l>>2]=c[r>>2];c[l+4>>2]=c[r+4>>2];c[l+8>>2]=c[r+8>>2];c[l+12>>2]=c[r+12>>2];c[l+16>>2]=c[r+16>>2];c[a+3352>>2]=c[f>>2];c[a+3348>>2]=b;break}else{a=3;Dc=s;return a|0}while(0);c[o>>2]=0;if(ng(r,q)|0){a=3;Dc=s;return a|0}if(((c[q>>2]|0)+-1|0)>>>0>11){a=0;Dc=s;return a|0}b=Bg(r,q,a,h)|0;a:do if((b|0)<65520){switch(b|0){case 0:break;default:break a}do if(!(c[h>>2]|0))p=19;else{if(c[a+1184>>2]|0?(g=a+16|0,c[g>>2]|0):0){if(c[a+3380>>2]|0){a=3;Dc=s;return a|0}d=a+1188|0;if(!(c[d>>2]|0)){r=a+1220|0;b=a+1336|0;c[b>>2]=Ig(r)|0;Kg(r);Ug(a,b,0)|0}else{b=a+1336|0;Ug(a,b,c[a+1372>>2]|0)|0}c[f>>2]=0;c[o>>2]=1;c[a+1180>>2]=0;h=b;b=a+1360|0;break}c[a+1188>>2]=0;c[a+1180>>2]=0;p=19}while(0);b:do if((p|0)==19)switch(c[q>>2]|0){case 7:if(!(cf(r,j)|0)){qg(a,j)|0;a=0;Dc=s;return a|0}else{a=j+40|0;rg(c[a>>2]|0);c[a>>2]=0;a=j+84|0;rg(c[a>>2]|0);c[a>>2]=0;a=3;Dc=s;return a|0}case 8:if(!(mf(r,i)|0)){sg(a,i)|0;a=0;Dc=s;return a|0}else{a=i+20|0;rg(c[a>>2]|0);c[a>>2]=0;a=i+24|0;rg(c[a>>2]|0);c[a>>2]=0;a=i+28|0;rg(c[a>>2]|0);c[a>>2]=0;a=i+44|0;rg(c[a>>2]|0);c[a>>2]=0;a=3;Dc=s;return a|0}case 1:case 5:{l=a+1180|0;if(c[l>>2]|0){a=0;Dc=s;return a|0}c[a+1184>>2]=1;if(xg(a)|0){c[a+1204>>2]=0;c[a+1208>>2]=e;of(r,k)|0;d=a+8|0;g=c[d>>2]|0;b=tg(a,c[k>>2]|0,(c[q>>2]|0)==5&1)|0;if(b|0){c[a+4>>2]=256;c[a+12>>2]=0;c[d>>2]=32;c[a+16>>2]=0;c[a+3380>>2]=0;a=(b|0)==65535?5:4;Dc=s;return a|0}if((g|0)!=(c[d>>2]|0)){g=c[a+16>>2]|0;c[n>>2]=1;b=c[a>>2]|0;if(b>>>0<32)b=c[a+20+(b<<2)>>2]|0;else b=0;c[f>>2]=0;c[o>>2]=1;do if(((((c[q>>2]|0)==5?(r=uf(n,r,g,c[a+12>>2]|0,5)|0,(c[n>>2]|r|0)==0):0)?(m=a+1220|0,!((b|0)==0|(c[a+1276>>2]|0)!=0)):0)?(c[b+52>>2]|0)==(c[g+52>>2]|0):0)?(c[b+56>>2]|0)==(c[g+56>>2]|0):0){if((c[b+88>>2]|0)!=(c[g+88>>2]|0)){p=39;break}Ng(m)}else p=39;while(0);if((p|0)==39)c[a+1280>>2]=0;c[a>>2]=c[d>>2];a=2;Dc=s;return a|0}}if(c[a+3380>>2]|0){a=3;Dc=s;return a|0}j=a+1368|0;g=a+2356|0;h=a+16|0;if(nf(r,g,c[h>>2]|0,c[a+12>>2]|0,q)|0){a=3;Dc=s;return a|0}if(!(xg(a)|0))b=a+1220|0;else{b=a+1220|0;if((c[q>>2]|0)!=5?Lg(b,c[a+2368>>2]|0,(c[q+4>>2]|0)!=0&1,c[(c[h>>2]|0)+48>>2]|0)|0:0){a=3;Dc=s;return a|0}c[a+1336>>2]=Ig(b)|0}xl(j|0,g|0,988)|0;d=a+1188|0;c[d>>2]=1;i=a+1360|0;f=q;p=c[f+4>>2]|0;q=i;c[q>>2]=c[f>>2];c[q+4>>2]=p;zg(a,c[a+1432>>2]|0);Kg(b);if(Dg(b,a+1436|0,c[a+1380>>2]|0,c[a+1412>>2]|0)|0){a=3;Dc=s;return a|0}b=a+1336|0;if(vf(r,a,b,j)|0){lg(a,c[j>>2]|0);a=3;Dc=s;return a|0}if(!(yg(a)|0)){a=0;Dc=s;return a|0}else{c[l>>2]=1;g=h;h=b;b=i;break b}}default:{a=0;Dc=s;return a|0}}while(0);Og(h,c[a+1212>>2]|0);wg(a);g=Wg(a+1284|0,c[g>>2]|0,a+1368|0,b)|0;do if(c[d>>2]|0){b=a+1220|0;if(!(c[a+1364>>2]|0)){Eg(b,0,h,c[a+1380>>2]|0,g,(c[a+1360>>2]|0)==5&1,c[a+1208>>2]|0,c[a+1204>>2]|0)|0;break}else{Eg(b,a+1644|0,h,c[a+1380>>2]|0,g,(c[a+1360>>2]|0)==5&1,c[a+1208>>2]|0,c[a+1204>>2]|0)|0;break}}while(0);c[a+1184>>2]=0;c[d>>2]=0;a=1;Dc=s;return a|0}else{switch(b|0){case 65520:{b=4;break}default:break a}Dc=s;return b|0}while(0);a=3;Dc=s;return a|0}function Zg(a){a=a|0;var b=0,d=0,e=0;e=0;do{d=a+20+(e<<2)|0;b=c[d>>2]|0;if(b|0){rg(c[b+40>>2]|0);c[(c[d>>2]|0)+40>>2]=0;rg(c[(c[d>>2]|0)+84>>2]|0);c[(c[d>>2]|0)+84>>2]=0;rg(c[d>>2]|0);c[d>>2]=0}e=e+1|0}while((e|0)!=32);e=0;do{d=a+148+(e<<2)|0;b=c[d>>2]|0;if(b|0){rg(c[b+20>>2]|0);c[(c[d>>2]|0)+20>>2]=0;rg(c[(c[d>>2]|0)+24>>2]|0);c[(c[d>>2]|0)+24>>2]=0;rg(c[(c[d>>2]|0)+28>>2]|0);c[(c[d>>2]|0)+28>>2]=0;rg(c[(c[d>>2]|0)+44>>2]|0);c[(c[d>>2]|0)+44>>2]=0;rg(c[d>>2]|0);c[d>>2]=0}e=e+1|0}while((e|0)!=256);e=a+3376|0;rg(c[e>>2]|0);c[e>>2]=0;e=a+1212|0;rg(c[e>>2]|0);c[e>>2]=0;e=a+1172|0;rg(c[e>>2]|0);c[e>>2]=0;Jg(a+1220|0);return}function _g(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=Mg(a+1220|0)|0;if(!a){b=0;return b|0}c[b>>2]=c[a+4>>2];c[d>>2]=c[a+12>>2];c[e>>2]=c[a+8>>2];b=c[a>>2]|0;return b|0}function $g(a){a=a|0;a=c[a+16>>2]|0;if(!a){a=0;return a|0}a=c[a+52>>2]|0;return a|0}function ah(a){a=a|0;a=c[a+16>>2]|0;if(!a){a=0;return a|0}a=c[a+56>>2]|0;return a|0}function bh(a){a=a|0;Ng(a+1220|0);return}function ch(a){a=a|0;return (Cg(a)|0)==0|0}function dh(a){a=a|0;var b=0;a=c[a+16>>2]|0;if((((a|0?c[a+80>>2]|0:0)?(b=c[a+84>>2]|0,b|0):0)?c[b+24>>2]|0:0)?c[b+32>>2]|0:0){b=1;return b|0}b=0;return b|0}function eh(a){a=a|0;a=c[a+16>>2]|0;if(!a){a=2;return a|0}if(!(c[a+80>>2]|0)){a=2;return a|0}a=c[a+84>>2]|0;if(!a){a=2;return a|0}if(!(c[a+24>>2]|0)){a=2;return a|0}if(!(c[a+36>>2]|0)){a=2;return a|0}a=c[a+48>>2]|0;return a|0}function fh(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a=c[a+16>>2]|0;if(a|0?c[a+60>>2]|0:0){c[b>>2]=1;b=a+64|0;c[d>>2]=c[b>>2]<<1;c[e>>2]=(c[a+52>>2]<<4)-((c[a+68>>2]|0)+(c[b>>2]|0)<<1);e=a+72|0;c[f>>2]=c[e>>2]<<1;e=(c[a+56>>2]<<4)-((c[a+76>>2]|0)+(c[e>>2]|0)<<1)|0;c[g>>2]=e;return}c[b>>2]=0;c[d>>2]=0;c[e>>2]=0;c[f>>2]=0;e=0;c[g>>2]=e;return}function gh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;a=c[a+16>>2]|0;a:do if((((a|0)!=0?(c[a+80>>2]|0)!=0:0)?(e=c[a+84>>2]|0,(e|0)!=0):0)?(c[e>>2]|0)!=0:0)do switch(c[e+4>>2]|0){case 255:{f=c[e+8>>2]|0;a=c[e+12>>2]|0;e=(f|0)==0|(a|0)==0;a=e?0:a;e=e?0:f;break a}case 1:{a=1;e=1;break a}case 2:{a=11;e=12;break a}case 3:{a=11;e=10;break a}case 4:{a=11;e=16;break a}case 5:{a=33;e=40;break a}case 6:{a=11;e=24;break a}case 7:{a=11;e=20;break a}case 8:{a=11;e=32;break a}case 9:{a=33;e=80;break a}case 10:{a=11;e=18;break a}case 11:{a=11;e=15;break a}case 12:{a=33;e=64;break a}case 13:{a=99;e=160;break a}default:{a=0;e=0;break a}}while(0);else{a=1;e=1}while(0);c[b>>2]=e;c[d>>2]=a;return}function hh(a){a=a|0;a=c[a+16>>2]|0;if(!a){a=0;return a|0}a=c[a>>2]|0;return a|0}function ih(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){e=-1;return e|0}d=Ci(3396)|0;if(!d){e=-4;return e|0}e=d+8|0;if(!(Xg(e,b)|0)){c[d>>2]=1;c[d+4>>2]=0;c[a>>2]=d;e=0;return e|0}else{Zg(e);Di(d);e=-4;return e|0}return 0}function jh(a){a=a|0;if(!a)return;Zg(a+8|0);Di(a);return}function kh(a,b){a=a|0;b=b|0;var d=0;if((a|0)==0|(b|0)==0){d=-1;return d|0}d=a+8|0;if(!(c[a+24>>2]|0)){d=-6;return d|0}if(!(c[a+20>>2]|0)){d=-6;return d|0}c[b+4>>2]=($g(d)|0)<<4;c[b+8>>2]=(ah(d)|0)<<4;c[b+12>>2]=dh(d)|0;c[b+16>>2]=eh(d)|0;fh(d,b+28|0,b+32|0,b+36|0,b+40|0,b+44|0);gh(d,b+20|0,b+24|0);c[b>>2]=hh(d)|0;d=0;return d|0}function lh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=Dc;Dc=Dc+16|0;j=l;a:do if((!((b|0)==0|(d|0)==0)?(e=c[b>>2]|0,(e|0)!=0):0)?(g=c[b+4>>2]|0,(g|0)!=0):0)if((a|0)!=0?(f=c[a>>2]|0,(f|0)!=0):0){c[d>>2]=0;c[j>>2]=0;i=a+8|0;c[a+3392>>2]=c[b+12>>2];h=b+8|0;b:do if((f|0)==2){b=e;k=8}else{b=1;c:while(1){m=Yg(i,e,g,c[h>>2]|0,j)|0;f=c[j>>2]|0;e=e+f|0;f=g-f|0;g=(f|0)>0?f:0;c[d>>2]=e;switch(m|0){case 5:{b=-4;break a}case 2:break b;case 1:break c;case 4:{m=(ch(i)|0|g|0)==0;b=m?-2:b;break}default:{}}if((f|0)<1)break a;if((c[a>>2]|0)==2){b=e;k=8;break b}}b=a+4|0;c[b>>2]=(c[b>>2]|0)+1;b=(f|0)<1?2:3;break a}while(0);if((k|0)==8){c[a>>2]=1;c[d>>2]=b+(c[j>>2]|0)}b=a+1288|0;if((c[b>>2]|0)!=0?(c[a+1244>>2]|0)!=(c[a+1248>>2]|0):0){c[b>>2]=0;c[a>>2]=2;b=3}else b=4}else b=-3;else b=-1;while(0);Dc=l;return b|0}function mh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=Dc;Dc=Dc+16|0;f=h+8|0;e=h+4|0;g=h;if((a|0)==0|(b|0)==0){g=-1;Dc=h;return g|0}a=a+8|0;if(d|0)bh(a);a=_g(a,g,e,f)|0;if(!a){g=0;Dc=h;return g|0}c[b>>2]=a;c[b+4>>2]=c[g>>2];c[b+8>>2]=c[e>>2];c[b+12>>2]=c[f>>2];g=2;Dc=h;return g|0}function nh(a,d){a=a|0;d=d|0;c[a>>2]=d;b[a+4>>1]=0;b[a+6>>1]=8;return}function oh(a,b){a=a|0;b=b|0;return (e[a+6>>1]|0)+8-(e[b+6>>1]|0)+((c[b>>2]|0)-((c[a>>2]|0)+1)<<3)|0}function ph(a){a=a|0;var d=0;d=c[a>>2]|0;return ((b[a+6>>1]|0)==8?d:d+1|0)|0}function qh(a,f){a=a|0;f=f|0;var g=0,h=0,i=0;g=(c[a>>2]|0)+(f>>>3)|0;c[a>>2]=g;i=a+6|0;h=(e[i>>1]|0)-(f&7)|0;f=h&65535;b[i>>1]=f;if((h&65535)>>>0>8){g=g+1|0;c[a>>2]=g;f=h+8&65535;b[i>>1]=f}if((f&65535)>=8)return;b[a+4>>1]=d[g>>0]|0;return}function rh(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;l=e+6|0;g=b[l>>1]|0;if(g<<16>>16==8){h=d[c[e>>2]>>0]|0;k=e+4|0;b[k>>1]=h}else{k=e+4|0;h=b[k>>1]|0}j=g&65535;g=(1<>>0<=f>>>0){h=f-j|0;i=(c[e>>2]|0)+1|0;c[e>>2]=i;b[l>>1]=8;if(h>>>0>7){j=f-j|0;do{f=i;i=i+1|0;c[e>>2]=i;g=g<<8|(d[f>>0]|0);h=h+-8|0}while(h>>>0>7);h=j&7}if(!h){l=g;return l|0}else{e=a[i>>0]|0;b[k>>1]=e&255;k=8-h|0;g=(e&255)>>>k|g<>>h}while(0);b[l>>1]=h;l=g;return l|0}function sh(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;h=h&65535;if(g>>>0>31){q=f+6|0;p=f+4|0;n=b[q>>1]|0;o=g;while(1){if(n<<16>>16!=8){j=n&65535;i=(1<>1]|0);if((n&65535)>32){r=j+-32|0;j=r&65535;i=i>>>r;r=13}else r=7}else{i=a[c[f>>2]>>0]|0;b[p>>1]=i&255;i=(1<<(n&65535))+255&(i&255);j=8;r=7}if((r|0)==7){r=0;k=32-j|0;m=c[f>>2]|0;l=m+1|0;c[f>>2]=l;b[q>>1]=8;if(k>>>0>7){j=(24-j|0)>>>3;do{s=l;l=l+1|0;c[f>>2]=l;i=i<<8|(d[s>>0]|0);k=k+-8|0}while(k>>>0>7);j=m+2+j|0;k=0-n&7}else j=l;if(!k)j=8;else{s=a[j>>0]|0;b[p>>1]=s&255;r=8-k|0;j=r&65535;i=(s&255)>>>r|i<>1]=j}s=h<<8^(e[46854+((i>>>24^h>>>8&255)<<1)>>1]|0);s=s<<8^(e[46854+(((s>>>8^i>>>16)&255)<<1)>>1]|0);s=s<<8^(e[46854+(((s^i)>>>8&255)<<1)>>1]|0);h=s<<8^(e[46854+(((s>>>8^i)&255)<<1)>>1]|0);o=o+-32|0;if(o>>>0<=31)break;else n=j}g=g&31}switch(g>>>3&536870911|0){case 3:{q=h<<8;p=h>>>8;o=f+6|0;n=b[o>>1]|0;if(n<<16>>16!=8){i=f+4|0;j=n&65535;h=(1<>1]|0);if((n&65535)>8){r=j+-8|0;i=r&65535;h=h>>>r;r=29}else r=23}else{h=a[c[f>>2]>>0]|0;i=f+4|0;b[i>>1]=h&255;h=(1<<(n&65535))+255&(h&255);j=8;r=23}if((r|0)==23){k=8-j|0;l=c[f>>2]|0;j=l+1|0;c[f>>2]=j;b[o>>1]=8;if(k>>>0>7){m=((k+-8|0)>>>3)+2|0;do{s=j;j=j+1|0;c[f>>2]=j;h=h<<8|(d[s>>0]|0);k=k+-8|0}while(k>>>0>7);j=l+m|0;k=0-n&7}if(!k)i=8;else{s=a[j>>0]|0;b[i>>1]=s&255;r=8-k|0;i=r&65535;h=(s&255)>>>r|h<>1]=i;h=q^(e[46854+(((h^p)&255)<<1)>>1]|0);r=31;break}case 2:{o=f+6|0;i=b[o>>1]|0;r=31;break}case 1:{o=f+6|0;i=b[o>>1]|0;r=43;break}default:{}}if((r|0)==31){q=h<<8;p=h>>>8;if(i<<16>>16!=8){j=f+4|0;k=i&65535;h=(1<>1]|0);if((i&65535)>8){r=k+-8|0;i=r&65535;h=h>>>r;r=41}else r=35}else{h=a[c[f>>2]>>0]|0;j=f+4|0;b[j>>1]=h&255;h=(1<<(i&65535))+255&(h&255);k=8;r=35}if((r|0)==35){l=8-k|0;m=c[f>>2]|0;k=m+1|0;c[f>>2]=k;b[o>>1]=8;if(l>>>0>7){n=((l+-8|0)>>>3)+2|0;do{s=k;k=k+1|0;c[f>>2]=k;h=h<<8|(d[s>>0]|0);l=l+-8|0}while(l>>>0>7);k=m+n|0;l=0-i&7}if(!l)i=8;else{s=a[k>>0]|0;b[j>>1]=s&255;r=8-l|0;i=r&65535;h=(s&255)>>>r|h<>1]=i;h=q^(e[46854+(((h^p)&255)<<1)>>1]|0);r=43}if((r|0)==43){q=h<<8;p=h>>>8;if(i<<16>>16!=8){j=f+4|0;k=i&65535;h=(1<>1]|0);if((i&65535)>8){i=k+-8|0;h=h>>>i;r=53}else r=47}else{h=a[c[f>>2]>>0]|0;j=f+4|0;b[j>>1]=h&255;h=(1<<(i&65535))+255&(h&255);k=8;r=47}if((r|0)==47){l=8-k|0;m=c[f>>2]|0;k=m+1|0;c[f>>2]=k;b[o>>1]=8;if(l>>>0>7){n=((l+-8|0)>>>3)+2|0;do{s=k;k=k+1|0;c[f>>2]=k;h=h<<8|(d[s>>0]|0);l=l+-8|0}while(l>>>0>7);k=m+n|0;i=0-i&7}else i=l;if(i){s=a[k>>0]|0;b[j>>1]=s&255;r=8-i|0;h=(s&255)>>>r|h<>1]=i;h=q^(e[46854+(((h^p)&255)<<1)>>1]|0);g=g&7}if(!g){s=h;s=s&65535;return s|0}q=f+6|0;p=f+4|0;n=b[q>>1]|0;o=g;while(1){o=o+-1|0;if(n<<16>>16!=8){g=n&65535;i=(1<>1]|0);if((n&65535)<=1){k=1-g|0;m=c[f>>2]|0;j=m+1|0;c[f>>2]=j;b[q>>1]=8;if(k>>>0>7){l=(-7-g|0)>>>3;g=i;do{s=j;j=j+1|0;c[f>>2]=j;g=g<<8|(d[s>>0]|0);k=k+-8|0}while(k>>>0>7);j=m+2+l|0;k=1-n&7}else g=i;if(!k)i=8;else{s=a[j>>0]|0;b[p>>1]=s&255;r=8-k|0;j=r&65535;g=(s&255)>>>r|g<>2]>>0]|0;b[p>>1]=i&255;i=(1<<(n&65535))+255&(i&255);g=8;r=60}if((r|0)==60){g=g+-1|0;j=g&65535;g=i>>>g;r=67}if((r|0)==67){r=0;b[q>>1]=j;i=j}s=h<<1;h=((g^h>>>15)&1|0)==0?s:s^32773;if(!o)break;else n=i}s=h&65535;return s|0}function th(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;nh(a+28|0,0);nh(a+36|0,0);a=a+44|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;return}function uh(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+36|0;d=a;e=d+36|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));f=56644;d=c[f+4>>2]|0;e=b;c[e>>2]=c[f>>2];c[e+4>>2]=d;c[a+44>>2]=0;c[a+9264>>2]=0;Mh(a);return}function vh(a){a=a|0;Lh(a);a=a+4096|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function wh(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=(c[d+4>>2]|0)==0?1:2;switch(c[d>>2]|0){case 1:{e=12;break}case 3:{e=(c[d+28>>2]&4096|0)==0?36:18;f=3;break}default:{e=36;f=3}}f=c[d+20>>2]|0;h=a+4100|0;c[h>>2]=f;b[a+4104>>1]=i;g=a+4106|0;b[g>>1]=e<<5;if(!(c[d+44>>2]&2))f=4;else{c[h>>2]=f>>>1;b[g>>1]=e<<4&32752;f=5}dd[f&7](a,d,i,e);a=a+4096|0;c[a>>2]=(c[a>>2]|0)+e&15;return}function xh(a){a=a|0;var b=0;b=a+9264|0;a=c[b>>2]|0;if(!a)return;Di(a);c[b>>2]=0;return}function yh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;if(!d)return;x=a+4096|0;n=(e|0)==0;m=0;s=a+1504|0;t=a+1472|0;while(1){if(!n){f=a+4108+(m*4608|0)|0;w=c[x>>2]|0;y=0;while(1){A=w&1;o=a+(m<<11)+(A<<9)|0;Ah(b+48+(m*4608|0)+(y<<7)|0,w>>>1,o,a+(m<<11)+1024+(A<<9)|0);k=w&-2;u=w+15&14|1;l=A^1;q=5336+(u<<2)|0;B=5336+(k<<2)|0;H=v(c[B>>2]|0,c[o>>2]|0)|0;g=v(c[q>>2]|0,c[a+(m<<11)+(l<<9)>>2]|0)|0;i=v(c[q+56>>2]|0,c[a+(m<<11)+(l<<9)+4>>2]|0)|0;h=v(c[q+48>>2]|0,c[a+(m<<11)+(l<<9)+8>>2]|0)|0;p=v(c[q+40>>2]|0,c[a+(m<<11)+(l<<9)+12>>2]|0)|0;j=v(c[q+32>>2]|0,c[a+(m<<11)+(l<<9)+16>>2]|0)|0;z=v(c[q+24>>2]|0,c[a+(m<<11)+(l<<9)+20>>2]|0)|0;r=v(c[q+16>>2]|0,c[a+(m<<11)+(l<<9)+24>>2]|0)|0;q=v(c[q+8>>2]|0,c[a+(m<<11)+(l<<9)+28>>2]|0)|0;I=v(c[B+56>>2]|0,c[a+(m<<11)+(A<<9)+4>>2]|0)|0;G=v(c[B+48>>2]|0,c[a+(m<<11)+(A<<9)+8>>2]|0)|0;F=v(c[B+40>>2]|0,c[a+(m<<11)+(A<<9)+12>>2]|0)|0;E=v(c[B+32>>2]|0,c[a+(m<<11)+(A<<9)+16>>2]|0)|0;D=v(c[B+24>>2]|0,c[a+(m<<11)+(A<<9)+20>>2]|0)|0;C=v(c[B+16>>2]|0,c[a+(m<<11)+(A<<9)+24>>2]|0)|0;c[f>>2]=I+H+G+F+E+D+C+(v(c[B+8>>2]|0,c[a+(m<<11)+(A<<9)+28>>2]|0)|0)-(i+g+h+p+j+z+r+q)>>2;q=0-u|0;r=0-k|0;z=s+(l<<9)|0;j=5336;p=a+(m<<11)+1024+(l<<9)|0;h=f+4|0;g=f+60|0;i=1;while(1){f=o;o=o+32|0;if(!(i&1)){B=j+128+(u<<2)|0;A=p+4|0;J=p+8|0;K=p+12|0;L=p+16|0;M=p+20|0;N=p+24|0;O=p+28|0;W=j+128+(k<<2)|0;I=f+60|0;$=v(c[W+8>>2]|0,c[I>>2]|0)|0;U=v(c[B>>2]|0,c[p>>2]|0)|0;V=v(c[B+56>>2]|0,c[A>>2]|0)|0;T=v(c[B+48>>2]|0,c[J>>2]|0)|0;S=v(c[B+40>>2]|0,c[K>>2]|0)|0;R=v(c[B+32>>2]|0,c[L>>2]|0)|0;Q=v(c[B+24>>2]|0,c[M>>2]|0)|0;P=v(c[B+16>>2]|0,c[N>>2]|0)|0;B=v(c[B+8>>2]|0,c[O>>2]|0)|0;H=f+56|0;aa=v(c[W+16>>2]|0,c[H>>2]|0)|0;G=f+52|0;_=v(c[W+24>>2]|0,c[G>>2]|0)|0;F=f+48|0;Z=v(c[W+32>>2]|0,c[F>>2]|0)|0;E=f+44|0;Y=v(c[W+40>>2]|0,c[E>>2]|0)|0;D=f+40|0;X=v(c[W+48>>2]|0,c[D>>2]|0)|0;C=f+36|0;f=v(c[W+56>>2]|0,c[C>>2]|0)|0;c[h>>2]=aa+$+_+Z+Y+X+f+(v(c[W>>2]|0,c[o>>2]|0)|0)-(V+U+T+S+R+Q+P+B)>>2;B=j+128+(q<<2)|0;f=v(c[B+116>>2]|0,c[O>>2]|0)|0;f=(v(c[B+108>>2]|0,c[N>>2]|0)|0)+f|0;f=f+(v(c[B+100>>2]|0,c[M>>2]|0)|0)|0;f=f+(v(c[B+92>>2]|0,c[L>>2]|0)|0)|0;f=f+(v(c[B+84>>2]|0,c[K>>2]|0)|0)|0;f=f+(v(c[B+76>>2]|0,c[J>>2]|0)|0)|0;f=f+(v(c[B+68>>2]|0,c[A>>2]|0)|0)|0;B=f+(v(c[B+60>>2]|0,c[p>>2]|0)|0)|0;f=j+128+(r<<2)|0;B=B+(v(c[f+60>>2]|0,c[o>>2]|0)|0)|0;C=B+(v(c[f+68>>2]|0,c[C>>2]|0)|0)|0;D=C+(v(c[f+76>>2]|0,c[D>>2]|0)|0)|0;E=D+(v(c[f+84>>2]|0,c[E>>2]|0)|0)|0;F=E+(v(c[f+92>>2]|0,c[F>>2]|0)|0)|0;G=F+(v(c[f+100>>2]|0,c[G>>2]|0)|0)|0;H=G+(v(c[f+108>>2]|0,c[H>>2]|0)|0)|0;c[g>>2]=H+(v(c[f+116>>2]|0,c[I>>2]|0)|0)>>2;f=h+4|0;g=g+-4|0}else f=h;i=i+1|0;if((i|0)==16)break;else{j=j+128|0;p=p+32|0;h=f}}aa=7384+(u<<2)|0;$=v(c[aa>>2]|0,c[z>>2]|0)|0;$=$+(v(c[aa+56>>2]|0,c[t+(l<<9)+36>>2]|0)|0)|0;$=$+(v(c[aa+48>>2]|0,c[t+(l<<9)+40>>2]|0)|0)|0;$=$+(v(c[aa+40>>2]|0,c[t+(l<<9)+44>>2]|0)|0)|0;$=$+(v(c[aa+32>>2]|0,c[t+(l<<9)+48>>2]|0)|0)|0;$=$+(v(c[aa+24>>2]|0,c[t+(l<<9)+52>>2]|0)|0)|0;$=$+(v(c[aa+16>>2]|0,c[t+(l<<9)+56>>2]|0)|0)|0;c[f>>2]=0-($+(v(c[aa+8>>2]|0,c[t+(l<<9)+60>>2]|0)|0))>>2;y=y+1|0;if((y|0)==(e|0))break;else{f=f+32|0;w=w+1&15}}}m=m+1|0;if((m|0)==(d|0))break;else{s=s+2048|0;t=t+2048|0}}return} +function Bf(a,f,g,h,i,j){a=a|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;S=Dc;Dc=Dc+32|0;R=S;m=c[i+4>>2]|0;Q=(h>>>0)/(m>>>0)|0;P=Q<<4;Q=h-(v(Q,m)|0)<<4;c[R+4>>2]=m;c[R+8>>2]=c[i+8>>2];m=c[a>>2]|0;a:do switch(m|0){case 1:case 0:{y=c[f+144>>2]|0;o=c[a+4>>2]|0;l=c[a+200>>2]|0;if((l|0)!=0?(c[l+4>>2]|0)==(o|0):0)if((c[l>>2]|0)>>>0<6){k=l+152|0;k=e[k>>1]|e[k+2>>1]<<16;p=1;w=k&65535;k=k>>>16&65535;r=c[l+104>>2]|0}else{p=1;w=0;k=0;r=-1}else{p=0;w=0;k=0;r=-1}l=c[a+204>>2]|0;if((l|0)!=0?(c[l+4>>2]|0)==(o|0):0)if((c[l>>2]|0)>>>0<6){t=l+172|0;t=e[t>>1]|e[t+2>>1]<<16;n=1;q=c[l+108>>2]|0;s=t&65535;t=t>>>16&65535}else{n=1;q=-1;s=0;t=0}else{n=0;q=-1;s=0;t=0}if(!m)if((!((p|0)==0|(n|0)==0)?((k&65535)<<16|w&65535|r|0)!=0:0)?((t&65535)<<16|s&65535|q|0)!=0:0)O=14;else{m=0;l=0}else O=14;if((O|0)==14){u=b[f+160>>1]|0;x=b[f+162>>1]|0;l=c[a+208>>2]|0;if((l|0)!=0?(c[l+4>>2]|0)==(o|0):0)if((c[l>>2]|0)>>>0<6){o=l+172|0;n=c[l+108>>2]|0;o=e[o>>1]|e[o+2>>1]<<16;O=23}else{n=-1;o=0;O=23}else O=18;do if((O|0)==18){l=c[a+212>>2]|0;if(l|0?(c[l+4>>2]|0)==(o|0):0){if((c[l>>2]|0)>>>0>=6){n=-1;o=0;O=23;break}o=l+192|0;n=c[l+112>>2]|0;o=e[o>>1]|e[o+2>>1]<<16;O=23;break}if((p|0)==0|(n|0)!=0){n=-1;o=0;O=23}else l=w}while(0);do if((O|0)==23){m=(r|0)==(y|0);l=(q|0)==(y|0);if(((l&1)+(m&1)+((n|0)==(y|0)&1)|0)!=1){M=w<<16>>16;K=s<<16>>16;l=o<<16>>16;J=s<<16>>16>w<<16>>16;L=J?s:w;M=J?M:(K|0)<(M|0)?K:M;K=k<<16>>16;J=t<<16>>16;O=o>>16;I=t<<16>>16>k<<16>>16;N=I?t:k;k=I?K:(J|0)<(K|0)?J:K;l=(L<<16>>16<(o&65535)<<16>>16?L&65535:(M|0)>(l|0)?M:l)&65535;k=(N<<16>>16<(o>>>16&65535)<<16>>16?N&65535:(k|0)>(O|0)?k:O)&65535;break}if(m|l){l=m?w:s;k=m?k:t}else{l=o&65535;k=o>>>16&65535}}while(0);l=(l&65535)+(u&65535)|0;k=(k&65535)+(x&65535)|0;if(((l<<16>>16)+8192|0)>>>0>16383){R=1;Dc=S;return R|0}if(((k<<16>>16)+2048|0)>>>0>4095){R=1;Dc=S;return R|0}else{m=l&65535;l=k&65535}}k=Cf(g,y)|0;if(!k){R=1;Dc=S;return R|0}else{b[a+192>>1]=m;b[a+194>>1]=l;g=c[a+192>>2]|0;c[a+188>>2]=g;c[a+184>>2]=g;c[a+180>>2]=g;c[a+176>>2]=g;c[a+172>>2]=g;c[a+168>>2]=g;c[a+164>>2]=g;c[a+160>>2]=g;c[a+156>>2]=g;c[a+152>>2]=g;c[a+148>>2]=g;c[a+144>>2]=g;c[a+140>>2]=g;c[a+136>>2]=g;c[a+132>>2]=g;c[a+100>>2]=y;c[a+104>>2]=y;c[a+108>>2]=y;c[a+112>>2]=y;c[a+116>>2]=k;c[a+120>>2]=k;c[a+124>>2]=k;c[a+128>>2]=k;c[R>>2]=k;Df(j,a+132|0,R,Q,P,0,0,16,16);break a}}case 2:{t=b[f+160>>1]|0;u=b[f+162>>1]|0;z=c[f+144>>2]|0;y=a+4|0;o=c[y>>2]|0;k=c[a+204>>2]|0;if((k|0)!=0?(c[k+4>>2]|0)==(o|0):0)if((c[k>>2]|0)>>>0<6){s=k+172|0;s=e[s>>1]|e[s+2>>1]<<16;q=1;k=c[k+108>>2]|0;r=s&65535;s=s>>>16&65535}else{q=1;k=-1;r=0;s=0}else{q=0;k=-1;r=0;s=0}b:do if((k|0)!=(z|0)){m=c[a+200>>2]|0;if((m|0)!=0?(c[m+4>>2]|0)==(o|0):0)if((c[m>>2]|0)>>>0<6){k=m+152|0;k=e[k>>1]|e[k+2>>1]<<16;n=1;l=k&65535;k=k>>>16&65535;p=c[m+104>>2]|0}else{n=1;l=0;k=0;p=-1}else{n=0;l=0;k=0;p=-1}m=c[a+208>>2]|0;if((m|0)!=0?(c[m+4>>2]|0)==(o|0):0)if((c[m>>2]|0)>>>0<6){o=m+172|0;n=c[m+108>>2]|0;o=e[o>>1]|e[o+2>>1]<<16}else{n=-1;o=0}else O=44;do if((O|0)==44){m=c[a+212>>2]|0;if(m|0?(c[m+4>>2]|0)==(o|0):0){if((c[m>>2]|0)>>>0>=6){n=-1;o=0;break}o=m+192|0;n=c[m+112>>2]|0;o=e[o>>1]|e[o+2>>1]<<16;break}if((q|0)!=0|(n|0)==0){n=-1;o=0}else break b}while(0);m=(p|0)==(z|0);if((((n|0)==(z|0)&1)+(m&1)|0)!=1){K=l<<16>>16;J=r<<16>>16;M=o<<16>>16;O=r<<16>>16>l<<16>>16;L=O?r:l;l=O?K:(J|0)<(K|0)?J:K;K=k<<16>>16;J=s<<16>>16;O=o>>16;I=s<<16>>16>k<<16>>16;N=I?s:k;k=I?K:(J|0)<(K|0)?J:K;l=(L<<16>>16<(o&65535)<<16>>16?L&65535:(l|0)>(M|0)?l:M)&65535;k=(N<<16>>16<(o>>>16&65535)<<16>>16?N&65535:(k|0)>(O|0)?k:O)&65535;break}if(!m){l=o&65535;k=o>>>16&65535}}else{l=r;k=s}while(0);m=(l&65535)+(t&65535)|0;k=(k&65535)+(u&65535)|0;if(((m<<16>>16)+8192|0)>>>0>16383){R=1;Dc=S;return R|0}if(((k<<16>>16)+2048|0)>>>0>4095){R=1;Dc=S;return R|0}l=Cf(g,z)|0;if(!l){R=1;Dc=S;return R|0}b[a+160>>1]=m;b[a+162>>1]=k;t=c[a+160>>2]|0;c[a+156>>2]=t;c[a+152>>2]=t;c[a+148>>2]=t;c[a+144>>2]=t;c[a+140>>2]=t;c[a+136>>2]=t;c[a+132>>2]=t;c[a+100>>2]=z;c[a+104>>2]=z;c[a+116>>2]=l;c[a+120>>2]=l;u=b[f+164>>1]|0;w=b[f+166>>1]|0;x=c[f+148>>2]|0;l=c[y>>2]|0;m=c[a+200>>2]|0;n=(m|0)==0;if((!n?(c[m+4>>2]|0)==(l|0):0)?(c[m>>2]|0)>>>0<6:0){r=m+184|0;r=e[r>>1]|e[r+2>>1]<<16;q=r&65535;r=r>>>16&65535;k=c[m+112>>2]|0}else{q=0;r=0;k=-1}do if((k|0)!=(x|0)){o=t&65535;s=t>>>16;p=s&65535;if((!n?(c[m+4>>2]|0)==(l|0):0)?(c[m>>2]|0)>>>0<6:0){n=m+160|0;k=c[m+104>>2]|0;n=e[n>>1]|e[n+2>>1]<<16}else{k=-1;n=0}m=(z|0)==(x|0);if((((k|0)==(x|0)&1)+(m&1)|0)==1){l=m?t:n;k=m?s:n>>>16;break}else{M=q<<16>>16;O=t<<16>>16;l=n<<16>>16;K=q<<16>>16>16;L=K?o:q;M=K?M:(O|0)<(M|0)?O:M;O=r<<16>>16;K=t>>16;k=n>>16;J=r<<16>>16>16;N=J?p:r;O=J?O:(K|0)<(O|0)?K:O;l=L<<16>>16<(n&65535)<<16>>16?L&65535:(M|0)>(l|0)?M:l;k=N<<16>>16<(n>>>16&65535)<<16>>16?N&65535:(O|0)>(k|0)?O:k;break}}else{k=r&65535;l=k<<16|q&65535}while(0);m=(l&65535)+(u&65535)|0;l=(k&65535)+(w&65535)|0;if(((m<<16>>16)+8192|0)>>>0>16383){R=1;Dc=S;return R|0}if(((l<<16>>16)+2048|0)>>>0>4095){R=1;Dc=S;return R|0}k=Cf(g,x)|0;if(!k){R=1;Dc=S;return R|0}else{g=a+164|0;b[a+192>>1]=m;b[a+194>>1]=l;O=c[a+192>>2]|0;c[a+188>>2]=O;c[a+184>>2]=O;c[a+180>>2]=O;c[a+176>>2]=O;c[a+172>>2]=O;c[a+168>>2]=O;c[g>>2]=O;c[a+108>>2]=x;c[a+112>>2]=x;O=a+124|0;c[O>>2]=k;c[a+128>>2]=k;c[R>>2]=c[a+116>>2];Df(j,a+132|0,R,Q,P,0,0,16,8);c[R>>2]=c[O>>2];Df(j,g,R,Q,P,0,8,16,8);break a}}case 3:{s=b[f+160>>1]|0;t=b[f+162>>1]|0;y=c[f+144>>2]|0;x=a+4|0;n=c[x>>2]|0;m=c[a+200>>2]|0;if((m|0)!=0?(c[m+4>>2]|0)==(n|0):0)if((c[m>>2]|0)>>>0<6){k=m+152|0;k=e[k>>1]|e[k+2>>1]<<16;o=1;l=k&65535;k=k>>>16&65535;m=c[m+104>>2]|0}else{o=1;l=0;k=0;m=-1}else{o=0;l=0;k=0;m=-1}c:do if((m|0)!=(y|0)){m=c[a+204>>2]|0;if((m|0)!=0?(c[m+4>>2]|0)==(n|0):0)if((c[m>>2]|0)>>>0<6){r=m+172|0;r=e[r>>1]|e[r+2>>1]<<16;p=m+188|0;o=c[m+108>>2]|0;q=r&65535;r=r>>>16&65535;n=c[m+112>>2]|0;p=e[p>>1]|e[p+2>>1]<<16}else{o=-1;q=0;r=0;n=-1;p=0}else O=82;do if((O|0)==82){m=c[a+212>>2]|0;if(m|0?(c[m+4>>2]|0)==(n|0):0){if((c[m>>2]|0)>>>0>=6){o=-1;q=0;r=0;n=-1;p=0;break}p=m+192|0;o=-1;q=0;r=0;n=c[m+112>>2]|0;p=e[p>>1]|e[p+2>>1]<<16;break}if(!o){o=-1;q=0;r=0;n=-1;p=0}else break c}while(0);m=(o|0)==(y|0);if(((m&1)+((n|0)==(y|0)&1)|0)!=1){K=l<<16>>16;J=q<<16>>16;M=p<<16>>16;O=q<<16>>16>l<<16>>16;L=O?q:l;l=O?K:(J|0)<(K|0)?J:K;K=k<<16>>16;J=r<<16>>16;O=p>>16;I=r<<16>>16>k<<16>>16;N=I?r:k;k=I?K:(J|0)<(K|0)?J:K;l=(L<<16>>16<(p&65535)<<16>>16?L&65535:(l|0)>(M|0)?l:M)&65535;k=(N<<16>>16<(p>>>16&65535)<<16>>16?N&65535:(k|0)>(O|0)?k:O)&65535;break}if(m){l=q;k=r}else{l=p&65535;k=p>>>16&65535}}while(0);m=(l&65535)+(s&65535)|0;k=(k&65535)+(t&65535)|0;if(((m<<16>>16)+8192|0)>>>0>16383){R=1;Dc=S;return R|0}if(((k<<16>>16)+2048|0)>>>0>4095){R=1;Dc=S;return R|0}l=Cf(g,y)|0;if(!l){R=1;Dc=S;return R|0}b[a+176>>1]=m;b[a+178>>1]=k;s=c[a+176>>2]|0;c[a+172>>2]=s;c[a+168>>2]=s;c[a+164>>2]=s;c[a+144>>2]=s;c[a+140>>2]=s;c[a+136>>2]=s;c[a+132>>2]=s;c[a+100>>2]=y;c[a+108>>2]=y;c[a+116>>2]=l;c[a+124>>2]=l;t=b[f+164>>1]|0;u=b[f+166>>1]|0;w=c[f+148>>2]|0;m=c[x>>2]|0;k=c[a+208>>2]|0;if((k|0)!=0?(c[k+4>>2]|0)==(m|0):0)if((c[k>>2]|0)>>>0<6){r=k+172|0;n=1;k=c[k+108>>2]|0;r=e[r>>1]|e[r+2>>1]<<16}else{n=1;k=-1;r=0}else{k=c[a+204>>2]|0;if((k|0)!=0?(c[k+4>>2]|0)==(m|0):0)if((c[k>>2]|0)>>>0<6){r=k+176|0;n=1;k=c[k+108>>2]|0;r=e[r>>1]|e[r+2>>1]<<16}else{n=1;k=-1;r=0}else{n=0;k=-1;r=0}}do if((k|0)!=(w|0)){p=s&65535;k=s>>>16;q=k&65535;l=c[a+204>>2]|0;if((l|0)!=0?(c[l+4>>2]|0)==(m|0):0)if((c[l>>2]|0)>>>0<6){o=l+188|0;o=e[o>>1]|e[o+2>>1]<<16;l=c[l+112>>2]|0;n=o&65535;o=o>>>16&65535}else{l=-1;n=0;o=0}else if(!n){l=s;break}else{l=-1;n=0;o=0}m=(y|0)==(w|0);l=(l|0)==(w|0);if(((l&1)+(m&1)|0)!=1){M=s<<16>>16;O=n<<16>>16;l=r<<16>>16;K=n<<16>>16>p<<16>>16;L=K?n:p;M=K?M:(M|0)>(O|0)?O:M;O=s>>16;K=o<<16>>16;k=r>>16;J=o<<16>>16>q<<16>>16;N=J?o:q;O=J?O:(O|0)>(K|0)?K:O;l=L<<16>>16<(r&65535)<<16>>16?L&65535:(M|0)>(l|0)?M:l;k=N<<16>>16<(r>>>16&65535)<<16>>16?N&65535:(O|0)>(k|0)?O:k;break}if(!m)if(l){k=o&65535;l=k<<16|n&65535;break}else{l=r;k=r>>>16;break}else l=s}else{l=r;k=r>>>16}while(0);m=(l&65535)+(t&65535)|0;l=(k&65535)+(u&65535)|0;if(((m<<16>>16)+8192|0)>>>0>16383){R=1;Dc=S;return R|0}if(((l<<16>>16)+2048|0)>>>0>4095){R=1;Dc=S;return R|0}k=Cf(g,w)|0;if(!k){R=1;Dc=S;return R|0}else{g=a+148|0;b[a+192>>1]=m;b[a+194>>1]=l;O=c[a+192>>2]|0;c[a+188>>2]=O;c[a+184>>2]=O;c[a+180>>2]=O;c[a+160>>2]=O;c[a+156>>2]=O;c[a+152>>2]=O;c[g>>2]=O;c[a+104>>2]=w;c[a+112>>2]=w;O=a+120|0;c[O>>2]=k;c[a+128>>2]=k;c[R>>2]=c[a+116>>2];Df(j,a+132|0,R,Q,P,0,0,8,16);c[R>>2]=c[O>>2];Df(j,g,R,Q,P,8,0,8,16);break a}}default:{N=a+4|0;C=0;d:while(1){z=f+176+(C<<2)|0;B=Ef(c[z>>2]|0)|0;A=f+192+(C<<2)|0;c[a+100+(C<<2)>>2]=c[A>>2];O=Cf(g,c[A>>2]|0)|0;c[a+116+(C<<2)>>2]=O;if(!O){k=1;O=165;break}e:do if(B|0){E=C<<2;F=a+132+(E<<2)|0;J=a+132+(E<<2)+2|0;M=E|1;I=a+132+(M<<2)|0;M=a+132+(M<<2)+2|0;K=E|2;G=a+132+(K<<2)|0;K=a+132+(K<<2)+2|0;L=E|3;H=a+132+(L<<2)|0;L=a+132+(L<<2)+2|0;D=0;while(1){w=b[f+208+(C<<4)+(D<<2)>>1]|0;x=b[f+208+(C<<4)+(D<<2)+2>>1]|0;y=Ff(c[z>>2]|0)|0;u=c[A>>2]|0;k=Gf(a,c[2192+(C<<7)+(y<<5)+(D<<3)>>2]|0)|0;l=d[2192+(C<<7)+(y<<5)+(D<<3)+4>>0]|0;if((k|0)!=0?(c[k+4>>2]|0)==(c[N>>2]|0):0)if((c[k>>2]|0)>>>0<6){O=k+132+(l<<2)|0;O=e[O>>1]|e[O+2>>1]<<16;p=1;s=c[k+100+(l>>>2<<2)>>2]|0;l=O&65535;k=O>>>16&65535}else{p=1;s=-1;l=0;k=0}else{p=0;s=-1;l=0;k=0}m=Gf(a,c[2704+(C<<7)+(y<<5)+(D<<3)>>2]|0)|0;n=d[2704+(C<<7)+(y<<5)+(D<<3)+4>>0]|0;if((m|0)!=0?(c[m+4>>2]|0)==(c[N>>2]|0):0)if((c[m>>2]|0)>>>0<6){t=m+132+(n<<2)|0;t=e[t>>1]|e[t+2>>1]<<16;o=1;q=c[m+100+(n>>>2<<2)>>2]|0;r=t&65535;t=t>>>16&65535}else{o=1;q=-1;r=0;t=0}else{o=0;q=-1;r=0;t=0}m=Gf(a,c[3216+(C<<7)+(y<<5)+(D<<3)>>2]|0)|0;n=d[3216+(C<<7)+(y<<5)+(D<<3)+4>>0]|0;if((m|0)!=0?(c[m+4>>2]|0)==(c[N>>2]|0):0)if((c[m>>2]|0)>>>0<6){p=m+132+(n<<2)|0;n=c[m+100+(n>>>2<<2)>>2]|0;p=e[p>>1]|e[p+2>>1]<<16;O=140}else{n=-1;p=0;O=140}else O=135;do if((O|0)==135){O=0;m=Gf(a,c[3728+(C<<7)+(y<<5)+(D<<3)>>2]|0)|0;n=d[3728+(C<<7)+(y<<5)+(D<<3)+4>>0]|0;if(m|0?(c[m+4>>2]|0)==(c[N>>2]|0):0){if((c[m>>2]|0)>>>0>=6){n=-1;p=0;O=140;break}p=m+132+(n<<2)|0;n=c[m+100+(n>>>2<<2)>>2]|0;p=e[p>>1]|e[p+2>>1]<<16;O=140;break}if((p|0)==0|(o|0)!=0){n=-1;p=0;O=140}}while(0);do if((O|0)==140){O=0;o=(s|0)==(u|0);m=(q|0)==(u|0);if(((m&1)+(o&1)+((n|0)==(u|0)&1)|0)!=1){q=l<<16>>16;o=r<<16>>16;s=p<<16>>16;u=r<<16>>16>l<<16>>16;r=u?r:l;l=u?q:(o|0)<(q|0)?o:q;q=k<<16>>16;o=t<<16>>16;u=p>>16;n=t<<16>>16>k<<16>>16;t=n?t:k;k=n?q:(o|0)<(q|0)?o:q;l=(r<<16>>16<(p&65535)<<16>>16?r&65535:(l|0)>(s|0)?l:s)&65535;k=(t<<16>>16<(p>>>16&65535)<<16>>16?t&65535:(k|0)>(u|0)?k:u)&65535;break}if(o|m){l=o?l:r;k=o?k:t}else{l=p&65535;k=p>>>16&65535}}while(0);w=(l&65535)+(w&65535)|0;m=w&65535;k=(k&65535)+(x&65535)|0;l=k&65535;if(((w<<16>>16)+8192|0)>>>0>16383){k=1;O=165;break d}if(((k<<16>>16)+2048|0)>>>0>4095){k=1;O=165;break d}switch(y|0){case 0:{b[F>>1]=m;b[J>>1]=l;b[I>>1]=m;b[M>>1]=l;b[G>>1]=m;b[K>>1]=l;b[H>>1]=m;k=L;O=151;break}case 1:{k=(D<<1)+E|0;b[a+132+(k<<2)>>1]=m;b[a+132+(k<<2)+2>>1]=l;k=k|1;b[a+132+(k<<2)>>1]=m;k=a+132+(k<<2)+2|0;O=151;break}case 2:{k=D+E|0;b[a+132+(k<<2)>>1]=m;b[a+132+(k<<2)+2>>1]=l;k=k+2|0;b[a+132+(k<<2)>>1]=m;k=a+132+(k<<2)+2|0;O=151;break}case 3:{k=D+E|0;b[a+132+(k<<2)>>1]=m;k=a+132+(k<<2)+2|0;O=151;break}default:{}}if((O|0)==151)b[k>>1]=l;D=D+1|0;if(D>>>0>=B>>>0)break e}}while(0);C=C+1|0;if(C>>>0>=4){O=154;break}}if((O|0)==154){m=0;while(1){c[R>>2]=c[a+116+(m<<2)>>2];g=Ff(c[f+176+(m<<2)>>2]|0)|0;k=m<<3&8;l=m>>>0<2?0:8;switch(g|0){case 0:{Df(j,a+132+(m<<2<<2)|0,R,Q,P,k,l,8,8);break}case 1:{g=a+132+(m<<2<<2)|0;Df(j,g,R,Q,P,k,l,8,4);Df(j,g+8|0,R,Q,P,k,l|4,8,4);break}case 2:{g=a+132+(m<<2<<2)|0;Df(j,g,R,Q,P,k,l,4,8);Df(j,g+4|0,R,Q,P,k|4,l,4,8);break}default:{N=a+132+(m<<2<<2)|0;Df(j,N,R,Q,P,k,l,4,4);O=k|4;Df(j,N+4|0,R,Q,P,O,l,4,4);g=l|4;Df(j,N+8|0,R,Q,P,k,g,4,4);Df(j,N+12|0,R,Q,P,O,g,4,4)}}m=m+1|0;if((m|0)==4)break a}}else if((O|0)==165){Dc=S;return k|0}}}while(0);if((c[a+196>>2]|0)>>>0>1){R=0;Dc=S;return R|0}if(!(c[a>>2]|0)){yf(i,j);R=0;Dc=S;return R|0}else{Hf(i,h,j,f+328|0);R=0;Dc=S;return R|0}return 0}function Cf(a,b){a=a|0;b=b|0;var d=0;if((b>>>0<=16?(d=c[(c[a+4>>2]|0)+(b<<2)>>2]|0,(d|0)!=0):0)?(c[d+20>>2]|0)>>>0>1:0)d=c[d>>2]|0;else d=0;return d|0}function Df(a,d,e,f,g,h,i,j,k){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;m=a+(i<<4)+h|0;u=b[d>>1]|0;t=d+2|0;q=b[t>>1]|0;r=e+4|0;n=c[r>>2]<<4;p=e+8|0;o=c[p>>2]<<4;s=h+f|0;l=(u>>2)+s|0;g=i+g|0;f=(q>>2)+g|0;do switch(c[4240+((u&3)<<4)+((q&3)<<2)>>2]|0){case 0:{If(c[e>>2]|0,m,l,f,n,o,j,k,16);f=e;break}case 1:{Jf(c[e>>2]|0,m,l,f+-2|0,n,o,j,k,0);f=e;break}case 2:{Kf(c[e>>2]|0,m,l,f+-2|0,n,o,j,k);f=e;break}case 3:{Jf(c[e>>2]|0,m,l,f+-2|0,n,o,j,k,1);f=e;break}case 4:{Lf(c[e>>2]|0,m,l+-2|0,f,n,o,j,k,0);f=e;break}case 5:{Mf(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k,0);f=e;break}case 6:{Nf(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k,0);f=e;break}case 7:{Mf(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k,2);f=e;break}case 8:{Of(c[e>>2]|0,m,l+-2|0,f,n,o,j,k);f=e;break}case 9:{Pf(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k,0);f=e;break}case 10:{Qf(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k);f=e;break}case 11:{Pf(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k,1);f=e;break}case 12:{Lf(c[e>>2]|0,m,l+-2|0,f,n,o,j,k,1);f=e;break}case 13:{Mf(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k,1);f=e;break}case 14:{Nf(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k,1);f=e;break}default:{Mf(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k,3);f=e}}while(0);q=a+256+(i>>>1<<3)+(h>>>1)|0;u=c[r>>2]|0;l=c[p>>2]|0;i=u<<3;p=l<<3;e=b[d>>1]|0;h=(e>>3)+(s>>>1)|0;a=b[t>>1]|0;o=(a>>3)+(g>>>1)|0;e=e&7;a=a&7;n=j>>>1;m=k>>>1;f=(c[f>>2]|0)+(v(u<<8,l)|0)|0;g=(e|0)!=0;l=(a|0)!=0;if(g&l){Rf(f,q,h,o,i,p,e,a,n,m);return}if(g){Sf(f,q,h,o,i,p,e,n,m);return}if(l){Tf(f,q,h,o,i,p,a,n,m);return}else{If(f,q,h,o,i,p,n,m,8);If(f+(v(p,i)|0)|0,q+64|0,h,o,i,p,n,m,8);return}}function Ef(a){a=a|0;switch(a|0){case 0:{a=1;break}case 2:case 1:{a=2;break}default:a=4}return a|0}function Ff(a){a=a|0;return a|0}function Gf(a,b){a=a|0;b=b|0;switch(b|0){case 0:{a=c[a+200>>2]|0;break}case 1:{a=c[a+204>>2]|0;break}case 2:{a=c[a+208>>2]|0;break}case 3:{a=c[a+212>>2]|0;break}case 4:break;default:a=0}return a|0}function Hf(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;r=c[b+4>>2]|0;q=v(c[b+8>>2]|0,r)|0;m=(e>>>0)%(r>>>0)|0;p=c[b>>2]|0;l=e-m|0;i=p+(l<<8)+(m<<4)|0;o=q<<8;l=l<<6;m=m<<3;q=q<<6;n=r<<4;k=r<<2&1073741820;j=0;do{h=c[1864+(j<<2)>>2]|0;b=c[1928+(j<<2)>>2]|0;e=f+(b<<4)+h|0;h=i+(v(b,n)|0)+h|0;b=c[g+(j<<6)>>2]|0;if((b|0)==16777215){b=e+16|0;s=c[b>>2]|0;b=b+16|0;c[h>>2]=c[e>>2];h=h+(k<<2)|0;c[h>>2]=s;h=h+(k<<2)|0;e=c[b+16>>2]|0;c[h>>2]=c[b>>2];c[h+(k<<2)>>2]=e}else{s=d[e+1>>0]|0;u=c[g+(j<<6)+4>>2]|0;a[h>>0]=a[49008+(b+(d[e>>0]|0))>>0]|0;b=d[e+2>>0]|0;t=c[g+(j<<6)+8>>2]|0;a[h+1>>0]=a[49008+(u+s)>>0]|0;s=d[e+3>>0]|0;u=c[g+(j<<6)+12>>2]|0;a[h+2>>0]=a[49008+(t+b)>>0]|0;b=e+16|0;a[h+3>>0]=a[49008+(u+s)>>0]|0;s=h+n|0;e=d[b+1>>0]|0;u=c[g+(j<<6)+20>>2]|0;a[s>>0]=a[49008+((c[g+(j<<6)+16>>2]|0)+(d[b>>0]|0))>>0]|0;h=d[b+2>>0]|0;t=c[g+(j<<6)+24>>2]|0;a[s+1>>0]=a[49008+(u+e)>>0]|0;e=d[b+3>>0]|0;u=c[g+(j<<6)+28>>2]|0;a[s+2>>0]=a[49008+(t+h)>>0]|0;h=b+16|0;a[s+3>>0]=a[49008+(u+e)>>0]|0;s=s+n|0;e=d[h+1>>0]|0;u=c[g+(j<<6)+36>>2]|0;a[s>>0]=a[49008+((c[g+(j<<6)+32>>2]|0)+(d[h>>0]|0))>>0]|0;b=d[h+2>>0]|0;t=c[g+(j<<6)+40>>2]|0;a[s+1>>0]=a[49008+(u+e)>>0]|0;e=d[h+3>>0]|0;u=c[g+(j<<6)+44>>2]|0;a[s+2>>0]=a[49008+(t+b)>>0]|0;h=h+16|0;a[s+3>>0]=a[49008+(u+e)>>0]|0;s=s+n|0;e=d[h+1>>0]|0;u=c[g+(j<<6)+52>>2]|0;a[s>>0]=a[49008+((c[g+(j<<6)+48>>2]|0)+(d[h>>0]|0))>>0]|0;b=d[h+2>>0]|0;t=c[g+(j<<6)+56>>2]|0;a[s+1>>0]=a[49008+(u+e)>>0]|0;h=d[h+3>>0]|0;e=c[g+(j<<6)+60>>2]|0;a[s+2>>0]=a[49008+(t+b)>>0]|0;a[s+3>>0]=a[49008+(e+h)>>0]|0}j=j+1|0}while((j|0)!=16);m=p+o+l+m|0;l=m+q|0;k=r<<3&2147483640;j=k>>>2;i=16;do{b=i&3;h=c[1864+(b<<2)>>2]|0;b=c[1928+(b<<2)>>2]|0;u=i>>>0>19;e=f+(u?320:256)+((b<<3)+h)|0;h=(u?l:m)+((v(b,k)|0)+h)|0;b=c[g+(i<<6)>>2]|0;if((b|0)==16777215){s=e+8|0;t=c[s>>2]|0;s=s+8|0;c[h>>2]=c[e>>2];u=h+(j<<2)|0;c[u>>2]=t;u=u+(j<<2)|0;t=c[s+8>>2]|0;c[u>>2]=c[s>>2];c[u+(j<<2)>>2]=t}else{u=d[e+1>>0]|0;s=c[g+(i<<6)+4>>2]|0;a[h>>0]=a[49008+(b+(d[e>>0]|0))>>0]|0;t=d[e+2>>0]|0;p=c[g+(i<<6)+8>>2]|0;a[h+1>>0]=a[49008+(s+u)>>0]|0;u=d[e+3>>0]|0;s=c[g+(i<<6)+12>>2]|0;a[h+2>>0]=a[49008+(p+t)>>0]|0;t=e+8|0;a[h+3>>0]=a[49008+(s+u)>>0]|0;u=h+k|0;s=d[t+1>>0]|0;p=c[g+(i<<6)+20>>2]|0;a[u>>0]=a[49008+((c[g+(i<<6)+16>>2]|0)+(d[t>>0]|0))>>0]|0;r=d[t+2>>0]|0;q=c[g+(i<<6)+24>>2]|0;a[u+1>>0]=a[49008+(p+s)>>0]|0;s=d[t+3>>0]|0;p=c[g+(i<<6)+28>>2]|0;a[u+2>>0]=a[49008+(q+r)>>0]|0;t=t+8|0;a[u+3>>0]=a[49008+(p+s)>>0]|0;u=u+k|0;s=d[t+1>>0]|0;p=c[g+(i<<6)+36>>2]|0;a[u>>0]=a[49008+((c[g+(i<<6)+32>>2]|0)+(d[t>>0]|0))>>0]|0;r=d[t+2>>0]|0;q=c[g+(i<<6)+40>>2]|0;a[u+1>>0]=a[49008+(p+s)>>0]|0;s=d[t+3>>0]|0;p=c[g+(i<<6)+44>>2]|0;a[u+2>>0]=a[49008+(q+r)>>0]|0;t=t+8|0;a[u+3>>0]=a[49008+(p+s)>>0]|0;u=u+k|0;s=d[t+1>>0]|0;p=c[g+(i<<6)+52>>2]|0;a[u>>0]=a[49008+((c[g+(i<<6)+48>>2]|0)+(d[t>>0]|0))>>0]|0;r=d[t+2>>0]|0;q=c[g+(i<<6)+56>>2]|0;a[u+1>>0]=a[49008+(p+s)>>0]|0;t=d[t+3>>0]|0;s=c[g+(i<<6)+60>>2]|0;a[u+2>>0]=a[49008+(q+r)>>0]|0;a[u+3>>0]=a[49008+(s+t)>>0]|0}i=i+1|0}while((i|0)!=24);return}function If(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=g+c|0;p=(c|0)<0|(n|0)>(e|0)?5:4;k=(h+d|0)<0?0-h|0:d;n=(n|0)<0?0-g|0:c;k=(k|0)>(f|0)?f:k;n=(n|0)>(e|0)?e:n;o=n+g|0;l=k+h|0;c=(n|0)>0?a+n|0:a;m=c+(v(k,e)|0)|0;c=(k|0)>0?m:c;n=(n|0)<0?0-n|0:0;o=(o|0)>(e|0)?o-e|0:0;m=g-n-o|0;d=0-k|0;g=(k|0)<0?d:0;a=l-f|0;l=(l|0)>(f|0)?a:0;k=h-g-l|0;if(g){g=v(g,i)|0;f=b;while(1){ed[p&7](c,f,n,m,o);d=d+-1|0;if(!d)break;else f=f+i|0}b=b+g|0}if(k){j=v(k,e)|0;g=v(k,i)|0;f=b;h=c;d=k;while(1){ed[p&7](h,f,n,m,o);d=d+-1|0;if(!d)break;else{f=f+i|0;h=h+e|0}}b=b+g|0;c=c+j|0}c=c+(0-e)|0;if(!l)return;while(1){ed[p&7](c,b,n,m,o);a=a+-1|0;if(!a)break;else b=b+i|0}return}function Jf(b,c,e,f,g,h,i,j,k){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0;s=Dc;Dc=Dc+448|0;l=s;if(((e|0)>=0?!((f|0)<0|(i+e|0)>>>0>g>>>0):0)?(j+5+f|0)>>>0<=h>>>0:0)l=b;else{If(b,l,e,f,g,h,i,j+5|0,i);g=i;e=0;f=0}e=l+((v(f,g)|0)+e)+g|0;f=j>>>2;if(!f){Dc=s;return}o=g<<2;r=0-g|0;p=r<<1;q=g<<1;if(!i){Dc=s;return}n=e;m=e+(v(g,k+2|0)|0)|0;j=e+(g*5|0)|0;while(1){e=i;h=c;l=n;b=m;k=j;while(1){t=d[k+p>>0]|0;x=d[k+r>>0]|0;y=d[k+g>>0]|0;A=d[k>>0]|0;z=y+t|0;u=d[l+q>>0]|0;a[h+48>>0]=((d[49008+((d[k+q>>0]|0)+16-z-(z<<2)+u+((A+x|0)*20|0)>>5)>>0]|0)+1+(d[b+q>>0]|0)|0)>>>1;z=u+A|0;w=d[l+g>>0]|0;a[h+32>>0]=((d[49008+(y+16+((x+t|0)*20|0)-z-(z<<2)+w>>5)>>0]|0)+1+(d[b+g>>0]|0)|0)>>>1;z=w+x|0;y=d[l>>0]|0;a[h+16>>0]=((d[49008+(A+16+((u+t|0)*20|0)-z-(z<<2)+y>>5)>>0]|0)+1+(d[b>>0]|0)|0)>>>1;t=y+t|0;a[h>>0]=((d[49008+(x+16+((w+u|0)*20|0)-t-(t<<2)+(d[l+r>>0]|0)>>5)>>0]|0)+1+(d[b+r>>0]|0)|0)>>>1;e=e+-1|0;if(!e)break;else{h=h+1|0;l=l+1|0;b=b+1|0;k=k+1|0}}f=f+-1|0;if(!f)break;else{c=c+64|0;n=n+o|0;m=m+o|0;j=j+o|0}}Dc=s;return}function Kf(b,c,e,f,g,h,i,j){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0;q=Dc;Dc=Dc+448|0;k=q;if(((e|0)>=0?!((f|0)<0|(i+e|0)>>>0>g>>>0):0)?(j+5+f|0)>>>0<=h>>>0:0)k=b;else{If(b,k,e,f,g,h,i,j+5|0,i);g=i;e=0;f=0}e=k+((v(f,g)|0)+e)+g|0;f=j>>>2;if(!f){Dc=q;return}m=g<<2;p=0-g|0;n=p<<1;o=g<<1;if(!i){Dc=q;return}l=e;b=e+(g*5|0)|0;while(1){e=i;h=c;k=l;j=b;while(1){r=d[j+n>>0]|0;u=d[j+p>>0]|0;w=d[j+g>>0]|0;y=d[j>>0]|0;x=w+r|0;s=d[k+o>>0]|0;a[h+48>>0]=a[49008+((d[j+o>>0]|0)+16-x-(x<<2)+s+((y+u|0)*20|0)>>5)>>0]|0;x=s+y|0;t=d[k+g>>0]|0;a[h+32>>0]=a[49008+(w+16+((u+r|0)*20|0)-x-(x<<2)+t>>5)>>0]|0;x=t+u|0;w=d[k>>0]|0;a[h+16>>0]=a[49008+(y+16+((s+r|0)*20|0)-x-(x<<2)+w>>5)>>0]|0;r=w+r|0;a[h>>0]=a[49008+(u+16+((t+s|0)*20|0)-r-(r<<2)+(d[k+p>>0]|0)>>5)>>0]|0;e=e+-1|0;if(!e)break;else{h=h+1|0;k=k+1|0;j=j+1|0}}f=f+-1|0;if(!f)break;else{c=c+64|0;l=l+m|0;b=b+m|0}}Dc=q;return}function Lf(b,c,e,f,g,h,i,j,k){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0;t=Dc;Dc=Dc+448|0;l=t;m=i+5|0;if((e|0)>=0?!((j+f|0)>>>0>h>>>0|((f|0)<0|(m+e|0)>>>0>g>>>0)):0){l=b;m=g}else{If(b,l,e,f,g,h,m,j,m);e=0;f=0}if(!j){Dc=t;return}p=i>>>2;s=(p|0)==0;q=m-i|0;r=16-i|0;o=(k|0)==0;n=i&-4;h=l+((v(f,m)|0)+e)+5|0;while(1){l=d[h+-5>>0]|0;m=d[h+-4>>0]|0;g=d[h+-3>>0]|0;e=d[h+-2>>0]|0;b=d[h+-1>>0]|0;do if(!s){i=h+n|0;if(o){k=c;f=b;b=p;while(1){u=m+f|0;w=m;m=d[h>>0]|0;a[k>>0]=(g+1+(d[49008+(l+16-u+((g+e|0)*20|0)-(u<<2)+m>>5)>>0]|0)|0)>>>1;u=g+m|0;l=g;g=d[h+1>>0]|0;a[k+1>>0]=(e+1+(d[49008+(w+16+((e+f|0)*20|0)-u-(u<<2)+g>>5)>>0]|0)|0)>>>1;u=e+g|0;w=e;e=d[h+2>>0]|0;a[k+2>>0]=(f+1+(d[49008+(l+16+((f+m|0)*20|0)-u-(u<<2)+e>>5)>>0]|0)|0)>>>1;u=f+e|0;l=d[h+3>>0]|0;a[k+3>>0]=(m+1+(d[49008+(w+16+((g+m|0)*20|0)-u-(u<<2)+l>>5)>>0]|0)|0)>>>1;b=b+-1|0;if(!b)break;else{w=f;k=k+4|0;h=h+4|0;f=l;l=w}}c=c+n|0;h=i;break}else{k=c;f=b;b=p;while(1){w=m+f|0;u=m;m=d[h>>0]|0;a[k>>0]=(e+1+(d[49008+(l+16-w+((g+e|0)*20|0)-(w<<2)+m>>5)>>0]|0)|0)>>>1;w=g+m|0;l=g;g=d[h+1>>0]|0;a[k+1>>0]=(f+1+(d[49008+(u+16+((e+f|0)*20|0)-w-(w<<2)+g>>5)>>0]|0)|0)>>>1;w=e+g|0;u=e;e=d[h+2>>0]|0;a[k+2>>0]=(m+1+(d[49008+(l+16+((f+m|0)*20|0)-w-(w<<2)+e>>5)>>0]|0)|0)>>>1;w=f+e|0;l=d[h+3>>0]|0;a[k+3>>0]=(g+1+(d[49008+(u+16+((g+m|0)*20|0)-w-(w<<2)+l>>5)>>0]|0)|0)>>>1;b=b+-1|0;if(!b)break;else{w=f;k=k+4|0;h=h+4|0;f=l;l=w}}c=c+n|0;h=i;break}}while(0);j=j+-1|0;if(!j)break;else{c=c+r|0;h=h+q|0}}Dc=t;return}function Mf(b,c,e,f,g,h,i,j,k){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0;y=Dc;Dc=Dc+448|0;l=y;m=i+5|0;if(((e|0)>=0?!((f|0)<0|(m+e|0)>>>0>g>>>0):0)?(j+5+f|0)>>>0<=h>>>0:0){l=b;m=g}else{If(b,l,e,f,g,h,m,j+5|0,m);e=0;f=0}x=l+((v(f,m)|0)+e)|0;f=x+(v(m,k>>>1&1|2)|0)+5|0;x=x+m+2+(k&1)|0;do if(!j)f=c;else{t=i>>>2;u=m-i|0;w=16-i|0;if(!t){f=c+((v(j+-1|0,w)|0)+16-i)|0;break}r=i&-4;q=(v(r+16-i|0,j+-1|0)|0)+r+16-i|0;s=c;p=j;while(1){b=f+r|0;h=s;l=f;g=d[f+-1>>0]|0;k=d[f+-2>>0]|0;n=d[f+-3>>0]|0;o=d[f+-4>>0]|0;f=d[f+-5>>0]|0;e=t;while(1){z=o+g|0;A=o;o=d[l>>0]|0;a[h>>0]=a[49008+(f+16-z+((n+k|0)*20|0)-(z<<2)+o>>5)>>0]|0;z=n+o|0;f=n;n=d[l+1>>0]|0;a[h+1>>0]=a[49008+(A+16+((k+g|0)*20|0)-z-(z<<2)+n>>5)>>0]|0;z=k+n|0;A=k;k=d[l+2>>0]|0;a[h+2>>0]=a[49008+(f+16+((g+o|0)*20|0)-z-(z<<2)+k>>5)>>0]|0;z=g+k|0;f=d[l+3>>0]|0;a[h+3>>0]=a[49008+(A+16+((n+o|0)*20|0)-z-(z<<2)+f>>5)>>0]|0;e=e+-1|0;if(!e)break;else{A=g;h=h+4|0;l=l+4|0;g=f;f=A}}p=p+-1|0;if(!p)break;else{s=s+r+w|0;f=b+u|0}}f=c+q|0}while(0);e=j>>>2;if(!e){Dc=y;return}q=m<<2;r=0-m|0;o=r<<1;p=m<<1;if(!i){Dc=y;return}k=f+(0-(j<<4))|0;n=x;g=x+(m*5|0)|0;while(1){f=k;h=n;l=g;b=i;while(1){A=d[l+o>>0]|0;c=d[l+r>>0]|0;w=d[l+m>>0]|0;t=d[l>>0]|0;j=w+A|0;z=d[h+p>>0]|0;u=f+48|0;a[u>>0]=((d[49008+((d[l+p>>0]|0)+16-j-(j<<2)+z+((t+c|0)*20|0)>>5)>>0]|0)+1+(d[u>>0]|0)|0)>>>1;u=z+t|0;j=d[h+m>>0]|0;x=f+32|0;a[x>>0]=((d[49008+(w+16+((c+A|0)*20|0)-u-(u<<2)+j>>5)>>0]|0)+1+(d[x>>0]|0)|0)>>>1;x=d[h>>0]|0;u=j+c|0;w=f+16|0;a[w>>0]=((d[49008+(t+16+((z+A|0)*20|0)-u-(u<<2)+x>>5)>>0]|0)+1+(d[w>>0]|0)|0)>>>1;A=x+A|0;a[f>>0]=((d[49008+(c+16+((j+z|0)*20|0)-A-(A<<2)+(d[h+r>>0]|0)>>5)>>0]|0)+1+(d[f>>0]|0)|0)>>>1;b=b+-1|0;if(!b)break;else{f=f+1|0;h=h+1|0;l=l+1|0}}e=e+-1|0;if(!e)break;else{k=k+64|0;n=n+q|0;g=g+q|0}}Dc=y;return}function Nf(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=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;A=Dc;Dc=Dc+1792|0;m=A+1344|0;z=A;q=j+5|0;if(((f|0)>=0?!((g|0)<0|(q+f|0)>>>0>h>>>0):0)?(k+5+g|0)>>>0<=i>>>0:0)m=b;else{If(b,m,f,g,h,i,q,k+5|0,q);h=q;f=0;g=0}g=m+((v(g,h)|0)+f)+h|0;f=k>>>2;if(f|0?(u=h<<2,w=q*3|0,x=0-h|0,r=x<<1,s=h<<1,t=q<<1,y=-5-j|0,q|0):0){i=z+(q<<2)|0;p=g;o=g+(h*5|0)|0;while(1){n=i+(q<<2)|0;g=p;m=o;b=q;while(1){B=d[m+r>>0]|0;C=d[m+x>>0]|0;G=d[m+h>>0]|0;H=d[m>>0]|0;F=G+B|0;D=d[g+s>>0]|0;c[i+(t<<2)>>2]=(d[m+s>>0]|0)-F-(F<<2)+D+((H+C|0)*20|0);F=D+H|0;E=d[g+h>>0]|0;c[i+(q<<2)>>2]=((C+B|0)*20|0)+G-F-(F<<2)+E;F=d[g>>0]|0;G=E+C|0;c[i>>2]=((D+B|0)*20|0)+H-G-(G<<2)+F;B=F+B|0;c[i+(y<<2)>>2]=((E+D|0)*20|0)+C-B-(B<<2)+(d[g+x>>0]|0);b=b+-1|0;if(!b)break;else{i=i+4|0;g=g+1|0;m=m+1|0}}f=f+-1|0;if(!f)break;else{i=n+(w<<2)|0;p=p+u|0;o=o+u|0}}}if(!k){Dc=A;return}t=j>>>2;w=(t|0)==0;u=16-j|0;s=j&-4;g=z+8+(l<<2)|0;f=z+20|0;while(1){if(!w){r=g+(s<<2)|0;q=e;m=f;b=c[f+-4>>2]|0;h=c[f+-8>>2]|0;n=c[f+-12>>2]|0;o=c[f+-16>>2]|0;i=c[f+-20>>2]|0;p=t;while(1){H=o+b|0;G=o;o=c[m>>2]|0;a[q>>0]=((d[49008+(i+512-H+((n+h|0)*20|0)-(H<<2)+o>>10)>>0]|0)+1+(d[49008+((c[g>>2]|0)+16>>5)>>0]|0)|0)>>>1;H=o+n|0;i=n;n=c[m+4>>2]|0;a[q+1>>0]=((d[49008+(G+512+((h+b|0)*20|0)-H-(H<<2)+n>>10)>>0]|0)+1+(d[49008+((c[g+4>>2]|0)+16>>5)>>0]|0)|0)>>>1;H=n+h|0;G=h;h=c[m+8>>2]|0;a[q+2>>0]=((d[49008+(i+512+((o+b|0)*20|0)-H-(H<<2)+h>>10)>>0]|0)+1+(d[49008+((c[g+8>>2]|0)+16>>5)>>0]|0)|0)>>>1;H=h+b|0;i=c[m+12>>2]|0;a[q+3>>0]=((d[49008+(G+512+((n+o|0)*20|0)-H-(H<<2)+i>>10)>>0]|0)+1+(d[49008+((c[g+12>>2]|0)+16>>5)>>0]|0)|0)>>>1;p=p+-1|0;if(!p)break;else{H=b;q=q+4|0;g=g+16|0;m=m+16|0;b=i;i=H}}e=e+s|0;g=r;f=f+(s<<2)|0}k=k+-1|0;if(!k)break;else{e=e+u|0;g=g+20|0;f=f+20|0}}Dc=A;return}function Of(b,c,e,f,g,h,i,j){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=Dc;Dc=Dc+448|0;k=r;l=i+5|0;if((e|0)>=0?!((j+f|0)>>>0>h>>>0|((f|0)<0|(l+e|0)>>>0>g>>>0)):0){k=b;l=g}else{If(b,k,e,f,g,h,l,j,l);e=0;f=0}f=k+((v(f,l)|0)+e)+5|0;if(!j){Dc=r;return}q=i>>>2;o=l-i|0;p=16-i|0;if(!q){Dc=r;return}n=i&-4;m=c;while(1){b=f+n|0;h=m;k=f;l=d[f+-1>>0]|0;g=d[f+-2>>0]|0;i=d[f+-3>>0]|0;c=d[f+-4>>0]|0;f=d[f+-5>>0]|0;e=q;while(1){s=c+l|0;t=c;c=d[k>>0]|0;a[h>>0]=a[49008+(f+16-s+((i+g|0)*20|0)-(s<<2)+c>>5)>>0]|0;s=i+c|0;f=i;i=d[k+1>>0]|0;a[h+1>>0]=a[49008+(t+16+((g+l|0)*20|0)-s-(s<<2)+i>>5)>>0]|0;s=g+i|0;t=g;g=d[k+2>>0]|0;a[h+2>>0]=a[49008+(f+16+((l+c|0)*20|0)-s-(s<<2)+g>>5)>>0]|0;s=l+g|0;f=d[k+3>>0]|0;a[h+3>>0]=a[49008+(t+16+((i+c|0)*20|0)-s-(s<<2)+f>>5)>>0]|0;e=e+-1|0;if(!e)break;else{t=l;h=h+4|0;k=k+4|0;l=f;f=t}}j=j+-1|0;if(!j)break;else{m=m+n+p|0;f=b+o|0}}Dc=r;return}function Pf(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;x=Dc;Dc=Dc+1792|0;n=x+1344|0;w=x;o=j+5|0;if(((f|0)>=0?!((g|0)<0|(o+f|0)>>>0>h>>>0):0)?(m=k+5|0,(m+g|0)>>>0<=i>>>0):0){n=b;i=h}else{m=k+5|0;If(b,n,f,g,h,i,o,m,o);i=o;f=0;g=0}g=n+((v(g,i)|0)+f)+5|0;if(m|0?(t=j>>>2,u=i-j|0,t|0):0){r=j&-4;s=w;while(1){b=g+r|0;i=s;n=g;o=d[g+-1>>0]|0;h=d[g+-2>>0]|0;p=d[g+-3>>0]|0;q=d[g+-4>>0]|0;g=d[g+-5>>0]|0;f=t;while(1){y=q+o|0;z=q;q=d[n>>0]|0;c[i>>2]=g-y+((p+h|0)*20|0)-(y<<2)+q;y=p+q|0;g=p;p=d[n+1>>0]|0;c[i+4>>2]=((h+o|0)*20|0)+z-y-(y<<2)+p;y=h+p|0;z=h;h=d[n+2>>0]|0;c[i+8>>2]=((o+q|0)*20|0)+g-y-(y<<2)+h;y=o+h|0;g=d[n+3>>0]|0;c[i+12>>2]=((p+q|0)*20|0)+z-y-(y<<2)+g;f=f+-1|0;if(!f)break;else{z=o;i=i+16|0;n=n+4|0;o=g;g=z}}m=m+-1|0;if(!m)break;else{s=s+(r<<2)|0;g=b+u|0}}}g=w+(j<<2)|0;f=k>>>2;if(!f){Dc=x;return}k=(j|0)==0;u=64-j|0;s=j*3|0;w=0-j|0;t=w<<1;r=j<<1;n=e;m=g;i=g+((v(l+2|0,j)|0)<<2)|0;g=g+(j*5<<2)|0;while(1){if(!k){q=g+(j<<2)|0;p=m+(j<<2)|0;h=n;o=i;b=j;while(1){z=c[g+(t<<2)>>2]|0;e=c[g+(w<<2)>>2]|0;B=c[g+(j<<2)>>2]|0;C=c[g>>2]|0;A=B+z|0;y=c[m+(r<<2)>>2]|0;a[h+48>>0]=((d[49008+((c[g+(r<<2)>>2]|0)+512-A-(A<<2)+y+((C+e|0)*20|0)>>10)>>0]|0)+1+(d[49008+((c[o+(r<<2)>>2]|0)+16>>5)>>0]|0)|0)>>>1;A=y+C|0;l=c[m+(j<<2)>>2]|0;a[h+32>>0]=((d[49008+(B+512+((e+z|0)*20|0)-A-(A<<2)+l>>10)>>0]|0)+1+(d[49008+((c[o+(j<<2)>>2]|0)+16>>5)>>0]|0)|0)>>>1;A=c[m>>2]|0;B=l+e|0;a[h+16>>0]=((d[49008+(C+512+((y+z|0)*20|0)-B-(B<<2)+A>>10)>>0]|0)+1+(d[49008+((c[o>>2]|0)+16>>5)>>0]|0)|0)>>>1;z=A+z|0;a[h>>0]=((d[49008+(e+512+((l+y|0)*20|0)-z-(z<<2)+(c[m+(w<<2)>>2]|0)>>10)>>0]|0)+1+(d[49008+((c[o+(w<<2)>>2]|0)+16>>5)>>0]|0)|0)>>>1;b=b+-1|0;if(!b)break;else{h=h+1|0;m=m+4|0;o=o+4|0;g=g+4|0}}n=n+j|0;m=p;i=i+(j<<2)|0;g=q}f=f+-1|0;if(!f)break;else{n=n+u|0;m=m+(s<<2)|0;i=i+(s<<2)|0;g=g+(s<<2)|0}}Dc=x;return}function Qf(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0;w=Dc;Dc=Dc+1792|0;m=w+1344|0;u=w;n=j+5|0;if(((f|0)>=0?!((g|0)<0|(n+f|0)>>>0>h>>>0):0)?(l=k+5|0,(l+g|0)>>>0<=i>>>0):0){m=b;i=h}else{l=k+5|0;If(b,m,f,g,h,i,n,l,n);i=n;f=0;g=0}g=m+((v(g,i)|0)+f)+5|0;if(l|0?(s=j>>>2,t=i-j|0,s|0):0){q=j&-4;r=u;while(1){b=g+q|0;i=r;m=g;n=d[g+-1>>0]|0;h=d[g+-2>>0]|0;o=d[g+-3>>0]|0;p=d[g+-4>>0]|0;g=d[g+-5>>0]|0;f=s;while(1){x=p+n|0;y=p;p=d[m>>0]|0;c[i>>2]=g-x+((o+h|0)*20|0)-(x<<2)+p;x=o+p|0;g=o;o=d[m+1>>0]|0;c[i+4>>2]=((h+n|0)*20|0)+y-x-(x<<2)+o;x=h+o|0;y=h;h=d[m+2>>0]|0;c[i+8>>2]=((n+p|0)*20|0)+g-x-(x<<2)+h;x=n+h|0;g=d[m+3>>0]|0;c[i+12>>2]=((o+p|0)*20|0)+y-x-(x<<2)+g;f=f+-1|0;if(!f)break;else{y=n;i=i+16|0;m=m+4|0;n=g;g=y}}l=l+-1|0;if(!l)break;else{r=r+(q<<2)|0;g=b+t|0}}}g=u+(j<<2)|0;f=k>>>2;if(!f){Dc=w;return}o=j*3|0;q=0-j|0;p=q<<1;h=j<<1;if(!j){Dc=w;return}n=g;b=g+(j*5<<2)|0;while(1){g=e;l=n;i=b;m=j;while(1){y=c[i+(p<<2)>>2]|0;u=c[i+(q<<2)>>2]|0;s=c[i+(j<<2)>>2]|0;r=c[i>>2]|0;t=s+y|0;x=c[l+(h<<2)>>2]|0;a[g+48>>0]=a[49008+((c[i+(h<<2)>>2]|0)+512-t-(t<<2)+x+((r+u|0)*20|0)>>10)>>0]|0;t=x+r|0;k=c[l+(j<<2)>>2]|0;a[g+32>>0]=a[49008+(s+512+((u+y|0)*20|0)-t-(t<<2)+k>>10)>>0]|0;t=c[l>>2]|0;s=k+u|0;a[g+16>>0]=a[49008+(r+512+((x+y|0)*20|0)-s-(s<<2)+t>>10)>>0]|0;y=t+y|0;a[g>>0]=a[49008+(u+512+((k+x|0)*20|0)-y-(y<<2)+(c[l+(q<<2)>>2]|0)>>10)>>0]|0;m=m+-1|0;if(!m)break;else{g=g+1|0;l=l+4|0;i=i+4|0}}f=f+-1|0;if(!f)break;else{e=e+64|0;n=n+(j<<2)+(o<<2)|0;b=b+(j<<2)+(o<<2)|0}}Dc=w;return}function Rf(b,c,e,f,g,h,i,j,k,l){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;D=Dc;Dc=Dc+176|0;m=D;n=k+1|0;if(((e|0)>=0?!((f|0)<0|(n+e|0)>>>0>g>>>0):0)?(l+1+f|0)>>>0<=h>>>0:0){m=b;n=g}else{C=l+1|0;If(b,m,e,f,g,h,n,C,n);If(b+(v(h,g)|0)|0,m+(v(C,n)|0)|0,e,f,g,h,n,C,n);h=C;e=0;f=0}B=8-i|0;C=8-j|0;l=l>>>1;t=(l|0)==0;x=n<<1;y=k>>>1;u=(y|0)==0;z=16-k|0;A=x-k|0;w=k&-2;if(t|u){Dc=D;return}k=c;b=m+(v(f,n)|0)+e|0;s=l;while(1){g=d[b+n>>0]|0;q=b+w|0;o=k;p=b;r=(v(g,j)|0)+(v(C,d[b>>0]|0)|0)|0;b=(v(d[b+x>>0]|0,j)|0)+(v(C,g)|0)|0;g=y;while(1){G=p+1|0;F=d[G+n>>0]|0;E=(v(F,j)|0)+(v(C,d[G>>0]|0)|0)|0;F=(v(d[G+x>>0]|0,j)|0)+(v(C,F)|0)|0;G=((v(r,B)|0)+32+(v(E,i)|0)|0)>>>6;a[o+8>>0]=((v(b,B)|0)+32+(v(F,i)|0)|0)>>>6;a[o>>0]=G;p=p+2|0;G=d[p+n>>0]|0;r=(v(G,j)|0)+(v(C,d[p>>0]|0)|0)|0;b=(v(d[p+x>>0]|0,j)|0)+(v(C,G)|0)|0;E=((v(E,B)|0)+32+(v(r,i)|0)|0)>>>6;a[o+9>>0]=((v(F,B)|0)+32+(v(b,i)|0)|0)>>>6;a[o+1>>0]=E;g=g+-1|0;if(!g)break;else o=o+2|0}s=s+-1|0;if(!s)break;else{k=k+w+z|0;b=q+A|0}}if(t|u){Dc=D;return}k=c+64|0;h=m+(v(h+f|0,n)|0)+e|0;while(1){m=d[h+n>>0]|0;e=h+w|0;b=k;g=h;f=(v(m,j)|0)+(v(C,d[h>>0]|0)|0)|0;h=(v(d[h+x>>0]|0,j)|0)+(v(C,m)|0)|0;m=y;while(1){E=g+1|0;F=d[E+n>>0]|0;G=(v(F,j)|0)+(v(C,d[E>>0]|0)|0)|0;F=(v(d[E+x>>0]|0,j)|0)+(v(C,F)|0)|0;E=((v(f,B)|0)+32+(v(G,i)|0)|0)>>>6;a[b+8>>0]=((v(h,B)|0)+32+(v(F,i)|0)|0)>>>6;a[b>>0]=E;g=g+2|0;E=d[g+n>>0]|0;f=(v(E,j)|0)+(v(C,d[g>>0]|0)|0)|0;h=(v(d[g+x>>0]|0,j)|0)+(v(C,E)|0)|0;G=((v(G,B)|0)+32+(v(f,i)|0)|0)>>>6;a[b+9>>0]=((v(F,B)|0)+32+(v(h,i)|0)|0)>>>6;a[b+1>>0]=G;m=m+-1|0;if(!m)break;else b=b+2|0}l=l+-1|0;if(!l)break;else{k=k+w+z|0;h=e+A|0}}Dc=D;return}function Sf(b,c,e,f,g,h,i,j,k){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0;y=Dc;Dc=Dc+144|0;l=y;m=j+1|0;if((e|0)>=0?!((k+f|0)>>>0>h>>>0|((f|0)<0|(m+e|0)>>>0>g>>>0)):0){l=b;m=g}else{If(b,l,e,f,g,h,m,k,m);If(b+(v(h,g)|0)|0,l+(v(m,k)|0)|0,e,f,g,h,m,k,m);h=k;e=0;f=0}x=8-i|0;r=k>>>1;q=(r|0)==0;t=j>>>1;p=(t|0)==0;u=16-j|0;w=(m<<1)-j|0;s=j&-2;if(q|p){Dc=y;return}k=c;b=l+(v(f,m)|0)+e|0;o=r;while(1){n=b+s|0;j=k;g=t;while(1){z=b+1|0;A=d[b>>0]|0;B=d[z+m>>0]|0;z=d[z>>0]|0;a[j+8>>0]=(((v(B,i)|0)+(v(x,d[b+m>>0]|0)|0)<<3)+32|0)>>>6;b=b+2|0;a[j>>0]=(((v(z,i)|0)+(v(x,A)|0)<<3)+32|0)>>>6;A=d[b>>0]|0;a[j+9>>0]=(((v(d[b+m>>0]|0,i)|0)+(v(x,B)|0)<<3)+32|0)>>>6;a[j+1>>0]=(((v(A,i)|0)+(v(x,z)|0)<<3)+32|0)>>>6;g=g+-1|0;if(!g)break;else j=j+2|0}o=o+-1|0;if(!o)break;else{k=k+s+u|0;b=n+w|0}}if(q|p){Dc=y;return}k=c+64|0;h=l+(v(h+f|0,m)|0)+e|0;e=r;while(1){g=h+s|0;b=k;l=t;while(1){B=h+1|0;A=d[h>>0]|0;z=d[B+m>>0]|0;B=d[B>>0]|0;a[b+8>>0]=(((v(z,i)|0)+(v(x,d[h+m>>0]|0)|0)<<3)+32|0)>>>6;h=h+2|0;a[b>>0]=(((v(B,i)|0)+(v(x,A)|0)<<3)+32|0)>>>6;A=d[h>>0]|0;a[b+9>>0]=(((v(d[h+m>>0]|0,i)|0)+(v(x,z)|0)<<3)+32|0)>>>6;a[b+1>>0]=(((v(A,i)|0)+(v(x,B)|0)<<3)+32|0)>>>6;l=l+-1|0;if(!l)break;else b=b+2|0}e=e+-1|0;if(!e)break;else{k=k+s+u|0;h=g+w|0}}Dc=y;return}function Tf(b,c,e,f,g,h,i,j,k){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;z=Dc;Dc=Dc+144|0;l=z;if(((e|0)>=0?!((f|0)<0|(j+e|0)>>>0>g>>>0):0)?(k+1+f|0)>>>0<=h>>>0:0)l=b;else{y=k+1|0;If(b,l,e,f,g,h,j,y,j);If(b+(v(h,g)|0)|0,l+(v(y,j)|0)|0,e,f,g,h,j,y,j);h=y;g=j;e=0;f=0}y=8-i|0;r=k>>>1;q=(r|0)==0;u=j>>>1;p=(u|0)==0;w=16-j|0;t=g<<1;x=t-j|0;s=j&-2;if(q|p){Dc=z;return}j=c;b=l+(v(f,g)|0)+e|0;o=r;while(1){n=b+s|0;m=j;k=u;while(1){A=d[b+g>>0]|0;C=b+1|0;B=d[b>>0]|0;a[m+8>>0]=(((v(y,A)|0)+(v(d[b+t>>0]|0,i)|0)<<3)+32|0)>>>6;a[m>>0]=(((v(y,B)|0)+(v(A,i)|0)<<3)+32|0)>>>6;A=d[C+g>>0]|0;B=d[C>>0]|0;a[m+9>>0]=(((v(y,A)|0)+(v(d[C+t>>0]|0,i)|0)<<3)+32|0)>>>6;a[m+1>>0]=(((v(y,B)|0)+(v(A,i)|0)<<3)+32|0)>>>6;k=k+-1|0;if(!k)break;else{m=m+2|0;b=b+2|0}}o=o+-1|0;if(!o)break;else{j=j+s+w|0;b=n+x|0}}if(q|p){Dc=z;return}k=c+64|0;h=l+(v(h+f|0,g)|0)+e|0;f=r;while(1){e=h+s|0;b=k;l=u;while(1){C=d[h+g>>0]|0;A=h+1|0;B=d[h>>0]|0;a[b+8>>0]=(((v(y,C)|0)+(v(d[h+t>>0]|0,i)|0)<<3)+32|0)>>>6;a[b>>0]=(((v(y,B)|0)+(v(C,i)|0)<<3)+32|0)>>>6;C=d[A+g>>0]|0;B=d[A>>0]|0;a[b+9>>0]=(((v(y,C)|0)+(v(d[A+t>>0]|0,i)|0)<<3)+32|0)>>>6;a[b+1>>0]=(((v(y,B)|0)+(v(C,i)|0)<<3)+32|0)>>>6;l=l+-1|0;if(!l)break;else{b=b+2|0;h=h+2|0}}f=f+-1|0;if(!f)break;else{k=k+s+w|0;h=e+x|0}}Dc=z;return}function Uf(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;if(d){zl(c|0,a[b>>0]|0,d|0)|0;c=c+d|0}if(e){h=b+e|0;d=e;g=c;while(1){a[g>>0]=a[b>>0]|0;d=d+-1|0;if(!d)break;else{g=g+1|0;b=b+1|0}}c=c+e|0;b=h}if(!f)return;zl(c|0,a[b+-1>>0]|0,f|0)|0;return}function Vf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;zf(b,a,d);return}function Wf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(!f)return;m=c[b+4>>2]|0;n=v(c[b+8>>2]|0,m)|0;j=(f>>>0)/(m>>>0)|0;k=f-(v(j,m)|0)|0;h=m<<4;g=(c[b>>2]|0)+(v(m<<8,j)|0)+(k<<4)|0;l=m>>>0<=f>>>0;if(l){f=g+(0-(h|1))|0;i=f+1|0;a[d>>0]=a[f>>0]|0;f=i+1|0;a[d+1>>0]=a[i>>0]|0;i=f+1|0;a[d+2>>0]=a[f>>0]|0;f=i+1|0;a[d+3>>0]=a[i>>0]|0;i=f+1|0;a[d+4>>0]=a[f>>0]|0;f=i+1|0;a[d+5>>0]=a[i>>0]|0;i=f+1|0;a[d+6>>0]=a[f>>0]|0;f=i+1|0;a[d+7>>0]=a[i>>0]|0;i=f+1|0;a[d+8>>0]=a[f>>0]|0;f=i+1|0;a[d+9>>0]=a[i>>0]|0;i=f+1|0;a[d+10>>0]=a[f>>0]|0;f=i+1|0;a[d+11>>0]=a[i>>0]|0;i=f+1|0;a[d+12>>0]=a[f>>0]|0;f=i+1|0;a[d+13>>0]=a[i>>0]|0;i=f+1|0;a[d+14>>0]=a[f>>0]|0;f=i+1|0;a[d+15>>0]=a[i>>0]|0;i=f+1|0;a[d+16>>0]=a[f>>0]|0;f=i+1|0;a[d+17>>0]=a[i>>0]|0;i=f+1|0;a[d+18>>0]=a[f>>0]|0;a[d+19>>0]=a[i>>0]|0;a[d+20>>0]=a[i+1>>0]|0;d=d+21|0}i=(k|0)!=0;if(i){g=g+-1|0;a[e>>0]=a[g>>0]|0;g=g+h|0;a[e+1>>0]=a[g>>0]|0;g=g+h|0;a[e+2>>0]=a[g>>0]|0;g=g+h|0;a[e+3>>0]=a[g>>0]|0;g=g+h|0;a[e+4>>0]=a[g>>0]|0;g=g+h|0;a[e+5>>0]=a[g>>0]|0;g=g+h|0;a[e+6>>0]=a[g>>0]|0;g=g+h|0;a[e+7>>0]=a[g>>0]|0;g=g+h|0;a[e+8>>0]=a[g>>0]|0;g=g+h|0;a[e+9>>0]=a[g>>0]|0;g=g+h|0;a[e+10>>0]=a[g>>0]|0;g=g+h|0;a[e+11>>0]=a[g>>0]|0;g=g+h|0;a[e+12>>0]=a[g>>0]|0;g=g+h|0;a[e+13>>0]=a[g>>0]|0;g=g+h|0;a[e+14>>0]=a[g>>0]|0;a[e+15>>0]=a[g+h>>0]|0;e=e+16|0}g=m<<3&2147483640;f=(c[b>>2]|0)+(n<<8)+(v(j<<3,g)|0)+(k<<3)|0;if(l){k=f+(0-(g|1))|0;l=k+1|0;a[d>>0]=a[k>>0]|0;k=l+1|0;a[d+1>>0]=a[l>>0]|0;l=k+1|0;a[d+2>>0]=a[k>>0]|0;k=l+1|0;a[d+3>>0]=a[l>>0]|0;l=k+1|0;a[d+4>>0]=a[k>>0]|0;k=l+1|0;a[d+5>>0]=a[l>>0]|0;l=k+1|0;a[d+6>>0]=a[k>>0]|0;k=l+1|0;a[d+7>>0]=a[l>>0]|0;a[d+8>>0]=a[k>>0]|0;k=k+1+((n<<6)+-9)|0;l=k+1|0;a[d+9>>0]=a[k>>0]|0;k=l+1|0;a[d+10>>0]=a[l>>0]|0;l=k+1|0;a[d+11>>0]=a[k>>0]|0;k=l+1|0;a[d+12>>0]=a[l>>0]|0;l=k+1|0;a[d+13>>0]=a[k>>0]|0;k=l+1|0;a[d+14>>0]=a[l>>0]|0;l=k+1|0;a[d+15>>0]=a[k>>0]|0;a[d+16>>0]=a[l>>0]|0;a[d+17>>0]=a[l+1>>0]|0}if(!i)return;l=f+-1|0;a[e>>0]=a[l>>0]|0;l=l+g|0;a[e+1>>0]=a[l>>0]|0;l=l+g|0;a[e+2>>0]=a[l>>0]|0;l=l+g|0;a[e+3>>0]=a[l>>0]|0;l=l+g|0;a[e+4>>0]=a[l>>0]|0;l=l+g|0;a[e+5>>0]=a[l>>0]|0;l=l+g|0;a[e+6>>0]=a[l>>0]|0;l=l+g|0;a[e+7>>0]=a[l>>0]|0;n=l+g+(n-m<<6)|0;a[e+8>>0]=a[n>>0]|0;n=n+g|0;a[e+9>>0]=a[n>>0]|0;n=n+g|0;a[e+10>>0]=a[n>>0]|0;n=n+g|0;a[e+11>>0]=a[n>>0]|0;n=n+g|0;a[e+12>>0]=a[n>>0]|0;n=n+g|0;a[e+13>>0]=a[n>>0]|0;n=n+g|0;a[e+14>>0]=a[n>>0]|0;a[e+15>>0]=a[n+g>>0]|0;return}function Xf(a){a=a|0;return (a>>>0<6?2:(a|0)!=6&1)|0}function Yf(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0;k=b+200|0;j=$f(b,c[k>>2]|0)|0;m=(i|0)!=0;if(m&(j|0)!=0){y=(Xf(c[c[k>>2]>>2]|0)|0)==2;j=y?0:j}k=b+204|0;i=$f(b,c[k>>2]|0)|0;if(m&(i|0)!=0){l=(Xf(c[c[k>>2]>>2]|0)|0)==2;l=l?0:i}else l=i;k=b+212|0;i=$f(b,c[k>>2]|0)|0;if(m&(i|0)!=0){y=(Xf(c[c[k>>2]>>2]|0)|0)==2;i=y?0:i}switch(fg(c[b>>2]|0)|0){case 0:{if(!l){f=1;return f|0}l=g+1|0;m=g+2|0;q=g+3|0;r=g+4|0;s=g+5|0;t=g+6|0;u=g+7|0;w=g+8|0;x=g+9|0;y=g+10|0;b=g+11|0;h=g+12|0;n=g+13|0;o=g+14|0;p=g+15|0;i=g+16|0;j=e;k=0;while(1){a[j>>0]=a[l>>0]|0;a[j+1>>0]=a[m>>0]|0;a[j+2>>0]=a[q>>0]|0;a[j+3>>0]=a[r>>0]|0;a[j+4>>0]=a[s>>0]|0;a[j+5>>0]=a[t>>0]|0;a[j+6>>0]=a[u>>0]|0;a[j+7>>0]=a[w>>0]|0;a[j+8>>0]=a[x>>0]|0;a[j+9>>0]=a[y>>0]|0;a[j+10>>0]=a[b>>0]|0;a[j+11>>0]=a[h>>0]|0;a[j+12>>0]=a[n>>0]|0;a[j+13>>0]=a[o>>0]|0;a[j+14>>0]=a[p>>0]|0;a[j+15>>0]=a[i>>0]|0;k=k+1|0;if((k|0)==16)break;else j=j+16|0}break}case 1:{if(!j){f=1;return f|0}i=e;j=0;while(1){g=h+j|0;a[i>>0]=a[g>>0]|0;a[i+1>>0]=a[g>>0]|0;a[i+2>>0]=a[g>>0]|0;a[i+3>>0]=a[g>>0]|0;a[i+4>>0]=a[g>>0]|0;a[i+5>>0]=a[g>>0]|0;a[i+6>>0]=a[g>>0]|0;a[i+7>>0]=a[g>>0]|0;a[i+8>>0]=a[g>>0]|0;a[i+9>>0]=a[g>>0]|0;a[i+10>>0]=a[g>>0]|0;a[i+11>>0]=a[g>>0]|0;a[i+12>>0]=a[g>>0]|0;a[i+13>>0]=a[g>>0]|0;a[i+14>>0]=a[g>>0]|0;a[i+15>>0]=a[g>>0]|0;j=j+1|0;if((j|0)==16)break;else i=i+16|0}break}case 2:{k=g+1|0;j=(j|0)!=0;i=(l|0)!=0;do if(!(j&i)){if(j){i=((d[h>>0]|0)+8+(d[h+1>>0]|0)+(d[h+2>>0]|0)+(d[h+3>>0]|0)+(d[h+4>>0]|0)+(d[h+5>>0]|0)+(d[h+6>>0]|0)+(d[h+7>>0]|0)+(d[h+8>>0]|0)+(d[h+9>>0]|0)+(d[h+10>>0]|0)+(d[h+11>>0]|0)+(d[h+12>>0]|0)+(d[h+13>>0]|0)+(d[h+14>>0]|0)+(d[h+15>>0]|0)|0)>>>4;break}if(i)i=((d[k>>0]|0)+8+(d[g+2>>0]|0)+(d[g+3>>0]|0)+(d[g+4>>0]|0)+(d[g+5>>0]|0)+(d[g+6>>0]|0)+(d[g+7>>0]|0)+(d[g+8>>0]|0)+(d[g+9>>0]|0)+(d[g+10>>0]|0)+(d[g+11>>0]|0)+(d[g+12>>0]|0)+(d[g+13>>0]|0)+(d[g+14>>0]|0)+(d[g+15>>0]|0)+(d[g+16>>0]|0)|0)>>>4;else i=128}else i=((d[k>>0]|0)+16+(d[h>>0]|0)+(d[g+2>>0]|0)+(d[h+1>>0]|0)+(d[g+3>>0]|0)+(d[h+2>>0]|0)+(d[g+4>>0]|0)+(d[h+3>>0]|0)+(d[g+5>>0]|0)+(d[h+4>>0]|0)+(d[g+6>>0]|0)+(d[h+5>>0]|0)+(d[g+7>>0]|0)+(d[h+6>>0]|0)+(d[g+8>>0]|0)+(d[h+7>>0]|0)+(d[g+9>>0]|0)+(d[h+8>>0]|0)+(d[g+10>>0]|0)+(d[h+9>>0]|0)+(d[g+11>>0]|0)+(d[h+10>>0]|0)+(d[g+12>>0]|0)+(d[h+11>>0]|0)+(d[g+13>>0]|0)+(d[h+12>>0]|0)+(d[g+14>>0]|0)+(d[h+13>>0]|0)+(d[g+15>>0]|0)+(d[h+14>>0]|0)+(d[g+16>>0]|0)+(d[h+15>>0]|0)|0)>>>5;while(0);zl(e|0,i&255|0,256)|0;break}default:{if(!((j|0)!=0&(l|0)!=0&(i|0)!=0)){f=1;return f|0}w=d[g+16>>0]|0;t=d[h+15>>0]|0;u=d[g>>0]|0;x=t+w<<4;w=(((d[g+9>>0]|0)-(d[g+7>>0]|0)+((d[g+10>>0]|0)-(d[g+6>>0]|0)<<1)+(((d[g+11>>0]|0)-(d[g+5>>0]|0)|0)*3|0)+((d[g+12>>0]|0)-(d[g+4>>0]|0)<<2)+(((d[g+13>>0]|0)-(d[g+3>>0]|0)|0)*5|0)+(((d[g+14>>0]|0)-(d[g+2>>0]|0)|0)*6|0)+(((d[g+15>>0]|0)-(d[g+1>>0]|0)|0)*7|0)+(w-u<<3)|0)*5|0)+32>>6;u=(((d[h+8>>0]|0)-(d[h+6>>0]|0)+(t-u<<3)+((d[h+9>>0]|0)-(d[h+5>>0]|0)<<1)+(((d[h+10>>0]|0)-(d[h+4>>0]|0)|0)*3|0)+((d[h+11>>0]|0)-(d[h+3>>0]|0)<<2)+(((d[h+12>>0]|0)-(d[h+2>>0]|0)|0)*5|0)+(((d[h+13>>0]|0)-(d[h+1>>0]|0)|0)*6|0)+(((d[h+14>>0]|0)-(d[h>>0]|0)|0)*7|0)|0)*5|0)+32>>6;t=v(w,-7)|0;j=v(w,-6)|0;o=v(w,-5)|0;p=v(w,-4)|0;q=v(w,-3)|0;r=v(w,-2)|0;s=w<<1;k=w*3|0;l=w<<2;m=w*5|0;b=w*6|0;h=w*7|0;n=w<<3;i=0;do{z=(v(i+-7|0,u)|0)+x|0;g=i<<4;y=z+t|0;A=y+16>>5;a[e+g>>0]=(y|0)<-16?0:((A|0)<255?A:255)&255;A=z+j|0;y=A+16>>5;a[e+(g|1)>>0]=(A|0)<-16?0:((y|0)<255?y:255)&255;y=z+o|0;A=y+16>>5;a[e+(g|2)>>0]=(y|0)<-16?0:((A|0)<255?A:255)&255;A=z+p|0;y=A+16>>5;a[e+(g|3)>>0]=(A|0)<-16?0:((y|0)<255?y:255)&255;y=z+q|0;A=y+16>>5;a[e+(g|4)>>0]=(y|0)<-16?0:((A|0)<255?A:255)&255;A=z+r|0;y=A+16>>5;a[e+(g|5)>>0]=(A|0)<-16?0:((y|0)<255?y:255)&255;y=z-w|0;A=y+16>>5;a[e+(g|6)>>0]=(y|0)<-16?0:((A|0)<255?A:255)&255;A=z+16>>5;a[e+(g|7)>>0]=(z|0)<-16?0:((A|0)<255?A:255)&255;A=z+w|0;y=A+16>>5;a[e+(g|8)>>0]=(A|0)<-16?0:((y|0)<255?y:255)&255;y=z+s|0;A=y+16>>5;a[e+(g|9)>>0]=(y|0)<-16?0:((A|0)<255?A:255)&255;A=z+k|0;y=A+16>>5;a[e+(g|10)>>0]=(A|0)<-16?0:((y|0)<255?y:255)&255;y=z+l|0;A=y+16>>5;a[e+(g|11)>>0]=(y|0)<-16?0:((A|0)<255?A:255)&255;A=z+m|0;y=A+16>>5;a[e+(g|12)>>0]=(A|0)<-16?0:((y|0)<255?y:255)&255;y=z+b|0;A=y+16>>5;a[e+(g|13)>>0]=(y|0)<-16?0:((A|0)<255?A:255)&255;A=z+h|0;y=A+16>>5;a[e+(g|14)>>0]=(A|0)<-16?0:((y|0)<255?y:255)&255;z=z+n|0;y=z+16>>5;a[e+(g|15)>>0]=(z|0)<-16?0:((y|0)<255?y:255)&255;i=i+1|0}while((i|0)!=16)}}ag(e,f,0);ag(e,f+64|0,1);ag(e,f+128|0,2);ag(e,f+192|0,3);ag(e,f+256|0,4);ag(e,f+320|0,5);ag(e,f+384|0,6);ag(e,f+448|0,7);ag(e,f+512|0,8);ag(e,f+576|0,9);ag(e,f+640|0,10);ag(e,f+704|0,11);ag(e,f+768|0,12);ag(e,f+832|0,13);ag(e,f+896|0,14);ag(e,f+960|0,15);A=0;return A|0}function Zf(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,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=(i|0)!=0;K=0;a:while(1){m=bg(K)|0;l=c[m+4>>2]|0;m=Gf(b,c[m>>2]|0)|0;i=$f(b,m)|0;if(L&(i|0)!=0){J=(Xf(c[m>>2]|0)|0)==2;i=J?0:i}n=cg(K)|0;k=c[n+4>>2]|0;n=Gf(b,c[n>>2]|0)|0;j=$f(b,n)|0;if(L&(j|0)!=0){J=(Xf(c[n>>2]|0)|0)==2;j=J?0:j}H=(i|0)!=0;G=(j|0)!=0;F=H&G;if(F){if(!(Xf(c[m>>2]|0)|0))j=d[(l&255)+(m+82)>>0]|0;else j=2;if(!(Xf(c[n>>2]|0)|0))i=d[(k&255)+(n+82)>>0]|0;else i=2;i=j>>>0>>0?j:i}else i=2;if(!(c[f+12+(K<<2)>>2]|0)){J=c[f+76+(K<<2)>>2]|0;i=J+(J>>>0>=i>>>0&1)|0}a[b+82+K>>0]=i;j=c[(dg(K)|0)>>2]|0;j=Gf(b,j)|0;k=$f(b,j)|0;if(L&(k|0)!=0){J=(Xf(c[j>>2]|0)|0)==2;k=J?0:k}j=c[(eg(K)|0)>>2]|0;j=Gf(b,j)|0;l=$f(b,j)|0;if(L&(l|0)!=0){J=(Xf(c[j>>2]|0)|0)==2;l=J?0:l}I=c[1864+(K<<2)>>2]|0;J=c[1928+(K<<2)>>2]|0;s=(1285>>>K&1|0)!=0;if(s){p=h+(J+2)|0;n=J+3|0;o=h;j=h+J|0;m=h+(J+1)|0}else{m=(J<<4)+I|0;p=e+(m+31)|0;n=m+47|0;o=e;j=e+(m+-1)|0;m=e+(m+15)|0}A=a[j>>0]|0;z=a[m>>0]|0;E=a[o+n>>0]|0;D=a[p>>0]|0;do if(!(51>>>K&1)){m=J+-1|0;j=(m<<4)+I|0;t=a[e+j>>0]|0;u=a[e+(j+1)>>0]|0;w=a[e+(j+2)>>0]|0;n=a[e+(j+3)>>0]|0;o=a[e+(j+4)>>0]|0;p=a[e+(j+5)>>0]|0;q=a[e+(j+6)>>0]|0;r=a[e+(j+7)>>0]|0;if(s){j=h+m|0;C=n;B=q;m=r;y=t;x=u;break}else{j=e+(j+-1)|0;C=n;B=q;m=r;y=t;x=u;break}}else{j=g+I|0;C=a[g+(I+4)>>0]|0;o=a[g+(I+5)>>0]|0;p=a[g+(I+6)>>0]|0;B=a[g+(I+7)>>0]|0;m=a[g+(I+8)>>0]|0;y=a[g+(I+1)>>0]|0;x=a[g+(I+2)>>0]|0;w=a[g+(I+3)>>0]|0}while(0);j=a[j>>0]|0;switch(i|0){case 0:{if(!G){i=1;j=51;break a}j=y;k=x;l=w;m=C;n=y;o=x;p=w;q=C;r=y;s=x;t=w;u=C;i=(w&255)<<16|(C&255)<<24|y&255|(x&255)<<8;break}case 1:{if(!H){i=1;j=51;break a}m=v(A&255,16843009)|0;q=v(z&255,16843009)|0;u=v(D&255,16843009)|0;j=m&255;k=m>>>8&255;l=m>>>16&255;m=m>>>24&255;n=q&255;o=q>>>8&255;p=q>>>16&255;q=q>>>24&255;r=u&255;s=u>>>8&255;t=u>>>16&255;u=u>>>24&255;i=v(E&255,16843009)|0;break}case 2:{do if(!F){if(H){i=((A&255)+2+(z&255)+(E&255)+(D&255)|0)>>>2;break}if(G)i=((C&255)+2+(w&255)+(x&255)+(y&255)|0)>>>2;else i=128}else i=((A&255)+4+(z&255)+(E&255)+(D&255)+(C&255)+(w&255)+(x&255)+(y&255)|0)>>>3;while(0);i=v(i&255,16843009)|0;r=i&255;s=i>>>8&255;t=i>>>16&255;u=i>>>24&255;j=r;k=s;l=t;m=u;n=r;o=s;p=t;q=u;break}case 3:{if(!G){i=1;j=51;break a}G=(k|0)==0;j=x&255;k=w&255;r=C&255;E=r+2|0;n=(E+j+(k<<1)|0)>>>2&255;H=(G?C:o)&255;r=(H+2+k+(r<<1)|0)>>>2&255;l=(G?C:p)&255;E=(E+l+(H<<1)|0)>>>2;s=E&255;i=(G?C:B)&255;F=i+2|0;H=(F+H+(l<<1)|0)>>>2;t=H&255;G=(G?C:m)&255;i=(l+2+G+(i<<1)|0)>>>2;j=(k+2+(y&255)+(j<<1)|0)>>>2&255;k=n;l=r;m=s;o=r;p=s;q=t;u=i&255;i=E&255|(F+(G*3|0)|0)>>>2<<24|H<<8&65280|i<<16&16711680;break}case 4:{if(!(F&(l|0)!=0)){i=1;j=51;break a}u=y&255;i=j&255;j=A&255;q=u+2|0;H=(q+j+(i<<1)|0)>>>2;t=H&255;G=x&255;n=G+2|0;u=(n+(u<<1)+i|0)>>>2&255;m=w&255;q=((G<<1)+m+q|0)>>>2&255;G=z&255;B=G+2|0;i=(B+(j<<1)+i|0)>>>2;s=i&255;F=D&255;G=(j+2+(G<<1)+F|0)>>>2;j=t;k=u;l=q;m=(n+(C&255)+(m<<1)|0)>>>2&255;n=s;o=t;p=u;r=G&255;i=(B+(E&255)+(F<<1)|0)>>>2&255|G<<8&65280|H<<24|i<<16&16711680;break}case 5:{if(!(F&(l|0)!=0)){i=1;j=51;break a}r=j&255;t=y&255;s=(t+1+r|0)>>>1&255;u=x&255;B=u+2|0;i=(B+(t<<1)+r|0)>>>2;F=A&255;E=t+2|0;H=(E+F+(r<<1)|0)>>>2;t=(u+1+t|0)>>>1&255;q=w&255;E=((u<<1)+q+E|0)>>>2;m=q+1|0;u=(m+u|0)>>>1&255;C=C&255;G=z&255;j=s;k=t;l=u;m=(m+C|0)>>>1&255;n=H&255;o=i&255;p=E&255;q=(B+C+(q<<1)|0)>>>2&255;r=(G+2+(F<<1)+r|0)>>>2&255;i=E<<24|(F+2+(G<<1)+(D&255)|0)>>>2&255|H<<8&65280|i<<16&16711680;break}case 6:{if(!(F&(l|0)!=0)){i=1;j=51;break a}l=j&255;q=A&255;t=q+1|0;p=(t+l|0)>>>1&255;H=z&255;G=H+2|0;u=(G+(q<<1)+l|0)>>>2&255;t=(t+H|0)>>>1&255;i=D&255;q=q+2|0;F=(q+(H<<1)+i|0)>>>2;D=(H+1+i|0)>>>1;H=E&255;n=y&255;q=(q+n+(l<<1)|0)>>>2&255;m=x&255;j=p;k=q;l=(m+2+(n<<1)+l|0)>>>2&255;m=(n+2+(w&255)+(m<<1)|0)>>>2&255;n=t;o=u;r=D&255;s=F&255;i=D<<16&16711680|F<<24|(i+1+H|0)>>>1&255|G+H+(i<<1)<<6&65280;break}case 7:{if(!G){i=1;j=51;break a}F=(k|0)==0;q=y&255;n=x&255;A=w&255;r=(A+1+n|0)>>>1&255;D=C&255;t=D+1|0;s=(t+A|0)>>>1&255;u=(F?C:o)&255;t=(t+u|0)>>>1&255;i=D+2|0;H=(i+n+(A<<1)|0)>>>2;E=u+2|0;D=(E+A+(D<<1)|0)>>>2;G=(F?C:p)&255;i=(i+G+(u<<1)|0)>>>2;j=(n+1+q|0)>>>1&255;k=r;l=s;m=t;n=(A+2+q+(n<<1)|0)>>>2&255;o=H&255;p=D&255;q=i&255;u=(u+1+G|0)>>>1&255;i=D<<8&65280|(E+((F?C:B)&255)+(G<<1)|0)>>>2<<24|H&255|i<<16&16711680;break}default:{if(!H){i=1;j=51;break a}l=A&255;k=z&255;j=k+1|0;r=D&255;m=r+2|0;n=(j+r|0)>>>1&255;i=E&255;o=(k+2+i+(r<<1)|0)>>>2&255;r=(r+1+i|0)>>>1&255;s=(m+(i*3|0)|0)>>>2&255;j=(j+l|0)>>>1&255;k=(m+l+(k<<1)|0)>>>2&255;l=n;m=o;p=r;q=s;t=E;u=E;i=i<<8|i|i<<16|i<<24}}J=e+((J<<4)+I)|0;c[J>>2]=(l&255)<<16|(m&255)<<24|(k&255)<<8|j&255;c[J+16>>2]=(p&255)<<16|(q&255)<<24|(o&255)<<8|n&255;c[J+32>>2]=(t&255)<<16|(u&255)<<24|(s&255)<<8|r&255;c[J+48>>2]=i;ag(e,f+328+(K<<6)|0,K);K=K+1|0;if(K>>>0>=16){i=0;j=51;break}}if((j|0)==51)return i|0;return 0}function _f(b,e,f,g,h,i,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0;l=b+200|0;k=$f(b,c[l>>2]|0)|0;m=(j|0)!=0;if(m&(k|0)!=0){w=(Xf(c[c[l>>2]>>2]|0)|0)==2;k=w?0:k}l=b+204|0;j=$f(b,c[l>>2]|0)|0;if(m&(j|0)!=0){n=(Xf(c[c[l>>2]>>2]|0)|0)==2;n=n?0:j}else n=j;l=b+212|0;j=$f(b,c[l>>2]|0)|0;if(m&(j|0)!=0){w=(Xf(c[c[l>>2]>>2]|0)|0)==2;j=w?0:j}u=(k|0)!=0;w=(n|0)!=0;t=u&w;s=t&(j|0)!=0;r=(k|0)==0;q=(n|0)==0;o=16;p=1;n=f;a:while(1){switch(i|0){case 0:{l=g+1|0;do if(!t){if(w){j=((d[l>>0]|0)+2+(d[g+2>>0]|0)+(d[g+3>>0]|0)+(d[g+4>>0]|0)|0)>>>2;k=((d[g+5>>0]|0)+2+(d[g+6>>0]|0)+(d[g+7>>0]|0)+(d[g+8>>0]|0)|0)>>>2;break}if(u){k=((d[h>>0]|0)+2+(d[h+1>>0]|0)+(d[h+2>>0]|0)+(d[h+3>>0]|0)|0)>>>2;j=k}else{j=128;k=128}}else{j=((d[l>>0]|0)+4+(d[g+2>>0]|0)+(d[g+3>>0]|0)+(d[g+4>>0]|0)+(d[h>>0]|0)+(d[h+1>>0]|0)+(d[h+2>>0]|0)+(d[h+3>>0]|0)|0)>>>3;k=((d[g+5>>0]|0)+2+(d[g+6>>0]|0)+(d[g+7>>0]|0)+(d[g+8>>0]|0)|0)>>>2}while(0);b=j&255;f=k&255;zl(e|0,b|0,4)|0;zl(e+4|0,f|0,4)|0;zl(e+8|0,b|0,4)|0;zl(e+12|0,f|0,4)|0;zl(e+16|0,b|0,4)|0;zl(e+20|0,f|0,4)|0;m=e+32|0;zl(e+24|0,b|0,4)|0;zl(e+28|0,f|0,4)|0;if(u){l=d[h+7>>0]|0;k=(d[h+5>>0]|0)+(d[h+4>>0]|0)+(d[h+6>>0]|0)|0;j=(k+2+l|0)>>>2;if(w){b=j;j=(k+4+l+(d[g+5>>0]|0)+(d[g+6>>0]|0)+(d[g+7>>0]|0)+(d[g+8>>0]|0)|0)>>>3}else b=j}else if(w){b=((d[l>>0]|0)+2+(d[g+2>>0]|0)+(d[g+3>>0]|0)+(d[g+4>>0]|0)|0)>>>2;j=((d[g+5>>0]|0)+2+(d[g+6>>0]|0)+(d[g+7>>0]|0)+(d[g+8>>0]|0)|0)>>>2}else{b=128;j=128}b=b&255;f=j&255;zl(m|0,b|0,4)|0;zl(e+36|0,f|0,4)|0;zl(e+40|0,b|0,4)|0;zl(e+44|0,f|0,4)|0;zl(e+48|0,b|0,4)|0;zl(e+52|0,f|0,4)|0;zl(e+56|0,b|0,4)|0;zl(e+60|0,f|0,4)|0;break}case 1:{if(r){j=1;k=28;break a}a[e>>0]=a[h>>0]|0;a[e+1>>0]=a[h>>0]|0;a[e+2>>0]=a[h>>0]|0;a[e+3>>0]=a[h>>0]|0;a[e+4>>0]=a[h>>0]|0;a[e+5>>0]=a[h>>0]|0;a[e+6>>0]=a[h>>0]|0;f=h+1|0;a[e+7>>0]=a[h>>0]|0;a[e+8>>0]=a[f>>0]|0;a[e+9>>0]=a[f>>0]|0;a[e+10>>0]=a[f>>0]|0;a[e+11>>0]=a[f>>0]|0;a[e+12>>0]=a[f>>0]|0;a[e+13>>0]=a[f>>0]|0;a[e+14>>0]=a[f>>0]|0;m=h+2|0;a[e+15>>0]=a[f>>0]|0;a[e+16>>0]=a[m>>0]|0;a[e+17>>0]=a[m>>0]|0;a[e+18>>0]=a[m>>0]|0;a[e+19>>0]=a[m>>0]|0;a[e+20>>0]=a[m>>0]|0;a[e+21>>0]=a[m>>0]|0;a[e+22>>0]=a[m>>0]|0;f=h+3|0;a[e+23>>0]=a[m>>0]|0;a[e+24>>0]=a[f>>0]|0;a[e+25>>0]=a[f>>0]|0;a[e+26>>0]=a[f>>0]|0;a[e+27>>0]=a[f>>0]|0;a[e+28>>0]=a[f>>0]|0;a[e+29>>0]=a[f>>0]|0;a[e+30>>0]=a[f>>0]|0;m=h+4|0;a[e+31>>0]=a[f>>0]|0;a[e+32>>0]=a[m>>0]|0;a[e+33>>0]=a[m>>0]|0;a[e+34>>0]=a[m>>0]|0;a[e+35>>0]=a[m>>0]|0;a[e+36>>0]=a[m>>0]|0;a[e+37>>0]=a[m>>0]|0;a[e+38>>0]=a[m>>0]|0;f=h+5|0;a[e+39>>0]=a[m>>0]|0;a[e+40>>0]=a[f>>0]|0;a[e+41>>0]=a[f>>0]|0;a[e+42>>0]=a[f>>0]|0;a[e+43>>0]=a[f>>0]|0;a[e+44>>0]=a[f>>0]|0;a[e+45>>0]=a[f>>0]|0;a[e+46>>0]=a[f>>0]|0;m=h+6|0;a[e+47>>0]=a[f>>0]|0;a[e+48>>0]=a[m>>0]|0;a[e+49>>0]=a[m>>0]|0;a[e+50>>0]=a[m>>0]|0;a[e+51>>0]=a[m>>0]|0;a[e+52>>0]=a[m>>0]|0;a[e+53>>0]=a[m>>0]|0;a[e+54>>0]=a[m>>0]|0;f=h+7|0;a[e+55>>0]=a[m>>0]|0;a[e+56>>0]=a[f>>0]|0;a[e+57>>0]=a[f>>0]|0;a[e+58>>0]=a[f>>0]|0;a[e+59>>0]=a[f>>0]|0;a[e+60>>0]=a[f>>0]|0;a[e+61>>0]=a[f>>0]|0;a[e+62>>0]=a[f>>0]|0;a[e+63>>0]=a[f>>0]|0;break}case 2:{if(q){j=1;k=28;break a}m=g+1|0;a[e>>0]=a[m>>0]|0;a[e+8>>0]=a[m>>0]|0;a[e+16>>0]=a[m>>0]|0;a[e+24>>0]=a[m>>0]|0;a[e+32>>0]=a[m>>0]|0;a[e+40>>0]=a[m>>0]|0;a[e+48>>0]=a[m>>0]|0;f=g+2|0;a[e+56>>0]=a[m>>0]|0;a[e+1>>0]=a[f>>0]|0;a[e+9>>0]=a[f>>0]|0;a[e+17>>0]=a[f>>0]|0;a[e+25>>0]=a[f>>0]|0;a[e+33>>0]=a[f>>0]|0;a[e+41>>0]=a[f>>0]|0;a[e+49>>0]=a[f>>0]|0;m=g+3|0;a[e+57>>0]=a[f>>0]|0;a[e+2>>0]=a[m>>0]|0;a[e+10>>0]=a[m>>0]|0;a[e+18>>0]=a[m>>0]|0;a[e+26>>0]=a[m>>0]|0;a[e+34>>0]=a[m>>0]|0;a[e+42>>0]=a[m>>0]|0;a[e+50>>0]=a[m>>0]|0;f=g+4|0;a[e+58>>0]=a[m>>0]|0;a[e+3>>0]=a[f>>0]|0;a[e+11>>0]=a[f>>0]|0;a[e+19>>0]=a[f>>0]|0;a[e+27>>0]=a[f>>0]|0;a[e+35>>0]=a[f>>0]|0;a[e+43>>0]=a[f>>0]|0;a[e+51>>0]=a[f>>0]|0;m=g+5|0;a[e+59>>0]=a[f>>0]|0;a[e+4>>0]=a[m>>0]|0;a[e+12>>0]=a[m>>0]|0;a[e+20>>0]=a[m>>0]|0;a[e+28>>0]=a[m>>0]|0;a[e+36>>0]=a[m>>0]|0;a[e+44>>0]=a[m>>0]|0;a[e+52>>0]=a[m>>0]|0;f=g+6|0;a[e+60>>0]=a[m>>0]|0;a[e+5>>0]=a[f>>0]|0;a[e+13>>0]=a[f>>0]|0;a[e+21>>0]=a[f>>0]|0;a[e+29>>0]=a[f>>0]|0;a[e+37>>0]=a[f>>0]|0;a[e+45>>0]=a[f>>0]|0;a[e+53>>0]=a[f>>0]|0;m=g+7|0;a[e+61>>0]=a[f>>0]|0;a[e+6>>0]=a[m>>0]|0;a[e+14>>0]=a[m>>0]|0;a[e+22>>0]=a[m>>0]|0;a[e+30>>0]=a[m>>0]|0;a[e+38>>0]=a[m>>0]|0;a[e+46>>0]=a[m>>0]|0;a[e+54>>0]=a[m>>0]|0;f=g+8|0;a[e+62>>0]=a[m>>0]|0;a[e+7>>0]=a[f>>0]|0;a[e+15>>0]=a[f>>0]|0;a[e+23>>0]=a[f>>0]|0;a[e+31>>0]=a[f>>0]|0;a[e+39>>0]=a[f>>0]|0;a[e+47>>0]=a[f>>0]|0;a[e+55>>0]=a[f>>0]|0;a[e+63>>0]=a[f>>0]|0;break}default:{if(!s){j=1;k=28;break a}l=d[g+8>>0]|0;b=d[h+7>>0]|0;m=d[g>>0]|0;f=(((d[g+5>>0]|0)-(d[g+3>>0]|0)+((d[g+6>>0]|0)-(d[g+2>>0]|0)<<1)+(((d[g+7>>0]|0)-(d[g+1>>0]|0)|0)*3|0)+(l-m<<2)|0)*17|0)+16>>5;m=(((d[h+4>>0]|0)-(d[h+2>>0]|0)+(b-m<<2)+((d[h+5>>0]|0)-(d[h+1>>0]|0)<<1)+(((d[h+6>>0]|0)-(d[h>>0]|0)|0)*3|0)|0)*17|0)+16>>5;l=(b+l<<4)+16+(v(m,-3)|0)|0;b=v(f,-3)|0;k=l+b|0;a[e>>0]=a[49008+(k>>5)>>0]|0;k=k+f|0;a[e+1>>0]=a[49008+(k>>5)>>0]|0;k=k+f|0;a[e+2>>0]=a[49008+(k>>5)>>0]|0;k=k+f|0;a[e+3>>0]=a[49008+(k>>5)>>0]|0;k=k+f|0;a[e+4>>0]=a[49008+(k>>5)>>0]|0;k=k+f|0;a[e+5>>0]=a[49008+(k>>5)>>0]|0;k=k+f|0;a[e+6>>0]=a[49008+(k>>5)>>0]|0;a[e+7>>0]=a[49008+(k+f>>5)>>0]|0;l=l+m|0;k=l+b|0;a[e+8>>0]=a[49008+(k>>5)>>0]|0;k=k+f|0;a[e+9>>0]=a[49008+(k>>5)>>0]|0;k=k+f|0;a[e+10>>0]=a[49008+(k>>5)>>0]|0;k=k+f|0;a[e+11>>0]=a[49008+(k>>5)>>0]|0;k=k+f|0;a[e+12>>0]=a[49008+(k>>5)>>0]|0;k=k+f|0;a[e+13>>0]=a[49008+(k>>5)>>0]|0;k=k+f|0;a[e+14>>0]=a[49008+(k>>5)>>0]|0;a[e+15>>0]=a[49008+(k+f>>5)>>0]|0;l=l+m|0;k=l+b|0;a[e+16>>0]=a[49008+(k>>5)>>0]|0;k=k+f|0;a[e+17>>0]=a[49008+(k>>5)>>0]|0;k=k+f|0;a[e+18>>0]=a[49008+(k>>5)>>0]|0;k=k+f|0;a[e+19>>0]=a[49008+(k>>5)>>0]|0;k=k+f|0;a[e+20>>0]=a[49008+(k>>5)>>0]|0;k=k+f|0;a[e+21>>0]=a[49008+(k>>5)>>0]|0;k=k+f|0;a[e+22>>0]=a[49008+(k>>5)>>0]|0;a[e+23>>0]=a[49008+(k+f>>5)>>0]|0;l=l+m|0;k=l+b|0;a[e+24>>0]=a[49008+(k>>5)>>0]|0;k=k+f|0;a[e+25>>0]=a[49008+(k>>5)>>0]|0;k=k+f|0;a[e+26>>0]=a[49008+(k>>5)>>0]|0;k=k+f|0;a[e+27>>0]=a[49008+(k>>5)>>0]|0;k=k+f|0;a[e+28>>0]=a[49008+(k>>5)>>0]|0;k=k+f|0;a[e+29>>0]=a[49008+(k>>5)>>0]|0;k=k+f|0;a[e+30>>0]=a[49008+(k>>5)>>0]|0;a[e+31>>0]=a[49008+(k+f>>5)>>0]|0;l=l+m|0;k=l+b|0;a[e+32>>0]=a[49008+(k>>5)>>0]|0;k=k+f|0;a[e+33>>0]=a[49008+(k>>5)>>0]|0;k=k+f|0;a[e+34>>0]=a[49008+(k>>5)>>0]|0;k=k+f|0;a[e+35>>0]=a[49008+(k>>5)>>0]|0;k=k+f|0;a[e+36>>0]=a[49008+(k>>5)>>0]|0;k=k+f|0;a[e+37>>0]=a[49008+(k>>5)>>0]|0;k=k+f|0;a[e+38>>0]=a[49008+(k>>5)>>0]|0;a[e+39>>0]=a[49008+(k+f>>5)>>0]|0;l=l+m|0;k=l+b|0;a[e+40>>0]=a[49008+(k>>5)>>0]|0;k=k+f|0;a[e+41>>0]=a[49008+(k>>5)>>0]|0;k=k+f|0;a[e+42>>0]=a[49008+(k>>5)>>0]|0;k=k+f|0;a[e+43>>0]=a[49008+(k>>5)>>0]|0;k=k+f|0;a[e+44>>0]=a[49008+(k>>5)>>0]|0;k=k+f|0;a[e+45>>0]=a[49008+(k>>5)>>0]|0;k=k+f|0;a[e+46>>0]=a[49008+(k>>5)>>0]|0;a[e+47>>0]=a[49008+(k+f>>5)>>0]|0;b=l+m+b|0;a[e+48>>0]=a[49008+(b>>5)>>0]|0;l=b+f|0;a[e+49>>0]=a[49008+(l>>5)>>0]|0;l=l+f|0;a[e+50>>0]=a[49008+(l>>5)>>0]|0;l=l+f|0;a[e+51>>0]=a[49008+(l>>5)>>0]|0;l=l+f|0;a[e+52>>0]=a[49008+(l>>5)>>0]|0;l=l+f|0;a[e+53>>0]=a[49008+(l>>5)>>0]|0;l=l+f|0;a[e+54>>0]=a[49008+(l>>5)>>0]|0;a[e+55>>0]=a[49008+(l+f>>5)>>0]|0;m=b+m|0;a[e+56>>0]=a[49008+(m>>5)>>0]|0;m=m+f|0;a[e+57>>0]=a[49008+(m>>5)>>0]|0;m=m+f|0;a[e+58>>0]=a[49008+(m>>5)>>0]|0;m=m+f|0;a[e+59>>0]=a[49008+(m>>5)>>0]|0;m=m+f|0;a[e+60>>0]=a[49008+(m>>5)>>0]|0;m=m+f|0;a[e+61>>0]=a[49008+(m>>5)>>0]|0;m=m+f|0;a[e+62>>0]=a[49008+(m>>5)>>0]|0;a[e+63>>0]=a[49008+(m+f>>5)>>0]|0}}ag(e,n,o);f=o|1;ag(e,n+64|0,f);ag(e,n+128|0,f+1|0);ag(e,n+192|0,o|3);if(p>>>0<2){g=g+9|0;o=o+4|0;p=2;e=e+64|0;h=h+8|0;n=n+256|0}else{j=0;k=28;break}}if((k|0)==28)return j|0;return 0}function $f(a,b){a=a|0;b=b|0;if(!b)return 0;else return (c[a+4>>2]|0)==(c[b+4>>2]|0)|0;return 0}function ag(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=c[e>>2]|0;if((g|0)==16777215)return;m=f>>>0<16;k=m?16:8;m=m?f:f&3;b=b+(v(c[1928+(m<<2)>>2]|0,k)|0)+(c[1864+(m<<2)>>2]|0)|0;m=c[e+4>>2]|0;f=b+1|0;l=d[f>>0]|0;a[b>>0]=a[49008+(g+(d[b>>0]|0))>>0]|0;j=c[e+8>>2]|0;i=b+2|0;h=d[i>>0]|0;a[f>>0]=a[49008+(m+l)>>0]|0;f=b+3|0;l=a[49008+((c[e+12>>2]|0)+(d[f>>0]|0))>>0]|0;a[i>>0]=a[49008+(j+h)>>0]|0;a[f>>0]=l;b=b+k|0;f=c[e+20>>2]|0;l=b+1|0;i=d[l>>0]|0;a[b>>0]=a[49008+((c[e+16>>2]|0)+(d[b>>0]|0))>>0]|0;h=c[e+24>>2]|0;j=b+2|0;g=d[j>>0]|0;a[l>>0]=a[49008+(f+i)>>0]|0;l=b+3|0;i=a[49008+((c[e+28>>2]|0)+(d[l>>0]|0))>>0]|0;a[j>>0]=a[49008+(h+g)>>0]|0;a[l>>0]=i;b=b+k|0;l=c[e+36>>2]|0;i=b+1|0;j=d[i>>0]|0;a[b>>0]=a[49008+((c[e+32>>2]|0)+(d[b>>0]|0))>>0]|0;g=c[e+40>>2]|0;h=b+2|0;f=d[h>>0]|0;a[i>>0]=a[49008+(l+j)>>0]|0;i=b+3|0;j=a[49008+((c[e+44>>2]|0)+(d[i>>0]|0))>>0]|0;a[h>>0]=a[49008+(g+f)>>0]|0;a[i>>0]=j;b=b+k|0;k=c[e+52>>2]|0;i=b+1|0;j=d[i>>0]|0;a[b>>0]=a[49008+((c[e+48>>2]|0)+(d[b>>0]|0))>>0]|0;h=c[e+56>>2]|0;f=b+2|0;g=d[f>>0]|0;a[i>>0]=a[49008+(k+j)>>0]|0;b=b+3|0;e=a[49008+((c[e+60>>2]|0)+(d[b>>0]|0))>>0]|0;a[f>>0]=a[49008+(h+g)>>0]|0;a[b>>0]=e;return}function bg(a){a=a|0;return 4880+(a<<3)|0}function cg(a){a=a|0;return 4688+(a<<3)|0}function dg(a){a=a|0;return 4496+(a<<3)|0}function eg(a){a=a|0;return 4304+(a<<3)|0}function fg(a){a=a|0;return a+1&3|0}function gg(a){a=a|0;return (c[a+8>>2]|0)==0|0}function hg(a,b,d){a=a|0;b=b|0;d=d|0;if(d|0){b=ef(a,b)|0;return b|0}d=Ye(a,1)|0;c[b>>2]=d;if((d|0)==-1){b=1;return b|0}c[b>>2]=d^1;b=0;return b|0}function ig(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0;g=Dc;Dc=Dc+16|0;f=g;if(ef(a,f)|0){b=1;Dc=g;return b|0}f=c[f>>2]|0;if(f>>>0>47){b=1;Dc=g;return b|0}c[b>>2]=d[((e|0)==0?50502:50550)+f>>0];b=0;Dc=g;return b|0}function jg(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=bg(e)|0;e=cg(e)|0;h=a[g+4>>0]|0;i=a[e+4>>0]|0;e=(c[e>>2]|0)==4;if((c[g>>2]|0)==4){g=b[f+((h&255)<<1)>>1]|0;if(e){d=g+1+(b[f+((i&255)<<1)>>1]|0)>>1;return d|0}e=d+204|0;if(!($f(d,c[e>>2]|0)|0)){d=g;return d|0}d=g+1+(b[(c[e>>2]|0)+28+((i&255)<<1)>>1]|0)>>1;return d|0}if(e){e=b[f+((i&255)<<1)>>1]|0;g=d+200|0;if(!($f(d,c[g>>2]|0)|0)){d=e;return d|0}d=e+1+(b[(c[g>>2]|0)+28+((h&255)<<1)>>1]|0)>>1;return d|0}e=d+200|0;if(!($f(d,c[e>>2]|0)|0)){g=0;f=0}else{g=b[(c[e>>2]|0)+28+((h&255)<<1)>>1]|0;f=1}e=d+204|0;if(!($f(d,c[e>>2]|0)|0)){d=g;return d|0}else{d=b[(c[e>>2]|0)+28+((i&255)<<1)>>1]|0;return ((f|0)==0?d:g+1+d>>1)|0}return 0}function kg(a,b,f,g){a=a|0;b=b|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;S=Dc;Dc=Dc+128|0;Q=S+64|0;R=S;o=_e(a)|0;m=o>>>16;do if(f>>>0<2)if((o|0)>=0){if(o>>>0>201326591){n=e[41160+(o>>>26<<1)>>1]|0;J=25;break}if(o>>>0>16777215){n=e[41224+(o>>>22<<1)>>1]|0;J=25;break}if(o>>>0>2097151){n=e[41320+((o>>>18)+-8<<1)>>1]|0;J=25;break}else{n=e[41432+(m<<1)>>1]|0;J=25;break}}else p=1;else if(f>>>0<4){if((o|0)<0){p=(o&1073741824|0)==0?2082:2;break}if(o>>>0>268435455){n=e[41496+(o>>>26<<1)>>1]|0;J=25;break}if(o>>>0>33554431){n=e[41560+(o>>>23<<1)>>1]|0;J=25;break}else{n=e[41624+(o>>>18<<1)>>1]|0;J=25;break}}else{if(f>>>0<8){f=o>>>26;if((f+-8|0)>>>0<56){n=e[41880+(f<<1)>>1]|0;J=25;break}n=e[42008+(o>>>22<<1)>>1]|0;J=25;break}if(f>>>0<17){n=e[42264+(o>>>26<<1)>>1]|0;J=25;break}f=o>>>29;if(f|0){n=e[42392+(f<<1)>>1]|0;J=25;break}n=e[42408+(o>>>24<<1)>>1]|0;J=25;break}while(0);if((J|0)==25)if(!n){R=1;Dc=S;return R|0}else p=n;n=p&31;f=o<>>11;K=x&31;if(K>>>0>g>>>0){R=1;Dc=S;return R|0}v=p>>>5&63;do if(K){if(!v)n=0;else{do if(m>>>0>>0)if((jf(a,n)|0)==-1){R=1;Dc=S;return R|0}else{m=32;f=_e(a)|0;break}while(0);o=f>>>(32-v|0);f=f<>2]=(n&o|0)==0?1:-1;n=n>>>1;p=p+1|0}while((n|0)!=0);m=m-v|0;n=p}u=v>>>0<3;a:do if(n>>>0>>0){t=n;s=K>>>0>10&u&1;b:while(1){if(m>>>0<16){if((jf(a,32-m|0)|0)==-1){N=1;J=125;break}r=32;f=_e(a)|0}else r=m;do if((f|0)>=0)if(f>>>0<=1073741823)if(f>>>0<=536870911)if(f>>>0<=268435455)if(f>>>0<=134217727)if(f>>>0<=67108863)if(f>>>0<=33554431)if(f>>>0<=16777215)if(f>>>0<=8388607)if(f>>>0>4194303){H=9;J=59}else{if(f>>>0>2097151){H=10;J=59;break}if(f>>>0>1048575){H=11;J=59;break}if(f>>>0>524287){H=12;J=59;break}if(f>>>0>262143){H=13;J=59;break}if(f>>>0>131071){n=14;m=f<<15;o=r+-15|0;q=s;p=(s|0)==0?4:s}else{if((f&-65536|0)!=65536){N=1;J=125;break b}n=15;m=f<<16;o=r+-16|0;q=(s|0)==0?1:s;p=12}G=m;B=n<>>0>>0){if((jf(a,32-y|0)|0)==-1){N=1;J=125;break}f=32;m=_e(a)|0}else{f=y;m=G}E=f-w|0;F=m<>>(32-w|0))+B|0;C=z;D=q}s=u&(t|0)==(v|0)?A+2|0:A;n=(s+2|0)>>>1;o=D?1:C;c[Q+(t<<2)>>2]=(s&1|0)==0?n:0-n|0;t=t+1|0;if(t>>>0>=K>>>0){l=E;j=F;break a}else{m=E;f=F;s=o+(o>>>0<6&(n|0)>(3<>>0>>0){do if(l>>>0<9)if((jf(a,32-l|0)|0)==-1){R=1;Dc=S;return R|0}else{l=32;j=_e(a)|0;break}while(0);f=j>>>23;c:do if((g|0)==4)if((j|0)>=0)if((K|0)!=3)if(j>>>0>1073741823)k=18;else k=(K|0)==2?34:j>>>0>536870911?35:51;else k=17;else k=1;else{do switch(x&31){case 1:{if(j>>>0>268435455)k=d[49880+(j>>>27)>>0]|0;else{I=49912+f|0;J=91}break}case 2:{I=49944+(j>>>26)|0;J=91;break}case 3:{I=50008+(j>>>26)|0;J=91;break}case 4:{I=50072+(j>>>27)|0;J=91;break}case 5:{I=50104+(j>>>27)|0;J=91;break}case 6:{I=50136+(j>>>26)|0;J=91;break}case 7:{I=50200+(j>>>26)|0;J=91;break}case 8:{I=50264+(j>>>26)|0;J=91;break}case 9:{I=50328+(j>>>26)|0;J=91;break}case 10:{I=50392+(j>>>27)|0;J=91;break}case 11:{I=50424+(j>>>28)|0;J=91;break}case 12:{I=50440+(j>>>28)|0;J=91;break}case 13:{I=50456+(j>>>29)|0;J=91;break}case 14:{I=50464+(j>>>30)|0;J=91;break}default:{k=j>>31&16|1;break c}}while(0);if((J|0)==91)k=d[I>>0]|0;if(!k){R=1;Dc=S;return R|0}}while(0);g=k&15;l=l-g|0;j=j<>>4&15}else k=0;n=K+-1|0;if(!n){c[b+(k<<2)>>2]=c[Q+(n<<2)>>2];O=l;h=1<>2]=1;P=l;i=0}else{if(l>>>0<11){if((jf(a,32-l|0)|0)==-1){N=1;J=125;break}l=32;j=_e(a)|0}switch(f|0){case 1:{M=50468+(j>>>31)|0;J=117;break}case 2:{M=50470+(j>>>30)|0;J=117;break}case 3:{M=50474+(j>>>30)|0;J=117;break}case 4:{M=50478+(j>>>29)|0;J=117;break}case 5:{M=50486+(j>>>29)|0;J=117;break}case 6:{M=50494+(j>>>29)|0;J=117;break}default:{if(j>>>0<=536870911)if(j>>>0<=268435455)if(j>>>0<=134217727)if(j>>>0<=67108863)if(j>>>0<=33554431)if(j>>>0>16777215)k=184;else k=j>>>0>8388607?201:j>>>0>4194303?218:j>>>0<2097152?0:235;else k=167;else k=150;else k=133;else k=116;else k=112-(j>>>29<<4)|3;if((k>>>4&15)>>>0>f>>>0){N=1;J=125;break d}else L=k}}if((J|0)==117){J=0;L=d[M>>0]|0}if(!L){N=1;J=125;break}g=L&15;i=L>>>4&15;c[R+(m<<2)>>2]=i+1;P=l-g|0;j=j<>>0>=n>>>0){J=122;break}else{l=P;f=i}}if((J|0)==122){c[b+(i<<2)>>2]=c[Q+(n<<2)>>2];j=K+-2|0;h=1<>2]|0)+i|0;h=1<>2]=c[Q+(j<<2)>>2];if(!j){O=P;break}else j=j+-1|0}}else if((J|0)==125){Dc=S;return N|0}}else{O=m;h=0}while(0);R=(jf(a,32-O|0)|0)==0;R=R?h<<16|K<<4:1;Dc=S;return R|0}function lg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=c[a+1192>>2]|0;d=c[a+1200>>2]|0;a:do if(d){d=d+-1|0;if(d>>>0>b>>>0){f=c[a+1212>>2]|0;g=a+16|0;e=0;do{if((c[f+(d*216|0)+4>>2]|0)==(i|0)){e=e+1|0;h=c[(c[g>>2]|0)+52>>2]|0;if(e>>>0>=(h>>>0>10?h:10)>>>0)break a}d=d+-1|0}while(d>>>0>b>>>0)}}else d=b;while(0);b=a+1212|0;h=a+1172|0;g=a+1176|0;f=d;while(1){d=c[b>>2]|0;if((c[d+(f*216|0)+4>>2]|0)!=(i|0)){d=11;break}e=d+(f*216|0)+196|0;d=c[e>>2]|0;if(!d){d=11;break}c[e>>2]=d+-1;f=$e(c[h>>2]|0,c[g>>2]|0,f)|0;if(!f){d=11;break}}if((d|0)==11)return}function mg(a){a=a|0;switch(a|0){case 0:case 1:{a=1;break}case 3:case 2:{a=2;break}default:a=4}return a|0}function ng(a,b){a=a|0;b=b|0;var d=0;if((Ye(a,1)|0)==-1){b=1;return b|0}d=b+4|0;c[d>>2]=Ye(a,2)|0;a=Ye(a,5)|0;c[b>>2]=a;if((a+-2|0)>>>0<3){b=1;return b|0}switch(a|0){case 5:case 7:case 8:{if((a|0)==6|(c[d>>2]|0)==0){b=1;return b|0}break}case 6:case 9:case 10:case 11:case 12:{if(c[d>>2]|0){b=1;return b|0}break}default:{}}b=0;return b|0}function og(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;if(!d)return;k=0-b|0;o=b+-1|0;l=1-b|0;m=~b;i=0;j=0;n=0;while(1){g=(i|0)!=0;f=a+(j*216|0)|0;c[a+(j*216|0)+200>>2]=g?f+-216|0:0;h=(n|0)!=0;if(h){c[a+(j*216|0)+204>>2]=f+(k*216|0);e=i>>>0>>0?f+(l*216|0)|0:0}else{c[a+(j*216|0)+204>>2]=0;e=0}c[a+(j*216|0)+208>>2]=e;c[a+(j*216|0)+212>>2]=h&g?f+(m*216|0)|0:0;e=i+1|0;f=(e|0)==(b|0);j=j+1|0;if((j|0)==(d|0))break;else{i=f?0:e;n=n+(f&1)|0}}return}function pg(a){a=a|0;df(a,0,3388);c[a+8>>2]=32;c[a+4>>2]=256;c[a+1332>>2]=1;return}function qg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=c[b+8>>2]|0;g=a+20+(d<<2)|0;e=c[g>>2]|0;do if(!e){a=gf(92,1)|0;c[g>>2]=a;if(!a){a=65535;return a|0}}else{f=a+8|0;if((d|0)!=(c[f>>2]|0)){rg(c[e+40>>2]|0);c[(c[g>>2]|0)+40>>2]=0;rg(c[(c[g>>2]|0)+84>>2]|0);c[(c[g>>2]|0)+84>>2]=0;break}d=a+16|0;if(lf(b,c[d>>2]|0)|0){rg(c[(c[g>>2]|0)+40>>2]|0);c[(c[g>>2]|0)+40>>2]=0;rg(c[(c[g>>2]|0)+84>>2]|0);c[(c[g>>2]|0)+84>>2]=0;c[f>>2]=33;c[a+4>>2]=257;c[d>>2]=0;c[a+12>>2]=0;break}a=b+40|0;rg(c[a>>2]|0);c[a>>2]=0;a=b+84|0;rg(c[a>>2]|0);c[a>>2]=0;a=0;return a|0}while(0);e=c[g>>2]|0;d=e+92|0;do{c[e>>2]=c[b>>2];e=e+4|0;b=b+4|0}while((e|0)<(d|0));a=0;return a|0}function rg(a){a=a|0;Di(a);return}function sg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=c[b>>2]|0;g=a+148+(d<<2)|0;e=c[g>>2]|0;if(!e){a=gf(72,1)|0;c[g>>2]=a;if(!a){a=65535;return a|0}}else{f=a+4|0;if((d|0)==(c[f>>2]|0)){if((c[b+4>>2]|0)!=(c[a+8>>2]|0))c[f>>2]=257;rg(c[e+20>>2]|0);c[(c[g>>2]|0)+20>>2]=0;rg(c[(c[g>>2]|0)+24>>2]|0);c[(c[g>>2]|0)+24>>2]=0;rg(c[(c[g>>2]|0)+28>>2]|0);c[(c[g>>2]|0)+28>>2]=0;rg(c[(c[g>>2]|0)+44>>2]|0)}else{rg(c[e+20>>2]|0);c[(c[g>>2]|0)+20>>2]=0;rg(c[(c[g>>2]|0)+24>>2]|0);c[(c[g>>2]|0)+24>>2]=0;rg(c[(c[g>>2]|0)+28>>2]|0);c[(c[g>>2]|0)+28>>2]=0;rg(c[(c[g>>2]|0)+44>>2]|0)}c[(c[g>>2]|0)+44>>2]=0}e=c[g>>2]|0;d=e+72|0;do{c[e>>2]=c[b>>2];e=e+4|0;b=b+4|0}while((e|0)<(d|0));a=0;return a|0}function tg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=c[a+148+(b<<2)>>2]|0;n=m;if(!m){a=1;return a|0}o=c[m+4>>2]|0;p=a+20+(o<<2)|0;e=c[p>>2]|0;if(!e){a=1;return a|0}k=c[e+52>>2]|0;l=v(c[e+56>>2]|0,k)|0;g=c[m+12>>2]|0;a:do if(g>>>0>1){e=c[m+16>>2]|0;switch(e|0){case 0:{e=c[m+20>>2]|0;f=0;while(1){if((c[e+(f<<2)>>2]|0)>>>0>l>>>0){e=1;break}f=f+1|0;if(f>>>0>=g>>>0)break a}return e|0}case 2:{j=g+-1|0;g=c[m+24>>2]|0;h=c[m+28>>2]|0;i=0;while(1){e=c[g+(i<<2)>>2]|0;f=c[h+(i<<2)>>2]|0;if(!(e>>>0<=f>>>0&f>>>0>>0)){e=1;f=37;break}i=i+1|0;if(((e>>>0)%(k>>>0)|0)>>>0>((f>>>0)%(k>>>0)|0)>>>0){e=1;f=37;break}if(i>>>0>=j>>>0)break a}if((f|0)==37)return e|0;break}default:{if((e+-3|0)>>>0<3){if((c[m+36>>2]|0)>>>0>l>>>0)e=1;else break a;return e|0}if((e|0)!=6)break a;if((c[m+40>>2]|0)>>>0>>0)e=1;else break a;return e|0}}}while(0);f=a+4|0;e=c[f>>2]|0;do if((e|0)!=256){g=a+3380|0;if(!(c[g>>2]|0)){if((e|0)==(b|0))break;e=a+8|0;if((o|0)==(c[e>>2]|0)){c[f>>2]=b;c[a+12>>2]=n;break}if(!d){a=1;return a|0}else{c[f>>2]=b;c[a+12>>2]=m;c[e>>2]=o;q=c[p>>2]|0;c[a+16>>2]=q;b=c[q+52>>2]|0;q=c[q+56>>2]|0;c[a+1176>>2]=v(q,b)|0;c[a+1340>>2]=b;c[a+1344>>2]=q;c[g>>2]=1;break}}c[g>>2]=0;f=a+1212|0;rg(c[f>>2]|0);c[f>>2]=0;e=a+1172|0;rg(c[e>>2]|0);c[e>>2]=0;g=a+1176|0;c[f>>2]=gf(216,c[g>>2]|0)|0;b=gf(4,c[g>>2]|0)|0;c[e>>2]=b;e=c[f>>2]|0;if((b|0)==0|(e|0)==0){a=65535;return a|0}df(e,0,(c[g>>2]|0)*216|0);b=a+16|0;og(c[f>>2]|0,c[(c[b>>2]|0)+52>>2]|0,c[g>>2]|0);f=c[b>>2]|0;do if((c[a+1216>>2]|0)==0?(c[f+16>>2]|0)!=2:0){if((c[f+80>>2]|0?(q=c[f+84>>2]|0,c[q+920>>2]|0):0)?(c[q+944>>2]|0)==0:0){e=1;break}e=0}else e=1;while(0);q=v(c[f+56>>2]|0,c[f+52>>2]|0)|0;e=ug(a+1220|0,q,c[f+88>>2]|0,c[f+44>>2]|0,c[f+12>>2]|0,e)|0;if(e|0){a=e;return a|0}}else{c[f>>2]=b;c[a+12>>2]=m;c[a+8>>2]=o;e=c[p>>2]|0;c[a+16>>2]=e;f=c[e+52>>2]|0;do if(f){e=c[e+56>>2]|0;if(e>>>0>(4294967295/(f>>>0)|0)>>>0){a=65535;return a|0}else{c[a+1176>>2]=v(e,f)|0;break}}else{c[a+1176>>2]=0;e=c[e+56>>2]|0}while(0);c[a+1340>>2]=f;c[a+1344>>2]=e;c[a+3380>>2]=1}while(0);a=0;return a|0}function ug(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=c[a>>2]|0;if((h|0)!=0?(j=a+28|0,(c[j>>2]|0)!=-1):0){i=0;do{rg(c[h+(i*40|0)+4>>2]|0);h=c[a>>2]|0;c[h+(i*40|0)+4>>2]=0;i=i+1|0}while(i>>>0<((c[j>>2]|0)+1|0)>>>0)}rg(h);c[a>>2]=0;j=a+4|0;rg(c[j>>2]|0);c[j>>2]=0;j=a+12|0;rg(c[j>>2]|0);c[j>>2]=0;return vg(a,b,d,e,f,g)|0}function vg(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;if(b>>>0>11184810){a=65535;return a|0}c[a+36>>2]=65535;e=e>>>0>1?e:1;c[a+24>>2]=e;h=a+28|0;c[h>>2]=(g|0)==0?d:e;c[a+32>>2]=f;c[a+56>>2]=g;c[a+44>>2]=0;c[a+40>>2]=0;c[a+48>>2]=0;e=gf(40,17)|0;c[a>>2]=e;if(!e){a=65535;return a|0}df(e,0,680);a:do if((c[h>>2]|0)!=-1){d=b*384|47;g=0;while(1){f=gf(1,d)|0;e=c[a>>2]|0;c[e+(g*40|0)+4>>2]=f;if(!f){e=65535;break}c[e+(g*40|0)>>2]=f+(0-f&15);g=g+1|0;if(g>>>0>=((c[h>>2]|0)+1|0)>>>0)break a}return e|0}while(0);e=a+4|0;c[e>>2]=gf(4,17)|0;h=gf(16,(c[h>>2]|0)+1|0)|0;c[a+12>>2]=h;e=c[e>>2]|0;if((h|0)==0|(e|0)==0){a=65535;return a|0}df(e,0,68);c[a+20>>2]=0;c[a+16>>2]=0;a=0;return a|0}function wg(a){a=a|0;var b=0,d=0;c[a+1196>>2]=0;c[a+1192>>2]=0;d=c[a+1176>>2]|0;if(!d)return;a=c[a+1212>>2]|0;b=0;do{c[a+(b*216|0)+4>>2]=0;c[a+(b*216|0)+196>>2]=0;b=b+1|0}while(b>>>0>>0);return}function xg(a){a=a|0;return (c[a+1188>>2]|0)==0|0}function yg(a){a=a|0;var b=0,d=0,e=0;if(!(c[a+1404>>2]|0)){if((c[a+1196>>2]|0)==(c[a+1176>>2]|0)){e=1;return e|0}}else{e=c[a+1176>>2]|0;if(!e){e=1;return e|0}a=c[a+1212>>2]|0;b=0;d=0;do{d=d+((c[a+(b*216|0)+196>>2]|0)!=0&1)|0;b=b+1|0}while(b>>>0>>0);if((d|0)==(e|0)){e=1;return e|0}}e=0;return e|0}function zg(a,b){a=a|0;b=b|0;var d=0;d=c[a+16>>2]|0;Ag(c[a+1172>>2]|0,c[a+12>>2]|0,b,c[d+52>>2]|0,c[d+56>>2]|0);return} +function Di(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;if(!a)return;d=a+-8|0;if(c[14303]&2|0?hj(57216)|0:0)return;g=c[14196]|0;a=c[a+-4>>2]|0;b=a&-8;o=d+b|0;do if(!(a&1)){e=c[d>>2]|0;if(a&3|0?(i=d+(0-e)|0,j=e+b|0,i>>>0>=g>>>0):0){if((c[14197]|0)==(i|0)){a=o+4|0;b=c[a>>2]|0;if((b&3|0)!=3){n=i;f=j;l=i;h=32;break}c[14194]=j;c[a>>2]=b&-2;c[i+4>>2]=j|1;c[i+j>>2]=j;break}d=e>>>3;if(e>>>0<256){a=c[i+8>>2]|0;b=c[i+12>>2]|0;if((b|0)==(a|0)){c[14192]=c[14192]&~(1<>2]=b;c[b+8>>2]=a;n=i;f=j;l=i;h=32;break}}f=c[i+24>>2]|0;a=c[i+12>>2]|0;do if((a|0)==(i|0)){b=i+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){a=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0}else{n=c[i+8>>2]|0;c[n+12>>2]=a;c[a+8>>2]=n}while(0);if(f){b=c[i+28>>2]|0;d=57072+(b<<2)|0;if((c[d>>2]|0)==(i|0)){c[d>>2]=a;if(!a){c[14193]=c[14193]&~(1<>2]|0)==(i|0)?n:f+20|0)>>2]=a;if(!a){n=i;f=j;l=i;h=32;break}}c[a+24>>2]=f;b=i+16|0;d=c[b>>2]|0;if(d|0){c[a+16>>2]=d;c[d+24>>2]=a}b=c[b+4>>2]|0;if(b){c[a+20>>2]=b;c[b+24>>2]=a;n=i;f=j;l=i;h=32}else{n=i;f=j;l=i;h=32}}else{n=i;f=j;l=i;h=32}}}else{n=d;f=b;l=d;h=32}while(0);do if(((h|0)==32?l>>>0>>0:0)?(k=o+4|0,m=c[k>>2]|0,m&1|0):0){if(!(m&2)){if((c[14198]|0)==(o|0)){o=(c[14195]|0)+f|0;c[14195]=o;c[14198]=n;c[n+4>>2]=o|1;if((n|0)!=(c[14197]|0))break;c[14197]=0;c[14194]=0;break}if((c[14197]|0)==(o|0)){o=(c[14194]|0)+f|0;c[14194]=o;c[14197]=l;c[n+4>>2]=o|1;c[l+o>>2]=o;break}f=(m&-8)+f|0;d=m>>>3;do if(m>>>0<256){b=c[o+8>>2]|0;a=c[o+12>>2]|0;if((a|0)==(b|0)){c[14192]=c[14192]&~(1<>2]=a;c[a+8>>2]=b;break}}else{g=c[o+24>>2]|0;a=c[o+12>>2]|0;do if((a|0)==(o|0)){b=o+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){d=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0;d=a}else{d=c[o+8>>2]|0;c[d+12>>2]=a;c[a+8>>2]=d;d=a}while(0);if(g|0){a=c[o+28>>2]|0;b=57072+(a<<2)|0;if((c[b>>2]|0)==(o|0)){c[b>>2]=d;if(!d){c[14193]=c[14193]&~(1<>2]|0)==(o|0)?m:g+20|0)>>2]=d;if(!d)break}c[d+24>>2]=g;a=o+16|0;b=c[a>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}a=c[a+4>>2]|0;if(a|0){c[d+20>>2]=a;c[a+24>>2]=d}}}while(0);c[n+4>>2]=f|1;c[l+f>>2]=f;if((n|0)==(c[14197]|0)){c[14194]=f;break}}else{c[k>>2]=m&-2;c[n+4>>2]=f|1;c[l+f>>2]=f}a=f>>>3;if(f>>>0<256){d=56808+(a<<1<<2)|0;b=c[14192]|0;a=1<>2]|0}c[b>>2]=n;c[a+12>>2]=n;c[n+8>>2]=a;c[n+12>>2]=d;break}a=f>>>8;if(a)if(f>>>0>16777215)e=31;else{m=(a+1048320|0)>>>16&8;o=a<>>16&4;o=o<>>16&2;e=14-(l|m|e)+(o<>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;a=57072+(e<<2)|0;c[n+28>>2]=e;c[n+20>>2]=0;c[n+16>>2]=0;b=c[14193]|0;d=1<>2]=n;c[n+24>>2]=a;c[n+12>>2]=n;c[n+8>>2]=n}else{a=c[a>>2]|0;b:do if((c[a+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=a+16+(e>>>31<<2)|0;b=c[d>>2]|0;if(!b)break;if((c[b+4>>2]&-8|0)==(f|0)){a=b;break b}else{e=e<<1;a=b}}c[d>>2]=n;c[n+24>>2]=a;c[n+12>>2]=n;c[n+8>>2]=n;break a}while(0);m=a+8|0;o=c[m>>2]|0;c[o+12>>2]=n;c[m>>2]=n;c[n+8>>2]=o;c[n+12>>2]=a;c[n+24>>2]=0}while(0);o=(c[14200]|0)+-1|0;c[14200]=o;if(!o){a=57252;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[14200]=-1}}while(0);if(!(c[14303]&2))return;ej(57216)|0;return}function Ei(a,b){a=a|0;b=b|0;var d=0;if(a){d=v(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;a=Ci(d)|0;if(!a)return a|0;if(!(c[a+-4>>2]&3))return a|0;zl(a|0,0,d|0)|0;return a|0}function Fi(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0;a=Al()|0;if(!(c[a+60>>2]|0))return;g=a+116|0;e=0;do{f=0;a=0;do{b=(c[g>>2]|0)+(f<<2)|0;d=c[b>>2]|0;if((d|0)!=0?(h=55024+(f<<2)|0,(uc(c,h>>2)|0)!=0):0){c[b>>2]=0;Wc[(uc(c,h>>2)|0)&31](d);a=1}f=f+1|0}while((f|0)!=128);e=e+1|0}while(e>>>0<4&(a|0)!=0);return}function Gi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;if(!b)N(53223,53228,348,53466);switch(a|0){case 0:{N(53504,53228,355,53466);break}case 1:{i=c[14319]|0;break}default:i=a}if((i|0)!=2?(i|0)!=(Al()|0):0){hj(57284)|0;if(!i)N(53315,53228,276,53322);a=c[14328]|0;e=(a|0)==0;a:do if(e)f=15;else{d=a;while(1){if((c[d>>2]|0)==(i|0))break a;d=c[d+16>>2]|0;if(!d){f=15;break}}}while(0);if((f|0)==15){f=Ci(20)|0;c[f>>2]=i;h=f+4|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;if(e)a=57312;else{while(1){d=c[a+16>>2]|0;if(!d)break;else a=d}a=a+16|0}c[a>>2]=f;d=f}h=d+4|0;if(!(c[h>>2]|0))c[h>>2]=Ci(512)|0;f=d+8|0;a=uc(c,f>>2)|0;g=d+12|0;e=uc(c,g>>2)|0;d=(e+1|0)%128|0;b:do if((d|0)==(a|0)){while(1){ej(57284)|0;if((i|0)!=(c[14319]|0))break;Ta(f|0,a|0,r)|0;hj(57284)|0;a=uc(c,f>>2)|0;e=uc(c,g>>2)|0;d=(e+1|0)%128|0;if((d|0)!=(a|0))break b}Di(c[b+112>>2]|0);Di(b);return}while(0);c[(c[h>>2]|0)+(e<<2)>>2]=b;do if((a|0)==(e|0)){if((i|0)==(c[14319]|0)){Qa(0)|0;break}if(!(Ra(1,i|0)|0)){Di(c[b+112>>2]|0);Di(b);ej(57284)|0;return}}while(0);vc(c,g>>2,d)|0;ej(57284)|0;return}dj(b);return}function Hi(a,b,d,e,h){a=a|0;b=b|0;d=d|0;e=e|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0.0;l=Dc;Dc=Dc+16|0;i=l;j=b>>>25&15;k=Ci(120)|0;if(!k)N(53223,53228,175,53293);c[k+8>>2]=0;c[k+12>>2]=0;c[k>>2]=b;c[k+4>>2]=d;c[k+112>>2]=e;c[i>>2]=h;if(!j){j=k+116|0;c[j>>2]=1;Gi(a,k);Dc=l;return}e=0;d=b&33554431;a:while(1){switch(d&3){case 0:{h=(c[i>>2]|0)+(4-1)&~(4-1);b=c[h>>2]|0;c[i>>2]=h+4;c[k+16+(e<<3)>>2]=b;break}case 1:{b=(c[i>>2]|0)+(8-1)&~(8-1);h=b;m=c[h>>2]|0;h=c[h+4>>2]|0;c[i>>2]=b+8;b=k+16+(e<<3)|0;c[b>>2]=m;c[b+4>>2]=h;break}case 2:{m=(c[i>>2]|0)+(8-1)&~(8-1);n=+g[m>>3];c[i>>2]=m+8;f[k+16+(e<<3)>>2]=n;break}case 3:{m=(c[i>>2]|0)+(8-1)&~(8-1);n=+g[m>>3];c[i>>2]=m+8;g[k+16+(e<<3)>>3]=n;break}default:{d=11;break a}}e=e+1|0;if(e>>>0>=j>>>0){d=5;break}else d=d>>>2}if((d|0)==5){m=k+116|0;c[m>>2]=1;Gi(a,k);Dc=l;return}}function Ii(a){a=a|0;Gi(c[14319]|0,a);return}function Ji(){var a=0,b=0,d=0,e=0,f=0;do if(tl()|0)if(!(c[14320]|0)){c[14320]=1;break}else return;while(0);hj(57284)|0;b=Al()|0;if(!b)N(53315,53228,276,53322);a=c[14328]|0;a:do if(a|0){while(1){if((c[a>>2]|0)==(b|0))break;a=c[a+16>>2]|0;if(!a)break a}e=a+8|0;b=uc(c,e>>2)|0;f=a+12|0;d=(b|0)==(uc(c,f>>2)|0);ej(57284)|0;if(!d){d=a+4|0;a=b;do{dj(c[(c[d>>2]|0)+(a<<2)>>2]|0);hj(57284)|0;a=(a+1|0)%128|0;vc(c,e>>2,a)|0;b=(a|0)==(uc(c,f>>2)|0);ej(57284)|0}while(!b)}Ua(e|0,2147483647)|0;if(!(tl()|0))return;c[14320]=0;return}while(0);ej(57284)|0;if(!(tl()|0))return;c[14320]=0;return}function Ki(){return c[14319]|0}function Li(){if(!(tl()|0))return;Ji();return}function Mi(a){a=a|0;c[14319]=a;return}function Ni(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0.0;i=Dc;Dc=Dc+128|0;h=i;if(e|0){e=h+8|0;f=e+112|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c[h>>2]=b<<25;c[h+4>>2]=a;c[h+12>>2]=1;if((b|0)>0)xl(h+16|0,d|0,b<<3|0)|0;Gi(c[14319]|0,h);cj(h,r)|0;j=+g[h+104>>3];Dc=i;return +j}e=Ci(120)|0;if(!e)N(53223,53228,175,53293);c[e+8>>2]=0;c[e+112>>2]=0;c[e>>2]=b<<25;c[e+4>>2]=a;c[e+12>>2]=1;if((b|0)>0)xl(e+16|0,d|0,b<<3|0)|0;c[e+116>>2]=1;Gi(c[14319]|0,e);j=0.0;Dc=i;return +j}function Oi(a){a=a|0;Gi(c[14319]|0,a);cj(a,r)|0;return}function Pi(a){a=a|0;var b=0,d=0,e=0,f=0;e=Dc;Dc=Dc+128|0;b=e;d=b;f=d+120|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(f|0));c[b>>2]=a;f=b+104|0;c[f>>2]=0;Gi(c[14319]|0,b);cj(b,r)|0;Dc=e;return c[f>>2]|0}function Qi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=Dc;Dc=Dc+128|0;d=f;e=d;g=e+120|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(g|0));c[d>>2]=a;c[d+16>>2]=b;g=d+104|0;c[g>>2]=0;Gi(c[14319]|0,d);cj(d,r)|0;Dc=f;return c[g>>2]|0}function Ri(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=Dc;Dc=Dc+128|0;e=g;f=e;h=f+120|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e>>2]=a;c[e+16>>2]=b;c[e+24>>2]=d;h=e+104|0;c[h>>2]=0;Gi(c[14319]|0,e);cj(e,r)|0;Dc=g;return c[h>>2]|0}function Si(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=Dc;Dc=Dc+128|0;f=h;g=f;i=g+120|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(i|0));c[f>>2]=a;c[f+16>>2]=b;c[f+24>>2]=d;c[f+32>>2]=e;i=f+104|0;c[i>>2]=0;Gi(c[14319]|0,f);cj(f,r)|0;Dc=h;return c[i>>2]|0}function Ti(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=Dc;Dc=Dc+128|0;g=i;h=g;j=h+120|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(j|0));c[g>>2]=a;c[g+16>>2]=b;c[g+24>>2]=d;c[g+32>>2]=e;c[g+40>>2]=f;j=g+104|0;c[j>>2]=0;Gi(c[14319]|0,g);cj(g,r)|0;Dc=i;return c[j>>2]|0}function Ui(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;j=Dc;Dc=Dc+128|0;h=j;i=h;k=i+120|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(k|0));c[h>>2]=a;c[h+16>>2]=b;c[h+24>>2]=d;c[h+32>>2]=e;c[h+40>>2]=f;c[h+48>>2]=g;k=h+104|0;c[k>>2]=0;Gi(c[14319]|0,h);cj(h,r)|0;Dc=j;return c[k>>2]|0}function Vi(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;k=Dc;Dc=Dc+128|0;i=k;j=i;l=j+120|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0));c[i>>2]=a;c[i+16>>2]=b;c[i+24>>2]=d;c[i+32>>2]=e;c[i+40>>2]=f;c[i+48>>2]=g;c[i+56>>2]=h;l=i+104|0;c[l>>2]=0;Gi(c[14319]|0,i);cj(i,r)|0;Dc=k;return c[l>>2]|0}function Wi(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0;l=Dc;Dc=Dc+128|0;j=l;k=j;m=k+120|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(m|0));c[j>>2]=a;c[j+16>>2]=b;c[j+24>>2]=d;c[j+32>>2]=e;c[j+40>>2]=f;c[j+48>>2]=g;c[j+56>>2]=h;c[j+64>>2]=i;m=j+104|0;c[m>>2]=0;Gi(c[14319]|0,j);cj(j,r)|0;Dc=l;return c[m>>2]|0}function Xi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=Dc;Dc=Dc+272|0;f=j+128|0;h=j;i=j+144|0;c[f>>2]=e;k=$h(h,128,d,f)|0;g=k+1|0;if((k|0)>127){k=Ci(g)|0;c[f>>2]=e;$h(k,g,d,f)|0;g=k}else g=h;d=i;f=d+120|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(f|0));c[i>>2]=a;c[i+16>>2]=b;c[i+24>>2]=g;d=i+104|0;c[d>>2]=0;Gi(c[14319]|0,i);cj(i,r)|0;if((g|0)==(h|0)){k=c[d>>2]|0;Dc=j;return k|0}Di(g);k=c[d>>2]|0;Dc=j;return k|0}function Yi(a,b){a=a|0;b=b|0;var d=0,e=0;e=Dc;Dc=Dc+48|0;d=e+4|0;if(!(Za()|0)){d=O(c[14317]|0,c[14318]|0)|0;Dc=e;return d|0}Zi(d)|0;_i(d,0)|0;$i(d,131072)|0;if(Qa(2)|0)c[d+36>>2]=53160;c[14317]=a;c[14318]=b;if(!(rb(e|0,d|0,7,57268)|0)){Qa(3)|0;a=0}else a=O(c[14317]|0,c[14318]|0)|0;d=a;Dc=e;return d|0}function Zi(a){a=a|0;var b=0,d=0,e=0,f=0;e=Dc;Dc=Dc+48|0;b=e;d=b;f=d+44|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(f|0));d=a;f=d+44|0;do{c[d>>2]=c[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(f|0));Dc=e;return 0}function _i(a,b){a=a|0;b=b|0;if(b>>>0>1)a=22;else{c[a+12>>2]=b;a=0}return a|0}function $i(a,b){a=a|0;b=b|0;if((b+-2048|0)>>>0>1073741823){b=22;return b|0}c[a+8>>2]=0;c[a>>2]=b+-81920;b=0;return b|0}function aj(a){a=a|0;wl(Al()|0,53199);return O(c[a>>2]|0,c[a+4>>2]|0)|0}function bj(a){a=a|0;return 0}function cj(a,b){a=a|0;b=+b;var d=0.0,e=0;e=a+8|0;a=uc(c,e>>2)|0;if(a|0){e=a;e=(e|0)==0;e=e?-8:0;return e|0}d=+Xa();b=d+b;vl(5);if(d>2)|0;d=+Xa()}while((a|0)==0&d>2]|0)){b=c[a>>2]|0;if((b&402653184|0)==402653184)N(53331,53228,202,53406);if((b|0)<268435456){if((b|0)<100663338){if((b|0)>=67108872){if((b|0)<100663296)switch(b|0){case 67108872:{Xc[c[a+4>>2]&0](c[a+16>>2]|0,+f[a+24>>2]);break a}case 67108874:{Tc[c[a+4>>2]&0](+f[a+16>>2],+f[a+24>>2]);break a}default:N(53415,53228,241,53406)}switch(b|0){case 100663296:{cd[c[a+4>>2]&7](c[a+16>>2]|0,c[a+24>>2]|0,c[a+32>>2]|0);break a}case 100663328:{ad[c[a+4>>2]&0](c[a+16>>2]|0,c[a+24>>2]|0,+f[a+32>>2]);break a}case 100663336:{Yc[c[a+4>>2]&0](c[a+16>>2]|0,+f[a+24>>2],+f[a+32>>2]);break a}default:N(53415,53228,241,53406)}}if((b|0)<33554434)if((b|0)<33554432)switch(b|0){case 0:{Rc[c[a+4>>2]&3]();break a}default:N(53415,53228,241,53406)}else switch(b|0){case 33554432:{Wc[c[a+4>>2]&31](c[a+16>>2]|0);break a}default:N(53415,53228,241,53406)}else if((b|0)<67108864)switch(b|0){case 33554434:{Sc[c[a+4>>2]&0](+f[a+16>>2]);break a}default:N(53415,53228,241,53406)}else switch(b|0){case 67108864:{$c[c[a+4>>2]&31](c[a+16>>2]|0,c[a+24>>2]|0);break a}default:N(53415,53228,241,53406)}}if((b|0)<134217898){if((b|0)>=134217760)switch(b|0){case 134217760:{bd[c[a+4>>2]&0](c[a+16>>2]|0,c[a+24>>2]|0,+f[a+32>>2],c[a+40>>2]|0);break a}case 134217896:{Zc[c[a+4>>2]&0](c[a+16>>2]|0,+f[a+24>>2],+f[a+32>>2],+f[a+40>>2]);break a}default:N(53415,53228,241,53406)}if((b|0)<134217728)switch(b|0){case 100663338:{Uc[c[a+4>>2]&0](+f[a+16>>2],+f[a+24>>2],+f[a+32>>2]);break a}default:N(53415,53228,241,53406)}else switch(b|0){case 134217728:{dd[c[a+4>>2]&7](c[a+16>>2]|0,c[a+24>>2]|0,c[a+32>>2]|0,c[a+40>>2]|0);break a}default:N(53415,53228,241,53406)}}if((b|0)<167772840)if((b|0)<167772160)switch(b|0){case 134217898:{Vc[c[a+4>>2]&0](+f[a+16>>2],+f[a+24>>2],+f[a+32>>2],+f[a+40>>2]);break a}default:N(53415,53228,241,53406)}else switch(b|0){case 167772160:{ed[c[a+4>>2]&7](c[a+16>>2]|0,c[a+24>>2]|0,c[a+32>>2]|0,c[a+40>>2]|0,c[a+48>>2]|0);break a}default:N(53415,53228,241,53406)}if((b|0)<201326592)switch(b|0){case 167772840:{_c[c[a+4>>2]&0](c[a+16>>2]|0,+f[a+24>>2],+f[a+32>>2],+f[a+40>>2],+f[a+48>>2]);break a}default:N(53415,53228,241,53406)}if((b|0)<234881024)switch(b|0){case 201326592:{fd[c[a+4>>2]&3](c[a+16>>2]|0,c[a+24>>2]|0,c[a+32>>2]|0,c[a+40>>2]|0,c[a+48>>2]|0,c[a+56>>2]|0);break a}default:N(53415,53228,241,53406)}else switch(b|0){case 234881024:{gd[c[a+4>>2]&0](c[a+16>>2]|0,c[a+24>>2]|0,c[a+32>>2]|0,c[a+40>>2]|0,c[a+48>>2]|0,c[a+56>>2]|0,c[a+64>>2]|0);break a}default:N(53415,53228,241,53406)}}if((b|0)<637534208){if((b|0)<536870912)if((b|0)<335544320)if((b|0)<301989888)switch(b|0){case 268435456:{hd[c[a+4>>2]&0](c[a+16>>2]|0,c[a+24>>2]|0,c[a+32>>2]|0,c[a+40>>2]|0,c[a+48>>2]|0,c[a+56>>2]|0,c[a+64>>2]|0,c[a+72>>2]|0);break a}default:N(53415,53228,241,53406)}else switch(b|0){case 301989888:{id[c[a+4>>2]&0](c[a+16>>2]|0,c[a+24>>2]|0,c[a+32>>2]|0,c[a+40>>2]|0,c[a+48>>2]|0,c[a+56>>2]|0,c[a+64>>2]|0,c[a+72>>2]|0,c[a+80>>2]|0);break a}default:N(53415,53228,241,53406)}else if((b|0)<369098752)switch(b|0){case 335544320:{jd[c[a+4>>2]&0](c[a+16>>2]|0,c[a+24>>2]|0,c[a+32>>2]|0,c[a+40>>2]|0,c[a+48>>2]|0,c[a+56>>2]|0,c[a+64>>2]|0,c[a+72>>2]|0,c[a+80>>2]|0,c[a+88>>2]|0);break a}default:N(53415,53228,241,53406)}else switch(b|0){case 369098752:{kd[c[a+4>>2]&0](c[a+16>>2]|0,c[a+24>>2]|0,c[a+32>>2]|0,c[a+40>>2]|0,c[a+48>>2]|0,c[a+56>>2]|0,c[a+64>>2]|0,c[a+72>>2]|0,c[a+80>>2]|0,c[a+88>>2]|0,c[a+96>>2]|0);break a}default:N(53415,53228,241,53406)}if((b|0)<603979776)if((b|0)<570425344)switch(b|0){case 536870912:{c[a+104>>2]=Gc[c[a+4>>2]&0]()|0;break a}default:N(53415,53228,241,53406)}else switch(b|0){case 570425344:{c[a+104>>2]=Hc[c[a+4>>2]&7](c[a+16>>2]|0)|0;break a}default:N(53415,53228,241,53406)}if((b|0)<621805568)switch(b|0){case 603979776:{c[a+104>>2]=Jc[c[a+4>>2]&3](c[a+16>>2]|0,c[a+24>>2]|0)|0;break a}default:N(53415,53228,241,53406)}if((b|0)<622854144)switch(b|0){case 621805568:{c[a+104>>2]=lb(c[a+16>>2]|0,c[a+24>>2]|0)|0;break a}default:N(53415,53228,241,53406)}else switch(b|0){case 622854144:{c[a+104>>2]=mb(c[a+16>>2]|0,c[a+24>>2]|0)|0;break a}default:N(53415,53228,241,53406)}}else{if((b|0)<704643072)if((b|0)<671088640)if((b|0)<657457152)switch(b|0){case 637534208:{c[a+104>>2]=Kc[c[a+4>>2]&7](c[a+16>>2]|0,c[a+24>>2]|0,c[a+32>>2]|0)|0;break a}default:N(53415,53228,241,53406)}else switch(b|0){case 657457152:{c[a+104>>2]=eb(c[a+16>>2]|0,c[a+24>>2]|0,c[a+32>>2]|0)|0;break a}default:N(53415,53228,241,53406)}else if((b|0)<687865856)switch(b|0){case 671088640:{c[a+104>>2]=Lc[c[a+4>>2]&1](c[a+16>>2]|0,c[a+24>>2]|0,c[a+32>>2]|0,c[a+40>>2]|0)|0;break a}default:N(53415,53228,241,53406)}else switch(b|0){case 687865856:{c[a+104>>2]=rb(c[a+16>>2]|0,c[a+24>>2]|0,c[a+32>>2]|0,c[a+40>>2]|0)|0;break a}default:N(53415,53228,241,53406)}if((b|0)<771751936)if((b|0)<738197504)switch(b|0){case 704643072:{c[a+104>>2]=Mc[c[a+4>>2]&0](c[a+16>>2]|0,c[a+24>>2]|0,c[a+32>>2]|0,c[a+40>>2]|0,c[a+48>>2]|0)|0;break a}default:N(53415,53228,241,53406)}else switch(b|0){case 738197504:{c[a+104>>2]=Nc[c[a+4>>2]&0](c[a+16>>2]|0,c[a+24>>2]|0,c[a+32>>2]|0,c[a+40>>2]|0,c[a+48>>2]|0,c[a+56>>2]|0)|0;break a}default:N(53415,53228,241,53406)}if((b|0)<805306368)switch(b|0){case 771751936:{c[a+104>>2]=Oc[c[a+4>>2]&0](c[a+16>>2]|0,c[a+24>>2]|0,c[a+32>>2]|0,c[a+40>>2]|0,c[a+48>>2]|0,c[a+56>>2]|0,c[a+64>>2]|0)|0;break a}default:N(53415,53228,241,53406)}if((b|0)<838860800)switch(b|0){case 805306368:{c[a+104>>2]=Pc[c[a+4>>2]&0](c[a+16>>2]|0,c[a+24>>2]|0,c[a+32>>2]|0,c[a+40>>2]|0,c[a+48>>2]|0,c[a+56>>2]|0,c[a+64>>2]|0,c[a+72>>2]|0)|0;break a}default:N(53415,53228,241,53406)}else switch(b|0){case 838860800:{c[a+104>>2]=Qc[c[a+4>>2]&0](c[a+16>>2]|0,c[a+24>>2]|0,c[a+32>>2]|0,c[a+40>>2]|0,c[a+48>>2]|0,c[a+56>>2]|0,c[a+64>>2]|0,c[a+72>>2]|0,c[a+80>>2]|0)|0;break a}default:N(53415,53228,241,53406)}}}else g[a+104>>3]=+cb(c[a+4>>2]|0,(c[a>>2]|0)>>>25&15|0,a+16|0);while(0);if(!(c[a+116>>2]|0)){b=a+8|0;c[b>>2]=1;Ua(b|0,2147483647)|0;return}else{Di(c[a+112>>2]|0);Di(a);return}}function ej(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=uc(c,a+8>>2)|0;g=c[a>>2]|0;i=g&128^128;j=(g&15|0)==0;if(!j){f=Al()|0;e=a+4|0;k=(uc(c,e>>2)|0)&2147483647;if((k|0)!=(c[f+52>>2]|0)){k=1;return k|0}if((g&3|0)==1?(b=a+20|0,d=c[b>>2]|0,d|0):0){c[b>>2]=d+-1;k=0;return k|0}b=a+16|0;if(!i){vc(c,f+176>>2,b)|0;fj()}d=c[a+12>>2]|0;b=c[b>>2]|0;vc(c,d>>2,b)|0;if((b|0)!=(f+168|0))vc(c,b+-4>>2,d)|0}else{f=0;e=a+4|0}b=(g&8|0)==0?0:2147483647;do d=uc(c,e>>2)|0;while((xc(c,e>>2,d,b)|0)!=(d|0));if(!(j|(i|0)!=0)){vc(c,f+176>>2,0)|0;gj()}if(!((h|0)!=0|(d|0)<0)){k=0;return k|0}Ua(e|0,1)|0;k=0;return k|0}function fj(){yc(c,14329,1)|0;return}function gj(){if((yc(c,14329,-1)|0)!=1)return;if(!(uc(c,14330)|0))return;Ua(57316,2147483647)|0;return}function hj(a){a=a|0;if((c[a>>2]&15|0)==0?(xc(c,a+4>>2,0,16)|0)==0:0){a=0;return a|0}a=ij(a,0)|0;return a|0}function ij(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=c[a>>2]|0;do if(!(d&15))if(!(xc(c,a+4>>2,0,16)|0)){b=0;return b|0}else{d=c[a>>2]|0;break}while(0);g=d&128^128;d=nj(a)|0;if((d|0)!=16){b=d;return b|0}e=a+4|0;f=a+8|0;d=99;while(1){if(!(uc(c,e>>2)|0))break;if(uc(c,f>>2)|0)break;if(!d)break;else d=d+-1|0}d=nj(a)|0;if((d|0)!=16){b=d;return b|0}while(1){d=uc(c,e>>2)|0;if(d|0?(h=c[a>>2]|0,(d&1073741824|0)==0|(h&4|0)==0):0){if((h&3|0)==2?(d&2147483647|0)==(c[(Al()|0)+52>>2]|0):0){d=35;e=17;break}yc(c,f>>2,1)|0;i=d|-2147483648;xc(c,e>>2,d,i)|0;d=jj(e,i,0,b,g)|0;zc(c,f>>2,1)|0;if((d|4|0)!=4){e=17;break}}d=nj(a)|0;if((d|0)!=16){e=17;break}}if((e|0)==17)return d|0;return 0}function jj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=Dc;Dc=Dc+16|0;h=g;kj(1,h)|0;sl(1,4);f=lj(a,b,d,e,f)|0;sl(4,1);kj(c[h>>2]|0,0)|0;Dc=g;return f|0}function kj(a,b){a=a|0;b=b|0;var d=0;if(a>>>0>2){b=22;return b|0}d=(Al()|0)+72|0;if(b|0)c[b>>2]=uc(c,d>>2)|0;vc(c,d>>2,a)|0;b=0;return b|0}function lj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,h=0.0,i=0,j=0,k=0,l=0,m=0.0;k=Dc;Dc=Dc+16|0;j=k;do if(e){f=e+4|0;if((c[f>>2]|0)>>>0>999999999){l=22;Dc=k;return l|0}if(P(d|0,j|0)|0){l=22;Dc=k;return l|0}d=(c[e>>2]|0)-(c[j>>2]|0)|0;c[j>>2]=d;i=j+4|0;f=(c[f>>2]|0)-(c[i>>2]|0)|0;c[i>>2]=f;e=d+-1|0;if((f|0)<0){f=f+1e9|0;c[j>>2]=e;c[i>>2]=f;d=e}if((d|0)<0){l=110;Dc=k;return l|0}else{g=+(f|0)/1.0e6+ +(d*1e3|0);break}}else g=r;while(0);a:do if(!(tl()|0)){if((uc(c,(Al()|0)+76>>2)|0)!=1){l=0-(Ta(a|0,b|0,+g)|0)|0;break}h=g+ +Xa();while(1){if(mj(Al()|0)|0){f=125;d=21;break}g=h-+Xa();if(g<=0.0){f=110;d=21;break}f=0-(Ta(a|0,b|0,+(g>100.0?100.0:g))|0)|0;if((f|0)!=110){l=f;break a}}if((d|0)==21){Dc=k;return f|0}}else{h=g+ +Xa();while(1){if(mj(Al()|0)|0){f=125;d=21;break}Li();m=h-+Xa();g=m>100.0?100.0:m;if(m<=0.0){f=110;d=21;break}f=0-(Ta(a|0,b|0,+(g>1.0?1.0:g))|0)|0;if((f|0)!=110){l=f;break a}}if((d|0)==21){Dc=k;return f|0}}while(0);switch(l|0){case 4:case 110:case 125:{Dc=k;return l|0}default:{}}l=0;Dc=k;return l|0}function mj(a){a=a|0;return (c[a>>2]|0)==2|0}function nj(a){a=a|0;if(!(c[a>>2]&15)){a=(xc(c,a+4>>2,0,16)|0)&16;return a|0}else{a=oj(a)|0;return a|0}return 0}function oj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=c[a>>2]|0;k=Al()|0;b=c[k+52>>2]|0;h=a+4|0;i=uc(c,h>>2)|0;e=i&2147483647;if((f&3|0)==1&(e|0)==(b|0)){b=a+20|0;d=c[b>>2]|0;if(d>>>0>2147483646){k=11;return k|0}c[b>>2]=d+1;k=0;return k|0}if((e|0)==2147483647){k=131;return k|0}if(c[a>>2]&128){d=k+172|0;if(!(c[d>>2]|0))c[d>>2]=-12;g=(uc(c,a+8>>2)|0)==0;vc(c,k+176>>2,a+16|0)|0;b=g?b:b|-2147483648}g=(e|0)!=0;if(!(g?(f&4|0)==0|(i&1073741824|0)==0:0))j=11;if((j|0)==11?(xc(c,h>>2,i,b)|0)==(i|0):0){b=k+168|0;d=uc(c,b>>2)|0;e=a+16|0;c[e>>2]=d;c[a+12>>2]=b;if((d|0)!=(b|0))vc(c,d+-4>>2,e)|0;vc(c,b>>2,e)|0;vc(c,k+176>>2,0)|0;if(!g){k=0;return k|0}c[a+20>>2]=0;c[a>>2]=c[a>>2]|8;k=130;return k|0}vc(c,k+176>>2,0)|0;k=16;return k|0}function pj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0;g=(b|0)==0;a:do if(g){e=99;while(1){if((uc(c,a>>2)|0)!=(d|0))break;if(!e){e=9;break a}else e=e+-1|0}return}else{e=99;while(1){if(uc(c,b>>2)|0){e=10;break a}if((uc(c,a>>2)|0)!=(d|0))break;if(!e){e=9;break a}else e=e+-1|0}return}while(0);if((e|0)==9)if(g)g=0;else e=10;if((e|0)==10){yc(c,b>>2,1)|0;g=1}e=ul()|0;b:do if((uc(c,a>>2)|0)==(d|0)){e=(e|0)!=0;f=e?1.0:100.0;c:do if(e)while(1){if((uc(c,(Al()|0)+76>>2)|0)==1)do{if(mj(Al()|0)|0)break c;Li()}while((Ta(a|0,d|0,+f)|0)==-110);else Ta(a|0,d|0,r)|0;if((uc(c,a>>2)|0)!=(d|0))break b}else while(1){if((uc(c,(Al()|0)+76>>2)|0)==1)do if(mj(Al()|0)|0)break c;while((Ta(a|0,d|0,+f)|0)==-110);else Ta(a|0,d|0,r)|0;if((uc(c,a>>2)|0)!=(d|0))break b}while(0);if(!g)return;zc(c,b>>2,1)|0;return}while(0);if(!g)return;zc(c,b>>2,1)|0;return}function qj(a,b){a=a|0;b=b|0;var d=0;a:while(1){switch(xc(c,a>>2,0,1)|0){case 0:break a;case 2:{d=10;break a}case 1:{xc(c,a>>2,1,3)|0;d=9;break}case 3:{d=9;break}default:{}}if((d|0)==9){d=0;pj(a,0,3,1)}}if((d|0)==10)return 0;qb(27,a|0);Rc[b&3]();pb(0);do b=uc(c,a>>2)|0;while((xc(c,a>>2,b,2)|0)!=(b|0));if((b|0)!=3)return 0;Ua(a|0,2147483647)|0;return 0}function rj(a){a=a|0;var b=0;do b=uc(c,a>>2)|0;while((xc(c,a>>2,b,0)|0)!=(b|0));if((b|0)!=3)return;Ua(a|0,2147483647)|0;return}function sj(a,b){a=a|0;b=b|0;var d=0,e=0;e=Dc;Dc=Dc+16|0;d=e;if((uc(c,a>>2)|0)==2){vc(c,d>>2,0)|0;xc(c,d>>2,0,0)|0;Dc=e;return 0}else{qj(a,b)|0;Dc=e;return 0}return 0}function tj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=Dc;Dc=Dc+16|0;e=g;c[e>>2]=a;d=e>>>4&127;a=(Al()|0)+116|0;if(!(c[a>>2]|0))c[a>>2]=54512;b=(b|0)==0?28:b;a=d;while(1){if(!(xc(c,55024+(a<<2)>>2,0,b)|0))break;a=a+1&127;if((a|0)==(d|0)){a=11;f=7;break}}if((f|0)==7){Dc=g;return a|0}c[c[e>>2]>>2]=a;f=0;Dc=g;return f|0}function uj(a){a=a|0;return}function vj(a){a=a|0;return 0}function wj(a){a=a|0;c[a>>2]=0;return 0}function xj(a,b){a=a|0;b=b|0;var d=0,e=0;d=Dc;Dc=Dc+32|0;e=d;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[a>>2]=c[e>>2];c[a+4>>2]=c[e+4>>2];c[a+8>>2]=c[e+8>>2];c[a+12>>2]=c[e+12>>2];c[a+16>>2]=c[e+16>>2];c[a+20>>2]=c[e+20>>2];c[a+24>>2]=c[e+24>>2];if(!b){Dc=d;return 0}c[a>>2]=c[b>>2];Dc=d;return 0}function yj(a,b){a=a|0;b=b|0;var d=0;d=Al()|0;a=(c[d+116>>2]|0)+(a<<2)|0;if((c[a>>2]|0)==(b|0))return 0;c[a>>2]=b;c[d+60>>2]=1;return 0}function zj(a){a=a|0;return c[(c[(Al()|0)+116>>2]|0)+(a<<2)>>2]|0}function Aj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=55536+((a>>>3&255)<<2)|0;do{}while((xc(c,e>>2,0,1)|0)!=0);g=a;f=c[g>>2]|0;g=c[g+4>>2]|0;h=ll(f|0,g|0,b|0,d|0)|0;b=z()|0;d=a;c[d>>2]=h;c[d+4>>2]=b;vc(c,e>>2,0)|0;y(g|0);return f|0}function Bj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=55536+((a>>>3&255)<<2)|0;do{}while((xc(c,e>>2,0,1)|0)!=0);g=a;f=c[g>>2]|0;g=c[g+4>>2]|0;c[a>>2]=f&b;c[a+4>>2]=g&d;vc(c,e>>2,0)|0;y(g|0);return f|0}function Cj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=55536+((a>>>3&255)<<2)|0;do{}while((xc(c,e>>2,0,1)|0)!=0);g=a;f=c[g>>2]|0;g=c[g+4>>2]|0;c[a>>2]=f|b;c[a+4>>2]=g|d;vc(c,e>>2,0)|0;y(g|0);return f|0}function Dj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=55536+((a>>>3&255)<<2)|0;do{}while((xc(c,e>>2,0,1)|0)!=0);g=a;f=c[g>>2]|0;g=c[g+4>>2]|0;h=ml(f|0,g|0,b|0,d|0)|0;b=z()|0;d=a;c[d>>2]=h;c[d+4>>2]=b;vc(c,e>>2,0)|0;y(g|0);return f|0}function Ej(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=55536+((a>>>3&255)<<2)|0;do{}while((xc(c,e>>2,0,1)|0)!=0);g=a;f=c[g>>2]|0;g=c[g+4>>2]|0;c[a>>2]=f^b;c[a+4>>2]=g^d;vc(c,e>>2,0)|0;y(g|0);return f|0}function Fj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=55536+((a>>>3&255)<<2)|0;do{}while((xc(c,e>>2,0,1)|0)!=0);g=a;f=c[g>>2]|0;g=c[g+4>>2]|0;h=ll(f|0,g|0,b|0,d|0)|0;b=z()|0;d=a;c[d>>2]=h;c[d+4>>2]=b;vc(c,e>>2,0)|0;y(g|0);return f|0}function Gj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=55536+((a>>>3&255)<<2)|0;do{}while((xc(c,e>>2,0,1)|0)!=0);g=a;f=c[g>>2]|0;g=c[g+4>>2]|0;c[a>>2]=f&b;c[a+4>>2]=g&d;vc(c,e>>2,0)|0;y(g|0);return f|0}function Hj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=55536+((a>>>3&255)<<2)|0;do{}while((xc(c,i>>2,0,1)|0)!=0);h=a;g=c[h>>2]|0;h=c[h+4>>2]|0;if(!((g|0)==(b|0)&(h|0)==(d|0))){vc(c,i>>2,0)|0;y(h|0);return g|0}d=a;c[d>>2]=e;c[d+4>>2]=f;vc(c,i>>2,0)|0;y(h|0);return g|0}function Ij(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=55536+((a>>>3&255)<<2)|0;do{}while((xc(c,e>>2,0,1)|0)!=0);g=a;f=c[g>>2]|0;g=c[g+4>>2]|0;c[a>>2]=b;c[a+4>>2]=d;vc(c,e>>2,0)|0;y(g|0);return f|0}function Jj(a){a=a|0;a=uc(c,a>>2)|0;return +(c[h>>2]=a,+f[h>>2])}function Kj(a){a=a|0;var b=0,d=0.0;b=55536+((a>>>3&255)<<2)|0;do{}while((xc(c,b>>2,0,1)|0)!=0);d=+g[a>>3];vc(c,b>>2,0)|0;return +d}function Lj(a){a=a|0;var b=0,d=0;b=55536+((a>>>3&255)<<2)|0;do{}while((xc(c,b>>2,0,1)|0)!=0);d=a;a=c[d>>2]|0;d=c[d+4>>2]|0;vc(c,b>>2,0)|0;y(d|0);return a|0}function Mj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=55536+((a>>>3&255)<<2)|0;do{}while((xc(c,e>>2,0,1)|0)!=0);g=a;f=c[g>>2]|0;g=c[g+4>>2]|0;c[a>>2]=f|b;c[a+4>>2]=g|d;vc(c,e>>2,0)|0;y(g|0);return f|0}function Nj(a,b){a=a|0;b=+b;return +(+((vc(c,a>>2,(f[h>>2]=b,c[h>>2]|0))|0)>>>0))}function Oj(a,b){a=a|0;b=+b;var d=0;d=55536+((a>>>3&255)<<2)|0;do{}while((xc(c,d>>2,0,1)|0)!=0);g[a>>3]=b;vc(c,d>>2,0)|0;return +b}function Pj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=55536+((a>>>3&255)<<2)|0;do{}while((xc(c,e>>2,0,1)|0)!=0);c[a>>2]=b;c[a+4>>2]=d;vc(c,e>>2,0)|0;y(d|0);return b|0}function Qj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=55536+((a>>>3&255)<<2)|0;do{}while((xc(c,e>>2,0,1)|0)!=0);g=a;f=c[g>>2]|0;g=c[g+4>>2]|0;h=ml(f|0,g|0,b|0,d|0)|0;b=z()|0;d=a;c[d>>2]=h;c[d+4>>2]=b;vc(c,e>>2,0)|0;y(g|0);return f|0}function Rj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=55536+((a>>>3&255)<<2)|0;do{}while((xc(c,e>>2,0,1)|0)!=0);g=a;f=c[g>>2]|0;g=c[g+4>>2]|0;c[a>>2]=f^b;c[a+4>>2]=g^d;vc(c,e>>2,0)|0;y(g|0);return f|0}function Sj(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=Ci(b)|0;if(a|0)break;a=fl()|0;if(!a){a=0;break}Rc[a&3]()}return a|0}function Tj(a){a=a|0;Di(a);return}function Uj(a,b){a=a|0;b=b|0;var d=0,e=0;e=xi(b)|0;d=Sj(e+13|0)|0;c[d>>2]=e;c[d+4>>2]=e;c[d+8>>2]=0;d=Vj(d)|0;xl(d|0,b|0,e+1|0)|0;c[a>>2]=d;return}function Vj(a){a=a|0;return a+12|0}function Wj(a,b){a=a|0;b=b|0;c[a>>2]=41032;Uj(a+4|0,b);return}function Xj(a){a=a|0;return 1}function Yj(a){a=a|0;Ma()}function Zj(a){a=a|0;Ma()}function _j(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=Dc;Dc=Dc+16|0;f=g;if(e>>>0>4294967279)Yj(b);if(e>>>0<11)a[b+11>>0]=e;else{i=e+16&-16;h=Sj(i)|0;c[b>>2]=h;c[b+8>>2]=i|-2147483648;c[b+4>>2]=e;b=h}$j(b,d,e)|0;a[f>>0]=0;ak(b+e|0,f);Dc=g;return}function $j(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)xl(a|0,b|0,c|0)|0;return a|0}function ak(b,c){b=b|0;c=c|0;a[b>>0]=a[c>>0]|0;return}function bk(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)zl(a|0,(ck(c)|0)&255|0,b|0)|0;return a|0}function ck(a){a=a|0;return a&255|0}function dk(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;g=a[d+11>>0]|0;h=g<<24>>24<0;g=h?c[d+4>>2]|0:g&255;if(g>>>0>>0)Zj(b);else{g=g-e|0;_j(b,(h?c[d>>2]|0:d)+e|0,g>>>0>>0?g:f);return}}function ek(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;o=Dc;Dc=Dc+16|0;n=o;if((-18-d|0)>>>0>>0)Yj(b);if((a[b+11>>0]|0)<0)m=c[b>>2]|0;else m=b;if(d>>>0<2147483623){k=e+d|0;l=d<<1;k=k>>>0>>0?l:k;k=k>>>0<11?11:k+16&-16}else k=-17;l=Sj(k)|0;if(g|0)$j(l,m,g)|0;if(i|0)$j(l+g|0,j,i)|0;e=f-h|0;f=e-g|0;if(f|0)$j(l+g+i|0,m+g+h|0,f)|0;if((d|0)!=10)Tj(m);c[b>>2]=l;c[b+8>>2]=k|-2147483648;i=e+i|0;c[b+4>>2]=i;a[n>>0]=0;ak(l+i|0,n);Dc=o;return}function fk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=Dc;Dc=Dc+16|0;g=j;h=b+11|0;f=a[h>>0]|0;i=f<<24>>24<0;if(i)f=c[b+4>>2]|0;else f=f&255;do if(f>>>0>=d>>>0)if(i){i=(c[b>>2]|0)+d|0;a[g>>0]=0;ak(i,g);c[b+4>>2]=d;break}else{a[g>>0]=0;ak(b+d|0,g);a[h>>0]=d;break}else gk(b,d-f|0,e)|0;while(0);Dc=j;return}function gk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=Dc;Dc=Dc+16|0;i=k;if(d|0){j=b+11|0;f=a[j>>0]|0;if(f<<24>>24<0){g=(c[b+8>>2]&2147483647)+-1|0;h=c[b+4>>2]|0}else{g=10;h=f&255}if((g-h|0)>>>0>>0){hk(b,g,h+d-g|0,h,h,0,0);f=a[j>>0]|0}if(f<<24>>24<0)g=c[b>>2]|0;else g=b;bk(g+h|0,d,e)|0;f=h+d|0;if((a[j>>0]|0)<0)c[b+4>>2]=f;else a[j>>0]=f;a[i>>0]=0;ak(g+f|0,i)}Dc=k;return b|0}function hk(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((-17-d|0)>>>0>>0)Yj(b);if((a[b+11>>0]|0)<0)l=c[b>>2]|0;else l=b;if(d>>>0<2147483623){j=e+d|0;k=d<<1;j=j>>>0>>0?k:j;j=j>>>0<11?11:j+16&-16}else j=-17;k=Sj(j)|0;if(g|0)$j(k,l,g)|0;e=f-h-g|0;if(e|0)$j(k+g+i|0,l+g+h|0,e)|0;if((d|0)!=10)Tj(l);c[b>>2]=k;c[b+8>>2]=j|-2147483648;return}function ik(b,d){b=b|0;d=d|0;var e=0,f=0;e=a[b+11>>0]|0;f=e<<24>>24<0;if(f)e=c[b+4>>2]|0;else e=e&255;if(e>>>0<=d>>>0)Zj(b);if(f)b=c[b>>2]|0;return b+d|0}function jk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=Dc;Dc=Dc+16|0;i=k;j=b+11|0;f=a[j>>0]|0;h=f<<24>>24<0;if(h){g=(c[b+8>>2]&2147483647)+-1|0;f=c[b+4>>2]|0}else{g=10;f=f&255}if((g-f|0)>>>0>=e>>>0){if(e|0){if(h)g=c[b>>2]|0;else g=b;$j(g+f|0,d,e)|0;f=f+e|0;if((a[j>>0]|0)<0)c[b+4>>2]=f;else a[j>>0]=f;a[i>>0]=0;ak(g+f|0,i)}}else ek(b,g,f+e-g|0,f,f,0,e,d);Dc=k;return b|0}function kk(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0;f=Dc;Dc=Dc+48|0;h=f+32|0;d=f+24|0;i=f+16|0;g=f;f=f+36|0;a=lk()|0;if(a|0?(e=c[a>>2]|0,e|0):0){a=e+48|0;b=c[a>>2]|0;a=c[a+4>>2]|0;if(!((b&-256|0)==1126902528&(a|0)==1129074247)){c[d>>2]=53969;mk(53919,d)}if((b|0)==1126902529&(a|0)==1129074247)a=c[e+44>>2]|0;else a=e+80|0;c[f>>2]=a;e=c[e>>2]|0;a=c[e+4>>2]|0;if(Kc[c[(c[292]|0)+16>>2]&7](1168,e,f)|0){i=c[f>>2]|0;i=Hc[c[(c[i>>2]|0)+8>>2]&7](i)|0;c[g>>2]=53969;c[g+4>>2]=a;c[g+8>>2]=i;mk(53833,g)}else{c[i>>2]=53969;c[i+4>>2]=a;mk(53878,i)}}mk(53957,h)}function lk(){var a=0,b=0;a=Dc;Dc=Dc+16|0;if(!(sj(57324,3)|0)){b=zj(c[14332]|0)|0;Dc=a;return b|0}else mk(54108,a);return 0}function mk(a,b){a=a|0;b=b|0;var d=0;d=Dc;Dc=Dc+16|0;c[d>>2]=b;b=c[10234]|0;ai(b,a,d)|0;Bi(10,b)|0;Ma()}function nk(a){a=a|0;return}function ok(a){a=a|0;nk(a);Tj(a);return}function pk(a){a=a|0;return}function qk(a){a=a|0;return}function rk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=Dc;Dc=Dc+64|0;f=h;if(!(vk(a,b,0)|0))if((b|0)!=0?(g=zk(b,1192,1176,0)|0,(g|0)!=0):0){b=f+4|0;e=b+52|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));c[f>>2]=g;c[f+8>>2]=a;c[f+12>>2]=-1;c[f+48>>2]=1;dd[c[(c[g>>2]|0)+28>>2]&7](g,f,c[d>>2]|0,1);if((c[f+24>>2]|0)==1){c[d>>2]=c[f+16>>2];b=1}else b=0}else b=0;else b=1;Dc=h;return b|0}function sk(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(vk(a,c[b+8>>2]|0,g)|0)yk(0,b,d,e,f);return}function tk(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;do if(!(vk(b,c[d+8>>2]|0,g)|0)){if(vk(b,c[d>>2]|0,g)|0){if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;c[h>>2]=e;g=d+40|0;c[g>>2]=(c[g>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1;c[d+44>>2]=4;break}if((f|0)==1)c[d+32>>2]=1}}else xk(0,d,e,f);while(0);return}function uk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(vk(a,c[b+8>>2]|0,0)|0)wk(0,b,d,e);return}function vk(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function wk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;b=d+16|0;g=c[b>>2]|0;do if(g){if((g|0)!=(e|0)){f=d+36|0;c[f>>2]=(c[f>>2]|0)+1;c[d+24>>2]=2;a[d+54>>0]=1;break}b=d+24|0;if((c[b>>2]|0)==2)c[b>>2]=f}else{c[b>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1}while(0);return}function xk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if((c[b+4>>2]|0)==(d|0)?(f=b+28|0,(c[f>>2]|0)!=1):0)c[f>>2]=e;return}function yk(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a[d+53>>0]=1;do if((c[d+4>>2]|0)==(f|0)){a[d+52>>0]=1;b=d+16|0;f=c[b>>2]|0;if(!f){c[b>>2]=e;c[d+24>>2]=g;c[d+36>>2]=1;if(!((g|0)==1?(c[d+48>>2]|0)==1:0))break;a[d+54>>0]=1;break}if((f|0)!=(e|0)){g=d+36|0;c[g>>2]=(c[g>>2]|0)+1;a[d+54>>0]=1;break}f=d+24|0;b=c[f>>2]|0;if((b|0)==2){c[f>>2]=g;b=g}if((b|0)==1?(c[d+48>>2]|0)==1:0)a[d+54>>0]=1}while(0);return}function zk(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=Dc;Dc=Dc+64|0;n=p;m=c[d>>2]|0;o=d+(c[m+-8>>2]|0)|0;m=c[m+-4>>2]|0;c[n>>2]=f;c[n+4>>2]=d;c[n+8>>2]=e;c[n+12>>2]=g;d=n+16|0;e=n+20|0;g=n+24|0;h=n+28|0;i=n+32|0;j=n+40|0;k=d;l=k+36|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));b[d+36>>1]=0;a[d+38>>0]=0;a:do if(vk(m,f,0)|0){c[n+48>>2]=1;fd[c[(c[m>>2]|0)+20>>2]&3](m,n,o,o,1,0);d=(c[g>>2]|0)==1?o:0}else{ed[c[(c[m>>2]|0)+24>>2]&7](m,n,o,1,0);switch(c[n+36>>2]|0){case 0:{d=(c[j>>2]|0)==1&(c[h>>2]|0)==1&(c[i>>2]|0)==1?c[e>>2]|0:0;break a}case 1:break;default:{d=0;break a}}if((c[g>>2]|0)!=1?!((c[j>>2]|0)==0&(c[h>>2]|0)==1&(c[i>>2]|0)==1):0){d=0;break}d=c[d>>2]|0}while(0);Dc=p;return d|0}function Ak(a){a=a|0;nk(a);Tj(a);return}function Bk(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(vk(a,c[b+8>>2]|0,g)|0)yk(0,b,d,e,f);else{a=c[a+8>>2]|0;fd[c[(c[a>>2]|0)+20>>2]&3](a,b,d,e,f,g)}return}function Ck(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;do if(!(vk(b,c[d+8>>2]|0,g)|0)){if(!(vk(b,c[d>>2]|0,g)|0)){i=c[b+8>>2]|0;ed[c[(c[i>>2]|0)+24>>2]&7](i,d,e,f,g);break}if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;i=d+44|0;if((c[i>>2]|0)==4)break;f=d+52|0;a[f>>0]=0;j=d+53|0;a[j>>0]=0;b=c[b+8>>2]|0;fd[c[(c[b>>2]|0)+20>>2]&3](b,d,e,e,1,g);if(a[j>>0]|0)if(!(a[f>>0]|0)){f=1;b=11}else b=15;else{f=0;b=11}do if((b|0)==11){c[h>>2]=e;j=d+40|0;c[j>>2]=(c[j>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0){a[d+54>>0]=1;if(f){b=15;break}else{f=4;break}}if(f)b=15;else f=4}while(0);if((b|0)==15)f=3;c[i>>2]=f;break}if((f|0)==1)c[d+32>>2]=1}else xk(0,d,e,f);while(0);return}function Dk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(vk(a,c[b+8>>2]|0,0)|0)wk(0,b,d,e);else{a=c[a+8>>2]|0;dd[c[(c[a>>2]|0)+28>>2]&7](a,b,d,e)}return}function Ek(a){a=a|0;return}function Fk(){var a=0;a=Dc;Dc=Dc+16|0;if(!(tj(57328,29)|0)){Dc=a;return}else mk(54157,a)}function Gk(a){a=a|0;var b=0;b=Dc;Dc=Dc+16|0;Di(a);if(!(yj(c[14332]|0,0)|0)){Dc=b;return}else mk(54207,b)}function Hk(){var a=0,b=0;a=lk()|0;if((a|0?(b=c[a>>2]|0,b|0):0)?(a=b+48|0,(c[a>>2]&-256|0)==1126902528?(c[a+4>>2]|0)==1129074247:0):0)Ik(c[b+12>>2]|0);Ik(Jk()|0)}function Ik(a){a=a|0;var b=0;b=Dc;Dc=Dc+16|0;Rc[a&3]();mk(54260,b)}function Jk(){return yc(c,10235,0)|0}function Kk(a){a=a|0;return}function Lk(a){a=a|0;c[a>>2]=41032;Pk(a+4|0);return}function Mk(a){a=a|0;Lk(a);Tj(a);return}function Nk(a){a=a|0;return Ok(a+4|0)|0}function Ok(a){a=a|0;return c[a>>2]|0}function Pk(a){a=a|0;var b=0;if(Xj(a)|0?(b=Qk(c[a>>2]|0)|0,((yc(c,b+8>>2,-1)|0)+-1|0)<0):0)Tj(b);return}function Qk(a){a=a|0;return a+-12|0}function Rk(a){a=a|0;Lk(a);Tj(a);return}function Sk(a){a=a|0;nk(a);Tj(a);return}function Tk(a,b,c){a=a|0;b=b|0;c=c|0;return vk(a,b,0)|0}function Uk(a){a=a|0;nk(a);Tj(a);return}function Vk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=Dc;Dc=Dc+64|0;h=j;c[d>>2]=c[c[d>>2]>>2];if(!(Wk(a,b,0)|0))if(((b|0)!=0?(e=zk(b,1192,1280,0)|0,(e|0)!=0):0)?(c[e+8>>2]&~c[a+8>>2]|0)==0:0){a=a+12|0;b=e+12|0;if(!(vk(c[a>>2]|0,c[b>>2]|0,0)|0)?!(vk(c[a>>2]|0,1312,0)|0):0){a=c[a>>2]|0;if((((a|0)!=0?(g=zk(a,1192,1176,0)|0,(g|0)!=0):0)?(f=c[b>>2]|0,(f|0)!=0):0)?(i=zk(f,1192,1176,0)|0,(i|0)!=0):0){a=h+4|0;b=a+52|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[h>>2]=i;c[h+8>>2]=g;c[h+12>>2]=-1;c[h+48>>2]=1;dd[c[(c[i>>2]|0)+28>>2]&7](i,h,c[d>>2]|0,1);if((c[h+24>>2]|0)==1){c[d>>2]=c[h+16>>2];a=1}else a=0}else a=0}else a=1}else a=0;else a=1;Dc=j;return a|0}function Wk(a,b,c){a=a|0;b=b|0;c=c|0;if(vk(a,b,0)|0)a=1;else a=vk(b,1320,0)|0;return a|0}function Xk(a){a=a|0;nk(a);Tj(a);return}function Yk(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if(vk(b,c[d+8>>2]|0,h)|0)yk(0,d,e,f,g);else{p=d+52|0;i=a[p>>0]|0;j=d+53|0;k=a[j>>0]|0;o=c[b+12>>2]|0;l=b+16+(o<<3)|0;a[p>>0]=0;a[j>>0]=0;al(b+16|0,d,e,f,g,h);a:do if((o|0)>1){m=d+24|0;n=b+8|0;o=d+54|0;b=b+24|0;do{if(a[o>>0]|0)break a;if(!(a[p>>0]|0)){if(a[j>>0]|0?(c[n>>2]&1|0)==0:0)break a}else{if((c[m>>2]|0)==1)break a;if(!(c[n>>2]&2))break a}a[p>>0]=0;a[j>>0]=0;al(b,d,e,f,g,h);b=b+8|0}while(b>>>0>>0)}while(0);a[p>>0]=i;a[j>>0]=k}return}function Zk(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;a:do if(!(vk(b,c[d+8>>2]|0,g)|0)){if(!(vk(b,c[d>>2]|0,g)|0)){q=c[b+12>>2]|0;k=b+16+(q<<3)|0;bl(b+16|0,d,e,f,g);h=b+24|0;if((q|0)<=1)break;b=c[b+8>>2]|0;if((b&2|0)==0?(j=d+36|0,(c[j>>2]|0)!=1):0){if(!(b&1)){b=d+54|0;while(1){if(a[b>>0]|0)break a;if((c[j>>2]|0)==1)break a;bl(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}b=d+24|0;i=d+54|0;while(1){if(a[i>>0]|0)break a;if((c[j>>2]|0)==1?(c[b>>2]|0)==1:0)break a;bl(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}b=d+54|0;while(1){if(a[b>>0]|0)break a;bl(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}if((c[d+16>>2]|0)!=(e|0)?(q=d+20|0,(c[q>>2]|0)!=(e|0)):0){c[d+32>>2]=f;p=d+44|0;if((c[p>>2]|0)==4)break;k=b+16+(c[b+12>>2]<<3)|0;f=d+52|0;l=d+53|0;n=d+54|0;m=b+8|0;o=d+24|0;h=0;i=b+16|0;j=0;b:while(1){if(i>>>0>=k>>>0){b=18;break}a[f>>0]=0;a[l>>0]=0;al(i,d,e,e,1,g);if(a[n>>0]|0){b=18;break}do if(a[l>>0]|0){if(!(a[f>>0]|0))if(!(c[m>>2]&1)){h=1;b=18;break b}else{h=1;b=j;break}if((c[o>>2]|0)==1){b=23;break b}if(!(c[m>>2]&2)){b=23;break b}else{h=1;b=1}}else b=j;while(0);i=i+8|0;j=b}do if((b|0)==18){if((!j?(c[q>>2]=e,e=d+40|0,c[e>>2]=(c[e>>2]|0)+1,(c[d+36>>2]|0)==1):0)?(c[o>>2]|0)==2:0){a[n>>0]=1;if(h){b=23;break}else{h=4;break}}if(h)b=23;else h=4}while(0);if((b|0)==23)h=3;c[p>>2]=h;break}if((f|0)==1)c[d+32>>2]=1}else xk(0,d,e,f);while(0);return}function _k(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do if(!(vk(b,c[d+8>>2]|0,0)|0)){h=c[b+12>>2]|0;g=b+16+(h<<3)|0;$k(b+16|0,d,e,f);if((h|0)>1){h=d+54|0;b=b+24|0;do{$k(b,d,e,f);if(a[h>>0]|0)break a;b=b+8|0}while(b>>>0>>0)}}else wk(0,d,e,f);while(0);return}function $k(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=c[a+4>>2]|0;f=g>>8;if(g&1)f=c[(c[d>>2]|0)+f>>2]|0;a=c[a>>2]|0;dd[c[(c[a>>2]|0)+28>>2]&7](a,b,d+f|0,(g&2|0)==0?2:e);return}function al(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=c[a+4>>2]|0;h=i>>8;if(i&1)h=c[(c[e>>2]|0)+h>>2]|0;a=c[a>>2]|0;fd[c[(c[a>>2]|0)+20>>2]&3](a,b,d,e+h|0,(i&2|0)==0?2:f,g);return}function bl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=c[a+4>>2]|0;g=h>>8;if(h&1)g=c[(c[d>>2]|0)+g>>2]|0;a=c[a>>2]|0;ed[c[(c[a>>2]|0)+24>>2]&7](a,b,d+g|0,(h&2|0)==0?2:e,f);return}function cl(b){b=b|0;if((a[b>>0]|0)==1)b=0;else{a[b>>0]=1;b=1}return b|0}function dl(a){a=a|0;return}function el(a){a=a|0;return}function fl(){return yc(c,14333,0)|0}function gl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=Dc;Dc=Dc+16|0;e=f;c[e>>2]=c[d>>2];a=Kc[c[(c[a>>2]|0)+16>>2]&7](a,b,e)|0;if(a)c[d>>2]=c[e>>2];Dc=f;return a&1|0}function hl(a){a=a|0;if(!a)a=0;else a=(zk(a,1192,1280,0)|0)!=0&1;return a|0}function il(a,b,c){a=a|0;b=b|0;c=c|0;s=a;u=b;t=c}function jl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=v(e,f)|0;d=a>>>16;a=(c>>>16)+(v(e,d)|0)|0;e=b>>>16;b=v(e,f)|0;return (y((a>>>16)+(v(e,d)|0)+(((a&65535)+b|0)>>>16)|0),a+b<<16|c&65535|0)|0}function kl(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=jl(e,f)|0;a=z()|0;return (y((v(b,f)|0)+(v(d,e)|0)+a|a&0|0),c|0|0)|0}function ll(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (y(b+d+(c>>>0>>0|0)>>>0|0),c|0)|0}function ml(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 (y(d|0),a-c>>>0|0)|0}function nl(a){a=a|0;return (a?31-(w(a^a-1)|0)|0:32)|0}function ol(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (y(n|0),f)|0}else{if(!g){n=0;f=0;return (y(n|0),f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (y(n|0),f)|0}}g=(i|0)==0;do if(h){if(!g){g=(w(i|0)|0)-(w(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (y(n|0),f)|0}g=h-1|0;if(g&h|0){i=(w(h|0)|0)+33-(w(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (y(o|0),p)|0}else{p=nl(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (y(o|0),p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (y(o|0),p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (y(o|0),p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((nl(i|0)|0)>>>0);return (y(o|0),p)|0}g=(w(i|0)|0)-(w(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (y(o|0),p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=ll(m|0,l|0,-1,-1)|0;d=z()|0;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;ml(k|0,d|0,e|0,n|0)|0;p=z()|0;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=ml(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=z()|0;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (y(o|0),p)|0}function pl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ol(a,b,c,d,0)|0}function ql(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){y(b>>>c|0);return a>>>c|(b&(1<>>c-32|0}function rl(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){y(b<>>32-c|0);return a<=8192){ab(b|0,d|0,e|0)|0;return b|0}h=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return h|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}e=g&-4|0;f=e-64|0;while((b|0)<=(f|0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(e|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{e=g-4|0;while((b|0)<(e|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return h|0}function yl(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else xl(b,c,d)|0;return b|0}function zl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=b+e|0;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}f=h&-4|0;i=d|d<<8|d<<16|d<<24;g=f-64|0;while((b|0)<=(g|0)){c[b>>2]=i;c[b+4>>2]=i;c[b+8>>2]=i;c[b+12>>2]=i;c[b+16>>2]=i;c[b+20>>2]=i;c[b+24>>2]=i;c[b+28>>2]=i;c[b+32>>2]=i;c[b+36>>2]=i;c[b+40>>2]=i;c[b+44>>2]=i;c[b+48>>2]=i;c[b+52>>2]=i;c[b+56>>2]=i;c[b+60>>2]=i;b=b+64|0}while((b|0)<(f|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}return h-e|0}function Al(){return s|0}function Bl(a){a=a|0;var b=0,d=0,e=0,f=0;f=Wa()|0;do{d=uc(c,i>>2)|0;b=d+a|0;if((a|0)>0&(b|0)<(d|0)|(b|0)<0){tb(b|0)|0;Y(12);return -1}if((b|0)>(f|0))if(db(b|0)|0){f=Wa()|0;continue}else{if((Wa()|0)>f){f=Wa()|0;continue}Y(12);return -1}e=xc(c,i>>2,d|0,b|0)|0}while((e|0)!=(d|0));return d|0}function Cl(a){a=a|0;return Gc[a&0]()|0}function Dl(a,b){a=a|0;b=b|0;return Hc[a&7](b|0)|0}function El(a,b,c,d,e,f,g){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;return Ic[a&1](b|0,+c,d|0,e|0,f|0,g|0)|0}function Fl(a,b,c){a=a|0;b=b|0;c=c|0;return Jc[a&3](b|0,c|0)|0}function Gl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Kc[a&7](b|0,c|0,d|0)|0}function Hl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Lc[a&1](b|0,c|0,d|0,e|0)|0}function Il(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Mc[a&0](b|0,c|0,d|0,e|0,f|0)|0}function Jl(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 Nc[a&0](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Kl(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return Oc[a&0](b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function Ll(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return Pc[a&0](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function Ml(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return Qc[a&0](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)|0}function Nl(a){a=a|0;Rc[a&3]()}function Ol(a,b){a=a|0;b=+b;Sc[a&0](+b)}function Pl(a,b,c){a=a|0;b=+b;c=+c;Tc[a&0](+b,+c)}function Ql(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;Uc[a&0](+b,+c,+d)}function Rl(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;Vc[a&0](+b,+c,+d,+e)}function Sl(a,b){a=a|0;b=b|0;Wc[a&31](b|0)}function Tl(a,b,c){a=a|0;b=b|0;c=+c;Xc[a&0](b|0,+c)}function Ul(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;Yc[a&0](b|0,+c,+d)}function Vl(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=+d;e=+e;Zc[a&0](b|0,+c,+d,+e)}function Wl(a,b,c,d,e,f){a=a|0;b=b|0;c=+c;d=+d;e=+e;f=+f;_c[a&0](b|0,+c,+d,+e,+f)}function Xl(a,b,c){a=a|0;b=b|0;c=c|0;$c[a&31](b|0,c|0)}function Yl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;ad[a&0](b|0,c|0,+d)}function Zl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;bd[a&0](b|0,c|0,+d,e|0)}function _l(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;cd[a&7](b|0,c|0,d|0)}function $l(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;dd[a&7](b|0,c|0,d|0,e|0)}function am(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ed[a&7](b|0,c|0,d|0,e|0,f|0)}function bm(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;fd[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function cm(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;gd[a&0](b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function dm(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;hd[a&0](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function em(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;id[a&0](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function fm(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;jd[a&0](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function gm(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;kd[a&0](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0)}function hm(){x(0);return 0}function im(a){a=a|0;x(1);return 0}function jm(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=d|0;e=e|0;f=f|0;x(2);return 0}function km(a,b){a=a|0;b=b|0;x(3);return 0}function lm(a,b,c){a=a|0;b=b|0;c=c|0;x(4);return 0}function mm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;x(5);return 0}function nm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;x(6);return 0}function om(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;x(7);return 0}function pm(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;x(8);return 0}function qm(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;x(9);return 0}function rm(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;x(10);return 0}function sm(){x(11)}function tm(){U()}function um(a){a=+a;x(12)}function vm(a,b){a=+a;b=+b;x(13)}function wm(a,b,c){a=+a;b=+b;c=+c;x(14)}function xm(a,b,c,d){a=+a;b=+b;c=+c;d=+d;x(15)}function ym(a){a=a|0;x(16)}function zm(a,b){a=a|0;b=+b;x(17)}function Am(a,b,c){a=a|0;b=+b;c=+c;x(18)}function Bm(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;x(19)}function Cm(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;x(20)}function Dm(a,b){a=a|0;b=b|0;x(21)}function Em(a,b,c){a=a|0;b=b|0;c=+c;x(22)}function Fm(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;x(23)}function Gm(a,b,c){a=a|0;b=b|0;c=c|0;x(24)}function Hm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;x(25)}function Im(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;x(26)}function Jm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;x(27)}function Km(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;x(28)}function Lm(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;x(29)}function Mm(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;x(30)}function Nm(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;x(31)}function Om(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;x(32)} // EMSCRIPTEN_END_FUNCS -var fc=[Fj,Wg,Li,qd,zd,Bd,Cd,Fj];var gc=[Gj,eh];var hc=[Hj,vd,xd,Hj];var ic=[Ij,Xg,ah,pi,Ri,Ti,Fd,Xd];var jc=[Jj,Yg];var kc=[Kj,Lj,ii,Di];var lc=[Mj,Gd,Hd,Jd,Md,Nd,Pd,Qd,jd,Sd,Td,li,mi,ni,oi,yi,Ji,Ki,Pi,Qi,Si,Vi,rd,Ac,Bc,Ad,Ed,Ei,Mj,Mj,Mj,Mj];var mc=[Nj,ad,yc,zc,ud,Cc,Dc,Ec,Fc,Gc,Hc,Ic,Jc,Kc,Lc,Mc,Dd,fh,Nj,Nj,Nj,Nj,Nj,Nj,Nj,Nj,Nj,Nj,Nj,Nj,Nj,Nj];var nc=[Oj,$c,Rd,sd,td,wd,yd,Oj];var oc=[Pj,si,Bi,Yi,Fg,Eg,Pj,Pj];var pc=[Qj,ri,Ai,Xi,_e,Ze,Qj,Qj];var qc=[Rj,qi,zi,Wi];return{___cxa_can_catch:ej,___cxa_is_pointer_type:fj,___errno_location:_g,___getTypeName:Vg,___muldi3:hj,___udivdi3:mj,_bitshift64Lshr:nj,_bitshift64Shl:oj,_fflush:Fh,_free:Kh,_i64Add:ij,_i64Subtract:jj,_main:wc,_malloc:Jh,_memcpy:pj,_memmove:qj,_memset:rj,_sbrk:sj,_strlen:Ah,dynCall_ii:tj,dynCall_iidiiii:uj,dynCall_iii:vj,dynCall_iiii:wj,dynCall_iiiii:xj,dynCall_v:yj,dynCall_vi:zj,dynCall_vii:Aj,dynCall_viii:Bj,dynCall_viiii:Cj,dynCall_viiiii:Dj,dynCall_viiiiii:Ej,establishStackSpace:vc,globalCtors:rc,stackAlloc:sc,stackRestore:uc,stackSave:tc}}) +var Gc=[hm];var Hc=[im,Sh,Nk,ke,te,ve,we,aj];var Ic=[jm,bi];var Jc=[km,pe,re,km];var Kc=[lm,Th,wi,rk,Tk,Vk,ze,Re];var Lc=[mm,Uh];var Mc=[nm];var Nc=[om];var Oc=[pm];var Pc=[qm];var Qc=[rm];var Rc=[sm,tm,kk,Fk];var Sc=[um];var Tc=[vm];var Uc=[wm];var Vc=[xm];var Wc=[ym,Ae,Be,De,Ge,He,Je,Ke,de,Me,Ne,nk,ok,pk,qk,Ak,Lk,Mk,Rk,Sk,Uk,Xk,le,ud,vd,ue,ye,rj,uj,Gk,ym,ym];var Xc=[zm];var Yc=[Am];var Zc=[Bm];var _c=[Cm];var $c=[Dm,Wd,sd,td,oe,wd,xd,yd,zd,Ad,Bd,Cd,Dd,Ed,Fd,Gd,xe,ci,Dm,Dm,Dm,Dm,Dm,Dm,Dm,Dm,Dm,Dm,Dm,Dm,Dm,Dm];var ad=[Em];var bd=[Fm];var cd=[Gm,Vd,Le,me,ne,qe,se,Gm];var dd=[Hm,uk,Dk,_k,zh,yh,Hm,Hm];var ed=[Im,tk,Ck,Zk,Vf,Uf,Im,Im];var fd=[Jm,sk,Bk,Yk];var gd=[Km];var hd=[Lm];var id=[Mm];var jd=[Nm];var kd=[Om];return{___cxa_can_catch:gl,___cxa_is_pointer_type:hl,___errno_location:Wh,___getTypeName:Ph,___muldi3:kl,___pthread_tsd_run_dtors:Fi,___udivdi3:pl,__emscripten_atomic_fetch_and_add_u64:Aj,__emscripten_atomic_fetch_and_and_u64:Bj,__emscripten_atomic_fetch_and_or_u64:Cj,__emscripten_atomic_fetch_and_sub_u64:Dj,__emscripten_atomic_fetch_and_xor_u64:Ej,__register_pthread_ptr:il,_bitshift64Lshr:ql,_bitshift64Shl:rl,_emscripten_async_queue_call_on_thread:Gi,_emscripten_async_queue_on_thread_:Hi,_emscripten_async_run_in_main_thread:Ii,_emscripten_atomic_add_u64:Fj,_emscripten_atomic_and_u64:Gj,_emscripten_atomic_cas_u64:Hj,_emscripten_atomic_exchange_u64:Ij,_emscripten_atomic_load_f32:Jj,_emscripten_atomic_load_f64:Kj,_emscripten_atomic_load_u64:Lj,_emscripten_atomic_or_u64:Mj,_emscripten_atomic_store_f32:Nj,_emscripten_atomic_store_f64:Oj,_emscripten_atomic_store_u64:Pj,_emscripten_atomic_sub_u64:Qj,_emscripten_atomic_xor_u64:Rj,_emscripten_conditional_set_current_thread_status:sl,_emscripten_current_thread_process_queued_calls:Ji,_emscripten_get_global_libc:Qh,_emscripten_is_main_browser_thread:tl,_emscripten_is_main_runtime_thread:ul,_emscripten_main_browser_thread_id:Ki,_emscripten_main_thread_process_queued_calls:Li,_emscripten_register_main_browser_thread_id:Mi,_emscripten_run_in_main_runtime_thread_js:Ni,_emscripten_set_current_thread_status:vl,_emscripten_set_thread_name:wl,_emscripten_sync_run_in_main_thread:Oi,_emscripten_sync_run_in_main_thread_0:Pi,_emscripten_sync_run_in_main_thread_1:Qi,_emscripten_sync_run_in_main_thread_2:Ri,_emscripten_sync_run_in_main_thread_3:Si,_emscripten_sync_run_in_main_thread_4:Ti,_emscripten_sync_run_in_main_thread_5:Ui,_emscripten_sync_run_in_main_thread_6:Vi,_emscripten_sync_run_in_main_thread_7:Wi,_emscripten_sync_run_in_main_thread_xprintf_varargs:Xi,_free:Di,_i64Add:ll,_i64Subtract:ml,_main:qd,_malloc:Ci,_memcpy:xl,_memmove:yl,_memset:zl,_proxy_main:Yi,_pthread_self:Al,_sbrk:Bl,_strlen:xi,dynCall_i:Cl,dynCall_ii:Dl,dynCall_iidiiii:El,dynCall_iii:Fl,dynCall_iiii:Gl,dynCall_iiiii:Hl,dynCall_iiiiii:Il,dynCall_iiiiiii:Jl,dynCall_iiiiiiii:Kl,dynCall_iiiiiiiii:Ll,dynCall_iiiiiiiiii:Ml,dynCall_v:Nl,dynCall_vd:Ol,dynCall_vdd:Pl,dynCall_vddd:Ql,dynCall_vdddd:Rl,dynCall_vi:Sl,dynCall_vid:Tl,dynCall_vidd:Ul,dynCall_viddd:Vl,dynCall_vidddd:Wl,dynCall_vii:Xl,dynCall_viid:Yl,dynCall_viidi:Zl,dynCall_viii:_l,dynCall_viiii:$l,dynCall_viiiii:am,dynCall_viiiiii:bm,dynCall_viiiiiii:cm,dynCall_viiiiiiii:dm,dynCall_viiiiiiiii:em,dynCall_viiiiiiiiii:fm,dynCall_viiiiiiiiiii:gm,establishStackSpace:pd,globalCtors:ld,stackAlloc:md,stackRestore:od,stackSave:nd}}) // EMSCRIPTEN_END_ASM -(asmGlobalArg,asmLibraryArg,buffer);var real____cxa_can_catch=asm["___cxa_can_catch"];asm["___cxa_can_catch"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real____cxa_can_catch.apply(null,arguments)};var real____cxa_is_pointer_type=asm["___cxa_is_pointer_type"];asm["___cxa_is_pointer_type"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real____cxa_is_pointer_type.apply(null,arguments)};var real____errno_location=asm["___errno_location"];asm["___errno_location"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real____errno_location.apply(null,arguments)};var real____getTypeName=asm["___getTypeName"];asm["___getTypeName"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real____getTypeName.apply(null,arguments)};var real____muldi3=asm["___muldi3"];asm["___muldi3"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real____muldi3.apply(null,arguments)};var real____udivdi3=asm["___udivdi3"];asm["___udivdi3"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real____udivdi3.apply(null,arguments)};var real__bitshift64Lshr=asm["_bitshift64Lshr"];asm["_bitshift64Lshr"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__bitshift64Lshr.apply(null,arguments)};var real__bitshift64Shl=asm["_bitshift64Shl"];asm["_bitshift64Shl"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__bitshift64Shl.apply(null,arguments)};var real__fflush=asm["_fflush"];asm["_fflush"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__fflush.apply(null,arguments)};var real__free=asm["_free"];asm["_free"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__free.apply(null,arguments)};var real__i64Add=asm["_i64Add"];asm["_i64Add"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__i64Add.apply(null,arguments)};var real__i64Subtract=asm["_i64Subtract"];asm["_i64Subtract"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__i64Subtract.apply(null,arguments)};var real__main=asm["_main"];asm["_main"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__main.apply(null,arguments)};var real__malloc=asm["_malloc"];asm["_malloc"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__malloc.apply(null,arguments)};var real__memmove=asm["_memmove"];asm["_memmove"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__memmove.apply(null,arguments)};var real__sbrk=asm["_sbrk"];asm["_sbrk"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__sbrk.apply(null,arguments)};var real__strlen=asm["_strlen"];asm["_strlen"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__strlen.apply(null,arguments)};var real_establishStackSpace=asm["establishStackSpace"];asm["establishStackSpace"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real_establishStackSpace.apply(null,arguments)};var real_globalCtors=asm["globalCtors"];asm["globalCtors"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real_globalCtors.apply(null,arguments)};var real_stackAlloc=asm["stackAlloc"];asm["stackAlloc"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real_stackAlloc.apply(null,arguments)};var real_stackRestore=asm["stackRestore"];asm["stackRestore"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real_stackRestore.apply(null,arguments)};var real_stackSave=asm["stackSave"];asm["stackSave"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real_stackSave.apply(null,arguments)};var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var ___getTypeName=Module["___getTypeName"]=asm["___getTypeName"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _fflush=Module["_fflush"]=asm["_fflush"];var _free=Module["_free"]=asm["_free"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _main=Module["_main"]=asm["_main"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _memmove=Module["_memmove"]=asm["_memmove"];var _memset=Module["_memset"]=asm["_memset"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var _strlen=Module["_strlen"]=asm["_strlen"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var globalCtors=Module["globalCtors"]=asm["globalCtors"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var stackSave=Module["stackSave"]=asm["stackSave"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iidiiii=Module["dynCall_iidiiii"]=asm["dynCall_iidiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];Module["asm"]=asm;if(!Module["intArrayFromString"])Module["intArrayFromString"]=function(){abort("'intArrayFromString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["intArrayToString"])Module["intArrayToString"]=function(){abort("'intArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["ccall"])Module["ccall"]=function(){abort("'ccall' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["cwrap"])Module["cwrap"]=function(){abort("'cwrap' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["setValue"])Module["setValue"]=function(){abort("'setValue' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["getValue"])Module["getValue"]=function(){abort("'getValue' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["allocate"])Module["allocate"]=function(){abort("'allocate' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["getMemory"])Module["getMemory"]=function(){abort("'getMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")};if(!Module["AsciiToString"])Module["AsciiToString"]=function(){abort("'AsciiToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["stringToAscii"])Module["stringToAscii"]=function(){abort("'stringToAscii' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["UTF8ArrayToString"])Module["UTF8ArrayToString"]=function(){abort("'UTF8ArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["UTF8ToString"])Module["UTF8ToString"]=function(){abort("'UTF8ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["stringToUTF8Array"])Module["stringToUTF8Array"]=function(){abort("'stringToUTF8Array' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["stringToUTF8"])Module["stringToUTF8"]=function(){abort("'stringToUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["lengthBytesUTF8"])Module["lengthBytesUTF8"]=function(){abort("'lengthBytesUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["UTF16ToString"])Module["UTF16ToString"]=function(){abort("'UTF16ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["stringToUTF16"])Module["stringToUTF16"]=function(){abort("'stringToUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["lengthBytesUTF16"])Module["lengthBytesUTF16"]=function(){abort("'lengthBytesUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["UTF32ToString"])Module["UTF32ToString"]=function(){abort("'UTF32ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["stringToUTF32"])Module["stringToUTF32"]=function(){abort("'stringToUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["lengthBytesUTF32"])Module["lengthBytesUTF32"]=function(){abort("'lengthBytesUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["allocateUTF8"])Module["allocateUTF8"]=function(){abort("'allocateUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["stackTrace"])Module["stackTrace"]=function(){abort("'stackTrace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["addOnPreRun"])Module["addOnPreRun"]=function(){abort("'addOnPreRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["addOnInit"])Module["addOnInit"]=function(){abort("'addOnInit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["addOnPreMain"])Module["addOnPreMain"]=function(){abort("'addOnPreMain' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["addOnExit"])Module["addOnExit"]=function(){abort("'addOnExit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["addOnPostRun"])Module["addOnPostRun"]=function(){abort("'addOnPostRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["writeStringToMemory"])Module["writeStringToMemory"]=function(){abort("'writeStringToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["writeArrayToMemory"])Module["writeArrayToMemory"]=function(){abort("'writeArrayToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["writeAsciiToMemory"])Module["writeAsciiToMemory"]=function(){abort("'writeAsciiToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["addRunDependency"])Module["addRunDependency"]=function(){abort("'addRunDependency' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")};if(!Module["removeRunDependency"])Module["removeRunDependency"]=function(){abort("'removeRunDependency' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")};if(!Module["ENV"])Module["ENV"]=function(){abort("'ENV' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["FS"])Module["FS"]=function(){abort("'FS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["FS_createFolder"])Module["FS_createFolder"]=function(){abort("'FS_createFolder' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")};if(!Module["FS_createPath"])Module["FS_createPath"]=function(){abort("'FS_createPath' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")};if(!Module["FS_createDataFile"])Module["FS_createDataFile"]=function(){abort("'FS_createDataFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")};if(!Module["FS_createPreloadedFile"])Module["FS_createPreloadedFile"]=function(){abort("'FS_createPreloadedFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")};if(!Module["FS_createLazyFile"])Module["FS_createLazyFile"]=function(){abort("'FS_createLazyFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")};if(!Module["FS_createLink"])Module["FS_createLink"]=function(){abort("'FS_createLink' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")};if(!Module["FS_createDevice"])Module["FS_createDevice"]=function(){abort("'FS_createDevice' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")};if(!Module["FS_unlink"])Module["FS_unlink"]=function(){abort("'FS_unlink' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")};if(!Module["GL"])Module["GL"]=function(){abort("'GL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["dynamicAlloc"])Module["dynamicAlloc"]=function(){abort("'dynamicAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["warnOnce"])Module["warnOnce"]=function(){abort("'warnOnce' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["loadDynamicLibrary"])Module["loadDynamicLibrary"]=function(){abort("'loadDynamicLibrary' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["loadWebAssemblyModule"])Module["loadWebAssemblyModule"]=function(){abort("'loadWebAssemblyModule' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["getLEB"])Module["getLEB"]=function(){abort("'getLEB' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["getFunctionTables"])Module["getFunctionTables"]=function(){abort("'getFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["alignFunctionTables"])Module["alignFunctionTables"]=function(){abort("'alignFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["registerFunctions"])Module["registerFunctions"]=function(){abort("'registerFunctions' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["addFunction"])Module["addFunction"]=function(){abort("'addFunction' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["removeFunction"])Module["removeFunction"]=function(){abort("'removeFunction' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["getFuncWrapper"])Module["getFuncWrapper"]=function(){abort("'getFuncWrapper' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["prettyPrint"])Module["prettyPrint"]=function(){abort("'prettyPrint' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["makeBigInt"])Module["makeBigInt"]=function(){abort("'makeBigInt' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["dynCall"])Module["dynCall"]=function(){abort("'dynCall' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["getCompilerSetting"])Module["getCompilerSetting"]=function(){abort("'getCompilerSetting' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["stackSave"])Module["stackSave"]=function(){abort("'stackSave' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["stackRestore"])Module["stackRestore"]=function(){abort("'stackRestore' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["stackAlloc"])Module["stackAlloc"]=function(){abort("'stackAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["establishStackSpace"])Module["establishStackSpace"]=function(){abort("'establishStackSpace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["print"])Module["print"]=function(){abort("'print' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["printErr"])Module["printErr"]=function(){abort("'printErr' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["getTempRet0"])Module["getTempRet0"]=function(){abort("'getTempRet0' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["setTempRet0"])Module["setTempRet0"]=function(){abort("'setTempRet0' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["Pointer_stringify"])Module["Pointer_stringify"]=function(){abort("'Pointer_stringify' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["intArrayFromBase64"])Module["intArrayFromBase64"]=function(){abort("'intArrayFromBase64' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["tryParseAsDataURI"])Module["tryParseAsDataURI"]=function(){abort("'tryParseAsDataURI' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["ALLOC_NORMAL"])Object.defineProperty(Module,"ALLOC_NORMAL",{get:function(){abort("'ALLOC_NORMAL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}});if(!Module["ALLOC_STACK"])Object.defineProperty(Module,"ALLOC_STACK",{get:function(){abort("'ALLOC_STACK' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}});if(!Module["ALLOC_DYNAMIC"])Object.defineProperty(Module,"ALLOC_DYNAMIC",{get:function(){abort("'ALLOC_DYNAMIC' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}});if(!Module["ALLOC_NONE"])Object.defineProperty(Module,"ALLOC_NONE",{get:function(){abort("'ALLOC_NONE' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}});if(memoryInitializer){if(!isDataURI(memoryInitializer)){memoryInitializer=locateFile(memoryInitializer)}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=function(data){if(data.byteLength)data=new Uint8Array(data);for(var i=0;i>2]=allocateUTF8OnStack(Module["thisProgram"]);for(var i=1;i>2)+i]=allocateUTF8OnStack(args[i-1])}HEAP32[(argv>>2)+argc]=0;try{var ret=Module["_main"](argc,argv,0);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){Module["noExitRuntime"]=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);Module["quit"](1,e)}}finally{calledMain=true}};function run(args){args=args||Module["arguments"];if(runDependencies>0){return}writeStackCookie();preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}checkStackCookie()}Module["run"]=run;function checkUnflushedContent(){var print=out;var printErr=err;var has=false;out=err=function(x){has=true};try{var flush=flush_NO_FILESYSTEM;if(flush)flush(0)}catch(e){}out=print;err=printErr;if(has){warnOnce("stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the FAQ), or make sure to emit a newline when you printf etc.");warnOnce("(this may also be due to not including full filesystem support - try building with -s FORCE_FILESYSTEM=1)")}}function exit(status,implicit){checkUnflushedContent();if(implicit&&Module["noExitRuntime"]&&status===0){return}if(Module["noExitRuntime"]){if(!implicit){err("exit("+status+") called, but EXIT_RUNTIME is not set, so halting execution but not exiting the runtime or preventing further async execution (build with EXIT_RUNTIME=1, if you want a true shutdown)")}}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}Module["quit"](status,new ExitStatus(status))}var abortDecorators=[];function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){out(what);err(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach(function(decorator){output=decorator(output,what)})}throw output}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}Module["noExitRuntime"]=true;run(); +(asmGlobalArg,asmLibraryArg,buffer);var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var ___getTypeName=Module["___getTypeName"]=asm["___getTypeName"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var ___pthread_tsd_run_dtors=Module["___pthread_tsd_run_dtors"]=asm["___pthread_tsd_run_dtors"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var __emscripten_atomic_fetch_and_add_u64=Module["__emscripten_atomic_fetch_and_add_u64"]=asm["__emscripten_atomic_fetch_and_add_u64"];var __emscripten_atomic_fetch_and_and_u64=Module["__emscripten_atomic_fetch_and_and_u64"]=asm["__emscripten_atomic_fetch_and_and_u64"];var __emscripten_atomic_fetch_and_or_u64=Module["__emscripten_atomic_fetch_and_or_u64"]=asm["__emscripten_atomic_fetch_and_or_u64"];var __emscripten_atomic_fetch_and_sub_u64=Module["__emscripten_atomic_fetch_and_sub_u64"]=asm["__emscripten_atomic_fetch_and_sub_u64"];var __emscripten_atomic_fetch_and_xor_u64=Module["__emscripten_atomic_fetch_and_xor_u64"]=asm["__emscripten_atomic_fetch_and_xor_u64"];var __register_pthread_ptr=Module["__register_pthread_ptr"]=asm["__register_pthread_ptr"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _emscripten_async_queue_call_on_thread=Module["_emscripten_async_queue_call_on_thread"]=asm["_emscripten_async_queue_call_on_thread"];var _emscripten_async_queue_on_thread_=Module["_emscripten_async_queue_on_thread_"]=asm["_emscripten_async_queue_on_thread_"];var _emscripten_async_run_in_main_thread=Module["_emscripten_async_run_in_main_thread"]=asm["_emscripten_async_run_in_main_thread"];var _emscripten_atomic_add_u64=Module["_emscripten_atomic_add_u64"]=asm["_emscripten_atomic_add_u64"];var _emscripten_atomic_and_u64=Module["_emscripten_atomic_and_u64"]=asm["_emscripten_atomic_and_u64"];var _emscripten_atomic_cas_u64=Module["_emscripten_atomic_cas_u64"]=asm["_emscripten_atomic_cas_u64"];var _emscripten_atomic_exchange_u64=Module["_emscripten_atomic_exchange_u64"]=asm["_emscripten_atomic_exchange_u64"];var _emscripten_atomic_load_f32=Module["_emscripten_atomic_load_f32"]=asm["_emscripten_atomic_load_f32"];var _emscripten_atomic_load_f64=Module["_emscripten_atomic_load_f64"]=asm["_emscripten_atomic_load_f64"];var _emscripten_atomic_load_u64=Module["_emscripten_atomic_load_u64"]=asm["_emscripten_atomic_load_u64"];var _emscripten_atomic_or_u64=Module["_emscripten_atomic_or_u64"]=asm["_emscripten_atomic_or_u64"];var _emscripten_atomic_store_f32=Module["_emscripten_atomic_store_f32"]=asm["_emscripten_atomic_store_f32"];var _emscripten_atomic_store_f64=Module["_emscripten_atomic_store_f64"]=asm["_emscripten_atomic_store_f64"];var _emscripten_atomic_store_u64=Module["_emscripten_atomic_store_u64"]=asm["_emscripten_atomic_store_u64"];var _emscripten_atomic_sub_u64=Module["_emscripten_atomic_sub_u64"]=asm["_emscripten_atomic_sub_u64"];var _emscripten_atomic_xor_u64=Module["_emscripten_atomic_xor_u64"]=asm["_emscripten_atomic_xor_u64"];var _emscripten_conditional_set_current_thread_status=Module["_emscripten_conditional_set_current_thread_status"]=asm["_emscripten_conditional_set_current_thread_status"];var _emscripten_current_thread_process_queued_calls=Module["_emscripten_current_thread_process_queued_calls"]=asm["_emscripten_current_thread_process_queued_calls"];var _emscripten_get_global_libc=Module["_emscripten_get_global_libc"]=asm["_emscripten_get_global_libc"];var _emscripten_is_main_browser_thread=Module["_emscripten_is_main_browser_thread"]=asm["_emscripten_is_main_browser_thread"];var _emscripten_is_main_runtime_thread=Module["_emscripten_is_main_runtime_thread"]=asm["_emscripten_is_main_runtime_thread"];var _emscripten_main_browser_thread_id=Module["_emscripten_main_browser_thread_id"]=asm["_emscripten_main_browser_thread_id"];var _emscripten_main_thread_process_queued_calls=Module["_emscripten_main_thread_process_queued_calls"]=asm["_emscripten_main_thread_process_queued_calls"];var _emscripten_register_main_browser_thread_id=Module["_emscripten_register_main_browser_thread_id"]=asm["_emscripten_register_main_browser_thread_id"];var _emscripten_run_in_main_runtime_thread_js=Module["_emscripten_run_in_main_runtime_thread_js"]=asm["_emscripten_run_in_main_runtime_thread_js"];var _emscripten_set_current_thread_status=Module["_emscripten_set_current_thread_status"]=asm["_emscripten_set_current_thread_status"];var _emscripten_set_thread_name=Module["_emscripten_set_thread_name"]=asm["_emscripten_set_thread_name"];var _emscripten_sync_run_in_main_thread=Module["_emscripten_sync_run_in_main_thread"]=asm["_emscripten_sync_run_in_main_thread"];var _emscripten_sync_run_in_main_thread_0=Module["_emscripten_sync_run_in_main_thread_0"]=asm["_emscripten_sync_run_in_main_thread_0"];var _emscripten_sync_run_in_main_thread_1=Module["_emscripten_sync_run_in_main_thread_1"]=asm["_emscripten_sync_run_in_main_thread_1"];var _emscripten_sync_run_in_main_thread_2=Module["_emscripten_sync_run_in_main_thread_2"]=asm["_emscripten_sync_run_in_main_thread_2"];var _emscripten_sync_run_in_main_thread_3=Module["_emscripten_sync_run_in_main_thread_3"]=asm["_emscripten_sync_run_in_main_thread_3"];var _emscripten_sync_run_in_main_thread_4=Module["_emscripten_sync_run_in_main_thread_4"]=asm["_emscripten_sync_run_in_main_thread_4"];var _emscripten_sync_run_in_main_thread_5=Module["_emscripten_sync_run_in_main_thread_5"]=asm["_emscripten_sync_run_in_main_thread_5"];var _emscripten_sync_run_in_main_thread_6=Module["_emscripten_sync_run_in_main_thread_6"]=asm["_emscripten_sync_run_in_main_thread_6"];var _emscripten_sync_run_in_main_thread_7=Module["_emscripten_sync_run_in_main_thread_7"]=asm["_emscripten_sync_run_in_main_thread_7"];var _emscripten_sync_run_in_main_thread_xprintf_varargs=Module["_emscripten_sync_run_in_main_thread_xprintf_varargs"]=asm["_emscripten_sync_run_in_main_thread_xprintf_varargs"];var _free=Module["_free"]=asm["_free"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _main=Module["_main"]=asm["_main"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _memmove=Module["_memmove"]=asm["_memmove"];var _memset=Module["_memset"]=asm["_memset"];var _proxy_main=Module["_proxy_main"]=asm["_proxy_main"];var _pthread_self=Module["_pthread_self"]=asm["_pthread_self"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var _strlen=Module["_strlen"]=asm["_strlen"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var globalCtors=Module["globalCtors"]=asm["globalCtors"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var stackSave=Module["stackSave"]=asm["stackSave"];var dynCall_i=Module["dynCall_i"]=asm["dynCall_i"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iidiiii=Module["dynCall_iidiiii"]=asm["dynCall_iidiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=asm["dynCall_iiiiiiii"];var dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=asm["dynCall_iiiiiiiii"];var dynCall_iiiiiiiiii=Module["dynCall_iiiiiiiiii"]=asm["dynCall_iiiiiiiiii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_vd=Module["dynCall_vd"]=asm["dynCall_vd"];var dynCall_vdd=Module["dynCall_vdd"]=asm["dynCall_vdd"];var dynCall_vddd=Module["dynCall_vddd"]=asm["dynCall_vddd"];var dynCall_vdddd=Module["dynCall_vdddd"]=asm["dynCall_vdddd"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vid=Module["dynCall_vid"]=asm["dynCall_vid"];var dynCall_vidd=Module["dynCall_vidd"]=asm["dynCall_vidd"];var dynCall_viddd=Module["dynCall_viddd"]=asm["dynCall_viddd"];var dynCall_vidddd=Module["dynCall_vidddd"]=asm["dynCall_vidddd"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_viid=Module["dynCall_viid"]=asm["dynCall_viid"];var dynCall_viidi=Module["dynCall_viidi"]=asm["dynCall_viidi"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_viiiiiii=Module["dynCall_viiiiiii"]=asm["dynCall_viiiiiii"];var dynCall_viiiiiiii=Module["dynCall_viiiiiiii"]=asm["dynCall_viiiiiiii"];var dynCall_viiiiiiiii=Module["dynCall_viiiiiiiii"]=asm["dynCall_viiiiiiiii"];var dynCall_viiiiiiiiii=Module["dynCall_viiiiiiiiii"]=asm["dynCall_viiiiiiiiii"];var dynCall_viiiiiiiiiii=Module["dynCall_viiiiiiiiiii"]=asm["dynCall_viiiiiiiiiii"];Module["asm"]=asm;Module["establishStackSpace"]=establishStackSpace;Module["dynCall_ii"]=dynCall_ii;if(memoryInitializer&&!ENVIRONMENT_IS_PTHREAD){if(!isDataURI(memoryInitializer)){memoryInitializer=locateFile(memoryInitializer)}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")};var doBrowserLoad=function(){Module["readAsync"](memoryInitializer,applyMemoryInitializer,function(){throw"could not load memory initializer "+memoryInitializer})};var memoryInitializerBytes=tryParseAsDataURI(memoryInitializer);if(memoryInitializerBytes){applyMemoryInitializer(memoryInitializerBytes.buffer)}else if(Module["memoryInitializerRequest"]){var useRequest=function(){var request=Module["memoryInitializerRequest"];var response=request.response;if(request.status!==200&&request.status!==0){var data=tryParseAsDataURI(Module["memoryInitializerRequestURL"]);if(data){response=data.buffer}else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}}applyMemoryInitializer(response)};if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=function callMain(args){args=args||[];ensureInitRuntime();var argc=args.length+1;var argv=stackAlloc((argc+1)*4);HEAP32[argv>>2]=allocateUTF8OnStack(Module["thisProgram"]);for(var i=1;i>2)+i]=allocateUTF8OnStack(args[i-1])}HEAP32[(argv>>2)+argc]=0;try{var ret=Module["_main"](argc,argv,0);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){Module["noExitRuntime"]=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);Module["quit"](1,e)}}finally{calledMain=true}};function run(args){args=args||Module["arguments"];if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]&&status===0){return}if(Module["noExitRuntime"]){}else{PThread.terminateAllThreads();ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}Module["quit"](status,new ExitStatus(status))}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(ENVIRONMENT_IS_PTHREAD)console.error("Pthread aborting at "+(new Error).stack);if(what!==undefined){out(what);err(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}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}if(!ENVIRONMENT_IS_PTHREAD)Module["noExitRuntime"]=true;if(!ENVIRONMENT_IS_PTHREAD)run(); diff --git a/public/H5LiveClient.worker.js b/public/H5LiveClient.worker.js new file mode 100644 index 00000000..6f7e4167 --- /dev/null +++ b/public/H5LiveClient.worker.js @@ -0,0 +1,163 @@ +// Copyright 2015 The Emscripten Authors. All rights reserved. +// Emscripten is available under two separate licenses, the MIT license and the +// University of Illinois/NCSA Open Source License. Both these licenses can be +// found in the LICENSE file. + +// Pthread Web Worker startup routine: +// This is the entry point file that is loaded first by each Web Worker +// that executes pthreads on the Emscripten application. + +// Thread-local: +var threadInfoStruct = 0; // Info area for this thread in Emscripten HEAP (shared). If zero, this worker is not currently hosting an executing pthread. +var selfThreadId = 0; // The ID of this thread. 0 if not hosting a pthread. +var parentThreadId = 0; // The ID of the parent pthread that launched this thread. +var tempDoublePtr = 0; // A temporary memory area for global float and double marshalling operations. + +// Thread-local: Each thread has its own allocated stack space. +var STACK_BASE = 0; +var STACKTOP = 0; +var STACK_MAX = 0; + +// These are system-wide memory area parameters that are set at main runtime startup in main thread, and stay constant throughout the application. +var buffer; // All pthreads share the same Emscripten HEAP as SharedArrayBuffer with the main execution thread. +var DYNAMICTOP_PTR = 0; +var DYNAMIC_BASE = 0; + +var ENVIRONMENT_IS_PTHREAD = true; +var PthreadWorkerInit = {}; + +// performance.now() is specced to return a wallclock time in msecs since that Web Worker/main thread launched. However for pthreads this can cause +// subtle problems in emscripten_get_now() as this essentially would measure time from pthread_create(), meaning that the clocks between each threads +// would be wildly out of sync. Therefore sync all pthreads to the clock on the main browser thread, so that different threads see a somewhat +// coherent clock across each of them (+/- 0.1msecs in testing) +var __performance_now_clock_drift = 0; + +// Cannot use console.log or console.error in a web worker, since that would risk a browser deadlock! https://bugzilla.mozilla.org/show_bug.cgi?id=1049091 +// Therefore implement custom logging facility for threads running in a worker, which queue the messages to main thread to print. +var Module = {}; + + +// When error objects propagate from Web Worker to main thread, they lose helpful call stack and thread ID information, so print out errors early here, +// before that happens. +this.addEventListener('error', function(e) { + if (e.message.indexOf('SimulateInfiniteLoop') != -1) return e.preventDefault(); + + var errorSource = ' in ' + e.filename + ':' + e.lineno + ':' + e.colno; + console.error('Pthread ' + selfThreadId + ' uncaught exception' + (e.filename || e.lineno || e.colno ? errorSource : "") + ': ' + e.message + '. Error object:'); + console.error(e.error); +}); + +function threadPrint() { + var text = Array.prototype.slice.call(arguments).join(' '); + console.log(text); +} +function threadPrintErr() { + var text = Array.prototype.slice.call(arguments).join(' '); + console.error(text); + console.error(new Error().stack); +} +function threadAlert() { + var text = Array.prototype.slice.call(arguments).join(' '); + postMessage({cmd: 'alert', text: text, threadId: selfThreadId}); +} +out = threadPrint; +err = threadPrintErr; +this.alert = threadAlert; + + +var wasmModule; +var wasmMemory; + +this.onmessage = function(e) { + try { + if (e.data.cmd === 'load') { // Preload command that is called once per worker to parse and load the Emscripten code. + // Initialize the thread-local field(s): + tempDoublePtr = e.data.tempDoublePtr; + + // Initialize the global "process"-wide fields: + DYNAMIC_BASE = e.data.DYNAMIC_BASE; + DYNAMICTOP_PTR = e.data.DYNAMICTOP_PTR; + + buffer = e.data.buffer; + + + + PthreadWorkerInit = e.data.PthreadWorkerInit; + + if (typeof e.data.urlOrBlob === 'string') { + importScripts(e.data.urlOrBlob); + } else { + var objectUrl = URL.createObjectURL(e.data.urlOrBlob); + importScripts(objectUrl); + URL.revokeObjectURL(objectUrl); + } + + + if (typeof FS !== 'undefined' && typeof FS.createStandardStreams === 'function') FS.createStandardStreams(); + postMessage({ cmd: 'loaded' }); + } else if (e.data.cmd === 'objectTransfer') { + PThread.receiveObjectTransfer(e.data); + } else if (e.data.cmd === 'run') { // This worker was idle, and now should start executing its pthread entry point. + __performance_now_clock_drift = performance.now() - e.data.time; // Sync up to the clock of the main thread. + threadInfoStruct = e.data.threadInfoStruct; + __register_pthread_ptr(threadInfoStruct, /*isMainBrowserThread=*/0, /*isMainRuntimeThread=*/0); // Pass the thread address inside the asm.js scope to store it for fast access that avoids the need for a FFI out. + selfThreadId = e.data.selfThreadId; + parentThreadId = e.data.parentThreadId; + // Establish the stack frame for this thread in global scope + STACK_BASE = STACKTOP = e.data.stackBase; + STACK_MAX = STACK_BASE + e.data.stackSize; + // Call inside asm.js/wasm module to set up the stack frame for this pthread in asm.js/wasm module scope + Module['establishStackSpace'](e.data.stackBase, e.data.stackBase + e.data.stackSize); + + PThread.receiveObjectTransfer(e.data); + PThread.setThreadStatus(_pthread_self(), 1/*EM_THREAD_STATUS_RUNNING*/); + + try { + // pthread entry points are always of signature 'void *ThreadMain(void *arg)' + // Native codebases sometimes spawn threads with other thread entry point signatures, + // such as void ThreadMain(void *arg), void *ThreadMain(), or void ThreadMain(). + // That is not acceptable per C/C++ specification, but x86 compiler ABI extensions + // enable that to work. If you find the following line to crash, either change the signature + // to "proper" void *ThreadMain(void *arg) form, or try linking with the Emscripten linker + // flag -s EMULATE_FUNCTION_POINTER_CASTS=1 to add in emulation for this x86 ABI extension. + var result = Module['dynCall_ii'](e.data.start_routine, e.data.arg); + + + } catch(e) { + if (e === 'Canceled!') { + PThread.threadCancel(); + return; + } else if (e === 'SimulateInfiniteLoop' || e === 'pthread_exit') { + return; + } else { + Atomics.store(HEAPU32, (threadInfoStruct + 4 /*C_STRUCTS.pthread.threadExitCode*/ ) >> 2, (e instanceof ExitStatus) ? e.status : -2 /*A custom entry specific to Emscripten denoting that the thread crashed.*/); + Atomics.store(HEAPU32, (threadInfoStruct + 0 /*C_STRUCTS.pthread.threadStatus*/ ) >> 2, 1); // Mark the thread as no longer running. + _emscripten_futex_wake(threadInfoStruct + 0 /*C_STRUCTS.pthread.threadStatus*/, 0x7FFFFFFF/*INT_MAX*/); // Wake all threads waiting on this thread to finish. + if (!(e instanceof ExitStatus)) throw e; + } + } + // The thread might have finished without calling pthread_exit(). If so, then perform the exit operation ourselves. + // (This is a no-op if explicit pthread_exit() had been called prior.) + if (!Module['noExitRuntime']) PThread.threadExit(result); + } else if (e.data.cmd === 'cancel') { // Main thread is asking for a pthread_cancel() on this thread. + if (threadInfoStruct && PThread.thisThreadCancelState == 0/*PTHREAD_CANCEL_ENABLE*/) { + PThread.threadCancel(); + } + } else if (e.data.target === 'setimmediate') { + // no-op + } else if (e.data.cmd === 'processThreadQueue') { + if (threadInfoStruct) { // If this thread is actually running? + _emscripten_current_thread_process_queued_calls(); + } + } else { + err('worker.js received unknown command ' + e.data.cmd); + console.error(e.data); + } + } catch(e) { + console.error('worker.js onmessage() captured an uncaught exception: ' + e); + console.error(e.stack); + throw e; + } +} + + diff --git a/public/ff_mp3.js b/public/ff_mp3.js index 79a03922..d5d7cb2f 100644 --- a/public/ff_mp3.js +++ b/public/ff_mp3.js @@ -1,23 +1,23 @@ -var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module["arguments"]=[];Module["thisProgram"]="./this.program";Module["quit"]=function(status,toThrow){throw toThrow};Module["preRun"]=[];Module["postRun"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;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(Module["ENVIRONMENT"]){throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -s ENVIRONMENT=web or -s ENVIRONMENT=node)")}var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}else{return scriptDirectory+path}}if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+"/";var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);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};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);Module["quit"]=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=function(status){quit(status)}}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}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);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};Module["setWindowTitle"]=function(title){document.title=title}}else{throw new Error("environment detection error")}var out=Module["print"]||(typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null);var err=Module["printErr"]||(typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||out);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;assert(typeof Module["memoryInitializerPrefixURL"]==="undefined","Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["pthreadMainPrefixURL"]==="undefined","Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["cdInitializerPrefixURL"]==="undefined","Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["filePackagePrefixURL"]==="undefined","Module.filePackagePrefixURL option was removed, use Module.locateFile instead");var STACK_ALIGN=16;stackSave=stackRestore=stackAlloc=function(){abort("cannot use the stack before compiled code is ready to run, and has provided stack access")};function dynamicAlloc(size){assert(DYNAMICTOP_PTR);var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end<=_emscripten_get_heap_size()){HEAP32[DYNAMICTOP_PTR>>2]=end}else{return 0}return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var jsCallStartIndex=1;var functionPointers=new Array(0);var funcWrappers={};function makeBigInt(low,high,unsigned){return unsigned?+(low>>>0)+ +(high>>>0)*4294967296:+(low>>>0)+ +(high|0)*4294967296}function dynCall(sig,ptr,args){if(args&&args.length){assert(args.length==sig.length-1);assert("dynCall_"+sig in Module,"bad function pointer type - no table for sig '"+sig+"'");return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{assert(sig.length==1);assert("dynCall_"+sig in Module,"bad function pointer type - no table for sig '"+sig+"'");return Module["dynCall_"+sig].call(null,ptr)}}var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var getTempRet0=function(){return tempRet0};var GLOBAL_BASE=8;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string")return UTF8ToString(ret);if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;assert(returnType!=="array",'Return type should not be "array".');if(args){for(var i=0;i>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)}}var ALLOC_NORMAL=0;var ALLOC_NONE=3;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,stackAlloc,dynamicAlloc][allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;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=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}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){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&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(outIdx+3>=endIdx)break;if(u>=2097152)warnOnce("Invalid Unicode code point 0x"+u.toString(16)+" encountered when serializing a JS string to an UTF-8 string on the asm.js/wasm heap! (Valid unicode code points should be in range 0-0x1FFFFF).");outU8Array[outIdx++]=240|u>>18;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){assert(typeof maxBytesToWrite=="number","stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!");return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}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 len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8Array(str,HEAP8,ret,size);return ret}function allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}function writeArrayToMemory(array,buffer){assert(array.length>=0,"writeArrayToMemory array must have a length (should be an array or typed array)");HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}function demangle(func){warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}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)}var PAGE_SIZE=16384;var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STACK_BASE=262352,STACK_MAX=5505232,DYNAMIC_BASE=5505232,DYNAMICTOP_PTR=262320;assert(STACK_BASE%16===0,"stack must start aligned");assert(DYNAMIC_BASE%16===0,"heap must start aligned");var TOTAL_STACK=5242880;if(Module["TOTAL_STACK"])assert(TOTAL_STACK===Module["TOTAL_STACK"],"the stack size can no longer be determined at runtime");var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||67108864;if(INITIAL_TOTAL_MEMORY>2]=DYNAMIC_BASE;function writeStackCookie(){assert((STACK_MAX&3)==0);HEAPU32[(STACK_MAX>>2)-1]=34821223;HEAPU32[(STACK_MAX>>2)-2]=2310721022}function checkStackCookie(){if(HEAPU32[(STACK_MAX>>2)-1]!=34821223||HEAPU32[(STACK_MAX>>2)-2]!=2310721022){abort("Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x02135467, but received 0x"+HEAPU32[(STACK_MAX>>2)-2].toString(16)+" "+HEAPU32[(STACK_MAX>>2)-1].toString(16))}if(HEAP32[0]!==1668509029)throw"Runtime error: The application has corrupted its heap memory area (address zero)!"}function abortStackOverflow(allocSize){abort("Stack overflow! Attempted to allocate "+allocSize+" bytes on the stack, but stack has only "+(STACK_MAX-stackSave()+allocSize)+" bytes available!")}HEAP32[0]=1668509029;HEAP16[1]=25459;if(HEAPU8[2]!==115||HEAPU8[3]!==99)throw"Runtime error: expected the system to be little-endian!";function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){checkStackCookie();if(runtimeInitialized)return;runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){checkStackCookie();FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){checkStackCookie();runtimeExited=true}function postRun(){checkStackCookie();if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<=half&&(bits<=32||value>half)){value=-2*half+value}return value}assert(Math.imul,"This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.fround,"This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.clz32,"This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.trunc,"This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");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_exp=Math.exp;var Math_log=Math.log;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;var runDependencyTracking={};function getUniqueRunDependency(id){var orig=id;while(1){if(!runDependencyTracking[id])return id;id=orig+Math.random()}return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(id){assert(!runDependencyTracking[id]);runDependencyTracking[id]=1;if(runDependencyWatcher===null&&typeof setInterval!=="undefined"){runDependencyWatcher=setInterval(function(){if(ABORT){clearInterval(runDependencyWatcher);runDependencyWatcher=null;return}var shown=false;for(var dep in runDependencyTracking){if(!shown){shown=true;err("still waiting on run dependencies:")}err("dependency: "+dep)}if(shown){err("(end of list)")}},1e4)}}else{err("warning: run dependency added without ID")}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(id){assert(runDependencyTracking[id]);delete runDependencyTracking[id]}else{err("warning: run dependency removed without ID")}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}__ATINIT__.push({func:function(){globalCtors()}});memoryInitializer="data:application/octet-stream;base64,AAAAAAAAAAAI5QAASOUAAEjlAABI5QAASOUAAAAAAAAAAAAAAAAAAAjlAABQ5QAAUOUAAEjlAAACAADAAwAAwAQAAMAFAADABgAAwAcAAMAIAADACQAAwAoAAMALAADADAAAwA0AAMAOAADADwAAwBAAAMARAADAEgAAwBMAAMAUAADAFQAAwBYAAMAXAADAGAAAwBkAAMAaAADAGwAAwBwAAMAdAADAHgAAwB8AAMAAAACzAQAAwwIAAMMDAADDBAAAwwUAAMMGAADDBwAAwwgAAMMJAADDCgAAwwsAAMMMAADDDQAA0w4AAMMPAADDAAAMuwEADMMCAAzDAwAMwwQADNMAAAAA/////////////////////////////////////////////////////////////////wABAgMEBQYHCAn/////////CgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiP///////8KCwwNDg8QERITFBUWFxgZGhscHR4fICEiI/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAAAAAAAAAAAAAAAAAAARAAoAERERAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABEADwoREREDCgcAARMJCwsAAAkGCwAACwAGEQAAABEREQAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAARAAoKERERAAoAAAIACQsAAAAJAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAA0AAAAEDQAAAAAJDgAAAAAADgAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAPAAAAAA8AAAAACRAAAAAAABAAABAAABIAAAASEhIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAABISEgAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AQAAAAAAAAAEAAAAAQAAAAAAAAAIAAAAAwAAAAcAAAACAAAAAAAAAAQAAAADAAAAAAAAAAgAAAADAAAABwAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdvkBAAMAAAAgAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAIAAAAAgAAAAcAAAABAAAAAAAAAAMAAAABAAAAAAAAAAgAAAACAAAABwAAAAIAAAAAAAAAAwAAAAIAAAAAAAAACAAAAAIAAAAHAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8+QEAAwAAACAAAAAAAAAAAAAAAAMAAAACAAAAAAAAAAgAAAACAAAABwAAAAMAAAAAAAAAAwAAAAEAAAAAAAAACAAAAAIAAAAHAAAAAgAAAAAAAAADAAAAAAAAAAAAAAAIAAAAAgAAAAcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIL5AQADAQAAEAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAgAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAivkBAAMAAAAQAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAACAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACS+QEAAwICABAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAABAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAIAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJr5AQADAgAAEAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAgAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARoQCAAEAAABAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAovkBAAAAAACr+QEAAQAAAAQAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALH5AQABAAAABAAAAAAAAAAAAAAAAQAAAAAAAAAHAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAt/kBAAEAAAACAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC8+QEAAwEBABAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAABAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAIAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMX5AQADAQAAEAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAgAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzvkBAAMAAAAQAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAACAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADX+QEAAwEAAAAAAAAAAAAAAAAAAAIAAAABAAAAAAAAAAgAAAABAAAABwAAAAIAAAAAAAAABAAAAAAAAAAAAAAACAAAAAMAAAAHAAAAAQAAAAAAAAAEAAAAAgAAAAAAAAAIAAAAAwAAAAcAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN/5AQADAgAAAAAAAAAAAAAAAAAABAAAAAEAAAAAAAAACAAAAAMAAAAHAAAAAgAAAAAAAAAGAAAAAAAAAAAAAAAIAAAABQAAAAcAAAABAAAAAAAAAAYAAAADAAAAAAAAAAgAAAAFAAAABwAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6fkBAAMAAABgAAAAAAAAAAAAAAABAAAAAAAAAAAAAAADAAAAAAAAAAIAAAABAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAAAAAAAAgAAAAEAAAAAAAAAAQAAAAAAAAAGAAAAAgAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADu+QEAAwAAACQAAAAAAAAAAAAAAAQAAAADAAAAAAAAAAEAAAADAAAAAAAAAAQAAAAAAAAABAAAAAEAAAAAAAAAAgAAAAMAAAABAAAAAgAAAAAAAAAEAAAAAAAAAAAAAAABAAAAAwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPP5AQADAAAAYAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAACAAAAAAAAAAEAAAABAAAAAAAAAAEAAAAAAAAAAwAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/fkBAAMAAABgAAAAAAAAAAAAAAABAAAAAAAAAAYAAAACAAAAAAAAAAEAAAABAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAAAAAAAAgAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAwAAAAAAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC+gEAAwAAACQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAEAAAADAAAAAAAAAAEAAAAAAAAABAAAAAEAAAAAAAAAAgAAAAMAAAABAAAAAgAAAAAAAAAEAAAAAwAAAAAAAAABAAAAAwAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf6AQADAAAAYAAAAAAAAAAAAAAAAQAAAAAAAAADAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAACAAAAAAAAAAEAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEfoBAAMBAQAQAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAgAAAABAAAABwAAAAEAAAABAAAAAgAAAAEAAAAAAAAACAAAAAEAAAAHAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAW+gEAAwEBABAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAABAAAAAgAAAAEAAAAAAAAACAAAAAEAAAAHAAAAAgAAAAEAAAACAAAAAAAAAAAAAAAIAAAAAQAAAAcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABv6AQAEAAAAoAAAAAAAAAAAAAAABAAAAAEAAAAAAAAACAAAAAMAAAAHAAAAAgAAAAAAAAAEAAAAAgAAAAAAAAAIAAAAAwAAAAcAAAADAAAAAAAAAAQAAAADAAAAAAAAAAgAAAADAAAABwAAAAQAAAAAAAAABAAAAAAAAAAAAAAACAAAAAMAAAAHAAAAAQAAAAAAAAAAAAAAIPoBAAQAAACgAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAIAAAAAwAAAAcAAAABAAAAAAAAAAQAAAABAAAAAAAAAAgAAAADAAAABwAAAAIAAAAAAAAABAAAAAIAAAAAAAAACAAAAAMAAAAHAAAAAwAAAAAAAAAEAAAAAwAAAAAAAAAIAAAAAwAAAAcAAAAEAAAAAAAAAAAAAAAl+gEABAAAAKAAAAAAAAAAAAAAAAQAAAADAAAAAAAAAAgAAAADAAAABwAAAAQAAAAAAAAABAAAAAIAAAAAAAAACAAAAAMAAAAHAAAAAwAAAAAAAAAEAAAAAQAAAAAAAAAIAAAAAwAAAAcAAAACAAAAAAAAAAQAAAAAAAAAAAAAAAgAAAADAAAABwAAAAEAAAAAAAAAAAAAACr6AQAEAAAAoAAAAAAAAAAAAAAABAAAAAIAAAAAAAAACAAAAAMAAAAHAAAAAwAAAAAAAAAEAAAAAQAAAAAAAAAIAAAAAwAAAAcAAAACAAAAAAAAAAQAAAAAAAAAAAAAAAgAAAADAAAABwAAAAEAAAAAAAAABAAAAAMAAAAAAAAACAAAAAMAAAAHAAAABAAAAAAAAAAAAAAAL/oBAAEAAAABAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPoBAAAAAAA++gEAAQAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABH+gEAAAAAAE36AQADAAEAEAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAgAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVfoBAAMAAQAQAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAACAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABe+gEABAEBAJAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAABAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAIAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAwAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAAAAAAAAAAAAGf6AQADAAAAIQAAAAAAAAAAAAAABgAAAAAAAAAAAAAAEAAAAAUAAAAPAAAAAQAAAAAAAAAGAAAAAgAAAAAAAAAQAAAABQAAAA8AAAADAAAAAAAAAAYAAAAEAAAAAAAAABAAAAAFAAAADwAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAb/oBAAMAAAAgAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAQAAAABQAAAA8AAAABAAAAAAAAAAYAAAACAAAAAAAAABAAAAAFAAAADwAAAAMAAAAAAAAABgAAAAQAAAAAAAAAEAAAAAUAAAAPAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB3+gEAAwAAACEAAAAAAAAAAAAAAAIAAAD/////AwAAAAUAAAABAAAABAAAAAAAAAAAAAAAAgAAAAAAAAAFAAAABgAAAAEAAAAFAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAFAAAAAQAAAAQAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAID6AQADAAAAIAAAAAAAAAAAAAAAAgAAAAEAAAADAAAABQAAAAEAAAAEAAAAAgAAAAAAAAACAAAAAAAAAAUAAAAGAAAAAQAAAAUAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAUAAAABAAAABAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAifoBAAMAAAAhAAAAAAAAAAAAAAACAAAA/////wIAAAAFAAAAAQAAAAQAAAAAAAAAAAAAAAIAAAAAAAAABQAAAAUAAAABAAAABAAAAAEAAAAAAAAAAgAAAAAAAAAAAAAABQAAAAEAAAAEAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACS+gEAAwAAACAAAAAAAAAAAAAAAAIAAAABAAAAAgAAAAUAAAABAAAABAAAAAIAAAAAAAAAAgAAAAAAAAAFAAAABQAAAAEAAAAEAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAFAAAAAQAAAAQAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJv6AQADAAAAIQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAABQAAAAEAAAAEAAAAAQAAAAAAAAACAAAAAAAAAAUAAAAGAAAAAQAAAAUAAAABAAAAAAAAAAIAAAD/////AwAAAAUAAAABAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApPoBAAMAAAAgAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAFAAAAAQAAAAQAAAABAAAAAAAAAAIAAAAAAAAABQAAAAYAAAABAAAABQAAAAEAAAAAAAAAAgAAAAEAAAADAAAABQAAAAEAAAAEAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACt+gEAAwAAACEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAUAAAABAAAABAAAAAEAAAAAAAAAAgAAAAAAAAAFAAAABQAAAAEAAAAEAAAAAQAAAAAAAAACAAAA/////wIAAAAFAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALb6AQADAAAAIAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAABQAAAAEAAAAEAAAAAQAAAAAAAAACAAAAAAAAAAUAAAAFAAAAAQAAAAQAAAABAAAAAAAAAAIAAAABAAAAAgAAAAUAAAABAAAABAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv/oBAAABAQAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADK+gEAAAEBAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANX6AQAAAQEACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3/oBAAMBAQAQAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAQAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAACAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADr+gEAAwEBABEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAABAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPf6AQADAQAAEAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAgAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/sBAAMBAAARAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAQAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAACAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+wEAAwAAABAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAABAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABv7AQADAAAAEQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAgAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ/sBAAABAQAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAx+wEAAwAAACAAAAAAAAAAAAAAAAIAAAABAAAAAAAAAAQAAAABAAAAAwAAAAIAAAAAAAAAAgAAAAAAAAAEAAAABAAAAAEAAAADAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAEAAAAAQAAAAMAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADr7AQADAAAAIQAAAAAAAAAAAAAAAgAAAP////8AAAAABAAAAAEAAAADAAAAAAAAAAAAAAACAAAAAAAAAAQAAAAEAAAAAQAAAAMAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQ/sBAAMAAAAgAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAEAAAAAQAAAAMAAAABAAAAAAAAAAIAAAAAAAAABAAAAAQAAAABAAAAAwAAAAEAAAAAAAAAAgAAAAEAAAAAAAAABAAAAAEAAAADAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABM+wEAAwAAACEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABAAAAAwAAAAEAAAAAAAAAAgAAAAAAAAAEAAAABAAAAAEAAAADAAAAAQAAAAAAAAACAAAA/////wAAAAAEAAAAAQAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFX7AQACAAAAgAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACAAAAAEAAAAHAAAAAQAAAAAAAAACAAAAAQAAAAAAAAAIAAAAAQAAAAcAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFn7AQAAAAAAYPsBAAMAAAAhAAAAAAAAAAAAAAAGAAAABAAAAAAAAAAQAAAABQAAAA8AAAAFAAAAAAAAAAYAAAACAAAAAAAAABAAAAAFAAAADwAAAAMAAAAAAAAABgAAAAAAAAAAAAAAEAAAAAUAAAAPAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABo+wEAAwAAACAAAAAAAAAAAAAAAAYAAAAEAAAAAAAAABAAAAAFAAAADwAAAAUAAAAAAAAABgAAAAIAAAAAAAAAEAAAAAUAAAAPAAAAAwAAAAAAAAAGAAAAAAAAAAAAAAAQAAAABQAAAA8AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHD7AQADAQEAEQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAe/sBAAMBAQAQAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAACAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACG+wEAAwEBABEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAABAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJL7AQADAQEAEAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnvsBAAMBAAARAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAACAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACq+wEAAwEAABAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAABAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALb7AQADAAAAEQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwfsBAAMAAAAQAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAACAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADM+wEAAwAAABEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAABAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANj7AQADAAAAEAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5PsBAAMBAAARAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAACAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADv+wEAAwEAABAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAABAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPr7AQADAAAAMAAAAAAAAAACAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//sBAAMAAAAxAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAABAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH/AEAAwAAADAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAAAAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/8AQADAAAAMQAAAAAAAAACAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGPwBAAMAAAAwAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAABAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAh/AEAAwAAADEAAAAAAAAAAgAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAAAAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACr8AQADAAAAMAAAAAAAAAACAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAQAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM/wBAAQBAACQAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAACAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAMAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAAAAAAAAAAA8/AEABAAAAJAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAABAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAIAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAwAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAAAAAAAAAAAAEX8AQAEAQEAkQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAADAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAAAAAAAAAAAUfwBAAQBAQCQAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAACAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAMAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAAAAAAAAAABd/AEABAEAAJEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAABAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAwAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAAAAAAAAAAAAGn8AQAEAQAAkAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAADAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAAAAAAAAAAAdfwBAAQAAACRAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAACAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAMAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAAAAAAAAAACB/AEABAAAAJAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAABAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAwAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAAAAAAAAAAAAI38AQAEAQEAkQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAADAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAAAAAAAAAAAmvwBAAQBAQCQAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAACAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAMAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAAAAAAAAAACn/AEABAEAAJEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAABAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAwAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAAAAAAAAAAAALT8AQAEAQAAkAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAADAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAAAAAAAAAAAwfwBAAQAAACRAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAACAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAMAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAAAAAAAAAADO/AEABAAAAJAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAABAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAwAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAAAAAAAAAAAANv8AQAEAQEAkQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAgAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAADAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAAAAAAAAAAA6PwBAAQBAQCQAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAQAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAACAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAMAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAAAAAAAAAAD1/AEABAEAAJEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAABAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAwAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAAAAAAAAAAAAAL9AQAEAQAAkAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAgAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAADAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAAAAAAAAAAAD/0BAAQAAACRAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAQAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAACAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAMAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAAAAAAAAAAAc/QEABAAAAJAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAABAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAwAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAAAAAAAAAAAACn9AQAAAQEACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL/0BAAMAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAQAAAAMAAAABQAAAAsAAAABAAAAAAAAAAYAAAACAAAABAAAAAwAAAAFAAAACwAAAAMAAAAAAAAABgAAAAQAAAAEAAAADAAAAAUAAAALAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3/QEAAwAAAAEAAAAAAAAAAAAAAAYAAAAAAAAABAAAAAwAAAAFAAAACwAAAAEAAAAAAAAABgAAAAIAAAAEAAAADAAAAAUAAAALAAAAAwAAAAAAAAAGAAAABAAAAAQAAAAMAAAABQAAAAsAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9AQADAQAAEAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAIAAAAAQAAAAcAAAABAAAAAQAAAAIAAAABAAAAAAAAAAgAAAABAAAABwAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARP0BAAMBAAAQAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAQAAAAQAAAAAAAAAAAAAAAoAAAADAAAACQAAAAEAAAABAAAABAAAAAIAAAAAAAAACgAAAAMAAAAJAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABL/QEAAwEAABEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAABAAAABAAAAAAAAAAAAAAACgAAAAMAAAAJAAAAAQAAAAEAAAAEAAAAAgAAAAAAAAAKAAAAAwAAAAkAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFL9AQAEAAAAoQAAAAAAAAAAAAAACAAAAAAAAAAAAAAAEAAAAAcAAAAPAAAAAQAAAAAAAAAIAAAAAgAAAAAAAAAQAAAABwAAAA8AAAADAAAAAAAAAAgAAAAEAAAAAAAAABAAAAAHAAAADwAAAAUAAAAAAAAACAAAAAYAAAAAAAAAEAAAAAcAAAAPAAAABwAAAAAAAAAAAAAAW/0BAAQAAACgAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABwAAAA8AAAABAAAAAAAAAAgAAAACAAAAAAAAABAAAAAHAAAADwAAAAMAAAAAAAAACAAAAAQAAAAAAAAAEAAAAAcAAAAPAAAABQAAAAAAAAAIAAAABgAAAAAAAAAQAAAABwAAAA8AAAAHAAAAAAAAAAAAAABk/QEABAAAAKEAAAAAAAAAAAAAAAgAAAAEAAAAAAAAABAAAAAHAAAADwAAAAUAAAAAAAAACAAAAAIAAAAAAAAAEAAAAAcAAAAPAAAAAwAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABwAAAA8AAAABAAAAAAAAAAgAAAAGAAAAAAAAABAAAAAHAAAADwAAAAcAAAAAAAAAAAAAAG39AQAEAAAAoAAAAAAAAAAAAAAACAAAAAQAAAAAAAAAEAAAAAcAAAAPAAAABQAAAAAAAAAIAAAAAgAAAAAAAAAQAAAABwAAAA8AAAADAAAAAAAAAAgAAAAAAAAAAAAAABAAAAAHAAAADwAAAAEAAAAAAAAACAAAAAYAAAAAAAAAEAAAAAcAAAAPAAAABwAAAAAAAAAAAAAAdv0BAAMBAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAIAAAAAQAAAAcAAAABAAAAAAAAAAQAAAADAAAAAAAAAAgAAAADAAAABwAAAAQAAAAAAAAABAAAAAEAAAAAAAAACAAAAAMAAAAHAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+/QEAAgAAAIEAAAAAAAAAAAAAAAQAAAAAAAAAAAAAABAAAAADAAAADwAAAAEAAAAAAAAABAAAAAIAAAAAAAAAEAAAAAMAAAAPAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIX9AQACAAAAgAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAEAAAAAMAAAAPAAAAAQAAAAAAAAAEAAAAAgAAAAAAAAAQAAAAAwAAAA8AAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjP0BAAQAAACwAAAAAAAAAAIAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAABAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAMAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAAAAAAAAAACS/QEABAAAALEAAAAAAAAAAgAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAAAAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAwAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAAAAAAAAAAAAJz9AQAEAAAAsAAAAAAAAAACAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAQAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAADAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAAAAAAAAAAApv0BAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACq/QEAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK/9AQAAAQEACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAu/0BAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADA/QEAAwAAACAAAAAAAAAAAAAAAAQAAAABAAAAAAAAAAgAAAADAAAABwAAAAIAAAAAAAAABAAAAAIAAAAAAAAACAAAAAMAAAAHAAAAAwAAAAAAAAAEAAAAAwAAAAAAAAAIAAAAAwAAAAcAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMX9AQADAAAAIAAAAAAAAAAAAAAABAAAAAAAAAAAAAAACAAAAAMAAAAHAAAAAQAAAAAAAAAEAAAAAQAAAAAAAAAIAAAAAwAAAAcAAAACAAAAAAAAAAQAAAACAAAAAAAAAAgAAAADAAAABwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAyv0BAAMAAAAgAAAAAAAAAAAAAAAEAAAAAwAAAAAAAAAIAAAAAwAAAAcAAAAEAAAAAAAAAAQAAAACAAAAAAAAAAgAAAADAAAABwAAAAMAAAAAAAAABAAAAAEAAAAAAAAACAAAAAMAAAAHAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADP/QEAAwAAACAAAAAAAAAAAAAAAAQAAAACAAAAAAAAAAgAAAADAAAABwAAAAMAAAAAAAAABAAAAAEAAAAAAAAACAAAAAMAAAAHAAAAAgAAAAAAAAAEAAAAAAAAAAAAAAAIAAAAAwAAAAcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANT9AQADAQEAEQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4P0BAAMBAQAQAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAACAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADs/QEAAwEBABEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAA4AAAABAAAADQAAAAEAAAABAAAAAgAAAAAAAAAAAAAADgAAAAEAAAANAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAOAAAAAQAAAA0AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPj9AQADAQEAEAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAADgAAAAEAAAANAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAOAAAAAQAAAA0AAAABAAAAAgAAAAIAAAAAAAAAAAAAAA4AAAABAAAADQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABP4BAAMBAAARAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAACAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQ/gEAAwEAABAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAABAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABz+AQADAQAAEQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAADgAAAAEAAAANAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAOAAAAAQAAAA0AAAABAAAAAgAAAAIAAAAAAAAAAAAAAA4AAAABAAAADQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKP4BAAMBAAAQAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAOAAAAAQAAAA0AAAABAAAAAQAAAAIAAAAAAAAAAAAAAA4AAAABAAAADQAAAAEAAAACAAAAAgAAAAAAAAAAAAAADgAAAAEAAAANAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0/gEAAwAAABEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAABAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAED+AQADAAAAEAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATP4BAAMAAAARAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAOAAAAAQAAAA0AAAABAAAAAQAAAAIAAAAAAAAAAAAAAA4AAAABAAAADQAAAAEAAAACAAAAAgAAAAAAAAAAAAAADgAAAAEAAAANAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABY/gEAAwAAABAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAA4AAAABAAAADQAAAAEAAAABAAAAAgAAAAAAAAAAAAAADgAAAAEAAAANAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAOAAAAAQAAAA0AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGT+AQADAAAAMQAAAAAAAAACAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbf4BAAMAAAAwAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAABAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB2/gEAAwAAADEAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAA4AAAABAAAADQAAAAEAAAAAAAAAAgAAAAAAAAAAAAAADgAAAAEAAAANAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAOAAAAAQAAAA0AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH/+AQADAAAAMAAAAAAAAAACAAAAAgAAAAAAAAAAAAAADgAAAAEAAAANAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAOAAAAAQAAAA0AAAABAAAAAQAAAAIAAAAAAAAAAAAAAA4AAAABAAAADQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiP4BAAMCAAAQAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAACAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACR/gEAAwAAACABAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAIAAAAAAAAAAQAAAAEAAAAAAAAAAQAAAAAAAAAAAAAABAAAAAAAAAADAAAAAQAAAAAAAAABAAAAAAAAAAAAAAACAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ3+AQADAAAAIAEAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAgAAAAAAAAABAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAEAAAAAAAAAAMAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAIAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqf4BAAMAAAAgAQAAAAAAAAAAAAABAAAAAAAAAAAAAAACAAAAAAAAAAEAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAQAAAAAAAAAAwAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAgAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC1/gEAAwAAACABAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAIAAAAAAAAAAQAAAAEAAAAAAAAAAQAAAAAAAAAAAAAABAAAAAAAAAADAAAAAQAAAAAAAAABAAAAAAAAAAAAAAACAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMH+AQADAAAAIAEAAAAAAAAAAAAAAgAAAAAAAAAAAAAABAAAAAEAAAADAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAIAAAAAQAAAAcAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0P4BAAMAAAAhAQAAAAAAAAAAAAACAAAAAAAAAAAAAAAEAAAAAQAAAAMAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAgAAAABAAAABwAAAAEAAAAAAAAAAgAAAAAAAAAAAAAABAAAAAEAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADf/gEAAwAAACABAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABAAAAAwAAAAEAAAAAAAAAAgAAAAAAAAAAAAAACAAAAAEAAAAHAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAEAAAAAQAAAAMAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO7+AQADAAAAIQEAAAAAAAAAAAAAAgAAAAAAAAAAAAAABAAAAAEAAAADAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAIAAAAAQAAAAcAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/f4BAAMAAAAgAQAAAAAAAAAAAAACAAAAAAAAAAAAAAAEAAAAAQAAAAMAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAgAAAABAAAABwAAAAEAAAAAAAAAAgAAAAAAAAAAAAAABAAAAAEAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM/wEAAwAAACEBAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABAAAAAwAAAAEAAAAAAAAAAgAAAAAAAAAAAAAACAAAAAEAAAAHAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAEAAAAAQAAAAMAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABv/AQADAAAAIAEAAAAAAAAAAAAAAgAAAAAAAAAAAAAABAAAAAEAAAADAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAIAAAAAQAAAAcAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKv8BAAMAAAAhAQAAAAAAAAAAAAACAAAAAAAAAAAAAAAEAAAAAQAAAAMAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAgAAAABAAAABwAAAAEAAAAAAAAAAgAAAAAAAAAAAAAABAAAAAEAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5/wEAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD7/AQADAAEAEAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASv8BAAMAAQARAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAACAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABW/wEAAwABABAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAABAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGL/AQADAAEAEQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbv8BAAQAAACAAAAAAAAAAAAAAAAIAAAAAgAAAAAAAAAQAAAABwAAAA8AAAADAAAAAAAAAAgAAAAEAAAAAAAAABAAAAAHAAAADwAAAAUAAAAAAAAACAAAAAYAAAAAAAAAEAAAAAcAAAAPAAAABwAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABwAAAA8AAAABAAAAAAAAAAAAAAB3/wEABAAAAIEAAAAAAAAAAAAAAAgAAAACAAAAAAAAABAAAAAHAAAADwAAAAMAAAAAAAAACAAAAAQAAAAAAAAAEAAAAAcAAAAPAAAABQAAAAAAAAAIAAAABgAAAAAAAAAQAAAABwAAAA8AAAAHAAAAAAAAAAgAAAAAAAAAAAAAABAAAAAHAAAADwAAAAEAAAAAAAAAAAAAAID/AQAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkf8BAAMBAQAQAAAAAAAAAAAAAAACAAAAAAAAAAYAAAAKAAAAAQAAAAkAAAABAAAAAQAAAAQAAAAAAAAABgAAAAoAAAADAAAACQAAAAEAAAABAAAABAAAAAIAAAAGAAAACgAAAAMAAAAJAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACY/wEAAwEBABEAAAAAAAAAAAAAAAIAAAAAAAAABgAAAAoAAAABAAAACQAAAAEAAAABAAAABAAAAAAAAAAGAAAACgAAAAMAAAAJAAAAAQAAAAEAAAAEAAAAAgAAAAYAAAAKAAAAAwAAAAkAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ//AQAEAAAAsQAAAAAAAAACAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAADAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAAAAAAAAAAAqf8BAAQAAACwAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAABAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAMAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAAAAAAAAAACz/wEABAAAALEAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAAAAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAwAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAAAAAAAAAAAAL3/AQAEAAAAsAAAAAAAAAACAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAADAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAAAAAAAAAAAx/8BAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADS/wEAAQAAAAEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADb/wEAAAAAAOH/AQABAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOr/AQAAAAAA8P8BAAEAAAABAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+f8BAAAAAAD//wEAAQAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAIAAAAAAA4AAgADAQEAEAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAEAAAAEAAAAAAAAAAAAAAAQAAAAAwAAAA8AAAABAAAAAQAAAAQAAAACAAAAAAAAABAAAAADAAAADwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFQACAAMBAQARAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAQAAAAQAAAAAAAAAAAAAABAAAAADAAAADwAAAAEAAAABAAAABAAAAAIAAAAAAAAAEAAAAAMAAAAPAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAIAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACIAAgABAAAAAQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACoAAgAAAAAALwACAAEAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANwACAAAAAAA8AAIAAwAAADECAAAAAAAAAgAAAAQAAAAAAAAAAAAAACAAAAADAAAAHwAAAAEAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAMAAAAfAAAAAQAAAAEAAAAEAAAAAAAAAAAAAAAgAAAAAwAAAB8AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEYAAgADAAAAMAIAAAAAAAACAAAABAAAAAAAAAAAAAAAIAAAAAMAAAAfAAAAAQAAAAAAAAAEAAAAAAAAAAAAAAAgAAAAAwAAAB8AAAABAAAAAQAAAAQAAAAAAAAAAAAAACAAAAADAAAAHwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AAAAAAAA4EMZAAAAAAAAAPeBAgDfgQIAKAAAAAIAAAAA9AEAAAAAAAAAAAAAAAAAAADA////30EJAAAAAAAAAPqBAgD9gQIAMAAAAAEAAAAACT0AAAAAAAAAAAAAAPA/AADA////30ERAAAAAAAAABGDAgAAAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg////70E7AAAAEYMCABeDAgAhgwIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAEYMCAEyDAgBQgwIAAAAAAAoAAAAEAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAEYMCAICDAgCFgwIAAAAAAAoAAAAQAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAEYMCAKWDAgCqgwIAAAAAAAoAAAAACAAAAAAAAAAAAAAAAODBAADA////30ERAAAAEYMCALqDAgDBgwIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAEYMCANKDAgDYgwIAAAAAAAoAAAAAAgAAAAAAAAAAAAAAAODBAADA////30EAAAAAEYMCAAyEAgAShAIAAAAAAAoAAAAABAAAAAAAAAAAAAAAAODBAADA////30EAAAAAEYMCAEaEAgBLhAIAAAAAAAoAAAAAIAAAAAAAAAAAAAAAAODBAADA////30ETAAAAEYMCAGiEAgBthAIAAAAAAAoAAAAAgAAAAAAAAAAAAAAAAODBAADA////30ERAAAAEYMCAJyEAgCmhAIAAAAAAAoAAAAAAAEAAAAAAAAAAAAAAODBAADA////30ESAAAAEYMCANKEAgDYhAIAAAAAAAoAAAAAAAQAAAAAAAAAAAAAAODBAADA////30ERAAAAEYMCAOuEAgD1hAIAAAAAAAoAAAAAAAgAAAAAAAAAAAAAAODBAADA////30ETAAAAEYMCAAWFAgAThQIAAAAAAAoAAAAAAEAAAAAAAAAAAAAAAODBAADA////30EZAAAAEYMCAE+FAgBYhQIAAAAAAAoAAAAAAIAAAAAAAAAAAAAAAODBAADA////30E7AAAAEYMCAISFAgCIhQIAAAAAAAoAAAAAAAABAAAAAAAAAAAAAODBAADA////30ERAAAAEYMCALuFAgDAhQIAAAAAAAoAAAAAAAAgAAAAAAAAAAAAAODBAADA////30ERAAAAEYMCAN2FAgDihQIAAAAAAAoAAAAAAACAAAAAAAAAAAAAAODBAADA////30ERAAAAEYMCAO2FAgD8hQIAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAEYMCACWGAgAqhgIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAUoYCAFmGAgBfhgIAAAAAAAoAAAAEAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAUoYCAHeGAgCChgIAAAAAAAoAAAAAAAEAAAAAAAAAAAAAAODBAADA////30ESAAAAUoYCAKeGAgC0hgIAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAUoYCAPOGAgD6hgIAAAAAAAoAAAAAgAAAAAAAAAAAAAAAAODBAADA////30ESAAAAUoYCACmHAgAxhwIAAAAAAAoAAAAAAEAAAAAAAAAAAAAAAODBAADA////30ESAAAAUoYCAFuHAgBmhwIAAAAAAAoAAAAAAAAQAAAAAAAAAAAAAODBAADA////30ESAAAAUoYCAJSHAgCghwIAAAAAAAoAAAAAAAAgAAAAAAAAAAAAAODBAADA////30ESAAAAUoYCAOOHAgD1hwIAAAAAAAoAAAAAAABAAAAAAAAAAAAAAODBAADA////30EiAAAAUoYCAB+IAgAAAAAATAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30EAAAAAAAAAACmIAgAriAIAbAAAAAEAAAAMAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAE+IAgBSiAIAWAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30ELAAAAAAAAAHKIAgB1iAIAXAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30ELAAAAAAAAAJKIAgCZiAIAcAEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAAAAAAK6IAgAAAAAAZAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30EJAAAAAAAAALmIAgAAAAAAaAEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAAMaIAgAAAAAAWAAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAAMyIAgDSiAIAmAEAAAQAAAAAAAAAAADgPwAAAOD//+/HAAAA4P//70cRAAAAAAAAAEqJAgBQiQIAnAEAAAQAAAAAAAAAAADgPwAAAAAAAPC/AAAA4P//70cRAAAAAAAAAHGJAgB2iQIAoAEAAAEAAAACAAAAAAAAAAAAAAAAAPC/AAAAAABAUUARAAAAAAAAAJqJAgCfiQIApAEAAAEAAAAfAAAAAAAAAAAAAAAAAPC/AAAAAAAAkEARAAAAAAAAAMOJAgDJiQIAqAEAAAEAAAADAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAP+JAgACigIAfAAAAAEAAAAAAAAAAAAAAAAAAAAAAPC/AADA////30ERAAAAAAAAADaKAgBAigIAgAAAAAQAAAAAAAAAAAD0PwAAAOD//+/HAAAA4P//70cRAAAAAAAAAGKKAgBtigIAhAAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAJWKAgCYigIABAIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAALKKAgAAAAAACAIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAALqKAgAAAAAADAIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAAMaKAgAAAAAAEAIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAANGKAgAAAAAAFAIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAANyKAgAAAAAAGAIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAAOSKAgAAAAAAHAIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAAOyKAgAAAAAAIAIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAAPeKAgAAAAAAJAIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAAAGLAgAAAAAAKAIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAAAyLAgAAAAAAFAAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAABaLAgAaiwIANAIAAAAAAAABAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAFosCAESLAgAAAAAAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAFosCAE+LAgBaiwIAAAAAAAoAAAAEAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAFosCAJCLAgCViwIAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAFosCALaLAgDBiwIAAAAAAAoAAAAQAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAFosCANyLAgAAAAAAAAAAAAoAAAAgAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAFosCAOCLAgAAAAAAAAAAAAoAAABAAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAFosCAOyLAgD1iwIAAAAAAAoAAACAAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAFosCACmMAgAAAAAAAAAAAAoAAAAAAQAAAAAAAAAAAAAAAODBAADA////30ESAAAAFosCADaMAgBHjAIAAAAAAAoAAAAAAgAAAAAAAAAAAAAAAODBAADA////30ESAAAAFosCAIOMAgCIjAIAAAAAAAoAAAAABAAAAAAAAAAAAAAAAODBAADA////30ESAAAAFosCALuMAgAAAAAAAAAAAAoAAAAACAAAAAAAAAAAAAAAAODBAADA////30ESAAAAFosCAMeMAgAAAAAAAAAAAAoAAAAAEAAAAAAAAAAAAAAAAODBAADA////30ESAAAAFosCAM+MAgDSjAIAAAAAAAoAAAAAIAAAAAAAAAAAAAAAAODBAADA////30ESAAAAFosCAAqNAgAQjQIAAAAAAAoAAAAAQAAAAAAAAAAAAAAAAODBAADA////30ESAAAAFosCACGNAgAAAAAAAAAAAAoAAAAAgAAAAAAAAAAAAAAAAODBAADA////30ESAAAAFosCACeNAgAujQIAOAIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EbAAAAJ40CAFONAgBYjQIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30EbAAAAJ40CACeNAgCqjQIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30EbAAAAJ40CAPmNAgAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EbAAAAJ40CAACOAgALjgIAAAAAAAoAAAD//////////wAAAAAAAODBAADA////30EbAAAAJ40CACeOAgA0jgIAAAAAAAoAAAD+/////////wAAAAAAAODBAADA////30EbAAAAJ40CAF+OAgBpjgIAiAAAAAQAAAAAAAAAAAD0PwAAAOD//+/HAAAA4P//70cRAAAAAAAAAIuOAgCWjgIARAIAAAAAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EaAAAAi44CALCOAgC5jgIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30EaAAAAi44CAM6OAgDYjgIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30EaAAAAi44CAAKPAgAJjwIAAAAAAAoAAAAEAAAAAAAAAAAAAAAAAODBAADA////30EaAAAAi44CACqPAgAyjwIAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODBAADA////30EaAAAAi44CAFqPAgBljwIAAAAAAAoAAAAAgAAAAAAAAAAAAAAAAODBAADA////30EaAAAAi44CAHOPAgB7jwIAAAAAAAoAAAAAAAEAAAAAAAAAAAAAAODBAADA////30EaAAAAi44CAOGPAgDrjwIAAAAAAAoAAAAAAAIAAAAAAAAAAAAAAODBAADA////30EaAAAAi44CABiQAgAjkAIAAAAAAAoAAAAAAAQAAAAAAAAAAAAAAODBAADA////30EaAAAAi44CAGGQAgAAAAAAjAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30EAAAAAAAAAAG6QAgAAAAAAbAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30EAAAAAAAAAAHqQAgCFkAIAkAAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAKqQAgAAAAAAsAEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAALyQAgDEkAIAuAEAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30EZAAAAAAAAAAWRAgANkQIAwAEAAAIAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EZAAAAAAAAAHGRAgB5kQIArAEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EZAAAAAAAAAJ+RAgCpkQIAlAAAAAQAAACamZmZmZnpvwAAAOD//+/HAAAA4P//70cRAAAAAAAAAMuRAgDVkQIAmAAAAAQAAAAAAAAAAAAAAAAAAOD//+/HAAAA4P//70cRAAAAAAAAAPeRAgD7kQIAmAIAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30ERAAAA95ECAAmSAgAOkgIAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA95ECACSSAgAskgIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA95ECAGe8AgA5kgIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA95ECAEqSAgAAAAAAAAAAAAoAAAADAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA95ECAE6SAgAAAAAAAAAAAAoAAAAFAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA95ECAFaSAgBbkgIAAAAAAAoAAAAGAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA95ECAHKSAgB8kgIAnAAAAAQAAAAAAAAAAAAAAAAAAOD//+/HAAAA4P//70cRAAAAAAAAAK6SAgC5kgIAoAAAAAQAAAAAAAAAAAAAAAAAAOD//+/HAAAA4P//70cRAAAAAAAAANWSAgDgkgIApAAAAAQAAAAAAAAAAAAAAAAAAOD//+/HAAAA4P//70cRAAAAAAAAAPuSAgACkwIAqAAAAAQAAAAAAAAAAAAAAAAAAOD//+/HAAAA4P//70cRAAAAAAAAABCTAgAakwIArAAAAAQAAAAAAAAAAAAAAAAAAOD//+/HAAAA4P//70cRAAAAAAAAAEqTAgBPkwIAnAIAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30ETAAAASpMCAAmSAgAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ETAAAASpMCAGe8AgAAAAAAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ETAAAASpMCAGqTAgAAAAAAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ETAAAASpMCAHGTAgAAAAAAAAAAAAoAAAADAAAAAAAAAAAAAAAAAODBAADA////30ETAAAASpMCAHuTAgAAAAAAAAAAAAoAAAAHAAAAAAAAAAAAAAAAAODBAADA////30ETAAAASpMCAE6SAgAAAAAAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ETAAAASpMCAH+TAgAAAAAAAAAAAAoAAAAKAAAAAAAAAAAAAAAAAODBAADA////30ETAAAASpMCAImTAgAAAAAAAAAAAAoAAAAQAAAAAAAAAAAAAAAAAODBAADA////30ETAAAASpMCAJeTAgAAAAAAAAAAAAoAAAARAAAAAAAAAAAAAAAAAODBAADA////30ETAAAASpMCAKOTAgAAAAAAAAAAAAoAAAAWAAAAAAAAAAAAAAAAAODBAADA////30ETAAAASpMCAK6TAgAAAAAAAAAAAAoAAAAOAAAAAAAAAAAAAAAAAODBAADA////30ETAAAASpMCALOTAgC7kwIAAAAAAAoAAAAOAAAAAAAAAAAAAAAAAODBAADA////30ETAAAASpMCAN6TAgDkkwIAAAAAAAoAAAAUAAAAAAAAAAAAAAAAAODBAADA////30ETAAAASpMCAPyTAgAAAAAAAAAAAAoAAACAAAAAAAAAAAAAAAAAAODBAADA////30ETAAAASpMCAAeUAgAAAAAAsAAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAABOUAgAWlAIAPAIAAAAAAAADAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAE5QCADWUAgA/lAIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAE5QCAGqUAgBylAIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAE5QCAJyUAgColAIAAAAAAAoAAAAAAQAAAAAAAAAAAAAAAODBAADA////30ESAAAAE5QCANGUAgAAAAAAoAIAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30EAAAAAAAAAAOeUAgDslAIAtAAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA55QCAP6UAgAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA55QCAAOVAgAAAAAAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA55QCAAmVAgAAAAAAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA55QCABCVAgAXlQIAvAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJEARAAAAAAAAACuVAgAXlQIAvAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJEARAAAAAAAAAC+VAgA1lQIAQAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30E7AAAAL5UCAE+VAgBUlQIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAL5UCAGGVAgBklQIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAL5UCAM6OAgAAAAAAAAAAAAoAAAAEAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAL5UCAHGVAgB5lQIAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAL5UCAI6VAgCRlQIAAAAAAAoAAAAQAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAL5UCALeVAgAAAAAAAAAAAAoAAABAAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAL5UCAMGVAgAAAAAAAAAAAAoAAAAAAIAAAAAAAAAAAAAAAODBAADA////30ESAAAAL5UCANCVAgAAAAAAAAAAAAoAAACAAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAL5UCANWVAgAAAAAAAAAAAAoAAAAAAQAAAAAAAAAAAAAAAODBAADA////30ESAAAAL5UCAN+VAgDilQIAAAAAAAoAAAAABAAAAAAAAAAAAAAAAODBAADA////30ESAAAAL5UCAPSVAgD5lQIAAAAAAAoAAAAACAAAAAAAAAAAAAAAAODBAADA////30ESAAAAL5UCACaWAgAAAAAAAAAAAAoAAAAAEAAAAAAAAAAAAAAAAODBAADA////30ESAAAAL5UCACuWAgAzlgIAAAAAAAoAAAAAgAAAAAAAAAAAAAAAAODBAADA////30ESAAAAL5UCAE6WAgBZlgIAAAAAAAoAAAAAAAEAAAAAAAAAAAAAAODBAADA////30EaAAAAL5UCAG6WAgBzlgIAAAAAAAoAAAAAAAABAAAAAAAAAAAAAODBAADA////30EaAAAAL5UCAIyWAgCQlgIAxAAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAArZYCALaWAgC9lgIAyAAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAArZYCANmWAgDflgIAzAAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAArZYCAPuWAgAElwIA0AAAAAEAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ERAAAArZYCACSXAgAtlwIA1AAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAFeXAgBhlwIA2AAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAJWXAgCblwIA3AAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAALGXAgC4lwIA4AAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAArZYCAN+XAgDjlwIAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAArZYCAAWYAgAJmAIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ERAAAArZYCAB+YAgAkmAIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ERAAAArZYCAPeRAgBVmAIAAAAAAAoAAAADAAAAAAAAAAAAAAAAAODBAADA////30ERAAAArZYCAGiEAgCBmAIAAAAAAAoAAAAEAAAAAAAAAAAAAAAAAODBAADA////30ERAAAArZYCALmYAgC9mAIAAAAAAAoAAAAFAAAAAAAAAAAAAAAAAODBAADA////30ERAAAArZYCAOGYAgDkmAIAAAAAAAoAAAAGAAAAAAAAAAAAAAAAAODBAADA////30ERAAAArZYCAAKZAgAHmQIAAAAAAAoAAAAHAAAAAAAAAAAAAAAAAODBAADA////30ERAAAArZYCAAmZAgAOmQIAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ERAAAArZYCADOZAgA4mQIAAAAAAAoAAAAJAAAAAAAAAAAAAAAAAODBAADA////30ERAAAArZYCAFyZAgBhmQIAAAAAAAoAAAAKAAAAAAAAAAAAAAAAAODBAADA////30ERAAAArZYCAI2ZAgAAAAAAAAAAAAoAAAANAAAAAAAAAAAAAAAAAODBAADA////30ERAAAArZYCAJSZAgAAAAAAAAAAAAoAAAAAAQAAAAAAAAAAAAAAAODBAADA////30ERAAAArZYCAJuZAgCgmQIAAAAAAAoAAAAPAAAAAAAAAAAAAAAAAODBAADA////30ERAAAArZYCAM6ZAgDbmQIA5AAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAA6aAgATmgIA6AAAAAEAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAADWaAgA+mgIA7AAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAHCaAgAAAAAANAAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EZAAAAAAAAAH+aAgAAAAAA1AEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAf5oCAIWaAgCJmgIAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAf5oCAHKIAgCvmgIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAf5oCAMCaAgDEmgIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAf5oCANaaAgDamgIAAAAAAAoAAAADAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAf5oCAOuaAgDzmgIA2AEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAAGbAgAAAAAA8AAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAAA2bAgARmwIA9AAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEARAAAADZsCAGqTAgBDmwIAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAADZsCAE2bAgBSmwIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ERAAAADZsCAOGYAgBimwIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ERAAAADZsCAHubAgCImwIAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAJ+bAgCimwIABAEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAALKbAgDEmwIA0AEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAFKGAgAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg////70EbAAAAUoYCABScAgAcnAIAsAIAAAEAAAABAAAAAAAAAAAAAAAAAAAAAADA////30EbAAAAFJwCAAmSAgA2nAIAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAFJwCAGWcAgBonAIACAEAAAEAAAAAAAAAAAAAAAAAAAAAACDAAAAAAAAAMEARAAAAAAAAAHucAgCBnAIAyAIAAAEAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAI2cAgCWnAIADAEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAAAAAAM2cAgDZnAIAEAEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAAAAAABOdAgAAAAAAzAIAAAEAAACd/////////wAAAAAAAODBAADA////30EZAAAAE50CABudAgAAAAAAAAAAAAoAAACd/////////wAAAAAAAODBAADA////30EZAAAAE50CACOdAgAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAE50CACydAgAAAAAAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAE50CADSdAgAAAAAAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAE50CADydAgAAAAAAAAAAAAoAAAADAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAE50CAESdAgAAAAAAAAAAAAoAAAAEAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAE50CAEudAgAAAAAAAAAAAAoAAAAcAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAE50CAFWdAgAAAAAAAAAAAAoAAAAWAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAE50CAFydAgAAAAAAAAAAAAoAAAAmAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAE50CAGSdAgAAAAAAAAAAAAoAAACAAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAE50CAHKdAgAAAAAAAAAAAAoAAACDAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAE50CAH+dAgAAAAAAAAAAAAoAAAAUAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAE50CAIOdAgAAAAAAAAAAAAoAAAAeAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAE50CAIqdAgAAAAAAAAAAAAoAAAAoAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAE50CAJSdAgAAAAAAAAAAAAoAAAAyAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAE50CAJ+dAgAAAAAAAAAAAAoAAAA8AAAAAAAAAAAAAAAAAODBAADA////30EJAAAAE50CAKmdAgAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAE50CALKdAgAAAAAAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAE50CAL2dAgAAAAAAAAAAAAoAAAADAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAE50CAMidAgAAAAAAAAAAAAoAAAAPAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAE50CANKdAgAAAAAAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAE50CANmdAgAAAAAAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAE50CAN6dAgAAAAAA0AIAAAEAAACd/////////wAAAAAAAODBAADA////30EZAAAA3p0CABudAgAAAAAAAAAAAAoAAACd/////////wAAAAAAAODBAADA////30EZAAAA3p0CAOSdAgDrnQIAqAIAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30EaAAAAAAAAABaeAgAlngIA3AEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAADqeAgBGngIA4AEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAFieAgBhngIA5AEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAHWeAgB9ngIA6AEAAAEAAAANAAAAAAAAAAAAAAAAAODBAADA////30ERAAAArZYCAJmeAgCgngIAFAEAAAEAAADsAAAAAAAAAAAAAAAAAPA/AAAAAMD/30ARAAAAAAAAAMmeAgDQngIAGAEAAAEAAABKDgAAAAAAAAAAAAAAAPA/AAAAAMD/30ARAAAAAAAAAPmeAgD+ngIAHAEAAAEAAAAAAQAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAADmfAgBKnwIA1AIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAfp8CAIifAgCSnwIA2AIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAfp8CAMOfAgDOnwIA3AIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAfp8CAPSfAgD5nwIAAAAAAAoAAADw/////////wAAAAAAAODBAADA////30ESAAAAfp8CAAqgAgASoAIAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAfp8CACmgAgAvoAIAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAfp8CAFCgAgBWoAIAAAAAAAoAAAAQAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAfp8CAHegAgB9oAIAAAAAAAoAAAAgAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAfp8CAKGgAgCpoAIAAAAAAAoAAAAYAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAfp8CAMygAgDQoAIAAAAAAAoAAAAwAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAfp8CAOOgAgDwoAIAIAEAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAEEARAAAAAAAAADChAgA6oQIAJAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJEARAAAAAAAAAGihAgBzoQIAKAEAAAEAAAAZAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAJehAgCcoQIALAEAAAEAAAABAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAANGhAgDeoQIAMAEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAPmhAgABogIA7AEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EZAAAAAAAAACaiAgAAAAAANAEAAAEAAAAAAQAAAAAAAAAAAAAAAAAAAADA////30ERAAAAAAAAADSiAgBCogIAOAEAAAEAAAAoAAAAAAAAAAAAAAAAAPA/AADA////30ERAAAAAAAAAGuiAgAAAAAAOAAAAAEAAAD//////////wAAAAAAAODBAADA////30EZAAAAAAAAAH2iAgAAAAAA8AEAAAEAAAD//////////wAAAAAAAODBAADA////30EJAAAAAAAAAJKiAgAAAAAA9AEAAAEAAAD//////////wAAAAAAAODBAADA////30EJAAAAAAAAAKeiAgC8ogIA+AEAAAIAAAD//////////wAAAAAAAPC/AAAAAAAA4EMRAAAAAAAAAPaiAgAAAAAApAIAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30EAAAAAAAAAAAqjAgAAAAAAeAEAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8EMLAAAACqMCABmjAgAAAAAAgAEAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8EMKAAAAGaMCADCjAgAAAAAAyAEAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4P//70cRAAAAAAAAAD+jAgAAAAAAzAEAAAQAAAAAAAAAAAAIQAAAAAAAAAAAAAAA4P//70cRAAAAAAAAAE6jAgAAAAAAVAAAAAEAAAABAAAAAAAAAAAAAAAAAPA/AADA////30EbAAAAAAAAAF6jAgBuowIAPAEAAAEAAAACAAAAAAAAAAAAAAAAAPA/AADA////30ETAAAAfqMCAJOjAgCZowIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAfqMCABudAgCgowIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAfqMCAKyjAgCzowIAAAAAAAoAAAAEAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAfqMCALyjAgDEowIAAAAAAAoAAAAFAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAfqMCAM6jAgDYowIAAAAAAAoAAAAGAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAfqMCAOSjAgDuowIAAAAAAAoAAAAHAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAfqMCAPqjAgD/owIAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAfqMCAASkAgALpAIAAAAAAAoAAAAJAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAfqMCABOkAgAcpAIAAAAAAAoAAAAKAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAfqMCACikAgAcpAIAAAAAAAoAAAAKAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAfqMCADOkAgA8pAIAAAAAAAoAAAALAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAfqMCAEikAgBRpAIAAAAAAAoAAAAMAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAfqMCAF2kAgBnpAIAAAAAAAoAAAAWAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAfqMCAHGkAgCgowIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAfqMCAH2kAgCHpAIAQAEAAAEAAAACAAAAAAAAAAAAAAAAAPA/AADA////30ETAAAApqQCAJOjAgCZowIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ETAAAApqQCABudAgCgowIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ETAAAApqQCALWkAgCzowIAAAAAAAoAAAAEAAAAAAAAAAAAAAAAAODBAADA////30ETAAAApqQCAL2kAgDEowIAAAAAAAoAAAAFAAAAAAAAAAAAAAAAAODBAADA////30ETAAAApqQCAM6jAgDYowIAAAAAAAoAAAAGAAAAAAAAAAAAAAAAAODBAADA////30ETAAAApqQCAOSjAgDuowIAAAAAAAoAAAAHAAAAAAAAAAAAAAAAAODBAADA////30ETAAAApqQCAMWkAgDMpAIAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ETAAAApqQCANOkAgDapAIAAAAAAAoAAAAJAAAAAAAAAAAAAAAAAODBAADA////30ETAAAApqQCAN6kAgDlpAIAAAAAAAoAAAAKAAAAAAAAAAAAAAAAAODBAADA////30ETAAAApqQCAPWkAgACpQIAAAAAAAoAAAALAAAAAAAAAAAAAAAAAODBAADA////30ETAAAApqQCABClAgAYpQIAAAAAAAoAAAAMAAAAAAAAAAAAAAAAAODBAADA////30ETAAAApqQCACClAgAtpQIAAAAAAAoAAAANAAAAAAAAAAAAAAAAAODBAADA////30ETAAAApqQCADulAgBFpQIAAAAAAAoAAAAOAAAAAAAAAAAAAAAAAODBAADA////30ETAAAApqQCAFalAgBgpQIAAAAAAAoAAAAPAAAAAAAAAAAAAAAAAODBAADA////30ETAAAApqQCAHGlAgB7pQIAAAAAAAoAAAAQAAAAAAAAAAAAAAAAAODBAADA////30ETAAAApqQCABOkAgAcpAIAAAAAAAoAAAARAAAAAAAAAAAAAAAAAODBAADA////30ETAAAApqQCAIalAgCTpQIAAAAAAAoAAAASAAAAAAAAAAAAAAAAAODBAADA////30ETAAAApqQCAHGkAgCgowIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ETAAAApqQCAKClAgDapAIAAAAAAAoAAAAJAAAAAAAAAAAAAAAAAODBAADA////30ETAAAApqQCAKSlAgDlpAIAAAAAAAoAAAAKAAAAAAAAAAAAAAAAAODBAADA////30ETAAAApqQCAK2lAgACpQIAAAAAAAoAAAALAAAAAAAAAAAAAAAAAODBAADA////30ETAAAApqQCALqlAgAYpQIAAAAAAAoAAAAMAAAAAAAAAAAAAAAAAODBAADA////30ETAAAApqQCAMGlAgAtpQIAAAAAAAoAAAANAAAAAAAAAAAAAAAAAODBAADA////30ETAAAApqQCAM6lAgBFpQIAAAAAAAoAAAAOAAAAAAAAAAAAAAAAAODBAADA////30ETAAAApqQCANulAgBgpQIAAAAAAAoAAAAPAAAAAAAAAAAAAAAAAODBAADA////30ETAAAApqQCACikAgAcpAIAAAAAAAoAAAARAAAAAAAAAAAAAAAAAODBAADA////30ETAAAApqQCAOilAgDzpQIARAEAAAEAAAACAAAAAAAAAAAAAAAAAAAAAADA////30ETAAAA/6UCAA+mAgATpgIAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA/6UCAJOjAgCZowIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA/6UCABudAgCgowIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA/6UCABemAgAbpgIAAAAAAAoAAAAEAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA/6UCALyjAgDEowIAAAAAAAoAAAAFAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA/6UCAM6jAgDYowIAAAAAAAoAAAAGAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA/6UCAOSjAgDuowIAAAAAAAoAAAAHAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA/6UCAB+mAgAlpgIAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA/6UCACumAgA0pgIAAAAAAAoAAAAJAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA/6UCAECmAgBIpgIAAAAAAAoAAAAKAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA/6UCAFOmAgBdpgIAAAAAAAoAAAALAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA/6UCAHGkAgCgowIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA/6UCAGimAgAlpgIAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA/6UCAG6mAgA0pgIAAAAAAAoAAAAJAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA/6UCAHmmAgBIpgIAAAAAAAoAAAAKAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA/6UCAIOmAgCPpgIASAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30ETAAAAm6YCABudAgCgowIAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAm6YCAKymAgCvpgIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAm6YCAMKmAgDFpgIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAm6YCAHGkAgCgowIAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAm6YCANKmAgCvpgIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAm6YCANemAgDFpgIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAm6YCANymAgDzpgIATAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30ETAAAACqcCABudAgCgowIAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ETAAAACqcCAP6UAgAmpwIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ETAAAACqcCACunAgAypwIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ETAAAACqcCADmnAgBBpwIAAAAAAAoAAAADAAAAAAAAAAAAAAAAAODBAADA////30ETAAAACqcCAEqnAgBOpwIAAAAAAAoAAAAEAAAAAAAAAAAAAAAAAODBAADA////30ETAAAACqcCAFKnAgBdpwIAAAAAAAoAAAAFAAAAAAAAAAAAAAAAAODBAADA////30ETAAAACqcCAGmnAgBwpwIAAAAAAAoAAAAGAAAAAAAAAAAAAAAAAODBAADA////30ETAAAACqcCAHGkAgCgowIAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ETAAAACqcCAHenAgCIpwIABAAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAAKGnAgCopwIAUAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30ERAAAAAAAAAOCnAgDspwIAtAIAAAAAAAADAAAAAAAAAAAAAAAAAAAAAADA////30EbAAAA4KcCAAeoAgAAAAAAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA4KcCAA2oAgAAAAAAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA4KcCABOoAgAmqAIAiAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAJAAAAE6gCADmoAgA8qAIAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAE6gCAE+oAgBSqAIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAE6gCAFqoAgBdqAIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAE6gCAG+oAgByqAIAAAAAAAoAAAADAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAE6gCAIOoAgCGqAIAAAAAAAoAAAAEAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAE6gCAI+oAgCSqAIAAAAAAAoAAAAFAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAE6gCAJ2oAgCgqAIAAAAAAAoAAAAGAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAE6gCAKqoAgCtqAIAAAAAAAoAAAAHAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAE6gCALioAgC7qAIAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAE6gCAMOoAgDWqAIAjAEAAA0AAAD//////////wAAAAAAAPC/AADA////30EKAAAAw6gCAAGpAgAAAAAABAMAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30EAAAAAAAAAAA6pAgAaqQIAMAMAAAUAAAAAAAAAAAAAAAAAAAAAAGDAAAAAAADAX0AiAAAAAAAAAEapAgBXqQIANAMAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AADA////30EiAAAARqkCAIipAgAAAAAAAAAAAAoAAAD//////////wAAAAAAAODBAADA////30EiAAAARqkCAAmSAgAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EiAAAA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bAYAAAgFAAD9AQAAcwAAADUAAAAHAAAAAAAAAPj///83AAAAfv////QBAACd+v//0gUAAJbZ//88SQAAziIAAPgGAACtBAAABAIAAGQAAAA0AAAABwAAAAAAAAD4////NwAAAH7////0AQAAnfr//9IFAACW2f//PEkAAM4iAAD4BgAArQQAAAQCAABkAAAANAAAAAcAAAAAAAAA9////zgAAABv////6AEAAEL6//8qBQAAytf//xpJAAAAIQAAdgcAAFIEAAAIAgAAVwAAADMAAAAGAAAAAAAAAPf///84AAAAb////+gBAABC+v//KgUAAMrX//8aSQAAACEAAHYHAABSBAAACAIAAFcAAAAzAAAABgAAAAAAAAD2////OAAAAF/////ZAQAA6fn//3QEAAAA1v//4kgAADMfAADnBwAA+AMAAAoCAABKAAAAMQAAAAUAAAAAAAAA9v///zgAAABf////2QEAAOn5//90BAAAANb//+JIAAAzHwAA5wcAAPgDAAAKAgAASgAAADEAAAAFAAAAAAAAAPb///85AAAATv///8gBAACR+f//sAMAADvU//+SSAAAaB0AAEsIAACeAwAACQIAAD0AAAAwAAAABQAAAAAAAAD2////OQAAAE7////IAQAAkfn//7ADAAA71P//kkgAAGgdAABLCAAAngMAAAkCAAA9AAAAMAAAAAUAAAAAAAAA9f///zkAAAA9////swEAADr5///eAgAAetL//y1IAACgGwAAoggAAEYDAAAHAgAAMQAAAC4AAAAEAAAAAAAAAPX///85AAAAPf///7MBAAA6+f//3gIAAHrS//8tSAAAoBsAAKIIAABGAwAABwIAADEAAAAuAAAABAAAAAAAAAD0////OQAAACz///+bAQAA5vj///0BAAC+0P//skcAAN0ZAADtCAAA7wIAAAICAAAmAAAALAAAAAQAAAAAAAAA9P///zkAAAAs////mwEAAOb4///9AQAAvtD//7JHAADdGQAA7QgAAO8CAAACAgAAJgAAACwAAAAEAAAA//////P///85AAAAGv///4ABAACV+P//DwEAAArP//8hRwAAHhgAACsJAACaAgAA/AEAABwAAAAqAAAABAAAAP/////z////OQAAABr///+AAQAAlfj//w8BAAAKz///IUcAAB4YAAArCQAAmgIAAPwBAAAcAAAAKgAAAAQAAAD/////8f///zgAAAAI////YgEAAEb4//8SAAAAXc3//3pGAABkFgAAXgkAAEcCAAD0AQAAEgAAACgAAAADAAAA//////H///84AAAACP///2IBAABG+P//EgAAAF3N//96RgAAZBYAAF4JAABHAgAA9AEAABIAAAAoAAAAAwAAAP/////w////NwAAAPb+//9AAQAA/Pf//wb///+4y///v0UAALEUAACGCQAA9gEAAOsBAAAJAAAAJwAAAAMAAAD/////8P///zcAAAD2/v//QAEAAPz3//8G////uMv//79FAACxFAAAhgkAAPYBAADrAQAACQAAACcAAAADAAAA/////+////82AAAA5P7//xsBAAC19///7f3//x3K///wRAAABhMAAKIJAACnAQAA4AEAAAEAAAAlAAAAAwAAAP/////v////NgAAAOT+//8bAQAAtff//+39//8dyv//8EQAAAYTAACiCQAApwEAAOABAAABAAAAJQAAAAMAAAD/////7v///zQAAADR/v//8wAAAHP3///H/P//jcj//wxEAABiEQAAtAkAAFsBAADUAQAA+f///yMAAAACAAAA/////+7///80AAAA0f7///MAAABz9///x/z//43I//8MRAAAYhEAALQJAABbAQAA1AEAAPn///8jAAAAAgAAAP/////s////MgAAAL/+///HAAAANvf//5P7//8Jx///FUMAAMcPAAC8CQAAEgEAAMYBAADy////IQAAAAIAAAD/////7P///zIAAAC//v//xwAAADb3//+T+///Ccf//xVDAADHDwAAvAkAABIBAADGAQAA8v///yEAAAACAAAA/////+v///8vAAAArf7//5cAAAD/9v//Ufr//5DF//8LQgAANQ4AALoJAADMAAAAuAEAAOv///8fAAAAAgAAAP/////r////LwAAAK3+//+XAAAA//b//1H6//+Qxf//C0IAADUOAAC6CQAAzAAAALgBAADr////HwAAAAIAAAD/////6f///ywAAACb/v//ZQAAAM72//8D+f//JsT///BAAACtDAAArwkAAIgAAACpAQAA5f///x0AAAACAAAA/////+n///8sAAAAm/7//2UAAADO9v//A/n//ybE///wQAAArQwAAK8JAACIAAAAqQEAAOX///8dAAAAAgAAAP/////o////KQAAAIn+//8uAAAApPb//6n3///Jwv//wz8AADALAACcCQAASAAAAJkBAADg////HAAAAAIAAAD/////6P///ykAAACJ/v//LgAAAKT2//+p9///ycL//8M/AAAwCwAAnAkAAEgAAACZAQAA4P///xwAAAACAAAA/////+b///8lAAAAeP7///X///+A9v//Qvb//3vB//+FPgAAvgkAAIAJAAALAAAAiAEAANv///8aAAAAAQAAAP/////m////JQAAAHj+///1////gPb//0L2//97wf//hT4AAL4JAACACQAACwAAAIgBAADb////GgAAAAEAAABtuQIAg7kCAKq5AgDQuQIA5rkCAA26AgAzugIASboCAHC6AgCWugIArLoCANO6AgD3ugIADbsCADS7AgD3ugIAWLsCAH+7AgD3ugIAWLsCAH+7AgD3ugIAWLsCAH+7AgCjuwIAubsCAOC7AgAAAAAAAAAAFL4oCh3NpVMkqX9ZJnViRixyjHMtgfyxLgAAADTXIK40lNZiNZauHTb0R942ek+kN2W+NzwkyJ88vigKPfXGdj0LjOU9YWNWPi46yT4+/z0/vKK0PwWLFkTNpVNEapuRRPtl0EQAABBFUWRQRRWOkUW7eNNF8x8WRql/WUYAlJ1GTFniRhHMJ0f86G1H46y0R78U/EfXDiJMdWJGTOcDa0zo8Y9MPyu1TMCu2kxJewBNxo8mTSrrTE1yjHNNpXKaTdOcwU0SCulNgrkQTkiqOE6R22BOkEyJToH8sU6h6tpONhYET4t+LU/vIldPuAKBTz4dq0/gcdVPAAAAVIFjFVQq4ypUsX5AVM81VlQ+CGxUu/WBVAP+l1TXIK5U9l3EVCS12lQkJvFUvLAHVbFUHlXLETVV1OdLVZTWYlXY3XlVbP2QVRw1qFW4hL9VDuzWVe9q7lUrAQZWlq4dVgJzNVZDTk1WLUBlVpZIfVZTZ5VWPZytVivnxVb0R95Wc772VoBKD1f36ydXsqJAV41uWVdkT3JXFEWLV3pPpFd1br1X4qHWV6Hp71fJogRcyloRXMQcHlyn6CpcZb43XO6dRFwzh1FcJnpeXLl2a1zcfHhcg4yFXJ+lklwkyJ9cAvSsXC4pulyaZ8dcOq/UXAAA4lzgWe9czrz8XL4oCl2knRddcxslXSCiMl2gMUBd58lNXelqW12cFGld9cZ2XemBhF1tRZJddhGgXfrlrV3vwrtdSqjJXQGW110LjOVdXYrzXe6QAV6znw9epbYdXrjVK17k/DleHyxIXmFjVl6gomRe1OlyXvM4gV71j49e0e6dXn9VrF72w7peLjrJXh+4117APeZeCcv0XvNfA191/BFfh6AgXyJML18+/z1f07lMX9t7W19MRWpfIBZ5X1Duh1/UzZZfpbSlX7yitF8SmMNfoJTSX1+Y4V9Io/BfVLX/Xz9nB2Re9w5kBYsWZDAiHmTdvCVkB1stZK38NGTJoTxkWkpEZF32S2TNpVNkqVhbZO0OY2SWyGpkooVyZAxGemTTCYJk9NCJZGqbkWQ1aZlkUDqhZLoOqWRu5rBkbMG4ZK+fwGQ1gchk+2XQZP9N2GQ+OeBktifoZGMZ8GREDvhkVQYAZZUBCGUAABBllAEYZU8GIGUtDihlLhkwZU4nOGWKOEBl4kxIZVFkUGXVflhlbpxgZRe9aGXP4HBlkwd5ZWIxgWU5XollFY6RZfTAmWXV9qFltS+qZZJrsmVpqrplOezCZQAxy2W7eNNlaMPbZQUR5GWQYexlB7X0ZWgL/WWxZAVm4MANZvMfFmbogR5mvOYmZm9OL2b9uDdmZiZAZqeWSGa+CVFmqX9ZZmf4YWb1c2pmUvJyZnxze2Zx94NmL36MZrUHlWYAlJ1mDyOmZuC0rmZxSbdmwOC/Zsx6yGaUF9FmFLfZZkxZ4mY6/upm3KXzZjBQ/GY1/QRn6qwNZ0tfFmdZFB9nEcwnZ3GGMGd4QzlnJQNCZ3XFSmdnilNn+lFcZywcZWf86G1nZ7h2Z22Kf2cLX4hnQTaRZwwQmmds7KJnX8urZ+OstGf2kL1nmHfGZ8dgz2eBTNhnxTrhZ5Ir6mfmHvNnvxT8Z46GAmz/AwdssIILbKECEGzRgxRsQAYZbO2JHWzXDiJs/pQmbGAcK2z+pC9s1y40bOm5OGw1Rj1sudNBbHViRmxp8kpsk4NPbPMVVGyJqVhsUz5dbFHUYWyDa2Zs5wNrbH6db2xHOHRsQNR4bGpxfWzDD4JsTK+GbANQi2zo8Y9s+5SUbDo5mWyl3p1sPIWibP4sp2zq1atsAICwbD8rtWyn17lsN4W+bO4zw2zM48ds0ZTMbPtG0WxL+tVswK7abFhk32wUG+Rs89LobPWL7WwYRvJsXQH3bMO9+2xJewBt7zkFbbT5CW2Yug5tmnwTbbo/GG33Ax1tUMkhbcaPJm1XVyttAyAwbcrpNG2rtDltpoA+bblNQ23lG0htKutMbYW7UW34jFZtgV9bbSEzYG3WB2VtoN1pbX+0bm1yjHNteGV4bZI/fW2/GoJt/faGbU7Ui22wspBtIpKVbaVymm04VJ9t2jakbYwaqW1M/61tGuWybfXLt23es7xt05zBbdWGxm3icctt+13QbR9L1W1NOdpthSjfbccY5G0SCultZvztbcLv8m0m5Pdtktn8bQTQAW59xwZu/b8LboK5EG4MtBVunK8abi+sH27HqSRuY6gpbgKoLm6jqDNuSKo4bu6sPW6WsEJuP7VHbum6TG6TwVFuPclWbufRW26R22BuOeZlbt/xam6E/m9uJgx1bsYaem5iKn9u+zqEbpBMiW4hX45urnKTbjWHmG63nJ1uM7OibqnKp24Y46xugfyxbuIWt247MrxujU7BbtZrxm4XistuTqnQbnzJ1W6h6tpuuwzgbsov5W7PU+puyHjvbrae9G6Xxflube3+bjYWBG/yPwlvoGoOb0GWE2/TwhhvWPAdb80eI280Tihvi34tb9KvMm8J4jdvMBU9b0ZJQm9LfkdvPrRMbyDrUW/vIldvrFtcb1eVYW/uz2Zvcgtsb+JHcW8+hXZvhcN7b7gCgW/WQoZv3oOLb9HFkG+uCJZvdEybbySRoG+91qVvPh2rb6hksG/7rLVvNfa6b1ZAwG9fi8VvTtfKbyQk0G/gcdVvg8DabwoQ4G94YOVvyrHqbwEE8G8dV/VvHKv6bwAAAHTjqgJ0OFYFdP8BCHQ3rgp04FoNdPoHEHSGtRJ0gWMVdO4RGHTLwBp0GHAddNUfIHQD0CJ0oIAldK0xKHQq4yp0FpUtdHJHMHQ9+jJ0dq01dB9hOHQ2FTt0vMk9dLF+QHQUNEN05elFdCSgSHTRVkt07A1OdHXFUHRrfVN0zzVWdJ/uWHTdp1t0iGFedKAbYXQl1mN0FpFmdHRMaXQ+CGx0dMRudBaBcXQlPnR0n/t2dIS5eXTWd3x0kzZ/dLv1gXROtYR0THWHdLY1inSK9ox0yLePdHJ5knSFO5V0A/6XdOvAmnQ+hJ10+kegdCAMo3Sv0KV0qJWodAtbq3TXIK50DOewdKqts3SxdLZ0ITy5dPoDvHQ7zL505JTBdPZdxHRxJ8d0U/HJdJ27zHRPhs90aVHSdOsc1XTU6Nd0JLXadNyB3XT7TuB0gRzjdG7q5XTCuOh0fIfrdJ1W7nQkJvF0EvbzdGbG9nQhl/l0QWj8dMc5/3SzCwJ1Bd4EdbywB3XYgwp1W1cNdUIrEHWO/xJ1QNQVdVapGHXRfht1sVQedfUqIXWeASR1q9gmdR2wKXXyhyx1LGAvdco4MnXLETV1MOs3dfnEOnUlnz11tXlAdahUQ3X+L0Z1twtJddTnS3VTxE51NKFRdXl+VHUgXFd1KjpadZYYXXVk9191lNZidSe2ZXUblmh1cXZrdSlXbnVDOHF1vhl0dZr7dnXY3Xl1d8B8dXijf3XZhoJ1m2qFdb5OiHVCM4t1JxiOdWz9kHUR45N1F8mWdX2vmXVDlpx1an2fdfBkonXWTKV1HDWodcIdq3XHBq51K/CwdfDZs3UTxLZ1la65dXeZvHW4hL91V3DCdVZcxXWzSMh1bjXLdYkiznUBENF12P3TdQ7s1nWh2tl1k8ncdeK433WQqOJ1m5jldQSJ6HXLeet172rudXBc8XVPTvR1i0D3dSQz+nUbJv11bhkAdh4NA3YrAQZ2lfUIdlzqC3Z/3w52/tQRdtrKFHYSwRd2prcadpauHXbjpSB2i50jdo+VJnbvjSl2qoYsdsF/L3Y0eTJ2AnM1dittOHawZzt2kGI+dstdQXZgWUR2UVVHdpxRSnZDTk12REtQdp9IU3ZVRlZ2ZURZdtBCXHaVQV92tEBidi1AZXYAQGh2LUBrdrNAbnaUQXF2zkJ0dmJEd3ZPRnp2lkh9djZLgHYvToN2gVGGdixViXYxWYx2jl2PdkViknZTZ5V2u2yYdntym3aUeJ52BX+hds+FpHbxjKd2a5Sqdj2crXZopLB26qyzdsS1tnb2vrl2gMi8dmHSv3aa3MJ2K+fFdhPyyHZS/ct26QjPdtcU0nYcIdV2uC3Ydqo623b0R952lVXhdo1j5Hbbced2f4DqdnuP7XbMnvB2da7zdnO+9nbIzvl2ct/8dnPw/3bKAQN3dxMGd3olCXfSNwx3gEoPd4RdEnfecBV3jYQYd5GYG3frrB53msEhd57WJHf36yd3pgErd6kXLncBLjF3rkQ0d7BbN3cHczp3soo9d7KiQHcGu0N3r9NGd6zsSXf+BU13ox9Qd505U3frU1Z3jW5Zd4OJXHfMpF93asBid1vcZXeg+Gh3OBVsdyQyb3dkT3J392x1d92KeHcWqXt3o8d+d4PmgXe1BYV3OyWIdxRFi3c/ZY53voWRd4+mlHeyx5d3Kemad/EKnncMLaF3ek+kdzpyp3dMlap3sLitd2fcsHdvALR3yiS3d3ZJund1br13xZPAd2e5w3da38Z3nwXKdzYszXceU9B3V3rTd+Kh1ne+ydl37PHcd2oa4Hc6Q+N3Wmzmd8yV6XeOv+x3oenvdwUU83e6PvZ3wGn5dxaV/He8wP93WXYBfH0MA3zJogR8PTkGfNnPB3ydZgl8if0KfJ6UDHzaKw58PsMPfMpaEXx+8hJ8WooUfF0iFnyJuhd83FIZfFfrGnz6gxx8xBwefLa1H3zQTiF8EegifHmBJHwKGyZ8wrQnfKFOKXyn6Cp81oIsfCsdLnyoty98TFIxfBftMnwKiDR8JCM2fGW+N3zNWTl8XfU6fBORPHzxLD589sg/fCJlQXx0AUN87p1EfI86RnxW10d8RXRJfFoRS3yWrkx8+UtOfIPpT3wzh1F8CiVTfAjDVHwtYVZ8eP9XfOqdWXyCPFt8QdtcfCZ6XnwyGWB8ZLhhfL1XY3w892R84pZmfK42aHyg1ml8uXZrfPcWbXxct2586FdwfJn4cXxxmXN8bzp1fJLbdnzcfHh8TB56fOK/e3yeYX18gAN/fIilgHy2R4J8CuqDfIOMhXwiL4d86NGIfNN0inzjF4x8GruNfHZej3z4AZF8n6WSfGxJlHxf7ZV8d5GXfLU1mXwZ2pp8oX6cfFAjnnwkyJ98HW2hfDsSo3x/t6R86FymfHcCqHwrqKl8BE6rfAL0rHwmmq58bkCwfNzmsXxvjbN8JzS1fAXbtnwHgrh8Lim6fHrQu3zsd718gh+/fD3HwHwdb8J8IhfEfEy/xXyaZ8d8DRDJfKa4ynxjYcx8RArOfEuzz3x2XNF8xQXTfDqv1HzSWNZ8kALYfHKs2Xx5Vtt8pADdfPOq3nxnVeB8AADifL2q43yeVeV8owDnfM2r6HwcV+p8jgLsfCWu7XzgWe98vwXxfMOx8nzqXfR8Ngr2fKa293w6Y/l88g/7fM68/HzOaf588xYAfTvEAX2ncQN9Nx8FfevMBn3Cegh9vigKfd7WC30hhQ19iDMPfRPiEH3CkBJ9lD8UfYruFX2knRd94UwZfUL8Gn3Hqxx9b1sefToLIH0quyF9PWsjfXMbJX3NyyZ9SnwofeosKn2u3St9lo4tfaE/L33P8DB9IKIyfZVTNH0tBTZ96LY3fcZoOX3IGjt97cw8fTV/Pn2gMUB9LuRBfd+WQ320SUV9q/xGfcavSH0DY0p9YxZMfefJTX2NfU99VjFRfULlUn1RmVR9g01WfdgBWH1Ptll96WpbfaYfXX2G1F59iIlgfa0+Yn3182N9YKllfe1eZ32cFGl9b8pqfWSAbH17Nm59texvfRGjcX2QWXN9MhB1ffXGdn3cfXh95DR6fQ/se31do319zFp/fV4SgX0SyoJ96YGEfeI5hn398Yd9OqqJfZpii30bG419v9OOfYWMkH1tRZJ9d/6TfaO3lX3xcJd9YSqZffPjmn2onZx9fleefXYRoH2Qy6F9zIWjfSpApX2p+qZ9S7WofQ5wqn3zKqx9+uWtfSOhr31tXLF92RezfWfTtH0Wj7Z950q4fdoGun3vwrt9JX+9fXw7v33198B9kLTCfUxxxH0qLsZ9KevHfUqoyX2MZct97yLNfXTgzn0bntB94lvSfcsZ1H3V19V9AZbXfU5U2X28Ett9TNHcffyP3n3OTuB9wQ3ifdXM430LjOV9YUvnfdkK6X1yyup9K4rsfQZK7n0CCvB9H8rxfV2K8328SvV9PAv3fdzL+H2ejPp9gU38fYQO/n2oz/997pABflRSA37aEwV+gtUGfkqXCH40WQp+PRsMfmjdDX6znw9+H2IRfqwkE35Z5xR+J6oWfhZtGH4lMBp+VPMbfqW2HX4Veh9+pz0hflgBI34qxSR+HYkmfjBNKH5kESp+uNUrfiyaLX7BXi9+diMxfkvoMn5BrTR+V3I2fo03OH7k/Dl+W8I7fvKHPX6pTT9+gBNBfnjZQn6Pn0R+x2VGfh8sSH6X8kl+L7lLfuh/TX7ARk9+uA1RftDUUn4JnFR+YWNWftkqWH5x8ll+KbpbfgGCXX75SV9+ERJhfknaYn6gomR+F2tmfq4zaH5l/Gl+PMVrfjKObX5IV29+fiBxftTpcn5Js3R+3nx2fpJGeH5mEHp+Wtp7fm2kfX6gbn9+8ziBfmUDg372zYR+qJiGfnhjiH5oLop+ePmLfqfEjX71j49+Y1uRfvAmk36c8pR+aL6WflSKmH5eVpp+iCKcftHunX46u59+wYehfmhUo34vIaV+FO6mfhi7qH48iKp+f1WsfuEirn5i8K9+A76xfsKLs36hWbV+nie3frv1uH72w7p+UZK8fstgvn5jL8B+G/7BfvHMw37nm8V++2rHfi46yX6BCct+8tjMfoGozn4weNB+/kfSfuoX1H7159V+H7jXfmiI2X7PWNt+VSndfvr53n6+yuB+oJvifqFs5H7APeZ+/g7oflvg6X7Wset+cIPtfilV734AJ/F+9fjyfgnL9H48nfZ+jW/4fv1B+n6LFPx+N+f9fgK6/37rjAF/818DfxkzBX9dBgd/wNkIf0GtCn/hgAx/n1QOf3soEH91/BF/jdATf8SkFX8ZeRd/jE0Zfx4iG3/O9hx/m8sef4egIH+RdSJ/uUokfwAgJn9k9Sd/58opf4egK39Gdi1/Ikwvfx0iMX81+DJ/bM40f8GkNn8zezh/xFE6f3IoPH8+/z1/KNY/fzCtQX9WhEN/mltFf/wyR397Ckl/GOJKf9O5TH+skU5/o2lQf7dBUn/pGVR/OfJVf6fKV38yo1l/23tbf6FUXX+FLV9/hwZhf6bfYn/juGR/PpJmf7ZraH9MRWp//x5sf9D4bX++0m9/yqxxf/OGc386YXV/njt3fyAWeX+/8Hp/fMt8f1amfn9NgYB/YlyCf5Q3hH/jEoZ/UO6Hf9rJiX+BpYt/RoGNfyhdj38nOZF/QxWTf33xlH/UzZZ/SKqYf9mGmn+IY5x/U0CefzwdoH9C+qF/Zdejf6W0pX8Ckqd/fW+pfxRNq3/IKq1/mgivf4jmsH+UxLJ/vKK0fwKBtn9kX7h/5D26f4AcvH85+71/D9q/fwK5wX8SmMN/P3fFf4lWx3/vNcl/cxXLfxP1zH/Q1M5/qrTQf6CU0n+zdNR/5FTWfzA12H+aFdp/IPbbf8PW3X+Dt99/X5jhf1h5439uWuV/oDvnf+8c6X9a/up/4t/sf4fB7n9Io/B/JoXyfyBn9H83SfZ/aiv4f7oN+n8m8Pt/r9L9f1S1/38LzACEer0BhPeuAoSDoAOEHJIEhMSDBYR6dQaEP2cHhBFZCITxSgmE4DwKhN0uC4ToIAyEARMNhCkFDoRe9w6EoekPhPPbEIRTzhGEwcAShD2zE4THpRSEX5gVhAWLFoS5fReEfHAYhExjGYQqVhqEF0kbhBE8HIQaLx2EMCIehFUVH4SICCCEyPsghBfvIYRz4iKE3tUjhFbJJITdvCWEcbAmhBSkJ4TElyiEg4sphE9/KoQpcyuEEWcshAdbLYQLTy6EHUMvhD03MIRrKzGEph8yhPATM4RHCDSErfw0hCDxNYSh5TaEL9o3hMzOOIR3wzmEL7g6hPWsO4TJoTyEq5Y9hJuLPoSYgD+Eo3VAhLxqQYTjX0KEGFVDhFpKRISrP0WECDVGhHQqR4TuH0iEdRVJhAoLSoSsAEuEXfZLhBvsTITn4U2EwNdOhKjNT4Scw1CEn7lRhK+vUoTNpVOE+ZtUhDKSVYR5iFaEzn5XhDB1WISga1mEHmJahKlYW4RCT1yE6UVdhJ08XoReM1+ELipghAshYYT1F2KE7Q5jhPMFZIQG/WSEJ/RlhFXrZoSR4meE29lohDLRaYSWyGqECcBrhIi3bIQVr22EsKZuhFieb4QOlnCE0Y1xhKKFcoSAfXOEbHV0hGVtdYRrZXaEf113hKFVeITQTXmEDEZ6hFY+e4SuNnyEEi99hIQnfoQEIH+EkRiAhCsRgYTTCYKEiAKDhEv7g4Qb9ISE+OyFhOPlhoTb3oeE4deIhPTQiYQUyoqEQcOLhHy8jITEtY2EGq+OhH2oj4TtoZCEapuRhPWUkoSNjpOEM4iUhOWBlYSle5aEc3WXhE1vmIQ1aZmEKmOahCxdm4Q8V5yEWVGdhINLnoS6RZ+E/j+ghFA6oYSvNKKEGy+jhJUppIQbJKWErx6mhFAZp4T+E6iEug6phIIJqoRYBKuEO/+rhCv6rIQo9a2EMvCuhErrr4Ru5rCEoOGxhN/csoQr2LOEhNO0hOrOtYReyraE3sW3hGzBuIQGvbmErri6hGO0u4QksLyE86u9hM+nvoS4o7+Er5/AhLKbwYTCl8KE35PDhAmQxIRBjMWEhYjGhNaEx4Q1gciEoH3JhBh6yoSedsuEMHPMhM9vzYR7bM6ENWnPhPtl0ITOYtGErl/ShJtc04SVWdSEnFbVhLBT1oTRUNeE/03YhDpL2YSBSNqE1kXbhDdD3ISmQN2EIT7ehKk734Q+OeCE4DbhhI804oRLMuOEEzDkhOkt5YTLK+aEuinnhLYn6IS/JemE1CPqhPch64QmIOyEYh7thKsc7oQBG++EYxnwhNMX8YRPFvKE2BTzhG0T9IQQEvWEvxD2hHsP94REDviEGQ35hPwL+oTrCvuE5wn8hO8I/YQFCP6EJwf/hFUGAIWRBQGF2QQChS4EA4WPAwSF/gIFhXkCBoUAAgeFlQEIhTYBCYXjAAqFngALhWUADIU5AA2FGQAOhQYAD4UAABCFBgARhRkAEoU5ABOFZQAUhZ4AFYXjABaFNQEXhZQBGIX/ARmFdwIahfwCG4WNAxyFKgQdhdQEHoWLBR+FTwYghR8HIYX7ByKF5AgjhdoJJIXcCiWF6gsmhQYNJ4UtDiiFYg8phaMQKoXwESuFShMshbAULYUjFi6FohcvhS4ZMIXGGjGFaxwyhRweM4XaHzSFpCE1hXsjNoVeJTeFTic4hUopOYVSKzqFZy07hYkvPIW2MT2F8TM+hTc2P4WKOECF6jpBhVY9QoXOP0OFU0JEheRERYWBR0aFK0pHheJMSIWkT0mFc1JKhU5VS4U2WEyFKltNhSteToU4YU+FUWRQhXZnUYWoalKF5m1ThTFxVIWHdFWF6ndWhVp7V4XVfliFXoJZhfKFWoWSiVuFP41chfmQXYW+lF6FkJhfhW6cYIVYoGGFT6RihVGoY4VgrGSFfLBlhaO0ZoXXuGeFF71ohWPBaYW8xWqFIMprhZHObIUO022FmNduhS3cb4XP4HCFfeVxhTfqcoX97nOF0PN0ha74dYWZ/XaFkAJ4hZMHeYWjDHqFvhF7heYWfIUaHH2FWSF+haYmf4X+K4CFYjGBhdI2goVPPIOF2EGEhWxHhYUNTYaFulKHhXNYiIU5XomFCmSKhedpi4XRb4yFxnWNhch7joXVgY+F74eQhRWOkYVHlJKFhJqThc6glIUkp5WFhq2WhfSzl4VuupiF9MCZhYbHmoUlzpuFz9SchYXbnYVH4p6FFemfhe/voIXV9qGFx/2ihcUEpIXPC6WF5RKmhQcap4U1IaiFbyiphbUvqoUHN6uFZT6shc5FrYVETa6FxlSvhVNcsIXtY7GFkmuyhUNzs4UAe7SFyYK1hZ6KtoV/kreFbJq4hWWiuYVpqrqFerK7hZa6vIW+wr2F8sq+hTLTv4V+28CF1uPBhTnswoWp9MOFJP3EhasFxoU+DseF3RbIhYcfyYU+KMqFADHLhc45zIWoQs2FjUvOhX9Uz4V8XdCFhWbRhZpv0oW7eNOF54HUhR+L1YVjlNaFs53XhQ+n2IV2sNmF6bnahWjD24XyzNyFidbdhSvg3oXY6d+FkvPghVf94YUoB+OFBRHkhe0a5YXhJOaF4S7nhe046IUEQ+mFJ03qhVZX64WQYeyF1mvthSh27oWFgO+F7orwhWOV8YXjn/KFb6rzhQe19IWrv/WFWsr2hRTV94Xb3/iFrer5hYr1+oVzAPyFaAv9hWkW/oV1If+FjSwAhrA3AYbfQgKGGU4Dhl9ZBIaxZAWGD3AGhnd7B4bshgiGbJIJhvidCoaPqQuGMrUMhuDADYaazA6GYNgPhjHkEIYN8BGG9fsShukHFIboExWG8x8WhgksF4YrOBiGWEQZhpFQGobVXBuGJWkchoF1HYbogR6GWo4fhtiaIIZhpyGG9rMihpbAI4ZCzSSG+dklhrzmJoaK8yeGZAAphkkNKoY6GiuGNicshj00LYZQQS6Gb04vhplbMIbOaDGGD3YyhluDM4aykDSGFZ41hoOrNob9uDeGgsY4hhPUOYav4TqGVu87hgn9PIbHCj6GkRg/hmYmQIZGNEGGMkJChilQQ4YrXkSGOWxFhlJ6RoZ3iEeGp5ZIhuKkSYYos0qGesFLhtjPTIZA3k2GtOxOhjP7T4a+CVGGVBhShvUmU4ahNVSGWURVhhxTVobqYVeGxHBYhql/WYaZjlqGlZ1bhpysXIauu12Gy8pehvTZX4Yo6WCGZ/hhhrEHY4YHF2SGaCZlhtQ1ZoZMRWeGzlRohlxkaYb1c2qGmoNrhkmTbIYEo22GyrJuhpvCb4Z40nCGX+JxhlLycoZQAnSGWhJ1hm4idoaOMneGuUJ4hu9SeYYwY3qGfHN7htSDfIY2lH2GpKR+hh21f4aixYCGMdaBhsvmgoZx94OGIgiFht4YhoalKYeGdzqIhlVLiYY9XIqGMW2Lhi9+jIY5j42GTqCOhm6xj4aZwpCGz9ORhhHlkoZd9pOGtQeVhhcZloaFKpeG/juYhoJNmYYRX5qGq3CbhlCCnIYAlJ2Gu6WehoG3n4ZTyaCGL9uhhhbtooYJ/6OGBhGlhg8jpoYiNaeGQUeohmpZqYafa6qG332rhimQrIZ/oq2G4LSuhkvHr4bC2bCGQ+yxhtD+soZoEbSGCiS1hrg2toZxSbeGNFy4hgNvuYbcgbqGwZS7hrCnvIaqur2GsM2+hsDgv4bb88CGAgfChjMaw4ZvLcSGtkDFhghUxoZlZ8eGzHrIhj+OyYa9ocqGRbXLhtnIzIZ33M2GIPDOhtQD0IaUF9GGXivShjI/04YSU9SG/WbVhvJ61obzjteG/qLYhhS32YY1y9qGYd/bhpjz3IbZB96GJhzfhn0w4IbfROGGTFnihsRt44ZGguSG1Jblhmyr5oYPwOeGvdTohnbp6YY6/uqGCBPshuIn7YbGPO6GtFHvhq5m8Iaze/GGwpDyhtyl84YBu/SGMND1hmvl9oaw+veGABD5hlol+obAOvuGMFD8hqtl/YYxe/6GwpD/hl2mAIcDvAGHtNECh2/nA4c1/QSHBhMGh+IoB4fJPgiHulQJh7ZqCoe8gAuHzpYMh+qsDYcQww6HQtkPh37vEIfFBRKHFxwTh3MyFIfaSBWHS18Wh8h1F4dPjBiH4KIZh325Gock0BuH1uYch5L9HYdZFB+HKysghwdCIYfuWCKH4G8jh9yGJIfjnSWH9LQmhxHMJ4c44yiHafoph6URK4fsKCyHPUAth5lXLocAby+HcYYwh+2dMYdztTKHBM0zh6DkNIdG/DWH9xM3h7IrOId4QzmHSVs6hyRzO4cKizyH+qI9h/W6Pof60j+HCutAhyUDQodKG0OHejNEh7RLRYf4Y0aHSHxHh6KUSIcGrUmHdcVKh+7dS4dy9kyHAQ9Oh5onT4c+QFCH7FhRh6RxUodnilOHNaNUhw28VYfw1FaH3e1Xh9UGWYfXH1qH4zhbh/pRXIcca12HSIReh3+dX4fAtmCHC9Bhh2HpYofBAmSHLBxlh6I1ZociT2eHrGhoh0CCaYfgm2qHibVrhz3PbIf86G2HxQJvh5gccId2NnGHXlByh1Fqc4dOhHSHVZ51h2e4doeD0neHqux4h9sGeocXIXuHXTt8h61VfYcIcH6HbYp/h9ykgIdWv4GH2tmCh2n0g4cCD4WHpSmGh1NEh4cLX4iHznmJh5qUiodyr4uHU8qMhz/ljYc1AI+HNhuQh0E2kYdWUZKHdmyTh6CHlIfUopWHE76Wh1zZl4ev9JiHDBCah3Qrm4fnRpyHY2Kdh+p9nod7mZ+HFrWgh7zQoYds7KKHJwikh+sjpYe6P6aHk1unh3d3qIdkk6mHXK+qh1/Lq4dr56yHggOuh6Mfr4fPO7CHBFixh0R0soeOkLOH46y0h0HJtYeq5baHHQK4h5seuYciO7qHtFe7h1B0vIf2kL2Hp62+h2HKv4cm58CH9QPCh88gw4eyPcSHoFrFh5h3xoealMeHp7HIh73OyYfe68qHCQnMhz4mzYd9Q86Hx2DPhxt+0Id5m9GH4bjSh1PW04fP89SHVhHWh+Yu14eBTNiHJmrZh9WH2oePpduHUsPchyDh3Yf3/t6H2Rzgh8U64Ye8WOKHvHbjh8aU5IfbsuWH+dDmhyLv54dVDemHkivqh9lJ64cqaOyHhobth+uk7odbw++H1OHwh1gA8ofmHvOHfj30hyBc9YfMevaHgpn3h0K4+IcM1/mH4fX6h78U/IeoM/2HmlL+h5dx/4dPSACM19cAjGRnAYz39gGMjoYCjCsWA4zMpQOMczUEjB7FBIzPVAWMhOQFjD90Boz/AweMw5MHjI0jCIxbswiML0MJjAjTCYzlYgqMyPIKjLCCC4ycEgyMjqIMjIQyDYyAwg2MgVIOjIbiDoyRcg+MoQIQjLWSEIzPIhGM7bIRjBFDEow50xKMZ2MTjJnzE4zRgxSMDRQVjE+kFYyVNBaM4cQWjDFVF4yG5ReM4XUYjEAGGYyklhmMDScajHu3GozvRxuMZ9gbjORoHIxm+RyM7YkdjHkaHowKqx6MnzsfjDrMH4zaXCCMf+0gjCh+IYzXDiKMip8ijEMwI4wAwSOMw1EkjIriJIxWcyWMKAQmjP6UJozZJSeMubYnjJ5HKIyI2CiMdmkpjGr6KYxjiyqMYBwrjGOtK4xqPiyMd88sjIhgLYye8S2MuYIujNkTL4z+pC+MKDYwjFfHMIyLWDGMw+kxjAF7MoxDDDOMip0zjNcuNIwowDSMflE1jNniNYw5dDaMngU3jAeXN4x2KDiM6bk4jGFLOYzf3DmMYW46jOj/Oox0kTuMBSM8jJq0PIw1Rj2M1Nc9jHlpPowi+z6M0Iw/jIMeQIw7sECM90FBjLnTQYyAZUKMS/dCjBuJQ4zwGkSMyqxEjKk+RYyN0EWMdWJGjGP0RoxVhkeMTBhIjEiqSIxJPEmMT85JjFlgSoxp8kqMfYRLjJYWTIy0qEyM1zpNjP/MTYwrX06MXfFOjJODT4zOFVCMDqhQjFM6UYyczFGM615SjD7xUoyWg1OM8xVUjFWoVIy7OlWMJ81VjJdfVowM8laMhoRXjAUXWIyJqViMETxZjJ7OWYwwYVqMx/NajGOGW4wDGVyMqatcjFM+XYwC0V2MtmNejG72XowriV+M7htgjLWuYIyAQWGMUdRhjCdnYowB+mKM4IxjjMQfZIyssmSMmkVljIzYZYyDa2aMf/5mjH+RZ4yFJGiMj7dojJ5KaYyy3WmMynBqjOcDa4wKl2uMMSpsjFy9bIyNUG2MwuNtjPx2bow7Cm+Mfp1vjMcwcIwUxHCMZldxjLzqcYwYfnKMeBFzjN2kc4xHOHSMtct0jClfdYyh8nWMHYZ2jJ8Zd4wlrXeMsEB4jEDUeIzVZ3mMbvt5jAyPeoyvInuMV7Z7jANKfIy03XyManF9jCQFfozkmH6MqCx/jHHAf4w+VICMEeiAjOh7gYzDD4KMpKOCjIk3g4xzy4OMYl+EjFXzhIxNh4WMShuGjEyvhoxSQ4eMXdeHjG1riIyC/4iMm5OJjLkniozcu4qMA1CLjC/ki4xgeIyMlgyNjNCgjYwPNY6MU8mOjJtdj4zo8Y+MOoaQjJEakYzsrpGMTEOSjLDXkowabJOMiACUjPuUlIxyKZWM7r2VjG9Sloz15paMf3uXjA4QmIyhpJiMOjmZjNfNmYx4YpqMH/eajMqLm4x6IJyMLrWcjOdJnYyl3p2MZ3OejC8In4z6nJ+MyzGgjKDGoIx6W6GMWfChjDyFoowkGqOMEK+jjAFEpIz32KSM8m2ljPECpoz1l6aM/iynjAvCp4wdV6iMM+yojE6BqYxuFqqMk6uqjLxAq4zq1auMHGusjFMArYyPla2M0CqujBXAroxeVa+MreqvjACAsIxXFbGMtKqxjBVAsox61bKM5GqzjFMAtIzHlbSMPyu1jLzAtYw9VraMw+u2jE6Bt4zdFriMcay4jApCuYyn17mMSW26jO8Cu4yamLuMSi68jP7DvIy3Wb2MdO+9jDeFvoz9Gr+MybC/jJlGwIxt3MCMR3LBjCQIwowHnsKM7jPDjNrJw4zKX8SMv/XEjLiLxYy2IcaMubfGjMBNx4zM48eM3XnIjPIPyYwMpsmMKjzKjE3Syox0aMuMoP7LjNGUzIwGK82MQMHNjH9XzozC7c6MCYTPjFUa0IymsNCM+0bRjFXd0Yy0c9KMFwrTjH+g04zrNtSMXM3UjNFj1YxL+tWMypDWjE0n14zVvdeMYVTYjPLq2IyHgdmMIRjajMCu2oxjRduMCtzbjLdy3IxnCd2MHaDdjNc23oyVzd6MWGTfjCD734zskeCMvCjhjJK/4YxrVuKMSu3ijC2E44wUG+SMALLkjPFI5Yzm3+WM33bmjN4N54zgpOeM5zvojPPS6IwEaumMGAHqjDKY6oxQL+uMcsbrjJld7IzF9OyM9YvtjCkj7oxjuu6MoFHvjOLo74wpgPCMdBfxjMSu8YwYRvKMcd3yjM9084wwDPSMl6P0jAI79Yxx0vWM5Wn2jF0B94zamPeMXDD4jOLH+IxsX/mM+/b5jI+O+ownJvuMw737jGRV/IwK7fyMtIT9jGIc/owVtP6MzUv/jInj/4xJewCNDhMBjdiqAY2mQgKNeNoCjU9yA40rCgSNC6IEje85BY3Y0QWNxWkGjbcBB42umQeNqTEIjajJCI2sYQmNtPkJjcGRCo3SKQuN6MELjQJaDI0h8gyNRIoNjWwiDo2Yug6NyVIPjf7qD403gxCNdRsRjbizEY3/SxKNSuQSjZp8E43uFBSNR60UjaVFFY0G3hWNbXYWjdcOF41GpxeNuj8YjTLYGI2ucBmNLwkajbWhGo0/OhuNzdIbjWBrHI33Ax2NkpwdjTI1Ho3XzR6NgGYfjS3/H43flyCNlTAhjVDJIY0PYiKN0/oijZuTI41oLCSNOMUkjQ5eJY3o9iWNxo8mjakoJ42QwSeNe1oojWvzKI1fjCmNWCUqjVW+Ko1XVyuNXfArjWiJLI13Ii2NirstjaJULo2+7S6N3oYvjQMgMI0tuTCNW1IxjY3rMY3EhDKN/x0zjT63M42CUDSNyuk0jReDNY1oHDaNvrU2jRdPN4126DeN2YE4jUAbOY2rtDmNG046jY/nOo0IgTuNhRo8jQe0PI2NTT2NF+c9jaaAPo05Gj+N0LM/jWxNQI0M50CNsYBBjVoaQo0HtEKNuU1DjW/nQ40qgUSN6RpFjay0RY10TkaNQOhGjRGCR43lG0iNv7VIjZxPSY1+6UmNZINKjU8dS40+t0uNMlFMjSrrTI0mhU2NJh9OjSu5To00U0+NQu1PjVSHUI1rIVGNhbtRjaRVUo3I71KN8IlTjRwkVI1MvlSNgVhVjbryVY34jFaNOidXjYDBV43LW1iNGvZYjW2QWY3FKlqNIcVajYFfW43m+VuNT5Rcjb0uXY0uyV2NpWNejR/+Xo2emF+NITNgjajNYI00aGGNxAJijVmdYo3yN2ONj9JjjTBtZI3WB2WNgKJljS89Zo3h12aNmHJnjVQNaI0UqGiN2EJpjaDdaY1teGqNPhNrjROua43tSGyNy+Nsja1+bY2UGW6Nf7RujW5Pb41i6m+NWoVwjVYgcY1Wu3GNW1ZyjWTxco1yjHONhCd0jZrCdI20XXWN0/h1jfaTdo0dL3eNScp3jXhleI2tAHmN5Zt5jSI3eo1j0nqNqG17jfIIfI1ApHyNkj99jenafY1Edn6NoxF/jQatf41uSICN2uOAjUp/gY2/GoKNOLaCjbVRg4027YONvIiEjUYkhY3Uv4WNZ1uGjf32ho2YkoeNOC6IjdzJiI2DZYmNMAGKjeCcio2VOIuNTtSLjQtwjI3NC42Nk6eNjV1Djo0r346N/nqPjdUWkI2wspCNj06RjXPqkY1bhpKNRyKTjTe+k40sWpSNJfaUjSKSlY0kLpaNKsqWjTRml41CApiNVJ6YjWs6mY2G1pmNpXKajckOm43xqpuNHUecjU3jnI2Bf52Nuhuejfe3no04VJ+NfvCfjceMoI0VKaGNZ8Whjb5hoo0Y/qKNd5qjjdo2pI1C06SNrW+ljR0Mpo2RqKaNCkWnjYbhp40HfqiNjBqpjRW3qY2iU6qNNPCqjcqMq41kKayNAsasjaVirY1M/62N95uujaY4r41Z1a+NEXKwjc0OsY2Nq7GNUUiyjRrlso3mgbONtx60jYy7tI1mWLWNQ/W1jSWSto0LL7eN9cu3jeNouI3WBbmNzaK5jcg/uo3H3LqNynm7jdIWvI3es7yN7lC9jQLuvY0ai76NNyi/jVjFv419YsCNpv/AjdOcwY0FOsKNOtfCjXR0w42yEcSN9a7EjTtMxY2G6cWN1YbGjSgkx41/wceN2l7IjTr8yI2emcmNBjfKjXLUyo3iccuNVw/Mjc+szI1MSs2NzefNjVKFzo3cIs+NacDPjftd0I2R+9CNK5nRjck20o1s1NKNEnLTjb0P1I1srdSNH0vVjdbo1Y2RhtaNUSTXjRXC143cX9iNqP3YjXmb2Y1NOdqNJtfajQJ1243jEtyNyLDcjbFO3Y2e7N2NkIrejYUo341/xt+NfWTgjX8C4Y2FoOGNjz7ijZ7c4o2weuONxxjkjeK25I0BVeWNJPPljUyR5o13L+eNp83njdpr6I0SCumNTqjpjY5G6o3T5OqNG4PrjWgh7I24v+yNDV7tjWb87Y3Dmu6NJDnvjYrX743zdfCNYRTxjdOy8Y1IUfKNwu/yjUCO843DLPSNScv0jdNp9Y1iCPaN9ab2jYtF940m5PeNxYL4jWkh+Y0QwPmNu176jWv9+o0enPuN1jr8jZLZ/I1SeP2NFhf+jd61/o2qVP+Ne/P/jU+SAI4oMQGOBNABjuVuAo7KDQOOs6wDjqBLBI6R6gSOh4kFjoAoBo59xwaOf2YHjoUFCI6PpAiOnEMJjq7iCY7EgQqO3yALjv2/C44fXwyORv4MjnCdDY6fPA6O0dsOjgh7D45DGhCOgrkQjsVYEY4M+BGOV5cSjqY2E4761ROOUXUUjq0UFY4MtBWOcFMWjtjyFo5DkheOszEYjifRGI6fcBmOGxAajpyvGo4gTxuOqO4bjjSOHI7FLR2OWc0djvJsHo6PDB+OL6wfjtRLII596yCOKoshjtsqIo6QyiKOSWojjgYKJI7HqSSOjUkljlbpJY4jiSaO9SgnjsrIJ46kaCiOgQgpjmOoKY5JSCqOMugqjiCIK44SKCyOCMgsjgJoLY4ACC6OAqgujghIL44S6C+OIIgwjjIoMY5JyDGOY2gyjoEIM46jqDOOykg0jvToNI4jiTWOVSk2jozJNo7GaTeOBQo4jkiqOI6OSjmO2eo5jiiLOo57KzuO0cs7jixsPI6LDD2O7qw9jlVNPo7A7T6OL44/jqIuQI4Zz0COlG9BjhMQQo6WsEKOHVFDjqjxQ443kkSOyjJFjmHTRY78c0aOnBRHjj+1R47mVUiOkfZIjkCXSY70N0qOq9hKjmZ5S44lGkyO6bpMjrBbTY57/E2OS51Ojh4+T4713k+O0H9QjrAgUY6TwVGOemJSjmYDU45VpFOOSEVUjkDmVI47h1WOOihWjj3JVo5FaleOUAtYjl+sWI5zTVmOiu5ZjqWPWo7EMFuO59Fbjg9zXI46FF2OabVdjpxWXo7T916ODplfjk46YI6R22CO2HxhjiMeYo5yv2KOxWBjjhwCZI53o2SO1kRljjnmZY6gh2aOCylnjnnKZ47sa2iOYw1pjt6uaY5dUGqO3/FqjmaTa47xNGyOf9ZsjhJ4bY6pGW6OQ7tujuJcb46E/m+OKqBwjtVBcY6D43GONYVyjuwmc46myHOOZGp0jiYMdY7srXWOtk92joTxdo5Wk3eOLDV4jgbXeI7keHmOxhp6jqy8eo6VXnuOgwB8jnWifI5qRH2OZOZ9jmGIfo5iKn+OaMx/jnFugI5+EIGOj7KBjqRUgo699oKO2piDjvs6hI4g3YSOSX+FjnYhho6mw4aO22WHjhQIiI5QqoiOkEyJjtXuiY4dkYqOaTOLjrnVi44OeIyOZhqNjsG8jY4hX46OhQGPju2jj45YRpCOyOiQjjyLkY6zLZKOLtCSjq5yk44xFZSOuLeUjkNalY7S/JWOZZ+WjvtBl46W5JeONYeYjtcpmY5+zJmOKG+ajtYRm46JtJuOP1ecjvn5nI63nJ2OeD+ejj7ino4IhZ+O1SegjqfKoI58baGOVRCijjOzoo4UVqOO+fijjuKbpI7OPqWOv+GljrSEpo6sJ6eOqcqnjqltqI6tEKmOtbOpjsFWqo7R+aqO5Zyrjvw/rI4Y46yON4atjlspro6CzK6OrW+vjtwSsI4PtrCORlmxjoH8sY6/n7KOAkOzjkjms46SibSO4Cy1jjLQtY6Ic7aO4ha3jj+6t46hXbiOBgG5jnCkuY7dR7qOTuu6jsOOu447MryOuNW8jjl5vY69HL6ORcC+jtFjv45hB8CO9arAjo1OwY4p8sGOyJXCjmw5w44T3cOOvoDEjm0kxY4gyMWO1mvGjpEPx45Ps8eOElfIjtj6yI6insmOcELKjkHmyo4XisuO8C3Mjs7RzI6vdc2OlBnOjn29zo5pYc+OWgXQjk6p0I5HTdGOQ/HRjkOV0o5HOdOOTt3TjlqB1I5pJdWOfMnVjpNt1o6uEdeOzbXXjvBZ2I4W/tiOQKLZjm9G2o6h6tqO1o7bjhAz3I5N19yOj3vdjtQf3o4dxN6OamjfjrsM4I4PseCOZ1XhjsT54Y4knuKOh0Ljju/m445bi+SOyi/ljj3U5Y60eOaOLx3njq7B544wZuiOtwrpjkGv6Y7PU+qOYPjqjvac646PQeyOLebsjs6K7Y5zL+6OG9Tujsh47454HfCOLMLwjuRm8Y6gC/KOYLDyjiNV847r+fOOtp70joVD9Y5X6PWOLo32jggy947m1veOyHv4jq4g+Y6XxfmOhWr6jnYP+45rtPuOZFn8jmD+/I5ho/2OZUj+jm3t/o55kv+OiDcAj5zcAI+zgQGPziYCj+3LAo8PcQOPNhYEj2C7BI+OYAWPwAUGj/WqBo8vUAePbPUHj62aCI/yPwmPOuUJj4aKCo/XLwuPKtULj4J6DI/eHw2PPcUNj6BqDo8HEA+PcbUPj+BaEI9SABGPyKURj0JLEo+/8BKPQZYTj8Y7FI9P4RSP24YVj2wsFo8A0haPmHcXjzQdGI/TwhiPd2gZjx4OGo/JsxqPd1kbjyr/G4/gpByPmkodj1jwHY8Zlh6P3jsfj6jhH490hyCPRS0hjxnTIY/xeCKPzR4jj63EI4+QaiSPdxAlj2K2JY9RXCaPRAInjzqoJ480TiiPMfQojzOaKY84QCqPQeYqj06MK49eMiyPc9gsj4t+LY+nJC6Pxsouj+lwL48QFzCPO70wj2pjMY+cCTKP0q8yjwxWM49J/DOPi6I0j9BINY8Y7zWPZZU2j7U7N48J4jePYYg4j7wuOY8c1TmPf3s6j+UhO49QyDuPvm48jzAVPY+muz2PH2I+j5wIP48drz+PolVAjyr8QI+2okGPRklCj9nvQo9xlkOPDD1Ej6rjRI9NikWP8zBGj53XRo9LfkeP/CRIj7HLSI9qckmPJxlKj+e/So+rZkuPcw1Mjz60TI8NW02P4AFOj7eoTo+RT0+Pb/ZPj1GdUI83RFGPIOtRjw2SUo/9OFOP8t9Tj+qGVI/mLVWP5dRVj+h7Vo/vIleP+slXjwhxWI8aGFmPML9Zj0pmWo9nDVuPiLRbj6xbXI/VAl2PAapdjzBRXo9k+F6Pm59fj9ZGYI8U7mCPV5Vhj508Yo/m42KPNItjj4UyZI/Z2WSPMoFlj44oZo/uz2aPUXdnj7keaI8kxmiPkm1pjwUVao97vGqP9GNrj3ILbI/zsmyPeFptjwACbo+MqW6PHFFvj7D4b49HoHCP4kdxj4DvcY8jl3KPyT5zj3Lmc48gjnSP0TV1j4XddY8+hXaP+ix3j7rUd499fHiPRCR5jw/MeY/dc3qPrxt7j4XDe49fa3yPPBN9jx27fY8BY36P6Qp/j9Wyf4/FWoCPuAKBj6+qgY+qUoKPqPqCj6qig4+vSoSPuPKEj8WahY/WQoaP6uqGjwKTh48eO4iPPeOIj2CLiY+GM4qPsNuKj96Di48QLIyPRdSMj358jY+6JI6P+8yOjz51j4+GHZCP0cWQjyBukY9yFpKPyL6SjyJnk4+AD5SP4beUj0VglY+uCJaPGrGWj4pZl4/9AZiPdKqYj+5SmY9t+5mP76Oaj3RMm4/99JuPip2cjxtGnY+v7p2PR5eej+I/n4+B6J+PJJGgj8o5oY904qGPIouij9Mzo4+I3KOPQYWkj/0tpY+91qWPgH+mj0cop48S0aeP4Xmoj7MiqY+Iy6mPYnSqjz4dq48fxquPA2+sj+sXrY/WwK2Pxmmuj7gSr4+vu6+PqGSwj6YNsY+ntrGPrF+yj7UIs4/BsbOP0Fq0j+QDtY/7rLWPFVa2jzP/to9VqLePe1G4j6T6uI/Qo7mPAU26jzX2uo9sn7uPp0i8j+bxvI8om72PbkS+j7jtvo8Fl7+PVkDAj6rpwI8Ck8GPXjzCj73lwo8gj8OPhzjEj/HhxI9fi8WP0DTGj0Xexo+9h8ePOTHIj7nayI88hMmPwy3Kj07Xyo/cgMuPbirMjwPUzI+cfc2POSfOj9nQzo99es+PJCTQj8/N0I9+d9GPMCHSj+XK0o+fdNOPXB7UjxzI1I/gcdWPqBvWj3PF1o9Cb9ePFRnYj+vC2I/EbNmPohbaj4PA2o9natuPTxTcjzu+3I8qaN2PHRLejxO83o8NZt+PChDgjwy64I8QZOGPGQ7ijyS44o80YuOPRwzkj1625I94YOWPlQrmj7e05o/cXuePBAnojzCz6I9gXemPkwfqj8qx6o8EXOuPQgbsj4Sw7I/JWu2PEgXuj16v7o+uWe+PAQTwj1iu8I+zWPGPEQPyj3Kt8o/YV/OPQAL0j62s9I8dV/WPkAH2jwes9o+CVvePAAH4j4Kr+I8HVvmPkAD6jxyr+o+sVfuPQAD8j9eq/I9yVf2PEAD+j7Kq/o9XVf+PAAAAlFZVAJSuqgCUCAABlGNVAZTBqgGUIAAClIFVApTjqgKUSAADlK5VA5QWqwOUgAAElOtVBJRZqwSUyAAFlDhWBZSrqwWUHwEGlJZWBpQOrAaUhwEHlANXB5SArAeU/wEIlIBXCJQCrQiUhwIJlA1YCZSVrQmUHgMKlKpYCpQ3rgqUxgMLlFdZC5TprguUfgQMlBRaDJSrrwyURQUNlOBaDZR9sA2UHAYOlL1bDpRfsQ6UAwcPlKlcD5RRsg+U+gcQlKZdEJRTsxCUAQkRlLJeEZRktBGUGAoSlM5fEpSGtRKUPwsTlPpgE5S3thOUdQwUlDZiFJT4txSUvA0VlIFjFZRJuRWUEg8WlN1kFpSquhaUeBAXlEhmF5QavBeU7hEYlMNnGJSbvRiUdBMZlE5pGZQrvxmUCRUalOlqGpTLwBqUrhYblJRsG5R7whuUYxgclE5uHJQ6xByUKBodlBhwHZQKxh2U/RselPJxHpTpxx6U4R0flNxzH5TYyR+U1R8glNV1IJTWyyCU2SEhlN53IZTlzSGU7SMilPd5IpQD0CKUESYjlCB8I5Qx0iOURCgklFh+JJRu1CSUhyollKCAJZS81iWU2SwmlPiCJpQZ2SaUOy8nlGCFJ5SG2yeUrTEolNeHKJQC3iiULzQplF6KKZSO4CmUwDYqlPSMKpQq4yqUYjkrlJuPK5TW5SuUEjwslFGSLJSR6CyU0z4tlBaVLZRc6y2Uo0EulOyXLpQ27i6UgkQvlNGaL5Qg8S+UckcwlMWdMJQa9DCUcUoxlMmgMZQj9zGUf00ylN2jMpQ9+jKUnlAzlAGnM5Rl/TOUzFM0lDSqNJSdADWUCVc1lHatNZTlAzaUVlo2lMmwNpQ9BzeUs103lCq0N5SkCjiUH2E4lJy3OJQaDjmUm2Q5lB27OZShETqUJmg6lK2+OpQ2FTuUwWs7lE3CO5TcGDyUbG88lP3FPJSRHD2UJnM9lLzJPZRVID6U73Y+lIvNPpQpJD+UyHo/lGnRP5QMKECUsX5AlFfVQJT/K0GUqYJBlFXZQZQCMEKUsYZClGHdQpQUNEOUyIpDlH7hQ5Q1OESU745ElKrlRJRmPEWUJZNFlOXpRZSnQEaUapdGlDDuRpT3REeUwJtHlIryR5RWSUiUJKBIlPT2SJTFTUmUmKRJlG37SZRDUkqUHKlKlPb/SpTRVkuUr61LlI4ETJRvW0yUUbJMlDUJTZQbYE2UA7dNlOwNTpTXZE6UxLtOlLMST5SjaU+UlcBPlIgXUJR+blCUdcVQlG4cUZRoc1GUZMpRlGIhUpRieFKUY89SlGYmU5RrfVOUctRTlHorVJSEglSUj9lUlJwwVZSrh1WUvN5VlM81VpTjjFaU+eNWlBA7V5QpkleUROlXlGFAWJR/l1iUn+5YlMFFWZTlnFmUCvRZlDFLWpRZolqUhPlalLBQW5Tdp1uUDf9blD5WXJRxrVyUpQRdlNxbXZQTs12UTQpelIhhXpTFuF6UBBBflEVnX5SHvl+UyxVglBBtYJRXxGCUoBthlOtyYZQ3ymGUhSFilNV4YpQm0GKUeidjlM5+Y5Ql1mOUfS1klNeEZJQz3GSUkDNllO+KZZRQ4mWUsjlmlBaRZpR86GaU4z9nlE2XZ5S37meUJEZolJKdaJQC9WiUdExplOejaZRc+2mU01JqlEuqapTFAWuUQVlrlL+wa5Q+CGyUv19slEG3bJTFDm2US2ZtlNO9bZRcFW6U52xulHTEbpQCHG+UknNvlCTLb5S4InCUTXpwlOTRcJR8KXGUFoFxlLLYcZRQMHKU74dylJDfcpQzN3OU145zlH3mc5QlPnSUzpV0lHntdJQmRXWU1Jx1lIT0dZQ2THaU6qN2lJ/7dpRWU3eUDqt3lMgCeJSEWniUQrJ4lAEKeZTCYXmUhLl5lEkRepQPaXqU1sB6lKAYe5RrcHuUN8h7lAYgfJTWd3yUqM98lHsnfZRQf32UJ9d9lP8ufpTZhn6Utd5+lJM2f5Ryjn+UU+Z/lDU+gJQZloCU/+2AlOdFgZTQnYGUu/WBlKdNgpSVpYKUhf2ClHdVg5RqrYOUXwWElFZdhJROtYSUSA2FlERlhZRBvYWUQBWGlEBthpRDxYaURx2HlEx1h5RUzYeUXSWIlGd9iJR01YiUgi2JlJGFiZSj3YmUtjWKlMqNipTh5YqU+T2LlBKWi5Qu7ouUS0aMlGmejJSK9oyUrE6NlM+mjZT1/o2UHFeOlESvjpRvB4+Um1+PlMi3j5T4D5CUKWiQlFvAkJSQGJGUxnCRlP3IkZQ3IZKUcnmSlK7RkpTtKZOULIKTlG7ak5SxMpSU9oqUlD3jlJSFO5WUz5OVlBvslZRoRJaUt5yWlAj1lpRaTZeUrqWXlAP+l5RaVpiUs66YlA4HmZRqX5mUyLeZlCcQmpSJaJqU68CalFAZm5S2cZuUHsqblIcinJTyepyUX9OclM4rnZQ+hJ2Ur9ydlCM1npSYjZ6UDuaelIc+n5QBl5+UfO+flPpHoJR5oKCU+figlHxRoZT/qaGUhQKilAxbopSVs6KUIAyjlKxko5Q6vaOUyRWklFpupJTtxqSUgR+llBh4pZSv0KWUSSmmlOSBppSA2qaUHzOnlL+Lp5Rg5KeUAz2olKiVqJRP7qiU90aplKGfqZRM+KmU+lCqlKipqpRZAquUC1urlL+zq5R0DKyUK2WslOS9rJSeFq2UWm+tlBjIrZTXIK6UmHmulFrSrpQeK6+U5IOvlKzcr5R1NbCUQI6wlAznsJTaP7GUqpixlHvxsZROSrKUIqOylPn7spTRVLOUqq2zlIUGtJRiX7SUQLi0lCARtZQCarWU5sK1lMsbtpSxdLaUmc22lIMmt5Rvf7eUXNi3lEsxuJQ7iriULeO4lCE8uZQWlbmUDe65lAZHupQAoLqU/Pi6lPpRu5T5qruU+gO8lPxcvJQAtryUBg+9lA1ovZQWwb2UIRq+lC1zvpQ7zL6USiW/lFt+v5Ru17+UgzDAlJmJwJSw4sCUyjvBlOSUwZQB7sGUH0fClD+gwpRg+cKUg1LDlKirw5TOBMSU9l3ElCC3xJRLEMWUeGnFlKfCxZTXG8aUCHXGlDzOxpRxJ8eUp4DHlN/Zx5QZM8iUVYzIlJLlyJTRPsmUEZjJlFPxyZSXSsqU3KPKlCP9ypRrVsuUta/LlAEJzJROYsyUnbvMlO4UzZRAbs2UlMfNlOkgzpRAes6UmdPOlPMsz5RPhs+Urd/PlAw50JRtktCUz+vQlDNF0ZSZntGUAPjRlGlR0pTUqtKUQATTlK5d05Qdt9OUjhDUlAFq1JR1w9SU6xzVlGJ21ZTbz9WUVinWlNKC1pRQ3NaU0DXXlFGP15TU6NeUWELYlN6b2JRm9diU707ZlHqo2ZQHAtqUlVvalCS12pS2DtuUSWjblN3B25RzG9yUC3XclKXO3JRAKN2U3IHdlHrb3ZQaNd6UvI7elF/o3pQDQt+UqpvflFL135T7TuCUpqjglFMC4ZQBXOGUsbXhlGMP4pQWaeKUy8LilIEc45Q5duOU88/jlK4p5JRrg+SUKd3klOk25ZSrkOWUburllDNE5pT5neaUwffmlItR55RWq+eUIwXolPJe6JTCuOiUkxLplGds6ZQ7xumUEiDqlOp56pTE0+qUny3rlHyH65Rb4euUOzvslByV7JQA7+yU5UjtlMui7ZSz/O2UnVbulIiw7pR1Cu+UZGTvlFS+75RGGPCUOXLwlC7M8JQkJvGUHYDxlBba8ZQSNPKUD47ylA3o8pQNQvOUD5zzlBL285QXUPSUHqr0lCYE9ZQwXvWUO7j1lEgS9pRWbPaUZsb2lHgg95SLeveUoNT3lLcu+JTPiPiU6eL4lAQ9+ZQhl/mUP/H5lF9L+pSBpfqUpP/6lMlZ+5Tvs/uUFw78lEFo/JRswvyUmRz9lMd2/ZT30P2UKSv+lFyF/pSR3/6Uxzn/lP+T/5Q47v+UdEgAlbCiAJXv/ACVLlcBlXCxAZWzCwKV+GUClT7AApWGGgOVz3QDlRrPA5VnKQSVtYMElQXeBJVWOAWVqZIFlf3sBZVURwaVq6EGlQT8BpVfVgeVvLAHlRoLCJV5ZQiV278IlT0aCZWidAmVCM8JlW8pCpXYgwqVQ94Kla84C5UdkwuVje0Llf5HDJVxogyV5fwMlVtXDZXSsQ2VSwwOlcVmDpVBwQ6VvxsPlT52D5W/0A+VQisQlcaFEJVL4BCV0zoRlVuVEZXm7xGVckoSlf+kEpWO/xKVH1oTlbG0E5VFDxSV2mkUlXHEFJUKHxWVpHkVlUDUFZXdLhaVfIkWlRzkFpW+PheVYpkXlQf0F5WuThiVVqkYlQAEGZWrXhmVWLkZlQcUGpW3bhqVackalRwkG5XRfhuVh9kblUA0HJX5jhyVtOkclXFEHZUvnx2V7/kdlbFUHpV0rx6VOAoflf9kH5XGvx+VkBoglVt1IJUn0CCV9SohlcWFIZWW4CGVaTsilT2WIpUT8SKV6ksjlcOmI5WeASSVelwklVi3JJU3EiWVGG0llfvHJZXfIiaVxH0mlavYJpWUMyeVfo4nlWrpJ5VXRCiVRp8olTf6KJUpVSmVHbAplRILKpUJZiqVAcEqlfsbK5X3diuV9NErlfIsLJXyhyyV9OIslfc9LZX8mC2VA/QtlQtPLpUUqi6VHwUvlSxgL5U6uy+VShYwlVtxMJVuzDCVgycxlZmCMZWw3TGVyjgyleSTMpUB7zKVHkozlT6lM5VfADSVgVs0laW2NJXLETWV8mw1lRvINZVFIzaVcX42lZ/ZNpXONDeV/o83lTDrN5VkRjiVmaE4ldD8OJUIWDmVQrM5lX0OOpW6aTqV+cQ6lTkgO5V7ezuVvtY7lQMyPJVJjTyVkeg8ldpDPZUlnz2Vcvo9lcBVPpUPsT6VYQw/lbNnP5UIwz+VXh5AlbV5QJUO1UCVaDBBlcSLQZUi50GVgUJCleKdQpVE+UKVqFRDlQ2wQ5V0C0SV3WZElUfCRJWyHUWVH3lFlY7URZX+L0aVcItGlePmRpVYQkeVzp1HlUb5R5XAVEiVO7BIlbcLSZU1Z0mVtcJJlTYeSpW5eUqVPdVKlcMwS5VLjEuV1OdLlV5DTJXqnkyVePpMlQdWTZWXsU2VKg1Olb1oTpVTxE6V6R9PlYJ7T5Uc10+VtzJQlVSOUJXz6VCVk0VRlTShUZXY/FGVfFhSlSO0UpXKD1OVdGtTlR/HU5XLIlSVeX5UlSnaVJXaNVWVjJFVlUDtVZX2SFaVraRWlWYAV5UgXFeV3LdXlZkTWJVYb1iVGctYldsmWZWeglmVY95ZlSo6WpXylVqVu/FalYdNW5VTqVuVIgVclfFgXJXDvFyVlhhdlWp0XZVA0F2VFyxelfCHXpXL416Vpz9flYWbX5Vk91+VRFNglSevYJUKC2GV8GZhldfCYZW/HmKVqXpilZTWYpWBMmOVcI5jlWDqY5VRRmSVRKJklTn+ZJUvWmWVJ7ZllSASZpUabmaVF8pmlRQmZ5UUgmeVFd5nlRc6aJUblmiVIPJolSdOaZUwqmmVOgZqlUViapVSvmqVYRprlXF2a5WD0muVli5slauKbJXB5myV2UJtlfKebZUN+22VKVdulUezbpVmD2+Vh2tvlarHb5XNI3CV839wlRrccJVDOHGVbZRxlZjwcZXFTHKV9KhylSQFc5VWYXOVib1zlb4ZdJX0dXSVLNJ0lWUudZWginWV3OZ1lRpDdpVZn3aVmvt2ld1Xd5UhtHeVZhB4la1seJX1yHiVPyV5lYuBeZXY3XmVJzp6lXeWepXI8nqVHE97lXCre5XGB3yVHmR8lXfAfJXSHH2VLnl9lYzVfZXrMX6VTI5+la7qfpUSR3+VeKN/ld7/f5VHXICVsbiAlRwVgZWJcYGV982BlWcqgpXZhoKVTOOClcA/g5U2nIOVrviDlSdVhJWhsYSVHg6FlZtqhZUax4WVmyOGlR2AhpWh3IaVJjmHlayVh5U18oeVvk6IlUmriJXWB4mVZGSJlfTAiZWFHYqVGHqKlazWipVCM4uV2Y+LlXLsi5UMSYyVqKWMlUYCjZXkXo2VhbuNlScYjpXKdI6Vb9GOlRUuj5W9io+VZuePlRFEkJW+oJCVbP2QlRtakZXMtpGVfhOSlTJwkpXozJKVnymTlVeGk5UR45OVzT+UlYqclJVI+ZSVCFaVlcqylZWMD5aVUWyWlRfJlpXeJZeVp4KXlXLfl5U+PJiVDJmYldv1mJWrUpmVfa+ZlVEMmpUmaZqV/MWaldQim5Wuf5uVidyblWU5nJVDlpyVI/OclQRQnZXmrJ2VywmelbBmnpWXw56VgCCflWp9n5VV2p+VQjeglTGUoJUh8aCVEk6hlQWroZX6B6KV8GSilefBopXhHqOV23ujldfYo5XVNaSV1JKkldTvpJXWTKWV2qmlld8GppXlY6aV7cCmlfcdp5UCe6eVDtinlRw1qJUskqiVPO+olU9MqZVjqamVeAaqlY9jqpWowKqVwh2rld16q5X616uVGDWslTiSrJVa76yVfUytlaGprZXHBq6V7mOulRfBrpVBHq+VbXuvlZvYr5XJNbCV+pKwlSvwsJVfTbGVlKqxlcoHspUCZbKVO8KylXYfs5WyfLOV8NmzlS83tJVvlLSVsvG0lfVOtZU6rLWVgQm2lclmtpUTxLaVXiG3lat+t5X527eVSDm4lZmWuJXs87iVQFG5lZWuuZXsC7qVRWm6lZ/GupX6I7uVV4G7lbbeu5UWPLyVd5m8ldr2vJU+VL2VpLG9lQsPvpV0bL6V38m+lUonv5W4hL+VJuK/lZc/wJUIncCVfPrAlfBXwZVmtcGV3hLClVdwwpXSzcKVTivDlcuIw5VL5sOVy0PElU2hxJXR/sSVVlzFldy5xZVkF8aV7XTGlXjSxpUFMMeVk43HlSLrx5WzSMiVRabIldkDyZVuYcmVBb/JlZ0cypU3esqV0tfKlW41y5UNk8uVrPDLlU1OzJXwq8yVlAnNlTlnzZXgxM2ViSLOlTOAzpXe3c6VizvPlTmZz5Xp9s+VmlTQlU2y0JUBENGVt23RlW7L0ZUnKdKV4YbSlZ3k0pVaQtOVGKDTldj905WaW9SVXbnUlSEX1ZXndNWVr9LVlXgw1pVCjtaVDuzWldtJ15Wqp9eVegXYlUxj2JUfwdiV9B7Zlcp82ZWh2tmVejjalVWW2pUx9NqVDlLble2v25XODdyVr2vclZPJ3JV4J92VXoXdlUbj3ZUvQd6VGp/elQb93pXzWt+V4rjfldMW4JXFdOCVuNLgla0w4ZWkjuGVnOzhlZVK4pWQqOKVjAbjlYpk45WJwuOViiDklYx+5JWP3OSVlDrllZuY5ZWj9uWVrFTmlbey5pXEEOeV0m7nleHM55XyKuiVBInolRjn6JUtRemVQ6PplVwB6pV1X+qVkL3qla0b65XLeeuV6tfrlQs27JUtlOyVUfLslXZQ7ZWdru2VxQzule9q7pUaye6VRifvlXSF75Wk4++V1UHwlQeg8JU7/vCVcFzxlae68ZXfGPKVGXfylVTV8pWQM/OVz5HzlQ7w85VPTvSVkaz0ldUK9ZUbafWVYcf1laol9pXzg/aVP+L2lYtA95XZnveVKf33lXpb+JXMufiVIBj5lXV2+ZXM1PmVJDP6lX6R+pXZ7/qVNk77lZSs+5XzCvyVVGn8lbfH/JUbJv2VgIT9lefi/ZVPQf6VuZ/+lST+/pWRXP+V/7r/lW4ZAJbfdwCWUdYAlsU0AZY7kwGWsfEBlipQApajrgKWHg0DlptrA5YZygOWmCgElhmHBJac5QSWH0QFlqWiBZYrAQaWtF8Glj2+BpbIHAeWVXsHluPZB5ZyOAiWA5cIlpX1CJYpVAmWvrIJllURCpbtbwqWhs4KliEtC5a+iwuWXOoLlvtIDJacpwyWPgYNluFkDZaHww2WLSIOltWADpZ/3w6WKT4PltacD5aD+w+WM1oQluO4EJaVFxGWSXYRlv7UEZa0MxKWbJISliXxEpbgTxOWnK4TlloNFJYZbBSW2soUlpwpFZZfiBWWJOcVlupFFpaypBaWewMXlkZiF5YSwReW3x8Ylq5+GJZ+3RiWUDwZliSbGZb4+RmWzlgalqa3GpZ/FhuWWXUbljXUG5YTMxyW8ZEcltLwHJazTx2Wlq4dlnsNHpZhbB6WSMseljEqH5YbiR+WB+gflvRGIJbjpSCW0wQhlsRjIZa3wiGWqyEilqGAIpaY3yKWkT4jloudI5aG/COWg1skloK6JJaBGSWWg3glloXXJZaJNiaWj5Umlpb0JpaeUyeWqLInlrMRKJbAcCiWzs8olt4uKZbvjSmWAe0plhVMKpYqqyqWQQorlllpK5ZzyCuWjicslqqGLJbI5SyW6EQtlgikLZYqAy6WTmIulnPBLpaaIC+WwX8vluveL5YWPjCWQp0wlm/8MJaeWzGWz7oxlgEaMpY0eTKWadgylp83M5bXljOWEPYzlkpVNJaGtDSWwxM1lgJzNZZC0jWWhDE2lseQNpYL8DaWUU83lpmuN5bhDTiWK204lnfMOJbEKzmWEos5lmLqOZa0STqWBqk6lloIO5awZzuWB8c7ll8mPJa5hTyWFOU8lnFEPZbPoz2WLwM+lpBiPpbywT6WViE/lruAP5Yi4D+Wij9AlvOeQJZe/kCWy11Blji9QZanHEKWGHxClorbQpb9OkOWcppDlun5Q5ZgWUSW2bhEllQYRZbQd0WWTddFlsw2RpZMlkaWzvVGllFVR5bVtEeWWxRIluNzSJZr00iW9jJJloGSSZYO8kmWnFFKliyxSpa+EEuWUHBLluTPS5Z6L0yWEY9MlqnuTJZDTk2W3q1NlnoNTpYYbU6WuMxOllksT5b7i0+WnutPlkRLUJbqqlCWkgpRljtqUZbmyVGWkilSlkCJUpbv6FKWn0hTllGoU5YECFSWuWdUlm/HVJYmJ1WW34ZVlpnmVZZVRlaWEqZWltAFV5aQZVeWUsVXlhQlWJbZhFiWnuRYlmVEWZYupFmW9wNalsNjWpaPw1qWXSNbli2DW5b+4luW0EJclqOiXJZ5Al2WT2JdlifCXZYAIl6W24FelrfhXpaVQV+WdKFfllQBYJY2YWCWGcFglv0gYZbjgGGWy+BhlrRAYpaeoGKWiQBjlndgY5ZlwGOWVSBklkaAZJY54GSWLUBlliKgZZYZAGaWEWBmlgvAZpYGIGeWA4BnlgDgZ5YAQGiWAKBolgMAaZYGYGmWC8BplhEgapYZgGqWIuBqli1Aa5Y5oGuWRgBsllVgbJZlwGyWdiBtlomAbZae4G2Ws0BulsugbpbjAG+W/WBvlhjBb5Y1IXCWU4FwlnPhcJaUQXGWtqFxltoBcpb/YXKWJsJylk4ic5Z3gnOWouJzls5CdJb8onSWKwN1lltjdZaNw3WWwCN2lvSDdpYq5HaWYkR3lpukd5bVBHiWEGV4lk3FeJaMJXmWy4V5lgzmeZZPRnqWk6Z6ltgGe5YfZ3uWZ8d7lrEnfJb8h3yWSOh8lpZIfZblqH2WNQl+lodpfpbayX6WLyp/loWKf5bd6n+WNkuAlpCrgJbrC4GWSWyBlqfMgZYHLYKWaI2ClsvtgpYvToOWlK6DlvsOhJZjb4SWzc+EljgwhZakkIWWEvGFloFRhpbysYaWZBKHltdyh5ZM04eWwjOIljmUiJay9IiWLFWJlqi1iZYlFoqWpHaKliTXipalN4uWJ5iLlqz4i5YxWYyWuLmMlkAajZbKeo2WVNuNluE7jpZvnI6W/vyOlo5dj5Ygvo+WtB6Qlkh/kJbe35CWdkCRlg+hkZapAZKWRWKSluLCkpaAI5OWIISTlsHkk5ZjRZSWB6aUlq0GlZZTZ5WW/MeVlqUolpZQiZaW/OmWlqpKl5ZZq5eWCQyYlrtsmJZuzZiWIy6ZltmOmZaQ75mWSVCalgOxmpa/EZuWe3KbljrTm5b5M5yWupScln31nJZBVp2WBredlswXnpaUeJ6WXtmelig6n5b0mp+WwvuflpFcoJZhvaCWMh6hlgV/oZba36GWsECiloehopZfAqOWOWOjlhTEo5bxJKSWz4Wklq7mpJaPR6WWcailllUJppY6aqaWIMumlggsp5bxjKeW2+2nlsdOqJa0r6iWoxCplpNxqZaE0qmWdzOqlmuUqpZh9aqWV1arllC3q5ZJGKyWRHmslkHarJY+O62WPZytlj79rZZAXq6WQ7+ulkcgr5ZNga+WVeKvll5DsJZopLCWcwWxloBmsZaOx7GWniiylq+JspbB6rKW1Uuzluqss5YADrSWGG+0ljHQtJZMMbWWaJK1loXztZakVLaWxLW2luYWt5YIeLeWLdm3llI6uJZ5m7iWofy4lstduZb2vrmWIyC6llCBupaA4rqWsEO7luKku5YVBryWSme8loDIvJa3Kb2W8Iq9lirsvZZmTb6Wo66+luEPv5Ygcb+WYdK/lqQzwJbnlMCWLPbAlnNXwZa7uMGWBBrClk57wpaa3MKW6D3Dljafw5aGAMSW2GHElirDxJZ/JMWW1IXFlivnxZaDSMaW3anGljgLx5aUbMeW8s3HllEvyJaxkMiWE/LIlnZTyZbatMmWQBbKlqh3ypYQ2cqWejrLluWby5ZS/cuWwF7MljDAzJagIc2WE4PNlobkzZb7Rc6WcafOlukIz5Zias+W3MvPllgt0JbVjtCWU/DQltNR0ZZUs9GW1xTSllp20pbg19KWZjnTlu6a05Z3/NOWAl7Ulo6/1JYcIdWWqoLVljrk1ZbMRdaWX6fWlvMI15aIateWH8zXlrgt2JZRj9iW7PDYlohS2ZYmtNmWxRXalmZ32pYH2dqWqjrblk+c25b1/duWnF/clkXB3JbuIt2WmoTdlkbm3Zb0R96WpKnellQL35YGbd+Wus7flm8w4JYlkuCW3PPglpVV4ZZPt+GWCxnilsh64paG3OKWRj7jlgeg45bJAeSWjWPkllLF5JYYJ+WW4Ijllqnq5ZZzTOaWP67mlgwQ55bbceeWq9Pnlnw16JZOl+iWIvnolvha6ZbOvOmWph7qln+A6pZa4uqWNkTrlhSm65byB+yW0mnslrTL7JaXLe2We4/tlmDx7ZZHU+6WL7XulhkX75YEee+W8Nrvlt488JbMnvCWvQDxlq5i8ZahxPGWlibylouI8paC6vKWe0zzlnWu85ZwEPSWbHL0lmrU9JZpNvWWaZj1lmv69ZZuXPaWc772lnkg95aAgveWieT3lpNG+JaeqPiWqgr5lrhs+ZbIzvmW2DD6luqS+pb+9PqWElf7lii5+5ZAG/yWWH38lnLf/JaOQf2Wq6P9lskF/pboZ/6WCcr+liss/5ZPjv+Wc/D/lppSAJfBtACX6hYBlxR5AZdA2wGXbD0Cl5ufApfKAQOX+2MDly3GA5dhKASXlooEl8zsBJcETwWXPbEFl3cTBpezdQaX8NcGly46B5dunAeXr/4Hl/FgCJc1wwiXeiUJl8CHCZcI6gmXUUwKl5uuCpfnEAuXNHMLl4PVC5fSNwyXI5oMl3b8DJfKXg2XH8ENl3UjDpfNhQ6XJugOl4BKD5fcrA+XOQ8Ql5hxEJf40xCXWTYRl7uYEZcf+xGXhF0Sl+u/EpdTIhOXvIQTlybnE5eSSRSX/6sUl24OFZfecBWXT9MVl8E1Fpc1mBaXqvoWlyFdF5eZvxeXEiIYl42EGJcJ5xiXhkkZlwSsGZeEDhqXBXEal4jTGpcMNhuXkZgblxj7G5efXRyXKcAcl7MiHZc/hR2XzOcdl1tKHpfrrB6XfA8flw5yH5ei1B+XNzcgl86ZIJdm/CCX/14hl5rBIZc2JCKX04Yil3HpIpcRTCOXsq4jl1URJJf5cySXntYkl0Q5JZfsmyWXlf4ll0BhJpfswyaXmSYnl0eJJ5f36yeXqE4ol1uxKJcPFCmXxHYpl3rZKZcyPCqX654ql6YBK5dhZCuXHscrl90pLJedjCyXXu8slyBSLZfktC2XqRcul296Lpc33S6XAEAvl8qiL5eWBTCXY2gwlzLLMJcBLjGX0pAxl6XzMZd4VjKXTbkylyMcM5f7fjOX1OEzl65ENJeKpzSXZwo1l0VtNZcl0DWXBjM2l+iVNpfL+DaXsFs3l5a+N5d+ITiXZ4Q4l1HnOJc9SjmXKa05lxcQOpcHczqX+NU6l+o4O5fdmzuX0v47l8hhPJe/xDyXuCc9l7KKPZeu7T2XqlA+l6izPpeoFj+XqHk/l6rcP5etP0CXsqJAl7gFQZe/aEGXyMtBl9IuQpfdkUKX6fRCl/dXQ5cGu0OXFx5ElymBRJc85ESXUEdFl2aqRZd9DUaXlXBGl6/TRpfKNkeX55lHlwT9R5cjYEiXRMNIl2UmSZeIiUmXrOxJl9JPSpf5skqXIRZLl0t5S5d13EuXoT9Ml8+iTJf+BU2XLmlNl1/MTZeSL06XxpJOl/v1TpcyWU+XarxPl6MfUJfeglCXGuZQl1dJUZeWrFGX1g9SlxdzUpdZ1lKXnTlTl+KcU5cpAFSXcWNUl7rGVJcEKlWXUI1Vl53wVZfrU1aXO7dWl4waV5fefVeXMeFXl4ZEWJfdp1iXNAtZl41uWZfn0VmXQjVal5+YWpf9+1qXXV9bl73CW5cfJlyXg4lcl+fsXJdNUF2XtbNdlx0XXpeHel6X8t1el19BX5fMpF+XOwhgl6xrYJcez2CXkTJhlwWWYZd7+WGX8lxil2rAYpfjI2OXXodjl9vqY5dYTmSX17Fkl1cVZZfYeGWXW9xll98/Zpdko2aX6wZnl3NqZ5f8zWeXhzFolxOVaJeg+GiXLlxpl76/aZdPI2qX4oZql3XqapcKTmuXobFrlzgVbJfReGyXbNxslwdAbZeko22XQgdul+JqbpeCzm6XJDJvl8iVb5ds+W+XEl1wl7rAcJdiJHGXDIhxl7frcZdkT3KXErNyl8EWc5dxenOXI95zl9ZBdJeKpXSXQAl1l/dsdZev0HWXaDR2lyOYdpff+3aXnV93l1zDd5ccJ3iX3Yp4l5/ueJdjUnmXKbZ5l+8Zepe3fXqXgOF6l0tFe5cWqXuX4wx8l7JwfJeB1HyXUjh9lyScfZf4/32XzWN+l6PHfpd6K3+XU49/ly3zf5cIV4CX5bqAl8MegZeigoGXg+aBl2RKgpdHroKXLBKDlxJ2g5f52YOX4T2El8qhhJe1BYWXommFl4/NhZd+MYaXbpWGl1/5hpdSXYeXRsGHlzsliJcyiYiXKu2IlyNRiZcdtYmXGRmKlxZ9ipcU4YqXFEWLlxWpi5cXDYyXGnGMlx/VjJclOY2XLZ2NlzUBjpc/ZY6XS8mOl1ctj5dlkY+XdPWPl4VZkJeWvZCXqSGRl76FkZfT6ZGX6k2SlwKykpccFpOXN3qTl1Pek5dwQpSXj6aUl68KlZfQbpWX8tKVlxY3lpc7m5aXYv+Wl4ljl5eyx5eX3SuYlwiQmJc19JiXY1iZl5K8mZfDIJqX9YSalynpmpddTZuXk7Gbl8oVnJcDepyXPN6cl3dCnZe0pp2X8QqelzBvnpdw056Xsjefl/Wbn5c5AKCXfmSgl8XIoJcMLaGXVpGhl6D1oZfsWaKXOb6il4cio5fXhqOXKOujl3pPpJfOs6SXIhill3h8pZfQ4KWXKEWml4KpppfdDaeXOnKnl5jWp5f3OqiXV5+ol7kDqZccaKmXgMypl+UwqpdMlaqXtPmqlx5eq5eIwquX9Casl2GLrJfQ76yXP1Stl7C4rZcjHa6XloGulwvmrpeBSq+X+a6vl3ITsJfsd7CXZ9ywl+RAsZdhpbGX4Qmyl2Fuspfj0rKXZjezl+qbs5dvALSX9mS0l37JtJcILrWXkpK1lx73tZesW7aXOsC2l8okt5dbibeX7e23l4FSuJcWt7iXrBu5l0SAuZfc5LmXdkm6lxKuupeuEruXTHe7l+vbu5eMQLyXLaW8l9AJvZd1br2XGtO9l8E3vpdpnL6XEwG/l71lv5dpyr+XFi/Al8WTwJd1+MCXJl3Bl9jBwZeLJsKXQIvCl/bvwpeuVMOXZ7nDlyEexJfcgsSXmOfEl1ZMxZcVscWX1hXGl5d6xpda38aXHkTHl+Sox5eqDciXcnLIlzzXyJcGPMmX0qDJl58FypdtasqXPc/Klw40y5fgmMuXtP3Ll4hizJdex8yXNizNlw6RzZfo9c2Xw1rOl6C/zpd9JM+XXInPlzzuz5ceU9CXAbjQl+Uc0ZfKgdGXsObRl5hL0peBsNKXbBXTl1d605dE39OXMkTUlyKp1JcTDtWXBXPVl/jX1ZfsPNaX4qHWl9kG15fSa9eXy9DXl8Y12JfCmtiXwP/Yl75k2Ze+ydmXvy7al8KT2pfG+NqXy13bl9HC25fZJ9yX4Yzcl+zx3Jf3Vt2XBLzdlxEh3pchht6XMevel0NQ35dWtd+Xahrgl4B/4JeW5OCXrknhl8iu4ZfiE+KX/njilxve4pc6Q+OXWajjl3oN5JeccuSXwNfkl+Q85ZcKouWXMgfml1ps5peE0eaXrzbnl9ub55cJAeiXOGbol2jL6JeZMOmXzJXplwD76Zc1YOqXa8Xql6Mq65fcj+uXFvXrl1Fa7JeOv+yXzCTtlwuK7ZdM7+2XjlTul9G57pcVH++XW4Tvl6Hp75fpTvCXM7Twl30Z8ZfJfvGXFuTxl2VJ8pe1rvKXBRTzl1h585er3vOXAET0l1ap9JetDvWXBXT1l1/Z9Ze6PvaXFqT2l3QJ95fTbveXM9T3l5Q5+Jf3nviXWgT5l8Bp+Zcmz/mXjjT6l/aZ+pdg//qXzGT7lzjK+5emL/yXFpX8l4b6/Jf4X/2Xa8X9l98q/pdUkP6Xy/X+l0Nb/5e8wP+XGxMAnNlFAJyXeACcV6sAnBbeAJzXEAGcmEMBnFl2AZwcqQGc39sBnKIOApxmQQKcK3QCnPCmApy22QKcfQwDnEQ/A5wMcgOc1aQDnJ7XA5xoCgScMj0EnP1vBJzJogScldUEnGIIBZwwOwWc/m0FnM2gBZyc0wWcbAYGnD05BpwObAac4J4GnLPRBpyGBAecWjcHnC5qB5wDnQec2c8HnK8CCJyGNQicXmgInDabCJwPzgic6AAJnMIzCZydZgmceJkJnFTMCZwx/wmcDjIKnOxkCpzLlwqcqsoKnIn9CpxqMAucS2MLnCyWC5wOyQuc8fsLnNUuDJy5YQycnpQMnIPHDJxp+gycTy0NnDdgDZwekw2cB8YNnPD4DZzaKw6cxF4OnK+RDpybxA6ch/cOnHQqD5xhXQ+cT5APnD7DD5wt9g+cHSkQnA5cEJz/jhCc8cEQnOP0EJzWJxGcyloRnL6NEZyzwBGcqfMRnJ8mEpyWWRKcjYwSnIW/Epx+8hKcdyUTnHFYE5xsixOcZ74TnGPxE5xfJBScXFcUnFqKFJxYvRScV/AUnFYjFZxXVhWcV4kVnFm8FZxb7xWcXSIWnGFVFpxkiBacabsWnG7uFpx0IRecelQXnIGHF5yJuhecke0XnJogGJyjUxicrYYYnLi5GJzD7Biczx8ZnNxSGZzphRmc97gZnAXsGZwVHxqcJFIanDSFGpxFuBqcV+sanGkeG5x8URucj4QbnKO3G5y46huczR0cnONQHJz6gxycEbccnCjqHJxBHR2cWlAdnHODHZyOth2cqOkdnMQcHpzgTx6c/YIenBq2Hpw46R6cVxwfnHZPH5yWgh+ctrUfnNfoH5z5GyCcG08gnD6CIJxhtSCcheggnKobIZzQTiGc9oEhnBy1IZxD6CGcaxsinJROIpy9gSKc5rQinBHoIpw8GyOcZ04jnJOBI5zAtCOc7ucjnBwbJJxKTiSceYEknKm0JJza5yScCxslnD1OJZxvgSWcorQlnNbnJZwKGyacP04mnHSBJpyqtCac4ecmnBgbJ5xQTieciIEnnMK0J5z75yecNhsonHFOKJysgSic6LQonCXoKJxjGymcoU4pnN+BKZwftSmcX+gpnJ8bKpzgTiqcIoIqnGS1Kpyn6Cqc6xsrnC9PK5x0giucurUrnADpK5xGHCycjk8snNaCLJwetiycZ+ksnLEcLZz7Ty2cRoMtnJK2LZze6S2cKx0unHhQLpzGgy6cFbcunGTqLpy0HS+cBVEvnFaEL5yoty+c+uovnE0eMJyhUTCc9YQwnEq4MJyf6zCc9R4xnExSMZyjhTGc+7gxnFTsMZytHzKcBlMynGGGMpy8uTKcF+0ynHQgM5zQUzOcLocznIy6M5zq7TOcSiE0nKpUNJwKiDSca7s0nM3uNJwvIjWcklU1nPaINZxavDWcv+81nCQjNpyKVjac8Yk2nFi9NpzA8DacKCQ3nJFXN5z7ijecZb43nNDxN5w8JTicqFg4nBSMOJyCvzic8PI4nF4mOZzNWTmcPY05nK7AOZwf9DmckCc6nAJbOpx1jjqc6cE6nF31OpzSKDucR1w7nL2PO5wzwzucqvY7nCIqPJyaXTycE5E8nI3EPJwH+Dycgis9nP1ePZx5kj2c9sU9nHP5PZzxLD6ccGA+nO+TPpxuxz6c7/o+nG8uP5zxYT+cc5U/nPbIP5x5/D+c/S9AnIJjQJwHl0CcjcpAnBP+QJyaMUGcImVBnKqYQZwzzEGcvP9BnEYzQpzRZkKcXJpCnOjNQpx0AUOcATVDnI9oQ5wdnEOcrM9DnDwDRJzMNkScXWpEnO6dRJyA0UScEwVFnKY4RZw5bEWczp9FnGPTRZz4BkacjzpGnCVuRpy9oUacVdVGnO4IR5yHPEecIXBHnLujR5xW10ec8gpInI4+SJwrckicyaVInGfZSJwFDUmcpUBJnEV0SZzlp0mchttJnCgPSpzKQkqcbXZKnBGqSpy13UqcWhFLnP9ES5yleEucTKxLnPPfS5ybE0ycQ0dMnOx6TJyWrkycQOJMnOsVTZyXSU2cQ31NnO+wTZyd5E2cSxhOnPlLTpyof06cWLNOnAjnTpy5Gk+ca05PnB2CT5zPtU+cg+lPnDcdUJzrUFCcoIRQnFa4UJwN7FCcxB9RnHtTUZwzh1Gc7LpRnKXuUZxfIlKcGlZSnNWJUpyRvVKcTfFSnAolU5zIWFOchoxTnEXAU5wF9FOcxSdUnIVbVJxGj1ScCMNUnMv2VJyOKlWcUV5VnBaSVZzbxVWcoPlVnGYtVpwtYVac9JRWnLzIVpyE/FacTjBXnBdkV5zil1ecrMtXnHj/V5xEM1icEWdYnN6aWJyszlicewJZnEo2WZwZalmc6p1ZnLvRWZyMBVqcXjlanDFtWpwEoVqc2NRanK0IW5yCPFucWHBbnC6kW5wF2Fuc3QtcnLU/XJyOc1ycZ6dcnEHbXJwbD12c90JdnNJ2XZyvql2cjN5dnGkSXpxHRl6cJnpenAauXpzm4V6cxhVfnKdJX5yJfV+cbLFfnE/lX5wyGWCcFk1gnPuAYJzhtGCcx+hgnK0cYZyUUGGcfIRhnGS4YZxN7GGcNyBinCFUYpwMiGKc97tinOPvYpzQI2OcvVdjnKuLY5yZv2OciPNjnHgnZJxoW2ScWY9knErDZJw892ScLytlnCJfZZwWk2WcCsdlnP/6ZZz1Lmac62JmnOKWZpzZymac0f5mnMoyZ5zDZmecvZpnnLfOZ5yyAmicrjZonKpqaJynnmicpNJonKIGaZyhOmmcoG5pnKCiaZyg1mmcoQpqnKM+apylcmqcqKZqnKvaapyvDmucs0JrnLl2a5y+qmucxd5rnMwSbJzTRmyc23psnOSubJzu4myc9xZtnAJLbZwNf22cGbNtnCXnbZwyG26cQE9unE6Dbpxct26cbOtunHwfb5yMU2+cnYdvnK+7b5zB72+c1CNwnOhXcJz8i3CcEcBwnCb0cJw8KHGcUlxxnGmQcZyBxHGcmfhxnLIscpzMYHKc5pRynADJcpwb/XKcNzFznFRlc5xxmXOcjs1znK0BdJzLNXSc62l0nAuedJws0nScTQZ1nG86dZyRbnWctKJ1nNfWdZz8CnacID92nEZzdpxsp3acktt2nLoPd5zhQ3ecCnh3nDOsd5xc4HechhR4nLFIeJzcfHicCLF4nDXleJxiGXmcj015nL6BeZzttXmcHOp5nEweepx9UnqcroZ6nOC6epwS73qcRiN7nHlXe5yti3uc4r97nBj0e5xOKHychFx8nLuQfJzzxHycLPl8nGUtfZyeYX2c2JV9nBPKfZxO/n2cijJ+nMdmfpwEm36cQs9+nIADf5y/N3+c/2t/nD+gf5x/1H+cwQiAnAI9gJxFcYCciKWAnMzZgJwQDoGcVUKBnJp2gZzgqoGcJ9+BnG4Tgpy2R4Kc/nuCnEewgpyR5IKc2xiDnCZNg5xxgYOcvbWDnArqg5xXHoScpFKEnPOGhJxCu4Scke+EnOEjhZwyWIWcg4yFnNXAhZwn9YWceimGnM5dhpwikoacd8aGnMz6hpwiL4eceWOHnNCXh5wozIecgACInNk0iJwzaYicjZ2InOjRiJxDBomcnzqJnPtuiZxYo4mctteJnBQMipxzQIqc03SKnDOpipyT3Yqc9RGLnFZGi5y5eoucHK+LnH/ji5zjF4ycSEyMnK2AjJwTtYyceumMnOEdjZxJUo2csYaNnBq7jZyD742c7SOOnFhYjpzDjI6cL8GOnJv1jpwIKo+cdl6PnOSSj5xTx4+cwvuPnDIwkJyjZJCcFJmQnIbNkJz4AZGcazaRnN5qkZxSn5Gcx9ORnDwIkpyyPJKcKHGSnJ+lkpwX2pKcjw6TnAhDk5yBd5Oc+6uTnHbgk5zxFJScbEmUnOl9lJxmspSc4+aUnGEblZzgT5WcX4SVnN+4lZxf7ZWc4CGWnGJWlpzkipacZ7+WnOrzlpxuKJec8lyXnHeRl5z9xZecg/qXnAovmJySY5icGpiYnKLMmJwsAZmctTWZnEBqmZzLnpmcVtOZnOIHmpxvPJqc/HCanIqlmpwZ2pqcqA6bnDdDm5zId5ucWKybnOrgm5x8FZycDkqcnKF+nJw1s5ycyuecnF4cnZz0UJ2cioWdnCG6nZy47p2cUCOenOhXnpyBjJ6cG8GenLX1npxQKp+c616fnIeTn5wkyJ+cwfyfnF4xoJz9ZaCcm5qgnDvPoJzbA6GcezihnB1toZy+oaGcYdahnAQLopynP6KcS3SinPCoopyV3aKcOxKjnOJGo5yJe6OcMLCjnNjko5yBGaScK06knNWCpJx/t6ScKuyknNYgpZyCVaWcL4qlnN2+pZyL86WcOSimnOhcppyYkaacSMamnPn6ppyrL6ecXWSnnBCZp5zDzaecdwKonCs3qJzga6iclqConEzVqJwDCqmcuj6pnHJzqZwrqKmc5NypnJ0RqpxYRqqcE3uqnM6vqpyK5KqcRxmrnAROq5zCgqucgLernD/sq5z+IKycvlWsnH+KrJxAv6ycAvSsnMUorZyIXa2cS5KtnA/HrZzU+62cmTCunF9lrpwmmq6c7c6unLQDr5x9OK+cRW2vnA+ir5zZ1q+cowuwnG5AsJw6dbCcBqqwnNPesJyhE7Gcb0ixnD19sZwMsrGc3OaxnK0bspx9ULKcT4WynCG6spz07rKcxyOznJtYs5xvjbOcRMKznBr3s5zwK7Scx2C0nJ6VtJx2yrScTv+0nCc0tZwBabWc2521nLbStZyRB7acbTy2nEpxtpwnpracBdu2nOMPt5zCRLecoXm3nIGut5xi47ecQxi4nCRNuJwHgric6ra4nM3ruJyxILmcllW5nHuKuZxhv7mcR/S5nC4pupwWXrqc/pK6nObHupzQ/LqcuTG7nKRmu5yPm7ucetC7nGYFvJxTOrycQG+8nC6kvJwd2bycDA69nPtCvZzsd72c3Ky9nM7hvZzAFr6csku+nKWAvpyZtb6cjeq+nIIfv5x3VL+cbYm/nGS+v5xb87+cUijAnEtdwJxDksCcPcfAnDf8wJwxMcGcLWbBnCibwZwl0MGcIQXCnB86wpwdb8KcG6TCnBvZwpwaDsOcG0PDnBx4w5wdrcOcH+LDnCIXxJwlTMScKYHEnC22xJwy68ScOCDFnD5VxZxEisWcTL/FnFP0xZxcKcacZV7GnG6Txpx4yMacg/3GnI4yx5yaZ8ecp5zHnLTRx5zBBsiczzvInN5wyJztpcic/drInA0QyZweRcmcMHrJnEKvyZxV5MmcaBnKnHxOypyRg8qcprjKnLvtypzRIsuc6FfLnACNy5wXwsucMPfLnEkszJxjYcycfZbMnJjLzJyzAM2czzXNnOtqzZwIoM2cJtXNnEQKzpxjP86cgnTOnKKpzpzD3s6c5BPPnAZJz5wofs+cS7PPnG7oz5ySHdCctlLQnNuH0JwBvdCcJ/LQnE4n0Zx2XNGcnpHRnMbG0Zzv+9GcGTHSnENm0pxum9KcmdDSnMUF05zyOtOcH3DTnE2l05x72tOcqg/UnNlE1JwJetScOq/UnGvk1JycGdWcz07VnAGE1Zw1udWcae7VnJ0j1pzSWNacCI7WnD7D1px1+NacrS3XnOVi15wdmNecVs3XnJAC2JzKN9icBW3YnECi2Jx819icuQzZnPZB2Zw0d9mccqzZnLHh2ZzwFtqcMEzanHGB2pyyttqc9OvanDYh25x5VtucvIvbnADB25xE9tuciivcnM9g3JwWltycXMvcnKQA3ZzsNd2cNGvdnH2g3ZzH1d2cEQvenFxA3pyndd6c86renEDg3pyNFd+c20rfnCmA35x4td+cx+rfnBcg4JxnVeCcuIrgnArA4Jxc9eCcryrhnAJg4ZxWleGcq8rhnAAA4pxVNeKcrGrinAKg4pxa1eKcsgrjnApA45xjdeOcvarjnBfg45xyFeSczUrknCmA5JyFteSc4urknEAg5ZyeVeWc/YrlnFzA5Zy89eWcHCvmnH1g5pzfleacQcvmnKMA55wHNueca2vnnM+g55w01uecmQvonABB6JxmduiczavonDXh6JyeFumcB0zpnHCB6ZzatumcRezpnLAh6pwcV+qciIzqnPXB6pxi9+qc0CzrnD9i65yul+ucHs3rnI4C7Jz/N+yccW3snOOi7JxV2OycyA3tnDxD7ZyweO2cJa7tnJrj7ZwQGe6ch07unP6D7px2ue6c7u7unGck75zgWe+cWo/vnNXE75xQ+u+cyy/wnEdl8JzEmvCcQdDwnL8F8Zw+O/GcvXDxnDym8Zy92/GcPRHynL9G8pxAfPKcw7HynEbn8pzJHPOcTVLznNKH85xXvfOc3fLznGQo9JzqXfSccpP0nPrI9JyD/vScDDT1nJZp9Zwgn/Wcq9T1nDYK9pzCP/acT3X2nNyq9pxq4Pac+BX3nIdL95wWgfecprb3nDfs95zIIficWVf4nOyM+Jx+wvicEvj4nKYt+Zw6Y/mcz5j5nGXO+Zz7A/qckjn6nClv+pzBpPqcWdr6nPIP+5yMRfucJnv7nMGw+5xc5vuc+Bv8nJRR/Jwxh/yczrz8nGzy/JwLKP2cql39nEqT/ZzqyP2ci/79nCw0/pzOaf6ccZ/+nBTV/py4Cv+cXED/nAF2/5ymq/+cTOH/nPMWAJ2aTACdQYIAnem3AJ2S7QCdOyMBneVYAZ2QjgGdO8QBneb5AZ2SLwKdP2UCneyaAp2a0AKdSAYDnfc7A52ncQOdV6cDnQfdA525EgSdakgEnR1+BJ3PswSdg+kEnTcfBZ3rVAWdoIoFnVbABZ0M9gWdwysGnXphBp0ylwad68wGnaQCB51dOAedF24HndKjB52N2QedSQ8InQZFCJ3CegidgLAInT7mCJ39GwmdvFEJnXyHCZ08vQmd/fIJnb4oCp2AXgqdQ5QKnQbKCp3J/wqdjjULnVJrC50YoQud3tYLnaQMDJ1rQgydM3gMnfutDJ3E4wydjRkNnQV/gwkzT1ALzU90DQAAABAK/gYTZp6gFpmf6BrNT3QNM09QCwV/gwkAAAAI5ie6BponqAWDv8EEAAAABPMTXQPNE9QCwd9gAgAAAAL6ia4B5glqAeFvMAEzT1ALAAAACJonqAUAAAAEzRPUAgAAAALmCWoBAAAAAfMEtQAAAIAAeoJaAAAAQAA9QS0AAAAgAJ6gFgAAAAAAL5ZhA3Q92wUAAAAIjMIkCtFpngwAAAAQAAAAAAB9AAAA+gAAAHcBAAD0AQAAcQIAAO4CAABrAwAA6AMAAGUEAADiBAAAXwUAANwFAABZBgAA1gYAAAAAAAB9AACAuwAAwNoAAAD6AACAOAEAAHcBAIC1AQAA9AEAAHECAADuAgAAawMAAOgDAADiBAAA3AUAAAAAAAB9AABAnAAAgLsAAMDaAAAA+gAAgDgBAAB3AQCAtQEAAPQBAABxAgAA7gIAAGsDAADoAwAA4gQAAAAAAAB9AACAuwAAwNoAAAD6AACAOAEAAHcBAIC1AQAA9AEAgDICAABxAgCArwIAAO4CAABrAwAA6AMAAAAAAEAfAACAPgAAwF0AAAB9AABAnAAAgLsAAMDaAAAA+gAAgDgBAAB3AQCAtQEAAPQBAIAyAgAAcQIARKwAAIC7AAAAfQAAyOIAAFjjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzTAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAX3CJAP8JLw8CAAAAAAAAAIDkAAAQAAAAEQAAABIAAAATAAAABgAAAAEAAAABAAAAAQAAAAAAAACo5AAAEAAAABQAAAASAAAAEwAAAAYAAAACAAAAAgAAAAIAAAAAAAAAuOQAABUAAAAWAAAADAAAAAAAAADI5AAAFQAAABcAAAAMAAAAAAAAAPjkAAAQAAAAGAAAABIAAAATAAAABwAAAAAAAADo5AAAEAAAABkAAAASAAAAEwAAAAgAAAAAAAAAeOUAABAAAAAaAAAAEgAAABMAAAAGAAAAAwAAAAMAAAADAAAAAQD//wIAAgACAAEAAgAAAAIAAwACAAIQAgABEAIAABACAAMQAgACIAIAASACAAAgAgADIAIAAg8CAAEPAgAADwIAAw8CAAIfAgABHwIAAB8CAAMfAgACLwIAAS8CAAAvAgADLwQA//8IEAEAEDACACAwAgBAMAQAQDIEAAgQAQAQEAIAIBACAEAQBAAA8QEACBABAAhAAQAIUAEAEDACACAwAgAQwAIAIMACABCQAgAgkAIAEGACACBgAgAQsAIAILACABDgAgAg4AIAEHACACBwAgAQ0AIAINACABDwAgAg8AIAQPAEAAABAQAIEAEACEABAAhQAQAQMAIAIDACABDAAgAgwAIAEPACACDwAgBAMAQAQMAEAEDwBAAAAYABAAIAAwMAAwADAAMABAAEAAQABAAEAUQBggGiAUkAiQApABkAAwADAAMAAwADAAMAAwADANUA9QC1AHUA5QClAJMAkwBjAMMAUwAzAPkAeQC5ADkA2QBZAJkAGQDpAGkAqQApAMkASQCJAAkAAQAXAQcBFQAVAAMAAwADAAMAhgAXAQcBFwADAAMAAwADACcCBwIVAhUCJQElASUAJQCGABcAFQEVAQUBBQEFAAUAJwIHAhUCFQIlASUBJQAlAIgAFwEHARcAAwADAAMAAwCCATkCNwE3ARkDCQM5ACkCFwIXAicBJwEHAgcCJwAnADMDIwMGAYIBogEZAikBKQAHAQcBFQEVARUBFQEXABcABwAHADcDBwMlAyUDNQI1AjUANQATAzMBIwIDAggBCAIEAxkBBwEHARcAFwADAAMAAwADAAMAAwADAAMARAOCA6IDGQVZAcIDWQDiAykESQIXBBcERwFHAUcARwAJBCkDOQIJAxcDFwM3ATcBNwA3ACcCJwIVAhUCFQIVAiMBIwEFAiUAVQVFBVUEVQMzBUMEIwVTAgMFMwRDAzMDCAEIAhkCKQEVARUBFQEVAQcBBwEXABcABQAFAAUABQAGA4QDwgMZBVkB4gMCBCkESQIZBEcBRwEJBEkAKQM5AhkDOQEJAzkAJQIlAiUCJQIFAgUCBQIFAiUAJQAlACUAVwVXBEUFRQVTA1MDUwNTAzUFRQQjBSMFUwIDBTMEQwNTADMDCAEGAoQCxAICAxkCKQEpABcBFwEHAQcBFwAXAAcABwAiAzkFWQNCA0kEKQVZAhkFVwFXATcENwRHA0cDWQAJBCcERwI3A0cAFQQVBEUBRQElAzUCEwMTAzMBMwEFAzUAIwIDAlMFQwVTBAMFCAEIAgQDGQEHAQcBFwAXAAMAAwADAAMAAwADAAMAAwBGA8QDBgSCBKQE5AQkBRkHeQFiBYQFxAUZBmkBaQACBiIGQgYZBEkBSQApAzkCCQMXAxcDNwE3ATcANwAnAicCFQIlAQUCJQB3B2cHdwZXB3cFZwZFB0UHdQRVBmUFNQd1A3UDRQZFBlcFVwRlA2UDIwdzAmUEBQdzAHMAYwJjAkUFNQUDBgMGVQNFBDMGIwYlBVUCEwUTBVMBUwE1BEUDAwVTACMEQwIzAwMECAEIAggDBgQZAoIEFwEXAQcBBwEXABcABQAFAAUABQCkBOYEZAWiBcQFKQd5AgIGdwF3ARkHeQA5BmkDaQAiBkIGGQVnAmcCKQYJBhcGFwZnAWcBWQE5BFkAYgYpBEkCGQRJAQkESQAnAycDNwI3AhUDFQMVAxUDNQE1ATUBNQEHAzcAJQIlAiMBIwEjASMBAwIjAHUHZQd1BnUFZQZlBkUHRQd1BHUEVwdXBVUGZQUzBzMHcwNDBkUFVQQ1BVUDYwQDB0MEIwVTAgMFQwMzAwgBCAIIAwQERgTCBBkCKQHiBAkAFwEXAQcBBwEXABcABAVCBWIFggVZBjkHogUpB3kCSQZpBBkHeQHCBTkGaQNJBVkESQTiBScGJwZnAmcCZwFnARkGaQA5BVkDKQVZAhcFFwVXAVcBNwQ3BEcDRwNZAAkEJwQnBEcCRwIXBBcENQNFASUDNQJHAAcDNQA1ABMDEwMTAxMDMwEjAgMCIwB1B2UHcwZzBlMHcwVjBkMHcwRjBXMDUwUDB3MAAwYDBQgBCAIIAwQEGQEJARcAFwADAAMAAwADAAMAAwADAAMASARIBUgGSAdICEgJRgrGCkYLxgtGDMYMQg1kDaYNIg5EDoQOxA4ED4kBQg9iD4IPpA/iDxkFWQECECIQQhAZBEcBRwEJBEkAKQM5AhcDFwM3ATcBBwMHAzcANwAnAicCFQIlAQUCJQBoEGgRaBJmE+QTJBRmFOQUIhVEFYQVxBUEFkQWGQ/5AfkAghaiFsIW6QLiFhkO6QECFyIXQhdiF4IXohfJBjkNwhcpDdkCGQ25B+IXAhjJAyIYSQvXAdcBCQ3ZAIkKqQhJDMkEaQu5BjcMNwwnDCcMxwLHAlcLVwu5BYkJFwwXDMcBxwGZCAkMxwDHALkEaQqpBnkJNws3C7cDtwOJCFkKJwsnC6kFaQmnBKcEeQiJB5cElwR5B3kGtQK1ArUCtQIVCxULtQG1AQcLtwCXBkcKNwqnA1cJlwUlCiUKpQKlAhUKFQqlAaUBBwpnCKUApQCHBkcJlQOVAzcJVwiHBWcHJQklCZUClQJXB3cFNQg1CIUDhQNnBkcHdwRXBmcFdwMTCZMBBQmVAEUIhQR1AnUCRwZnBCMIIwgjCCMIgwITCDUHJQcTBxMHcwFzAVUFBQd1ADUGZQNFBVUEJQZlAjUFAwiDABMGYwEDBmMAVQNFBCMFIwVTAgMFMwRDA1MAIwRDAjMDRhj5D+kP2Q/pDskP2Q65D/kLyQ7ZDMIY5wznDNcN1w35CskNtw63DucL5wuXD5cP9wn3CecK5wq3DbcN1wvXC4cPhw/3CPcIxwzHDKkOmQ6HDocOeQ95DvUH9Qf1B/UH1QrVCqcNtwzHC/cGZQ9lD+UIVQ+VDdUJ9QXlB6UMtQtFD0UP9QT1BMcK5wb1A/UDMw8zD4UN1QgjD/MCZQ6VDAMPAw/FCVUOowujC3UN1QdDDkMOxQjVBjMOMw6zCbMJlQulCrMK4wXjBIMMYw3jAyMOAw7jAFMN0wVzDMMHQw2DC7MI0wSTCqMJYwzTA3MLUwzDBZMJcwqjB5MH9w73DPUN9Q3jDeMN4w3jDaMP4wkIAQgCCAMIBAgFBgaGBgQHQgdiBxcBFwEJARkABwAHAIgHiAiICYgKiAuGDAYNiA2GDgYPhg8GEIQQxhBGEcQRBBJEEoQSxBIEE0QThBPEEwIUIhRCFGQUohTCFOQUIhVCFWIVmQGCFaIVwhXiFQIWKQiJAhkIiQEiFkIWYhaCFikHeQJpBBkHWQV5AaIWOQZpA0kFWQQpBmkCGQbCFjkFZwFnAVkDSQQnBScFVwJXAhcFFwVXAVcBCQVZADcENwRHAycERwI3A0UBRQEXBAcEJQMlAzUCNQJHAAcDFQMVAzUBNQAjAiMCEwIjAQMCIwDiFgIX6Q4iF0IXYhf5C4IX2Q2pD/kKuQ7pC8kN2QyZD/kJ6Qq5DdkLiQ/5CMkMmQ7pCXkP+QepDdkKuQxpD6IXxwvHC/cG9waJDukIWQ+ZDfcF9wV3DncO5wfnB6cMpwzHCscKtwu3C9kJiQ1HD0cP9wT3BDcPNw/3A/cD1wjXCOcG5wYnDycP9wL3AmkO+QAXDxcP9wH3AZcMlwzHCccJVw6nC7cK5wV3DdcHRw7nBIcMxwg3DmcN1wbnA5cLtwknDicOpwqnCucC5wIXDhcO5wHnAQkO6QBXDVcN1wXXBXcMxwdHDYcL1QTVBLcIlwqnCWcMxwY3DdUD1QPVAtUCJw0HDRUNFQ11C3ULtQe1B9UB1QFXDNcAxQXFBYUKhQqlCEUMxQRlC7UGtQaXCQcMNQw1DMUDxQN1CnUKpQelB6UGpQbHAAcLwwLDAiUMVQu1BRUMhQmVCMUBRQu1BGUKNQt1CbMDswOVB4UIJQtVCrMCswKlBRULswGzAbUAZQmVBkUKpQR1CIUHNQqjA6MDUwmTBSMKowITCqMBBQqlAGMIYwiDBkMJkwQzCZMDkwN1BwUJUwiDBSMJYwdzBpMCEwmTAEMIgwRTB3MFMwiDA2MGQwdzBAMIgwBTBmMFMwdzA0MGAwdzAAMGYwDzD+MP8w7TD/MNww/zDNMO4w2zD8MO4wyjDgMPCAEIAggDBAQZAQkBFwAXAAMAAwADAAMAAwADAAMAAwBGBMYERAX5D4QFwgXoBfkC4gYZD/kBCAcICAgJCAoICwgMBg2GDQYOhg4GD4YPBhCEEMQQAhEkEWQRohFZAcIR4hECEiISGQRJAUISKQM5AhcDFwM3ATcBCQM5ACcCJwIVAiUBBQIlAOcP9w7XD/cNxw/3DLcP9wulD6UP9wqXD/cJ9wiFD4UPdQ/1B2UP9QZVD/UFQw9DD/ME8wPzAPMA8wDzAPMA8wDzAPMANQ81DzUPNQ9oEmYT5hNmFCMPAw/kFCQVZBWiFcQVBBZCFmQWpBbkFiQX6QNiF4IXohfCF+IXAhgiGAkNQhhiGIIYOQyiGBkMyQDCGOcC5wIpDhkO2QMpDdkC2QE5C+IYFw0XDckEaQvJA6kHJwwnDMkCuQXJAQkMSQu5BGkKqQa3A7cDWQqpBScLJwu3ArcCFwsXC7cBtwEJC7kAaQmZBkkKqQR5CIkHpwOnAzkKWQknCicKmQVpCKcBpwGJBnkHlwSXBEkJWQdnB2cHpQKlAqUCpQIVChUKBwqnADcJlwNXCIcFJQklCZUClQJ3BgcJFQkVCZUBlQGXAEcIhwR3BTcIhwNnBicIhQKFAkcHdwQVCBUIhQGFAYUAhQAHCFcGNQc1B3UDdQNnBUcGJQclB3UCdQJnBFcFBQcFBxMHEwcTBxMHcwFzAXUANQZlA0UFVQQlBmMCEwZjAWMBBQZlAFMDUwM1BUUEIwVTAhMFAwUzBEMDUwAjBEMCMwMDBEMAyQ4CGdcO1w7nCecJ6QrZCeUO5Q7lDuUO5w3nDecL5wu1DrUOxQ3FDdcM1wulDqUOxQzFDKcN1wp3DqcMxQrFCscJdw1VDlUOsw2zDbMNsw2TDpMOtQzFC4UO5QiVDeUHtQuFDdUIZQ7jBpMMpQu1CuUF1QdDDkMO5QSFDMMIMw5jDWMN1QaVC7UJpQrjAeMB0wTTBLUIpQlzC3MLtQfVAAMO4wBTDdMFcwzDB0MNgwuTCmMMwwYzDVMMwwWDCqMIkwlDDLMGcwpTC4MJkwhzCZMHgwjjDNMNCAEIAggD+Q8IBAgFCAYIBwgICAkGCoQKGQEJARkACQDpD/kO2Q/5DckP+Qy5D/kL9wr3CqkPmQ/3CfcJ9wj3CIkPeQ/3B/cHZw9nD/cG9wZXD1cP9wX3BUcPRw/3BPcENw83D/cD9wMnDycP9wL3AvcB9wEZD/kAxgpGC8YLRgzIDMYNRg7GDkQPhA/EDwQQRBCEEMQQBBFEEYYRBBJEEoQSxhJEE4YTAhQkFGQUohTEFAIVIhVCFWIVghWiFcIV4hUCFiIWQhZiFoIWohbCFuIWAhckF2IXhBd5A8IXeQJJBmkEWQV5ATkGaQNJBVkEKQZpAhkGaQHiFzkFWQNJBCkFWQIZBQIYVwFXATkESQMnBCcERwJHAjcDNwMXBBcERwFHAQkESQAnAycDNwI3AhUDFQMVAxUDNQE1ATUBNQEHAzcAJQIlAhMCEwITAhMCIwEjAQUCJQADDwMPAw8DD+cO1w7nDccO5wzXDbcO5wvHDdcMpw7nCrcN1wvHDJcO5wmnDdcKtwzHC4cO5wiXDdcJdw7nB6cMxwrHCrcLtwuHDYcN1wjXCAkO6QAHDQcN5QblBuUG5QZnDpcMxQnFCVUOVQ61CrUK5QXlBacLdw3VB9UH5QTlBIUMhQzFCMUIRw4nDjUONQ5lDdUG5QOVC7UJpQrlAhUO5QFVDdUFdQzFB0UNhQu1CNUElQqlCWUMxQY1DdUDJQ3VAhUNdQu1B9UBVQzFBYUKpQiVCUUMxQRlC2ULtQa1BtcABww1DDUMxQN1CqUHJQzFAlULtQUVDIUJlQjFAUULxwAHCzULNQu3AAcKFQoVCrMEswRlCqUGdQl1CZUHlQenAAcJlQCVALMDgwglC1UKswKzAqUFFQu1AWUJkwajBEUKdQiDB4MHMwqjA1MJkwUjCqMCowFjCIMGcwdDCZMEMwmTA1MIgwUjCWMHcwaTAhMJkwFDCIMEUwdzBTMIgwNjBiMIgwITCEMHcwSDAYMBBQiFAFMGYwUTBxMHBQd1ADMHIwcDBmMAAwVTAAAABYAPgAoAG4AeABQAEYAzgDYAPAA5gCgALYAngCIAY4BmAGwAaYB4AH2Ad4ByAFAAVYBfgFoAS4BOAEQAQYDDgMYAzADJgNgA3YDXgNIA8AD1gP+A+gDrgO4A5ADhgKAApYCvgKoAu4C+ALQAsYCTgJYAnACZgIgAjYCHgIIAg4GGAYwBiYGYAZ2Bl4GSAbABtYG/gboBq4GuAaQBoYHgAeWB74HqAfuB/gH0AfGB04HWAdwB2YHIAc2Bx4HCAUABRYFPgUoBW4FeAVQBUYFzgXYBfAF5gWgBbYFngWIBI4EmASwBKYE4AT2BN4EyARABFYEfgRoBC4EOAQQBAYEDgwYDDAMJgxgDHYMXgxIDMAM1gz+DOgMrgy4DJAMhg2ADZYNvg2oDe4N+A3QDcYNTg1YDXANZg0gDTYNHg0IDwAPFg8+DygPbg94D1APRg/OD9gP8A/mD6APtg+eD4gOjg6YDrAOpg7gDvYO3g7IDkAOVg5+DmgOLg44DhAOBg4AChYKPgooCm4KeApQCkYKzgrYCvAK5gqgCrYKngqIC44LmAuwC6YL4Av2C94LyAtAC1YLfgtoCy4LOAsQCwYJDgkYCTAJJglgCXYJXglICcAJ1gn+CegJrgm4CZAJhgiACJYIvgioCO4I+AjQCMYITghYCHAIZgggCDYIHggICSDVMQ0Jhc2UAJHBsYXkAb25EYXRhACRjbG9zZQBkZWNvZGVWaWRlb0J1ZmZlcgBpc1BsYXlpbmcAZmx2TW9kZQBhdWRpb0J1ZmZlcgB2aWRlb0J1ZmZlcgBicHMAYnVmZmVySW5mbwBINUxpdmVDbGllbnQAY2xvc2UAd2ViR0xDYW52YXMAaXNXZWJHTAB3ZWJnbDolcwB0cnVlAGZhbHNlAC5mbHYAV2ViU29ja2V0AGJpbmFyeVR5cGUAYXJyYXlidWZmZXIAb25tZXNzYWdlAHdzAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0ljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFAE5TdDNfXzIyMV9fYmFzaWNfc3RyaW5nX2NvbW1vbklMYjFFRUUAYmluZABOMTBlbXNjcmlwdGVuM3ZhbEUAZGF0YQB1bmtub3cgdHlwZTogJWQAZXJyb3IgdHlwZSA6JWQAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQBwbGF5QXVkaW8AaW5pdEF1ZGlvAGF1ZGlvIGluaXQhICVkAG1wMyBpbml0IQBnb3QgaDI2NCB2aWRlbwBnb3QgaDI2NSB2aWRlbwBPbmx5IHN1cHBvcnQgdmlkZW8gaC4yNjQvYXZjIG9yIGguMjY1L2hldmMgY29kZWMuIGFjdHVhbD0lZAB2aWRlbyBpbmZvIHNldCEAcGxheSB0aW1lc3RhbXA6JWQAcmVzZXRUaW1lU3BhbgBwbGF5VmlkZW9CdWZmZXIAdGltZXNwYW4AY2xlYXJUaW1lb3V0AGZyb250AGJhY2sAc2l6ZQA4SDVMQ0Jhc2UAUDhINUxDQmFzZQBQSzhINUxDQmFzZQBpaQB2AHZpaWkAdmlpAGlpaQBub3RpZnlPbkRlc3RydWN0aW9uAGltcGxlbWVudABleHRlbmQAMTJINUxpdmVDbGllbnQATjEwZW1zY3JpcHRlbjd3cmFwcGVySThINUxDQmFzZUVFAE4xMGVtc2NyaXB0ZW44aW50ZXJuYWwxMVdyYXBwZXJCYXNlRQBQMTJINUxpdmVDbGllbnQAUEsxMkg1TGl2ZUNsaWVudABpaWlpAEZGTXBlZyBpbml0ADZGRm1wZWcAMTJWaWRlb0RlY29kZXIAY29kZWMgPSAlZAB2aWRlbyBkZWNvZGVyIHJlbGVhc2UhCgBGRk1wZWcgZGVzdG9yeQBjb2RlYyA9ICVkLHB0ciA9ICVkAGF2Y29kZWNfb3BlbjI6JWQAZmZtcGVnIGRlY29kZSByZXQ6JWQAY2FudmFzOiVkLCVkAHNldFZpZGVvU2l6ZQBkcmF3AEZsdkRlY29kZXIgcmVsZWFzZSEKAGF1ZGlvIGRlY29kZXIgcmVsZWFzZQoAYXVkaW8gZGVjb2RlciByZWxlYXNlIQoAX19kZXN0cnVjdAAAAAEBAgICAgMDAwMDAwMDBAQEBAQEBAQEBAQEBAQEBAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHAIBAwCCgYOAQkFDQMLBw8AiISMgoqGjoGJhY2Di4ePgEhETEJKRk5BSUVNQ0tHT0DIxMzCysbOwcnFzcPLx8/AKCQsIiomLiEpJS0jKycvIKikrKKqpq6hqaWto6unr6BoZGxiamZuYWllbWNrZ29g6OTs4urm7uHp5e3j6+fv4BgUHBIaFh4RGRUdExsXHxCYlJySmpaekZmVnZObl5+QWFRcUlpWXlFZVV1TW1dfUNjU3NLa1t7R2dXd09vX39A4NDwyOjY+MTk1PTM7Nz8wuLS8srq2vrG5tb2zu7e/sHh0fHJ6dn5xeXV9c3t3f3D49Pzy+vb+8fn1/fP79//0ZhaWxlZCB0byByZWFsbG9jYXRlIHBhcnNlciBidWZmZXIgdG8gJWQKAG5leHQgPj0gMCB8fCBwYy0+YnVmZmVyAGxpYmF2Y29kZWMvcGFyc2VyLmMAJXMlcyVzJXMAICAgIExhc3QgbWVzc2FnZSByZXBlYXRlZCAlZCB0aW1lcw0AICAgIExhc3QgbWVzc2FnZSByZXBlYXRlZCAlZCB0aW1lcwoAG1sldTszJXVtJXMbWzBtABtbNDg7NTsldW0bWzM4OzU7JWRtJXMbWzBtABtbNDg7NTsldW0bWzM4OzU7JXVtJXMbWzBtAFRFUk0ATk9fQ09MT1IAQVZfTE9HX0ZPUkNFX05PQ09MT1IAQVZfTE9HX0ZPUkNFX0NPTE9SAEFWX0xPR19GT1JDRV8yNTZDT0xPUgAyNTZjb2xvcgBbJXMgQCAlcF0gAFslc10gAHBhbmljAGZhdGFsAGVycm9yAHdhcm5pbmcAaW5mbwB2ZXJib3NlAHF1aWV0AAABAgMEBQYIQSBub24tTlVMTCBwYWNrZXQgc2VudCBhZnRlciBhbiBFT0YuCgBDb2RlYyAnJXMnICglZCkgaXMgbm90IHN1cHBvcnRlZCBieSB0aGUgYml0c3RyZWFtIGZpbHRlciAnJXMnLiBTdXBwb3J0ZWQgY29kZWNzIGFyZTogACVzICglZCkgAG1wZWcxdmlkZW8AbXBlZzJ2aWRlbwBoMjYxAGgyNjMAcnYxMABydjIwAG1qcGVnAG1qcGVnYgBsanBlZwBzcDV4AGpwZWdscwBtcGVnNAByYXd2aWRlbwBtc21wZWc0djEAbXNtcGVnNHYyAG1zbXBlZzR2MwB3bXYxAHdtdjIAaDI2M3AAaDI2M2kAZmx2MQBzdnExAHN2cTMAZHZ2aWRlbwBodWZmeXV2AGN5dXYAaW5kZW8zAHZwMwB0aGVvcmEAYXN2MQBhc3YyAGZmdjEANHhtAHZjcjEAY2xqcgBtZGVjAHJvcQBpbnRlcnBsYXl2aWRlbwB4YW5fd2MzAHhhbl93YzQAcnB6YQBjaW5lcGFrAHdzX3ZxYQBtc3JsZQBtc3ZpZGVvMQBpZGNpbgA4YnBzAHNtYwBmbGljAHRydWVtb3Rpb24xAHZtZHZpZGVvAG1zemgAemxpYgBxdHJsZQB0c2NjAHVsdGkAcWRyYXcAdml4bABxcGVnAHBuZwBwcG0AcGJtAHBnbQBwZ215dXYAcGFtAGZmdmh1ZmYAcnYzMABydjQwAHZjMQB3bXYzAGxvY28Ad252MQBhYXNjAGluZGVvMgBmcmFwcwB0cnVlbW90aW9uMgBibXAAY3NjZABtbXZpZGVvAHptYnYAYXZzAHNtYWNrdmlkZW8AbnV2AGttdmMAZmxhc2hzdgBjYXZzAGpwZWcyMDAwAHZtbmMAdnA1AHZwNgB2cDZmAHRhcmdhAGRzaWNpbnZpZGVvAHRpZXJ0ZXhzZXF2aWRlbwB0aWZmAGdpZgBkeGEAZG54aGQAdGhwAHNnaQBjOTMAYmV0aHNvZnR2aWQAcHR4AHR4ZAB2cDZhAHZiAHBjeABzdW5yYXN0AGluZGVvNABpbmRlbzUAbWltaWMAcmwyAGVzY2FwZTEyNABkaXJhYwBiZmkAY212AG1vdGlvbnBpeGVscwB0Z3YAdGdxAHRxaQBhdXJhAGF1cmEyAHYyMTB4AHRtdgB2MjEwAGRweABtYWQAZnJ3dQBmbGFzaHN2MgBjZGdyYXBoaWNzAHIyMTAAYW5tAGJpbmt2aWRlbwBpZmZfaWxibQBrZ3YxAHlvcAB2cDgAcGljdG9yAGFuc2kAYTY0X211bHRpAGE2NF9tdWx0aTUAcjEwawBteHBlZwBsYWdhcml0aABwcm9yZXMAanYAZGZhAHdtdjNpbWFnZQB2YzFpbWFnZQB1dHZpZGVvAGJtdl92aWRlbwB2YmxlAGR4dG9yeQB2NDEwAHh3ZABjZHhsAHhibQB6ZXJvY29kZWMAbXNzMQBtc2ExAHRzY2MyAG10czIAY2xsYwBtc3MyAHZwOQBlc2NhcGUxMzAAZzJtAHdlYnAAaG5tNHZpZGVvAGhldmMAZmljAGFsaWFzX3BpeABicmVuZGVyX3BpeABwYWZfdmlkZW8AZXhyAHZwNwBzYW5tAHNnaXJsZQBtdmMxAG12YzIAaHF4AHRkc2MAaHFfaHFhAGhhcABkZHMAZHh2AHNjcmVlbnByZXNzbwByc2NjAHk0MXAAYXZycAAwMTJ2AGF2dWkAYXl1dgB0YXJnYV95MjE2AHYzMDgAdjQwOAB5dXY0AGF2cm4AY3BpYQB4ZmFjZQBzbm93AHNtdmpwZWcAYXBuZwBkYWFsYQBjZmhkAHRydWVtb3Rpb24ycnQAbTEwMQBtYWdpY3l1dgBzaGVlcnZpZGVvAHlsYwBwc2QAcGl4bGV0AHNwZWVkaHEAZm12YwBzY3ByAGNsZWFydmlkZW8AeHBtAGF2MQBiaXRwYWNrZWQAbXNjYwBzcmdjAHN2ZwBnZHYAZml0cwBwY21fczE2bGUAcGNtX3MxNmJlAHBjbV91MTZsZQBwY21fdTE2YmUAcGNtX3M4AHBjbV91OABwY21fbXVsYXcAcGNtX2FsYXcAcGNtX3MzMmxlAHBjbV9zMzJiZQBwY21fdTMybGUAcGNtX3UzMmJlAHBjbV9zMjRsZQBwY21fczI0YmUAcGNtX3UyNGxlAHBjbV91MjRiZQBwY21fczI0ZGF1ZABwY21fem9yawBwY21fczE2bGVfcGxhbmFyAHBjbV9kdmQAcGNtX2YzMmJlAHBjbV9mMzJsZQBwY21fZjY0YmUAcGNtX2Y2NGxlAHBjbV9ibHVyYXkAcGNtX2x4ZgBzMzAybQBwY21fczhfcGxhbmFyAHBjbV9zMjRsZV9wbGFuYXIAcGNtX3MzMmxlX3BsYW5hcgBwY21fczE2YmVfcGxhbmFyAHBjbV9zNjRsZQBwY21fczY0YmUAcGNtX2YxNmxlAHBjbV9mMjRsZQBhZHBjbV9pbWFfcXQAYWRwY21faW1hX3dhdgBhZHBjbV9pbWFfZGszAGFkcGNtX2ltYV9kazQAYWRwY21faW1hX3dzAGFkcGNtX2ltYV9zbWpwZWcAYWRwY21fbXMAYWRwY21fNHhtAGFkcGNtX3hhAGFkcGNtX2FkeABhZHBjbV9lYQBhZHBjbV9nNzI2AGFkcGNtX2N0AGFkcGNtX3N3ZgBhZHBjbV95YW1haGEAYWRwY21fc2Jwcm9fNABhZHBjbV9zYnByb18zAGFkcGNtX3NicHJvXzIAYWRwY21fdGhwAGFkcGNtX2ltYV9hbXYAYWRwY21fZWFfcjEAYWRwY21fZWFfcjMAYWRwY21fZWFfcjIAYWRwY21faW1hX2VhX3NlYWQAYWRwY21faW1hX2VhX2VhY3MAYWRwY21fZWFfeGFzAGFkcGNtX2VhX21heGlzX3hhAGFkcGNtX2ltYV9pc3MAYWRwY21fZzcyMgBhZHBjbV9pbWFfYXBjAGFkcGNtX3ZpbWEAYWRwY21fYWZjAGFkcGNtX2ltYV9va2kAYWRwY21fZHRrAGFkcGNtX2ltYV9yYWQAYWRwY21fZzcyNmxlAGFkcGNtX3RocF9sZQBhZHBjbV9wc3gAYWRwY21fYWljYQBhZHBjbV9pbWFfZGF0NABhZHBjbV9tdGFmAGFtcl9uYgBhbXJfd2IAcmFfMTQ0AHJhXzI4OAByb3FfZHBjbQBpbnRlcnBsYXlfZHBjbQB4YW5fZHBjbQBzb2xfZHBjbQBzZHgyX2RwY20AZ3JlbWxpbl9kcGNtAG1wMgBtcDMAYWFjAGFjMwB2b3JiaXMAZHZhdWRpbwB3bWF2MQB3bWF2MgBtYWNlMwBtYWNlNgB2bWRhdWRpbwBmbGFjAG1wM2FkdQBtcDNvbjQAc2hvcnRlbgBhbGFjAHdlc3R3b29kX3NuZDEAZ3NtAHFkbTIAY29vawB0cnVlc3BlZWNoAHR0YQBzbWFja2F1ZGlvAHFjZWxwAHdhdnBhY2sAZHNpY2luYXVkaW8AaW1jAG11c2VwYWNrNwBtbHAAZ3NtX21zAGF0cmFjMwBhcGUAbmVsbHltb3NlcgBtdXNlcGFjazgAc3BlZXgAd21hdm9pY2UAd21hcHJvAHdtYWxvc3NsZXNzAGF0cmFjM3AAZWFjMwBzaXByAG1wMQB0d2ludnEAdHJ1ZWhkAG1wNGFscwBhdHJhYzEAYmlua2F1ZGlvX3JkZnQAYmlua2F1ZGlvX2RjdABhYWNfbGF0bQBxZG1jAGNlbHQAZzcyM18xAGc3MjkAOHN2eF9leHAAOHN2eF9maWIAYm12X2F1ZGlvAHJhbGYAaWFjAGlsYmMAb3B1cwBjb21mb3J0bm9pc2UAdGFrAG1ldGFzb3VuZABwYWZfYXVkaW8AYXZjAGRzc19zcABjb2RlYzIAd2F2ZXN5bnRoAHNvbmljAHNvbmljbHMAZXZyYwBzbXYAZHNkX2xzYmYAZHNkX21zYmYAZHNkX2xzYmZfcGxhbmFyAGRzZF9tc2JmX3BsYW5hcgA0Z3YAaW50ZXJwbGF5YWNtAHhtYTEAeG1hMgBkc3QAYXRyYWMzYWwAYXRyYWMzcGFsAGRvbGJ5X2UAYXB0eABhcHR4X2hkAHNiYwBkdmRfc3VidGl0bGUAZHZiX3N1YnRpdGxlAHRleHQAeHN1YgBzc2EAbW92X3RleHQAaGRtdl9wZ3Nfc3VidGl0bGUAZHZiX3RlbGV0ZXh0AHNydABtaWNyb2R2ZABlaWFfNjA4AGphY29zdWIAc2FtaQByZWFsdGV4dABzdGwAc3Vidmlld2VyMQBzdWJ2aWV3ZXIAc3VicmlwAHdlYnZ0dABtcGwyAHZwbGF5ZXIAcGpzAGhkbXZfdGV4dF9zdWJ0aXRsZQB0dGYAc2N0ZV8zNQBiaW50ZXh0AHhiaW4AaWRmAG90ZgBrbHYAZHZkX25hdl9wYWNrZXQAdGltZWRfaWQzAGJpbl9kYXRhAHdyYXBwZWRfYXZmcmFtZQBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0AYXBwbGljYXRpb24vdm5kLm1zLW9wZW50eXBlAGFwcGxpY2F0aW9uL3gtdHJ1ZXR5cGUtZm9udABhcHBsaWNhdGlvbi94LWZvbnQAaW1hZ2Uvc3ZnK3htbABpbWFnZS94LXhwaXhtYXAAaW1hZ2UvcG5nAGltYWdlL3dlYnAAaW1hZ2Uv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AQEBAQEBAQH/////////////////////////////////////////////////////////////////////////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIDAQYFLx8PABcbHR4HCw0OJystLhADBQoMExUaHCMlKiwBAgQIERIUGAYJFhkgISIkKCYpABABAgQIIAMFCgwPLwcLDQ4GCR8jJSosISIkKCcrLS4REhQYExUaHBcbHR4WGSYpABAgMAAgEEBgMFBwCg0QCw4SDRAUDhIXEBQZEhcdAAMEAwMBBQEEBQIFAwEFARQSIBMZGBYTIxUcGhoXKhghHxwZLRojISAcMx4oJiQgOiIuKwABAgMEBQABAgMEBQABAgMEBQABAgMEBQABAgMEBQABAgMEBQABAgMEBQABAgMEBQABAgMEBQABAgMEBQABAgMEBQABAgMEBQABAgMEBQABAgMEBQABAgMAAAAAAAABAQEBAQECAgICAgIDAwMDAwMEBAQEBAQFBQUFBQUGBgYGBgYHBwcHBwcICAgICAgJCQkJCQkKCgoKCgoLCwsLCwsMDAwMDAwNDQ0NDQ0ODg4OAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHR4fICAhIiIjIyQkJSUlJiYmJycnJwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fICEiIyMkJSYmJygoKSkqKisrKywsLC0tLS0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkpKissLC0uLi8vMDAxMTEyMjIzMzMzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vLzAxMjIzNDQ1NTY2Nzc3ODg4OTk5OQAAAAAAAAAAAAAAAAAAAAAAAAABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicoKSorLC0uLzAxMjM0NTU2Nzg4OTo6Ozs8PD09PT4+Pj8/Pz8AAAAAAAAAAAAAAAAAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs7PD0+Pj9AQEFBQkJDQ0NERERFRUVFAAAAAAAAAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQUJDRERFRkZHR0hISUlJSkpKS0tLS2gyNjQAdGhyZWFkX3JlbGVhc2VfYnVmZmVyIGNhbGxlZCBvbiBwaWMgJXAKAGZyYW1lLT5uYl9leHRlbmRlZF9idWYgPT0gMABsaWJhdmNvZGVjL2RlY29kZS5jAGRlZmF1bHRfZ2V0X2J1ZmZlciBjYWxsZWQgb24gZnJhbWUgJXAAcGljLT5kYXRhWypdIT1OVUxMIGluIGF2Y29kZWNfZGVmYXVsdF9nZXRfYnVmZmVyCgBVbmFibGUgdG8gZ2V0IHBpeGVsIGZvcm1hdCBkZXNjcmlwdG9yIGZvciBmb3JtYXQgJXMKAGRlZmF1bHRfZ2V0X2J1ZmZlciBjYWxsZWQgb24gcGljICVwCgB5dXY0MjBwAHl1eXY0MjIAcmdiMjQAYmdyMjQAeXV2NDIycAB5dXY0NDRwAHl1djQxMHAAeXV2NDExcABncmF5OCx5OABtb25vdwBtb25vYgBwYWw4AHl1dmo0MjBwAHl1dmo0MjJwAHl1dmo0NDRwAHV5dnk0MjIAdXl5dnl5NDExAGJncjgAYmdyNABiZ3I0X2J5dGUAcmdiOAByZ2I0AHJnYjRfYnl0ZQBudjEyAG52MjEAYXJnYgByZ2JhAGFiZ3IAYmdyYQBncmF5MTZiZQB5MTZiZQBncmF5MTZsZQB5MTZsZQB5dXY0NDBwAHl1dmo0NDBwAHl1dmE0MjBwAHJnYjQ4YmUAcmdiNDhsZQByZ2I1NjViZQByZ2I1NjVsZQByZ2I1NTViZQByZ2I1NTVsZQBiZ3I1NjViZQBiZ3I1NjVsZQBiZ3I1NTViZQBiZ3I1NTVsZQB2YWFwaV9tb2NvAHZhYXBpX2lkY3QAdmFhcGlfdmxkAHl1djQyMHAxNmxlAHl1djQyMHAxNmJlAHl1djQyMnAxNmxlAHl1djQyMnAxNmJlAHl1djQ0NHAxNmxlAHl1djQ0NHAxNmJlAGR4dmEyX3ZsZAByZ2I0NDRsZQByZ2I0NDRiZQBiZ3I0NDRsZQBiZ3I0NDRiZQB5YTgAZ3JheThhAGJncjQ4YmUAYmdyNDhsZQB5dXY0MjBwOWJlAHl1djQyMHA5bGUAeXV2NDIwcDEwYmUAeXV2NDIwcDEwbGUAeXV2NDIycDEwYmUAeXV2NDIycDEwbGUAeXV2NDQ0cDliZQB5dXY0NDRwOWxlAHl1djQ0NHAxMGJlAHl1djQ0NHAxMGxlAHl1djQyMnA5YmUAeXV2NDIycDlsZQBnYnJwAGdicnA5YmUAZ2JycDlsZQBnYnJwMTBiZQBnYnJwMTBsZQBnYnJwMTZiZQBnYnJwMTZsZQB5dXZhNDIycAB5dXZhNDQ0cAB5dXZhNDIwcDliZQB5dXZhNDIwcDlsZQB5dXZhNDIycDliZQB5dXZhNDIycDlsZQB5dXZhNDQ0cDliZQB5dXZhNDQ0cDlsZQB5dXZhNDIwcDEwYmUAeXV2YTQyMHAxMGxlAHl1dmE0MjJwMTBiZQB5dXZhNDIycDEwbGUAeXV2YTQ0NHAxMGJlAHl1dmE0NDRwMTBsZQB5dXZhNDIwcDE2YmUAeXV2YTQyMHAxNmxlAHl1dmE0MjJwMTZiZQB5dXZhNDIycDE2bGUAeXV2YTQ0NHAxNmJlAHl1dmE0NDRwMTZsZQB2ZHBhdQB4eXoxMmxlAHh5ejEyYmUAbnYxNgBudjIwbGUAbnYyMGJlAHJnYmE2NGJlAHJnYmE2NGxlAGJncmE2NGJlAGJncmE2NGxlAHl2eXU0MjIAeWExNmJlAHlhMTZsZQBnYnJhcABnYnJhcDE2YmUAZ2JyYXAxNmxlAHFzdgBtbWFsAGQzZDExdmFfdmxkAGN1ZGEAMHJnYgByZ2IwADBiZ3IAYmdyMAB5dXY0MjBwMTJiZQB5dXY0MjBwMTJsZQB5dXY0MjBwMTRiZQB5dXY0MjBwMTRsZQB5dXY0MjJwMTJiZQB5dXY0MjJwMTJsZQB5dXY0MjJwMTRiZQB5dXY0MjJwMTRsZQB5dXY0NDRwMTJiZQB5dXY0NDRwMTJsZQB5dXY0NDRwMTRiZQB5dXY0NDRwMTRsZQBnYnJwMTJiZQBnYnJwMTJsZQBnYnJwMTRiZQBnYnJwMTRsZQB5dXZqNDExcABiYXllcl9iZ2dyOABiYXllcl9yZ2diOABiYXllcl9nYnJnOABiYXllcl9ncmJnOABiYXllcl9iZ2dyMTZsZQBiYXllcl9iZ2dyMTZiZQBiYXllcl9yZ2diMTZsZQBiYXllcl9yZ2diMTZiZQBiYXllcl9nYnJnMTZsZQBiYXllcl9nYnJnMTZiZQBiYXllcl9ncmJnMTZsZQBiYXllcl9ncmJnMTZiZQB4dm1jAHl1djQ0MHAxMGxlAHl1djQ0MHAxMGJlAHl1djQ0MHAxMmxlAHl1djQ0MHAxMmJlAGF5dXY2NGxlAGF5dXY2NGJlAHZpZGVvdG9vbGJveF92bGQAcDAxMGxlAHAwMTBiZQBnYnJhcDEyYmUAZ2JyYXAxMmxlAGdicmFwMTBiZQBnYnJhcDEwbGUAbWVkaWFjb2RlYwBncmF5MTJiZQB5MTJiZQBncmF5MTJsZQB5MTJsZQBncmF5MTBiZQB5MTBiZQBncmF5MTBsZQB5MTBsZQBwMDE2bGUAcDAxNmJlAGQzZDExAGdyYXk5YmUAeTliZQBncmF5OWxlAHk5bGUAZ2JycGYzMmJlAGdicnBmMzJsZQBnYnJhcGYzMmJlAGdicmFwZjMybGUAZHJtX3ByaW1lAG9wZW5jbABGYWlsZWQgdG8gbWFwIGZyYW1lIGludG8gZGVyaXZlZCBmcmFtZSBjb250ZXh0OiAlZC4KAEludmFsaWQgbWFwcGluZyBmb3VuZCB3aGVuIGF0dGVtcHRpbmcgdW5tYXAuCgBhdl9pbWFnZV9nZXRfbGluZXNpemUgZmFpbGVkCgBhYnMoc3JjX2xpbmVzaXplKSA+PSBieXRld2lkdGgAbGliYXZ1dGlsL2ltZ3V0aWxzLmMAYWJzKGRzdF9saW5lc2l6ZSkgPj0gYnl0ZXdpZHRoAFBpY3R1cmUgc2l6ZSAldXgldSBpcyBpbnZhbGlkCgBQaWN0dXJlIHNpemUgJXV4JXUgZXhjZWVkcyBzcGVjaWZpZWQgbWF4IHBpeGVsIGNvdW50ICVsbGQsIHNlZSB0aGUgZG9jdW1lbnRhdGlvbiBpZiB5b3Ugd2lzaCB0byBpbmNyZWFzZSBpdAoASU1HVVRJTFMAIWRzdC0+Zi0+YnVmWzBdAGxpYmF2Y29kZWMvaDI2NF9waWN0dXJlLmMAc3JjLT5mLT5idWZbMF0Ac3JjLT50Zi5mID09IHNyYy0+ZgAhZHN0LT5wcm9ncmVzcwBsaWJhdmNvZGVjL3V0aWxzLmMAYnVmX2luZGV4IDw9IGJ1Zl9zaXplAGxpYmF2Y29kZWMvaDI2NGRlYy5jAG5vIGZyYW1lIQoAcGljdC0+YnVmWzBdIHx8ICEqZ290X2ZyYW1lAER1cGxpY2F0aW5nIGZpZWxkICVkIHRvIGZpbGwgbWlzc2luZwoAc3RlcmVvX21vZGUAY2hlY2tlcmJvYXJkX3JsAGNoZWNrZXJib2FyZF9scgBjb2xfaW50ZXJsZWF2ZWRfcmwAY29sX2ludGVybGVhdmVkX2xyAHJvd19pbnRlcmxlYXZlZF9ybAByb3dfaW50ZXJsZWF2ZWRfbHIAcmlnaHRfbGVmdABsZWZ0X3JpZ2h0AGJvdHRvbV90b3AAdG9wX2JvdHRvbQBibG9ja19ybABibG9ja19scgBoYXJkd2FyZSBhY2NlbGVyYXRvciBmYWlsZWQgdG8gZGVjb2RlIHBpY3R1cmUKACVwIGZpbmlzaGVkICVkIGZpZWxkICVkCgBTUFMgaXMgdW5zZXQKAG5vIG1tY28gaGVyZQoAbW1jbzolZCAlZCAlZAoAbW1jbzogdW5yZWYgc2hvcnQgZmFpbHVyZQoAbW1jbzogdW5yZWYgc2hvcnQgJWQgY291bnQgJWQKAG1tY286IHVucmVmIGxvbmcgZmFpbHVyZQoAbW1jbzogY2Fubm90IGFzc2lnbiBjdXJyZW50IHBpY3R1cmUgdG8gc2hvcnQgYW5kIGxvbmcgYXQgdGhlIHNhbWUgdGltZQoAbW1jbzogY2Fubm90IGFzc2lnbiBjdXJyZW50IHBpY3R1cmUgdG8gMiBsb25nIHRlcm0gcmVmZXJlbmNlcwoAIWgtPmN1cl9waWNfcHRyLT5sb25nX3JlZgBsaWJhdmNvZGVjL2gyNjRfcmVmcy5jAGlsbGVnYWwgc2hvcnQgdGVybSByZWZlcmVuY2UgYXNzaWdubWVudCBmb3Igc2Vjb25kIGZpZWxkIGluIGNvbXBsZW1lbnRhcnkgZmllbGQgcGFpciAoZmlyc3QgZmllbGQgaXMgbG9uZyB0ZXJtKQoAaWxsZWdhbCBzaG9ydCB0ZXJtIGJ1ZmZlciBzdGF0ZSBkZXRlY3RlZAoAbnVtYmVyIG9mIHJlZmVyZW5jZSBmcmFtZXMgKCVkKyVkKSBleGNlZWRzIG1heCAoJWQ7IHByb2JhYmx5IGNvcnJ1cHQgaW5wdXQpLCBkaXNjYXJkaW5nIG9uZQoAbG9uZyB0ZXJtIGxpc3Q6CgAldSBmbjolZCBwb2M6JWQgJXAKAHNob3J0IHRlcm0gbGlzdDoKAHJlbW92ZSBzaG9ydCAlZCBjb3VudCAlZAoAJWQgJWQgJXAKAEVycm9yIHNwbGl0dGluZyB0aGUgaW5wdXQgaW50byBOQUwgdW5pdHMuCgBJbnZhbGlkIGludGVyIElEUiBmcmFtZQoAaW52YWxpZCBtaXhlZCBJRFIgLyBub24gSURSIGZyYW1lcyBjYW5ub3QgYmUgZGVjb2RlZCBpbiBzbGljZSBtdWx0aXRocmVhZGluZyBtb2RlCgBkYXRhIHBhcnRpdGlvbmluZwBTUFMgZGVjb2RpbmcgZmFpbHVyZSwgdHJ5aW5nIGFnYWluIHdpdGggdGhlIGNvbXBsZXRlIE5BTAoAVW5rbm93biBOQUwgY29kZTogJWQgKCVkIGJpdHMpCgBkZWNvZGVfc2xpY2VfaGVhZGVyIGVycm9yCgBpZ25vcmluZyBsYXN0IG1pc3Npbmcgc2xpY2UKAENhbm5vdCB1c2UgcHJldmlvdXMgcGljdHVyZSBpbiBlcnJvciBjb25jZWFsbWVudAoAQ2Fubm90IHVzZSBuZXh0IHBpY3R1cmUgaW4gZXJyb3IgY29uY2VhbG1lbnQKAFdhcm5pbmcgTVZzIG5vdCBhdmFpbGFibGUKACUyWCAACgBjb25jZWFsaW5nICVkIERDLCAlZCBBQywgJWQgTVYgZXJyb3JzIGluICVjIGZyYW1lCgBzLT5hdmN0eC0+Y29kZWNfaWQgIT0gQVZfQ09ERUNfSURfSDI2NABsaWJhdmNvZGVjL2Vycm9yX3Jlc2lsaWVuY2UuYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9zLT5xdWFydGVyX3NhbXBsZQBndWVzc19kYygpIGlzIG91dCBvZiBtZW1vcnkKAG5leHRfYmxvY2tsaXN0X2xlbmd0aCA8PSBtYl9oZWlnaHQgKiBtYl93aWR0aAB0aHJlYWQgYXdhaXRpbmcgJWQgZmllbGQgJWQgZnJvbSAlcAoAVHJ1bmNhdGluZyBsaWtlbHkgb3ZlcnNpemVkIFBQUyAoJXp1ID4gJXp1KQoAc3BzX2lkICV1IG91dCBvZiByYW5nZQoASW52YWxpZCBsdW1hIGJpdCBkZXB0aD0lZAoAVW5pbXBsZW1lbnRlZCBsdW1hIGJpdCBkZXB0aD0lZABGTU8gbm90IHN1cHBvcnRlZAoAcmVmZXJlbmNlIG92ZXJmbG93IChwcHMpCgBDQUJBQwBDQVZMQwB3ZWlnaHRlZABMUEFSAENPTlNUUgBSRURVADh4OERDVABwcHM6JXUgc3BzOiV1ICVzIHNsaWNlX2dyb3VwczolZCByZWY6JXUvJXUgJXMgcXA6JWQvJWQvJWQvJWQgJXMgJXMgJXMgJXMKAAYKDRASFxkbCgsQEhcZGx0NEBIXGRsdHxASFxkbHR8hEhcZGx0fISQXGRsdHyEkJhkbHR8hJCYoGx0fISQmKCoJDQ8RExUWGA0NERMVFhgZDxETFRYYGRsRExUWGBkbHBMVFhgZGxweFRYYGRscHiAWGBkbHB4gIRgZGxweICEjBg0UHA0UHCAUHCAlHCAlKgoOFBgOFBgbFBgbHhgbHiIAAQQIBQIDBgkMDQoHCw4PAAABCBAJAgMKERggGRILBAUMExohKDApIhsUDQYHDhUcIyoxODkyKyQdFg8XHiUsMzo7NC0mHycuNTw9Ni83Pj9kZWx0YSBzY2FsZSAlZCBpcyBpbnZhbGlkCgBDdXJyZW50IHByb2ZpbGUgZG9lc24ndCBwcm92aWRlIG1vcmUgUkJTUCBkYXRhIGluIFBQUywgc2tpcHBpbmcKACBpcyBub3QgaW1wbGVtZW50ZWQuIFVwZGF0ZSB5b3VyIEZGbXBlZyB2ZXJzaW9uIHRvIHRoZSBuZXdlc3Qgb25lIGZyb20gR2l0LiBJZiB0aGUgcHJvYmxlbSBzdGlsbCBvY2N1cnMsIGl0IG1lYW5zIHRoYXQgeW91ciBmaWxlIGhhcyBhIGZlYXR1cmUgd2hpY2ggaGFzIG5vdCBiZWVuIGltcGxlbWVudGVkLgoASWYgeW91IHdhbnQgdG8gaGVscCwgdXBsb2FkIGEgc2FtcGxlIG9mIHRoaXMgZmlsZSB0byBmdHA6Ly91cGxvYWQuZmZtcGVnLm9yZy9pbmNvbWluZy8gYW5kIGNvbnRhY3QgdGhlIGZmbXBlZy1kZXZlbCBtYWlsaW5nIGxpc3QuIChmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZykKAFRydW5jYXRpbmcgbGlrZWx5IG92ZXJzaXplZCBTUFMKAGNocm9tYV9mb3JtYXRfaWRjICV1AHNlcGFyYXRlIGNvbG9yIHBsYW5lcyBhcmUgbm90IHN1cHBvcnRlZAoARGlmZmVyZW50IGNocm9tYSBhbmQgbHVtYSBiaXQgZGVwdGgAaWxsZWdhbCBiaXQgZGVwdGggdmFsdWUgKCVkLCAlZCkKAGxvZzJfbWF4X2ZyYW1lX251bV9taW51czQgb3V0IG9mIHJhbmdlICgwLTEyKTogJWQKAGxvZzJfbWF4X3BvY19sc2IgKCVkKSBpcyBvdXQgb2YgcmFuZ2UKAHBvY19jeWNsZV9sZW5ndGggb3ZlcmZsb3cgJWQKAGlsbGVnYWwgUE9DIHR5cGUgJWQKAHRvbyBtYW55IHJlZmVyZW5jZSBmcmFtZXMgJWQKAGhlaWdodCBvdmVyZmxvdwoAbWJfd2lkdGgvaGVpZ2h0IG92ZXJmbG93CgBkaXNjYXJkaW5nIHNwcyBjcm9wcGluZywgb3JpZ2luYWwgdmFsdWVzIGFyZSBsOiVkIHI6JWQgdDolZCBiOiVkCgBjcm9wIHZhbHVlcyBpbnZhbGlkICVkICVkICVkICVkIC8gJWQgJWQKAFZVSQBPdmVycmVhZCAlcyBieSAlZCBiaXRzCgBNQi1BRkYAUElDLUFGRgBGUk0AOEI4AEdyYXkANDIwAAA0MjIAADQ0NAAAc3BzOiV1IHByb2ZpbGU6JWQvJWQgcG9jOiVkIHJlZjolZCAlZHglZCAlcyAlcyBjcm9wOiV1LyV1LyV1LyV1ICVzICVzICVkLyVkIGIlZCByZW86JWQKAGlsbGVnYWwgYXNwZWN0IHJhdGlvCgBUcnVuY2F0ZWQgVlVJCgB0aW1lX3NjYWxlL251bV91bml0c19pbl90aWNrIGludmFsaWQgb3IgdW5zdXBwb3J0ZWQgKCV1LyV1KQoAQ2xpcHBpbmcgaWxsZWdhbCBudW1fcmVvcmRlcl9mcmFtZXMgJWQKAGNwYl9jb3VudCAlZCBpbnZhbGlkCgBnYnIAcmVzZXJ2ZWQAY2hyb21hLWRlcml2ZWQtbmMAY2hyb21hLWRlcml2ZWQtYwBpY3RjcABHcmVlbiBNZXRhZGF0YSBJbmZvIFNFSSBtZXNzYWdlCgAgIGdyZWVuX21ldGFkYXRhX3R5cGU6ICVkCgAgIGdyZWVuX21ldGFkYXRhX3BlcmlvZF90eXBlOiAlZAoAICBncmVlbl9tZXRhZGF0YV9udW1fc2Vjb25kczogJWQKACAgZ3JlZW5fbWV0YWRhdGFfbnVtX3BpY3R1cmVzOiAlZAoAICBTRUkgR1JFRU4gQ29tcGxleGl0eSBNZXRyaWNzOiAlZiAlZiAlZiAl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IGxvY2F0ZWQgUE9DcyB1bmF2YWlsYWJsZQoAcG9jZGlmZiBvdmVyZmxvdwoAcG9jZGlmZjAgb3ZlcmZsb3cKAGFic19kaWZmX3BpY19udW0gb3ZlcmZsb3cKAGxvbmdfdGVybV9waWNfaWR4IG92ZXJmbG93CgByZWZlcmVuY2UgcGljdHVyZSBtaXNzaW5nIGR1cmluZyByZW9yZGVyCgBNaXNzaW5nIHJlZmVyZW5jZSBwaWN0dXJlLCBkZWZhdWx0IGlzICVkCgBhdl9idWZmZXJfZ2V0X3JlZl9jb3VudChzbC0+cmVmX2xpc3RbbGlzdF1baW5kZXhdLnBhcmVudC0+Zi0+YnVmWzBdKSA+IDAAbGVuIDw9IDMyAERpc2NhcmRpbmcgbWlzbWF0Y2hpbmcgcmVmZXJlbmNlCgBpbmRleCA8IGRlZl9sZW4AaC0+Y3VyX3BpY19wdHIAaC0+Y3VyX3BpY19wdHItPmYtPmJ1ZlswXQBJbnZhbGlkIGZpZWxkIG1vZGUgY29tYmluYXRpb24gJWQvJWQKAEZvdW5kIHJlZmVyZW5jZSBhbmQgbm9uLXJlZmVyZW5jZSBmaWVsZHMgaW4gdGhlIHNhbWUgZnJhbWUsIHdoaWNoAEZyYW1lIG51bSBnYXAgJWQgJWQKAEludmFsaWQgUE9DICVkPCVkCgBJbmNyZWFzaW5nIHJlb3JkZXIgYnVmZmVyIHRvICVkCgBwaWNzIDw9IDE2AG9vbwBubyBwaWN0dXJlICVzCgBBdHRlbXB0IHRvIHN0YXJ0IGEgZnJhbWUgb3V0c2lkZSBTRVRVUCBzdGF0ZQoAbm8gZnJhbWUgYnVmZmVyIGF2YWlsYWJsZQoAZGVzYy0+ZmxhZ3MgJiAoMSA8PCA0KQAhcGljLT5mLT5kYXRhWzBdACFwaWMtPmh3YWNjZWxfcGljdHVyZV9wcml2YXRlAHRocmVhZF9nZXRfYnVmZmVyKCkgZmFpbGVkCgBnZXRfYnVmZmVyKCkgY2Fubm90IGJlIGNhbGxlZCBhZnRlciBmZl90aHJlYWRfZmluaXNoX3NldHVwKCkKAGdldF9idWZmZXIoKSBmYWlsZWQKAHZpZGVvX2dldF9idWZmZXI6IGltYWdlIHBhcmFtZXRlcnMgaW52YWxpZAoAcGljLT5kYXRhWypdIT1OVUxMIGluIGdldF9idWZmZXJfaW50ZXJuYWwKAGZyYW1lLT5kYXRhW2ldAEJ1ZmZlciByZXR1cm5lZCBieSBnZXRfYnVmZmVyMigpIGRpZCBub3QgemVybyB1bnVzZWQgcGxhbmUgcG9pbnRlcnMKAEluY29uc2lzdGVudCBjaGFubmVsIGNvbmZpZ3VyYXRpb24uCgBUb28gbWFueSBjaGFubmVsczogJWQuCgBjaGFuZ2luZyB3aWR0aCAlZCAtPiAlZCAvIGhlaWdodCAlZCAtPiAlZCBvbiBzbGljZSAlZAoAUmVpbml0IGNvbnRleHQgdG8gJWR4JWQsIHBpeF9mbXQ6ICVzCgBoMjY0X3NsaWNlX2hlYWRlcl9pbml0KCkgZmFpbGVkCgBDb3VsZCBub3QgYWxsb2NhdGUgbWVtb3J5CgBVbnN1cHBvcnRlZCBiaXQgZGVwdGggJWQKAGNvbnRleHRfaW5pdCgpIGZhaWxlZC4KAENhbm5vdCBhbGxvY2F0ZSBtZW1vcnkuCgBSZWZlcmVuY2Ugbm90IGF2YWlsYWJsZSBmb3IgZXJyb3IgY29uY2VhbGluZwoAUmVmZXJlbmNlIGludmFsaWQKAGxpYmF2Y29kZWMvaDI2NHByZWQuYwBiaXRfZGVwdGg8PTgAbGliYXZjb2RlYy9oMjY0ZHNwLmMAABAAIICgDA0UFQ4PFhccHSQlHh8mJzQ1PD02Nz4/REVMTUZHTk9cXWRlXl9mZ2xtdHVub3Z3AChQAAQBCAwFCQ0CBgoOAwcLDwAACRESDCgbByM5HR46JjUvAQIYCxMwFA4qMhYlOx88NwgDIAQaKQ0VMSsPLDQnPT4QChkFISIGHDgkFzMtLjY/AAAIEAEJGCARAhkoMDghCgMSKTE5GgsEEyIqMjobDAUUIyszOxwNBhUkLDQ8HQ4WJS01PR4HDyYuNj4XHycvNz8AAAkCOBIaIhsjHCQdLQc2JwgYGSEpCyoMKw0sDjUPPi8QICgKMQQyBTMGNBY9Jhc3AREwAzkTOhQ7FTwlHi4fPwAAAQI1Awc2GwQmKQgiNzAcPgUnLiwqFgkYIzs4MRIdCz80BholKCEvPS0rFRc6EQozGSQgPBQ5EDIfEw8eDg0MaWdub3JpbmcgaW52YWxpZCBTQVI6ICVkLyVkCgBzcHMtPmNyb3BfcmlnaHQgKyBzcHMtPmNyb3BfbGVmdCA8ICh1bnNpZ25lZCloLT53aWR0aABzcHMtPmNyb3BfdG9wICsgc3BzLT5jcm9wX2JvdHRvbSA8ICh1bnNpZ25lZCloLT5oZWlnaHQAZ2V0X2Zvcm1hdCgpIGNhbm5vdCBiZSBjYWxsZWQgYWZ0ZXIgZmZfdGhyZWFkX2ZpbmlzaF9zZXR1cCgpCgBuID49IDEASW52YWxpZCBmb3JtYXQgcmV0dXJuZWQgYnkgZ2V0X2Zvcm1hdCgpIGNhbGxiYWNrLgoARm9ybWF0ICVzIGNob3NlbiBieSBnZXRfZm9ybWF0KCkuCgBJbnZhbGlkIHJldHVybiBmcm9tIGdldF9mb3JtYXQoKTogJXMgbm90IGluIHBvc3NpYmxlIGxpc3QuCgBJbnZhbGlkIHNldHVwIGZvciBmb3JtYXQgJXM6IGRvZXMgbm90IG1hdGNoIHRoZSBmb3JtYXQgb2YgdGhlIHByb3ZpZGVkIGZyYW1lcyBjb250ZXh0LgoASW52YWxpZCBzZXR1cCBmb3IgZm9ybWF0ICVzOiBkb2VzIG5vdCBtYXRjaCB0aGUgdHlwZSBvZiB0aGUgcHJvdmlkZWQgZGV2aWNlIGNvbnRleHQuCgBJbnZhbGlkIHNldHVwIGZvciBmb3JtYXQgJXM6IG1pc3NpbmcgY29uZmlndXJhdGlvbi4KAEZvcm1hdCAlcyByZXF1aXJlcyBod2FjY2VsIGluaXRpYWxpc2F0aW9uLgoARm9ybWF0ICVzIG5vdCB1c2FibGUsIHJldHJ5aW5nIGdldF9mb3JtYXQoKSB3aXRob3V0IGl0LgoASWdub3JpbmcgZXhwZXJpbWVudGFsIGh3YWNjZWw6ICVzCgBGYWlsZWQgc2V0dXAgZm9yIGZvcm1hdCAlczogaHdhY2NlbCBpbml0aWFsaXNhdGlvbiByZXR1cm5lZCBlcnJvci4KACFoLT5zZXR1cF9maW5pc2hlZABzbGljZSB0eXBlICVkIHRvbyBsYXJnZSBhdCAlZAoAQSBub24taW50cmEgc2xpY2UgaW4gYW4gSURSIE5BTCB1bml0LgoARnJhbWUgbnVtIGNoYW5nZSBmcm9tICVkIHRvICVkCgBUaGlzIHN0cmVhbSB3YXMgZ2VuZXJhdGVkIGJ5IGEgYnJva2VuIGVuY29kZXIsIGludmFsaWQgOHg4IGluZmVyZW5jZQoAY2FiYWNfaW5pdF9pZGMgJXUgb3ZlcmZsb3cKAFFQICV1IG91dCBvZiByYW5nZQoAZGVibG9ja2luZ19maWx0ZXJfaWRjICV1IG91dCBvZiByYW5nZQoAZGVibG9ja2luZyBmaWx0ZXIgcGFyYW1ldGVycyAlZCAlZCBvdXQgb2YgcmFuZ2UKAGlsbGVnYWwgbG9uZyByZWYgaW4gbWVtb3J5IG1hbmFnZW1lbnQgY29udHJvbCBvcGVyYXRpb24gJWQKAGx1bWFfbG9nMl93ZWlnaHRfZGVub20gJWQgaXMgb3V0IG9mIHJhbmdlCgBjaHJvbWFfbG9nMl93ZWlnaHRfZGVub20gJWQgaXMgb3V0IG9mIHJhbmdlCgBPdXQgb2YgcmFuZ2Ugd2VpZ2h0CgByZWZlcmVuY2UgY291bnQgb3ZlcmZsb3cKAGlsbGVnYWwgbW9kaWZpY2F0aW9uX29mX3BpY19udW1zX2lkYyAldQoAcmVmZXJlbmNlIG92ZXJmbG93ICV1ID4gJXUgb3IgJXUgPiAldQoASW52YWxpZCB6ZXJvLXNpemVkIFZDTCBOQUwgdW5pdAoARXhjZWVkZWQgbmV4dCBOQUxGRiBwb3NpdGlvbiwgcmUtc3luY2luZy4KAE5vIHN0YXJ0IGNvZGUgaXMgZm91bmQuCgBOQUxGRjogQ29uc3VtZWQgb25seSAlZCBieXRlcyBpbnN0ZWFkIG9mICVkCgBJbnZhbGlkIE5BTCB1bml0ICVkLCBza2lwcGluZy4KAG5hbF91bml0X3R5cGU6ICVkLCBuYWxfcmVmX2lkYzogJWQKAG5hbF91bml0X3R5cGU6ICVkKCVzKSwgbnVoX2xheWVyX2lkOiAlZCwgdGVtcG9yYWxfaWQ6ICVkCgA/AFNFSV9TVUZGSVgAU0VJX1BSRUZJWABGRF9OVVQARU9CX05VVABFT1NfTlVUAEFVRABQUFMAU1BTAFZQUwBDUkFfTlVUAElEUl9OX0xQAElEUl9XX1JBREwAQkxBX05fTFAAQkxBX1dfUkFETABCTEFfV19MUABSQVNMX1IAUkFTTF9OAFJBRExfUgBSQURMX04AU1RTQV9SAFNUU0FfTgBUU0FfUgBUU0FfTgBUUkFJTF9SAFRSQUlMX04AbmFsLT5za2lwcGVkX2J5dGVzX3Bvc19zaXplID49IG5hbC0+c2tpcHBlZF9ieXRlcwBsaWJhdmNvZGVjL2gyNjQ1X3BhcnNlLmMAdmFsIHx8ICFtaW5fc2l6ZQAuL2xpYmF2dXRpbC9tZW1faW50ZXJuYWwuaABhdmNDICVkIHRvbyBzaG9ydAoARGVjb2Rpbmcgc3BzICVkIGZyb20gYXZjQyBmYWlsZWQKAERlY29kaW5nIHBwcyAlZCBmcm9tIGF2Y0MgZmFpbGVkCgBTUFMgZGVjb2RpbmcgZmFpbHVyZSwgdHJ5aW5nIGFnYWluIGFmdGVyIGVzY2FwaW5nIHRoZSBOQUwKAHB0aHJlYWRfb25jZSBoYXMgZmFpbGVkLgBFcnJvciByZXNpbGllbmNlIHdpdGggc2xpY2UgdGhyZWFkcyBpcyBlbmFibGVkLiBJdCBpcyB1bnNhZmUgYW5kIHVuc3VwcG9ydGVkIGFuZCBtYXkgY3Jhc2guIFVzZSBpdCBhdCB5b3VyIG93biByaXNrCgACAAAABgEAAAYGAwAGBwcGBggIBwEAAAAHAQAABAYBAAMDAgUCAwIAAQAAAAcCAAAHBwMACQcHBQkJBwYKCgkHCwsKBwwMCwoNDAwLAQAAAA8BAAAODQEABwwLAQYFCgEHBgQJBwYFCAcGBQQHBQQEAQAAAAYCAAAIBgMACQgHBQoJCAYLCgkHDQsKCA0NCwkNDQ0KDg4NCw4ODg0PDw4ODw8PDhAPDw8QEBAPEBAQEBAQEBACAAAABgIAAAYFAwAHBgYECAYGBAgHBwUJCAgGCwkJBgsLCwcMCwsJDAwMCwwMDAsNDQ0MDQ0NDQ0ODQ0ODg4NDg4ODgQAAAAGBAAABgUEAAYFBQQHBQUEBwUFBAcGBgQHBgYECAcHBQgIBwYJCAgHCQkICAkJCQgKCQkJCgoKCgoKCgoKCgoKBgAAAAYGAAAGBgYABgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYBAAAABQEAAAcEAQAHBgUDBwYFAwcGBQQPBgUECw4FBAgKDQQPDgkECwoNDA8OCQwLCg0IDwEJDAsODQgHCgkMBAYFCAMAAAALAgAABwcDAAcKCQUHBgUEBAYFBgcGBQgPBgUECw4NBA8KCQQLDg0MCAoJCA8ODQwLCgkMBwsGCAkICgEHBgUEDwAAAA8OAAALDw0ACAwODA8KCwsLCAkKCQ4NCQgKCQgPDg0NCw4KDA8KDQwLDgkMCAoNCA0HCQwJDAsKBQgHBgEEAwIDAAAAAAEAAAQFBgAICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+PwECAwMBAgIAAQEAAAEBAQABAQAAAQAAAAEDAwQEBAUFAwIDAwMDAwADAwICAwMAAAMCAgIDAAAAAgICAgAAAAACAgEAAAAAAAEBAAAAAAAAAQIDAgMBAQAAAQEEBQYHAAABAQIGBwAABgABAgcAAAAAAQIDAAAAAAABAQAAAAAAAAEAAAAAAAABAwMEBAUFBgYHBwgICQkJAwMDAwMEBAQEBQUGBgYGAAQDAwMEBAMDBAUFBgUGAAAFAwQEAwMDBAMEBQUFAAAABAQEAwMDAwMEBQQFAAAAAAYFAwMDAwMDBAMGAAAAAAAGBQMDAwIDBAMGAAAAAAAABgQFAwICAwMGAAAAAAAAAAYGBAICAwIFAAAAAAAAAAAFBQMCAgIEAAAAAAAAAAAABAQDAwEDAAAAAAAAAAAAAAQEAgEDAAAAAAAAAAAAAAADAwECAAAAAAAAAAAAAAAAAgIBAAAAAAAAAAAAAAAAAAEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQMCAwIDAgMCAwIDAgMCAQcGBQQDBQQDAgMCAwIBAAAFBwYFBAMEAwIDAgEBAAAAAwcFBAYFBAMDAgIBAAAAAAUEAwcGBQQDAgEBAAAAAAABAQcGBQQDAgEBAAAAAAAAAQEFBAMDAgEBAAAAAAAAAAEBAQMDAgIBAAAAAAAAAAABAAEDAgEBAQAAAAAAAAAAAQABAwIBAQAAAAAAAAAAAAABAQIBAwAAAAAAAAAAAAAAAQEBAQAAAAAAAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAABAQAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAAAAAAAAAAAAAAAAAABAgIAAAAAAAAAAAAAAAAAAgICAgAAAAAAAAAAAAAAAAICAgMDAAAAAAAAAAAAAAACAgMDAwMAAAAAAAAAAAAAAgMDAwMDAwAAAAAAAAAAAAMDAwMDAwMEBQYHCAkKCwABAAAAAAAAAAAAAAAAAAAAAQEAAAAAAAAAAAAAAAAAAAMCAQAAAAAAAAAAAAAAAAADAgEBAAAAAAAAAAAAAAAAAwIDAgEAAAAAAAAAAAAAAAMAAQMCBQQAAAAAAAAAAAAHBgUEAwIBAQEBAQEBAQEAbmJfY29kZXMgKyAxIDw9IChzaXplb2YobG9jYWxidWYpIC8gc2l6ZW9mKChsb2NhbGJ1ZilbMF0pKQBsaWJhdmNvZGVjL2JpdHN0cmVhbS5jAHN5bWJvbHNfc2l6ZSA8PSAyIHx8ICFzeW1ib2xzAFRvbyBsb25nIFZMQyAoJWQpIGluIGluaXRfdmxjCgBJbnZhbGlkIGNvZGUgJXggZm9yICVkIGluIGluaXRfdmxjCgBuZWVkZWQgJWQgaGFkICVkCgBpbmNvcnJlY3QgY29kZXMKAGgyNjRfc2xpY2VfaGVhZGVyX2luaXQoKSBmYWlsZWQASDI2NCBEZWNvZGVyAGlzX2F2YwBpcyBhdmMAbmFsX2xlbmd0aF9zaXplAGVuYWJsZV9lcgBFbmFibGUgZXJyb3IgcmVzaWxpZW5jZSBvbiBkYW1hZ2VkIGZyYW1lcyAodW5zYWZlKQB4MjY0X2J1aWxkAEFzc3VtZSB0aGlzIHgyNjQgdmVyc2lvbiBpZiBubyB4MjY0IHZlcnNpb24gZm91bmQgaW4gYW55IFNFSQBwIDw9IGVuZABRMjY0AHBwc19pZCAldSBvdXQgb2YgcmFuZ2UKAG5vbi1leGlzdGluZyBQUFMgJXUgcmVmZXJlbmNlZAoAbm9uLWV4aXN0aW5nIFNQUyAldSByZWZlcmVuY2VkCgBtaXNzaW5nIHBpY3R1cmUgaW4gYWNjZXNzIHVuaXQgd2l0aCBzaXplICVkCgBpbGxlZ2FsIHJlb3JkZXJpbmdfb2ZfcGljX251bXNfaWRjICVkCgByZWZlcmVuY2UgY291bnQgJWQgb3ZlcmZsb3cKAGlsbGVnYWwgbWVtb3J5IG1hbmFnZW1lbnQgY29udHJvbCBvcGVyYXRpb24gJWQKAEludmFsaWQgTkFMIHVuaXQgc2l6ZSAoJWQgPiAlZCkuCgBBVkMtcGFyc2VyOiBuYWwgbGVuZ3RoIHNpemUgaW52YWxpZAoAQVZDLXBhcnNlcjogbmFsIHNpemUgJWQgcmVtYWluaW5nICVkCgAAAAEAAQIAAQIDAQIDAgMDAAEAAgEAAwIBAAMCAQMCAwAAAQABAgABAgMAAQIDBAABAgMEBQABAgMEBQYAAQIDBAUGBwECAwQFBgcCAwQFBgcDBAUGBwQFBgcFBgcGBwcAAQACAQADAgEABAMCAQAFBAMCAQAGBQQDAgEABwYFBAMCAQAHBgUEAwIBBwYFBAMCBwYFBAMHBgUEBwYFBwYHbWlzc2luZyBwaWN0dXJlIGluIGFjY2VzcyB1bml0CgBJbnZhbGlkIHNsaWNlIHNlZ21lbnQgYWRkcmVzczogJXUuCgBVbmtub3duIHNsaWNlIHR5cGU6ICVkLgoASW52YWxpZCBVRSBnb2xvbWIgY29kZQoARGVjb2RpbmcgU0VJCgBTa2lwcGVkIFNVRkZJWCBTRUkgJWQKAFNraXBwZWQgUFJFRklYIFNFSSAlZAoAbnVtX3Nwc19pZHNfbWludXMxICVkIGludmFsaWQKAGFjdGl2ZV9wYXJhbWV0ZXJfc2V0X2lkICVkIGludmFsaWQKAEJPVFRPTSBGaWVsZAoAVE9QIEZpZWxkCgBEZWNvZGluZyBQUFMKAFRydW5jYXRpbmcgbGlrZWx5IG92ZXJzaXplZCBQUFMgKCV0ZCA+ICV6dSkKAFBQUyBpZCBvdXQgb2YgcmFuZ2U6ICVkCgBTUFMgaWQgb3V0IG9mIHJhbmdlOiAlZAoAU1BTICV1IGRvZXMgbm90IGV4aXN0LgoAZGlmZl9jdV9xcF9kZWx0YV9kZXB0aCAlZCBpcyBpbnZhbGlkCgBwcHNfY2JfcXBfb2Zmc2V0IG91dCBvZiByYW5nZTogJWQKAHBwc19jcl9xcF9vZmZzZXQgb3V0IG9mIHJhbmdlOiAlZAoAbnVtX3RpbGVfY29sdW1uc19taW51czEgb3V0IG9mIHJhbmdlOiAlZAoAbnVtX3RpbGVfcm93c19taW51czEgb3V0IG9mIHJhbmdlOiAlZAoASW52YWxpZCB0aWxlIHdpZHRocy4KAEludmFsaWQgdGlsZSBoZWlnaHRzLgoAcHBzX2JldGFfb2Zmc2V0X2RpdjIgb3V0IG9mIHJhbmdlOiAlZAoAcHBzX3RjX29mZnNldF9kaXYyIG91dCBvZiByYW5nZTogJWQKAGxvZzJfcGFyYWxsZWxfbWVyZ2VfbGV2ZWxfbWludXMyIG91dCBvZiByYW5nZTogJWQKAE92ZXJyZWFkIFBQUyBieSAlZCBiaXRzCgBjaHJvbWFfcXBfb2Zmc2V0X2xpc3RfbGVuX21pbnVzMSBzaGFsbCBiZSBpbiB0aGUgcmFuZ2UgWzAsIDVdLgoAY2JfcXBfb2Zmc2V0X2xpc3Qgbm90IHRlc3RlZCB5ZXQuCgBJbnZhbGlkIGRlbHRhIGluIHNjYWxpbmcgbGlzdCBkYXRhOiAlZC4KABAQEBAREhUYEBAQEBETFhkQEBESFBYZHRAQEhUYGx8kEREUGB4jKS8SExYbIyw2QRUWGR8pNkZYGBkdJC9BWHMQEBAQERIUGBAQEBESFBgZEBAREhQYGRwQERIUGBkcIRESFBgZHCEpEhQYGRwhKTYUGBkcISk2RxgZHCEpNkdbRGVjb2RpbmcgU1BTCgBUcnVuY2F0aW5nIGxpa2VseSBvdmVyc2l6ZWQgU1BTICgldGQgPiAlenUpCgBQYXJzZWQgU1BTOiBpZCAlZDsgY29kZWQgd3hoOiAlZHglZDsgY3JvcHBlZCB3eGg6ICVkeCVkOyBwaXhfZm10OiAlcy4KACEocy0+c3BzX2xpc3RbaWRdICYmIHMtPnNwcyA9PSAoSEVWQ1NQUyopcy0+c3BzX2xpc3RbaWRdLT5kYXRhKQBsaWJhdmNvZGVjL2hldmNfcHMuYwBWUFMgaWQgb3V0IG9mIHJhbmdlOiAlZAoAVlBTICVkIGRvZXMgbm90IGV4aXN0CgBzcHNfbWF4X3N1Yl9sYXllcnMgb3V0IG9mIHJhbmdlOiAlZAoAY2hyb21hX2Zvcm1hdF9pZGMgJWQgaXMgaW52YWxpZAoAZGlzY2FyZGluZyBzcHMgY29uZm9ybWFuY2Ugd2luZG93LCBvcmlnaW5hbCB2YWx1ZXMgYXJlIGw6JXUgcjoldSB0OiV1IGI6JXUKAEx1bWEgYml0IGRlcHRoICglZCkgaXMgZGlmZmVyZW50IGZyb20gY2hyb21hIGJpdCBkZXB0aCAoJWQpLCB0aGlzIGlzIHVuc3VwcG9ydGVkLgoAbG9nMl9tYXhfcGljX29yZGVyX2NudF9sc2JfbWludXM0IG91dCByYW5nZTogJWQKAHNwc19tYXhfZGVjX3BpY19idWZmZXJpbmdfbWludXMxIG91dCBvZiByYW5nZTogJWQKAHNwc19tYXhfbnVtX3Jlb3JkZXJfcGljcyBvdXQgb2YgcmFuZ2U6ICVkCgBJbnZhbGlkIHZhbHVlICVkIGZvciBsb2cyX21pbl9jYl9zaXplAEludmFsaWQgdmFsdWUgJWQgZm9yIGxvZzJfZGlmZl9tYXhfbWluX2NvZGluZ19ibG9ja19zaXplAEludmFsaWQgdmFsdWUgZm9yIGxvZzJfbWluX3RiX3NpemUASW52YWxpZCB2YWx1ZSAlZCBmb3IgbG9nMl9kaWZmX21heF9taW5fdHJhbnNmb3JtX2Jsb2NrX3NpemUAUENNIGJpdCBkZXB0aCAoJWQsICVkKSBpcyBncmVhdGVyIHRoYW4gbm9ybWFsIGJpdCBkZXB0aCAoJWQpCgBUb28gbWFueSBzaG9ydCB0ZXJtIFJQUzogJWQuCgBUb28gbWFueSBsb25nIHRlcm0gcmVmIHBpY3M6ICVkLgoAZXh0ZW5kZWRfcHJlY2lzaW9uX3Byb2Nlc3NpbmdfZmxhZyBub3QgeWV0IGltcGxlbWVudGVkCgBoaWdoX3ByZWNpc2lvbl9vZmZzZXRzX2VuYWJsZWRfZmxhZyBub3QgeWV0IGltcGxlbWVudGVkCgBjYWJhY19ieXBhc3NfYWxpZ25tZW50X2VuYWJsZWRfZmxhZyBub3QgeWV0IGltcGxlbWVudGVkCgBJbnZhbGlkIGNyb3BwaW5nIG9mZnNldHM6ICV1LyV1LyV1LyV1CgBEaXNwbGF5aW5nIHRoZSB3aG9sZSB2aWRlbyBzdXJmYWNlLgoAQ1RCIHNpemUgb3V0IG9mIHJhbmdlOiAyXiVkCgBsb2cyX2N0Yl9zaXplICVkIGRpZmZlcnMgZnJvbSB0aGUgYm91bmRzIG9mIGFueSBrbm93biBwcm9maWxlCgBsb2cyX2N0Yl9zaXplICVkAEludmFsaWQgY29kZWQgZnJhbWUgZGltZW5zaW9ucy4KAG1heF90cmFuc2Zvcm1faGllcmFyY2h5X2RlcHRoX2ludGVyIG91dCBvZiByYW5nZTogJWQKAG1heF90cmFuc2Zvcm1faGllcmFyY2h5X2RlcHRoX2ludHJhIG91dCBvZiByYW5nZTogJWQKAG1heCB0cmFuc2Zvcm0gYmxvY2sgc2l6ZSBvdXQgb2YgcmFuZ2U6ICVkCgBPdmVycmVhZCBTUFMgYnkgJWQgYml0cwoARGVjb2RpbmcgVlVJCgBVbmtub3duIFNBUiBpbmRleDogJXUuCgBJbnZhbGlkIGRlZmF1bHQgZGlzcGxheSB3aW5kb3cKAGRpc2NhcmRpbmcgdnVpIGRlZmF1bHQgZGlzcGxheSB3aW5kb3csIG9yaWdpbmFsIHZhbHVlcyBhcmUgbDoldSByOiV1IHQ6JXUgYjoldQoAU3RyYW5nZSBWVUkgdGltaW5nIGluZm9ybWF0aW9uLCByZXRyeWluZy4uLgoAUmV0cnkgZ290ICV1LyV1IGZwcwoAU3RyYW5nZSBWVUkgYml0c3RyZWFtIHJlc3RyaWN0aW9uIGluZm9ybWF0aW9uLCByZXRyeWluZyBmcm9tIHRpbWluZyBpbmZvcm1hdGlvbi4uLgoAT3ZlcnJlYWQgaW4gVlVJLCByZXRyeWluZyBmcm9tIHRpbWluZyBpbmZvcm1hdGlvbi4uLgoAbmJfY3BiICVkIGludmFsaWQKAEludmFsaWQgdmFsdWUgb2YgZGVsdGFfaWR4IGluIHNsaWNlIGhlYWRlciBSUFM6ICVkID4gJWQuCgBJbnZhbGlkIHZhbHVlIG9mIGFic19kZWx0YV9ycHM6ICVkCgBJbnZhbGlkIG51bV9kZWx0YV9wb2NzOiAlZAoAVG9vIG1hbnkgcmVmcyBpbiBhIHNob3J0IHRlcm0gUlBTLgoASW52YWxpZCB2YWx1ZSBvZiBkZWx0YV9wb2M6ICVkCgBUaGUgZm9sbG93aW5nIGJpdC1kZXB0aHMgYXJlIGN1cnJlbnRseSBzcGVjaWZpZWQ6IDgsIDksIDEwIGFuZCAxMiBiaXRzLCBjaHJvbWFfZm9ybWF0X2lkYyBpcyAlZCwgZGVwdGggaXMgJWQKAFBUTCBpbmZvcm1hdGlvbiB0b28gc2hvcnQKAFBUTCBpbmZvcm1hdGlvbiBmb3Igc3VibGF5ZXIgJWkgdG9vIHNob3J0CgBOb3QgZW5vdWdoIGRhdGEgZm9yIHN1YmxheWVyICVpIGxldmVsX2lkYwoATWFpbiBwcm9maWxlIGJpdHN0cmVhbQoATWFpbiAxMCBwcm9maWxlIGJpdHN0cmVhbQoATWFpbiBTdGlsbCBQaWN0dXJlIHByb2ZpbGUgYml0c3RyZWFtCgBSYW5nZSBFeHRlbnNpb24gcHJvZmlsZSBiaXRzdHJlYW0KAFVua25vd24gSEVWQyBwcm9maWxlOiAlZAoARGVjb2RpbmcgVlBTCgBUcnVuY2F0aW5nIGxpa2VseSBvdmVyc2l6ZWQgVlBTICgldGQgPiAlenUpCgB2cHNfcmVzZXJ2ZWRfdGhyZWVfMmJpdHMgaXMgbm90IHRocmVlCgB2cHNfcmVzZXJ2ZWRfZmZmZl8xNmJpdHMgaXMgbm90IDB4ZmZmZgoAdnBzX21heF9zdWJfbGF5ZXJzIG91dCBvZiByYW5nZTogJWQKAHZwc19tYXhfZGVjX3BpY19idWZmZXJpbmdfbWludXMxIG91dCBvZiByYW5nZTogJWQKAHZwc19tYXhfbnVtX3Jlb3JkZXJfcGljcyBvdXQgb2YgcmFuZ2U6ICVkCgB0b28gbWFueSBsYXllcl9pZF9pbmNsdWRlZF9mbGFncwoAdnBzX251bV9ocmRfcGFyYW1ldGVycyAlZCBpcyBpbnZhbGlkCgBPdmVycmVhZCBWUFMgYnkgJWQgYml0cwoAYnVmX3NpemUgPj0gMABsaWJhdmNvZGVjL2J5dGVzdHJlYW0uaABJbnZhbGlkIE5BTCB1bml0IHNpemUgaW4gZXh0cmFkYXRhLgoARGVjb2RpbmcgbmFsIHVuaXQgJWQgJWQgZnJvbSBodmNDIGZhaWxlZAoASWdub3JpbmcgTkFMIHR5cGUgJWQgaW4gZXh0cmFkYXRhCgAvZGV2L3VyYW5kb20AL2Rldi9yYW5kb20Ac2l6ZW9mKHRtcCkgPj0gYXZfc2hhX3NpemUAbGliYXZ1dGlsL3JhbmRvbV9zZWVkLmMAgABGYWlsZWQgdG8gc2V0IGNsb3NlIG9uIGV4ZWMKACAKCQ0AQUxMAEZMAGZyb250IGxlZnQARlIAZnJvbnQgcmlnaHQARkMAZnJvbnQgY2VudGVyAExGRQBsb3cgZnJlcXVlbmN5AEJMAGJhY2sgbGVmdABCUgBiYWNrIHJpZ2h0AEZMQwBmcm9udCBsZWZ0LW9mLWNlbnRlcgBGUkMAZnJvbnQgcmlnaHQtb2YtY2VudGVyAEJDAGJhY2sgY2VudGVyAFNMAHNpZGUgbGVmdABTUgBzaWRlIHJpZ2h0AFRDAHRvcCBjZW50ZXIAVEZMAHRvcCBmcm9udCBsZWZ0AFRGQwB0b3AgZnJvbnQgY2VudGVyAFRGUgB0b3AgZnJvbnQgcmlnaHQAVEJMAHRvcCBiYWNrIGxlZnQAVEJDAHRvcCBiYWNrIGNlbnRlcgBUQlIAdG9wIGJhY2sgcmlnaHQAREwAZG93bm1peCBsZWZ0AERSAGRvd25taXggcmlnaHQAV0wAd2lkZSBsZWZ0AFdSAHdpZGUgcmlnaHQAU0RMAHN1cnJvdW5kIGRpcmVjdCBsZWZ0AFNEUgBzdXJyb3VuZCBkaXJlY3QgcmlnaHQATEZFMgBsb3cgZnJlcXVlbmN5IDIAbW9ubwBzdGVyZW8AMi4xADMuMAAzLjAoYmFjaykANC4wAHF1YWQAcXVhZChzaWRlKQAzLjEANS4wADUuMChzaWRlKQA0LjEANS4xADUuMShzaWRlKQA2LjAANi4wKGZyb250KQBoZXhhZ29uYWwANi4xADYuMShiYWNrKQA2LjEoZnJvbnQpADcuMAA3LjAoZnJvbnQpADcuMQA3LjEod2lkZSkANy4xKHdpZGUtc2lkZSkAb2N0YWdvbmFsAGhleGFkZWNhZ29uYWwAZG93bm1peAAlcwAlZCBjaGFubmVscwAgKAArACkAJWQlKjFbOi9dJWQlYwBjb25zdF92YWx1ZXMgYXJyYXkgdG9vIHNtYWxsIGZvciAlcwoAVW5hYmxlIHRvIHBhcnNlIG9wdGlvbiB2YWx1ZSAiJXMiCgAlZgoASW52YWxpZCBjaGFycyAnJXMnIGF0IHRoZSBlbmQgb2YgZXhwcmVzc2lvbiAnJXMnCgBVbmRlZmluZWQgY29uc3RhbnQgb3IgbWlzc2luZyAnKCcgaW4gJyVzJwoATWlzc2luZyAnKScgaW4gJyVzJwoATWlzc2luZyAnKScgb3IgdG9vIG1hbnkgYXJncyBpbiAnJXMnCgBzaW5oAGNvc2gAdGFuaABzaW4AY29zAHRhbgBhdGFuAGFzaW4AYWNvcwBleHAAYWJzAHRpbWUAc3F1aXNoAGdhdXNzAG1vZABtYXgAbWluAGVxAGd0ZQBndABsdGUAbHQAbGQAaXNuYW4AaXNpbmYAc3QAd2hpbGUAdGF5bG9yAHJvb3QAZmxvb3IAY2VpbAByb3VuZABzcXJ0AG5vdABwb3cAcHJpbnQAaHlwb3QAZ2NkAGlmAGlmbm90AGJpdGFuZABiaXRvcgBiZXR3ZWVuAGNsaXAAYXRhbjIAbGVycABVbmtub3duIGZ1bmN0aW9uIGluICclcycKAEUAUEkAUEhJAFFQMkxBTUJEQQBFdmFsAFZhbHVlICVmIGZvciBwYXJhbWV0ZXIgJyVzJyBvdXQgb2YgcmFuZ2UgWyVnIC0gJWddCgBWYWx1ZSAlZiBmb3IgcGFyYW1ldGVyICclcycgaXMgbm90IGEgdmFsaWQgc2V0IG9mIDMyYml0IGludGVnZXIgZmxhZ3MKAGRldGVjdGVkICVkIGxvZ2ljYWwgY29yZXMKAAABHAIdDhgDHhYUDxkRBAgfGw0XFRMQBxoMEgYLBQoJVW5hYmxlIHRvIHBhcnNlIG9wdGlvbiB2YWx1ZSAiJXMiIGFzIGR1cmF0aW9uCgBVbmFibGUgdG8gcGFyc2Ugb3B0aW9uIHZhbHVlICIlcyIgYXMgY2hhbm5lbCBsYXlvdXQKAEludmFsaWQgb3B0aW9uIHR5cGUuCgBVbmFibGUgdG8gcGFyc2Ugb3B0aW9uIHZhbHVlICIlcyIgYXMgY29sb3IKADB4AHJhbmRvbQBiaWtlc2hlZAAwMTIzNDU2Nzg5QUJDREVGYWJjZGVmAEludmFsaWQgMHhSUkdHQkJbQUFdIGNvbG9yIHN0cmluZzogJyVzJwoAQ2Fubm90IGZpbmQgY29sb3IgJyVzJwoASW52YWxpZCBhbHBoYSB2YWx1ZSBzcGVjaWZpZXIgJyVzJyBpbiAnJXMnCgBBbGljZUJsdWUAQW50aXF1ZVdoaXRlAEFxdWEAQXF1YW1hcmluZQBBenVyZQBCZWlnZQBCaXNxdWUAQmxhY2sAQmxhbmNoZWRBbG1vbmQAQmx1ZQBCbHVlVmlvbGV0AEJyb3duAEJ1cmx5V29vZABDYWRldEJsdWUAQ2hhcnRyZXVzZQBDaG9jb2xhdGUAQ29yYWwAQ29ybmZsb3dlckJsdWUAQ29ybnNpbGsAQ3JpbXNvbgBDeWFuAERhcmtCbHVlAERhcmtDeWFuAERhcmtHb2xkZW5Sb2QARGFya0dyYXkARGFya0dyZWVuAERhcmtLaGFraQBEYXJrTWFnZW50YQBEYXJrT2xpdmVHcmVlbgBEYXJrb3JhbmdlAERhcmtPcmNoaWQARGFya1JlZABEYXJrU2FsbW9uAERhcmtTZWFHcmVlbgBEYXJrU2xhdGVCbHVlAERhcmtTbGF0ZUdyYXkARGFya1R1cnF1b2lzZQBEYXJrVmlvbGV0AERlZXBQaW5rAERlZXBTa3lCbHVlAERpbUdyYXkARG9kZ2VyQmx1ZQBGaXJlQnJpY2sARmxvcmFsV2hpdGUARm9yZXN0R3JlZW4ARnVjaHNpYQBHYWluc2Jvcm8AR2hvc3RXaGl0ZQBHb2xkAEdvbGRlblJvZABHcmF5AEdyZWVuAEdyZWVuWWVsbG93AEhvbmV5RGV3AEhvdFBpbmsASW5kaWFuUmVkAEluZGlnbwBJdm9yeQBLaGFraQBMYXZlbmRlcgBMYXZlbmRlckJsdXNoAExhd25HcmVlbgBMZW1vbkNoaWZmb24ATGlnaHRCbHVlAExpZ2h0Q29yYWwATGlnaHRDeWFuAExpZ2h0R29sZGVuUm9kWWVsbG93AExpZ2h0R3JlZW4ATGlnaHRHcmV5AExpZ2h0UGluawBMaWdodFNhbG1vbgBMaWdodFNlYUdyZWVuAExpZ2h0U2t5Qmx1ZQBMaWdodFNsYXRlR3JheQBMaWdodFN0ZWVsQmx1ZQBMaWdodFllbGxvdwBMaW1lAExpbWVHcmVlbgBMaW5lbgBNYWdlbnRhAE1hcm9vbgBNZWRpdW1BcXVhTWFyaW5lAE1lZGl1bUJsdWUATWVkaXVtT3JjaGlkAE1lZGl1bVB1cnBsZQBNZWRpdW1TZWFHcmVlbgBNZWRpdW1TbGF0ZUJsdWUATWVkaXVtU3ByaW5nR3JlZW4ATWVkaXVtVHVycXVvaXNlAE1lZGl1bVZpb2xldFJlZABNaWRuaWdodEJsdWUATWludENyZWFtAE1pc3R5Um9zZQBNb2NjYXNpbgBOYXZham9XaGl0ZQBOYXZ5AE9sZExhY2UAT2xpdmUAT2xpdmVEcmFiAE9yYW5nZQBPcmFuZ2VSZWQAT3JjaGlkAFBhbGVHb2xkZW5Sb2QAUGFsZUdyZWVuAFBhbGVUdXJxdW9pc2UAUGFsZVZpb2xldFJlZABQYXBheWFXaGlwAFBlYWNoUHVmZgBQZXJ1AFBpbmsAUGx1bQBQb3dkZXJCbHVlAFB1cnBsZQBSZWQAUm9zeUJyb3duAFJveWFsQmx1ZQBTYWRkbGVCcm93bgBTYWxtb24AU2FuZHlCcm93bgBTZWFHcmVlbgBTZWFTaGVsbABTaWVubmEAU2lsdmVyAFNreUJsdWUAU2xhdGVCbHVlAFNsYXRlR3JheQBTbm93AFNwcmluZ0dyZWVuAFN0ZWVsQmx1ZQBUYW4AVGVhbABUaGlzdGxlAFRvbWF0bwBUdXJxdW9pc2UAVmlvbGV0AFdoZWF0AFdoaXRlAFdoaXRlU21va2UAWWVsbG93AFllbGxvd0dyZWVuAG5vdwAlSjolTTolUwAlTTolUwAlSDolTQAlSCVNACVIACVIOiVNOiVTACVIJU0lUwBqYW51YXJ5AGZlYnJ1YXJ5AG1hcmNoAGFwcmlsAG1heQBqdW5lAGp1bHkAYXVndXN0AHNlcHRlbWJlcgBvY3RvYmVyAG5vdmVtYmVyAGRlY2VtYmVyACVZIC0gJW0gLSAlZAAlWSVtJWQAc2FtcGxlIGZvcm1hdABVbmFibGUgdG8gcGFyc2Ugb3B0aW9uIHZhbHVlICIlcyIgYXMgJXMKAFZhbHVlICVkIGZvciBwYXJhbWV0ZXIgJyVzJyBvdXQgb2YgJXMgZm9ybWF0IHJhbmdlIFslZCAtICVkXQoAcGl4ZWwgZm9ybWF0AHJnYjMyAGJncjMyACVzJXMAbGUAdmFhcGkAVW5hYmxlIHRvIHBhcnNlIG9wdGlvbiB2YWx1ZSAiJXMiIGFzIHZpZGVvIHJhdGUKACVkOiVkJWMAbnRzYwBwYWwAcW50c2MAcXBhbABzbnRzYwBzcGFsAG50c2MtZmlsbQBVbmFibGUgdG8gcGFyc2Ugb3B0aW9uIHZhbHVlICIlcyIgYXMgaW1hZ2Ugc2l6ZQoAc3FjaWYAcWNpZgBjaWYANGNpZgAxNmNpZgBxcXZnYQBxdmdhAHZnYQBzdmdhAHhnYQB1eGdhAHF4Z2EAc3hnYQBxc3hnYQBoc3hnYQB3dmdhAHd4Z2EAd3N4Z2EAd3V4Z2EAd294Z2EAd3FzeGdhAHdxdXhnYQB3aHN4Z2EAd2h1eGdhAGNnYQBlZ2EAaGQ0ODAAaGQ3MjAAaGQxMDgwADJrADJrZGNpADJrZmxhdAAya3Njb3BlADRrADRrZGNpADRrZmxhdAA0a3Njb3BlAG5oZABocXZnYQB3cXZnYQBmd3F2Z2EAaHZnYQBxaGQAdWhkMjE2MAB1aGQ0MzIwAHRydWUseSx5ZXMsZW5hYmxlLGVuYWJsZWQsb24AZmFsc2UsbixubyxkaXNhYmxlLGRpc2FibGVkLG9mZgBVbmFibGUgdG8gcGFyc2Ugb3B0aW9uIHZhbHVlICIlcyIgYXMgYm9vbGVhbgoAQVZPcHRpb24gdHlwZSAlZCBvZiBvcHRpb24gJXMgbm90IGltcGxlbWVudGVkIHlldAoARXJyb3Igc2V0dGluZyBvcHRpb24gJXMgdG8gdmFsdWUgJXMuCgBuYl90aHJlYWRzID49IDAAbGliYXZ1dGlsL3NsaWNldGhyZWFkLmMAbmJfam9icyA+IDAARmluYWwgdGhyZWFkIHVwZGF0ZSBmYWlsZWQKAHAtPmF2Y3R4LT5jb2RlY190eXBlID09IEFWTUVESUFfVFlQRV9WSURFTyB8fCBwLT5hdmN0eC0+Y29kZWNfdHlwZSA9PSBBVk1FRElBX1RZUEVfQVVESU8AbGliYXZjb2RlYy9wdGhyZWFkX2ZyYW1lLmMAZmN0eC0+YXN5bmNfbG9jawBBc3NlcnRpb24gJXMgZmFpbGVkIGF0ICVzOiVkCgByZXQgPj0gMABsaWJhdmNvZGVjL29wdGlvbnMuYwBBVkNvZGVjQ29udGV4dABiAHNldCBiaXRyYXRlIChpbiBiaXRzL3MpAGFiAGJ0AFNldCB2aWRlbyBiaXRyYXRlIHRvbGVyYW5jZSAoaW4gYml0cy9zKS4gSW4gMS1wYXNzIG1vZGUsIGJpdHJhdGUgdG9sZXJhbmNlIHNwZWNpZmllcyBob3cgZmFyIHJhdGVjb250cm9sIGlzIHdpbGxpbmcgdG8gZGV2aWF0ZSBmcm9tIHRoZSB0YXJnZXQgYXZlcmFnZSBiaXRyYXRlIHZhbHVlLiBUaGlzIGlzIG5vdCByZWxhdGVkIHRvIG1pbmltdW0vbWF4aW11bSBiaXRyYXRlLiBMb3dlcmluZyB0b2xlcmFuY2UgdG9vIG11Y2ggaGFzIGFuIGFkdmVyc2UgZWZmZWN0IG9uIHF1YWxpdHkuAGZsYWdzAHVuYWxpZ25lZABhbGxvdyBkZWNvZGVycyB0byBwcm9kdWNlIHVuYWxpZ25lZCBvdXRwdXQAbXY0AHVzZSBmb3VyIG1vdGlvbiB2ZWN0b3JzIHBlciBtYWNyb2Jsb2NrIChNUEVHLTQpAHFwZWwAdXNlIDEvNC1wZWwgbW90aW9uIGNvbXBlbnNhdGlvbgBsb29wAHVzZSBsb29wIGZpbHRlcgBxc2NhbGUAdXNlIGZpeGVkIHFzY2FsZQBwYXNzMQB1c2UgaW50ZXJuYWwgMi1wYXNzIHJhdGVjb250cm9sIGluIGZpcnN0ICBwYXNzIG1vZGUAcGFzczIAdXNlIGludGVybmFsIDItcGFzcyByYXRlY29udHJvbCBpbiBzZWNvbmQgcGFzcyBtb2RlAGdyYXkAb25seSBkZWNvZGUvZW5jb2RlIGdyYXlzY2FsZQBwc25yAGVycm9yWz9dIHZhcmlhYmxlcyB3aWxsIGJlIHNldCBkdXJpbmcgZW5jb2RpbmcAdHJ1bmNhdGVkAElucHV0IGJpdHN0cmVhbSBtaWdodCBiZSByYW5kb21seSB0cnVuY2F0ZWQAaWxkY3QAdXNlIGludGVybGFjZWQgRENUAGxvd19kZWxheQBmb3JjZSBsb3cgZGVsYXkAZ2xvYmFsX2hlYWRlcgBwbGFjZSBnbG9iYWwgaGVhZGVycyBpbiBleHRyYWRhdGEgaW5zdGVhZCBvZiBldmVyeSBrZXlmcmFtZQBiaXRleGFjdAB1c2Ugb25seSBiaXRleGFjdCBmdW5jdGlvbnMgKGV4Y2VwdCAoSSlEQ1QpAGFpYwBILjI2MyBhZHZhbmNlZCBpbnRyYSBjb2RpbmcgLyBNUEVHLTQgQUMgcHJlZGljdGlvbgBpbG1lAGludGVybGFjZWQgbW90aW9uIGVzdGltYXRpb24AY2dvcABjbG9zZWQgR09QAG91dHB1dF9jb3JydXB0AE91dHB1dCBldmVuIHBvdGVudGlhbGx5IGNvcnJ1cHRlZCBmcmFtZXMAZmFzdABhbGxvdyBub24tc3BlYy1jb21wbGlhbnQgc3BlZWR1cCB0cmlja3MAZmxhZ3MyAG5vb3V0AHNraXAgYml0c3RyZWFtIGVuY29kaW5nAGlnbm9yZWNyb3AAaWdub3JlIGNyb3BwaW5nIGluZm9ybWF0aW9uIGZyb20gc3BzAGxvY2FsX2hlYWRlcgBwbGFjZSBnbG9iYWwgaGVhZGVycyBhdCBldmVyeSBrZXlmcmFtZSBpbnN0ZWFkIG9mIGluIGV4dHJhZGF0YQBjaHVua3MARnJhbWUgZGF0YSBtaWdodCBiZSBzcGxpdCBpbnRvIG11bHRpcGxlIGNodW5rcwBzaG93YWxsAFNob3cgYWxsIGZyYW1lcyBiZWZvcmUgdGhlIGZpcnN0IGtleWZyYW1lAGV4cG9ydF9tdnMAZXhwb3J0IG1vdGlvbiB2ZWN0b3JzIHRocm91Z2ggZnJhbWUgc2lkZSBkYXRhAHNraXBfbWFudWFsAGRvIG5vdCBza2lwIHNhbXBsZXMgYW5kIGV4cG9ydCBza2lwIGluZm9ybWF0aW9uIGFzIGZyYW1lIHNpZGUgZGF0YQBhc3Nfcm9fZmx1c2hfbm9vcABkbyBub3QgcmVzZXQgQVNTIFJlYWRPcmRlciBmaWVsZCBvbiBmbHVzaAB0aW1lX2Jhc2UAZwBzZXQgdGhlIGdyb3VwIG9mIHBpY3R1cmUgKEdPUCkgc2l6ZQBhcgBzZXQgYXVkaW8gc2FtcGxpbmcgcmF0ZSAoaW4gSHopAGFjAHNldCBudW1iZXIgb2YgYXVkaW8gY2hhbm5lbHMAY3V0b2ZmAHNldCBjdXRvZmYgYmFuZHdpZHRoAGZyYW1lX3NpemUAZnJhbWVfbnVtYmVyAGRlbGF5AHFjb21wAHZpZGVvIHF1YW50aXplciBzY2FsZSBjb21wcmVzc2lvbiAoVkJSKS4gQ29uc3RhbnQgb2YgcmF0ZWNvbnRyb2wgZXF1YXRpb24uIFJlY29tbWVuZGVkIHJhbmdlIGZvciBkZWZhdWx0IHJjX2VxOiAwLjAtMS4wAHFibHVyAHZpZGVvIHF1YW50aXplciBzY2FsZSBibHVyIChWQlIpAHFtaW4AbWluaW11bSB2aWRlbyBxdWFudGl6ZXIgc2NhbGUgKFZCUikAcW1heABtYXhpbXVtIHZpZGVvIHF1YW50aXplciBzY2FsZSAoVkJSKQBxZGlmZgBtYXhpbXVtIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgcXVhbnRpemVyIHNjYWxlcyAoVkJSKQBiZgBzZXQgbWF4aW11bSBudW1iZXIgb2YgQi1mcmFtZXMgYmV0d2VlbiBub24tQi1mcmFtZXMAYl9xZmFjdG9yAFFQIGZhY3RvciBiZXR3ZWVuIFAtIGFuZCBCLWZyYW1lcwBiX3N0cmF0ZWd5AHN0cmF0ZWd5IHRvIGNob29zZSBiZXR3ZWVuIEkvUC9CLWZyYW1lcwBwcwBSVFAgcGF5bG9hZCBzaXplIGluIGJ5dGVzAG12X2JpdHMAaGVhZGVyX2JpdHMAaV90ZXhfYml0cwBwX3RleF9iaXRzAGlfY291bnQAcF9jb3VudABza2lwX2NvdW50AG1pc2NfYml0cwBmcmFtZV9iaXRzAGNvZGVjX3RhZwBidWcAd29yayBhcm91bmQgbm90IGF1dG9kZXRlY3RlZCBlbmNvZGVyIGJ1Z3MAYXV0b2RldGVjdAB4dmlkX2lsYWNlAFh2aWQgaW50ZXJsYWNpbmcgYnVnIChhdXRvZGV0ZWN0ZWQgaWYgRk9VUkNDID09IFhWSVgpAHVtcDQAKGF1dG9kZXRlY3RlZCBpZiBGT1VSQ0MgPT0gVU1QNCkAbm9fcGFkZGluZwBwYWRkaW5nIGJ1ZyAoYXV0b2RldGVjdGVkKQBhbXYAcXBlbF9jaHJvbWEAc3RkX3FwZWwAb2xkIHN0YW5kYXJkIHFwZWwgKGF1dG9kZXRlY3RlZCBwZXIgRk9VUkNDL3ZlcnNpb24pAHFwZWxfY2hyb21hMgBkaXJlY3RfYmxvY2tzaXplAGRpcmVjdC1xcGVsLWJsb2Nrc2l6ZSBidWcgKGF1dG9kZXRlY3RlZCBwZXIgRk9VUkNDL3ZlcnNpb24pAGVkZ2UAZWRnZSBwYWRkaW5nIGJ1ZyAoYXV0b2RldGVjdGVkIHBlciBGT1VSQ0MvdmVyc2lvbikAaHBlbF9jaHJvbWEAZGNfY2xpcABtcwB3b3JrIGFyb3VuZCB2YXJpb3VzIGJ1Z3MgaW4gTWljcm9zb2Z0J3MgYnJva2VuIGRlY29kZXJzAHRydW5jAHRydW5jYXRlZCBmcmFtZXMAaWVkZ2UAc3RyaWN0AGhvdyBzdHJpY3RseSB0byBmb2xsb3cgdGhlIHN0YW5kYXJkcwB2ZXJ5AHN0cmljdGx5IGNvbmZvcm0gdG8gYSBvbGRlciBtb3JlIHN0cmljdCB2ZXJzaW9uIG9mIHRoZSBzcGVjIG9yIHJlZmVyZW5jZSBzb2Z0d2FyZQBzdHJpY3RseSBjb25mb3JtIHRvIGFsbCB0aGUgdGhpbmdzIGluIHRoZSBzcGVjIG5vIG1hdHRlciB3aGF0IHRoZSBjb25zZXF1ZW5jZXMAbm9ybWFsAHVub2ZmaWNpYWwAYWxsb3cgdW5vZmZpY2lhbCBleHRlbnNpb25zAGV4cGVyaW1lbnRhbABhbGxvdyBub24tc3RhbmRhcmRpemVkIGV4cGVyaW1lbnRhbCB0aGluZ3MAYl9xb2Zmc2V0AFFQIG9mZnNldCBiZXR3ZWVuIFAtIGFuZCBCLWZyYW1lcwBlcnJfZGV0ZWN0AHNldCBlcnJvciBkZXRlY3Rpb24gZmxhZ3MAY3JjY2hlY2sAdmVyaWZ5IGVtYmVkZGVkIENSQ3MAYml0c3RyZWFtAGRldGVjdCBiaXRzdHJlYW0gc3BlY2lmaWNhdGlvbiBkZXZpYXRpb25zAGJ1ZmZlcgBkZXRlY3QgaW1wcm9wZXIgYml0c3RyZWFtIGxlbmd0aABleHBsb2RlAGFib3J0IGRlY29kaW5nIG9uIG1pbm9yIGVycm9yIGRldGVjdGlvbgBpZ25vcmVfZXJyAGlnbm9yZSBlcnJvcnMAY2FyZWZ1bABjb25zaWRlciB0aGluZ3MgdGhhdCB2aW9sYXRlIHRoZSBzcGVjLCBhcmUgZmFzdCB0byBjaGVjayBhbmQgaGF2ZSBub3QgYmVlbiBzZWVuIGluIHRoZSB3aWxkIGFzIGVycm9ycwBjb21wbGlhbnQAY29uc2lkZXIgYWxsIHNwZWMgbm9uIGNvbXBsaWFuY2llcyBhcyBlcnJvcnMAYWdncmVzc2l2ZQBjb25zaWRlciB0aGluZ3MgdGhhdCBhIHNhbmUgZW5jb2RlciBzaG91bGQgbm90IGRvIGFzIGFuIGVycm9yAGhhc19iX2ZyYW1lcwBibG9ja19hbGlnbgBtcGVnX3F1YW50AHVzZSBNUEVHIHF1YW50aXplcnMgaW5zdGVhZCBvZiBILjI2MwByY19vdmVycmlkZV9jb3VudABtYXhyYXRlAG1heGltdW0gYml0cmF0ZSAoaW4gYml0cy9zKS4gVXNlZCBmb3IgVkJWIHRvZ2V0aGVyIHdpdGggYnVmc2l6ZS4AbWlucmF0ZQBtaW5pbXVtIGJpdHJhdGUgKGluIGJpdHMvcykuIE1vc3QgdXNlZnVsIGluIHNldHRpbmcgdXAgYSBDQlIgZW5jb2RlLiBJdCBpcyBvZiBsaXR0bGUgdXNlIG90aGVyd2lzZS4AYnVmc2l6ZQBzZXQgcmF0ZWNvbnRyb2wgYnVmZmVyIHNpemUgKGluIGJpdHMpAGlfcWZhY3RvcgBRUCBmYWN0b3IgYmV0d2VlbiBQLSBhbmQgSS1mcmFtZXMAaV9xb2Zmc2V0AFFQIG9mZnNldCBiZXR3ZWVuIFAtIGFuZCBJLWZyYW1lcwBkY3QARENUIGFsZ29yaXRobQBhdXRvAGF1dG9zZWxlY3QgYSBnb29kIG9uZQBmYXN0aW50AGZhc3QgaW50ZWdlcgBhY2N1cmF0ZSBpbnRlZ2VyAG1teABhbHRpdmVjAGZhYW4AZmxvYXRpbmcgcG9pbnQgQUFOIERDVABsdW1pX21hc2sAY29tcHJlc3NlcyBicmlnaHQgYXJlYXMgc3Ryb25nZXIgdGhhbiBtZWRpdW0gb25lcwB0Y3BseF9tYXNrAHRlbXBvcmFsIGNvbXBsZXhpdHkgbWFza2luZwBzY3BseF9tYXNrAHNwYXRpYWwgY29tcGxleGl0eSBtYXNraW5nAHBfbWFzawBpbnRlciBtYXNraW5nAGRhcmtfbWFzawBjb21wcmVzc2VzIGRhcmsgYXJlYXMgc3Ryb25nZXIgdGhhbiBtZWRpdW0gb25lcwBpZGN0AHNlbGVjdCBJRENUIGltcGxlbWVudGF0aW9uAHNpbXBsZQBzaW1wbGVtbXgAYXJtAHNpbXBsZWFybQBzaW1wbGVhcm12NXRlAHNpbXBsZWFybXY2AHNpbXBsZW5lb24AeHZpZAB4dmlkbW14AGRlcHJlY2F0ZWQsIGZvciBjb21wYXRpYmlsaXR5IG9ubHkAZmFhbmkAZmxvYXRpbmcgcG9pbnQgQUFOIElEQ1QAc2ltcGxlYXV0bwBzbGljZV9jb3VudABlYwBzZXQgZXJyb3IgY29uY2VhbG1lbnQgc3RyYXRlZ3kAZ3Vlc3NfbXZzAGl0ZXJhdGl2ZSBtb3Rpb24gdmVjdG9yIChNVikgc2VhcmNoIChzbG93KQBkZWJsb2NrAHVzZSBzdHJvbmcgZGVibG9jayBmaWx0ZXIgZm9yIGRhbWFnZWQgTUJzAGZhdm9yX2ludGVyAGZhdm9yIHByZWRpY3RpbmcgZnJvbSB0aGUgcHJldmlvdXMgZnJhbWUAYml0c19wZXJfY29kZWRfc2FtcGxlAHByZWQAcHJlZGljdGlvbiBtZXRob2QAbGVmdABwbGFuZQBtZWRpYW4AYXNwZWN0AHNhbXBsZSBhc3BlY3QgcmF0aW8Ac2FyAGRlYnVnAHByaW50IHNwZWNpZmljIGRlYnVnIGluZm8AcGljdABwaWN0dXJlIGluZm8AcmMAcmF0ZSBjb250cm9sAG1iX3R5cGUAbWFjcm9ibG9jayAoTUIpIHR5cGUAcXAAcGVyLWJsb2NrIHF1YW50aXphdGlvbiBwYXJhbWV0ZXIgKFFQKQBkY3RfY29lZmYAZ3JlZW5fbWV0YWRhdGEAc2tpcABzdGFydGNvZGUAZXIAZXJyb3IgcmVjb2duaXRpb24AbW1jbwBtZW1vcnkgbWFuYWdlbWVudCBjb250cm9sIG9wZXJhdGlvbnMgKEguMjY0KQBidWdzAGJ1ZmZlcnMAcGljdHVyZSBidWZmZXIgYWxsb2NhdGlvbnMAdGhyZWFkX29wcwB0aHJlYWRpbmcgb3BlcmF0aW9ucwBub21jAHNraXAgbW90aW9uIGNvbXBlbnNhdGlvbgBjbXAAZnVsbC1wZWwgTUUgY29tcGFyZSBmdW5jdGlvbgBjbXBfZnVuYwBzdWJjbXAAc3ViLXBlbCBNRSBjb21wYXJlIGZ1bmN0aW9uAG1iY21wAG1hY3JvYmxvY2sgY29tcGFyZSBmdW5jdGlvbgBpbGRjdGNtcABpbnRlcmxhY2VkIERDVCBjb21wYXJlIGZ1bmN0aW9uAGRpYV9zaXplAGRpYW1vbmQgdHlwZSAmIHNpemUgZm9yIG1vdGlvbiBlc3RpbWF0aW9uAGxhc3RfcHJlZABhbW91bnQgb2YgbW90aW9uIHByZWRpY3RvcnMgZnJvbSB0aGUgcHJldmlvdXMgZnJhbWUAcHJlbWUAcHJlIG1vdGlvbiBlc3RpbWF0aW9uAHByZWNtcABwcmUgbW90aW9uIGVzdGltYXRpb24gY29tcGFyZSBmdW5jdGlvbgBzYWQAc3VtIG9mIGFic29sdXRlIGRpZmZlcmVuY2VzLCBmYXN0AHNzZQBzdW0gb2Ygc3F1YXJlZCBlcnJvcnMAc2F0ZABzdW0gb2YgYWJzb2x1dGUgSGFkYW1hcmQgdHJhbnNmb3JtZWQgZGlmZmVyZW5jZXMAc3VtIG9mIGFic29sdXRlIERDVCB0cmFuc2Zvcm1lZCBkaWZmZXJlbmNlcwBzdW0gb2Ygc3F1YXJlZCBxdWFudGl6YXRpb24gZXJyb3JzIChhdm9pZCwgbG93IHF1YWxpdHkpAGJpdABudW1iZXIgb2YgYml0cyBuZWVkZWQgZm9yIHRoZSBibG9jawByZAByYXRlIGRpc3RvcnRpb24gb3B0aW1hbCwgc2xvdwB6ZXJvADAAdnNhZABzdW0gb2YgYWJzb2x1dGUgdmVydGljYWwgZGlmZmVyZW5jZXMAdnNzZQBzdW0gb2Ygc3F1YXJlZCB2ZXJ0aWNhbCBkaWZmZXJlbmNlcwBuc3NlAG5vaXNlIHByZXNlcnZpbmcgc3VtIG9mIHNxdWFyZWQgZGlmZmVyZW5jZXMAZGN0bWF4AGNocm9tYQBtc2FkAHN1bSBvZiBhYnNvbHV0ZSBkaWZmZXJlbmNlcywgbWVkaWFuIHByZWRpY3RlZABwcmVfZGlhX3NpemUAZGlhbW9uZCB0eXBlICYgc2l6ZSBmb3IgbW90aW9uIGVzdGltYXRpb24gcHJlLXBhc3MAc3VicQBzdWItcGVsIG1vdGlvbiBlc3RpbWF0aW9uIHF1YWxpdHkAbWVfcmFuZ2UAbGltaXQgbW90aW9uIHZlY3RvcnMgcmFuZ2UgKDEwMjMgZm9yIERpdlggcGxheWVyKQBnbG9iYWxfcXVhbGl0eQBjb2RlcgB2bGMAdmFyaWFibGUgbGVuZ3RoIGNvZGVyIC8gSHVmZm1hbiBjb2RlcgBhcml0aG1ldGljIGNvZGVyAHJhdwByYXcgKG5vIGVuY29kaW5nKQBybGUAcnVuLWxlbmd0aCBjb2RlcgBjb250ZXh0AGNvbnRleHQgbW9kZWwAc2xpY2VfZmxhZ3MAbWJkAG1hY3JvYmxvY2sgZGVjaXNpb24gYWxnb3JpdGhtIChoaWdoIHF1YWxpdHkgbW9kZSkAdXNlIG1iY21wAGJpdHMAdXNlIGZld2VzdCBiaXRzAHVzZSBiZXN0IHJhdGUgZGlzdG9ydGlvbgBzY190aHJlc2hvbGQAc2NlbmUgY2hhbmdlIHRocmVzaG9sZABucgBub2lzZSByZWR1Y3Rpb24AcmNfaW5pdF9vY2N1cGFuY3kAbnVtYmVyIG9mIGJpdHMgd2hpY2ggc2hvdWxkIGJlIGxvYWRlZCBpbnRvIHRoZSByYyBidWZmZXIgYmVmb3JlIGRlY29kaW5nIHN0YXJ0cwB0aHJlYWRzAHNldCB0aGUgbnVtYmVyIG9mIHRocmVhZHMAYXV0b2RldGVjdCBhIHN1aXRhYmxlIG51bWJlciBvZiB0aHJlYWRzIHRvIHVzZQBkYwBpbnRyYV9kY19wcmVjaXNpb24AbnNzZXcAbnNzZSB3ZWlnaHQAc2tpcF90b3AAbnVtYmVyIG9mIG1hY3JvYmxvY2sgcm93cyBhdCB0aGUgdG9wIHdoaWNoIGFyZSBza2lwcGVkAHNraXBfYm90dG9tAG51bWJlciBvZiBtYWNyb2Jsb2NrIHJvd3MgYXQgdGhlIGJvdHRvbSB3aGljaCBhcmUgc2tpcHBlZABwcm9maWxlAHVua25vd24AYWFjX21haW4AYWFjX2xvdwBhYWNfc3NyAGFhY19sdHAAYWFjX2hlAGFhY19oZV92MgBhYWNfbGQAYWFjX2VsZABtcGVnMl9hYWNfbG93AG1wZWcyX2FhY19oZQBkdHMAZHRzX2VzAGR0c185Nl8yNABkdHNfaGRfaHJhAGR0c19oZF9tYQBtcGVnNF9zcABtcGVnNF9jb3JlAG1wZWc0X21haW4AbXBlZzRfYXNwAG1haW4xMABtc2JjAGxldmVsAGxvd3JlcwBkZWNvZGUgYXQgMT0gMS8yLCAyPTEvNCwgMz0xLzggcmVzb2x1dGlvbnMAc2tpcF90aHJlc2hvbGQAZnJhbWUgc2tpcCB0aHJlc2hvbGQAc2tpcF9mYWN0b3IAZnJhbWUgc2tpcCBmYWN0b3IAc2tpcF9leHAAZnJhbWUgc2tpcCBleHBvbmVudABza2lwY21wAGZyYW1lIHNraXAgY29tcGFyZSBmdW5jdGlvbgBtYmxtaW4AbWluaW11bSBtYWNyb2Jsb2NrIExhZ3JhbmdlIGZhY3RvciAoVkJSKQBtYmxtYXgAbWF4aW11bSBtYWNyb2Jsb2NrIExhZ3JhbmdlIGZhY3RvciAoVkJSKQBtZXBjAG1vdGlvbiBlc3RpbWF0aW9uIGJpdHJhdGUgcGVuYWx0eSBjb21wZW5zYXRpb24gKDEuMCA9IDI1NikAc2tpcF9sb29wX2ZpbHRlcgBza2lwIGxvb3AgZmlsdGVyaW5nIHByb2Nlc3MgZm9yIHRoZSBzZWxlY3RlZCBmcmFtZXMAYXZkaXNjYXJkAHNraXBfaWRjdABza2lwIElEQ1QvZGVxdWFudGl6YXRpb24gZm9yIHRoZSBzZWxlY3RlZCBmcmFtZXMAc2tpcF9mcmFtZQBza2lwIGRlY29kaW5nIGZvciB0aGUgc2VsZWN0ZWQgZnJhbWVzAG5vbmUAZGlzY2FyZCBubyBmcmFtZQBkZWZhdWx0AGRpc2NhcmQgdXNlbGVzcyBmcmFtZXMAbm9yZWYAZGlzY2FyZCBhbGwgbm9uLXJlZmVyZW5jZSBmcmFtZXMAYmlkaXIAZGlzY2FyZCBhbGwgYmlkaXJlY3Rpb25hbCBmcmFtZXMAbm9rZXkAZGlzY2FyZCBhbGwgZnJhbWVzIGV4Y2VwdCBrZXlmcmFtZXMAbm9pbnRyYQBkaXNjYXJkIGFsbCBmcmFtZXMgZXhjZXB0IEkgZnJhbWVzAGFsbABkaXNjYXJkIGFsbCBmcmFtZXMAYmlkaXJfcmVmaW5lAHJlZmluZSB0aGUgdHdvIG1vdGlvbiB2ZWN0b3JzIHVzZWQgaW4gYmlkaXJlY3Rpb25hbCBtYWNyb2Jsb2NrcwBicmRfc2NhbGUAZG93bnNjYWxlIGZyYW1lcyBmb3IgZHluYW1pYyBCLWZyYW1lIGRlY2lzaW9uAGtleWludF9taW4AbWluaW11bSBpbnRlcnZhbCBiZXR3ZWVuIElEUi1mcmFtZXMAcmVmcwByZWZlcmVuY2UgZnJhbWVzIHRvIGNvbnNpZGVyIGZvciBtb3Rpb24gY29tcGVuc2F0aW9uAGNocm9tYW9mZnNldABjaHJvbWEgUVAgb2Zmc2V0IGZyb20gbHVtYQB0cmVsbGlzAHJhdGUtZGlzdG9ydGlvbiBvcHRpbWFsIHF1YW50aXphdGlvbgBtdjBfdGhyZXNob2xkAGJfc2Vuc2l0aXZpdHkAYWRqdXN0IHNlbnNpdGl2aXR5IG9mIGJfZnJhbWVfc3RyYXRlZ3kgMQBjb21wcmVzc2lvbl9sZXZlbABtaW5fcHJlZGljdGlvbl9vcmRlcgBtYXhfcHJlZGljdGlvbl9vcmRlcgB0aW1lY29kZV9mcmFtZV9zdGFydABHT1AgdGltZWNvZGUgZnJhbWUgc3RhcnQgbnVtYmVyLCBpbiBub24tZHJvcC1mcmFtZSBmb3JtYXQAYml0c19wZXJfcmF3X3NhbXBsZQBjaGFubmVsX2xheW91dAByZXF1ZXN0X2NoYW5uZWxfbGF5b3V0AHJjX21heF92YnZfdXNlAHJjX21pbl92YnZfdXNlAHRpY2tzX3Blcl9mcmFtZQBjb2xvcl9wcmltYXJpZXMAY29sb3IgcHJpbWFyaWVzAGNvbG9yX3ByaW1hcmllc190eXBlAGJ0NzA5AEJULjcwOQBVbnNwZWNpZmllZABidDQ3MG0AQlQuNDcwIE0AYnQ0NzBiZwBCVC40NzAgQkcAc21wdGUxNzBtAFNNUFRFIDE3MCBNAHNtcHRlMjQwbQBTTVBURSAyNDAgTQBmaWxtAEZpbG0AYnQyMDIwAEJULjIwMjAAc21wdGU0MjgAU01QVEUgNDI4LTEAc21wdGU0MjhfMQBzbXB0ZTQzMQBTTVBURSA0MzEtMgBzbXB0ZTQzMgBTTVBURSA0MjItMQBqZWRlYy1wMjIASkVERUMgUDIyAHVuc3BlY2lmaWVkAGNvbG9yX3RyYwBjb2xvciB0cmFuc2ZlciBjaGFyYWN0ZXJpc3RpY3MAY29sb3JfdHJjX3R5cGUAZ2FtbWEyMgBnYW1tYTI4AGxpbmVhcgBMaW5lYXIAbG9nMTAwAExvZwBsb2czMTYATG9nIHNxdWFyZSByb290AGllYzYxOTY2LTItNABJRUMgNjE5NjYtMi00AGJ0MTM2MWUAQlQuMTM2MQBpZWM2MTk2Ni0yLTEASUVDIDYxOTY2LTItMQBidDIwMjAtMTAAQlQuMjAyMCAtIDEwIGJpdABidDIwMjAtMTIAQlQuMjAyMCAtIDEyIGJpdABzbXB0ZTIwODQAU01QVEUgMjA4NABhcmliLXN0ZC1iNjcAQVJJQiBTVEQtQjY3AGxvZwBsb2dfc3FydABpZWM2MTk2Nl8yXzQAYnQxMzYxAGllYzYxOTY2XzJfMQBidDIwMjBfMTBiaXQAYnQyMDIwXzEyYml0AGNvbG9yc3BhY2UAY29sb3Igc3BhY2UAY29sb3JzcGFjZV90eXBlAHJnYgBSR0IAZmNjAEZDQwB5Y2djbwBZQ0dDTwBidDIwMjBuYwBCVC4yMDIwIE5DTABidDIwMjBjAEJULjIwMjAgQ0wAc21wdGUyMDg1AFNNUFRFIDIwODUAeWNvY2cAYnQyMDIwX25jbABidDIwMjBfY2wAY29sb3JfcmFuZ2UAY29sb3IgcmFuZ2UAY29sb3JfcmFuZ2VfdHlwZQB0dgBNUEVHICgyMTkqMl4obi04KSkAcGMASlBFRyAoMl5uLTEpAG1wZWcAanBlZwBjaHJvbWFfc2FtcGxlX2xvY2F0aW9uAGNocm9tYSBzYW1wbGUgbG9jYXRpb24AY2hyb21hX3NhbXBsZV9sb2NhdGlvbl90eXBlAExlZnQAY2VudGVyAENlbnRlcgB0b3BsZWZ0AFRvcC1sZWZ0AHRvcABUb3AAYm90dG9tbGVmdABCb3R0b20tbGVmdABib3R0b20AQm90dG9tAGxvZ19sZXZlbF9vZmZzZXQAc2V0IHRoZSBsb2cgbGV2ZWwgb2Zmc2V0AHNsaWNlcwBzZXQgdGhlIG51bWJlciBvZiBzbGljZXMsIHVzZWQgaW4gcGFyYWxsZWxpemVkIGVuY29kaW5nAHRocmVhZF90eXBlAHNlbGVjdCBtdWx0aXRocmVhZGluZyB0eXBlAHNsaWNlAGZyYW1lAGF1ZGlvX3NlcnZpY2VfdHlwZQBhdWRpbyBzZXJ2aWNlIHR5cGUAbWEATWFpbiBBdWRpbyBTZXJ2aWNlAGVmAEVmZmVjdHMAdmkAVmlzdWFsbHkgSW1wYWlyZWQAaGkASGVhcmluZyBJbXBhaXJlZABkaQBEaWFsb2d1ZQBjbwBDb21tZW50YXJ5AGVtAEVtZXJnZW5jeQB2bwBWb2ljZSBPdmVyAGthAEthcmFva2UAcmVxdWVzdF9zYW1wbGVfZm10AHNhbXBsZSBmb3JtYXQgYXVkaW8gZGVjb2RlcnMgc2hvdWxkIHByZWZlcgBwa3RfdGltZWJhc2UAc3ViX2NoYXJlbmMAc2V0IGlucHV0IHRleHQgc3VidGl0bGVzIGNoYXJhY3RlciBlbmNvZGluZwBzdWJfY2hhcmVuY19tb2RlAHNldCBpbnB1dCB0ZXh0IHN1YnRpdGxlcyBjaGFyYWN0ZXIgZW5jb2RpbmcgbW9kZQBkb19ub3RoaW5nAHByZV9kZWNvZGVyAHN1Yl90ZXh0X2Zvcm1hdABzZXQgZGVjb2RlZCB0ZXh0IHN1YnRpdGxlIGZvcm1hdABhc3MAYXNzX3dpdGhfdGltaW5ncwByZWZjb3VudGVkX2ZyYW1lcwBzaWRlX2RhdGFfb25seV9wYWNrZXRzAGFwcGx5X2Nyb3BwaW5nAHNraXBfYWxwaGEAU2tpcCBwcm9jZXNzaW5nIGFscGhhAGZpZWxkX29yZGVyAEZpZWxkIG9yZGVyAHByb2dyZXNzaXZlAHR0AGJiAHRiAGR1bXBfc2VwYXJhdG9yAHNldCBpbmZvcm1hdGlvbiBkdW1wIGZpZWxkIHNlcGFyYXRvcgBjb2RlY193aGl0ZWxpc3QATGlzdCBvZiBkZWNvZGVycyB0aGF0IGFyZSBhbGxvd2VkIHRvIGJlIHVzZWQAcGl4ZWxfZm9ybWF0AHNldCBwaXhlbCBmb3JtYXQAdmlkZW9fc2l6ZQBzZXQgdmlkZW8gc2l6ZQBtYXhfcGl4ZWxzAE1heGltdW0gbnVtYmVyIG9mIHBpeGVscwBod2FjY2VsX2ZsYWdzAGlnbm9yZV9sZXZlbABpZ25vcmUgbGV2ZWwgZXZlbiBpZiB0aGUgY29kZWMgbGV2ZWwgdXNlZCBpcyB1bmtub3duIG9yIGhpZ2hlciB0aGFuIHRoZSBtYXhpbXVtIHN1cHBvcnRlZCBsZXZlbCByZXBvcnRlZCBieSB0aGUgaGFyZHdhcmUgZHJpdmVyAGFsbG93X2hpZ2hfZGVwdGgAYWxsb3cgdG8gb3V0cHV0IFlVViBwaXhlbCBmb3JtYXRzIHdpdGggYSBkaWZmZXJlbnQgY2hyb21hIHNhbXBsaW5nIHRoYW4gNDoyOjAgYW5kL29yIG90aGVyIHRoYW4gOCBiaXRzIHBlciBjb21wb25lbnQAYWxsb3dfcHJvZmlsZV9taXNtYXRjaABhdHRlbXB0IHRvIGRlY29kZSBhbnl3YXkgaWYgSFcgYWNjZWxlcmF0ZWQgZGVjb2RlcidzIHN1cHBvcnRlZCBwcm9maWxlcyBkbyBub3QgZXhhY3RseSBtYXRjaCB0aGUgc3RyZWFtAGV4dHJhX2h3X2ZyYW1lcwBOdW1iZXIgb2YgZXh0cmEgaGFyZHdhcmUgZnJhbWVzIHRvIGFsbG9jYXRlIGZvciB0aGUgdXNlcgBOVUxMAEFWQlNGQ29udGV4dABUaGlzIGRlY29kZXIgZG9lcyBub3Qgc3VwcG9ydCBwYXJhbWV0ZXIgY2hhbmdlcywgYnV0IFBBUkFNX0NIQU5HRSBzaWRlIGRhdGEgd2FzIHNlbnQgdG8gaXQuCgBJbnZhbGlkIGNoYW5uZWwgY291bnQASW52YWxpZCBzYW1wbGUgcmF0ZQBQQVJBTV9DSEFOR0Ugc2lkZSBkYXRhIHRvbyBzbWFsbC4KAEVycm9yIGFwcGx5aW5nIHBhcmFtZXRlciBjaGFuZ2VzLgoARXJyb3IgcHJlLXByb2Nlc3NpbmcgYSBwYWNrZXQgYmVmb3JlIGRlY29kaW5nCgAhZnJhbWUtPmJ1ZlswXQAoZnJhbWUtPnByaXZhdGVfcmVmICYmIGZyYW1lLT5wcml2YXRlX3JlZi0+c2l6ZSA9PSBzaXplb2YoRnJhbWVEZWNvZGVEYXRhKSkgfHwgIShhdmN0eC0+Y29kZWMtPmNhcGFiaWxpdGllcyAmICgxIDw8IDEpKQBza2lwICVkIC8gZGlzY2FyZCAlZCBzYW1wbGVzIGR1ZSB0byBzaWRlIGRhdGEKAHNraXAgd2hvbGUgZnJhbWUsIHNraXAgbGVmdDogJWQKAENvdWxkIG5vdCB1cGRhdGUgdGltZXN0YW1wcyBmb3Igc2tpcHBlZCBzYW1wbGVzLgoAc2tpcCAlZC8lZCBzYW1wbGVzCgBDb3VsZCBub3QgdXBkYXRlIHRpbWVzdGFtcHMgZm9yIGRpc2NhcmRlZCBzYW1wbGVzLgoAZGlzY2FyZCAlZC8lZCBzYW1wbGVzCgBNdWx0aXBsZSBmcmFtZXMgaW4gYSBwYWNrZXQuCgBUb28gbWFueSBlcnJvcnMgd2hlbiBkcmFpbmluZywgdGhpcyBpcyBhIGJ1Zy4gU3RvcCBkcmFpbmluZyBhbmQgZm9yY2UgRU9GLgoAZnJhbWUtPmJ1ZlswXQBhdl9wYWNrZXRfcmVmKCkgZmFpbGVkIGluIHN1Ym1pdF9wYWNrZXQoKQoAbnVsbAAsAEEgbm9uLWV4aXN0aW5nIGJpdHN0cmVhbSBmaWx0ZXIgJXMgcmVxdWVzdGVkIGJ5IGEgZGVjb2Rlci4gVGhpcyBpcyBhIGJ1ZywgcGxlYXNlIHJlcG9ydCBpdC4KAEludmFsaWQgY3JvcHBpbmcgaW5mb3JtYXRpb24gc2V0IGJ5IGEgZGVjb2RlcjogJXp1LyV6dS8lenUvJXp1IChmcmFtZSBzaXplICVkeCVkKS4gVGhpcyBpcyBhIGJ1ZywgcGxlYXNlIHJlcG9ydCBpdAoAaW5kZXggPiAtMHgyMDAwMDAwMAAhcC0+aHdhY2NlbF9zZXJpYWxpemluZwBBIGZyYW1lIHRocmVhZGVkIGRlY29kZXIgZGlkIG5vdCBmcmVlIHRoZSBmcmFtZSBvbiBmYWlsdXJlLiBUaGlzIGlzIGEgYnVnLCBwbGVhc2UgcmVwb3J0IGl0LgoAQXBwbGljYXRpb24gaGFzIHJlcXVlc3RlZCAlZCB0aHJlYWRzLiBVc2luZyBhIHRocmVhZCBjb3VudCBncmVhdGVyIHRoYW4gJWQgaXMgbm90IHJlY29tbWVuZGVkLgoATm8gY29kZWMgcHJvdmlkZWQgdG8gYXZjb2RlY19vcGVuMigpCgBUaGlzIEFWQ29kZWNDb250ZXh0IHdhcyBhbGxvY2F0ZWQgZm9yICVzLCBidXQgJXMgcGFzc2VkIHRvIGF2Y29kZWNfb3BlbjIoKQoAQ29kZWMgKCVzKSBub3Qgb24gd2hpdGVsaXN0ICclcycKAElnbm9yaW5nIGludmFsaWQgd2lkdGgvaGVpZ2h0IHZhbHVlcwoAaWdub3JpbmcgaW52YWxpZCBTQVI6ICV1LyV1CgBDb2RlYyB0eXBlIG9yIGlkIG1pc21hdGNoZXMKAGVuY29kZXIAZGVjb2RlcgBUaGUgJXMgJyVzJyBpcyBleHBlcmltZW50YWwgYnV0IGV4cGVyaW1lbnRhbCBjb2RlY3MgYXJlIG5vdCBlbmFibGVkLCBhZGQgJy1zdHJpY3QgJWQnIGlmIHlvdSB3YW50IHRvIHVzZSBpdC4KAEFsdGVybmF0aXZlbHkgdXNlIHRoZSBub24gZXhwZXJpbWVudGFsICVzICclcycuCgBUaGUgbWF4aW11bSB2YWx1ZSBmb3IgbG93cmVzIHN1cHBvcnRlZCBieSB0aGUgZGVjb2RlciBpcyAlZAoAVGhlIGVuY29kZXIgdGltZWJhc2UgaXMgbm90IHNldC4KACVkAFNwZWNpZmllZCBzYW1wbGUgZm9ybWF0ICVzIGlzIGludmFsaWQgb3Igbm90IHN1cHBvcnRlZAoAU3BlY2lmaWVkIHBpeGVsIGZvcm1hdCAlcyBpcyBpbnZhbGlkIG9yIG5vdCBzdXBwb3J0ZWQKAFNwZWNpZmllZCBzYW1wbGUgcmF0ZSAlZCBpcyBub3Qgc3VwcG9ydGVkCgBDaGFubmVsIGxheW91dCBub3Qgc3BlY2lmaWVkCgBTcGVjaWZpZWQgY2hhbm5lbCBsYXlvdXQgJyVzJyBpcyBub3Qgc3VwcG9ydGVkCgBDaGFubmVsIGxheW91dCAnJXMnIHdpdGggJWQgY2hhbm5lbHMgZG9lcyBub3QgbWF0Y2ggbnVtYmVyIG9mIHNwZWNpZmllZCBjaGFubmVscyAlZAoAU3BlY2lmaWVkIG51bWJlciBvZiBjaGFubmVscyAlZCBpcyBub3Qgc3VwcG9ydGVkCgBTcGVjaWZpZWQgYml0IGRlcHRoICVkIG5vdCBwb3NzaWJsZSB3aXRoIHRoZSBzcGVjaWZpZWQgcGl4ZWwgZm9ybWF0cyBkZXB0aCAlZAoAZGltZW5zaW9ucyBub3Qgc2V0CgBCaXRyYXRlICVsbGQgaXMgZXh0cmVtZWx5IGxvdywgbWF5YmUgeW91IG1lYW4gJWxsZGsKAHRpY2tzX3Blcl9mcmFtZSAlZCB0b28gbGFyZ2UgZm9yIHRoZSB0aW1lYmFzZSAlZC8lZC4ATWlzbWF0Y2hpbmcgQVZDb2RlY0NvbnRleHQucGl4X2ZtdCBhbmQgQVZIV0ZyYW1lc0NvbnRleHQuZm9ybWF0CgBNaXNtYXRjaGluZyBBVkNvZGVjQ29udGV4dC5zd19waXhfZm10ICglcykgYW5kIEFWSFdGcmFtZXNDb250ZXh0LnN3X2Zvcm1hdCAoJXMpCgBncmF5IGRlY29kaW5nIHJlcXVlc3RlZCBidXQgbm90IGVuYWJsZWQgYXQgY29uZmlndXJhdGlvbiB0aW1lCgBDaGFubmVsIGxheW91dCAnJXMnIHdpdGggJWQgY2hhbm5lbHMgZG9lcyBub3QgbWF0Y2ggc3BlY2lmaWVkIG51bWJlciBvZiBjaGFubmVscyAlZDogaWdub3Jpbmcgc3BlY2lmaWVkIGNoYW5uZWwgbGF5b3V0CgBDaGFyYWN0ZXIgZW5jb2RpbmcgaXMgb25seSBzdXBwb3J0ZWQgd2l0aCBzdWJ0aXRsZXMgY29kZWNzCgBDb2RlYyAnJXMnIGlzIGJpdG1hcC1iYXNlZCwgc3VidGl0bGVzIGNoYXJhY3RlciBlbmNvZGluZyB3aWxsIGJlIGlnbm9yZWQKAFVURi04AFVuYWJsZSB0byBvcGVuIGljb252IGNvbnRleHQgd2l0aCBpbnB1dCBjaGFyYWN0ZXIgZW5jb2RpbmcgIiVzIgoAKihjb25zdCBBVkNsYXNzICoqKWF2Y3R4LT5wcml2X2RhdGEgPT0gY29kZWMtPnByaXZfY2xhc3MAbGF5ZXIzLmMABgUFBQkJCQkGCQkJBgUHAwkJDAYGCQwGCwoAABISAAAPEgAABwcHAAwMDAAGDwwABgYGAwwJCQYGDAkGCAgFAA8MCQAGEgkAAAAAAQACAAMDAAEBAQIBAwIBAgICAwMBAwIDAwQCBAMAAAAAAAAAAAAAAAEBAQECAgMDAwIAcmVxdWFudGl6ZSBvdmVyZmxvdyAoJWYgKiAyXiVkKQoALWJpdHNfbGVmdCA8PSBNQURfQlVGRkVSX0dVQVJEICogQ0hBUl9CSVQASUlJX2h1ZmZkZWNvZGUABAQEBAQEBgYGCAoMEBIWHCIoLjY2wAQEBAQEBAQEBAQEBAYGBgYGBgoKCgwMDA4ODhAQEBQUFBoaGkJCQgQEBAQEBAYGBAQEBgYGBgYGCgoKDAwMDg4OEBAQFBQUGhoaQkJCBAQEBAQEBgYICAoMEBQYHCIqMjZMngQEBAQEBAQEBAQEBAYGBggICAoKCgwMDA4ODhISEhYWFh4eHjg4OAQEBAQEBAYGBAQEBgYGCAgICgoKDAwMDg4OEhISFhYWHh4eODg4BAQEBAQEBgYICgwQFBgeJi44RFRmGgQEBAQEBAQEBAQEBAYGBggICAwMDBAQEBQUFBoaGiIiIioqKgwMDAQEBAQEBAYGBAQEBgYGCAgIDAwMEBAQFBQUGhoaIiIiKioqDAwMBgYGBgYGCAoMDhASFhogJi42PkZMJAQEBAQEBAQEBAYGBggICAoKCgwMDA4ODhISEhgYGCAgICwsLAwMDAYGBgYGBgYGBggICAoKCgwMDA4ODhISEhgYGCAgICwsLAwMDAYGBgYGBggKDA4QFBgcICYuNDxEOjYEBAQEBAQEBAQGBgYGBgYICAgKCgoODg4SEhIaGhogICAqKioSEhIGBgYGBgYGBgYGBgYICAgKCgoODg4SEhIaGhogICAqKioSEhIEBAQEBAQEBAQGBgYICAgKCgoMDAwODg4SEhIYGBgeHh4oKCgSEhIGBgYGBgYGBgYICAgKCgoMDAwODg4SEhIYGBgeHh4oKCgSEhIMDAwMDAwQFBgcICgwOEBMWgICAgICCAgICAgICAgIDAwMEBAQFBQUGBgYHBwcJCQkAgICAgICAgICGhoaDAwMBAQECAgIDAwMEBAQFBQUGBgYHBwcJCQkAgICAgICAgICGhoaZGVub20gIT0gMAB0aW1lci5jAHNjYWxlX3JhdGlvbmFsAHZvaWQAYm9vbABjaGFyAHNpZ25lZCBjaGFyAHVuc2lnbmVkIGNoYXIAc2hvcnQAdW5zaWduZWQgc2hvcnQAaW50AHVuc2lnbmVkIGludABsb25nAHVuc2lnbmVkIGxvbmcAZmxvYXQAZG91YmxlAHN0ZDo6c3RyaW5nAHN0ZDo6YmFzaWNfc3RyaW5nPHVuc2lnbmVkIGNoYXI+AHN0ZDo6d3N0cmluZwBlbXNjcmlwdGVuOjp2YWwAZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8Y2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2lnbmVkIGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDhfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDhfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDE2X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQzMl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxmbG9hdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8ZG91YmxlPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxsb25nIGRvdWJsZT4ATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZUVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWRFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lmRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbUVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWxFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lqRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJaUVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXRFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lzRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJaEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWFFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ljRUUATlN0M19fMjEyYmFzaWNfc3RyaW5nSXdOU18xMWNoYXJfdHJhaXRzSXdFRU5TXzlhbGxvY2F0b3JJd0VFRUUATlN0M19fMjEyYmFzaWNfc3RyaW5nSWhOU18xMWNoYXJfdHJhaXRzSWhFRU5TXzlhbGxvY2F0b3JJaEVFRUUAAAECBAcDBgUALSsgICAwWDB4AChudWxsKQAtMFgrMFggMFgtMHgrMHggMHgAaW5mAElORgBOQU4ALgBpbmZpbml0eQBuYW4AdGVybWluYXRpbmcgd2l0aCAlcyBleGNlcHRpb24gb2YgdHlwZSAlczogJXMAdGVybWluYXRpbmcgd2l0aCAlcyBleGNlcHRpb24gb2YgdHlwZSAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGZvcmVpZ24gZXhjZXB0aW9uAHRlcm1pbmF0aW5nAHVuY2F1Z2h0AFN0OWV4Y2VwdGlvbgBOMTBfX2N4eGFiaXYxMTZfX3NoaW1fdHlwZV9pbmZvRQBTdDl0eXBlX2luZm8ATjEwX19jeHhhYml2MTIwX19zaV9jbGFzc190eXBlX2luZm9FAE4xMF9fY3h4YWJpdjExN19fY2xhc3NfdHlwZV9pbmZvRQBwdGhyZWFkX29uY2UgZmFpbHVyZSBpbiBfX2N4YV9nZXRfZ2xvYmFsc19mYXN0KCkAY2Fubm90IGNyZWF0ZSBwdGhyZWFkIGtleSBmb3IgX19jeGFfZ2V0X2dsb2JhbHMoKQBjYW5ub3QgemVybyBvdXQgdGhyZWFkIHZhbHVlIGZvciBfX2N4YV9nZXRfZ2xvYmFscygpAHRlcm1pbmF0ZV9oYW5kbGVyIHVuZXhwZWN0ZWRseSByZXR1cm5lZABTdDExbG9naWNfZXJyb3IAU3QxMmxlbmd0aF9lcnJvcgBOMTBfX2N4eGFiaXYxMTlfX3BvaW50ZXJfdHlwZV9pbmZvRQBOMTBfX2N4eGFiaXYxMTdfX3BiYXNlX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTIzX19mdW5kYW1lbnRhbF90eXBlX2luZm9FAHYARG4AaABhAHMAdABpAGoAbABtAGYAZABOMTBfX2N4eGFiaXYxMjFfX3ZtaV9jbGFzc190eXBlX2luZm9F";var tempDoublePtr=262336;assert(tempDoublePtr%8==0);function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}var ENV={};function ___buildEnvironment(environ){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C.UTF-8";ENV["_"]=Module["thisProgram"];poolPtr=getMemory(TOTAL_ENV_SIZE);envPtr=getMemory(MAX_ENV_VALUES*4);HEAP32[envPtr>>2]=poolPtr;HEAP32[environ>>2]=envPtr}else{envPtr=HEAP32[environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in ENV){if(typeof ENV[key]==="string"){var line=key+"="+ENV[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}function ___cxa_allocate_exception(size){return _malloc(size)}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}function ___cxa_free_exception(ptr){try{return _free(ptr)}catch(e){err("exception during cxa_free_exception: "+e)}}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var key in EXCEPTIONS.infos){var ptr=+key;var adj=EXCEPTIONS.infos[ptr].adjusted;var len=adj.length;for(var i=0;i0);info.refcount--;if(info.refcount===0&&!info.rethrown){if(info.destructor){Module["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 ___cxa_begin_catch(ptr){var info=EXCEPTIONS.infos[ptr];if(info&&!info.caught){info.caught=true;__ZSt18uncaught_exceptionv.uncaught_exception--}if(info)info.rethrown=false;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}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(setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(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.push(thrown);return(setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(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."}function ___gxx_personality_v0(){}function ___lock(){}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;else err("failed to set errno from JS");return value}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)},resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(1)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+lengthe2.timestamp){create.push(key);total++}});var remove=[];Object.keys(dst.entries).forEach(function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}});if(!total){return callback(null)}var errored=false;var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=function(e){done(this.error);e.preventDefault()};create.sort().forEach(function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)})}else{IDBFS.loadLocalEntry(path,function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)})}});remove.sort().reverse().forEach(function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}})}};var NODEFS={isWindows:false,staticInit:function(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process["binding"]("constants");if(flags["fs"]){flags=flags["fs"]}NODEFS.flagsForNodeMap={1024:flags["O_APPEND"],64:flags["O_CREAT"],128:flags["O_EXCL"],0:flags["O_RDONLY"],2:flags["O_RDWR"],4096:flags["O_SYNC"],512:flags["O_TRUNC"],1:flags["O_WRONLY"]}},bufferFrom:function(arrayBuffer){return Buffer.alloc?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)},mount:function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)},createNode:function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(22)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node},getMode:function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return stat.mode},realPath:function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)},flagsForNode:function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}else{throw new FS.ErrnoError(22)}},node_ops:{getattr:function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}},setattr:function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},lookup:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)},mknod:function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return node},rename:function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},unlink:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},rmdir:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readdir:function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},symlink:function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readlink:function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}}},stream_ops:{open:function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},close:function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},read:function(stream,buffer,offset,length,position){if(length===0)return 0;try{return fs.readSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},write:function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(-e.errno)}}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size},write:function(stream,buffer,offset,length,position){throw new FS.ErrnoError(5)},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)},lookupPath:function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(40)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(40)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 13}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 13}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 13}return 0},mayLookup:function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return 13;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 17}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return 20}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 16}}else{if(FS.isDir(node.mode)){return 21}}return 0},mayOpen:function(node,flags){if(!node){return 2}if(FS.isLink(node.mode)){return 40}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 21}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(24)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(29)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(16)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(20)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(22)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(22)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(1)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},getStreamFromFD:function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream},getSocketFromFD:function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket},getSocketAddress:function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low},getZero:function(){assert(SYSCALLS.get()===0)}};function ___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();if(!(offset_high==-1&&offset_low<0)&&!(offset_high==0&&offset_low>=0)){return-ERRNO_CODES.EOVERFLOW}var offset=offset_low;FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[result>>2]=tempI64[0],HEAP32[result+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0}case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0}case 21524:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___unlock(){}var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function count_emval_handles(){var count=0;for(var i=5;i>shift])},destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}});clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function runDestructor(handle){var $$=handle.$$;if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}this.$$.count.value-=1;var toDelete=0===this.$$.count.value;if(toDelete){runDestructor(this)}if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}var registeredPointers={};function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError("Function '"+humanName+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+proto[methodName].overloadTable+")!")}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError("Cannot register public name '"+name+"' twice")}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError("Cannot register multiple overloads of a function with the same number of arguments ("+numArguments+")!")}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError("Expected null or instance of "+desiredClass.name+", got an instance of "+ptrClass.name)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,__emval_register(function(){clonedHandle["delete"]()}));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+handle.$$.ptrType.name+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAPU32[pointer>>2])}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return Object.create(prototype,{$$:{value:record}})}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(dynCall){var args=[];for(var i=1;i0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i>2)+i])}return array}function __embind_register_class_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,fn){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.constructor;if(undefined===proto[methodName]){unboundTypesHandler.argCount=argCount-1;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-1]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));var func=craftInvokerFunction(humanName,invokerArgsArray,null,rawInvoker,fn);if(undefined===proto[methodName].overloadTable){func.argCount=argCount-1;proto[methodName]=func}else{proto[methodName].overloadTable[argCount-1]=func}return[]});return[]})}function __embind_register_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})}function validateThis(this_,classType,humanName){if(!(this_ instanceof Object)){throwBindingError(humanName+' with invalid "this": '+this_)}if(!(this_ instanceof classType.registeredClass.constructor)){throwBindingError(humanName+' incompatible with "this" of type '+this_.constructor.name)}if(!this_.$$.ptr){throwBindingError("cannot call emscripten binding method "+humanName+" on deleted object")}return upcastPointer(this_.$$.ptr,this_.$$.ptrType.registeredClass,classType.registeredClass)}function __embind_register_class_property(classType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){fieldName=readLatin1String(fieldName);getter=embind__requireFunction(getterSignature,getter);whenDependentTypesAreResolved([],[classType],function(classType){classType=classType[0];var humanName=classType.name+"."+fieldName;var desc={get:function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])},enumerable:true,configurable:true};if(setter){desc.set=function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])}}else{desc.set=function(v){throwBindingError(humanName+" is a read-only property")}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);whenDependentTypesAreResolved([],setter?[getterReturnType,setterArgumentType]:[getterReturnType],function(types){var getterReturnType=types[0];var desc={get:function(){var ptr=validateThis(this,classType,humanName+" getter");return getterReturnType["fromWireType"](getter(getterContext,ptr))},enumerable:true};if(setter){setter=embind__requireFunction(setterSignature,setter);var setterArgumentType=types[1];desc.set=function(v){var ptr=validateThis(this,classType,humanName+" setter");var destructors=[];setter(setterContext,ptr,setterArgumentType["toWireType"](destructors,v));runDestructors(destructors)}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);return[]});return[]})}function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=emval_handle_array[handle].value;__emval_decref(handle);return rv},"toWireType":function(destructors,value){return __emval_register(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function _embind_repr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=function(value){return value};if(minRange===0){var bitshift=32-8*size;fromWireType=function(value){return value<>>bitshift}}var isUnsignedType=name.indexOf("unsigned")!=-1;registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(valuemaxRange){throw new TypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}return isUnsignedType?value>>>0:value|0},"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(heap["buffer"],data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var str;if(stdStringIsUTF8){var endChar=HEAPU8[value+4+length];var endCharSwap=0;if(endChar!=0){endCharSwap=endChar;HEAPU8[value+4+length]=0}var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i;if(HEAPU8[currentBytePtr]==0){var stringSegment=UTF8ToString(decodeStartPtr);if(str===undefined)str=stringSegment;else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}if(endCharSwap!=0)HEAPU8[value+4+length]=endCharSwap}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr+4,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}}else{for(var i=0;i>2];var a=new Array(length);var start=value+4>>shift;for(var i=0;i>2]=length;var start=ptr+4>>shift;for(var i=0;i>2]=rd;return returnType["toWireType"](destructors,handle)}function __emval_lookupTypes(argCount,argTypes,argWireTypes){var a=new Array(argCount);for(var i=0;i>2)+i],"parameter "+i)}return a}function __emval_call(handle,argCount,argTypes,argv){handle=requireHandle(handle);var types=__emval_lookupTypes(argCount,argTypes);var args=new Array(argCount);for(var i=0;i>2]=__emval_register(destructors);return destructors}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}else{return symbol}}var emval_methodCallers=[];function __emval_call_method(caller,handle,methodName,destructorsRef,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);return caller(handle,methodName,__emval_allocateDestructors(destructorsRef),args)}function __emval_call_void_method(caller,handle,methodName,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);caller(handle,methodName,null,args)}function emval_get_global(){return function(){return Function}()("return this")()}function __emval_get_global(name){if(name===0){return __emval_register(emval_get_global())}else{name=getStringOrSymbol(name);return __emval_register(emval_get_global()[name])}}function __emval_addMethodCaller(caller){var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id}function __emval_get_method_caller(argCount,argTypes){var types=__emval_lookupTypes(argCount,argTypes);var retType=types[0];var signatureName=retType.name+"_$"+types.slice(1).map(function(t){return t.name}).join("_")+"$";var params=["retType"];var args=[retType];var argsList="";for(var i=0;i4){emval_handle_array[handle].refcount+=1}}function craftEmvalAllocator(argCount){var argsList="";for(var i=0;i> 2) + "+i+'], "parameter '+i+'");\n'+"var arg"+i+" = argType"+i+".readValueFromPointer(args);\n"+"args += argType"+i+"['argPackAdvance'];\n"}functionBody+="var obj = new constructor("+argsList+");\n"+"return __emval_register(obj);\n"+"}\n";return new Function("requireRegisteredType","Module","__emval_register",functionBody)(requireRegisteredType,Module,__emval_register)}var emval_newers={};function __emval_new(handle,argCount,argTypes,args){handle=requireHandle(handle);var newer=emval_newers[argCount];if(!newer){newer=craftEmvalAllocator(argCount);emval_newers[argCount]=newer}return newer(handle,argTypes,args)}function __emval_new_cstring(v){return __emval_register(getStringOrSymbol(v))}function __emval_new_object(){return __emval_register({})}function __emval_run_destructors(handle){var destructors=emval_handle_array[handle].value;runDestructors(destructors);__emval_decref(handle)}function __emval_set_property(handle,key,value){handle=requireHandle(handle);key=requireHandle(key);value=requireHandle(value);handle[key]=value}function __emval_take_value(type,argv){type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](argv);return __emval_register(v)}function _abort(){Module["abort"]()}var _acos=Math_acos;var _asin=Math_asin;var _atan=Math_atan;function _clock(){if(_clock.start===undefined)_clock.start=Date.now();return(Date.now()-_clock.start)*(1e6/1e3)|0}var _cos=Math_cos;function _emscripten_get_heap_size(){return HEAP8.length}function __reallyNegative(x){return x<0||x===0&&1/x===-Infinity}function __formatString(format,varargs){assert((varargs&3)===0);var textIndex=format;var argIndex=varargs;function prepVararg(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}function getNextArg(type){var ret;argIndex=prepVararg(argIndex,type);if(type==="double"){ret=HEAPF64[argIndex>>3];argIndex+=8}else if(type=="i64"){ret=[HEAP32[argIndex>>2],HEAP32[argIndex+4>>2]];argIndex+=8}else{assert((argIndex&3)===0);type="i32";ret=HEAP32[argIndex>>2];argIndex+=4}return ret}var ret=[];var curr,next,currArg;while(1){var startTextIndex=textIndex;curr=HEAP8[textIndex>>0];if(curr===0)break;next=HEAP8[textIndex+1>>0];if(curr==37){var flagAlwaysSigned=false;var flagLeftAlign=false;var flagAlternative=false;var flagZeroPad=false;var flagPadSign=false;flagsLoop:while(1){switch(next){case 43:flagAlwaysSigned=true;break;case 45:flagLeftAlign=true;break;case 35:flagAlternative=true;break;case 48:if(flagZeroPad){break flagsLoop}else{flagZeroPad=true;break}case 32:flagPadSign=true;break;default:break flagsLoop}textIndex++;next=HEAP8[textIndex+1>>0]}var width=0;if(next==42){width=getNextArg("i32");textIndex++;next=HEAP8[textIndex+1>>0]}else{while(next>=48&&next<=57){width=width*10+(next-48);textIndex++;next=HEAP8[textIndex+1>>0]}}var precisionSet=false,precision=-1;if(next==46){precision=0;precisionSet=true;textIndex++;next=HEAP8[textIndex+1>>0];if(next==42){precision=getNextArg("i32");textIndex++}else{while(1){var precisionChr=HEAP8[textIndex+1>>0];if(precisionChr<48||precisionChr>57)break;precision=precision*10+(precisionChr-48);textIndex++}}next=HEAP8[textIndex+1>>0]}if(precision<0){precision=6;precisionSet=false}var argSize;switch(String.fromCharCode(next)){case"h":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==104){textIndex++;argSize=1}else{argSize=2}break;case"l":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==108){textIndex++;argSize=8}else{argSize=4}break;case"L":case"q":case"j":argSize=8;break;case"z":case"t":case"I":argSize=4;break;default:argSize=null}if(argSize)textIndex++;next=HEAP8[textIndex+1>>0];switch(String.fromCharCode(next)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":{var signed=next==100||next==105;argSize=argSize||4;currArg=getNextArg("i"+argSize*8);var argText;if(argSize==8){currArg=makeBigInt(currArg[0],currArg[1],next==117)}if(argSize<=4){var limit=Math.pow(256,argSize)-1;currArg=(signed?reSign:unSign)(currArg&limit,argSize*8)}var currAbsArg=Math.abs(currArg);var prefix="";if(next==100||next==105){argText=reSign(currArg,8*argSize,1).toString(10)}else if(next==117){argText=unSign(currArg,8*argSize,1).toString(10);currArg=Math.abs(currArg)}else if(next==111){argText=(flagAlternative?"0":"")+currAbsArg.toString(8)}else if(next==120||next==88){prefix=flagAlternative&&currArg!=0?"0x":"";if(currArg<0){currArg=-currArg;argText=(currAbsArg-1).toString(16);var buffer=[];for(var i=0;i=0){if(flagAlwaysSigned){prefix="+"+prefix}else if(flagPadSign){prefix=" "+prefix}}if(argText.charAt(0)=="-"){prefix="-"+prefix;argText=argText.substr(1)}while(prefix.length+argText.lengthexponent&&exponent>=-4){next=(next==103?"f":"F").charCodeAt(0);precision-=exponent+1}else{next=(next==103?"e":"E").charCodeAt(0);precision--}effectivePrecision=Math.min(precision,20)}if(next==101||next==69){argText=currArg.toExponential(effectivePrecision);if(/[eE][-+]\d$/.test(argText)){argText=argText.slice(0,-1)+"0"+argText.slice(-1)}}else if(next==102||next==70){argText=currArg.toFixed(effectivePrecision);if(currArg===0&&__reallyNegative(currArg)){argText="-"+argText}}var parts=argText.split("e");if(isGeneral&&!flagAlternative){while(parts[0].length>1&&parts[0].indexOf(".")!=-1&&(parts[0].slice(-1)=="0"||parts[0].slice(-1)==".")){parts[0]=parts[0].slice(0,-1)}}else{if(flagAlternative&&argText.indexOf(".")==-1)parts[0]+=".";while(precision>effectivePrecision++)parts[0]+="0"}argText=parts[0]+(parts.length>1?"e"+parts[1]:"");if(next==69)argText=argText.toUpperCase();if(currArg>=0){if(flagAlwaysSigned){argText="+"+argText}else if(flagPadSign){argText=" "+argText}}}while(argText.length>0])}}else{ret=ret.concat(intArrayFromString("(null)".substr(0,argLength),true))}if(flagLeftAlign){while(argLength0){ret.push(32)}if(!flagLeftAlign)ret.push(getNextArg("i8"));break}case"n":{var ptr=getNextArg("i32*");HEAP32[ptr>>2]=ret.length;break}case"%":{ret.push(curr);break}default:{for(var i=startTextIndex;i>0])}}}textIndex+=2}else{ret.push(curr);textIndex+=1}}return ret}function __emscripten_traverse_stack(args){if(!args||!args.callee||!args.callee.name){return[null,"",""]}var funstr=args.callee.toString();var funcname=args.callee.name;var str="(";var first=true;for(var i in args){var a=args[i];if(!first){str+=", "}first=false;if(typeof a==="number"||typeof a==="string"){str+=a}else{str+="("+typeof a+")"}}str+=")";var caller=args.callee.caller;args=caller?caller.arguments:[];if(first)str="";return[args,funcname,str]}function _emscripten_get_callstack_js(flags){var callstack=jsStackTrace();var iThisFunc=callstack.lastIndexOf("_emscripten_log");var iThisFunc2=callstack.lastIndexOf("_emscripten_get_callstack");var iNextLine=callstack.indexOf("\n",Math.max(iThisFunc,iThisFunc2))+1;callstack=callstack.slice(iNextLine);if(flags&8&&typeof emscripten_source_map==="undefined"){warnOnce('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.');flags^=8;flags|=16}var stack_args=null;if(flags&128){stack_args=__emscripten_traverse_stack(arguments);while(stack_args[1].indexOf("_emscripten_")>=0)stack_args=__emscripten_traverse_stack(stack_args[0])}var lines=callstack.split("\n");callstack="";var newFirefoxRe=new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)");var firefoxRe=new RegExp("\\s*(.*?)@(.*):(.*)(:(.*))?");var chromeRe=new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(var l in lines){var line=lines[l];var jsSymbolName="";var file="";var lineno=0;var column=0;var parts=chromeRe.exec(line);if(parts&&parts.length==5){jsSymbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]}else{parts=newFirefoxRe.exec(line);if(!parts)parts=firefoxRe.exec(line);if(parts&&parts.length>=4){jsSymbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]|0}else{callstack+=line+"\n";continue}}var cSymbolName=flags&32?demangle(jsSymbolName):jsSymbolName;if(!cSymbolName){cSymbolName=jsSymbolName}var haveSourceMap=false;if(flags&8){var orig=emscripten_source_map.originalPositionFor({line:lineno,column:column});haveSourceMap=orig&&orig.source;if(haveSourceMap){if(flags&64){orig.source=orig.source.substring(orig.source.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=" at "+cSymbolName+" ("+orig.source+":"+orig.line+":"+orig.column+")\n"}}if(flags&16||!haveSourceMap){if(flags&64){file=file.substring(file.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=(haveSourceMap?" = "+jsSymbolName:" at "+cSymbolName)+" ("+file+":"+lineno+":"+column+")\n"}if(flags&128&&stack_args[0]){if(stack_args[1]==jsSymbolName&&stack_args[2].length>0){callstack=callstack.replace(/\s+$/,"");callstack+=" with values: "+stack_args[1]+stack_args[2]+"\n"}stack_args=__emscripten_traverse_stack(stack_args[0])}}callstack=callstack.replace(/\s+$/,"");return callstack}function _emscripten_log_js(flags,str){if(flags&24){str=str.replace(/\s+$/,"");str+=(str.length>0?"\n":"")+_emscripten_get_callstack_js(flags)}if(flags&1){if(flags&4){console.error(str)}else if(flags&2){console.warn(str)}else{console.log(str)}}else if(flags&6){err(str)}else{out(str)}}function _emscripten_log(flags,varargs){var format=HEAP32[varargs>>2];varargs+=4;var str="";if(format){var result=__formatString(format,varargs);for(var i=0;i>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}var ___tm_timezone=(stringToUTF8("GMT",262224,4),262224);function _gmtime_r(time,tmPtr){var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getUTCSeconds();HEAP32[tmPtr+4>>2]=date.getUTCMinutes();HEAP32[tmPtr+8>>2]=date.getUTCHours();HEAP32[tmPtr+12>>2]=date.getUTCDate();HEAP32[tmPtr+16>>2]=date.getUTCMonth();HEAP32[tmPtr+20>>2]=date.getUTCFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getUTCDay();HEAP32[tmPtr+36>>2]=0;HEAP32[tmPtr+32>>2]=0;var start=Date.UTC(date.getUTCFullYear(),0,1,0,0,0,0);var yday=(date.getTime()-start)/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+40>>2]=___tm_timezone;return tmPtr}function _init(){window.AudioContext=window.AudioContext||window.webkitAudioContext;var context=new window.AudioContext;if(/(iPhone|iPad|iPod|iOS|Safari)/i.test(navigator.userAgent)){function _unlock(){context.resume();var source=context.createBufferSource();source.buffer=context.createBuffer(1,1,22050);source.connect(context.destination);if(source.noteOn)source.noteOn(0);else source.start(0)}document.addEventListener("mousedown",_unlock,true);document.addEventListener("touchend",_unlock,true)}function H264bsdCanvas(canvas,forceNoGL,contextOptions){this.canvasElement=canvas;this.contextOptions=contextOptions;if(!forceNoGL)this.initContextGL();if(this.contextGL){this.initProgram();this.initBuffers();this.initTextures()}}H264bsdCanvas.prototype.isWebGL=function(){return!!this.contextGL};H264bsdCanvas.prototype.initContextGL=function(){var canvas=this.canvasElement;var gl=null;var validContextNames=["webgl","experimental-webgl","moz-webgl","webkit-3d"];var nameIndex=0;while(!gl&&nameIndex3)return;reconnectCount++;console.warn("ws reconnect after "+(reconnectTime/1e3>>0)+" second");_this.reconnectId=setTimeout(function(){console.log("ws reconnecting :",reconnectCount);reconnectTime*=2;setWebsocket.call(_this)},reconnectTime)};this.ws.onerror=function(){console.warn("ws error")}}setWebsocket.call(this)},close:function(){clearTimeout(this.reconnectId);if(!this.isPlaying)return;console.log("close H5LiverClient");this.isPlaying=false;this.ws.onmessage=null;this.ws.onclose=null;this.ws.onerror=null;this.ws.close();this.ws=null;this.webGLCanvas.clear();this.$close();delete this.timespan},initAudio:function(frameCount,samplerate,channels,outputPtr){var isPlaying=false;var audioBuffers=[];var allFrameCount=frameCount*channels;if(!context)return false;var resampled=samplerate<22050;var audioBuffer=resampled?context.createBuffer(channels,frameCount<<1,samplerate<<1):context.createBuffer(channels,frameCount,samplerate);var audioOutputArray=HEAP16.subarray(outputPtr,outputPtr+allFrameCount);var playNextBuffer=function(){isPlaying=false;if(audioBuffers.length){playAudio(audioBuffers.shift())}if(audioBuffers.length>1)audioBuffers.shift()};var copyAudioOutputArray=resampled?function(target){for(var i=0;i1?function(fromBuffer){for(var channel=0;channel>2)),HEAPU8.subarray(v,v+(w*h>>2))];this.webGLCanvas.drawNextOutputPicture(w,h,this.croppingParams,outputArray)}}else{var outputArray=HEAPU8.subarray(dataPtr,dataPtr+(w*h<<2));this.webGLCanvas.initRGB(w,h);this.draw=function(){this.webGLCanvas.drawNextOutputPicture(w,h,this.croppingParams,outputArray)}}}})}function _llvm_trap(){abort("trap!")}var _llvm_trunc_f64=Math_trunc;function _tzset(){if(_tzset.called)return;_tzset.called=true;HEAP32[__get_timezone()>>2]=(new Date).getTimezoneOffset()*60;var winter=new Date(2e3,0,1);var summer=new Date(2e3,6,1);HEAP32[__get_daylight()>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocate(intArrayFromString(winterName),"i8",ALLOC_NORMAL);var summerNamePtr=allocate(intArrayFromString(summerName),"i8",ALLOC_NORMAL);if(summer.getTimezoneOffset()>2]=winterNamePtr;HEAP32[__get_tzname()+4>>2]=summerNamePtr}else{HEAP32[__get_tzname()>>2]=summerNamePtr;HEAP32[__get_tzname()+4>>2]=winterNamePtr}}function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=new Date(2e3,6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[__get_tzname()+(dst?4:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}var _log=Math_log;function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest)}function _mktime(tmPtr){_tzset();var date=new Date(HEAP32[tmPtr+20>>2]+1900,HEAP32[tmPtr+16>>2],HEAP32[tmPtr+12>>2],HEAP32[tmPtr+8>>2],HEAP32[tmPtr+4>>2],HEAP32[tmPtr>>2],0);var dst=HEAP32[tmPtr+32>>2];var guessedOffset=date.getTimezoneOffset();var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(2e3,6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dstOffset=Math.min(winterOffset,summerOffset);if(dst<0){HEAP32[tmPtr+32>>2]=Number(summerOffset!=winterOffset&&dstOffset==guessedOffset)}else if(dst>0!=(dstOffset==guessedOffset)){var nonDstOffset=Math.max(winterOffset,summerOffset);var trueOffset=dst>0?dstOffset:nonDstOffset;date.setTime(date.getTime()+(trueOffset-guessedOffset)*6e4)}HEAP32[tmPtr+24>>2]=date.getDay();var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;return date.getTime()/1e3|0}function _pthread_cond_destroy(){return 0}function _pthread_cond_init(){return 0}function _pthread_cond_signal(){return 0}function _pthread_cond_wait(){return 0}function _pthread_create(){return 11}function _pthread_join(){}var _sin=Math_sin;function _sysconf(name){switch(name){case 30:return PAGE_SIZE;case 85:var maxHeapSize=2*1024*1024*1024-16777216;maxHeapSize=HEAPU8.length;return maxHeapSize/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:{if(typeof navigator==="object")return navigator["hardwareConcurrency"]||1;return 1}}___setErrNo(22);return-1}var _tan=Math_tan;FS.staticInit();if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}init_emval();PureVirtualError=Module["PureVirtualError"]=extendError(Error,"PureVirtualError");embind_init_charCodes();init_embind();BindingError=Module["BindingError"]=extendError(Error,"BindingError");InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_ClassHandle();init_RegisteredPointer();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");var ASSERTIONS=true;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 intArrayToString(array){var ret=[];for(var i=0;i255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var decodeBase64=typeof atob==="function"?atob:function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);Module["quit"]=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=function(status){quit(status)}}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}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);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};Module["setWindowTitle"]=function(title){document.title=title}}else{throw new Error("environment detection error")}var out=Module["print"]||(typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null);var err=Module["printErr"]||(typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||out);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;assert(typeof Module["memoryInitializerPrefixURL"]==="undefined","Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["pthreadMainPrefixURL"]==="undefined","Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["cdInitializerPrefixURL"]==="undefined","Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["filePackagePrefixURL"]==="undefined","Module.filePackagePrefixURL option was removed, use Module.locateFile instead");var STACK_ALIGN=16;stackSave=stackRestore=stackAlloc=function(){abort("cannot use the stack before compiled code is ready to run, and has provided stack access")};function dynamicAlloc(size){assert(DYNAMICTOP_PTR);var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end<=_emscripten_get_heap_size()){HEAP32[DYNAMICTOP_PTR>>2]=end}else{return 0}return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var jsCallStartIndex=1;var functionPointers=new Array(0);var funcWrappers={};function makeBigInt(low,high,unsigned){return unsigned?+(low>>>0)+ +(high>>>0)*4294967296:+(low>>>0)+ +(high|0)*4294967296}function dynCall(sig,ptr,args){if(args&&args.length){assert(args.length==sig.length-1);assert("dynCall_"+sig in Module,"bad function pointer type - no table for sig '"+sig+"'");return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{assert(sig.length==1);assert("dynCall_"+sig in Module,"bad function pointer type - no table for sig '"+sig+"'");return Module["dynCall_"+sig].call(null,ptr)}}var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var getTempRet0=function(){return tempRet0};var GLOBAL_BASE=8;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string")return UTF8ToString(ret);if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;assert(returnType!=="array",'Return type should not be "array".');if(args){for(var i=0;i>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)}}var ALLOC_NORMAL=0;var ALLOC_NONE=3;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,stackAlloc,dynamicAlloc][allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;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=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}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){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&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(outIdx+3>=endIdx)break;if(u>=2097152)warnOnce("Invalid Unicode code point 0x"+u.toString(16)+" encountered when serializing a JS string to an UTF-8 string on the asm.js/wasm heap! (Valid unicode code points should be in range 0-0x1FFFFF).");outU8Array[outIdx++]=240|u>>18;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){assert(typeof maxBytesToWrite=="number","stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!");return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}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 len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8Array(str,HEAP8,ret,size);return ret}function allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}function writeArrayToMemory(array,buffer){assert(array.length>=0,"writeArrayToMemory array must have a length (should be an array or typed array)");HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}function demangle(func){warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}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)}var PAGE_SIZE=16384;var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STACK_BASE=262352,STACK_MAX=5505232,DYNAMIC_BASE=5505232,DYNAMICTOP_PTR=262320;assert(STACK_BASE%16===0,"stack must start aligned");assert(DYNAMIC_BASE%16===0,"heap must start aligned");var TOTAL_STACK=5242880;if(Module["TOTAL_STACK"])assert(TOTAL_STACK===Module["TOTAL_STACK"],"the stack size can no longer be determined at runtime");var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||67108864;if(INITIAL_TOTAL_MEMORY>2]=DYNAMIC_BASE;function writeStackCookie(){assert((STACK_MAX&3)==0);HEAPU32[(STACK_MAX>>2)-1]=34821223;HEAPU32[(STACK_MAX>>2)-2]=2310721022}function checkStackCookie(){if(HEAPU32[(STACK_MAX>>2)-1]!=34821223||HEAPU32[(STACK_MAX>>2)-2]!=2310721022){abort("Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x02135467, but received 0x"+HEAPU32[(STACK_MAX>>2)-2].toString(16)+" "+HEAPU32[(STACK_MAX>>2)-1].toString(16))}if(HEAP32[0]!==1668509029)throw"Runtime error: The application has corrupted its heap memory area (address zero)!"}function abortStackOverflow(allocSize){abort("Stack overflow! Attempted to allocate "+allocSize+" bytes on the stack, but stack has only "+(STACK_MAX-stackSave()+allocSize)+" bytes available!")}HEAP32[0]=1668509029;HEAP16[1]=25459;if(HEAPU8[2]!==115||HEAPU8[3]!==99)throw"Runtime error: expected the system to be little-endian!";function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){checkStackCookie();if(runtimeInitialized)return;runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){checkStackCookie();FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){checkStackCookie();runtimeExited=true}function postRun(){checkStackCookie();if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<=half&&(bits<=32||value>half)){value=-2*half+value}return value}assert(Math.imul,"This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.fround,"This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.clz32,"This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.trunc,"This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");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_exp=Math.exp;var Math_log=Math.log;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;var runDependencyTracking={};function getUniqueRunDependency(id){var orig=id;while(1){if(!runDependencyTracking[id])return id;id=orig+Math.random()}return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(id){assert(!runDependencyTracking[id]);runDependencyTracking[id]=1;if(runDependencyWatcher===null&&typeof setInterval!=="undefined"){runDependencyWatcher=setInterval(function(){if(ABORT){clearInterval(runDependencyWatcher);runDependencyWatcher=null;return}var shown=false;for(var dep in runDependencyTracking){if(!shown){shown=true;err("still waiting on run dependencies:")}err("dependency: "+dep)}if(shown){err("(end of list)")}},1e4)}}else{err("warning: run dependency added without ID")}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(id){assert(runDependencyTracking[id]);delete runDependencyTracking[id]}else{err("warning: run dependency removed without ID")}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}__ATINIT__.push({func:function(){globalCtors()}});memoryInitializer="data:application/octet-stream;base64,AAAAAAAAAAAI5QAASOUAAEjlAABI5QAASOUAAAAAAAAAAAAAAAAAAAjlAABQ5QAAUOUAAEjlAAACAADAAwAAwAQAAMAFAADABgAAwAcAAMAIAADACQAAwAoAAMALAADADAAAwA0AAMAOAADADwAAwBAAAMARAADAEgAAwBMAAMAUAADAFQAAwBYAAMAXAADAGAAAwBkAAMAaAADAGwAAwBwAAMAdAADAHgAAwB8AAMAAAACzAQAAwwIAAMMDAADDBAAAwwUAAMMGAADDBwAAwwgAAMMJAADDCgAAwwsAAMMMAADDDQAA0w4AAMMPAADDAAAMuwEADMMCAAzDAwAMwwQADNMAAAAA/////////////////////////////////////////////////////////////////wABAgMEBQYHCAn/////////CgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiP///////8KCwwNDg8QERITFBUWFxgZGhscHR4fICEiI/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAAAAAAAAAAAAAAAAAAARAAoAERERAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABEADwoREREDCgcAARMJCwsAAAkGCwAACwAGEQAAABEREQAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAARAAoKERERAAoAAAIACQsAAAAJAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAA0AAAAEDQAAAAAJDgAAAAAADgAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAPAAAAAA8AAAAACRAAAAAAABAAABAAABIAAAASEhIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAABISEgAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AQAAAAAAAAAEAAAAAQAAAAAAAAAIAAAAAwAAAAcAAAACAAAAAAAAAAQAAAADAAAAAAAAAAgAAAADAAAABwAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfvkBAAMAAAAgAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAIAAAAAgAAAAcAAAABAAAAAAAAAAMAAAABAAAAAAAAAAgAAAACAAAABwAAAAIAAAAAAAAAAwAAAAIAAAAAAAAACAAAAAIAAAAHAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACE+QEAAwAAACAAAAAAAAAAAAAAAAMAAAACAAAAAAAAAAgAAAACAAAABwAAAAMAAAAAAAAAAwAAAAEAAAAAAAAACAAAAAIAAAAHAAAAAgAAAAAAAAADAAAAAAAAAAAAAAAIAAAAAgAAAAcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIr5AQADAQAAEAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAgAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkvkBAAMAAAAQAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAACAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACa+QEAAwICABAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAABAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAIAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKL5AQADAgAAEAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAgAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAToQCAAEAAABAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqvkBAAAAAACz+QEAAQAAAAQAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALn5AQABAAAABAAAAAAAAAAAAAAAAQAAAAAAAAAHAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv/kBAAEAAAACAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADE+QEAAwEBABAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAABAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAIAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM35AQADAQAAEAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAgAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1vkBAAMAAAAQAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAACAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADf+QEAAwEAAAAAAAAAAAAAAAAAAAIAAAABAAAAAAAAAAgAAAABAAAABwAAAAIAAAAAAAAABAAAAAAAAAAAAAAACAAAAAMAAAAHAAAAAQAAAAAAAAAEAAAAAgAAAAAAAAAIAAAAAwAAAAcAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOf5AQADAgAAAAAAAAAAAAAAAAAABAAAAAEAAAAAAAAACAAAAAMAAAAHAAAAAgAAAAAAAAAGAAAAAAAAAAAAAAAIAAAABQAAAAcAAAABAAAAAAAAAAYAAAADAAAAAAAAAAgAAAAFAAAABwAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8fkBAAMAAABgAAAAAAAAAAAAAAABAAAAAAAAAAAAAAADAAAAAAAAAAIAAAABAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAAAAAAAAgAAAAEAAAAAAAAAAQAAAAAAAAAGAAAAAgAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2+QEAAwAAACQAAAAAAAAAAAAAAAQAAAADAAAAAAAAAAEAAAADAAAAAAAAAAQAAAAAAAAABAAAAAEAAAAAAAAAAgAAAAMAAAABAAAAAgAAAAAAAAAEAAAAAAAAAAAAAAABAAAAAwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPv5AQADAAAAYAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAACAAAAAAAAAAEAAAABAAAAAAAAAAEAAAAAAAAAAwAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABfoBAAMAAABgAAAAAAAAAAAAAAABAAAAAAAAAAYAAAACAAAAAAAAAAEAAAABAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAAAAAAAAgAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAwAAAAAAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK+gEAAwAAACQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAEAAAADAAAAAAAAAAEAAAAAAAAABAAAAAEAAAAAAAAAAgAAAAMAAAABAAAAAgAAAAAAAAAEAAAAAwAAAAAAAAABAAAAAwAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/6AQADAAAAYAAAAAAAAAAAAAAAAQAAAAAAAAADAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAACAAAAAAAAAAEAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGfoBAAMBAQAQAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAgAAAABAAAABwAAAAEAAAABAAAAAgAAAAEAAAAAAAAACAAAAAEAAAAHAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAe+gEAAwEBABAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAABAAAAAgAAAAEAAAAAAAAACAAAAAEAAAAHAAAAAgAAAAEAAAACAAAAAAAAAAAAAAAIAAAAAQAAAAcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACP6AQAEAAAAoAAAAAAAAAAAAAAABAAAAAEAAAAAAAAACAAAAAMAAAAHAAAAAgAAAAAAAAAEAAAAAgAAAAAAAAAIAAAAAwAAAAcAAAADAAAAAAAAAAQAAAADAAAAAAAAAAgAAAADAAAABwAAAAQAAAAAAAAABAAAAAAAAAAAAAAACAAAAAMAAAAHAAAAAQAAAAAAAAAAAAAAKPoBAAQAAACgAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAIAAAAAwAAAAcAAAABAAAAAAAAAAQAAAABAAAAAAAAAAgAAAADAAAABwAAAAIAAAAAAAAABAAAAAIAAAAAAAAACAAAAAMAAAAHAAAAAwAAAAAAAAAEAAAAAwAAAAAAAAAIAAAAAwAAAAcAAAAEAAAAAAAAAAAAAAAt+gEABAAAAKAAAAAAAAAAAAAAAAQAAAADAAAAAAAAAAgAAAADAAAABwAAAAQAAAAAAAAABAAAAAIAAAAAAAAACAAAAAMAAAAHAAAAAwAAAAAAAAAEAAAAAQAAAAAAAAAIAAAAAwAAAAcAAAACAAAAAAAAAAQAAAAAAAAAAAAAAAgAAAADAAAABwAAAAEAAAAAAAAAAAAAADL6AQAEAAAAoAAAAAAAAAAAAAAABAAAAAIAAAAAAAAACAAAAAMAAAAHAAAAAwAAAAAAAAAEAAAAAQAAAAAAAAAIAAAAAwAAAAcAAAACAAAAAAAAAAQAAAAAAAAAAAAAAAgAAAADAAAABwAAAAEAAAAAAAAABAAAAAMAAAAAAAAACAAAAAMAAAAHAAAABAAAAAAAAAAAAAAAN/oBAAEAAAABAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQPoBAAAAAABG+gEAAQAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABP+gEAAAAAAFX6AQADAAEAEAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAgAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXfoBAAMAAQAQAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAACAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABm+gEABAEBAJAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAABAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAIAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAwAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAAAAAAAAAAAAG/6AQADAAAAIQAAAAAAAAAAAAAABgAAAAAAAAAAAAAAEAAAAAUAAAAPAAAAAQAAAAAAAAAGAAAAAgAAAAAAAAAQAAAABQAAAA8AAAADAAAAAAAAAAYAAAAEAAAAAAAAABAAAAAFAAAADwAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAd/oBAAMAAAAgAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAQAAAABQAAAA8AAAABAAAAAAAAAAYAAAACAAAAAAAAABAAAAAFAAAADwAAAAMAAAAAAAAABgAAAAQAAAAAAAAAEAAAAAUAAAAPAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/+gEAAwAAACEAAAAAAAAAAAAAAAIAAAD/////AwAAAAUAAAABAAAABAAAAAAAAAAAAAAAAgAAAAAAAAAFAAAABgAAAAEAAAAFAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAFAAAAAQAAAAQAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIj6AQADAAAAIAAAAAAAAAAAAAAAAgAAAAEAAAADAAAABQAAAAEAAAAEAAAAAgAAAAAAAAACAAAAAAAAAAUAAAAGAAAAAQAAAAUAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAUAAAABAAAABAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkfoBAAMAAAAhAAAAAAAAAAAAAAACAAAA/////wIAAAAFAAAAAQAAAAQAAAAAAAAAAAAAAAIAAAAAAAAABQAAAAUAAAABAAAABAAAAAEAAAAAAAAAAgAAAAAAAAAAAAAABQAAAAEAAAAEAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACa+gEAAwAAACAAAAAAAAAAAAAAAAIAAAABAAAAAgAAAAUAAAABAAAABAAAAAIAAAAAAAAAAgAAAAAAAAAFAAAABQAAAAEAAAAEAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAFAAAAAQAAAAQAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKP6AQADAAAAIQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAABQAAAAEAAAAEAAAAAQAAAAAAAAACAAAAAAAAAAUAAAAGAAAAAQAAAAUAAAABAAAAAAAAAAIAAAD/////AwAAAAUAAAABAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArPoBAAMAAAAgAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAFAAAAAQAAAAQAAAABAAAAAAAAAAIAAAAAAAAABQAAAAYAAAABAAAABQAAAAEAAAAAAAAAAgAAAAEAAAADAAAABQAAAAEAAAAEAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC1+gEAAwAAACEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAUAAAABAAAABAAAAAEAAAAAAAAAAgAAAAAAAAAFAAAABQAAAAEAAAAEAAAAAQAAAAAAAAACAAAA/////wIAAAAFAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL76AQADAAAAIAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAABQAAAAEAAAAEAAAAAQAAAAAAAAACAAAAAAAAAAUAAAAFAAAAAQAAAAQAAAABAAAAAAAAAAIAAAABAAAAAgAAAAUAAAABAAAABAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAx/oBAAABAQAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADS+gEAAAEBAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN36AQAAAQEACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5/oBAAMBAQAQAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAQAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAACAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADz+gEAAwEBABEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAABAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/6AQADAQAAEAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAgAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC/sBAAMBAAARAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAQAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAACAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAX+wEAAwAAABAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAABAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACP7AQADAAAAEQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAgAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL/sBAAABAQAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5+wEAAwAAACAAAAAAAAAAAAAAAAIAAAABAAAAAAAAAAQAAAABAAAAAwAAAAIAAAAAAAAAAgAAAAAAAAAEAAAABAAAAAEAAAADAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAEAAAAAQAAAAMAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEL7AQADAAAAIQAAAAAAAAAAAAAAAgAAAP////8AAAAABAAAAAEAAAADAAAAAAAAAAAAAAACAAAAAAAAAAQAAAAEAAAAAQAAAAMAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS/sBAAMAAAAgAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAEAAAAAQAAAAMAAAABAAAAAAAAAAIAAAAAAAAABAAAAAQAAAABAAAAAwAAAAEAAAAAAAAAAgAAAAEAAAAAAAAABAAAAAEAAAADAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABU+wEAAwAAACEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABAAAAAwAAAAEAAAAAAAAAAgAAAAAAAAAEAAAABAAAAAEAAAADAAAAAQAAAAAAAAACAAAA/////wAAAAAEAAAAAQAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF37AQACAAAAgAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACAAAAAEAAAAHAAAAAQAAAAAAAAACAAAAAQAAAAAAAAAIAAAAAQAAAAcAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGH7AQAAAAAAaPsBAAMAAAAhAAAAAAAAAAAAAAAGAAAABAAAAAAAAAAQAAAABQAAAA8AAAAFAAAAAAAAAAYAAAACAAAAAAAAABAAAAAFAAAADwAAAAMAAAAAAAAABgAAAAAAAAAAAAAAEAAAAAUAAAAPAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABw+wEAAwAAACAAAAAAAAAAAAAAAAYAAAAEAAAAAAAAABAAAAAFAAAADwAAAAUAAAAAAAAABgAAAAIAAAAAAAAAEAAAAAUAAAAPAAAAAwAAAAAAAAAGAAAAAAAAAAAAAAAQAAAABQAAAA8AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHj7AQADAQEAEQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAg/sBAAMBAQAQAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAACAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACO+wEAAwEBABEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAABAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJr7AQADAQEAEAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApvsBAAMBAAARAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAACAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACy+wEAAwEAABAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAABAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL77AQADAAAAEQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAyfsBAAMAAAAQAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAACAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADU+wEAAwAAABEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAABAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOD7AQADAAAAEAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7PsBAAMBAAARAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAACAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD3+wEAAwEAABAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAABAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL8AQADAAAAMAAAAAAAAAACAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/wBAAMAAAAxAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAABAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/AEAAwAAADAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAAAAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABf8AQADAAAAMQAAAAAAAAACAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIPwBAAMAAAAwAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAABAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAp/AEAAwAAADEAAAAAAAAAAgAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAAAAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADL8AQADAAAAMAAAAAAAAAACAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAQAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO/wBAAQBAACQAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAACAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAMAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAAAAAAAAAABE/AEABAAAAJAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAABAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAIAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAwAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAAAAAAAAAAAAE38AQAEAQEAkQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAADAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAAAAAAAAAAAWfwBAAQBAQCQAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAACAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAMAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAAAAAAAAAABl/AEABAEAAJEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAABAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAwAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAAAAAAAAAAAAHH8AQAEAQAAkAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAADAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAAAAAAAAAAAffwBAAQAAACRAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAACAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAMAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAAAAAAAAAACJ/AEABAAAAJAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAABAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAwAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAAAAAAAAAAAAJX8AQAEAQEAkQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAADAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAAAAAAAAAAAovwBAAQBAQCQAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAACAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAMAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAAAAAAAAAACv/AEABAEAAJEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAABAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAwAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAAAAAAAAAAAALz8AQAEAQAAkAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAADAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAAAAAAAAAAAyfwBAAQAAACRAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAACAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAMAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAAAAAAAAAADW/AEABAAAAJAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAABAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAwAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAAAAAAAAAAAAOP8AQAEAQEAkQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAgAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAADAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAAAAAAAAAAA8PwBAAQBAQCQAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAQAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAACAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAMAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAAAAAAAAAAD9/AEABAEAAJEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAABAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAwAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAAAAAAAAAAAAAr9AQAEAQAAkAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAgAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAADAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAAAAAAAAAAAF/0BAAQAAACRAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAQAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAACAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAMAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAAAAAAAAAAAk/QEABAAAAJAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAABAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAwAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAAAAAAAAAAAADH9AQAAAQEACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN/0BAAMAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAQAAAAMAAAABQAAAAsAAAABAAAAAAAAAAYAAAACAAAABAAAAAwAAAAFAAAACwAAAAMAAAAAAAAABgAAAAQAAAAEAAAADAAAAAUAAAALAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//QEAAwAAAAEAAAAAAAAAAAAAAAYAAAAAAAAABAAAAAwAAAAFAAAACwAAAAEAAAAAAAAABgAAAAIAAAAEAAAADAAAAAUAAAALAAAAAwAAAAAAAAAGAAAABAAAAAQAAAAMAAAABQAAAAsAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEf9AQADAQAAEAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAIAAAAAQAAAAcAAAABAAAAAQAAAAIAAAABAAAAAAAAAAgAAAABAAAABwAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATP0BAAMBAAAQAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAQAAAAQAAAAAAAAAAAAAAAoAAAADAAAACQAAAAEAAAABAAAABAAAAAIAAAAAAAAACgAAAAMAAAAJAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABT/QEAAwEAABEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAABAAAABAAAAAAAAAAAAAAACgAAAAMAAAAJAAAAAQAAAAEAAAAEAAAAAgAAAAAAAAAKAAAAAwAAAAkAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFr9AQAEAAAAoQAAAAAAAAAAAAAACAAAAAAAAAAAAAAAEAAAAAcAAAAPAAAAAQAAAAAAAAAIAAAAAgAAAAAAAAAQAAAABwAAAA8AAAADAAAAAAAAAAgAAAAEAAAAAAAAABAAAAAHAAAADwAAAAUAAAAAAAAACAAAAAYAAAAAAAAAEAAAAAcAAAAPAAAABwAAAAAAAAAAAAAAY/0BAAQAAACgAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABwAAAA8AAAABAAAAAAAAAAgAAAACAAAAAAAAABAAAAAHAAAADwAAAAMAAAAAAAAACAAAAAQAAAAAAAAAEAAAAAcAAAAPAAAABQAAAAAAAAAIAAAABgAAAAAAAAAQAAAABwAAAA8AAAAHAAAAAAAAAAAAAABs/QEABAAAAKEAAAAAAAAAAAAAAAgAAAAEAAAAAAAAABAAAAAHAAAADwAAAAUAAAAAAAAACAAAAAIAAAAAAAAAEAAAAAcAAAAPAAAAAwAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABwAAAA8AAAABAAAAAAAAAAgAAAAGAAAAAAAAABAAAAAHAAAADwAAAAcAAAAAAAAAAAAAAHX9AQAEAAAAoAAAAAAAAAAAAAAACAAAAAQAAAAAAAAAEAAAAAcAAAAPAAAABQAAAAAAAAAIAAAAAgAAAAAAAAAQAAAABwAAAA8AAAADAAAAAAAAAAgAAAAAAAAAAAAAABAAAAAHAAAADwAAAAEAAAAAAAAACAAAAAYAAAAAAAAAEAAAAAcAAAAPAAAABwAAAAAAAAAAAAAAfv0BAAMBAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAIAAAAAQAAAAcAAAABAAAAAAAAAAQAAAADAAAAAAAAAAgAAAADAAAABwAAAAQAAAAAAAAABAAAAAEAAAAAAAAACAAAAAMAAAAHAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACG/QEAAgAAAIEAAAAAAAAAAAAAAAQAAAAAAAAAAAAAABAAAAADAAAADwAAAAEAAAAAAAAABAAAAAIAAAAAAAAAEAAAAAMAAAAPAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI39AQACAAAAgAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAEAAAAAMAAAAPAAAAAQAAAAAAAAAEAAAAAgAAAAAAAAAQAAAAAwAAAA8AAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlP0BAAQAAACwAAAAAAAAAAIAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAABAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAMAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAAAAAAAAAACa/QEABAAAALEAAAAAAAAAAgAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAAAAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAwAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAAAAAAAAAAAAKT9AQAEAAAAsAAAAAAAAAACAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAQAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAADAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAAAAAAAAAAArv0BAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACy/QEAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALf9AQAAAQEACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAw/0BAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADI/QEAAwAAACAAAAAAAAAAAAAAAAQAAAABAAAAAAAAAAgAAAADAAAABwAAAAIAAAAAAAAABAAAAAIAAAAAAAAACAAAAAMAAAAHAAAAAwAAAAAAAAAEAAAAAwAAAAAAAAAIAAAAAwAAAAcAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM39AQADAAAAIAAAAAAAAAAAAAAABAAAAAAAAAAAAAAACAAAAAMAAAAHAAAAAQAAAAAAAAAEAAAAAQAAAAAAAAAIAAAAAwAAAAcAAAACAAAAAAAAAAQAAAACAAAAAAAAAAgAAAADAAAABwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0v0BAAMAAAAgAAAAAAAAAAAAAAAEAAAAAwAAAAAAAAAIAAAAAwAAAAcAAAAEAAAAAAAAAAQAAAACAAAAAAAAAAgAAAADAAAABwAAAAMAAAAAAAAABAAAAAEAAAAAAAAACAAAAAMAAAAHAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADX/QEAAwAAACAAAAAAAAAAAAAAAAQAAAACAAAAAAAAAAgAAAADAAAABwAAAAMAAAAAAAAABAAAAAEAAAAAAAAACAAAAAMAAAAHAAAAAgAAAAAAAAAEAAAAAAAAAAAAAAAIAAAAAwAAAAcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANz9AQADAQEAEQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6P0BAAMBAQAQAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAACAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD0/QEAAwEBABEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAA4AAAABAAAADQAAAAEAAAABAAAAAgAAAAAAAAAAAAAADgAAAAEAAAANAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAOAAAAAQAAAA0AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+AQADAQEAEAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAADgAAAAEAAAANAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAOAAAAAQAAAA0AAAABAAAAAgAAAAIAAAAAAAAAAAAAAA4AAAABAAAADQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADP4BAAMBAAARAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAACAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAY/gEAAwEAABAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAABAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACT+AQADAQAAEQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAADgAAAAEAAAANAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAOAAAAAQAAAA0AAAABAAAAAgAAAAIAAAAAAAAAAAAAAA4AAAABAAAADQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMP4BAAMBAAAQAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAOAAAAAQAAAA0AAAABAAAAAQAAAAIAAAAAAAAAAAAAAA4AAAABAAAADQAAAAEAAAACAAAAAgAAAAAAAAAAAAAADgAAAAEAAAANAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8/gEAAwAAABEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAABAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEj+AQADAAAAEAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVP4BAAMAAAARAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAOAAAAAQAAAA0AAAABAAAAAQAAAAIAAAAAAAAAAAAAAA4AAAABAAAADQAAAAEAAAACAAAAAgAAAAAAAAAAAAAADgAAAAEAAAANAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABg/gEAAwAAABAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAA4AAAABAAAADQAAAAEAAAABAAAAAgAAAAAAAAAAAAAADgAAAAEAAAANAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAOAAAAAQAAAA0AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGz+AQADAAAAMQAAAAAAAAACAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdf4BAAMAAAAwAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAABAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+/gEAAwAAADEAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAA4AAAABAAAADQAAAAEAAAAAAAAAAgAAAAAAAAAAAAAADgAAAAEAAAANAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAOAAAAAQAAAA0AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIf+AQADAAAAMAAAAAAAAAACAAAAAgAAAAAAAAAAAAAADgAAAAEAAAANAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAOAAAAAQAAAA0AAAABAAAAAQAAAAIAAAAAAAAAAAAAAA4AAAABAAAADQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkP4BAAMCAAAQAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAACAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACZ/gEAAwAAACABAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAIAAAAAAAAAAQAAAAEAAAAAAAAAAQAAAAAAAAAAAAAABAAAAAAAAAADAAAAAQAAAAAAAAABAAAAAAAAAAAAAAACAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKX+AQADAAAAIAEAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAgAAAAAAAAABAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAEAAAAAAAAAAMAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAIAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsf4BAAMAAAAgAQAAAAAAAAAAAAABAAAAAAAAAAAAAAACAAAAAAAAAAEAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAQAAAAAAAAAAwAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAgAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC9/gEAAwAAACABAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAIAAAAAAAAAAQAAAAEAAAAAAAAAAQAAAAAAAAAAAAAABAAAAAAAAAADAAAAAQAAAAAAAAABAAAAAAAAAAAAAAACAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMn+AQADAAAAIAEAAAAAAAAAAAAAAgAAAAAAAAAAAAAABAAAAAEAAAADAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAIAAAAAQAAAAcAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2P4BAAMAAAAhAQAAAAAAAAAAAAACAAAAAAAAAAAAAAAEAAAAAQAAAAMAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAgAAAABAAAABwAAAAEAAAAAAAAAAgAAAAAAAAAAAAAABAAAAAEAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADn/gEAAwAAACABAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABAAAAAwAAAAEAAAAAAAAAAgAAAAAAAAAAAAAACAAAAAEAAAAHAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAEAAAAAQAAAAMAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb+AQADAAAAIQEAAAAAAAAAAAAAAgAAAAAAAAAAAAAABAAAAAEAAAADAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAIAAAAAQAAAAcAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABf8BAAMAAAAgAQAAAAAAAAAAAAACAAAAAAAAAAAAAAAEAAAAAQAAAAMAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAgAAAABAAAABwAAAAEAAAAAAAAAAgAAAAAAAAAAAAAABAAAAAEAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAU/wEAAwAAACEBAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABAAAAAwAAAAEAAAAAAAAAAgAAAAAAAAAAAAAACAAAAAEAAAAHAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAEAAAAAQAAAAMAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACP/AQADAAAAIAEAAAAAAAAAAAAAAgAAAAAAAAAAAAAABAAAAAEAAAADAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAIAAAAAQAAAAcAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMv8BAAMAAAAhAQAAAAAAAAAAAAACAAAAAAAAAAAAAAAEAAAAAQAAAAMAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAgAAAABAAAABwAAAAEAAAAAAAAAAgAAAAAAAAAAAAAABAAAAAEAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABB/wEAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEb/AQADAAEAEAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUv8BAAMAAQARAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAACAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABe/wEAAwABABAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAABAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGr/AQADAAEAEQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdv8BAAQAAACAAAAAAAAAAAAAAAAIAAAAAgAAAAAAAAAQAAAABwAAAA8AAAADAAAAAAAAAAgAAAAEAAAAAAAAABAAAAAHAAAADwAAAAUAAAAAAAAACAAAAAYAAAAAAAAAEAAAAAcAAAAPAAAABwAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABwAAAA8AAAABAAAAAAAAAAAAAAB//wEABAAAAIEAAAAAAAAAAAAAAAgAAAACAAAAAAAAABAAAAAHAAAADwAAAAMAAAAAAAAACAAAAAQAAAAAAAAAEAAAAAcAAAAPAAAABQAAAAAAAAAIAAAABgAAAAAAAAAQAAAABwAAAA8AAAAHAAAAAAAAAAgAAAAAAAAAAAAAABAAAAAHAAAADwAAAAEAAAAAAAAAAAAAAIj/AQAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmf8BAAMBAQAQAAAAAAAAAAAAAAACAAAAAAAAAAYAAAAKAAAAAQAAAAkAAAABAAAAAQAAAAQAAAAAAAAABgAAAAoAAAADAAAACQAAAAEAAAABAAAABAAAAAIAAAAGAAAACgAAAAMAAAAJAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACg/wEAAwEBABEAAAAAAAAAAAAAAAIAAAAAAAAABgAAAAoAAAABAAAACQAAAAEAAAABAAAABAAAAAAAAAAGAAAACgAAAAMAAAAJAAAAAQAAAAEAAAAEAAAAAgAAAAYAAAAKAAAAAwAAAAkAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKf/AQAEAAAAsQAAAAAAAAACAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAADAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAAAAAAAAAAAsf8BAAQAAACwAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAABAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAMAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAAAAAAAAAAC7/wEABAAAALEAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAAAAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAwAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAAAAAAAAAAAAMX/AQAEAAAAsAAAAAAAAAACAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAADAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAAAAAAAAAAAz/8BAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADa/wEAAQAAAAEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADj/wEAAAAAAOn/AQABAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPL/AQAAAAAA+P8BAAEAAAABAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQACAAAAAAAHAAIAAQAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAIAAAAAABYAAgADAQEAEAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAEAAAAEAAAAAAAAAAAAAAAQAAAAAwAAAA8AAAABAAAAAQAAAAQAAAACAAAAAAAAABAAAAADAAAADwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQACAAMBAQARAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAQAAAAQAAAAAAAAAAAAAABAAAAADAAAADwAAAAEAAAABAAAABAAAAAIAAAAAAAAAEAAAAAMAAAAPAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAIAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACoAAgABAAAAAQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADIAAgAAAAAANwACAAEAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPwACAAAAAABEAAIAAwAAADECAAAAAAAAAgAAAAQAAAAAAAAAAAAAACAAAAADAAAAHwAAAAEAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAMAAAAfAAAAAQAAAAEAAAAEAAAAAAAAAAAAAAAgAAAAAwAAAB8AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE4AAgADAAAAMAIAAAAAAAACAAAABAAAAAAAAAAAAAAAIAAAAAMAAAAfAAAAAQAAAAAAAAAEAAAAAAAAAAAAAAAgAAAAAwAAAB8AAAABAAAAAQAAAAQAAAAAAAAAAAAAACAAAAADAAAAHwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AAAAAAAA4EMZAAAAAAAAAP+BAgDngQIAKAAAAAIAAAAA9AEAAAAAAAAAAAAAAAAAAADA////30EJAAAAAAAAAAKCAgAFggIAMAAAAAEAAAAACT0AAAAAAAAAAAAAAPA/AADA////30ERAAAAAAAAABmDAgAAAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg////70E7AAAAGYMCAB+DAgApgwIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAGYMCAFSDAgBYgwIAAAAAAAoAAAAEAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAGYMCAIiDAgCNgwIAAAAAAAoAAAAQAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAGYMCAK2DAgCygwIAAAAAAAoAAAAACAAAAAAAAAAAAAAAAODBAADA////30ERAAAAGYMCAMKDAgDJgwIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAGYMCANqDAgDggwIAAAAAAAoAAAAAAgAAAAAAAAAAAAAAAODBAADA////30EAAAAAGYMCABSEAgAahAIAAAAAAAoAAAAABAAAAAAAAAAAAAAAAODBAADA////30EAAAAAGYMCAE6EAgBThAIAAAAAAAoAAAAAIAAAAAAAAAAAAAAAAODBAADA////30ETAAAAGYMCAHCEAgB1hAIAAAAAAAoAAAAAgAAAAAAAAAAAAAAAAODBAADA////30ERAAAAGYMCAKSEAgCuhAIAAAAAAAoAAAAAAAEAAAAAAAAAAAAAAODBAADA////30ESAAAAGYMCANqEAgDghAIAAAAAAAoAAAAAAAQAAAAAAAAAAAAAAODBAADA////30ERAAAAGYMCAPOEAgD9hAIAAAAAAAoAAAAAAAgAAAAAAAAAAAAAAODBAADA////30ETAAAAGYMCAA2FAgAbhQIAAAAAAAoAAAAAAEAAAAAAAAAAAAAAAODBAADA////30EZAAAAGYMCAFeFAgBghQIAAAAAAAoAAAAAAIAAAAAAAAAAAAAAAODBAADA////30E7AAAAGYMCAIyFAgCQhQIAAAAAAAoAAAAAAAABAAAAAAAAAAAAAODBAADA////30ERAAAAGYMCAMOFAgDIhQIAAAAAAAoAAAAAAAAgAAAAAAAAAAAAAODBAADA////30ERAAAAGYMCAOWFAgDqhQIAAAAAAAoAAAAAAACAAAAAAAAAAAAAAODBAADA////30ERAAAAGYMCAPWFAgAEhgIAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAGYMCAC2GAgAyhgIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAWoYCAGGGAgBnhgIAAAAAAAoAAAAEAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAWoYCAH+GAgCKhgIAAAAAAAoAAAAAAAEAAAAAAAAAAAAAAODBAADA////30ESAAAAWoYCAK+GAgC8hgIAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAWoYCAPuGAgAChwIAAAAAAAoAAAAAgAAAAAAAAAAAAAAAAODBAADA////30ESAAAAWoYCADGHAgA5hwIAAAAAAAoAAAAAAEAAAAAAAAAAAAAAAODBAADA////30ESAAAAWoYCAGOHAgBuhwIAAAAAAAoAAAAAAAAQAAAAAAAAAAAAAODBAADA////30ESAAAAWoYCAJyHAgCohwIAAAAAAAoAAAAAAAAgAAAAAAAAAAAAAODBAADA////30ESAAAAWoYCAOuHAgD9hwIAAAAAAAoAAAAAAABAAAAAAAAAAAAAAODBAADA////30EiAAAAWoYCACeIAgAAAAAATAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30EAAAAAAAAAADGIAgAziAIAbAAAAAEAAAAMAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAFeIAgBaiAIAWAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30ELAAAAAAAAAHqIAgB9iAIAXAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30ELAAAAAAAAAJqIAgChiAIAcAEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAAAAAALaIAgAAAAAAZAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30EJAAAAAAAAAMGIAgAAAAAAaAEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAAM6IAgAAAAAAWAAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAANSIAgDaiAIAmAEAAAQAAAAAAAAAAADgPwAAAOD//+/HAAAA4P//70cRAAAAAAAAAFKJAgBYiQIAnAEAAAQAAAAAAAAAAADgPwAAAAAAAPC/AAAA4P//70cRAAAAAAAAAHmJAgB+iQIAoAEAAAEAAAACAAAAAAAAAAAAAAAAAPC/AAAAAABAUUARAAAAAAAAAKKJAgCniQIApAEAAAEAAAAfAAAAAAAAAAAAAAAAAPC/AAAAAAAAkEARAAAAAAAAAMuJAgDRiQIAqAEAAAEAAAADAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAAeKAgAKigIAfAAAAAEAAAAAAAAAAAAAAAAAAAAAAPC/AADA////30ERAAAAAAAAAD6KAgBIigIAgAAAAAQAAAAAAAAAAAD0PwAAAOD//+/HAAAA4P//70cRAAAAAAAAAGqKAgB1igIAhAAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAJ2KAgCgigIABAIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAALqKAgAAAAAACAIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAAMKKAgAAAAAADAIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAAM6KAgAAAAAAEAIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAANmKAgAAAAAAFAIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAAOSKAgAAAAAAGAIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAAOyKAgAAAAAAHAIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAAPSKAgAAAAAAIAIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAAP+KAgAAAAAAJAIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAAAmLAgAAAAAAKAIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAABSLAgAAAAAAFAAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAAB6LAgAiiwIANAIAAAAAAAABAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAHosCAEyLAgAAAAAAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAHosCAFeLAgBiiwIAAAAAAAoAAAAEAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAHosCAJiLAgCdiwIAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAHosCAL6LAgDJiwIAAAAAAAoAAAAQAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAHosCAOSLAgAAAAAAAAAAAAoAAAAgAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAHosCAOiLAgAAAAAAAAAAAAoAAABAAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAHosCAPSLAgD9iwIAAAAAAAoAAACAAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAHosCADGMAgAAAAAAAAAAAAoAAAAAAQAAAAAAAAAAAAAAAODBAADA////30ESAAAAHosCAD6MAgBPjAIAAAAAAAoAAAAAAgAAAAAAAAAAAAAAAODBAADA////30ESAAAAHosCAIuMAgCQjAIAAAAAAAoAAAAABAAAAAAAAAAAAAAAAODBAADA////30ESAAAAHosCAMOMAgAAAAAAAAAAAAoAAAAACAAAAAAAAAAAAAAAAODBAADA////30ESAAAAHosCAM+MAgAAAAAAAAAAAAoAAAAAEAAAAAAAAAAAAAAAAODBAADA////30ESAAAAHosCANeMAgDajAIAAAAAAAoAAAAAIAAAAAAAAAAAAAAAAODBAADA////30ESAAAAHosCABKNAgAYjQIAAAAAAAoAAAAAQAAAAAAAAAAAAAAAAODBAADA////30ESAAAAHosCACmNAgAAAAAAAAAAAAoAAAAAgAAAAAAAAAAAAAAAAODBAADA////30ESAAAAHosCAC+NAgA2jQIAOAIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EbAAAAL40CAFuNAgBgjQIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30EbAAAAL40CAC+NAgCyjQIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30EbAAAAL40CAAGOAgAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EbAAAAL40CAAiOAgATjgIAAAAAAAoAAAD//////////wAAAAAAAODBAADA////30EbAAAAL40CAC+OAgA8jgIAAAAAAAoAAAD+/////////wAAAAAAAODBAADA////30EbAAAAL40CAGeOAgBxjgIAiAAAAAQAAAAAAAAAAAD0PwAAAOD//+/HAAAA4P//70cRAAAAAAAAAJOOAgCejgIARAIAAAAAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EaAAAAk44CALiOAgDBjgIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30EaAAAAk44CANaOAgDgjgIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30EaAAAAk44CAAqPAgARjwIAAAAAAAoAAAAEAAAAAAAAAAAAAAAAAODBAADA////30EaAAAAk44CADKPAgA6jwIAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODBAADA////30EaAAAAk44CAGKPAgBtjwIAAAAAAAoAAAAAgAAAAAAAAAAAAAAAAODBAADA////30EaAAAAk44CAHuPAgCDjwIAAAAAAAoAAAAAAAEAAAAAAAAAAAAAAODBAADA////30EaAAAAk44CAOmPAgDzjwIAAAAAAAoAAAAAAAIAAAAAAAAAAAAAAODBAADA////30EaAAAAk44CACCQAgArkAIAAAAAAAoAAAAAAAQAAAAAAAAAAAAAAODBAADA////30EaAAAAk44CAGmQAgAAAAAAjAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30EAAAAAAAAAAHaQAgAAAAAAbAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30EAAAAAAAAAAIKQAgCNkAIAkAAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAALKQAgAAAAAAsAEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAAMSQAgDMkAIAuAEAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30EZAAAAAAAAAA2RAgAVkQIAwAEAAAIAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EZAAAAAAAAAHmRAgCBkQIArAEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EZAAAAAAAAAKeRAgCxkQIAlAAAAAQAAACamZmZmZnpvwAAAOD//+/HAAAA4P//70cRAAAAAAAAANORAgDdkQIAmAAAAAQAAAAAAAAAAAAAAAAAAOD//+/HAAAA4P//70cRAAAAAAAAAP+RAgADkgIAmAIAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30ERAAAA/5ECABGSAgAWkgIAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA/5ECACySAgA0kgIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA/5ECAG+8AgBBkgIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA/5ECAFKSAgAAAAAAAAAAAAoAAAADAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA/5ECAFaSAgAAAAAAAAAAAAoAAAAFAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA/5ECAF6SAgBjkgIAAAAAAAoAAAAGAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA/5ECAHqSAgCEkgIAnAAAAAQAAAAAAAAAAAAAAAAAAOD//+/HAAAA4P//70cRAAAAAAAAALaSAgDBkgIAoAAAAAQAAAAAAAAAAAAAAAAAAOD//+/HAAAA4P//70cRAAAAAAAAAN2SAgDokgIApAAAAAQAAAAAAAAAAAAAAAAAAOD//+/HAAAA4P//70cRAAAAAAAAAAOTAgAKkwIAqAAAAAQAAAAAAAAAAAAAAAAAAOD//+/HAAAA4P//70cRAAAAAAAAABiTAgAikwIArAAAAAQAAAAAAAAAAAAAAAAAAOD//+/HAAAA4P//70cRAAAAAAAAAFKTAgBXkwIAnAIAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30ETAAAAUpMCABGSAgAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAUpMCAG+8AgAAAAAAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAUpMCAHKTAgAAAAAAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAUpMCAHmTAgAAAAAAAAAAAAoAAAADAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAUpMCAIOTAgAAAAAAAAAAAAoAAAAHAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAUpMCAFaSAgAAAAAAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAUpMCAIeTAgAAAAAAAAAAAAoAAAAKAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAUpMCAJGTAgAAAAAAAAAAAAoAAAAQAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAUpMCAJ+TAgAAAAAAAAAAAAoAAAARAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAUpMCAKuTAgAAAAAAAAAAAAoAAAAWAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAUpMCALaTAgAAAAAAAAAAAAoAAAAOAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAUpMCALuTAgDDkwIAAAAAAAoAAAAOAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAUpMCAOaTAgDskwIAAAAAAAoAAAAUAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAUpMCAASUAgAAAAAAAAAAAAoAAACAAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAUpMCAA+UAgAAAAAAsAAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAABuUAgAelAIAPAIAAAAAAAADAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAG5QCAD2UAgBHlAIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAG5QCAHKUAgB6lAIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAG5QCAKSUAgCwlAIAAAAAAAoAAAAAAQAAAAAAAAAAAAAAAODBAADA////30ESAAAAG5QCANmUAgAAAAAAoAIAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30EAAAAAAAAAAO+UAgD0lAIAtAAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA75QCAAaVAgAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA75QCAAuVAgAAAAAAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA75QCABGVAgAAAAAAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA75QCABiVAgAflQIAvAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJEARAAAAAAAAADOVAgAflQIAvAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJEARAAAAAAAAADeVAgA9lQIAQAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30E7AAAAN5UCAFeVAgBclQIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAN5UCAGmVAgBslQIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAN5UCANaOAgAAAAAAAAAAAAoAAAAEAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAN5UCAHmVAgCBlQIAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAN5UCAJaVAgCZlQIAAAAAAAoAAAAQAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAN5UCAL+VAgAAAAAAAAAAAAoAAABAAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAN5UCAMmVAgAAAAAAAAAAAAoAAAAAAIAAAAAAAAAAAAAAAODBAADA////30ESAAAAN5UCANiVAgAAAAAAAAAAAAoAAACAAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAN5UCAN2VAgAAAAAAAAAAAAoAAAAAAQAAAAAAAAAAAAAAAODBAADA////30ESAAAAN5UCAOeVAgDqlQIAAAAAAAoAAAAABAAAAAAAAAAAAAAAAODBAADA////30ESAAAAN5UCAPyVAgABlgIAAAAAAAoAAAAACAAAAAAAAAAAAAAAAODBAADA////30ESAAAAN5UCAC6WAgAAAAAAAAAAAAoAAAAAEAAAAAAAAAAAAAAAAODBAADA////30ESAAAAN5UCADOWAgA7lgIAAAAAAAoAAAAAgAAAAAAAAAAAAAAAAODBAADA////30ESAAAAN5UCAFaWAgBhlgIAAAAAAAoAAAAAAAEAAAAAAAAAAAAAAODBAADA////30EaAAAAN5UCAHaWAgB7lgIAAAAAAAoAAAAAAAABAAAAAAAAAAAAAODBAADA////30EaAAAAN5UCAJSWAgCYlgIAxAAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAtZYCAL6WAgDFlgIAyAAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAtZYCAOGWAgDnlgIAzAAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAtZYCAAOXAgAMlwIA0AAAAAEAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAtZYCACyXAgA1lwIA1AAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAF+XAgBplwIA2AAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAJ2XAgCjlwIA3AAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAALmXAgDAlwIA4AAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAtZYCAOeXAgDrlwIAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAtZYCAA2YAgARmAIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAtZYCACeYAgAsmAIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAtZYCAP+RAgBdmAIAAAAAAAoAAAADAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAtZYCAHCEAgCJmAIAAAAAAAoAAAAEAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAtZYCAMGYAgDFmAIAAAAAAAoAAAAFAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAtZYCAOmYAgDsmAIAAAAAAAoAAAAGAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAtZYCAAqZAgAPmQIAAAAAAAoAAAAHAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAtZYCABGZAgAWmQIAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAtZYCADuZAgBAmQIAAAAAAAoAAAAJAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAtZYCAGSZAgBpmQIAAAAAAAoAAAAKAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAtZYCAJWZAgAAAAAAAAAAAAoAAAANAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAtZYCAJyZAgAAAAAAAAAAAAoAAAAAAQAAAAAAAAAAAAAAAODBAADA////30ERAAAAtZYCAKOZAgComQIAAAAAAAoAAAAPAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAtZYCANaZAgDjmQIA5AAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAABaaAgAbmgIA6AAAAAEAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAD2aAgBGmgIA7AAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAHiaAgAAAAAANAAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EZAAAAAAAAAIeaAgAAAAAA1AEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAh5oCAI2aAgCRmgIAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAh5oCAHqIAgC3mgIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAh5oCAMiaAgDMmgIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAh5oCAN6aAgDimgIAAAAAAAoAAAADAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAh5oCAPOaAgD7mgIA2AEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAAmbAgAAAAAA8AAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAABWbAgAZmwIA9AAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEARAAAAFZsCAHKTAgBLmwIAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAFZsCAFWbAgBamwIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAFZsCAOmYAgBqmwIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAFZsCAIObAgCQmwIAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAKebAgCqmwIABAEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAALqbAgDMmwIA0AEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAFqGAgAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg////70EbAAAAWoYCABycAgAknAIAsAIAAAEAAAABAAAAAAAAAAAAAAAAAAAAAADA////30EbAAAAHJwCABGSAgA+nAIAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAHJwCAG2cAgBwnAIACAEAAAEAAAAAAAAAAAAAAAAAAAAAACDAAAAAAAAAMEARAAAAAAAAAIOcAgCJnAIAyAIAAAEAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAJWcAgCenAIADAEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAAAAAANWcAgDhnAIAEAEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAAAAAABudAgAAAAAAzAIAAAEAAACd/////////wAAAAAAAODBAADA////30EZAAAAG50CACOdAgAAAAAAAAAAAAoAAACd/////////wAAAAAAAODBAADA////30EZAAAAG50CACudAgAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAG50CADSdAgAAAAAAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAG50CADydAgAAAAAAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAG50CAESdAgAAAAAAAAAAAAoAAAADAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAG50CAEydAgAAAAAAAAAAAAoAAAAEAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAG50CAFOdAgAAAAAAAAAAAAoAAAAcAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAG50CAF2dAgAAAAAAAAAAAAoAAAAWAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAG50CAGSdAgAAAAAAAAAAAAoAAAAmAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAG50CAGydAgAAAAAAAAAAAAoAAACAAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAG50CAHqdAgAAAAAAAAAAAAoAAACDAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAG50CAIedAgAAAAAAAAAAAAoAAAAUAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAG50CAIudAgAAAAAAAAAAAAoAAAAeAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAG50CAJKdAgAAAAAAAAAAAAoAAAAoAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAG50CAJydAgAAAAAAAAAAAAoAAAAyAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAG50CAKedAgAAAAAAAAAAAAoAAAA8AAAAAAAAAAAAAAAAAODBAADA////30EJAAAAG50CALGdAgAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAG50CALqdAgAAAAAAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAG50CAMWdAgAAAAAAAAAAAAoAAAADAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAG50CANCdAgAAAAAAAAAAAAoAAAAPAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAG50CANqdAgAAAAAAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAG50CAOGdAgAAAAAAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAG50CAOadAgAAAAAA0AIAAAEAAACd/////////wAAAAAAAODBAADA////30EZAAAA5p0CACOdAgAAAAAAAAAAAAoAAACd/////////wAAAAAAAODBAADA////30EZAAAA5p0CAOydAgDznQIAqAIAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30EaAAAAAAAAAB6eAgAtngIA3AEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAEKeAgBOngIA4AEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAGCeAgBpngIA5AEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAH2eAgCFngIA6AEAAAEAAAANAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAtZYCAKGeAgCongIAFAEAAAEAAADsAAAAAAAAAAAAAAAAAPA/AAAAAMD/30ARAAAAAAAAANGeAgDYngIAGAEAAAEAAABKDgAAAAAAAAAAAAAAAPA/AAAAAMD/30ARAAAAAAAAAAGfAgAGnwIAHAEAAAEAAAAAAQAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAEGfAgBSnwIA1AIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAhp8CAJCfAgCanwIA2AIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAhp8CAMufAgDWnwIA3AIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAhp8CAPyfAgABoAIAAAAAAAoAAADw/////////wAAAAAAAODBAADA////30ESAAAAhp8CABKgAgAaoAIAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAhp8CADGgAgA3oAIAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAhp8CAFigAgBeoAIAAAAAAAoAAAAQAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAhp8CAH+gAgCFoAIAAAAAAAoAAAAgAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAhp8CAKmgAgCxoAIAAAAAAAoAAAAYAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAhp8CANSgAgDYoAIAAAAAAAoAAAAwAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAhp8CAOugAgD4oAIAIAEAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAEEARAAAAAAAAADihAgBCoQIAJAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJEARAAAAAAAAAHChAgB7oQIAKAEAAAEAAAAZAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAJ+hAgCkoQIALAEAAAEAAAABAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAANmhAgDmoQIAMAEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAAGiAgAJogIA7AEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EZAAAAAAAAAC6iAgAAAAAANAEAAAEAAAAAAQAAAAAAAAAAAAAAAAAAAADA////30ERAAAAAAAAADyiAgBKogIAOAEAAAEAAAAoAAAAAAAAAAAAAAAAAPA/AADA////30ERAAAAAAAAAHOiAgAAAAAAOAAAAAEAAAD//////////wAAAAAAAODBAADA////30EZAAAAAAAAAIWiAgAAAAAA8AEAAAEAAAD//////////wAAAAAAAODBAADA////30EJAAAAAAAAAJqiAgAAAAAA9AEAAAEAAAD//////////wAAAAAAAODBAADA////30EJAAAAAAAAAK+iAgDEogIA+AEAAAIAAAD//////////wAAAAAAAPC/AAAAAAAA4EMRAAAAAAAAAP6iAgAAAAAApAIAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30EAAAAAAAAAABKjAgAAAAAAeAEAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8EMLAAAAEqMCACGjAgAAAAAAgAEAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8EMKAAAAIaMCADijAgAAAAAAyAEAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4P//70cRAAAAAAAAAEejAgAAAAAAzAEAAAQAAAAAAAAAAAAIQAAAAAAAAAAAAAAA4P//70cRAAAAAAAAAFajAgAAAAAAVAAAAAEAAAABAAAAAAAAAAAAAAAAAPA/AADA////30EbAAAAAAAAAGajAgB2owIAPAEAAAEAAAACAAAAAAAAAAAAAAAAAPA/AADA////30ETAAAAhqMCAJujAgChowIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAhqMCACOdAgCoowIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAhqMCALSjAgC7owIAAAAAAAoAAAAEAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAhqMCAMSjAgDMowIAAAAAAAoAAAAFAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAhqMCANajAgDgowIAAAAAAAoAAAAGAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAhqMCAOyjAgD2owIAAAAAAAoAAAAHAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAhqMCAAKkAgAHpAIAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAhqMCAAykAgATpAIAAAAAAAoAAAAJAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAhqMCABukAgAkpAIAAAAAAAoAAAAKAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAhqMCADCkAgAkpAIAAAAAAAoAAAAKAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAhqMCADukAgBEpAIAAAAAAAoAAAALAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAhqMCAFCkAgBZpAIAAAAAAAoAAAAMAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAhqMCAGWkAgBvpAIAAAAAAAoAAAAWAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAhqMCAHmkAgCoowIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAhqMCAIWkAgCPpAIAQAEAAAEAAAACAAAAAAAAAAAAAAAAAPA/AADA////30ETAAAArqQCAJujAgChowIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ETAAAArqQCACOdAgCoowIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ETAAAArqQCAL2kAgC7owIAAAAAAAoAAAAEAAAAAAAAAAAAAAAAAODBAADA////30ETAAAArqQCAMWkAgDMowIAAAAAAAoAAAAFAAAAAAAAAAAAAAAAAODBAADA////30ETAAAArqQCANajAgDgowIAAAAAAAoAAAAGAAAAAAAAAAAAAAAAAODBAADA////30ETAAAArqQCAOyjAgD2owIAAAAAAAoAAAAHAAAAAAAAAAAAAAAAAODBAADA////30ETAAAArqQCAM2kAgDUpAIAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ETAAAArqQCANukAgDipAIAAAAAAAoAAAAJAAAAAAAAAAAAAAAAAODBAADA////30ETAAAArqQCAOakAgDtpAIAAAAAAAoAAAAKAAAAAAAAAAAAAAAAAODBAADA////30ETAAAArqQCAP2kAgAKpQIAAAAAAAoAAAALAAAAAAAAAAAAAAAAAODBAADA////30ETAAAArqQCABilAgAgpQIAAAAAAAoAAAAMAAAAAAAAAAAAAAAAAODBAADA////30ETAAAArqQCACilAgA1pQIAAAAAAAoAAAANAAAAAAAAAAAAAAAAAODBAADA////30ETAAAArqQCAEOlAgBNpQIAAAAAAAoAAAAOAAAAAAAAAAAAAAAAAODBAADA////30ETAAAArqQCAF6lAgBopQIAAAAAAAoAAAAPAAAAAAAAAAAAAAAAAODBAADA////30ETAAAArqQCAHmlAgCDpQIAAAAAAAoAAAAQAAAAAAAAAAAAAAAAAODBAADA////30ETAAAArqQCABukAgAkpAIAAAAAAAoAAAARAAAAAAAAAAAAAAAAAODBAADA////30ETAAAArqQCAI6lAgCbpQIAAAAAAAoAAAASAAAAAAAAAAAAAAAAAODBAADA////30ETAAAArqQCAHmkAgCoowIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ETAAAArqQCAKilAgDipAIAAAAAAAoAAAAJAAAAAAAAAAAAAAAAAODBAADA////30ETAAAArqQCAKylAgDtpAIAAAAAAAoAAAAKAAAAAAAAAAAAAAAAAODBAADA////30ETAAAArqQCALWlAgAKpQIAAAAAAAoAAAALAAAAAAAAAAAAAAAAAODBAADA////30ETAAAArqQCAMKlAgAgpQIAAAAAAAoAAAAMAAAAAAAAAAAAAAAAAODBAADA////30ETAAAArqQCAMmlAgA1pQIAAAAAAAoAAAANAAAAAAAAAAAAAAAAAODBAADA////30ETAAAArqQCANalAgBNpQIAAAAAAAoAAAAOAAAAAAAAAAAAAAAAAODBAADA////30ETAAAArqQCAOOlAgBopQIAAAAAAAoAAAAPAAAAAAAAAAAAAAAAAODBAADA////30ETAAAArqQCADCkAgAkpAIAAAAAAAoAAAARAAAAAAAAAAAAAAAAAODBAADA////30ETAAAArqQCAPClAgD7pQIARAEAAAEAAAACAAAAAAAAAAAAAAAAAAAAAADA////30ETAAAAB6YCABemAgAbpgIAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAB6YCAJujAgChowIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAB6YCACOdAgCoowIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAB6YCAB+mAgAjpgIAAAAAAAoAAAAEAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAB6YCAMSjAgDMowIAAAAAAAoAAAAFAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAB6YCANajAgDgowIAAAAAAAoAAAAGAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAB6YCAOyjAgD2owIAAAAAAAoAAAAHAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAB6YCACemAgAtpgIAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAB6YCADOmAgA8pgIAAAAAAAoAAAAJAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAB6YCAEimAgBQpgIAAAAAAAoAAAAKAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAB6YCAFumAgBlpgIAAAAAAAoAAAALAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAB6YCAHmkAgCoowIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAB6YCAHCmAgAtpgIAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAB6YCAHamAgA8pgIAAAAAAAoAAAAJAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAB6YCAIGmAgBQpgIAAAAAAAoAAAAKAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAB6YCAIumAgCXpgIASAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30ETAAAAo6YCACOdAgCoowIAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAo6YCALSmAgC3pgIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAo6YCAMqmAgDNpgIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAo6YCAHmkAgCoowIAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAo6YCANqmAgC3pgIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAo6YCAN+mAgDNpgIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAo6YCAOSmAgD7pgIATAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30ETAAAAEqcCACOdAgCoowIAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAEqcCAAaVAgAupwIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAEqcCADOnAgA6pwIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAEqcCAEGnAgBJpwIAAAAAAAoAAAADAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAEqcCAFKnAgBWpwIAAAAAAAoAAAAEAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAEqcCAFqnAgBlpwIAAAAAAAoAAAAFAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAEqcCAHGnAgB4pwIAAAAAAAoAAAAGAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAEqcCAHmkAgCoowIAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAEqcCAH+nAgCQpwIABAAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAAKmnAgCwpwIAUAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30ERAAAAAAAAAOinAgD0pwIAtAIAAAAAAAADAAAAAAAAAAAAAAAAAAAAAADA////30EbAAAA6KcCAA+oAgAAAAAAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA6KcCABWoAgAAAAAAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA6KcCABuoAgAuqAIAiAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAJAAAAG6gCAEGoAgBEqAIAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAG6gCAFeoAgBaqAIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAG6gCAGKoAgBlqAIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAG6gCAHeoAgB6qAIAAAAAAAoAAAADAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAG6gCAIuoAgCOqAIAAAAAAAoAAAAEAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAG6gCAJeoAgCaqAIAAAAAAAoAAAAFAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAG6gCAKWoAgCoqAIAAAAAAAoAAAAGAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAG6gCALKoAgC1qAIAAAAAAAoAAAAHAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAG6gCAMCoAgDDqAIAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAG6gCAMuoAgDeqAIAjAEAAA0AAAD//////////wAAAAAAAPC/AADA////30EKAAAAy6gCAAmpAgAAAAAABAMAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30EAAAAAAAAAABapAgAiqQIAMAMAAAUAAAAAAAAAAAAAAAAAAAAAAGDAAAAAAADAX0AiAAAAAAAAAE6pAgBfqQIANAMAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AADA////30EiAAAATqkCAJCpAgAAAAAAAAAAAAoAAAD//////////wAAAAAAAODBAADA////30EiAAAATqkCABGSAgAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EiAAAATqkCAJupAgAAAAAAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30EiAAAATqkCAKepAgC3qQIAYAMAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAA8D8iAAAAp6kCANipAgAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EiAAAAp6kCANypAgAAAAAAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30EiAAAAp6kCAO2pAgAAAAAAlAEAABIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8D8aAAAAAAAAAP+pAgAAAAAA8AIAABIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAA8D8ZAAAAAAAAABaqAgAAAAAAeAMAABIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAA8D8SAAAAAAAAACWqAgAwqgIAOAMAABIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8D8SAAAAAAAAAEaqAgBSqgIAVAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFEATAAAARqoCAF6qAgAAAAAAAAAAAAoAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAARqoCAGqqAgAAAAAAAAAAAAoAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAARqoCAG2qAgAAAAAAAAAAAAoAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAARqoCAHCqAgAAAAAAAAAAAAoAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAARqoCAAKCAgAAAAAAAAAAAAoAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAARqoCAHOqAgCCqgIASAMAAAUAAAAAAAAAAAAAAAAAAAAAAGDAAAAAAADAX0A7AAAAAAAAAKeqAgC3qgIATAMAAAUAAAAAAAAAAAAAAAAAAAAAAGDAAAAAAADAX0A6AAAAAAAAAOSqAgDxqgIAcAAAAAwAAAD//////////wAAAAAAAPC/AADA////30EAAAAAAAAAAAKrAgANqwIAXAAAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30EAAAAAAAAAAByrAgAnqwIAaAMAAAIAAAD///9/AAAAAAAAAAAAAAAAAADA////30E7AAAAAAAAAECrAgAAAAAAdAMAAAAAAAABAAAAAAAAAAAAAAAAAAAAAADg////70ESAAAAQKsCAE6rAgBbqwIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAQKsCANurAgDsqwIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAQKsCAGGsAgB4rAIAAAAAAAoAAAAEAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAQKsCAOCsAgDwrAIAfAMAAAEAAAD//////////wAAAAAAAPC/AADA////30ESAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEy+AQABwQIAAAAAAAEAAAAwJQAAAAAAAEy+AQDCwAIAAAAAAAEAAAAwJQAAAAAAAJy9AQCjwAIAnL0BAITAAgCcvQEAZcACAJy9AQBGwAIAnL0BACfAAgCcvQEACMACAJy9AQDpvwIAnL0BAMq/AgCcvQEAq78CAJy9AQCMvwIAnL0BAG2/AgCcvQEATr8CAAUAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAACAAAA4f8DAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAACAAAAOMQCAAAEAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAr/////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJy9AQAZwgIAxL0BAHnCAgCQ5AAAAAAAAMS9AQAmwgIAoOQAAAAAAACcvQEAR8ICAMS9AQBUwgIAgOQAAAAAAADEvQEAW8MCAHjkAAAAAAAAxL0BAGvDAgC45AAAAAAAAMS9AQCgwwIAkOQAAAAAAADEvQEAfMMCANjkAAAAAAAAxL0BAMLDAgCQ5AAAAAAAABS+AQDqwwIAFL4BAOzDAgAUvgEA5YECABS+AQAHRwIAFL4BAO/DAgAUvgEA8cMCABS+AQDzwwIAFL4BAPXDAgAUvgEA98MCABS+AQD5wwIAFL4BAPvDAgAUvgEA/cMCABS+AQD/wwIAFL4BAAHEAgDEvQEAA8QCAIDkAAAAAAAACOUAABjlAAA4JQAAUCUAAFAlAABY5QAAWOUAAEjlAABY5QAASOUAAAjlAABgJQAAOCUAAAjlAABgJQAAUCUAAAjlAABgJQAACOUAAKglAAC4JQAAUCUAAFAlAAAAAAAAqCUAAAEAAAACAAAAAAAAAIglAAABAAAAAwAAAAAAAABYJQAABAAAAAUAAAAAAAAA4CUAAAYAAAAHAAAACAAAAAEAAAABAAAAAgAAAAAAAADYJQAACQAAAAoAAAALAAAAAwAAAAIAAAABAAAAUCUAADglAABQJQAAeAAAAAJQAQAAAAAAAAAAAAAAAAAAAAAAaAAAAAEAAAABAAAADAAAAAAAAAAAAAAAAQAAAP////9BxDQAQdAAABHEAAAD4gAACf0AAAIoAAACIgAAByIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACfoAABXbAAAFyQAAFdUAAAXPAAAWMwAABicAABKbAAAUwAAAFJkAABSTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABXVAAAFzwAAFdUAAAXPAAAV1QAABc8AAAB3AQCIWAEAAPoAAIC7AABErAAAAH0AAMBdAAAiVgAAgD4AAOAuAAARKwAAQB8AALYcAAAAAAAAAAAAAAAAAAABAAAAAAAAAEzbAQAAAAAACgAAAAAAAAAAAAAAAgAAAAAAAABX2wEAAAAAAAoAAAAAAAAAAAAAAAMAAAAAAAAAYtsBAAAAAAACAAAAAAAAAAAAAAAEAAAAAAAAAGfbAQAAAAAACgAAAAAAAAAAAAAABQAAAAAAAABs2wEAAAAAAAIAAAAAAAAAAAAAAAYAAAAAAAAAcdsBAAAAAAAKAAAAAAAAAAAAAAAHAAAAAAAAAHbbAQAAAAAAAwAAAIAXAQAAAAAACAAAAAAAAAB82wEAAAAAAAMAAAAAAAAAAAAAAAkAAAAAAAAAg9sBAAAAAAAFAAAAAAAAAAAAAAAKAAAAAAAAAInbAQAAAAAAAwAAAAAAAAAAAAAACwAAAAAAAACO2wEAAAAAAAcAAAAAAAAAAAAAAAwAAAAAAAAAldsBAAAAAAAKAAAAAAAAAAAAAAANAAAAAAAAAJvbAQAAAAAABQAAAAAAAAAAAAAADgAAAAAAAACk2wEAAAAAAAIAAAAAAAAAAAAAAA8AAAAAAAAArtsBAAAAAAACAAAAAAAAAAAAAAAQAAAAAAAAALjbAQAAAAAAAgAAAAAAAAAAAAAAEQAAAAAAAADC2wEAAAAAAAIAAAAAAAAAAAAAABIAAAAAAAAAx9sBAAAAAAACAAAAAAAAAAAAAAATAAAAAAAAAMzbAQAAAAAACgAAAAAAAAAAAAAAFAAAAAAAAADS2wEAAAAAAAoAAAAAAAAAAAAAABUAAAAAAAAA2NsBAAAAAAACAAAAAAAAAAAAAAAWAAAAAAAAAN3bAQAAAAAAAgAAAAAAAAAAAAAAFwAAAAAAAADi2wEAAAAAAAoAAAAAAAAAAAAAABgAAAAAAAAA59sBAAAAAAADAAAAAAAAAAAAAAAZAAAAAAAAAO/bAQAAAAAABQAAAAAAAAAAAAAAGgAAAAAAAAD32wEAAAAAAAMAAAAAAAAAAAAAABsAAAAAAAAAX/gBAAAAAAAOAAAAAAAAAAAAAAAcAAAAAAAAAPzbAQAAAAAAAgAAAAAAAAAAAAAAHQAAAAAAAAAD3AEAAAAAAAIAAAAAAAAAAAAAAB4AAAAAAAAAB9wBAAAAAAACAAAAAAAAAAAAAAAfAAAAAAAAAA7cAQAAAAAAAwAAAAAAAAAAAAAAIAAAAAAAAAAT3AEAAAAAAAMAAAAAAAAAAAAAACEAAAAAAAAAGNwBAAAAAAAEAAAAAAAAAAAAAAAiAAAAAAAAAB3cAQAAAAAAAgAAAAAAAAAAAAAAIwAAAAAAAAAh3AEAAAAAAAMAAAAAAAAAAAAAACQAAAAAAAAAJtwBAAAAAAADAAAAAAAAAAAAAAAlAAAAAAAAACvcAQAAAAAAAwAAAAAAAAAAAAAAJgAAAAAAAAAw3AEAAAAAAAIAAAAAAAAAAAAAACcAAAAAAAAANNwBAAAAAAACAAAAAAAAAAAAAAAoAAAAAAAAAEPcAQAAAAAAAgAAAAAAAAAAAAAAKQAAAAAAAABL3AEAAAAAAAIAAAAAAAAAAAAAACoAAAAAAAAAU9wBAAAAAAACAAAAAAAAAAAAAAArAAAAAAAAAFjcAQAAAAAAAgAAAAAAAAAAAAAALAAAAAAAAABg3AEAAAAAAAIAAAAAAAAAAAAAAC0AAAAAAAAAZ9wBAAAAAAAEAAAAAAAAAAAAAAAuAAAAAAAAAG3cAQAAAAAAAgAAAAAAAAAAAAAALwAAAAAAAAB23AEAAAAAAAIAAAAAAAAAAAAAADAAAAAAAAAAfNwBAAAAAAAFAAAAAAAAAAAAAAAxAAAAAAAAAIHcAQAAAAAAAgAAAAAAAAAAAAAAMgAAAAAAAACF3AEAAAAAAAQAAAAAAAAAAAAAADMAAAAAAAAAitwBAAAAAAACAAAAAAAAAAAAAAA0AAAAAAAAAJbcAQAAAAAAAgAAAAAAAAAAAAAANQAAAAAAAACf3AEAAAAAAAUAAAAAAAAAAAAAADYAAAAAAAAApNwBAAAAAAAFAAAAAAAAAAAAAAA3AAAAAAAAAKncAQAAAAAABAAAAAAAAAAAAAAAOAAAAAAAAACv3AEAAAAAAAQAAAAAAAAAAAAAADkAAAAAAAAAtNwBAAAAAAACAAAAAAAAAAAAAAA6AAAAAAAAALncAQAAAAAABQAAAAAAAAAAAAAAOwAAAAAAAAC/3AEAAAAAAAMAAAAAAAAAAAAAADwAAAAAAAAAxNwBAAAAAAACAAAAAAAAAAAAAAA9AAAAAAAAAMncAQAAAAAABAAAAIgXAQAAAAAAPgAAAAAAAADN3AEAAAAAAAUAAAAAAAAAAAAAAD8AAAAAAAAA0dwBAAAAAAAFAAAAAAAAAAAAAABAAAAAAAAAANXcAQAAAAAABQAAAAAAAAAAAAAAQQAAAAAAAADZ3AEAAAAAAAUAAAAAAAAAAAAAAEIAAAAAAAAA4NwBAAAAAAAFAAAAkBcBAAAAAABDAAAAAAAAAOTcAQAAAAAABQAAAAAAAAAAAAAARAAAAAAAAADs3AEAAAAAAAoAAAAAAAAAAAAAAEUAAAAAAAAA8dwBAAAAAAAKAAAAAAAAAAAAAABGAAAAAAAAAPbcAQAAAAAACgAAAAAAAAAAAAAARwAAAAAAAAD63AEAAAAAAAoAAAAAAAAAAAAAAEgAAAAAAAAA/9wBAAAAAAAFAAAAAAAAAAAAAABJAAAAAAAAAATdAQAAAAAAAwAAAAAAAAAAAAAASgAAAAAAAAAJ3QEAAAAAAAQAAAAAAAAAAAAAAEsAAAAAAAAADt0BAAAAAAACAAAAAAAAAAAAAABMAAAAAAAAABXdAQAAAAAABQAAAAAAAAAAAAAATQAAAAAAAAAb3QEAAAAAAAIAAAAAAAAAAAAAAE4AAAAAAAAAJ90BAAAAAAAFAAAAmBcBAAAAAABPAAAAAAAAACvdAQAAAAAABAAAAAAAAAAAAAAAUAAAAAAAAAAw3QEAAAAAAAIAAAAAAAAAAAAAAFEAAAAAAAAAON0BAAAAAAAEAAAAAAAAAAAAAABSAAAAAAAAAD3dAQAAAAAAAgAAAAAAAAAAAAAAUwAAAAAAAABB3QEAAAAAAAIAAAAAAAAAAAAAAFQAAAAAAAAATN0BAAAAAAACAAAAAAAAAAAAAABVAAAAAAAAAFDdAQAAAAAAAgAAAAAAAAAAAAAAVgAAAAAAAABV3QEAAAAAAAQAAAAAAAAAAAAAAFcAAAAAAAAAXd0BAAAAAAAKAAAAAAAAAAAAAABYAAAAAAAAAGLdAQAAAAAABwAAAKAXAQAAAAAAWQAAAAAAAABr3QEAAAAAAAQAAAAAAAAAAAAAAFoAAAAAAAAAcN0BAAAAAAACAAAAAAAAAAAAAABbAAAAAAAAAHTdAQAAAAAAAgAAAAAAAAAAAAAAXAAAAAAAAAB43QEAAAAAAAIAAAAAAAAAAAAAAF0AAAAAAAAAfd0BAAAAAAAFAAAAqBcBAAAAAABeAAAAAAAAAIPdAQAAAAAAAgAAAAAAAAAAAAAAXwAAAAAAAACP3QEAAAAAAAIAAAAAAAAAAAAAAGAAAAAAAAAAn90BAAAAAAAFAAAAtBcBAAAAAABhAAAAAAAAAKTdAQAAAAAABAAAALwXAQAAAAAAYgAAAAAAAACo3QEAAAAAAAQAAAAAAAAAAAAAAGMAAAAAAAAArN0BAAAAAAADAAAAAAAAAAAAAABkAAAAAAAAALLdAQAAAAAAAwAAAAAAAAAAAAAAZQAAAAAAAAC23QEAAAAAAAUAAAAAAAAAAAAAAGYAAAAAAAAAut0BAAAAAAACAAAAAAAAAAAAAABnAAAAAAAAAL7dAQAAAAAAAgAAAAAAAAAAAAAAaAAAAAAAAADK3QEAAAAAAAMAAAAAAAAAAAAAAGkAAAAAAAAAzt0BAAAAAAADAAAAAAAAAAAAAABqAAAAAAAAANLdAQAAAAAAAgAAAAAAAAAAAAAAawAAAAAAAADkiwIAAAAAAAMAAAAAAAAAAAAAAGwAAAAAAAAA190BAAAAAAACAAAAAAAAAAAAAABtAAAAAAAAANrdAQAAAAAABQAAAMQXAQAAAAAAbgAAAAAAAADe3QEAAAAAAAUAAAAAAAAAAAAAAG8AAAAAAAAA5t0BAAAAAAACAAAAAAAAAAAAAABwAAAAAAAAAO3dAQAAAAAAAgAAAAAAAAAAAAAAcQAAAAAAAAD03QEAAAAAAAIAAAAAAAAAAAAAAHIAAAAAAAAA+t0BAAAAAAADAAAAAAAAAAAAAABzAAAAAAAAAP7dAQAAAAAAAgAAAAAAAAAAAAAAdAAAAAAAAAAI3gEAAAAAAA4AAAAAAAAAAAAAAHUAAAAAAAAADt4BAAAAAAACAAAAAAAAAAAAAAB2AAAAAAAAABLeAQAAAAAAAgAAAAAAAAAAAAAAdwAAAAAAAAAW3gEAAAAAAAIAAAAAAAAAAAAAAHgAAAAAAAAAI94BAAAAAAACAAAAAAAAAAAAAAB5AAAAAAAAACfeAQAAAAAAAgAAAAAAAAAAAAAAegAAAAAAAAAr3gEAAAAAAAIAAAAAAAAAAAAAAHsAAAAAAAAAL94BAAAAAAADAAAAAAAAAAAAAAB8AAAAAAAAADTeAQAAAAAAAwAAAAAAAAAAAAAAfQAAAAAAAAA63gEAAAAAAAUAAAAAAAAAAAAAAH4AAAAAAAAAQN4BAAAAAAADAAAAAAAAAAAAAAB/AAAAAAAAAETeAQAAAAAABQAAAAAAAAAAAAAAgAAAAAAAAABJ3gEAAAAAAAUAAAAAAAAAAAAAAIEAAAAAAAAATd4BAAAAAAACAAAAAAAAAAAAAACCAAAAAAAAAFHeAQAAAAAABQAAAAAAAAAAAAAAgwAAAAAAAABW3gEAAAAAAAIAAAAAAAAAAAAAAIQAAAAAAAAAX94BAAAAAAACAAAAAAAAAAAAAACFAAAAAAAAAGreAQAAAAAABQAAAAAAAAAAAAAAhgAAAAAAAABv3gEAAAAAAAIAAAAAAAAAAAAAAIcAAAAAAAAAc94BAAAAAAACAAAAAAAAAAAAAACIAAAAAAAAAH3eAQAAAAAAAgAAAAAAAAAAAAAAiQAAAAAAAACG3gEAAAAAAAIAAAAAAAAAAAAAAIoAAAAAAAAAi94BAAAAAAACAAAAAAAAAAAAAACLAAAAAAAAAI/eAQAAAAAAAgAAAAAAAAAAAAAAjAAAAAAAAACT3gEAAAAAAAMAAAAAAAAAAAAAAI0AAAAAAAAAmt4BAAAAAAACAAAAAAAAAAAAAACOAAAAAAAAAJ/eAQAAAAAAAwAAAAAAAAAAAAAAjwAAAAAAAACp3gEAAAAAAAMAAAAAAAAAAAAAAJAAAAAAAAAAtN4BAAAAAAAFAAAAAAAAAAAAAACRAAAAAAAAALneAQAAAAAAAgAAAAAAAAAAAAAAkgAAAAAAAAC/3gEAAAAAAAUAAAAAAAAAAAAAAJMAAAAAAAAAyN4BAAAAAAADAAAAAAAAAAAAAACUAAAAAAAAAM/eAQAAAAAAAwAAAAAAAAAAAAAAlQAAAAAAAADS3gEAAAAAAAIAAAAAAAAAAAAAAJYAAAAAAAAA1t4BAAAAAAACAAAAAAAAAAAAAACXAAAAAAAAAODeAQAAAAAAAgAAAAAAAAAAAAAAmAAAAAAAAADp3gEAAAAAAAUAAAAAAAAAAAAAAJkAAAAAAAAA8d4BAAAAAAAEAAAAAAAAAAAAAACaAAAAAAAAAPveAQAAAAAABQAAAAAAAAAAAAAAmwAAAAAAAAAA3wEAAAAAAAUAAAAAAAAAAAAAAJwAAAAAAAAAB98BAAAAAAAFAAAAAAAAAAAAAACdAAAAAAAAAAzfAQAAAAAABQAAAMwXAQAAAAAAngAAAAAAAAAQ3wEAAAAAAAMAAAAAAAAAAAAAAJ8AAAAAAAAAFd8BAAAAAAAFAAAA1BcBAAAAAACgAAAAAAAAABnfAQAAAAAABAAAAAAAAAAAAAAAoQAAAAAAAAAj3wEAAAAAAAIAAAAAAAAAAAAAAKIAAAAAAAAAKN8BAAAAAAACAAAAAAAAAAAAAACjAAAAAAAAAC3fAQAAAAAAAgAAAAAAAAAAAAAApAAAAAAAAAAz3wEAAAAAAAIAAAAAAAAAAAAAAKUAAAAAAAAAON8BAAAAAAAFAAAAAAAAAAAAAACmAAAAAAAAAD3fAQAAAAAAAwAAAAAAAAAAAAAApwAAAAAAAABC3wEAAAAAAAIAAAAAAAAAAAAAAKgAAAAAAAAAjIUCAAAAAAADAAAAAAAAAAAAAACpAAAAAAAAAEbfAQAAAAAAAgAAAAAAAAAAAAAAqgAAAAAAAABQ3wEAAAAAAAIAAAAAAAAAAAAAAKsAAAAAAAAAVN8BAAAAAAAHAAAA3BcBAAAAAACsAAAAAAAAAFnfAQAAAAAAAgAAAAAAAAAAAAAArQAAAAAAAABj3wEAAAAAAAoAAAAAAAAAAAAAAK4AAAAAAAAAaN8BAAAAAAACAAAAAAAAAAAAAACvAAAAAAAAAGzfAQAAAAAABQAAAAAAAAAAAAAAsAAAAAAAAAB23wEAAAAAAAUAAAAAAAAAAAAAALEAAAAAAAAAgt8BAAAAAAACAAAAAAAAAAAAAACyAAAAAAAAAIzfAQAAAAAABwAAAAAAAAAAAAAAswAAAAAAAACQ3wEAAAAAAAIAAAAAAAAAAAAAALQAAAAAAAAAlN8BAAAAAAACAAAAAAAAAAAAAAC1AAAAAAAAAJnfAQAAAAAABQAAAAAAAAAAAAAAtgAAAAAAAACg3wEAAAAAAAMAAAAAAAAAAAAAALcAAAAAAAAApd8BAAAAAAADAAAAAAAAAAAAAAC4AAAAAAAAAKrfAQAAAAAAAwAAAAAAAAAAAAAAuQAAAAAAAACu3wEAAAAAAAIAAAAAAAAAAAAAALoAAAAAAAAAs98BAAAAAAADAAAAAAAAAAAAAAC7AAAAAAAAALrfAQAAAAAAAwAAAAAAAAAAAAAAvAAAAAAAAAC+3wEAAAAAAAcAAAAAAAAAAAAAAL0AAAAAAAAAwt8BAAAAAAADAAAAAAAAAAAAAAC+AAAAAAAAAMbfAQAAAAAABAAAAAAAAAAAAAAAvwAAAAAAAADT3wEAAAAAAAQAAAAAAAAAAAAAAACAAAAAAAAA2N8BAAAAAAAFAAAAAAAAAAAAAAABgAAAAAAAAN3fAQAAAAAABQAAAAAAAAAAAAAAAoAAAAAAAADi3wEAAAAAAAUAAAAAAAAAAAAAAAOAAAAAAAAA598BAAAAAAAFAAAAAAAAAAAAAAAEgAAAAAAAAOzfAQAAAAAABQAAAAAAAAAAAAAABYAAAAAAAADx3wEAAAAAAAUAAAAAAAAAAAAAAAaAAAAAAAAA/N8BAAAAAAAFAAAAAAAAAAAAAAAHgAAAAAAAAAHgAQAAAAAABQAAAAAAAAAAAAAACIAAAAAAAAAG4AEAAAAAAAUAAAAAAAAAAAAAAAmAAAAAAAAAC+ABAAAAAAAAAAAAAAAAAAAAAAAKgAAAAAAAABDgAQAAAAAAAAAAAAAAAAAAAAAAC4AAAAAAAAAV4AEAAAAAAAMAAAAAAAAAAAAAAAyAAAAAAAAAG+ABAAAAAAAGAAAAAAAAAAAAAAANgAAAAAAAACDgAQAAAAAAAAAAAAAAAAAAAAAADoAAAAAAAAAo4AEAAAAAAAQAAADkFwEAAAAAAA+AAAAAAAAALeABAAAAAAAGAAAAAAAAAAAAAAAQgAAAAAAAADPgAQAAAAAAAgAAAAAAAAAAAAAAEYAAAAAAAAA44AEAAAAAAAIAAAAAAAAAAAAAABKAAAAAAAAARuABAAAAAAAFAAAAAAAAAAAAAAATgAAAAAAAAEvgAQAAAAAABQAAAAAAAAAAAAAAFIAAAAAAAABU4AEAAAAAAAUAAAAAAAAAAAAAABWAAAAAAAAAX+ABAAAAAAAFAAAAAAAAAAAAAAAWgAAAAAAAAGPgAQAAAAAABQAAAAAAAAAAAAAAF4AAAAAAAABn4AEAAAAAAAMAAAAAAAAAAAAAABiAAAAAAAAAbuABAAAAAAADAAAAAAAAAAAAAAAZgAAAAAAAAHbgAQAAAAAABAAAAAAAAAAAAAAAGoAAAAAAAAB74AEAAAAAAAYAAAAAAAAAAAAAABuAAAAAAAAAgOABAAAAAAACAAAAAAAAAAAAAAAcgAAAAAAAAIvgAQAAAAAABQAAAOwXAQAAAAAAHYAAAAAAAACP4AEAAAAAAAIAAAAAAAAAAAAAAB6AAAAAAAAAk+ABAAAAAAAFAAAAAAAAAAAAAAAfgAAAAAAAAJ3gAQAAAAAABQAAAAAAAAAAAAAAIIAAAAAAAACi4AEAAAAAAAUAAAAAAAAAAAAAACGAAAAAAAAAp+ABAAAAAAAEAAAA9BcBAAAAAAAigAAAAAAAAKvgAQAAAAAAAgAAAAAAAAAAAAAAI4AAAAAAAACv4AEAAAAAAAUAAAAAAAAAAAAAAAAAAQABAAAAtOABAAAAAAAEAAAAAAAAAAAAAAABAAEAAQAAAL7gAQAAAAAABAAAAAAAAAAAAAAAAgABAAEAAADI4AEAAAAAAAQAAAAAAAAAAAAAAAMAAQABAAAA0uABAAAAAAAEAAAAAAAAAAAAAAAEAAEAAQAAANzgAQAAAAAABAAAAAAAAAAAAAAABQABAAEAAADj4AEAAAAAAAQAAAAAAAAAAAAAAAYAAQABAAAA6uABAAAAAAACAAAAAAAAAAAAAAAHAAEAAQAAAPTgAQAAAAAAAgAAAAAAAAAAAAAACAABAAEAAAD94AEAAAAAAAQAAAAAAAAAAAAAAAkAAQABAAAAB+EBAAAAAAAEAAAAAAAAAAAAAAAKAAEAAQAAABHhAQAAAAAABAAAAAAAAAAAAAAACwABAAEAAAAb4QEAAAAAAAQAAAAAAAAAAAAAAAwAAQABAAAAJeEBAAAAAAAEAAAAAAAAAAAAAAANAAEAAQAAAC/hAQAAAAAABAAAAAAAAAAAAAAADgABAAEAAAA54QEAAAAAAAQAAAAAAAAAAAAAAA8AAQABAAAAQ+EBAAAAAAAEAAAAAAAAAAAAAAAQAAEAAQAAAE3hAQAAAAAABAAAAAAAAAAAAAAAEQABAAEAAABZ4QEAAAAAAAIAAAAAAAAAAAAAABIAAQABAAAAYuEBAAAAAAAEAAAAAAAAAAAAAAATAAEAAQAAAHPhAQAAAAAABAAAAAAAAAAAAAAAFAABAAEAAAB74QEAAAAAAAQAAAAAAAAAAAAAABUAAQABAAAAheEBAAAAAAAEAAAAAAAAAAAAAAAWAAEAAQAAAI/hAQAAAAAABAAAAAAAAAAAAAAAFwABAAEAAACZ4QEAAAAAAAQAAAAAAAAAAAAAABgAAQABAAAAo+EBAAAAAAAEAAAAAAAAAAAAAAAZAAEAAQAAAK7hAQAAAAAABAAAAAAAAAAAAAAAGgABAAEAAAC24QEAAAAAAAQAAAAAAAAAAAAAABsAAQABAAAAvOEBAAAAAAAEAAAAAAAAAAAAAAAcAAEAAQAAAMrhAQAAAAAABAAAAAAAAAAAAAAAHQABAAEAAADb4QEAAAAAAAQAAAAAAAAAAAAAAB4AAQABAAAA7OEBAAAAAAAEAAAAAAAAAAAAAAAACAEAAQAAAP3hAQAAAAAABAAAAAAAAAAAAAAAAQgBAAEAAAAH4gEAAAAAAAQAAAAAAAAAAAAAAAIIAQABAAAAEeIBAAAAAAAEAAAAAAAAAAAAAAADCAEAAQAAABviAQAAAAAABAAAAAAAAAAAAAAAABABAAEAAAAl4gEAAAAAAAIAAAAAAAAAAAAAAAEQAQABAAAAMuIBAAAAAAACAAAAAAAAAAAAAAACEAEAAQAAAEDiAQAAAAAAAgAAAAAAAAAAAAAAAxABAAEAAABO4gEAAAAAAAIAAAAAAAAAAAAAAAQQAQABAAAAXOIBAAAAAAACAAAAAAAAAAAAAAAFEAEAAQAAAGniAQAAAAAAAgAAAAAAAAAAAAAABhABAAEAAAB64gEAAAAAAAIAAAAAAAAAAAAAAAcQAQABAAAAg+IBAAAAAAACAAAAAAAAAAAAAAAIEAEAAQAAAI3iAQAAAAAAAgAAAAAAAAAAAAAACRABAAEAAACW4gEAAAAAAAIAAAAAAAAAAAAAAAoQAQABAAAAoOIBAAAAAAACAAAAAAAAAAAAAAALEAEAAQAAAKniAQAAAAAAAgAAAAAAAAAAAAAADBABAAEAAAC04gEAAAAAAAIAAAAAAAAAAAAAAA0QAQABAAAAveIBAAAAAAACAAAAAAAAAAAAAAAOEAEAAQAAAMfiAQAAAAAAAgAAAAAAAAAAAAAADxABAAEAAADU4gEAAAAAAAIAAAAAAAAAAAAAABAQAQABAAAA4uIBAAAAAAACAAAAAAAAAAAAAAAREAEAAQAAAPDiAQAAAAAAAgAAAAAAAAAAAAAAEhABAAEAAAD+4gEAAAAAAAIAAAAAAAAAAAAAABMQAQABAAAACOMBAAAAAAACAAAAAAAAAAAAAAAUEAEAAQAAABbjAQAAAAAAAgAAAAAAAAAAAAAAFRABAAEAAAAi4wEAAAAAAAIAAAAAAAAAAAAAABYQAQABAAAALuMBAAAAAAACAAAAAAAAAAAAAAAXEAEAAQAAADrjAQAAAAAAAgAAAAAAAAAAAAAAGBABAAEAAABM4wEAAAAAAAIAAAAAAAAAAAAAABkQAQABAAAAXuMBAAAAAAACAAAAAAAAAAAAAAAaEAEAAQAAAGvjAQAAAAAAAgAAAAAAAAAAAAAAGxABAAEAAAB94wEAAAAAAAIAAAAAAAAAAAAAABwQAQABAAAAi+MBAAAAAAACAAAAAAAAAAAAAAAdEAEAAQAAAJbjAQAAAAAAAgAAAAAAAAAAAAAAHhABAAEAAACk4wEAAAAAAAIAAAAAAAAAAAAAAAAYAQABAAAAr+MBAAAAAAACAAAAAAAAAAAAAAABGAEAAQAAALnjAQAAAAAAAgAAAAAAAAAAAAAAAhgBAAEAAADH4wEAAAAAAAIAAAAAAAAAAAAAAAMYAQABAAAA0eMBAAAAAAACAAAAAAAAAAAAAAAEGAEAAQAAAN/jAQAAAAAAAgAAAAAAAAAAAAAABRgBAAEAAADs4wEAAAAAAAIAAAAAAAAAAAAAAAYYAQABAAAA+eMBAAAAAAACAAAAAAAAAAAAAAAHGAEAAQAAAAPkAQAAAAAAAgAAAAAAAAAAAAAACBgBAAEAAAAO5AEAAAAAAAIAAAAAAAAAAAAAAAkYAQABAAAAHeQBAAAAAAACAAAAAAAAAAAAAAAAIAEAAQAAACjkAQAAAAAAAgAAAAAAAAAAAAAAASABAAEAAAAv5AEAAAAAAAIAAAAAAAAAAAAAAAAwAQABAAAANuQBAAAAAAACAAAAAAAAAAAAAAABMAEAAQAAAD3kAQAAAAAAAgAAAAAAAAAAAAAAAEABAAEAAABE5AEAAAAAAAIAAAAAAAAAAAAAAAFAAQABAAAATeQBAAAAAAACAAAAAAAAAAAAAAACQAEAAQAAAFzkAQAAAAAAAgAAAAAAAAAAAAAAA0ABAAEAAABl5AEAAAAAAAIAAAAAAAAAAAAAAABIAQABAAAAbuQBAAAAAAACAAAAAAAAAAAAAAABSAEAAQAAAHjkAQAAAAAAAgAAAAAAAAAAAAAAAFABAAEAAACF5AEAAAAAAAIAAAAAAAAAAAAAAAFQAQABAAAAieQBAAAAAAACAAAAAAAAAAAAAAACUAEAAQAAAI3kAQAAAAAAAgAAAAAAAAAAAAAAA1ABAAEAAACR5AEAAAAAAAIAAAAAAAAAAAAAAARQAQABAAAAh50CAAAAAAAGAAAAAAAAAAAAAAAFUAEAAQAAAJXkAQAAAAAAAgAAAAAAAAAAAAAABlABAAEAAACc5AEAAAAAAAIAAAAAAAAAAAAAAAdQAQABAAAApOQBAAAAAAACAAAAAAAAAAAAAAAIUAEAAQAAAKrkAQAAAAAAAgAAAAAAAAAAAAAACVABAAEAAACw5AEAAAAAAAIAAAAAAAAAAAAAAApQAQABAAAAtuQBAAAAAAACAAAAAAAAAAAAAAALUAEAAQAAALzkAQAAAAAAAgAAAAAAAAAAAAAADFABAAEAAADF5AEAAAAAAAUAAAAAAAAAAAAAAA1QAQABAAAAyuQBAAAAAAACAAAAAAAAAAAAAAAOUAEAAQAAANHkAQAAAAAAAgAAAAAAAAAAAAAAD1ABAAEAAADY5AEAAAAAAAQAAAAAAAAAAAAAABBQAQABAAAA4OQBAAAAAAAFAAAAAAAAAAAAAAARUAEAAQAAAOXkAQAAAAAAAgAAAAAAAAAAAAAAElABAAEAAADz5AEAAAAAAAIAAAAAAAAAAAAAABNQAQABAAAA9+QBAAAAAAACAAAAAAAAAAAAAAAUUAEAAQAAAPzkAQAAAAAAAgAAAAAAAAAAAAAAFVABAAEAAAAB5QEAAAAAAAIAAAAAAAAAAAAAABZQAQABAAAADOUBAAAAAAAFAAAAAAAAAAAAAAAXUAEAAQAAABDlAQAAAAAAAgAAAAAAAAAAAAAAGFABAAEAAAAb5QEAAAAAAAIAAAAAAAAAAAAAABlQAQABAAAAIeUBAAAAAAAHAAAAAAAAAAAAAAAaUAEAAQAAACnlAQAAAAAAAgAAAAAAAAAAAAAAG1ABAAEAAAA15QEAAAAAAAIAAAAAAAAAAAAAABxQAQABAAAAOeUBAAAAAAACAAAAAAAAAAAAAAAdUAEAAQAAAEPlAQAAAAAABAAAAAAAAAAAAAAAHlABAAEAAABH5QEAAAAAAAIAAAAAAAAAAAAAAB9QAQABAAAATuUBAAAAAAACAAAAAAAAAAAAAAAgUAEAAQAAAFXlAQAAAAAABAAAAAAAAAAAAAAAIVABAAEAAABZ5QEAAAAAAAIAAAAAAAAAAAAAACJQAQABAAAAZOUBAAAAAAACAAAAAAAAAAAAAAAjUAEAAQAAAG7lAQAAAAAAAgAAAAAAAAAAAAAAJFABAAEAAAB05QEAAAAAAAIAAAAAAAAAAAAAACVQAQABAAAAfeUBAAAAAAACAAAAAAAAAAAAAAAmUAEAAQAAAITlAQAAAAAABAAAAAAAAAAAAAAAJ1ABAAEAAACQ5QEAAAAAAAIAAAAAAAAAAAAAAChQAQABAAAAmOUBAAAAAAACAAAAAAAAAAAAAAApUAEAAQAAAJ3lAQAAAAAAAgAAAAAAAAAAAAAAKlABAAEAAACi5QEAAAAAAAIAAAAAAAAAAAAAACtQAQABAAAApuUBAAAAAAACAAAAAAAAAAAAAAAsUAEAAQAAAK3lAQAAAAAABAAAAAAAAAAAAAAALVABAAEAAAC05QEAAAAAAAQAAAAAAAAAAAAAAC5QAQABAAAAu+UBAAAAAAACAAAAAAAAAAAAAAAvUAEAAQAAAMLlAQAAAAAAAgAAAAAAAAAAAAAAMFABAAEAAADR5QEAAAAAAAIAAAAAAAAAAAAAADFQAQABAAAA3+UBAAAAAAACAAAAAAAAAAAAAAAyUAEAAQAAAOjlAQAAAAAAAgAAAAAAAAAAAAAAM1ABAAEAAADt5QEAAAAAAAIAAAAAAAAAAAAAADRQAQABAAAA8uUBAAAAAAACAAAAAAAAAAAAAAA1UAEAAQAAAPnlAQAAAAAAAgAAAAAAAAAAAAAANlABAAEAAAD+5QEAAAAAAAIAAAAAAAAAAAAAADdQAQABAAAAB+YBAAAAAAACAAAAAAAAAAAAAAA4UAEAAQAAABDmAQAAAAAAAgAAAAAAAAAAAAAAOVABAAEAAAAa5gEAAAAAAAQAAAAAAAAAAAAAADpQAQABAAAAH+YBAAAAAAACAAAAAAAAAAAAAAA7UAEAAQAAACPmAQAAAAAAAgAAAAAAAAAAAAAAPFABAAEAAAAo5gEAAAAAAAIAAAAAAAAAAAAAAD1QAQABAAAALeYBAAAAAAACAAAAAAAAAAAAAAA+UAEAAQAAADrmAQAAAAAABQAAAAAAAAAAAAAAP1ABAAEAAAA+5gEAAAAAAAIAAAAAAAAAAAAAAEBQAQABAAAASOYBAAAAAAACAAAAAAAAAAAAAABBUAEAAQAAAFLmAQAAAAAAAgAAAAAAAAAAAAAAQlABAAEAAABW5gEAAAAAAAIAAAAAAAAAAAAAAENQAQABAAAAXeYBAAAAAAACAAAAAAAAAAAAAAAAWAEAAQAAAGTmAQAAAAAAAAAAAAAAAAAAAAAAAVgBAAEAAABu5gEAAAAAAAAAAAAAAAAAAAAAAAJYAQABAAAAdOYBAAAAAAAAAAAAAAAAAAAAAAADWAEAAQAAAHzmAQAAAAAAAgAAAAAAAAAAAAAABFgBAAEAAACB5gEAAAAAAAIAAAAAAAAAAAAAAAVYAQABAAAAheYBAAAAAAACAAAAAAAAAAAAAAAGWAEAAQAAAI7mAQAAAAAAAgAAAAAAAAAAAAAAB1gBAAEAAACX5gEAAAAAAAIAAAAAAAAAAAAAAAhYAQABAAAAp+YBAAAAAAACAAAAAAAAAAAAAAAJWAEAAQAAALfmAQAAAAAAAgAAAAAAAAAAAAAAClgBAAEAAAC75gEAAAAAAAIAAAAAAAAAAAAAAAtYAQABAAAAyOYBAAAAAAACAAAAAAAAAAAAAAAMWAEAAQAAAM3mAQAAAAAAAgAAAAAAAAAAAAAADVgBAAEAAADS5gEAAAAAAAQAAAAAAAAAAAAAAA5YAQABAAAA1uYBAAAAAAAEAAAAAAAAAAAAAAAPWAEAAQAAAN/mAQAAAAAABAAAAAAAAAAAAAAAEFgBAAEAAADp5gEAAAAAAAIAAAAAAAAAAAAAABFYAQABAAAA8eYBAAAAAAACAAAAAAAAAAAAAAASWAEAAQAAAPbmAQAAAAAAAgAAAAAAAAAAAAAAE1gBAAEAAAD+5gEAAAAAAAIAAAAAAAAAAAAAAABwAQADAAAAAucBAAAAAAAAAAEAAAAAAAAAAAABcAEAAwAAAA/nAQAAAAAAAAABAAAAAAAAAAAAAnABAAMAAAAc5wEAAAAAAAAAAgAAAAAAAAAAAANwAQADAAAAIecBAAAAAAAAAAEAAAAAAAAAAAAEcAEAAwAAACbnAQAAAAAAAAACAAAAAAAAAAAABXABAAMAAAAq5wEAAAAAAAAAAgAAAAAAAAAAAAZwAQADAAAAM+cBAAAAAAAAAAEAAAAAAAAAAAAHcAEAAwAAAEXnAQAAAAAAAAAAAAAAAAAAAAAACHABAAMAAABS5wEAAAAAAAAAAgAAAAAAAAAAAAB4AQADAAAAVucBAAAAAAAAAAIAAAAAAAAAAAABeAEAAwAAAF/nAQAAAAAAAAACAAAAAAAAAAAAAngBAAMAAABn5wEAAAAAAAAAAgAAAAAAAAAAAAN4AQADAAAAb+cBAAAAAAAAAAIAAAAAAAAAAAAEeAEAAwAAAHTnAQAAAAAAAAACAAAAAAAAAAAABXgBAAMAAAB95wEAAAAAAAAAAgAAAAAAAAAAAAZ4AQADAAAAgecBAAAAAAAAAAIAAAAAAAAAAAAHeAEAAwAAAIznAQAAAAAAAAACAAAAAAAAAAAACHgBAAMAAACW5wEAAAAAAAAAAgAAAAAAAAAAAAl4AQADAAAAnecBAAAAAAAAAAIAAAAAAAAAAAAKeAEAAwAAAKTnAQAAAAAAAAACAAAAAAAAAAAAC3gBAAMAAACp5wEAAAAAAAAAAgAAAAAAAAAAAAx4AQADAAAAsecBAAAAAAAAAAIAAAAAAAAAAAANeAEAAwAAANipAgAAAAAAAAACAAAAAAAAAAAADngBAAMAAAC15wEAAAAAAAAAAgAAAAAAAAAAAACAAQACAAAAyOcBAAAAAAAAAAAA/BcBAAAAAAABgAEAAgAAAMznAQAAAAAAAAAAAAAAAAAAAAAAAIgBAAAAAADU5wEAAAAAAAEAAAAAAAAAAAAAAAGIAQAAAAAA3OcBAAAAAAABAAAAAAAAAAAAAAACiAEAAAAAAOHnAQAAAAAAAQAAAAAAAAAAAAAAA4gBAAIAAADl5wEAAAAAAAAAAAAIGAEAAAAAAASIAQACAAAA6ecBAAAAAAAAAAAAAAAAAAAAAAAFiAEAAgAAAO3nAQAAAAAAAAAAAAAAAAAAAAAABogBAAIAAAD85wEAAAAAAAAAAAAAAAAAAAAAAAeIAQACAAAABugBAAAAAAAAAAAAEBgBAAAAAAABEAIAAAAAAA/oAQAAAAAABAAAAAAAAAAAAAAARukBAAAAAACh6AEAAAAAAC7pAQAAAAAAH+kBAAAAAAAV6QEAAAAAAPvoAQAJ6QEAAAAAAPDoAQAAAAAA5ugBAAAAAADa6AEAAAAAAMboAQAAAAAAtugBAAAAAACr6AEAAAAAAKHoAQAAAAAAkegBAAAAAACD6AEAAAAAAFToAQBw6AEAAAAAADjoAQAAAAAAH+gBAAAAAABf+AEAAAAAAAAAAAAbAAAAIjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJgYAQAAAAAAAAAAAPS0AAAAAAAAAgAAAAEAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAADQAAABEAAAAAAAAAwMgCAD1eAgAFAAAAmJIAAGQJOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdTgAAAAAAAAIAAAAAAAAAAUAAABzMTYAAAAAABAAAAAAAAAABgAAAHMzMgAAAAAAIAAAAAAAAAAHAAAAZmx0AAAAAAAgAAAAAAAAAAgAAABkYmwAAAAAAEAAAAAAAAAACQAAAHU4cAAAAAAACAAAAAEAAAAAAAAAczE2cAAAAAAQAAAAAQAAAAEAAABzMzJwAAAAACAAAAABAAAAAgAAAGZsdHAAAAAAIAAAAAEAAAADAAAAZGJscAAAAABAAAAAAQAAAAQAAABzNjQAAAAAAEAAAAAAAAAACwAAAHM2NHAAAAAAQAAAAAEAAAAKAAAA3wECAAUAAAAAAAAAZAk4AAQAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkAAAAZAAAAGQAAAAAAAAACgAAAIwBAAALAAAAhAMAAAwAAABICQAADQAAAEgJAAAUAAAASAkAABUAAACQEgAAFgAAAKQfAAAeAAAApB8AAB8AAABQRgAAIAAAAABQAAAoAAAAAIAAACkAAAAAgAAAKgAAAACIAAAyAAAAQK8BADMAAAAA0AIANAAAAADQAgDxGAIAm6MCACOdAgD1GAIAH6YCAMSjAgDWowIA7KMCACemAgAzpgIASKYCAFumAgD+GAIAEBkCACEZAgD1GAIAm6MCACOdAgD1GAIAtKMCAMSjAgDWowIA7KMCAM2kAgDbpAIA5qQCAP2kAgAYpQIAKKUCAEOlAgBepQIAeaUCABukAgCOpQIA9RgCAJujAgAjnQIA9RgCALSjAgDEowIA1qMCAOyjAgACpAIADKQCABukAgA7pAIAUKQCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGWkAgAAAAAAAAAAAAEAAAABAAAAAgAAAAIAAAACAAAAAgAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAAAAAADAAAABgAAAAwAAAAYAAAAMAAAAP///38AgAAAACAAAIAAAAAgAAAAaQAAAHgAAACGAAAAlQAAAJgAAACSAQAA5AEAAPMBAAABAgAAlAIAABACAAAfAgAALQIAAM4CAAAVAQAAJAEAADIBAABBAQAARAEAALQBAAAIAwAAFwMAACUDAACjAgAANAMAAEMDAABRAwAA3QIAAKYAAAC1AAAAwwAAANIAAADVAAAAoQEAADwCAABLAgAAWQIAALICAABoAgAAdwIAAIUCAADsAgAAUgEAAGEBAABvAQAAfgEAAIEBAADDAQAAYAMAAG8DAAB9AwAAuwIAAIwDAACbAwAAqQMAAPUCAADjAAAA7QAAAPcAAAABAQAACgEAAKoBAAC4AwAAwgMAAMwDAADEAgAA1gMAAOADAADqAwAA/gIAAAAAAQAB/gAABPwAAAn6AAAQ+AAAGfYAACT0AAAx8gAAQPAAAFHuAABk7AAAeeoAAJDoAACp5gAAxOQAAOHiAAAA4QAAId8AAETdAABp2wAAkNkAALnXAADk1QAAEdQAAEDSAABx0AAApM4AANnMAAAQywAASckAAITHAADBxQAAAMQAAEHCAACEwAAAyb4AABC9AABZuwAApLkAAPG3AABAtgAAkbQAAOSyAAA5sQAAkK8AAOmtAABErAAAoaoAAACpAABhpwAAxKUAACmkAACQogAA+aAAAGSfAADRnQAAQJwAALGaAAAkmQAAmZcAABCWAACJlAAABJMAAIGRAAAAkAAAgY4AAASNAACJiwAAEIoAAJmIAAAkhwAAsYUAAECEAADRggAAZIEAAPl/AACQfgAAKX0AAMR7AABhegAAAHkAAKF3AABEdgAA6XQAAJBzAAA5cgAA5HAAAJFvAABAbgAA8WwAAKRrAABZagAAEGkAAMlnAACEZgAAQWUAAABkAADBYgAAhGEAAElgAAAQXwAA2V0AAKRcAABxWwAAQFoAABFZAADkVwAAuVYAAJBVAABpVAAARFMAACFSAAAAUQAA4U8AAMROAACpTQAAkEwAAHlLAABkSgAAUUkAAEBIAAAxRwAAJEYAABlFAAAQRAAACUMAAARCAAABQQAAAEAAAAE/AAAEPgAACT0AABA8AAAZOwAAJDoAADE5AABAOAAAUTcAAGQ2AAB5NQAAkDQAAKkzAADEMgAA4TEAAAAxAAAhMAAARC8AAGkuAACQLQAAuSwAAOQrAAARKwAAQCoAAHEpAACkKAAA2ScAABAnAABJJgAAhCUAAMEkAAAAJAAAQSMAAIQiAADJIQAAECEAAFkgAACkHwAA8R4AAEAeAACRHQAA5BwAADkcAACQGwAA6RoAAEQaAAChGQAAABkAAGEYAADEFwAAKRcAAJAWAAD5FQAAZBUAANEUAABAFAAAsRMAACQTAACZEgAAEBIAAIkRAAAEEQAAgRAAAAAQAACBDwAABA8AAIkOAAAQDgAAmQ0AACQNAACxDAAAQAwAANELAABkCwAA+QoAAJAKAAApCgAAxAkAAGEJAAAACQAAoQgAAEQIAADpBwAAkAcAADkHAADkBgAAkQYAAEAGAADxBQAApAUAAFkFAAAQBQAAyQQAAIQEAABBBAAAAAQAAMEDAACEAwAASQMAABADAADZAgAApAIAAHECAABAAgAAEQIAAOQBAAC5AQAAkAEAAGkBAABEAQAAIQEAAAABAADhAAAAxAAAAKkAAACQAAAAeQAAAGQAAABRAAAAQAAAADEAAAAkAAAAGQAAABAAAAAJAAAABAAAAAEAAAAAAAAAAQAAAAQAAAAJAAAAEAAAABkAAAAkAAAAMQAAAEAAAABRAAAAZAAAAHkAAACQAAAAqQAAAMQAAADhAAAAAAEAACEBAABEAQAAaQEAAJABAAC5AQAA5AEAABECAABAAgAAcQIAAKQCAADZAgAAEAMAAEkDAACEAwAAwQMAAAAEAABBBAAAhAQAAMkEAAAQBQAAWQUAAKQFAADxBQAAQAYAAJEGAADkBgAAOQcAAJAHAADpBwAARAgAAKEIAAAACQAAYQkAAMQJAAApCgAAkAoAAPkKAABkCwAA0QsAAEAMAACxDAAAJA0AAJkNAAAQDgAAiQ4AAAQPAACBDwAAABAAAIEQAAAEEQAAiREAABASAACZEgAAJBMAALETAABAFAAA0RQAAGQVAAD5FQAAkBYAACkXAADEFwAAYRgAAAAZAAChGQAARBoAAOkaAACQGwAAORwAAOQcAACRHQAAQB4AAPEeAACkHwAAWSAAABAhAADJIQAAhCIAAEEjAAAAJAAAwSQAAIQlAABJJgAAECcAANknAACkKAAAcSkAAEAqAAARKwAA5CsAALksAACQLQAAaS4AAEQvAAAhMAAAADEAAOExAADEMgAAqTMAAJA0AAB5NQAAZDYAAFE3AABAOAAAMTkAACQ6AAAZOwAAEDwAAAk9AAAEPgAAAT8AAABAAAABQQAABEIAAAlDAAAQRAAAGUUAACRGAAAxRwAAQEgAAFFJAABkSgAAeUsAAJBMAACpTQAAxE4AAOFPAAAAUQAAIVIAAERTAABpVAAAkFUAALlWAADkVwAAEVkAAEBaAABxWwAApFwAANldAAAQXwAASWAAAIRhAADBYgAAAGQAAEFlAACEZgAAyWcAABBpAABZagAApGsAAPFsAABAbgAAkW8AAORwAAA5cgAAkHMAAOl0AABEdgAAoXcAAAB5AABhegAAxHsAACl9AACQfgAA+X8AAGSBAADRggAAQIQAALGFAAAkhwAAmYgAABCKAACJiwAABI0AAIGOAAAAkAAAgZEAAASTAACJlAAAEJYAAJmXAAAkmQAAsZoAAECcAADRnQAAZJ8AAPmgAACQogAAKaQAAMSlAABhpwAAAKkAAKGqAABErAAA6a0AAJCvAAA5sQAA5LIAAJG0AABAtgAA8bcAAKS5AABZuwAAEL0AAMm+AACEwAAAQcIAAADEAADBxQAAhMcAAEnJAAAQywAA2cwAAKTOAABx0AAAQNIAABHUAADk1QAAudcAAJDZAABp2wAARN0AACHfAAAA4QAA4eIAAMTkAACp5gAAkOgAAHnqAABk7AAAUe4AAEDwAAAx8gAAJPQAABn2AAAQ+AAACfoAAAT8AAAB/gAABAAAAAUAAAAFAAAABgAAABUAAAANAAAABgAAAAIAAAAHAAAACgAAABQAAAALAAAAFgAAAA4AAAAXAAAAAQAAAAgCAABMAQAAGAEAAAABAAAbAAAAAAAAAAAAAAAAAAAAAAAAAJgGAAAGAAAAAgAAAA4AAAABAAAAAAAAAK0AAAAAAAAAAAAAAAAAAAAAAAAAuAYAAAAAAAADAAAADwAAAAIAAAAAAAAAAAAAAAEAAAABAAAAAQAAAAwAAAALAAAACgAAAAsAAAAQAAAACwAAACgAAAAhAAAAGAAAAAsAAAAUAAAACwAAACAAAAALAAAAUAAAACEAAAASAAAACwAAAA8AAAALAAAAQAAAACEAAACgAAAAYwAAAAQAAAADAAAAAwAAAAIAAAACAAAAAQAAAEKwAgAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAACYL4pCkUQ3cc/7wLWl27XpW8JWOfER8Vmkgj+S1V4cq5iqB9gBW4MSvoUxJMN9DFV0Xb5y/rHegKcG3Jt08ZvBwWmb5IZHvu/GncEPzKEMJG8s6S2qhHRK3KmwXNqI+XZSUT6YbcYxqMgnA7DHf1m/8wvgxkeRp9VRY8oGZykpFIUKtyc4IRsu/G0sTRMNOFNUcwpluwpqdi7JwoGFLHKSoei/oktmGqhwi0vCo1FsxxnoktEkBpnWhTUO9HCgahAWwaQZCGw3Hkx3SCe1vLA0swwcOUqq2E5Pypxb828uaO6Cj3RvY6V4FHjIhAgCx4z6/76Q62xQpPej+b7yeHHGLnECADFxAgA8cQIAP3ECAEtxAgBOcQIAW3ECAF9xAgBtcQIAcHECAHpxAgB9cQIAiHECAIxxAgChcQIApXECALtxAgC+cQIAynECAM1xAgDXcQIA2nECAOVxAgDocQIA83ECAPdxAgAGcgIACnICABtyAgAfcgIAL3ICADNyAgBBcgIARXICAFVyAgBZcgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhyAgBrcgIAeHICAHtyAgCJcgIAjHICAJZyAgCZcgIApHICAKhyAgC9cgIAwXICANdyAgDccgIA1nUCAAUAAAAAAAAAZAk4ACgAAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADOdwIA8Pj/ANh3AgD669cA5XcCAAD//wDqdwIAf//UAPV3AgDw//8A+3cCAPX13AABeAIA/+TEAAh4AgAAAAAADngCAP/rzQAdeAIAAAD/ACJ4AgCKK+IALXgCAKUqKgAzeAIA3riHAD14AgBfnqAAR3gCAH//AABSeAIA0mkeAFx4AgD/f1AAYngCAGSV7QBxeAIA//jcAHp4AgDcFDwAgngCAAD//wCHeAIAAACLAJB4AgAAi4sAmXgCALiGCwCneAIAqampALB4AgAAZAAAungCAL23awDEeAIAiwCLANB4AgBVay8A33gCAP+MAADqeAIAmTLMAPV4AgCLAAAA/XgCAOmWegAIeQIAj7yPABV5AgBIPYsAI3kCAC9PTwAxeQIAAM7RAD95AgCUANMASnkCAP8UkwBTeQIAAL//AF95AgBpaWkAZ3kCAB6Q/wByeQIAsiIiAHx5AgD/+vAAiHkCACKLIgCUeQIA/wD/AJx5AgDc3NwApnkCAPj4/wCxeQIA/9cAALZ5AgDapSAAwHkCAICAgADFeQIAAIAAAMt5AgCt/y8A13kCAPD/8ADgeQIA/2m0AOh5AgDNXFwA8nkCAEsAggD5eQIA///wAP95AgDw5owABXoCAObm+gAOegIA//D1ABx6AgB8/AAAJnoCAP/6zQAzegIArdjmAD16AgDwgIAASHoCAOD//wBSegIA+vrSAGd6AgCQ7pAAcnoCANPT0wB8egIA/7bBAIZ6AgD/oHoAknoCACCyqgCgegIAh876AK16AgB3iJkAvHoCALDE3gDLegIA///gANd6AgAA/wAA3HoCADLNMgDmegIA+vDmAOx6AgD/AP8A9HoCAIAAAAD7egIAZs2qAAx7AgAAAM0AF3sCALpV0wAkewIAk3DYADF7AgA8s3EAQHsCAHto7gBQewIAAPqaAGJ7AgBI0cwAcnsCAMcVhQCCewIAGRlwAI97AgD1//oAmXsCAP/k4QCjewIA/+S1AKx7AgD/3q0AuHsCAAAAgAC9ewIA/fXmAMV7AgCAgAAAy3sCAGuOIwDVewIA/6UAANx7AgD/RQAA5nsCANpw1gDtewIA7uiqAPt7AgCY+5gABXwCAK/u7gATfAIA2HCTACF8AgD/79UALHwCAP/auQA2fAIAzYU/ADt8AgD/wMsAQHwCAN2g3QBFfAIAsODmAFB8AgCAAIAAV3wCAP8AAABbfAIAvI+PAGV8AgBBaeEAb3wCAItFEwB7fAIA+oByAIJ8AgD0pGAAjXwCAC6LVwCWfAIA//XuAJ98AgCgUi0ApnwCAMDAwACtfAIAh87rALV8AgBqWs0Av3wCAHCAkADJfAIA//r6AM58AgAA/38A2nwCAEaCtADkfAIA0rSMAOh8AgAAgIAA7XwCANi/2AD1fAIA/2NHAPx8AgBA4NAABn0CAO6C7gANfQIA9d6zABN9AgD///8AGX0CAPX19QAkfQIA//8AACt9AgCazTIAvn0CAMt9AgBYfQIAYX0CAEp9AgBQfQIAVX0CAGh9AgBwfQIAeX0CAH99AgCFfQIAiX0CAI59AgCTfQIAmn0CAKR9AgCsfQIAtX0CAKd+AgAwdQAA6QMAAKx+AgAZAAAAAQAAALB+AgAwdQAA6QMAALZ+AgAZAAAAAQAAALt+AgAwdQAA6QMAAMF+AgAZAAAAAQAAAAKkAgAYAAAAAQAAAMZ+AgDAXQAA6QMAAKd+AgDQAgAA4AEAAKx+AgDQAgAAQAIAALB+AgBgAQAA8AAAALZ+AgBgAQAAIAEAALt+AgCAAgAA4AEAAMF+AgAAAwAAQAIAAAKkAgBgAQAA8AAAAMZ+AgBgAQAA8AAAAAF/AgCAAAAAYAAAAAd/AgCwAAAAkAAAAAx/AgBgAQAAIAEAABB/AgDAAgAAQAIAABV/AgCABQAAgAQAABt/AgCgAAAAeAAAACF/AgBAAQAA8AAAACZ/AgCAAgAA4AEAACp/AgAgAwAAWAIAAC9/AgAABAAAAAMAADN/AgBABgAAsAQAADh/AgAACAAAAAYAAD1/AgAABQAAAAQAAEJ/AgAACgAAAAgAAEh/AgAAFAAAABAAAE5/AgBUAwAA4AEAAFN/AgBWBQAAAAMAAFh/AgBABgAAAAQAAF5/AgCABwAAsAQAAGR/AgAACgAAQAYAAGp/AgCADAAAAAgAAHF/AgAADwAAYAkAAHh/AgAAGQAAABAAAH9/AgAAHgAAwBIAAIZ/AgBAAQAAyAAAAIp/AgCAAgAAXgEAAI5/AgBUAwAA4AEAAJR/AgAABQAA0AIAAJp/AgCABwAAOAQAAKF/AgAACAAAOAQAAKR/AgAACAAAOAQAAKp/AgDOBwAAOAQAALF/AgAACAAAWgMAALl/AgAAEAAAcAgAALx/AgAAEAAAcAgAAMJ/AgCcDwAAcAgAAMl/AgAAEAAAtAYAANF/AgCAAgAAaAEAANV/AgDwAAAAoAAAANt/AgCQAQAA8AAAAOF/AgCwAQAA8AAAAOh/AgDgAQAAQAEAAO1/AgDAAwAAHAIAAPF/AgAADwAAcAgAAPl/AgAAHgAA4BAAABgYAQAAAAAA1oECAAcAAACYmgAAZAk4AAQAAAAAAAAAAwAAAAgAAAAFAAAACQAAAAAAAAAMJgEAAAAAAC6tAgAFAAAAAAAAAGQJOAAAAAAAAAAAAAQAAAAKAAAAAAAAAAAAAAAAAAAAZOYAACwlAQBYJQEAAAAAAKC/AQDYvwEA+L8BAAAAAAD6vwEAAAADAArAAQAAAAMAKsABAAAAAwAAAAAAAAAAAErAAQAAAAMAfsABAAAABAC2wAEAAAAEADbBAQAAAAQAusEBAAAABAAmwgEAAAAEAPLCAQAAAAQAwsMBAAAABACCxAEAAAAEAAAAAAAAAAAAnscBAAAABACWygEAAQAEAJbKAQACAAQAlsoBAAMABACWygEABAAEAJbKAQAGAAQAlsoBAAgABACWygEACgAEAJbKAQANAAQAus0BAAQABAC6zQEABQAEALrNAQAGAAQAus0BAAcABAC6zQEACAAEALrNAQAJAAQAus0BAAsABAC6zQEADQAEAAAAAAD5////NQAAAI3////9AQAA+Pr//2wGAABk2///SEkAAJwkAABsBgAACAUAAP0BAABzAAAANQAAAAcAAAAAAAAA+f///zUAAACN/////QEAAPj6//9sBgAAZNv//0hJAACcJAAAbAYAAAgFAAD9AQAAcwAAADUAAAAHAAAAAAAAAPj///83AAAAfv////QBAACd+v//0gUAAJbZ//88SQAAziIAAPgGAACtBAAABAIAAGQAAAA0AAAABwAAAAAAAAD4////NwAAAH7////0AQAAnfr//9IFAACW2f//PEkAAM4iAAD4BgAArQQAAAQCAABkAAAANAAAAAcAAAAAAAAA9////zgAAABv////6AEAAEL6//8qBQAAytf//xpJAAAAIQAAdgcAAFIEAAAIAgAAVwAAADMAAAAGAAAAAAAAAPf///84AAAAb////+gBAABC+v//KgUAAMrX//8aSQAAACEAAHYHAABSBAAACAIAAFcAAAAzAAAABgAAAAAAAAD2////OAAAAF/////ZAQAA6fn//3QEAAAA1v//4kgAADMfAADnBwAA+AMAAAoCAABKAAAAMQAAAAUAAAAAAAAA9v///zgAAABf////2QEAAOn5//90BAAAANb//+JIAAAzHwAA5wcAAPgDAAAKAgAASgAAADEAAAAFAAAAAAAAAPb///85AAAATv///8gBAACR+f//sAMAADvU//+SSAAAaB0AAEsIAACeAwAACQIAAD0AAAAwAAAABQAAAAAAAAD2////OQAAAE7////IAQAAkfn//7ADAAA71P//kkgAAGgdAABLCAAAngMAAAkCAAA9AAAAMAAAAAUAAAAAAAAA9f///zkAAAA9////swEAADr5///eAgAAetL//y1IAACgGwAAoggAAEYDAAAHAgAAMQAAAC4AAAAEAAAAAAAAAPX///85AAAAPf///7MBAAA6+f//3gIAAHrS//8tSAAAoBsAAKIIAABGAwAABwIAADEAAAAuAAAABAAAAAAAAAD0////OQAAACz///+bAQAA5vj///0BAAC+0P//skcAAN0ZAADtCAAA7wIAAAICAAAmAAAALAAAAAQAAAAAAAAA9P///zkAAAAs////mwEAAOb4///9AQAAvtD//7JHAADdGQAA7QgAAO8CAAACAgAAJgAAACwAAAAEAAAA//////P///85AAAAGv///4ABAACV+P//DwEAAArP//8hRwAAHhgAACsJAACaAgAA/AEAABwAAAAqAAAABAAAAP/////z////OQAAABr///+AAQAAlfj//w8BAAAKz///IUcAAB4YAAArCQAAmgIAAPwBAAAcAAAAKgAAAAQAAAD/////8f///zgAAAAI////YgEAAEb4//8SAAAAXc3//3pGAABkFgAAXgkAAEcCAAD0AQAAEgAAACgAAAADAAAA//////H///84AAAACP///2IBAABG+P//EgAAAF3N//96RgAAZBYAAF4JAABHAgAA9AEAABIAAAAoAAAAAwAAAP/////w////NwAAAPb+//9AAQAA/Pf//wb///+4y///v0UAALEUAACGCQAA9gEAAOsBAAAJAAAAJwAAAAMAAAD/////8P///zcAAAD2/v//QAEAAPz3//8G////uMv//79FAACxFAAAhgkAAPYBAADrAQAACQAAACcAAAADAAAA/////+////82AAAA5P7//xsBAAC19///7f3//x3K///wRAAABhMAAKIJAACnAQAA4AEAAAEAAAAlAAAAAwAAAP/////v////NgAAAOT+//8bAQAAtff//+39//8dyv//8EQAAAYTAACiCQAApwEAAOABAAABAAAAJQAAAAMAAAD/////7v///zQAAADR/v//8wAAAHP3///H/P//jcj//wxEAABiEQAAtAkAAFsBAADUAQAA+f///yMAAAACAAAA/////+7///80AAAA0f7///MAAABz9///x/z//43I//8MRAAAYhEAALQJAABbAQAA1AEAAPn///8jAAAAAgAAAP/////s////MgAAAL/+///HAAAANvf//5P7//8Jx///FUMAAMcPAAC8CQAAEgEAAMYBAADy////IQAAAAIAAAD/////7P///zIAAAC//v//xwAAADb3//+T+///Ccf//xVDAADHDwAAvAkAABIBAADGAQAA8v///yEAAAACAAAA/////+v///8vAAAArf7//5cAAAD/9v//Ufr//5DF//8LQgAANQ4AALoJAADMAAAAuAEAAOv///8fAAAAAgAAAP/////r////LwAAAK3+//+XAAAA//b//1H6//+Qxf//C0IAADUOAAC6CQAAzAAAALgBAADr////HwAAAAIAAAD/////6f///ywAAACb/v//ZQAAAM72//8D+f//JsT///BAAACtDAAArwkAAIgAAACpAQAA5f///x0AAAACAAAA/////+n///8sAAAAm/7//2UAAADO9v//A/n//ybE///wQAAArQwAAK8JAACIAAAAqQEAAOX///8dAAAAAgAAAP/////o////KQAAAIn+//8uAAAApPb//6n3///Jwv//wz8AADALAACcCQAASAAAAJkBAADg////HAAAAAIAAAD/////6P///ykAAACJ/v//LgAAAKT2//+p9///ycL//8M/AAAwCwAAnAkAAEgAAACZAQAA4P///xwAAAACAAAA/////+b///8lAAAAeP7///X///+A9v//Qvb//3vB//+FPgAAvgkAAIAJAAALAAAAiAEAANv///8aAAAAAQAAAP/////m////JQAAAHj+///1////gPb//0L2//97wf//hT4AAL4JAACACQAACwAAAIgBAADb////GgAAAAEAAAB1uQIAi7kCALK5AgDYuQIA7rkCABW6AgA7ugIAUboCAHi6AgCeugIAtLoCANu6AgD/ugIAFbsCADy7AgD/ugIAYLsCAIe7AgD/ugIAYLsCAIe7AgD/ugIAYLsCAIe7AgCruwIAwbsCAOi7AgAAAAAAAAAAFL4oCh3NpVMkqX9ZJnViRixyjHMtgfyxLgAAADTXIK40lNZiNZauHTb0R942ek+kN2W+NzwkyJ88vigKPfXGdj0LjOU9YWNWPi46yT4+/z0/vKK0PwWLFkTNpVNEapuRRPtl0EQAABBFUWRQRRWOkUW7eNNF8x8WRql/WUYAlJ1GTFniRhHMJ0f86G1H46y0R78U/EfXDiJMdWJGTOcDa0zo8Y9MPyu1TMCu2kxJewBNxo8mTSrrTE1yjHNNpXKaTdOcwU0SCulNgrkQTkiqOE6R22BOkEyJToH8sU6h6tpONhYET4t+LU/vIldPuAKBTz4dq0/gcdVPAAAAVIFjFVQq4ypUsX5AVM81VlQ+CGxUu/WBVAP+l1TXIK5U9l3EVCS12lQkJvFUvLAHVbFUHlXLETVV1OdLVZTWYlXY3XlVbP2QVRw1qFW4hL9VDuzWVe9q7lUrAQZWlq4dVgJzNVZDTk1WLUBlVpZIfVZTZ5VWPZytVivnxVb0R95Wc772VoBKD1f36ydXsqJAV41uWVdkT3JXFEWLV3pPpFd1br1X4qHWV6Hp71fJogRcyloRXMQcHlyn6CpcZb43XO6dRFwzh1FcJnpeXLl2a1zcfHhcg4yFXJ+lklwkyJ9cAvSsXC4pulyaZ8dcOq/UXAAA4lzgWe9czrz8XL4oCl2knRdd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xwGZCAkMxwDHALkEaQqpBnkJNws3C7cDtwOJCFkKJwsnC6kFaQmnBKcEeQiJB5cElwR5B3kGtQK1ArUCtQIVCxULtQG1AQcLtwCXBkcKNwqnA1cJlwUlCiUKpQKlAhUKFQqlAaUBBwpnCKUApQCHBkcJlQOVAzcJVwiHBWcHJQklCZUClQJXB3cFNQg1CIUDhQNnBkcHdwRXBmcFdwMTCZMBBQmVAEUIhQR1AnUCRwZnBCMIIwgjCCMIgwITCDUHJQcTBxMHcwFzAVUFBQd1ADUGZQNFBVUEJQZlAjUFAwiDABMGYwEDBmMAVQNFBCMFIwVTAgMFMwRDA1MAIwRDAjMDRhj5D+kP2Q/pDskP2Q65D/kLyQ7ZDMIY5wznDNcN1w35CskNtw63DucL5wuXD5cP9wn3CecK5wq3DbcN1wvXC4cPhw/3CPcIxwzHDKkOmQ6HDocOeQ95DvUH9Qf1B/UH1QrVCqcNtwzHC/cGZQ9lD+UIVQ+VDdUJ9QXlB6UMtQtFD0UP9QT1BMcK5wb1A/UDMw8zD4UN1QgjD/MCZQ6VDAMPAw/FCVUOowujC3UN1QdDDkMOxQjVBjMOMw6zCbMJlQulCrMK4wXjBIMMYw3jAyMOAw7jAFMN0wVzDMMHQw2DC7MI0wSTCqMJYwzTA3MLUwzDBZMJcwqjB5MH9w73DPUN9Q3jDeMN4w3jDaMP4wkIAQgCCAMIBAgFBgaGBgQHQgdiBxcBFwEJARkABwAHAIgHiAiICYgKiAuGDAYNiA2GDgYPhg8GEIQQxhBGEcQRBBJEEoQSxBIEE0QThBPEEwIUIhRCFGQUohTCFOQUIhVCFWIVmQGCFaIVwhXiFQIWKQiJAhkIiQEiFkIWYhaCFikHeQJpBBkHWQV5AaIWOQZpA0kFWQQpBmkCGQbCFjkFZwFnAVkDSQQnBScFVwJXAhcFFwVXAVcBCQVZADcENwRHAycERwI3A0UBRQEXBAcEJQMlAzUCNQJHAAcDFQMVAzUBNQAjAiMCEwIjAQMCIwDiFgIX6Q4iF0IXYhf5C4IX2Q2pD/kKuQ7pC8kN2QyZD/kJ6Qq5DdkLiQ/5CMkMmQ7pCXkP+QepDdkKuQxpD6IXxwvHC/cG9waJDukIWQ+ZDfcF9wV3DncO5wfnB6cMpwzHCscKtwu3C9kJiQ1HD0cP9wT3BDcPNw/3A/cD1wjXCOcG5wYnDycP9wL3AmkO+QAXDxcP9wH3AZcMlwzHCccJVw6nC7cK5wV3DdcHRw7nBIcMxwg3DmcN1wbnA5cLtwknDicOpwqnCucC5wIXDhcO5wHnAQkO6QBXDVcN1wXXBXcMxwdHDYcL1QTVBLcIlwqnCWcMxwY3DdUD1QPVAtUCJw0HDRUNFQ11C3ULtQe1B9UB1QFXDNcAxQXFBYUKhQqlCEUMxQRlC7UGtQaXCQcMNQw1DMUDxQN1CnUKpQelB6UGpQbHAAcLwwLDAiUMVQu1BRUMhQmVCMUBRQu1BGUKNQt1CbMDswOVB4UIJQtVCrMCswKlBRULswGzAbUAZQmVBkUKpQR1CIUHNQqjA6MDUwmTBSMKowITCqMBBQqlAGMIYwiDBkMJkwQzCZMDkwN1BwUJUwiDBSMJYwdzBpMCEwmTAEMIgwRTB3MFMwiDA2MGQwdzBAMIgwBTBmMFMwdzA0MGAwdzAAMGYwDzD+MP8w7TD/MNww/zDNMO4w2zD8MO4wyjDgMPCAEIAggDBAQZAQkBFwAXAAMAAwADAAMAAwADAAMAAwBGBMYERAX5D4QFwgXoBfkC4gYZD/kBCAcICAgJCAoICwgMBg2GDQYOhg4GD4YPBhCEEMQQAhEkEWQRohFZAcIR4hECEiISGQRJAUISKQM5AhcDFwM3ATcBCQM5ACcCJwIVAiUBBQIlAOcP9w7XD/cNxw/3DLcP9wulD6UP9wqXD/cJ9wiFD4UPdQ/1B2UP9QZVD/UFQw9DD/ME8wPzAPMA8wDzAPMA8wDzAPMANQ81DzUPNQ9oEmYT5hNmFCMPAw/kFCQVZBWiFcQVBBZCFmQWpBbkFiQX6QNiF4IXohfCF+IXAhgiGAkNQhhiGIIYOQyiGBkMyQDCGOcC5wIpDhkO2QMpDdkC2QE5C+IYFw0XDckEaQvJA6kHJwwnDMkCuQXJAQkMSQu5BGkKqQa3A7cDWQqpBScLJwu3ArcCFwsXC7cBtwEJC7kAaQmZBkkKqQR5CIkHpwOnAzkKWQknCicKmQVpCKcBpwGJBnkHlwSXBEkJWQdnB2cHpQKlAqUCpQIVChUKBwqnADcJlwNXCIcFJQklCZUClQJ3BgcJFQkVCZUBlQGXAEcIhwR3BTcIhwNnBicIhQKFAkcHdwQVCBUIhQGFAYUAhQAHCFcGNQc1B3UDdQNnBUcGJQclB3UCdQJnBFcFBQcFBxMHEwcTBxMHcwFzAXUANQZlA0UFVQQlBmMCEwZjAWMBBQZlAFMDUwM1BUUEIwVTAhMFAwUzBEMDUwAjBEMCMwMDBEMAyQ4CGdcO1w7nCecJ6QrZCeUO5Q7lDuUO5w3nDecL5wu1DrUOxQ3FDdcM1wulDqUOxQzFDKcN1wp3DqcMxQrFCscJdw1VDlUOsw2zDbMNsw2TDpMOtQzFC4UO5QiVDeUHtQuFDdUIZQ7jBpMMpQu1CuUF1QdDDkMO5QSFDMMIMw5jDWMN1QaVC7UJpQrjAeMB0wTTBLUIpQlzC3MLtQfVAAMO4wBTDdMFcwzDB0MNgwuTCmMMwwYzDVMMwwWDCqMIkwlDDLMGcwpTC4MJkwhzCZMHgwjjDNMNCAEIAggD+Q8IBAgFCAYIBwgICAkGCoQKGQEJARkACQDpD/kO2Q/5DckP+Qy5D/kL9wr3CqkPmQ/3CfcJ9wj3CIkPeQ/3B/cHZw9nD/cG9wZXD1cP9wX3BUcPRw/3BPcENw83D/cD9wMnDycP9wL3AvcB9wEZD/kAxgpGC8YLRgzIDMYNRg7GDkQPhA/EDwQQRBCEEMQQBBFEEYYRBBJEEoQSxhJEE4YTAhQkFGQUohTEFAIVIhVCFWIVghWiFcIV4hUCFiIWQhZiFoIWohbCFuIWAhckF2IXhBd5A8IXeQJJBmkEWQV5ATkGaQNJBVkEKQZpAhkGaQHiFzkFWQNJBCkFWQIZBQIYVwFXATkESQMnBCcERwJHAjcDNwMXBBcERwFHAQkESQAnAycDNwI3AhUDFQMVAxUDNQE1ATUBNQEHAzcAJQIlAhMCEwITAhMCIwEjAQUCJQADDwMPAw8DD+cO1w7nDccO5wzXDbcO5wvHDdcMpw7nCrcN1wvHDJcO5wmnDdcKtwzHC4cO5wiXDdcJdw7nB6cMxwrHCrcLtwuHDYcN1wjXCAkO6QAHDQcN5QblBuUG5QZnDpcMxQnFCVUOVQ61CrUK5QXlBacLdw3VB9UH5QTlBIUMhQzFCMUIRw4nDjUONQ5lDdUG5QOVC7UJpQrlAhUO5QFVDdUFdQzFB0UNhQu1CNUElQqlCWUMxQY1DdUDJQ3VAhUNdQu1B9UBVQzFBYUKpQiVCUUMxQRlC2ULtQa1BtcABww1DDUMxQN1CqUHJQzFAlULtQUVDIUJlQjFAUULxwAHCzULNQu3AAcKFQoVCrMEswRlCqUGdQl1CZUHlQenAAcJlQCVALMDgwglC1UKswKzAqUFFQu1AWUJkwajBEUKdQiDB4MHMwqjA1MJkwUjCqMCowFjCIMGcwdDCZMEMwmTA1MIgwUjCWMHcwaTAhMJkwFDCIMEUwdzBTMIgwNjBiMIgwITCEMHcwSDAYMBBQiFAFMGYwUTBxMHBQd1ADMHIwcDBmMAAwVTAAAABYAPgAoAG4AeABQAEYAzgDYAPAA5gCgALYAngCIAY4BmAGwAaYB4AH2Ad4ByAFAAVYBfgFoAS4BOAEQAQYDDgMYAzADJgNgA3YDXgNIA8AD1gP+A+gDrgO4A5ADhgKAApYCvgKoAu4C+ALQAsYCTgJYAnACZgIgAjYCHgIIAg4GGAYwBiYGYAZ2Bl4GSAbABtYG/gboBq4GuAaQBoYHgAeWB74HqAfuB/gH0AfGB04HWAdwB2YHIAc2Bx4HCAUABRYFPgUoBW4FeAVQBUYFzgXYBfAF5gWgBbYFngWIBI4EmASwBKYE4AT2BN4EyARABFYEfgRoBC4EOAQQBAYEDgwYDDAMJgxgDHYMXgxIDMAM1gz+DOgMrgy4DJAMhg2ADZYNvg2oDe4N+A3QDcYNTg1YDXANZg0gDTYNHg0IDwAPFg8+DygPbg94D1APRg/OD9gP8A/mD6APtg+eD4gOjg6YDrAOpg7gDvYO3g7IDkAOVg5+DmgOLg44DhAOBg4AChYKPgooCm4KeApQCkYKzgrYCvAK5gqgCrYKngqIC44LmAuwC6YL4Av2C94LyAtAC1YLfgtoCy4LOAsQCwYJDgkYCTAJJglgCXYJXglICcAJ1gn+CegJrgm4CZAJhgiACJYIvgioCO4I+AjQCMYITghYCHAIZgggCDYIHggICSDVMQ0Jhc2UAJHBsYXkAb25EYXRhACRjbG9zZQBkZWNvZGVWaWRlb0J1ZmZlcgBpc1BsYXlpbmcAZmx2TW9kZQBhdWRpb0J1ZmZlcgB2aWRlb0J1ZmZlcgBicHMAYnVmZmVySW5mbwBINUxpdmVDbGllbnQAY2xvc2UAd2ViR0xDYW52YXMAaXNXZWJHTAB3ZWJnbDolcwB0cnVlAGZhbHNlAC5mbHYAV2ViU29ja2V0AGJpbmFyeVR5cGUAYXJyYXlidWZmZXIAb25tZXNzYWdlAHdzAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0ljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFAE5TdDNfXzIyMV9fYmFzaWNfc3RyaW5nX2NvbW1vbklMYjFFRUUAYmluZABOMTBlbXNjcmlwdGVuM3ZhbEUAZGF0YQB1bmtub3cgdHlwZTogJWQAZXJyb3IgdHlwZSA6JWQAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQBwbGF5QXVkaW8AaW5pdEF1ZGlvAHNldCBhdWRpbyBidWZmZXJMZW5ndGg6JWQAZ290IGgyNjQgdmlkZW8AZ290IGgyNjUgdmlkZW8AT25seSBzdXBwb3J0IHZpZGVvIGguMjY0L2F2YyBvciBoLjI2NS9oZXZjIGNvZGVjLiBhY3R1YWw9JWQAdmlkZW8gaW5mbyBzZXQhAHJlc2V0VGltZVNwYW4AY29kZWMgPSAlZCxwdHIgPSAlZABhdmNvZGVjX29wZW4yOiVkAHBsYXlWaWRlb0J1ZmZlcgB0aW1lc3BhbgBjbGVhclRpbWVvdXQAZnJvbnQAYmFjawBzaXplADhINUxDQmFzZQBQOEg1TENCYXNlAFBLOEg1TENCYXNlAGlpAHYAdmlpaQB2aWkAaWlpAG5vdGlmeU9uRGVzdHJ1Y3Rpb24AaW1wbGVtZW50AGV4dGVuZAAxMkg1TGl2ZUNsaWVudABOMTBlbXNjcmlwdGVuN3dyYXBwZXJJOEg1TENCYXNlRUUATjEwZW1zY3JpcHRlbjhpbnRlcm5hbDExV3JhcHBlckJhc2VFAFAxMkg1TGl2ZUNsaWVudABQSzEySDVMaXZlQ2xpZW50AGlpaWkAYXVkaW8gaW5pdCEgJWQAbXAzIGluaXQhAEZGTXBlZyBpbml0ADZGRm1wZWcAMTJWaWRlb0RlY29kZXIAY29kZWMgPSAlZAB2aWRlbyBkZWNvZGVyIHJlbGVhc2UhCgBGRk1wZWcgZGVzdG9yeQBmZm1wZWcgZGVjb2RlIHJldDolZABjYW52YXM6JWQsJWQAc2V0VmlkZW9TaXplAGRyYXcAYXVkaW8gZGVjb2RlciByZWxlYXNlCgBhdWRpbyBkZWNvZGVyIHJlbGVhc2UhCgBGbHZEZWNvZGVyIHJlbGVhc2UhCgBfX2Rlc3RydWN0AAAAAQECAgICAwMDAwMDAwMEBAQEBAQEBAQEBAQEBAQEBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcAgEDAIKBg4BCQUNAwsHDwCIhIyCioaOgYmFjYOLh4+ASERMQkpGTkFJRU1DS0dPQMjEzMLKxs7BycXNw8vHz8AoJCwiKiYuISklLSMrJy8gqKSsoqqmrqGppa2jq6evoGhkbGJqZm5haWVtY2tnb2Do5Ozi6ubu4enl7ePr5+/gGBQcEhoWHhEZFR0TGxcfEJiUnJKalp6RmZWdk5uXn5BYVFxSWlZeUVlVXVNbV19Q2NTc0trW3tHZ1d3T29ff0Dg0PDI6Nj4xOTU9Mzs3PzC4tLyyura+sbm1vbO7t7+weHR8cnp2fnF5dX1ze3d/cPj0/PL69v7x+fX98/v3//RmFpbGVkIHRvIHJlYWxsb2NhdGUgcGFyc2VyIGJ1ZmZlciB0byAlZAoAbmV4dCA+PSAwIHx8IHBjLT5idWZmZXIAbGliYXZjb2RlYy9wYXJzZXIuYwAlcyVzJXMlcwAgICAgTGFzdCBtZXNzYWdlIHJlcGVhdGVkICVkIHRpbWVzDQAgICAgTGFzdCBtZXNzYWdlIHJlcGVhdGVkICVkIHRpbWVzCgAbWyV1OzMldW0lcxtbMG0AG1s0ODs1OyV1bRtbMzg7NTslZG0lcxtbMG0AG1s0ODs1OyV1bRtbMzg7NTsldW0lcxtbMG0AVEVSTQBOT19DT0xPUgBBVl9MT0dfRk9SQ0VfTk9DT0xPUgBBVl9MT0dfRk9SQ0VfQ09MT1IAQVZfTE9HX0ZPUkNFXzI1NkNPTE9SADI1NmNvbG9yAFslcyBAICVwXSAAWyVzXSAAcGFuaWMAZmF0YWwAZXJyb3IAd2FybmluZwBpbmZvAHZlcmJvc2UAcXVpZXQAAAECAwQFBghBIG5vbi1OVUxMIHBhY2tldCBzZW50IGFmdGVyIGFuIEVPRi4KAENvZGVjICclcycgKCVkKSBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoZSBiaXRzdHJlYW0gZmlsdGVyICclcycuIFN1cHBvcnRlZCBjb2RlY3MgYXJlOiAAJXMgKCVkKSAAbXBlZzF2aWRlbwBtcGVnMnZpZGVvAGgyNjEAaDI2MwBydjEwAHJ2MjAAbWpwZWcAbWpwZWdiAGxqcGVnAHNwNXgAanBlZ2xzAG1wZWc0AHJhd3ZpZGVvAG1zbXBlZzR2MQBtc21wZWc0djIAbXNtcGVnNHYzAHdtdjEAd212MgBoMjYzcABoMjYzaQBmbHYxAHN2cTEAc3ZxMwBkdnZpZGVvAGh1ZmZ5dXYAY3l1dgBpbmRlbzMAdnAzAHRoZW9yYQBhc3YxAGFzdjIAZmZ2MQA0eG0AdmNyMQBjbGpyAG1kZWMAcm9xAGludGVycGxheXZpZGVvAHhhbl93YzMAeGFuX3djNABycHphAGNpbmVwYWsAd3NfdnFhAG1zcmxlAG1zdmlkZW8xAGlkY2luADhicHMAc21jAGZsaWMAdHJ1ZW1vdGlvbjEAdm1kdmlkZW8AbXN6aAB6bGliAHF0cmxlAHRzY2MAdWx0aQBxZHJhdwB2aXhsAHFwZWcAcG5nAHBwbQBwYm0AcGdtAHBnbXl1dgBwYW0AZmZ2aHVmZgBydjMwAHJ2NDAAdmMxAHdtdjMAbG9jbwB3bnYxAGFhc2MAaW5kZW8yAGZyYXBzAHRydWVtb3Rpb24yAGJtcABjc2NkAG1tdmlkZW8Aem1idgBhdnMAc21hY2t2aWRlbwBudXYAa212YwBmbGFzaHN2AGNhdnMAanBlZzIwMDAAdm1uYwB2cDUAdnA2AHZwNmYAdGFyZ2EAZHNpY2ludmlkZW8AdGllcnRleHNlcXZpZGVvAHRpZmYAZ2lmAGR4YQBkbnhoZAB0aHAAc2dpAGM5MwBiZXRoc29mdHZpZABwdHgAdHhkAHZwNmEAdmIAcGN4AHN1bnJhc3QAaW5kZW80AGluZGVvNQBtaW1pYwBybDIAZXNjYXBlMTI0AGRpcmFjAGJmaQBjbXYAbW90aW9ucGl4ZWxzAHRndgB0Z3EAdHFpAGF1cmEAYXVyYTIAdjIxMHgAdG12AHYyMTAAZHB4AG1hZABmcnd1AGZsYXNoc3YyAGNkZ3JhcGhpY3MAcjIxMABhbm0AYmlua3ZpZGVvAGlmZl9pbGJtAGtndjEAeW9wAHZwOABwaWN0b3IAYW5zaQBhNjRfbXVsdGkAYTY0X211bHRpNQByMTBrAG14cGVnAGxhZ2FyaXRoAHByb3JlcwBqdgBkZmEAd212M2ltYWdlAHZjMWltYWdlAHV0dmlkZW8AYm12X3ZpZGVvAHZibGUAZHh0b3J5AHY0MTAAeHdkAGNkeGwAeGJtAHplcm9jb2RlYwBtc3MxAG1zYTEAdHNjYzIAbXRzMgBjbGxjAG1zczIAdnA5AGVzY2FwZTEzMABnMm0Ad2VicABobm00dmlkZW8AaGV2YwBmaWMAYWxpYXNfcGl4AGJyZW5kZXJfcGl4AHBhZl92aWRlbwBleHIAdnA3AHNhbm0Ac2dpcmxlAG12YzEAbXZjMgBocXgAdGRzYwBocV9ocWEAaGFwAGRkcwBkeHYAc2NyZWVucHJlc3NvAHJzY2MAeTQxcABhdnJwADAxMnYAYXZ1aQBheXV2AHRhcmdhX3kyMTYAdjMwOAB2NDA4AHl1djQAYXZybgBjcGlhAHhmYWNlAHNub3cAc212anBlZwBhcG5nAGRhYWxhAGNmaGQAdHJ1ZW1vdGlvbjJydABtMTAxAG1hZ2ljeXV2AHNoZWVydmlkZW8AeWxjAHBzZABwaXhsZXQAc3BlZWRocQBmbXZjAHNjcHIAY2xlYXJ2aWRlbwB4cG0AYXYxAGJpdHBhY2tlZABtc2NjAHNyZ2MAc3ZnAGdkdgBmaXRzAHBjbV9zMTZsZQBwY21fczE2YmUAcGNtX3UxNmxlAHBjbV91MTZiZQBwY21fczgAcGNtX3U4AHBjbV9tdWxhdwBwY21fYWxhdwBwY21fczMybGUAcGNtX3MzMmJlAHBjbV91MzJsZQBwY21fdTMyYmUAcGNtX3MyNGxlAHBjbV9zMjRiZQBwY21fdTI0bGUAcGNtX3UyNGJlAHBjbV9zMjRkYXVkAHBjbV96b3JrAHBjbV9zMTZsZV9wbGFuYXIAcGNtX2R2ZABwY21fZjMyYmUAcGNtX2YzMmxlAHBjbV9mNjRiZQBwY21fZjY0bGUAcGNtX2JsdXJheQBwY21fbHhmAHMzMDJtAHBjbV9zOF9wbGFuYXIAcGNtX3MyNGxlX3BsYW5hcgBwY21fczMybGVfcGxhbmFyAHBjbV9zMTZiZV9wbGFuYXIAcGNtX3M2NGxlAHBjbV9zNjRiZQBwY21fZjE2bGUAcGNtX2YyNGxlAGFkcGNtX2ltYV9xdABhZHBjbV9pbWFfd2F2AGFkcGNtX2ltYV9kazMAYWRwY21faW1hX2RrNABhZHBjbV9pbWFfd3MAYWRwY21faW1hX3NtanBlZwBhZHBjbV9tcwBhZHBjbV80eG0AYWRwY21feGEAYWRwY21fYWR4AGFkcGNtX2VhAGFkcGNtX2c3MjYAYWRwY21fY3QAYWRwY21fc3dmAGFkcGNtX3lhbWFoYQBhZHBjbV9zYnByb180AGFkcGNtX3NicHJvXzMAYWRwY21fc2Jwcm9fMgBhZHBjbV90aHAAYWRwY21faW1hX2FtdgBhZHBjbV9lYV9yMQBhZHBjbV9lYV9yMwBhZHBjbV9lYV9yMgBhZHBjbV9pbWFfZWFfc2VhZABhZHBjbV9pbWFfZWFfZWFjcwBhZHBjbV9lYV94YXMAYWRwY21fZWFfbWF4aXNfeGEAYWRwY21faW1hX2lzcwBhZHBjbV9nNzIyAGFkcGNtX2ltYV9hcGMAYWRwY21fdmltYQBhZHBjbV9hZmMAYWRwY21faW1hX29raQBhZHBjbV9kdGsAYWRwY21faW1hX3JhZABhZHBjbV9nNzI2bGUAYWRwY21fdGhwX2xlAGFkcGNtX3BzeABhZHBjbV9haWNhAGFkcGNtX2ltYV9kYXQ0AGFkcGNtX210YWYAYW1yX25iAGFtcl93YgByYV8xNDQAcmFfMjg4AHJvcV9kcGNtAGludGVycGxheV9kcGNtAHhhbl9kcGNtAHNvbF9kcGNtAHNkeDJfZHBjbQBncmVtbGluX2RwY20AbXAyAG1wMwBhYWMAYWMzAHZvcmJpcwBkdmF1ZGlvAHdtYXYxAHdtYXYyAG1hY2UzAG1hY2U2AHZtZGF1ZGlvAGZsYWMAbXAzYWR1AG1wM29uNABzaG9ydGVuAGFsYWMAd2VzdHdvb2Rfc25kMQBnc20AcWRtMgBjb29rAHRydWVzcGVlY2gAdHRhAHNtYWNrYXVkaW8AcWNlbHAAd2F2cGFjawBkc2ljaW5hdWRpbwBpbWMAbXVzZXBhY2s3AG1scABnc21fbXMAYXRyYWMzAGFwZQBuZWxseW1vc2VyAG11c2VwYWNrOABzcGVleAB3bWF2b2ljZQB3bWFwcm8Ad21hbG9zc2xlc3MAYXRyYWMzcABlYWMzAHNpcHIAbXAxAHR3aW52cQB0cnVlaGQAbXA0YWxzAGF0cmFjMQBiaW5rYXVkaW9fcmRmdABiaW5rYXVkaW9fZGN0AGFhY19sYXRtAHFkbWMAY2VsdABnNzIzXzEAZzcyOQA4c3Z4X2V4cAA4c3Z4X2ZpYgBibXZfYXVkaW8AcmFsZgBpYWMAaWxiYwBvcHVzAGNvbWZvcnRub2lzZQB0YWsAbWV0YXNvdW5kAHBhZl9hdWRpbwBhdmMAZHNzX3NwAGNvZGVjMgB3YXZlc3ludGgAc29uaWMAc29uaWNscwBldnJjAHNtdgBkc2RfbHNiZgBkc2RfbXNiZgBkc2RfbHNiZl9wbGFuYXIAZHNkX21zYmZfcGxhbmFyADRndgBpbnRlcnBsYXlhY20AeG1hMQB4bWEyAGRzdABhdHJhYzNhbABhdHJhYzNwYWwAZG9sYnlfZQBhcHR4AGFwdHhfaGQAc2JjAGR2ZF9zdWJ0aXRsZQBkdmJfc3VidGl0bGUAdGV4dAB4c3ViAHNzYQBtb3ZfdGV4dABoZG12X3Bnc19zdWJ0aXRsZQBkdmJfdGVsZXRleHQAc3J0AG1pY3JvZHZkAGVpYV82MDgAamFjb3N1YgBzYW1pAHJlYWx0ZXh0AHN0bABzdWJ2aWV3ZXIxAHN1YnZpZXdlcgBzdWJyaXAAd2VidnR0AG1wbDIAdnBsYXllcgBwanMAaGRtdl90ZXh0X3N1YnRpdGxlAHR0ZgBzY3RlXzM1AGJpbnRleHQAeGJpbgBpZGYAb3RmAGtsdgBkdmRfbmF2X3BhY2tldAB0aW1lZF9pZDMAYmluX2RhdGEAd3JhcHBlZF9hdmZyYW1lAGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQBhcHBsaWNhdGlvbi92bmQubXMtb3BlbnR5cGUAYXBwbGljYXRpb24veC10cnVldHlwZS1mb250AGFwcGxpY2F0aW9uL3gtZm9udABpbWFnZS9zdmcreG1sAGltYWdlL3gteHBpeG1hcABpbWFnZS9wbmcAaW1hZ2Uvd2Vi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YXkxNmxlAHkxNmxlAHl1djQ0MHAAeXV2ajQ0MHAAeXV2YTQyMHAAcmdiNDhiZQByZ2I0OGxlAHJnYjU2NWJlAHJnYjU2NWxlAHJnYjU1NWJlAHJnYjU1NWxlAGJncjU2NWJlAGJncjU2NWxlAGJncjU1NWJlAGJncjU1NWxlAHZhYXBpX21vY28AdmFhcGlfaWRjdAB2YWFwaV92bGQAeXV2NDIwcDE2bGUAeXV2NDIwcDE2YmUAeXV2NDIycDE2bGUAeXV2NDIycDE2YmUAeXV2NDQ0cDE2bGUAeXV2NDQ0cDE2YmUAZHh2YTJfdmxkAHJnYjQ0NGxlAHJnYjQ0NGJlAGJncjQ0NGxlAGJncjQ0NGJlAHlhOABncmF5OGEAYmdyNDhiZQBiZ3I0OGxlAHl1djQyMHA5YmUAeXV2NDIwcDlsZQB5dXY0MjBwMTBiZQB5dXY0MjBwMTBsZQB5dXY0MjJwMTBiZQB5dXY0MjJwMTBsZQB5dXY0NDRwOWJlAHl1djQ0NHA5bGUAeXV2NDQ0cDEwYmUAeXV2NDQ0cDEwbGUAeXV2NDIycDliZQB5dXY0MjJwOWxlAGdicnAAZ2JycDliZQBnYnJwOWxlAGdicnAxMGJlAGdicnAxMGxlAGdicnAxNmJlAGdicnAxNmxlAHl1dmE0MjJwAHl1dmE0NDRwAHl1dmE0MjBwOWJlAHl1dmE0MjBwOWxlAHl1dmE0MjJwOWJlAHl1dmE0MjJwOWxlAHl1dmE0NDRwOWJlAHl1dmE0NDRwOWxlAHl1dmE0MjBwMTBiZQB5dXZhNDIwcDEwbGUAeXV2YTQyMnAxMGJlAHl1dmE0MjJwMTBsZQB5dXZhNDQ0cDEwYmUAeXV2YTQ0NHAxMGxlAHl1dmE0MjBwMTZiZQB5dXZhNDIwcDE2bGUAeXV2YTQyMnAxNmJlAHl1dmE0MjJwMTZsZQB5dXZhNDQ0cDE2YmUAeXV2YTQ0NHAxNmxlAHZkcGF1AHh5ejEybGUAeHl6MTJiZQBudjE2AG52MjBsZQBudjIwYmUAcmdiYTY0YmUAcmdiYTY0bGUAYmdyYTY0YmUAYmdyYTY0bGUAeXZ5dTQyMgB5YTE2YmUAeWExNmxlAGdicmFwAGdicmFwMTZiZQBnYnJhcDE2bGUAcXN2AG1tYWwAZDNkMTF2YV92bGQAY3VkYQAwcmdiAHJnYjAAMGJncgBiZ3IwAHl1djQyMHAxMmJlAHl1djQyMHAxMmxlAHl1djQyMHAxNGJlAHl1djQyMHAxNGxlAHl1djQyMnAxMmJlAHl1djQyMnAxMmxlAHl1djQyMnAxNGJlAHl1djQyMnAxNGxlAHl1djQ0NHAxMmJlAHl1djQ0NHAxMmxlAHl1djQ0NHAxNGJlAHl1djQ0NHAxNGxlAGdicnAxMmJlAGdicnAxMmxlAGdicnAxNGJlAGdicnAxNGxlAHl1dmo0MTFwAGJheWVyX2JnZ3I4AGJheWVyX3JnZ2I4AGJheWVyX2dicmc4AGJheWVyX2dyYmc4AGJheWVyX2JnZ3IxNmxlAGJheWVyX2JnZ3IxNmJlAGJheWVyX3JnZ2IxNmxlAGJheWVyX3JnZ2IxNmJlAGJheWVyX2dicmcxNmxlAGJheWVyX2dicmcxNmJlAGJheWVyX2dyYmcxNmxlAGJheWVyX2dyYmcxNmJlAHh2bWMAeXV2NDQwcDEwbGUAeXV2NDQwcDEwYmUAeXV2NDQwcDEybGUAeXV2NDQwcDEyYmUAYXl1djY0bGUAYXl1djY0YmUAdmlkZW90b29sYm94X3ZsZABwMDEwbGUAcDAxMGJlAGdicmFwMTJiZQBnYnJhcDEybGUAZ2JyYXAxMGJlAGdicmFwMTBsZQBtZWRpYWNvZGVjAGdyYXkxMmJlAHkxMmJlAGdyYXkxMmxlAHkxMmxlAGdyYXkxMGJlAHkxMGJlAGdyYXkxMGxlAHkxMGxlAHAwMTZsZQBwMDE2YmUAZDNkMTEAZ3JheTliZQB5OWJlAGdyYXk5bGUAeTlsZQBnYnJwZjMyYmUAZ2JycGYzMmxlAGdicmFwZjMyYmUAZ2JyYXBmMzJsZQBkcm1fcHJpbWUAb3BlbmNsAEZhaWxlZCB0byBtYXAgZnJhbWUgaW50byBkZXJpdmVkIGZyYW1lIGNvbnRleHQ6ICVkLgoASW52YWxpZCBtYXBwaW5nIGZvdW5kIHdoZW4gYXR0ZW1wdGluZyB1bm1hcC4KAGF2X2ltYWdlX2dldF9saW5lc2l6ZSBmYWlsZWQKAGFicyhzcmNfbGluZXNpemUpID49IGJ5dGV3aWR0aABsaWJhdnV0aWwvaW1ndXRpbHMuYwBhYnMoZHN0X2xpbmVzaXplKSA+PSBieXRld2lkdGgAUGljdHVyZSBzaXplICV1eCV1IGlzIGludmFsaWQKAFBpY3R1cmUgc2l6ZSAldXgldSBleGNlZWRzIHNwZWNpZmllZCBtYXggcGl4ZWwgY291bnQgJWxsZCwgc2VlIHRoZSBkb2N1bWVudGF0aW9uIGlmIHlvdSB3aXNoIHRvIGluY3JlYXNlIGl0CgBJTUdVVElMUwAhZHN0LT5mLT5idWZbMF0AbGliYXZjb2RlYy9oMjY0X3BpY3R1cmUuYwBzcmMtPmYtPmJ1ZlswXQBzcmMtPnRmLmYgPT0gc3JjLT5mACFkc3QtPnByb2dyZXNzAGxpYmF2Y29kZWMvdXRpbHMuYwBidWZfaW5kZXggPD0gYnVmX3NpemUAbGliYXZjb2RlYy9oMjY0ZGVjLmMAbm8gZnJhbWUhCgBwaWN0LT5idWZbMF0gfHwgISpnb3RfZnJhbWUARHVwbGljYXRpbmcgZmllbGQgJWQgdG8gZmlsbCBtaXNzaW5nCgBzdGVyZW9fbW9kZQBjaGVja2VyYm9hcmRfcmwAY2hlY2tlcmJvYXJkX2xyAGNvbF9pbnRlcmxlYXZlZF9ybABjb2xfaW50ZXJsZWF2ZWRfbHIAcm93X2ludGVybGVhdmVkX3JsAHJvd19pbnRlcmxlYXZlZF9scgByaWdodF9sZWZ0AGxlZnRfcmlnaHQAYm90dG9tX3RvcAB0b3BfYm90dG9tAGJsb2NrX3JsAGJsb2NrX2xyAGhhcmR3YXJlIGFjY2VsZXJhdG9yIGZhaWxlZCB0byBkZWNvZGUgcGljdHVyZQoAJXAgZmluaXNoZWQgJWQgZmllbGQgJWQKAFNQUyBpcyB1bnNldAoAbm8gbW1jbyBoZXJlCgBtbWNvOiVkICVkICVkCgBtbWNvOiB1bnJlZiBzaG9ydCBmYWlsdXJlCgBtbWNvOiB1bnJlZiBzaG9ydCAlZCBjb3VudCAlZAoAbW1jbzogdW5yZWYgbG9uZyBmYWlsdXJlCgBtbWNvOiBjYW5ub3QgYXNzaWduIGN1cnJlbnQgcGljdHVyZSB0byBzaG9ydCBhbmQgbG9uZyBhdCB0aGUgc2FtZSB0aW1lCgBtbWNvOiBjYW5ub3QgYXNzaWduIGN1cnJlbnQgcGljdHVyZSB0byAyIGxvbmcgdGVybSByZWZlcmVuY2VzCgAhaC0+Y3VyX3BpY19wdHItPmxvbmdfcmVmAGxpYmF2Y29kZWMvaDI2NF9yZWZzLmMAaWxsZWdhbCBzaG9ydCB0ZXJtIHJlZmVyZW5jZSBhc3NpZ25tZW50IGZvciBzZWNvbmQgZmllbGQgaW4gY29tcGxlbWVudGFyeSBmaWVsZCBwYWlyIChmaXJzdCBmaWVsZCBpcyBsb25nIHRlcm0pCgBpbGxlZ2FsIHNob3J0IHRlcm0gYnVmZmVyIHN0YXRlIGRldGVjdGVkCgBudW1iZXIgb2YgcmVmZXJlbmNlIGZyYW1lcyAoJWQrJWQpIGV4Y2VlZHMgbWF4ICglZDsgcHJvYmFibHkgY29ycnVwdCBpbnB1dCksIGRpc2NhcmRpbmcgb25lCgBsb25nIHRlcm0gbGlzdDoKACV1IGZuOiVkIHBvYzolZCAlcAoAc2hvcnQgdGVybSBsaXN0OgoAcmVtb3ZlIHNob3J0ICVkIGNvdW50ICVkCgAlZCAlZCAlcAoARXJyb3Igc3BsaXR0aW5nIHRoZSBpbnB1dCBpbnRvIE5BTCB1bml0cy4KAEludmFsaWQgaW50ZXIgSURSIGZyYW1lCgBpbnZhbGlkIG1peGVkIElEUiAvIG5vbiBJRFIgZnJhbWVzIGNhbm5vdCBiZSBkZWNvZGVkIGluIHNsaWNlIG11bHRpdGhyZWFkaW5nIG1vZGUKAGRhdGEgcGFydGl0aW9uaW5nAFNQUyBkZWNvZGluZyBmYWlsdXJlLCB0cnlpbmcgYWdhaW4gd2l0aCB0aGUgY29tcGxldGUgTkFMCgBVbmtub3duIE5BTCBjb2RlOiAlZCAoJWQgYml0cykKAGRlY29kZV9zbGljZV9oZWFkZXIgZXJyb3IKAGlnbm9yaW5nIGxhc3QgbWlzc2luZyBzbGljZQoAQ2Fubm90IHVzZSBwcmV2aW91cyBwaWN0dXJlIGluIGVycm9yIGNvbmNlYWxtZW50CgBDYW5ub3QgdXNlIG5leHQgcGljdHVyZSBpbiBlcnJvciBjb25jZWFsbWVudAoAV2FybmluZyBNVnMgbm90IGF2YWlsYWJsZQoAJTJYIAAKAGNvbmNlYWxpbmcgJWQgREMsICVkIEFDLCAlZCBNViBlcnJvcnMgaW4gJWMgZnJhbWUKAHMtPmF2Y3R4LT5jb2RlY19pZCAhPSBBVl9DT0RFQ19JRF9IMjY0AGxpYmF2Y29kZWMvZXJyb3JfcmVzaWxpZW5jZS5jAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4CBgoOEhYaHiImKi4yNjo+QkZKTlJWWl5iZmpucnZ6foKGio6SlpqeoqaqrrK2ur7CxsrO0tba3uLm6u7y9vr/AwcLDxMXGx8jJysvMzc7P0NHS09TV1tfY2drb3N3e3+Dh4uPk5ebn6Onq6+zt7u/w8fLz9PX29/j5+vv8/f7//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3MtPnF1YXJ0ZXJfc2FtcGxlAGd1ZXNzX2RjKCkgaXMgb3V0IG9mIG1lbW9yeQoAbmV4dF9ibG9ja2xpc3RfbGVuZ3RoIDw9IG1iX2hlaWdodCAqIG1iX3dpZHRoAHRocmVhZCBhd2FpdGluZyAlZCBmaWVsZCAlZCBmcm9tICVwCgBUcnVuY2F0aW5nIGxpa2VseSBvdmVyc2l6ZWQgUFBTICglenUgPiAlenUpCgBzcHNfaWQgJXUgb3V0IG9mIHJhbmdlCgBJbnZhbGlkIGx1bWEgYml0IGRlcHRoPSVkCgBVbmltcGxlbWVudGVkIGx1bWEgYml0IGRlcHRoPSVkAEZNTyBub3Qgc3VwcG9ydGVkCgByZWZlcmVuY2Ugb3ZlcmZsb3cgKHBwcykKAENBQkFDAENBVkxDAHdlaWdodGVkAExQQVIAQ09OU1RSAFJFRFUAOHg4RENUAHBwczoldSBzcHM6JXUgJXMgc2xpY2VfZ3JvdXBzOiVkIHJlZjoldS8ldSAlcyBxcDolZC8lZC8lZC8lZCAlcyAlcyAlcyAlcwoABgoNEBIXGRsKCxASFxkbHQ0QEhcZGx0fEBIXGRsdHyESFxkbHR8hJBcZGx0fISQmGRsdHyEkJigbHR8hJCYoKgkNDxETFRYYDQ0RExUWGBkPERMVFhgZGxETFRYYGRscExUWGBkbHB4VFhgZGxweIBYYGRscHiAhGBkbHB4gISMGDRQcDRQcIBQcICUcICUqCg4UGA4UGBsUGBseGBseIgABBAgFAgMGCQwNCgcLDg8AAAEIEAkCAwoRGCAZEgsEBQwTGiEoMCkiGxQNBgcOFRwjKjE4OTIrJB0WDxceJSwzOjs0LSYfJy41PD02Lzc+P2RlbHRhIHNjYWxlICVkIGlzIGludmFsaWQKAEN1cnJlbnQgcHJvZmlsZSBkb2Vzbid0IHByb3ZpZGUgbW9yZSBSQlNQIGRhdGEgaW4gUFBTLCBza2lwcGluZwoAIGlzIG5vdCBpbXBsZW1lbnRlZC4gVXBkYXRlIHlvdXIgRkZtcGVnIHZlcnNpb24gdG8gdGhlIG5ld2VzdCBvbmUgZnJvbSBHaXQuIElmIHRoZSBwcm9ibGVtIHN0aWxsIG9jY3VycywgaXQgbWVhbnMgdGhhdCB5b3VyIGZpbGUgaGFzIGEgZmVhdHVyZSB3aGljaCBoYXMgbm90IGJlZW4gaW1wbGVtZW50ZWQuCgBJZiB5b3Ugd2FudCB0byBoZWxwLCB1cGxvYWQgYSBzYW1wbGUgb2YgdGhpcyBmaWxlIHRvIGZ0cDovL3VwbG9hZC5mZm1wZWcub3JnL2luY29taW5nLyBhbmQgY29udGFjdCB0aGUgZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdC4gKGZmbXBlZy1kZXZlbEBmZm1wZWcub3JnKQoAVHJ1bmNhdGluZyBsaWtlbHkgb3ZlcnNpemVkIFNQUwoAY2hyb21hX2Zvcm1hdF9pZGMgJXUAc2VwYXJhdGUgY29sb3IgcGxhbmVzIGFyZSBub3Qgc3VwcG9ydGVkCgBEaWZmZXJlbnQgY2hyb21hIGFuZCBsdW1hIGJpdCBkZXB0aABpbGxlZ2FsIGJpdCBkZXB0aCB2YWx1ZSAoJWQsICVkKQoAbG9nMl9tYXhfZnJhbWVfbnVtX21pbnVzNCBvdXQgb2YgcmFuZ2UgKDAtMTIpOiAlZAoAbG9nMl9tYXhfcG9jX2xzYiAoJWQpIGlzIG91dCBvZiByYW5nZQoAcG9jX2N5Y2xlX2xlbmd0aCBvdmVyZmxvdyAlZAoAaWxsZWdhbCBQT0MgdHlwZSAlZAoAdG9vIG1hbnkgcmVmZXJlbmNlIGZyYW1lcyAlZAoAaGVpZ2h0IG92ZXJmbG93CgBtYl93aWR0aC9oZWlnaHQgb3ZlcmZsb3cKAGRpc2NhcmRpbmcgc3BzIGNyb3BwaW5nLCBvcmlnaW5hbCB2YWx1ZXMgYXJlIGw6JWQgcjolZCB0OiVkIGI6JWQKAGNyb3AgdmFsdWVzIGludmFsaWQgJWQgJWQgJWQgJWQgLyAlZCAlZAoAVlVJAE92ZXJyZWFkICVzIGJ5ICVkIGJpdHMKAE1CLUFGRgBQSUMtQUZGAEZSTQA4QjgAR3JheQA0MjAAADQyMgAANDQ0AABzcHM6JXUgcHJvZmlsZTolZC8lZCBwb2M6JWQgcmVmOiVkICVkeCVkICVzICVzIGNyb3A6JXUvJXUvJXUvJXUgJXMgJXMgJWQvJWQgYiVkIHJlbzolZAoAaWxsZWdhbCBhc3BlY3QgcmF0aW8KAFRydW5jYXRlZCBWVUkKAHRpbWVfc2NhbGUvbnVtX3VuaXRzX2luX3RpY2sgaW52YWxpZCBvciB1bnN1cHBvcnRlZCAoJXUvJXUpCgBDbGlwcGluZyBpbGxlZ2FsIG51bV9yZW9yZGVyX2ZyYW1lcyAlZAoAY3BiX2NvdW50ICVkIGludmFsaWQKAGdicgByZXNlcnZlZABjaHJvbWEtZGVyaXZlZC1uYwBjaHJvbWEtZGVyaXZlZC1jAGljdGNwAEdyZWVuIE1ldGFkYXRhIEluZm8gU0VJIG1lc3NhZ2UKACAgZ3JlZW5fbWV0YWRhdGFfdHlwZTogJWQKACAgZ3JlZW5fbWV0YWRhdGFfcGVyaW9kX3R5cGU6ICVkCgAgIGdyZWVuX21ldGFkYXRhX251bV9zZWNvbmRzOiAlZAoAICBncmVlbl9tZXRhZGF0YV9udW1fcGljdHVyZXM6ICVkCgAgIFNFSSBHUkVFTiBDb21wbGV4aXR5IE1ldHJpY3M6ICVm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ZWN0LmMAY28gbG9jYXRlZCBQT0NzIHVuYXZhaWxhYmxlCgBwb2NkaWZmIG92ZXJmbG93CgBwb2NkaWZmMCBvdmVyZmxvdwoAYWJzX2RpZmZfcGljX251bSBvdmVyZmxvdwoAbG9uZ190ZXJtX3BpY19pZHggb3ZlcmZsb3cKAHJlZmVyZW5jZSBwaWN0dXJlIG1pc3NpbmcgZHVyaW5nIHJlb3JkZXIKAE1pc3NpbmcgcmVmZXJlbmNlIHBpY3R1cmUsIGRlZmF1bHQgaXMgJWQKAGF2X2J1ZmZlcl9nZXRfcmVmX2NvdW50KHNsLT5yZWZfbGlzdFtsaXN0XVtpbmRleF0ucGFyZW50LT5mLT5idWZbMF0pID4gMABsZW4gPD0gMzIARGlzY2FyZGluZyBtaXNtYXRjaGluZyByZWZlcmVuY2UKAGluZGV4IDwgZGVmX2xlbgBoLT5jdXJfcGljX3B0cgBoLT5jdXJfcGljX3B0ci0+Zi0+YnVmWzBdAEludmFsaWQgZmllbGQgbW9kZSBjb21iaW5hdGlvbiAlZC8lZAoARm91bmQgcmVmZXJlbmNlIGFuZCBub24tcmVmZXJlbmNlIGZpZWxkcyBpbiB0aGUgc2FtZSBmcmFtZSwgd2hpY2gARnJhbWUgbnVtIGdhcCAlZCAlZAoASW52YWxpZCBQT0MgJWQ8JWQKAEluY3JlYXNpbmcgcmVvcmRlciBidWZmZXIgdG8gJWQKAHBpY3MgPD0gMTYAb29vAG5vIHBpY3R1cmUgJXMKAEF0dGVtcHQgdG8gc3RhcnQgYSBmcmFtZSBvdXRzaWRlIFNFVFVQIHN0YXRlCgBubyBmcmFtZSBidWZmZXIgYXZhaWxhYmxlCgBkZXNjLT5mbGFncyAmICgxIDw8IDQpACFwaWMtPmYtPmRhdGFbMF0AIXBpYy0+aHdhY2NlbF9waWN0dXJlX3ByaXZhdGUAdGhyZWFkX2dldF9idWZmZXIoKSBmYWlsZWQKAGdldF9idWZmZXIoKSBjYW5ub3QgYmUgY2FsbGVkIGFmdGVyIGZmX3RocmVhZF9maW5pc2hfc2V0dXAoKQoAZ2V0X2J1ZmZlcigpIGZhaWxlZAoAdmlkZW9fZ2V0X2J1ZmZlcjogaW1hZ2UgcGFyYW1ldGVycyBpbnZhbGlkCgBwaWMtPmRhdGFbKl0hPU5VTEwgaW4gZ2V0X2J1ZmZlcl9pbnRlcm5hbAoAZnJhbWUtPmRhdGFbaV0AQnVmZmVyIHJldHVybmVkIGJ5IGdldF9idWZmZXIyKCkgZGlkIG5vdCB6ZXJvIHVudXNlZCBwbGFuZSBwb2ludGVycwoASW5jb25zaXN0ZW50IGNoYW5uZWwgY29uZmlndXJhdGlvbi4KAFRvbyBtYW55IGNoYW5uZWxzOiAlZC4KAGNoYW5naW5nIHdpZHRoICVkIC0+ICVkIC8gaGVpZ2h0ICVkIC0+ICVkIG9uIHNsaWNlICVkCgBSZWluaXQgY29udGV4dCB0byAlZHglZCwgcGl4X2ZtdDogJXMKAGgyNjRfc2xpY2VfaGVhZGVyX2luaXQoKSBmYWlsZWQKAENvdWxkIG5vdCBhbGxvY2F0ZSBtZW1vcnkKAFVuc3VwcG9ydGVkIGJpdCBkZXB0aCAlZAoAY29udGV4dF9pbml0KCkgZmFpbGVkLgoAQ2Fubm90IGFsbG9jYXRlIG1lbW9yeS4KAFJlZmVyZW5jZSBub3QgYXZhaWxhYmxlIGZvciBlcnJvciBjb25jZWFsaW5nCgBSZWZlcmVuY2UgaW52YWxpZAoAbGliYXZjb2RlYy9oMjY0cHJlZC5jAGJpdF9kZXB0aDw9OABsaWJhdmNvZGVjL2gyNjRkc3AuYwAAEAAggKAMDRQVDg8WFxwdJCUeHyYnNDU8PTY3Pj9ERUxNRkdOT1xdZGVeX2ZnbG10dW5vdncAKFAABAEIDAUJDQIGCg4DBwsPAAAJERIMKBsHIzkdHjomNS8BAhgLEzAUDioyFiU7Hzw3CAMgBBopDRUxKw8sNCc9PhAKGQUhIgYcOCQXMy0uNj8AAAgQAQkYIBECGSgwOCEKAxIpMTkaCwQTIioyOhsMBRQjKzM7HA0GFSQsNDwdDhYlLTU9HgcPJi42PhcfJy83PwAACQI4EhoiGyMcJB0tBzYnCBgZISkLKgwrDSwONQ8+LxAgKAoxBDIFMwY0Fj0mFzcBETADORM6FDsVPCUeLh8/AAABAjUDBzYbBCYpCCI3MBw+BScuLCoWCRgjOzgxEh0LPzQGGiUoIS89LSsVFzoRCjMZJCA8FDkQMh8TDx4ODQxpZ25vcmluZyBpbnZhbGlkIFNBUjogJWQvJWQKAHNwcy0+Y3JvcF9yaWdodCArIHNwcy0+Y3JvcF9sZWZ0IDwgKHVuc2lnbmVkKWgtPndpZHRoAHNwcy0+Y3JvcF90b3AgKyBzcHMtPmNyb3BfYm90dG9tIDwgKHVuc2lnbmVkKWgtPmhlaWdodABnZXRfZm9ybWF0KCkgY2Fubm90IGJlIGNhbGxlZCBhZnRlciBmZl90aHJlYWRfZmluaXNoX3NldHVwKCkKAG4gPj0gMQBJbnZhbGlkIGZvcm1hdCByZXR1cm5lZCBieSBnZXRfZm9ybWF0KCkgY2FsbGJhY2suCgBGb3JtYXQgJXMgY2hvc2VuIGJ5IGdldF9mb3JtYXQoKS4KAEludmFsaWQgcmV0dXJuIGZyb20gZ2V0X2Zvcm1hdCgpOiAlcyBub3QgaW4gcG9zc2libGUgbGlzdC4KAEludmFsaWQgc2V0dXAgZm9yIGZvcm1hdCAlczogZG9lcyBub3QgbWF0Y2ggdGhlIGZvcm1hdCBvZiB0aGUgcHJvdmlkZWQgZnJhbWVzIGNvbnRleHQuCgBJbnZhbGlkIHNldHVwIGZvciBmb3JtYXQgJXM6IGRvZXMgbm90IG1hdGNoIHRoZSB0eXBlIG9mIHRoZSBwcm92aWRlZCBkZXZpY2UgY29udGV4dC4KAEludmFsaWQgc2V0dXAgZm9yIGZvcm1hdCAlczogbWlzc2luZyBjb25maWd1cmF0aW9uLgoARm9ybWF0ICVzIHJlcXVpcmVzIGh3YWNjZWwgaW5pdGlhbGlzYXRpb24uCgBGb3JtYXQgJXMgbm90IHVzYWJsZSwgcmV0cnlpbmcgZ2V0X2Zvcm1hdCgpIHdpdGhvdXQgaXQuCgBJZ25vcmluZyBleHBlcmltZW50YWwgaHdhY2NlbDogJXMKAEZhaWxlZCBzZXR1cCBmb3IgZm9ybWF0ICVzOiBod2FjY2VsIGluaXRpYWxpc2F0aW9uIHJldHVybmVkIGVycm9yLgoAIWgtPnNldHVwX2ZpbmlzaGVkAHNsaWNlIHR5cGUgJWQgdG9vIGxhcmdlIGF0ICVkCgBBIG5vbi1pbnRyYSBzbGljZSBpbiBhbiBJRFIgTkFMIHVuaXQuCgBGcmFtZSBudW0gY2hhbmdlIGZyb20gJWQgdG8gJWQKAFRoaXMgc3RyZWFtIHdhcyBnZW5lcmF0ZWQgYnkgYSBicm9rZW4gZW5jb2RlciwgaW52YWxpZCA4eDggaW5mZXJlbmNlCgBjYWJhY19pbml0X2lkYyAldSBvdmVyZmxvdwoAUVAgJXUgb3V0IG9mIHJhbmdlCgBkZWJsb2NraW5nX2ZpbHRlcl9pZGMgJXUgb3V0IG9mIHJhbmdlCgBkZWJsb2NraW5nIGZpbHRlciBwYXJhbWV0ZXJzICVkICVkIG91dCBvZiByYW5nZQoAaWxsZWdhbCBsb25nIHJlZiBpbiBtZW1vcnkgbWFuYWdlbWVudCBjb250cm9sIG9wZXJhdGlvbiAlZAoAbHVtYV9sb2cyX3dlaWdodF9kZW5vbSAlZCBpcyBvdXQgb2YgcmFuZ2UKAGNocm9tYV9sb2cyX3dlaWdodF9kZW5vbSAlZCBpcyBvdXQgb2YgcmFuZ2UKAE91dCBvZiByYW5nZSB3ZWlnaHQKAHJlZmVyZW5jZSBjb3VudCBvdmVyZmxvdwoAaWxsZWdhbCBtb2RpZmljYXRpb25fb2ZfcGljX251bXNfaWRjICV1CgByZWZlcmVuY2Ugb3ZlcmZsb3cgJXUgPiAldSBvciAldSA+ICV1CgBJbnZhbGlkIHplcm8tc2l6ZWQgVkNMIE5BTCB1bml0CgBFeGNlZWRlZCBuZXh0IE5BTEZGIHBvc2l0aW9uLCByZS1zeW5jaW5nLgoATm8gc3RhcnQgY29kZSBpcyBmb3VuZC4KAE5BTEZGOiBDb25zdW1lZCBvbmx5ICVkIGJ5dGVzIGluc3RlYWQgb2YgJWQKAEludmFsaWQgTkFMIHVuaXQgJWQsIHNraXBwaW5nLgoAbmFsX3VuaXRfdHlwZTogJWQsIG5hbF9yZWZfaWRjOiAlZAoAbmFsX3VuaXRfdHlwZTogJWQoJXMpLCBudWhfbGF5ZXJfaWQ6ICVkLCB0ZW1wb3JhbF9pZDogJWQKAD8AU0VJX1NVRkZJWABTRUlfUFJFRklYAEZEX05VVABFT0JfTlVUAEVPU19OVVQAQVVEAFBQUwBTUFMAVlBTAENSQV9OVVQASURSX05fTFAASURSX1dfUkFETABCTEFfTl9MUABCTEFfV19SQURMAEJMQV9XX0xQAFJBU0xfUgBSQVNMX04AUkFETF9SAFJBRExfTgBTVFNBX1IAU1RTQV9OAFRTQV9SAFRTQV9OAFRSQUlMX1IAVFJBSUxfTgBuYWwtPnNraXBwZWRfYnl0ZXNfcG9zX3NpemUgPj0gbmFsLT5za2lwcGVkX2J5dGVzAGxpYmF2Y29kZWMvaDI2NDVfcGFyc2UuYwB2YWwgfHwgIW1pbl9zaXplAC4vbGliYXZ1dGlsL21lbV9pbnRlcm5hbC5oAGF2Y0MgJWQgdG9vIHNob3J0CgBEZWNvZGluZyBzcHMgJWQgZnJvbSBhdmNDIGZhaWxlZAoARGVjb2RpbmcgcHBzICVkIGZyb20gYXZjQyBmYWlsZWQKAFNQUyBkZWNvZGluZyBmYWlsdXJlLCB0cnlpbmcgYWdhaW4gYWZ0ZXIgZXNjYXBpbmcgdGhlIE5BTAoAcHRocmVhZF9vbmNlIGhhcyBmYWlsZWQuAEVycm9yIHJlc2lsaWVuY2Ugd2l0aCBzbGljZSB0aHJlYWRzIGlzIGVuYWJsZWQuIEl0IGlzIHVuc2FmZSBhbmQgdW5zdXBwb3J0ZWQgYW5kIG1heSBjcmFzaC4gVXNlIGl0IGF0IHlvdXIgb3duIHJpc2sKAAIAAAAGAQAABgYDAAYHBwYGCAgHAQAAAAcBAAAEBgEAAwMCBQIDAgABAAAABwIAAAcHAwAJBwcFCQkHBgoKCQcLCwoHDAwLCg0MDAsBAAAADwEAAA4NAQAHDAsBBgUKAQcGBAkHBgUIBwYFBAcFBAQBAAAABgIAAAgGAwAJCAcFCgkIBgsKCQcNCwoIDQ0LCQ0NDQoODg0LDg4ODQ8PDg4PDw8OEA8PDxAQEA8QEBAQEBAQEAIAAAAGAgAABgUDAAcGBgQIBgYECAcHBQkICAYLCQkGCwsLBwwLCwkMDAwLDAwMCw0NDQwNDQ0NDQ4NDQ4ODg0ODg4OBAAAAAYEAAAGBQQABgUFBAcFBQQHBQUEBwYGBAcGBgQIBwcFCAgHBgkICAcJCQgICQkJCAoJCQkKCgoKCgoKCgoKCgoGAAAABgYAAAYGBgAGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgEAAAAFAQAABwQBAAcGBQMHBgUDBwYFBA8GBQQLDgUECAoNBA8OCQQLCg0MDw4JDAsKDQgPAQkMCw4NCAcKCQwEBgUIAwAAAAsCAAAHBwMABwoJBQcGBQQEBgUGBwYFCA8GBQQLDg0EDwoJBAsODQwICgkIDw4NDAsKCQwHCwYICQgKAQcGBQQPAAAADw4AAAsPDQAIDA4MDwoLCwsICQoJDg0JCAoJCA8ODQ0LDgoMDwoNDAsOCQwICg0IDQcJDAkMCwoFCAcGAQQDAgMAAAAAAQAABAUGAAgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/AQIDAwECAgABAQAAAQEBAAEBAAABAAAAAQMDBAQEBQUDAgMDAwMDAAMDAgIDAwAAAwICAgMAAAACAgICAAAAAAICAQAAAAAAAQEAAAAAAAABAgMCAwEBAAABAQQFBgcAAAEBAgYHAAAGAAECBwAAAAABAgMAAAAAAAEBAAAAAAAAAQAAAAAAAAEDAwQEBQUGBgcHCAgJCQkDAwMDAwQEBAQFBQYGBgYABAMDAwQEAwMEBQUGBQYAAAUDBAQDAwMEAwQFBQUAAAAEBAQDAwMDAwQFBAUAAAAABgUDAwMDAwMEAwYAAAAAAAYFAwMDAgMEAwYAAAAAAAAGBAUDAgIDAwYAAAAAAAAABgYEAgIDAgUAAAAAAAAAAAUFAwICAgQAAAAAAAAAAAAEBAMDAQMAAAAAAAAAAAAABAQCAQMAAAAAAAAAAAAAAAMDAQIAAAAAAAAAAAAAAAACAgEAAAAAAAAAAAAAAAAAAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAwIDAgMCAwIDAgMCAwIBBwYFBAMFBAMCAwIDAgEAAAUHBgUEAwQDAgMCAQEAAAADBwUEBgUEAwMCAgEAAAAABQQDBwYFBAMCAQEAAAAAAAEBBwYFBAMCAQEAAAAAAAABAQUEAwMCAQEAAAAAAAAAAQEBAwMCAgEAAAAAAAAAAAEAAQMCAQEBAAAAAAAAAAABAAEDAgEBAAAAAAAAAAAAAAEBAgEDAAAAAAAAAAAAAAABAQEBAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAEBAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAAAAAAAAAAAAAAAAAAECAgAAAAAAAAAAAAAAAAACAgICAAAAAAAAAAAAAAAAAgICAwMAAAAAAAAAAAAAAAICAwMDAwAAAAAAAAAAAAACAwMDAwMDAAAAAAAAAAAAAwMDAwMDAwQFBgcICQoLAAEAAAAAAAAAAAAAAAAAAAABAQAAAAAAAAAAAAAAAAAAAwIBAAAAAAAAAAAAAAAAAAMCAQEAAAAAAAAAAAAAAAADAgMCAQAAAAAAAAAAAAAAAwABAwIFBAAAAAAAAAAAAAcGBQQDAgEBAQEBAQEBAQBuYl9jb2RlcyArIDEgPD0gKHNpemVvZihsb2NhbGJ1ZikgLyBzaXplb2YoKGxvY2FsYnVmKVswXSkpAGxpYmF2Y29kZWMvYml0c3RyZWFtLmMAc3ltYm9sc19zaXplIDw9IDIgfHwgIXN5bWJvbHMAVG9vIGxvbmcgVkxDICglZCkgaW4gaW5pdF92bGMKAEludmFsaWQgY29kZSAleCBmb3IgJWQgaW4gaW5pdF92bGMKAG5lZWRlZCAlZCBoYWQgJWQKAGluY29ycmVjdCBjb2RlcwoAaDI2NF9zbGljZV9oZWFkZXJfaW5pdCgpIGZhaWxlZABIMjY0IERlY29kZXIAaXNfYXZjAGlzIGF2YwBuYWxfbGVuZ3RoX3NpemUAZW5hYmxlX2VyAEVuYWJsZSBlcnJvciByZXNpbGllbmNlIG9uIGRhbWFnZWQgZnJhbWVzICh1bnNhZmUpAHgyNjRfYnVpbGQAQXNzdW1lIHRoaXMgeDI2NCB2ZXJzaW9uIGlmIG5vIHgyNjQgdmVyc2lvbiBmb3VuZCBpbiBhbnkgU0VJAHAgPD0gZW5kAFEyNjQAcHBzX2lkICV1IG91dCBvZiByYW5nZQoAbm9uLWV4aXN0aW5nIFBQUyAldSByZWZlcmVuY2VkCgBub24tZXhpc3RpbmcgU1BTICV1IHJlZmVyZW5jZWQKAG1pc3NpbmcgcGljdHVyZSBpbiBhY2Nlc3MgdW5pdCB3aXRoIHNpemUgJWQKAGlsbGVnYWwgcmVvcmRlcmluZ19vZl9waWNfbnVtc19pZGMgJWQKAHJlZmVyZW5jZSBjb3VudCAlZCBvdmVyZmxvdwoAaWxsZWdhbCBtZW1vcnkgbWFuYWdlbWVudCBjb250cm9sIG9wZXJhdGlvbiAlZAoASW52YWxpZCBOQUwgdW5pdCBzaXplICglZCA+ICVkKS4KAEFWQy1wYXJzZXI6IG5hbCBsZW5ndGggc2l6ZSBpbnZhbGlkCgBBVkMtcGFyc2VyOiBuYWwgc2l6ZSAlZCByZW1haW5pbmcgJWQKAAAAAQABAgABAgMBAgMCAwMAAQACAQADAgEAAwIBAwIDAAABAAECAAECAwABAgMEAAECAwQFAAECAwQFBgABAgMEBQYHAQIDBAUGBwIDBAUGBwMEBQYHBAUGBwUGBwYHBwABAAIBAAMCAQAEAwIBAAUEAwIBAAYFBAMCAQAHBgUEAwIBAAcGBQQDAgEHBgUEAwIHBgUEAwcGBQQHBgUHBgdtaXNzaW5nIHBpY3R1cmUgaW4gYWNjZXNzIHVuaXQKAEludmFsaWQgc2xpY2Ugc2VnbWVudCBhZGRyZXNzOiAldS4KAFVua25vd24gc2xpY2UgdHlwZTogJWQuCgBJbnZhbGlkIFVFIGdvbG9tYiBjb2RlCgBEZWNvZGluZyBTRUkKAFNraXBwZWQgU1VGRklYIFNFSSAlZAoAU2tpcHBlZCBQUkVGSVggU0VJICVkCgBudW1fc3BzX2lkc19taW51czEgJWQgaW52YWxpZAoAYWN0aXZlX3BhcmFtZXRlcl9zZXRfaWQgJWQgaW52YWxpZAoAQk9UVE9NIEZpZWxkCgBUT1AgRmllbGQKAERlY29kaW5nIFBQUwoAVHJ1bmNhdGluZyBsaWtlbHkgb3ZlcnNpemVkIFBQUyAoJXRkID4gJXp1KQoAUFBTIGlkIG91dCBvZiByYW5nZTogJWQKAFNQUyBpZCBvdXQgb2YgcmFuZ2U6ICVkCgBTUFMgJXUgZG9lcyBub3QgZXhpc3QuCgBkaWZmX2N1X3FwX2RlbHRhX2RlcHRoICVkIGlzIGludmFsaWQKAHBwc19jYl9xcF9vZmZzZXQgb3V0IG9mIHJhbmdlOiAlZAoAcHBzX2NyX3FwX29mZnNldCBvdXQgb2YgcmFuZ2U6ICVkCgBudW1fdGlsZV9jb2x1bW5zX21pbnVzMSBvdXQgb2YgcmFuZ2U6ICVkCgBudW1fdGlsZV9yb3dzX21pbnVzMSBvdXQgb2YgcmFuZ2U6ICVkCgBJbnZhbGlkIHRpbGUgd2lkdGhzLgoASW52YWxpZCB0aWxlIGhlaWdodHMuCgBwcHNfYmV0YV9vZmZzZXRfZGl2MiBvdXQgb2YgcmFuZ2U6ICVkCgBwcHNfdGNfb2Zmc2V0X2RpdjIgb3V0IG9mIHJhbmdlOiAlZAoAbG9nMl9wYXJhbGxlbF9tZXJnZV9sZXZlbF9taW51czIgb3V0IG9mIHJhbmdlOiAlZAoAT3ZlcnJlYWQgUFBTIGJ5ICVkIGJpdHMKAGNocm9tYV9xcF9vZmZzZXRfbGlzdF9sZW5fbWludXMxIHNoYWxsIGJlIGluIHRoZSByYW5nZSBbMCwgNV0uCgBjYl9xcF9vZmZzZXRfbGlzdCBub3QgdGVzdGVkIHlldC4KAEludmFsaWQgZGVsdGEgaW4gc2NhbGluZyBsaXN0IGRhdGE6ICVkLgoAEBAQEBESFRgQEBAQERMWGRAQERIUFhkdEBASFRgbHyQRERQYHiMpLxITFhsjLDZBFRYZHyk2RlgYGR0kL0FYcxAQEBAREhQYEBAQERIUGBkQEBESFBgZHBAREhQYGRwhERIUGBkcISkSFBgZHCEpNhQYGRwhKTZHGBkcISk2R1tEZWNvZGluZyBTUFMKAFRydW5jYXRpbmcgbGlrZWx5IG92ZXJzaXplZCBTUFMgKCV0ZCA+ICV6dSkKAFBhcnNlZCBTUFM6IGlkICVkOyBjb2RlZCB3eGg6ICVkeCVkOyBjcm9wcGVkIHd4aDogJWR4JWQ7IHBpeF9mbXQ6ICVzLgoAIShzLT5zcHNfbGlzdFtpZF0gJiYgcy0+c3BzID09IChIRVZDU1BTKilzLT5zcHNfbGlzdFtpZF0tPmRhdGEpAGxpYmF2Y29kZWMvaGV2Y19wcy5jAFZQUyBpZCBvdXQgb2YgcmFuZ2U6ICVkCgBWUFMgJWQgZG9lcyBub3QgZXhpc3QKAHNwc19tYXhfc3ViX2xheWVycyBvdXQgb2YgcmFuZ2U6ICVkCgBjaHJvbWFfZm9ybWF0X2lkYyAlZCBpcyBpbnZhbGlkCgBkaXNjYXJkaW5nIHNwcyBjb25mb3JtYW5jZSB3aW5kb3csIG9yaWdpbmFsIHZhbHVlcyBhcmUgbDoldSByOiV1IHQ6JXUgYjoldQoATHVtYSBiaXQgZGVwdGggKCVkKSBpcyBkaWZmZXJlbnQgZnJvbSBjaHJvbWEgYml0IGRlcHRoICglZCksIHRoaXMgaXMgdW5zdXBwb3J0ZWQuCgBsb2cyX21heF9waWNfb3JkZXJfY250X2xzYl9taW51czQgb3V0IHJhbmdlOiAlZAoAc3BzX21heF9kZWNfcGljX2J1ZmZlcmluZ19taW51czEgb3V0IG9mIHJhbmdlOiAlZAoAc3BzX21heF9udW1fcmVvcmRlcl9waWNzIG91dCBvZiByYW5nZTogJWQKAEludmFsaWQgdmFsdWUgJWQgZm9yIGxvZzJfbWluX2NiX3NpemUASW52YWxpZCB2YWx1ZSAlZCBmb3IgbG9nMl9kaWZmX21heF9taW5fY29kaW5nX2Jsb2NrX3NpemUASW52YWxpZCB2YWx1ZSBmb3IgbG9nMl9taW5fdGJfc2l6ZQBJbnZhbGlkIHZhbHVlICVkIGZvciBsb2cyX2RpZmZfbWF4X21pbl90cmFuc2Zvcm1fYmxvY2tfc2l6ZQBQQ00gYml0IGRlcHRoICglZCwgJWQpIGlzIGdyZWF0ZXIgdGhhbiBub3JtYWwgYml0IGRlcHRoICglZCkKAFRvbyBtYW55IHNob3J0IHRlcm0gUlBTOiAlZC4KAFRvbyBtYW55IGxvbmcgdGVybSByZWYgcGljczogJWQuCgBleHRlbmRlZF9wcmVjaXNpb25fcHJvY2Vzc2luZ19mbGFnIG5vdCB5ZXQgaW1wbGVtZW50ZWQKAGhpZ2hfcHJlY2lzaW9uX29mZnNldHNfZW5hYmxlZF9mbGFnIG5vdCB5ZXQgaW1wbGVtZW50ZWQKAGNhYmFjX2J5cGFzc19hbGlnbm1lbnRfZW5hYmxlZF9mbGFnIG5vdCB5ZXQgaW1wbGVtZW50ZWQKAEludmFsaWQgY3JvcHBpbmcgb2Zmc2V0czogJXUvJXUvJXUvJXUKAERpc3BsYXlpbmcgdGhlIHdob2xlIHZpZGVvIHN1cmZhY2UuCgBDVEIgc2l6ZSBvdXQgb2YgcmFuZ2U6IDJeJWQKAGxvZzJfY3RiX3NpemUgJWQgZGlmZmVycyBmcm9tIHRoZSBib3VuZHMgb2YgYW55IGtub3duIHByb2ZpbGUKAGxvZzJfY3RiX3NpemUgJWQASW52YWxpZCBjb2RlZCBmcmFtZSBkaW1lbnNpb25zLgoAbWF4X3RyYW5zZm9ybV9oaWVyYXJjaHlfZGVwdGhfaW50ZXIgb3V0IG9mIHJhbmdlOiAlZAoAbWF4X3RyYW5zZm9ybV9oaWVyYXJjaHlfZGVwdGhfaW50cmEgb3V0IG9mIHJhbmdlOiAlZAoAbWF4IHRyYW5zZm9ybSBibG9jayBzaXplIG91dCBvZiByYW5nZTogJWQKAE92ZXJyZWFkIFNQUyBieSAlZCBiaXRzCgBEZWNvZGluZyBWVUkKAFVua25vd24gU0FSIGluZGV4OiAldS4KAEludmFsaWQgZGVmYXVsdCBkaXNwbGF5IHdpbmRvdwoAZGlzY2FyZGluZyB2dWkgZGVmYXVsdCBkaXNwbGF5IHdpbmRvdywgb3JpZ2luYWwgdmFsdWVzIGFyZSBsOiV1IHI6JXUgdDoldSBiOiV1CgBTdHJhbmdlIFZVSSB0aW1pbmcgaW5mb3JtYXRpb24sIHJldHJ5aW5nLi4uCgBSZXRyeSBnb3QgJXUvJXUgZnBzCgBTdHJhbmdlIFZVSSBiaXRzdHJlYW0gcmVzdHJpY3Rpb24gaW5mb3JtYXRpb24sIHJldHJ5aW5nIGZyb20gdGltaW5nIGluZm9ybWF0aW9uLi4uCgBPdmVycmVhZCBpbiBWVUksIHJldHJ5aW5nIGZyb20gdGltaW5nIGluZm9ybWF0aW9uLi4uCgBuYl9jcGIgJWQgaW52YWxpZAoASW52YWxpZCB2YWx1ZSBvZiBkZWx0YV9pZHggaW4gc2xpY2UgaGVhZGVyIFJQUzogJWQgPiAlZC4KAEludmFsaWQgdmFsdWUgb2YgYWJzX2RlbHRhX3JwczogJWQKAEludmFsaWQgbnVtX2RlbHRhX3BvY3M6ICVkCgBUb28gbWFueSByZWZzIGluIGEgc2hvcnQgdGVybSBSUFMuCgBJbnZhbGlkIHZhbHVlIG9mIGRlbHRhX3BvYzogJWQKAFRoZSBmb2xsb3dpbmcgYml0LWRlcHRocyBhcmUgY3VycmVudGx5IHNwZWNpZmllZDogOCwgOSwgMTAgYW5kIDEyIGJpdHMsIGNocm9tYV9mb3JtYXRfaWRjIGlzICVkLCBkZXB0aCBpcyAlZAoAUFRMIGluZm9ybWF0aW9uIHRvbyBzaG9ydAoAUFRMIGluZm9ybWF0aW9uIGZvciBzdWJsYXllciAlaSB0b28gc2hvcnQKAE5vdCBlbm91Z2ggZGF0YSBmb3Igc3VibGF5ZXIgJWkgbGV2ZWxfaWRjCgBNYWluIHByb2ZpbGUgYml0c3RyZWFtCgBNYWluIDEwIHByb2ZpbGUgYml0c3RyZWFtCgBNYWluIFN0aWxsIFBpY3R1cmUgcHJvZmlsZSBiaXRzdHJlYW0KAFJhbmdlIEV4dGVuc2lvbiBwcm9maWxlIGJpdHN0cmVhbQoAVW5rbm93biBIRVZDIHByb2ZpbGU6ICVkCgBEZWNvZGluZyBWUFMKAFRydW5jYXRpbmcgbGlrZWx5IG92ZXJzaXplZCBWUFMgKCV0ZCA+ICV6dSkKAHZwc19yZXNlcnZlZF90aHJlZV8yYml0cyBpcyBub3QgdGhyZWUKAHZwc19yZXNlcnZlZF9mZmZmXzE2Yml0cyBpcyBub3QgMHhmZmZmCgB2cHNfbWF4X3N1Yl9sYXllcnMgb3V0IG9mIHJhbmdlOiAlZAoAdnBzX21heF9kZWNfcGljX2J1ZmZlcmluZ19taW51czEgb3V0IG9mIHJhbmdlOiAlZAoAdnBzX21heF9udW1fcmVvcmRlcl9waWNzIG91dCBvZiByYW5nZTogJWQKAHRvbyBtYW55IGxheWVyX2lkX2luY2x1ZGVkX2ZsYWdzCgB2cHNfbnVtX2hyZF9wYXJhbWV0ZXJzICVkIGlzIGludmFsaWQKAE92ZXJyZWFkIFZQUyBieSAlZCBiaXRzCgBidWZfc2l6ZSA+PSAwAGxpYmF2Y29kZWMvYnl0ZXN0cmVhbS5oAEludmFsaWQgTkFMIHVuaXQgc2l6ZSBpbiBleHRyYWRhdGEuCgBEZWNvZGluZyBuYWwgdW5pdCAlZCAlZCBmcm9tIGh2Y0MgZmFpbGVkCgBJZ25vcmluZyBOQUwgdHlwZSAlZCBpbiBleHRyYWRhdGEKAC9kZXYvdXJhbmRvbQAvZGV2L3JhbmRvbQBzaXplb2YodG1wKSA+PSBhdl9zaGFfc2l6ZQBsaWJhdnV0aWwvcmFuZG9tX3NlZWQuYwCAAEZhaWxlZCB0byBzZXQgY2xvc2Ugb24gZXhlYwoAIAoJDQBBTEwARkwAZnJvbnQgbGVmdABGUgBmcm9udCByaWdodABGQwBmcm9udCBjZW50ZXIATEZFAGxvdyBmcmVxdWVuY3kAQkwAYmFjayBsZWZ0AEJSAGJhY2sgcmlnaHQARkxDAGZyb250IGxlZnQtb2YtY2VudGVyAEZSQwBmcm9udCByaWdodC1vZi1jZW50ZXIAQkMAYmFjayBjZW50ZXIAU0wAc2lkZSBsZWZ0AFNSAHNpZGUgcmlnaHQAVEMAdG9wIGNlbnRlcgBURkwAdG9wIGZyb250IGxlZnQAVEZDAHRvcCBmcm9udCBjZW50ZXIAVEZSAHRvcCBmcm9udCByaWdodABUQkwAdG9wIGJhY2sgbGVmdABUQkMAdG9wIGJhY2sgY2VudGVyAFRCUgB0b3AgYmFjayByaWdodABETABkb3dubWl4IGxlZnQARFIAZG93bm1peCByaWdodABXTAB3aWRlIGxlZnQAV1IAd2lkZSByaWdodABTREwAc3Vycm91bmQgZGlyZWN0IGxlZnQAU0RSAHN1cnJvdW5kIGRpcmVjdCByaWdodABMRkUyAGxvdyBmcmVxdWVuY3kgMgBtb25vAHN0ZXJlbwAyLjEAMy4wADMuMChiYWNrKQA0LjAAcXVhZABxdWFkKHNpZGUpADMuMQA1LjAANS4wKHNpZGUpADQuMQA1LjEANS4xKHNpZGUpADYuMAA2LjAoZnJvbnQpAGhleGFnb25hbAA2LjEANi4xKGJhY2spADYuMShmcm9udCkANy4wADcuMChmcm9udCkANy4xADcuMSh3aWRlKQA3LjEod2lkZS1zaWRlKQBvY3RhZ29uYWwAaGV4YWRlY2Fnb25hbABkb3dubWl4ACVzACVkIGNoYW5uZWxzACAoACsAKQAlZCUqMVs6L10lZCVjAGNvbnN0X3ZhbHVlcyBhcnJheSB0b28gc21hbGwgZm9yICVzCgBVbmFibGUgdG8gcGFyc2Ugb3B0aW9uIHZhbHVlICIlcyIKACVmCgBJbnZhbGlkIGNoYXJzICclcycgYXQgdGhlIGVuZCBvZiBleHByZXNzaW9uICclcycKAFVuZGVmaW5lZCBjb25zdGFudCBvciBtaXNzaW5nICcoJyBpbiAnJXMnCgBNaXNzaW5nICcpJyBpbiAnJXMnCgBNaXNzaW5nICcpJyBvciB0b28gbWFueSBhcmdzIGluICclcycKAHNpbmgAY29zaAB0YW5oAHNpbgBjb3MAdGFuAGF0YW4AYXNpbgBhY29zAGV4cABhYnMAdGltZQBzcXVpc2gAZ2F1c3MAbW9kAG1heABtaW4AZXEAZ3RlAGd0AGx0ZQBsdABsZABpc25hbgBpc2luZgBzdAB3aGlsZQB0YXlsb3IAcm9vdABmbG9vcgBjZWlsAHJvdW5kAHNxcnQAbm90AHBvdwBwcmludABoeXBvdABnY2QAaWYAaWZub3QAYml0YW5kAGJpdG9yAGJldHdlZW4AY2xpcABhdGFuMgBsZXJwAFVua25vd24gZnVuY3Rpb24gaW4gJyVzJwoARQBQSQBQSEkAUVAyTEFNQkRBAEV2YWwAVmFsdWUgJWYgZm9yIHBhcmFtZXRlciAnJXMnIG91dCBvZiByYW5nZSBbJWcgLSAlZ10KAFZhbHVlICVmIGZvciBwYXJhbWV0ZXIgJyVzJyBpcyBub3QgYSB2YWxpZCBzZXQgb2YgMzJiaXQgaW50ZWdlciBmbGFncwoAZGV0ZWN0ZWQgJWQgbG9naWNhbCBjb3JlcwoAAAEcAh0OGAMeFhQPGREECB8bDRcVExAHGgwSBgsFCglVbmFibGUgdG8gcGFyc2Ugb3B0aW9uIHZhbHVlICIlcyIgYXMgZHVyYXRpb24KAFVuYWJsZSB0byBwYXJzZSBvcHRpb24gdmFsdWUgIiVzIiBhcyBjaGFubmVsIGxheW91dAoASW52YWxpZCBvcHRpb24gdHlwZS4KAFVuYWJsZSB0byBwYXJzZSBvcHRpb24gdmFsdWUgIiVzIiBhcyBjb2xvcgoAMHgAcmFuZG9tAGJpa2VzaGVkADAxMjM0NTY3ODlBQkNERUZhYmNkZWYASW52YWxpZCAweFJSR0dCQltBQV0gY29sb3Igc3RyaW5nOiAnJXMnCgBDYW5ub3QgZmluZCBjb2xvciAnJXMnCgBJbnZhbGlkIGFscGhhIHZhbHVlIHNwZWNpZmllciAnJXMnIGluICclcycKAEFsaWNlQmx1ZQBBbnRpcXVlV2hpdGUAQXF1YQBBcXVhbWFyaW5lAEF6dXJlAEJlaWdlAEJpc3F1ZQBCbGFjawBCbGFuY2hlZEFsbW9uZABCbHVlAEJsdWVWaW9sZXQAQnJvd24AQnVybHlXb29kAENhZGV0Qmx1ZQBDaGFydHJldXNlAENob2NvbGF0ZQBDb3JhbABDb3JuZmxvd2VyQmx1ZQBDb3Juc2lsawBDcmltc29uAEN5YW4ARGFya0JsdWUARGFya0N5YW4ARGFya0dvbGRlblJvZABEYXJrR3JheQBEYXJrR3JlZW4ARGFya0toYWtpAERhcmtNYWdlbnRhAERhcmtPbGl2ZUdyZWVuAERhcmtvcmFuZ2UARGFya09yY2hpZABEYXJrUmVkAERhcmtTYWxtb24ARGFya1NlYUdyZWVuAERhcmtTbGF0ZUJsdWUARGFya1NsYXRlR3JheQBEYXJrVHVycXVvaXNlAERhcmtWaW9sZXQARGVlcFBpbmsARGVlcFNreUJsdWUARGltR3JheQBEb2RnZXJCbHVlAEZpcmVCcmljawBGbG9yYWxXaGl0ZQBGb3Jlc3RHcmVlbgBGdWNoc2lhAEdhaW5zYm9ybwBHaG9zdFdoaXRlAEdvbGQAR29sZGVuUm9kAEdyYXkAR3JlZW4AR3JlZW5ZZWxsb3cASG9uZXlEZXcASG90UGluawBJbmRpYW5SZWQASW5kaWdvAEl2b3J5AEtoYWtpAExhdmVuZGVyAExhdmVuZGVyQmx1c2gATGF3bkdyZWVuAExlbW9uQ2hpZmZvbgBMaWdodEJsdWUATGlnaHRDb3JhbABMaWdodEN5YW4ATGlnaHRHb2xkZW5Sb2RZZWxsb3cATGlnaHRHcmVlbgBMaWdodEdyZXkATGlnaHRQaW5rAExpZ2h0U2FsbW9uAExpZ2h0U2VhR3JlZW4ATGlnaHRTa3lCbHVlAExpZ2h0U2xhdGVHcmF5AExpZ2h0U3RlZWxCbHVlAExpZ2h0WWVsbG93AExpbWUATGltZUdyZWVuAExpbmVuAE1hZ2VudGEATWFyb29uAE1lZGl1bUFxdWFNYXJpbmUATWVkaXVtQmx1ZQBNZWRpdW1PcmNoaWQATWVkaXVtUHVycGxlAE1lZGl1bVNlYUdyZWVuAE1lZGl1bVNsYXRlQmx1ZQBNZWRpdW1TcHJpbmdHcmVlbgBNZWRpdW1UdXJxdW9pc2UATWVkaXVtVmlvbGV0UmVkAE1pZG5pZ2h0Qmx1ZQBNaW50Q3JlYW0ATWlzdHlSb3NlAE1vY2Nhc2luAE5hdmFqb1doaXRlAE5hdnkAT2xkTGFjZQBPbGl2ZQBPbGl2ZURyYWIAT3JhbmdlAE9yYW5nZVJlZABPcmNoaWQAUGFsZUdvbGRlblJvZABQYWxlR3JlZW4AUGFsZVR1cnF1b2lzZQBQYWxlVmlvbGV0UmVkAFBhcGF5YVdoaXAAUGVhY2hQdWZmAFBlcnUAUGluawBQbHVtAFBvd2RlckJsdWUAUHVycGxlAFJlZABSb3N5QnJvd24AUm95YWxCbHVlAFNhZGRsZUJyb3duAFNhbG1vbgBTYW5keUJyb3duAFNlYUdyZWVuAFNlYVNoZWxsAFNpZW5uYQBTaWx2ZXIAU2t5Qmx1ZQBTbGF0ZUJsdWUAU2xhdGVHcmF5AFNub3cAU3ByaW5nR3JlZW4AU3RlZWxCbHVlAFRhbgBUZWFsAFRoaXN0bGUAVG9tYXRvAFR1cnF1b2lzZQBWaW9sZXQAV2hlYXQAV2hpdGUAV2hpdGVTbW9rZQBZZWxsb3cAWWVsbG93R3JlZW4Abm93ACVKOiVNOiVTACVNOiVTACVIOiVNACVIJU0AJUgAJUg6JU06JVMAJUglTSVTAGphbnVhcnkAZmVicnVhcnkAbWFyY2gAYXByaWwAbWF5AGp1bmUAanVseQBhdWd1c3QAc2VwdGVtYmVyAG9jdG9iZXIAbm92ZW1iZXIAZGVjZW1iZXIAJVkgLSAlbSAtICVkACVZJW0lZABzYW1wbGUgZm9ybWF0AFVuYWJsZSB0byBwYXJzZSBvcHRpb24gdmFsdWUgIiVzIiBhcyAlcwoAVmFsdWUgJWQgZm9yIHBhcmFtZXRlciAnJXMnIG91dCBvZiAlcyBmb3JtYXQgcmFuZ2UgWyVkIC0gJWRdCgBwaXhlbCBmb3JtYXQAcmdiMzIAYmdyMzIAJXMlcwBsZQB2YWFwaQBVbmFibGUgdG8gcGFyc2Ugb3B0aW9uIHZhbHVlICIlcyIgYXMgdmlkZW8gcmF0ZQoAJWQ6JWQlYwBudHNjAHBhbABxbnRzYwBxcGFsAHNudHNjAHNwYWwAbnRzYy1maWxtAFVuYWJsZSB0byBwYXJzZSBvcHRpb24gdmFsdWUgIiVzIiBhcyBpbWFnZSBzaXplCgBzcWNpZgBxY2lmAGNpZgA0Y2lmADE2Y2lmAHFxdmdhAHF2Z2EAdmdhAHN2Z2EAeGdhAHV4Z2EAcXhnYQBzeGdhAHFzeGdhAGhzeGdhAHd2Z2EAd3hnYQB3c3hnYQB3dXhnYQB3b3hnYQB3cXN4Z2EAd3F1eGdhAHdoc3hnYQB3aHV4Z2EAY2dhAGVnYQBoZDQ4MABoZDcyMABoZDEwODAAMmsAMmtkY2kAMmtmbGF0ADJrc2NvcGUANGsANGtkY2kANGtmbGF0ADRrc2NvcGUAbmhkAGhxdmdhAHdxdmdhAGZ3cXZnYQBodmdhAHFoZAB1aGQyMTYwAHVoZDQzMjAAdHJ1ZSx5LHllcyxlbmFibGUsZW5hYmxlZCxvbgBmYWxzZSxuLG5vLGRpc2FibGUsZGlzYWJsZWQsb2ZmAFVuYWJsZSB0byBwYXJzZSBvcHRpb24gdmFsdWUgIiVzIiBhcyBib29sZWFuCgBBVk9wdGlvbiB0eXBlICVkIG9mIG9wdGlvbiAlcyBub3QgaW1wbGVtZW50ZWQgeWV0CgBFcnJvciBzZXR0aW5nIG9wdGlvbiAlcyB0byB2YWx1ZSAlcy4KAG5iX3RocmVhZHMgPj0gMABsaWJhdnV0aWwvc2xpY2V0aHJlYWQuYwBuYl9qb2JzID4gMABGaW5hbCB0aHJlYWQgdXBkYXRlIGZhaWxlZAoAcC0+YXZjdHgtPmNvZGVjX3R5cGUgPT0gQVZNRURJQV9UWVBFX1ZJREVPIHx8IHAtPmF2Y3R4LT5jb2RlY190eXBlID09IEFWTUVESUFfVFlQRV9BVURJTwBsaWJhdmNvZGVjL3B0aHJlYWRfZnJhbWUuYwBmY3R4LT5hc3luY19sb2NrAEFzc2VydGlvbiAlcyBmYWlsZWQgYXQgJXM6JWQKAHJldCA+PSAwAGxpYmF2Y29kZWMvb3B0aW9ucy5jAEFWQ29kZWNDb250ZXh0AGIAc2V0IGJpdHJhdGUgKGluIGJpdHMvcykAYWIAYnQAU2V0IHZpZGVvIGJpdHJhdGUgdG9sZXJhbmNlIChpbiBiaXRzL3MpLiBJbiAxLXBhc3MgbW9kZSwgYml0cmF0ZSB0b2xlcmFuY2Ugc3BlY2lmaWVzIGhvdyBmYXIgcmF0ZWNvbnRyb2wgaXMgd2lsbGluZyB0byBkZXZpYXRlIGZyb20gdGhlIHRhcmdldCBhdmVyYWdlIGJpdHJhdGUgdmFsdWUuIFRoaXMgaXMgbm90IHJlbGF0ZWQgdG8gbWluaW11bS9tYXhpbXVtIGJpdHJhdGUuIExvd2VyaW5nIHRvbGVyYW5jZSB0b28gbXVjaCBoYXMgYW4gYWR2ZXJzZSBlZmZlY3Qgb24gcXVhbGl0eS4AZmxhZ3MAdW5hbGlnbmVkAGFsbG93IGRlY29kZXJzIHRvIHByb2R1Y2UgdW5hbGlnbmVkIG91dHB1dABtdjQAdXNlIGZvdXIgbW90aW9uIHZlY3RvcnMgcGVyIG1hY3JvYmxvY2sgKE1QRUctNCkAcXBlbAB1c2UgMS80LXBlbCBtb3Rpb24gY29tcGVuc2F0aW9uAGxvb3AAdXNlIGxvb3AgZmlsdGVyAHFzY2FsZQB1c2UgZml4ZWQgcXNjYWxlAHBhc3MxAHVzZSBpbnRlcm5hbCAyLXBhc3MgcmF0ZWNvbnRyb2wgaW4gZmlyc3QgIHBhc3MgbW9kZQBwYXNzMgB1c2UgaW50ZXJuYWwgMi1wYXNzIHJhdGVjb250cm9sIGluIHNlY29uZCBwYXNzIG1vZGUAZ3JheQBvbmx5IGRlY29kZS9lbmNvZGUgZ3JheXNjYWxlAHBzbnIAZXJyb3JbP10gdmFyaWFibGVzIHdpbGwgYmUgc2V0IGR1cmluZyBlbmNvZGluZwB0cnVuY2F0ZWQASW5wdXQgYml0c3RyZWFtIG1pZ2h0IGJlIHJhbmRvbWx5IHRydW5jYXRlZABpbGRjdAB1c2UgaW50ZXJsYWNlZCBEQ1QAbG93X2RlbGF5AGZvcmNlIGxvdyBkZWxheQBnbG9iYWxfaGVhZGVyAHBsYWNlIGdsb2JhbCBoZWFkZXJzIGluIGV4dHJhZGF0YSBpbnN0ZWFkIG9mIGV2ZXJ5IGtleWZyYW1lAGJpdGV4YWN0AHVzZSBvbmx5IGJpdGV4YWN0IGZ1bmN0aW9ucyAoZXhjZXB0IChJKURDVCkAYWljAEguMjYzIGFkdmFuY2VkIGludHJhIGNvZGluZyAvIE1QRUctNCBBQyBwcmVkaWN0aW9uAGlsbWUAaW50ZXJsYWNlZCBtb3Rpb24gZXN0aW1hdGlvbgBjZ29wAGNsb3NlZCBHT1AAb3V0cHV0X2NvcnJ1cHQAT3V0cHV0IGV2ZW4gcG90ZW50aWFsbHkgY29ycnVwdGVkIGZyYW1lcwBmYXN0AGFsbG93IG5vbi1zcGVjLWNvbXBsaWFudCBzcGVlZHVwIHRyaWNrcwBmbGFnczIAbm9vdXQAc2tpcCBiaXRzdHJlYW0gZW5jb2RpbmcAaWdub3JlY3JvcABpZ25vcmUgY3JvcHBpbmcgaW5mb3JtYXRpb24gZnJvbSBzcHMAbG9jYWxfaGVhZGVyAHBsYWNlIGdsb2JhbCBoZWFkZXJzIGF0IGV2ZXJ5IGtleWZyYW1lIGluc3RlYWQgb2YgaW4gZXh0cmFkYXRhAGNodW5rcwBGcmFtZSBkYXRhIG1pZ2h0IGJlIHNwbGl0IGludG8gbXVsdGlwbGUgY2h1bmtzAHNob3dhbGwAU2hvdyBhbGwgZnJhbWVzIGJlZm9yZSB0aGUgZmlyc3Qga2V5ZnJhbWUAZXhwb3J0X212cwBleHBvcnQgbW90aW9uIHZlY3RvcnMgdGhyb3VnaCBmcmFtZSBzaWRlIGRhdGEAc2tpcF9tYW51YWwAZG8gbm90IHNraXAgc2FtcGxlcyBhbmQgZXhwb3J0IHNraXAgaW5mb3JtYXRpb24gYXMgZnJhbWUgc2lkZSBkYXRhAGFzc19yb19mbHVzaF9ub29wAGRvIG5vdCByZXNldCBBU1MgUmVhZE9yZGVyIGZpZWxkIG9uIGZsdXNoAHRpbWVfYmFzZQBnAHNldCB0aGUgZ3JvdXAgb2YgcGljdHVyZSAoR09QKSBzaXplAGFyAHNldCBhdWRpbyBzYW1wbGluZyByYXRlIChpbiBIeikAYWMAc2V0IG51bWJlciBvZiBhdWRpbyBjaGFubmVscwBjdXRvZmYAc2V0IGN1dG9mZiBiYW5kd2lkdGgAZnJhbWVfc2l6ZQBmcmFtZV9udW1iZXIAZGVsYXkAcWNvbXAAdmlkZW8gcXVhbnRpemVyIHNjYWxlIGNvbXByZXNzaW9uIChWQlIpLiBDb25zdGFudCBvZiByYXRlY29udHJvbCBlcXVhdGlvbi4gUmVjb21tZW5kZWQgcmFuZ2UgZm9yIGRlZmF1bHQgcmNfZXE6IDAuMC0xLjAAcWJsdXIAdmlkZW8gcXVhbnRpemVyIHNjYWxlIGJsdXIgKFZCUikAcW1pbgBtaW5pbXVtIHZpZGVvIHF1YW50aXplciBzY2FsZSAoVkJSKQBxbWF4AG1heGltdW0gdmlkZW8gcXVhbnRpemVyIHNjYWxlIChWQlIpAHFkaWZmAG1heGltdW0gZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSBxdWFudGl6ZXIgc2NhbGVzIChWQlIpAGJmAHNldCBtYXhpbXVtIG51bWJlciBvZiBCLWZyYW1lcyBiZXR3ZWVuIG5vbi1CLWZyYW1lcwBiX3FmYWN0b3IAUVAgZmFjdG9yIGJldHdlZW4gUC0gYW5kIEItZnJhbWVzAGJfc3RyYXRlZ3kAc3RyYXRlZ3kgdG8gY2hvb3NlIGJldHdlZW4gSS9QL0ItZnJhbWVzAHBzAFJUUCBwYXlsb2FkIHNpemUgaW4gYnl0ZXMAbXZfYml0cwBoZWFkZXJfYml0cwBpX3RleF9iaXRzAHBfdGV4X2JpdHMAaV9jb3VudABwX2NvdW50AHNraXBfY291bnQAbWlzY19iaXRzAGZyYW1lX2JpdHMAY29kZWNfdGFnAGJ1ZwB3b3JrIGFyb3VuZCBub3QgYXV0b2RldGVjdGVkIGVuY29kZXIgYnVncwBhdXRvZGV0ZWN0AHh2aWRfaWxhY2UAWHZpZCBpbnRlcmxhY2luZyBidWcgKGF1dG9kZXRlY3RlZCBpZiBGT1VSQ0MgPT0gWFZJWCkAdW1wNAAoYXV0b2RldGVjdGVkIGlmIEZPVVJDQyA9PSBVTVA0KQBub19wYWRkaW5nAHBhZGRpbmcgYnVnIChhdXRvZGV0ZWN0ZWQpAGFtdgBxcGVsX2Nocm9tYQBzdGRfcXBlbABvbGQgc3RhbmRhcmQgcXBlbCAoYXV0b2RldGVjdGVkIHBlciBGT1VSQ0MvdmVyc2lvbikAcXBlbF9jaHJvbWEyAGRpcmVjdF9ibG9ja3NpemUAZGlyZWN0LXFwZWwtYmxvY2tzaXplIGJ1ZyAoYXV0b2RldGVjdGVkIHBlciBGT1VSQ0MvdmVyc2lvbikAZWRnZQBlZGdlIHBhZGRpbmcgYnVnIChhdXRvZGV0ZWN0ZWQgcGVyIEZPVVJDQy92ZXJzaW9uKQBocGVsX2Nocm9tYQBkY19jbGlwAG1zAHdvcmsgYXJvdW5kIHZhcmlvdXMgYnVncyBpbiBNaWNyb3NvZnQncyBicm9rZW4gZGVjb2RlcnMAdHJ1bmMAdHJ1bmNhdGVkIGZyYW1lcwBpZWRnZQBzdHJpY3QAaG93IHN0cmljdGx5IHRvIGZvbGxvdyB0aGUgc3RhbmRhcmRzAHZlcnkAc3RyaWN0bHkgY29uZm9ybSB0byBhIG9sZGVyIG1vcmUgc3RyaWN0IHZlcnNpb24gb2YgdGhlIHNwZWMgb3IgcmVmZXJlbmNlIHNvZnR3YXJlAHN0cmljdGx5IGNvbmZvcm0gdG8gYWxsIHRoZSB0aGluZ3MgaW4gdGhlIHNwZWMgbm8gbWF0dGVyIHdoYXQgdGhlIGNvbnNlcXVlbmNlcwBub3JtYWwAdW5vZmZpY2lhbABhbGxvdyB1bm9mZmljaWFsIGV4dGVuc2lvbnMAZXhwZXJpbWVudGFsAGFsbG93IG5vbi1zdGFuZGFyZGl6ZWQgZXhwZXJpbWVudGFsIHRoaW5ncwBiX3FvZmZzZXQAUVAgb2Zmc2V0IGJldHdlZW4gUC0gYW5kIEItZnJhbWVzAGVycl9kZXRlY3QAc2V0IGVycm9yIGRldGVjdGlvbiBmbGFncwBjcmNjaGVjawB2ZXJpZnkgZW1iZWRkZWQgQ1JDcwBiaXRzdHJlYW0AZGV0ZWN0IGJpdHN0cmVhbSBzcGVjaWZpY2F0aW9uIGRldmlhdGlvbnMAYnVmZmVyAGRldGVjdCBpbXByb3BlciBiaXRzdHJlYW0gbGVuZ3RoAGV4cGxvZGUAYWJvcnQgZGVjb2Rpbmcgb24gbWlub3IgZXJyb3IgZGV0ZWN0aW9uAGlnbm9yZV9lcnIAaWdub3JlIGVycm9ycwBjYXJlZnVsAGNvbnNpZGVyIHRoaW5ncyB0aGF0IHZpb2xhdGUgdGhlIHNwZWMsIGFyZSBmYXN0IHRvIGNoZWNrIGFuZCBoYXZlIG5vdCBiZWVuIHNlZW4gaW4gdGhlIHdpbGQgYXMgZXJyb3JzAGNvbXBsaWFudABjb25zaWRlciBhbGwgc3BlYyBub24gY29tcGxpYW5jaWVzIGFzIGVycm9ycwBhZ2dyZXNzaXZlAGNvbnNpZGVyIHRoaW5ncyB0aGF0IGEgc2FuZSBlbmNvZGVyIHNob3VsZCBub3QgZG8gYXMgYW4gZXJyb3IAaGFzX2JfZnJhbWVzAGJsb2NrX2FsaWduAG1wZWdfcXVhbnQAdXNlIE1QRUcgcXVhbnRpemVycyBpbnN0ZWFkIG9mIEguMjYzAHJjX292ZXJyaWRlX2NvdW50AG1heHJhdGUAbWF4aW11bSBiaXRyYXRlIChpbiBiaXRzL3MpLiBVc2VkIGZvciBWQlYgdG9nZXRoZXIgd2l0aCBidWZzaXplLgBtaW5yYXRlAG1pbmltdW0gYml0cmF0ZSAoaW4gYml0cy9zKS4gTW9zdCB1c2VmdWwgaW4gc2V0dGluZyB1cCBhIENCUiBlbmNvZGUuIEl0IGlzIG9mIGxpdHRsZSB1c2Ugb3RoZXJ3aXNlLgBidWZzaXplAHNldCByYXRlY29udHJvbCBidWZmZXIgc2l6ZSAoaW4gYml0cykAaV9xZmFjdG9yAFFQIGZhY3RvciBiZXR3ZWVuIFAtIGFuZCBJLWZyYW1lcwBpX3FvZmZzZXQAUVAgb2Zmc2V0IGJldHdlZW4gUC0gYW5kIEktZnJhbWVzAGRjdABEQ1QgYWxnb3JpdGhtAGF1dG8AYXV0b3NlbGVjdCBhIGdvb2Qgb25lAGZhc3RpbnQAZmFzdCBpbnRlZ2VyAGFjY3VyYXRlIGludGVnZXIAbW14AGFsdGl2ZWMAZmFhbgBmbG9hdGluZyBwb2ludCBBQU4gRENUAGx1bWlfbWFzawBjb21wcmVzc2VzIGJyaWdodCBhcmVhcyBzdHJvbmdlciB0aGFuIG1lZGl1bSBvbmVzAHRjcGx4X21hc2sAdGVtcG9yYWwgY29tcGxleGl0eSBtYXNraW5nAHNjcGx4X21hc2sAc3BhdGlhbCBjb21wbGV4aXR5IG1hc2tpbmcAcF9tYXNrAGludGVyIG1hc2tpbmcAZGFya19tYXNrAGNvbXByZXNzZXMgZGFyayBhcmVhcyBzdHJvbmdlciB0aGFuIG1lZGl1bSBvbmVzAGlkY3QAc2VsZWN0IElEQ1QgaW1wbGVtZW50YXRpb24Ac2ltcGxlAHNpbXBsZW1teABhcm0Ac2ltcGxlYXJtAHNpbXBsZWFybXY1dGUAc2ltcGxlYXJtdjYAc2ltcGxlbmVvbgB4dmlkAHh2aWRtbXgAZGVwcmVjYXRlZCwgZm9yIGNvbXBhdGliaWxpdHkgb25seQBmYWFuaQBmbG9hdGluZyBwb2ludCBBQU4gSURDVABzaW1wbGVhdXRvAHNsaWNlX2NvdW50AGVjAHNldCBlcnJvciBjb25jZWFsbWVudCBzdHJhdGVneQBndWVzc19tdnMAaXRlcmF0aXZlIG1vdGlvbiB2ZWN0b3IgKE1WKSBzZWFyY2ggKHNsb3cpAGRlYmxvY2sAdXNlIHN0cm9uZyBkZWJsb2NrIGZpbHRlciBmb3IgZGFtYWdlZCBNQnMAZmF2b3JfaW50ZXIAZmF2b3IgcHJlZGljdGluZyBmcm9tIHRoZSBwcmV2aW91cyBmcmFtZQBiaXRzX3Blcl9jb2RlZF9zYW1wbGUAcHJlZABwcmVkaWN0aW9uIG1ldGhvZABsZWZ0AHBsYW5lAG1lZGlhbgBhc3BlY3QAc2FtcGxlIGFzcGVjdCByYXRpbwBzYXIAZGVidWcAcHJpbnQgc3BlY2lmaWMgZGVidWcgaW5mbwBwaWN0AHBpY3R1cmUgaW5mbwByYwByYXRlIGNvbnRyb2wAbWJfdHlwZQBtYWNyb2Jsb2NrIChNQikgdHlwZQBxcABwZXItYmxvY2sgcXVhbnRpemF0aW9uIHBhcmFtZXRlciAoUVApAGRjdF9jb2VmZgBncmVlbl9tZXRhZGF0YQBza2lwAHN0YXJ0Y29kZQBlcgBlcnJvciByZWNvZ25pdGlvbgBtbWNvAG1lbW9yeSBtYW5hZ2VtZW50IGNvbnRyb2wgb3BlcmF0aW9ucyAoSC4yNjQpAGJ1Z3MAYnVmZmVycwBwaWN0dXJlIGJ1ZmZlciBhbGxvY2F0aW9ucwB0aHJlYWRfb3BzAHRocmVhZGluZyBvcGVyYXRpb25zAG5vbWMAc2tpcCBtb3Rpb24gY29tcGVuc2F0aW9uAGNtcABmdWxsLXBlbCBNRSBjb21wYXJlIGZ1bmN0aW9uAGNtcF9mdW5jAHN1YmNtcABzdWItcGVsIE1FIGNvbXBhcmUgZnVuY3Rpb24AbWJjbXAAbWFjcm9ibG9jayBjb21wYXJlIGZ1bmN0aW9uAGlsZGN0Y21wAGludGVybGFjZWQgRENUIGNvbXBhcmUgZnVuY3Rpb24AZGlhX3NpemUAZGlhbW9uZCB0eXBlICYgc2l6ZSBmb3IgbW90aW9uIGVzdGltYXRpb24AbGFzdF9wcmVkAGFtb3VudCBvZiBtb3Rpb24gcHJlZGljdG9ycyBmcm9tIHRoZSBwcmV2aW91cyBmcmFtZQBwcmVtZQBwcmUgbW90aW9uIGVzdGltYXRpb24AcHJlY21wAHByZSBtb3Rpb24gZXN0aW1hdGlvbiBjb21wYXJlIGZ1bmN0aW9uAHNhZABzdW0gb2YgYWJzb2x1dGUgZGlmZmVyZW5jZXMsIGZhc3QAc3NlAHN1bSBvZiBzcXVhcmVkIGVycm9ycwBzYXRkAHN1bSBvZiBhYnNvbHV0ZSBIYWRhbWFyZCB0cmFuc2Zvcm1lZCBkaWZmZXJlbmNlcwBzdW0gb2YgYWJzb2x1dGUgRENUIHRyYW5zZm9ybWVkIGRpZmZlcmVuY2VzAHN1bSBvZiBzcXVhcmVkIHF1YW50aXphdGlvbiBlcnJvcnMgKGF2b2lkLCBsb3cgcXVhbGl0eSkAYml0AG51bWJlciBvZiBiaXRzIG5lZWRlZCBmb3IgdGhlIGJsb2NrAHJkAHJhdGUgZGlzdG9ydGlvbiBvcHRpbWFsLCBzbG93AHplcm8AMAB2c2FkAHN1bSBvZiBhYnNvbHV0ZSB2ZXJ0aWNhbCBkaWZmZXJlbmNlcwB2c3NlAHN1bSBvZiBzcXVhcmVkIHZlcnRpY2FsIGRpZmZlcmVuY2VzAG5zc2UAbm9pc2UgcHJlc2VydmluZyBzdW0gb2Ygc3F1YXJlZCBkaWZmZXJlbmNlcwBkY3RtYXgAY2hyb21hAG1zYWQAc3VtIG9mIGFic29sdXRlIGRpZmZlcmVuY2VzLCBtZWRpYW4gcHJlZGljdGVkAHByZV9kaWFfc2l6ZQBkaWFtb25kIHR5cGUgJiBzaXplIGZvciBtb3Rpb24gZXN0aW1hdGlvbiBwcmUtcGFzcwBzdWJxAHN1Yi1wZWwgbW90aW9uIGVzdGltYXRpb24gcXVhbGl0eQBtZV9yYW5nZQBsaW1pdCBtb3Rpb24gdmVjdG9ycyByYW5nZSAoMTAyMyBmb3IgRGl2WCBwbGF5ZXIpAGdsb2JhbF9xdWFsaXR5AGNvZGVyAHZsYwB2YXJpYWJsZSBsZW5ndGggY29kZXIgLyBIdWZmbWFuIGNvZGVyAGFyaXRobWV0aWMgY29kZXIAcmF3AHJhdyAobm8gZW5jb2RpbmcpAHJsZQBydW4tbGVuZ3RoIGNvZGVyAGNvbnRleHQAY29udGV4dCBtb2RlbABzbGljZV9mbGFncwBtYmQAbWFjcm9ibG9jayBkZWNpc2lvbiBhbGdvcml0aG0gKGhpZ2ggcXVhbGl0eSBtb2RlKQB1c2UgbWJjbXAAYml0cwB1c2UgZmV3ZXN0IGJpdHMAdXNlIGJlc3QgcmF0ZSBkaXN0b3J0aW9uAHNjX3RocmVzaG9sZABzY2VuZSBjaGFuZ2UgdGhyZXNob2xkAG5yAG5vaXNlIHJlZHVjdGlvbgByY19pbml0X29jY3VwYW5jeQBudW1iZXIgb2YgYml0cyB3aGljaCBzaG91bGQgYmUgbG9hZGVkIGludG8gdGhlIHJjIGJ1ZmZlciBiZWZvcmUgZGVjb2Rpbmcgc3RhcnRzAHRocmVhZHMAc2V0IHRoZSBudW1iZXIgb2YgdGhyZWFkcwBhdXRvZGV0ZWN0IGEgc3VpdGFibGUgbnVtYmVyIG9mIHRocmVhZHMgdG8gdXNlAGRjAGludHJhX2RjX3ByZWNpc2lvbgBuc3NldwBuc3NlIHdlaWdodABza2lwX3RvcABudW1iZXIgb2YgbWFjcm9ibG9jayByb3dzIGF0IHRoZSB0b3Agd2hpY2ggYXJlIHNraXBwZWQAc2tpcF9ib3R0b20AbnVtYmVyIG9mIG1hY3JvYmxvY2sgcm93cyBhdCB0aGUgYm90dG9tIHdoaWNoIGFyZSBza2lwcGVkAHByb2ZpbGUAdW5rbm93bgBhYWNfbWFpbgBhYWNfbG93AGFhY19zc3IAYWFjX2x0cABhYWNfaGUAYWFjX2hlX3YyAGFhY19sZABhYWNfZWxkAG1wZWcyX2FhY19sb3cAbXBlZzJfYWFjX2hlAGR0cwBkdHNfZXMAZHRzXzk2XzI0AGR0c19oZF9ocmEAZHRzX2hkX21hAG1wZWc0X3NwAG1wZWc0X2NvcmUAbXBlZzRfbWFpbgBtcGVnNF9hc3AAbWFpbjEwAG1zYmMAbGV2ZWwAbG93cmVzAGRlY29kZSBhdCAxPSAxLzIsIDI9MS80LCAzPTEvOCByZXNvbHV0aW9ucwBza2lwX3RocmVzaG9sZABmcmFtZSBza2lwIHRocmVzaG9sZABza2lwX2ZhY3RvcgBmcmFtZSBza2lwIGZhY3RvcgBza2lwX2V4cABmcmFtZSBza2lwIGV4cG9uZW50AHNraXBjbXAAZnJhbWUgc2tpcCBjb21wYXJlIGZ1bmN0aW9uAG1ibG1pbgBtaW5pbXVtIG1hY3JvYmxvY2sgTGFncmFuZ2UgZmFjdG9yIChWQlIpAG1ibG1heABtYXhpbXVtIG1hY3JvYmxvY2sgTGFncmFuZ2UgZmFjdG9yIChWQlIpAG1lcGMAbW90aW9uIGVzdGltYXRpb24gYml0cmF0ZSBwZW5hbHR5IGNvbXBlbnNhdGlvbiAoMS4wID0gMjU2KQBza2lwX2xvb3BfZmlsdGVyAHNraXAgbG9vcCBmaWx0ZXJpbmcgcHJvY2VzcyBmb3IgdGhlIHNlbGVjdGVkIGZyYW1lcwBhdmRpc2NhcmQAc2tpcF9pZGN0AHNraXAgSURDVC9kZXF1YW50aXphdGlvbiBmb3IgdGhlIHNlbGVjdGVkIGZyYW1lcwBza2lwX2ZyYW1lAHNraXAgZGVjb2RpbmcgZm9yIHRoZSBzZWxlY3RlZCBmcmFtZXMAbm9uZQBkaXNjYXJkIG5vIGZyYW1lAGRlZmF1bHQAZGlzY2FyZCB1c2VsZXNzIGZyYW1lcwBub3JlZgBkaXNjYXJkIGFsbCBub24tcmVmZXJlbmNlIGZyYW1lcwBiaWRpcgBkaXNjYXJkIGFsbCBiaWRpcmVjdGlvbmFsIGZyYW1lcwBub2tleQBkaXNjYXJkIGFsbCBmcmFtZXMgZXhjZXB0IGtleWZyYW1lcwBub2ludHJhAGRpc2NhcmQgYWxsIGZyYW1lcyBleGNlcHQgSSBmcmFtZXMAYWxsAGRpc2NhcmQgYWxsIGZyYW1lcwBiaWRpcl9yZWZpbmUAcmVmaW5lIHRoZSB0d28gbW90aW9uIHZlY3RvcnMgdXNlZCBpbiBiaWRpcmVjdGlvbmFsIG1hY3JvYmxvY2tzAGJyZF9zY2FsZQBkb3duc2NhbGUgZnJhbWVzIGZvciBkeW5hbWljIEItZnJhbWUgZGVjaXNpb24Aa2V5aW50X21pbgBtaW5pbXVtIGludGVydmFsIGJldHdlZW4gSURSLWZyYW1lcwByZWZzAHJlZmVyZW5jZSBmcmFtZXMgdG8gY29uc2lkZXIgZm9yIG1vdGlvbiBjb21wZW5zYXRpb24AY2hyb21hb2Zmc2V0AGNocm9tYSBRUCBvZmZzZXQgZnJvbSBsdW1hAHRyZWxsaXMAcmF0ZS1kaXN0b3J0aW9uIG9wdGltYWwgcXVhbnRpemF0aW9uAG12MF90aHJlc2hvbGQAYl9zZW5zaXRpdml0eQBhZGp1c3Qgc2Vuc2l0aXZpdHkgb2YgYl9mcmFtZV9zdHJhdGVneSAxAGNvbXByZXNzaW9uX2xldmVsAG1pbl9wcmVkaWN0aW9uX29yZGVyAG1heF9wcmVkaWN0aW9uX29yZGVyAHRpbWVjb2RlX2ZyYW1lX3N0YXJ0AEdPUCB0aW1lY29kZSBmcmFtZSBzdGFydCBudW1iZXIsIGluIG5vbi1kcm9wLWZyYW1lIGZvcm1hdABiaXRzX3Blcl9yYXdfc2FtcGxlAGNoYW5uZWxfbGF5b3V0AHJlcXVlc3RfY2hhbm5lbF9sYXlvdXQAcmNfbWF4X3Zidl91c2UAcmNfbWluX3Zidl91c2UAdGlja3NfcGVyX2ZyYW1lAGNvbG9yX3ByaW1hcmllcwBjb2xvciBwcmltYXJpZXMAY29sb3JfcHJpbWFyaWVzX3R5cGUAYnQ3MDkAQlQuNzA5AFVuc3BlY2lmaWVkAGJ0NDcwbQBCVC40NzAgTQBidDQ3MGJnAEJULjQ3MCBCRwBzbXB0ZTE3MG0AU01QVEUgMTcwIE0Ac21wdGUyNDBtAFNNUFRFIDI0MCBNAGZpbG0ARmlsbQBidDIwMjAAQlQuMjAyMABzbXB0ZTQyOABTTVBURSA0MjgtMQBzbXB0ZTQyOF8xAHNtcHRlNDMxAFNNUFRFIDQzMS0yAHNtcHRlNDMyAFNNUFRFIDQyMi0xAGplZGVjLXAyMgBKRURFQyBQMjIAdW5zcGVjaWZpZWQAY29sb3JfdHJjAGNvbG9yIHRyYW5zZmVyIGNoYXJhY3RlcmlzdGljcwBjb2xvcl90cmNfdHlwZQBnYW1tYTIyAGdhbW1hMjgAbGluZWFyAExpbmVhcgBsb2cxMDAATG9nAGxvZzMxNgBMb2cgc3F1YXJlIHJvb3QAaWVjNjE5NjYtMi00AElFQyA2MTk2Ni0yLTQAYnQxMzYxZQBCVC4xMzYxAGllYzYxOTY2LTItMQBJRUMgNjE5NjYtMi0xAGJ0MjAyMC0xMABCVC4yMDIwIC0gMTAgYml0AGJ0MjAyMC0xMgBCVC4yMDIwIC0gMTIgYml0AHNtcHRlMjA4NABTTVBURSAyMDg0AGFyaWItc3RkLWI2NwBBUklCIFNURC1CNjcAbG9nAGxvZ19zcXJ0AGllYzYxOTY2XzJfNABidDEzNjEAaWVjNjE5NjZfMl8xAGJ0MjAyMF8xMGJpdABidDIwMjBfMTJiaXQAY29sb3JzcGFjZQBjb2xvciBzcGFjZQBjb2xvcnNwYWNlX3R5cGUAcmdiAFJHQgBmY2MARkNDAHljZ2NvAFlDR0NPAGJ0MjAyMG5jAEJULjIwMjAgTkNMAGJ0MjAyMGMAQlQuMjAyMCBDTABzbXB0ZTIwODUAU01QVEUgMjA4NQB5Y29jZwBidDIwMjBfbmNsAGJ0MjAyMF9jbABjb2xvcl9yYW5nZQBjb2xvciByYW5nZQBjb2xvcl9yYW5nZV90eXBlAHR2AE1QRUcgKDIxOSoyXihuLTgpKQBwYwBKUEVHICgyXm4tMSkAbXBlZwBqcGVnAGNocm9tYV9zYW1wbGVfbG9jYXRpb24AY2hyb21hIHNhbXBsZSBsb2NhdGlvbgBjaHJvbWFfc2FtcGxlX2xvY2F0aW9uX3R5cGUATGVmdABjZW50ZXIAQ2VudGVyAHRvcGxlZnQAVG9wLWxlZnQAdG9wAFRvcABib3R0b21sZWZ0AEJvdHRvbS1sZWZ0AGJvdHRvbQBCb3R0b20AbG9nX2xldmVsX29mZnNldABzZXQgdGhlIGxvZyBsZXZlbCBvZmZzZXQAc2xpY2VzAHNldCB0aGUgbnVtYmVyIG9mIHNsaWNlcywgdXNlZCBpbiBwYXJhbGxlbGl6ZWQgZW5jb2RpbmcAdGhyZWFkX3R5cGUAc2VsZWN0IG11bHRpdGhyZWFkaW5nIHR5cGUAc2xpY2UAZnJhbWUAYXVkaW9fc2VydmljZV90eXBlAGF1ZGlvIHNlcnZpY2UgdHlwZQBtYQBNYWluIEF1ZGlvIFNlcnZpY2UAZWYARWZmZWN0cwB2aQBWaXN1YWxseSBJbXBhaXJlZABoaQBIZWFyaW5nIEltcGFpcmVkAGRpAERpYWxvZ3VlAGNvAENvbW1lbnRhcnkAZW0ARW1lcmdlbmN5AHZvAFZvaWNlIE92ZXIAa2EAS2FyYW9rZQByZXF1ZXN0X3NhbXBsZV9mbXQAc2FtcGxlIGZvcm1hdCBhdWRpbyBkZWNvZGVycyBzaG91bGQgcHJlZmVyAHBrdF90aW1lYmFzZQBzdWJfY2hhcmVuYwBzZXQgaW5wdXQgdGV4dCBzdWJ0aXRsZXMgY2hhcmFjdGVyIGVuY29kaW5nAHN1Yl9jaGFyZW5jX21vZGUAc2V0IGlucHV0IHRleHQgc3VidGl0bGVzIGNoYXJhY3RlciBlbmNvZGluZyBtb2RlAGRvX25vdGhpbmcAcHJlX2RlY29kZXIAc3ViX3RleHRfZm9ybWF0AHNldCBkZWNvZGVkIHRleHQgc3VidGl0bGUgZm9ybWF0AGFzcwBhc3Nfd2l0aF90aW1pbmdzAHJlZmNvdW50ZWRfZnJhbWVzAHNpZGVfZGF0YV9vbmx5X3BhY2tldHMAYXBwbHlfY3JvcHBpbmcAc2tpcF9hbHBoYQBTa2lwIHByb2Nlc3NpbmcgYWxwaGEAZmllbGRfb3JkZXIARmllbGQgb3JkZXIAcHJvZ3Jlc3NpdmUAdHQAYmIAdGIAZHVtcF9zZXBhcmF0b3IAc2V0IGluZm9ybWF0aW9uIGR1bXAgZmllbGQgc2VwYXJhdG9yAGNvZGVjX3doaXRlbGlzdABMaXN0IG9mIGRlY29kZXJzIHRoYXQgYXJlIGFsbG93ZWQgdG8gYmUgdXNlZABwaXhlbF9mb3JtYXQAc2V0IHBpeGVsIGZvcm1hdAB2aWRlb19zaXplAHNldCB2aWRlbyBzaXplAG1heF9waXhlbHMATWF4aW11bSBudW1iZXIgb2YgcGl4ZWxzAGh3YWNjZWxfZmxhZ3MAaWdub3JlX2xldmVsAGlnbm9yZSBsZXZlbCBldmVuIGlmIHRoZSBjb2RlYyBsZXZlbCB1c2VkIGlzIHVua25vd24gb3IgaGlnaGVyIHRoYW4gdGhlIG1heGltdW0gc3VwcG9ydGVkIGxldmVsIHJlcG9ydGVkIGJ5IHRoZSBoYXJkd2FyZSBkcml2ZXIAYWxsb3dfaGlnaF9kZXB0aABhbGxvdyB0byBvdXRwdXQgWVVWIHBpeGVsIGZvcm1hdHMgd2l0aCBhIGRpZmZlcmVudCBjaHJvbWEgc2FtcGxpbmcgdGhhbiA0OjI6MCBhbmQvb3Igb3RoZXIgdGhhbiA4IGJpdHMgcGVyIGNvbXBvbmVudABhbGxvd19wcm9maWxlX21pc21hdGNoAGF0dGVtcHQgdG8gZGVjb2RlIGFueXdheSBpZiBIVyBhY2NlbGVyYXRlZCBkZWNvZGVyJ3Mgc3VwcG9ydGVkIHByb2ZpbGVzIGRvIG5vdCBleGFjdGx5IG1hdGNoIHRoZSBzdHJlYW0AZXh0cmFfaHdfZnJhbWVzAE51bWJlciBvZiBleHRyYSBoYXJkd2FyZSBmcmFtZXMgdG8gYWxsb2NhdGUgZm9yIHRoZSB1c2VyAE5VTEwAQVZCU0ZDb250ZXh0AFRoaXMgZGVjb2RlciBkb2VzIG5vdCBzdXBwb3J0IHBhcmFtZXRlciBjaGFuZ2VzLCBidXQgUEFSQU1fQ0hBTkdFIHNpZGUgZGF0YSB3YXMgc2VudCB0byBpdC4KAEludmFsaWQgY2hhbm5lbCBjb3VudABJbnZhbGlkIHNhbXBsZSByYXRlAFBBUkFNX0NIQU5HRSBzaWRlIGRhdGEgdG9vIHNtYWxsLgoARXJyb3IgYXBwbHlpbmcgcGFyYW1ldGVyIGNoYW5nZXMuCgBFcnJvciBwcmUtcHJvY2Vzc2luZyBhIHBhY2tldCBiZWZvcmUgZGVjb2RpbmcKACFmcmFtZS0+YnVmWzBdAChmcmFtZS0+cHJpdmF0ZV9yZWYgJiYgZnJhbWUtPnByaXZhdGVfcmVmLT5zaXplID09IHNpemVvZihGcmFtZURlY29kZURhdGEpKSB8fCAhKGF2Y3R4LT5jb2RlYy0+Y2FwYWJpbGl0aWVzICYgKDEgPDwgMSkpAHNraXAgJWQgLyBkaXNjYXJkICVkIHNhbXBsZXMgZHVlIHRvIHNpZGUgZGF0YQoAc2tpcCB3aG9sZSBmcmFtZSwgc2tpcCBsZWZ0OiAlZAoAQ291bGQgbm90IHVwZGF0ZSB0aW1lc3RhbXBzIGZvciBza2lwcGVkIHNhbXBsZXMuCgBza2lwICVkLyVkIHNhbXBsZXMKAENvdWxkIG5vdCB1cGRhdGUgdGltZXN0YW1wcyBmb3IgZGlzY2FyZGVkIHNhbXBsZXMuCgBkaXNjYXJkICVkLyVkIHNhbXBsZXMKAE11bHRpcGxlIGZyYW1lcyBpbiBhIHBhY2tldC4KAFRvbyBtYW55IGVycm9ycyB3aGVuIGRyYWluaW5nLCB0aGlzIGlzIGEgYnVnLiBTdG9wIGRyYWluaW5nIGFuZCBmb3JjZSBFT0YuCgBmcmFtZS0+YnVmWzBdAGF2X3BhY2tldF9yZWYoKSBmYWlsZWQgaW4gc3VibWl0X3BhY2tldCgpCgBudWxsACwAQSBub24tZXhpc3RpbmcgYml0c3RyZWFtIGZpbHRlciAlcyByZXF1ZXN0ZWQgYnkgYSBkZWNvZGVyLiBUaGlzIGlzIGEgYnVnLCBwbGVhc2UgcmVwb3J0IGl0LgoASW52YWxpZCBjcm9wcGluZyBpbmZvcm1hdGlvbiBzZXQgYnkgYSBkZWNvZGVyOiAlenUvJXp1LyV6dS8lenUgKGZyYW1lIHNpemUgJWR4JWQpLiBUaGlzIGlzIGEgYnVnLCBwbGVhc2UgcmVwb3J0IGl0CgBpbmRleCA+IC0weDIwMDAwMDAwACFwLT5od2FjY2VsX3NlcmlhbGl6aW5nAEEgZnJhbWUgdGhyZWFkZWQgZGVjb2RlciBkaWQgbm90IGZyZWUgdGhlIGZyYW1lIG9uIGZhaWx1cmUuIFRoaXMgaXMgYSBidWcsIHBsZWFzZSByZXBvcnQgaXQuCgBBcHBsaWNhdGlvbiBoYXMgcmVxdWVzdGVkICVkIHRocmVhZHMuIFVzaW5nIGEgdGhyZWFkIGNvdW50IGdyZWF0ZXIgdGhhbiAlZCBpcyBub3QgcmVjb21tZW5kZWQuCgBObyBjb2RlYyBwcm92aWRlZCB0byBhdmNvZGVjX29wZW4yKCkKAFRoaXMgQVZDb2RlY0NvbnRleHQgd2FzIGFsbG9jYXRlZCBmb3IgJXMsIGJ1dCAlcyBwYXNzZWQgdG8gYXZjb2RlY19vcGVuMigpCgBDb2RlYyAoJXMpIG5vdCBvbiB3aGl0ZWxpc3QgJyVzJwoASWdub3JpbmcgaW52YWxpZCB3aWR0aC9oZWlnaHQgdmFsdWVzCgBpZ25vcmluZyBpbnZhbGlkIFNBUjogJXUvJXUKAENvZGVjIHR5cGUgb3IgaWQgbWlzbWF0Y2hlcwoAZW5jb2RlcgBkZWNvZGVyAFRoZSAlcyAnJXMnIGlzIGV4cGVyaW1lbnRhbCBidXQgZXhwZXJpbWVudGFsIGNvZGVjcyBhcmUgbm90IGVuYWJsZWQsIGFkZCAnLXN0cmljdCAlZCcgaWYgeW91IHdhbnQgdG8gdXNlIGl0LgoAQWx0ZXJuYXRpdmVseSB1c2UgdGhlIG5vbiBleHBlcmltZW50YWwgJXMgJyVzJy4KAFRoZSBtYXhpbXVtIHZhbHVlIGZvciBsb3dyZXMgc3VwcG9ydGVkIGJ5IHRoZSBkZWNvZGVyIGlzICVkCgBUaGUgZW5jb2RlciB0aW1lYmFzZSBpcyBub3Qgc2V0LgoAJWQAU3BlY2lmaWVkIHNhbXBsZSBmb3JtYXQgJXMgaXMgaW52YWxpZCBvciBub3Qgc3VwcG9ydGVkCgBTcGVjaWZpZWQgcGl4ZWwgZm9ybWF0ICVzIGlzIGludmFsaWQgb3Igbm90IHN1cHBvcnRlZAoAU3BlY2lmaWVkIHNhbXBsZSByYXRlICVkIGlzIG5vdCBzdXBwb3J0ZWQKAENoYW5uZWwgbGF5b3V0IG5vdCBzcGVjaWZpZWQKAFNwZWNpZmllZCBjaGFubmVsIGxheW91dCAnJXMnIGlzIG5vdCBzdXBwb3J0ZWQKAENoYW5uZWwgbGF5b3V0ICclcycgd2l0aCAlZCBjaGFubmVscyBkb2VzIG5vdCBtYXRjaCBudW1iZXIgb2Ygc3BlY2lmaWVkIGNoYW5uZWxzICVkCgBTcGVjaWZpZWQgbnVtYmVyIG9mIGNoYW5uZWxzICVkIGlzIG5vdCBzdXBwb3J0ZWQKAFNwZWNpZmllZCBiaXQgZGVwdGggJWQgbm90IHBvc3NpYmxlIHdpdGggdGhlIHNwZWNpZmllZCBwaXhlbCBmb3JtYXRzIGRlcHRoICVkCgBkaW1lbnNpb25zIG5vdCBzZXQKAEJpdHJhdGUgJWxsZCBpcyBleHRyZW1lbHkgbG93LCBtYXliZSB5b3UgbWVhbiAlbGxkawoAdGlja3NfcGVyX2ZyYW1lICVkIHRvbyBsYXJnZSBmb3IgdGhlIHRpbWViYXNlICVkLyVkLgBNaXNtYXRjaGluZyBBVkNvZGVjQ29udGV4dC5waXhfZm10IGFuZCBBVkhXRnJhbWVzQ29udGV4dC5mb3JtYXQKAE1pc21hdGNoaW5nIEFWQ29kZWNDb250ZXh0LnN3X3BpeF9mbXQgKCVzKSBhbmQgQVZIV0ZyYW1lc0NvbnRleHQuc3dfZm9ybWF0ICglcykKAGdyYXkgZGVjb2RpbmcgcmVxdWVzdGVkIGJ1dCBub3QgZW5hYmxlZCBhdCBjb25maWd1cmF0aW9uIHRpbWUKAENoYW5uZWwgbGF5b3V0ICclcycgd2l0aCAlZCBjaGFubmVscyBkb2VzIG5vdCBtYXRjaCBzcGVjaWZpZWQgbnVtYmVyIG9mIGNoYW5uZWxzICVkOiBpZ25vcmluZyBzcGVjaWZpZWQgY2hhbm5lbCBsYXlvdXQKAENoYXJhY3RlciBlbmNvZGluZyBpcyBvbmx5IHN1cHBvcnRlZCB3aXRoIHN1YnRpdGxlcyBjb2RlY3MKAENvZGVjICclcycgaXMgYml0bWFwLWJhc2VkLCBzdWJ0aXRsZXMgY2hhcmFjdGVyIGVuY29kaW5nIHdpbGwgYmUgaWdub3JlZAoAVVRGLTgAVW5hYmxlIHRvIG9wZW4gaWNvbnYgY29udGV4dCB3aXRoIGlucHV0IGNoYXJhY3RlciBlbmNvZGluZyAiJXMiCgAqKGNvbnN0IEFWQ2xhc3MgKiopYXZjdHgtPnByaXZfZGF0YSA9PSBjb2RlYy0+cHJpdl9jbGFzcwBsYXllcjMuYwAGBQUFCQkJCQYJCQkGBQcDCQkMBgYJDAYLCgAAEhIAAA8SAAAHBwcADAwMAAYPDAAGBgYDDAkJBgYMCQYICAUADwwJAAYSCQAAAAABAAIAAwMAAQEBAgEDAgECAgIDAwEDAgMDBAIEAwAAAAAAAAAAAAAAAQEBAQICAwMDAgByZXF1YW50aXplIG92ZXJmbG93ICglZiAqIDJeJWQpCgAtYml0c19sZWZ0IDw9IE1BRF9CVUZGRVJfR1VBUkQgKiBDSEFSX0JJVABJSUlfaHVmZmRlY29kZQAEBAQEBAQGBgYICgwQEhYcIiguNjbABAQEBAQEBAQEBAQEBgYGBgYGCgoKDAwMDg4OEBAQFBQUGhoaQkJCBAQEBAQEBgYEBAQGBgYGBgYKCgoMDAwODg4QEBAUFBQaGhpCQkIEBAQEBAQGBggICgwQFBgcIioyNkyeBAQEBAQEBAQEBAQEBgYGCAgICgoKDAwMDg4OEhISFhYWHh4eODg4BAQEBAQEBgYEBAQGBgYICAgKCgoMDAwODg4SEhIWFhYeHh44ODgEBAQEBAQGBggKDBAUGB4mLjhEVGYaBAQEBAQEBAQEBAQEBgYGCAgIDAwMEBAQFBQUGhoaIiIiKioqDAwMBAQEBAQEBgYEBAQGBgYICAgMDAwQEBAUFBQaGhoiIiIqKioMDAwGBgYGBgYICgwOEBIWGiAmLjY+RkwkBAQEBAQEBAQEBgYGCAgICgoKDAwMDg4OEhISGBgYICAgLCwsDAwMBgYGBgYGBgYGCAgICgoKDAwMDg4OEhISGBgYICAgLCwsDAwMBgYGBgYGCAoMDhAUGBwgJi40PEQ6NgQEBAQEBAQEBAYGBgYGBggICAoKCg4ODhISEhoaGiAgICoqKhISEgYGBgYGBgYGBgYGBggICAoKCg4ODhISEhoaGiAgICoqKhISEgQEBAQEBAQEBAYGBggICAoKCgwMDA4ODhISEhgYGB4eHigoKBISEgYGBgYGBgYGBggICAoKCgwMDA4ODhISEhgYGB4eHigoKBISEgwMDAwMDBAUGBwgKDA4QExaAgICAgIICAgICAgICAgMDAwQEBAUFBQYGBgcHBwkJCQCAgICAgICAgIaGhoMDAwEBAQICAgMDAwQEBAUFBQYGBgcHBwkJCQCAgICAgICAgIaGhpkZW5vbSAhPSAwAHRpbWVyLmMAc2NhbGVfcmF0aW9uYWwAdm9pZABib29sAGNoYXIAc2lnbmVkIGNoYXIAdW5zaWduZWQgY2hhcgBzaG9ydAB1bnNpZ25lZCBzaG9ydABpbnQAdW5zaWduZWQgaW50AGxvbmcAdW5zaWduZWQgbG9uZwBmbG9hdABkb3VibGUAc3RkOjpzdHJpbmcAc3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4Ac3RkOjp3c3RyaW5nAGVtc2NyaXB0ZW46OnZhbABlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgbG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxkb3VibGU+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmcgZG91YmxlPgBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0llRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWZFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ltRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWpFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lpRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJdEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXNFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0loRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJYUVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWNFRQBOU3QzX18yMTJiYXNpY19zdHJpbmdJd05TXzExY2hhcl90cmFpdHNJd0VFTlNfOWFsbG9jYXRvckl3RUVFRQBOU3QzX18yMTJiYXNpY19zdHJpbmdJaE5TXzExY2hhcl90cmFpdHNJaEVFTlNfOWFsbG9jYXRvckloRUVFRQAAAQIEBwMGBQAtKyAgIDBYMHgAKG51bGwpAC0wWCswWCAwWC0weCsweCAweABpbmYASU5GAE5BTgAuAGluZmluaXR5AG5hbgB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzOiAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZm9yZWlnbiBleGNlcHRpb24AdGVybWluYXRpbmcAdW5jYXVnaHQAU3Q5ZXhjZXB0aW9uAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAFN0OXR5cGVfaW5mbwBOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAHB0aHJlYWRfb25jZSBmYWlsdXJlIGluIF9fY3hhX2dldF9nbG9iYWxzX2Zhc3QoKQBjYW5ub3QgY3JlYXRlIHB0aHJlYWQga2V5IGZvciBfX2N4YV9nZXRfZ2xvYmFscygpAGNhbm5vdCB6ZXJvIG91dCB0aHJlYWQgdmFsdWUgZm9yIF9fY3hhX2dldF9nbG9iYWxzKCkAdGVybWluYXRlX2hhbmRsZXIgdW5leHBlY3RlZGx5IHJldHVybmVkAFN0MTFsb2dpY19lcnJvcgBTdDEybGVuZ3RoX2Vycm9yAE4xMF9fY3h4YWJpdjExOV9fcG9pbnRlcl90eXBlX2luZm9FAE4xMF9fY3h4YWJpdjExN19fcGJhc2VfdHlwZV9pbmZvRQBOMTBfX2N4eGFiaXYxMjNfX2Z1bmRhbWVudGFsX3R5cGVfaW5mb0UAdgBEbgBoAGEAcwB0AGkAagBsAG0AZgBkAE4xMF9fY3h4YWJpdjEyMV9fdm1pX2NsYXNzX3R5cGVfaW5mb0U=";var tempDoublePtr=262336;assert(tempDoublePtr%8==0);function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}var ENV={};function ___buildEnvironment(environ){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C.UTF-8";ENV["_"]=Module["thisProgram"];poolPtr=getMemory(TOTAL_ENV_SIZE);envPtr=getMemory(MAX_ENV_VALUES*4);HEAP32[envPtr>>2]=poolPtr;HEAP32[environ>>2]=envPtr}else{envPtr=HEAP32[environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in ENV){if(typeof ENV[key]==="string"){var line=key+"="+ENV[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}function ___cxa_allocate_exception(size){return _malloc(size)}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}function ___cxa_free_exception(ptr){try{return _free(ptr)}catch(e){err("exception during cxa_free_exception: "+e)}}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var key in EXCEPTIONS.infos){var ptr=+key;var adj=EXCEPTIONS.infos[ptr].adjusted;var len=adj.length;for(var i=0;i0);info.refcount--;if(info.refcount===0&&!info.rethrown){if(info.destructor){Module["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 ___cxa_begin_catch(ptr){var info=EXCEPTIONS.infos[ptr];if(info&&!info.caught){info.caught=true;__ZSt18uncaught_exceptionv.uncaught_exception--}if(info)info.rethrown=false;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}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(setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(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.push(thrown);return(setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(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."}function ___gxx_personality_v0(){}function ___lock(){}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;else err("failed to set errno from JS");return value}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)},resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(1)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+lengthe2.timestamp){create.push(key);total++}});var remove=[];Object.keys(dst.entries).forEach(function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}});if(!total){return callback(null)}var errored=false;var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=function(e){done(this.error);e.preventDefault()};create.sort().forEach(function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)})}else{IDBFS.loadLocalEntry(path,function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)})}});remove.sort().reverse().forEach(function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}})}};var NODEFS={isWindows:false,staticInit:function(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process["binding"]("constants");if(flags["fs"]){flags=flags["fs"]}NODEFS.flagsForNodeMap={1024:flags["O_APPEND"],64:flags["O_CREAT"],128:flags["O_EXCL"],0:flags["O_RDONLY"],2:flags["O_RDWR"],4096:flags["O_SYNC"],512:flags["O_TRUNC"],1:flags["O_WRONLY"]}},bufferFrom:function(arrayBuffer){return Buffer.alloc?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)},mount:function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)},createNode:function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(22)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node},getMode:function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return stat.mode},realPath:function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)},flagsForNode:function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}else{throw new FS.ErrnoError(22)}},node_ops:{getattr:function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}},setattr:function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},lookup:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)},mknod:function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return node},rename:function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},unlink:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},rmdir:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readdir:function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},symlink:function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readlink:function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}}},stream_ops:{open:function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},close:function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},read:function(stream,buffer,offset,length,position){if(length===0)return 0;try{return fs.readSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},write:function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(-e.errno)}}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size},write:function(stream,buffer,offset,length,position){throw new FS.ErrnoError(5)},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)},lookupPath:function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(40)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(40)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 13}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 13}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 13}return 0},mayLookup:function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return 13;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 17}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return 20}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 16}}else{if(FS.isDir(node.mode)){return 21}}return 0},mayOpen:function(node,flags){if(!node){return 2}if(FS.isLink(node.mode)){return 40}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 21}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(24)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(29)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(16)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(20)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(22)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(22)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(1)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},getStreamFromFD:function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream},getSocketFromFD:function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket},getSocketAddress:function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low},getZero:function(){assert(SYSCALLS.get()===0)}};function ___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();if(!(offset_high==-1&&offset_low<0)&&!(offset_high==0&&offset_low>=0)){return-ERRNO_CODES.EOVERFLOW}var offset=offset_low;FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[result>>2]=tempI64[0],HEAP32[result+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0}case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0}case 21524:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___unlock(){}var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function count_emval_handles(){var count=0;for(var i=5;i>shift])},destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}});clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function runDestructor(handle){var $$=handle.$$;if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}this.$$.count.value-=1;var toDelete=0===this.$$.count.value;if(toDelete){runDestructor(this)}if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}var registeredPointers={};function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError("Function '"+humanName+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+proto[methodName].overloadTable+")!")}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError("Cannot register public name '"+name+"' twice")}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError("Cannot register multiple overloads of a function with the same number of arguments ("+numArguments+")!")}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError("Expected null or instance of "+desiredClass.name+", got an instance of "+ptrClass.name)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,__emval_register(function(){clonedHandle["delete"]()}));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+handle.$$.ptrType.name+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAPU32[pointer>>2])}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return Object.create(prototype,{$$:{value:record}})}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(dynCall){var args=[];for(var i=1;i0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i>2)+i])}return array}function __embind_register_class_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,fn){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.constructor;if(undefined===proto[methodName]){unboundTypesHandler.argCount=argCount-1;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-1]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));var func=craftInvokerFunction(humanName,invokerArgsArray,null,rawInvoker,fn);if(undefined===proto[methodName].overloadTable){func.argCount=argCount-1;proto[methodName]=func}else{proto[methodName].overloadTable[argCount-1]=func}return[]});return[]})}function __embind_register_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})}function validateThis(this_,classType,humanName){if(!(this_ instanceof Object)){throwBindingError(humanName+' with invalid "this": '+this_)}if(!(this_ instanceof classType.registeredClass.constructor)){throwBindingError(humanName+' incompatible with "this" of type '+this_.constructor.name)}if(!this_.$$.ptr){throwBindingError("cannot call emscripten binding method "+humanName+" on deleted object")}return upcastPointer(this_.$$.ptr,this_.$$.ptrType.registeredClass,classType.registeredClass)}function __embind_register_class_property(classType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){fieldName=readLatin1String(fieldName);getter=embind__requireFunction(getterSignature,getter);whenDependentTypesAreResolved([],[classType],function(classType){classType=classType[0];var humanName=classType.name+"."+fieldName;var desc={get:function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])},enumerable:true,configurable:true};if(setter){desc.set=function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])}}else{desc.set=function(v){throwBindingError(humanName+" is a read-only property")}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);whenDependentTypesAreResolved([],setter?[getterReturnType,setterArgumentType]:[getterReturnType],function(types){var getterReturnType=types[0];var desc={get:function(){var ptr=validateThis(this,classType,humanName+" getter");return getterReturnType["fromWireType"](getter(getterContext,ptr))},enumerable:true};if(setter){setter=embind__requireFunction(setterSignature,setter);var setterArgumentType=types[1];desc.set=function(v){var ptr=validateThis(this,classType,humanName+" setter");var destructors=[];setter(setterContext,ptr,setterArgumentType["toWireType"](destructors,v));runDestructors(destructors)}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);return[]});return[]})}function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=emval_handle_array[handle].value;__emval_decref(handle);return rv},"toWireType":function(destructors,value){return __emval_register(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function _embind_repr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=function(value){return value};if(minRange===0){var bitshift=32-8*size;fromWireType=function(value){return value<>>bitshift}}var isUnsignedType=name.indexOf("unsigned")!=-1;registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(valuemaxRange){throw new TypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}return isUnsignedType?value>>>0:value|0},"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(heap["buffer"],data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var str;if(stdStringIsUTF8){var endChar=HEAPU8[value+4+length];var endCharSwap=0;if(endChar!=0){endCharSwap=endChar;HEAPU8[value+4+length]=0}var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i;if(HEAPU8[currentBytePtr]==0){var stringSegment=UTF8ToString(decodeStartPtr);if(str===undefined)str=stringSegment;else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}if(endCharSwap!=0)HEAPU8[value+4+length]=endCharSwap}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr+4,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}}else{for(var i=0;i>2];var a=new Array(length);var start=value+4>>shift;for(var i=0;i>2]=length;var start=ptr+4>>shift;for(var i=0;i>2]=rd;return returnType["toWireType"](destructors,handle)}function __emval_lookupTypes(argCount,argTypes,argWireTypes){var a=new Array(argCount);for(var i=0;i>2)+i],"parameter "+i)}return a}function __emval_call(handle,argCount,argTypes,argv){handle=requireHandle(handle);var types=__emval_lookupTypes(argCount,argTypes);var args=new Array(argCount);for(var i=0;i>2]=__emval_register(destructors);return destructors}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}else{return symbol}}var emval_methodCallers=[];function __emval_call_method(caller,handle,methodName,destructorsRef,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);return caller(handle,methodName,__emval_allocateDestructors(destructorsRef),args)}function __emval_call_void_method(caller,handle,methodName,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);caller(handle,methodName,null,args)}function emval_get_global(){return function(){return Function}()("return this")()}function __emval_get_global(name){if(name===0){return __emval_register(emval_get_global())}else{name=getStringOrSymbol(name);return __emval_register(emval_get_global()[name])}}function __emval_addMethodCaller(caller){var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id}function __emval_get_method_caller(argCount,argTypes){var types=__emval_lookupTypes(argCount,argTypes);var retType=types[0];var signatureName=retType.name+"_$"+types.slice(1).map(function(t){return t.name}).join("_")+"$";var params=["retType"];var args=[retType];var argsList="";for(var i=0;i4){emval_handle_array[handle].refcount+=1}}function craftEmvalAllocator(argCount){var argsList="";for(var i=0;i> 2) + "+i+'], "parameter '+i+'");\n'+"var arg"+i+" = argType"+i+".readValueFromPointer(args);\n"+"args += argType"+i+"['argPackAdvance'];\n"}functionBody+="var obj = new constructor("+argsList+");\n"+"return __emval_register(obj);\n"+"}\n";return new Function("requireRegisteredType","Module","__emval_register",functionBody)(requireRegisteredType,Module,__emval_register)}var emval_newers={};function __emval_new(handle,argCount,argTypes,args){handle=requireHandle(handle);var newer=emval_newers[argCount];if(!newer){newer=craftEmvalAllocator(argCount);emval_newers[argCount]=newer}return newer(handle,argTypes,args)}function __emval_new_cstring(v){return __emval_register(getStringOrSymbol(v))}function __emval_new_object(){return __emval_register({})}function __emval_run_destructors(handle){var destructors=emval_handle_array[handle].value;runDestructors(destructors);__emval_decref(handle)}function __emval_set_property(handle,key,value){handle=requireHandle(handle);key=requireHandle(key);value=requireHandle(value);handle[key]=value}function __emval_take_value(type,argv){type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](argv);return __emval_register(v)}function _abort(){Module["abort"]()}var _acos=Math_acos;var _asin=Math_asin;var _atan=Math_atan;function _clock(){if(_clock.start===undefined)_clock.start=Date.now();return(Date.now()-_clock.start)*(1e6/1e3)|0}var _cos=Math_cos;function _emscripten_get_heap_size(){return HEAP8.length}function __reallyNegative(x){return x<0||x===0&&1/x===-Infinity}function __formatString(format,varargs){assert((varargs&3)===0);var textIndex=format;var argIndex=varargs;function prepVararg(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}function getNextArg(type){var ret;argIndex=prepVararg(argIndex,type);if(type==="double"){ret=HEAPF64[argIndex>>3];argIndex+=8}else if(type=="i64"){ret=[HEAP32[argIndex>>2],HEAP32[argIndex+4>>2]];argIndex+=8}else{assert((argIndex&3)===0);type="i32";ret=HEAP32[argIndex>>2];argIndex+=4}return ret}var ret=[];var curr,next,currArg;while(1){var startTextIndex=textIndex;curr=HEAP8[textIndex>>0];if(curr===0)break;next=HEAP8[textIndex+1>>0];if(curr==37){var flagAlwaysSigned=false;var flagLeftAlign=false;var flagAlternative=false;var flagZeroPad=false;var flagPadSign=false;flagsLoop:while(1){switch(next){case 43:flagAlwaysSigned=true;break;case 45:flagLeftAlign=true;break;case 35:flagAlternative=true;break;case 48:if(flagZeroPad){break flagsLoop}else{flagZeroPad=true;break}case 32:flagPadSign=true;break;default:break flagsLoop}textIndex++;next=HEAP8[textIndex+1>>0]}var width=0;if(next==42){width=getNextArg("i32");textIndex++;next=HEAP8[textIndex+1>>0]}else{while(next>=48&&next<=57){width=width*10+(next-48);textIndex++;next=HEAP8[textIndex+1>>0]}}var precisionSet=false,precision=-1;if(next==46){precision=0;precisionSet=true;textIndex++;next=HEAP8[textIndex+1>>0];if(next==42){precision=getNextArg("i32");textIndex++}else{while(1){var precisionChr=HEAP8[textIndex+1>>0];if(precisionChr<48||precisionChr>57)break;precision=precision*10+(precisionChr-48);textIndex++}}next=HEAP8[textIndex+1>>0]}if(precision<0){precision=6;precisionSet=false}var argSize;switch(String.fromCharCode(next)){case"h":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==104){textIndex++;argSize=1}else{argSize=2}break;case"l":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==108){textIndex++;argSize=8}else{argSize=4}break;case"L":case"q":case"j":argSize=8;break;case"z":case"t":case"I":argSize=4;break;default:argSize=null}if(argSize)textIndex++;next=HEAP8[textIndex+1>>0];switch(String.fromCharCode(next)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":{var signed=next==100||next==105;argSize=argSize||4;currArg=getNextArg("i"+argSize*8);var argText;if(argSize==8){currArg=makeBigInt(currArg[0],currArg[1],next==117)}if(argSize<=4){var limit=Math.pow(256,argSize)-1;currArg=(signed?reSign:unSign)(currArg&limit,argSize*8)}var currAbsArg=Math.abs(currArg);var prefix="";if(next==100||next==105){argText=reSign(currArg,8*argSize,1).toString(10)}else if(next==117){argText=unSign(currArg,8*argSize,1).toString(10);currArg=Math.abs(currArg)}else if(next==111){argText=(flagAlternative?"0":"")+currAbsArg.toString(8)}else if(next==120||next==88){prefix=flagAlternative&&currArg!=0?"0x":"";if(currArg<0){currArg=-currArg;argText=(currAbsArg-1).toString(16);var buffer=[];for(var i=0;i=0){if(flagAlwaysSigned){prefix="+"+prefix}else if(flagPadSign){prefix=" "+prefix}}if(argText.charAt(0)=="-"){prefix="-"+prefix;argText=argText.substr(1)}while(prefix.length+argText.lengthexponent&&exponent>=-4){next=(next==103?"f":"F").charCodeAt(0);precision-=exponent+1}else{next=(next==103?"e":"E").charCodeAt(0);precision--}effectivePrecision=Math.min(precision,20)}if(next==101||next==69){argText=currArg.toExponential(effectivePrecision);if(/[eE][-+]\d$/.test(argText)){argText=argText.slice(0,-1)+"0"+argText.slice(-1)}}else if(next==102||next==70){argText=currArg.toFixed(effectivePrecision);if(currArg===0&&__reallyNegative(currArg)){argText="-"+argText}}var parts=argText.split("e");if(isGeneral&&!flagAlternative){while(parts[0].length>1&&parts[0].indexOf(".")!=-1&&(parts[0].slice(-1)=="0"||parts[0].slice(-1)==".")){parts[0]=parts[0].slice(0,-1)}}else{if(flagAlternative&&argText.indexOf(".")==-1)parts[0]+=".";while(precision>effectivePrecision++)parts[0]+="0"}argText=parts[0]+(parts.length>1?"e"+parts[1]:"");if(next==69)argText=argText.toUpperCase();if(currArg>=0){if(flagAlwaysSigned){argText="+"+argText}else if(flagPadSign){argText=" "+argText}}}while(argText.length>0])}}else{ret=ret.concat(intArrayFromString("(null)".substr(0,argLength),true))}if(flagLeftAlign){while(argLength0){ret.push(32)}if(!flagLeftAlign)ret.push(getNextArg("i8"));break}case"n":{var ptr=getNextArg("i32*");HEAP32[ptr>>2]=ret.length;break}case"%":{ret.push(curr);break}default:{for(var i=startTextIndex;i>0])}}}textIndex+=2}else{ret.push(curr);textIndex+=1}}return ret}function __emscripten_traverse_stack(args){if(!args||!args.callee||!args.callee.name){return[null,"",""]}var funstr=args.callee.toString();var funcname=args.callee.name;var str="(";var first=true;for(var i in args){var a=args[i];if(!first){str+=", "}first=false;if(typeof a==="number"||typeof a==="string"){str+=a}else{str+="("+typeof a+")"}}str+=")";var caller=args.callee.caller;args=caller?caller.arguments:[];if(first)str="";return[args,funcname,str]}function _emscripten_get_callstack_js(flags){var callstack=jsStackTrace();var iThisFunc=callstack.lastIndexOf("_emscripten_log");var iThisFunc2=callstack.lastIndexOf("_emscripten_get_callstack");var iNextLine=callstack.indexOf("\n",Math.max(iThisFunc,iThisFunc2))+1;callstack=callstack.slice(iNextLine);if(flags&8&&typeof emscripten_source_map==="undefined"){warnOnce('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.');flags^=8;flags|=16}var stack_args=null;if(flags&128){stack_args=__emscripten_traverse_stack(arguments);while(stack_args[1].indexOf("_emscripten_")>=0)stack_args=__emscripten_traverse_stack(stack_args[0])}var lines=callstack.split("\n");callstack="";var newFirefoxRe=new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)");var firefoxRe=new RegExp("\\s*(.*?)@(.*):(.*)(:(.*))?");var chromeRe=new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(var l in lines){var line=lines[l];var jsSymbolName="";var file="";var lineno=0;var column=0;var parts=chromeRe.exec(line);if(parts&&parts.length==5){jsSymbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]}else{parts=newFirefoxRe.exec(line);if(!parts)parts=firefoxRe.exec(line);if(parts&&parts.length>=4){jsSymbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]|0}else{callstack+=line+"\n";continue}}var cSymbolName=flags&32?demangle(jsSymbolName):jsSymbolName;if(!cSymbolName){cSymbolName=jsSymbolName}var haveSourceMap=false;if(flags&8){var orig=emscripten_source_map.originalPositionFor({line:lineno,column:column});haveSourceMap=orig&&orig.source;if(haveSourceMap){if(flags&64){orig.source=orig.source.substring(orig.source.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=" at "+cSymbolName+" ("+orig.source+":"+orig.line+":"+orig.column+")\n"}}if(flags&16||!haveSourceMap){if(flags&64){file=file.substring(file.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=(haveSourceMap?" = "+jsSymbolName:" at "+cSymbolName)+" ("+file+":"+lineno+":"+column+")\n"}if(flags&128&&stack_args[0]){if(stack_args[1]==jsSymbolName&&stack_args[2].length>0){callstack=callstack.replace(/\s+$/,"");callstack+=" with values: "+stack_args[1]+stack_args[2]+"\n"}stack_args=__emscripten_traverse_stack(stack_args[0])}}callstack=callstack.replace(/\s+$/,"");return callstack}function _emscripten_log_js(flags,str){if(flags&24){str=str.replace(/\s+$/,"");str+=(str.length>0?"\n":"")+_emscripten_get_callstack_js(flags)}if(flags&1){if(flags&4){console.error(str)}else if(flags&2){console.warn(str)}else{console.log(str)}}else if(flags&6){err(str)}else{out(str)}}function _emscripten_log(flags,varargs){var format=HEAP32[varargs>>2];varargs+=4;var str="";if(format){var result=__formatString(format,varargs);for(var i=0;i>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}var ___tm_timezone=(stringToUTF8("GMT",262224,4),262224);function _gmtime_r(time,tmPtr){var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getUTCSeconds();HEAP32[tmPtr+4>>2]=date.getUTCMinutes();HEAP32[tmPtr+8>>2]=date.getUTCHours();HEAP32[tmPtr+12>>2]=date.getUTCDate();HEAP32[tmPtr+16>>2]=date.getUTCMonth();HEAP32[tmPtr+20>>2]=date.getUTCFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getUTCDay();HEAP32[tmPtr+36>>2]=0;HEAP32[tmPtr+32>>2]=0;var start=Date.UTC(date.getUTCFullYear(),0,1,0,0,0,0);var yday=(date.getTime()-start)/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+40>>2]=___tm_timezone;return tmPtr}function _init(){window.AudioContext=window.AudioContext||window.webkitAudioContext;var context=new window.AudioContext;if(/(iPhone|iPad|iPod|iOS|Safari)/i.test(navigator.userAgent)){function _unlock(){context.resume();var source=context.createBufferSource();source.buffer=context.createBuffer(1,1,22050);source.connect(context.destination);if(source.noteOn)source.noteOn(0);else source.start(0)}document.addEventListener("mousedown",_unlock,true);document.addEventListener("touchend",_unlock,true)}function H264bsdCanvas(canvas,forceNoGL,contextOptions){this.canvasElement=canvas;this.contextOptions=contextOptions;if(!forceNoGL)this.initContextGL();if(this.contextGL){this.initProgram();this.initBuffers();this.initTextures()}}H264bsdCanvas.prototype.isWebGL=function(){return!!this.contextGL};H264bsdCanvas.prototype.initContextGL=function(){var canvas=this.canvasElement;var gl=null;var validContextNames=["webgl","experimental-webgl","moz-webgl","webkit-3d"];var nameIndex=0;while(!gl&&nameIndex3)return;reconnectCount++;console.warn("ws reconnect after "+(reconnectTime/1e3>>0)+" second");_this.reconnectId=setTimeout(function(){console.log("ws reconnecting :",reconnectCount);reconnectTime*=2;setWebsocket.call(_this)},reconnectTime)};this.ws.onerror=function(){console.warn("ws error")}}setWebsocket.call(this)},close:function(){clearTimeout(this.reconnectId);if(!this.isPlaying)return;console.log("close H5LiverClient");this.isPlaying=false;this.ws.onmessage=null;this.ws.onclose=null;this.ws.onerror=null;this.ws.close();this.ws=null;this.webGLCanvas.clear();this.$close();delete this.timespan},initAudio:function(frameCount,samplerate,channels,outputPtr){var isPlaying=false;var audioBuffers=[];var allFrameCount=frameCount*channels;if(!context)return false;var resampled=samplerate<22050;var audioBuffer=resampled?context.createBuffer(channels,frameCount<<1,samplerate<<1):context.createBuffer(channels,frameCount,samplerate);var audioOutputArray=HEAP16.subarray(outputPtr,outputPtr+allFrameCount);var playNextBuffer=function(){isPlaying=false;if(audioBuffers.length){playAudio(audioBuffers.shift())}if(audioBuffers.length>1)audioBuffers.shift()};var copyAudioOutputArray=resampled?function(target){for(var i=0;i1?function(fromBuffer){for(var channel=0;channel>2)),HEAPU8.subarray(v,v+(w*h>>2))];this.webGLCanvas.drawNextOutputPicture(w,h,this.croppingParams,outputArray)}}else{var outputArray=HEAPU8.subarray(dataPtr,dataPtr+(w*h<<2));this.webGLCanvas.initRGB(w,h);this.draw=function(){this.webGLCanvas.drawNextOutputPicture(w,h,this.croppingParams,outputArray)}}}})}function _llvm_trap(){abort("trap!")}var _llvm_trunc_f64=Math_trunc;function _tzset(){if(_tzset.called)return;_tzset.called=true;HEAP32[__get_timezone()>>2]=(new Date).getTimezoneOffset()*60;var winter=new Date(2e3,0,1);var summer=new Date(2e3,6,1);HEAP32[__get_daylight()>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocate(intArrayFromString(winterName),"i8",ALLOC_NORMAL);var summerNamePtr=allocate(intArrayFromString(summerName),"i8",ALLOC_NORMAL);if(summer.getTimezoneOffset()>2]=winterNamePtr;HEAP32[__get_tzname()+4>>2]=summerNamePtr}else{HEAP32[__get_tzname()>>2]=summerNamePtr;HEAP32[__get_tzname()+4>>2]=winterNamePtr}}function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=new Date(2e3,6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[__get_tzname()+(dst?4:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}var _log=Math_log;function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest)}function _mktime(tmPtr){_tzset();var date=new Date(HEAP32[tmPtr+20>>2]+1900,HEAP32[tmPtr+16>>2],HEAP32[tmPtr+12>>2],HEAP32[tmPtr+8>>2],HEAP32[tmPtr+4>>2],HEAP32[tmPtr>>2],0);var dst=HEAP32[tmPtr+32>>2];var guessedOffset=date.getTimezoneOffset();var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(2e3,6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dstOffset=Math.min(winterOffset,summerOffset);if(dst<0){HEAP32[tmPtr+32>>2]=Number(summerOffset!=winterOffset&&dstOffset==guessedOffset)}else if(dst>0!=(dstOffset==guessedOffset)){var nonDstOffset=Math.max(winterOffset,summerOffset);var trueOffset=dst>0?dstOffset:nonDstOffset;date.setTime(date.getTime()+(trueOffset-guessedOffset)*6e4)}HEAP32[tmPtr+24>>2]=date.getDay();var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;return date.getTime()/1e3|0}function _pthread_cond_destroy(){return 0}function _pthread_cond_init(){return 0}function _pthread_cond_signal(){return 0}function _pthread_cond_wait(){return 0}function _pthread_create(){return 11}function _pthread_join(){}var _sin=Math_sin;function _sysconf(name){switch(name){case 30:return PAGE_SIZE;case 85:var maxHeapSize=2*1024*1024*1024-16777216;maxHeapSize=HEAPU8.length;return maxHeapSize/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:{if(typeof navigator==="object")return navigator["hardwareConcurrency"]||1;return 1}}___setErrNo(22);return-1}var _tan=Math_tan;FS.staticInit();if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}init_emval();PureVirtualError=Module["PureVirtualError"]=extendError(Error,"PureVirtualError");embind_init_charCodes();init_embind();BindingError=Module["BindingError"]=extendError(Error,"BindingError");InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_ClassHandle();init_RegisteredPointer();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");var ASSERTIONS=true;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 intArrayToString(array){var ret=[];for(var i=0;i255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var decodeBase64=typeof atob==="function"?atob:function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i>1;s=((c|0)!=0)<<31>>31;A=e[a+(0-g<<1)>>1]|0;q=e[a+(1-g<<1)>>1]|0;u=((e[a+(s-g<<1)>>1]|0)+2+(A<<1)+q|0)>>>2;n=e[a+(2-g<<1)>>1]|0;A=A+2|0;r=(A+(q<<1)+n|0)>>>2;k=e[a+(3-g<<1)>>1]|0;q=(q+2+(n<<1)+k|0)>>>2;h=e[a+(4-g<<1)>>1]|0;n=(n+2+(k<<1)+h|0)>>>2;c=e[a+(5-g<<1)>>1]|0;k=(k+2+(h<<1)+c|0)>>>2;t=e[a+(6-g<<1)>>1]|0;h=(h+2+(c<<1)+t|0)>>>2;f=e[a+(7-g<<1)>>1]|0;c=(c+2+(t<<1)+f|0)>>>2;f=(t+2+(e[a+((d|0?8:7)-g<<1)>>1]|0)+(f<<1)|0)>>>2;s=e[a+((H(g,s)|0)+-1<<1)>>1]|0;t=e[a+-2>>1]|0;d=e[a+(g+-1<<1)>>1]|0;s=(s+2+(t<<1)+d|0)>>>2;i=g<<1;x=e[a+(i+-1<<1)>>1]|0;v=(t+2+(d<<1)+x|0)>>>2;j=g*3|0;w=e[a+(j+-1<<1)>>1]|0;d=(d+2+(x<<1)+w|0)>>>2;l=g<<2;z=e[a+(l+-1<<1)>>1]|0;x=(x+2+(w<<1)+z|0)>>>2;m=g*5|0;B=e[a+(m+-1<<1)>>1]|0;w=(w+2+(z<<1)+B|0)>>>2;o=g*6|0;y=e[a+(o+-1<<1)>>1]|0;z=(z+2+(B<<1)+y|0)>>>2;p=g*7|0;y=(B+2+(y<<1)+(e[a+(p+-1<<1)>>1]|0)|0)>>>2;t=(A+t+((e[a+(~g<<1)>>1]|0)<<1)|0)>>>2;b[a+(o<<1)>>1]=(x+2+(w<<1)+z|0)>>>2;b[a+(p<<1)>>1]=(w+2+(z<<1)+y|0)>>>2;y=(v+2+(d<<1)+x|0)>>>2&65535;b[a+((o|1)<<1)>>1]=y;b[a+(l<<1)>>1]=y;w=(d+2+(x<<1)+w|0)>>>2&65535;b[a+(p+1<<1)>>1]=w;b[a+(m<<1)>>1]=w;w=((s<<1)+2+v+t|0)>>>2&65535;b[a+(o+2<<1)>>1]=w;b[a+((l|1)<<1)>>1]=w;b[a+(i<<1)>>1]=w;d=(s+2+(v<<1)+d|0)>>>2&65535;b[a+(p+2<<1)>>1]=d;b[a+(m+1<<1)>>1]=d;b[a+(j<<1)>>1]=d;d=u+2|0;s=(d+s+(t<<1)|0)>>>2&65535;b[a+(p+3<<1)>>1]=s;b[a+(m+2<<1)>>1]=s;b[a+(j+1<<1)>>1]=s;b[a+(g<<1)>>1]=s;s=u+1|0;v=(s+t|0)>>>1&65535;b[a+(o+3<<1)>>1]=v;b[a+((l|2)<<1)>>1]=v;b[a+((i|1)<<1)>>1]=v;b[a>>1]=v;t=((u<<1)+2+r+t|0)>>>2&65535;b[a+(p+4<<1)>>1]=t;b[a+(m+3<<1)>>1]=t;b[a+(j+2<<1)>>1]=t;b[a+(g+1<<1)>>1]=t;s=(s+r|0)>>>1&65535;b[a+(o+4<<1)>>1]=s;b[a+((l|3)<<1)>>1]=s;b[a+(i+2<<1)>>1]=s;b[a+2>>1]=s;d=(d+(r<<1)+q|0)>>>2&65535;b[a+(p+5<<1)>>1]=d;b[a+(m+4<<1)>>1]=d;b[a+(j+3<<1)>>1]=d;b[a+(g+2<<1)>>1]=d;d=(r+1+q|0)>>>1&65535;b[a+(o+5<<1)>>1]=d;b[a+(l+4<<1)>>1]=d;b[a+(i+3<<1)>>1]=d;b[a+4>>1]=d;d=(r+2+(q<<1)+n|0)>>>2&65535;b[a+(p+6<<1)>>1]=d;b[a+(m+5<<1)>>1]=d;b[a+(j+4<<1)>>1]=d;b[a+(g+3<<1)>>1]=d;d=(q+1+n|0)>>>1&65535;b[a+(o+6<<1)>>1]=d;b[a+(l+5<<1)>>1]=d;b[a+(i+4<<1)>>1]=d;b[a+6>>1]=d;d=(q+2+(n<<1)+k|0)>>>2&65535;b[a+(p+7<<1)>>1]=d;b[a+(m+6<<1)>>1]=d;b[a+(j+5<<1)>>1]=d;b[a+(g+4<<1)>>1]=d;d=(n+1+k|0)>>>1&65535;b[a+(o+7<<1)>>1]=d;b[a+(l+6<<1)>>1]=d;b[a+(i+5<<1)>>1]=d;b[a+8>>1]=d;d=(n+2+(k<<1)+h|0)>>>2&65535;b[a+(m+7<<1)>>1]=d;b[a+(j+6<<1)>>1]=d;b[a+(g+5<<1)>>1]=d;d=(k+1+h|0)>>>1&65535;b[a+(l+7<<1)>>1]=d;b[a+(i+6<<1)>>1]=d;b[a+10>>1]=d;d=(k+2+(h<<1)+c|0)>>>2&65535;b[a+(j+7<<1)>>1]=d;b[a+(g+6<<1)>>1]=d;d=(h+1+c|0)>>>1&65535;b[a+(i+7<<1)>>1]=d;b[a+12>>1]=d;b[a+(g+7<<1)>>1]=(h+2+(c<<1)+f|0)>>>2;b[a+14>>1]=(c+1+f|0)>>>1;return}function Sr(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;i=f>>1;o=((c|0)!=0)<<31>>31;A=e[a+(0-i<<1)>>1]|0;h=e[a+(1-i<<1)>>1]|0;n=((e[a+(o-i<<1)>>1]|0)+2+(A<<1)+h|0)>>>2;g=e[a+(2-i<<1)>>1]|0;A=A+2|0;j=(A+(h<<1)+g|0)>>>2;c=e[a+(3-i<<1)>>1]|0;h=(h+2+(g<<1)+c|0)>>>2;d=e[a+(4-i<<1)>>1]|0;g=(g+2+(c<<1)+d|0)>>>2;m=e[a+(5-i<<1)>>1]|0;c=(c+2+(d<<1)+m|0)>>>2;f=e[a+(6-i<<1)>>1]|0;d=(d+2+(m<<1)+f|0)>>>2;f=(m+2+(f<<1)+(e[a+(7-i<<1)>>1]|0)|0)>>>2;o=e[a+((H(i,o)|0)+-1<<1)>>1]|0;m=e[a+-2>>1]|0;k=e[a+(i+-1<<1)>>1]|0;o=(o+2+(m<<1)+k|0)>>>2;l=i<<1;t=e[a+(l+-1<<1)>>1]|0;q=(m+2+(k<<1)+t|0)>>>2;p=i*3|0;v=e[a+(p+-1<<1)>>1]|0;k=(k+2+(t<<1)+v|0)>>>2;r=i<<2;x=e[a+(r+-1<<1)>>1]|0;t=(t+2+(v<<1)+x|0)>>>2;s=i*5|0;y=e[a+(s+-1<<1)>>1]|0;v=(v+2+(x<<1)+y|0)>>>2;u=i*6|0;B=e[a+(u+-1<<1)>>1]|0;x=(x+2+(y<<1)+B|0)>>>2;w=i*7|0;z=e[a+(w+-1<<1)>>1]|0;y=(y+2+(B<<1)+z|0)>>>2;z=(B+2+(z*3|0)|0)>>>2;m=(A+m+((e[a+(~i<<1)>>1]|0)<<1)|0)>>>2;b[a+(w<<1)>>1]=(z+1+y|0)>>>1;b[a+(w+1<<1)>>1]=(x+2+z+(y<<1)|0)>>>2;z=(x+1+y|0)>>>1&65535;b[a+(w+2<<1)>>1]=z;b[a+(u<<1)>>1]=z;y=(v+2+(x<<1)+y|0)>>>2&65535;b[a+(w+3<<1)>>1]=y;b[a+((u|1)<<1)>>1]=y;y=(v+1+x|0)>>>1&65535;b[a+(w+4<<1)>>1]=y;b[a+(u+2<<1)>>1]=y;b[a+(s<<1)>>1]=y;x=(t+2+(v<<1)+x|0)>>>2&65535;b[a+(w+5<<1)>>1]=x;b[a+(u+3<<1)>>1]=x;b[a+(s+1<<1)>>1]=x;x=(t+1+v|0)>>>1&65535;b[a+(w+6<<1)>>1]=x;b[a+(u+4<<1)>>1]=x;b[a+(s+2<<1)>>1]=x;b[a+(r<<1)>>1]=x;v=(k+2+(t<<1)+v|0)>>>2&65535;b[a+(w+7<<1)>>1]=v;b[a+(u+5<<1)>>1]=v;b[a+(s+3<<1)>>1]=v;b[a+((r|1)<<1)>>1]=v;v=(k+1+t|0)>>>1&65535;b[a+(u+6<<1)>>1]=v;b[a+(s+4<<1)>>1]=v;b[a+((r|2)<<1)>>1]=v;b[a+(p<<1)>>1]=v;t=(q+2+(k<<1)+t|0)>>>2&65535;b[a+(u+7<<1)>>1]=t;b[a+(s+5<<1)>>1]=t;b[a+((r|3)<<1)>>1]=t;b[a+(p+1<<1)>>1]=t;t=(q+1+k|0)>>>1&65535;b[a+(s+6<<1)>>1]=t;b[a+(r+4<<1)>>1]=t;b[a+(p+2<<1)>>1]=t;b[a+(l<<1)>>1]=t;k=(o+2+(q<<1)+k|0)>>>2&65535;b[a+(s+7<<1)>>1]=k;b[a+(r+5<<1)>>1]=k;b[a+(p+3<<1)>>1]=k;b[a+((l|1)<<1)>>1]=k;k=o+1|0;s=(k+q|0)>>>1&65535;b[a+(r+6<<1)>>1]=s;b[a+(p+4<<1)>>1]=s;b[a+(l+2<<1)>>1]=s;b[a+(i<<1)>>1]=s;q=((o<<1)+2+q+m|0)>>>2&65535;b[a+(r+7<<1)>>1]=q;b[a+(p+5<<1)>>1]=q;b[a+(l+3<<1)>>1]=q;b[a+(i+1<<1)>>1]=q;k=(k+m|0)>>>1&65535;b[a+(p+6<<1)>>1]=k;b[a+(l+4<<1)>>1]=k;b[a+(i+2<<1)>>1]=k;b[a>>1]=k;k=n+2|0;o=(k+o+(m<<1)|0)>>>2&65535;b[a+(p+7<<1)>>1]=o;b[a+(l+5<<1)>>1]=o;b[a+(i+3<<1)>>1]=o;b[a+2>>1]=o;m=((n<<1)+2+j+m|0)>>>2&65535;b[a+(l+6<<1)>>1]=m;b[a+(i+4<<1)>>1]=m;b[a+4>>1]=m;k=(k+(j<<1)+h|0)>>>2&65535;b[a+(l+7<<1)>>1]=k;b[a+(i+5<<1)>>1]=k;b[a+6>>1]=k;j=(j+2+(h<<1)+g|0)>>>2&65535;b[a+(i+6<<1)>>1]=j;b[a+8>>1]=j;h=(h+2+(g<<1)+c|0)>>>2&65535;b[a+(i+7<<1)>>1]=h;b[a+10>>1]=h;b[a+12>>1]=(g+2+(c<<1)+d|0)>>>2;b[a+14>>1]=(c+2+(d<<1)+f|0)>>>2;return}function Tr(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=f>>1;k=e[a+(0-q<<1)>>1]|0;l=e[a+(1-q<<1)>>1]|0;j=((e[a+((((c|0)!=0)<<31>>31)-q<<1)>>1]|0)+2+(k<<1)+l|0)>>>2;m=e[a+(2-q<<1)>>1]|0;k=(k+2+(l<<1)+m|0)>>>2;n=e[a+(3-q<<1)>>1]|0;l=(l+2+(m<<1)+n|0)>>>2;o=e[a+(4-q<<1)>>1]|0;m=(m+2+(n<<1)+o|0)>>>2;p=e[a+(5-q<<1)>>1]|0;n=(n+2+(o<<1)+p|0)>>>2;i=e[a+(6-q<<1)>>1]|0;o=(o+2+(p<<1)+i|0)>>>2;f=e[a+(7-q<<1)>>1]|0;p=(p+2+(i<<1)+f|0)>>>2;h=(d|0)!=0;i=(i+2+(e[a+((h?8:7)-q<<1)>>1]|0)+(f<<1)|0)>>>2;if(h){s=e[a+(8-q<<1)>>1]|0;r=e[a+(9-q<<1)>>1]|0;h=e[a+(10-q<<1)>>1]|0;g=e[a+(11-q<<1)>>1]|0;d=e[a+(12-q<<1)>>1]|0;c=(g+2+(d<<1)+(e[a+(13-q<<1)>>1]|0)|0)>>>2;d=(h+2+(g<<1)+d|0)>>>2;g=(r+2+(h<<1)+g|0)>>>2;h=(s+2+(r<<1)+h|0)>>>2;f=(f+2+(s<<1)+r|0)>>>2}else{c=f;d=f;g=f;h=f}b[a>>1]=(j+1+k|0)>>>1;b[a+(q<<1)>>1]=(j+2+(k<<1)+l|0)>>>2;s=(k+1+l|0)>>>1&65535;b[a+2>>1]=s;t=q<<1;b[a+(t<<1)>>1]=s;s=(k+2+(l<<1)+m|0)>>>2&65535;b[a+(q+1<<1)>>1]=s;j=q*3|0;b[a+(j<<1)>>1]=s;s=(l+1+m|0)>>>1&65535;b[a+4>>1]=s;b[a+((t|1)<<1)>>1]=s;k=q<<2;b[a+(k<<1)>>1]=s;s=(l+2+(m<<1)+n|0)>>>2&65535;b[a+(q+2<<1)>>1]=s;b[a+(j+1<<1)>>1]=s;l=q*5|0;b[a+(l<<1)>>1]=s;s=(m+1+n|0)>>>1&65535;b[a+6>>1]=s;b[a+(t+2<<1)>>1]=s;b[a+((k|1)<<1)>>1]=s;r=q*6|0;b[a+(r<<1)>>1]=s;m=(m+2+(n<<1)+o|0)>>>2&65535;b[a+(q+3<<1)>>1]=m;b[a+(j+2<<1)>>1]=m;b[a+(l+1<<1)>>1]=m;s=q*7|0;b[a+(s<<1)>>1]=m;m=(n+1+o|0)>>>1&65535;b[a+8>>1]=m;b[a+(t+3<<1)>>1]=m;b[a+((k|2)<<1)>>1]=m;b[a+((r|1)<<1)>>1]=m;n=(n+2+(o<<1)+p|0)>>>2&65535;b[a+(q+4<<1)>>1]=n;b[a+(j+3<<1)>>1]=n;b[a+(l+2<<1)>>1]=n;b[a+(s+1<<1)>>1]=n;n=(o+1+p|0)>>>1&65535;b[a+10>>1]=n;b[a+(t+4<<1)>>1]=n;b[a+((k|3)<<1)>>1]=n;b[a+(r+2<<1)>>1]=n;o=(o+2+(p<<1)+i|0)>>>2&65535;b[a+(q+5<<1)>>1]=o;b[a+(j+4<<1)>>1]=o;b[a+(l+3<<1)>>1]=o;b[a+(s+2<<1)>>1]=o;o=(p+1+i|0)>>>1&65535;b[a+12>>1]=o;b[a+(t+5<<1)>>1]=o;b[a+(k+4<<1)>>1]=o;b[a+(r+3<<1)>>1]=o;p=(p+2+(i<<1)+f|0)>>>2&65535;b[a+(q+6<<1)>>1]=p;b[a+(j+5<<1)>>1]=p;b[a+(l+4<<1)>>1]=p;b[a+(s+3<<1)>>1]=p;p=(i+1+f|0)>>>1&65535;b[a+14>>1]=p;b[a+(t+6<<1)>>1]=p;b[a+(k+5<<1)>>1]=p;b[a+(r+4<<1)>>1]=p;p=(i+2+(f<<1)+h|0)>>>2&65535;b[a+(q+7<<1)>>1]=p;b[a+(j+6<<1)>>1]=p;b[a+(l+5<<1)>>1]=p;b[a+(s+4<<1)>>1]=p;q=(f+1+h|0)>>>1&65535;b[a+(t+7<<1)>>1]=q;b[a+(k+6<<1)>>1]=q;b[a+(r+5<<1)>>1]=q;q=(f+2+(h<<1)+g|0)>>>2&65535;b[a+(j+7<<1)>>1]=q;b[a+(l+6<<1)>>1]=q;b[a+(s+5<<1)>>1]=q;q=(h+1+g|0)>>>1&65535;b[a+(k+7<<1)>>1]=q;b[a+(r+6<<1)>>1]=q;q=(h+2+(g<<1)+d|0)>>>2&65535;b[a+(l+7<<1)>>1]=q;b[a+(s+6<<1)>>1]=q;b[a+(r+7<<1)>>1]=(g+1+d|0)>>>1;b[a+(s+7<<1)>>1]=(g+2+(d<<1)+c|0)>>>2;return}function Ur(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=f>>1;r=e[a+((H(n,((c|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;q=e[a+-2>>1]|0;p=e[a+(n+-1<<1)>>1]|0;r=(r+2+(q<<1)+p|0)>>>2;l=n<<1;o=e[a+(l+-1<<1)>>1]|0;q=(q+2+(p<<1)+o|0)>>>2;j=n*3|0;m=e[a+(j+-1<<1)>>1]|0;p=(p+2+(o<<1)+m|0)>>>2;h=n<<2;k=e[a+(h+-1<<1)>>1]|0;o=(o+2+(m<<1)+k|0)>>>2;g=n*5|0;i=e[a+(g+-1<<1)>>1]|0;m=(m+2+(k<<1)+i|0)>>>2;c=n*6|0;s=e[a+(c+-1<<1)>>1]|0;k=(k+2+(i<<1)+s|0)>>>2;f=n*7|0;d=e[a+(f+-1<<1)>>1]|0;i=(i+2+(s<<1)+d|0)>>>2;d=(s+2+(d*3|0)|0)>>>2;b[a>>1]=(r+1+q|0)>>>1;b[a+2>>1]=(r+2+(q<<1)+p|0)>>>2;r=(q+1+p|0)>>>1&65535;b[a+4>>1]=r;b[a+(n<<1)>>1]=r;q=(q+2+(p<<1)+o|0)>>>2&65535;b[a+6>>1]=q;b[a+(n+1<<1)>>1]=q;q=(p+1+o|0)>>>1&65535;b[a+8>>1]=q;b[a+(n+2<<1)>>1]=q;b[a+(l<<1)>>1]=q;p=(p+2+(o<<1)+m|0)>>>2&65535;b[a+10>>1]=p;b[a+(n+3<<1)>>1]=p;b[a+((l|1)<<1)>>1]=p;p=(o+1+m|0)>>>1&65535;b[a+12>>1]=p;b[a+(n+4<<1)>>1]=p;b[a+(l+2<<1)>>1]=p;b[a+(j<<1)>>1]=p;o=(o+2+(m<<1)+k|0)>>>2&65535;b[a+14>>1]=o;b[a+(n+5<<1)>>1]=o;b[a+(l+3<<1)>>1]=o;b[a+(j+1<<1)>>1]=o;o=(m+1+k|0)>>>1&65535;b[a+(n+6<<1)>>1]=o;b[a+(l+4<<1)>>1]=o;b[a+(j+2<<1)>>1]=o;b[a+(h<<1)>>1]=o;m=(m+2+(k<<1)+i|0)>>>2&65535;b[a+(n+7<<1)>>1]=m;b[a+(l+5<<1)>>1]=m;b[a+(j+3<<1)>>1]=m;b[a+((h|1)<<1)>>1]=m;m=(k+1+i|0)>>>1&65535;b[a+(l+6<<1)>>1]=m;b[a+(j+4<<1)>>1]=m;b[a+((h|2)<<1)>>1]=m;b[a+(g<<1)>>1]=m;k=(k+2+d+(i<<1)|0)>>>2&65535;b[a+(l+7<<1)>>1]=k;b[a+(j+5<<1)>>1]=k;b[a+((h|3)<<1)>>1]=k;b[a+(g+1<<1)>>1]=k;k=(d+1+i|0)>>>1&65535;b[a+(j+6<<1)>>1]=k;b[a+(h+4<<1)>>1]=k;b[a+(g+2<<1)>>1]=k;b[a+(c<<1)>>1]=k;i=(i+2+(d*3|0)|0)>>>2&65535;b[a+(j+7<<1)>>1]=i;b[a+(h+5<<1)>>1]=i;b[a+(g+3<<1)>>1]=i;b[a+((c|1)<<1)>>1]=i;d=d&65535;b[a+(f+7<<1)>>1]=d;b[a+(c+7<<1)>>1]=d;b[a+(g+7<<1)>>1]=d;b[a+(h+7<<1)>>1]=d;b[a+(f+6<<1)>>1]=d;b[a+(c+6<<1)>>1]=d;b[a+(g+6<<1)>>1]=d;b[a+(h+6<<1)>>1]=d;b[a+(f+5<<1)>>1]=d;b[a+(c+5<<1)>>1]=d;b[a+(g+5<<1)>>1]=d;b[a+(f+4<<1)>>1]=d;b[a+(c+4<<1)>>1]=d;b[a+(g+4<<1)>>1]=d;b[a+(f+3<<1)>>1]=d;b[a+(c+3<<1)>>1]=d;b[a+(f+2<<1)>>1]=d;b[a+(c+2<<1)>>1]=d;b[a+(f+1<<1)>>1]=d;b[a+(f<<1)>>1]=d;return}function Vr(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=f>>1;m=e[a+((H(h,((b|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;l=e[a+-2>>1]|0;k=e[a+(h+-1<<1)>>1]|0;j=e[a+((h<<1)+-1<<1)>>1]|0;i=e[a+((h*3|0)+-1<<1)>>1]|0;d=e[a+((h<<2)+-1<<1)>>1]|0;f=e[a+((h*5|0)+-1<<1)>>1]|0;g=e[a+((h*6|0)+-1<<1)>>1]|0;b=e[a+((h*7|0)+-1<<1)>>1]|0;b=((m+2+(l<<1)+k|0)>>>2)+4+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+d|0)>>>2)+((i+2+(d<<1)+f|0)>>>2)+((d+2+(f<<1)+g|0)>>>2)+((f+2+(g<<1)+b|0)>>>2)+((g+2+(b*3|0)|0)>>>2)>>3;b=OW(b|0,((b|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;f=0;d=a;while(1){if((f|0)==8)break;m=d;c[m>>2]=b;c[m+4>>2]=g;m=d+8|0;c[m>>2]=b;c[m+4>>2]=g;f=f+1|0;d=d+(h<<1)|0}return}function Wr(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=f>>1;n=e[a+(0-h<<1)>>1]|0;m=e[a+(1-h<<1)>>1]|0;l=e[a+(2-h<<1)>>1]|0;k=e[a+(3-h<<1)>>1]|0;j=e[a+(4-h<<1)>>1]|0;i=e[a+(5-h<<1)>>1]|0;f=e[a+(6-h<<1)>>1]|0;g=e[a+(7-h<<1)>>1]|0;d=(((e[a+((((b|0)!=0)<<31>>31)-h<<1)>>1]|0)+2+(n<<1)+m|0)>>>2)+4+((n+2+(m<<1)+l|0)>>>2)+((m+2+(l<<1)+k|0)>>>2)+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+f|0)>>>2)+((i+2+(f<<1)+g|0)>>>2)+((f+2+(e[a+((d|0?8:7)-h<<1)>>1]|0)+(g<<1)|0)>>>2)>>3;d=OW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=0;f=a;while(1){if((b|0)==8)break;n=f;c[n>>2]=d;c[n+4>>2]=g;n=f+8|0;c[n>>2]=d;c[n+4>>2]=g;b=b+1|0;f=f+(h<<1)|0}return}function Xr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;d=e>>1;b=0;while(1){if((b|0)==8)break;e=a;c[e>>2]=536879104;c[e+4>>2]=536879104;e=a+8|0;c[e>>2]=536879104;c[e+4>>2]=536879104;b=b+1|0;a=a+(d<<1)|0}return}function Yr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=b>>1;f=a+(0-g<<1)|0;d=f;h=c[d>>2]|0;d=c[d+4>>2]|0;f=f+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;b=0;while(1){if((b|0)==8)break;i=a+((H(b,g)|0)<<1)|0;j=i;c[j>>2]=h;c[j+4>>2]=d;i=i+8|0;c[i>>2]=e;c[i+4>>2]=f;b=b+1|0}return}function Zr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=b>>1;f=a+(0-g<<1)|0;d=f;h=c[d>>2]|0;d=c[d+4>>2]|0;f=f+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;b=0;while(1){if((b|0)==16)break;i=a+((H(b,g)|0)<<1)|0;j=i;c[j>>2]=h;c[j+4>>2]=d;i=i+8|0;c[i>>2]=e;c[i+4>>2]=f;b=b+1|0}return}function _r(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==8)break;f=H(b,d)|0;h=OW(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;f=f+8|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function $r(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==16)break;f=H(b,d)|0;h=OW(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;f=f+8|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function as(a,c){a=a|0;c=c|0;var d=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=c>>1;h=0-q|0;i=a+6+(h<<1)|0;f=a+(q<<2<<1)+-2|0;p=q<<1;d=f+(0-p<<1)|0;o=a+((q*14|0)+-2)|0;p=a+(-2-p)|0;j=(e[f>>1]|0)-(e[d>>1]|0)|0;c=(e[i+2>>1]|0)-(e[i+-2>>1]|0)|0;g=2;while(1){if((g|0)==5)break;n=f+(q<<1)|0;m=d+(h<<1)|0;l=(H((e[i+(g<<1)>>1]|0)-(e[i+(0-g<<1)>>1]|0)|0,g)|0)+c|0;j=(H((e[n>>1]|0)-(e[m>>1]|0)|0,g)|0)+j|0;c=l;d=m;f=n;g=g+1|0}n=(c*17|0)+16>>5;g=(j*17|0)+16>>5;h=n<<1;i=n*3|0;j=n<<2;k=n*5|0;l=n*6|0;m=n*7|0;f=8;d=(H(g+n|0,-3)|0)+16+((e[p+16>>1]|0)+(e[o>>1]|0)<<4)|0;c=a;while(1){if((f|0)<=0)break;a=d>>5;b[c>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+n>>5;b[c+2>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+h>>5;b[c+4>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+i>>5;b[c+6>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+j>>5;b[c+8>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+k>>5;b[c+10>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+l>>5;b[c+12>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+m>>5;b[c+14>>1]=a>>>0<16384?a:0-a>>31&16383;f=f+-1|0;d=d+g|0;c=c+(q<<1)|0}return}function bs(a,c){a=a|0;c=c|0;var d=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=c>>1;l=0-q|0;h=a+6+(l<<1)|0;g=a+(q<<3<<1)+-2|0;f=g+(0-(q<<1)<<1)|0;j=a+((q*22|0)+-2)|0;i=a+((q*6|0)+-2)|0;c=2;d=(e[g>>1]|0)-(e[f>>1]|0)|0;k=(e[h+2>>1]|0)-(e[h+-2>>1]|0)|0;while(1){if((c|0)==5)break;p=g+(q<<1)|0;o=f+(l<<1)|0;n=(H((e[h+(c<<1)>>1]|0)-(e[h+(0-c<<1)>>1]|0)|0,c)|0)+k|0;m=(H((e[p>>1]|0)-(e[o>>1]|0)|0,c)|0)+d|0;c=c+1|0;d=m;k=n;f=o;g=p}c=5;while(1){if((c|0)>=9)break;p=j+(q<<1)|0;o=i+(l<<1)|0;d=(H((e[p>>1]|0)-(e[o>>1]|0)|0,c)|0)+d|0;c=c+1|0;i=o;j=p}p=(k*17|0)+16>>5;g=(d*5|0)+32>>6;h=p*3|0;k=p<<1;l=p<<2;m=p*5|0;n=p*6|0;o=p*7|0;f=16;d=16-h+(H(g,-7)|0)+((e[i+16>>1]|0)+(e[j>>1]|0)<<4)|0;c=a;while(1){if((f|0)<=0)break;a=d>>5;b[c>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+p>>5;b[c+2>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+k>>5;b[c+4>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+h>>5;b[c+6>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+l>>5;b[c+8>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+m>>5;b[c+10>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+n>>5;b[c+12>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+o>>5;b[c+14>>1]=a>>>0<16384?a:0-a>>31&16383;f=f+-1|0;d=d+g|0;c=c+(q<<1)|0}return}function cs(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=b>>1;b=0;d=0;f=0;g=0;while(1){if((b|0)==4)break;l=e[a+((H(b,n)|0)+-1<<1)>>1]|0;l=d+l+(e[a+(b-n<<1)>>1]|0)|0;m=b+4|0;b=b+1|0;d=l;f=f+(e[a+(m-n<<1)>>1]|0)|0;g=g+(e[a+((H(m,n)|0)+-1<<1)>>1]|0)|0}d=d+4>>3;d=OW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;h=M()|0;i=f+2>>2;i=OW(i|0,((i|0)<0)<<31>>31|0,65537,65537)|0;j=M()|0;k=g+2>>2;l=((k|0)<0)<<31>>31;f=g+4+f>>3;m=((f|0)<0)<<31>>31;b=0;while(1){if((b|0)==4)break;g=a+((H(b,n)|0)<<1)|0;o=g;c[o>>2]=d;c[o+4>>2]=h;g=g+8|0;c[g>>2]=i;c[g+4>>2]=j;b=b+1|0}g=OW(k|0,l|0,65537,65537)|0;h=M()|0;d=OW(f|0,m|0,65537,65537)|0;f=M()|0;b=4;while(1){if((b|0)==8)break;o=a+((H(b,n)|0)<<1)|0;m=o;c[m>>2]=g;c[m+4>>2]=h;o=o+8|0;c[o>>2]=d;c[o+4>>2]=f;b=b+1|0}return}function ds(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;i=b>>1;b=0;d=0;f=0;while(1){if((b|0)==4)break;g=d+(e[a+((H(b,i)|0)+-1<<1)>>1]|0)|0;h=f+(e[a+((H(b+4|0,i)|0)+-1<<1)>>1]|0)|0;b=b+1|0;d=g;f=h}g=d+2>>2;g=OW(g|0,((g|0)<0)<<31>>31|0,65537,65537)|0;h=M()|0;d=f+2>>2;f=((d|0)<0)<<31>>31;b=0;while(1){if((b|0)==4)break;j=a+((H(b,i)|0)<<1)|0;k=j;c[k>>2]=g;c[k+4>>2]=h;j=j+8|0;c[j>>2]=g;c[j+4>>2]=h;b=b+1|0}d=OW(d|0,f|0,65537,65537)|0;f=M()|0;b=4;while(1){if((b|0)==8)break;k=a+((H(b,i)|0)<<1)|0;j=k;c[j>>2]=d;c[j+4>>2]=f;k=k+8|0;c[k>>2]=d;c[k+4>>2]=f;b=b+1|0}return}function es(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;j=b>>1;f=4-j|0;b=0;d=0;g=0;while(1){if((b|0)==4)break;h=d+(e[a+(b-j<<1)>>1]|0)|0;i=g+(e[a+(f+b<<1)>>1]|0)|0;b=b+1|0;d=h;g=i}h=d+2>>2;h=OW(h|0,((h|0)<0)<<31>>31|0,65537,65537)|0;i=M()|0;d=g+2>>2;d=OW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;f=M()|0;b=0;while(1){if((b|0)==4){b=4;break}g=a+((H(b,j)|0)<<1)|0;k=g;c[k>>2]=h;c[k+4>>2]=i;g=g+8|0;c[g>>2]=d;c[g+4>>2]=f;b=b+1|0}while(1){if((b|0)==8)break;k=a+((H(b,j)|0)<<1)|0;g=k;c[g>>2]=h;c[g+4>>2]=i;k=k+8|0;c[k>>2]=d;c[k+4>>2]=f;b=b+1|0}return}function fs(a,b){a=a|0;b=b|0;es(a,b);Ar(a,0,b);return}function gs(a,b){a=a|0;b=b|0;cs(a,b);Kr(a,0,b);return}function hs(a,b){a=a|0;b=b|0;ds(a,b);a=a+(b<<2)|0;Lr(a,0,b);Lr(a+8|0,0,b);return}function is(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=b>>1;b=0;d=0;h=0;f=0;g=0;i=0;while(1){if((b|0)==4)break;t=e[a+((H(b,y)|0)+-1<<1)>>1]|0;t=d+t+(e[a+(b-y<<1)>>1]|0)|0;u=b+4|0;v=f+(e[a+((H(u,y)|0)+-1<<1)>>1]|0)|0;w=g+(e[a+((H(b+8|0,y)|0)+-1<<1)>>1]|0)|0;x=i+(e[a+((H(b+12|0,y)|0)+-1<<1)>>1]|0)|0;b=b+1|0;d=t;h=h+(e[a+(u-y<<1)>>1]|0)|0;f=v;g=w;i=x}d=d+4>>3;d=OW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;j=M()|0;k=h+2>>2;k=OW(k|0,((k|0)<0)<<31>>31|0,65537,65537)|0;l=M()|0;m=f+2>>2;n=((m|0)<0)<<31>>31;f=f+4+h>>3;o=((f|0)<0)<<31>>31;r=g+2>>2;s=((r|0)<0)<<31>>31;g=g+4+h>>3;t=((g|0)<0)<<31>>31;u=i+2>>2;v=((u|0)<0)<<31>>31;w=i+4+h>>3;x=((w|0)<0)<<31>>31;b=0;while(1){if((b|0)==4)break;q=a+((H(b,y)|0)<<1)|0;p=q;c[p>>2]=d;c[p+4>>2]=j;q=q+8|0;c[q>>2]=k;c[q+4>>2]=l;b=b+1|0}p=OW(m|0,n|0,65537,65537)|0;q=M()|0;m=OW(f|0,o|0,65537,65537)|0;n=M()|0;k=OW(r|0,s|0,65537,65537)|0;l=M()|0;i=OW(g|0,t|0,65537,65537)|0;j=M()|0;g=OW(u|0,v|0,65537,65537)|0;h=M()|0;d=OW(w|0,x|0,65537,65537)|0;f=M()|0;b=4;while(1){if((b|0)==8){b=8;break}x=a+((H(b,y)|0)<<1)|0;w=x;c[w>>2]=p;c[w+4>>2]=q;x=x+8|0;c[x>>2]=m;c[x+4>>2]=n;b=b+1|0}while(1){if((b|0)==12){b=12;break}x=a+((H(b,y)|0)<<1)|0;w=x;c[w>>2]=k;c[w+4>>2]=l;x=x+8|0;c[x>>2]=i;c[x+4>>2]=j;b=b+1|0}while(1){if((b|0)==16)break;x=a+((H(b,y)|0)<<1)|0;w=x;c[w>>2]=g;c[w+4>>2]=h;x=x+8|0;c[x>>2]=d;c[x+4>>2]=f;b=b+1|0}return}function js(a,b){a=a|0;b=b|0;ds(a,b);ds(a+(b<<3)|0,b);return}function ks(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;j=b>>1;f=4-j|0;b=0;d=0;g=0;while(1){if((b|0)==4)break;h=d+(e[a+(b-j<<1)>>1]|0)|0;i=g+(e[a+(f+b<<1)>>1]|0)|0;b=b+1|0;d=h;g=i}h=d+2>>2;h=OW(h|0,((h|0)<0)<<31>>31|0,65537,65537)|0;i=M()|0;d=g+2>>2;d=OW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;f=M()|0;b=0;while(1){if((b|0)==16)break;g=a+((H(b,j)|0)<<1)|0;k=g;c[k>>2]=h;c[k+4>>2]=i;g=g+8|0;c[g>>2]=d;c[g+4>>2]=f;b=b+1|0}return}function ls(a,b){a=a|0;b=b|0;ks(a,b);Ar(a,0,b);return}function ms(a,b){a=a|0;b=b|0;is(a,b);Kr(a,0,b);return}function ns(a,b){a=a|0;b=b|0;js(a,b);a=a+(b<<2)|0;Lr(a,0,b);Lr(a+8|0,0,b);return}function os(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=536813567;c[f+4>>2]=536813567;e=e+8|0;c[e>>2]=536813567;c[e+4>>2]=536813567;b=b+1|0}return}function ps(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=536944641;c[f+4>>2]=536944641;e=e+8|0;c[e>>2]=536944641;c[e+4>>2]=536944641;b=b+1|0}return}function qs(a,b){a=a|0;b=b|0;js(a,b);Lr(a,0,b);Lr(a+8|0,0,b);return}function rs(a,b){a=a|0;b=b|0;ds(a,b);Lr(a,0,b);Lr(a+8|0,0,b);return}function ss(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=536879104;c[f+4>>2]=536879104;e=e+8|0;c[e>>2]=536879104;c[e+4>>2]=536879104;b=b+1|0}return}function ts(a,b){a=a|0;b=b|0;ss(a,b);ss(a+(b<<3)|0,b);return}function us(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16){d=0;break}b=b+(e[a+((H(d,h)|0)+-1<<1)>>1]|0)|0;d=d+1|0}while(1){if((d|0)==16)break;b=b+(e[a+(d-h<<1)>>1]|0)|0;d=d+1|0}f=b+16>>5;f=OW(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function vs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=b>>1;k=a+(0-g<<1)|0;d=k;l=c[d>>2]|0;d=c[d+4>>2]|0;f=k+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;i=k+16|0;h=c[i>>2]|0;i=c[i+4>>2]|0;k=k+24|0;j=c[k>>2]|0;k=c[k+4>>2]|0;b=0;while(1){if((b|0)==16)break;m=a+((H(b,g)|0)<<1)|0;n=m;c[n>>2]=l;c[n+4>>2]=d;n=m+8|0;c[n>>2]=e;c[n+4>>2]=f;n=m+16|0;c[n>>2]=h;c[n+4>>2]=i;m=m+24|0;c[m>>2]=j;c[m+4>>2]=k;b=b+1|0}return}function ws(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==16)break;f=H(b,d)|0;h=OW(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;i=f+8|0;c[i>>2]=h;c[i+4>>2]=g;i=f+16|0;c[i>>2]=h;c[i+4>>2]=g;f=f+24|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function xs(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=536813567;c[e+4>>2]=536813567;e=b+8|0;c[e>>2]=536813567;c[e+4>>2]=536813567;e=b+16|0;c[e>>2]=536813567;c[e+4>>2]=536813567;e=b+24|0;c[e>>2]=536813567;c[e+4>>2]=536813567;b=b+(d<<1)|0;a=a+1|0}return}function ys(a,b){a=a|0;b=b|0;lu(a,b);return}function zs(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=536944641;c[e+4>>2]=536944641;e=b+8|0;c[e>>2]=536944641;c[e+4>>2]=536944641;e=b+16|0;c[e>>2]=536944641;c[e+4>>2]=536944641;e=b+24|0;c[e>>2]=536944641;c[e+4>>2]=536944641;b=b+(d<<1)|0;a=a+1|0}return}function As(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16)break;b=b+(e[a+((H(d,h)|0)+-1<<1)>>1]|0)|0;d=d+1|0}f=b+8>>4;f=OW(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function Bs(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16)break;b=b+(e[a+(d-h<<1)>>1]|0)|0;d=d+1|0}f=b+8>>4;f=OW(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function Cs(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=536879104;c[e+4>>2]=536879104;e=b+8|0;c[e>>2]=536879104;c[e+4>>2]=536879104;e=b+16|0;c[e>>2]=536879104;c[e+4>>2]=536879104;e=b+24|0;c[e>>2]=536879104;c[e+4>>2]=536879104;b=b+(d<<1)|0;a=a+1|0}return}function Ds(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;h=f>>1;i=h<<1;j=h*3|0;k=h<<2;g=d;f=a+(0-h<<1)|0;a=0;while(1){if((a|0)==4)break;l=(c[g>>2]|0)+(e[f>>1]|0)|0;b[f+(h<<1)>>1]=l;l=(c[g+16>>2]|0)+l|0;b[f+(i<<1)>>1]=l;l=(c[g+32>>2]|0)+l|0;b[f+(j<<1)>>1]=l;b[f+(k<<1)>>1]=(c[g+48>>2]|0)+l;g=g+4|0;f=f+2|0;a=a+1|0}f=d+64|0;do{b[d>>1]=0;d=d+2|0}while((d|0)<(f|0));return}function Es(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0;h=f>>1;g=d;f=a;a=0;while(1){if((a|0)==4)break;i=(c[g>>2]|0)+(e[f+-2>>1]|0)|0;b[f>>1]=i;i=(c[g+4>>2]|0)+i|0;b[f+2>>1]=i;i=(c[g+8>>2]|0)+i|0;b[f+4>>1]=i;b[f+6>>1]=(c[g+12>>2]|0)+i;g=g+16|0;f=f+(h<<1)|0;a=a+1|0}f=d+64|0;do{b[d>>1]=0;d=d+2|0}while((d|0)<(f|0));return}function Fs(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=f>>1;l=k<<1;m=k*3|0;n=k<<2;o=k*5|0;h=k*6|0;i=k*7|0;j=k<<3;g=d;f=a+(0-k<<1)|0;a=0;while(1){if((a|0)==8)break;p=(c[g>>2]|0)+(e[f>>1]|0)|0;b[f+(k<<1)>>1]=p;p=(c[g+32>>2]|0)+p|0;b[f+(l<<1)>>1]=p;p=(c[g+64>>2]|0)+p|0;b[f+(m<<1)>>1]=p;p=(c[g+96>>2]|0)+p|0;b[f+(n<<1)>>1]=p;p=(c[g+128>>2]|0)+p|0;b[f+(o<<1)>>1]=p;p=(c[g+160>>2]|0)+p|0;b[f+(h<<1)>>1]=p;p=(c[g+192>>2]|0)+p|0;b[f+(i<<1)>>1]=p;b[f+(j<<1)>>1]=(c[g+224>>2]|0)+p;g=g+4|0;f=f+2|0;a=a+1|0}ZW(d|0,0,256)|0;return}function Gs(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0;h=f>>1;g=d;f=a;a=0;while(1){if((a|0)==8)break;i=(c[g>>2]|0)+(e[f+-2>>1]|0)|0;b[f>>1]=i;i=(c[g+4>>2]|0)+i|0;b[f+2>>1]=i;i=(c[g+8>>2]|0)+i|0;b[f+4>>1]=i;i=(c[g+12>>2]|0)+i|0;b[f+6>>1]=i;i=(c[g+16>>2]|0)+i|0;b[f+8>>1]=i;i=(c[g+20>>2]|0)+i|0;b[f+10>>1]=i;i=(c[g+24>>2]|0)+i|0;b[f+12>>1]=i;b[f+14>>1]=(c[g+28>>2]|0)+i;g=g+32|0;f=f+(h<<1)|0;a=a+1|0}ZW(d|0,0,256)|0;return}function Hs(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);p=q;o=h>>1;s=e[a+(0-o<<1)>>1]|0;r=e[a+(1-o<<1)>>1]|0;h=e[a+(2-o<<1)>>1]|0;n=e[a+(3-o<<1)>>1]|0;m=e[a+(4-o<<1)>>1]|0;l=e[a+(5-o<<1)>>1]|0;k=e[a+(6-o<<1)>>1]|0;j=e[a+(7-o<<1)>>1]|0;i=(k+2+(e[a+((g|0?8:7)-o<<1)>>1]|0)+(j<<1)|0)>>>2;b[p>>1]=((e[a+((((f|0)!=0)<<31>>31)-o<<1)>>1]|0)+2+(s<<1)+r|0)>>>2;b[p+2>>1]=(s+2+(r<<1)+h|0)>>>2;b[p+4>>1]=(r+2+(h<<1)+n|0)>>>2;b[p+6>>1]=(h+2+(n<<1)+m|0)>>>2;b[p+8>>1]=(n+2+(m<<1)+l|0)>>>2;b[p+10>>1]=(m+2+(l<<1)+k|0)>>>2;b[p+12>>1]=(l+2+(k<<1)+j|0)>>>2;b[p+14>>1]=i;i=o<<1;j=o*3|0;k=o<<2;l=o*5|0;m=o*6|0;n=o*7|0;g=0;h=a;f=d;while(1){if((g|0)==8)break;s=(c[f>>2]|0)+(e[p+(g<<1)>>1]|0)|0;b[h>>1]=s;s=(c[f+32>>2]|0)+s|0;b[h+(o<<1)>>1]=s;s=(c[f+64>>2]|0)+s|0;b[h+(i<<1)>>1]=s;s=(c[f+96>>2]|0)+s|0;b[h+(j<<1)>>1]=s;s=(c[f+128>>2]|0)+s|0;b[h+(k<<1)>>1]=s;s=(c[f+160>>2]|0)+s|0;b[h+(l<<1)>>1]=s;s=(c[f+192>>2]|0)+s|0;b[h+(m<<1)>>1]=s;b[h+(n<<1)>>1]=(c[f+224>>2]|0)+s;g=g+1|0;h=h+2|0;f=f+4|0}ZW(d|0,0,256)|0;$c=q;return}function Is(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;k=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);j=k;i=h>>1;q=e[a+((H(i,((f|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;p=e[a+-2>>1]|0;o=e[a+(i+-1<<1)>>1]|0;n=e[a+((i<<1)+-1<<1)>>1]|0;m=e[a+((i*3|0)+-1<<1)>>1]|0;l=e[a+((i<<2)+-1<<1)>>1]|0;h=e[a+((i*5|0)+-1<<1)>>1]|0;g=e[a+((i*6|0)+-1<<1)>>1]|0;f=e[a+((i*7|0)+-1<<1)>>1]|0;b[j>>1]=(q+2+(p<<1)+o|0)>>>2;b[j+2>>1]=(p+2+(o<<1)+n|0)>>>2;b[j+4>>1]=(o+2+(n<<1)+m|0)>>>2;b[j+6>>1]=(n+2+(m<<1)+l|0)>>>2;b[j+8>>1]=(m+2+(l<<1)+h|0)>>>2;b[j+10>>1]=(l+2+(h<<1)+g|0)>>>2;b[j+12>>1]=(h+2+(g<<1)+f|0)>>>2;b[j+14>>1]=(g+2+(f*3|0)|0)>>>2;f=0;g=a;h=d;while(1){if((f|0)==8)break;q=(c[h>>2]|0)+(e[j+(f<<1)>>1]|0)|0;b[g>>1]=q;q=(c[h+4>>2]|0)+q|0;b[g+2>>1]=q;q=(c[h+8>>2]|0)+q|0;b[g+4>>1]=q;q=(c[h+12>>2]|0)+q|0;b[g+6>>1]=q;q=(c[h+16>>2]|0)+q|0;b[g+8>>1]=q;q=(c[h+20>>2]|0)+q|0;b[g+10>>1]=q;q=(c[h+24>>2]|0)+q|0;b[g+12>>1]=q;b[g+14>>1]=(c[h+28>>2]|0)+q;f=f+1|0;g=g+(i<<1)|0;h=h+32|0}ZW(d|0,0,256)|0;$c=k;return}function Js(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;Ds(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function Ks(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4){f=4;break}Ds(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}while(1){if((f|0)==8)break;Ds(a+(c[b+(f+4<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function Ls(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;Es(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function Ms(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4){f=4;break}Es(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}while(1){if((f|0)==8)break;Es(a+(c[b+(f+4<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function Ns(a,b,d){a=a|0;b=b|0;d=d|0;b=c[a+(0-d)>>2]|0;c[a>>2]=b;c[a+d>>2]=b;c[a+(d<<1)>>2]=b;c[a+(d*3|0)>>2]=b;return}function Os(a,b,e){a=a|0;b=b|0;e=e|0;c[a>>2]=H(d[a+-1>>0]|0,16843009)|0;c[a+e>>2]=H(d[a+(e+-1)>>0]|0,16843009)|0;b=e<<1;c[a+b>>2]=H(d[a+(b+-1)>>0]|0,16843009)|0;e=e*3|0;c[a+e>>2]=H(d[a+(e+-1)>>0]|0,16843009)|0;return}function Ps(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0;g=e<<1;b=e*3|0;f=H((d[a+(0-e)>>0]|0)+4+(d[a+(1-e)>>0]|0)+(d[a+(2-e)>>0]|0)+(d[a+(3-e)>>0]|0)+(d[a+-1>>0]|0)+(d[a+(e+-1)>>0]|0)+(d[a+(g+-1)>>0]|0)+(d[a+(b+-1)>>0]|0)>>3,16843009)|0;c[a>>2]=f;c[a+e>>2]=f;c[a+g>>2]=f;c[a+b>>2]=f;return}function Qs(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=d[b+(1-e)>>0]|0;h=d[b+(2-e)>>0]|0;k=d[b+(3-e)>>0]|0;j=d[c>>0]|0;i=d[c+1>>0]|0;g=d[c+2>>0]|0;f=d[c+3>>0]|0;a[b>>0]=((d[b+(0-e)>>0]|0)+2+h+(l<<1)|0)>>>2;c=(l+2+k+(h<<1)|0)>>>2&255;a[b+e>>0]=c;a[b+1>>0]=c;c=(h+2+j+(k<<1)|0)>>>2&255;h=e<<1;a[b+h>>0]=c;a[b+(e+1)>>0]=c;a[b+2>>0]=c;k=(k+2+i+(j<<1)|0)>>>2&255;c=e*3|0;a[b+c>>0]=k;a[b+(h|1)>>0]=k;a[b+(e+2)>>0]=k;a[b+3>>0]=k;j=(j+2+g+(i<<1)|0)>>>2&255;a[b+(c+1)>>0]=j;a[b+(h+2)>>0]=j;a[b+(e+3)>>0]=j;e=(i+2+f+(g<<1)|0)>>>2&255;a[b+(c+2)>>0]=e;a[b+(h+3)>>0]=e;a[b+(c+3)>>0]=(g+2+(f*3|0)|0)>>>2;return}function Rs(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=d[b+~e>>0]|0;h=d[b+(0-e)>>0]|0;g=d[b+(1-e)>>0]|0;f=d[b+(2-e)>>0]|0;c=d[b+(3-e)>>0]|0;k=d[b+-1>>0]|0;n=d[b+(e+-1)>>0]|0;j=e<<1;i=d[b+(j+-1)>>0]|0;l=e*3|0;a[b+l>>0]=(n+2+(d[b+(l+-1)>>0]|0)+(i<<1)|0)>>>2;i=(k+2+i+(n<<1)|0)>>>2&255;a[b+(l+1)>>0]=i;a[b+j>>0]=i;i=m+2|0;n=(i+n+(k<<1)|0)>>>2&255;a[b+(l+2)>>0]=n;a[b+(j|1)>>0]=n;a[b+e>>0]=n;k=((m<<1)+2+h+k|0)>>>2&255;a[b+(l+3)>>0]=k;a[b+(j+2)>>0]=k;a[b+(e+1)>>0]=k;a[b>>0]=k;i=(i+(h<<1)+g|0)>>>2&255;a[b+(j+3)>>0]=i;a[b+(e+2)>>0]=i;a[b+1>>0]=i;h=(h+2+(g<<1)+f|0)>>>2&255;a[b+(e+3)>>0]=h;a[b+2>>0]=h;a[b+3>>0]=(g+2+(f<<1)+c|0)>>>2;return}function Ss(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=d[b+~e>>0]|0;n=d[b+(0-e)>>0]|0;m=d[b+(1-e)>>0]|0;l=d[b+(2-e)>>0]|0;k=d[b+(3-e)>>0]|0;h=d[b+-1>>0]|0;g=d[b+(e+-1)>>0]|0;i=e<<1;f=d[b+(i+-1)>>0]|0;c=e*3|0;o=(j+1+n|0)>>>1&255;a[b+(i|1)>>0]=o;a[b>>0]=o;o=(n+1+m|0)>>>1&255;a[b+(i+2)>>0]=o;a[b+1>>0]=o;o=(m+1+l|0)>>>1&255;a[b+(i+3)>>0]=o;a[b+2>>0]=o;a[b+3>>0]=(l+1+k|0)>>>1;o=((j<<1)+2+n+h|0)>>>2&255;a[b+(c+1)>>0]=o;a[b+e>>0]=o;j=j+2|0;o=(j+(n<<1)+m|0)>>>2&255;a[b+(c+2)>>0]=o;a[b+(e+1)>>0]=o;n=(n+2+(m<<1)+l|0)>>>2&255;a[b+(c+3)>>0]=n;a[b+(e+2)>>0]=n;a[b+(e+3)>>0]=(m+2+(l<<1)+k|0)>>>2;a[b+i>>0]=(j+(h<<1)+g|0)>>>2;a[b+c>>0]=(h+2+(g<<1)+f|0)>>>2;return}function Ts(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=d[b+~e>>0]|0;n=d[b+(0-e)>>0]|0;m=d[b+(1-e)>>0]|0;l=d[b+(2-e)>>0]|0;j=d[b+-1>>0]|0;h=d[b+(e+-1)>>0]|0;i=e<<1;g=d[b+(i+-1)>>0]|0;c=e*3|0;f=d[b+(c+-1)>>0]|0;o=(k+1+j|0)>>>1&255;a[b+(e+2)>>0]=o;a[b>>0]=o;o=((k<<1)+2+n+j|0)>>>2&255;a[b+(e+3)>>0]=o;a[b+1>>0]=o;k=k+2|0;a[b+2>>0]=(k+(n<<1)+m|0)>>>2;a[b+3>>0]=(n+2+(m<<1)+l|0)>>>2;l=(j+1+h|0)>>>1&255;a[b+(i+2)>>0]=l;a[b+e>>0]=l;k=(k+(j<<1)+h|0)>>>2&255;a[b+(i+3)>>0]=k;a[b+(e+1)>>0]=k;e=(h+1+g|0)>>>1&255;a[b+(c+2)>>0]=e;a[b+i>>0]=e;e=(j+2+(h<<1)+g|0)>>>2&255;a[b+(c+3)>>0]=e;a[b+(i|1)>>0]=e;a[b+c>>0]=(g+1+f|0)>>>1;a[b+(c+1)>>0]=(h+2+(g<<1)+f|0)>>>2;return}function Us(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=d[b+(0-e)>>0]|0;k=d[b+(1-e)>>0]|0;j=d[b+(2-e)>>0]|0;i=d[b+(3-e)>>0]|0;h=d[c>>0]|0;g=d[c+1>>0]|0;f=d[c+2>>0]|0;a[b>>0]=(l+1+k|0)>>>1;m=(k+1+j|0)>>>1&255;c=e<<1;a[b+c>>0]=m;a[b+1>>0]=m;m=(j+1+i|0)>>>1&255;a[b+(c|1)>>0]=m;a[b+2>>0]=m;m=(i+1+h|0)>>>1&255;a[b+(c+2)>>0]=m;a[b+3>>0]=m;a[b+(c+3)>>0]=(h+1+g|0)>>>1;a[b+e>>0]=(l+2+(k<<1)+j|0)>>>2;k=(k+2+(j<<1)+i|0)>>>2&255;c=e*3|0;a[b+c>>0]=k;a[b+(e+1)>>0]=k;j=(j+2+(i<<1)+h|0)>>>2&255;a[b+(c+1)>>0]=j;a[b+(e+2)>>0]=j;i=(i+2+(h<<1)+g|0)>>>2&255;a[b+(c+2)>>0]=i;a[b+(e+3)>>0]=i;a[b+(c+3)>>0]=(h+2+(g<<1)+f|0)>>>2;return}function Vs(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=d[b+-1>>0]|0;j=d[b+(e+-1)>>0]|0;c=e<<1;i=d[b+(c+-1)>>0]|0;g=e*3|0;f=a[b+(g+-1)>>0]|0;h=f&255;a[b>>0]=(k+1+j|0)>>>1;a[b+1>>0]=(k+2+(j<<1)+i|0)>>>2;k=(j+1+i|0)>>>1&255;a[b+e>>0]=k;a[b+2>>0]=k;j=(j+2+(i<<1)+h|0)>>>2&255;a[b+(e+1)>>0]=j;a[b+3>>0]=j;j=(i+1+h|0)>>>1&255;a[b+c>>0]=j;a[b+(e+2)>>0]=j;h=(i+2+h+(h<<1)|0)>>>2&255;a[b+(c|1)>>0]=h;a[b+(e+3)>>0]=h;a[b+(g+3)>>0]=f;a[b+(g+2)>>0]=f;a[b+(c+2)>>0]=f;a[b+g>>0]=f;a[b+(g+1)>>0]=f;a[b+(c+3)>>0]=f;return}function Ws(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0;g=e<<1;b=e*3|0;f=H(((d[a+-1>>0]|0)+2+(d[a+(e+-1)>>0]|0)+(d[a+(g+-1)>>0]|0)+(d[a+(b+-1)>>0]|0)|0)>>>2,16843009)|0;c[a>>2]=f;c[a+e>>2]=f;c[a+g>>2]=f;c[a+b>>2]=f;return}function Xs(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=2139062143;c[a+d>>2]=2139062143;c[a+(d<<1)>>2]=2139062143;c[a+(d*3|0)>>2]=2139062143;return}function Ys(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=-2122219135;c[a+d>>2]=-2122219135;c[a+(d<<1)>>2]=-2122219135;c[a+(d*3|0)>>2]=-2122219135;return}function Zs(a,b,e){a=a|0;b=b|0;e=e|0;b=H(((d[a+(0-e)>>0]|0)+2+(d[a+(1-e)>>0]|0)+(d[a+(2-e)>>0]|0)+(d[a+(3-e)>>0]|0)|0)>>>2,16843009)|0;c[a>>2]=b;c[a+e>>2]=b;c[a+(e<<1)>>2]=b;c[a+(e*3|0)>>2]=b;return}function _s(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=-2139062144;c[a+d>>2]=-2139062144;c[a+(d<<1)>>2]=-2139062144;c[a+(d*3|0)>>2]=-2139062144;return}function $s(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=d[b+(0-g)>>0]|0;n=d[b+(1-g)>>0]|0;h=d[b+(2-g)>>0]|0;m=d[b+(3-g)>>0]|0;l=d[b+(4-g)>>0]|0;k=d[b+(5-g)>>0]|0;j=d[b+(6-g)>>0]|0;i=d[b+(7-g)>>0]|0;f=(j+2+(d[b+((f|0?8:7)-g)>>0]|0)+(i<<1)|0)>>>2;a[b>>0]=((d[b+((((e|0)!=0)<<31>>31)-g)>>0]|0)+2+(o<<1)+n|0)>>>2;a[b+1>>0]=(o+2+(n<<1)+h|0)>>>2;a[b+2>>0]=(n+2+(h<<1)+m|0)>>>2;a[b+3>>0]=(h+2+(m<<1)+l|0)>>>2;h=b+4|0;a[h>>0]=(m+2+(l<<1)+k|0)>>>2;a[b+5>>0]=(l+2+(k<<1)+j|0)>>>2;a[b+6>>0]=(k+2+(j<<1)+i|0)>>>2;a[b+7>>0]=f;f=c[b>>2]|0;h=c[h>>2]|0;e=1;while(1){if((e|0)==8)break;o=b+(H(e,g)|0)|0;c[o>>2]=f;c[o+4>>2]=h;e=e+1|0}return}function at(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=d[a+((H(((b|0)!=0)<<31>>31,f)|0)+-1)>>0]|0;r=d[a+-1>>0]|0;p=d[a+(f+-1)>>0]|0;q=f<<1;n=d[a+(q+-1)>>0]|0;o=f*3|0;l=d[a+(o+-1)>>0]|0;m=f<<2;j=d[a+(m+-1)>>0]|0;k=f*5|0;h=d[a+(k+-1)>>0]|0;i=f*6|0;g=d[a+(i+-1)>>0]|0;b=f*7|0;e=d[a+(b+-1)>>0]|0;s=H((s+2+(r<<1)+p|0)>>>2,16843009)|0;c[a>>2]=s;c[a+4>>2]=s;r=H((r+2+(p<<1)+n|0)>>>2,16843009)|0;f=a+f|0;c[f>>2]=r;c[f+4>>2]=r;p=H((p+2+(n<<1)+l|0)>>>2,16843009)|0;f=a+q|0;c[f>>2]=p;c[f+4>>2]=p;n=H((n+2+(l<<1)+j|0)>>>2,16843009)|0;f=a+o|0;c[f>>2]=n;c[f+4>>2]=n;l=H((l+2+(j<<1)+h|0)>>>2,16843009)|0;f=a+m|0;c[f>>2]=l;c[f+4>>2]=l;j=H((j+2+(h<<1)+g|0)>>>2,16843009)|0;f=a+k|0;c[f>>2]=j;c[f+4>>2]=j;h=H((h+2+(g<<1)+e|0)>>>2,16843009)|0;f=a+i|0;c[f>>2]=h;c[f+4>>2]=h;e=H((g+2+(e*3|0)|0)>>>2,16843009)|0;f=a+b|0;c[f>>2]=e;c[f+4>>2]=e;return}function bt(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;n=((b|0)!=0)<<31>>31;w=d[a+((H(n,f)|0)+-1)>>0]|0;v=d[a+-1>>0]|0;u=d[a+(f+-1)>>0]|0;t=d[a+((f<<1)+-1)>>0]|0;s=d[a+((f*3|0)+-1)>>0]|0;r=d[a+((f<<2)+-1)>>0]|0;q=d[a+((f*5|0)+-1)>>0]|0;p=d[a+((f*6|0)+-1)>>0]|0;o=d[a+((f*7|0)+-1)>>0]|0;m=d[a+(0-f)>>0]|0;l=d[a+(1-f)>>0]|0;k=d[a+(2-f)>>0]|0;j=d[a+(3-f)>>0]|0;i=d[a+(4-f)>>0]|0;h=d[a+(5-f)>>0]|0;g=d[a+(6-f)>>0]|0;b=d[a+(7-f)>>0]|0;e=H(((w+2+(v<<1)+u|0)>>>2)+8+((v+2+(u<<1)+t|0)>>>2)+((u+2+(t<<1)+s|0)>>>2)+((t+2+(s<<1)+r|0)>>>2)+((s+2+(r<<1)+q|0)>>>2)+((r+2+(q<<1)+p|0)>>>2)+((q+2+(p<<1)+o|0)>>>2)+((p+2+(o*3|0)|0)>>>2)+(((d[a+(n-f)>>0]|0)+2+(m<<1)+l|0)>>>2)+((m+2+(l<<1)+k|0)>>>2)+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+h|0)>>>2)+((i+2+(h<<1)+g|0)>>>2)+((h+2+(g<<1)+b|0)>>>2)+((g+2+(d[a+((e|0?8:7)-f)>>0]|0)+(b<<1)|0)>>>2)>>4,16843009)|0;b=0;while(1){if((b|0)==8)break;c[a>>2]=e;c[a+4>>2]=e;b=b+1|0;a=a+f|0}return}function ct(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;p=d[b+(0-f)>>0]|0;q=d[b+(1-f)>>0]|0;t=d[b+(2-f)>>0]|0;r=(p+2+(q<<1)+t|0)>>>2;u=d[b+(3-f)>>0]|0;s=(q+2+(t<<1)+u|0)>>>2;v=d[b+(4-f)>>0]|0;t=(t+2+(u<<1)+v|0)>>>2;w=d[b+(5-f)>>0]|0;u=(u+2+(v<<1)+w|0)>>>2;o=d[b+(6-f)>>0]|0;v=(v+2+(w<<1)+o|0)>>>2;n=d[b+(7-f)>>0]|0;w=(w+2+(o<<1)+n|0)>>>2;m=(e|0)!=0;o=(o+2+(d[b+((m?8:7)-f)>>0]|0)+(n<<1)|0)>>>2;if(m){x=d[b+(8-f)>>0]|0;e=d[b+(9-f)>>0]|0;m=d[b+(10-f)>>0]|0;l=d[b+(11-f)>>0]|0;k=d[b+(12-f)>>0]|0;j=d[b+(13-f)>>0]|0;i=d[b+(14-f)>>0]|0;h=d[b+(15-f)>>0]|0;g=(i+2+(h*3|0)|0)>>>2;h=(j+2+(i<<1)+h|0)>>>2;i=(k+2+(j<<1)+i|0)>>>2;j=(l+2+(k<<1)+j|0)>>>2;k=(m+2+(l<<1)+k|0)>>>2;l=(e+2+(m<<1)+l|0)>>>2;m=(x+2+(e<<1)+m|0)>>>2;e=(n+2+(x<<1)+e|0)>>>2}else{g=n;h=n;i=n;j=n;k=n;l=n;m=n;e=n}a[b>>0]=((((d[b+((((c|0)!=0)<<31>>31)-f)>>0]|0)+2+(p<<1)+q|0)>>>2)+2+(r<<1)+s|0)>>>2;r=(r+2+(s<<1)+t|0)>>>2&255;a[b+1>>0]=r;a[b+f>>0]=r;s=(s+2+(t<<1)+u|0)>>>2&255;a[b+2>>0]=s;a[b+(f+1)>>0]=s;r=f<<1;a[b+r>>0]=s;t=(t+2+(u<<1)+v|0)>>>2&255;a[b+3>>0]=t;a[b+(f+2)>>0]=t;a[b+(r|1)>>0]=t;s=f*3|0;a[b+s>>0]=t;u=(u+2+(v<<1)+w|0)>>>2&255;a[b+4>>0]=u;a[b+(f+3)>>0]=u;a[b+(r+2)>>0]=u;a[b+(s+1)>>0]=u;t=f<<2;a[b+t>>0]=u;v=(v+2+(w<<1)+o|0)>>>2&255;a[b+5>>0]=v;a[b+(f+4)>>0]=v;a[b+(r+3)>>0]=v;a[b+(s+2)>>0]=v;a[b+(t|1)>>0]=v;u=f*5|0;a[b+u>>0]=v;w=(w+2+(o<<1)+e|0)>>>2&255;a[b+6>>0]=w;a[b+(f+5)>>0]=w;a[b+(r+4)>>0]=w;a[b+(s+3)>>0]=w;a[b+(t|2)>>0]=w;a[b+(u+1)>>0]=w;v=f*6|0;a[b+v>>0]=w;w=(o+2+(e<<1)+m|0)>>>2&255;a[b+7>>0]=w;a[b+(f+6)>>0]=w;a[b+(r+5)>>0]=w;a[b+(s+4)>>0]=w;a[b+(t|3)>>0]=w;a[b+(u+2)>>0]=w;a[b+(v|1)>>0]=w;x=f*7|0;a[b+x>>0]=w;w=(e+2+(m<<1)+l|0)>>>2&255;a[b+(f+7)>>0]=w;a[b+(r+6)>>0]=w;a[b+(s+5)>>0]=w;a[b+(t+4)>>0]=w;a[b+(u+3)>>0]=w;a[b+(v+2)>>0]=w;a[b+(x+1)>>0]=w;w=(m+2+(l<<1)+k|0)>>>2&255;a[b+(r+7)>>0]=w;a[b+(s+6)>>0]=w;a[b+(t+5)>>0]=w;a[b+(u+4)>>0]=w;a[b+(v+3)>>0]=w;a[b+(x+2)>>0]=w;w=(l+2+(k<<1)+j|0)>>>2&255;a[b+(s+7)>>0]=w;a[b+(t+6)>>0]=w;a[b+(u+5)>>0]=w;a[b+(v+4)>>0]=w;a[b+(x+3)>>0]=w;w=(k+2+(j<<1)+i|0)>>>2&255;a[b+(t+7)>>0]=w;a[b+(u+6)>>0]=w;a[b+(v+5)>>0]=w;a[b+(x+4)>>0]=w;w=(j+2+(i<<1)+h|0)>>>2&255;a[b+(u+7)>>0]=w;a[b+(v+6)>>0]=w;a[b+(x+5)>>0]=w;w=(i+2+(h<<1)+g|0)>>>2&255;a[b+(v+7)>>0]=w;a[b+(x+6)>>0]=w;a[b+(x+7)>>0]=(h+2+(g*3|0)|0)>>>2;return}function dt(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;t=((c|0)!=0)<<31>>31;C=d[b+(0-f)>>0]|0;k=d[b+(1-f)>>0]|0;s=((d[b+(t-f)>>0]|0)+2+(C<<1)+k|0)>>>2;i=d[b+(2-f)>>0]|0;C=C+2|0;m=(C+(k<<1)+i|0)>>>2;h=d[b+(3-f)>>0]|0;k=(k+2+(i<<1)+h|0)>>>2;g=d[b+(4-f)>>0]|0;i=(i+2+(h<<1)+g|0)>>>2;c=d[b+(5-f)>>0]|0;h=(h+2+(g<<1)+c|0)>>>2;v=d[b+(6-f)>>0]|0;g=(g+2+(c<<1)+v|0)>>>2;q=d[b+(7-f)>>0]|0;c=(c+2+(v<<1)+q|0)>>>2;e=(v+2+(d[b+((e|0?8:7)-f)>>0]|0)+(q<<1)|0)>>>2;t=d[b+((H(t,f)|0)+-1)>>0]|0;q=d[b+-1>>0]|0;v=d[b+(f+-1)>>0]|0;t=(t+2+(q<<1)+v|0)>>>2;j=f<<1;w=d[b+(j+-1)>>0]|0;o=(q+2+(v<<1)+w|0)>>>2;l=f*3|0;x=d[b+(l+-1)>>0]|0;v=(v+2+(w<<1)+x|0)>>>2;n=f<<2;y=d[b+(n+-1)>>0]|0;w=(w+2+(x<<1)+y|0)>>>2;p=f*5|0;z=d[b+(p+-1)>>0]|0;x=(x+2+(y<<1)+z|0)>>>2;r=f*6|0;B=d[b+(r+-1)>>0]|0;y=(y+2+(z<<1)+B|0)>>>2;u=f*7|0;A=d[b+(u+-1)>>0]|0;z=(z+2+(B<<1)+A|0)>>>2;q=(C+q+((d[b+~f>>0]|0)<<1)|0)>>>2;a[b+u>>0]=(y+2+((B+2+(A*3|0)|0)>>>2)+(z<<1)|0)>>>2;z=(x+2+(y<<1)+z|0)>>>2&255;a[b+(u+1)>>0]=z;a[b+r>>0]=z;y=(w+2+(x<<1)+y|0)>>>2&255;a[b+(u+2)>>0]=y;a[b+(r|1)>>0]=y;a[b+p>>0]=y;x=(v+2+(w<<1)+x|0)>>>2&255;a[b+(u+3)>>0]=x;a[b+(r+2)>>0]=x;a[b+(p+1)>>0]=x;a[b+n>>0]=x;w=(o+2+(v<<1)+w|0)>>>2&255;a[b+(u+4)>>0]=w;a[b+(r+3)>>0]=w;a[b+(p+2)>>0]=w;a[b+(n|1)>>0]=w;a[b+l>>0]=w;v=(t+2+(o<<1)+v|0)>>>2&255;a[b+(u+5)>>0]=v;a[b+(r+4)>>0]=v;a[b+(p+3)>>0]=v;a[b+(n|2)>>0]=v;a[b+(l+1)>>0]=v;a[b+j>>0]=v;o=((t<<1)+2+o+q|0)>>>2&255;a[b+(u+6)>>0]=o;a[b+(r+5)>>0]=o;a[b+(p+4)>>0]=o;a[b+(n|3)>>0]=o;a[b+(l+2)>>0]=o;a[b+(j|1)>>0]=o;a[b+f>>0]=o;o=s+2|0;t=(o+t+(q<<1)|0)>>>2&255;a[b+(u+7)>>0]=t;a[b+(r+6)>>0]=t;a[b+(p+5)>>0]=t;a[b+(n+4)>>0]=t;a[b+(l+3)>>0]=t;a[b+(j+2)>>0]=t;a[b+(f+1)>>0]=t;a[b>>0]=t;q=((s<<1)+2+m+q|0)>>>2&255;a[b+(r+7)>>0]=q;a[b+(p+6)>>0]=q;a[b+(n+5)>>0]=q;a[b+(l+4)>>0]=q;a[b+(j+3)>>0]=q;a[b+(f+2)>>0]=q;a[b+1>>0]=q;o=(o+(m<<1)+k|0)>>>2&255;a[b+(p+7)>>0]=o;a[b+(n+6)>>0]=o;a[b+(l+5)>>0]=o;a[b+(j+4)>>0]=o;a[b+(f+3)>>0]=o;a[b+2>>0]=o;m=(m+2+(k<<1)+i|0)>>>2&255;a[b+(n+7)>>0]=m;a[b+(l+6)>>0]=m;a[b+(j+5)>>0]=m;a[b+(f+4)>>0]=m;a[b+3>>0]=m;k=(k+2+(i<<1)+h|0)>>>2&255;a[b+(l+7)>>0]=k;a[b+(j+6)>>0]=k;a[b+(f+5)>>0]=k;a[b+4>>0]=k;i=(i+2+(h<<1)+g|0)>>>2&255;a[b+(j+7)>>0]=i;a[b+(f+6)>>0]=i;a[b+5>>0]=i;h=(h+2+(g<<1)+c|0)>>>2&255;a[b+(f+7)>>0]=h;a[b+6>>0]=h;a[b+7>>0]=(g+2+(c<<1)+e|0)>>>2;return}function et(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;s=((c|0)!=0)<<31>>31;A=d[b+(0-f)>>0]|0;n=d[b+(1-f)>>0]|0;u=((d[b+(s-f)>>0]|0)+2+(A<<1)+n|0)>>>2;k=d[b+(2-f)>>0]|0;A=A+2|0;q=(A+(n<<1)+k|0)>>>2;h=d[b+(3-f)>>0]|0;n=(n+2+(k<<1)+h|0)>>>2;g=d[b+(4-f)>>0]|0;k=(k+2+(h<<1)+g|0)>>>2;c=d[b+(5-f)>>0]|0;h=(h+2+(g<<1)+c|0)>>>2;r=d[b+(6-f)>>0]|0;g=(g+2+(c<<1)+r|0)>>>2;t=d[b+(7-f)>>0]|0;c=(c+2+(r<<1)+t|0)>>>2;e=(r+2+(d[b+((e|0?8:7)-f)>>0]|0)+(t<<1)|0)>>>2;s=d[b+((H(s,f)|0)+-1)>>0]|0;t=d[b+-1>>0]|0;r=d[b+(f+-1)>>0]|0;s=(s+2+(t<<1)+r|0)>>>2;i=f<<1;x=d[b+(i+-1)>>0]|0;v=(t+2+(r<<1)+x|0)>>>2;j=f*3|0;w=d[b+(j+-1)>>0]|0;r=(r+2+(x<<1)+w|0)>>>2;l=f<<2;z=d[b+(l+-1)>>0]|0;x=(x+2+(w<<1)+z|0)>>>2;m=f*5|0;B=d[b+(m+-1)>>0]|0;w=(w+2+(z<<1)+B|0)>>>2;o=f*6|0;y=d[b+(o+-1)>>0]|0;z=(z+2+(B<<1)+y|0)>>>2;p=f*7|0;y=(B+2+(y<<1)+(d[b+(p+-1)>>0]|0)|0)>>>2;t=(A+t+((d[b+~f>>0]|0)<<1)|0)>>>2;a[b+o>>0]=(x+2+(w<<1)+z|0)>>>2;a[b+p>>0]=(w+2+(z<<1)+y|0)>>>2;y=(v+2+(r<<1)+x|0)>>>2&255;a[b+(o|1)>>0]=y;a[b+l>>0]=y;w=(r+2+(x<<1)+w|0)>>>2&255;a[b+(p+1)>>0]=w;a[b+m>>0]=w;w=((s<<1)+2+v+t|0)>>>2&255;a[b+(o+2)>>0]=w;a[b+(l|1)>>0]=w;a[b+i>>0]=w;r=(s+2+(v<<1)+r|0)>>>2&255;a[b+(p+2)>>0]=r;a[b+(m+1)>>0]=r;a[b+j>>0]=r;r=u+2|0;s=(r+s+(t<<1)|0)>>>2&255;a[b+(p+3)>>0]=s;a[b+(m+2)>>0]=s;a[b+(j+1)>>0]=s;a[b+f>>0]=s;s=u+1|0;v=(s+t|0)>>>1&255;a[b+(o+3)>>0]=v;a[b+(l|2)>>0]=v;a[b+(i|1)>>0]=v;a[b>>0]=v;t=((u<<1)+2+q+t|0)>>>2&255;a[b+(p+4)>>0]=t;a[b+(m+3)>>0]=t;a[b+(j+2)>>0]=t;a[b+(f+1)>>0]=t;s=(s+q|0)>>>1&255;a[b+(o+4)>>0]=s;a[b+(l|3)>>0]=s;a[b+(i+2)>>0]=s;a[b+1>>0]=s;r=(r+(q<<1)+n|0)>>>2&255;a[b+(p+5)>>0]=r;a[b+(m+4)>>0]=r;a[b+(j+3)>>0]=r;a[b+(f+2)>>0]=r;r=(q+1+n|0)>>>1&255;a[b+(o+5)>>0]=r;a[b+(l+4)>>0]=r;a[b+(i+3)>>0]=r;a[b+2>>0]=r;q=(q+2+(n<<1)+k|0)>>>2&255;a[b+(p+6)>>0]=q;a[b+(m+5)>>0]=q;a[b+(j+4)>>0]=q;a[b+(f+3)>>0]=q;q=(n+1+k|0)>>>1&255;a[b+(o+6)>>0]=q;a[b+(l+5)>>0]=q;a[b+(i+4)>>0]=q;a[b+3>>0]=q;n=(n+2+(k<<1)+h|0)>>>2&255;a[b+(p+7)>>0]=n;a[b+(m+6)>>0]=n;a[b+(j+5)>>0]=n;a[b+(f+4)>>0]=n;n=(k+1+h|0)>>>1&255;a[b+(o+7)>>0]=n;a[b+(l+6)>>0]=n;a[b+(i+5)>>0]=n;a[b+4>>0]=n;k=(k+2+(h<<1)+g|0)>>>2&255;a[b+(m+7)>>0]=k;a[b+(j+6)>>0]=k;a[b+(f+5)>>0]=k;k=(h+1+g|0)>>>1&255;a[b+(l+7)>>0]=k;a[b+(i+6)>>0]=k;a[b+5>>0]=k;h=(h+2+(g<<1)+c|0)>>>2&255;a[b+(j+7)>>0]=h;a[b+(f+6)>>0]=h;h=(g+1+c|0)>>>1&255;a[b+(i+7)>>0]=h;a[b+6>>0]=h;a[b+(f+7)>>0]=(g+2+(c<<1)+e|0)>>>2;a[b+7>>0]=(c+1+e|0)>>>1;return}function ft(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;o=((c|0)!=0)<<31>>31;A=d[b+(0-f)>>0]|0;i=d[b+(1-f)>>0]|0;n=((d[b+(o-f)>>0]|0)+2+(A<<1)+i|0)>>>2;h=d[b+(2-f)>>0]|0;A=A+2|0;j=(A+(i<<1)+h|0)>>>2;g=d[b+(3-f)>>0]|0;i=(i+2+(h<<1)+g|0)>>>2;c=d[b+(4-f)>>0]|0;h=(h+2+(g<<1)+c|0)>>>2;m=d[b+(5-f)>>0]|0;g=(g+2+(c<<1)+m|0)>>>2;e=d[b+(6-f)>>0]|0;c=(c+2+(m<<1)+e|0)>>>2;e=(m+2+(e<<1)+(d[b+(7-f)>>0]|0)|0)>>>2;o=d[b+((H(o,f)|0)+-1)>>0]|0;m=d[b+-1>>0]|0;k=d[b+(f+-1)>>0]|0;o=(o+2+(m<<1)+k|0)>>>2;l=f<<1;t=d[b+(l+-1)>>0]|0;q=(m+2+(k<<1)+t|0)>>>2;p=f*3|0;v=d[b+(p+-1)>>0]|0;k=(k+2+(t<<1)+v|0)>>>2;r=f<<2;x=d[b+(r+-1)>>0]|0;t=(t+2+(v<<1)+x|0)>>>2;s=f*5|0;y=d[b+(s+-1)>>0]|0;v=(v+2+(x<<1)+y|0)>>>2;u=f*6|0;B=d[b+(u+-1)>>0]|0;x=(x+2+(y<<1)+B|0)>>>2;w=f*7|0;z=d[b+(w+-1)>>0]|0;y=(y+2+(B<<1)+z|0)>>>2;z=(B+2+(z*3|0)|0)>>>2;m=(A+m+((d[b+~f>>0]|0)<<1)|0)>>>2;a[b+w>>0]=(z+1+y|0)>>>1;a[b+(w+1)>>0]=(x+2+z+(y<<1)|0)>>>2;z=(x+1+y|0)>>>1&255;a[b+(w+2)>>0]=z;a[b+u>>0]=z;y=(v+2+(x<<1)+y|0)>>>2&255;a[b+(w+3)>>0]=y;a[b+(u|1)>>0]=y;y=(v+1+x|0)>>>1&255;a[b+(w+4)>>0]=y;a[b+(u+2)>>0]=y;a[b+s>>0]=y;x=(t+2+(v<<1)+x|0)>>>2&255;a[b+(w+5)>>0]=x;a[b+(u+3)>>0]=x;a[b+(s+1)>>0]=x;x=(t+1+v|0)>>>1&255;a[b+(w+6)>>0]=x;a[b+(u+4)>>0]=x;a[b+(s+2)>>0]=x;a[b+r>>0]=x;v=(k+2+(t<<1)+v|0)>>>2&255;a[b+(w+7)>>0]=v;a[b+(u+5)>>0]=v;a[b+(s+3)>>0]=v;a[b+(r|1)>>0]=v;v=(k+1+t|0)>>>1&255;a[b+(u+6)>>0]=v;a[b+(s+4)>>0]=v;a[b+(r|2)>>0]=v;a[b+p>>0]=v;t=(q+2+(k<<1)+t|0)>>>2&255;a[b+(u+7)>>0]=t;a[b+(s+5)>>0]=t;a[b+(r|3)>>0]=t;a[b+(p+1)>>0]=t;t=(q+1+k|0)>>>1&255;a[b+(s+6)>>0]=t;a[b+(r+4)>>0]=t;a[b+(p+2)>>0]=t;a[b+l>>0]=t;k=(o+2+(q<<1)+k|0)>>>2&255;a[b+(s+7)>>0]=k;a[b+(r+5)>>0]=k;a[b+(p+3)>>0]=k;a[b+(l|1)>>0]=k;k=o+1|0;s=(k+q|0)>>>1&255;a[b+(r+6)>>0]=s;a[b+(p+4)>>0]=s;a[b+(l+2)>>0]=s;a[b+f>>0]=s;q=((o<<1)+2+q+m|0)>>>2&255;a[b+(r+7)>>0]=q;a[b+(p+5)>>0]=q;a[b+(l+3)>>0]=q;a[b+(f+1)>>0]=q;k=(k+m|0)>>>1&255;a[b+(p+6)>>0]=k;a[b+(l+4)>>0]=k;a[b+(f+2)>>0]=k;a[b>>0]=k;k=n+2|0;o=(k+o+(m<<1)|0)>>>2&255;a[b+(p+7)>>0]=o;a[b+(l+5)>>0]=o;a[b+(f+3)>>0]=o;a[b+1>>0]=o;m=((n<<1)+2+j+m|0)>>>2&255;a[b+(l+6)>>0]=m;a[b+(f+4)>>0]=m;a[b+2>>0]=m;k=(k+(j<<1)+i|0)>>>2&255;a[b+(l+7)>>0]=k;a[b+(f+5)>>0]=k;a[b+3>>0]=k;j=(j+2+(i<<1)+h|0)>>>2&255;a[b+(f+6)>>0]=j;a[b+4>>0]=j;i=(i+2+(h<<1)+g|0)>>>2&255;a[b+(f+7)>>0]=i;a[b+5>>0]=i;a[b+6>>0]=(h+2+(g<<1)+c|0)>>>2;a[b+7>>0]=(g+2+(c<<1)+e|0)>>>2;return}function gt(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;l=d[b+(0-f)>>0]|0;m=d[b+(1-f)>>0]|0;k=((d[b+((((c|0)!=0)<<31>>31)-f)>>0]|0)+2+(l<<1)+m|0)>>>2;n=d[b+(2-f)>>0]|0;l=(l+2+(m<<1)+n|0)>>>2;o=d[b+(3-f)>>0]|0;m=(m+2+(n<<1)+o|0)>>>2;p=d[b+(4-f)>>0]|0;n=(n+2+(o<<1)+p|0)>>>2;q=d[b+(5-f)>>0]|0;o=(o+2+(p<<1)+q|0)>>>2;j=d[b+(6-f)>>0]|0;p=(p+2+(q<<1)+j|0)>>>2;c=d[b+(7-f)>>0]|0;q=(q+2+(j<<1)+c|0)>>>2;i=(e|0)!=0;j=(j+2+(d[b+((i?8:7)-f)>>0]|0)+(c<<1)|0)>>>2;if(i){s=d[b+(8-f)>>0]|0;r=d[b+(9-f)>>0]|0;i=d[b+(10-f)>>0]|0;h=d[b+(11-f)>>0]|0;g=d[b+(12-f)>>0]|0;e=(h+2+(g<<1)+(d[b+(13-f)>>0]|0)|0)>>>2;g=(i+2+(h<<1)+g|0)>>>2;h=(r+2+(i<<1)+h|0)>>>2;i=(s+2+(r<<1)+i|0)>>>2;c=(c+2+(s<<1)+r|0)>>>2}else{e=c;g=c;h=c;i=c}a[b>>0]=(k+1+l|0)>>>1;a[b+f>>0]=(k+2+(l<<1)+m|0)>>>2;s=(l+1+m|0)>>>1&255;a[b+1>>0]=s;t=f<<1;a[b+t>>0]=s;s=(l+2+(m<<1)+n|0)>>>2&255;a[b+(f+1)>>0]=s;k=f*3|0;a[b+k>>0]=s;s=(m+1+n|0)>>>1&255;a[b+2>>0]=s;a[b+(t|1)>>0]=s;l=f<<2;a[b+l>>0]=s;s=(m+2+(n<<1)+o|0)>>>2&255;a[b+(f+2)>>0]=s;a[b+(k+1)>>0]=s;m=f*5|0;a[b+m>>0]=s;s=(n+1+o|0)>>>1&255;a[b+3>>0]=s;a[b+(t+2)>>0]=s;a[b+(l|1)>>0]=s;r=f*6|0;a[b+r>>0]=s;n=(n+2+(o<<1)+p|0)>>>2&255;a[b+(f+3)>>0]=n;a[b+(k+2)>>0]=n;a[b+(m+1)>>0]=n;s=f*7|0;a[b+s>>0]=n;n=(o+1+p|0)>>>1&255;a[b+4>>0]=n;a[b+(t+3)>>0]=n;a[b+(l|2)>>0]=n;a[b+(r|1)>>0]=n;o=(o+2+(p<<1)+q|0)>>>2&255;a[b+(f+4)>>0]=o;a[b+(k+3)>>0]=o;a[b+(m+2)>>0]=o;a[b+(s+1)>>0]=o;o=(p+1+q|0)>>>1&255;a[b+5>>0]=o;a[b+(t+4)>>0]=o;a[b+(l|3)>>0]=o;a[b+(r+2)>>0]=o;p=(p+2+(q<<1)+j|0)>>>2&255;a[b+(f+5)>>0]=p;a[b+(k+4)>>0]=p;a[b+(m+3)>>0]=p;a[b+(s+2)>>0]=p;p=(q+1+j|0)>>>1&255;a[b+6>>0]=p;a[b+(t+5)>>0]=p;a[b+(l+4)>>0]=p;a[b+(r+3)>>0]=p;q=(q+2+(j<<1)+c|0)>>>2&255;a[b+(f+6)>>0]=q;a[b+(k+5)>>0]=q;a[b+(m+4)>>0]=q;a[b+(s+3)>>0]=q;q=(j+1+c|0)>>>1&255;a[b+7>>0]=q;a[b+(t+6)>>0]=q;a[b+(l+5)>>0]=q;a[b+(r+4)>>0]=q;q=(j+2+(c<<1)+i|0)>>>2&255;a[b+(f+7)>>0]=q;a[b+(k+6)>>0]=q;a[b+(m+5)>>0]=q;a[b+(s+4)>>0]=q;f=(c+1+i|0)>>>1&255;a[b+(t+7)>>0]=f;a[b+(l+6)>>0]=f;a[b+(r+5)>>0]=f;f=(c+2+(i<<1)+h|0)>>>2&255;a[b+(k+7)>>0]=f;a[b+(m+6)>>0]=f;a[b+(s+5)>>0]=f;f=(i+1+h|0)>>>1&255;a[b+(l+7)>>0]=f;a[b+(r+6)>>0]=f;f=(i+2+(h<<1)+g|0)>>>2&255;a[b+(m+7)>>0]=f;a[b+(s+6)>>0]=f;a[b+(r+7)>>0]=(h+1+g|0)>>>1;a[b+(s+7)>>0]=(h+2+(g<<1)+e|0)>>>2;return}function ht(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=d[b+((H(((c|0)!=0)<<31>>31,f)|0)+-1)>>0]|0;q=d[b+-1>>0]|0;p=d[b+(f+-1)>>0]|0;r=(r+2+(q<<1)+p|0)>>>2;l=f<<1;o=d[b+(l+-1)>>0]|0;q=(q+2+(p<<1)+o|0)>>>2;j=f*3|0;n=d[b+(j+-1)>>0]|0;p=(p+2+(o<<1)+n|0)>>>2;h=f<<2;m=d[b+(h+-1)>>0]|0;o=(o+2+(n<<1)+m|0)>>>2;g=f*5|0;k=d[b+(g+-1)>>0]|0;n=(n+2+(m<<1)+k|0)>>>2;c=f*6|0;s=d[b+(c+-1)>>0]|0;m=(m+2+(k<<1)+s|0)>>>2;e=f*7|0;i=d[b+(e+-1)>>0]|0;k=(k+2+(s<<1)+i|0)>>>2;i=(s+2+(i*3|0)|0)>>>2;a[b>>0]=(r+1+q|0)>>>1;a[b+1>>0]=(r+2+(q<<1)+p|0)>>>2;r=(q+1+p|0)>>>1&255;a[b+2>>0]=r;a[b+f>>0]=r;q=(q+2+(p<<1)+o|0)>>>2&255;a[b+3>>0]=q;a[b+(f+1)>>0]=q;q=(p+1+o|0)>>>1&255;a[b+4>>0]=q;a[b+(f+2)>>0]=q;a[b+l>>0]=q;p=(p+2+(o<<1)+n|0)>>>2&255;a[b+5>>0]=p;a[b+(f+3)>>0]=p;a[b+(l|1)>>0]=p;p=(o+1+n|0)>>>1&255;a[b+6>>0]=p;a[b+(f+4)>>0]=p;a[b+(l+2)>>0]=p;a[b+j>>0]=p;o=(o+2+(n<<1)+m|0)>>>2&255;a[b+7>>0]=o;a[b+(f+5)>>0]=o;a[b+(l+3)>>0]=o;a[b+(j+1)>>0]=o;o=(n+1+m|0)>>>1&255;a[b+(f+6)>>0]=o;a[b+(l+4)>>0]=o;a[b+(j+2)>>0]=o;a[b+h>>0]=o;n=(n+2+(m<<1)+k|0)>>>2&255;a[b+(f+7)>>0]=n;a[b+(l+5)>>0]=n;a[b+(j+3)>>0]=n;a[b+(h|1)>>0]=n;f=(m+1+k|0)>>>1&255;a[b+(l+6)>>0]=f;a[b+(j+4)>>0]=f;a[b+(h|2)>>0]=f;a[b+g>>0]=f;f=(m+2+i+(k<<1)|0)>>>2&255;a[b+(l+7)>>0]=f;a[b+(j+5)>>0]=f;a[b+(h|3)>>0]=f;a[b+(g+1)>>0]=f;f=(i+1+k|0)>>>1&255;a[b+(j+6)>>0]=f;a[b+(h+4)>>0]=f;a[b+(g+2)>>0]=f;a[b+c>>0]=f;f=(k+2+(i*3|0)|0)>>>2&255;a[b+(j+7)>>0]=f;a[b+(h+5)>>0]=f;a[b+(g+3)>>0]=f;a[b+(c|1)>>0]=f;f=i&255;a[b+(e+7)>>0]=f;a[b+(c+7)>>0]=f;a[b+(g+7)>>0]=f;a[b+(h+7)>>0]=f;a[b+(e+6)>>0]=f;a[b+(c+6)>>0]=f;a[b+(g+6)>>0]=f;a[b+(h+6)>>0]=f;a[b+(e+5)>>0]=f;a[b+(c+5)>>0]=f;a[b+(g+5)>>0]=f;a[b+(e+4)>>0]=f;a[b+(c+4)>>0]=f;a[b+(g+4)>>0]=f;a[b+(e+3)>>0]=f;a[b+(c+3)>>0]=f;a[b+(e+2)>>0]=f;a[b+(c+2)>>0]=f;a[b+(e+1)>>0]=f;a[b+e>>0]=f;return}function it(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=d[a+((H(((b|0)!=0)<<31>>31,f)|0)+-1)>>0]|0;l=d[a+-1>>0]|0;k=d[a+(f+-1)>>0]|0;j=d[a+((f<<1)+-1)>>0]|0;i=d[a+((f*3|0)+-1)>>0]|0;h=d[a+((f<<2)+-1)>>0]|0;g=d[a+((f*5|0)+-1)>>0]|0;b=d[a+((f*6|0)+-1)>>0]|0;e=d[a+((f*7|0)+-1)>>0]|0;e=H(((m+2+(l<<1)+k|0)>>>2)+4+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+h|0)>>>2)+((i+2+(h<<1)+g|0)>>>2)+((h+2+(g<<1)+b|0)>>>2)+((g+2+(b<<1)+e|0)>>>2)+((b+2+(e*3|0)|0)>>>2)>>3,16843009)|0;b=0;while(1){if((b|0)==8)break;c[a>>2]=e;c[a+4>>2]=e;b=b+1|0;a=a+f|0}return}function jt(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=d[a+(0-f)>>0]|0;m=d[a+(1-f)>>0]|0;l=d[a+(2-f)>>0]|0;k=d[a+(3-f)>>0]|0;j=d[a+(4-f)>>0]|0;i=d[a+(5-f)>>0]|0;h=d[a+(6-f)>>0]|0;g=d[a+(7-f)>>0]|0;e=H((((d[a+((((b|0)!=0)<<31>>31)-f)>>0]|0)+2+(n<<1)+m|0)>>>2)+4+((n+2+(m<<1)+l|0)>>>2)+((m+2+(l<<1)+k|0)>>>2)+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+h|0)>>>2)+((i+2+(h<<1)+g|0)>>>2)+((h+2+(d[a+((e|0?8:7)-f)>>0]|0)+(g<<1)|0)>>>2)>>3,16843009)|0;b=0;while(1){if((b|0)==8)break;c[a>>2]=e;c[a+4>>2]=e;b=b+1|0;a=a+f|0}return}function kt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=0;while(1){if((b|0)==8)break;c[a>>2]=-2139062144;c[a+4>>2]=-2139062144;b=b+1|0;a=a+e|0}return}function lt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=a+(0-b)|0;e=c[f>>2]|0;f=c[f+4>>2]|0;d=0;while(1){if((d|0)==8)break;g=a+(H(d,b)|0)|0;c[g>>2]=e;c[g+4>>2]=f;d=d+1|0}return}function mt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=a+(0-b)|0;e=c[f>>2]|0;f=c[f+4>>2]|0;d=0;while(1){if((d|0)==16)break;g=a+(H(d,b)|0)|0;c[g>>2]=e;c[g+4>>2]=f;d=d+1|0}return}function nt(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=0;while(1){if((e|0)==8)break;f=H(e,b)|0;g=H(d[a+(f+-1)>>0]|0,16843009)|0;f=a+f|0;c[f>>2]=g;c[f+4>>2]=g;e=e+1|0}return}function ot(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=0;while(1){if((e|0)==16)break;f=H(e,b)|0;g=H(d[a+(f+-1)>>0]|0,16843009)|0;f=a+f|0;c[f>>2]=g;c[f+4>>2]=g;e=e+1|0}return}function pt(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=0-c|0;j=b+3+i|0;g=b+(c<<2)+-1|0;f=g+(0-(c<<1))|0;p=(c*7|0)+-1|0;q=~c;k=(d[g>>0]|0)-(d[f>>0]|0)|0;e=(d[j+1>>0]|0)-(d[j+-1>>0]|0)|0;h=2;while(1){if((h|0)==5)break;o=g+c|0;n=f+i|0;m=(H((d[j+h>>0]|0)-(d[j+(0-h)>>0]|0)|0,h)|0)+e|0;k=(H((d[o>>0]|0)-(d[n>>0]|0)|0,h)|0)+k|0;e=m;f=n;g=o;h=h+1|0}o=(e*17|0)+16>>5;h=(k*17|0)+16>>5;i=o<<1;j=o*3|0;k=o<<2;l=o*5|0;m=o*6|0;n=o*7|0;g=8;f=(H(h+o|0,-3)|0)+16+((d[b+q+8>>0]|0)+(d[b+p>>0]|0)<<4)|0;e=b;while(1){if((g|0)<=0)break;b=f>>5;a[e>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+o>>5;a[e+1>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+i>>5;a[e+2>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+j>>5;a[e+3>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+k>>5;a[e+4>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+l>>5;a[e+5>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+m>>5;a[e+6>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+n>>5;a[e+7>>0]=b>>>0>255?(b^-2147483648)>>31:b;g=g+-1|0;f=f+h|0;e=e+c|0}return}function qt(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=0-c|0;i=b+3+m|0;h=b+(c<<3)+-1|0;g=h+(0-(c<<1))|0;k=(c*11|0)+-1|0;j=(c*3|0)+-1|0;e=2;f=(d[h>>0]|0)-(d[g>>0]|0)|0;l=(d[i+1>>0]|0)-(d[i+-1>>0]|0)|0;while(1){if((e|0)==5)break;q=h+c|0;p=g+m|0;o=(H((d[i+e>>0]|0)-(d[i+(0-e)>>0]|0)|0,e)|0)+l|0;n=(H((d[q>>0]|0)-(d[p>>0]|0)|0,e)|0)+f|0;e=e+1|0;f=n;l=o;g=p;h=q}e=5;q=b+j|0;p=b+k|0;while(1){if((e|0)>=9)break;o=p+c|0;n=q+m|0;f=(H((d[o>>0]|0)-(d[n>>0]|0)|0,e)|0)+f|0;e=e+1|0;q=n;p=o}o=(l*17|0)+16>>5;h=(f*5|0)+32>>6;i=o*3|0;j=o<<1;k=o<<2;l=o*5|0;m=o*6|0;n=o*7|0;g=16;f=16-i+(H(h,-7)|0)+((d[q+8>>0]|0)+(d[p>>0]|0)<<4)|0;e=b;while(1){if((g|0)<=0)break;b=f>>5;a[e>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+o>>5;a[e+1>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+j>>5;a[e+2>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+i>>5;a[e+3>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+k>>5;a[e+4>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+l>>5;a[e+5>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+m>>5;a[e+6>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+n>>5;a[e+7>>0]=b>>>0>255?(b^-2147483648)>>31:b;g=g+-1|0;f=f+h|0;e=e+c|0}return}function rt(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=0;f=0;g=0;h=0;while(1){if((e|0)==4)break;j=d[a+((H(e,b)|0)+-1)>>0]|0;j=f+j+(d[a+(e-b)>>0]|0)|0;k=e+4|0;e=e+1|0;f=j;g=g+(d[a+(k-b)>>0]|0)|0;h=h+(d[a+((H(k,b)|0)+-1)>>0]|0)|0}i=H(f+4>>3,16843009)|0;j=H(g+2>>2,16843009)|0;k=h+2>>2;f=h+4+g>>3;e=0;while(1){if((e|0)==4)break;h=a+(H(e,b)|0)|0;c[h>>2]=i;c[h+4>>2]=j;e=e+1|0}g=H(k,16843009)|0;f=H(f,16843009)|0;e=4;while(1){if((e|0)==8)break;k=a+(H(e,b)|0)|0;c[k>>2]=g;c[k+4>>2]=f;e=e+1|0}return}function st(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;e=0;f=0;g=0;while(1){if((e|0)==4)break;i=f+(d[a+((H(e,b)|0)+-1)>>0]|0)|0;h=g+(d[a+((H(e+4|0,b)|0)+-1)>>0]|0)|0;e=e+1|0;f=i;g=h}h=H(f+2>>2,16843009)|0;f=g+2>>2;e=0;while(1){if((e|0)==4)break;i=a+(H(e,b)|0)|0;c[i>>2]=h;c[i+4>>2]=h;e=e+1|0}f=H(f,16843009)|0;e=4;while(1){if((e|0)==8)break;i=a+(H(e,b)|0)|0;c[i>>2]=f;c[i+4>>2]=f;e=e+1|0}return}function tt(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=4-b|0;e=0;f=0;h=0;while(1){if((e|0)==4)break;j=f+(d[a+(e-b)>>0]|0)|0;i=h+(d[a+(g+e)>>0]|0)|0;e=e+1|0;f=j;h=i}g=H(f+2>>2,16843009)|0;f=H(h+2>>2,16843009)|0;e=0;while(1){if((e|0)==4){e=4;break}j=a+(H(e,b)|0)|0;c[j>>2]=g;c[j+4>>2]=f;e=e+1|0}while(1){if((e|0)==8)break;j=a+(H(e,b)|0)|0;c[j>>2]=g;c[j+4>>2]=f;e=e+1|0}return}function ut(a,b){a=a|0;b=b|0;tt(a,b);Ps(a,0,b);return}function vt(a,b){a=a|0;b=b|0;rt(a,b);Zs(a,0,b);return}function wt(a,b){a=a|0;b=b|0;st(a,b);a=a+(b<<2)|0;_s(a,0,b);_s(a+4|0,0,b);return}function xt(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=0;f=0;i=0;g=0;h=0;j=0;while(1){if((e|0)==4)break;k=d[a+((H(e,b)|0)+-1)>>0]|0;k=f+k+(d[a+(e-b)>>0]|0)|0;l=e+4|0;m=g+(d[a+((H(l,b)|0)+-1)>>0]|0)|0;n=h+(d[a+((H(e+8|0,b)|0)+-1)>>0]|0)|0;o=j+(d[a+((H(e+12|0,b)|0)+-1)>>0]|0)|0;e=e+1|0;f=k;i=i+(d[a+(l-b)>>0]|0)|0;g=m;h=n;j=o}f=H(f+4>>3,16843009)|0;k=H(i+2>>2,16843009)|0;l=g+2>>2;g=g+4+i>>3;m=h+2>>2;h=h+4+i>>3;o=j+2>>2;n=j+4+i>>3;e=0;while(1){if((e|0)==4)break;j=a+(H(e,b)|0)|0;c[j>>2]=f;c[j+4>>2]=k;e=e+1|0}k=H(l,16843009)|0;i=H(g,16843009)|0;j=H(m,16843009)|0;g=H(h,16843009)|0;h=H(o,16843009)|0;f=H(n,16843009)|0;e=4;while(1){if((e|0)==8){e=8;break}o=a+(H(e,b)|0)|0;c[o>>2]=k;c[o+4>>2]=i;e=e+1|0}while(1){if((e|0)==12){e=12;break}o=a+(H(e,b)|0)|0;c[o>>2]=j;c[o+4>>2]=g;e=e+1|0}while(1){if((e|0)==16)break;o=a+(H(e,b)|0)|0;c[o>>2]=h;c[o+4>>2]=f;e=e+1|0}return}function yt(a,b){a=a|0;b=b|0;st(a,b);st(a+(b<<3)|0,b);return}function zt(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=4-b|0;e=0;f=0;h=0;while(1){if((e|0)==4)break;j=f+(d[a+(e-b)>>0]|0)|0;i=h+(d[a+(g+e)>>0]|0)|0;e=e+1|0;f=j;h=i}g=H(f+2>>2,16843009)|0;f=H(h+2>>2,16843009)|0;e=0;while(1){if((e|0)==16)break;j=a+(H(e,b)|0)|0;c[j>>2]=g;c[j+4>>2]=f;e=e+1|0}return}function At(a,b){a=a|0;b=b|0;zt(a,b);Ps(a,0,b);return}function Bt(a,b){a=a|0;b=b|0;xt(a,b);Zs(a,0,b);return}function Ct(a,b){a=a|0;b=b|0;yt(a,b);a=a+(b<<2)|0;_s(a,0,b);_s(a+4|0,0,b);return}function Dt(a,b){a=a|0;b=b|0;var d=0,e=0;d=0;while(1){if((d|0)==8)break;e=a+(H(d,b)|0)|0;c[e>>2]=2139062143;c[e+4>>2]=2139062143;d=d+1|0}return}function Et(a,b){a=a|0;b=b|0;var d=0,e=0;d=0;while(1){if((d|0)==8)break;e=a+(H(d,b)|0)|0;c[e>>2]=-2122219135;c[e+4>>2]=-2122219135;d=d+1|0}return}function Ft(a,b){a=a|0;b=b|0;yt(a,b);_s(a,0,b);_s(a+4|0,0,b);return}function Gt(a,b){a=a|0;b=b|0;st(a,b);_s(a,0,b);_s(a+4|0,0,b);return}function Ht(a,b){a=a|0;b=b|0;var d=0,e=0;d=0;while(1){if((d|0)==8)break;e=a+(H(d,b)|0)|0;c[e>>2]=-2139062144;c[e+4>>2]=-2139062144;d=d+1|0}return}function It(a,b){a=a|0;b=b|0;Ht(a,b);Ht(a+(b<<3)|0,b);return}function Jt(a,b){a=a|0;b=b|0;var e=0,f=0;e=0;f=0;while(1){if((f|0)==16){f=0;break}e=e+(d[a+((H(f,b)|0)+-1)>>0]|0)|0;f=f+1|0}while(1){if((f|0)==16)break;e=e+(d[a+(f-b)>>0]|0)|0;f=f+1|0}f=H(e+16>>5,16843009)|0;e=0;while(1){if((e|0)==16)break;c[a>>2]=f;c[a+4>>2]=f;c[a+8>>2]=f;c[a+12>>2]=f;a=a+b|0;e=e+1|0}return}function Kt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=a+(0-b)|0;f=c[e>>2]|0;g=c[e+4>>2]|0;h=c[e+8>>2]|0;e=c[e+12>>2]|0;d=0;while(1){if((d|0)==16)break;i=a+(H(d,b)|0)|0;c[i>>2]=f;c[i+4>>2]=g;c[i+8>>2]=h;c[i+12>>2]=e;d=d+1|0}return}function Lt(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=0;while(1){if((e|0)==16)break;f=H(e,b)|0;g=H(d[a+(f+-1)>>0]|0,16843009)|0;f=a+f|0;c[f>>2]=g;c[f+4>>2]=g;c[f+8>>2]=g;c[f+12>>2]=g;e=e+1|0}return}function Mt(a,b){a=a|0;b=b|0;var d=0;d=0;while(1){if((d|0)==16)break;c[a>>2]=2139062143;c[a+4>>2]=2139062143;c[a+8>>2]=2139062143;c[a+12>>2]=2139062143;a=a+b|0;d=d+1|0}return}function Nt(a,b){a=a|0;b=b|0;ku(a,b,0,0);return}function Ot(a,b){a=a|0;b=b|0;var d=0;d=0;while(1){if((d|0)==16)break;c[a>>2]=-2122219135;c[a+4>>2]=-2122219135;c[a+8>>2]=-2122219135;c[a+12>>2]=-2122219135;a=a+b|0;d=d+1|0}return}function Pt(a,b){a=a|0;b=b|0;var e=0,f=0;e=0;f=0;while(1){if((f|0)==16)break;e=e+(d[a+((H(f,b)|0)+-1)>>0]|0)|0;f=f+1|0}f=H(e+8>>4,16843009)|0;e=0;while(1){if((e|0)==16)break;c[a>>2]=f;c[a+4>>2]=f;c[a+8>>2]=f;c[a+12>>2]=f;a=a+b|0;e=e+1|0}return}function Qt(a,b){a=a|0;b=b|0;var e=0,f=0;e=0;f=0;while(1){if((f|0)==16)break;e=e+(d[a+(f-b)>>0]|0)|0;f=f+1|0}f=H(e+8>>4,16843009)|0;e=0;while(1){if((e|0)==16)break;c[a>>2]=f;c[a+4>>2]=f;c[a+8>>2]=f;c[a+12>>2]=f;a=a+b|0;e=e+1|0}return}function Rt(a,b){a=a|0;b=b|0;var d=0;d=0;while(1){if((d|0)==16)break;c[a>>2]=-2139062144;c[a+4>>2]=-2139062144;c[a+8>>2]=-2139062144;c[a+12>>2]=-2139062144;a=a+b|0;d=d+1|0}return}function St(c,f,g){c=c|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;j=g<<1;k=g*3|0;l=g<<2;i=f;c=c+(0-g)|0;h=0;while(1){if((h|0)==4)break;m=(e[i>>1]|0)+(d[c>>0]|0)|0;a[c+g>>0]=m;m=m+(e[i+8>>1]|0)|0;a[c+j>>0]=m;m=m+(e[i+16>>1]|0)|0;a[c+k>>0]=m;a[c+l>>0]=m+(e[i+24>>1]|0);i=i+2|0;c=c+1|0;h=h+1|0}c=f+32|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(c|0));return}function Tt(c,f,g){c=c|0;f=f|0;g=g|0;var h=0,i=0,j=0;i=f;h=0;while(1){if((h|0)==4)break;j=(e[i>>1]|0)+(d[c+-1>>0]|0)|0;a[c>>0]=j;j=j+(e[i+2>>1]|0)|0;a[c+1>>0]=j;j=j+(e[i+4>>1]|0)|0;a[c+2>>0]=j;a[c+3>>0]=j+(e[i+6>>1]|0);i=i+8|0;c=c+g|0;h=h+1|0}c=f+32|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(c|0));return}function Ut(c,f,g){c=c|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;l=g<<1;m=g*3|0;n=g<<2;o=g*5|0;p=g*6|0;j=g*7|0;k=g<<3;i=f;c=c+(0-g)|0;h=0;while(1){if((h|0)==8)break;q=(e[i>>1]|0)+(d[c>>0]|0)|0;a[c+g>>0]=q;q=q+(e[i+16>>1]|0)|0;a[c+l>>0]=q;q=q+(e[i+32>>1]|0)|0;a[c+m>>0]=q;q=q+(e[i+48>>1]|0)|0;a[c+n>>0]=q;q=q+(e[i+64>>1]|0)|0;a[c+o>>0]=q;q=q+(e[i+80>>1]|0)|0;a[c+p>>0]=q;q=q+(e[i+96>>1]|0)|0;a[c+j>>0]=q;a[c+k>>0]=q+(e[i+112>>1]|0);i=i+2|0;c=c+1|0;h=h+1|0}c=f+128|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(c|0));return}function Vt(c,f,g){c=c|0;f=f|0;g=g|0;var h=0,i=0,j=0;i=f;h=0;while(1){if((h|0)==8)break;j=(e[i>>1]|0)+(d[c+-1>>0]|0)|0;a[c>>0]=j;j=j+(e[i+2>>1]|0)|0;a[c+1>>0]=j;j=j+(e[i+4>>1]|0)|0;a[c+2>>0]=j;j=j+(e[i+6>>1]|0)|0;a[c+3>>0]=j;j=j+(e[i+8>>1]|0)|0;a[c+4>>0]=j;j=j+(e[i+10>>1]|0)|0;a[c+5>>0]=j;j=j+(e[i+12>>1]|0)|0;a[c+6>>0]=j;a[c+7>>0]=j+(e[i+14>>1]|0);i=i+16|0;c=c+g|0;h=h+1|0}c=f+128|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(c|0));return}function Wt(c,f,g,h,i){c=c|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);q=r;t=d[c+(0-i)>>0]|0;s=d[c+(1-i)>>0]|0;j=d[c+(2-i)>>0]|0;p=d[c+(3-i)>>0]|0;o=d[c+(4-i)>>0]|0;n=d[c+(5-i)>>0]|0;m=d[c+(6-i)>>0]|0;l=d[c+(7-i)>>0]|0;k=(m+2+(d[c+((h|0?8:7)-i)>>0]|0)+(l<<1)|0)>>>2;a[q>>0]=((d[c+((((g|0)!=0)<<31>>31)-i)>>0]|0)+2+(t<<1)+s|0)>>>2;a[q+1>>0]=(t+2+(s<<1)+j|0)>>>2;a[q+2>>0]=(s+2+(j<<1)+p|0)>>>2;a[q+3>>0]=(j+2+(p<<1)+o|0)>>>2;a[q+4>>0]=(p+2+(o<<1)+n|0)>>>2;a[q+5>>0]=(o+2+(n<<1)+m|0)>>>2;a[q+6>>0]=(n+2+(m<<1)+l|0)>>>2;a[q+7>>0]=k;k=i<<1;l=i*3|0;m=i<<2;n=i*5|0;o=i*6|0;p=i*7|0;j=0;g=c;h=f;while(1){if((j|0)==8)break;t=(e[h>>1]|0)+(d[q+j>>0]|0)|0;a[g>>0]=t;t=t+(e[h+16>>1]|0)|0;a[g+i>>0]=t;t=t+(e[h+32>>1]|0)|0;a[g+k>>0]=t;t=t+(e[h+48>>1]|0)|0;a[g+l>>0]=t;t=t+(e[h+64>>1]|0)|0;a[g+m>>0]=t;t=t+(e[h+80>>1]|0)|0;a[g+n>>0]=t;t=t+(e[h+96>>1]|0)|0;a[g+o>>0]=t;a[g+p>>0]=t+(e[h+112>>1]|0);j=j+1|0;g=g+1|0;h=h+2|0}g=f+128|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(g|0));$c=r;return}function Xt(c,f,g,h,i){c=c|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;l=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);k=l;r=d[c+((H(((g|0)!=0)<<31>>31,i)|0)+-1)>>0]|0;q=d[c+-1>>0]|0;p=d[c+(i+-1)>>0]|0;o=d[c+((i<<1)+-1)>>0]|0;n=d[c+((i*3|0)+-1)>>0]|0;m=d[c+((i<<2)+-1)>>0]|0;g=d[c+((i*5|0)+-1)>>0]|0;h=d[c+((i*6|0)+-1)>>0]|0;j=d[c+((i*7|0)+-1)>>0]|0;a[k>>0]=(r+2+(q<<1)+p|0)>>>2;a[k+1>>0]=(q+2+(p<<1)+o|0)>>>2;a[k+2>>0]=(p+2+(o<<1)+n|0)>>>2;a[k+3>>0]=(o+2+(n<<1)+m|0)>>>2;a[k+4>>0]=(n+2+(m<<1)+g|0)>>>2;a[k+5>>0]=(m+2+(g<<1)+h|0)>>>2;a[k+6>>0]=(g+2+(h<<1)+j|0)>>>2;a[k+7>>0]=(h+2+(j*3|0)|0)>>>2;j=0;h=c;g=f;while(1){if((j|0)==8)break;r=(e[g>>1]|0)+(d[k+j>>0]|0)|0;a[h>>0]=r;r=r+(e[g+2>>1]|0)|0;a[h+1>>0]=r;r=r+(e[g+4>>1]|0)|0;a[h+2>>0]=r;r=r+(e[g+6>>1]|0)|0;a[h+3>>0]=r;r=r+(e[g+8>>1]|0)|0;a[h+4>>0]=r;r=r+(e[g+10>>1]|0)|0;a[h+5>>0]=r;r=r+(e[g+12>>1]|0)|0;a[h+6>>0]=r;a[h+7>>0]=r+(e[g+14>>1]|0);j=j+1|0;h=h+i|0;g=g+16|0}h=f+128|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(h|0));$c=l;return}function Yt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;St(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<4<<1)|0,e);f=f+1|0}return}function Zt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4){f=4;break}St(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<4<<1)|0,e);f=f+1|0}while(1){if((f|0)==8)break;St(a+(c[b+(f+4<<2)>>2]|0)|0,d+(f<<4<<1)|0,e);f=f+1|0}return}function _t(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;Tt(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<4<<1)|0,e);f=f+1|0}return}function $t(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4){f=4;break}Tt(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<4<<1)|0,e);f=f+1|0}while(1){if((f|0)==8)break;Tt(a+(c[b+(f+4<<2)>>2]|0)|0,d+(f<<4<<1)|0,e);f=f+1|0}return}function au(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==16)break;St(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<4<<1)|0,e);f=f+1|0}return}function bu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==16)break;Ds(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function cu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==16)break;or(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function du(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==16)break;$p(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function eu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==16)break;Mo(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function fu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==16)break;Tt(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<4<<1)|0,e);f=f+1|0}return}function gu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==16)break;Es(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function hu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==16)break;pr(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function iu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==16)break;aq(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function ju(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==16)break;No(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function ku(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;k=0-c|0;l=b+7+k|0;i=b+(c<<3)+-1|0;h=i+(0-(c<<1))|0;j=(c*15|0)+-1|0;m=~c;g=2;n=(d[i>>0]|0)-(d[h>>0]|0)|0;o=(d[l+1>>0]|0)-(d[l+-1>>0]|0)|0;while(1){if((g|0)==9)break;p=i+c|0;q=h+k|0;r=(H((d[l+g>>0]|0)-(d[l+(0-g)>>0]|0)|0,g)|0)+o|0;s=(H((d[p>>0]|0)-(d[q>>0]|0)|0,g)|0)+n|0;g=g+1|0;n=s;o=r;h=q;i=p}h=b+j|0;g=b+m|0;do if(!e)if(!f){f=(n*5|0)+32>>6;k=(o*5|0)+32>>6;break}else{f=(n>>2)+n>>4;k=(o>>2)+o>>4;break}else{f=(((o|0)/4|0)*5|0)/16|0;k=(((n|0)/4|0)*5|0)/16|0}while(0);l=k<<1;m=k*3|0;e=k<<2;i=(H(f+k|0,-7)|0)+16+((d[g+16>>0]|0)+(d[h>>0]|0)<<4)|0;j=16;while(1){if((j|0)>0){g=i;h=-16}else break;while(1){if((h|0)>=0)break;s=g>>5;a[b+(h+16)>>0]=s>>>0>255?(s^-2147483648)>>31:s;s=g+k>>5;a[b+(h+17)>>0]=s>>>0>255?(s^-2147483648)>>31:s;s=g+l>>5;a[b+(h+18)>>0]=s>>>0>255?(s^-2147483648)>>31:s;s=g+m>>5;a[b+(h+19)>>0]=s>>>0>255?(s^-2147483648)>>31:s;g=g+e|0;h=h+4|0}i=i+f|0;j=j+-1|0;b=b+c|0}return}function lu(a,c){a=a|0;c=c|0;var d=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;p=c>>1;h=0-p|0;i=a+14+(h<<1)|0;g=a+(p<<3<<1)+-2|0;o=p<<1;f=g+(0-o<<1)|0;n=a+((p*30|0)+-2)|0;o=a+(-2-o)|0;c=2;j=(e[g>>1]|0)-(e[f>>1]|0)|0;d=(e[i+2>>1]|0)-(e[i+-2>>1]|0)|0;while(1){if((c|0)==9)break;m=g+(p<<1)|0;l=f+(h<<1)|0;k=(H((e[i+(c<<1)>>1]|0)-(e[i+(0-c<<1)>>1]|0)|0,c)|0)+d|0;q=(H((e[m>>1]|0)-(e[l>>1]|0)|0,c)|0)+j|0;c=c+1|0;j=q;d=k;f=l;g=m}m=(d*5|0)+32>>6;i=(j*5|0)+32>>6;j=m<<1;k=m*3|0;l=m<<2;g=(H(i+m|0,-7)|0)+16+((e[o+32>>1]|0)+(e[n>>1]|0)<<4)|0;h=16;f=a;while(1){if((h|0)>0){c=g;d=-16}else break;while(1){if((d|0)>=0)break;q=c>>5;b[f+(d+16<<1)>>1]=q>>>0<16384?q:0-q>>31&16383;q=c+m>>5;b[f+(d+17<<1)>>1]=q>>>0<16384?q:0-q>>31&16383;q=c+j>>5;b[f+(d+18<<1)>>1]=q>>>0<16384?q:0-q>>31&16383;q=c+k>>5;b[f+(d+19<<1)>>1]=q>>>0<16384?q:0-q>>31&16383;c=c+l|0;d=d+4|0}g=g+i|0;h=h+-1|0;f=f+(p<<1)|0}return}function mu(a,c){a=a|0;c=c|0;var d=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;p=c>>1;h=0-p|0;i=a+14+(h<<1)|0;g=a+(p<<3<<1)+-2|0;o=p<<1;f=g+(0-o<<1)|0;n=a+((p*30|0)+-2)|0;o=a+(-2-o)|0;c=2;j=(e[g>>1]|0)-(e[f>>1]|0)|0;d=(e[i+2>>1]|0)-(e[i+-2>>1]|0)|0;while(1){if((c|0)==9)break;m=g+(p<<1)|0;l=f+(h<<1)|0;k=(H((e[i+(c<<1)>>1]|0)-(e[i+(0-c<<1)>>1]|0)|0,c)|0)+d|0;q=(H((e[m>>1]|0)-(e[l>>1]|0)|0,c)|0)+j|0;c=c+1|0;j=q;d=k;f=l;g=m}m=(d*5|0)+32>>6;i=(j*5|0)+32>>6;j=m<<1;k=m*3|0;l=m<<2;g=(H(i+m|0,-7)|0)+16+((e[o+32>>1]|0)+(e[n>>1]|0)<<4)|0;h=16;f=a;while(1){if((h|0)>0){c=g;d=-16}else break;while(1){if((d|0)>=0)break;q=c>>5;b[f+(d+16<<1)>>1]=q>>>0<4096?q:0-q>>31&4095;q=c+m>>5;b[f+(d+17<<1)>>1]=q>>>0<4096?q:0-q>>31&4095;q=c+j>>5;b[f+(d+18<<1)>>1]=q>>>0<4096?q:0-q>>31&4095;q=c+k>>5;b[f+(d+19<<1)>>1]=q>>>0<4096?q:0-q>>31&4095;c=c+l|0;d=d+4|0}g=g+i|0;h=h+-1|0;f=f+(p<<1)|0}return}function nu(a,c){a=a|0;c=c|0;var d=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;p=c>>1;h=0-p|0;i=a+14+(h<<1)|0;g=a+(p<<3<<1)+-2|0;o=p<<1;f=g+(0-o<<1)|0;n=a+((p*30|0)+-2)|0;o=a+(-2-o)|0;c=2;j=(e[g>>1]|0)-(e[f>>1]|0)|0;d=(e[i+2>>1]|0)-(e[i+-2>>1]|0)|0;while(1){if((c|0)==9)break;m=g+(p<<1)|0;l=f+(h<<1)|0;k=(H((e[i+(c<<1)>>1]|0)-(e[i+(0-c<<1)>>1]|0)|0,c)|0)+d|0;q=(H((e[m>>1]|0)-(e[l>>1]|0)|0,c)|0)+j|0;c=c+1|0;j=q;d=k;f=l;g=m}m=(d*5|0)+32>>6;i=(j*5|0)+32>>6;j=m<<1;k=m*3|0;l=m<<2;g=(H(i+m|0,-7)|0)+16+((e[o+32>>1]|0)+(e[n>>1]|0)<<4)|0;h=16;f=a;while(1){if((h|0)>0){c=g;d=-16}else break;while(1){if((d|0)>=0)break;q=c>>5;b[f+(d+16<<1)>>1]=q>>>0<1024?q:0-q>>31&1023;q=c+m>>5;b[f+(d+17<<1)>>1]=q>>>0<1024?q:0-q>>31&1023;q=c+j>>5;b[f+(d+18<<1)>>1]=q>>>0<1024?q:0-q>>31&1023;q=c+k>>5;b[f+(d+19<<1)>>1]=q>>>0<1024?q:0-q>>31&1023;c=c+l|0;d=d+4|0}g=g+i|0;h=h+-1|0;f=f+(p<<1)|0}return}function ou(a,c){a=a|0;c=c|0;var d=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;p=c>>1;h=0-p|0;i=a+14+(h<<1)|0;g=a+(p<<3<<1)+-2|0;o=p<<1;f=g+(0-o<<1)|0;n=a+((p*30|0)+-2)|0;o=a+(-2-o)|0;c=2;j=(e[g>>1]|0)-(e[f>>1]|0)|0;d=(e[i+2>>1]|0)-(e[i+-2>>1]|0)|0;while(1){if((c|0)==9)break;m=g+(p<<1)|0;l=f+(h<<1)|0;k=(H((e[i+(c<<1)>>1]|0)-(e[i+(0-c<<1)>>1]|0)|0,c)|0)+d|0;q=(H((e[m>>1]|0)-(e[l>>1]|0)|0,c)|0)+j|0;c=c+1|0;j=q;d=k;f=l;g=m}m=(d*5|0)+32>>6;i=(j*5|0)+32>>6;j=m<<1;k=m*3|0;l=m<<2;g=(H(i+m|0,-7)|0)+16+((e[o+32>>1]|0)+(e[n>>1]|0)<<4)|0;h=16;f=a;while(1){if((h|0)>0){c=g;d=-16}else break;while(1){if((d|0)>=0)break;q=c>>5;b[f+(d+16<<1)>>1]=q>>>0<512?q:0-q>>31&511;q=c+m>>5;b[f+(d+17<<1)>>1]=q>>>0<512?q:0-q>>31&511;q=c+j>>5;b[f+(d+18<<1)>>1]=q>>>0<512?q:0-q>>31&511;q=c+k>>5;b[f+(d+19<<1)>>1]=q>>>0<512?q:0-q>>31&511;c=c+l|0;d=d+4|0}g=g+i|0;h=h+-1|0;f=f+(p<<1)|0}return}function pu(b,c,e,f,g,h,i){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=d[b+(0-e)>>0]|0;n=d[b+(1-e)>>0]|0;m=d[b+(2-e)>>0]|0;l=d[b+(3-e)>>0]|0;k=d[c>>0]|0;j=d[c+1>>0]|0;c=d[c+2>>0]|0;o=n<<1;a[b>>0]=(f+4+h+o+(p+g<<1)|0)>>>3;q=(n+1+m|0)>>>1&255;f=e<<1;a[b+f>>0]=q;a[b+1>>0]=q;q=(m+1+l|0)>>>1&255;a[b+(f|1)>>0]=q;a[b+2>>0]=q;q=(l+1+k|0)>>>1&255;a[b+(f+2)>>0]=q;a[b+3>>0]=q;a[b+(f+3)>>0]=(k+1+j|0)>>>1;a[b+e>>0]=(g+4+(h<<1)+i+p+o+m|0)>>>3;h=(n+2+(m<<1)+l|0)>>>2&255;i=e*3|0;a[b+i>>0]=h;a[b+(e+1)>>0]=h;h=(m+2+(l<<1)+k|0)>>>2&255;a[b+(i+1)>>0]=h;a[b+(e+2)>>0]=h;h=(l+2+(k<<1)+j|0)>>>2&255;a[b+(i+2)>>0]=h;a[b+(e+3)>>0]=h;a[b+(i+3)>>0]=(k+2+(j<<1)+c|0)>>>2;return}function qu(a,b,c){a=a|0;b=b|0;c=c|0;qI(a,b,c);return}function ru(a,b,c){a=a|0;b=b|0;c=c|0;pI(a,b,c);return}function su(a,b,c){a=a|0;b=b|0;c=c|0;oI(a,b,c);return}function tu(a,b,c){a=a|0;b=b|0;c=c|0;nI(a,b,c);return}function uu(a,b,c){a=a|0;b=b|0;c=c|0;mI(a,b,c);return}function vu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+512|0;if(($c|0)>=(ad|0))N(512);e=d;KG(e,b,32,c);lI(a,b,e,c,c);$c=d;return}function wu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+512|0;if(($c|0)>=(ad|0))N(512);e=d;GG(e,b,32,c);kI(a,b,e,c,c);$c=d;return}function xu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+512|0;if(($c|0)>=(ad|0))N(512);e=d;CG(e,b,32,c);jI(a,b,e,c,c);$c=d;return}function yu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+256|0;if(($c|0)>=(ad|0))N(256);e=d;yG(e,b,16,c);iI(a,b,e,c,c);$c=d;return}function zu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+512|0;if(($c|0)>=(ad|0))N(512);e=d;uG(e,b,32,c);hI(a,b,e,c,c);$c=d;return}function Au(a,b,c){a=a|0;b=b|0;c=c|0;KG(a,b,c,c);return}function Bu(a,b,c){a=a|0;b=b|0;c=c|0;GG(a,b,c,c);return}function Cu(a,b,c){a=a|0;b=b|0;c=c|0;CG(a,b,c,c);return}function Du(a,b,c){a=a|0;b=b|0;c=c|0;yG(a,b,c,c);return}function Eu(a,b,c){a=a|0;b=b|0;c=c|0;uG(a,b,c,c);return}function Fu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+512|0;if(($c|0)>=(ad|0))N(512);e=d;KG(e,b,32,c);lI(a,b+2|0,e,c,c);$c=d;return}function Gu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+512|0;if(($c|0)>=(ad|0))N(512);e=d;GG(e,b,32,c);kI(a,b+2|0,e,c,c);$c=d;return}function Hu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+512|0;if(($c|0)>=(ad|0))N(512);e=d;CG(e,b,32,c);jI(a,b+2|0,e,c,c);$c=d;return}function Iu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+256|0;if(($c|0)>=(ad|0))N(256);e=d;yG(e,b,16,c);iI(a,b+1|0,e,c,c);$c=d;return}function Ju(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+512|0;if(($c|0)>=(ad|0))N(512);e=d;uG(e,b,32,c);hI(a,b+2|0,e,c,c);$c=d;return}function Ku(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1184|0;if(($c|0)>=(ad|0))N(1184);g=d+512|0;e=d;f=g+64|0;LG(g,b+(0-(c<<1))|0,c);MG(e,f,32);lI(a,f,e,c,32);$c=d;return}function Lu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1184|0;if(($c|0)>=(ad|0))N(1184);g=d+512|0;e=d;f=g+64|0;HG(g,b+(0-(c<<1))|0,c);IG(e,f,32);kI(a,f,e,c,32);$c=d;return}function Mu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1184|0;if(($c|0)>=(ad|0))N(1184);g=d+512|0;e=d;f=g+64|0;DG(g,b+(0-(c<<1))|0,c);EG(e,f,32);jI(a,f,e,c,32);$c=d;return}function Nu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+592|0;if(($c|0)>=(ad|0))N(592);g=d+256|0;e=d;f=g+32|0;zG(g,b+(0-(c<<1))|0,c);AG(e,f,16);iI(a,f,e,c,16);$c=d;return}function Ou(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1184|0;if(($c|0)>=(ad|0))N(1184);g=d+512|0;e=d;f=g+64|0;vG(g,b+(0-(c<<1))|0,c);wG(e,f,32);hI(a,f,e,c,32);$c=d;return}function Pu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1696|0;if(($c|0)>=(ad|0))N(1696);g=d+1024|0;f=d+512|0;e=d;KG(f,b,32,c);LG(g,b+(0-(c<<1))|0,c);MG(e,g+64|0,32);lI(a,f,e,c,32);$c=d;return}function Qu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1696|0;if(($c|0)>=(ad|0))N(1696);g=d+1024|0;f=d+512|0;e=d;GG(f,b,32,c);HG(g,b+(0-(c<<1))|0,c);IG(e,g+64|0,32);kI(a,f,e,c,32);$c=d;return}function Ru(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1696|0;if(($c|0)>=(ad|0))N(1696);g=d+1024|0;f=d+512|0;e=d;CG(f,b,32,c);DG(g,b+(0-(c<<1))|0,c);EG(e,g+64|0,32);jI(a,f,e,c,32);$c=d;return}function Su(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+848|0;if(($c|0)>=(ad|0))N(848);g=d+512|0;f=d+256|0;e=d;yG(f,b,16,c);zG(g,b+(0-(c<<1))|0,c);AG(e,g+32|0,16);iI(a,f,e,c,16);$c=d;return}function Tu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1696|0;if(($c|0)>=(ad|0))N(1696);g=d+1024|0;f=d+512|0;e=d;uG(f,b,32,c);vG(g,b+(0-(c<<1))|0,c);wG(e,g+64|0,32);hI(a,f,e,c,32);$c=d;return}function Uu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+3712|0;if(($c|0)>=(ad|0))N(3712);f=d+3200|0;e=d+2688|0;KG(f,b,32,c);SG(e,d,b,32,c);lI(a,f,e,c,32);$c=d;return}function Vu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+3712|0;if(($c|0)>=(ad|0))N(3712);f=d+3200|0;e=d+2688|0;GG(f,b,32,c);RG(e,d,b,32,c);kI(a,f,e,c,32);$c=d;return}function Wu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+2368|0;if(($c|0)>=(ad|0))N(2368);f=d+1856|0;e=d+1344|0;CG(f,b,32,c);QG(e,d,b,32,c);jI(a,f,e,c,32);$c=d;return}function Xu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+1184|0;if(($c|0)>=(ad|0))N(1184);f=d+928|0;e=d+672|0;yG(f,b,16,c);PG(e,d,b,16,c);iI(a,f,e,c,16);$c=d;return}function Yu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+2368|0;if(($c|0)>=(ad|0))N(2368);f=d+1856|0;e=d+1344|0;uG(f,b,32,c);OG(e,d,b,32,c);hI(a,f,e,c,32);$c=d;return}function Zu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1696|0;if(($c|0)>=(ad|0))N(1696);g=d+1024|0;f=d+512|0;e=d;KG(f,b,32,c);LG(g,b+(0-(c<<1))+2|0,c);MG(e,g+64|0,32);lI(a,f,e,c,32);$c=d;return}function _u(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1696|0;if(($c|0)>=(ad|0))N(1696);g=d+1024|0;f=d+512|0;e=d;GG(f,b,32,c);HG(g,b+(0-(c<<1))+2|0,c);IG(e,g+64|0,32);kI(a,f,e,c,32);$c=d;return}function $u(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1696|0;if(($c|0)>=(ad|0))N(1696);g=d+1024|0;f=d+512|0;e=d;CG(f,b,32,c);DG(g,b+(0-(c<<1))+2|0,c);EG(e,g+64|0,32);jI(a,f,e,c,32);$c=d;return}function av(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+848|0;if(($c|0)>=(ad|0))N(848);g=d+512|0;f=d+256|0;e=d;yG(f,b,16,c);zG(g,b+(0-(c<<1))+1|0,c);AG(e,g+32|0,16);iI(a,f,e,c,16);$c=d;return}function bv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1696|0;if(($c|0)>=(ad|0))N(1696);g=d+1024|0;f=d+512|0;e=d;uG(f,b,32,c);vG(g,b+(0-(c<<1))+2|0,c);wG(e,g+64|0,32);hI(a,f,e,c,32);$c=d;return}function cv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+672|0;if(($c|0)>=(ad|0))N(672);e=d;LG(e,b+(0-(c<<1))|0,c);MG(a,e+64|0,c);$c=d;return}function dv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+672|0;if(($c|0)>=(ad|0))N(672);e=d;HG(e,b+(0-(c<<1))|0,c);IG(a,e+64|0,c);$c=d;return}function ev(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+672|0;if(($c|0)>=(ad|0))N(672);e=d;DG(e,b+(0-(c<<1))|0,c);EG(a,e+64|0,c);$c=d;return}function fv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+336|0;if(($c|0)>=(ad|0))N(336);e=d;zG(e,b+(0-(c<<1))|0,c);AG(a,e+32|0,c);$c=d;return}function gv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+672|0;if(($c|0)>=(ad|0))N(672);e=d;vG(e,b+(0-(c<<1))|0,c);wG(a,e+64|0,c);$c=d;return}function hv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+4384|0;if(($c|0)>=(ad|0))N(4384);g=d+3712|0;f=d+3200|0;e=d+2688|0;LG(g,b+(0-(c<<1))|0,c);MG(f,g+64|0,32);SG(e,d,b,32,c);lI(a,f,e,c,32);$c=d;return}function iv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+4384|0;if(($c|0)>=(ad|0))N(4384);g=d+3712|0;f=d+3200|0;e=d+2688|0;HG(g,b+(0-(c<<1))|0,c);IG(f,g+64|0,32);RG(e,d,b,32,c);kI(a,f,e,c,32);$c=d;return}function jv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+3040|0;if(($c|0)>=(ad|0))N(3040);g=d+2368|0;f=d+1856|0;e=d+1344|0;DG(g,b+(0-(c<<1))|0,c);EG(f,g+64|0,32);QG(e,d,b,32,c);jI(a,f,e,c,32);$c=d;return}function kv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1520|0;if(($c|0)>=(ad|0))N(1520);g=d+1184|0;f=d+928|0;e=d+672|0;zG(g,b+(0-(c<<1))|0,c);AG(f,g+32|0,16);PG(e,d,b,16,c);iI(a,f,e,c,16);$c=d;return}function lv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+3040|0;if(($c|0)>=(ad|0))N(3040);g=d+2368|0;f=d+1856|0;e=d+1344|0;vG(g,b+(0-(c<<1))|0,c);wG(f,g+64|0,32);OG(e,d,b,32,c);hI(a,f,e,c,32);$c=d;return}function mv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+2688|0;if(($c|0)>=(ad|0))N(2688);SG(a,d,b,c,c);$c=d;return}function nv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+2688|0;if(($c|0)>=(ad|0))N(2688);RG(a,d,b,c,c);$c=d;return}function ov(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+1344|0;if(($c|0)>=(ad|0))N(1344);QG(a,d,b,c,c);$c=d;return}function pv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+672|0;if(($c|0)>=(ad|0))N(672);PG(a,d,b,c,c);$c=d;return}function qv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+1344|0;if(($c|0)>=(ad|0))N(1344);OG(a,d,b,c,c);$c=d;return}function rv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+4384|0;if(($c|0)>=(ad|0))N(4384);g=d+3712|0;f=d+3200|0;e=d+2688|0;LG(g,b+(0-(c<<1))+2|0,c);MG(f,g+64|0,32);SG(e,d,b,32,c);lI(a,f,e,c,32);$c=d;return}function sv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+4384|0;if(($c|0)>=(ad|0))N(4384);g=d+3712|0;f=d+3200|0;e=d+2688|0;HG(g,b+(0-(c<<1))+2|0,c);IG(f,g+64|0,32);RG(e,d,b,32,c);kI(a,f,e,c,32);$c=d;return}function tv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+3040|0;if(($c|0)>=(ad|0))N(3040);g=d+2368|0;f=d+1856|0;e=d+1344|0;DG(g,b+(0-(c<<1))+2|0,c);EG(f,g+64|0,32);QG(e,d,b,32,c);jI(a,f,e,c,32);$c=d;return}function uv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1520|0;if(($c|0)>=(ad|0))N(1520);g=d+1184|0;f=d+928|0;e=d+672|0;zG(g,b+(0-(c<<1))+1|0,c);AG(f,g+32|0,16);PG(e,d,b,16,c);iI(a,f,e,c,16);$c=d;return}function vv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+3040|0;if(($c|0)>=(ad|0))N(3040);g=d+2368|0;f=d+1856|0;e=d+1344|0;vG(g,b+(0-(c<<1))+2|0,c);wG(f,g+64|0,32);OG(e,d,b,32,c);hI(a,f,e,c,32);$c=d;return}function wv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+1184|0;if(($c|0)>=(ad|0))N(1184);f=d+512|0;e=d;LG(f,b+(0-(c<<1))|0,c);MG(e,f+64|0,32);lI(a,f+96|0,e,c,32);$c=d;return}function xv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+1184|0;if(($c|0)>=(ad|0))N(1184);f=d+512|0;e=d;HG(f,b+(0-(c<<1))|0,c);IG(e,f+64|0,32);kI(a,f+96|0,e,c,32);$c=d;return}function yv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+1184|0;if(($c|0)>=(ad|0))N(1184);f=d+512|0;e=d;DG(f,b+(0-(c<<1))|0,c);EG(e,f+64|0,32);jI(a,f+96|0,e,c,32);$c=d;return}function zv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+592|0;if(($c|0)>=(ad|0))N(592);f=d+256|0;e=d;zG(f,b+(0-(c<<1))|0,c);AG(e,f+32|0,16);iI(a,f+48|0,e,c,16);$c=d;return}function Av(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+1184|0;if(($c|0)>=(ad|0))N(1184);f=d+512|0;e=d;vG(f,b+(0-(c<<1))|0,c);wG(e,f+64|0,32);hI(a,f+96|0,e,c,32);$c=d;return}function Bv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1696|0;if(($c|0)>=(ad|0))N(1696);g=d+1024|0;f=d+512|0;e=d;KG(f,b+c|0,32,c);LG(g,b+(0-(c<<1))|0,c);MG(e,g+64|0,32);lI(a,f,e,c,32);$c=d;return}function Cv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1696|0;if(($c|0)>=(ad|0))N(1696);g=d+1024|0;f=d+512|0;e=d;GG(f,b+c|0,32,c);HG(g,b+(0-(c<<1))|0,c);IG(e,g+64|0,32);kI(a,f,e,c,32);$c=d;return}function Dv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1696|0;if(($c|0)>=(ad|0))N(1696);g=d+1024|0;f=d+512|0;e=d;CG(f,b+c|0,32,c);DG(g,b+(0-(c<<1))|0,c);EG(e,g+64|0,32);jI(a,f,e,c,32);$c=d;return}function Ev(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+848|0;if(($c|0)>=(ad|0))N(848);g=d+512|0;f=d+256|0;e=d;yG(f,b+c|0,16,c);zG(g,b+(0-(c<<1))|0,c);AG(e,g+32|0,16);iI(a,f,e,c,16);$c=d;return}function Fv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1696|0;if(($c|0)>=(ad|0))N(1696);g=d+1024|0;f=d+512|0;e=d;uG(f,b+c|0,32,c);vG(g,b+(0-(c<<1))|0,c);wG(e,g+64|0,32);hI(a,f,e,c,32);$c=d;return}function Gv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+3712|0;if(($c|0)>=(ad|0))N(3712);f=d+3200|0;e=d+2688|0;KG(f,b+c|0,32,c);SG(e,d,b,32,c);lI(a,f,e,c,32);$c=d;return}function Hv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+3712|0;if(($c|0)>=(ad|0))N(3712);f=d+3200|0;e=d+2688|0;GG(f,b+c|0,32,c);RG(e,d,b,32,c);kI(a,f,e,c,32);$c=d;return}function Iv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+2368|0;if(($c|0)>=(ad|0))N(2368);f=d+1856|0;e=d+1344|0;CG(f,b+c|0,32,c);QG(e,d,b,32,c);jI(a,f,e,c,32);$c=d;return}function Jv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+1184|0;if(($c|0)>=(ad|0))N(1184);f=d+928|0;e=d+672|0;yG(f,b+c|0,16,c);PG(e,d,b,16,c);iI(a,f,e,c,16);$c=d;return}function Kv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+2368|0;if(($c|0)>=(ad|0))N(2368);f=d+1856|0;e=d+1344|0;uG(f,b+c|0,32,c);OG(e,d,b,32,c);hI(a,f,e,c,32);$c=d;return}function Lv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1696|0;if(($c|0)>=(ad|0))N(1696);g=d+1024|0;f=d+512|0;e=d;KG(f,b+c|0,32,c);LG(g,b+(0-(c<<1))+2|0,c);MG(e,g+64|0,32);lI(a,f,e,c,32);$c=d;return}function Mv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1696|0;if(($c|0)>=(ad|0))N(1696);g=d+1024|0;f=d+512|0;e=d;GG(f,b+c|0,32,c);HG(g,b+(0-(c<<1))+2|0,c);IG(e,g+64|0,32);kI(a,f,e,c,32);$c=d;return}function Nv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1696|0;if(($c|0)>=(ad|0))N(1696);g=d+1024|0;f=d+512|0;e=d;CG(f,b+c|0,32,c);DG(g,b+(0-(c<<1))+2|0,c);EG(e,g+64|0,32);jI(a,f,e,c,32);$c=d;return}function Ov(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+848|0;if(($c|0)>=(ad|0))N(848);g=d+512|0;f=d+256|0;e=d;yG(f,b+c|0,16,c);zG(g,b+(0-(c<<1))+1|0,c);AG(e,g+32|0,16);iI(a,f,e,c,16);$c=d;return}function Pv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1696|0;if(($c|0)>=(ad|0))N(1696);g=d+1024|0;f=d+512|0;e=d;uG(f,b+c|0,32,c);vG(g,b+(0-(c<<1))+2|0,c);wG(e,g+64|0,32);hI(a,f,e,c,32);$c=d;return}function Qv(a,b,c){a=a|0;b=b|0;c=c|0;gI(a,b,c,8);return}function Rv(a,b,c){a=a|0;b=b|0;c=c|0;fI(a,b,c,8);return}function Sv(a,b,c){a=a|0;b=b|0;c=c|0;eI(a,b,c,8);return}function Tv(a,b,c){a=a|0;b=b|0;c=c|0;dI(a,b,c,8);return}function Uv(a,b,c){a=a|0;b=b|0;c=c|0;cI(a,b,c,8);return}function Vv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+128|0;if(($c|0)>=(ad|0))N(128);e=d;TF(e,b,16,c);bI(a,b,e,c,c,16,8);$c=d;return}function Wv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+128|0;if(($c|0)>=(ad|0))N(128);e=d;PF(e,b,16,c);aI(a,b,e,c,c,16,8);$c=d;return}function Xv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+128|0;if(($c|0)>=(ad|0))N(128);e=d;LF(e,b,16,c);$H(a,b,e,c,c,16,8);$c=d;return}function Yv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+64|0;if(($c|0)>=(ad|0))N(64);e=d;HF(e,b,8,c);_H(a,b,e,c,c,8,8);$c=d;return}function Zv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+128|0;if(($c|0)>=(ad|0))N(128);e=d;DF(e,b,16,c);ZH(a,b,e,c,c,16,8);$c=d;return}function _v(a,b,c){a=a|0;b=b|0;c=c|0;TF(a,b,c,c);return}function $v(a,b,c){a=a|0;b=b|0;c=c|0;PF(a,b,c,c);return}function aw(a,b,c){a=a|0;b=b|0;c=c|0;LF(a,b,c,c);return}function bw(a,b,c){a=a|0;b=b|0;c=c|0;HF(a,b,c,c);return}function cw(a,b,c){a=a|0;b=b|0;c=c|0;DF(a,b,c,c);return}function dw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+128|0;if(($c|0)>=(ad|0))N(128);e=d;TF(e,b,16,c);bI(a,b+2|0,e,c,c,16,8);$c=d;return}function ew(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+128|0;if(($c|0)>=(ad|0))N(128);e=d;PF(e,b,16,c);aI(a,b+2|0,e,c,c,16,8);$c=d;return}function fw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+128|0;if(($c|0)>=(ad|0))N(128);e=d;LF(e,b,16,c);$H(a,b+2|0,e,c,c,16,8);$c=d;return}function gw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+64|0;if(($c|0)>=(ad|0))N(64);e=d;HF(e,b,8,c);_H(a,b+1|0,e,c,c,8,8);$c=d;return}function hw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+128|0;if(($c|0)>=(ad|0))N(128);e=d;DF(e,b,16,c);ZH(a,b+2|0,e,c,c,16,8);$c=d;return}function iw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+336|0;if(($c|0)>=(ad|0))N(336);g=d+128|0;e=d;f=g+32|0;UF(g,b+(0-(c<<1))|0,c);VF(e,f,16,16);bI(a,f,e,c,16,16,8);$c=d;return}function jw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+336|0;if(($c|0)>=(ad|0))N(336);g=d+128|0;e=d;f=g+32|0;QF(g,b+(0-(c<<1))|0,c);RF(e,f,16,16);aI(a,f,e,c,16,16,8);$c=d;return}function kw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+336|0;if(($c|0)>=(ad|0))N(336);g=d+128|0;e=d;f=g+32|0;MF(g,b+(0-(c<<1))|0,c);NF(e,f,16,16);$H(a,f,e,c,16,16,8);$c=d;return}function lw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+176|0;if(($c|0)>=(ad|0))N(176);g=d+64|0;e=d;f=g+16|0;IF(g,b+(0-(c<<1))|0,c);JF(e,f,8,8);_H(a,f,e,c,8,8,8);$c=d;return}function mw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+336|0;if(($c|0)>=(ad|0))N(336);g=d+128|0;e=d;f=g+32|0;EF(g,b+(0-(c<<1))|0,c);FF(e,f,16,16);ZH(a,f,e,c,16,16,8);$c=d;return}function nw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+464|0;if(($c|0)>=(ad|0))N(464);g=d+256|0;f=d+128|0;e=d;TF(f,b,16,c);UF(g,b+(0-(c<<1))|0,c);VF(e,g+32|0,16,16);bI(a,f,e,c,16,16,8);$c=d;return}function ow(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+464|0;if(($c|0)>=(ad|0))N(464);g=d+256|0;f=d+128|0;e=d;PF(f,b,16,c);QF(g,b+(0-(c<<1))|0,c);RF(e,g+32|0,16,16);aI(a,f,e,c,16,16,8);$c=d;return}function pw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+464|0;if(($c|0)>=(ad|0))N(464);g=d+256|0;f=d+128|0;e=d;LF(f,b,16,c);MF(g,b+(0-(c<<1))|0,c);NF(e,g+32|0,16,16);$H(a,f,e,c,16,16,8);$c=d;return}function qw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+240|0;if(($c|0)>=(ad|0))N(240);g=d+128|0;f=d+64|0;e=d;HF(f,b,8,c);IF(g,b+(0-(c<<1))|0,c);JF(e,g+16|0,8,8);_H(a,f,e,c,8,8,8);$c=d;return}function rw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+464|0;if(($c|0)>=(ad|0))N(464);g=d+256|0;f=d+128|0;e=d;DF(f,b,16,c);EF(g,b+(0-(c<<1))|0,c);FF(e,g+32|0,16,16);ZH(a,f,e,c,16,16,8);$c=d;return}function sw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+1088|0;if(($c|0)>=(ad|0))N(1088);f=d+960|0;e=d+832|0;TF(f,b,16,c);$F(e,d,b,16,16,c);bI(a,f,e,c,16,16,8);$c=d;return}function tw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+1088|0;if(($c|0)>=(ad|0))N(1088);f=d+960|0;e=d+832|0;PF(f,b,16,c);_F(e,d,b,16,16,c);aI(a,f,e,c,16,16,8);$c=d;return}function uw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+672|0;if(($c|0)>=(ad|0))N(672);f=d+544|0;e=d+416|0;LF(f,b,16,c);ZF(e,d,b,16,16,c);$H(a,f,e,c,16,16,8);$c=d;return}function vw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+336|0;if(($c|0)>=(ad|0))N(336);f=d+272|0;e=d+208|0;HF(f,b,8,c);YF(e,d,b,8,8,c);_H(a,f,e,c,8,8,8);$c=d;return}function ww(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+672|0;if(($c|0)>=(ad|0))N(672);f=d+544|0;e=d+416|0;DF(f,b,16,c);XF(e,d,b,16,16,c);ZH(a,f,e,c,16,16,8);$c=d;return}function xw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+464|0;if(($c|0)>=(ad|0))N(464);g=d+256|0;f=d+128|0;e=d;TF(f,b,16,c);UF(g,b+(0-(c<<1))+2|0,c);VF(e,g+32|0,16,16);bI(a,f,e,c,16,16,8);$c=d;return}function yw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+464|0;if(($c|0)>=(ad|0))N(464);g=d+256|0;f=d+128|0;e=d;PF(f,b,16,c);QF(g,b+(0-(c<<1))+2|0,c);RF(e,g+32|0,16,16);aI(a,f,e,c,16,16,8);$c=d;return}function zw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+464|0;if(($c|0)>=(ad|0))N(464);g=d+256|0;f=d+128|0;e=d;LF(f,b,16,c);MF(g,b+(0-(c<<1))+2|0,c);NF(e,g+32|0,16,16);$H(a,f,e,c,16,16,8);$c=d;return}function Aw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+240|0;if(($c|0)>=(ad|0))N(240);g=d+128|0;f=d+64|0;e=d;HF(f,b,8,c);IF(g,b+(0-(c<<1))+1|0,c);JF(e,g+16|0,8,8);_H(a,f,e,c,8,8,8);$c=d;return}function Bw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+464|0;if(($c|0)>=(ad|0))N(464);g=d+256|0;f=d+128|0;e=d;DF(f,b,16,c);EF(g,b+(0-(c<<1))+2|0,c);FF(e,g+32|0,16,16);ZH(a,f,e,c,16,16,8);$c=d;return}function Cw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+208|0;if(($c|0)>=(ad|0))N(208);e=d;UF(e,b+(0-(c<<1))|0,c);VF(a,e+32|0,c,16);$c=d;return}function Dw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+208|0;if(($c|0)>=(ad|0))N(208);e=d;QF(e,b+(0-(c<<1))|0,c);RF(a,e+32|0,c,16);$c=d;return}function Ew(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+208|0;if(($c|0)>=(ad|0))N(208);e=d;MF(e,b+(0-(c<<1))|0,c);NF(a,e+32|0,c,16);$c=d;return}function Fw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+112|0;if(($c|0)>=(ad|0))N(112);e=d;IF(e,b+(0-(c<<1))|0,c);JF(a,e+16|0,c,8);$c=d;return}function Gw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+208|0;if(($c|0)>=(ad|0))N(208);e=d;EF(e,b+(0-(c<<1))|0,c);FF(a,e+32|0,c,16);$c=d;return}function Hw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1296|0;if(($c|0)>=(ad|0))N(1296);g=d+1088|0;f=d+960|0;e=d+832|0;UF(g,b+(0-(c<<1))|0,c);VF(f,g+32|0,16,16);$F(e,d,b,16,16,c);bI(a,f,e,c,16,16,8);$c=d;return}function Iw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1296|0;if(($c|0)>=(ad|0))N(1296);g=d+1088|0;f=d+960|0;e=d+832|0;QF(g,b+(0-(c<<1))|0,c);RF(f,g+32|0,16,16);_F(e,d,b,16,16,c);aI(a,f,e,c,16,16,8);$c=d;return}function Jw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+880|0;if(($c|0)>=(ad|0))N(880);g=d+672|0;f=d+544|0;e=d+416|0;MF(g,b+(0-(c<<1))|0,c);NF(f,g+32|0,16,16);ZF(e,d,b,16,16,c);$H(a,f,e,c,16,16,8);$c=d;return}function Kw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+448|0;if(($c|0)>=(ad|0))N(448);g=d+336|0;f=d+272|0;e=d+208|0;IF(g,b+(0-(c<<1))|0,c);JF(f,g+16|0,8,8);YF(e,d,b,8,8,c);_H(a,f,e,c,8,8,8);$c=d;return}function Lw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+880|0;if(($c|0)>=(ad|0))N(880);g=d+672|0;f=d+544|0;e=d+416|0;EF(g,b+(0-(c<<1))|0,c);FF(f,g+32|0,16,16);XF(e,d,b,16,16,c);ZH(a,f,e,c,16,16,8);$c=d;return}function Mw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+832|0;if(($c|0)>=(ad|0))N(832);$F(a,d,b,c,16,c);$c=d;return}function Nw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+832|0;if(($c|0)>=(ad|0))N(832);_F(a,d,b,c,16,c);$c=d;return}function Ow(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+416|0;if(($c|0)>=(ad|0))N(416);ZF(a,d,b,c,16,c);$c=d;return}function Pw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+208|0;if(($c|0)>=(ad|0))N(208);YF(a,d,b,c,8,c);$c=d;return}function Qw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+416|0;if(($c|0)>=(ad|0))N(416);XF(a,d,b,c,16,c);$c=d;return}function Rw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1296|0;if(($c|0)>=(ad|0))N(1296);g=d+1088|0;f=d+960|0;e=d+832|0;UF(g,b+(0-(c<<1))+2|0,c);VF(f,g+32|0,16,16);$F(e,d,b,16,16,c);bI(a,f,e,c,16,16,8);$c=d;return}function Sw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1296|0;if(($c|0)>=(ad|0))N(1296);g=d+1088|0;f=d+960|0;e=d+832|0;QF(g,b+(0-(c<<1))+2|0,c);RF(f,g+32|0,16,16);_F(e,d,b,16,16,c);aI(a,f,e,c,16,16,8);$c=d;return}function Tw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+880|0;if(($c|0)>=(ad|0))N(880);g=d+672|0;f=d+544|0;e=d+416|0;MF(g,b+(0-(c<<1))+2|0,c);NF(f,g+32|0,16,16);ZF(e,d,b,16,16,c);$H(a,f,e,c,16,16,8);$c=d;return}function Uw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+448|0;if(($c|0)>=(ad|0))N(448);g=d+336|0;f=d+272|0;e=d+208|0;IF(g,b+(0-(c<<1))+1|0,c);JF(f,g+16|0,8,8);YF(e,d,b,8,8,c);_H(a,f,e,c,8,8,8);$c=d;return}function Vw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+880|0;if(($c|0)>=(ad|0))N(880);g=d+672|0;f=d+544|0;e=d+416|0;EF(g,b+(0-(c<<1))+2|0,c);FF(f,g+32|0,16,16);XF(e,d,b,16,16,c);ZH(a,f,e,c,16,16,8);$c=d;return}function Ww(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+336|0;if(($c|0)>=(ad|0))N(336);f=d+128|0;e=d;UF(f,b+(0-(c<<1))|0,c);VF(e,f+32|0,16,16);bI(a,f+48|0,e,c,16,16,8);$c=d;return}function Xw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+336|0;if(($c|0)>=(ad|0))N(336);f=d+128|0;e=d;QF(f,b+(0-(c<<1))|0,c);RF(e,f+32|0,16,16);aI(a,f+48|0,e,c,16,16,8);$c=d;return}function Yw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+336|0;if(($c|0)>=(ad|0))N(336);f=d+128|0;e=d;MF(f,b+(0-(c<<1))|0,c);NF(e,f+32|0,16,16);$H(a,f+48|0,e,c,16,16,8);$c=d;return}function Zw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+176|0;if(($c|0)>=(ad|0))N(176);f=d+64|0;e=d;IF(f,b+(0-(c<<1))|0,c);JF(e,f+16|0,8,8);_H(a,f+24|0,e,c,8,8,8);$c=d;return}function _w(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+336|0;if(($c|0)>=(ad|0))N(336);f=d+128|0;e=d;EF(f,b+(0-(c<<1))|0,c);FF(e,f+32|0,16,16);ZH(a,f+48|0,e,c,16,16,8);$c=d;return}function $w(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+464|0;if(($c|0)>=(ad|0))N(464);g=d+256|0;f=d+128|0;e=d;TF(f,b+c|0,16,c);UF(g,b+(0-(c<<1))|0,c);VF(e,g+32|0,16,16);bI(a,f,e,c,16,16,8);$c=d;return}function ax(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+464|0;if(($c|0)>=(ad|0))N(464);g=d+256|0;f=d+128|0;e=d;PF(f,b+c|0,16,c);QF(g,b+(0-(c<<1))|0,c);RF(e,g+32|0,16,16);aI(a,f,e,c,16,16,8);$c=d;return}function bx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+464|0;if(($c|0)>=(ad|0))N(464);g=d+256|0;f=d+128|0;e=d;LF(f,b+c|0,16,c);MF(g,b+(0-(c<<1))|0,c);NF(e,g+32|0,16,16);$H(a,f,e,c,16,16,8);$c=d;return}function cx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+240|0;if(($c|0)>=(ad|0))N(240);g=d+128|0;f=d+64|0;e=d;HF(f,b+c|0,8,c);IF(g,b+(0-(c<<1))|0,c);JF(e,g+16|0,8,8);_H(a,f,e,c,8,8,8);$c=d;return}function dx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+464|0;if(($c|0)>=(ad|0))N(464);g=d+256|0;f=d+128|0;e=d;DF(f,b+c|0,16,c);EF(g,b+(0-(c<<1))|0,c);FF(e,g+32|0,16,16);ZH(a,f,e,c,16,16,8);$c=d;return}function ex(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+1088|0;if(($c|0)>=(ad|0))N(1088);f=d+960|0;e=d+832|0;TF(f,b+c|0,16,c);$F(e,d,b,16,16,c);bI(a,f,e,c,16,16,8);$c=d;return}function fx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+1088|0;if(($c|0)>=(ad|0))N(1088);f=d+960|0;e=d+832|0;PF(f,b+c|0,16,c);_F(e,d,b,16,16,c);aI(a,f,e,c,16,16,8);$c=d;return}function gx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+672|0;if(($c|0)>=(ad|0))N(672);f=d+544|0;e=d+416|0;LF(f,b+c|0,16,c);ZF(e,d,b,16,16,c);$H(a,f,e,c,16,16,8);$c=d;return}function hx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+336|0;if(($c|0)>=(ad|0))N(336);f=d+272|0;e=d+208|0;HF(f,b+c|0,8,c);YF(e,d,b,8,8,c);_H(a,f,e,c,8,8,8);$c=d;return}function ix(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+672|0;if(($c|0)>=(ad|0))N(672);f=d+544|0;e=d+416|0;DF(f,b+c|0,16,c);XF(e,d,b,16,16,c);ZH(a,f,e,c,16,16,8);$c=d;return}function jx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+464|0;if(($c|0)>=(ad|0))N(464);g=d+256|0;f=d+128|0;e=d;TF(f,b+c|0,16,c);UF(g,b+(0-(c<<1))+2|0,c);VF(e,g+32|0,16,16);bI(a,f,e,c,16,16,8);$c=d;return}function kx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+464|0;if(($c|0)>=(ad|0))N(464);g=d+256|0;f=d+128|0;e=d;PF(f,b+c|0,16,c);QF(g,b+(0-(c<<1))+2|0,c);RF(e,g+32|0,16,16);aI(a,f,e,c,16,16,8);$c=d;return}function lx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+464|0;if(($c|0)>=(ad|0))N(464);g=d+256|0;f=d+128|0;e=d;LF(f,b+c|0,16,c);MF(g,b+(0-(c<<1))+2|0,c);NF(e,g+32|0,16,16);$H(a,f,e,c,16,16,8);$c=d;return}function mx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+240|0;if(($c|0)>=(ad|0))N(240);g=d+128|0;f=d+64|0;e=d;HF(f,b+c|0,8,c);IF(g,b+(0-(c<<1))+1|0,c);JF(e,g+16|0,8,8);_H(a,f,e,c,8,8,8);$c=d;return}function nx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+464|0;if(($c|0)>=(ad|0))N(464);g=d+256|0;f=d+128|0;e=d;DF(f,b+c|0,16,c);EF(g,b+(0-(c<<1))+2|0,c);FF(e,g+32|0,16,16);ZH(a,f,e,c,16,16,8);$c=d;return}function ox(a,b,c){a=a|0;b=b|0;c=c|0;YH(a,b,c);return}function px(a,b,c){a=a|0;b=b|0;c=c|0;XH(a,b,c);return}function qx(a,b,c){a=a|0;b=b|0;c=c|0;WH(a,b,c);return}function rx(a,b,c){a=a|0;b=b|0;c=c|0;VH(a,b,c);return}function sx(a,b,c){a=a|0;b=b|0;c=c|0;UH(a,b,c);return}function tx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);e=d;aF(e,b,8,c);TH(a,b,e,c,c);$c=d;return}function ux(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);e=d;YE(e,b,8,c);SH(a,b,e,c,c);$c=d;return}function vx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);e=d;UE(e,b,8,c);RH(a,b,e,c,c);$c=d;return}function wx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=d;PE(e,b,4,c);QH(a,b,e,c,c);$c=d;return}function xx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);e=d;KE(e,b,8,c);PH(a,b,e,c,c);$c=d;return}function yx(a,b,c){a=a|0;b=b|0;c=c|0;aF(a,b,c,c);return}function zx(a,b,c){a=a|0;b=b|0;c=c|0;YE(a,b,c,c);return}function Ax(a,b,c){a=a|0;b=b|0;c=c|0;UE(a,b,c,c);return}function Bx(a,b,c){a=a|0;b=b|0;c=c|0;PE(a,b,c,c);return}function Cx(a,b,c){a=a|0;b=b|0;c=c|0;KE(a,b,c,c);return}function Dx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);e=d;aF(e,b,8,c);TH(a,b+2|0,e,c,c);$c=d;return}function Ex(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);e=d;YE(e,b,8,c);SH(a,b+2|0,e,c,c);$c=d;return}function Fx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);e=d;UE(e,b,8,c);RH(a,b+2|0,e,c,c);$c=d;return}function Gx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=d;PE(e,b,4,c);QH(a,b+1|0,e,c,c);$c=d;return}function Hx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);e=d;KE(e,b,8,c);PH(a,b+2|0,e,c,c);$c=d;return}function Ix(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+112|0;if(($c|0)>=(ad|0))N(112);g=d+32|0;e=d;f=g+16|0;bF(g,b+(0-(c<<1))|0,c);cF(e,f,8);TH(a,f,e,c,8);$c=d;return}function Jx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+112|0;if(($c|0)>=(ad|0))N(112);g=d+32|0;e=d;f=g+16|0;ZE(g,b+(0-(c<<1))|0,c);_E(e,f,8);SH(a,f,e,c,8);$c=d;return}function Kx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+112|0;if(($c|0)>=(ad|0))N(112);g=d+32|0;e=d;f=g+16|0;VE(g,b+(0-(c<<1))|0,c);WE(e,f,8);RH(a,f,e,c,8);$c=d;return}function Lx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+64|0;if(($c|0)>=(ad|0))N(64);g=d+16|0;e=d;f=g+8|0;QE(g,b+(0-(c<<1))|0,c);RE(e,f,4);QH(a,f,e,c,4);$c=d;return}function Mx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+112|0;if(($c|0)>=(ad|0))N(112);g=d+32|0;e=d;f=g+16|0;LE(g,b+(0-(c<<1))|0,c);ME(e,f,8);PH(a,f,e,c,8);$c=d;return}function Nx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+64|0;f=d+32|0;e=d;aF(f,b,8,c);bF(g,b+(0-(c<<1))|0,c);cF(e,g+16|0,8);TH(a,f,e,c,8);$c=d;return}function Ox(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+64|0;f=d+32|0;e=d;YE(f,b,8,c);ZE(g,b+(0-(c<<1))|0,c);_E(e,g+16|0,8);SH(a,f,e,c,8);$c=d;return}function Px(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+64|0;f=d+32|0;e=d;UE(f,b,8,c);VE(g,b+(0-(c<<1))|0,c);WE(e,g+16|0,8);RH(a,f,e,c,8);$c=d;return}function Qx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+80|0;if(($c|0)>=(ad|0))N(80);g=d+32|0;f=d+16|0;e=d;PE(f,b,4,c);QE(g,b+(0-(c<<1))|0,c);RE(e,g+8|0,4);QH(a,f,e,c,4);$c=d;return}function Rx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+64|0;f=d+32|0;e=d;KE(f,b,8,c);LE(g,b+(0-(c<<1))|0,c);ME(e,g+16|0,8);PH(a,f,e,c,8);$c=d;return}function Sx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+352|0;if(($c|0)>=(ad|0))N(352);f=d+320|0;e=d+288|0;aF(f,b,8,c);iF(e,d,b,8,c);TH(a,f,e,c,8);$c=d;return}function Tx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+352|0;if(($c|0)>=(ad|0))N(352);f=d+320|0;e=d+288|0;YE(f,b,8,c);hF(e,d,b,8,c);SH(a,f,e,c,8);$c=d;return}function Ux(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+208|0;if(($c|0)>=(ad|0))N(208);f=d+176|0;e=d+144|0;UE(f,b,8,c);gF(e,d,b,8,c);RH(a,f,e,c,8);$c=d;return}function Vx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+112|0;if(($c|0)>=(ad|0))N(112);f=d+88|0;e=d+72|0;PE(f,b,4,c);fF(e,d,b,4,c);QH(a,f,e,c,4);$c=d;return}function Wx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+208|0;if(($c|0)>=(ad|0))N(208);f=d+176|0;e=d+144|0;KE(f,b,8,c);eF(e,d,b,8,c);PH(a,f,e,c,8);$c=d;return}function Xx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+64|0;f=d+32|0;e=d;aF(f,b,8,c);bF(g,b+(0-(c<<1))+2|0,c);cF(e,g+16|0,8);TH(a,f,e,c,8);$c=d;return}function Yx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+64|0;f=d+32|0;e=d;YE(f,b,8,c);ZE(g,b+(0-(c<<1))+2|0,c);_E(e,g+16|0,8);SH(a,f,e,c,8);$c=d;return}function Zx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+64|0;f=d+32|0;e=d;UE(f,b,8,c);VE(g,b+(0-(c<<1))+2|0,c);WE(e,g+16|0,8);RH(a,f,e,c,8);$c=d;return}function _x(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+80|0;if(($c|0)>=(ad|0))N(80);g=d+32|0;f=d+16|0;e=d;PE(f,b,4,c);QE(g,b+(0-(c<<1))+1|0,c);RE(e,g+8|0,4);QH(a,f,e,c,4);$c=d;return}function $x(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+64|0;f=d+32|0;e=d;KE(f,b,8,c);LE(g,b+(0-(c<<1))+2|0,c);ME(e,g+16|0,8);PH(a,f,e,c,8);$c=d;return}function ay(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+80|0;if(($c|0)>=(ad|0))N(80);e=d;bF(e,b+(0-(c<<1))|0,c);cF(a,e+16|0,c);$c=d;return}function by(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+80|0;if(($c|0)>=(ad|0))N(80);e=d;ZE(e,b+(0-(c<<1))|0,c);_E(a,e+16|0,c);$c=d;return}function cy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+80|0;if(($c|0)>=(ad|0))N(80);e=d;VE(e,b+(0-(c<<1))|0,c);WE(a,e+16|0,c);$c=d;return}function dy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);e=d;QE(e,b+(0-(c<<1))|0,c);RE(a,e+8|0,c);$c=d;return}function ey(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+80|0;if(($c|0)>=(ad|0))N(80);e=d;LE(e,b+(0-(c<<1))|0,c);ME(a,e+16|0,c);$c=d;return}function fy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+432|0;if(($c|0)>=(ad|0))N(432);g=d+352|0;f=d+320|0;e=d+288|0;bF(g,b+(0-(c<<1))|0,c);cF(f,g+16|0,8);iF(e,d,b,8,c);TH(a,f,e,c,8);$c=d;return}function gy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+432|0;if(($c|0)>=(ad|0))N(432);g=d+352|0;f=d+320|0;e=d+288|0;ZE(g,b+(0-(c<<1))|0,c);_E(f,g+16|0,8);hF(e,d,b,8,c);SH(a,f,e,c,8);$c=d;return}function hy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+288|0;if(($c|0)>=(ad|0))N(288);g=d+208|0;f=d+176|0;e=d+144|0;VE(g,b+(0-(c<<1))|0,c);WE(f,g+16|0,8);gF(e,d,b,8,c);RH(a,f,e,c,8);$c=d;return}function iy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+104|0;f=d+88|0;e=d+72|0;QE(g,b+(0-(c<<1))|0,c);RE(f,g+8|0,4);fF(e,d,b,4,c);QH(a,f,e,c,4);$c=d;return}function jy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+288|0;if(($c|0)>=(ad|0))N(288);g=d+208|0;f=d+176|0;e=d+144|0;LE(g,b+(0-(c<<1))|0,c);ME(f,g+16|0,8);eF(e,d,b,8,c);PH(a,f,e,c,8);$c=d;return}function ky(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+288|0;if(($c|0)>=(ad|0))N(288);iF(a,d,b,c,c);$c=d;return}function ly(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+288|0;if(($c|0)>=(ad|0))N(288);hF(a,d,b,c,c);$c=d;return}function my(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);gF(a,d,b,c,c);$c=d;return}function ny(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+80|0;if(($c|0)>=(ad|0))N(80);fF(a,d,b,c,c);$c=d;return}function oy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);eF(a,d,b,c,c);$c=d;return}function py(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+432|0;if(($c|0)>=(ad|0))N(432);g=d+352|0;f=d+320|0;e=d+288|0;bF(g,b+(0-(c<<1))+2|0,c);cF(f,g+16|0,8);iF(e,d,b,8,c);TH(a,f,e,c,8);$c=d;return}function qy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+432|0;if(($c|0)>=(ad|0))N(432);g=d+352|0;f=d+320|0;e=d+288|0;ZE(g,b+(0-(c<<1))+2|0,c);_E(f,g+16|0,8);hF(e,d,b,8,c);SH(a,f,e,c,8);$c=d;return}function ry(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+288|0;if(($c|0)>=(ad|0))N(288);g=d+208|0;f=d+176|0;e=d+144|0;VE(g,b+(0-(c<<1))+2|0,c);WE(f,g+16|0,8);gF(e,d,b,8,c);RH(a,f,e,c,8);$c=d;return}function sy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+104|0;f=d+88|0;e=d+72|0;QE(g,b+(0-(c<<1))+1|0,c);RE(f,g+8|0,4);fF(e,d,b,4,c);QH(a,f,e,c,4);$c=d;return}function ty(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+288|0;if(($c|0)>=(ad|0))N(288);g=d+208|0;f=d+176|0;e=d+144|0;LE(g,b+(0-(c<<1))+2|0,c);ME(f,g+16|0,8);eF(e,d,b,8,c);PH(a,f,e,c,8);$c=d;return}function uy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+112|0;if(($c|0)>=(ad|0))N(112);f=d+32|0;e=d;bF(f,b+(0-(c<<1))|0,c);cF(e,f+16|0,8);TH(a,f+24|0,e,c,8);$c=d;return}function vy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+112|0;if(($c|0)>=(ad|0))N(112);f=d+32|0;e=d;ZE(f,b+(0-(c<<1))|0,c);_E(e,f+16|0,8);SH(a,f+24|0,e,c,8);$c=d;return}function wy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+112|0;if(($c|0)>=(ad|0))N(112);f=d+32|0;e=d;VE(f,b+(0-(c<<1))|0,c);WE(e,f+16|0,8);RH(a,f+24|0,e,c,8);$c=d;return}function xy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+64|0;if(($c|0)>=(ad|0))N(64);f=d+16|0;e=d;QE(f,b+(0-(c<<1))|0,c);RE(e,f+8|0,4);QH(a,f+12|0,e,c,4);$c=d;return}function yy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+112|0;if(($c|0)>=(ad|0))N(112);f=d+32|0;e=d;LE(f,b+(0-(c<<1))|0,c);ME(e,f+16|0,8);PH(a,f+24|0,e,c,8);$c=d;return}function zy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+64|0;f=d+32|0;e=d;aF(f,b+c|0,8,c);bF(g,b+(0-(c<<1))|0,c);cF(e,g+16|0,8);TH(a,f,e,c,8);$c=d;return}function Ay(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+64|0;f=d+32|0;e=d;YE(f,b+c|0,8,c);ZE(g,b+(0-(c<<1))|0,c);_E(e,g+16|0,8);SH(a,f,e,c,8);$c=d;return}function By(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+64|0;f=d+32|0;e=d;UE(f,b+c|0,8,c);VE(g,b+(0-(c<<1))|0,c);WE(e,g+16|0,8);RH(a,f,e,c,8);$c=d;return}function Cy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+80|0;if(($c|0)>=(ad|0))N(80);g=d+32|0;f=d+16|0;e=d;PE(f,b+c|0,4,c);QE(g,b+(0-(c<<1))|0,c);RE(e,g+8|0,4);QH(a,f,e,c,4);$c=d;return}function Dy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+64|0;f=d+32|0;e=d;KE(f,b+c|0,8,c);LE(g,b+(0-(c<<1))|0,c);ME(e,g+16|0,8);PH(a,f,e,c,8);$c=d;return}function Ey(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+352|0;if(($c|0)>=(ad|0))N(352);f=d+320|0;e=d+288|0;aF(f,b+c|0,8,c);iF(e,d,b,8,c);TH(a,f,e,c,8);$c=d;return}function Fy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+352|0;if(($c|0)>=(ad|0))N(352);f=d+320|0;e=d+288|0;YE(f,b+c|0,8,c);hF(e,d,b,8,c);SH(a,f,e,c,8);$c=d;return}function Gy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+208|0;if(($c|0)>=(ad|0))N(208);f=d+176|0;e=d+144|0;UE(f,b+c|0,8,c);gF(e,d,b,8,c);RH(a,f,e,c,8);$c=d;return}function Hy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+112|0;if(($c|0)>=(ad|0))N(112);f=d+88|0;e=d+72|0;PE(f,b+c|0,4,c);fF(e,d,b,4,c);QH(a,f,e,c,4);$c=d;return}function Iy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+208|0;if(($c|0)>=(ad|0))N(208);f=d+176|0;e=d+144|0;KE(f,b+c|0,8,c);eF(e,d,b,8,c);PH(a,f,e,c,8);$c=d;return}function Jy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+64|0;f=d+32|0;e=d;aF(f,b+c|0,8,c);bF(g,b+(0-(c<<1))+2|0,c);cF(e,g+16|0,8);TH(a,f,e,c,8);$c=d;return}function Ky(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+64|0;f=d+32|0;e=d;YE(f,b+c|0,8,c);ZE(g,b+(0-(c<<1))+2|0,c);_E(e,g+16|0,8);SH(a,f,e,c,8);$c=d;return}function Ly(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+64|0;f=d+32|0;e=d;UE(f,b+c|0,8,c);VE(g,b+(0-(c<<1))+2|0,c);WE(e,g+16|0,8);RH(a,f,e,c,8);$c=d;return}function My(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+80|0;if(($c|0)>=(ad|0))N(80);g=d+32|0;f=d+16|0;e=d;PE(f,b+c|0,4,c);QE(g,b+(0-(c<<1))+1|0,c);RE(e,g+8|0,4);QH(a,f,e,c,4);$c=d;return}function Ny(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+64|0;f=d+32|0;e=d;KE(f,b+c|0,8,c);LE(g,b+(0-(c<<1))+2|0,c);ME(e,g+16|0,8);PH(a,f,e,c,8);$c=d;return}function Oy(a,b,c){a=a|0;b=b|0;c=c|0;OH(a,b,c);return}function Py(a,b,c){a=a|0;b=b|0;c=c|0;NH(a,b,c);return}function Qy(a,b,c){a=a|0;b=b|0;c=c|0;MH(a,b,c);return}function Ry(a,b,c){a=a|0;b=b|0;c=c|0;LH(a,b,c);return}function Sy(a,b,c){a=a|0;b=b|0;c=c|0;KH(a,b,c);return}function Ty(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=d;BH(e,b,4,c);EH(a,b,e,c,c);$c=d;return}function Uy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=d;xH(e,b,4,c);AH(a,b,e,c,c);$c=d;return}function Vy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=d;tH(e,b,4,c);wH(a,b,e,c,c);$c=d;return}function Wy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=d;pH(e,b,2,c);sH(a,b,e,c,c);$c=d;return}function Xy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=d;lH(e,b,4,c);oH(a,b,e,c,c);$c=d;return}function Yy(a,b,c){a=a|0;b=b|0;c=c|0;BH(a,b,c,c);return}function Zy(a,b,c){a=a|0;b=b|0;c=c|0;xH(a,b,c,c);return}function _y(a,b,c){a=a|0;b=b|0;c=c|0;tH(a,b,c,c);return}function $y(a,b,c){a=a|0;b=b|0;c=c|0;pH(a,b,c,c);return}function az(a,b,c){a=a|0;b=b|0;c=c|0;lH(a,b,c,c);return}function bz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=d;BH(e,b,4,c);EH(a,b+2|0,e,c,c);$c=d;return}function cz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=d;xH(e,b,4,c);AH(a,b+2|0,e,c,c);$c=d;return}function dz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=d;tH(e,b,4,c);wH(a,b+2|0,e,c,c);$c=d;return}function ez(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=d;pH(e,b,2,c);sH(a,b+1|0,e,c,c);$c=d;return}function fz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=d;lH(e,b,4,c);oH(a,b+2|0,e,c,c);$c=d;return}function gz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);g=d+8|0;e=d;f=g+8|0;CH(g,b+(0-(c<<1))|0,c);DH(e,f,4);EH(a,f,e,c,4);$c=d;return}function hz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);g=d+8|0;e=d;f=g+8|0;yH(g,b+(0-(c<<1))|0,c);zH(e,f,4);AH(a,f,e,c,4);$c=d;return}function iz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);g=d+8|0;e=d;f=g+8|0;uH(g,b+(0-(c<<1))|0,c);vH(e,f,4);wH(a,f,e,c,4);$c=d;return}function jz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);g=d+4|0;e=d;f=g+4|0;qH(g,b+(0-(c<<1))|0,c);rH(e,f,2);sH(a,f,e,c,2);$c=d;return}function kz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);g=d+8|0;e=d;f=g+8|0;mH(g,b+(0-(c<<1))|0,c);nH(e,f,4);oH(a,f,e,c,4);$c=d;return}function lz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);g=d+16|0;f=d+8|0;e=d;BH(f,b,4,c);CH(g,b+(0-(c<<1))|0,c);DH(e,g+8|0,4);EH(a,f,e,c,4);$c=d;return}function mz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);g=d+16|0;f=d+8|0;e=d;xH(f,b,4,c);yH(g,b+(0-(c<<1))|0,c);zH(e,g+8|0,4);AH(a,f,e,c,4);$c=d;return}function nz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);g=d+16|0;f=d+8|0;e=d;tH(f,b,4,c);uH(g,b+(0-(c<<1))|0,c);vH(e,g+8|0,4);wH(a,f,e,c,4);$c=d;return}function oz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);g=d+8|0;f=d+4|0;e=d;pH(f,b,2,c);qH(g,b+(0-(c<<1))|0,c);rH(e,g+4|0,2);sH(a,f,e,c,2);$c=d;return}function pz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);g=d+16|0;f=d+8|0;e=d;lH(f,b,4,c);mH(g,b+(0-(c<<1))|0,c);nH(e,g+8|0,4);oH(a,f,e,c,4);$c=d;return}function qz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+128|0;if(($c|0)>=(ad|0))N(128);f=d+120|0;e=d+112|0;BH(f,b,4,c);JH(e,d,b,4,c);EH(a,f,e,c,4);$c=d;return}function rz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+128|0;if(($c|0)>=(ad|0))N(128);f=d+120|0;e=d+112|0;xH(f,b,4,c);IH(e,d,b,4,c);AH(a,f,e,c,4);$c=d;return}function sz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+80|0;if(($c|0)>=(ad|0))N(80);f=d+64|0;e=d+56|0;tH(f,b,4,c);HH(e,d,b,4,c);wH(a,f,e,c,4);$c=d;return}function tz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);f=d+32|0;e=d+28|0;pH(f,b,2,c);GH(e,d,b,2,c);sH(a,f,e,c,2);$c=d;return}function uz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+80|0;if(($c|0)>=(ad|0))N(80);f=d+64|0;e=d+56|0;lH(f,b,4,c);FH(e,d,b,4,c);oH(a,f,e,c,4);$c=d;return}function vz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);g=d+16|0;f=d+8|0;e=d;BH(f,b,4,c);CH(g,b+(0-(c<<1))+2|0,c);DH(e,g+8|0,4);EH(a,f,e,c,4);$c=d;return}function wz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);g=d+16|0;f=d+8|0;e=d;xH(f,b,4,c);yH(g,b+(0-(c<<1))+2|0,c);zH(e,g+8|0,4);AH(a,f,e,c,4);$c=d;return}function xz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);g=d+16|0;f=d+8|0;e=d;tH(f,b,4,c);uH(g,b+(0-(c<<1))+2|0,c);vH(e,g+8|0,4);wH(a,f,e,c,4);$c=d;return}function yz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);g=d+8|0;f=d+4|0;e=d;pH(f,b,2,c);qH(g,b+(0-(c<<1))+1|0,c);rH(e,g+4|0,2);sH(a,f,e,c,2);$c=d;return}function zz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);g=d+16|0;f=d+8|0;e=d;lH(f,b,4,c);mH(g,b+(0-(c<<1))+2|0,c);nH(e,g+8|0,4);oH(a,f,e,c,4);$c=d;return}function Az(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);e=d;CH(e,b+(0-(c<<1))|0,c);DH(a,e+8|0,c);$c=d;return}function Bz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);e=d;yH(e,b+(0-(c<<1))|0,c);zH(a,e+8|0,c);$c=d;return}function Cz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);e=d;uH(e,b+(0-(c<<1))|0,c);vH(a,e+8|0,c);$c=d;return}function Dz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=d;qH(e,b+(0-(c<<1))|0,c);rH(a,e+4|0,c);$c=d;return}function Ez(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);e=d;mH(e,b+(0-(c<<1))|0,c);nH(a,e+8|0,c);$c=d;return}function Fz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+160|0;if(($c|0)>=(ad|0))N(160);g=d+128|0;f=d+120|0;e=d+112|0;CH(g,b+(0-(c<<1))|0,c);DH(f,g+8|0,4);JH(e,d,b,4,c);EH(a,f,e,c,4);$c=d;return}function Gz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+160|0;if(($c|0)>=(ad|0))N(160);g=d+128|0;f=d+120|0;e=d+112|0;yH(g,b+(0-(c<<1))|0,c);zH(f,g+8|0,4);IH(e,d,b,4,c);AH(a,f,e,c,4);$c=d;return}function Hz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+112|0;if(($c|0)>=(ad|0))N(112);g=d+72|0;f=d+64|0;e=d+56|0;uH(g,b+(0-(c<<1))|0,c);vH(f,g+8|0,4);HH(e,d,b,4,c);wH(a,f,e,c,4);$c=d;return}function Iz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+64|0;if(($c|0)>=(ad|0))N(64);g=d+36|0;f=d+32|0;e=d+28|0;qH(g,b+(0-(c<<1))|0,c);rH(f,g+4|0,2);GH(e,d,b,2,c);sH(a,f,e,c,2);$c=d;return}function Jz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+112|0;if(($c|0)>=(ad|0))N(112);g=d+72|0;f=d+64|0;e=d+56|0;mH(g,b+(0-(c<<1))|0,c);nH(f,g+8|0,4);FH(e,d,b,4,c);oH(a,f,e,c,4);$c=d;return}function Kz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+112|0;if(($c|0)>=(ad|0))N(112);JH(a,d,b,c,c);$c=d;return}function Lz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+112|0;if(($c|0)>=(ad|0))N(112);IH(a,d,b,c,c);$c=d;return}function Mz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+64|0;if(($c|0)>=(ad|0))N(64);HH(a,d,b,c,c);$c=d;return}function Nz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);GH(a,d,b,c,c);$c=d;return}function Oz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+64|0;if(($c|0)>=(ad|0))N(64);FH(a,d,b,c,c);$c=d;return}function Pz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+160|0;if(($c|0)>=(ad|0))N(160);g=d+128|0;f=d+120|0;e=d+112|0;CH(g,b+(0-(c<<1))+2|0,c);DH(f,g+8|0,4);JH(e,d,b,4,c);EH(a,f,e,c,4);$c=d;return}function Qz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+160|0;if(($c|0)>=(ad|0))N(160);g=d+128|0;f=d+120|0;e=d+112|0;yH(g,b+(0-(c<<1))+2|0,c);zH(f,g+8|0,4);IH(e,d,b,4,c);AH(a,f,e,c,4);$c=d;return}function Rz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+112|0;if(($c|0)>=(ad|0))N(112);g=d+72|0;f=d+64|0;e=d+56|0;uH(g,b+(0-(c<<1))+2|0,c);vH(f,g+8|0,4);HH(e,d,b,4,c);wH(a,f,e,c,4);$c=d;return}function Sz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+64|0;if(($c|0)>=(ad|0))N(64);g=d+36|0;f=d+32|0;e=d+28|0;qH(g,b+(0-(c<<1))+1|0,c);rH(f,g+4|0,2);GH(e,d,b,2,c);sH(a,f,e,c,2);$c=d;return}function Tz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+112|0;if(($c|0)>=(ad|0))N(112);g=d+72|0;f=d+64|0;e=d+56|0;mH(g,b+(0-(c<<1))+2|0,c);nH(f,g+8|0,4);FH(e,d,b,4,c);oH(a,f,e,c,4);$c=d;return}function Uz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);f=d+8|0;e=d;CH(f,b+(0-(c<<1))|0,c);DH(e,f+8|0,4);EH(a,f+12|0,e,c,4);$c=d;return}function Vz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);f=d+8|0;e=d;yH(f,b+(0-(c<<1))|0,c);zH(e,f+8|0,4);AH(a,f+12|0,e,c,4);$c=d;return}function Wz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);f=d+8|0;e=d;uH(f,b+(0-(c<<1))|0,c);vH(e,f+8|0,4);wH(a,f+12|0,e,c,4);$c=d;return}function Xz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);f=d+4|0;e=d;qH(f,b+(0-(c<<1))|0,c);rH(e,f+4|0,2);sH(a,f+6|0,e,c,2);$c=d;return}function Yz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);f=d+8|0;e=d;mH(f,b+(0-(c<<1))|0,c);nH(e,f+8|0,4);oH(a,f+12|0,e,c,4);$c=d;return}function Zz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);g=d+16|0;f=d+8|0;e=d;BH(f,b+c|0,4,c);CH(g,b+(0-(c<<1))|0,c);DH(e,g+8|0,4);EH(a,f,e,c,4);$c=d;return}function _z(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);g=d+16|0;f=d+8|0;e=d;xH(f,b+c|0,4,c);yH(g,b+(0-(c<<1))|0,c);zH(e,g+8|0,4);AH(a,f,e,c,4);$c=d;return}function $z(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);g=d+16|0;f=d+8|0;e=d;tH(f,b+c|0,4,c);uH(g,b+(0-(c<<1))|0,c);vH(e,g+8|0,4);wH(a,f,e,c,4);$c=d;return}function aA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);g=d+8|0;f=d+4|0;e=d;pH(f,b+c|0,2,c);qH(g,b+(0-(c<<1))|0,c);rH(e,g+4|0,2);sH(a,f,e,c,2);$c=d;return}function bA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);g=d+16|0;f=d+8|0;e=d;lH(f,b+c|0,4,c);mH(g,b+(0-(c<<1))|0,c);nH(e,g+8|0,4);oH(a,f,e,c,4);$c=d;return}function cA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+128|0;if(($c|0)>=(ad|0))N(128);f=d+120|0;e=d+112|0;BH(f,b+c|0,4,c);JH(e,d,b,4,c);EH(a,f,e,c,4);$c=d;return}function dA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+128|0;if(($c|0)>=(ad|0))N(128);f=d+120|0;e=d+112|0;xH(f,b+c|0,4,c);IH(e,d,b,4,c);AH(a,f,e,c,4);$c=d;return}function eA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+80|0;if(($c|0)>=(ad|0))N(80);f=d+64|0;e=d+56|0;tH(f,b+c|0,4,c);HH(e,d,b,4,c);wH(a,f,e,c,4);$c=d;return}function fA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);f=d+32|0;e=d+28|0;pH(f,b+c|0,2,c);GH(e,d,b,2,c);sH(a,f,e,c,2);$c=d;return}function gA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+80|0;if(($c|0)>=(ad|0))N(80);f=d+64|0;e=d+56|0;lH(f,b+c|0,4,c);FH(e,d,b,4,c);oH(a,f,e,c,4);$c=d;return}function hA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);g=d+16|0;f=d+8|0;e=d;BH(f,b+c|0,4,c);CH(g,b+(0-(c<<1))+2|0,c);DH(e,g+8|0,4);EH(a,f,e,c,4);$c=d;return}function iA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);g=d+16|0;f=d+8|0;e=d;xH(f,b+c|0,4,c);yH(g,b+(0-(c<<1))+2|0,c);zH(e,g+8|0,4);AH(a,f,e,c,4);$c=d;return}function jA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);g=d+16|0;f=d+8|0;e=d;tH(f,b+c|0,4,c);uH(g,b+(0-(c<<1))+2|0,c);vH(e,g+8|0,4);wH(a,f,e,c,4);$c=d;return}function kA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);g=d+8|0;f=d+4|0;e=d;pH(f,b+c|0,2,c);qH(g,b+(0-(c<<1))+1|0,c);rH(e,g+4|0,2);sH(a,f,e,c,2);$c=d;return}function lA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);g=d+16|0;f=d+8|0;e=d;lH(f,b+c|0,4,c);mH(g,b+(0-(c<<1))+2|0,c);nH(e,g+8|0,4);oH(a,f,e,c,4);$c=d;return}function mA(a,b,c){a=a|0;b=b|0;c=c|0;kH(a,b,c);return}function nA(a,b,c){a=a|0;b=b|0;c=c|0;jH(a,b,c);return}function oA(a,b,c){a=a|0;b=b|0;c=c|0;iH(a,b,c);return}function pA(a,b,c){a=a|0;b=b|0;c=c|0;hH(a,b,c);return}function qA(a,b,c){a=a|0;b=b|0;c=c|0;gH(a,b,c);return}function rA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+512|0;if(($c|0)>=(ad|0))N(512);e=d;KG(e,b,32,c);NG(a,b,e,c,c);$c=d;return}function sA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+512|0;if(($c|0)>=(ad|0))N(512);e=d;GG(e,b,32,c);JG(a,b,e,c,c);$c=d;return}function tA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+512|0;if(($c|0)>=(ad|0))N(512);e=d;CG(e,b,32,c);FG(a,b,e,c,c);$c=d;return}function uA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+256|0;if(($c|0)>=(ad|0))N(256);e=d;yG(e,b,16,c);BG(a,b,e,c,c);$c=d;return}function vA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+512|0;if(($c|0)>=(ad|0))N(512);e=d;uG(e,b,32,c);xG(a,b,e,c,c);$c=d;return}function wA(a,b,c){a=a|0;b=b|0;c=c|0;fH(a,b,c,c);return}function xA(a,b,c){a=a|0;b=b|0;c=c|0;eH(a,b,c,c);return}function yA(a,b,c){a=a|0;b=b|0;c=c|0;dH(a,b,c,c);return}function zA(a,b,c){a=a|0;b=b|0;c=c|0;cH(a,b,c,c);return}function AA(a,b,c){a=a|0;b=b|0;c=c|0;bH(a,b,c,c);return}function BA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+512|0;if(($c|0)>=(ad|0))N(512);e=d;KG(e,b,32,c);NG(a,b+2|0,e,c,c);$c=d;return}function CA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+512|0;if(($c|0)>=(ad|0))N(512);e=d;GG(e,b,32,c);JG(a,b+2|0,e,c,c);$c=d;return}function DA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+512|0;if(($c|0)>=(ad|0))N(512);e=d;CG(e,b,32,c);FG(a,b+2|0,e,c,c);$c=d;return}function EA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+256|0;if(($c|0)>=(ad|0))N(256);e=d;yG(e,b,16,c);BG(a,b+1|0,e,c,c);$c=d;return}function FA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+512|0;if(($c|0)>=(ad|0))N(512);e=d;uG(e,b,32,c);xG(a,b+2|0,e,c,c);$c=d;return}function GA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1184|0;if(($c|0)>=(ad|0))N(1184);g=d+512|0;e=d;f=g+64|0;LG(g,b+(0-(c<<1))|0,c);MG(e,f,32);NG(a,f,e,c,32);$c=d;return}function HA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1184|0;if(($c|0)>=(ad|0))N(1184);g=d+512|0;e=d;f=g+64|0;HG(g,b+(0-(c<<1))|0,c);IG(e,f,32);JG(a,f,e,c,32);$c=d;return}function IA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1184|0;if(($c|0)>=(ad|0))N(1184);g=d+512|0;e=d;f=g+64|0;DG(g,b+(0-(c<<1))|0,c);EG(e,f,32);FG(a,f,e,c,32);$c=d;return}function JA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+592|0;if(($c|0)>=(ad|0))N(592);g=d+256|0;e=d;f=g+32|0;zG(g,b+(0-(c<<1))|0,c);AG(e,f,16);BG(a,f,e,c,16);$c=d;return}function KA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1184|0;if(($c|0)>=(ad|0))N(1184);g=d+512|0;e=d;f=g+64|0;vG(g,b+(0-(c<<1))|0,c);wG(e,f,32);xG(a,f,e,c,32);$c=d;return}function LA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1696|0;if(($c|0)>=(ad|0))N(1696);g=d+1024|0;f=d+512|0;e=d;KG(f,b,32,c);LG(g,b+(0-(c<<1))|0,c);MG(e,g+64|0,32);NG(a,f,e,c,32);$c=d;return}function MA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1696|0;if(($c|0)>=(ad|0))N(1696);g=d+1024|0;f=d+512|0;e=d;GG(f,b,32,c);HG(g,b+(0-(c<<1))|0,c);IG(e,g+64|0,32);JG(a,f,e,c,32);$c=d;return}function NA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1696|0;if(($c|0)>=(ad|0))N(1696);g=d+1024|0;f=d+512|0;e=d;CG(f,b,32,c);DG(g,b+(0-(c<<1))|0,c);EG(e,g+64|0,32);FG(a,f,e,c,32);$c=d;return}function OA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+848|0;if(($c|0)>=(ad|0))N(848);g=d+512|0;f=d+256|0;e=d;yG(f,b,16,c);zG(g,b+(0-(c<<1))|0,c);AG(e,g+32|0,16);BG(a,f,e,c,16);$c=d;return}function PA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1696|0;if(($c|0)>=(ad|0))N(1696);g=d+1024|0;f=d+512|0;e=d;uG(f,b,32,c);vG(g,b+(0-(c<<1))|0,c);wG(e,g+64|0,32);xG(a,f,e,c,32);$c=d;return}function QA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+3712|0;if(($c|0)>=(ad|0))N(3712);f=d+3200|0;e=d+2688|0;KG(f,b,32,c);SG(e,d,b,32,c);NG(a,f,e,c,32);$c=d;return}function RA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+3712|0;if(($c|0)>=(ad|0))N(3712);f=d+3200|0;e=d+2688|0;GG(f,b,32,c);RG(e,d,b,32,c);JG(a,f,e,c,32);$c=d;return}function SA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+2368|0;if(($c|0)>=(ad|0))N(2368);f=d+1856|0;e=d+1344|0;CG(f,b,32,c);QG(e,d,b,32,c);FG(a,f,e,c,32);$c=d;return}function TA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+1184|0;if(($c|0)>=(ad|0))N(1184);f=d+928|0;e=d+672|0;yG(f,b,16,c);PG(e,d,b,16,c);BG(a,f,e,c,16);$c=d;return}function UA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+2368|0;if(($c|0)>=(ad|0))N(2368);f=d+1856|0;e=d+1344|0;uG(f,b,32,c);OG(e,d,b,32,c);xG(a,f,e,c,32);$c=d;return}function VA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1696|0;if(($c|0)>=(ad|0))N(1696);g=d+1024|0;f=d+512|0;e=d;KG(f,b,32,c);LG(g,b+(0-(c<<1))+2|0,c);MG(e,g+64|0,32);NG(a,f,e,c,32);$c=d;return}function WA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1696|0;if(($c|0)>=(ad|0))N(1696);g=d+1024|0;f=d+512|0;e=d;GG(f,b,32,c);HG(g,b+(0-(c<<1))+2|0,c);IG(e,g+64|0,32);JG(a,f,e,c,32);$c=d;return}function XA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1696|0;if(($c|0)>=(ad|0))N(1696);g=d+1024|0;f=d+512|0;e=d;CG(f,b,32,c);DG(g,b+(0-(c<<1))+2|0,c);EG(e,g+64|0,32);FG(a,f,e,c,32);$c=d;return}function YA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+848|0;if(($c|0)>=(ad|0))N(848);g=d+512|0;f=d+256|0;e=d;yG(f,b,16,c);zG(g,b+(0-(c<<1))+1|0,c);AG(e,g+32|0,16);BG(a,f,e,c,16);$c=d;return}function ZA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1696|0;if(($c|0)>=(ad|0))N(1696);g=d+1024|0;f=d+512|0;e=d;uG(f,b,32,c);vG(g,b+(0-(c<<1))+2|0,c);wG(e,g+64|0,32);xG(a,f,e,c,32);$c=d;return}function _A(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+672|0;if(($c|0)>=(ad|0))N(672);e=d;LG(e,b+(0-(c<<1))|0,c);aH(a,e+64|0,c);$c=d;return}function $A(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+672|0;if(($c|0)>=(ad|0))N(672);e=d;HG(e,b+(0-(c<<1))|0,c);$G(a,e+64|0,c);$c=d;return}function aB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+672|0;if(($c|0)>=(ad|0))N(672);e=d;DG(e,b+(0-(c<<1))|0,c);_G(a,e+64|0,c);$c=d;return}function bB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+336|0;if(($c|0)>=(ad|0))N(336);e=d;zG(e,b+(0-(c<<1))|0,c);ZG(a,e+32|0,c);$c=d;return}function cB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+672|0;if(($c|0)>=(ad|0))N(672);e=d;vG(e,b+(0-(c<<1))|0,c);YG(a,e+64|0,c);$c=d;return}function dB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+4384|0;if(($c|0)>=(ad|0))N(4384);g=d+3712|0;f=d+3200|0;e=d+2688|0;LG(g,b+(0-(c<<1))|0,c);MG(f,g+64|0,32);SG(e,d,b,32,c);NG(a,f,e,c,32);$c=d;return}function eB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+4384|0;if(($c|0)>=(ad|0))N(4384);g=d+3712|0;f=d+3200|0;e=d+2688|0;HG(g,b+(0-(c<<1))|0,c);IG(f,g+64|0,32);RG(e,d,b,32,c);JG(a,f,e,c,32);$c=d;return}function fB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+3040|0;if(($c|0)>=(ad|0))N(3040);g=d+2368|0;f=d+1856|0;e=d+1344|0;DG(g,b+(0-(c<<1))|0,c);EG(f,g+64|0,32);QG(e,d,b,32,c);FG(a,f,e,c,32);$c=d;return}function gB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1520|0;if(($c|0)>=(ad|0))N(1520);g=d+1184|0;f=d+928|0;e=d+672|0;zG(g,b+(0-(c<<1))|0,c);AG(f,g+32|0,16);PG(e,d,b,16,c);BG(a,f,e,c,16);$c=d;return}function hB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+3040|0;if(($c|0)>=(ad|0))N(3040);g=d+2368|0;f=d+1856|0;e=d+1344|0;vG(g,b+(0-(c<<1))|0,c);wG(f,g+64|0,32);OG(e,d,b,32,c);xG(a,f,e,c,32);$c=d;return}function iB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+2688|0;if(($c|0)>=(ad|0))N(2688);XG(a,d,b,c,c);$c=d;return}function jB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+2688|0;if(($c|0)>=(ad|0))N(2688);WG(a,d,b,c,c);$c=d;return}function kB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+1344|0;if(($c|0)>=(ad|0))N(1344);VG(a,d,b,c,c);$c=d;return}function lB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+672|0;if(($c|0)>=(ad|0))N(672);UG(a,d,b,c,c);$c=d;return}function mB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+1344|0;if(($c|0)>=(ad|0))N(1344);TG(a,d,b,c,c);$c=d;return}function nB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+4384|0;if(($c|0)>=(ad|0))N(4384);g=d+3712|0;f=d+3200|0;e=d+2688|0;LG(g,b+(0-(c<<1))+2|0,c);MG(f,g+64|0,32);SG(e,d,b,32,c);NG(a,f,e,c,32);$c=d;return}function oB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+4384|0;if(($c|0)>=(ad|0))N(4384);g=d+3712|0;f=d+3200|0;e=d+2688|0;HG(g,b+(0-(c<<1))+2|0,c);IG(f,g+64|0,32);RG(e,d,b,32,c);JG(a,f,e,c,32);$c=d;return}function pB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+3040|0;if(($c|0)>=(ad|0))N(3040);g=d+2368|0;f=d+1856|0;e=d+1344|0;DG(g,b+(0-(c<<1))+2|0,c);EG(f,g+64|0,32);QG(e,d,b,32,c);FG(a,f,e,c,32);$c=d;return}function qB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1520|0;if(($c|0)>=(ad|0))N(1520);g=d+1184|0;f=d+928|0;e=d+672|0;zG(g,b+(0-(c<<1))+1|0,c);AG(f,g+32|0,16);PG(e,d,b,16,c);BG(a,f,e,c,16);$c=d;return}function rB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+3040|0;if(($c|0)>=(ad|0))N(3040);g=d+2368|0;f=d+1856|0;e=d+1344|0;vG(g,b+(0-(c<<1))+2|0,c);wG(f,g+64|0,32);OG(e,d,b,32,c);xG(a,f,e,c,32);$c=d;return}function sB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+1184|0;if(($c|0)>=(ad|0))N(1184);f=d+512|0;e=d;LG(f,b+(0-(c<<1))|0,c);MG(e,f+64|0,32);NG(a,f+96|0,e,c,32);$c=d;return}function tB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+1184|0;if(($c|0)>=(ad|0))N(1184);f=d+512|0;e=d;HG(f,b+(0-(c<<1))|0,c);IG(e,f+64|0,32);JG(a,f+96|0,e,c,32);$c=d;return}function uB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+1184|0;if(($c|0)>=(ad|0))N(1184);f=d+512|0;e=d;DG(f,b+(0-(c<<1))|0,c);EG(e,f+64|0,32);FG(a,f+96|0,e,c,32);$c=d;return}function vB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+592|0;if(($c|0)>=(ad|0))N(592);f=d+256|0;e=d;zG(f,b+(0-(c<<1))|0,c);AG(e,f+32|0,16);BG(a,f+48|0,e,c,16);$c=d;return}function wB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+1184|0;if(($c|0)>=(ad|0))N(1184);f=d+512|0;e=d;vG(f,b+(0-(c<<1))|0,c);wG(e,f+64|0,32);xG(a,f+96|0,e,c,32);$c=d;return}function xB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1696|0;if(($c|0)>=(ad|0))N(1696);g=d+1024|0;f=d+512|0;e=d;KG(f,b+c|0,32,c);LG(g,b+(0-(c<<1))|0,c);MG(e,g+64|0,32);NG(a,f,e,c,32);$c=d;return}function yB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1696|0;if(($c|0)>=(ad|0))N(1696);g=d+1024|0;f=d+512|0;e=d;GG(f,b+c|0,32,c);HG(g,b+(0-(c<<1))|0,c);IG(e,g+64|0,32);JG(a,f,e,c,32);$c=d;return}function zB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1696|0;if(($c|0)>=(ad|0))N(1696);g=d+1024|0;f=d+512|0;e=d;CG(f,b+c|0,32,c);DG(g,b+(0-(c<<1))|0,c);EG(e,g+64|0,32);FG(a,f,e,c,32);$c=d;return}function AB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+848|0;if(($c|0)>=(ad|0))N(848);g=d+512|0;f=d+256|0;e=d;yG(f,b+c|0,16,c);zG(g,b+(0-(c<<1))|0,c);AG(e,g+32|0,16);BG(a,f,e,c,16);$c=d;return}function BB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1696|0;if(($c|0)>=(ad|0))N(1696);g=d+1024|0;f=d+512|0;e=d;uG(f,b+c|0,32,c);vG(g,b+(0-(c<<1))|0,c);wG(e,g+64|0,32);xG(a,f,e,c,32);$c=d;return}function CB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+3712|0;if(($c|0)>=(ad|0))N(3712);f=d+3200|0;e=d+2688|0;KG(f,b+c|0,32,c);SG(e,d,b,32,c);NG(a,f,e,c,32);$c=d;return}function DB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+3712|0;if(($c|0)>=(ad|0))N(3712);f=d+3200|0;e=d+2688|0;GG(f,b+c|0,32,c);RG(e,d,b,32,c);JG(a,f,e,c,32);$c=d;return}function EB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+2368|0;if(($c|0)>=(ad|0))N(2368);f=d+1856|0;e=d+1344|0;CG(f,b+c|0,32,c);QG(e,d,b,32,c);FG(a,f,e,c,32);$c=d;return}function FB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+1184|0;if(($c|0)>=(ad|0))N(1184);f=d+928|0;e=d+672|0;yG(f,b+c|0,16,c);PG(e,d,b,16,c);BG(a,f,e,c,16);$c=d;return}function GB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+2368|0;if(($c|0)>=(ad|0))N(2368);f=d+1856|0;e=d+1344|0;uG(f,b+c|0,32,c);OG(e,d,b,32,c);xG(a,f,e,c,32);$c=d;return}function HB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1696|0;if(($c|0)>=(ad|0))N(1696);g=d+1024|0;f=d+512|0;e=d;KG(f,b+c|0,32,c);LG(g,b+(0-(c<<1))+2|0,c);MG(e,g+64|0,32);NG(a,f,e,c,32);$c=d;return}function IB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1696|0;if(($c|0)>=(ad|0))N(1696);g=d+1024|0;f=d+512|0;e=d;GG(f,b+c|0,32,c);HG(g,b+(0-(c<<1))+2|0,c);IG(e,g+64|0,32);JG(a,f,e,c,32);$c=d;return}function JB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1696|0;if(($c|0)>=(ad|0))N(1696);g=d+1024|0;f=d+512|0;e=d;CG(f,b+c|0,32,c);DG(g,b+(0-(c<<1))+2|0,c);EG(e,g+64|0,32);FG(a,f,e,c,32);$c=d;return}function KB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+848|0;if(($c|0)>=(ad|0))N(848);g=d+512|0;f=d+256|0;e=d;yG(f,b+c|0,16,c);zG(g,b+(0-(c<<1))+1|0,c);AG(e,g+32|0,16);BG(a,f,e,c,16);$c=d;return}function LB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1696|0;if(($c|0)>=(ad|0))N(1696);g=d+1024|0;f=d+512|0;e=d;uG(f,b+c|0,32,c);vG(g,b+(0-(c<<1))+2|0,c);wG(e,g+64|0,32);xG(a,f,e,c,32);$c=d;return}function MB(a,b,c){a=a|0;b=b|0;c=c|0;tG(a,b,c,8);return}function NB(a,b,c){a=a|0;b=b|0;c=c|0;sG(a,b,c,8);return}function OB(a,b,c){a=a|0;b=b|0;c=c|0;rG(a,b,c,8);return}function PB(a,b,c){a=a|0;b=b|0;c=c|0;qG(a,b,c,8);return}function QB(a,b,c){a=a|0;b=b|0;c=c|0;pG(a,b,c,8);return}function RB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+128|0;if(($c|0)>=(ad|0))N(128);e=d;TF(e,b,16,c);WF(a,b,e,c,c,16,8);$c=d;return}function SB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+128|0;if(($c|0)>=(ad|0))N(128);e=d;PF(e,b,16,c);SF(a,b,e,c,c,16,8);$c=d;return}function TB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+128|0;if(($c|0)>=(ad|0))N(128);e=d;LF(e,b,16,c);OF(a,b,e,c,c,16,8);$c=d;return}function UB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+64|0;if(($c|0)>=(ad|0))N(64);e=d;HF(e,b,8,c);KF(a,b,e,c,c,8,8);$c=d;return}function VB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+128|0;if(($c|0)>=(ad|0))N(128);e=d;DF(e,b,16,c);GF(a,b,e,c,c,16,8);$c=d;return}function WB(a,b,c){a=a|0;b=b|0;c=c|0;oG(a,b,c,c);return}function XB(a,b,c){a=a|0;b=b|0;c=c|0;nG(a,b,c,c);return}function YB(a,b,c){a=a|0;b=b|0;c=c|0;mG(a,b,c,c);return}function ZB(a,b,c){a=a|0;b=b|0;c=c|0;lG(a,b,c,c);return}function _B(a,b,c){a=a|0;b=b|0;c=c|0;kG(a,b,c,c);return}function $B(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+128|0;if(($c|0)>=(ad|0))N(128);e=d;TF(e,b,16,c);WF(a,b+2|0,e,c,c,16,8);$c=d;return}function aC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+128|0;if(($c|0)>=(ad|0))N(128);e=d;PF(e,b,16,c);SF(a,b+2|0,e,c,c,16,8);$c=d;return}function bC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+128|0;if(($c|0)>=(ad|0))N(128);e=d;LF(e,b,16,c);OF(a,b+2|0,e,c,c,16,8);$c=d;return}function cC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+64|0;if(($c|0)>=(ad|0))N(64);e=d;HF(e,b,8,c);KF(a,b+1|0,e,c,c,8,8);$c=d;return}function dC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+128|0;if(($c|0)>=(ad|0))N(128);e=d;DF(e,b,16,c);GF(a,b+2|0,e,c,c,16,8);$c=d;return}function eC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+336|0;if(($c|0)>=(ad|0))N(336);g=d+128|0;e=d;f=g+32|0;UF(g,b+(0-(c<<1))|0,c);VF(e,f,16,16);WF(a,f,e,c,16,16,8);$c=d;return}function fC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+336|0;if(($c|0)>=(ad|0))N(336);g=d+128|0;e=d;f=g+32|0;QF(g,b+(0-(c<<1))|0,c);RF(e,f,16,16);SF(a,f,e,c,16,16,8);$c=d;return}function gC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+336|0;if(($c|0)>=(ad|0))N(336);g=d+128|0;e=d;f=g+32|0;MF(g,b+(0-(c<<1))|0,c);NF(e,f,16,16);OF(a,f,e,c,16,16,8);$c=d;return}function hC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+176|0;if(($c|0)>=(ad|0))N(176);g=d+64|0;e=d;f=g+16|0;IF(g,b+(0-(c<<1))|0,c);JF(e,f,8,8);KF(a,f,e,c,8,8,8);$c=d;return}function iC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+336|0;if(($c|0)>=(ad|0))N(336);g=d+128|0;e=d;f=g+32|0;EF(g,b+(0-(c<<1))|0,c);FF(e,f,16,16);GF(a,f,e,c,16,16,8);$c=d;return}function jC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+464|0;if(($c|0)>=(ad|0))N(464);g=d+256|0;f=d+128|0;e=d;TF(f,b,16,c);UF(g,b+(0-(c<<1))|0,c);VF(e,g+32|0,16,16);WF(a,f,e,c,16,16,8);$c=d;return}function kC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+464|0;if(($c|0)>=(ad|0))N(464);g=d+256|0;f=d+128|0;e=d;PF(f,b,16,c);QF(g,b+(0-(c<<1))|0,c);RF(e,g+32|0,16,16);SF(a,f,e,c,16,16,8);$c=d;return}function lC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+464|0;if(($c|0)>=(ad|0))N(464);g=d+256|0;f=d+128|0;e=d;LF(f,b,16,c);MF(g,b+(0-(c<<1))|0,c);NF(e,g+32|0,16,16);OF(a,f,e,c,16,16,8);$c=d;return}function mC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+240|0;if(($c|0)>=(ad|0))N(240);g=d+128|0;f=d+64|0;e=d;HF(f,b,8,c);IF(g,b+(0-(c<<1))|0,c);JF(e,g+16|0,8,8);KF(a,f,e,c,8,8,8);$c=d;return}function nC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+464|0;if(($c|0)>=(ad|0))N(464);g=d+256|0;f=d+128|0;e=d;DF(f,b,16,c);EF(g,b+(0-(c<<1))|0,c);FF(e,g+32|0,16,16);GF(a,f,e,c,16,16,8);$c=d;return}function oC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+1088|0;if(($c|0)>=(ad|0))N(1088);f=d+960|0;e=d+832|0;TF(f,b,16,c);$F(e,d,b,16,16,c);WF(a,f,e,c,16,16,8);$c=d;return}function pC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+1088|0;if(($c|0)>=(ad|0))N(1088);f=d+960|0;e=d+832|0;PF(f,b,16,c);_F(e,d,b,16,16,c);SF(a,f,e,c,16,16,8);$c=d;return}function qC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+672|0;if(($c|0)>=(ad|0))N(672);f=d+544|0;e=d+416|0;LF(f,b,16,c);ZF(e,d,b,16,16,c);OF(a,f,e,c,16,16,8);$c=d;return}function rC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+336|0;if(($c|0)>=(ad|0))N(336);f=d+272|0;e=d+208|0;HF(f,b,8,c);YF(e,d,b,8,8,c);KF(a,f,e,c,8,8,8);$c=d;return}function sC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+672|0;if(($c|0)>=(ad|0))N(672);f=d+544|0;e=d+416|0;DF(f,b,16,c);XF(e,d,b,16,16,c);GF(a,f,e,c,16,16,8);$c=d;return}function tC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+464|0;if(($c|0)>=(ad|0))N(464);g=d+256|0;f=d+128|0;e=d;TF(f,b,16,c);UF(g,b+(0-(c<<1))+2|0,c);VF(e,g+32|0,16,16);WF(a,f,e,c,16,16,8);$c=d;return}function uC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+464|0;if(($c|0)>=(ad|0))N(464);g=d+256|0;f=d+128|0;e=d;PF(f,b,16,c);QF(g,b+(0-(c<<1))+2|0,c);RF(e,g+32|0,16,16);SF(a,f,e,c,16,16,8);$c=d;return}function vC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+464|0;if(($c|0)>=(ad|0))N(464);g=d+256|0;f=d+128|0;e=d;LF(f,b,16,c);MF(g,b+(0-(c<<1))+2|0,c);NF(e,g+32|0,16,16);OF(a,f,e,c,16,16,8);$c=d;return}function wC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+240|0;if(($c|0)>=(ad|0))N(240);g=d+128|0;f=d+64|0;e=d;HF(f,b,8,c);IF(g,b+(0-(c<<1))+1|0,c);JF(e,g+16|0,8,8);KF(a,f,e,c,8,8,8);$c=d;return}function xC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+464|0;if(($c|0)>=(ad|0))N(464);g=d+256|0;f=d+128|0;e=d;DF(f,b,16,c);EF(g,b+(0-(c<<1))+2|0,c);FF(e,g+32|0,16,16);GF(a,f,e,c,16,16,8);$c=d;return}function yC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+208|0;if(($c|0)>=(ad|0))N(208);e=d;UF(e,b+(0-(c<<1))|0,c);jG(a,e+32|0,c,16);$c=d;return}function zC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+208|0;if(($c|0)>=(ad|0))N(208);e=d;QF(e,b+(0-(c<<1))|0,c);iG(a,e+32|0,c,16);$c=d;return}function AC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+208|0;if(($c|0)>=(ad|0))N(208);e=d;MF(e,b+(0-(c<<1))|0,c);hG(a,e+32|0,c,16);$c=d;return}function BC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+112|0;if(($c|0)>=(ad|0))N(112);e=d;IF(e,b+(0-(c<<1))|0,c);gG(a,e+16|0,c,8);$c=d;return}function CC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+208|0;if(($c|0)>=(ad|0))N(208);e=d;EF(e,b+(0-(c<<1))|0,c);fG(a,e+32|0,c,16);$c=d;return}function DC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1296|0;if(($c|0)>=(ad|0))N(1296);g=d+1088|0;f=d+960|0;e=d+832|0;UF(g,b+(0-(c<<1))|0,c);VF(f,g+32|0,16,16);$F(e,d,b,16,16,c);WF(a,f,e,c,16,16,8);$c=d;return}function EC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1296|0;if(($c|0)>=(ad|0))N(1296);g=d+1088|0;f=d+960|0;e=d+832|0;QF(g,b+(0-(c<<1))|0,c);RF(f,g+32|0,16,16);_F(e,d,b,16,16,c);SF(a,f,e,c,16,16,8);$c=d;return}function FC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+880|0;if(($c|0)>=(ad|0))N(880);g=d+672|0;f=d+544|0;e=d+416|0;MF(g,b+(0-(c<<1))|0,c);NF(f,g+32|0,16,16);ZF(e,d,b,16,16,c);OF(a,f,e,c,16,16,8);$c=d;return}function GC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+448|0;if(($c|0)>=(ad|0))N(448);g=d+336|0;f=d+272|0;e=d+208|0;IF(g,b+(0-(c<<1))|0,c);JF(f,g+16|0,8,8);YF(e,d,b,8,8,c);KF(a,f,e,c,8,8,8);$c=d;return}function HC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+880|0;if(($c|0)>=(ad|0))N(880);g=d+672|0;f=d+544|0;e=d+416|0;EF(g,b+(0-(c<<1))|0,c);FF(f,g+32|0,16,16);XF(e,d,b,16,16,c);GF(a,f,e,c,16,16,8);$c=d;return}function IC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+832|0;if(($c|0)>=(ad|0))N(832);eG(a,d,b,c,16,c);$c=d;return}function JC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+832|0;if(($c|0)>=(ad|0))N(832);dG(a,d,b,c,16,c);$c=d;return}function KC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+416|0;if(($c|0)>=(ad|0))N(416);cG(a,d,b,c,16,c);$c=d;return}function LC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+208|0;if(($c|0)>=(ad|0))N(208);bG(a,d,b,c,8,c);$c=d;return}function MC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+416|0;if(($c|0)>=(ad|0))N(416);aG(a,d,b,c,16,c);$c=d;return}function NC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1296|0;if(($c|0)>=(ad|0))N(1296);g=d+1088|0;f=d+960|0;e=d+832|0;UF(g,b+(0-(c<<1))+2|0,c);VF(f,g+32|0,16,16);$F(e,d,b,16,16,c);WF(a,f,e,c,16,16,8);$c=d;return}function OC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1296|0;if(($c|0)>=(ad|0))N(1296);g=d+1088|0;f=d+960|0;e=d+832|0;QF(g,b+(0-(c<<1))+2|0,c);RF(f,g+32|0,16,16);_F(e,d,b,16,16,c);SF(a,f,e,c,16,16,8);$c=d;return}function PC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+880|0;if(($c|0)>=(ad|0))N(880);g=d+672|0;f=d+544|0;e=d+416|0;MF(g,b+(0-(c<<1))+2|0,c);NF(f,g+32|0,16,16);ZF(e,d,b,16,16,c);OF(a,f,e,c,16,16,8);$c=d;return}function QC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+448|0;if(($c|0)>=(ad|0))N(448);g=d+336|0;f=d+272|0;e=d+208|0;IF(g,b+(0-(c<<1))+1|0,c);JF(f,g+16|0,8,8);YF(e,d,b,8,8,c);KF(a,f,e,c,8,8,8);$c=d;return}function RC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+880|0;if(($c|0)>=(ad|0))N(880);g=d+672|0;f=d+544|0;e=d+416|0;EF(g,b+(0-(c<<1))+2|0,c);FF(f,g+32|0,16,16);XF(e,d,b,16,16,c);GF(a,f,e,c,16,16,8);$c=d;return}function SC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+336|0;if(($c|0)>=(ad|0))N(336);f=d+128|0;e=d;UF(f,b+(0-(c<<1))|0,c);VF(e,f+32|0,16,16);WF(a,f+48|0,e,c,16,16,8);$c=d;return}function TC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+336|0;if(($c|0)>=(ad|0))N(336);f=d+128|0;e=d;QF(f,b+(0-(c<<1))|0,c);RF(e,f+32|0,16,16);SF(a,f+48|0,e,c,16,16,8);$c=d;return}function UC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+336|0;if(($c|0)>=(ad|0))N(336);f=d+128|0;e=d;MF(f,b+(0-(c<<1))|0,c);NF(e,f+32|0,16,16);OF(a,f+48|0,e,c,16,16,8);$c=d;return}function VC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+176|0;if(($c|0)>=(ad|0))N(176);f=d+64|0;e=d;IF(f,b+(0-(c<<1))|0,c);JF(e,f+16|0,8,8);KF(a,f+24|0,e,c,8,8,8);$c=d;return}function WC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+336|0;if(($c|0)>=(ad|0))N(336);f=d+128|0;e=d;EF(f,b+(0-(c<<1))|0,c);FF(e,f+32|0,16,16);GF(a,f+48|0,e,c,16,16,8);$c=d;return}function XC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+464|0;if(($c|0)>=(ad|0))N(464);g=d+256|0;f=d+128|0;e=d;TF(f,b+c|0,16,c);UF(g,b+(0-(c<<1))|0,c);VF(e,g+32|0,16,16);WF(a,f,e,c,16,16,8);$c=d;return}function YC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+464|0;if(($c|0)>=(ad|0))N(464);g=d+256|0;f=d+128|0;e=d;PF(f,b+c|0,16,c);QF(g,b+(0-(c<<1))|0,c);RF(e,g+32|0,16,16);SF(a,f,e,c,16,16,8);$c=d;return}function ZC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+464|0;if(($c|0)>=(ad|0))N(464);g=d+256|0;f=d+128|0;e=d;LF(f,b+c|0,16,c);MF(g,b+(0-(c<<1))|0,c);NF(e,g+32|0,16,16);OF(a,f,e,c,16,16,8);$c=d;return}function _C(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+240|0;if(($c|0)>=(ad|0))N(240);g=d+128|0;f=d+64|0;e=d;HF(f,b+c|0,8,c);IF(g,b+(0-(c<<1))|0,c);JF(e,g+16|0,8,8);KF(a,f,e,c,8,8,8);$c=d;return}function $C(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+464|0;if(($c|0)>=(ad|0))N(464);g=d+256|0;f=d+128|0;e=d;DF(f,b+c|0,16,c);EF(g,b+(0-(c<<1))|0,c);FF(e,g+32|0,16,16);GF(a,f,e,c,16,16,8);$c=d;return}function aD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+1088|0;if(($c|0)>=(ad|0))N(1088);f=d+960|0;e=d+832|0;TF(f,b+c|0,16,c);$F(e,d,b,16,16,c);WF(a,f,e,c,16,16,8);$c=d;return}function bD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+1088|0;if(($c|0)>=(ad|0))N(1088);f=d+960|0;e=d+832|0;PF(f,b+c|0,16,c);_F(e,d,b,16,16,c);SF(a,f,e,c,16,16,8);$c=d;return}function cD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+672|0;if(($c|0)>=(ad|0))N(672);f=d+544|0;e=d+416|0;LF(f,b+c|0,16,c);ZF(e,d,b,16,16,c);OF(a,f,e,c,16,16,8);$c=d;return}function dD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+336|0;if(($c|0)>=(ad|0))N(336);f=d+272|0;e=d+208|0;HF(f,b+c|0,8,c);YF(e,d,b,8,8,c);KF(a,f,e,c,8,8,8);$c=d;return}function eD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+672|0;if(($c|0)>=(ad|0))N(672);f=d+544|0;e=d+416|0;DF(f,b+c|0,16,c);XF(e,d,b,16,16,c);GF(a,f,e,c,16,16,8);$c=d;return}function fD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+464|0;if(($c|0)>=(ad|0))N(464);g=d+256|0;f=d+128|0;e=d;TF(f,b+c|0,16,c);UF(g,b+(0-(c<<1))+2|0,c);VF(e,g+32|0,16,16);WF(a,f,e,c,16,16,8);$c=d;return}function gD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+464|0;if(($c|0)>=(ad|0))N(464);g=d+256|0;f=d+128|0;e=d;PF(f,b+c|0,16,c);QF(g,b+(0-(c<<1))+2|0,c);RF(e,g+32|0,16,16);SF(a,f,e,c,16,16,8);$c=d;return}function hD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+464|0;if(($c|0)>=(ad|0))N(464);g=d+256|0;f=d+128|0;e=d;LF(f,b+c|0,16,c);MF(g,b+(0-(c<<1))+2|0,c);NF(e,g+32|0,16,16);OF(a,f,e,c,16,16,8);$c=d;return}function iD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+240|0;if(($c|0)>=(ad|0))N(240);g=d+128|0;f=d+64|0;e=d;HF(f,b+c|0,8,c);IF(g,b+(0-(c<<1))+1|0,c);JF(e,g+16|0,8,8);KF(a,f,e,c,8,8,8);$c=d;return}function jD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+464|0;if(($c|0)>=(ad|0))N(464);g=d+256|0;f=d+128|0;e=d;DF(f,b+c|0,16,c);EF(g,b+(0-(c<<1))+2|0,c);FF(e,g+32|0,16,16);GF(a,f,e,c,16,16,8);$c=d;return}function kD(a,b,c){a=a|0;b=b|0;c=c|0;CF(a,b,c);return}function lD(a,b,c){a=a|0;b=b|0;c=c|0;BF(a,b,c);return}function mD(a,b,c){a=a|0;b=b|0;c=c|0;AF(a,b,c);return}function nD(a,b,c){a=a|0;b=b|0;c=c|0;zF(a,b,c);return}function oD(a,b,c){a=a|0;b=b|0;c=c|0;yF(a,b,c);return}function pD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);e=d;aF(e,b,8,c);dF(a,b,e,c,c);$c=d;return}function qD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);e=d;YE(e,b,8,c);$E(a,b,e,c,c);$c=d;return}function rD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);e=d;UE(e,b,8,c);XE(a,b,e,c,c);$c=d;return}function sD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=d;PE(e,b,4,c);SE(a,b,e,c,c);$c=d;return}function tD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);e=d;KE(e,b,8,c);NE(a,b,e,c,c);$c=d;return}function uD(a,b,c){a=a|0;b=b|0;c=c|0;xF(a,b,c,c);return}function vD(a,b,c){a=a|0;b=b|0;c=c|0;wF(a,b,c,c);return}function wD(a,b,c){a=a|0;b=b|0;c=c|0;vF(a,b,c,c);return}function xD(a,b,c){a=a|0;b=b|0;c=c|0;uF(a,b,c,c);return}function yD(a,b,c){a=a|0;b=b|0;c=c|0;tF(a,b,c,c);return}function zD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);e=d;aF(e,b,8,c);dF(a,b+2|0,e,c,c);$c=d;return}function AD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);e=d;YE(e,b,8,c);$E(a,b+2|0,e,c,c);$c=d;return}function BD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);e=d;UE(e,b,8,c);XE(a,b+2|0,e,c,c);$c=d;return}function CD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=d;PE(e,b,4,c);SE(a,b+1|0,e,c,c);$c=d;return}function DD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);e=d;KE(e,b,8,c);NE(a,b+2|0,e,c,c);$c=d;return}function ED(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+112|0;if(($c|0)>=(ad|0))N(112);g=d+32|0;e=d;f=g+16|0;bF(g,b+(0-(c<<1))|0,c);cF(e,f,8);dF(a,f,e,c,8);$c=d;return}function FD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+112|0;if(($c|0)>=(ad|0))N(112);g=d+32|0;e=d;f=g+16|0;ZE(g,b+(0-(c<<1))|0,c);_E(e,f,8);$E(a,f,e,c,8);$c=d;return}function GD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+112|0;if(($c|0)>=(ad|0))N(112);g=d+32|0;e=d;f=g+16|0;VE(g,b+(0-(c<<1))|0,c);WE(e,f,8);XE(a,f,e,c,8);$c=d;return}function HD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+64|0;if(($c|0)>=(ad|0))N(64);g=d+16|0;e=d;f=g+8|0;QE(g,b+(0-(c<<1))|0,c);RE(e,f,4);SE(a,f,e,c,4);$c=d;return}function ID(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+112|0;if(($c|0)>=(ad|0))N(112);g=d+32|0;e=d;f=g+16|0;LE(g,b+(0-(c<<1))|0,c);ME(e,f,8);NE(a,f,e,c,8);$c=d;return}function JD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+64|0;f=d+32|0;e=d;aF(f,b,8,c);bF(g,b+(0-(c<<1))|0,c);cF(e,g+16|0,8);dF(a,f,e,c,8);$c=d;return}function KD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+64|0;f=d+32|0;e=d;YE(f,b,8,c);ZE(g,b+(0-(c<<1))|0,c);_E(e,g+16|0,8);$E(a,f,e,c,8);$c=d;return}function LD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+64|0;f=d+32|0;e=d;UE(f,b,8,c);VE(g,b+(0-(c<<1))|0,c);WE(e,g+16|0,8);XE(a,f,e,c,8);$c=d;return}function MD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+80|0;if(($c|0)>=(ad|0))N(80);g=d+32|0;f=d+16|0;e=d;PE(f,b,4,c);QE(g,b+(0-(c<<1))|0,c);RE(e,g+8|0,4);SE(a,f,e,c,4);$c=d;return}function ND(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+64|0;f=d+32|0;e=d;KE(f,b,8,c);LE(g,b+(0-(c<<1))|0,c);ME(e,g+16|0,8);NE(a,f,e,c,8);$c=d;return}function OD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+352|0;if(($c|0)>=(ad|0))N(352);f=d+320|0;e=d+288|0;aF(f,b,8,c);iF(e,d,b,8,c);dF(a,f,e,c,8);$c=d;return}function PD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+352|0;if(($c|0)>=(ad|0))N(352);f=d+320|0;e=d+288|0;YE(f,b,8,c);hF(e,d,b,8,c);$E(a,f,e,c,8);$c=d;return}function QD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+208|0;if(($c|0)>=(ad|0))N(208);f=d+176|0;e=d+144|0;UE(f,b,8,c);gF(e,d,b,8,c);XE(a,f,e,c,8);$c=d;return}function RD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+112|0;if(($c|0)>=(ad|0))N(112);f=d+88|0;e=d+72|0;PE(f,b,4,c);fF(e,d,b,4,c);SE(a,f,e,c,4);$c=d;return}function SD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+208|0;if(($c|0)>=(ad|0))N(208);f=d+176|0;e=d+144|0;KE(f,b,8,c);eF(e,d,b,8,c);NE(a,f,e,c,8);$c=d;return}function TD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+64|0;f=d+32|0;e=d;aF(f,b,8,c);bF(g,b+(0-(c<<1))+2|0,c);cF(e,g+16|0,8);dF(a,f,e,c,8);$c=d;return}function UD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+64|0;f=d+32|0;e=d;YE(f,b,8,c);ZE(g,b+(0-(c<<1))+2|0,c);_E(e,g+16|0,8);$E(a,f,e,c,8);$c=d;return}function VD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+64|0;f=d+32|0;e=d;UE(f,b,8,c);VE(g,b+(0-(c<<1))+2|0,c);WE(e,g+16|0,8);XE(a,f,e,c,8);$c=d;return} -function wd(){cf();PS();lV()}function xd(a){a=a|0;var b=0;b=$c;$c=$c+a|0;$c=$c+15&-16;if(($c|0)>=(ad|0))N(a|0);return b|0}function yd(){return $c|0}function zd(a){a=a|0;$c=a}function Ad(a,b){a=a|0;b=b|0;$c=a;ad=b}function Bd(){Mb();return 0}function Cd(a){a=a|0;var b=0;Pa(9560,9568,9584,0,120199,13,120202,0,120202,0,119486,174170,27);b=qV(8)|0;c[b>>2]=3;c[b+4>>2]=0;Ra(9560,119495,3,58800,120204,4,b|0,0);b=qV(8)|0;c[b>>2]=4;c[b+4>>2]=0;Ra(9560,119501,3,58812,120204,5,b|0,0);b=qV(8)|0;c[b>>2]=28;c[b+4>>2]=0;Ra(9560,119508,2,58824,120209,5,b|0,0);b=qV(8)|0;c[b>>2]=29;c[b+4>>2]=0;Ra(9560,119515,2,58824,120209,5,b|0,0);b=qV(8)|0;c[b>>2]=6;c[b+4>>2]=0;a=qV(8)|0;c[a>>2]=7;c[a+4>>2]=0;Sa(9560,119533,9552,120213,5,b|0,9552,120204,6,a|0);a=qV(8)|0;c[a>>2]=8;c[a+4>>2]=0;b=qV(8)|0;c[b>>2]=9;c[b+4>>2]=0;Sa(9560,119543,9552,120213,5,a|0,9552,120204,6,b|0);b=qV(8)|0;c[b>>2]=10;c[b+4>>2]=0;a=qV(8)|0;c[a>>2]=11;c[a+4>>2]=0;Sa(9560,119551,9552,120213,5,b|0,9552,120204,6,a|0);a=qV(8)|0;c[a>>2]=12;c[a+4>>2]=0;b=qV(8)|0;c[b>>2]=13;c[b+4>>2]=0;Sa(9560,119563,9552,120213,5,a|0,9552,120204,6,b|0);b=qV(8)|0;c[b>>2]=14;c[b+4>>2]=0;a=qV(8)|0;c[a>>2]=15;c[a+4>>2]=0;Sa(9560,119575,9552,120213,5,b|0,9552,120204,6,a|0);a=qV(8)|0;c[a>>2]=16;c[a+4>>2]=0;Sa(9560,119579,9552,120213,5,a|0,0,0,0,0);Pa(9640,9656,9672,9560,120199,14,120199,15,120199,16,119590,174170,30);a=qV(4)|0;c[a>>2]=31;Ra(9640,120217,2,58832,120209,17,a|0,0);Qa(9560,120237,3,58840,120373,9,6);Qa(9560,120247,3,58964,120373,10,7);return}function Dd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);n=o+8|0;m=o;e=b+80|0;l=b+4|0;if(a[e>>0]|0){f=c[l>>2]|0;if((a[182336]|0)==0?CW(182336)|0:0)c[45600]=hb(1,58760)|0;eb(c[45600]|0,f|0,119603,m|0)}a[e>>0]=1;g=c[l>>2]|0;j=mb(119609)|0;g=ib(g|0,j|0)|0;fb(j|0);j=Vd(g,119621)|0;fb(g|0);c[n>>2]=119629;c[n+4>>2]=j?119638:119643;Db(0,n|0);a[(c[b+32>>2]|0)+36>>0]=j&1;j=d+11|0;g=a[j>>0]|0;h=g<<24>>24<0;f=h?c[d>>2]|0:d;k=d+4|0;g=h?c[k>>2]|0:g&255;h=f+g|0;e=h;i=f;a:do if((g|0)<4)g=h;else{while(1){g=g+-3|0;if(!g){g=h;break a}f=HT(f,46,g)|0;if(!f){g=h;break a}if(!(qT(f,119649,4)|0))break;f=f+1|0;g=e-f|0;if((g|0)<4){g=h;break a}}g=f;e=f}while(0);a[b+81>>0]=(e-i|0)!=-1&(g|0)!=(h|0)&1;h=gb(119654)|0;e=a[j>>0]|0;if(e<<24>>24<0){f=c[k>>2]|0;g=WU(f+4|0)|0;c[g>>2]=f;e=c[d>>2]|0}else{f=e&255;g=WU(f+4|0)|0;c[g>>2]=f;e=d}XW(g+4|0,e|0,f|0)|0;c[n>>2]=g;c[m>>2]=lb(h|0,1,58768,n|0)|0;fb(h|0);Td(m,119664,119675);Ud(n,b,119501);k=c[m>>2]|0;d=mb(119687)|0;qb(k|0,d|0,c[n>>2]|0);fb(d|0);fb(c[n>>2]|0);c[b+72>>2]=yb()|0;b=c[l>>2]|0;n=mb(119697)|0;qb(b|0,n|0,c[m>>2]|0);fb(n|0);fb(c[m>>2]|0);$c=o;return}function Ed(b,e){b=b|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=$c;$c=$c+64|0;if(($c|0)>=(ad|0))N(64);k=z+8|0;u=z;y=z+48|0;s=z+32|0;t=z+16|0;f=c[e>>2]|0;x=mb(119825)|0;c[s>>2]=ib(f|0,x|0)|0;fb(x|0);Yd(y,s);fb(c[s>>2]|0);x=y+11|0;f=a[x>>0]|0;j=y+4|0;e=b+76|0;c[e>>2]=(c[e>>2]|0)+(f<<24>>24<0?c[j>>2]|0:f&255);f=yb()|0;h=b+72|0;i=c[h>>2]|0;if((f|0)>(i|0)){g[b+96>>3]=+(c[e>>2]|0)*1.0e3/+(f-i|0);c[h>>2]=f;c[e>>2]=0}a:do if(!(a[b+81>>0]|0))switch(a[(IV(y,0)|0)>>0]|0){case 1:{DV(t,y,1,-1,y);c[s>>2]=c[t>>2];c[s+4>>2]=c[t+4>>2];c[s+8>>2]=c[t+8>>2];q=s+12|0;c[q>>2]=0;w=s+11|0;v=(a[w>>0]|0)<0?c[s>>2]|0:s;t=a[v+3>>0]|0;r=a[v+2>>0]|0;u=a[v+1>>0]|0;v=a[v>>0]|0;c[q>>2]=4;Zd(b,(r&255)<<8|t&255|(u&255)<<16|(v&255)<<24,s);if((a[w>>0]|0)<0)rV(c[s>>2]|0);break a}case 2:{DV(t,y,1,-1,y);c[s>>2]=c[t>>2];c[s+4>>2]=c[t+4>>2];c[s+8>>2]=c[t+8>>2];q=s+12|0;c[q>>2]=0;w=s+11|0;v=(a[w>>0]|0)<0?c[s>>2]|0:s;t=a[v+3>>0]|0;r=a[v+2>>0]|0;u=a[v+1>>0]|0;v=a[v>>0]|0;c[q>>2]=4;_d(b,(r&255)<<8|t&255|(u&255)<<16|(v&255)<<24,s);if((a[w>>0]|0)<0)rV(c[s>>2]|0);break a}default:{b=a[(IV(y,0)|0)>>0]|0;c[k>>2]=119846;c[k+4>>2]=b;Db(1,k|0);break a}}else{w=b+12|0;p=a[x>>0]|0;r=p<<24>>24<0;JV(w,r?c[y>>2]|0:y,r?c[j>>2]|0:p&255)|0;j=b+8|0;p=w+11|0;if(!(a[j>>0]|0)){e=a[p>>0]|0;f=e<<24>>24<0;if(f)h=c[b+16>>2]|0;else h=e&255;i=b+24|0;if((h-(c[i>>2]|0)|0)<=12)break;a[j>>0]=1;c[i>>2]=13;if(f){e=c[b+16>>2]|0;f=c[w>>2]|0}else{e=e&255;f=w}b=e+-13|0;YW(f|0,f+13|0,b|0)|0;FV(w,b,0);c[i>>2]=0;break}l=b+16|0;q=b+24|0;m=t+11|0;n=t+4|0;o=s+11|0;while(1){i=a[p>>0]|0;j=i<<24>>24<0;if(j)e=c[l>>2]|0;else e=i&255;r=c[q>>2]|0;if((e-r|0)<=3)break;if(j)e=c[w>>2]|0;else e=w;h=r+1|0;k=a[e+r>>0]|0;c[q>>2]=h;h=e+h+3+-1|0;e=a[h>>0]|0;A=a[h+-1>>0]|0;h=a[h+-2>>0]|0;f=r+4|0;c[q>>2]=f;h=(A&255)<<8|e&255|(h&255)<<16;if(j)e=c[l>>2]|0;else e=i&255;if((e-f|0)>>>0<(h+11|0)>>>0){v=24;break}if(j)e=c[w>>2]|0;else e=w;e=e+f+3+-1|0;e=d[e+-1>>0]<<8|d[e>>0]|d[e+-2>>0]<<16;A=r+11|0;c[q>>2]=A;c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;c[s+12>>2]=0;DV(t,w,A,h,w);A=a[m>>0]|0;r=A<<24>>24<0;A=r?c[n>>2]|0:A&255;c[q>>2]=(c[q>>2]|0)+A;JV(s,r?c[t>>2]|0:t,A)|0;if((a[m>>0]|0)<0)rV(c[t>>2]|0);switch(k<<24>>24){case 8:{Zd(b,e,s);break}case 9:{_d(b,e,s);break}default:{c[u>>2]=119830;c[u+4>>2]=k&255;Db(0,u|0)}}c[q>>2]=(c[q>>2]|0)+4;if((a[o>>0]|0)<0)rV(c[s>>2]|0)}if((v|0)==24)c[q>>2]=r;if(j){e=c[l>>2]|0;f=c[w>>2]|0}else{e=i&255;f=w}A=e-r|0;YW(f|0,f+r|0,A|0)|0;FV(w,A,0);c[q>>2]=0}while(0);if((a[x>>0]|0)>=0){$c=z;return}rV(c[y>>2]|0);$c=z;return}function Fd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);g=i;f=gb(120137)|0;e=b+64|0;c[g>>2]=c[e>>2];fb(cb(f|0,1,58796,g|0)|0);fb(f|0);f=b+36|0;oe(f);ne(f);g=c[b+40>>2]|0;h=b+44|0;d=c[h>>2]|0;if((d|0)!=(g|0))c[h>>2]=d+(~((d+-4-g|0)>>>2)<<2);pe(f);c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;h=c[b+32>>2]|0;nd[c[(c[h>>2]|0)+8>>2]&63](h);c[e>>2]=0;a[b+68>>0]=1;a[b+60>>0]=0;FV(b+12|0,0,0);c[b+24>>2]=0;a[b+8>>0]=0;$c=i;return}function Gd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);p=q;h=q+12|0;j=q+8|0;k=b+56|0;a:do if(c[k>>2]|0){l=b+40|0;m=b+52|0;n=b+4|0;o=b+88|0;i=b+32|0;g=0;d=c[m>>2]|0;while(1){e=(d>>>0)/204|0;f=c[(c[l>>2]|0)+(e<<2)>>2]|0;d=d-(e*204|0)|0;e=f+(d*20|0)|0;if(g?(c[h>>2]=c[e>>2],g=fe(c[n>>2]|0,120128,h)|0,g=((c[o>>2]|0)*1e3|0)+g|0,c[j>>2]=g,(g|0)>0):0)break;e=c[e>>2]|0;c[p>>2]=120080;c[p+4>>2]=e;Db(0,p|0);e=c[i>>2]|0;od[c[(c[e>>2]|0)+16>>2]&255](e,f+(d*20|0)+4|0);d=c[m>>2]|0;e=(d>>>0)/204|0;e=(c[(c[l>>2]|0)+(e<<2)>>2]|0)+((d-(e*204|0)|0)*20|0)+4|0;if((a[e+11>>0]|0)<0){rV(c[e>>2]|0);d=c[m>>2]|0}e=(c[k>>2]|0)+-1|0;c[k>>2]=e;d=d+1|0;c[m>>2]=d;if(d>>>0>407){rV(c[c[l>>2]>>2]|0);c[l>>2]=(c[l>>2]|0)+4;d=(c[m>>2]|0)+-204|0;c[m>>2]=d;e=c[k>>2]|0}if(!e)break a;else g=1}a[b+60>>0]=1;c[b+64>>2]=ge(c[n>>2]|0,120112,j)|0;$c=q;return}while(0);a[b+60>>0]=0;$c=q;return}function Hd(a,b){a=a|0;b=b|0;var e=0,f=0;e=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=e;c[f>>2]=d[b+80>>0];c[a>>2]=rb(58648,f|0)|0;$c=e;return}function Id(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0;e=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);g=e;f=+bb(c[d>>2]|0,58648,g|0);pb(c[g>>2]|0);a[b+80>>0]=f!=0.0&1;$c=e;return}function Jd(a,b){a=a|0;b=b|0;var e=0,f=0;e=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=e;c[f>>2]=d[b+81>>0];c[a>>2]=rb(58648,f|0)|0;$c=e;return}function Kd(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0;e=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);g=e;f=+bb(c[d>>2]|0,58648,g|0);pb(c[g>>2]|0);a[b+81>>0]=f!=0.0&1;$c=e;return}function Ld(a,b){a=a|0;b=b|0;var d=0,e=0;d=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=d;c[e>>2]=c[b+84>>2];c[a>>2]=rb(58696,e|0)|0;$c=d;return}function Md(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=d;e=+bb(c[b>>2]|0,58696,f|0);pb(c[f>>2]|0);c[a+84>>2]=~~e;$c=d;return}function Nd(a,b){a=a|0;b=b|0;var d=0,e=0;d=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=d;c[e>>2]=c[b+88>>2];c[a>>2]=rb(58696,e|0)|0;$c=d;return}function Od(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=d;e=+bb(c[b>>2]|0,58696,f|0);pb(c[f>>2]|0);c[a+88>>2]=~~e;$c=d;return}function Pd(a,b){a=a|0;b=b|0;var d=0,e=0;d=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=d;g[e>>3]=+g[b+96>>3];c[a>>2]=rb(58736,e|0)|0;$c=d;return}function Qd(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=d;e=+bb(c[b>>2]|0,58736,f|0);pb(c[f>>2]|0);g[a+96>>3]=e;$c=d;return}function Rd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=d+4|0;f=d;c[e>>2]=nb()|0;i=b+40|0;h=b+52|0;j=c[h>>2]|0;g=(j>>>0)/204|0;qe(e,120150,(c[(c[i>>2]|0)+(g<<2)>>2]|0)+((j-(g*204|0)|0)*20|0)|0);b=b+56|0;h=(c[b>>2]|0)+-1+(c[h>>2]|0)|0;g=(h>>>0)/204|0;re(e,120156,(c[(c[i>>2]|0)+(g<<2)>>2]|0)+((h-(g*204|0)|0)*20|0)|0);c[f>>2]=c[b>>2];se(e,120161,f);b=c[e>>2]|0;c[a>>2]=b;jb(b|0);fb(c[e>>2]|0);$c=d;return}function Sd(a){a=a|0;fb(c[a>>2]|0);return}function Td(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a>>2]|0;b=mb(b|0)|0;d=mb(d|0)|0;qb(a|0,b|0,d|0);fb(d|0);fb(b|0);return}function Ud(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;b=b+4|0;f=c[b>>2]|0;e=mb(d|0)|0;d=ib(f|0,e|0)|0;fb(e|0);Xd(a,d,119801,b);fb(d|0);return}function Vd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0.0;g=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=g;f=g+8|0;if((a[182344]|0)==0?CW(182344)|0:0)c[45601]=hb(1,58764)|0;h=+db(c[45601]|0,b|0,d|0,f|0,e|0);pb(c[f>>2]|0);$c=g;return h!=0.0|0}function Wd(a){a=a|0;wa(a|0)|0;fW()}function Xd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0.0,k=0;i=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);g=i;h=i+8|0;if((a[182352]|0)==0?CW(182352)|0:0)c[45602]=hb(2,58772)|0;k=c[45602]|0;jb(c[f>>2]|0);c[g>>2]=c[f>>2];j=+db(k|0,d|0,e|0,h|0,g|0);h=c[h>>2]|0;c[b>>2]=~~j>>>0;pb(h|0);$c=i;return}function Yd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0.0,j=0;h=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=h;i=+bb(c[d>>2]|0,9528,e|0);e=c[e>>2]|0;g=~~i>>>0;f=g+4|0;g=c[g>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;if(g>>>0>4294967279)wV(b);if(g>>>0<11){a[b+11>>0]=g;if(!g){f=b;g=f+g|0;a[g>>0]=0;pb(e|0);$c=h;return}else d=b}else{j=g+16&-16;d=qV(j)|0;c[b>>2]=d;c[b+8>>2]=j|-2147483648;c[b+4>>2]=g}XW(d|0,f|0,g|0)|0;j=d;j=j+g|0;a[j>>0]=0;pb(e|0);$c=h;return}function Zd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);j=k;i=e+12|0;h=c[i>>2]|0;f=a[((a[e+11>>0]|0)<0?c[e>>2]|0:e)+h+1+-1>>0]|0;c[i>>2]=h+1;f=f&255;i=f>>>4;h=b+28|0;d=c[h>>2]|0;if(!d){g=(f&1)+1|0;d=f>>>2;switch(d&3){case 1:{d=11025;break}case 2:{d=22050;break}case 3:{d=44100;break}default:d=d&3}switch(i&15){case 10:{ae(b,c[b+84>>2]<<10,d,g);break}case 11:{ae(b,16e3,16e3,g);break}case 2:{ae(b,(c[b+84>>2]|0)*576|0,d,g);break}default:{}}d=c[h>>2]|0;if(!d){$c=k;return}}if((i|0)!=2){$c=k;return}f=c[d+8>>2]|0;g=d+4|0;f=ce(d,e,f+(c[g>>2]|0)|0,f+(c[d>>2]|0)|0)|0;if(!f){$c=k;return}i=(c[g>>2]|0)+f|0;e=(i|0)==(c[d>>2]|0);c[g>>2]=e?0:i;if(!e){$c=k;return}d=c[b+4>>2]|0;if((a[182336]|0)==0?CW(182336)|0:0)c[45600]=hb(1,58760)|0;eb(c[45600]|0,d|0,119929,j|0);$c=k;return}function _d(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=$c;$c=$c+64|0;if(($c|0)>=(ad|0))N(64);o=r+40|0;m=r+32|0;l=r+24|0;k=r+16|0;j=r+8|0;p=r;n=r+48|0;q=e+12|0;f=c[q>>2]|0;g=((a[e+11>>0]|0)<0?c[e>>2]|0:e)+f|0;h=a[g+1>>0]|0;i=b+68|0;if(a[i>>0]|0){g=a[g>>0]|0;f=g&15;switch(g&15){case 7:{c[j>>2]=119974;Db(0,j|0);break}case 12:{c[k>>2]=119989;Db(0,k|0);break}default:{c[l>>2]=120004;c[l+4>>2]=f;Db(0,l|0);$c=r;return}}if(!(h<<24>>24==0&(g&-16)<<24>>24==16)){$c=r;return}q=c[b+32>>2]|0;pd[c[(c[q>>2]|0)+12>>2]&1023](q,e,f);a[i>>0]=0;c[m>>2]=120064;Db(0,m|0);$c=r;return}if(h<<24>>24!=1){f=c[b+4>>2]|0;if((a[182336]|0)==0?CW(182336)|0:0)c[45600]=hb(1,58760)|0;eb(c[45600]|0,f|0,120098,p|0);$c=r;return}c[q>>2]=f+5;f=b+88|0;a:do if(c[f>>2]|0){g=b+60|0;do if(!(a[g>>0]|0)){c[p>>2]=d;h=b+4|0;p=fe(c[h>>2]|0,120128,p)|0;p=((c[f>>2]|0)*1e3|0)+p|0;c[n>>2]=p;if((p|0)>0){a[g>>0]=1;c[b+64>>2]=ge(c[h>>2]|0,120112,n)|0;break}else break a}while(0);j=b+44|0;g=c[j>>2]|0;k=b+40|0;f=c[k>>2]|0;p=g-f|0;i=b+52|0;l=b+56|0;h=(c[l>>2]|0)+(c[i>>2]|0)|0;if((((p|0)==0?0:((p>>2)*204|0)+-1|0)|0)==(h|0)){he(b+36|0);h=(c[i>>2]|0)+(c[l>>2]|0)|0;g=c[j>>2]|0;f=c[k>>2]|0}if((g|0)==(f|0))f=0;else{b=(h>>>0)/204|0;f=(c[f+(b<<2)>>2]|0)+((h-(b*204|0)|0)*20|0)|0}c[f>>2]=d;d=f+4|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[f+16>>2]=c[q>>2];c[l>>2]=(c[l>>2]|0)+1;$c=r;return}while(0);c[o>>2]=120080;c[o+4>>2]=d;Db(0,o|0);q=c[b+32>>2]|0;od[c[(c[q>>2]|0)+16>>2]&255](q,e);$c=r;return}function $d(b){b=b|0;if((a[b+11>>0]|0)>=0)return;rV(c[b>>2]|0);return}function ae(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);j=l+40|0;i=l+32|0;k=l;h=b+28|0;g=c[h>>2]|0;if(!g){g=qV(22700)|0;c[g>>2]=H(d<<1,f)|0;c[g+4>>2]=0;m=g+22668|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[m+24>>2]=0;c[m+28>>2]=0;vS(g+12|0);wS(g+76|0);xS(g+9344|0);c[i>>2]=119964;Db(0,i|0);c[g+8>>2]=WU(c[g>>2]|0)|0;c[j>>2]=119949;c[j+4>>2]=g;Db(0,j|0);c[h>>2]=g}h=c[g+8>>2]>>1;g=c[b+4>>2]|0;if((a[182360]|0)==0?CW(182360)|0:0)c[45603]=hb(5,16)|0;m=c[45603]|0;c[k>>2]=d;c[k+8>>2]=e;c[k+16>>2]=f;c[k+24>>2]=h;eb(m|0,g|0,119939,k|0);$c=l;return}function be(b){b=b|0;var d=0;zS(b+64|0);d=b+22672|0;if((a[d+11>>0]|0)<0)rV(c[d>>2]|0);b=b+22656|0;if((a[b+11>>0]|0)>=0)return;rV(c[b>>2]|0);return}function ce(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=d+12|0;i=d+22668|0;j=i+11|0;h=a[j>>0]|0;if(h<<24>>24<0)n=c[d+22672>>2]|0;else n=h&255;h=e+11|0;q=a[h>>0]|0;k=e+4|0;l=e+12|0;FV(i,n-(c[l>>2]|0)+(q<<24>>24<0?c[k>>2]|0:q&255)|0,0);if((a[j>>0]|0)<0)m=c[i>>2]|0;else m=i;h=a[h>>0]|0;if(h<<24>>24<0){h=c[l>>2]|0;i=c[k>>2]|0;j=h;h=(c[e>>2]|0)+h|0}else{q=c[l>>2]|0;i=h&255;j=q;h=e+q|0}XW(m+n|0,h|0,i-j|0)|0;if((de(r)|0)==-1){r=0;return r|0}o=d+13448|0;p=d+13450|0;q=d+13452|0;n=d+18060|0;h=0;while(1){i=b[o>>1]|0;d=b[p>>1]|0;j=d&65535;h=(H((i&65535)<<1,j)|0)+h|0;e=j+-1|0;do if(d<<16>>16)if(i<<16>>16==2){m=j<<2;j=n;k=q;l=f;i=e;while(1){d=c[k>>2]|0;d=(d|0)>268431359?32767:(d|0)<-268439552?-32768:d+4096>>13;a[l>>0]=d;a[l+1>>0]=d>>>8;d=c[j>>2]|0;d=(d|0)>268431359?32767:(d|0)<-268439552?-32768:d+4096>>13;a[l+2>>0]=d;a[l+3>>0]=d>>>8;if(!i)break;else{j=j+4|0;k=k+4|0;l=l+4|0;i=i+-1|0}}f=f+m|0;break}else{l=j<<1;j=q;k=f;i=e;while(1){d=c[j>>2]|0;d=(d|0)>268431359?32767:(d|0)<-268439552?-32768:d+4096>>13;a[k>>0]=d;a[k+1>>0]=d>>>8;if(!i)break;else{j=j+4|0;k=k+2|0;i=i+-1|0}}f=f+l|0;break}while(0);if(f>>>0>=g>>>0){f=22;break}if((de(r)|0)==-1){f=22;break}}if((f|0)==22)return h|0;return 0}function de(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=$c;$c=$c+272|0;if(($c|0)>=(ad|0))N(272);t=u+256|0;s=u;k=u+248|0;l=u+244|0;q=d+22656|0;n=q+11|0;if((a[n>>0]|0)<0)e=c[q>>2]|0;else e=q;r=d+22668|0;i=e+(c[r>>2]|0)|0;j=ee(d,i)|0;if((j|0)==-1){d=-1;$c=u;return d|0}f=c[r>>2]|0;g=f+j|0;c[r>>2]=g;e=a[n>>0]|0;if(e<<24>>24<0)e=c[d+22660>>2]|0;else e=e&255;if((e|0)==(g|0)){c[r>>2]=f;d=-1;$c=u;return d|0}e=d+9328|0;if((c[e>>2]|0)==0?(p=YU(1152,4)|0,c[e>>2]=p,(p|0)==0):0){c[d+60>>2]=49;g=d+92|0;e=d+68|0}else{e=d+68|0;f=(c[e>>2]|0)==0;g=d+92|0;h=c[g>>2]|0;if(((h&16|0)!=0?(m=d+28|0,p=c[m+4>>2]|0,o=s,c[o>>2]=c[m>>2],c[o+4>>2]=p,o=d+88|0,p=b[o>>1]|0,c[t>>2]=c[s>>2],c[t+4>>2]=c[s+4>>2],p=uS(t,(h&4096|0)==0?(f?136:256):f?72:136,p)|0,b[o>>1]=p,p<<16>>16!=(b[d+90>>1]|0)):0)?(c[d+108>>2]&1|0)==0:0)c[d+60>>2]=513}p=d+64|0;o=(c[e>>2]|0)==0?1:2;f=d+28|0;DS(f,o,c[g>>2]&4096,s,l,k)|0;c[g>>2]=c[g>>2]|c[k>>2];g=d+96|0;c[g>>2]=c[g>>2]|c[s+4>>2];g=rS(f)|0;f=i-g+j|0;if((a[n>>0]|0)<0)e=c[q>>2]|0;else e=q;pS(t,e+(c[r>>2]|0)|0);e=tS(t,32)|0;if((e&-1703936|0)==-1966080){if(!(e&65536))sS(t,16);j=tS(t,e>>>19&1|8)|0}else j=0;m=d+22672|0;k=m+11|0;e=a[k>>0]|0;if(e<<24>>24<0)e=c[d+22676>>2]|0;else e=e&255;l=d+22684|0;i=e-(c[l>>2]|0)|0;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;FV(t,f,0);h=t+11|0;XW(((a[h>>0]|0)<0?c[t>>2]|0:t)+(c[t+12>>2]|0)|0,g|0,f|0)|0;g=a[h>>0]|0;f=g<<24>>24<0;JV(m,f?c[t>>2]|0:t,f?c[t+4>>2]|0:g&255)|0;if((a[h>>0]|0)<0)rV(c[t>>2]|0);e=a[n>>0]|0;if(e<<24>>24<0){e=c[r>>2]|0;f=c[q>>2]|0;g=e;e=(c[d+22660>>2]|0)-e|0}else{n=c[r>>2]|0;f=q;g=n;e=(e&255)-n|0}YW(f|0,f+g|0,e|0)|0;FV(q,e,0);c[r>>2]=0;e=a[k>>0]|0;h=e<<24>>24<0;if(h)e=c[d+22676>>2]|0;else e=e&255;g=e-(c[l>>2]|0)|0;e=c[s>>2]|0;if(i>>>0>>0|g>>>0>>0)e=-1;else{f=i-e|0;c[l>>2]=f;if(h)e=c[m>>2]|0;else e=m;pS(t,e+f|0);ES(t,p,s,o)|0;yS(d+9332|0,p);g=g-j-f+(c[l>>2]|0)|0;c[l>>2]=g;e=a[k>>0]|0;if(e<<24>>24<0){e=c[d+22676>>2]|0;f=c[m>>2]|0}else{e=e&255;f=m}e=e-g|0;YW(f|0,f+g|0,e|0)|0;FV(m,e,0);c[l>>2]=0;e=0}d=e;$c=u;return d|0}function ee(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=a+64|0;pS(a+28|0,b);c[a+20>>2]=b;KS(h,a)|0;d=a+100|0;switch(c[h>>2]|0){case 1:{b=384;break}case 3:{b=(c[a+92>>2]&4096|0)==0?1152:576;f=3;break}default:{b=1152;f=3}}g=a+84|0;LS(d,0,b,c[g>>2]|0);d=a+80|0;e=c[d>>2]|0;if(!e){b=a+16|0;e=c[b>>2]|0;if(!((e|0)!=0?!(e>>>0>64e4&(c[h>>2]|0)==3):0))f=8;do if((f|0)==8)if((MS(a,h)|0)==-1){h=-1;return h|0}else{e=c[b>>2]|0;break}while(0);c[d>>2]=e;f=a+92|0;b=c[f>>2]|1024;c[f>>2]=b}else b=c[a+92>>2]|0;d=b>>>7&1;switch(c[h>>2]|0){case 1:{h=(((e*12|0)>>>0)/((c[g>>2]|0)>>>0)|0)+d<<2;return h|0}case 3:{b=(b&4096|0)==0?144:72;break}default:b=144}h=H(e,b)|0;h=((h>>>0)/((c[g>>2]|0)>>>0)|0)+d|0;return h|0}function fe(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0.0,j=0;h=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=h;g=h+8|0;if((a[182368]|0)==0?CW(182368)|0:0)c[45604]=hb(2,58780)|0;j=c[45604]|0;c[f>>2]=c[e>>2];i=+db(j|0,b|0,d|0,g|0,f|0);pb(c[g>>2]|0);$c=h;return ~~i|0}function ge(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0.0,j=0;h=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=h;g=h+8|0;if((a[182376]|0)==0?CW(182376)|0:0)c[45605]=hb(2,58788)|0;j=c[45605]|0;c[f>>2]=c[e>>2];i=+db(j|0,b|0,d|0,g|0,f|0);pb(c[g>>2]|0);$c=h;return ~~i|0}function he(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);k=r+4|0;g=r;b=a+16|0;d=c[b>>2]|0;if(d>>>0>203){c[b>>2]=d+-204;o=a+4|0;m=c[o>>2]|0;q=c[m>>2]|0;m=m+4|0;c[o>>2]=m;p=a+8|0;b=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;e=l;do if((b|0)==(l|0)){i=m;d=c[a>>2]|0;f=d;if(m>>>0>d>>>0){e=((i-f>>2)+1|0)/-2|0;f=m+(e<<2)|0;d=b-i|0;if(!d)b=f;else{YW(f|0,m|0,d|0)|0;b=(c[o>>2]|0)+(e<<2)|0}a=f+(d>>2<<2)|0;c[p>>2]=a;c[o>>2]=b;b=a;break}f=e-f|0;f=(f|0)==0?1:f>>1;g=f>>>2;do if(f)if(f>>>0>1073741823){r=va(8)|0;uV(r,119861);c[r>>2]=114176;Aa(r|0,58568,21)}else{h=qV(f<<2)|0;break}else h=0;while(0);k=h;e=h+(g<<2)|0;l=e;j=h+(f<<2)|0;if((m|0)==(b|0))b=l;else{f=((b+-4-i|0)>>>2)+1|0;d=m;while(1){c[e>>2]=c[d>>2];d=d+4|0;if((d|0)==(b|0))break;else e=e+4|0}b=h+(f+g<<2)|0;d=c[a>>2]|0}c[a>>2]=k;c[o>>2]=l;c[p>>2]=b;c[n>>2]=j;if(d){rV(d);b=c[p>>2]|0}}while(0);c[b>>2]=q;c[p>>2]=(c[p>>2]|0)+4;$c=r;return}q=a+8|0;b=c[q>>2]|0;p=a+4|0;f=b-(c[p>>2]|0)>>2;o=a+12|0;d=c[o>>2]|0;e=d-(c[a>>2]|0)|0;if(f>>>0>=e>>2>>>0){b=(e|0)==0?1:e>>1;i=k+12|0;c[i>>2]=0;c[k+16>>2]=a+12;do if(b)if(b>>>0>1073741823){r=va(8)|0;uV(r,119861);c[r>>2]=114176;Aa(r|0,58568,21)}else{d=qV(b<<2)|0;break}else d=0;while(0);c[k>>2]=d;n=d+(f<<2)|0;j=k+8|0;c[j>>2]=n;h=k+4|0;c[h>>2]=n;c[i>>2]=d+(b<<2);c[g>>2]=qV(4080)|0;ke(k,g);b=c[q>>2]|0;d=c[p>>2]|0;if((b|0)!=(d|0)){do{b=b+-4|0;le(k,b);d=c[p>>2]|0}while((b|0)!=(d|0));b=c[q>>2]|0}e=d;f=c[a>>2]|0;c[a>>2]=c[k>>2];c[k>>2]=f;c[p>>2]=c[h>>2];c[h>>2]=e;c[q>>2]=c[j>>2];c[j>>2]=b;a=c[o>>2]|0;c[o>>2]=c[i>>2];c[i>>2]=a;if((d|0)!=(b|0))c[j>>2]=b+(~((b+-4-e|0)>>>2)<<2);if(f|0)rV(f);$c=r;return}if((d|0)!=(b|0)){c[k>>2]=qV(4080)|0;ie(a,k);$c=r;return}c[k>>2]=qV(4080)|0;je(a,k);m=c[p>>2]|0;n=c[m>>2]|0;m=m+4|0;c[p>>2]=m;b=c[q>>2]|0;l=c[o>>2]|0;e=l;do if((b|0)==(l|0)){j=m;d=c[a>>2]|0;f=d;if(m>>>0>d>>>0){e=((j-f>>2)+1|0)/-2|0;f=m+(e<<2)|0;d=b-j|0;if(!d)b=f;else{YW(f|0,m|0,d|0)|0;b=(c[p>>2]|0)+(e<<2)|0}a=f+(d>>2<<2)|0;c[q>>2]=a;c[p>>2]=b;b=a;break}f=e-f|0;f=(f|0)==0?1:f>>1;g=f>>>2;do if(f)if(f>>>0>1073741823){r=va(8)|0;uV(r,119861);c[r>>2]=114176;Aa(r|0,58568,21)}else{h=qV(f<<2)|0;break}else h=0;while(0);k=h;e=h+(g<<2)|0;l=e;i=h+(f<<2)|0;if((m|0)==(b|0))b=l;else{f=((b+-4-j|0)>>>2)+1|0;d=m;while(1){c[e>>2]=c[d>>2];d=d+4|0;if((d|0)==(b|0))break;else e=e+4|0}b=h+(f+g<<2)|0;d=c[a>>2]|0}c[a>>2]=k;c[p>>2]=l;c[q>>2]=b;c[o>>2]=i;if(d){rV(d);b=c[q>>2]|0}}while(0);c[b>>2]=n;c[q>>2]=(c[q>>2]|0)+4;$c=r;return}function ie(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+8|0;d=c[q>>2]|0;n=a+12|0;p=c[n>>2]|0;g=p;do if((d|0)==(p|0)){p=a+4|0;o=c[p>>2]|0;j=o;e=c[a>>2]|0;f=e;if(o>>>0>e>>>0){f=((j-f>>2)+1|0)/-2|0;g=o+(f<<2)|0;e=d-j|0;if(!e)d=g;else{YW(g|0,o|0,e|0)|0;d=(c[p>>2]|0)+(f<<2)|0}o=g+(e>>2<<2)|0;c[q>>2]=o;c[p>>2]=d;d=o;break}g=g-f|0;g=(g|0)==0?1:g>>1;h=g>>>2;do if(g)if(g>>>0>1073741823){q=va(8)|0;uV(q,119861);c[q>>2]=114176;Aa(q|0,58568,21)}else{i=qV(g<<2)|0;break}else i=0;while(0);l=i;f=i+(h<<2)|0;m=f;k=i+(g<<2)|0;if((o|0)==(d|0))d=m;else{g=h+((d+-4-j|0)>>>2)+1|0;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(d|0))break;else f=f+4|0}d=i+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=l;c[p>>2]=m;c[q>>2]=d;c[n>>2]=k;if(e){rV(e);d=c[q>>2]|0}}while(0);c[d>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+4;return}function je(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+4|0;o=c[q>>2]|0;j=o;p=c[a>>2]|0;e=p;do if((o|0)==(p|0)){p=a+8|0;m=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;d=l;if(m>>>0>>0){e=m;g=((d-e>>2)+1|0)/2|0;f=m+(g<<2)|0;e=e-j|0;d=f+(0-(e>>2)<<2)|0;if(!e){d=f;e=f}else{YW(d|0,o|0,e|0)|0;e=(c[p>>2]|0)+(g<<2)|0}c[q>>2]=d;c[p>>2]=e;break}e=d-e|0;e=(e|0)==0?1:e>>1;f=(e+3|0)>>>2;do if(e)if(e>>>0>1073741823){q=va(8)|0;uV(q,119861);c[q>>2]=114176;Aa(q|0,58568,21)}else{h=qV(e<<2)|0;break}else h=0;while(0);k=h;d=h+(f<<2)|0;l=d;i=h+(e<<2)|0;if((o|0)==(m|0)){f=l;e=o}else{g=((m+-4-j|0)>>>2)+f+1|0;f=d;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(m|0))break;else f=f+4|0}f=h+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=k;c[q>>2]=l;c[p>>2]=f;c[n>>2]=i;if(e){rV(e);d=c[q>>2]|0}}else d=o;while(0);c[d+-4>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+-4;return}function ke(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+8|0;d=c[q>>2]|0;n=a+12|0;p=c[n>>2]|0;g=p;do if((d|0)==(p|0)){p=a+4|0;o=c[p>>2]|0;j=o;e=c[a>>2]|0;f=e;if(o>>>0>e>>>0){f=((j-f>>2)+1|0)/-2|0;g=o+(f<<2)|0;e=d-j|0;if(!e)d=g;else{YW(g|0,o|0,e|0)|0;d=(c[p>>2]|0)+(f<<2)|0}o=g+(e>>2<<2)|0;c[q>>2]=o;c[p>>2]=d;d=o;break}g=g-f|0;g=(g|0)==0?1:g>>1;h=g>>>2;do if(g)if(g>>>0>1073741823){q=va(8)|0;uV(q,119861);c[q>>2]=114176;Aa(q|0,58568,21)}else{i=qV(g<<2)|0;break}else i=0;while(0);l=i;f=i+(h<<2)|0;m=f;k=i+(g<<2)|0;if((o|0)==(d|0))d=m;else{g=h+((d+-4-j|0)>>>2)+1|0;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(d|0))break;else f=f+4|0}d=i+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=l;c[p>>2]=m;c[q>>2]=d;c[n>>2]=k;if(e){rV(e);d=c[q>>2]|0}}while(0);c[d>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+4;return}function le(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+4|0;o=c[q>>2]|0;j=o;p=c[a>>2]|0;e=p;do if((o|0)==(p|0)){p=a+8|0;m=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;d=l;if(m>>>0>>0){e=m;g=((d-e>>2)+1|0)/2|0;f=m+(g<<2)|0;e=e-j|0;d=f+(0-(e>>2)<<2)|0;if(!e){d=f;e=f}else{YW(d|0,o|0,e|0)|0;e=(c[p>>2]|0)+(g<<2)|0}c[q>>2]=d;c[p>>2]=e;break}e=d-e|0;e=(e|0)==0?1:e>>1;f=(e+3|0)>>>2;do if(e)if(e>>>0>1073741823){q=va(8)|0;uV(q,119861);c[q>>2]=114176;Aa(q|0,58568,21)}else{h=qV(e<<2)|0;break}else h=0;while(0);k=h;d=h+(f<<2)|0;l=d;i=h+(e<<2)|0;if((o|0)==(m|0)){f=l;e=o}else{g=((m+-4-j|0)>>>2)+f+1|0;f=d;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(m|0))break;else f=f+4|0}f=h+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=k;c[q>>2]=l;c[p>>2]=f;c[n>>2]=i;if(e){rV(e);d=c[q>>2]|0}}else d=o;while(0);c[d+-4>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+-4;return}function me(a){a=a|0;var b=0,d=0,e=0,f=0;oe(a);d=a+4|0;b=c[d>>2]|0;f=a+8|0;e=c[f>>2]|0;if((b|0)!=(e|0)){do{rV(c[b>>2]|0);b=b+4|0}while((b|0)!=(e|0));b=c[d>>2]|0;d=c[f>>2]|0;if((d|0)!=(b|0))c[f>>2]=d+(~((d+-4-b|0)>>>2)<<2)}b=c[a>>2]|0;if(!b)return;rV(b);return}function ne(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=a+20|0;g=c[f>>2]|0;if(!g){d=a+8|0;b=c[d>>2]|0;e=a+4|0;if((b|0)!=(c[e>>2]|0))do{rV(c[b+-4>>2]|0);b=(c[d>>2]|0)+-4|0;c[d>>2]=b}while((c[e>>2]|0)!=(b|0));c[a+16>>2]=0;pe(a);return}b=a+16|0;e=c[b>>2]|0;d=a+4|0;if(e>>>0>203){rV(c[c[d>>2]>>2]|0);h=(c[d>>2]|0)+4|0;c[d>>2]=h;e=(c[b>>2]|0)+-204|0;c[b>>2]=e;g=c[f>>2]|0}else h=c[d>>2]|0;b=a+8|0;d=c[b>>2]|0;h=d-h|0;if((((h|0)==0?0:((h>>2)*204|0)+-1|0)-(g+e)|0)>>>0<=203){pe(a);return}rV(c[d+-4>>2]|0);c[b>>2]=(c[b>>2]|0)+-4;pe(a);return}function oe(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=b+4|0;e=c[l>>2]|0;m=b+16|0;g=c[m>>2]|0;d=(g>>>0)/204|0;h=e+(d<<2)|0;j=b+8|0;n=c[j>>2]|0;f=n;i=e;if((n|0)!=(e|0)){d=(c[h>>2]|0)+((g-(d*204|0)|0)*20|0)|0;b=b+20|0;n=(c[b>>2]|0)+g|0;g=(n>>>0)/204|0;g=(c[e+(g<<2)>>2]|0)+((n-(g*204|0)|0)*20|0)|0;if((g|0)==(d|0)){d=b;k=5}else{f=h;while(1){e=d+4|0;if((a[e+11>>0]|0)<0)rV(c[e>>2]|0);d=d+20|0;if((d-(c[f>>2]|0)|0)==4080){d=f+4|0;e=d;d=c[d>>2]|0}else e=f;if((g|0)==(d|0))break;else f=e}e=c[l>>2]|0;g=j;f=c[j>>2]|0;d=e}}else{d=b+20|0;k=5}if((k|0)==5){g=j;b=d;d=i}c[b>>2]=0;d=f-d>>2;if(d>>>0>2)do{rV(c[e>>2]|0);e=(c[l>>2]|0)+4|0;c[l>>2]=e;d=(c[g>>2]|0)-e>>2}while(d>>>0>2);switch(d|0){case 1:{d=102;break}case 2:{d=204;break}default:return}c[m>>2]=d;return}function pe(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;j=a+12|0;i=c[a>>2]|0;k=a+8|0;h=c[k>>2]|0;l=a+4|0;f=c[l>>2]|0;d=h-f|0;e=d>>2;b=i;if((c[j>>2]|0)-i>>2>>>0<=e>>>0)return;do if(d)if(e>>>0>1073741823){l=va(8)|0;uV(l,119861);c[l>>2]=114176;Aa(l|0,58568,21)}else{g=qV(d)|0;break}else g=0;while(0);i=g;e=g+(e<<2)|0;if((f|0)==(h|0))d=e;else{d=g;b=f;while(1){c[d>>2]=c[b>>2];b=b+4|0;if((b|0)==(h|0))break;else d=d+4|0}d=g+((c[k>>2]|0)-(c[l>>2]|0)>>2<<2)|0;b=c[a>>2]|0}c[a>>2]=i;c[l>>2]=i;c[k>>2]=d;c[j>>2]=e;if(!b)return;rV(b);return}function qe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=e;a=c[a>>2]|0;b=mb(b|0)|0;c[f>>2]=c[d>>2];d=rb(58712,f|0)|0;qb(a|0,b|0,d|0);fb(d|0);fb(b|0);$c=e;return}function re(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=e;a=c[a>>2]|0;b=mb(b|0)|0;c[f>>2]=c[d>>2];d=rb(58712,f|0)|0;qb(a|0,b|0,d|0);fb(d|0);fb(b|0);$c=e;return}function se(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=e;a=c[a>>2]|0;b=mb(b|0)|0;c[f>>2]=c[d>>2];d=rb(58720,f|0)|0;qb(a|0,b|0,d|0);fb(d|0);fb(b|0);$c=e;return}function te(a){a=a|0;return c[(c[a>>2]|0)+-4>>2]|0}function ue(a){a=a|0;if(!a)return;nd[c[(c[a>>2]|0)+4>>2]&63](a);return}function ve(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);h=j;f=c[b>>2]|0;b=c[b+4>>2]|0;g=d+(b>>1)|0;if(b&1)f=c[(c[g>>2]|0)+f>>2]|0;d=e+4|0;e=c[e>>2]|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;if(e>>>0>4294967279)wV(h);if(e>>>0<11){a[h+11>>0]=e;if(!e)b=h;else{b=h;i=9}}else{i=e+16&-16;b=qV(i)|0;c[h>>2]=b;c[h+8>>2]=i|-2147483648;c[h+4>>2]=e;i=9}if((i|0)==9)XW(b|0,d|0,e|0)|0;a[b+e>>0]=0;od[f&255](g,h);if((a[h+11>>0]|0)>=0){$c=j;return}rV(c[h>>2]|0);$c=j;return}function we(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=g;e=c[a>>2]|0;h=c[a+4>>2]|0;a=b+(h>>1)|0;if(h&1)e=c[(c[a>>2]|0)+e>>2]|0;c[f>>2]=d;od[e&255](a,f);fb(c[f>>2]|0);$c=g;return}function xe(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a>>2]|0;e=c[a+4>>2]|0;a=b+(e>>1)|0;if(!(e&1)){e=d;nd[e&63](a);return}else{e=c[(c[a>>2]|0)+d>>2]|0;nd[e&63](a);return}}function ye(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=f;d=c[a>>2]|0;g=c[a+4>>2]|0;a=b+(g>>1)|0;if(g&1)d=c[(c[a>>2]|0)+d>>2]|0;od[d&255](e,a);jb(c[e>>2]|0);g=c[e>>2]|0;fb(g|0);$c=f;return g|0}function ze(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=g;e=c[a>>2]|0;h=c[a+4>>2]|0;a=b+(h>>1)|0;if(h&1)e=c[(c[a>>2]|0)+e>>2]|0;c[f>>2]=d;od[e&255](a,f);fb(c[f>>2]|0);$c=g;return}function Ae(b,d){b=b|0;d=d|0;var e=0;e=qV(112)|0;Le(e,d);a[e+104>>0]=0;c[e+108>>2]=c[b>>2];c[b>>2]=0;c[e>>2]=58860;return e|0}function Be(b,d,e){b=b|0;d=d|0;e=e|0;c[b>>2]=Na(((a[d+11>>0]|0)<0?c[d>>2]|0:d)|0,9640,c[e>>2]|0)|0;return}function Ce(a){a=a|0;return c[(c[a>>2]|0)+-4>>2]|0}function De(a){a=a|0;if(!a)return;nd[c[(c[a>>2]|0)+4>>2]&63](a);return}function Ee(a){a=a|0;return a|0}function Fe(a){a=a|0;return a|0}function Ge(a,b){a=a|0;b=b|0;nd[c[a>>2]&63](b);return}function He(b){b=b|0;a[b+104>>0]=1;return}function Ie(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;d=hd[a&15](f,g)|0;fb(c[g>>2]|0);fb(c[f>>2]|0);$c=e;return d|0}function Je(b){b=b|0;var d=0,e=0,f=0,g=0;g=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=g;c[b>>2]=58876;d=b+108|0;if(!(a[b+104>>0]|0)){f=c[d>>2]|0;fb(f|0);Oe(b);$c=g;return}f=c[d>>2]|0;if((a[182336]|0)==0?CW(182336)|0:0)c[45600]=hb(1,58760)|0;eb(c[45600]|0,f|0,120620,e|0);f=c[d>>2]|0;fb(f|0);Oe(b);$c=g;return}function Ke(a){a=a|0;Je(a);rV(a);return}function Le(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;c[d>>2]=58892;j=d+4|0;c[j>>2]=c[e>>2];c[e>>2]=0;a[d+8>>0]=0;e=d+12|0;f=d+32|0;c[d+64>>2]=0;g=d+68|0;h=e;i=h+48|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));a[e+48>>0]=0;a[g>>0]=1;i=d+72|0;c[i>>2]=0;c[i+4>>2]=0;b[i+8>>1]=0;c[d+84>>2]=12;d=qV(60)|0;Ne(d);c[f>>2]=d;c[d+4>>2]=j;return}function Me(a){a=a|0;Je(a);rV(a);return}function Ne(b){b=b|0;var d=0,e=0;d=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=d;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+32>>2]=0;a[b+36>>0]=0;c[b>>2]=58908;c[b+48>>2]=0;c[b+52>>2]=Vg()|0;c[b+56>>2]=bP()|0;c[e>>2]=120378;Db(0,e|0);$c=d;return}function Oe(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);e=i+24|0;d=i+16|0;f=i+8|0;g=i;c[b>>2]=58892;h=gb(120137)|0;c[g>>2]=c[b+64>>2];fb(cb(h|0,1,58796,g|0)|0);fb(h|0);c[f>>2]=120552;Db(0,f|0);f=c[b+28>>2]|0;if(f|0){c[d>>2]=120573;Db(0,d|0);XU(c[f+8>>2]|0);c[e>>2]=120596;Db(0,e|0);zS(f+76|0);d=f+22684|0;if((a[d+11>>0]|0)<0)rV(c[d>>2]|0);d=f+22668|0;if((a[d+11>>0]|0)<0)rV(c[d>>2]|0);rV(f)}g=b+36|0;oe(g);e=b+40|0;d=c[e>>2]|0;h=b+44|0;f=c[h>>2]|0;if((d|0)!=(f|0)){do{rV(c[d>>2]|0);d=d+4|0}while((d|0)!=(f|0));d=c[e>>2]|0;e=c[h>>2]|0;if((e|0)!=(d|0))c[h>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=c[g>>2]|0;if(d|0)rV(d);d=b+12|0;if((a[d+11>>0]|0)>=0){b=b+4|0;b=c[b>>2]|0;fb(b|0);$c=i;return}rV(c[d>>2]|0);b=b+4|0;b=c[b>>2]|0;fb(b|0);$c=i;return}function Pe(a){a=a|0;Oe(a);rV(a);return}function Qe(b){b=b|0;var d=0,e=0,f=0,g=0;f=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=f+8|0;g=f;c[b>>2]=58908;c[g>>2]=120448;Db(0,g|0);nd[c[(c[b>>2]|0)+8>>2]&63](b);Wg(b+52|0);Nf(b+56|0);c[b>>2]=58940;if((a[b+36>>0]|0)==0?(d=c[b+8>>2]|0,d|0):0)XU(d);c[e>>2]=120424;Db(0,e|0);$c=f;return}function Re(a){a=a|0;Qe(a);rV(a);return}function Se(b){b=b|0;var d=0;if((a[b+36>>0]|0)==0?(d=c[b+8>>2]|0,d|0):0)XU(d);_R(c[b+44>>2]|0);d=b+48|0;XU(c[(c[d>>2]|0)+68>>2]|0);VR(d);return}function Te(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;h=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);g=h+16|0;j=h;i=(e|0)==7;k=$Q(i?27:173)|0;f=b+40|0;c[f>>2]=k;c[j>>2]=120463;c[j+4>>2]=e;c[j+8>>2]=k;Db(0,j|0);c[b+44>>2]=XR(c[(c[f>>2]|0)+12>>2]|0)|0;e=bR(c[f>>2]|0)|0;c[b+48>>2]=e;if(!i){$c=h;return}i=d+12|0;j=(c[i>>2]|0)+5|0;c[i>>2]=j;i=d+11|0;b=a[i>>0]|0;b=(b<<24>>24<0?c[d+4>>2]|0:b&255)-j|0;k=e+72|0;c[k>>2]=b;b=WU(b)|0;c[e+68>>2]=b;XW(b|0,((a[i>>0]|0)<0?c[d>>2]|0:d)+j|0,c[k>>2]|0)|0;k=jS(e,c[f>>2]|0,0)|0;c[g>>2]=120483;c[g+4>>2]=k;Db(0,g|0);$c=h;return}function Ue(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[(c[b>>2]|0)+20>>2]|0;f=a[d+11>>0]|0;if(f<<24>>24<0){h=c[d+12>>2]|0;g=c[d+4>>2]|0;f=h;d=(c[d>>2]|0)+h|0;f=g-f|0;pd[e&1023](b,d,f);return}else{g=c[d+12>>2]|0;f=f&255;h=g;g=d+g|0;h=f-h|0;pd[e&1023](b,g,h);return}}function Ve(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);h=t+8|0;q=t;r=b+48|0;g=b+56|0;p=c[g>>2]|0;d=ZR(c[b+44>>2]|0,c[r>>2]|0,p+24|0,p+28|0,d,e,0,-2147483648,0,-2147483648,0,0)|0;if((d|0)>-1?(f=c[g>>2]|0,c[f+28>>2]|0):0){if((KR(c[r>>2]|0,f)|0)<=-1){$c=t;return}f=b+52|0;g=b+20|0;h=b+24|0;i=b+28|0;j=b+12|0;k=b+16|0;l=b+36|0;m=b+20|0;n=b+8|0;o=b+4|0;a:while(1){p=TR(c[r>>2]|0,c[f>>2]|0)|0;if((p|0)<-11)switch(p|0){case -541478725:{s=17;break a}default:{}}else switch(p|0){case -11:{s=17;break a}default:{}}d=c[f>>2]|0;c[g>>2]=c[d>>2];c[h>>2]=c[d+4>>2];c[i>>2]=c[d+8>>2];e=c[d+68>>2]|0;if((c[j>>2]|0)==(e|0)){d=c[d+72>>2]|0;if((c[k>>2]|0)!=(d|0))s=9}else{d=c[d+72>>2]|0;s=9}if((s|0)==9){s=0;$e(b,e,d)}if(!(a[l>>0]|0))af(c[m>>2]|0,c[h>>2]|0,c[i>>2]|0,c[n>>2]|0,c[j>>2]|0,c[k>>2]|0);d=c[c[o>>2]>>2]|0;if((a[182336]|0)==0?CW(182336)|0:0)c[45600]=hb(1,58760)|0;eb(c[45600]|0,d|0,120547,q|0);if((p|0)<=-1){s=17;break}}if((s|0)==17){$c=t;return}}c[h>>2]=120500;c[h+4>>2]=d;Db(0,h|0);$c=t;return}function We(b){b=b|0;var d=0,e=0,f=0;f=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=f;c[b>>2]=58940;if((a[b+36>>0]|0)==0?(d=c[b+8>>2]|0,d|0):0)XU(d);c[e>>2]=120424;Db(0,e|0);$c=f;return}function Xe(a){a=a|0;Nb()}function Ye(b){b=b|0;if(a[b+36>>0]|0)return;b=c[b+8>>2]|0;if(!b)return;XU(b);return}function Ze(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);j=l;k=d+12|0;g=c[k>>2]|0;c[j>>2]=120413;c[j+4>>2]=e;Db(0,j|0);switch(e|0){case 7:{j=d+11|0;c[b+32>>2]=a[((a[j>>0]|0)<0?c[d>>2]|0:d)+(c[k>>2]|0)+9>>0]&3;n=g+11|0;c[k>>2]=n;f=a[j>>0]|0;e=c[d>>2]|0;i=f<<24>>24<0?e:d;n=i+n+2+-1|0;m=a[n>>0]|0;n=a[n+-1>>0]|0;h=g+13|0;c[k>>2]=h;g=(n&255)<<8|m&255;if(g){pd[c[(c[b>>2]|0)+20>>2]&1023](b,i+h|0,g);h=(c[k>>2]|0)+g|0;c[k>>2]=h;f=a[j>>0]|0;e=c[d>>2]|0}n=h+1|0;c[k>>2]=n;g=f<<24>>24<0?e:d;n=g+n+2+-1|0;e=a[n>>0]|0;n=a[n+-1>>0]|0;f=h+3|0;c[k>>2]=f;e=(n&255)<<8|e&255;if(!e){$c=l;return}pd[c[(c[b>>2]|0)+20>>2]&1023](b,g+f|0,e);$c=l;return}case 12:{j=d+11|0;c[b+32>>2]=a[((a[j>>0]|0)<0?c[d>>2]|0:d)+(c[k>>2]|0)+27>>0]&3;i=g+31|0;c[k>>2]=i;n=(a[j>>0]|0)<0?c[d>>2]|0:d;i=n+i+2+-1|0;m=a[i>>0]|0;i=a[i+-1>>0]|0;h=g+33|0;c[k>>2]=h;m=(i&255)<<8|m&255;pd[c[(c[b>>2]|0)+20>>2]&1023](b,n+h|0,m);m=(c[k>>2]|0)+m|0;h=m+3|0;c[k>>2]=h;n=(a[j>>0]|0)<0?c[d>>2]|0:d;h=n+h+2+-1|0;i=a[h>>0]|0;h=a[h+-1>>0]|0;m=m+5|0;c[k>>2]=m;i=(h&255)<<8|i&255;pd[c[(c[b>>2]|0)+20>>2]&1023](b,n+m|0,i);i=(c[k>>2]|0)+i|0;m=i+3|0;c[k>>2]=m;j=(a[j>>0]|0)<0?c[d>>2]|0:d;m=j+m+2+-1|0;n=a[m>>0]|0;m=a[m+-1>>0]|0;d=i+5|0;c[k>>2]=d;pd[c[(c[b>>2]|0)+20>>2]&1023](b,j+d|0,(m&255)<<8|n&255);$c=l;return}default:{$c=l;return}}}function _e(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=d+11|0;l=a[m>>0]|0;e=l<<24>>24<0;n=d+4|0;o=d+12|0;f=c[o>>2]|0;if(((e?c[n>>2]|0:l&255)-f|0)<=4)return;l=b+32|0;i=0;j=0;k=0;do{switch(c[l>>2]|0){case 3:{e=e?c[d>>2]|0:d;k=e+f+4+-1|0;g=4;h=k;i=a[k+-2>>0]|0;j=a[k+-3>>0]|0;k=a[k+-1>>0]|0;break}case 2:{e=e?c[d>>2]|0:d;k=e+f+3+-1|0;g=3;h=k;i=a[k+-2>>0]|0;k=a[k+-1>>0]|0;break}case 1:{e=e?c[d>>2]|0:d;k=e+f+2+-1|0;g=2;h=k;k=a[k+-1>>0]|0;break}default:{h=e?c[d>>2]|0:d;e=h;g=1;h=h+f+1+-1|0}}h=a[h>>0]|0;g=f+g|0;c[o>>2]=g;h=(i&255)<<16|(j&255)<<24|(k&255)<<8|h&255;pd[c[(c[b>>2]|0)+20>>2]&1023](b,e+g|0,h);f=(c[o>>2]|0)+h|0;c[o>>2]=f;h=a[m>>0]|0;e=h<<24>>24<0}while(((e?c[n>>2]|0:h&255)-f|0)>4);return}function $e(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);h=i;f=b+12|0;c[f>>2]=d;g=b+16|0;c[g>>2]=e;c[h>>2]=120521;c[h+4>>2]=d;c[h+8>>2]=e;Db(0,h|0);if(!(a[b+36>>0]|0)){e=c[g>>2]|0;e=(H(e<<2,e)|0)+33554432|0;e=WU((e>>>0>16777216?e:16777216)+16777215&-16777216)|0;c[b+8>>2]=e;d=c[c[b+4>>2]>>2]|0;if((a[182384]|0)==0?CW(182384)|0:0)c[45606]=hb(4,48)|0;b=c[45606]|0;c[h>>2]=c[f>>2];c[h+8>>2]=c[g>>2];c[h+16>>2]=e;eb(b|0,d|0,120534,h|0);$c=i;return}else{e=b+20|0;c[b+8>>2]=e;e=e>>2;d=c[c[b+4>>2]>>2]|0;if((a[182384]|0)==0?CW(182384)|0:0)c[45606]=hb(4,48)|0;b=c[45606]|0;c[h>>2]=c[f>>2];c[h+8>>2]=c[g>>2];c[h+16>>2]=e;eb(b|0,d|0,120534,h|0);$c=i;return}}function af(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0;E=g<<2;F=f+(H(E,h)|0)|0;if(!h)return;A=(g|0)==0;D=(g+-1|0)>>>1;B=(D<<3)+8|0;C=g+1&-2;D=D+1|0;j=0;z=0;k=0;i=0;l=0;while(1){if(!A){x=B+j|0;y=D+i|0;w=0;v=k;u=l;while(1){n=d[a+u>>0]|0;p=d[a+(u+g)>>0]|0;s=d[b+i>>0]|0;t=d[e+v>>0]|0;r=s<<8|t;o=F+(r|n<<16)|0;m=c[o>>2]|0;if(!m){J=(n*1192|0)+-19072|0;G=t+-128|0;m=s+-128|0;q=(G*1634|0)+J>>10;G=(H(m,-400)|0)+J+(H(G,-832)|0)>>10;J=(m*2066|0)+J>>10;m=(q|0)>0?q:0;n=(G|0)>0?G:0;I=(J|0)>0?J:0;m=((((J&255|0)==(J|0)?J:(I|0)<255?I:255)<<8)+16711680+((G&255|0)==(G|0)?G:(n|0)<255?n:255)<<8)+((q&255|0)==(q|0)?q:(m|0)<255?m:255)|0;c[o>>2]=m}c[f+j>>2]=m;n=F+(r|p<<16)|0;m=c[n>>2]|0;if(!m){p=(p*1192|0)+-19072|0;G=t+-128|0;m=s+-128|0;J=(G*1634|0)+p>>10;G=(H(m,-400)|0)+p+(H(G,-832)|0)>>10;p=(m*2066|0)+p>>10;m=(J|0)>0?J:0;I=(G|0)>0?G:0;q=(p|0)>0?p:0;m=((((p&255|0)==(p|0)?p:(q|0)<255?q:255)<<8)+16711680+((G&255|0)==(G|0)?G:(I|0)<255?I:255)<<8)+((J&255|0)==(J|0)?J:(m|0)<255?m:255)|0;c[n>>2]=m}c[f+(j+E)>>2]=m;q=j+4|0;p=u+1|0;n=d[a+p>>0]|0;p=d[a+(p+g)>>0]|0;o=F+(r|n<<16)|0;m=c[o>>2]|0;if(!m){m=(n*1192|0)+-19072|0;G=t+-128|0;K=s+-128|0;J=m+(G*1634|0)>>10;G=(H(G,-832)|0)+(H(K,-400)|0)+m>>10;K=m+(K*2066|0)>>10;m=(J|0)>0?J:0;I=(G|0)>0?G:0;n=(K|0)>0?K:0;m=((((K&255|0)==(K|0)?K:(n|0)<255?n:255)<<8)+16711680+((G&255|0)==(G|0)?G:(I|0)<255?I:255)<<8)+((J&255|0)==(J|0)?J:(m|0)<255?m:255)|0;c[o>>2]=m}c[f+q>>2]=m;n=F+(r|p<<16)|0;m=c[n>>2]|0;if(!m){m=(p*1192|0)+-19072|0;I=t+-128|0;t=s+-128|0;K=m+(I*1634|0)>>10;I=(H(I,-832)|0)+(H(t,-400)|0)+m>>10;t=m+(t*2066|0)>>10;m=(K|0)>0?K:0;J=(I|0)>0?I:0;G=(t|0)>0?t:0;m=((((t&255|0)==(t|0)?t:(G|0)<255?G:255)<<8)+16711680+((I&255|0)==(I|0)?I:(J|0)<255?J:255)<<8)+((K&255|0)==(K|0)?K:(m|0)<255?m:255)|0;c[n>>2]=m}c[f+(q+E)>>2]=m;w=w+2|0;if(w>>>0>=g>>>0)break;else{j=j+8|0;v=v+1|0;i=i+1|0;u=u+2|0}}l=C+l|0;j=x;k=D+k|0;i=y}z=z+2|0;if(z>>>0>=h>>>0)break;else{j=j+E|0;l=l+g|0}}return}function bf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);h=l+16|0;j=l+4|0;k=l;f=d+4|0;g=c[d>>2]|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;if(g>>>0>4294967279)wV(j);if(g>>>0<11){a[j+11>>0]=g;if(!g)d=j;else{d=j;i=6}}else{i=g+16&-16;d=qV(i)|0;c[j>>2]=d;c[j+8>>2]=i|-2147483648;c[j+4>>2]=g;i=6}if((i|0)==6)XW(d|0,f|0,g|0)|0;a[d+g>>0]=0;c[k>>2]=e;pd[b&1023](h,j,k);jb(c[h>>2]|0);d=c[h>>2]|0;fb(d|0);fb(c[k>>2]|0);if((a[j+11>>0]|0)>=0){$c=l;return d|0}rV(c[j>>2]|0);$c=l;return d|0}function cf(){Cd(0);return}function df(a){a=a|0;a=c[a>>2]|0;c[a+44>>2]=7;c[a+48>>2]=1;return 0}function ef(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);q=u+8|0;r=u;o=u+4|0;c[q>>2]=g;c[r>>2]=h;s=c[a>>2]|0;p=s+84|0;j=s+88|0;k=s+48|0;l=s+96|0;m=s+44|0;n=s+4|0;i=0;g=c[p>>2]|0;a:while(1){if((g|0)>(h|0)){g=-100;break}if(g){if(!(c[l>>2]|0)){t=5;break}}else g=0;while(1){if((g|0)>=(h|0)){g=-100;break a}v=j;v=TW(c[v>>2]|0,c[v+4>>2]|0,8)|0;h=M()|0;v=v|(d[(c[q>>2]|0)+g>>0]|0);w=j;c[w>>2]=v;c[w+4>>2]=h;h=kd[c[k>>2]&63](v,h,s,l,o)|0;if(h|0)break;g=g+1|0;h=c[r>>2]|0}if((h|0)<1){g=-100;break}w=j;c[w>>2]=0;c[w+4>>2]=0;g=g+1-(c[m>>2]|0)|0;c[p>>2]=h;if(c[o>>2]|0?((c[n>>2]|0)+g|0)>=1:0){i=1;break}g=h+g|0;c[p>>2]=g;i=1;h=c[r>>2]|0}if((t|0)==5)c[p>>2]=0;if((jf(s,g,q,r)|0)>=0){c[e>>2]=c[q>>2];c[f>>2]=c[r>>2];h=c[s+100>>2]|0;if(h|0)c[b+16>>2]=h;if(i){if((c[b+16>>2]|0)!=86018){c[b+344>>2]=c[s+56>>2];c[b+348>>2]=c[s+52>>2];t=s+72|0;v=c[t+4>>2]|0;w=b+376|0;c[w>>2]=c[t>>2];c[w+4>>2]=v;c[a+304>>2]=c[s+64>>2];c[b+392>>2]=c[s+80>>2]}v=c[s+60>>2]|0;w=b+40|0;c[w>>2]=v;c[w+4>>2]=((v|0)<0)<<31>>31}}else{w=c[p>>2]|0;g=c[r>>2]|0;c[p>>2]=w-((w|0)>(g|0)?g:w);c[e>>2]=0;c[f>>2]=0}$c=u;return g|0}function ff(a){a=a|0;gf(c[a>>2]|0);return}function gf(b){b=b|0;var c=0;c=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;a[b>>0]=0;a[b+1>>0]=0;a[b+2>>0]=0;a[b+3>>0]=0;hf(c);return}function hf(a){a=a|0;XU(a);return}function jf(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);l=p+24|0;i=p+8|0;j=p;n=b+24|0;k=b+28|0;o=b+4|0;h=c[n>>2]|0;while(1){if((h|0)<=0)break;m=c[b>>2]|0;q=c[k>>2]|0;c[k>>2]=q+1;q=a[m+q>>0]|0;h=c[o>>2]|0;c[o>>2]=h+1;a[m+h>>0]=q;h=(c[n>>2]|0)+-1|0;c[n>>2]=h}e=(e|0)==-100&(c[g>>2]|0)==0?0:e;h=c[o>>2]|0;m=b+8|0;c[m>>2]=h;a:do if((e|0)==-100){e=kf(c[b>>2]|0,b+12|0,(c[g>>2]|0)+64+h|0)|0;if(!e){c[j>>2]=(c[g>>2]|0)+64+(c[o>>2]|0);lf(0,16,121143,j);e=-12;h=0}else{c[b>>2]=e;XW(e+(c[o>>2]|0)|0,c[f>>2]|0,c[g>>2]|0)|0;e=-1;h=(c[o>>2]|0)+(c[g>>2]|0)|0}c[o>>2]=h}else{if((e|0)<=-1?(c[b>>2]|0)==0:0){c[i>>2]=121185;c[i+4>>2]=121209;c[i+8>>2]=356;lf(0,0,164242,i);ub()}h=h+e|0;c[k>>2]=h;c[g>>2]=h;h=c[o>>2]|0;if(h|0){i=e+64|0;h=kf(c[b>>2]|0,b+12|0,i+h|0)|0;if(!h){c[l>>2]=i+(c[o>>2]|0);lf(0,16,121143,l);c[o>>2]=0;c[k>>2]=0;e=-12;break}c[b>>2]=h;if((e|0)>-64){XW(h+(c[o>>2]|0)|0,c[f>>2]|0,i|0)|0;h=c[b>>2]|0}c[o>>2]=0;c[f>>2]=h}h=b+16|0;i=b+32|0;while(1){if((e|0)>=0){e=0;break a}f=(c[b>>2]|0)+((c[m>>2]|0)+e)|0;c[h>>2]=c[h>>2]<<8|(d[f>>0]|0);l=i;l=TW(c[l>>2]|0,c[l+4>>2]|0,8)|0;o=M()|0;q=i;c[q>>2]=l|(d[f>>0]|0);c[q+4>>2]=o;c[n>>2]=(c[n>>2]|0)+1;e=e+1|0}}while(0);$c=p;return e|0}function kf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((c[b>>2]|0)>>>0>>0){f=2147483647+-32|0;e=d+32+(d>>>4)|0;e=e>>>0>d>>>0?e:d;e=f>>>0>e>>>0?e:f;if(f>>>0>>0){e=0;a=0}else{a=sf(a,e)|0;e=(a|0)==0?0:e}c[b>>2]=e}return a|0}function lf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=i;if(a){h=c[a>>2]|0;c[f>>2]=e;if(((h|0)!=0?(c[h+12>>2]|0)>3280641:0)?(g=c[h+16>>2]|0,(b|0)>7&(g|0)!=0):0)b=(c[a+g>>2]|0)+b|0}else c[f>>2]=e;mf(a,b,d,f);$c=i;return}function mf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(4)nf(a,b,c,d);return}function nf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=$c;$c=$c+5168|0;if(($c|0)>=(ad|0))N(5168);n=p+24|0;m=p+16|0;h=p;o=p+40|0;k=p+4136|0;l=p+32|0;i=(d|0)>-1;j=i?d&255:d;i=i?d>>>8&255:0;if((j|0)<=32){eV(182428)|0;of(b,j,e,f,o,59024,l);e=o+1024|0;q=c[e>>2]|0;f=o+2048|0;b=c[f>>2]|0;g=o+3072|0;d=c[g>>2]|0;c[h>>2]=c[o>>2];c[h+4>>2]=q;c[h+8>>2]=b;c[h+12>>2]=d;mU(k,1024,121229,h)|0;d=c[45614]|0;if(!d){b=(VU(2)|0)!=0;b=b?1:-1;c[45614]=b}else b=d;if((!((c[14756]|0)==0|0==0)?(q=(pT(k,257496)|0)!=0,!(q|(a[k>>0]|0)==0)):0)?(a[k+((dU(k)|0)+-1)>>0]|0)!=13:0){d=(c[45615]|0)+1|0;c[45615]=d;if((b|0)==1){q=c[28451]|0;c[m>>2]=d;KU(q,121238,m)|0}}else{d=c[45615]|0;if((d|0)>0){q=c[28451]|0;c[n>>2]=d;KU(q,121274,n)|0;c[45615]=0}nU(257496,k)|0;pf(c[o>>2]|0);qf(c[l>>2]|0,0,c[o>>2]|0);pf(c[e>>2]|0);qf(c[l+4>>2]|0,0,c[e>>2]|0);pf(c[f>>2]|0);q=j>>3;q=(q|0)>0?((q|0)<7?q:7):0;qf(q,i,c[f>>2]|0);pf(c[g>>2]|0);qf(q,i,c[g>>2]|0)}rf(o+3072|0,0)|0;fV(182428)|0}$c=p;return}function of(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);r=w+24|0;t=w+16|0;s=w+8|0;q=w;if(!b)l=0;else l=c[b>>2]|0;vf(g,0,1);p=g+1024|0;vf(p,0,1);j=g+2048|0;vf(j,0,1);v=g+3072|0;vf(v,0,65536);k=(i|0)!=0;if(k){c[i+4>>2]=16;c[i>>2]=16}if((l|0)!=0&(c[h>>2]|0)!=0){m=c[l+20>>2]|0;do if(((m|0)!=0?(n=c[b+m>>2]|0,(n|0)!=0):0)?(o=c[n>>2]|0,(o|0)!=0):0){c[q>>2]=fd[c[o+4>>2]&31](n)|0;c[q+4>>2]=n;wf(g,121465,q);if(k){c[i>>2]=xf(n)|0;u=11;break}else{c[t>>2]=fd[c[l+4>>2]&31](b)|0;c[t+4>>2]=b;wf(p,121465,t);break}}else u=11;while(0);if((u|0)==11?(c[s>>2]=fd[c[l+4>>2]&31](b)|0,c[s+4>>2]=b,wf(p,121465,s),k):0)c[i+4>>2]=xf(b)|0;if(0){c[r>>2]=yf(d)|0;wf(j,121476,r)}}zf(v,e,f);if(!((((a[c[g>>2]>>0]|0)==0?(a[c[p>>2]>>0]|0)==0:0)?(a[c[j>>2]>>0]|0)==0:0)?!(a[c[v>>2]>>0]|0):0)){b=c[g+3076>>2]|0;if((b|0)!=0?b>>>0<=(c[g+3080>>2]|0)>>>0:0)b=a[(c[v>>2]|0)+(b+-1)>>0]|0;else b=0;c[h>>2]=(b<<24>>24==10|b<<24>>24==13)&1}$c=w;return}function pf(b){b=b|0;var c=0;while(1){c=a[b>>0]|0;if(!(c<<24>>24))break;if((c&255)<8|(c+-14&255)<18)a[b>>0]=63;b=b+1|0}return}function qf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);j=k+32|0;i=k+16|0;h=k;do if(a[e>>0]|0){f=c[14757]|0;if((f|0)<0){uf();f=c[14757]|0}g=(b|0)==4?0:f;if((g|0)==1){j=c[28451]|0;b=c[59032+(b<<2)>>2]|0;c[h>>2]=b>>>4&15;c[h+4>>2]=b&15;c[h+8>>2]=e;KU(j,121310,h)|0;break}if((d|0)!=0&(f|0)==256){j=c[28451]|0;c[i>>2]=(c[59032+(b<<2)>>2]|0)>>>16&255;c[i+4>>2]=d;c[i+8>>2]=e;KU(j,121326,i)|0;break}f=c[28451]|0;if((g|0)==256){b=c[59032+(b<<2)>>2]|0;c[j>>2]=b>>>16&255;c[j+4>>2]=b>>>8&255;c[j+8>>2]=e;KU(f,121353,j)|0;break}else{uU(e,f)|0;break}}while(0);$c=k;return}function rf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=(c[a+4>>2]|0)+1|0;g=a+8|0;e=c[g>>2]|0;f=f>>>0>e>>>0?e:f;e=c[a>>2]|0;d=(e|0)!=(a+16|0);if(!b)if(d){gf(a);d=0}else d=0;else{if(!d){e=tf(f)|0;if(!e){d=-12;e=0}else{XW(e|0,c[a>>2]|0,f|0)|0;d=0}}else{e=sf(e,f)|0;if(!e)e=c[a>>2]|0;c[a>>2]=0;d=0}c[b>>2]=e}c[g>>2]=f;return d|0}function sf(a,b){a=a|0;b=b|0;if((2147483647+-32|0)>>>0>>0)a=0;else a=ZU(a,((b|0)==0&1)+b|0)|0;return a|0}function tf(a){a=a|0;var b=0,d=0;d=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);b=d;c[b>>2]=0;do if((2147483647+-32|0)>>>0>=a>>>0){if(!a){a=tf(1)|0;c[b>>2]=a;break}if(!(cV(b,16,a)|0)){a=c[b>>2]|0;break}else{c[b>>2]=0;a=0;break}}else a=0;while(0);$c=d;return a|0}function uf(){var a=0,b=0,d=0;a=Jb(121380)|0;do if((Jb(121385)|0)==0?(Jb(121394)|0)==0:0){if(a|0?VU(2)|0:0){b=1;break}b=(Jb(121415)|0)!=0&1}else b=0;while(0);c[14757]=b;if(!(Jb(121434)|0)){if(a|0?LU(a,121456)|0:0)d=9}else d=9;if((d|0)==9)c[14757]=b<<8;return}function vf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=b+16|0;g=(e|0)==1?1008:e;c[b>>2]=f;c[b+4>>2]=0;e=g>>>0<1008?g:1008;c[b+8>>2]=e;c[b+12>>2]=g;a[f>>0]=0;if(e>>>0>>0)Af(b,d+-1|0)|0;return}function wf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=k;g=a+8|0;h=a+4|0;while(1){i=c[g>>2]|0;e=c[h>>2]|0;i=i-(e>>>0>i>>>0?i:e)|0;if(!i)e=0;else e=(c[a>>2]|0)+e|0;c[f>>2]=d;e=tT(e,i,b,f)|0;if((e|0)<1)break;if(e>>>0>>0){j=7;break}if(Af(a,e)|0){j=7;break}}if((j|0)==7)Bf(a,e);$c=k;return}function xf(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;do if(((b|0)!=0?(e=c[b+12>>2]|0,!((e|0)<3357440|(e&252)>>>0<100)):0)?(d=c[b+32>>2]|0,d>>>0<=45):0){b=c[b+36>>2]|0;if(!b){b=d+16|0;break}else{b=(fd[b&31](a)|0)+16|0;break}}else b=16;while(0);return b|0}function yf(a){a=a|0;a=a+8|0;switch(a>>>3|a<<29|0){case 0:{a=121521;break}case 7:{a=169263;break}case 6:{a=121513;break}case 5:{a=121508;break}case 4:{a=121500;break}case 3:{a=121494;break}case 2:{a=121488;break}case 1:{a=121482;break}default:a=262104}return a|0}function zf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);g=k;h=a+8|0;i=a+4|0;while(1){f=c[h>>2]|0;e=c[i>>2]|0;f=f-(e>>>0>f>>>0?f:e)|0;if(!f)e=0;else e=(c[a>>2]|0)+e|0;c[g>>2]=c[d>>2];e=tT(e,f,b,g)|0;if((e|0)<1)break;if(e>>>0>>0){j=7;break}if(Af(a,e)|0){j=7;break}}if((j|0)==7)Bf(a,e);$c=k;return}function Af(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=a+8|0;d=c[f>>2]|0;e=c[a+12>>2]|0;if((d|0)!=(e|0))if(Cf(a)|0){g=a+4|0;i=c[g>>2]|0;h=-2-i|0;h=i+1+(h>>>0>b>>>0?b:h)|0;b=d>>>0>e>>>1>>>0?e:d<<1;b=b>>>0>>0?(e>>>0>h>>>0?h:e):b;d=c[a>>2]|0;d=(d|0)==(a+16|0)?0:d;e=sf(d,b)|0;if(!e)b=-12;else{if(!d)XW(e|0,c[a>>2]|0,(c[g>>2]|0)+1|0)|0;c[a>>2]=e;c[f>>2]=b;b=0}}else b=-1094995529;else b=-5;return b|0}function Bf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=b+4|0;e=c[f>>2]|0;g=-6-e|0;e=(g>>>0>>0?g:d)+e|0;c[f>>2]=e;f=c[b+8>>2]|0;d=f+-1|0;if(f|0)a[(c[b>>2]|0)+(e>>>0>d>>>0?d:e)>>0]=0;return}function Cf(a){a=a|0;return (c[a+4>>2]|0)>>>0<(c[a+8>>2]|0)>>>0|0}function Df(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;i=$c;$c=$c+112|0;if(($c|0)>=(ad|0))N(112);j=i+92|0;h=i+72|0;k=i;l=Ef(a,b)|0;b=M()|0;a=k;c[a>>2]=l;c[a+4>>2]=b;Ff(j,k+1|0);a=Gf(j,h)|0;if((a|0)<0)a=0;else{c[f>>2]=0;c[g>>2]=1;c[e+56>>2]=c[h>>2];c[e+52>>2]=d[121527+(d[h+15>>0]|0)>>0];c[e+64>>2]=c[h+4>>2];c[e+60>>2]=c[h+8>>2]}$c=i;return a|0}function Ef(a,b){a=a|0;b=b|0;a=VW(a|0)|0;b=VW(b|0)|0;L(a|0);return b|0}function Ff(a,b){a=a|0;b=b|0;var d=0;d=(b|0)==0?0:56;c[a>>2]=b;c[a+12>>2]=d;c[a+16>>2]=d+8;c[a+4>>2]=b+(d>>>3);c[a+8>>2]=0;return}function Gf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if((Hf(b,12)|0)==4095){If(b);Jf(b,2);g=Kf(b)|0;h=Hf(b,2)|0;i=Hf(b,4)|0;j=c[59280+(i<<2)>>2]|0;if(j){If(b);f=Hf(b,3)|0;If(b);If(b);If(b);If(b);e=Hf(b,13)|0;if((e|0)<7)e=-67308554;else{Jf(b,11);b=Hf(b,2)|0;a[d+13>>0]=h+1;a[d+15>>0]=f;a[d+12>>0]=g;h=b+1|0;a[d+16>>0]=h;a[d+14>>0]=i;c[d>>2]=j;i=h<<10;c[d+4>>2]=i;c[d+8>>2]=((H(e<<3,j)|0)>>>0)/(i>>>0)|0}}else e=-50531338}else e=-16976906;return e|0}function Hf(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=a+8|0;g=c[e>>2]|0;f=c[a+16>>2]|0;a=(c[a>>2]|0)+(g>>>3)|0;a=(VW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(g&7)>>>(32-b|0);b=g+b|0;c[e>>2]=f>>>0>b>>>0?b:f;return a|0}function If(a){a=a|0;Jf(a,1);return}function Jf(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=c[a+16>>2]|0;b=(c[d>>2]|0)+b|0;c[d>>2]=a>>>0>b>>>0?b:a;return}function Kf(a){a=a|0;var b=0,e=0,f=0;e=a+8|0;f=c[e>>2]|0;b=(d[(c[a>>2]|0)+(f>>>3)>>0]|0)<<(f&7)>>>7&1;c[e>>2]=f+((f|0)<(c[a+16>>2]|0)&1);return b|0}function Lf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(a|0?(g=c[a>>2]|0,g|0):0){b=g+4|0;d=c[b>>2]|0;e=c[d+24>>2]|0;if(e){nd[e&63](g);d=c[b>>2]|0}b=g+12|0;if(c[d+8>>2]|0?(f=c[b>>2]|0,f|0):0)Mf(f);Mf(g);f=g+8|0;Nf(c[f>>2]|0);gf(f);gf(b);Of(g+16|0);Of(g+20|0);gf(a)}return}function Mf(a){a=a|0;var b=0;b=0;a:while(1){b=Vf(a,b)|0;if(!b)break;switch(c[b+12>>2]|0){case 7:case 5:{gf(a+(c[b+8>>2]|0)|0);continue a}case 8:{Wf(a+(c[b+8>>2]|0)|0);continue a}default:continue a}}return}function Nf(a){a=a|0;var b=0;if(a|0?(b=c[a>>2]|0,b|0):0){Qf(b);gf(a)}return}function Of(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Pf(b);gf(a)}return}function Pf(a){a=a|0;var b=0,d=0;gf(a+12|0);b=a+8|0;d=b+128|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));c[a>>2]=-1;c[a+4>>2]=0;c[a+20>>2]=-1;c[a+64>>2]=0;c[a+68>>2]=0;c[a+72>>2]=2;c[a+76>>2]=2;c[a+80>>2]=2;c[a+84>>2]=0;c[a+56>>2]=0;c[a+60>>2]=1;c[a+40>>2]=-99;c[a+44>>2]=-99;return}function Qf(a){a=a|0;Rf(a);Sf(a);Tf(a);c[a+24>>2]=0;c[a+28>>2]=0;return}function Rf(a){a=a|0;var b=0,d=0;d=a+44|0;b=a+40|0;a=0;while(1){if((a|0)>=(c[d>>2]|0))break;gf((c[b>>2]|0)+(a*12|0)|0);a=a+1|0}gf(b);c[d>>2]=0;return}function Sf(a){a=a|0;if(a|0?c[a>>2]|0:0)Uf(a,0);return}function Tf(a){a=a|0;var b=0;b=a+8|0;c[b>>2]=0;c[b+4>>2]=-2147483648;b=a+16|0;c[b>>2]=0;c[b+4>>2]=-2147483648;b=a+56|0;c[b>>2]=-1;c[b+4>>2]=-1;b=a+64|0;c[b>>2]=0;c[b+4>>2]=0;b=a+32|0;c[a>>2]=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;return}function Uf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);d=g;e=c[a>>2]|0;f=c[e>>2]|0;c[d>>2]=f;if(!b)gf(a);else{a=c[b>>2]|0;c[e>>2]=c[a>>2];c[e+4>>2]=c[a+4>>2];c[e+8>>2]=c[a+8>>2];gf(b)}e=f+8|0;f=c[e>>2]|0;c[e>>2]=f+-1;if((f|0)==1){f=c[d>>2]|0;od[c[f+12>>2]&255](c[f+16>>2]|0,c[f>>2]|0);gf(d)}$c=g;return}function Vf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;do if(!a)d=0;else{a=c[a>>2]|0;e=(b|0)==0;if((e&(a|0)!=0?(f=c[a+8>>2]|0,f|0):0)?c[f>>2]|0:0){d=f;break}if(!e?(d=b+48|0,c[d>>2]|0):0)break;d=0}while(0);return d|0}function Wf(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a>>2]|0;if(b|0){d=b+4|0;while(1){f=c[b>>2]|0;e=f+-1|0;c[b>>2]=e;if(!f)break;gf((c[d>>2]|0)+(e<<3)|0);gf((c[d>>2]|0)+(c[b>>2]<<3)+4|0)}gf(d)}gf(a);return}function Xf(a,b){a=a|0;b=b|0;return hd[c[(c[a+4>>2]|0)+20>>2]&15](a,b)|0}function Yf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=g;do if(b){if((c[b+24>>2]|0)==0?(c[b+44>>2]|0)==0:0){f=4;break}d=c[a+8>>2]|0;if(c[d+4>>2]|0){lf(a,16,121535,e);a=-22;break}a=c[d>>2]|0;if((c[a+24>>2]|0)==0?(c[a+44>>2]|0)==0:0){Zf(a,b);a=0}else a=-11}else f=4;while(0);if((f|0)==4){c[(c[a+8>>2]|0)+4>>2]=1;a=0}$c=g;return a|0}function Zf(a,b){a=a|0;b=b|0;var d=0,e=0;d=b;e=a+72|0;do{c[a>>2]=c[d>>2];a=a+4|0;d=d+4|0}while((a|0)<(e|0));Tf(b);c[b+24>>2]=0;c[b+28>>2]=0;return}function _f(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;Pf(a);XW(a|0,b|0,136)|0;f=a+12|0;c[f>>2]=0;d=a+16|0;c[d>>2]=0;e=b+12|0;if(c[e>>2]|0){b=b+16|0;a=cg((c[b>>2]|0)+64|0)|0;c[f>>2]=a;if(!a)a=-12;else{f=c[b>>2]|0;XW(a|0,c[e>>2]|0,f|0)|0;c[d>>2]=f;a=0}}else a=0;return a|0}function $f(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);k=n+24|0;j=n+16|0;i=n;l=a+4|0;e=c[(c[l>>2]|0)+4>>2]|0;g=a+16|0;a:do if(!e)m=13;else{f=c[(c[g>>2]|0)+4>>2]|0;b=0;while(1){d=c[e+(b<<2)>>2]|0;if(!d)break;if((f|0)==(d|0)){m=13;break a}else b=b+1|0}b=ag(f)|0;if(!b)b=171291;else b=c[b+8>>2]|0;h=c[(c[g>>2]|0)+4>>2]|0;d=c[c[l>>2]>>2]|0;c[i>>2]=b;c[i+4>>2]=h;c[i+8>>2]=d;lf(a,16,121573,i);d=0;while(1){b=c[(c[(c[l>>2]|0)+4>>2]|0)+(d<<2)>>2]|0;if(!b)break;b=ag(b)|0;if(!b)b=171291;else b=c[b+8>>2]|0;i=c[(c[(c[l>>2]|0)+4>>2]|0)+(d<<2)>>2]|0;c[j>>2]=b;c[j+4>>2]=i;lf(a,16,121659,j);d=d+1|0}lf(a,16,133130,k);b=-22}while(0);do if((m|0)==13){b=_f(c[a+20>>2]|0,c[g>>2]|0)|0;if((b|0)>=0){k=a+24|0;m=c[k+4>>2]|0;b=a+32|0;c[b>>2]=c[k>>2];c[b+4>>2]=m;b=c[(c[l>>2]|0)+16>>2]|0;if(b|0?(h=fd[b&31](a)|0,(h|0)<0):0){b=h;break}b=0}}while(0);$c=n;return b|0}function ag(a){a=a|0;var b=0,d=0;b=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);d=b;c[d>>2]=a;a=UU(d,59344,436,28,7)|0;$c=b;return a|0}function bg(a,b){a=a|0;b=b|0;return (c[a>>2]|0)-(c[b>>2]|0)|0}function cg(a){a=a|0;var b=0;b=tf(a)|0;if(b|0)ZW(b|0,0,a|0)|0;return b|0}function dg(a){a=a|0;var b=0;b=c[a+24>>2]|0;if(c[c[a+28>>2]>>2]|0){ZW(b|0,0,46324)|0;a=dN(a,b)|0;if((a|0)>=0){c[b+25692>>2]=0;a=0}}else a=0;return a|0}function eg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);l=s;q=c[a+24>>2]|0;r=c[b+24>>2]|0;k=q+25692|0;a:do if((a|0)!=(b|0)){j=(c[k>>2]|0)!=0;do if(j){if((((((((c[q+25668>>2]|0)==(c[r+25668>>2]|0)?(c[q+25672>>2]|0)==(c[r+25672>>2]|0):0)?(c[q+27012>>2]|0)==(c[r+27012>>2]|0):0)?(c[q+27008>>2]|0)==(c[r+27008>>2]|0):0)?(d=c[q+28216>>2]|0,d|0):0)?(e=c[r+28216>>2]|0,(c[d+1184>>2]|0)==(c[e+1184>>2]|0)):0)?(c[d+12>>2]|0)==(c[e+12>>2]|0):0)?(c[d+128>>2]|0)==(c[e+128>>2]|0):0){g=0;break}g=1}else g=0;while(0);h=q+25976|0;i=r+25976|0;XW(h|0,i|0,384)|0;a=0;while(1){if(a>>>0>=32){a=0;break}b=q+27052+(a<<2)|0;Sf(b);d=c[r+27052+(a<<2)>>2]|0;if(d|0?(n=Ug(d)|0,c[b>>2]=n,(n|0)==0):0){a=-12;break a}a=a+1|0}while(1){if(a>>>0>=256)break;b=q+27180+(a<<2)|0;Sf(b);d=c[r+27180+(a<<2)>>2]|0;if(d|0?(n=Ug(d)|0,c[b>>2]=n,(n|0)==0):0){a=-12;break a}a=a+1|0}b=q+28204|0;Sf(b);e=q+28208|0;Sf(e);d=q+28212|0;c[d>>2]=0;f=q+28216|0;c[f>>2]=0;a=c[r+28204>>2]|0;if(a|0){a=Ug(a)|0;c[b>>2]=a;if(!a){a=-12;break}c[d>>2]=c[a+4>>2]}a=c[r+28208>>2]|0;if(a|0){a=Ug(a)|0;c[e>>2]=a;if(!a){a=-12;break}c[f>>2]=c[a+4>>2]}if(j&(g|0)==0)a=0;else{c[q+25668>>2]=c[r+25668>>2];c[q+25672>>2]=c[r+25672>>2];c[q+27008>>2]=c[r+27008>>2];c[q+27012>>2]=c[r+27012>>2];c[q+27020>>2]=c[r+27020>>2];c[q+27016>>2]=c[r+27016>>2];c[q+26368>>2]=c[r+26368>>2];if((c[k>>2]|0)==0?(c[r+25692>>2]|0)==0:0)a=0;else{a=Zm(q)|0;if((a|0)<0){lf(c[q+4>>2]|0,16,155157,l);break}}XW(h|0,i|0,384)|0}n=c[r+4>>2]|0;f=c[q+4>>2]|0;c[f+104>>2]=c[n+104>>2];c[f+100>>2]=c[n+100>>2];c[f+92>>2]=c[n+92>>2];c[f+96>>2]=c[n+96>>2];c[q+29664>>2]=c[r+29664>>2];c[q+29668>>2]=c[r+29668>>2];c[q+25688>>2]=c[r+25688>>2];c[q+26384>>2]=c[r+26384>>2];c[q+26380>>2]=c[r+26380>>2];c[q+26376>>2]=c[r+26376>>2];f=r+25684|0;n=q+25684|0;c[n>>2]=c[f>>2];b=0;while(1){if((b|0)>=36)break;d=q+696+(b*656|0)|0;lg(q,d);e=r+696+(b*656|0)|0;if(c[(c[e>>2]|0)+248>>2]|0?(m=Bh(q,d,e)|0,(m|0)<0):0){a=m;break a}b=b+1|0}b=c[r+24312>>2]|0;if((b|0)!=0?(o=r+696|0,b>>>0>=o>>>0&b>>>0<(r+24312|0)>>>0):0)b=q+696+(((b-o|0)/656|0)*656|0)|0;else b=0;m=q+24312|0;c[m>>2]=b;b=q+24316|0;lg(q,b);d=r+24316|0;if(c[(c[d>>2]|0)+248>>2]|0?(p=Bh(q,b,d)|0,(p|0)<0):0){a=p;break}c[q+29672>>2]=c[r+29672>>2];c[q+25700>>2]=c[r+25700>>2];c[q+25704>>2]=c[r+25704>>2];c[n>>2]=c[f>>2];c[q+27036>>2]=c[r+27036>>2];c[q+27040>>2]=c[r+27040>>2];b=q+28224|0;j=b;k=r+28224|0;l=j+44|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));d=q+28348|0;e=r+28348|0;j=d;k=e;l=j+128|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));f=q+28476|0;g=r+28476|0;j=f;k=g;l=j+128|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));h=q+28604|0;i=r+28604|0;j=h;k=i;l=j+72|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=q+28676|0;k=r+28676|0;l=j+64|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c[q+28740>>2]=c[r+28740>>2];c[q+28744>>2]=c[r+28744>>2];XW(q+28748|0,r+28748|0,792)|0;c[q+29540>>2]=c[r+29540>>2];c[q+29544>>2]=c[r+29544>>2];c[q+29548>>2]=c[r+29548>>2];c[q+29552>>2]=c[r+29552>>2];c[q+29556>>2]=c[r+29556>>2];kN(d,e,32,q,r);kN(f,g,32,q,r);kN(h,i,18,q,r);c[q+29576>>2]=c[r+29576>>2];if(c[m>>2]|0){if(!(c[n>>2]|0)){a=Qh(q)|0;c[q+28248>>2]=c[q+28228>>2];c[q+28252>>2]=c[b>>2]}c[q+28260>>2]=c[q+28256>>2];c[q+28264>>2]=c[q+28244>>2];c[q+29572>>2]=c[r+29572>>2]}else a=0}else a=0;while(0);$c=s;return a|0}function fg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);l=m+8|0;d=m;i=c[a+24>>2]|0;b=dN(a,i)|0;do if((b|0)>=0){if(kV(183144,3)|0){lf(a,16,153273,d);b=-1313558101;break}f=a+84|0;do if((c[f>>2]|0)==1){b=c[i+4>>2]|0;d=b+80|0;e=c[d>>2]|0;if((e|0)<1073741823){c[d>>2]=e<<1;break}else{e=b+76|0;c[e>>2]=(c[e>>2]|0)/2|0;break}}while(0);c[f>>2]=2;b=c[a+72>>2]|0;if(((b|0)>0?(g=c[a+68>>2]|0,g|0):0)?(h=Jh(g,b,i+27052|0,i+27036|0,i+27040|0,c[a+580>>2]|0,a)|0,(h|0)<0):0){hg(a)|0;b=h;break}b=c[i+28216>>2]|0;if((b|0?c[b+660>>2]|0:0)?(j=(c[i+4>>2]|0)+140|0,k=c[b+664>>2]|0,(c[j>>2]|0)<(k|0)):0)c[j>>2]=k;c[(c[a+28>>2]|0)+4>>2]=1;jg(i);b=i+29672|0;d=c[b>>2]|0;if((d|0)<0){if(c[a+696>>2]&2|0){c[b>>2]=0;b=0;break}}else if(!d){b=0;break}if(!(c[a+696>>2]&2))b=0;else{lf(a,24,153298,l);b=0}}while(0);$c=m;return b|0}function gg(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);t=u+24|0;o=u+16|0;n=u;l=u+36|0;m=c[g+24>>2]|0;h=c[g+28>>2]|0;q=c[b+24>>2]|0;c[q+25696>>2]=c[b+60>>2];c[q+29588>>2]=0;c[q+25636>>2]=0;r=q+24972|0;lg(q,r);a:do if(h){i=q+27036|0;if((c[i>>2]|0?Hh(g,1,0)|0:0)?(j=Hh(g,1,l)|0,k=c[l>>2]|0,Ih(j,k)|0):0)Jh(j,k,q+27052|0,i,q+27040|0,c[b+580>>2]|0,b)|0;if(((((((h|0)>8&(c[i>>2]|0)!=0?(a[m>>0]|0)==1:0)?(a[m+2>>0]|0)==0:0)?(d[m+4>>0]|0)>251:0)?a[m+5>>0]&31:0)?(a[m+8>>0]|0)==103:0)?Ih(m,h)|0:0){h=Jh(m,h,q+27052|0,i,q+27040|0,c[b+580>>2]|0,b)|0;break}j=Kh(q,m,h)|0;if((j|0)<0)h=-1094995529;else{i=(c[q+24312>>2]|0)==0;if(i?(c[q+27028>>2]|0)==10:0)if((j|0)>(h|0)){c[n>>2]=131663;c[n+4>>2]=131685;c[n+8>>2]=998;lf(0,0,164242,n);ub()}else{h=Gh(q,e,f,j)|0;break}do if(c[b+64>>2]&32768){o=c[q+27008>>2]|0;if(!((o|0)==0?1:(c[q+27004>>2]|0)<(o|0)))p=30}else{if(!i?c[q+27032>>2]|0:0){p=30;break}if((c[b+732>>2]|0)>7)break a;if((h|0)>3?(qT(155374,m,4)|0)==0:0)break a;lf(b,16,131706,o);h=-1094995529;break a}while(0);if((p|0)==30){i=Lh(q,c[q+25628>>2]|0,0)|0;if((i|0)<0){h=i;break}i=c[q+28740>>2]|0;if(i|0?(s=Mh(q,e,i,f)|0,(s|0)<0):0){h=s;break}}if((c[e+248>>2]|0)==0?c[f>>2]|0:0){c[t>>2]=131717;c[t+4>>2]=131685;c[t+8>>2]=1023;lf(0,0,164242,t);ub()}lg(q,r);h=Nh(j,h)|0}}else h=Gh(q,e,f,0)|0;while(0);$c=u;return h|0}function hg(a){a=a|0;var b=0,d=0;d=c[a+24>>2]|0;zh(d);mg(d);a=0;while(1){if((a|0)==36)break;b=d+696+(a*656|0)|0;lg(d,b);Wg(b);a=a+1|0}a=d+28604|0;b=a+72|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[d+24312>>2]=0;gf(d+25628|0);c[d+25632>>2]=0;kg(d+29676|0);Eh(d+27052|0);Fh(d+25640|0);b=d+24316|0;lg(d,b);Wg(b);b=d+24972|0;lg(d,b);Wg(b);return 0}function ig(a){a=a|0;var b=0,d=0;d=c[a+24>>2]|0;a=d+28604|0;b=a+72|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));jg(d);kg(d+29676|0);a=0;while(1){if((a|0)==36)break;lg(d,d+696+(a*656|0)|0);a=a+1|0}c[d+24312>>2]=0;lg(d,d+24316|0);c[d+27004>>2]=0;mg(d);c[d+25692>>2]=0;return}function jg(a){a=a|0;var b=0,d=0,e=0,f=0;c[a+28744>>2]=-2147483648;c[a+29564>>2]=1;yh(a);c[a+28264>>2]=-1;f=a+24312|0;b=c[f>>2]|0;if(b|0){c[b+640>>2]=0;b=0;e=0;while(1){d=c[a+28604+(e<<2)>>2]|0;if(!d)break;if((d|0)!=(c[f>>2]|0)){c[a+28604+(b<<2)>>2]=d;b=b+1|0}e=e+1|0}c[a+28604+(b<<2)>>2]=0}lg(a,a+24972|0);c[a+26384>>2]=0;c[a+29572>>2]=-1;c[a+29576>>2]=0;c[a+29560>>2]=0;c[a+29544>>2]=1;return}function kg(a){a=a|0;c[a+40>>2]=-1;c[a+12>>2]=0;c[a+16>>2]=-1;c[a>>2]=0;c[a+44>>2]=0;c[a+176>>2]=0;c[a+208>>2]=0;c[a+20>>2]=0;c[a+28>>2]=0;gf(a+32|0);return}function lg(a,b){a=a|0;b=b|0;var d=0;d=c[b>>2]|0;if(d|0?c[d+248>>2]|0:0){pg(c[a+4>>2]|0,b+4|0);Sf(b+52|0);d=b+20|0;Sf(d);Sf(b+44|0);a=0;while(1){if((a|0)==2)break;Sf(b+28+(a<<2)|0);Sf(b+60+(a<<2)|0);a=a+1|0}ZW(d|0,0,636)|0}return}function mg(a){a=a|0;var b=0,d=0,e=0;gf(a+25732|0);gf(a+26396|0);gf(a+26392|0);gf(a+26400|0);gf(a+26404|0);gf(a+26408|0);gf(a+25972|0);gf(a+28220|0);c[a+26372>>2]=0;gf(a+26388|0);gf(a+26360|0);gf(a+26364|0);ng(a+29924|0);ng(a+29928|0);ng(a+29932|0);ng(a+29936|0);d=a+25632|0;b=a+25628|0;a=0;while(1){if((a|0)>=(c[d>>2]|0))break;e=c[b>>2]|0;gf(e+(a*34768|0)+27784|0);gf(e+(a*34768|0)+572|0);gf(e+(a*34768|0)+604|0);gf(e+(a*34768|0)+608|0);gf(e+(a*34768|0)+27788|0);gf(e+(a*34768|0)+27792|0);gf(e+(a*34768|0)+27796|0);gf(e+(a*34768|0)+27800|0);e=e+(a*34768|0)+27804|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;a=a+1|0}return}function ng(a){a=a|0;var b=0,d=0;if((a|0?(b=c[a>>2]|0,b|0):0)?(c[a>>2]=0,d=b+32|0,a=c[d>>2]|0,c[d>>2]=a+-1,(a|0)==1):0)og(b);return}function og(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=g+4|0;e=g;c[f>>2]=a;while(1){b=a+28|0;d=c[b>>2]|0;if(!d)break;c[e>>2]=d;c[b>>2]=c[d+16>>2];od[c[d+8>>2]&255](c[d+4>>2]|0,c[d>>2]|0);gf(e);a=c[f>>2]|0}gV(a)|0;b=c[a+52>>2]|0;if(b|0)nd[b&63](c[a+40>>2]|0);gf(f);$c=g;return}function pg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=i;h=c[(c[a+28>>2]|0)+20>>2]|0;if((c[a+696>>2]&1|0)!=0?(c[a+700>>2]|0)==0:0)d=(c[a+400>>2]|0)==11;else d=1;j=c[b>>2]|0;do if(j|0?c[j+248>>2]|0:0){if(c[a+576>>2]&32768|0){c[e>>2]=b;lf(a,48,129116,e)}Sf(b+12|0);c[b+8>>2]=0;c[b+4>>2]=0;if(d){rg(c[b>>2]|0);break}a=(c[h>>2]|0)+8|0;eV(a)|0;d=h+308|0;e=(c[d>>2]|0)+1|0;if(e>>>0<=5263439?(f=h+304|0,g=kf(c[f>>2]|0,h+312|0,e*408|0)|0,g|0):0){c[f>>2]=g;sg(g+((c[d>>2]|0)*408|0)|0,c[b>>2]|0);c[d>>2]=(c[d>>2]|0)+1}fV(a)|0}while(0);$c=i;return}function qg(a,b,d){a=a|0;b=b|0;d=d|0;d=c[a+860>>2]|0;a:do if(!d){d=xg(a,b)|0;if((d|0)>=0)switch(c[a+8>>2]|0){case 0:{d=yg(a,b)|0;break a}case 1:{d=zg(a,b)|0;break a}default:{d=-1;break a}}}else{d=wg(d,b,0)|0;c[b+68>>2]=c[a+100>>2];c[b+72>>2]=c[a+104>>2]}while(0);return d|0}function rg(a){a=a|0;var b=0,d=0,e=0;if(a|0){ug(a);b=0;while(1){if((b|0)==8)break;Sf(a+248+(b<<2)|0);b=b+1|0}d=a+284|0;e=a+280|0;b=0;while(1){if((b|0)>=(c[d>>2]|0))break;Sf((c[e>>2]|0)+(b<<2)|0);b=b+1|0}gf(e);Wf(a+344|0);Sf(a+372|0);Sf(a+376|0);Sf(a+380|0);Sf(a+400|0);tg(a)}return}function sg(a,b){a=a|0;b=b|0;XW(a|0,b|0,408)|0;if((c[b+64>>2]|0)==(b|0))c[a+64>>2]=a;ZW(b|0,0,408)|0;tg(b);return}function tg(a){a=a|0;var b=0,d=0;b=a+64|0;if((c[b>>2]|0)!=(a|0))gf(b);ZW(a|0,0,408)|0;d=a+120|0;c[d>>2]=0;c[d+4>>2]=-2147483648;d=a+104|0;c[d>>2]=0;c[d+4>>2]=-2147483648;d=a+112|0;c[d>>2]=0;c[d+4>>2]=-2147483648;d=a+320|0;c[d>>2]=0;c[d+4>>2]=-2147483648;d=a+336|0;c[d>>2]=0;c[d+4>>2]=0;d=a+328|0;c[d>>2]=-1;c[d+4>>2]=-1;c[a+356>>2]=-1;c[a+84>>2]=1;c[a+92>>2]=0;c[a+96>>2]=1;c[a+80>>2]=-1;c[b>>2]=a;c[a+304>>2]=2;c[a+308>>2]=2;c[a+312>>2]=2;c[a+300>>2]=0;c[a+316>>2]=0;c[a+296>>2]=0;return}function ug(a){a=a|0;var b=0,d=0;d=a+292|0;b=a+288|0;a=0;while(1){if((a|0)>=(c[d>>2]|0))break;vg((c[b>>2]|0)+(a<<2)|0);a=a+1|0}c[d>>2]=0;gf(b);return}function vg(a){a=a|0;var b=0;b=c[a>>2]|0;Sf(b+16|0);Wf(b+12|0);gf(a);return}function wg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);h=j;f=j+4|0;i=c[a+4>>2]|0;g=i+4|0;d=c[g>>2]|0;if(!(c[d+12>>2]|0))if(c[(c[d>>2]|0)+60>>2]|0)if(c[i+28>>2]|0){h=Ug(a)|0;a=b+376|0;c[a>>2]=h;if(h){d=hd[c[(c[c[g>>2]>>2]|0)+60>>2]&15](i,b)|0;if((d|0)<0)Sf(a);else d=0}else d=-12}else d=-22;else d=-38;else{c[b+80>>2]=c[i+36>>2];a=Ug(a)|0;c[b+376>>2]=a;do if((a|0)!=0?(e=Vg()|0,c[f>>2]=e,(e|0)!=0):0){d=wg(c[(c[g>>2]|0)+12>>2]|0,e,0)|0;if((d|0)<0){Wg(f);break}d=Xg(b,e,c[(c[g>>2]|0)+16>>2]|0)|0;if(!d){Wg(f);d=0;break}else{c[h>>2]=d;lf(i,16,131191,h);Wg(f);break}}else d=-12;while(0)}$c=j;return d|0}function xg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=$c;$c=$c+80|0;if(($c|0)>=(ad|0))N(80);e=r;j=r+56|0;n=r+40|0;o=r+24|0;g=r+16|0;h=r+12|0;q=c[(c[a+28>>2]|0)+16>>2]|0;a:do switch(c[a+8>>2]|0){case 0:{c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;k=b+68|0;e=c[k>>2]|0;c[g>>2]=e;l=b+72|0;f=c[l>>2]|0;c[h>>2]=f;m=q+16|0;i=b+80|0;if(((c[m>>2]|0)==(c[i>>2]|0)?(c[q+20>>2]|0)==(e|0):0)?(c[q+24>>2]|0)==(f|0):0)d=0;else p=5;b:do if((p|0)==5){Jg(a,g,h,q+28|0);f=a+112|0;a=c[g>>2]|0;do{d=Kg(n,c[f>>2]|0,a)|0;if((d|0)<0)break b;a=c[g>>2]|0;a=(a&0-a)+a|0;c[g>>2]=a;d=0;e=0;while(1){if((d|0)==4)break;b=(c[n+(d<<2)>>2]|0)%(c[q+28+(d<<2)>>2]|0)|0|e;d=d+1|0;e=b}}while((e|0)!=0);f=Lg(j,c[f>>2]|0,c[h>>2]|0,0,n)|0;if((f|0)>=0){d=0;while(1){if((d|0)>=3)break;e=d+1|0;a=c[j+(e<<2)>>2]|0;if(!a)break;c[o+(d<<2)>>2]=a-(c[j+(d<<2)>>2]|0);d=e}c[o+(d<<2)>>2]=f-(c[j+(d<<2)>>2]|0)+(c[j>>2]|0);d=0;while(1){if((d|0)>=4){p=20;break}e=q+(d<<2)|0;ng(e);c[q+60+(d<<2)>>2]=c[n+(d<<2)>>2];a=c[o+(d<<2)>>2]|0;if(a|0?(p=Ng(a+23|0,17)|0,c[e>>2]=p,(p|0)==0):0){p=22;break}d=d+1|0}if((p|0)==20){c[m>>2]=c[i>>2];c[q+20>>2]=c[k>>2];c[q+24>>2]=c[l>>2];d=0;break a}else if((p|0)==22){d=-12;p=31;break a}}else d=-1}while(0);break}case 1:{f=c[b+352>>2]|0;g=b+80|0;h=(Og(c[g>>2]|0)|0)!=0;h=h?f:1;i=q+16|0;if((((c[i>>2]|0)==(c[g>>2]|0)?(c[q+76>>2]|0)==(h|0):0)?(c[q+80>>2]|0)==(f|0):0)?(c[b+76>>2]|0)==(c[q+84>>2]|0):0){d=0;break a}ng(q);a=q+60|0;e=b+76|0;d=Pg(a,f,c[e>>2]|0,c[g>>2]|0,0)|0;if((d|0)>=0){o=Ng(c[a>>2]|0,0)|0;c[q>>2]=o;if(!o){d=-12;p=31}else{c[i>>2]=c[g>>2];c[q+76>>2]=h;c[q+80>>2]=f;c[q+84>>2]=c[e>>2];d=0}}else p=31;break}default:{c[e>>2]=170247;c[e+4>>2]=129184;c[e+8>>2]=1524;lf(0,0,164242,e);ub()}}while(0);if((p|0)==31){e=0;while(1){if((e|0)==4)break;ng(q+(e<<2)|0);e=e+1|0}c[q+16>>2]=-1;c[q+84>>2]=0;c[q+80>>2]=0;c[q+76>>2]=0;c[q+24>>2]=0;c[q+20>>2]=0}$c=r;return d|0}function yg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);j=l+16|0;e=l+8|0;d=l;f=c[(c[a+28>>2]|0)+16>>2]|0;h=b+80|0;i=Gg(c[h>>2]|0)|0;do if((((c[b>>2]|0)==0?(g=b+4|0,(c[g>>2]|0)==0):0)?(c[b+8>>2]|0)==0:0)?(c[b+12>>2]|0)==0:0){if(!i){c[e>>2]=Hg(c[h>>2]|0)|0;lf(a,16,129292,e);d=-22;break};c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[b+64>>2]=b;d=0;while(1){if((d|0)>=4)break;e=c[f+(d<<2)>>2]|0;if(!e)break;c[b+32+(d<<2)>>2]=c[f+60+(d<<2)>>2];e=Bg(e)|0;c[b+248+(d<<2)>>2]=e;if(!e){k=19;break}c[b+(d<<2)>>2]=c[e+4>>2];d=d+1|0}if((k|0)==19){rg(b);d=-12;break}while(1){if((d|0)>=8)break;c[b+(d<<2)>>2]=0;c[b+32+(d<<2)>>2]=0;d=d+1|0}if(!(0==0?(c[i+8>>2]&66|0)==0:0))Ig(c[g>>2]|0,c[h>>2]|0)|0;if(!(c[a+576>>2]&32768))d=0;else{c[j>>2]=b;lf(a,48,129345,j);d=0}}else k=5;while(0);if((k|0)==5){lf(a,16,129242,d);d=-1}$c=l;return d|0}function zg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);l=m+16|0;f=m;k=c[(c[a+28>>2]|0)+16>>2]|0;h=c[k+76>>2]|0;c[b+32>>2]=c[k+60>>2];g=(h|0)>8;if(g){d=b+64|0;c[d>>2]=Ag(h,4)|0;i=h+-8|0;c[b+284>>2]=i;i=Ag(i,4)|0;e=b+280|0;c[e>>2]=i;if((i|0)==0|(c[d>>2]|0)==0){gf(d);gf(e);d=-12}else{i=d;j=5}}else{e=b+64|0;c[e>>2]=b;if(!(c[b+284>>2]|0)){i=e;j=5}else{c[f>>2]=129156;c[f+4>>2]=129184;c[f+8>>2]=1556;lf(0,0,164242,f);ub()}}a:do if((j|0)==5){e=g?8:h;d=0;while(1){if((d|0)>=(e|0)){j=8;break}f=Bg(c[k>>2]|0)|0;c[b+248+(d<<2)>>2]=f;if(!f)break;h=c[f+4>>2]|0;c[b+(d<<2)>>2]=h;c[(c[i>>2]|0)+(d<<2)>>2]=h;d=d+1|0}b:do if((j|0)==8){e=b+284|0;f=b+280|0;d=0;while(1){if((d|0)>=(c[e>>2]|0))break;g=Bg(c[k>>2]|0)|0;c[(c[f>>2]|0)+(d<<2)>>2]=g;g=c[(c[f>>2]|0)+(d<<2)>>2]|0;if(!g)break b;c[(c[i>>2]|0)+(d+8<<2)>>2]=c[g+4>>2];d=d+1|0}if(!(c[a+576>>2]&32768)){d=0;break a}c[l>>2]=b;lf(a,48,129204,l);d=0;break a}while(0);rg(b);d=-12}while(0);$c=m;return d|0}function Ag(a,b){a=a|0;b=b|0;if((b|0)!=0?(2147483647/(b>>>0)|0)>>>0>a>>>0:0)a=cg(H(b,a)|0)|0;else a=0;return a|0}function Bg(a){a=a|0;var b=0,d=0,e=0,f=0;eV(a)|0;d=a+28|0;e=c[d>>2]|0;do if(!e){b=Eg(a)|0;fV(a)|0;if(!b)b=0;else f=6}else{b=Dg(c[e>>2]|0,c[a+36>>2]|0,18,e,0)|0;if(!b){fV(a)|0;b=0;break}else{f=e+16|0;c[d>>2]=c[f>>2];c[f>>2]=0;fV(a)|0;f=6;break}}while(0);if((f|0)==6){f=a+32|0;c[f>>2]=(c[f>>2]|0)+1}return b|0}function Cg(a,b){a=a|0;b=b|0;var d=0;b=c[a+12>>2]|0;eV(b)|0;d=b+28|0;c[a+16>>2]=c[d>>2];c[d>>2]=a;fV(b)|0;d=b+32|0;a=c[d>>2]|0;c[d>>2]=a+-1;if((a|0)==1)og(b);return}function Dg(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);h=j;g=cg(24)|0;c[h>>2]=g;i=g;do if(g){c[g>>2]=a;c[g+4>>2]=b;c[g+12>>2]=d|0?d:19;c[g+16>>2]=e;c[g+8>>2]=1;if(f&1|0){g=g+20|0;c[g>>2]=c[g>>2]|1}d=cg(12)|0;if(!d){gf(h);d=0;break}else{c[d>>2]=i;c[d+4>>2]=a;c[d+8>>2]=b;break}}else d=0;while(0);$c=j;return d|0}function Eg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=f;b=c[a+48>>2]|0;if(!b)b=fd[c[a+44>>2]&31](c[a+36>>2]|0)|0;else b=hd[b&15](c[a+40>>2]|0,c[a+36>>2]|0)|0;c[e>>2]=b;do if(b){d=cg(20)|0;if(!d){Sf(e);b=0;break}else{e=c[b>>2]|0;c[d>>2]=c[e>>2];g=e+16|0;c[d+4>>2]=c[g>>2];e=e+12|0;c[d+8>>2]=c[e>>2];c[d+12>>2]=a;c[g>>2]=d;c[e>>2]=18;break}}else b=0;while(0);$c=f;return b|0}function Fg(a,b){a=a|0;b=b|0;hf(b);return}function Gg(a){a=a|0;return (a>>>0>182?0:9712+(a*152|0)|0)|0}function Hg(a){a=a|0;if(a>>>0<183)a=c[9712+(a*152|0)>>2]|0;else a=0;return a|0}function Ig(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=0;a:while(1){if((g|0)>=256){d=0;break}switch(b|0){case 20:{d=(g&3)*85|0;e=(g>>>2&7)*36|0;f=(g>>5)*36|0;break}case 17:{d=(g>>6)*85|0;e=(g>>>3&7)*36|0;f=(g&7)*36|0;break}case 22:{d=0-(g&1)&255;e=(g>>>1&3)*85|0;f=(g>>3)*255|0;break}case 19:{d=(g>>3)*255|0;e=(g>>>1&3)*85|0;f=0-(g&1)&255;break}case 8:{d=g;e=g;f=g;break}default:{d=-22;break a}}c[a+(g<<2)>>2]=(f<<16)+-16777216+(e<<8)+d;g=g+1|0}return d|0}function Jg(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=a+112|0;g=Gg(c[i>>2]|0)|0;if(!g){h=1;g=1}else{h=1<<(d[g+6>>0]|0);g=1<<(d[g+5>>0]|0)}a:do switch(c[i>>2]|0){case 114:case 115:case 163:case 164:case 78:case 79:case 138:case 139:case 136:case 137:case 76:case 77:case 74:case 75:case 98:case 99:case 92:case 93:case 86:case 87:case 52:case 51:case 134:case 135:case 132:case 133:case 69:case 70:case 67:case 68:case 157:case 156:case 155:case 154:case 96:case 97:case 90:case 91:case 84:case 85:case 50:case 49:case 130:case 131:case 128:case 129:case 65:case 66:case 71:case 72:case 94:case 95:case 88:case 89:case 82:case 83:case 48:case 47:case 126:case 127:case 124:case 125:case 63:case 64:case 61:case 62:case 81:case 80:case 33:case 14:case 32:case 13:case 12:case 30:case 29:case 8:case 113:case 73:case 5:case 31:case 4:case 15:case 110:case 1:case 0:{h=32;g=16;break}case 16:case 140:case 7:{h=32;g=32;break}case 6:{i=(c[a+16>>2]|0)==22;h=i?64:h;g=i?64:g;break}case 39:{j=c[a+16>>2]|0;i=(j|0)==42;j=(j|0)==39;h=j?8:i?4:h;g=j?8:i?4:g;break}case 20:case 17:case 11:{i=c[a+16>>2]|0;switch(i|0){case 43:case 49:{h=4;g=4;break}default:{}}switch(i|0){case 39:case 148:break;default:break a}h=8;g=8;break}case 3:{j=((c[a+16>>2]|0)+-53|0)>>>0<2;h=j?4:h;g=j?4:g;break}case 2:{j=(c[a+16>>2]|0)==43;h=j?4:h;g=j?4:g;break}default:{}}while(0);j=c[a+16>>2]|0;g=(j|0)==136?((g|0)>8?g:8):g;c[b>>2]=(c[b>>2]|0)+-1+g&0-g;g=h+-1+(c[e>>2]|0)&0-h;c[e>>2]=g;if((j|0)!=27?(c[a+680>>2]|0)==0:0)g=0;else{c[e>>2]=g+2;g=c[b>>2]|0;c[b>>2]=(g|0)>32?g:32;g=0}while(1){if((g|0)==4)break;c[f+(g<<2)>>2]=8;g=g+1|0}return}function Kg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);g=i+16|0;h=i;f=Gg(b)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;a:do if((f|0)!=0?(0==0?(c[f+8>>2]&8|0)==0:0):0){Sg(g,h,f);e=0;while(1){if((e|0)>=4){b=0;break a}b=Tg(d,c[g+(e<<2)>>2]|0,c[h+(e<<2)>>2]|0,f)|0;if((b|0)<0)break a;c[a+(e<<2)>>2]=b;e=e+1|0}}else b=-22;while(0);$c=i;return b|0}function Lg(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);m=n;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;j=Gg(b)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;a:do if(((j|0)!=0?(i=c[j+8>>2]|0,(i&8|0)==0&0==0):0)?(c[a>>2]=f,h=c[g>>2]|0,(h|0)<=(2147482623/(e|0)|0|0)):0){h=H(h,e)|0;if((i&66|0)==0&0==0)b=0;else{c[a+4>>2]=f+h;b=h+1024|0;break}while(1){if((b|0)==4)break;c[m+(c[j+16+(b<<5)>>2]<<2)>>2]=1;b=b+1|0}l=j+6|0;k=e+-1|0;b=h;e=1;j=f;while(1){if((e|0)>=4)break a;if(!(c[m+(e<<2)>>2]|0))break a;if((e+-1|0)>>>0<2)i=d[l>>0]|0;else i=0;j=j+h|0;c[a+(e<<2)>>2]=j;f=k+(1<>i;o=c[g+(e<<2)>>2]|0;h=H(f,o)|0;i=(b|0)>(2147483647-h|0);if((o|0)>(2147483647/(f|0)|0|0)){b=-22;break a}if(i){b=-22;break}else{b=(i?0:h)+b|0;e=e+1|0}}}else b=-22;while(0);$c=n;return b|0}function Mg(a){a=a|0;var b=0;b=Rg(a)|0;if(!b)b=0;else ZW(c[b+4>>2]|0,0,a|0)|0;return b|0}function Ng(a,b){a=a|0;b=b|0;var d=0;d=cg(56)|0;if(!d)d=0;else{dV(d,0)|0;c[d+36>>2]=a;c[d+44>>2]=b|0?b:18;c[d+32>>2]=1}return d|0}function Og(a){a=a|0;if(a>>>0>11)a=0;else a=c[71876+(a*20|0)+12>>2]|0;return a|0}function Pg(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;h=Qg(e)|0;g=Og(e)|0;do if(!((b|0)<1|((d|0)<1|(h|0)==0))){if(!f){if((d|0)>2147483616){e=-22;break}d=d+31&-32;e=1}else e=f;if((2147483647/(e|0)|0|0)>=(b|0)?(i=OW(d|0,((d|0)<0)<<31>>31|0,b|0,((b|0)<0)<<31>>31|0)|0,k=M()|0,f=(2147483647-(H(e,b)|0)|0)/(h|0)|0,j=((f|0)<0)<<31>>31,!((k|0)>(j|0)|(k|0)==(j|0)&i>>>0>f>>>0)):0){f=(g|0)!=0;e=e+-1+(H(H(f?1:b,h)|0,d)|0)&0-e;if(a|0)c[a>>2]=e;e=H(e,f?b:1)|0}else e=-22}else e=-22;while(0);return e|0}function Qg(a){a=a|0;if(a>>>0>11)a=0;else a=c[71876+(a*20|0)+8>>2]>>3;return a|0}function Rg(a){a=a|0;var b=0,d=0,e=0;e=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);d=e;b=tf(a)|0;c[d>>2]=b;if(b){a=Dg(b,a,19,0,0)|0;if(!a){gf(d);a=0}}else a=0;$c=e;return a|0}function Sg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;f=(b|0)!=0;if(f){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;e=0}else e=0;while(1){if((e|0)==4)break;g=c[d+16+(e<<5)+4>>2]|0;h=d+16+(e<<5)|0;i=a+(c[h>>2]<<2)|0;if((g|0)>(c[i>>2]|0)?(c[i>>2]=g,f):0)c[b+(c[h>>2]<<2)>>2]=e;e=e+1|0}return}function Tg(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;do if((a|0)<0|(f|0)==0)e=-22;else{if((e+-1|0)>>>0<2)e=d[f+5>>0]|0;else e=0;e=a+-1+(1<>e;if(e|0?(2147483647/(e|0)|0|0)<(b|0):0){e=-22;break}e=H(e,b)|0;e=(0==0?(c[f+8>>2]&4|0)==0:0)?e:e+7>>3}while(0);return e|0}function Ug(a){a=a|0;var b=0;b=cg(12)|0;if(!b)b=0;else{c[b>>2]=c[a>>2];c[b+4>>2]=c[a+4>>2];c[b+8>>2]=c[a+8>>2];a=(c[a>>2]|0)+8|0;c[a>>2]=(c[a>>2]|0)+1}return b|0}function Vg(){var a=0;a=cg(408)|0;if(!a)a=0;else{c[a+64>>2]=0;tg(a)}return a|0}function Wg(a){a=a|0;var b=0;if(a|0?(b=c[a>>2]|0,b|0):0){rg(b);gf(a)}return}function Xg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);l=q;h=c[b+376>>2]|0;i=a+376|0;a:do if(h){f=c[i>>2]|0;do if(f|0){k=c[h+4>>2]|0;f=c[f+4>>2]|0;if(!(((k|0)==(f|0)?(c[b+80>>2]|0)==(c[k+40>>2]|0):0)?(c[a+80>>2]|0)==(c[k+36>>2]|0):0)){g=c[(c[k+4>>2]|0)+12>>2]|0;if(!g)break;if((c[g+4>>2]|0)!=(f|0))break}e=c[b+248>>2]|0;if(!e){lf(k,16,131244,l);e=-22;break a}else{e=c[e+4>>2]|0;rg(a);e=Yg(a,c[e>>2]|0)|0;break a}}while(0);f=c[h+4>>2]|0;if(!(((c[f+36>>2]|0)==(c[b+80>>2]|0)?(j=c[(c[c[f+4>>2]>>2]|0)+80>>2]|0,(j|0)!=0):0)?(e=jd[j&3](f,a,b,d)|0,(e|0)!=-38):0))p=14}else p=14;while(0);do if((p|0)==14){e=c[i>>2]|0;if(((e|0?(m=c[e+4>>2]|0,(c[m+36>>2]|0)==(c[a+80>>2]|0)):0)?(n=c[(c[c[m+4>>2]>>2]|0)+76>>2]|0,n|0):0)?(o=jd[n&3](m,a,b,d)|0,(o|0)!=-38):0){e=o;break}e=-38}while(0);$c=q;return e|0}function Yg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;c[a+80>>2]=c[b+80>>2];c[a+68>>2]=c[b+68>>2];c[a+72>>2]=c[b+72>>2];h=b+352|0;c[a+352>>2]=c[h>>2];e=b+240|0;g=c[e+4>>2]|0;d=a+240|0;c[d>>2]=c[e>>2];c[d+4>>2]=g;c[a+76>>2]=c[b+76>>2];d=Zg(a,b,0)|0;a:do if((d|0)>=0){if(!(c[b+248>>2]|0)){d=_g(a,32)|0;if((d|0)<0)break;d=$g(a,b)|0;if((d|0)>=0)break;rg(a);break}else d=0;while(1){if(d>>>0>=8){f=10;break}e=c[b+248+(d<<2)>>2]|0;if(e|0?(g=Ug(e)|0,c[a+248+(d<<2)>>2]=g,(g|0)==0):0){d=-12;break}d=d+1|0}b:do if((f|0)==10){e=b+280|0;c:do if(c[e>>2]|0){f=b+284|0;d=Ag(4,c[f>>2]|0)|0;g=a+280|0;c[g>>2]=d;if(!d){d=-12;break b}c[a+284>>2]=c[f>>2];d=0;while(1){if((d|0)>=(c[f>>2]|0))break c;i=Ug(c[(c[e>>2]|0)+(d<<2)>>2]|0)|0;c[(c[g>>2]|0)+(d<<2)>>2]=i;if(!(c[(c[g>>2]|0)+(d<<2)>>2]|0)){d=-12;break b}else d=d+1|0}}while(0);d=c[b+376>>2]|0;if(d|0?(i=Ug(d)|0,c[a+376>>2]=i,(i|0)==0):0){d=-12;break}f=b+64|0;if((c[f>>2]|0)==(b|0))c[a+64>>2]=a;else{d=c[h>>2]|0;if(!d){d=-22;break}e=ah(4,d)|0;c[a+64>>2]=e;if(!e){d=-12;break}XW(e|0,c[f>>2]|0,d<<2|0)|0};c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+20>>2]=c[b+20>>2];c[a+24>>2]=c[b+24>>2];c[a+28>>2]=c[b+28>>2];d=a+32|0;i=b+32|0;c[d>>2]=c[i>>2];c[d+4>>2]=c[i+4>>2];c[d+8>>2]=c[i+8>>2];c[d+12>>2]=c[i+12>>2];c[d+16>>2]=c[i+16>>2];c[d+20>>2]=c[i+20>>2];c[d+24>>2]=c[i+24>>2];c[d+28>>2]=c[i+28>>2];d=0;break a}while(0);rg(a)}while(0);return d|0}function Zg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);o=r;c[a+84>>2]=c[b+84>>2];c[a+88>>2]=c[b+88>>2];e=b+92|0;f=c[e+4>>2]|0;g=a+92|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;c[a+384>>2]=c[b+384>>2];c[a+388>>2]=c[b+388>>2];c[a+392>>2]=c[b+392>>2];c[a+396>>2]=c[b+396>>2];g=b+104|0;f=c[g+4>>2]|0;e=a+104|0;c[e>>2]=c[g>>2];c[e+4>>2]=f;c[a+208>>2]=c[b+208>>2];c[a+212>>2]=c[b+212>>2];c[a+216>>2]=c[b+216>>2];c[a+220>>2]=c[b+220>>2];c[a+232>>2]=c[b+232>>2];c[a+140>>2]=c[b+140>>2];e=b+112|0;f=c[e+4>>2]|0;g=a+112|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;g=b+120|0;f=c[g+4>>2]|0;e=a+120|0;c[e>>2]=c[g>>2];c[e+4>>2]=f;e=b+328|0;f=c[e+4>>2]|0;g=a+328|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;c[a+356>>2]=c[b+356>>2];g=b+336|0;f=c[g+4>>2]|0;e=a+336|0;c[e>>2]=c[g>>2];c[e+4>>2]=f;e=b+224|0;f=c[e+4>>2]|0;g=a+224|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;c[a+136>>2]=c[b+136>>2];g=b+320|0;f=c[g+4>>2]|0;e=a+320|0;c[e>>2]=c[g>>2];c[e+4>>2]=f;c[a+128>>2]=c[b+128>>2];c[a+132>>2]=c[b+132>>2];c[a+296>>2]=c[b+296>>2];c[a+348>>2]=c[b+348>>2];c[a+304>>2]=c[b+304>>2];c[a+308>>2]=c[b+308>>2];c[a+312>>2]=c[b+312>>2];c[a+300>>2]=c[b+300>>2];c[a+316>>2]=c[b+316>>2];ph(a+344|0,c[b+344>>2]|0,0)|0;e=a+144|0;f=b+144|0;g=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));i=b+292|0;j=b+288|0;k=b+68|0;l=a+68|0;m=b+72|0;n=a+72|0;d=(d|0)==0;g=0;while(1){if((g|0)>=(c[i>>2]|0)){p=15;break}h=c[(c[j>>2]|0)+(g<<2)>>2]|0;e=c[h>>2]|0;if(!e){if((c[k>>2]|0)==(c[l>>2]|0)?(c[m>>2]|0)==(c[n>>2]|0):0)p=6}else p=6;if((p|0)==6){p=0;if(d){e=Ug(c[h+16>>2]|0)|0;c[o>>2]=e;e=rh(a,c[h>>2]|0,e)|0;if(!e){p=12;break}}else{f=h+8|0;e=qh(a,e,c[f>>2]|0)|0;if(!e){p=8;break}XW(c[e+4>>2]|0,c[h+4>>2]|0,c[f>>2]|0)|0}ph(e+12|0,c[h+12>>2]|0,0)|0}g=g+1|0}do if((p|0)==8){ug(a);e=-12}else if((p|0)==12){Sf(o);ug(a);e=-12}else if((p|0)==15){e=a+360|0;c[e>>2]=0;f=a+364|0;c[f>>2]=0;g=a+368|0;c[g>>2]=0;d=a+372|0;Sf(d);h=c[b+372>>2]|0;if(h|0?(q=Ug(h)|0,c[d>>2]=q,q|0):0){c[e>>2]=c[q+4>>2];c[f>>2]=c[b+364>>2];c[g>>2]=c[b+368>>2]}f=a+380|0;Sf(f);g=a+400|0;Sf(g);e=c[b+380>>2]|0;if(e|0?(a=Ug(e)|0,c[f>>2]=a,(a|0)==0):0){e=-12;break}e=c[b+400>>2]|0;if(e|0?(b=Ug(e)|0,c[g>>2]=b,(b|0)==0):0){e=-12;break}e=0}while(0);$c=r;return e|0}function _g(a,b){a=a|0;b=b|0;var d=0;do if((c[a+80>>2]|0)>=0){if((c[a+68>>2]|0)>0?(c[a+72>>2]|0)>0:0){a=jh(a,b)|0;break}if((c[a+76>>2]|0)>0){d=a+240|0;if((c[d>>2]|0)==0&(c[d+4>>2]|0)==0?(c[a+352>>2]|0)<=0:0){a=-22;break}a=kh(a,b)|0}else a=-22}else a=-22;while(0);return a|0}function $g(a,b){a=a|0;b=b|0;var d=0;d=c[a+80>>2]|0;do if(!((d|0)<0?1:(d|0)!=(c[b+80>>2]|0))){if((c[a+68>>2]|0)>0?(c[a+72>>2]|0)>0:0){a=bh(a,b)|0;break}if((c[a+76>>2]|0)>0?(c[a+352>>2]|0)>0:0)a=ch(a,b)|0;else a=-22}else a=-22;while(0);return a|0}function ah(a,b){a=a|0;b=b|0;if((b|0)!=0?(2147483647/(b>>>0)|0)>>>0>a>>>0:0)a=tf(H(b,a)|0)|0;else a=0;return a|0}function bh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);h=j;i=b+68|0;a:do if((c[a+68>>2]|0)>=(c[i>>2]|0)?(e=b+72|0,(c[a+72>>2]|0)>=(c[e>>2]|0)):0){f=a+80|0;g=eh(c[f>>2]|0)|0;d=0;while(1){if((d|0)>=(g|0))break;if(!(c[a+(d<<2)>>2]|0)){d=-22;break a}if(!(c[b+(d<<2)>>2]|0)){d=-22;break a}else d=d+1|0}c[h>>2]=c[b>>2];c[h+4>>2]=c[b+4>>2];c[h+8>>2]=c[b+8>>2];c[h+12>>2]=c[b+12>>2];fh(a,a+32|0,h,b+32|0,c[f>>2]|0,c[i>>2]|0,c[e>>2]|0);d=0}else d=-22;while(0);$c=j;return d|0}function ch(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=a+80|0;h=Og(c[f>>2]|0)|0;g=c[a+352>>2]|0;h=h|0?g:1;e=c[a+76>>2]|0;a:do if(((e|0)==(c[b+76>>2]|0)?(g|0)==(c[b+352>>2]|0):0)?(i=a+240|0,d=b+240|0,(c[i>>2]|0)==(c[d>>2]|0)?(c[i+4>>2]|0)==(c[d+4>>2]|0):0):0){d=c[a+64>>2]|0;b=b+64|0;a=0;while(1){if((a|0)>=(h|0))break;if(!(c[d+(a<<2)>>2]|0)){a=-22;break a}if(!(c[(c[b>>2]|0)+(a<<2)>>2]|0)){a=-22;break a}else a=a+1|0}dh(d,c[b>>2]|0,0,0,e,g,c[f>>2]|0)|0;a=0}else a=-22;while(0);return a|0}function dh(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;k=(Og(h)|0)!=0;j=k?g:1;i=Qg(h)|0;g=H(k?1:g,i)|0;i=H(g,f)|0;h=H(g,d)|0;g=H(g,e)|0;d=c[a>>2]|0;f=c[b>>2]|0;e=d>>>0>>0;a:do if(((e?f:d)-(c[(e?a:b)>>2]|0)|0)<(i|0)){f=0;while(1){if((f|0)>=(j|0))break a;YW((c[a+(f<<2)>>2]|0)+h|0,(c[b+(f<<2)>>2]|0)+g|0,i|0)|0;f=f+1|0}}else{f=0;while(1){if((f|0)>=(j|0))break a;XW((c[a+(f<<2)>>2]|0)+h|0,(c[b+(f<<2)>>2]|0)+g|0,i|0)|0;f=f+1|0}}while(0);return 0}function eh(a){a=a|0;var b=0,e=0,f=0,g=0;g=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=g;b=Gg(a)|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;a:do if(!b)a=-22;else{e=d[b+4>>0]|0;a=0;while(1){if((a|0)==(e|0)){a=0;b=0;break}c[f+(c[b+16+(a<<5)>>2]<<2)>>2]=1;a=a+1|0}while(1){if((b|0)==4)break a;a=(c[f+(b<<2)>>2]|0)+a|0;b=b+1|0}}while(0);$c=g;return a|0}function fh(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;l=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);j=l+16|0;k=l;i=0;while(1){if((i|0)==4)break;c[j+(i<<2)>>2]=c[b+(i<<2)>>2];c[k+(i<<2)>>2]=c[e+(i<<2)>>2];i=i+1|0}hh(a,j,d,k,f,g,h,4);$c=l;return}function gh(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;m=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);l=m+16|0;k=m;a:do if((a|0)!=0&(d|0)!=0){if((((e|0)>-1?e:0-e|0)|0)<(f|0)){c[k>>2]=131320;c[k+4>>2]=131351;c[k+8>>2]=314;lf(0,0,164242,k);ub()}if((((b|0)>-1?b:0-b|0)|0)<(f|0)){c[l>>2]=131372;c[l+4>>2]=131351;c[l+8>>2]=315;lf(0,0,164242,l);ub()}else{h=g;i=a;j=d}while(1){if((h|0)<=0)break a;XW(i|0,j|0,f|0)|0;h=h+-1|0;i=i+b|0;j=j+e|0}}while(0);$c=m;return}function hh(a,b,e,f,g,h,i,j){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);q=r;m=Gg(g)|0;a:do if(m|0?(k=c[m+8>>2]|0,(k&8|0)==0&0==0):0){if(!((k&66|0)==0&0==0)){sd[j&63](c[a>>2]|0,c[b>>2]|0,c[e>>2]|0,c[f>>2]|0,h,i);XW(c[a+4>>2]|0,c[e+4>>2]|0,1024)|0;break}l=d[m+4>>0]|0;p=0;k=0;while(1){if((k|0)==(l|0))break;o=(c[m+16+(k<<5)>>2]|0)+1|0;p=(p|0)>(o|0)?p:o;k=k+1|0}m=m+6|0;n=0-i|0;l=0;while(1){if((l|0)>=(p|0))break a;o=ih(g,h,l)|0;if((o|0)<0)break;if((l+-1|0)>>>0<2)k=0-(n>>(d[m>>0]|0))|0;else k=i;sd[j&63](c[a+(l<<2)>>2]|0,c[b+(l<<2)>>2]|0,c[e+(l<<2)>>2]|0,c[f+(l<<2)>>2]|0,o,k);l=l+1|0}lf(0,16,131290,q)}while(0);$c=r;return}function ih(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);e=g+16|0;f=g;a=Gg(a)|0;if((a|0)!=0?(0==0?(c[a+8>>2]&8|0)==0:0):0){Sg(e,f,a);a=Tg(b,c[e+(d<<2)>>2]|0,c[f+(d<<2)>>2]|0,a)|0}else a=-22;$c=g;return a|0}function jh(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=a+80|0;k=Gg(c[h>>2]|0)|0;a:do if(k){i=a+68|0;l=a+72|0;e=mh(c[i>>2]|0,c[l>>2]|0,0,0)|0;if((e|0)>=0){g=a+32|0;b:do if(!(c[g>>2]|0)){b=(b|0)<1?32:b;j=b+-1|0;f=1;while(1){if((f|0)>(b|0))break;e=Kg(g,c[h>>2]|0,f+-1+(c[i>>2]|0)&0-f)|0;if((e|0)<0)break a;if(!(c[g>>2]&j))break;else f=f<<1}b=0-b|0;e=0;while(1){if((e|0)>=4)break b;f=a+32+(e<<2)|0;g=c[f>>2]|0;if(!g)break b;c[f>>2]=j+g&b;e=e+1|0}}while(0);g=k+6|0;f=0;while(1){if((f|0)>=4){m=19;break}b=c[a+32+(f<<2)>>2]|0;if(!b){m=19;break}e=(c[l>>2]|0)+31&-32;if((f+-1|0)>>>0<2)e=0-(0-e>>(d[g>>0]|0))|0;e=Rg((H(b,e)|0)+31|0)|0;c[a+248+(f<<2)>>2]=e;if(!e)break;c[a+(f<<2)>>2]=c[e+4>>2];f=f+1|0}do if((m|0)==19){if(!(0==0?(c[k+8>>2]&66|0)==0:0)){m=a+252|0;Sf(m);e=Rg(1024)|0;c[m>>2]=e;if(!e)break;c[a+4>>2]=c[e+4>>2]}c[a+64>>2]=a;e=0;break a}while(0);rg(a);e=-12}}else e=-22;while(0);return e|0}function kh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=a+80|0;g=Og(c[h>>2]|0)|0;e=a+352|0;f=c[e>>2]|0;if(!f){f=a+240|0;f=lh(c[f>>2]|0,c[f+4>>2]|0)|0;c[e>>2]=f}i=g|0?f:1;j=a+32|0;if(!((c[j>>2]|0)==0?(d=Pg(j,f,c[a+76>>2]|0,c[h>>2]|0,b)|0,(d|0)<0):0))k=5;a:do if((k|0)==5){g=(i|0)>8;do if(g){d=a+64|0;c[d>>2]=Ag(i,4)|0;e=i+-8|0;h=Ag(e,4)|0;f=a+280|0;c[f>>2]=h;if((h|0)==0|(c[d>>2]|0)==0){gf(d);gf(f);d=-12;break a}else{c[a+284>>2]=e;b=d;break}}else{b=a+64|0;c[b>>2]=a}while(0);e=g?8:i;d=0;while(1){if((d|0)>=(e|0))break;f=Rg(c[j>>2]|0)|0;c[a+248+(d<<2)>>2]=f;if(!f){k=14;break}h=c[f+4>>2]|0;c[a+(d<<2)>>2]=h;c[(c[b>>2]|0)+(d<<2)>>2]=h;d=d+1|0}if((k|0)==14){rg(a);d=-12;break}e=i+-8|0;f=a+280|0;d=0;while(1){if((d|0)>=(e|0)){d=0;break a}g=Rg(c[j>>2]|0)|0;c[(c[f>>2]|0)+(d<<2)>>2]=g;g=c[(c[f>>2]|0)+(d<<2)>>2]|0;if(!g)break;c[(c[b>>2]|0)+(d+8<<2)>>2]=c[g+4>>2];d=d+1|0}rg(a);d=-12}while(0);return d|0}function lh(a,b){a=a|0;b=b|0;var c=0;c=a-(a>>>1&1431655765)|0;c=(c>>>2&858993459)+(c&858993459)|0;c=(c>>>4)+c&252645135;c=(c>>>8)+c|0;a=SW(a|0,b|0,33)|0;M()|0;b=b-(a&1431655765)|0;b=(b>>>2&858993459)+(b&858993459)|0;b=(b>>>4)+b&252645135;b=(b>>>8)+b|0;return ((c>>>16)+c&63)+((b>>>16)+b&63)|0}function mh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return nh(a,b,-1,2147483647,-1,c,d)|0}function nh(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;l=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);k=l+8|0;j=l;i=l+24|0;c[i>>2]=72116;c[i+4>>2]=g;c[i+8>>2]=h;g=ih(f,a,0)|0;m=(g|0)<1;f=TW(a|0,0,3)|0;h=M()|0;f=m?f:g;g=m?h:((g|0)<0)<<31>>31;if(!((a|0)<1|(b|0)<1|((g|0)>0|(g|0)==0&f>>>0>2147482622))?(m=IW(f|0,g|0,1024,0)|0,m=OW(m|0,M()|0,b+128|0,0)|0,h=M()|0,!(h>>>0>0|(h|0)==0&m>>>0>2147483646)):0)if(!((d|0)==-1&(e|0)==2147483647)?(m=OW(b|0,0,a|0,0)|0,j=M()|0,(j|0)>(e|0)|(j|0)==(e|0)&m>>>0>d>>>0):0){c[k>>2]=a;c[k+4>>2]=b;f=k+8|0;c[f>>2]=d;c[f+4>>2]=e;lf(i,16,131434,k);f=-22}else f=0;else{c[j>>2]=a;c[j+4>>2]=b;lf(i,16,131403,j);f=-22}$c=l;return f|0}function oh(a){a=a|0;return c[c[a>>2]>>2]|0}function ph(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=0;do{f=sh(b,262104,f,2)|0;if(!f){e=0;break}e=th(a,c[f>>2]|0,c[f+4>>2]|0,d)|0}while((e|0)>=0);return e|0}function qh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=f;d=Rg(d)|0;c[e>>2]=d;a=rh(a,b,d)|0;if(!a)Sf(e);$c=f;return a|0}function rh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((((d|0)!=0?(g=a+292|0,h=c[g>>2]|0,h>>>0<=536870910):0)?(i=a+288|0,f=sf(c[i>>2]|0,(h<<2)+4|0)|0,(f|0)!=0):0)?(c[i>>2]=f,e=cg(20)|0,(e|0)!=0):0){c[e+16>>2]=d;c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e>>2]=b;h=c[i>>2]|0;i=c[g>>2]|0;c[g>>2]=i+1;c[h+(i<<2)>>2]=e}else e=0;return e|0}function sh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a:do if(!b)e=0;else{m=b+4|0;if(!e)e=0;else e=(e-(c[m>>2]|0)>>3)+1|0;k=c[b>>2]|0;l=(f&1|0)==0;j=(f&2|0)==0;while(1){if(e>>>0>=k>>>0){e=0;break a}i=c[m>>2]|0;h=c[i+(e<<3)>>2]|0;if(l){f=0;while(1){b=a[h+f>>0]|0;n=xh(b<<24>>24)|0;g=a[d+f>>0]|0;if(g<<24>>24==0|(n|0)!=(xh(g<<24>>24)|0))break;else f=f+1|0}}else{f=0;while(1){b=a[h+f>>0]|0;g=a[d+f>>0]|0;if(g<<24>>24==0?1:b<<24>>24!=g<<24>>24)break;else f=f+1|0}}if(!(g<<24>>24!=0|j&b<<24>>24!=0))break;e=e+1|0}e=i+(e<<3)|0}while(0);return e|0}function th(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);l=p+8|0;o=p+4|0;m=p;g=c[a>>2]|0;c[l>>2]=0;c[o>>2]=0;c[m>>2]=0;if(!(e&64))i=sh(g,b,0,e)|0;else i=0;if(!(e&4))h=uh(b)|0;else h=b;c[o>>2]=h;j=h;if(!(e&8))if(!h)f=0;else{f=uh(d)|0;c[m>>2]=f}else{c[m>>2]=d;f=d}if(!g){g=cg(8)|0;c[a>>2]=g;if(!g)k=32;else{n=g;k=11}}else{n=g;k=11}a:do if((k|0)==11){do if((b|0)==0|(h|0)!=0){g=(f|0)!=0;if((d|0)==0|g){if(!i)if(g){g=n+4|0;b=sf(c[g>>2]|0,(c[n>>2]<<3)+8|0)|0;if(!b)break;c[g>>2]=b;k=23}else k=27;else{if(e&16|0){hf(h);hf(f);f=0;break a}g=c[i+4>>2]|0;if(!(e&32))hf(g);else c[l>>2]=g;hf(c[i>>2]|0);d=c[n+4>>2]|0;h=(c[n>>2]|0)+-1|0;c[n>>2]=h;h=d+(h<<3)|0;d=c[h+4>>2]|0;k=i;c[k>>2]=c[h>>2];c[k+4>>2]=d;if(!f)k=27;else k=23}if((k|0)==23){d=n+4|0;h=c[d>>2]|0;g=c[n>>2]|0;c[h+(g<<3)>>2]=j;f=c[m>>2]|0;c[h+(g<<3)+4>>2]=f;h=c[l>>2]|0;if((e&32|0)==0|(h|0)==0)f=g;else{g=dU(h)|0;g=g+1+(dU(f)|0)|0;b=cg(g)|0;if(!b)break;vh(b,h,g)|0;gf(l);vh(b,f,g)|0;c[(c[d>>2]|0)+(c[n>>2]<<3)+4>>2]=b;gf(m);f=c[n>>2]|0}f=f+1|0;c[n>>2]=f}else if((k|0)==27){gf(o);f=c[n>>2]|0}if(f|0){f=0;break a}gf(n+4|0);gf(a);f=0;break a}else f=0}while(0);if(!(c[n>>2]|0)){gf(n+4|0);gf(a);k=32}else k=32}while(0);if((k|0)==32){hf(c[o>>2]|0);hf(f);f=-12}$c=p;return f|0}function uh(a){a=a|0;var b=0,c=0;if((a|0)!=0?(c=(dU(a)|0)+1|0,b=sf(0,c)|0,(b|0)!=0):0)XW(b|0,a|0,c|0)|0;else b=0;return b|0}function vh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=dU(a)|0;if((d+1|0)>>>0>>0)a=wh(a+d|0,b,c-d|0)|0;else a=dU(b)|0;return a+d|0}function wh(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;g=0;while(1){e=g+1|0;if(e>>>0>=d>>>0)break;f=a[c>>0]|0;if(!(f<<24>>24))break;a[b>>0]=f;g=e;b=b+1|0;c=c+1|0}if(g>>>0>>0)a[b>>0]=0;return (dU(c)|0)+g|0}function xh(a){a=a|0;return ((a+-97|0)>>>0<26?a^32:a)|0}function yh(a){a=a|0;var b=0;zh(a);c[a+28260>>2]=0;c[a+28264>>2]=0;c[a+28248>>2]=65536;c[a+28252>>2]=0;b=0;while(1){if((b|0)==16)break;c[a+28676+(b<<2)>>2]=-2147483648;b=b+1|0}return}function zh(a){a=a|0;var b=0,d=0,e=0;b=0;while(1){if((b|0)==16)break;Ah(a,b,0);b=b+1|0}d=a+29556|0;if((c[d>>2]|0)!=0?(e=a+24972|0,(c[c[e>>2]>>2]|0)==0):0){lg(a,e);Bh(a,e,c[a+28348>>2]|0)|0;b=0}else b=0;while(1){if((b|0)>=(c[d>>2]|0))break;e=a+28348+(b<<2)|0;Ch(a,c[e>>2]|0,0)|0;c[e>>2]=0;b=b+1|0}c[d>>2]=0;b=a+28268|0;d=b+80|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));return}function Ah(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;b=a+28476+(b<<2)|0;e=c[b>>2]|0;if(e|0?Ch(a,e,d)|0:0){c[(c[b>>2]|0)+100>>2]=0;c[b>>2]=0;d=a+29552|0;c[d>>2]=(c[d>>2]|0)+-1}return}function Bh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);i=k+32|0;g=k+16|0;e=k;h=c[b>>2]|0;if(c[h+248>>2]|0){c[e>>2]=131552;c[e+4>>2]=131568;c[e+8>>2]=70;lf(0,0,164242,e);ub()}f=c[d>>2]|0;if(!(c[f+248>>2]|0)){c[g>>2]=131594;c[g+4>>2]=131568;c[g+8>>2]=71;lf(0,0,164242,g);ub()}e=d+4|0;if((c[e>>2]|0)!=(f|0)){c[i>>2]=131609;c[i+4>>2]=131568;c[i+8>>2]=72;lf(0,0,164242,i);ub()}i=b+4|0;c[i>>2]=h;e=Dh(i,e)|0;a:do if((e|0)>=0){i=b+20|0;c[i>>2]=Ug(c[d+20>>2]|0)|0;h=Ug(c[d+44>>2]|0)|0;c[b+44>>2]=h;if((h|0)==0|(c[i>>2]|0)==0){e=-12;j=19}else{c[b+24>>2]=c[d+24>>2];c[b+48>>2]=c[d+48>>2];e=0;while(1){if((e|0)>=2)break;i=b+28+(e<<2)|0;c[i>>2]=Ug(c[d+28+(e<<2)>>2]|0)|0;h=Ug(c[d+60+(e<<2)>>2]|0)|0;c[b+60+(e<<2)>>2]=h;if((h|0)==0|(c[i>>2]|0)==0){e=-12;j=19;break a}c[b+36+(e<<2)>>2]=c[d+36+(e<<2)>>2];c[b+68+(e<<2)>>2]=c[d+68+(e<<2)>>2];e=e+1|0}if(!(c[d+56>>2]|0))e=0;else{e=Ug(c[d+52>>2]|0)|0;c[b+52>>2]=e;if(!e){e=-12;j=19;break}c[b+56>>2]=c[e+4>>2];e=0}while(1){if((e|0)==2)break;c[b+76+(e<<2)>>2]=c[d+76+(e<<2)>>2];e=e+1|0}XW(b+104|0,d+104|0,512)|0;e=b+616|0;a=d+616|0;c[e>>2]=c[a>>2];c[e+4>>2]=c[a+4>>2];c[e+8>>2]=c[a+8>>2];c[e+12>>2]=c[a+12>>2];c[b+84>>2]=c[d+84>>2];c[b+88>>2]=c[d+88>>2];c[b+92>>2]=c[d+92>>2];c[b+100>>2]=c[d+100>>2];c[b+632>>2]=c[d+632>>2];c[b+636>>2]=c[d+636>>2];c[b+640>>2]=c[d+640>>2];c[b+644>>2]=c[d+644>>2];c[b+648>>2]=c[d+648>>2];c[b+652>>2]=c[d+652>>2];e=0}}else j=19;while(0);if((j|0)==19)lg(a,b);$c=k;return e|0}function Ch(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=b+640|0;e=c[f>>2]&d;c[f>>2]=e;a:do if(!e){d=0;while(1){e=c[a+28604+(d<<2)>>2]|0;if(!e){d=1;break a}if((e|0)==(b|0))break;else d=d+1|0}c[f>>2]=4;d=1}else d=0;while(0);return d|0}function Dh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=h;g=a+4|0;c[g>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];d=Yg(c[a>>2]|0,c[b>>2]|0)|0;if((d|0)>=0){e=a+12|0;if(c[e>>2]|0){c[f>>2]=131629;c[f+4>>2]=131644;c[f+8>>2]=1792;lf(0,0,164242,f);ub()}d=c[b+12>>2]|0;if((d|0)!=0?(f=Ug(d)|0,c[e>>2]=f,(f|0)==0):0){pg(c[g>>2]|0,a);d=-12}else d=0}$c=h;return d|0}function Eh(a){a=a|0;var b=0;b=0;while(1){if((b|0)==32){b=0;break}Sf(a+(b<<2)|0);b=b+1|0}while(1){if((b|0)==256)break;Sf(a+128+(b<<2)|0);b=b+1|0}Sf(a+1156|0);Sf(a+1152|0);c[a+1160>>2]=0;c[a+1164>>2]=0;return}function Fh(a){a=a|0;var b=0,d=0;d=a+20|0;b=0;while(1){if((b|0)>=(c[d>>2]|0))break;gf((c[a>>2]|0)+(b*68|0)+60|0);b=b+1|0}gf(a);c[d>>2]=0;gf(a+4|0);c[a+12>>2]=0;c[a+8>>2]=0;return}function Gh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;i=c[a+28604>>2]|0;c[a+24312>>2]=0;c[a+26384>>2]=0;h=0;f=1;while(1){g=c[a+28604+(f<<2)>>2]|0;if(!g)break;if(c[(c[g>>2]|0)+84>>2]|0)break;if(c[g+92>>2]|0)break;k=(c[g+84>>2]|0)<(c[i+84>>2]|0);i=k?g:i;h=k?f:h;f=f+1|0}g=h;f=c[a+28604+(h<<2)>>2]|0;while(1){if(!f)break;k=g+1|0;f=c[a+28604+(k<<2)>>2]|0;c[a+28604+(g<<2)>>2]=f;g=k}if((i|0)!=0?(j=i+640|0,c[j>>2]=c[j>>2]&-5,j=Mh(a,b,i,d)|0,(j|0)<0):0)e=j;return e|0}function Hh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=c[a+44>>2]|0;a=a+40|0;e=0;while(1){if((e|0)>=(f|0)){b=8;break}g=c[a>>2]|0;if((c[g+(e*12|0)+8>>2]|0)==(b|0)){b=4;break}e=e+1|0}if((b|0)==4){if(d|0)c[d>>2]=c[g+(e*12|0)+4>>2];a=c[g+(e*12|0)>>2]|0}else if((b|0)==8)if(!d)a=0;else{c[d>>2]=0;a=0}return a|0}function Ih(b,c){b=b|0;c=c|0;var e=0,f=0,g=0;g=b+c|0;e=a[b+5>>0]&31;b=b+6|0;while(1){if(!e){f=5;break}c=((UW(d[b>>0]|d[b+1>>0]<<8|0)|0)&65535)+2|0;if((c|0)>(g-b|0)){c=0;break}if((a[b+2>>0]&-97)<<24>>24==7){e=e+-1|0;b=b+c|0}else{c=0;break}}a:do if((f|0)==5){c=a[b>>0]|0;if(!(c<<24>>24))c=0;else{e=c&255;c=b+1|0;while(1){if(!e){c=1;break a}b=((UW(d[c>>0]|d[c+1>>0]<<8|0)|0)&65535)+2|0;if((b|0)>(g-c|0)){c=0;break a}if((a[c+2>>0]&-97)<<24>>24==8){e=e+-1|0;c=c+b|0}else{c=0;break}}}}while(0);return c|0}function Jh(b,e,f,g,h,i,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);r=s+16|0;o=s+8|0;k=s;a:do if((b|0)==0|(e|0)<1)e=-1;else do if((a[b>>0]|0)==1){c[g>>2]=1;if((e|0)<7){c[k>>2]=e;lf(j,16,153127,k);e=-1094995529;break a}k=a[b+5>>0]&31;q=b+e|0;n=b+6|0;g=0;while(1){if((g|0)>=(k|0))break;l=((UW(d[n>>0]|d[n+1>>0]<<8|0)|0)&65535)+2|0;if((l|0)>(q-n|0)){e=-1094995529;break a}m=bN(n,l,f,i,j)|0;if((m|0)<0){p=9;break}n=n+l|0;g=g+1|0}if((p|0)==9){c[o>>2]=g;lf(j,16,153146,o);e=m;break a}m=d[n>>0]|0;g=n+1|0;l=0;while(1){if((l|0)>=(m|0)){p=17;break}k=((UW(d[g>>0]|d[g+1>>0]<<8|0)|0)&65535)+2|0;if((k|0)>(q-g|0)){e=-1094995529;break a}n=bN(g,k,f,i,j)|0;if((n|0)<0){p=15;break}g=g+k|0;l=l+1|0}if((p|0)==15){c[r>>2]=l;lf(j,16,153180,r);e=n;break a}else if((p|0)==17){c[h>>2]=(a[b+4>>0]&3)+1&255;break}}else{c[g>>2]=0;g=cN(b,e,f,0,j)|0;if((g|0)<0){e=g;break a}}while(0);while(0);$c=s;return e|0}function Kh(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=$c;$c=$c+80|0;if(($c|0)>=(ad|0))N(80);O=X+48|0;S=X+40|0;R=X+32|0;Q=X+24|0;P=X+16|0;M=X+8|0;j=X;J=X+52|0;T=b+4|0;K=c[T>>2]|0;W=b+27032|0;c[W>>2]=0;L=b+27028|0;c[L>>2]=0;i=K+64|0;if(!(c[i>>2]&32768)){c[b+29560>>2]=0;if(!(c[b+26384>>2]|0))c[b+24312>>2]=0;kg(b+29676|0)}h=c[b+27040>>2]|0;do if((h|0)==4){if((f|0)>8){g=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if((g|0)==16777216){V=e+5|0;if((VW(d[V>>0]|d[V+1>>0]<<8|d[V+2>>0]<<16|d[V+3>>0]<<24|0)|0)>>>0>f>>>0){c[b+27036>>2]=0;break}else g=16777216}}else{if((f|0)<=3)break;g=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24}V=VW(g|0)|0;if(!(V>>>0<2|V>>>0>f>>>0))c[b+27036>>2]=1}while(0);D=b+25640|0;g=Zh(D,e,f,K,c[b+27036>>2]|0,h,c[K+16>>2]|0,c[i>>2]&1)|0;do if((g|0)<0)lf(K,16,132687,j);else{A=K+696|0;if(c[A>>2]&1){g=_h(b)|0;if((g|0)<0)break}else g=0;n=b+25656|0;o=K+732|0;p=b+27024|0;B=b+29560|0;q=b+29580|0;r=b+29588|0;V=b+24312|0;s=K+592|0;t=b+25632|0;u=b+25636|0;C=b+25628|0;v=b+29676|0;w=b+27052|0;x=b+29716|0;y=K+576|0;z=b+29900|0;h=0;m=0;a:while(1){if((m|0)>=(c[n>>2]|0)){U=71;break}k=c[D>>2]|0;j=k+(m*68|0)|0;i=c[k+(m*68|0)+64>>2]|0;if((c[o>>2]|0)>7&(i|0)==0){if((c[k+(m*68|0)+44>>2]|0)==6){i=0;U=22}}else U=22;b:do if((U|0)==22){U=0;c[p>>2]=i;i=c[k+(m*68|0)+44>>2]|0;c[L>>2]=i;switch(i|0){case 19:case 13:case 12:case 11:case 10:case 9:break b;case 5:{if((a[(c[k+(m*68|0)+8>>2]|0)+1>>0]&-4)<<24>>24==-104){U=24;break a}if(!h){if(c[B>>2]|0?c[A>>2]&2|0:0){U=28;break a}yh(b)}c[q>>2]=1;h=1;break}case 1:break;case 4:case 3:case 2:{ci(K,132838,Q);break b}case 6:{l=di(v,k+(m*68|0)+24|0,w,K)|0;if(!(c[q>>2]|0))i=(c[x>>2]|0)!=-1;else i=1;c[q>>2]=i&1;if(c[y>>2]&8388608|0)ei(z,c[T>>2]|0);if((l|0)>=0)break b;if(!(c[(c[T>>2]|0)+580>>2]&8))break b;else break a}case 7:{i=k+(m*68|0)+24|0;c[J>>2]=c[i>>2];c[J+4>>2]=c[i+4>>2];c[J+8>>2]=c[i+8>>2];c[J+12>>2]=c[i+12>>2];c[J+16>>2]=c[i+16>>2];j=c[s>>2]|0;if((j|0?(F=c[j+28>>2]|0,F|0):0)?(G=jd[F&3](K,7,c[k+(m*68|0)+20>>2]|0,c[k+(m*68|0)+16>>2]|0)|0,(G|0)<0):0){U=61;break a}if((fi(J,K,w,0)|0)<=-1?(lf(c[T>>2]|0,48,132856,R),gi(J,(c[k+(m*68|0)+20>>2]|0)+1|0,(c[k+(m*68|0)+16>>2]|0)+-1|0)|0,(fi(J,K,w,0)|0)<=-1):0)fi(i,K,w,1)|0;break b}case 8:{i=c[s>>2]|0;if((i|0?(H=c[i+28>>2]|0,H|0):0)?(I=jd[H&3](K,8,c[k+(m*68|0)+20>>2]|0,c[k+(m*68|0)+16>>2]|0)|0,(I|0)<0):0){l=I;break a}l=hi(k+(m*68|0)+24|0,K,w,c[k+(m*68|0)+12>>2]|0)|0;if((l|0)>=0)break b;if(!(c[(c[T>>2]|0)+580>>2]&8))break b;else break a}default:{l=c[k+(m*68|0)+12>>2]|0;c[S>>2]=i;c[S+4>>2]=l;lf(K,48,132914,S);break b}}c[W>>2]=1;i=$h(b,j)|0;if(i|0){k=c[C>>2]|0;l=c[u>>2]|0;c[k+(l*34768|0)+23408>>2]=0;c[k+(l*34768|0)+23404>>2]=0;if((i|0)>=0)break;lf(c[T>>2]|0,16,132946,O);break}if((c[B>>2]|0)==1){if((!((m|0)<(g|0)|(c[A>>2]&1|0)==0)?(c[r>>2]|0)==0:0)?c[V>>2]|0:0){ai(K);c[r>>2]=1}i=c[T>>2]|0;j=c[i+592>>2]|0;if(j|0?(E=id[c[j+24>>2]&15](i,e,f)|0,(E|0)<0):0){l=E;break a}}i=c[s>>2]|0;if(!i)j=c[t>>2]|0;else j=1;if((c[u>>2]|0)==(j|0)){if(!(c[(c[T>>2]|0)+592>>2]|0))l=bi(b)|0;else{l=id[c[i+32>>2]&15](K,c[k+(m*68|0)+20>>2]|0,c[k+(m*68|0)+16>>2]|0)|0;c[u>>2]=0}if((l|0)<0?(c[(c[T>>2]|0)+580>>2]&8|0)!=0:0)break a}}while(0);m=m+1|0}do if((U|0)==24){lf(c[T>>2]|0,16,132730,M);c[b+28744>>2]=-2147483648;l=-1}else if((U|0)==28){lf(b,16,132755,P);l=-1094995529}else if((U|0)==61)l=G;else if((U|0)==71){g=bi(b)|0;if((g|0)<0?c[(c[T>>2]|0)+580>>2]&8|0:0){l=g;break}l=0}while(0);k=b+26380|0;if((((c[k>>2]|0)==3?c[B>>2]|0:0)?(c[b+28216>>2]|0)==(c[(c[b+27052+(c[c[b+28212>>2]>>2]<<2)>>2]|0)+4>>2]|0):0)?c[b+29672>>2]|0:0){h=c[C>>2]|0;g=b+24972|0;if(!(c[(c[g>>2]|0)+248>>2]|0))j=0;else j=(c[h+23404>>2]|0)==0;i=h+24|0;ii(h+696|0,c[V>>2]|0);do if(!j){g=h+728|0;if(!(c[h+23404>>2]|0)){ii(g,0);break}else{ii(g,c[h+23452>>2]|0);break}}else{ii(h+728|0,g);U=h+23416|0;c[h+23452>>2]=g;T=c[g>>2]|0;c[U>>2]=c[T>>2];c[U+4>>2]=c[T+4>>2];c[U+8>>2]=c[T+8>>2];U=h+23428|0;T=(c[g>>2]|0)+32|0;c[U>>2]=c[T>>2];c[U+4>>2]=c[T+4>>2];c[U+8>>2]=c[T+8>>2];c[h+23440>>2]=c[b+25612>>2]}while(0);if(c[h+23408>>2]|0)ii(h+760|0,c[h+25372>>2]|0);c[h+820>>2]=c[h+23404>>2];ji(i);if(j){g=h+23416|0;h=g+40|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0))}}g=c[V>>2]|0;if((g|0?(c[b+25684>>2]|0)==0:0)?c[W>>2]|0:0)Rh(g+4|0,2147483647,(c[k>>2]|0)==2&1);g=(l|0)<0?l:f}while(0);$c=X;return g|0}function Lh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);g=h;e=c[a+4>>2]|0;c[a+27004>>2]=0;f=(d|0)!=0;if(!f?(c[e+696>>2]&1|0)!=0:0)b=0;else{if(!(c[a+25684>>2]|0)){b=Qh(a)|0;c[a+28248>>2]=c[a+28228>>2];c[a+28252>>2]=c[a+28224>>2]}else b=0;c[a+28260>>2]=c[a+28256>>2];c[a+28264>>2]=c[a+28244>>2]}d=c[e+592>>2]|0;if(d){b=fd[c[d+36>>2]&31](e)|0;if((b|0)<0)lf(e,16,131965,g)}if(!f?(c[a+25684>>2]|0)==0:0)Rh((c[a+24312>>2]|0)+4|0,2147483647,(c[a+26380>>2]|0)==2&1);c[a+29560>>2]=0;$c=h;return b|0}function Mh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=$c;$c=$c+64|0;if(($c|0)>=(ad|0))N(64);g=m;j=m+40|0;k=m+24|0;l=m+8|0;f=c[a+4>>2]|0;if(((c[f+60>>2]&8|0)==0?(c[f+64>>2]&4194304|0)==0:0)?(c[d+644>>2]|0)==0:0)f=0;else{do if(!(c[f+592>>2]|0)){h=(c[d+76>>2]|0)==2147483647;if(!h?(c[d+80>>2]|0)!=2147483647:0)break;i=c[d>>2]|0;n=h&1;c[g>>2]=n;lf(f,48,131745,g);g=0-(n^1)|0;f=0;while(1){if((f|0)==4)break;o=i+(f<<2)|0;n=c[i+32+(f<<2)>>2]|0;c[j+(f<<2)>>2]=(c[o>>2]|0)+(n&g);c[l+(f<<2)>>2]=(c[o>>2]|0)+(h?n:0);c[k+(f<<2)>>2]=n<<1;f=f+1|0}fh(j,k,l,k,c[i+80>>2]|0,c[i+68>>2]|0,c[i+72>>2]>>1)}while(0);f=Oh(a,b,d)|0;if((f|0)>=0){c[e>>2]=1;f=0}}$c=m;return f|0}function Nh(a,b){a=a|0;b=b|0;a=(a|0)==0?1:a;return ((a+10|0)>(b|0)?b:a)|0}function Oh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=Yg(b,c[d>>2]|0)|0;if((e|0)>=0){th(b+344|0,131783,Ph(a+29852|0)|0,0)|0;if(!(c[d+652>>2]|0)){c[b+84>>2]=1;e=0}else e=0}return e|0}function Ph(a){a=a|0;a:do switch(c[a+8>>2]|0){case 0:switch(c[a+12>>2]|0){case 0:{a=(c[a+20>>2]|0)==2?131795:131811;break a}case 1:{a=(c[a+20>>2]|0)==2?131827:131846;break a}case 2:{a=(c[a+20>>2]|0)==2?131865:131884;break a}case 3:{a=(c[a+20>>2]|0)==2?131903:131914;break a}case 4:{a=(c[a+20>>2]|0)==2?131925:131936;break a}case 5:{a=(c[a+20>>2]|0)==2?131947:131956;break a}default:{a=160484;break a}}case 1:{a=160484;break}default:a=0}while(0);return a|0}function Qh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;L=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);C=L+112|0;B=L+104|0;A=L+96|0;u=L+80|0;t=L+72|0;s=L+64|0;r=L+56|0;x=L+48|0;w=L+40|0;v=L+24|0;e=L+16|0;n=L+128|0;J=L;p=L+124|0;E=J;c[E>>2]=0;c[E+4>>2]=0;E=a+28216|0;do if(c[E>>2]|0){if(!(c[a+29548>>2]|0))Sh(a);o=c[a+29540>>2]|0;b=a+4|0;d=c[b>>2]|0;if((o|0)==0?(c[d+576>>2]&2048|0)!=0:0)lf(d,48,132051,e);H=a+29556|0;F=a+29552|0;z=a+28348|0;I=a+24312|0;G=a+26380|0;l=a+28244|0;m=a+29544|0;k=0;j=0;f=0;g=0;d=0;a:while(1){if((k|0)>=(o|0))break;e=c[b>>2]|0;if(!(c[e+576>>2]&2048))h=a+28748+(k*12|0)|0;else{h=a+28748+(k*12|0)|0;M=c[a+28748+(k*12|0)+4>>2]|0;i=c[a+28748+(k*12|0)+8>>2]|0;c[v>>2]=c[h>>2];c[v+4>>2]=M;c[v+8>>2]=i;lf(e,48,132065,v)}e=c[h>>2]|0;b:do switch(e|0){case 3:case 1:{f=Th(a,c[a+28748+(k*12|0)+4>>2]|0,p)|0;g=Uh(a,f,n)|0;e=c[h>>2]|0;if(!g){if(((e|0)==3?(q=c[a+28476+(c[a+28748+(k*12|0)+8>>2]<<2)>>2]|0,q|0):0)?(c[q+88>>2]|0)==(f|0):0){h=j;e=0;break b}lf(c[b>>2]|0,c[H>>2]|0?16:48,132080,w);h=j;d=-1094995529;e=0}else{i=f;y=18}break}default:{i=f;y=18}}while(0);c:do if((y|0)==18){y=0;switch(e|0){case 1:{e=c[b>>2]|0;if(c[e+576>>2]&2048|0){M=c[H>>2]|0;c[x>>2]=c[a+28748+(k*12|0)+4>>2];c[x+4>>2]=M;lf(e,48,132107,x)}Vh(a,i,c[p>>2]^3)|0;h=j;f=i;e=g;break c}case 3:{e=a+28748+(k*12|0)+8|0;f=c[e>>2]|0;if((c[a+28476+(f<<2)>>2]|0)!=(g|0))Ah(a,f,0);Wh(a,c[n>>2]|0);c[a+28476+(c[e>>2]<<2)>>2]=g;e=c[a+28476+(c[e>>2]<<2)>>2]|0;if(!e){h=j;f=i;e=g;break c}c[e+100>>2]=1;c[F>>2]=(c[F>>2]|0)+1;h=j;f=i;e=g;break c}case 2:{e=Th(a,c[a+28748+(k*12|0)+8>>2]|0,p)|0;c[n>>2]=e;g=c[a+28476+(e<<2)>>2]|0;if(g|0){Ah(a,e,c[p>>2]^3);h=j;f=i;e=g;break c}e=c[b>>2]|0;if(!(c[e+576>>2]&2048)){h=j;f=i;e=0;break c}lf(e,48,132138,r);h=j;f=i;e=0;break c}case 6:{e=c[I>>2]|0;if((c[z>>2]|0)==(e|0)){lf(c[b>>2]|0,16,132164,s);Wh(a,0);e=c[I>>2]|0}h=a+28748+(k*12|0)+8|0;if(c[e+100>>2]|0){e=0;while(1){if((e|0)==32)break;if((c[a+28476+(e<<2)>>2]|0)==(c[I>>2]|0)){if((e|0)!=(c[h>>2]|0))lf(c[b>>2]|0,16,132236,t);Ah(a,e,0)}e=e+1|0}c[n>>2]=32;e=c[I>>2]|0}f=c[h>>2]|0;if((c[a+28476+(f<<2)>>2]|0)!=(e|0)){if(c[e+100>>2]|0){y=42;break a}Ah(a,f,0);c[a+28476+(c[h>>2]<<2)>>2]=c[I>>2];c[(c[a+28476+(c[h>>2]<<2)>>2]|0)+100>>2]=1;c[F>>2]=(c[F>>2]|0)+1;e=c[I>>2]|0}h=e+640|0;c[h>>2]=c[h>>2]|c[G>>2];h=1;f=i;e=g;break c}case 4:{e=c[a+28748+(k*12|0)+8>>2]|0;while(1){if((e|0)>=16)break;Ah(a,e,0);e=e+1|0}c[n>>2]=e;h=j;f=i;e=g;break c}case 5:{while(1){if(!(c[H>>2]|0)){e=0;break}Vh(a,c[(c[z>>2]|0)+88>>2]|0,0)|0}while(1){if((e|0)==16)break;Ah(a,e,0);e=e+1|0}c[n>>2]=16;e=c[I>>2]|0;c[e+88>>2]=0;c[l>>2]=0;c[m>>2]=1;c[e+92>>2]=1;e=0;while(1){if((e|0)==16)break;c[a+28676+(e<<2)>>2]=-2147483648;e=e+1|0}c[n>>2]=16;h=j;f=i;e=g;break c}default:{h=j;f=i;e=g;break c}}}while(0);k=k+1|0;j=h;g=e}if((y|0)==42){c[u>>2]=132299;c[u+4>>2]=132325;c[u+8>>2]=702;lf(0,0,164242,u);ub()}do if(!j){if(c[H>>2]|0){f=c[z>>2]|0;e=c[I>>2]|0;if((f|0)==(e|0)){M=f+640|0;c[M>>2]=c[M>>2]|c[G>>2];break}}else e=c[I>>2]|0;if(c[e+100>>2]|0){lf(c[b>>2]|0,16,132348,A);d=-1094995529;break}if(Vh(a,c[e+88>>2]|0,0)|0){lf(c[b>>2]|0,16,132461,B);d=-1094995529}e=c[H>>2]|0;if(!e)e=1;else{YW(a+28352|0,z|0,e<<2|0)|0;e=(c[H>>2]|0)+1|0}M=c[I>>2]|0;c[a+28348>>2]=M;c[H>>2]=e;M=M+640|0;c[M>>2]=c[M>>2]|c[G>>2]}while(0);e=c[F>>2]|0;f=c[H>>2]|0;g=c[(c[E>>2]|0)+48>>2]|0;do if((f+e|0)>(((g|0)>1?g:1)|0)){d=c[b>>2]|0;c[C>>2]=e;c[C+4>>2]=f;c[C+8>>2]=g;lf(d,16,132503,C);d=c[H>>2]|0;if((c[F>>2]|0)!=0&(d|0)==0)d=0;else{Vh(a,c[(c[a+28348+(d+-1<<2)>>2]|0)+88>>2]|0,0)|0;d=-1094995529;break}while(1){if((d|0)>=16)break;if(c[a+28476+(d<<2)>>2]|0)break;d=d+1|0}Ah(a,d,0);d=-1094995529}while(0);e=0;while(1){if((e|0)>=(c[H>>2]|0))break;f=c[a+28348+(e<<2)>>2]|0;if(c[f+648>>2]|0?(D=c[f+88>>2]|0,M=c[E>>2]|0,((1<>2])+-1&(c[(c[I>>2]|0)+88>>2]|0)-D|0)>(c[M+48>>2]|0)):0)Vh(a,D,0)|0;e=e+1|0}Xh(a);Yh(a);h=J+4|0;g=0;i=0;f=0;while(1){if((g|0)==256)break;e=c[a+27180+(g<<2)>>2]|0;if(!e)e=i;else{E=c[e+4>>2]|0;M=E+20|0;e=c[(i>>>0>(c[M>>2]|0)>>>0?J:M)>>2]|0;c[J>>2]=e;f=c[(f>>>0>(c[E+24>>2]|0)>>>0?J:M)+4>>2]|0;c[h>>2]=f}g=g+1|0;i=e}if((d|0)>-1?(c[F>>2]|0)==0:0){e=c[G>>2]|0;if((c[H>>2]|0)>=3?!((i|0)<=(((e|0)!=3?2:1)|0)&(f|0)<2):0)break;if(((i|0)<=((((c[a+29580>>2]|0)==0&1)<<1)+((e|0)!=3?3:2)|0)?(K=c[I>>2]|0,(c[(c[K>>2]|0)+88>>2]|0)==1):0)?(M=K+644|0,c[M>>2]=c[M>>2]|1,(c[(c[b>>2]|0)+140>>2]|0)==0):0){M=a+29576|0;c[M>>2]=c[M>>2]|2}}}else{b=a+4|0;lf(c[b>>2]|0,16,132037,L+8|0);d=-1094995529}while(0);$c=L;return (c[(c[b>>2]|0)+580>>2]&8|0?d:0)|0}function Rh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);h=i;e=c[a+12>>2]|0;if((e|0?(f=c[e+4>>2]|0,f|0):0)?(g=f+(d<<2)|0,(c[g>>2]|0)<(b|0)):0){a=a+4+(d<<2)|0;e=c[(c[(c[a>>2]|0)+28>>2]|0)+20>>2]|0;if(c[e+344>>2]|0){a=c[a>>2]|0;c[h>>2]=f;c[h+4>>2]=b;c[h+8>>2]=d;lf(a,48,132012,h)}h=e+184|0;eV(h)|0;c[g>>2]=b;_W(e+60|0)|0;fV(h)|0}$c=i;return}function Sh(a){a=a|0;var b=0,d=0,e=0;b=c[a+29556>>2]|0;do if((b|0)!=0?((c[a+29552>>2]|0)+b|0)>=(c[(c[a+28216>>2]|0)+48>>2]|0):0){e=(c[a+26380>>2]|0)==3;if((!e?(c[a+26384>>2]|0)==0:0)?c[(c[a+24312>>2]|0)+640>>2]|0:0){b=0;break}c[a+28748>>2]=1;d=c[(c[a+28348+(b+-1<<2)>>2]|0)+88>>2]|0;b=a+28752|0;c[b>>2]=d;d=d<<1;if(e)b=1;else{c[b>>2]=d;c[a+28760>>2]=1;c[a+28764>>2]=d|1;b=2}}else b=0;while(0);c[a+29540>>2]=b;return}function Th(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=a+26380|0;a=c[e>>2]|0;c[d>>2]=a;if((c[e>>2]|0)!=3){if(!(b&1))c[d>>2]=a^3;b=b>>1}return b|0}function Uh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);j=l;h=a+29556|0;i=a+4|0;g=0;while(1){if((g|0)>=(c[h>>2]|0)){e=0;break}e=c[a+28348+(g<<2)>>2]|0;f=c[i>>2]|0;if(!(c[f+576>>2]&2048))f=e+88|0;else{m=e+88|0;n=c[m>>2]|0;c[j>>2]=g;c[j+4>>2]=n;c[j+8>>2]=e;lf(f,48,132677,j);f=m}if((c[f>>2]|0)==(b|0)){k=7;break}g=g+1|0}if((k|0)==7)c[d>>2]=g;$c=l;return e|0}function Vh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=h;g=h+8|0;e=c[a+4>>2]|0;if(c[e+576>>2]&2048|0){i=c[a+29556>>2]|0;c[f>>2]=b;c[f+4>>2]=i;lf(e,48,132651,f)}b=Uh(a,b,g)|0;if(b|0?Ch(a,b,d)|0:0)Wh(a,c[g>>2]|0);$c=h;return b|0}function Wh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+28348+(b<<2)|0;c[d>>2]=0;f=a+29556|0;e=(c[f>>2]|0)+-1|0;c[f>>2]=e;if(e|0)YW(d|0,a+28348+(b+1<<2)|0,e-b<<2|0)|0;return}function Xh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);f=g+8|0;e=a+4|0;b=c[e>>2]|0;a:do if(c[b+576>>2]&2048|0){lf(b,48,132633,g);d=a+29556|0;b=0;while(1){if(b>>>0>=(c[d>>2]|0)>>>0)break a;i=c[a+28348+(b<<2)>>2]|0;h=c[e>>2]|0;k=c[i+88>>2]|0;j=c[i+84>>2]|0;i=c[c[i>>2]>>2]|0;c[f>>2]=b;c[f+4>>2]=k;c[f+8>>2]=j;c[f+12>>2]=i;lf(h,48,132613,f);b=b+1|0}}while(0);$c=g;return}function Yh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);f=g+8|0;e=a+4|0;b=c[e>>2]|0;a:do if(c[b+576>>2]&2048|0){lf(b,48,132596,g);b=0;while(1){if((b|0)==16)break a;d=c[a+28476+(b<<2)>>2]|0;if(d|0){h=c[e>>2]|0;j=c[d+88>>2]|0;i=c[d+84>>2]|0;d=c[c[d>>2]>>2]|0;c[f>>2]=b;c[f+4>>2]=j;c[f+8>>2]=i;c[f+12>>2]=d;lf(h,48,132613,f)}b=b+1|0}}while(0);$c=g;return}function Zh(a,b,e,f,g,h,i,j){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);x=C+40|0;A=C+32|0;z=C+24|0;y=C+16|0;k=C;w=C+44|0;v=(g|0)!=0;if((e|0)<=-1){c[k>>2]=159770;c[k+4>>2]=159784;c[k+8>>2]=137;lf(0,0,164242,k);ub()}q=b;r=b+e|0;s=a+4|0;NM(s,a+8|0,(j|0?0:262144)+e|0);a:do if(c[s>>2]|0){c[a+12>>2]=0;t=a+16|0;c[t>>2]=0;u=a+20|0;p=(i|0)==173;l=v?0:e;g=q;b:while(1){e=b+l|0;while(1){i=r-g|0;if(i>>>0<=3){g=0;break a}k=g-q|0;if((k|0)==(l|0)){B=8;break}if((k|0)>(l|0))lf(f,24,152579,y);k=PM(g,e)|0;i=g+(i>>>0>k>>>0?k:i)|0;k=i;g=r-k|0;if(!g)break b;o=k-q|0;n=l-o|0;g=g>>>0>n>>>0?n:g;if((l|0)>(o|0)){o=g;break}else g=i+g|0}if((B|0)==8){B=0;c[w>>2]=0;k=g;g=OM(h,k,i,w,f)|0;k=k+(i>>>0>h>>>0?h:i)|0;if((g|0)<0)break a;else{o=g;l=k-q+g|0}}g=c[u>>2]|0;i=c[t>>2]|0;if((g|0)<=(i|0)){g=g+1|0;i=QM(c[a>>2]|0,g,68)|0;if(!i){g=-12;break a}c[a>>2]=i;e=c[u>>2]|0;ZW(i+(e*68|0)|0,0,(g-e|0)*68|0)|0;e=c[a>>2]|0;m=c[t>>2]|0;c[e+(m*68|0)+56>>2]=1024;n=ah(1024,4)|0;c[e+(m*68|0)+60>>2]=n;if(!n){g=-12;break a}c[u>>2]=g;i=c[t>>2]|0}n=c[a>>2]|0;m=n+(i*68|0)|0;e=k;g=RM(e,o,s,m,j)|0;if((g|0)<0)break a;if(v?(o|0)!=0&(o|0)!=(g|0):0){c[A>>2]=g;c[A+4>>2]=o;lf(f,48,152647,A)}c[t>>2]=(c[t>>2]|0)+1;k=r-k|0;g=e+(k>>>0>g>>>0?g:k)|0;e=g;k=r-e|0;if(k>>>0>3){if((k|0)<4)g=0;else g=VW(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24|0)|0;g=(g|0)!=480&1}else g=1;g=SM(m,g)|0;c[n+(i*68|0)+12>>2]=g;g=TM(n+(i*68|0)+24|0,c[n+(i*68|0)+8>>2]|0,g)|0;if((g|0)<0)break a;if(p)g=UM(m,f)|0;else g=VM(m,f)|0;if((g|0)<1){if((g|0)<0){c[x>>2]=c[n+(i*68|0)+44>>2];lf(f,16,152692,x)}}else if((c[n+(i*68|0)+4>>2]|0)>=1){g=e;continue}c[t>>2]=(c[t>>2]|0)+-1;g=e}if((c[t>>2]|0)>0)g=0;else{lf(f,16,152622,z);g=-1094995529}}else g=-12;while(0);$c=C;return g|0}function _h(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);k=m;h=m+4|0;i=a+25656|0;j=a+25640|0;g=a+4|0;a=0;f=0;b=0;a:while(1){if((f|0)>=(c[i>>2]|0))break;d=c[j>>2]|0;e=d+(f*68|0)+44|0;b:do switch(c[e>>2]|0){case 8:case 7:{a=f;break}case 1:case 5:case 2:{d=gi(h,(c[d+(f*68|0)+8>>2]|0)+1|0,(c[d+(f*68|0)+4>>2]|0)+-1|0)|0;if((d|0)<0){lf(c[g>>2]|0,16,152546,k);if(!(c[(c[g>>2]|0)+580>>2]&8))break b;else{l=12;break a}}d=(b|0)!=0;if(!(d&(IM(h)|0)!=0?(b|0)==(c[e>>2]|0):0))a=f;if(!d)b=c[e>>2]|0;break}default:{}}while(0);f=f+1|0}if((l|0)==12)a=d;$c=m;return a|0}function $h(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=$c;$c=$c+34832|0;if(($c|0)>=(ad|0))N(34832);t=v+34824|0;s=v+34816|0;r=v+34808|0;q=v+34800|0;o=v+34784|0;j=v+34776|0;h=v+34768|0;i=v;m=a+25628|0;e=c[m>>2]|0;u=a+25636|0;g=c[u>>2]|0;f=e+(g*34768|0)|0;if(!g)l=(c[a+29560>>2]|0)==0;else l=0;p=l&1;d=e+(g*34768|0)+4|0;w=b+24|0;c[d>>2]=c[w>>2];c[d+4>>2]=c[w+4>>2];c[d+8>>2]=c[w+8>>2];c[d+12>>2]=c[w+12>>2];c[d+16>>2]=c[w+16>>2];d=jl(a,f,b)|0;a:do if((d|0)>=0){if((c[e+(g*34768|0)+21836>>2]|0)>0){c[e+(g*34768|0)+23408>>2]=0;c[e+(g*34768|0)+23404>>2]=0;d=0;break}d=(c[e+(g*34768|0)+21808>>2]|0)==0;if(!d?(c[a+29560>>2]|0)!=0:0)k=11;else{if(c[a+29588>>2]|0){lf(c[a+4>>2]|0,16,148846,h);d=-1094995529;break}if(d){h=a+29560|0;do if(c[h>>2]|0){if(c[u>>2]|0){d=bi(a)|0;if((d|0)<0?c[(c[a+4>>2]|0)+580>>2]&8|0:0)break a;w=c[m>>2]|0;XW(i|0,w|0,34768)|0;XW(w|0,f|0,34768)|0;XW(f|0,i|0,34768)|0;f=c[m>>2]|0}e=a+24312|0;if(!(c[e>>2]|0)){d=-1094995529;break a}g=a+26384|0;d=(c[g>>2]|0)==0;if((c[a+26380>>2]|0)!=3){if(d){d=-1094995529;break a}d=Lh(a,c[m>>2]|0,1)|0;if((d|0)<0)break a;else{d=g;break}}if(!d){d=-1094995529;break a}if((c[a+27028>>2]|0)!=5){d=-1094995529;break a}lf(a,24,148863,j);d=Lh(a,c[m>>2]|0,1)|0;Rh((c[e>>2]|0)+4|0,2147483647,0);Rh((c[e>>2]|0)+4|0,2147483647,1);c[e>>2]=0;if((d|0)<0)break a;else d=g}else d=a+26384|0;while(0);if(!(c[d>>2]|0)){d=a+24312|0;e=c[d>>2]|0;if(e|0?(c[a+25684>>2]|0)==0:0)Rh(e+4|0,2147483647,(c[a+26380>>2]|0)==2&1);c[d>>2]=0;g=f;d=h}else{g=f;d=h}}else k=11}if((k|0)==11){g=f;d=a+29560|0}f=c[d>>2]|0;e=(f|0)==0;do if(e){if((g|0)!=(c[m>>2]|0)){c[o>>2]=148889;c[o+4>>2]=138046;c[o+8>>2]=2090;lf(0,0,164242,o);ub()}if((c[a+26384>>2]|0)==0?(n=c[(c[a+4>>2]|0)+732>>2]|0,(n|0)>7):0){if(!(c[a+27024>>2]|0)){d=0;break a}if((n|0)>15){if((c[g+840>>2]|0)==3){d=0;break a}if((n|0)>23){if((c[g+840>>2]|0)!=1){d=0;break a}if((n|0)>31)if((c[a+27028>>2]|0)==5)if((n|0)>47){d=0;break a}else break;else if((c[a+29716>>2]|0)<0|(n|0)>47){d=0;break a}else break}}}}while(0);do if(!l){w=c[(c[a+27180+(c[g+27776>>2]<<2)>>2]|0)+4>>2]|0;o=c[a+28212>>2]|0;d=c[o>>2]|0;if((d|0)==(c[w>>2]|0)?(c[o+64>>2]|0)==(c[w+64>>2]|0):0){if((c[a+28216>>2]|0)==(c[(c[a+27052+(d<<2)>>2]|0)+4>>2]|0))break;lf(c[a+4>>2]|0,16,148936,r);d=-1094995529;break a}lf(c[a+4>>2]|0,16,148908,q);d=-1094995529;break a}while(0);do if(e){d=kl(a,g,b,p)|0;if((d|0)<0)break a}else{d=c[a+26380>>2]|0;e=c[g+21824>>2]|0;if((d|0)==(e|0)?(c[a+25684>>2]|0)==((c[b+64>>2]|0)==0|0):0){if(c[a+24312>>2]|0)break;d=c[a+4>>2]|0;c[t>>2]=f+1;lf(d,16,149038,t);d=-1094995529;break a}w=c[a+4>>2]|0;c[s>>2]=d;c[s+4>>2]=e;lf(w,16,148976,s);d=-1094995529;break a}while(0);d=ll(a,g,b)|0;if((d|0)>=0){c[u>>2]=(c[u>>2]|0)+1;d=0}}while(0);$c=v;return d|0}function ai(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);g=h;f=c[(c[a+28>>2]|0)+20>>2]|0;if(c[a+696>>2]&1|0){e=a+592|0;b=c[e>>2]|0;do if(b|0){d=f+336|0;if(!(c[d>>2]|0)){eV((c[f>>2]|0)+36|0)|0;c[d>>2]=1;b=c[e>>2]|0;if(!b)break}if(!(c[b+60>>2]&1)){c[f+340>>2]=1;il(c[f>>2]|0)}}while(0);b=f+184|0;eV(b)|0;d=f+300|0;if((c[d>>2]|0)==4)lf(a,24,148805,g);c[d>>2]=4;_W(f+60|0)|0;fV(b)|0}$c=h;return}function bi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);e=u+16|0;d=u;i=c[a+4>>2]|0;t=a+25636|0;r=c[t>>2]|0;s=a+25628|0;j=c[s>>2]|0;b=j+21812|0;c[b>>2]=2147483647;if((r|0)<1|(c[i+592>>2]|0)!=0)b=0;else{k=r+-1|0;q=a+27008|0;h=c[q>>2]|0;if((c[j+(k*34768|0)+21792>>2]|0)>=(h|0)){c[d>>2]=137977;c[d+4>>2]=138046;c[d+8>>2]=2746;lf(0,0,164242,d);ub()}a:do if((r|0)!=1){if((r|0)<=0){c[e>>2]=138070;c[e+4>>2]=138046;c[e+8>>2]=2758;lf(0,0,164242,e);ub()}p=a+27012|0;b=0;while(1){if((b|0)==(r|0))break;f=c[p>>2]|0;e=H(h,f)|0;c[j+(b*34768|0)+596>>2]=0;g=H(f,c[j+(b*34768|0)+21792>>2]|0)|0;g=g+(c[j+(b*34768|0)+21788>>2]|0)|0;d=0;while(1){if((d|0)==(r|0))break;o=H(f,c[j+(d*34768|0)+21792>>2]|0)|0;o=o+(c[j+(d*34768|0)+21788>>2]|0)|0;o=(b|0)==(d|0)|(o|0)<(g|0)?e:(e|0)>(o|0)?o:e;d=d+1|0;e=o}c[j+(b*34768|0)+21812>>2]=e;b=b+1|0}ld[c[i+704>>2]&7](i,8,j,0,r,34768)|0;e=c[s>>2]|0;c[a+27004>>2]=c[e+(k*34768|0)+21792>>2];d=e+596|0;b=1;while(1){if((b|0)==(r|0))break;c[d>>2]=(c[d>>2]|0)+(c[e+(b*34768|0)+596>>2]|0);b=b+1|0}b=a+25708|0;if(!(c[b>>2]|0))b=0;else{c[b>>2]=0;g=a+26376|0;h=a+26380|0;f=0;while(1){if((f|0)==(r|0)){b=0;break a}o=c[s>>2]|0;i=o+(f*34768|0)|0;j=o+(f*34768|0)+21792|0;m=c[j>>2]|0;l=c[q>>2]|0;k=(m|0)<(l|0)?m+1|0:l;l=c[((m|0)>=(l|0)?p:o+(f*34768|0)+21788|0)>>2]|0;m=o+(f*34768|0)+21804|0;n=k+-1|0;o=o+(f*34768|0)+21800|0;e=c[m>>2]|0;while(1){if((e|0)>=(k|0))break;c[j>>2]=e;if((e|0)>(c[m>>2]|0))b=0;else b=c[o>>2]|0;if((e|0)==(n|0))d=l;else d=c[p>>2]|0;yj(a,i,b,d);if((c[g>>2]|0)==0?(c[h>>2]|0)==3:0)b=1;else b=2;e=b+e|0}f=f+1|0}}}else{c[b>>2]=H(c[a+27012>>2]|0,h)|0;c[a+25708>>2]=0;b=xj(i,j)|0;c[a+27004>>2]=c[(c[s>>2]|0)+21792>>2]}while(0);c[t>>2]=0}$c=u;return b|0}function ci(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=e;c[f>>2]=d;Ki(1,a,b,f);$c=e;return}function di(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);s=u+16|0;r=u;l=a+36|0;m=a+40|0;n=a+44|0;o=a+176|0;p=a+208|0;q=a+224|0;k=a+240|0;i=0;a:while(1){if((_i(b)|0)<=16){f=i;break}if(!($i(b,16)|0)){f=i;break}else h=0;while(1){if((_i(b)|0)<8){f=-1094995529;break a}h=($i(b,8)|0)+h|0;if((aj(b,8)|0)!=255){g=0;break}}do{if((_i(b)|0)<8){f=-1094995529;break a}g=($i(b,8)|0)+g|0}while((aj(b,8)|0)==255);f=_i(b)|0;if(g>>>0>((f|0)/8|0)>>>0){t=9;break}j=(bj(b)|0)+(g<<3)|0;do switch(h|0){case 1:{f=cj(a,b,d,e)|0;t=21;break}case 4:{f=dj(a,b,g)|0;t=21;break}case 5:{f=ej(l,b,g)|0;t=21;break}case 6:{fj(m,b);f=i;break}case 0:{f=gj(n,b,d,e)|0;t=21;break}case 45:{hj(o,b);f=i;break}case 47:{ij(p,b);f=i;break}case 56:{jj(q,b);f=i;break}case 147:{kj(k,b);f=i;break}default:{c[s>>2]=h;lf(e,48,137795,s);f=i}}while(0);if((t|0)==21){t=0;g=(f|0)<0;if(g&(f|0)!=-1397768184)break;else f=g?f:i}lj(b,j-(bj(b)|0)|0);mj(b);i=f}if((t|0)==9){c[r>>2]=h;c[r+4>>2]=g<<3;c[r+8>>2]=f;lf(e,16,137758,r);f=-1094995529}$c=u;return f|0}function ei(b,f){b=b|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0;n=$c;$c=$c+96|0;if(($c|0)>=(ad|0))N(96);j=n+80|0;i=n+72|0;h=n+40|0;m=n+32|0;l=n+24|0;k=n+16|0;o=n+8|0;lf(f,48,137503,n);c[o>>2]=d[b>>0];lf(f,48,137536,o);switch(a[b>>0]|0){case 0:{o=b+1|0;c[k>>2]=d[o>>0];lf(f,48,137563,k);switch(a[o>>0]|0){case 2:{c[l>>2]=e[b+2>>1];lf(f,48,137597,l);break}case 3:{c[m>>2]=e[b+4>>1];lf(f,48,137631,m);break}default:{}}r=+(d[b+7>>0]|0)/255.0;q=+(d[b+8>>0]|0)/255.0;p=+(d[b+9>>0]|0)/255.0;g[h>>3]=+(d[b+6>>0]|0)/255.0;g[h+8>>3]=r;g[h+16>>3]=q;g[h+24>>3]=p;lf(f,48,137666,h);break}case 1:{o=b+10|0;c[i>>2]=d[o>>0];lf(f,48,137711,i);if(!(a[o>>0]|0)){g[j>>3]=+(e[b+12>>1]|0)/100.0;lf(f,48,137734,j)}break}default:{}}$c=n;return}function fi(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0;Q=$c;$c=$c+240|0;if(($c|0)>=(ad|0))N(240);K=Q+152|0;G=Q+144|0;F=Q+120|0;D=Q+104|0;B=Q+96|0;y=Q+88|0;x=Q+80|0;u=Q+72|0;w=Q+64|0;v=Q+56|0;t=Q+48|0;r=Q+40|0;s=Q+32|0;q=Q+24|0;p=Q+16|0;o=Q+8|0;j=Q;L=Q+228|0;M=Mg(5300)|0;c[L>>2]=M;O=M;a:do if(!M)g=-12;else{P=M+4|0;J=c[P>>2]|0;h=c[a>>2]|0;g=(c[a+4>>2]|0)-h|0;i=J+5296|0;c[i>>2]=g;if(g>>>0>4096){lf(d,48,136644,j);c[i>>2]=4096;h=c[a>>2]|0;g=4096}XW(J+1200|0,h|0,g|0)|0;n=zi(a,8)|0;g=yi(a)|0;h=yi(a)|0;i=yi(a)|0;j=yi(a)|0;k=yi(a)|0;l=yi(a)|0;Mi(a);m=zi(a,8)|0;I=wi(a)|0;b:do if(I>>>0>31){c[o>>2]=I;lf(d,16,135731,o)}else{c[J>>2]=I;c[J+1164>>2]=24;E=J+4|0;c[E>>2]=n;c[J+1196>>2]=h<<1|g|i<<2|j<<3|k<<4|l<<5;C=J+8|0;c[C>>2]=m;c[J+112>>2]=-1;i=J+672|0;j=J+768|0;k=J+668|0;ZW(i|0,16,480)|0;c[k>>2]=0;c[J+128>>2]=2;switch(n|0){case 144:case 138:case 128:case 118:case 86:case 83:case 44:case 244:case 122:case 110:case 100:{g=wi(a)|0;c[J+12>>2]=g;if(g>>>0>3){c[p>>2]=g;ci(d,136677,p);break b}if((g|0)==3?(z=yi(a)|0,c[J+1192>>2]=z,z|0):0){lf(d,16,136698,q);break b}z=J+1184|0;c[z>>2]=(vi(a)|0)+8;g=vi(a)|0;h=g+8|0;c[J+1188>>2]=h;if((h|0)!=(c[z>>2]|0)){ci(d,136739,s);break b}if(g>>>0>6){c[r>>2]=h;c[r+4>>2]=h;lf(d,16,136775,r);break b}c[J+16>>2]=yi(a)|0;g=Di(a,J,0,1,i,j)|0;if((g|0)<0)break b;c[k>>2]=c[k>>2]|g;break}default:{c[J+12>>2]=1;c[J+1184>>2]=8;c[J+1188>>2]=8}}g=vi(a)|0;if(g>>>0>12){c[t>>2]=g;lf(d,16,136809,t);break}c[J+20>>2]=g+4;g=wi(a)|0;t=J+24|0;c[t>>2]=g;c:do switch(g|0){case 0:{g=vi(a)|0;if(g>>>0>12){c[v>>2]=g;lf(d,16,136860,v);break b}else{c[J+28>>2]=g+4;break c}}case 1:{c[J+32>>2]=yi(a)|0;c[J+36>>2]=Ai(a)|0;c[J+40>>2]=Ai(a)|0;g=vi(a)|0;i=J+44|0;c[i>>2]=g;if(g>>>0>255){c[w>>2]=g;lf(d,16,136899,w);break b}else h=0;while(1){if((h|0)>=(g|0))break c;b[J+148+(h<<1)>>1]=Ai(a)|0;h=h+1|0;g=c[i>>2]|0}}case 2:break;default:{c[u>>2]=g;lf(d,16,136929,u);break b}}while(0);g=wi(a)|0;r=J+48|0;c[r>>2]=g;w=(c[d+20>>2]|0)==844516691;z=(g|0)>2?g:2;c[r>>2]=w?z:g;g=w?z:g;if((g|0)>16){c[x>>2]=g;lf(d,16,136950,x);break}c[J+52>>2]=yi(a)|0;q=J+56|0;c[q>>2]=(vi(a)|0)+1;s=J+60|0;c[s>>2]=(vi(a)|0)+1;g=yi(a)|0;z=J+64|0;c[z>>2]=g;h=c[s>>2]|0;if(h>>>0>1073741822){lf(d,16,136980,y);break}c[s>>2]=H(h,2-g|0)|0;if(!g)g=yi(a)|0;else g=0;p=J+68|0;c[p>>2]=g;g=c[q>>2]|0;if((g>>>0<=134217726?(A=c[s>>2]|0,A>>>0<=134217726):0)?(mh(g<<4,A<<4,0,d)|0)==0:0){o=J+72|0;c[o>>2]=yi(a)|0;B=yi(a)|0;g=J+76|0;c[g>>2]=B;d:do if(!B){c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0}else{i=vi(a)|0;j=vi(a)|0;k=vi(a)|0;l=vi(a)|0;m=c[q>>2]<<4;n=c[s>>2]<<4;if(c[d+64>>2]&65536|0){c[D>>2]=i;c[D+4>>2]=j;c[D+8>>2]=k;c[D+12>>2]=l;lf(d,48,137023,D);F=J+80|0;c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;c[F+12>>2]=0;break}h=c[J+12>>2]|0;g=(h+-1|0)>>>0<2&1;h=2-(c[z>>2]|0)<<((h|0)==1&1);D=536870911>>>g;do if((!(i>>>0>D>>>0|j>>>0>D>>>0)?(D=536870911/(h>>>0)|0,!(k>>>0>D>>>0|l>>>0>D>>>0)):0)?j+i<>>0>>0:0){if((H(h,l+k|0)|0)>>>0>=n>>>0)break;c[J+80>>2]=i<>2]=j<>2]=H(h,k)|0;c[J+92>>2]=H(h,l)|0;break d}while(0);c[F>>2]=i;c[F+4>>2]=j;c[F+8>>2]=k;c[F+12>>2]=l;c[F+16>>2]=m;c[F+20>>2]=n;lf(d,16,137089,F);break b}while(0);F=yi(a)|0;i=J+96|0;c[i>>2]=F;if(F|0?(Ni(a,d,J)|0)<0:0)break;g=Oi(a)|0;if((g|0)<0?(f=(f|0)!=0,c[G>>2]=c[i>>2]|0?137130:152873,c[G+4>>2]=0-g,lf(d,f?24:16,137134,G),!f):0)break;y=(c[J+660>>2]|0)==0;e:do if(y){if((c[r>>2]|0)==0?(c[d+568>>2]|0)<=0:0)break;h=J+664|0;c[h>>2]=15;g=0;while(1){if(g>>>0>=16)break e;if((c[72176+(g<<3)>>2]|0)==(c[C>>2]|0))break;g=g+1|0}G=(c[72176+(g<<3)+4>>2]|0)/(H(c[s>>2]|0,c[q>>2]|0)|0)|0;c[h>>2]=(G|0)<15?G:15}while(0);g=J+104|0;if(!(c[g>>2]|0))c[g>>2]=1;if(c[d+576>>2]&1|0){x=c[E>>2]|0;w=c[C>>2]|0;v=c[t>>2]|0;u=c[r>>2]|0;t=c[q>>2]|0;s=c[s>>2]|0;if(!(c[z>>2]|0))r=c[p>>2]|0?137158:137165;else r=137173;m=c[o>>2]|0?137177:262104;n=c[J+80>>2]|0;o=c[J+84>>2]|0;p=c[J+88>>2]|0;q=c[J+92>>2]|0;h=c[i>>2]|0?137130:262104;i=137181+((c[J+12>>2]|0)*5|0)|0;if(!(c[J+132>>2]|0)){k=0;l=0}else{k=c[J+136>>2]|0;l=c[J+140>>2]|0}j=c[J+1184>>2]|0;if(y)g=-1;else g=c[J+664>>2]|0;c[K>>2]=I;c[K+4>>2]=x;c[K+8>>2]=w;c[K+12>>2]=v;c[K+16>>2]=u;c[K+20>>2]=t;c[K+24>>2]=s;c[K+28>>2]=r;c[K+32>>2]=m;c[K+36>>2]=n;c[K+40>>2]=o;c[K+44>>2]=p;c[K+48>>2]=q;c[K+52>>2]=h;c[K+56>>2]=i;c[K+60>>2]=k;c[K+64>>2]=l;c[K+68>>2]=j;c[K+72>>2]=g;lf(d,48,137201,K)}g=e+(I<<2)|0;h=c[g>>2]|0;do if(h|0){if(qT(c[h+4>>2]|0,c[P>>2]|0,c[M+8>>2]|0)|0)break;Sf(L);g=0;break a}while(0);Pi(e,I);c[g>>2]=O;g=0;break a}lf(d,16,136997,B)}while(0);Sf(L);g=-1094995529}while(0);$c=Q;return g|0}function gi(a,b,c){a=a|0;b=b|0;c=c|0;return Li(a,b,c>>>0>268435455?-8:c<<3)|0}function hi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=$c;$c=$c+128|0;if(($c|0)>=(ad|0))N(128);C=D+56|0;o=D+48|0;n=D+40|0;l=D+32|0;m=D+24|0;k=D+16|0;i=D+8|0;f=D;x=D+116|0;B=vi(a)|0;a:do if(B>>>0<=255){f=Mg(173836)|0;c[x>>2]=f;A=f;if(!f)f=-12;else{z=c[f+4>>2]|0;g=c[a>>2]|0;f=(c[a+4>>2]|0)-g|0;h=z+4824|0;c[h>>2]=f;if(f>>>0>4096){c[i>>2]=f;c[i+4>>2]=4096;lf(b,48,135686,i);c[h>>2]=4096;g=c[a>>2]|0;f=4096}XW(z+728|0,g|0,f|0)|0;f=wi(a)|0;c[z>>2]=f;b:do if(f>>>0<=31?(j=c[d+(f<<2)>>2]|0,(j|0)!=0):0){v=c[j+4>>2]|0;w=v+1184|0;f=c[w>>2]|0;if((f|0)>14){c[m>>2]=f;lf(b,16,135755,m);f=-1094995529;break}switch(f|0){case 13:case 11:{c[l>>2]=f;xi(b,135782,l);f=-1163346256;break b}default:{}}t=z+4|0;c[t>>2]=yi(a)|0;c[z+8>>2]=yi(a)|0;s=vi(a)|0;u=z+12|0;c[u>>2]=s+1;if((s|0)>0){c[z+16>>2]=vi(a)|0;lf(b,16,135814,n)}r=z+20|0;c[r>>2]=(vi(a)|0)+1;q=vi(a)|0;s=z+24|0;c[s>>2]=q+1;if(((c[r>>2]|0)+-1|q)>>>0>31){lf(b,16,135833,o);f=-1094995529;break}q=(c[w>>2]|0)*6|0;k=z+28|0;c[k>>2]=yi(a)|0;c[z+32>>2]=zi(a,2)|0;q=q+-22|0;l=z+36|0;c[l>>2]=q+(Ai(a)|0);m=z+40|0;c[m>>2]=q+(Ai(a)|0);q=Ai(a)|0;j=z+44|0;c[j>>2]=q;if((q+12|0)>>>0>24)f=-1094995529;else{n=z+52|0;c[n>>2]=yi(a)|0;o=z+56|0;c[o>>2]=yi(a)|0;p=z+60|0;c[p>>2]=yi(a)|0;q=z+64|0;c[q>>2]=0;i=z+68|0;f=i;g=v+672|0;h=f+96|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));f=z+164|0;XW(f|0,v+768|0,384)|0;if((Bi(a)|0)<(e|0)?(Ci(v,b)|0)!=0:0){c[q>>2]=yi(a)|0;f=Di(a,v,z,0,i,f)|0;if((f|0)<0)break;a=Ai(a)|0;h=z+48|0;c[h>>2]=a;if((a+12|0)>>>0>24){f=-1094995529;break}f=c[j>>2]|0}else{f=c[j>>2]|0;h=z+48|0;c[h>>2]=f}Ei(z,0,f,c[w>>2]|0);Ei(z,1,c[h>>2]|0,c[w>>2]|0);Fi(z,v);g=c[j>>2]|0;f=c[h>>2]|0;if((g|0)!=(f|0))c[z+724>>2]=1;if(c[b+576>>2]&1|0){h=c[z>>2]|0;i=c[t>>2]|0?135859:135865;j=c[u>>2]|0;t=c[r>>2]|0;u=c[s>>2]|0;v=c[k>>2]|0?135871:262104;w=c[l>>2]|0;e=c[m>>2]|0;a=c[n>>2]|0?135880:262104;x=c[o>>2]|0?135885:262104;y=c[p>>2]|0?135892:262104;z=c[q>>2]|0?135897:262104;c[C>>2]=B;c[C+4>>2]=h;c[C+8>>2]=i;c[C+12>>2]=j;c[C+16>>2]=t;c[C+20>>2]=u;c[C+24>>2]=v;c[C+28>>2]=w;c[C+32>>2]=e;c[C+36>>2]=g;c[C+40>>2]=f;c[C+44>>2]=a;c[C+48>>2]=x;c[C+52>>2]=y;c[C+56>>2]=z;lf(b,48,135904,C)}Gi(d,B);c[d+128+(B<<2)>>2]=A;f=0;break a}}else y=8;while(0);if((y|0)==8){c[k>>2]=f;lf(b,16,135731,k);f=-1094995529}Sf(x)}}else{c[f>>2]=B;lf(b,16,155379,f);f=-1094995529}while(0);$c=D;return f|0}function ii(a,b){a=a|0;b=b|0;var d=0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;c[a+28>>2]=0;if(b|0){c[a>>2]=c[b>>2];c[a+4>>2]=b+4;d=0;while(1){if((d|0)==2)break;c[a+8+(d<<2)>>2]=c[b+36+(d<<2)>>2];c[a+16+(d<<2)>>2]=c[b+68+(d<<2)>>2];d=d+1|0}c[a+24>>2]=c[b+48>>2];c[a+28>>2]=c[b+636>>2]}return}function ji(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=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;Z=$c;$c=$c+80|0;if(($c|0)>=(ad|0))N(80);B=Z+64|0;t=Z+48|0;s=Z+40|0;r=Z+32|0;q=Z+24|0;p=Z+16|0;m=Z+8|0;l=Z;R=f+568|0;n=c[R>>2]|0;U=f+560|0;o=c[U>>2]|0;a:do if((((c[(c[f>>2]|0)+572>>2]|0?(k=f+572|0,c[k>>2]|0):0)?(c[(c[f>>2]|0)+680>>2]|0)==0:0)?ki(f)|0:0)?(T=f+556|0,j=c[T>>2]|0,h=c[f>>2]|0,(c[k>>2]|0)!=(H(j*3|0,(c[h+272>>2]|0)+(c[h+268>>2]|0)|0)|0)):0){g=f+672|0;C=c[g>>2]|0;V=C+32|0;Y=f+580|0;W=f+564|0;i=0;while(1){if((i|0)>=(j|0))break;if((a[(c[Y>>2]|0)+((H((c[U>>2]|0)+-1|0,c[W>>2]|0)|0)+i)>>0]|0)!=127)break;i=i+1|0}if(((i|0)==(j|0)?(c[h+16>>2]|0)==2:0)?((c[h+96>>2]|0)+15&16|0)!=0:0){h=c[f>>2]|0;if((c[k>>2]|0)==(H((c[T>>2]|0)*3|0,(c[h+268>>2]|0)+1+(c[h+272>>2]|0)|0)|0)){lf(h,48,132973,l);break}}A=f+704|0;i=c[A>>2]|0;do if(i|0){P=c[g>>2]|0;if(((c[i+68>>2]|0)==(c[P+68>>2]|0)?(c[i+72>>2]|0)==(c[P+72>>2]|0):0)?(c[i+80>>2]|0)==(c[P+80>>2]|0):0)break;lf(h,24,133002,m);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[A+12>>2]=0;c[A+16>>2]=0;c[A+20>>2]=0;c[A+24>>2]=0;c[A+28>>2]=0}while(0);z=f+736|0;h=c[z>>2]|0;do if(h|0){P=c[g>>2]|0;if(((c[h+68>>2]|0)==(c[P+68>>2]|0)?(c[h+72>>2]|0)==(c[P+72>>2]|0):0)?(c[h+80>>2]|0)==(c[P+80>>2]|0):0)break;lf(c[f>>2]|0,24,133052,p);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;c[z+12>>2]=0;c[z+16>>2]=0;c[z+20>>2]=0;c[z+24>>2]=0;c[z+28>>2]=0}while(0);if(!((c[f+680>>2]|0)!=0?(c[f+688>>2]|0)!=0:0))S=27;b:do if((S|0)==27){lf(c[f>>2]|0,16,133098,q);i=(H(n<<3,o)|0)+16|0;h=0;while(1){if((h|0)>=2)break b;k=f+768+(h<<2)|0;c[k>>2]=Mg(H(c[W>>2]<<2,c[U>>2]|0)|0)|0;j=Mg(i)|0;c[f+776+(h<<2)>>2]=j;k=c[k>>2]|0;if((j|0)==0|(k|0)==0){g=0;break}c[f+688+(h<<2)>>2]=c[k+4>>2];c[f+680+(h<<2)>>2]=(c[j+4>>2]|0)+16;h=h+1|0}while(1){if((g|0)==2)break a;Sf(f+768+(g<<2)|0);Sf(f+776+(g<<2)|0);c[f+688+(g<<2)>>2]=0;c[f+680+(g<<2)>>2]=0;g=g+1|0}}while(0);c:do if(c[(c[f>>2]|0)+576>>2]&1024|0){h=0;while(1){if((h|0)<(c[U>>2]|0))i=0;else break c;while(1){if((i|0)>=(c[T>>2]|0))break;O=d[(c[Y>>2]|0)+((H(c[W>>2]|0,h)|0)+i)>>0]|0;P=c[f>>2]|0;c[r>>2]=O;lf(P,48,133125,r);i=i+1|0}lf(c[f>>2]|0,48,133130,s);h=h+1|0}}while(0);O=f+552|0;P=f+548|0;l=1;while(1){if((l|0)==4)break;n=9<>2]|0;while(1){m=h+-1|0;if((h|0)<=0)break;j=(c[Y>>2]|0)+(c[(c[P>>2]|0)+(m<<2)>>2]|0)|0;k=d[j>>0]|0;h=(n&k|0)==0?i:1;if(!h)a[j>>0]=o|k;i=(k&1|0)==0?h:0;h=m}l=l+1|0}M=f+792|0;d:do if(c[M>>2]|0){i=0;h=c[O>>2]|0;while(1){m=h+-1|0;if((h|0)<=0)break d;j=(c[Y>>2]|0)+(c[(c[P>>2]|0)+(m<<2)>>2]|0)|0;k=a[j>>0]|0;l=k&255;h=(l&98|0)==0?((l&16|0)==0?i:0):1;if(!h)a[j>>0]=k|2;i=(l&1|0)==0?h:0;h=m}}while(0);e:do if(c[(c[f>>2]|0)+580>>2]&8|0){h=1;l=(c[O>>2]|0)+-2|0;while(1){if((l|0)<((c[T>>2]|0)+100|0))break e;L=c[P>>2]|0;K=c[Y>>2]|0;i=K+(c[L+(l<<2)>>2]|0)|0;j=a[i>>0]|0;k=j&255;h=(k&1|0)==0?h:1;if(j<<24>>24!=127?(a[K+(c[L+(l+1<<2)>>2]|0)>>0]|0)==127:0){if((k&112|0)!=0|(h|0)==0)S=60}else if(!h)S=60;if((S|0)==60){S=0;a[i>>0]=j|14;h=0}l=l+-1|0}}while(0);L=f+600|0;h=9999999;l=1;while(1){if((l|0)==4){h=0;l=0;break}m=1<>2]|0;while(1){k=i+-1|0;if((i|0)<=0)break;K=c[(c[P>>2]|0)+(k<<2)>>2]|0;i=(c[Y>>2]|0)+K|0;j=d[i>>0]|0;J=c[L>>2]|0;if(!((J|0)!=0?(a[J+K>>0]|0)!=0:0))h=h+1|0;h=(m&j|0)==0?h:0;do if(!(c[M>>2]|0)){if((h|0)>=50)break;a[i>>0]=m|j}else{if((h|0)>=(c[n>>2]|0))break;a[i>>0]=m|j}while(0);h=(j&1|0)==0?h:9999999;i=k}l=l+1|0}while(1){j=c[O>>2]|0;if((l|0)>=(j|0))break;i=(c[Y>>2]|0)+(c[(c[P>>2]|0)+(l<<2)>>2]|0)|0;j=d[i>>0]|0;k=j&14;if(!(j&1)){a[i>>0]=h|j;h=k|h}else h=k;l=l+1|0}f:do if(!(c[M>>2]|0)){i=0;h=j;while(1){if((i|0)>=(h|0))break f;h=(c[Y>>2]|0)+(c[(c[P>>2]|0)+(i<<2)>>2]|0)|0;K=d[h>>0]|0;a[h>>0]=(K&14|0)==0?K:K|14;i=i+1|0;h=c[O>>2]|0}}else h=j;while(0);i=0;j=0;k=0;l=0;while(1){if((l|0)>=(h|0))break;K=d[(c[Y>>2]|0)+(c[(c[P>>2]|0)+(l<<2)>>2]|0)>>0]|0;i=(K>>>2&1)+i|0;j=(K>>>3&1)+j|0;k=(K>>>1&1)+k|0;l=l+1|0}K=c[f>>2]|0;J=(li(c[(c[g>>2]|0)+88>>2]|0)|0)<<24>>24;c[t>>2]=i;c[t+4>>2]=k;c[t+8>>2]=j;c[t+12>>2]=J;lf(K,32,133132,t);j=(mi(f)|0)!=0;j=j?1:12296;K=f+696|0;i=0;while(1){h=c[O>>2]|0;if((i|0)>=(h|0))break;h=c[(c[P>>2]|0)+(i<<2)>>2]|0;if((a[(c[Y>>2]|0)+h>>0]&12)==12)c[(c[K>>2]|0)+(h<<2)>>2]=j;i=i+1|0}J=c[A>>2]|0;if(!((J|0)!=0?(c[J>>2]|0)!=0:0))S=92;g:do if((S|0)==92){J=c[z>>2]|0;if((J|0)!=0?(c[J>>2]|0)!=0:0)break;else j=0;while(1){if((j|0)>=(h|0))break g;i=(c[K>>2]|0)+(c[(c[P>>2]|0)+(j<<2)>>2]<<2)|0;if(!(c[i>>2]&7)){c[i>>2]=1;h=c[O>>2]|0}j=j+1|0}}while(0);u=f+608|0;v=f+612|0;w=f+800|0;x=f+804|0;y=f+608|0;p=0;while(1){h=c[U>>2]|0;if((p|0)>=(h|0))break;o=p<<1;n=0;while(1){if((n|0)>=(c[T>>2]|0))break;i=(H(c[W>>2]|0,p)|0)+n|0;j=c[(c[K>>2]|0)+(i<<2)>>2]|0;h=c[A>>2]|0;if(!h)h=0;else h=(c[h>>2]|0)!=0;k=(h^1)&1;m=h?1:2;J=d[(c[Y>>2]|0)+i>>0]|0;if(!((J&2|0)==0|(J&8|j&7|0)!=0)){h:do if(!(j&64)){J=f+680+(k<<2)|0;h=(H(c[R>>2]|0,o)|0)+(n<<1)|0;c[u>>2]=b[(c[J>>2]|0)+(h<<2)>>1];c[v>>2]=b[(c[J>>2]|0)+(h<<2)+2>>1];h=0}else{j=c[R>>2]|0;l=(H(j,p)|0)+n<<1;i=f+680+(k<<2)|0;h=0;while(1){if((h|0)==4){h=1;break h}I=h&1|l;G=h>>1;c[f+608+(h<<3)>>2]=b[(c[i>>2]|0)+((H(j,G)|0)+I<<2)>>1];J=c[R>>2]|0;c[f+608+(h<<3)+4>>2]=b[(c[i>>2]|0)+((H(J,G)|0)+I<<2)+2>>1];h=h+1|0;j=J}}while(0);ud[c[w>>2]&1](c[x>>2]|0,0,m,h,y,n,p,0,0)}n=n+1|0}p=p+1|0}i:do if((c[(c[g>>2]|0)+88>>2]|0)==3){o=f+784|0;p=f+640|0;q=f+644|0;r=f+786|0;s=f+740|0;t=f+744|0;n=0;j:while(1){if((n|0)>=(h|0)){Q=h;break i}m=n<<1;l=0;while(1){if((l|0)>=(c[T>>2]|0))break;k=(H(m,c[R>>2]|0)|0)+(l<<1)|0;J=(H(c[W>>2]|0,n)|0)+l|0;if(!((a[(c[Y>>2]|0)+J>>0]&10)!=10?1:(c[(c[K>>2]|0)+(J<<2)>>2]&7|0)!=0)){J=c[A>>2]|0;if((J|0)!=0?(c[J>>2]|0)!=0:0)h=3;else h=2;J=c[z>>2]|0;if(!((J|0)!=0?(c[J>>2]|0)!=0:0))h=h&1;i=b[o>>1]|0;if(!(i<<16>>16)){c[u>>2]=0;c[v>>2]=0;c[p>>2]=0;i=0}else{i=i&65535;j=e[r>>1]|0;if((c[(c[f>>2]|0)+16>>2]|0)==27)break j;ni(c[s>>2]|0,n,0);J=c[t>>2]|0;G=b[J+(k<<2)>>1]|0;c[u>>2]=(H(G,j)|0)/(i|0)|0;J=b[J+(k<<2)+2>>1]|0;c[v>>2]=(H(J,j)|0)/(i|0)|0;I=j-i|0;c[p>>2]=(H(I,G)|0)/(i|0)|0;i=(H(I,J)|0)/(i|0)|0}c[q>>2]=i;ud[c[w>>2]&1](c[x>>2]|0,0,h,0,y,l,n,0,0)}l=l+1|0}n=n+1|0;h=c[U>>2]|0}c[B>>2]=133183;c[B+4>>2]=133222;c[B+8>>2]=1212;lf(0,0,164242,B);ub()}else{oi(f);Q=c[U>>2]|0}while(0);J=C+36|0;I=C+40|0;z=f+588|0;A=f+592|0;B=f+596|0;x=0;while(1){if((x|0)>=(Q|0))break;C=x<<4;D=x<<3;y=0;while(1){if((y|0)>=(c[T>>2]|0))break;E=(H(c[W>>2]|0,x)|0)+y|0;if(!((c[(c[K>>2]|0)+(E<<2)>>2]&7|0)!=0?(c[M>>2]|0)!=0:0))S=140;do if((S|0)==140){S=0;w=c[g>>2]|0;l=c[V>>2]|0;m=(c[w>>2]|0)+(y<<4)+(H(C,l)|0)|0;n=c[w+4>>2]|0;u=y<<3;F=c[J>>2]|0;o=H(F,D)|0;w=c[w+8>>2]|0;G=c[I>>2]|0;v=H(G,D)|0;p=c[R>>2]|0;q=(c[z>>2]|0)+((H(p,x)|0)+y<<1<<1)|0;j=0;while(1){if((j|0)==4)break;r=j<<3&8;s=j>>>1<<3;k=0;h=0;while(1){if((k|0)==8)break;t=H(l,k+s|0)|0;i=0;while(1){if((i|0)==8)break;_=h+(d[m+(i+r+t)>>0]|0)|0;i=i+1|0;h=_}k=k+1|0}b[q+((H(p,j>>1)|0)+(j&1)<<1)>>1]=(h+4|0)>>>3;j=j+1|0}o=n+u+o|0;n=w+u+v|0;if(!w)break;else{h=0;i=0;k=0}while(1){if((k|0)==8)break;l=H(F,k)|0;m=H(G,k)|0;j=0;while(1){if((j|0)==8)break;_=i+(d[o+(l+j)>>0]|0)|0;w=h+(d[n+(m+j)>>0]|0)|0;j=j+1|0;h=w;i=_}k=k+1|0}b[(c[A>>2]|0)+(E<<1)>>1]=(i+4|0)>>>3;b[(c[B>>2]|0)+(E<<1)>>1]=(h+4|0)>>>3}while(0);y=y+1|0}x=x+1|0}pi(f,c[z>>2]|0,c[T>>2]<<1,Q<<1,c[R>>2]|0,1);pi(f,c[A>>2]|0,c[T>>2]|0,c[U>>2]|0,c[W>>2]|0,0);pi(f,c[B>>2]|0,c[T>>2]|0,c[U>>2]|0,c[W>>2]|0,0);qi(c[z>>2]|0,c[T>>2]<<1,c[U>>2]<<1,c[R>>2]|0);l=0;while(1){h=c[U>>2]|0;if((l|0)>=(h|0))break;i=l<<4;j=l<<3;h=0;while(1){if((h|0)>=(c[T>>2]|0))break;k=(H(c[W>>2]|0,l)|0)+h|0;do if(!(c[(c[K>>2]|0)+(k<<2)>>2]&120)){if(!(a[(c[Y>>2]|0)+k>>0]&2))break;S=c[g>>2]|0;Q=(c[S>>2]|0)+(h<<4)+(H(i,c[V>>2]|0)|0)|0;_=h<<3;R=(c[S+4>>2]|0)+_+(H(c[J>>2]|0,j)|0)|0;S=c[S+8>>2]|0;_=S+_+(H(c[I>>2]|0,j)|0)|0;S=(S|0)==0;ri(f,Q,S?0:R,S?0:_,h,l)}while(0);h=h+1|0}l=l+1|0}if(c[(c[f>>2]|0)+572>>2]&2|0?(si(f,c[c[g>>2]>>2]|0,c[T>>2]<<1,h<<1,c[V>>2]|0,1),ti(f,c[c[g>>2]>>2]|0,c[T>>2]<<1,c[U>>2]<<1,c[V>>2]|0,1),X=c[g>>2]|0,c[X+8>>2]|0):0){si(f,c[X+4>>2]|0,c[T>>2]|0,c[U>>2]|0,c[J>>2]|0,0);si(f,c[(c[g>>2]|0)+8>>2]|0,c[T>>2]|0,c[U>>2]|0,c[I>>2]|0,0);ti(f,c[(c[g>>2]|0)+4>>2]|0,c[T>>2]|0,c[U>>2]|0,c[J>>2]|0,0);ti(f,c[(c[g>>2]|0)+8>>2]|0,c[T>>2]|0,c[U>>2]|0,c[I>>2]|0,0)}j=f+604|0;i=0;while(1){if((i|0)>=(c[O>>2]|0)){h=0;break}k=c[(c[P>>2]|0)+(i<<2)>>2]|0;h=c[L>>2]|0;do if(h|0){if((a[(c[Y>>2]|0)+k>>0]&14)==0?1:(c[(c[g>>2]|0)+88>>2]|0)==3)break;a[h+k>>0]=0}while(0);h=c[j>>2]|0;if(h|0)a[h+k>>0]=1;i=i+1|0}while(1){if((h|0)==2)break;Sf(f+768+(h<<2)|0);Sf(f+776+(h<<2)|0);c[f+688+(h<<2)>>2]=0;c[f+680+(h<<2)>>2]=0;h=h+1|0}h=g+96|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0))}while(0);$c=Z;return}function ki(a){a=a|0;var b=0,d=0;d=c[(c[a>>2]|0)+592>>2]|0;if(!((d|0)!=0?(c[d+32>>2]|0)!=0:0))b=3;if((b|0)==3?c[a+672>>2]|0:0)return (c[a+700>>2]|0)==0|0;return 0}function li(a){a=a|0;switch(a|0){case 1:{a=73;break}case 2:{a=80;break}case 3:{a=66;break}case 4:{a=83;break}case 5:{a=105;break}case 6:{a=112;break}case 7:{a=98;break}default:a=63}return a|0}function mi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=b+704|0;v=c[u>>2]|0;if((v|0)!=0?(c[v>>2]|0)!=0:0)if(!(c[(c[b>>2]|0)+572>>2]&256)){f=c[b+552>>2]|0;g=b+548|0;v=b+580|0;d=0;e=0;while(1){if((d|0)>=(f|0))break;t=e+((a[(c[v>>2]|0)+(c[(c[g>>2]|0)+(d<<2)>>2]|0)>>0]&12)!=12&1)|0;d=d+1|0;e=t}if((e|0)>=5){l=(e|0)>99?(e>>>0)/50|0:1;m=b+560|0;n=b+556|0;o=b+564|0;p=b+672|0;q=b+8|0;r=b+708|0;s=b+696|0;d=0;e=0;k=0;while(1){if((k|0)>=((c[m>>2]|0)+-1|0))break;t=k<<4;j=0;while(1){if((j|0)>=(c[n>>2]|0))break;f=(H(c[o>>2]|0,k)|0)+j|0;do if((a[(c[v>>2]|0)+f>>0]&12)!=12){e=e+1|0;if(!((e|0)%(l|0)|0)){g=c[p>>2]|0;if((c[g+88>>2]|0)!=1)if(!(c[(c[s>>2]|0)+(f<<2)>>2]&7)){d=d+-1|0;break}else{d=d+1|0;break}else{h=g+32|0;w=j<<4;f=c[h>>2]|0;i=H(f,t)|0;g=(c[g>>2]|0)+w+i|0;i=(c[c[u>>2]>>2]|0)+w+i|0;if((c[(c[b>>2]|0)+16>>2]|0)!=27){ni(c[r>>2]|0,k,0);f=c[h>>2]|0}w=(kd[c[q>>2]&63](0,i,g,f,16)|0)+d|0;d=c[h>>2]|0;d=w-(kd[c[q>>2]&63](0,i,i+(d<<4)|0,d,16)|0)|0;break}}}while(0);j=j+1|0}k=k+1|0}d=(d|0)>0&1}else d=0}else d=0;else d=1;return d|0}function ni(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);h=j;e=c[a+12>>2]|0;if((e|0?(g=c[e+4>>2]|0,g|0):0)?(i=g+(d<<2)|0,(c[i>>2]|0)<(b|0)):0){a=a+4+(d<<2)|0;f=c[(c[(c[a>>2]|0)+28>>2]|0)+20>>2]|0;if(c[f+344>>2]|0){e=c[a>>2]|0;c[h>>2]=b;c[h+4>>2]=d;c[h+8>>2]=g;lf(e,48,135649,h)}e=f+184|0;eV(e)|0;a=f+60|0;while(1){if((c[i>>2]|0)>=(b|0))break;Vb(a|0,e|0)|0}fV(e)|0}$c=j;return} -function OO(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,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,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=$c;$c=$c+272|0;if(($c|0)>=(ad|0))N(272);X=Y+256|0;W=Y+248|0;V=Y+240|0;U=Y+232|0;T=Y+224|0;S=Y+216|0;R=Y+208|0;Q=Y+200|0;O=Y+192|0;M=Y+176|0;L=Y+168|0;K=Y+160|0;J=Y+152|0;F=Y+144|0;D=Y+136|0;C=Y+120|0;B=Y+112|0;A=Y+104|0;z=Y+96|0;y=Y+88|0;v=Y+80|0;u=Y+72|0;s=Y+64|0;r=Y+56|0;p=Y+40|0;o=Y+32|0;n=Y+24|0;m=Y+16|0;l=Y+8|0;k=Y;j=AO(e,4)|0;c[d>>2]=j;a:do if(j>>>0<=15){if(h|0?(c[h+(j<<2)>>2]|0)==0:0){c[l>>2]=j;lf(i,16,157193,l);h=-1094995529;break}h=(AO(e,3)|0)+1|0;t=d+68|0;c[t>>2]=h;if((h|0)>7){c[m>>2]=h;lf(i,16,157216,m);h=-1094995529;break}a[d+156>>0]=AO(e,1)|0;h=QO(e,i,d+300|0,c[t>>2]|0)|0;if((h|0)>=0){h=yO(e)|0;c[f>>2]=h;if(h>>>0>15){c[n>>2]=h;lf(i,16,156250,n);h=-1094995529;break}h=yO(e)|0;m=d+4|0;c[m>>2]=h;if(h>>>0>3){c[o>>2]=h;lf(i,16,157253,o);h=-1094995529;break}if((h|0)==3){h=(zO(e)|0)&255;a[d+8>>0]=h}else h=a[d+8>>0]|0;if(h<<24>>24)c[m>>2]=0;G=d+13376|0;c[G>>2]=yO(e)|0;h=yO(e)|0;I=d+13380|0;c[I>>2]=h;h=mh(c[G>>2]|0,h,0,i)|0;if((h|0)>=0){if(zO(e)|0){k=c[m>>2]|0;l=(k|0)<2?2:1;k=(k|0)<3?2:1;h=d+28|0;c[h>>2]=H(k,yO(e)|0)|0;j=d+32|0;c[j>>2]=H(yO(e)|0,k)|0;k=d+36|0;c[k>>2]=H(yO(e)|0,l)|0;l=H(yO(e)|0,l)|0;c[d+40>>2]=l;if(c[i+64>>2]&65536|0){x=c[j>>2]|0;E=c[k>>2]|0;c[p>>2]=c[h>>2];c[p+4>>2]=x;c[p+8>>2]=E;c[p+12>>2]=l;lf(i,48,157286,p);c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0}E=d+12|0;c[E>>2]=c[h>>2];c[E+4>>2]=c[h+4>>2];c[E+8>>2]=c[h+8>>2];c[E+12>>2]=c[h+12>>2]}E=d+44|0;c[E>>2]=(yO(e)|0)+8;h=(yO(e)|0)+8|0;if(c[m>>2]|0?(q=c[E>>2]|0,(h|0)!=(q|0)):0){c[r>>2]=q;c[r+4>>2]=h;lf(i,16,157362,r);h=-1094995529;break}c[d+48>>2]=h;h=RO(i,d)|0;if((h|0)>=0){h=yO(e)|0;x=h+4|0;w=d+60|0;c[w>>2]=x;if(x>>>0>16){c[s>>2]=h;lf(i,16,157445,s);h=-1094995529;break}m=(zO(e)|0)!=0;if(m)n=0;else n=(c[t>>2]|0)+-1|0;x=i+580|0;l=n;while(1){if((l|0)>=(c[t>>2]|0))break;f=d+72+(l*12|0)|0;c[f>>2]=(yO(e)|0)+1;j=d+72+(l*12|0)+4|0;c[j>>2]=yO(e)|0;c[d+72+(l*12|0)+8>>2]=(yO(e)|0)+-1;k=c[f>>2]|0;if(k>>>0>16){P=34;break}h=c[j>>2]|0;if((h|0)>=(k|0)){c[v>>2]=h;lf(i,24,157545,v);if(c[x>>2]&8|0){h=-1094995529;break a}h=c[j>>2]|0;if((h|0)>15){h=-1094995529;break a}c[f>>2]=h+1}l=l+1|0}if((P|0)==34){c[u>>2]=k+-1;lf(i,16,157494,u);h=-1094995529;break}b:do if(!m){j=d+72+(n*12|0)|0;k=d+72+(n*12|0)+4|0;l=d+72+(n*12|0)+8|0;h=0;while(1){if((h|0)>=(n|0))break b;c[d+72+(h*12|0)>>2]=c[j>>2];c[d+72+(h*12|0)+4>>2]=c[k>>2];c[d+72+(h*12|0)+8>>2]=c[l>>2];h=h+1|0}}while(0);p=d+13320|0;c[p>>2]=(yO(e)|0)+3;q=d+13324|0;c[q>>2]=yO(e)|0;r=d+13328|0;c[r>>2]=(yO(e)|0)+2;j=yO(e)|0;k=c[r>>2]|0;s=d+13332|0;c[s>>2]=k+j;l=c[p>>2]|0;if((l+-3|0)>>>0>27){c[y>>2]=l;lf(i,16,157588,y);h=-1094995529;break}h=c[q>>2]|0;if(h>>>0>30){c[z>>2]=h;lf(i,16,157626,z);h=-1094995529;break}if(k>>>0>=l>>>0|k>>>0<2){lf(i,16,157683,A);h=-1094995529;break}if(j>>>0>30){c[B>>2]=j;lf(i,16,157718,B);h=-1094995529;break}n=d+13344|0;c[n>>2]=yO(e)|0;o=d+13348|0;c[o>>2]=yO(e)|0;B=(zO(e)|0)&255;a[d+634>>0]=B;do if(B<<24>>24){h=d+635|0;CO(h);if(!(zO(e)|0))break;h=DO(e,i,h,d)|0;if((h|0)<0)break a}while(0);a[d+13196>>0]=zO(e)|0;a[d+13197>>0]=zO(e)|0;B=zO(e)|0;c[d+64>>2]=B;do if(B|0){h=d+13300|0;a[h>>0]=(AO(e,4)|0)+1;j=d+13301|0;a[j>>0]=(AO(e,4)|0)+1;k=(yO(e)|0)+3|0;c[d+13304>>2]=k;c[d+13308>>2]=(yO(e)|0)+k;h=a[h>>0]|0;j=a[j>>0]|0;k=c[E>>2]|0;if((k|0)<(((h&255)>(j&255)?h:j)&255|0)){c[C>>2]=h&255;c[C+4>>2]=j&255;c[C+8>>2]=k;lf(i,16,157778,C);h=-1094995529;break a}else{a[d+13312>>0]=zO(e)|0;break}}while(0);h=yO(e)|0;k=d+2184|0;c[k>>2]=h;if(h>>>0>64){c[D>>2]=h;lf(i,16,157840,D);h=-1094995529;break}else j=0;while(1){if(j>>>0>=h>>>0)break;h=SO(e,i,d+2188+(j*172|0)|0,d,0)|0;if((h|0)<0)break a;j=j+1|0;h=c[k>>2]|0}D=(zO(e)|0)&255;a[d+13198>>0]=D;c:do if(D<<24>>24){j=yO(e)|0;h=j&255;k=d+13296|0;a[k>>0]=h;j=j&255;if(j>>>0>32){c[F>>2]=j;lf(i,16,157870,F);h=-1094995529;break a}else j=0;while(1){if((j|0)>=(h&255|0))break c;b[d+13200+(j<<1)>>1]=AO(e,c[w>>2]|0)|0;a[d+13264+j>>0]=zO(e)|0;j=j+1|0;h=a[k>>0]|0}}while(0);a[d+13316>>0]=zO(e)|0;a[d+13317>>0]=zO(e)|0;c[d+160>>2]=0;c[d+164>>2]=1;if(zO(e)|0)TO(e,i,g,d);do if(zO(e)|0){h=0;j=0;while(1){if((h|0)==1)break;h=h+1|0;j=zO(e)|0}UO(e,7);if(!j)break;c[d+13352>>2]=zO(e)|0;c[d+13356>>2]=zO(e)|0;c[d+13360>>2]=zO(e)|0;c[d+13364>>2]=zO(e)|0;if(zO(e)|0)lf(i,24,157904,J);c[d+13368>>2]=zO(e)|0;if(zO(e)|0)lf(i,24,157960,K);c[d+13372>>2]=zO(e)|0;if(!(zO(e)|0))break;lf(i,24,158017,L)}while(0);if(!g){l=d+12|0;k=d+16|0;h=l;j=k;k=c[k>>2]|0;l=c[l>>2]|0}else{j=d+12|0;l=(c[j>>2]|0)+(c[d+224>>2]|0)|0;c[j>>2]=l;j=d+16|0;k=(c[j>>2]|0)+(c[d+228>>2]|0)|0;c[j>>2]=k;h=d+20|0;c[h>>2]=(c[h>>2]|0)+(c[d+232>>2]|0);h=d+24|0;c[h>>2]=(c[h>>2]|0)+(c[d+236>>2]|0);h=d+12|0}m=c[d+20>>2]|0;f=c[d+24>>2]|0;do if(l>>>0<(2147483647-k|0)>>>0&m>>>0<(2147483647-f|0)>>>0){if((k+l|0)>>>0>=(c[G>>2]|0)>>>0){P=87;break}if((f+m|0)>>>0>=(c[I>>2]|0)>>>0)P=87}else P=87;while(0);if((P|0)==87){P=c[j>>2]|0;c[M>>2]=l;c[M+4>>2]=P;c[M+8>>2]=m;c[M+12>>2]=f;lf(i,24,158074,M);if(c[x>>2]&8|0){h=-1094995529;break}lf(i,24,158113,O);c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;P=d+28|0;c[P>>2]=0;c[P+4>>2]=0;c[P+8>>2]=0;c[P+12>>2]=0}k=c[p>>2]|0;l=(c[q>>2]|0)+k|0;h=d+13336|0;c[h>>2]=l;j=k+-1|0;c[d+13340>>2]=j;if(l>>>0>6){c[Q>>2]=l;lf(i,16,158150,Q);h=-1094995529;break}if(l>>>0<4){c[R>>2]=l;lf(i,16,158179,R);c[S>>2]=c[h>>2];ci(i,158242,S);h=-1094995529;break}R=c[G>>2]|0;P=1<>l;c[d+13384>>2]=Q;S=c[I>>2]|0;P=S+-1+P>>l;c[d+13388>>2]=P;c[d+13392>>2]=H(P,Q)|0;c[d+13396>>2]=R>>k;c[d+13400>>2]=S>>k;Q=c[r>>2]|0;c[d+13404>>2]=R>>Q;c[d+13408>>2]=S>>Q;c[d+13412>>2]=R>>j;c[d+13416>>2]=S>>j;j=l-Q|0;c[d+13420>>2]=(1<>2]=((c[E>>2]|0)*6|0)+-48;if((1<>2]|0;if(h>>>0>j>>>0){c[U>>2]=h;lf(i,16,158292,U);h=-1094995529;break}h=c[o>>2]|0;if(h>>>0>j>>>0){c[V>>2]=h;lf(i,16,158346,V);h=-1094995529;break}h=c[s>>2]|0;if(h>>>0>(l>>>0<5?l:5)>>>0){c[W>>2]=h;lf(i,16,158400,W);h=-1094995529;break}h=GO(e)|0;if((h|0)>=0){h=0;break}c[X>>2]=0-h;lf(i,16,158443,X);h=-1094995529}}}}else{c[k>>2]=j;lf(i,16,157168,k);h=-1094995529}while(0);$c=Y;return h|0}function PO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);g=h;e=a+64+(b<<2)|0;d=c[e>>2]|0;if(d|0){f=a+388|0;if((c[f>>2]|0)==(c[d+4>>2]|0)){c[f>>2]=0;d=0}else d=0;while(1){if((d|0)==64)break;i=c[a+128+(d<<2)>>2]|0;if(i|0?(c[c[i+4>>2]>>2]|0)==(b|0):0)HO(a,d);d=d+1|0}i=c[e>>2]|0;if(i|0?(c[f>>2]|0)==(c[i+4>>2]|0):0){c[g>>2]=157083;c[g+4>>2]=157147;c[g+8>>2]=92;lf(0,0,164242,g);ub()}}Sf(e);$c=h;return}function QO(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);k=m+16|0;j=m+8|0;g=m;a:do if((YO(b,d,e)|0)>=0?(i=f+-1|0,h=(f|0)>1,(GO(b)|0)>=((h&1)<<4|8|0)):0){a[e+35>>0]=AO(b,8)|0;f=0;while(1){if((f|0)>=(i|0))break;a[e+320+f>>0]=zO(b)|0;a[e+327+f>>0]=zO(b)|0;f=f+1|0}b:do if(h){f=i;while(1){if((f|0)>=8){f=0;break b}UO(b,2);f=f+1|0}}else f=0;while(0);while(1){if((f|0)>=(i|0)){f=0;break a}if(a[e+320+f>>0]|0?(YO(b,d,e+40+(f*40|0)|0)|0)<0:0){l=13;break}if(a[e+327+f>>0]|0){if((GO(b)|0)<8){l=16;break}a[e+40+(f*40|0)+35>>0]=AO(b,8)|0}f=f+1|0}if((l|0)==13){c[j>>2]=f;lf(d,16,159168,j);f=-1;break}else if((l|0)==16){c[k>>2]=f;lf(d,16,159211,k);f=-1;break}}else l=3;while(0);if((l|0)==3){lf(d,16,159141,g);f=-1}$c=m;return f|0}function RO(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;i=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=i;h=b+44|0;e=c[h>>2]|0;a:do switch(e|0){case 8:{switch(c[b+4>>2]|0){case 0:{a=8;break}case 1:{a=0;break}case 2:{c[b+56>>2]=4;g=23;break a}case 3:{c[b+56>>2]=5;g=23;break a}default:{g=23;break a}}c[b+56>>2]=a;g=23;break}case 9:{switch(c[b+4>>2]|0){case 0:{a=30;break}case 1:{a=62;break}case 2:{c[b+56>>2]=72;g=23;break a}case 3:{c[b+56>>2]=68;g=23;break a}default:{g=23;break a}}c[b+56>>2]=a;g=23;break}case 10:{switch(c[b+4>>2]|0){case 0:{a=171;break}case 1:{a=64;break}case 2:{c[b+56>>2]=66;g=23;break a}case 3:{c[b+56>>2]=70;g=23;break a}default:{g=23;break a}}c[b+56>>2]=a;g=23;break}case 12:{switch(c[b+4>>2]|0){case 0:{a=169;break}case 1:{a=125;break}case 2:{c[b+56>>2]=129;g=23;break a}case 3:{c[b+56>>2]=133;g=23;break a}default:{g=23;break a}}c[b+56>>2]=a;g=23;break}default:{c[f>>2]=c[b+4>>2];c[f+4>>2]=e;lf(a,16,159031,f);a=-1094995529}}while(0);if((g|0)==23){a=Gg(c[b+56>>2]|0)|0;if(!a)a=-22;else{c[b+13436>>2]=0;c[b+13424>>2]=0;g=d[a+5>>0]|0;c[b+13428>>2]=g;c[b+13432>>2]=g;a=d[a+6>>0]|0;c[b+13440>>2]=a;c[b+13444>>2]=a;c[b+52>>2]=(c[h>>2]|0)>8&1;a=0}}$c=i;return a|0}function SO(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);n=q+40|0;m=q+32|0;k=q+24|0;o=q+16|0;l=q+8|0;j=q;h=f+2188|0;a:do if(((h|0)!=(e|0)?(i=f+2184|0,(c[i>>2]|0)!=0):0)?((zO(b)|0)&255)<<24>>24!=0:0){do if(g){h=(yO(b)|0)+1|0;g=c[i>>2]|0;if(g>>>0>>0){c[j>>2]=h;c[j+4>>2]=g;lf(d,16,158841,j);g=-1094995529;break a}else{m=g-h|0;c[e+8>>2]=c[f+2188+(m*172|0)+4>>2];break}}else m=((e-h|0)/172|0)+-1|0;while(0);g=zO(b)|0;n=yO(b)|0;h=n+1|0;if(n>>>0>32767){c[l>>2]=h;lf(d,16,158899,l);g=-1094995529;break}k=H(1-(g<<1&510)|0,h)|0;l=f+2188+(m*172|0)+4|0;h=0;g=0;j=0;while(1){if((j|0)>(c[l>>2]|0))break;n=zO(b)|0;a[e+140+g>>0]=n;if(!((n&255|0)==0?((zO(b)|0)&255)<<24>>24==0:0)){if((j|0)<(c[l>>2]|0))i=(c[f+2188+(m*172|0)+12+(j<<2)>>2]|0)+k|0;else i=k;c[e+12+(g<<2)>>2]=i;g=g+1|0;h=(i>>>31)+h|0}j=j+1|0}if(g>>>0>31){c[o>>2]=g;lf(d,16,158935,o);g=-1094995529;break}n=e+4|0;c[n>>2]=g;c[e>>2]=h;if(g){m=1;while(1){if((m|0)>=(g|0))break;i=c[e+12+(m<<2)>>2]|0;j=a[e+140+m>>0]|0;h=m;while(1){g=h+-1|0;if((h|0)<=0)break;k=e+12+(g<<2)|0;l=c[k>>2]|0;if((i|0)>=(l|0)){h=g;continue}c[e+12+(h<<2)>>2]=l;d=e+140+g|0;a[e+140+h>>0]=a[d>>0]|0;c[k>>2]=i;a[d>>0]=j;h=g}m=m+1|0;g=c[n>>2]|0}h=c[e>>2]|0}if(h>>>0>1){i=0;g=h;while(1){g=g+-1|0;if(i>>>0>=h>>>1>>>0){g=0;break a}h=e+12+(i<<2)|0;o=c[h>>2]|0;f=e+140+i|0;d=a[f>>0]|0;b=e+12+(g<<2)|0;c[h>>2]=c[b>>2];h=e+140+g|0;a[f>>0]=a[h>>0]|0;c[b>>2]=o;a[h>>0]=d;i=i+1|0;h=c[e>>2]|0}}else g=0}else p=32;while(0);b:do if((p|0)==32){c[e>>2]=yO(b)|0;j=yO(b)|0;g=c[e>>2]|0;if((g|j)>>>0>15){lf(d,16,158963,k);g=-1094995529;break}o=g+j|0;c[e+4>>2]=o;if(!o)g=0;else{h=0;i=0;while(1){if(i>>>0>=g>>>0){h=0;i=0;break}o=yO(b)|0;g=o+1|0;if(o>>>0>32767){p=37;break}g=h-g|0;c[e+12+(i<<2)>>2]=g;a[e+140+i>>0]=zO(b)|0;h=g;i=i+1|0;g=c[e>>2]|0}if((p|0)==37){c[m>>2]=g;lf(d,16,158999,m);g=-1094995529;break}while(1){if(i>>>0>=j>>>0){g=0;break b}p=yO(b)|0;g=p+1|0;if(p>>>0>32767)break;p=g+h|0;c[e+12+((c[e>>2]|0)+i<<2)>>2]=p;o=(zO(b)|0)&255;a[(c[e>>2]|0)+i+(e+140)>>0]=o;h=p;i=i+1|0}c[n>>2]=g;lf(d,16,158999,n);g=-1094995529}}while(0);$c=q;return g|0}function TO(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=$c;$c=$c+240|0;if(($c|0)>=(ad|0))N(240);F=G+64|0;E=G+56|0;D=G+48|0;C=G+40|0;p=G+24|0;k=G+16|0;i=G+8|0;z=G+88|0;A=G+68|0;B=g+160|0;lf(e,48,158468,G);do if(zO(b)|0){h=(AO(b,8)|0)&255;if(h>>>0<17){w=75140+(h<<3)|0;x=c[w+4>>2]|0;y=B;c[y>>2]=c[w>>2];c[y+4>>2]=x;break}if((h|0)==255){c[B>>2]=AO(b,16)|0;c[g+164>>2]=AO(b,16)|0;break}else{c[i>>2]=h;lf(e,24,158482,i);break}}while(0);y=zO(b)|0;c[g+168>>2]=y;if(y|0)c[g+172>>2]=zO(b)|0;y=zO(b)|0;c[g+176>>2]=y;a:do if(y|0){c[g+180>>2]=AO(b,3)|0;y=g+184|0;c[y>>2]=zO(b)|0;h=zO(b)|0;c[g+188>>2]=h;if(c[y>>2]|0?(j=g+56|0,(c[j>>2]|0)==0):0)c[j>>2]=12;if(h|0){h=g+192|0;a[h>>0]=AO(b,8)|0;i=g+193|0;a[i>>0]=AO(b,8)|0;j=g+194|0;a[j>>0]=AO(b,8)|0;if(!(Qi(d[h>>0]|0)|0))a[h>>0]=2;if(!(Ri(d[i>>0]|0)|0))a[i>>0]=2;if(!(Si(d[j>>0]|0)|0)){a[j>>0]=2;break}if(!(a[j>>0]|0)){i=g+56|0;switch(c[i>>2]|0){case 5:{h=73;break}case 70:{h=77;break}case 133:{h=137;break}default:break a}c[i>>2]=h}}}while(0);y=zO(b)|0;c[g+196>>2]=y;if(y|0){c[g+200>>2]=yO(b)|0;c[g+204>>2]=yO(b)|0}c[g+208>>2]=zO(b)|0;c[g+212>>2]=zO(b)|0;c[g+216>>2]=zO(b)|0;c[A>>2]=c[b>>2];c[A+4>>2]=c[b+4>>2];c[A+8>>2]=c[b+8>>2];c[A+12>>2]=c[b+12>>2];c[A+16>>2]=c[b+16>>2];XW(z|0,B|0,140)|0;if((GO(b)|0)>67?(KO(b,21)|0)==1048576:0){h=g+220|0;c[h>>2]=0;lf(e,24,158506,k);h=c[h>>2]|0}else{h=zO(b)|0;c[g+220>>2]=h}if((h|0?(n=c[g+4>>2]|0,o=(n|0)<2?2:1,n=(n|0)<3?2:1,l=g+224|0,c[l>>2]=H(n,yO(b)|0)|0,m=g+228|0,c[m>>2]=H(yO(b)|0,n)|0,n=g+232|0,c[n>>2]=H(yO(b)|0,o)|0,o=H(yO(b)|0,o)|0,c[g+236>>2]=o,f|0):0)?c[e+64>>2]&65536|0:0){x=c[m>>2]|0;y=c[n>>2]|0;c[p>>2]=c[l>>2];c[p+4>>2]=x;c[p+8>>2]=y;c[p+12>>2]=o;lf(e,48,158538,p);c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0}l=g+240|0;m=g+264|0;n=g+268|0;o=g+272|0;f=g+276|0;p=g+280|0;q=g+284|0;r=g+288|0;s=g+292|0;t=g+296|0;u=g+244|0;v=g+248|0;w=g+252|0;x=g+260|0;y=g+68|0;i=g+256|0;h=0;b:while(1){g=zO(b)|0;c[l>>2]=g;if(g|0){j=(h|0)!=0;if(!(j|(GO(b)|0)>65)){lf(e,24,158618,C);XW(B|0,z|0,140)|0;c[b>>2]=c[A>>2];c[b+4>>2]=c[A+4>>2];c[b+8>>2]=c[A+8>>2];c[b+12>>2]=c[A+12>>2];c[b+16>>2]=c[A+16>>2];h=1;continue}c[u>>2]=MO(b,32)|0;k=MO(b,32)|0;c[v>>2]=k;if(j){g=c[u>>2]|0;c[D>>2]=k;c[D+4>>2]=g;lf(e,32,158663,D)}g=zO(b)|0;c[w>>2]=g;if(g|0)c[i>>2]=yO(b)|0;g=zO(b)|0;c[x>>2]=g;if(g|0)VO(b,1,c[y>>2]|0)}g=zO(b)|0;c[m>>2]=g;do if(g|0)if((h|0)!=0|(GO(b)|0)>7){c[n>>2]=zO(b)|0;c[o>>2]=zO(b)|0;c[f>>2]=zO(b)|0;c[p>>2]=yO(b)|0;c[q>>2]=yO(b)|0;c[r>>2]=yO(b)|0;c[s>>2]=yO(b)|0;c[t>>2]=yO(b)|0;break}else{lf(e,24,158684,E);XW(B|0,z|0,140)|0;c[b>>2]=c[A>>2];c[b+4>>2]=c[A+4>>2];c[b+8>>2]=c[A+8>>2];c[b+12>>2]=c[A+12>>2];c[b+16>>2]=c[A+16>>2];h=1;continue b}while(0);if((h|0)!=0|(GO(b)|0)>0)break;lf(e,24,158768,F);XW(B|0,z|0,140)|0;c[b>>2]=c[A>>2];c[b+4>>2]=c[A+4>>2];c[b+8>>2]=c[A+8>>2];c[b+12>>2]=c[A+12>>2];c[b+16>>2]=c[A+16>>2];h=1}$c=G;return}function UO(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=c[a+16>>2]|0;b=(c[d>>2]|0)+b|0;c[d>>2]=a>>>0>b>>>0?b:a;return}function VO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);i=k;if(b){b=zO(a)|0;f=zO(a)|0;if(!(f|b))e=0;else{e=zO(a)|0;if(!e){UO(a,4);UO(a,4)}else{UO(a,8);UO(a,5);UO(a,1);UO(a,5);UO(a,4);UO(a,4);UO(a,4)}UO(a,5);UO(a,5);UO(a,5)}}else{e=0;f=0;b=0}h=(b|0)==0;g=(f|0)==0;f=0;while(1){if((f|0)>=(d|0))break;if((zO(a)|0)==0?(zO(a)|0)==0:0)if(!(zO(a)|0))j=13;else b=1;else{yO(a)|0;j=13}if((j|0)==13){j=0;l=yO(a)|0;b=l+1|0;if(l>>>0>31){j=14;break}}if(!h)WO(a,b,e);if(!g)WO(a,b,e);f=f+1|0}if((j|0)==14){c[i>>2]=b;lf(0,16,158822,i)}$c=k;return}function WO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=(c|0)==0;c=0;while(1){if((c|0)==(b|0))break;yO(a)|0;yO(a)|0;if(!d){yO(a)|0;yO(a)|0}XO(a);c=c+1|0}return}function XO(a){a=a|0;UO(a,1);return}function YO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);h=j+32|0;g=j+24|0;if((GO(b)|0)<88)d=-1;else{a[e>>0]=AO(b,2)|0;a[e+1>>0]=zO(b)|0;f=AO(b,5)|0;k=f&255;i=e+2|0;a[i>>0]=k;f=f&255;a:do switch(k<<24>>24){case 1:{lf(d,48,159254,j);d=0;break}case 2:{lf(d,48,159278,j+8|0);d=0;break}case 3:{lf(d,48,159305,j+16|0);d=0;break}default:if((f|0)==4){lf(d,48,159343,g);d=0;break a}else{c[h>>2]=f;lf(d,24,159378,h);d=0;break a}}while(0);while(1){f=zO(b)|0;g=f&255;if((d|0)==32)break;a[e+3+d>>0]=g;if(!((f&255|0)==0|((d|0)<1|(a[i>>0]|0)!=0)))a[i>>0]=d;d=d+1|0}a[e+36>>0]=g;a[e+37>>0]=zO(b)|0;a[e+38>>0]=zO(b)|0;a[e+39>>0]=zO(b)|0;UO(b,16);UO(b,16);UO(b,12);d=0}$c=j;return d|0}function ZO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+(b<<2)|0;d=c[f>>2]|0;a:do if(d|0){e=a+384|0;if((c[e>>2]|0)==(c[d+4>>2]|0)){c[e>>2]=0;d=0}else d=0;while(1){if((d|0)==16)break a;e=c[a+64+(d<<2)>>2]|0;if(e|0?(c[c[e+4>>2]>>2]|0)==(b|0):0)PO(a,d);d=d+1|0}}while(0);Sf(f);return}function _O(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0;n=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);l=n;m=n+8|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;a=Zh(m,a,b,j,f,g,173,1)|0;a:do if((a|0)>=0){k=m+16|0;g=0;while(1){if((g|0)>=(c[k>>2]|0))break a;b=c[m>>2]|0;f=c[b+(g*68|0)+44>>2]|0;switch(f|0){case 32:{a=QN(b+(g*68|0)+24|0,j,d)|0;if((a|0)<0)break a;break}case 33:{a=RN(b+(g*68|0)+24|0,j,d,i)|0;if((a|0)<0)break a;break}case 34:{a=SN(b+(g*68|0)+24|0,j,d)|0;if((a|0)<0)break a;break}case 40:case 39:{a=TN(b+(g*68|0)+24|0,j,e,d,f)|0;if((a|0)<0)break a;break}default:{c[l>>2]=f;lf(j,40,159887,l)}}g=g+1|0}}while(0);Fh(m);$c=n;return ((h&8|0)==0?0:a)|0}function $O(a,b){a=a|0;b=b|0;var d=0,e=0;e=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);d=e;a=aP(a,d)|0;if((a|0)>=0){Zf(b,c[d>>2]|0);Nf(d);a=0}$c=e;return a|0}function aP(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=c[d>>2]|0;do if(!(c[a+4>>2]|0)){a=c[a>>2]|0;if((c[a+24>>2]|0)==0?(c[a+44>>2]|0)==0:0){a=-11;break}a=bP()|0;if(!a)a=-12;else{c[b>>2]=c[c[d>>2]>>2];c[c[d>>2]>>2]=a;a=0}}else a=-541478725;while(0);return a|0}function bP(){var a=0;a=cg(72)|0;if(a|0)Qf(a);return a|0}function cP(){var a=0,b=0;b=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);a=b;do if((dP(a,159922)|0)!=4)if((dP(a,159935)|0)==4){a=c[a>>2]|0;break}else{a=eP()|0;break}else a=c[a>>2]|0;while(0);$c=b;return a|0}function dP(a,b){a=a|0;b=b|0;var c=0;c=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);b=lP(b,0,c)|0;if((b|0)==-1)b=-1;else{a=tU(b,a,4)|0;ST(b)|0;b=a}$c=c;return b|0}function eP(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=$c;$c=$c+160|0;if(($c|0)>=(ad|0))N(160);a=l+120|0;h=l;i=l+132|0;k=182392;j=c[k>>2]|0;k=c[k+4>>2]|0;if((c[14744]|0)>>>0>=121){c[a>>2]=159947;c[a+4>>2]=159974;c[a+8>>2]=77;lf(0,0,164242,a);ub()}e=(j|0)==0&(k|0)==0;a=0;b=0;d=0;a:while(1){f=yb()|0;g=f-a|0;do if(((b<<1|1)+a|0)<(f|0)){a=182392;a=IW(c[a>>2]|0,c[a+4>>2]|0,1,0)|0;b=M()|0;m=182392;c[m>>2]=a;c[m+4>>2]=b;m=183152+((a&511)<<2)|0;c[m>>2]=(c[m>>2]|0)+(g>>>0<3294638521?g:g+1000328775|0);if((f-d|0)>31249){a=JW(a|0,b|0,j|0,k|0)|0;b=M()|0;if(e)if(b>>>0>0|(b|0)==0&a>>>0>64)break a;else break;else if(b>>>0>0|(b|0)==0&a>>>0>4)break a;else break}}else{m=183152+((c[45598]&511)<<2)|0;b=H(c[m>>2]|0,1664525)|0;c[m>>2]=(g>>>0<3294638521?g:g+1000328775|0)+1013904223+b}while(0);a=f;b=g;d=(d|0)==0?f:d}fP(h,160)|0;gP(h,183152,2048);hP(h,i);m=VW(c[i>>2]|0)|0;m=(VW(c[i+16>>2]|0)|0)+m|0;$c=l;return m|0}function fP(b,d){b=b|0;d=d|0;var e=0;a[b>>0]=d>>>5;switch(d|0){case 160:{c[b+80>>2]=1732584193;c[b+84>>2]=-271733879;c[b+88>>2]=-1732584194;c[b+92>>2]=271733878;c[b+96>>2]=-1009589776;d=204;e=5;break}case 224:{c[b+80>>2]=-1056596264;c[b+84>>2]=914150663;c[b+88>>2]=812702999;c[b+92>>2]=-150054599;c[b+96>>2]=-4191439;c[b+100>>2]=1750603025;c[b+104>>2]=1694076839;c[b+108>>2]=-1090891868;d=205;e=5;break}case 256:{c[b+80>>2]=1779033703;c[b+84>>2]=-1150833019;c[b+88>>2]=1013904242;c[b+92>>2]=-1521486534;c[b+96>>2]=1359893119;c[b+100>>2]=-1694144372;c[b+104>>2]=528734635;c[b+108>>2]=1541459225;d=205;e=5;break}default:d=-22}if((e|0)==5){c[b+112>>2]=d;d=b+8|0;c[d>>2]=0;c[d+4>>2]=0;d=0}return d|0}function gP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;i=b+8|0;k=i;f=c[k>>2]|0;k=IW(f|0,c[k+4>>2]|0,e|0,0)|0;j=M()|0;c[i>>2]=k;c[i+4>>2]=j;i=b+112|0;j=b+80|0;k=b+16|0;f=f&63;h=0;while(1){if((h|0)==(e|0))break;g=f+1|0;a[b+16+f>>0]=a[d+h>>0]|0;if((g|0)==64){od[c[i>>2]&255](j,k);f=0}else f=g;h=h+1|0}return}function hP(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;h=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=h;g=b+8|0;k=g;k=TW(c[k>>2]|0,c[k+4>>2]|0,3)|0;k=iP(k,M()|0)|0;j=M()|0;i=f;c[i>>2]=k;c[i+4>>2]=j;gP(b,159998,1);while(1){if(0==0?(c[g>>2]&63|0)==56:0)break;gP(b,262104,1)}gP(b,f,8);f=0;while(1){if((f|0)>=(d[b>>0]|0|0))break;j=VW(c[b+80+(f<<2)>>2]|0)|0;k=e+(f<<2)|0;a[k>>0]=j;a[k+1>>0]=j>>8;a[k+2>>0]=j>>16;a[k+3>>0]=j>>24;f=f+1|0}$c=h;return}function iP(a,b){a=a|0;b=b|0;a=VW(a|0)|0;b=VW(b|0)|0;L(a|0);return b|0}function jP(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;E=$c;$c=$c+256|0;if(($c|0)>=(ad|0))N(256);w=E;x=c[a>>2]|0;y=a+4|0;z=c[y>>2]|0;A=a+8|0;B=c[A>>2]|0;C=a+12|0;D=c[C>>2]|0;o=a+16|0;p=c[o>>2]|0;q=a+20|0;r=c[q>>2]|0;s=a+24|0;t=c[s>>2]|0;u=a+28|0;v=c[u>>2]|0;e=0;f=r;g=p;h=D;i=B;j=z;k=x;l=v;m=t;while(1){if((e|0)==64)break;if(e>>>0<16){n=b+(e<<2)|0;n=VW(d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24|0)|0}else{F=c[w+(e+-15<<2)>>2]|0;n=c[w+(e+-2<<2)>>2]|0;n=(c[w+(e+-7<<2)>>2]|0)+(c[w+(e+-16<<2)>>2]|0)+((F<<14|F>>>18)^F>>>3^(F<<25|F>>>7))+((n<<13|n>>>19)^n>>>10^(n<<15|n>>>17))|0}c[w+(e<<2)>>2]=n;J=((g<<26|g>>>6)^(g<<21|g>>>11)^(g<<7|g>>>25))+l+((m^f)&g^m)+n+(c[75304+(e<<2)>>2]|0)|0;I=m;H=k;G=j;n=i;F=g;e=e+1|0;g=J+h|0;k=((i|j)&k|i&j)+((k<<30|k>>>2)^(k<<19|k>>>13)^(k<<10|k>>>22))+J|0;m=f;l=I;j=H;i=G;h=n;f=F}c[a>>2]=x+k;c[y>>2]=z+j;c[A>>2]=B+i;c[C>>2]=D+h;c[o>>2]=p+g;c[q>>2]=r+f;c[s>>2]=t+m;c[u>>2]=v+l;$c=E;return}function kP(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;v=$c;$c=$c+320|0;if(($c|0)>=(ad|0))N(320);n=v;o=c[a>>2]|0;p=a+4|0;q=c[p>>2]|0;r=a+8|0;s=c[r>>2]|0;t=a+12|0;u=c[t>>2]|0;l=a+16|0;m=c[l>>2]|0;f=m;g=u;h=s;i=q;j=o;k=0;while(1){if((k|0)==80)break;if(k>>>0<16){e=b+(k<<2)|0;e=VW(d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24|0)|0}else{e=c[n+(k+-8<<2)>>2]^c[n+(k+-3<<2)>>2]^c[n+(k+-14<<2)>>2]^c[n+(k+-16<<2)>>2];e=e<<1|e>>>31}c[n+(k<<2)>>2]=e;f=f+(j<<5|j>>>27)+e|0;do if(k>>>0<40)if(k>>>0<20){e=((g^h)&i^g)+1518500249|0;break}else{e=(h^i^g)+1859775393|0;break}else if(k>>>0<60){e=((h|i)&g|h&i)+-1894007588|0;break}else{e=(h^i^g)+-899497514|0;break}while(0);y=j;x=h;w=g;h=i<<30|i>>>2;j=f+e|0;k=k+1|0;i=y;g=x;f=w}c[a>>2]=o+j;c[p>>2]=q+i;c[r>>2]=s+h;c[t>>2]=u+g;c[l>>2]=m+f;$c=v;return}function lP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);h=i+16|0;g=i+8|0;f=i;e=i+24|0;c[e>>2]=d;if(!(b&64))e=0;else{j=(c[e>>2]|0)+(4-1)&~(4-1);d=c[j>>2]|0;c[e>>2]=j+4;e=d}c[f>>2]=e;e=UT(a,b|524288,f)|0;if((e|0)!=-1?(c[g>>2]=1,(TT(e,2,g)|0)==-1):0)lf(0,48,16e4,h);$c=i;return e|0}function mP(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=tf((dU(c[b>>2]|0)|0)+1|0)|0;f=c[b>>2]|0;if(!e)e=0;else{g=f+(QU(f,160029)|0)|0;k=e;f=e;a:while(1){b:while(1){h=a[g>>0]|0;if(!(h<<24>>24))break a;if(QU(g,d)|0)break a;i=g+1|0;switch(h<<24>>24){case 39:break b;case 92:{j=a[i>>0]|0;if(j<<24>>24){l=8;break b}break}default:{}}a[f>>0]=h;g=i;f=f+1|0}if((l|0)==8){l=0;i=f+1|0;a[f>>0]=j;g=g+2|0;k=i;f=i;continue}while(1){g=a[i>>0]|0;j=g<<24>>24==0;h=i+1|0;if(!(j^g<<24>>24!=39))break;a[f>>0]=g;i=h;f=f+1|0}g=j?i:h;k=j?k:f}do{a[f>>0]=0;f=f+-1|0;if(f>>>0>>0)break}while((QU(f,160029)|0)!=0);c[b>>2]=g}return e|0}function nP(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;e=b;while(1){d=oP(a[e>>0]|0)|0;b=oP(a[c>>0]|0)|0;d=d&255;if(!d){f=3;break}b=b&255;if((d|0)==(b|0)){e=e+1|0;c=c+1|0}else{c=d;break}}if((f|0)==3){c=0;b=b&255}return c-b|0}function oP(a){a=a|0;return ((a+-65|0)>>>0<26?a^32:a)|0}function pP(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;f=b+d|0;e=b;while(1){d=oP(a[e>>0]|0)|0;e=e+1|0;b=oP(a[c>>0]|0)|0;if(e>>>0>=f>>>0){g=3;break}d=d&255;b=b&255;if(!((d|0)!=0&(d|0)==(b|0)))break;else c=c+1|0}if((g|0)==3){b=b&255;d=d&255}return d-b|0}function qP(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;a:do if((b|0)!=0&(c|0)!=0){g=dU(b)|0;while(1){d=a[c>>0]|0;if(!(d<<24>>24)){c=0;break a}f=d<<24>>24==45;d=eU(c,44)|0;if(!d)d=c+(dU(c)|0)|0;c=c+(f&1)|0;e=d-c|0;if(!(pP(b,c,(e|0)>(g|0)?e:g)|0))break;if(!(rT(160034,c,(e|0)>3?e:3)|0))break;c=d+((a[d>>0]|0)==44&1)|0}c=(f^1)&1}else c=0;while(0);return c|0}function rP(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=d<<24>>24;a:while(1){if(!b){b=0;break}if(!(a[b>>0]|0)){b=0;break}else h=c;while(1){if(!h)break;e=a[h>>0]|0;if(!(e<<24>>24))break;else g=0;while(1){f=a[b+g>>0]|0;j=f<<24>>24;k=e<<24>>24;if(f<<24>>24!=e<<24>>24?!((H(k,j)|0)==0&(k+j|0)==(i|0)):0)break;if(g|0?(f<<24>>24==0?1:f<<24>>24==d<<24>>24):0){b=1;break a}e=g+1|0;g=e;e=a[h+e>>0]|0}k=eU(h,i)|0;h=k+((k|0)!=0&1)|0}k=eU(b,i)|0;b=k+((k|0)!=0&1)|0}return b|0}function sP(b,d,e){b=b|0;d=d|0;e=e|0;c[b>>2]=d;c[b+4>>2]=0;c[b+8>>2]=e;c[b+12>>2]=e;a[d>>0]=0;return}function tP(a){a=a|0;if(!(c[(c[a>>2]|0)+20>>2]&1))a=(c[(c[a>>2]|0)+8>>2]|0)==1&1;else a=0;return a|0}function uP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);h=i;g=c[a>>2]|0;do if(g){f=g+8|0;if((c[f>>2]|0)==(b|0))d=0;else{if((c[(c[g>>2]|0)+20>>2]&2|0?tP(g)|0:0)?(e=g+4|0,d=c[e>>2]|0,(d|0)==(c[c[g>>2]>>2]|0)):0){d=sf(d,b)|0;if(!d){d=-12;break}c[e>>2]=d;h=c[g>>2]|0;c[h>>2]=d;c[f>>2]=b;c[h+4>>2]=b;d=0;break}c[h>>2]=0;uP(h,b)|0;d=c[h>>2]|0;if(!d)d=-12;else{f=c[f>>2]|0;XW(c[d+4>>2]|0,c[g+4>>2]|0,((f|0)<(b|0)?f:b)|0)|0;Uf(a,h);d=0}}}else{d=sf(0,b)|0;c[h>>2]=d;do if(d){d=Dg(d,b,19,0,0)|0;if(!d){gf(h);d=-12;break}else{h=(c[d>>2]|0)+20|0;c[h>>2]=c[h>>2]|2;c[a>>2]=d;d=0;break}}else d=-12;while(0)}while(0);$c=i;return d|0}function vP(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=b+(dU(b)|0)|0;g=0;c=0;while(1){if(b>>>0>>0)d=b;else{b=g;break}a:while(1){if(d>>>0>=h>>>0)break;switch(a[d>>0]|0){case 124:case 43:break a;default:{}}d=d+1|0}e=wP(b,d-b|0)|0;f=M()|0;if((e|0)==0&(f|0)==0){c=0;b=0;break}b=d+1|0;g=e|g;c=f|c}L(c|0);return b|0}function wP(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);j=k;f=0;while(1){if(f>>>0>=28){e=0;i=7;break}e=c[37768+(f<<4)>>2]|0;if((dU(e)|0)==(d|0)?(qT(e,b,d)|0)==0:0){i=5;break}f=f+1|0}do if((i|0)==5){e=37768+(f<<4)+8|0;f=c[e+4>>2]|0;e=c[e>>2]|0}else if((i|0)==7){while(1){i=0;if(e>>>0>=36)break;if(((e+-18|0)>>>0>10?(g=c[75560+(e<<3)>>2]|0,(dU(g)|0)==(d|0)):0)?(qT(g,b,d)|0)==0:0){i=11;break}e=e+1|0;i=7}if((i|0)==11){e=TW(1,0,e|0)|0;f=M()|0;break}c[(WS()|0)>>2]=0;e=gT(b,j,10)|0;if(((c[(WS()|0)>>2]|0)==0?(h=c[j>>2]|0,(h+1-b|0)==(d|0)):0)?(a[h>>0]|0)==99:0){e=xP(e)|0;f=M()|0;break}c[(WS()|0)>>2]=0;g=eT(b,j,0)|0;e=M()|0;if(!(c[(WS()|0)>>2]|0)){j=((e|0)>0|(e|0)==0&g>>>0>0)&((c[j>>2]|0)-b|0)==(d|0);f=j?e:0;e=j?g:0}else{f=0;e=0}}while(0);L(f|0);$c=k;return e|0}function xP(a){a=a|0;var b=0,d=0;b=0;while(1){if(b>>>0>=28){b=0;a=0;break}if((c[37768+(b<<4)+4>>2]|0)==(a|0)){d=4;break}b=b+1|0}if((d|0)==4){a=37768+(b<<4)+8|0;b=c[a+4>>2]|0;a=c[a>>2]|0}L(b|0);return a|0}function yP(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);k=n+40|0;m=n+32|0;l=n+24|0;j=n+16|0;i=n+8|0;h=n;if((b|0)<1)b=lh(d,e)|0;f=0;while(1){if(f>>>0>=28){g=9;break}if((b|0)==(c[37768+(f<<4)+4>>2]|0)?(g=37768+(f<<4)+8|0,(c[g>>2]|0)==(d|0)?(c[g+4>>2]|0)==(e|0):0):0){g=7;break}f=f+1|0}if((g|0)==7){c[h>>2]=c[37768+(f<<4)>>2];wf(a,160696,h)}else if((g|0)==9?(c[i>>2]=b,wf(a,160699,i),!((d|0)==0&(e|0)==0)):0){wf(a,160711,j);b=0;g=0;while(1){if((g|0)==64)break;j=TW(1,0,g|0)|0;if(!((j&d|0)==0&((M()|0)&e|0)==0)){f=zP(g)|0;if(f|0){if((b|0)>0)wf(a,160714,l);c[m>>2]=f;wf(a,160696,m)}b=b+1|0}g=g+1|0}wf(a,160716,k)}$c=n;return}function zP(a){a=a|0;if(a>>>0>35)a=0;else a=c[75560+(a<<3)>>2]|0;return a|0}function AP(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;f=$c;$c=$c+1024|0;if(($c|0)>=(ad|0))N(1024);g=f;sP(g,a,b);yP(g,c,d,e);$c=f;return}function BP(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,H=0,J=0,K=0;K=$c;$c=$c+1072|0;if(($c|0)>=(ad|0))N(1072);J=K+792|0;H=K+784|0;F=K+528|0;j=K+1060|0;k=K+1056|0;D=K+520|0;E=K+512|0;B=K;C=K+800|0;c[F>>2]=j;c[F+4>>2]=k;c[F+8>>2]=K+1064;if(!((CU(f,160718,F)|0)==2?(i=c[j>>2]|0,i=CP(b,e,h,1.0,c[k>>2]|0,i,((i|0)<0)<<31>>31)|0,(i|0)>-1):0)){v=e+12|0;w=e+44|0;x=e+16|0;y=e+32|0;z=e+24|0;A=e+16|0;i=0;while(1){s=E;c[s>>2]=1;c[s+4>>2]=0;if(!(c[v>>2]|0)){j=a[f>>0]|0;switch(j<<24>>24){case 45:case 43:{l=j<<24>>24;j=f+1|0;break}default:{l=0;j=f}}f=0;a:while(1){if(f>>>0>=255)break;k=a[j+f>>0]|0;switch(k<<24>>24){case 45:case 43:case 0:break a;default:{}}a[F+f>>0]=k;f=f+1|0}a[F+f>>0]=0;r=f}else{l=0;r=0;j=f}q=(r|0)!=0;p=q?F:j;k=DP(d,p,c[w>>2]|0,0,0)|0;if((k|0)!=0?(c[k+12>>2]|0)==10:0){s=k+16|0;g[D>>3]=+((c[s>>2]|0)>>>0)+4294967296.0*+(c[s+4>>2]|0);s=30}else s=15;do if((s|0)==15){s=0;o=c[w>>2]|0;b:do if(!o){k=0;s=24}else{k=0;f=0;while(1){while(1){f=Vf(d,f)|0;if(!f){s=24;break b}if((c[f+12>>2]|0)!=10)continue;n=c[f+44>>2]|0;if(!n)continue;if(!(pT(n,o)|0))break}if((k+6|0)>>>0>63)break;c[C+(k<<2)>>2]=c[f>>2];n=f+16|0;g[B+(k<<3)>>3]=+((c[n>>2]|0)>>>0)+4294967296.0*+(c[n+4>>2]|0);k=k+1|0}c[H>>2]=o;lf(b,16,160732,H);i=-1163346256}while(0);if((s|0)==24){s=0;c[C+(k<<2)>>2]=172042;switch(c[v>>2]|0){case 1:case 0:case 10:case 9:case 2:{o=A;m=+((c[o>>2]|0)>>>0)+4294967296.0*+(c[o+4>>2]|0);break}default:m=+g[x>>3]}n=k+1|0;g[B+(k<<3)>>3]=m;c[C+(n<<2)>>2]=161032;o=k+2|0;g[B+(n<<3)>>3]=+g[y>>3];c[C+(o<<2)>>2]=161036;n=k+3|0;g[B+(o<<3)>>3]=+g[z>>3];c[C+(n<<2)>>2]=172020;o=k+4|0;g[B+(n<<3)>>3]=0.0;c[C+(o<<2)>>2]=172236;k=k+5|0;g[B+(o<<3)>>3]=-1.0;c[C+(k<<2)>>2]=0;g[B+(k<<3)>>3]=0.0;k=EP(D,p,C,B,0,0,0,0,0,0,b)|0;if((k|0)>=0){s=30;break}c[J>>2]=j;lf(b,16,160769,J);i=k}f=1}while(0);if((s|0)==30){c:do if(!(c[v>>2]|0)){FP(e,h,0,0,E)|0;switch(l|0){case 43:{s=E;m=+g[D>>3];g[D>>3]=+((c[s>>2]|~~m>>>0)>>>0)+4294967296.0*+(c[s+4>>2]|(+u(m)>=1.0?(m>0.0?~~+I(+t(m/4294967296.0),4294967295.0)>>>0:~~+G((m-+(~~m>>>0))/4294967296.0)>>>0):0)|0);break c}case 45:{s=E;m=+g[D>>3];g[D>>3]=+((c[s>>2]&~(~~m>>>0))>>>0)+4294967296.0*+(c[s+4>>2]&~(+u(m)>=1.0?(m>0.0?~~+I(+t(m/4294967296.0),4294967295.0)>>>0:~~+G((m-+(~~m>>>0))/4294967296.0)>>>0):0)|0);break c}default:break c}}while(0);k=CP(b,e,h,+g[D>>3],1,1,0)|0;if((k|0)>=0){j=j+r|0;if(q){s=(a[j>>0]|0)==0;f=s&1;i=s?0:i}else{f=1;i=0}}else{f=1;i=k}}if(!f)f=j;else break}}$c=K;return i|0}function CP(a,b,d,e,h,i,j){a=a|0;b=b|0;d=d|0;e=+e;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0.0,n=0.0,o=0.0,p=0,q=0,t=0,u=0;u=$c;$c=$c+64|0;if(($c|0)>=(ad|0))N(64);k=u+40|0;q=u+8|0;p=u;l=c[b+12>>2]|0;a:do if(!l){m=(+(i>>>0)+4294967296.0*+(j|0))*e/+(h|0);if(!(m<-1.5|m>4294967295.5)?(q=qU(m*256.0)|0,M()|0,(q&255|0)==0&0==0):0){t=14;break}d=c[b>>2]|0;g[k>>3]=m;c[k+8>>2]=d;lf(a,16,161287,k);k=-34}else{if(!h){n=e!=0.0&((i|0)!=0|(j|0)!=0)?s:r;m=+g[b+32>>3]}else{m=+g[b+32>>3];n=+(h|0);o=(+(i>>>0)+4294967296.0*+(j|0))*e;if(!(m*n>3]*n>o):0)switch(l|0){case 1:case 18:{t=14;break a}case 12:{k=OW(qU(e/+(h|0))|0,M()|0,i|0,j|0)|0;M()|0;c[d>>2]=k;k=0;break a}case 13:{k=OW(qU(e/+(h|0))|0,M()|0,i|0,j|0)|0;M()|0;c[d>>2]=k;k=0;break a}case 6:case 14:{m=(+(i>>>0)+4294967296.0*+(j|0))*e;if(+(~~e|0)==e){c[d>>2]=~~m;c[d+4>>2]=h;k=0;break a}else{aQ(p,m/+(h|0),16777216);i=p;j=c[i+4>>2]|0;k=d;c[k>>2]=c[i>>2];c[k+4>>2]=j;k=0;break a}}case 2:case 17:case 15:{m=e/+(h|0);if((i|0)==1&(j|0)==0&m==9223372036854775808.0){k=-1;l=2147483647}else{k=qU(m)|0;k=OW(k|0,M()|0,i|0,j|0)|0;l=M()|0}c[d>>2]=k;c[d+4>>2]=l;k=0;break a}case 9:{m=e/+(h|0);do if(!((i|0)==1&(j|0)==0&m==18446744073709551616.0))if(m>9223372036854775808.0){k=qU(m+-9223372036854775808.0)|0;k=OW(k|0,(M()|0)^-2147483648|0,i|0,j|0)|0;l=M()|0;break}else{k=qU(m)|0;k=OW(k|0,M()|0,i|0,j|0)|0;l=M()|0;break}else{k=-1;l=-1}while(0);c[d>>2]=k;c[d+4>>2]=l;k=0;break a}case 4:{f[d>>2]=(+(i>>>0)+4294967296.0*+(j|0))*e/+(h|0);k=0;break a}case 3:{g[d>>3]=(+(i>>>0)+4294967296.0*+(j|0))*e/+(h|0);k=0;break a}default:{k=-22;break a}}n=o/n}k=c[b>>2]|0;e=+g[b+24>>3];g[q>>3]=n;c[q+8>>2]=k;g[q+16>>3]=e;g[q+24>>3]=m;lf(a,16,161235,q);k=-34}while(0);if((t|0)==14){k=qU(e/+(h|0))|0;k=OW(k|0,M()|0,i|0,j|0)|0;M()|0;c[d>>2]=k;k=0}$c=u;return k|0}function DP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ZP(a,b,c,d,e,0)|0}function EP(a,b,d,e,f,h,i,j,k,l,m){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0;o=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);n=o;c[n>>2]=0;b=GP(n,b,d,f,h,i,j,l,m)|0;if((b|0)<0)g[a>>3]=r;else{b=c[n>>2]|0;g[a>>3]=+HP(b,e,k);IP(b);b=JP(+g[a>>3])|0;k=(M()|0)&2147483647;b=k>>>0>2146435072|(k|0)==2146435072&b>>>0>0?-22:0}$c=o;return b|0}function FP(a,b,d,e,h){a=a|0;b=b|0;d=d|0;e=e|0;h=h|0;switch(c[a+12>>2]|0){case 0:{a=h;c[a>>2]=c[b>>2];c[a+4>>2]=0;a=0;break}case 12:{e=c[b>>2]|0;a=h;c[a>>2]=e;c[a+4>>2]=((e|0)<0)<<31>>31;a=0;break}case 13:{e=c[b>>2]|0;a=h;c[a>>2]=e;c[a+4>>2]=((e|0)<0)<<31>>31;a=0;break}case 1:case 18:{e=c[b>>2]|0;a=h;c[a>>2]=e;c[a+4>>2]=((e|0)<0)<<31>>31;a=0;break}case 9:case 2:case 15:case 17:{d=b;e=c[d+4>>2]|0;a=h;c[a>>2]=c[d>>2];c[a+4>>2]=e;a=0;break}case 4:{g[d>>3]=+f[b>>2];a=0;break}case 3:{g[d>>3]=+g[b>>3];a=0;break}case 6:{d=c[b>>2]|0;a=h;c[a>>2]=d;c[a+4>>2]=((d|0)<0)<<31>>31;c[e>>2]=c[b+4>>2];a=0;break}case 10:{g[d>>3]=+g[a+16>>3];a=0;break}default:a=-22}return a|0}function GP(b,d,e,f,g,h,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=$c;$c=$c+64|0;if(($c|0)>=(ad|0))N(64);q=s;p=s+12|0;r=s+8|0;l=p;m=l+52|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(m|0));c[r>>2]=0;o=tf((dU(d)|0)+1|0)|0;if(!o)l=-12;else{n=o;l=d;a:while(1){do{m=a[l>>0]|0;if(!(m<<24>>24))break a;l=l+1|0}while((LP(m<<24>>24)|0)!=0);a[n>>0]=m;n=n+1|0}a[n>>0]=0;c[p>>2]=75848;c[p+4>>2]=100;m=p+8|0;c[m>>2]=o;c[p+16>>2]=e;c[p+20>>2]=g;c[p+24>>2]=f;c[p+28>>2]=i;c[p+32>>2]=h;c[p+40>>2]=j;c[p+44>>2]=k;l=MP(r,p)|0;do if((l|0)>=0){m=c[m>>2]|0;if(a[m>>0]|0){c[q>>2]=m;c[q+4>>2]=d;lf(p,16,160808,q);l=-22;break}m=c[r>>2]|0;if(NP(m)|0){q=cg(80)|0;c[m+32>>2]=q;if(!q)l=-12;else{c[b>>2]=m;c[r>>2]=0}}else l=-22}while(0);IP(c[r>>2]|0);hf(o)}$c=s;return l|0}function HP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0.0;g=$c;$c=$c+64|0;if(($c|0)>=(ad|0))N(64);e=g;f=e;h=f+48|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+48>>2]=c[a+32>>2];c[e+12>>2]=b;c[e+36>>2]=d;i=+KP(e,a);$c=g;return +i}function IP(a){a=a|0;var b=0,d=0;d=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);b=d;c[b>>2]=a;if(a|0){IP(c[a+20>>2]|0);IP(c[a+24>>2]|0);IP(c[a+28>>2]|0);gf(a+32|0);gf(b)}$c=d;return}function JP(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;L(c[h+4>>2]|0);return b|0}function KP(a,b){a=a|0;b=b|0;var e=0.0,f=0,h=0.0,i=0,j=0.0,k=0.0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0;q=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);i=q;a:do switch(c[b>>2]|0){case 0:{e=+g[b+8>>3];break}case 1:{e=+g[b+8>>3]*+g[(c[a+12>>2]|0)+(c[b+16>>2]<<3)>>3];break}case 2:{o=+g[b+8>>3];m=c[b+16>>2]|0;p=+KP(a,c[b+20>>2]|0);p=o*+cd[m&15](p);$c=q;return +p}case 3:{o=+g[b+8>>3];l=c[b+16>>2]|0;m=c[a+36>>2]|0;p=+KP(a,c[b+20>>2]|0);p=o*+dd[l&0](m,p);$c=q;return +p}case 4:{n=+g[b+8>>3];l=c[b+16>>2]|0;m=c[a+36>>2]|0;o=+KP(a,c[b+20>>2]|0);p=+KP(a,c[b+24>>2]|0);p=n*+ed[l&0](m,o,p);$c=q;return +p}case 5:{p=1.0/(+E(+(+KP(a,c[b+20>>2]|0)*4.0))+1.0);$c=q;return +p}case 6:{p=+KP(a,c[b+20>>2]|0);p=+E(+(p*p*-.5))/2.5066282746310002;$c=q;return +p}case 7:{p=+g[b+8>>3];m=c[a+48>>2]|0;a=~~+KP(a,c[b+20>>2]|0);$c=q;return +(p*+g[m+(((a|0)>0?((a|0)<9?a:9):0)<<3)>>3])}case 8:{p=+g[b+8>>3];a=JP(+KP(a,c[b+20>>2]|0))|0;b=(M()|0)&2147483647;$c=q;return +(p*+((b>>>0>2146435072|(b|0)==2146435072&a>>>0>0)&1))}case 9:{p=+g[b+8>>3]*+((JP(+KP(a,c[b+20>>2]|0))|0)==0&((M()|0)&2147483647|0)==2146435072&1);$c=q;return +p}case 27:{p=+g[b+8>>3]*+t(+(+KP(a,c[b+20>>2]|0)));$c=q;return +p}case 28:{p=+g[b+8>>3]*+G(+(+KP(a,c[b+20>>2]|0)));$c=q;return +p}case 29:{p=+g[b+8>>3]*+Ob(+(+KP(a,c[b+20>>2]|0)));$c=q;return +p}case 30:{p=+g[b+8>>3]*+WW(+(+KP(a,c[b+20>>2]|0)));$c=q;return +p}case 31:{p=+g[b+8>>3]*+v(+(+KP(a,c[b+20>>2]|0)));$c=q;return +p}case 32:{p=+g[b+8>>3]*+(+KP(a,c[b+20>>2]|0)==0.0&1);$c=q;return +p}case 36:{h=+g[b+8>>3];if(!(+KP(a,c[b+20>>2]|0)!=0.0)){f=c[b+28>>2]|0;if(!f)e=0.0;else m=22}else{f=c[b+24>>2]|0;m=22}if((m|0)==22)e=+KP(a,f);e=h*e;break}case 37:{h=+g[b+8>>3];if(+KP(a,c[b+20>>2]|0)!=0.0){f=c[b+28>>2]|0;if(!f)e=0.0;else m=27}else{f=c[b+24>>2]|0;m=27}if((m|0)==27)e=+KP(a,f);e=h*e;break}case 42:{f=b+20|0;e=+KP(a,c[f>>2]|0);h=+KP(a,c[b+24>>2]|0);j=+KP(a,c[b+28>>2]|0);m=JP(h)|0;l=(M()|0)&2147483647;if((!(l>>>0>2146435072|(l|0)==2146435072&m>>>0>0)?(m=JP(j)|0,l=(M()|0)&2147483647,!(l>>>0>2146435072|(l|0)==2146435072&m>>>0>0)):0)?(m=JP(e)|0,l=(M()|0)&2147483647,!(h>j|(l>>>0>2146435072|(l|0)==2146435072&m>>>0>0))):0){o=+g[b+8>>3];p=+KP(a,c[f>>2]|0);$c=q;return +(o*(pj?j:p))}else e=r;break}case 41:{e=+KP(a,c[b+20>>2]|0);h=+g[b+8>>3];if(!(e>=+KP(a,c[b+24>>2]|0)))e=0.0;else e=+(e<=+KP(a,c[b+28>>2]|0)&1);e=h*e;break}case 44:{p=+KP(a,c[b+20>>2]|0);p=p+(+KP(a,c[b+24>>2]|0)-p)*+KP(a,c[b+28>>2]|0);$c=q;return +p}case 38:{e=+KP(a,c[b+20>>2]|0);f=c[b+24>>2]|0;if(!f)f=32;else f=~~+KP(a,f);g[i>>3]=e;lf(a,f,160804,i);break}case 33:{m=~~+KP(a,c[b+20>>2]|0);a=(c[a+48>>2]|0)+(((m|0)>0?((m|0)<9?m:9):0)<<3)|0;p=+g[a>>3];m=JP(p)|0;l=(M()|0)&2147483647;p=+((IW(OW(~~p>>>0|0,(+u(p)>=1.0?(p>0.0?~~+I(+t(p/4294967296.0),4294967295.0)>>>0:~~+G((p-+(~~p>>>0))/4294967296.0)>>>0):0)|0,1664525,0)|0,M()|0,1013904223,0)|0)>>>0)+4294967296.0*+((M()|0)>>>0);p=l>>>0>2146435072|(l|0)==2146435072&m>>>0>0?1013904223.0:p;g[a>>3]=p;$c=q;return +(+g[b+8>>3]*(p*5.421010862427522e-20))}case 24:{i=b+20|0;f=b+24|0;e=r;while(1){if(!(+KP(a,c[i>>2]|0)!=0.0))break a;e=+KP(a,c[f>>2]|0)}}case 25:{k=+KP(a,c[b+24>>2]|0);f=c[b+28>>2]|0;if(!f)m=0;else{m=~~+KP(a,f);m=(m|0)>0?((m|0)<9?m:9):0}l=a+48|0;n=+g[(c[l>>2]|0)+(m<<3)>>3];i=b+20|0;h=1.0;e=0.0;f=0;while(1){if((f|0)>=1e3)break;g[(c[l>>2]|0)+(m<<3)>>3]=+(f|0);p=+KP(a,c[i>>2]|0);j=e+h*p;if(p!=0.0&e==j){e=j;break}b=f+1|0;h=h*(k/+(b|0));e=j;f=b}g[(c[l>>2]|0)+(m<<3)>>3]=n;break}case 26:{l=a+48|0;p=+g[c[l>>2]>>3];o=+KP(a,c[b+24>>2]|0);i=b+20|0;k=1797693134862315708145274.0e284;j=-1797693134862315708145274.0e284;h=-1.0;e=-1.0;f=-1;while(1){if((f|0)>=1024)break;if((f|0)<255)g[c[l>>2]>>3]=o*+(d[120887+(f&255)>>0]|0)/255.0;else{n=o*+w(.9,+(+(f+-255|0)));g[c[l>>2]>>3]=(f&2|0?e:h)+((f&1|0)==0?n:-n)}n=+KP(a,c[i>>2]|0);if(n<=0.0&n>j){j=n;e=+g[c[l>>2]>>3]}if(n>=0.0&n>2]>>3]}if(e>=0.0&h>=0.0){f=0;m=60;break}else f=f+1|0}b:do if((m|0)==60)while(1){if((f|0)>=1e3)break b;o=(e+h)*.5;g[c[l>>2]>>3]=o;if(e==o|h==o)break b;n=+KP(a,c[i>>2]|0);if(n<=0.0)e=+g[c[l>>2]>>3];if(n>=0.0)h=+g[c[l>>2]>>3];b=JP(n)|0;m=(M()|0)&2147483647;if(m>>>0>2146435072|(m|0)==2146435072&b>>>0>0){h=n;e=n;break}else{f=f+1|0;m=60}}while(0);g[c[l>>2]>>3]=p;e=k>-j?e:h;break}default:{e=+KP(a,c[b+20>>2]|0);h=+KP(a,c[b+24>>2]|0);do switch(c[b>>2]|0){case 10:{e=(e-h*+t(+(e/h)))*+g[b+8>>3];break a}case 35:{e=+g[b+8>>3]*(+((cM(~~e>>>0,+u(e)>=1.0?(e>0.0?~~+I(+t(e/4294967296.0),4294967295.0)>>>0:~~+G((e-+(~~e>>>0))/4294967296.0)>>>0):0,~~h>>>0,+u(h)>=1.0?(h>0.0?~~+I(+t(h/4294967296.0),4294967295.0)>>>0:~~+G((h-+(~~h>>>0))/4294967296.0)>>>0):0)|0)>>>0)+4294967296.0*+(M()|0));break a}case 11:{e=(e>h?e:h)*+g[b+8>>3];break a}case 12:{e=(e>3];break a}case 13:{e=(e==h?1.0:0.0)*+g[b+8>>3];break a}case 14:{e=(e>h?1.0:0.0)*+g[b+8>>3];break a}case 15:{e=(e>=h?1.0:0.0)*+g[b+8>>3];break a}case 17:{e=(e>3];break a}case 16:{e=(e<=h?1.0:0.0)*+g[b+8>>3];break a}case 18:{e=+w(+e,+h)*+g[b+8>>3];break a}case 19:{e=e*h*+g[b+8>>3];break a}case 20:{e=e/h*+g[b+8>>3];break a}case 21:{e=(e+h)*+g[b+8>>3];break a}case 22:{e=h*+g[b+8>>3];break a}case 23:{p=+g[b+8>>3];b=~~e;g[(c[a+48>>2]|0)+(((b|0)>0?((b|0)<9?b:9):0)<<3)>>3]=h;e=h*p;break a}case 34:{e=+g[b+8>>3]*+hT(e,h);break a}case 43:{e=+g[b+8>>3]*+D(+e,+h);break a}case 39:{a=JP(e)|0;m=(M()|0)&2147483647;if(m>>>0>2146435072|(m|0)==2146435072&a>>>0>0){e=r;break a}a=JP(h)|0;m=(M()|0)&2147483647;if(m>>>0>2146435072|(m|0)==2146435072&a>>>0>0){e=r;break a}e=+g[b+8>>3]*+(~~h&~~e|0);break a}case 40:{a=JP(e)|0;m=(M()|0)&2147483647;if(m>>>0>2146435072|(m|0)==2146435072&a>>>0>0){e=r;break a}a=JP(h)|0;m=(M()|0)&2147483647;if(m>>>0>2146435072|(m|0)==2146435072&a>>>0>0){e=r;break a}e=+g[b+8>>3]*+(~~h|~~e|0);break a}default:{e=r;break a}}while(0)}}while(0);$c=q;return +e}function LP(a){a=a|0;switch(a|0){case 9:case 10:case 12:case 13:case 32:{a=1;break}default:a=(a|0)==11&1}return a|0}function MP(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);j=l+4|0;i=l;k=d+4|0;e=c[k>>2]|0;do if((e|0)>=1){c[k>>2]=e+-1;e=OP(j,d)|0;if((e|0)>=0){f=d+8|0;h=c[j>>2]|0;while(1){e=c[f>>2]|0;if((a[e>>0]|0)!=59){f=9;break}c[f>>2]=e+1;e=OP(i,d)|0;if((e|0)<0){f=6;break}g=c[i>>2]|0;e=PP(22,h,g)|0;if(!e){f=8;break}else h=e}if((f|0)==6){c[j>>2]=h;IP(h);break}else if((f|0)==8){c[j>>2]=0;IP(h);IP(g);e=-12;break}else if((f|0)==9){c[j>>2]=h;c[k>>2]=(c[k>>2]|0)+1;c[b>>2]=h;e=0;break}}}else e=-22;while(0);$c=l;return e|0}function NP(a){a=a|0;a:do if(!a)a=0;else switch(c[a>>2]|0){case 1:case 0:{a=1;break a}case 33:case 32:case 31:case 30:case 29:case 28:case 27:case 9:case 8:case 6:case 7:case 5:case 3:case 2:{if(!(NP(c[a+20>>2]|0)|0)){a=0;break a}a=(c[a+24>>2]|0)==0;break a}case 38:{if(!(NP(c[a+20>>2]|0)|0)){a=0;break a}a=c[a+24>>2]|0;if(!a){a=1;break a}a=(NP(a)|0)!=0;break a}case 25:case 37:case 36:{if(!(NP(c[a+20>>2]|0)|0)){a=0;break a}if(!(NP(c[a+24>>2]|0)|0)){a=0;break a}a=c[a+28>>2]|0;if(!a){a=1;break a}a=(NP(a)|0)!=0;break a}case 44:case 42:case 41:{if(!(NP(c[a+20>>2]|0)|0)){a=0;break a}if(!(NP(c[a+24>>2]|0)|0)){a=0;break a}a=(NP(c[a+28>>2]|0)|0)!=0;break a}default:{if(!(NP(c[a+20>>2]|0)|0)){a=0;break a}if(!(NP(c[a+24>>2]|0)|0)){a=0;break a}a=(c[a+28>>2]|0)==0;break a}}while(0);return a&1|0}function OP(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);j=k+4|0;i=k;e=QP(j,d)|0;do if((e|0)>=0){f=d+8|0;h=c[j>>2]|0;a:while(1){switch(a[c[f>>2]>>0]|0){case 43:case 45:break;default:{f=8;break a}}e=QP(i,d)|0;if((e|0)<0){f=5;break}g=c[i>>2]|0;e=PP(21,h,g)|0;if(!e){f=7;break}else h=e}if((f|0)==5){c[j>>2]=h;IP(h);break}else if((f|0)==7){c[j>>2]=0;IP(h);IP(g);e=-12;break}else if((f|0)==8){c[j>>2]=h;c[b>>2]=h;e=0;break}}while(0);$c=k;return e|0}function PP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=cg(40)|0;if(!e)e=0;else{c[e>>2]=a;g[e+8>>3]=1.0;c[e+20>>2]=b;c[e+24>>2]=d}return e|0}function QP(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);k=l+4|0;j=l;e=RP(k,d)|0;do if((e|0)>=0){h=d+8|0;i=c[k>>2]|0;a:while(1){e=c[h>>2]|0;switch(a[e>>0]|0){case 47:case 42:break;default:{f=8;break a}}c[h>>2]=e+1;f=a[e>>0]|0;e=RP(j,d)|0;if((e|0)<0){f=5;break}g=c[j>>2]|0;e=PP(f<<24>>24==42?19:20,i,g)|0;if(!e){f=7;break}else i=e}if((f|0)==5){c[k>>2]=i;IP(i);break}else if((f|0)==7){c[k>>2]=0;IP(i);IP(g);e=-12;break}else if((f|0)==8){c[k>>2]=i;c[b>>2]=i;e=0;break}}while(0);$c=l;return e|0}function RP(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);l=n+12|0;j=n+8|0;k=n+4|0;m=n;e=SP(k,d,l)|0;do if((e|0)>=0){i=d+8|0;h=c[k>>2]|0;while(1){e=c[i>>2]|0;if((a[e>>0]|0)!=94){f=10;break}c[i>>2]=e+1;e=SP(m,d,j)|0;if((e|0)<0){f=5;break}f=PP(18,h,c[m>>2]|0)|0;c[k>>2]=f;if(!f){f=7;break}e=c[f+24>>2]|0;if(!e){h=f;continue}h=e+8|0;g[h>>3]=+g[h>>3]*+(c[j>>2]|1|0);h=f}if((f|0)==5){IP(h);break}else if((f|0)==7){IP(h);IP(c[m>>2]|0);e=-12;break}else if((f|0)==10){if(h|0){m=h+8|0;g[m>>3]=+g[m>>3]*+(c[l>>2]|1|0)}c[b>>2]=h;e=0;break}}while(0);$c=n;return e|0}function SP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=j;g=d+8|0;h=c[g>>2]|0;do if((a[h>>0]|0)==45){+SU(h,f);h=c[f>>2]|0;if(((h|0)!=(c[g>>2]|0)?(a[h>>0]|0)==100:0)?(a[h+1>>0]|0)==66:0){c[e>>2]=0;b=TP(b,d)|0;break}i=7}else i=7;while(0);if((i|0)==7)b=UP(b,d,e)|0;$c=j;return b|0}function TP(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);s=v+24|0;p=v+16|0;o=v+8|0;n=v;u=v+32|0;q=v+28|0;m=cg(40)|0;c[u>>2]=m;r=d+8|0;t=c[r>>2]|0;c[q>>2]=t;a:do if(!m)e=-12;else{j=m+8|0;g[j>>3]=+VP(t,q);l=c[q>>2]|0;i=m;if((l|0)!=(c[r>>2]|0)){c[m>>2]=0;c[r>>2]=l;c[b>>2]=i;e=0;break}g[j>>3]=1.0;f=c[d+16>>2]|0;b:do if(!f)e=0;else{e=0;while(1){h=c[f+(e<<2)>>2]|0;if(!h){e=0;break b}if(WP(l,h)|0)break;e=e+1|0}c[r>>2]=l+(dU(h)|0);c[m>>2]=1;c[m+16>>2]=e;c[b>>2]=i;e=0;break a}while(0);while(1){if(e>>>0>=4)break;f=c[38216+(e<<4)>>2]|0;if(WP(l,f)|0){k=11;break}e=e+1|0}if((k|0)==11){c[r>>2]=l+(dU(f)|0);c[m>>2]=0;g[j>>3]=+g[38216+(e<<4)+8>>3];c[b>>2]=i;e=0;break}e=eU(l,40)|0;c[r>>2]=e;if(!e){c[n>>2]=t;lf(d,16,160858,n);c[r>>2]=c[q>>2];IP(c[u>>2]|0);e=-22;break}c[r>>2]=e+1;if((a[l>>0]|0)==40){gf(u);e=MP(u,d)|0;if((e|0)<0)break;e=c[r>>2]|0;if((a[e>>0]|0)==41){c[r>>2]=e+1;c[b>>2]=c[u>>2];e=0;break}else{c[o>>2]=t;lf(d,16,160901,o);IP(c[u>>2]|0);e=-22;break}}e=MP(m+20|0,d)|0;if((e|0)<0){IP(c[u>>2]|0);break}f=c[r>>2]|0;e=a[f>>0]|0;if(e<<24>>24==44){c[r>>2]=f+1;MP((c[u>>2]|0)+24|0,d)|0;f=c[r>>2]|0;e=a[f>>0]|0;if(e<<24>>24==44){c[r>>2]=f+1;MP((c[u>>2]|0)+28|0,d)|0;f=c[r>>2]|0;e=a[f>>0]|0}}if(e<<24>>24!=41){c[p>>2]=t;lf(d,16,160922,p);IP(c[u>>2]|0);e=-22;break}c[r>>2]=f+1;k=c[u>>2]|0;c[k>>2]=2;i=c[q>>2]|0;j=k;do if(!(WP(i,160960)|0)){if(WP(i,160965)|0){c[k+16>>2]=2;break}if(WP(i,160970)|0){c[k+16>>2]=3;break}if(WP(i,160975)|0){c[k+16>>2]=4;break}if(WP(i,160979)|0){c[k+16>>2]=5;break}if(WP(i,160983)|0){c[k+16>>2]=6;break}if(WP(i,160987)|0){c[k+16>>2]=7;break}if(WP(i,160992)|0){c[k+16>>2]=8;break}if(WP(i,160997)|0){c[k+16>>2]=9;break}if(WP(i,161002)|0){c[k+16>>2]=10;break}if(WP(i,173472)|0){c[k+16>>2]=11;break}if(WP(i,161006)|0){c[k+16>>2]=12;break}if(WP(i,161010)|0){c[k+16>>2]=13;break}if(WP(i,161015)|0){c[k>>2]=5;break}if(WP(i,161022)|0){c[k>>2]=6;break}if(WP(i,161028)|0){c[k>>2]=10;break}if(WP(i,161032)|0){c[k>>2]=11;break}if(WP(i,161036)|0){c[k>>2]=12;break}if(WP(i,161040)|0){c[k>>2]=13;break}if(WP(i,161043)|0){c[k>>2]=15;break}if(WP(i,161047)|0){c[k>>2]=14;break}if(WP(i,161050)|0){c[k>>2]=16;break}if(WP(i,161054)|0){c[k>>2]=17;break}if(WP(i,161057)|0){c[k>>2]=7;break}if(WP(i,161060)|0){c[k>>2]=8;break}if(WP(i,161066)|0){c[k>>2]=9;break}if(WP(i,161072)|0){c[k>>2]=23;break}if(WP(i,161075)|0){c[k>>2]=24;break}if(WP(i,161081)|0){c[k>>2]=25;break}if(WP(i,161088)|0){c[k>>2]=26;break}if(WP(i,161093)|0){c[k>>2]=27;break}if(WP(i,161099)|0){c[k>>2]=28;break}if(WP(i,167178)|0){c[k>>2]=29;break}if(WP(i,161104)|0){c[k>>2]=30;break}if(WP(i,161110)|0){c[k>>2]=31;break}if(WP(i,161115)|0){c[k>>2]=32;break}if(WP(i,161119)|0){c[k>>2]=18;break}if(WP(i,161123)|0){c[k>>2]=38;break}if(WP(i,161586)|0){c[k>>2]=33;break}if(WP(i,161129)|0){c[k>>2]=34;break}if(WP(i,161135)|0){c[k>>2]=35;break}if(WP(i,161139)|0){c[k>>2]=36;break}if(WP(i,161142)|0){c[k>>2]=37;break}if(WP(i,161148)|0){c[k>>2]=39;break}if(WP(i,161155)|0){c[k>>2]=40;break}if(WP(i,161161)|0){c[k>>2]=41;break}if(WP(i,161169)|0){c[k>>2]=42;break}if(WP(i,161174)|0){c[k>>2]=43;break}if(WP(i,161180)|0){c[k>>2]=44;break}f=c[d+24>>2]|0;c:do if(f|0){e=0;while(1){h=c[f+(e<<2)>>2]|0;if(!h)break c;if(WP(i,h)|0)break;e=e+1|0}c[k+16>>2]=c[(c[d+20>>2]|0)+(e<<2)>>2];c[k>>2]=3;c[b>>2]=j;e=0;break a}while(0);f=c[d+32>>2]|0;d:do if(f|0){e=0;while(1){h=c[f+(e<<2)>>2]|0;if(!h)break d;if(WP(i,h)|0)break;e=e+1|0}c[k+16>>2]=c[(c[d+28>>2]|0)+(e<<2)>>2];c[k>>2]=4;c[b>>2]=j;e=0;break a}while(0);c[s>>2]=t;lf(d,16,161185,s);IP(c[u>>2]|0);e=-22;break a}else c[k+16>>2]=1;while(0);c[b>>2]=j;e=0}while(0);$c=v;return e|0}function UP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=d+8|0;h=c[f>>2]|0;g=a[h>>0]|0;g=(g<<24>>24==43&1)-(g<<24>>24==45&1)|0;c[e>>2]=g;c[f>>2]=h+(g&1);return TP(b,d)|0}function VP(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0,i=0,j=0,k=0,l=0;l=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);k=l;if((a[b>>0]|0)==48?(a[b+1>>0]|32|0)==120:0)f=+((fT(b,k,16)|0)>>>0);else f=+SU(b,k);i=c[k>>2]|0;e=i;if((i|0)!=(b|0)){b=a[i>>0]|0;if(b<<24>>24==100)if((a[i+1>>0]|0)==66){f=+pU(f/20.0*3.321928094887362);b=i+2|0;c[k>>2]=b;e=b;j=14}else j=10;else if((b+-69&255)<54)j=10;else{h=b;b=i}do if((j|0)==10){b=(b<<24>>24)+-69|0;if(a[38280+(b*24|0)+16>>0]|0){h=i+1|0;if((a[h>>0]|0)==105){f=f*+g[38280+(b*24|0)>>3];b=i+2|0;c[k>>2]=b;e=b;j=14;break}else{f=f*+g[38280+(b*24|0)+8>>3];c[k>>2]=h;e=h;b=h;j=14;break}}else{b=i;j=14}}while(0);if((j|0)==14)h=a[b>>0]|0;if(h<<24>>24==66){e=b+1|0;c[k>>2]=e;f=f*8.0}}if(d|0)c[d>>2]=e;$c=l;return +f}function WP(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=0;while(1){e=a[c+d>>0]|0;f=a[b+d>>0]|0;if(!(e<<24>>24)){g=4;break}if(e<<24>>24==f<<24>>24)d=d+1|0;else{d=0;break}}if((g|0)==4){d=f<<24>>24;d=f<<24>>24!=95&((d+-48|0)>>>0>9&((d&-33)+-65|0)>>>0>25)&1}return d|0}function XP(a){a=+a;var b=0;b=YP()|0;return +((+(b>>>0)+4294967296.0*+(M()|0))*1.0e-06)}function YP(){var a=0,b=0,d=0,e=0;a=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);b=a;Kb(b|0,0)|0;e=c[b>>2]|0;e=OW(e|0,((e|0)<0)<<31>>31|0,1e6,0)|0;d=M()|0;b=c[b+4>>2]|0;b=IW(e|0,d|0,b|0,((b|0)<0)<<31>>31|0)|0;L(M()|0);$c=a;return b|0}function ZP(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);i=k;a:do if((a|0)!=0?(j=c[a>>2]|0,(j|0)!=0):0){b:do if(f&1|0){if(!(f&2)){i=0;while(1){i=$P(a,i)|0;if(!i)break b;h=ZP(i,b,d,e,f,g)|0;if(h|0)break a}}c[i>>2]=0;h=0;while(1){h=_P(j,h)|0;c[i>>2]=h;if(!h){i=7;break}h=ZP(i,b,d,e,f,0)|0;if(h|0){i=10;break}h=c[i>>2]|0}if((i|0)==7)break;else if((i|0)==10)break a}while(0);j=(d|0)==0;h=0;while(1){h=Vf(a,h)|0;if(!h){h=0;break a}if(pT(c[h>>2]|0,b)|0)continue;if((c[h+40>>2]&e|0)!=(e|0))continue;i=(c[h+12>>2]|0)==10;if(j)if(i)continue;else break;if(!i)continue;i=c[h+44>>2]|0;if(!i)continue;if(!(pT(i,d)|0))break}if(g)c[g>>2]=(f&2|0)==0?a:0}else h=0;while(0);$c=k;return h|0}function _P(a,b){a=a|0;b=b|0;a=c[a+28>>2]|0;if(!a)a=0;else a=fd[a&31](b)|0;return a|0}function $P(a,b){a=a|0;b=b|0;var d=0;d=c[(c[a>>2]|0)+24>>2]|0;if(!d)a=0;else a=hd[d&15](a,b)|0;return a|0}function aQ(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0.0;l=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);j=l;e=l+8|0;i=bQ(b)|0;h=(M()|0)&2147483647;do if(h>>>0>2146435072|(h|0)==2146435072&i>>>0>0){c[a>>2]=0;c[a+4>>2]=0}else{if(+u(+b)>2147483650.0){c[a>>2]=b<0.0?-1:1;c[a+4>>2]=0;break}+QT(b,e);f=(c[e>>2]|0)+-1|0;f=(f|0)>0?f:0;c[e>>2]=f;e=TW(1,0,61-f|0)|0;f=M()|0;g=j+4|0;m=+t(+((+(e>>>0)+4294967296.0*+(f|0))*b+.5));h=~~m>>>0;i=+u(m)>=1.0?(m>0.0?~~+I(+t(m/4294967296.0),4294967295.0)>>>0:~~+G((m-+(~~m>>>0))/4294967296.0)>>>0):0;an(j,g,h,i,e,f,d,((d|0)<0)<<31>>31)|0;if(!(c[j>>2]|0)){if((d|0)!=2147483647&(b!=0.0&(d|0)>0))k=8}else if((d|0)!=2147483647&((d|0)>0&(b!=0.0&(c[g>>2]|0)==0)))k=8;if((k|0)==8)an(j,g,h,i,e,f,2147483647,0)|0;d=j;j=c[d+4>>2]|0;k=a;c[k>>2]=c[d>>2];c[k+4>>2]=j}while(0);$c=l;return}function bQ(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;L(c[h+4>>2]|0);return b|0}function cQ(){var a=0,b=0,d=0;d=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);b=d;a=Zb(84)|0;if(!(c[46300]|0)){c[b>>2]=a;lf(0,48,161358,b);c[46300]=1}$c=d;return a|0}function dQ(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);m=q;n=a+68|0;g=c[n>>2]|0;do if((g|0)>0?(o=a+72|0,h=c[o>>2]|0,(h|0)>0):0){p=a+392|0;e=c[p>>2]|0;j=a+396|0;f=c[j>>2]|0;if(e>>>0<(2147483647-f|0)>>>0?(k=a+384|0,r=c[k>>2]|0,l=a+388|0,i=c[l>>2]|0,(i+r|0)>>>0>>0&((f+e|0)>>>0>>0&r>>>0<(2147483647-i|0)>>>0)):0){i=Gg(c[a+80>>2]|0)|0;if(!i)e=-558323010;else{if(!(0==0?(c[i+8>>2]&12|0)==0:0)){c[n>>2]=(c[n>>2]|0)-(c[j>>2]|0);c[o>>2]=(c[o>>2]|0)-(c[l>>2]|0);c[j>>2]=0;c[l>>2]=0;e=0;break}eQ(m,a,i);if(!(b&1)){h=c[p>>2]|0;if(!h)b=2147483647;else b=d[161385+((H(h&0-h,125613361)|0)>>>27)>>0]|0;f=2147483647;g=0;while(1){if(!(c[a+(g<<2)>>2]|0))break;e=c[m+(g<<2)>>2]|0;if(!e)e=2147483647;else e=d[161385+((H(e&0-e,125613361)|0)>>>27)>>0]|0;f=(e|0)>(f|0)?f:e;g=g+1|0}if((b|0)<(f|0)){e=-558323010;break}if((f|0)<5){c[p>>2]=h&-1<>2]|0;if(!g)break;c[f>>2]=g+(c[m+(e<<2)>>2]|0);e=e+1|0}c[n>>2]=(c[n>>2]|0)-((c[j>>2]|0)+(c[p>>2]|0));c[o>>2]=(c[o>>2]|0)-((c[l>>2]|0)+(c[k>>2]|0));c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;e=0}}else e=-34}else e=-22;while(0);$c=q;return e|0}function eQ(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=e+5|0;k=e+6|0;m=e+8|0;n=e+4|0;o=b+384|0;p=b+392|0;f=0;a:while(1){if(!(c[b+(f<<2)>>2]|0))break;if((f+-1|0)>>>0<2){j=d[k>>0]|0;l=d[h>>0]|0}else{j=0;l=0}if((f|0)==1&((c[m>>2]&66|0)!=0|0!=0)){q=10;break}i=d[n>>0]|0;g=0;while(1){if((g|0)>=(i|0))break a;if((c[e+16+(g<<5)>>2]|0)==(f|0))break;g=g+1|0}j=H((c[o>>2]|0)>>>j,c[b+32+(f<<2)>>2]|0)|0;c[a+(f<<2)>>2]=(H((c[p>>2]|0)>>>l,c[e+16+(g<<5)+4>>2]|0)|0)+j;f=f+1|0}if((q|0)==10)c[a+4>>2]=0;return}function fQ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=c[d>>2]|0;g=c[e+4>>2]|0;h=OW(g|0,((g|0)<0)<<31>>31|0,h|0,((h|0)<0)<<31>>31|0)|0;g=M()|0;e=c[e>>2]|0;d=c[d+4>>2]|0;e=OW(d|0,((d|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0;f=Sm(a,b,h,g,e,M()|0,f)|0;L(M()|0);return f|0}function gQ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);g=f+8|0;h=f;c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];e=fQ(a,b,h,g,5)|0;L(M()|0);$c=f;return e|0}function hQ(a,b){a=a|0;b=b|0;if((b|0)!=0?(2147483647/(b>>>0)|0)>>>0>a>>>0:0)a=cg(H(b,a)|0)|0;else a=0;return a|0}function iQ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);g=l+16|0;k=l+8|0;i=l;j=l+32|0;h=l+24|0;f=ZP(a,b,0,0,e,j)|0;e=c[j>>2]|0;a:do if((f|0)!=0&(e|0)!=0){b=(d|0)!=0;if(!b)switch(c[f+12>>2]|0){case 18:case 17:case 16:case 15:case 14:case 11:case 13:case 12:case 5:break;default:{b=-22;break a}}if(!(c[f+40>>2]&128)){j=e+(c[f+8>>2]|0)|0;do switch(c[f+12>>2]|0){case 18:{b=jQ(a,f,d,j)|0;break a}case 5:{b=kQ(d,j)|0;break a}case 7:{b=lQ(d,j)|0;break a}case 6:case 3:case 4:case 9:case 2:case 1:case 0:{b=BP(a,e,f,d,j)|0;break a}case 11:{b=mQ(a,d,j)|0;break a}case 14:{b=nQ(a,d,h)|0;if((b|0)>=0){b=c[h>>2]|0;b=CP(a,f,j,1.0,c[h+4>>2]|0,b,((b|0)<0)<<31>>31)|0}break a}case 12:{b=oQ(a,f,d,j)|0;break a}case 13:{b=pQ(a,f,d,j)|0;break a}case 15:{if(!b){b=j;c[b>>2]=0;c[b+4>>2]=0;b=0;break a}b=qQ(j,d,1)|0;if((b|0)>=0)break a;c[i>>2]=d;lf(a,16,161417,i);break a}case 16:{b=rQ(a,d,j)|0;break a}case 17:{if(b?pT(d,172020)|0:0){e=vP(d)|0;f=M()|0;if((e|0)==0&(f|0)==0){c[k>>2]=d;lf(a,16,161464,k);b=-22}else b=0;a=j;c[a>>2]=e;c[a+4>>2]=f;break a}d=j;c[d>>2]=0;c[d+4>>2]=0;break}default:{}}while(0);lf(a,16,161517,g);b=-22}else b=-22}else b=-1414549496;while(0);$c=l;return b|0}function jQ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0.0,j=0,k=0,l=0,m=0,n=0;m=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);k=m;j=m+4|0;do if(!d)f=0;else{if(pT(d,168457)|0)if(!(qP(d,163833)|0))if(!(qP(d,163862)|0)){c[j>>2]=0;h=gT(d,j,10)|0;n=d+(dU(d)|0)|0;if((n|0)==(c[j>>2]|0)){f=h;l=6}}else{f=0;l=6}else{f=1;l=6}else{f=-1;l=6}if(((l|0)==6?(i=+(f|0),!(+g[b+24>>3]>i)):0)?!(+g[b+32>>3]>2]=f;f=0;break}c[k>>2]=d;lf(a,16,163894,k);f=-22}while(0);$c=m;return f|0}function kQ(a,b){a=a|0;b=b|0;gf(b);a=uh(a)|0;c[b>>2]=a;return (a|0?0:-12)|0}function lQ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=d+4|0;gf(d);c[j>>2]=0;do if((b|0)!=0?(e=dU(b)|0,(e|0)!=0):0)if(!(e&1)){h=(e|0)/2|0;i=tf(h)|0;if(i){g=i;while(1){e=a[b>>0]|0;if(!(e<<24>>24)){b=9;break}e=HQ(e)|0;f=HQ(a[b+1>>0]|0)|0;if((f|e|0)<0){b=8;break}a[g>>0]=f|e<<4;b=b+2|0;g=g+1|0}if((b|0)==8){hf(i);e=-22;break}else if((b|0)==9){c[d>>2]=i;c[j>>2]=h;e=0;break}}else e=-12}else e=-22;else e=0;while(0);return e|0}function mQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=f;if((b|0)!=0?(pT(b,172020)|0)!=0:0){d=GQ(d,d+4|0,b)|0;if((d|0)<0){c[e>>2]=b;lf(a,16,163528,e)}}else{c[d+4>>2]=0;c[d>>2]=0;d=0}$c=f;return d|0}function nQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=g;if(b){d=EQ(d,b)|0;if((d|0)<0)f=3}else{d=-22;f=3}if((f|0)==3){c[e>>2]=b;lf(a,16,163430,e)}$c=g;return d|0}function oQ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return BQ(a,b,c,d,183,20,163391)|0}function pQ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return BQ(a,b,c,d,12,21,163274)|0}function qQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);m=q+132|0;n=q+88|0;o=q+44|0;p=q;f=n;g=f+44|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));j=b;c[j>>2]=0;c[j+4>>2]=-2147483648;j=(e|0)!=0;a:do if(j){g=(a[d>>0]|0)==45;d=g?d+1|0:d;g=g&1;f=uQ(d,163123,n)|0;if(!f){f=uQ(d,163132,n)|0;e=n+8|0;c[e>>2]=0;if(!f){c[n>>2]=gT(d,p,10)|0;f=c[p>>2]|0;if((f|0)==(d|0)){e=-22;break}else{c[n+4>>2]=0;c[e>>2]=0;e=g;d=0;k=18;break}}else{l=g;h=0;k=19}}else{l=g;h=0;k=19}}else{e=YP()|0;f=M()|0;l=MW(e|0,f|0,1e6,0)|0;M()|0;c[m>>2]=l;if(!(nP(d,163119)|0)){c[b>>2]=e;c[b+4>>2]=f;e=0;break}else f=0;while(1){if(f>>>0>=2){e=0;break}e=uQ(d,c[77012+(f<<2)>>2]|0,n)|0;if(!e)f=f+1|0;else break}h=(e|0)==0;g=h?d:e;h=h&1;e=a[g>>0]|0;b:do switch(e<<24>>24){case 116:case 84:{d=g+1|0;break}default:{d=g;while(1){f=d+1|0;if(!(vQ(e<<24>>24)|0))break b;d=f;e=a[f>>0]|0}}}while(0);e=0;f=g;while(1){if(e>>>0>=2){e=0;d=h;k=18;break a}f=uQ(d,c[77020+(e<<2)>>2]|0,n)|0;if(!f){e=e+1|0;f=0}else{l=0;k=19;break}}}while(0);if((k|0)==18)if(!f)e=-22;else{l=e;h=d;k=19}c:do if((k|0)==19){e=a[f>>0]|0;if(e<<24>>24==46){g=1e5;d=0;while(1){f=f+1|0;if(!g)break;e=a[f>>0]|0;if(!(wQ(e)|0))break;i=(H(e+-48|0,g)|0)+d|0;g=(g>>>0)/10|0;d=i}while(1){e=a[f>>0]|0;if(!(wQ(e<<24>>24)|0)){i=f;g=e;break}else f=f+1|0}}else{d=0;i=f;g=e}d:do if(j){j=((c[n+4>>2]|0)*60|0)+((c[n+8>>2]|0)*3600|0)+(c[n>>2]|0)|0;e=((j|0)<0)<<31>>31;switch(g<<24>>24){case 109:{if((a[i+1>>0]|0)==115){i=i+2|0;d=(d|0)/1e3|0;g=1e3;h=0;f=j;break d}else k=28;break}case 117:{f=i+1|0;if((a[f>>0]|0)==115){i=i+2|0;d=0;g=1;h=0;f=j;break d}break}default:k=28}if((k|0)==28)f=i+1|0;i=g<<24>>24==115?f:i;g=1e6;h=0;f=j}else{j=(g|32)<<24>>24==122;e=j&1;i=i+e|0;h=(h|0)!=0;e:do if(h|j){f=0;g=0}else{switch(a[i>>0]|0){case 45:case 43:break;default:{f=0;g=0;break e}}f=p;g=f+44|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));g=(a[i>>0]|0)==43;f=i+1|0;i=f;e=0;while(1){if(e>>>0>=3){k=37;break}i=uQ(f,c[77028+(e<<2)>>2]|0,p)|0;if(!i){i=0;e=e+1|0}else break}if((k|0)==37)if(!i){e=-22;break c}g=H(g?-60:60,((c[p+8>>2]|0)*60|0)+(c[p+4>>2]|0)|0)|0;e=1;f=g;g=((g|0)<0)<<31>>31}while(0);if(h){if(!e){o=(Pb(m|0,o|0)|0)+12|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];c[p+16>>2]=c[o+16>>2];c[p+20>>2]=c[o+20>>2];c[p+24>>2]=c[o+24>>2];c[p+28>>2]=c[o+28>>2]}else{o=(Lb(m|0,o|0)|0)+12|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];c[p+16>>2]=c[o+16>>2];c[p+20>>2]=c[o+20>>2];c[p+24>>2]=c[o+24>>2];c[p+28>>2]=c[o+28>>2]}o=n+12|0;c[o>>2]=c[p>>2];c[o+4>>2]=c[p+4>>2];c[o+8>>2]=c[p+8>>2];c[o+12>>2]=c[p+12>>2];c[o+16>>2]=c[p+16>>2];c[o+20>>2]=c[p+20>>2];c[o+24>>2]=c[p+24>>2];c[o+28>>2]=c[p+28>>2]}p=(e|0)!=0;c[n+32>>2]=(p^1)<<31>>31;if(p)e=xQ(n)|0;else e=Rb(n|0)|0;f=IW(f|0,g|0,e|0,((e|0)<0)<<31>>31|0)|0;g=1e6;h=0;e=M()|0}while(0);p=(a[i>>0]|0)==0;e=OW(g|0,h|0,f|0,e|0)|0;e=IW(e|0,M()|0,d|0,((d|0)<0)<<31>>31|0)|0;f=M()|0;if(p){o=(l|0)!=0;n=JW(0,0,e|0,f|0)|0;p=M()|0;c[b>>2]=o?n:e;c[b+4>>2]=o?p:f;e=0}else e=-22}while(0);$c=q;return e|0}function rQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=f;if(b){d=sQ(d,b,-1,a)|0;if((d|0)<0){c[e>>2]=b;lf(a,16,161539,e)}}else d=0;$c=f;return d|0}function sQ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=$c;$c=$c+160|0;if(($c|0)>=(ad|0))N(160);r=s+16|0;n=s+8|0;m=s;q=s+28|0;o=s+32|0;l=s+24|0;if((a[d>>0]|0)==35)i=1;else{i=(rT(d,161583,2)|0)==0;i=i?2:0}if((e|0)<0)e=dU(d)|0;e=e-i+1|0;wh(o,d+i|0,e>>>0<128?e:128)|0;e=eU(o,64)|0;c[q>>2]=e;if(!e)k=0;else{k=e+1|0;c[q>>2]=k;a[e>>0]=0}h=dU(o)|0;j=b+3|0;a[j>>0]=-1;a:do if((nP(o,161586)|0)!=0?(nP(o,161593)|0)!=0:0){if((i|0)==0?(QU(o,161602)|0)!=(h|0):0){e=UU(o,75892,140,8,11)|0;if(!e){c[n>>2]=o;lf(f,16,161666,n);e=-22;break}else{p=e+4|0;a[b>>0]=a[p>>0]|0;a[b+1>>0]=a[p+1>>0]|0;a[b+2>>0]=a[p+2>>0]|0;p=20;break}}e=fT(o,l,16)|0;b:do if(!(a[c[l>>2]>>0]|0)){switch(h|0){case 8:{a[j>>0]=e;e=e>>>8;break}case 6:break;default:break b}a[b>>0]=e>>>16;a[b+1>>0]=e>>>8;a[b+2>>0]=e;p=20;break a}while(0);c[m>>2]=o;lf(f,16,161625,m);e=-22}else p=9;while(0);if((p|0)==9){o=cP()|0;a[b>>0]=o>>>24;a[b+1>>0]=o>>>16;a[b+2>>0]=o>>>8;a[j>>0]=o;p=20}do if((p|0)==20)if(!k)e=0;else{if(!(rT(k,161583,2)|0))g=+((fT(k,q,16)|0)>>>0);else{g=+SU(k,q);g=g<0.0|g>1.0?256.0:g*255.0}q=c[q>>2]|0;if((q|0)!=(k|0)?!(g<0.0|(g>255.0|(a[q>>0]|0)!=0)):0){a[j>>0]=~~g;e=0;break}c[r>>2]=k;c[r+4>>2]=d;lf(f,16,161690,r);e=-22}while(0);$c=s;return e|0}function tQ(a,b){a=a|0;b=b|0;return nP(a,c[b>>2]|0)|0}function uQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);m=o;c[m>>2]=b;h=e+8|0;i=e+4|0;j=e+20|0;k=e+16|0;l=e+12|0;a:while(1){g=d+1|0;f=a[d>>0]|0;switch(f<<24>>24){case 0:{n=27;break a}case 37:break;default:{d=(vQ(f<<24>>24)|0)==0;b=c[m>>2]|0;if(d){if((a[b>>0]|0)!=f<<24>>24){b=0;break a}c[m>>2]=b+1;d=g;continue a}while(1){d=a[b>>0]|0;if(!(d<<24>>24))break;if(!(vQ(d<<24>>24)|0))break;b=b+1|0}c[m>>2]=b;d=g;continue a}}d=d+2|0;b=a[g>>0]|0;switch(b<<24>>24|0){case 74:case 72:{b=yQ(m,0,b<<24>>24==72?23:2147483647,2)|0;if((b|0)==-1){b=0;break a}c[h>>2]=b;continue a}case 77:{b=yQ(m,0,59,2)|0;if((b|0)==-1){b=0;break a}c[i>>2]=b;continue a}case 83:{b=yQ(m,0,59,2)|0;if((b|0)==-1){b=0;break a}c[e>>2]=b;continue a}case 89:{b=yQ(m,0,9999,4)|0;if((b|0)==-1){b=0;break a}c[j>>2]=b+-1900;continue a}case 109:{b=yQ(m,1,12,2)|0;if((b|0)==-1){b=0;break a}c[k>>2]=b+-1;continue a}case 100:{b=yQ(m,1,31,2)|0;if((b|0)==-1){b=0;break a}c[l>>2]=b;continue a}case 84:{g=uQ(c[m>>2]|0,163152,e)|0;c[m>>2]=g;if(!g){b=0;break a}else continue a}case 104:case 66:case 98:{b=zQ(m)|0;if((b|0)==-1){b=0;break a}c[k>>2]=b;continue a}case 37:{g=c[m>>2]|0;c[m>>2]=g+1;if((a[g>>0]|0)==37)continue a;else{b=0;break a}}default:{b=0;break a}}}if((n|0)==27)b=c[m>>2]|0;$c=o;return b|0}function vQ(a){a=a|0;switch(a|0){case 9:case 10:case 12:case 13:case 32:{a=1;break}default:a=(a|0)==11&1}return a|0}function wQ(a){a=a|0;return (a+-48|0)>>>0<10|0}function xQ(a){a=a|0;var b=0,d=0,e=0;b=c[a+16>>2]|0;d=(b|0)<2;e=(d?1899:1900)+(c[a+20>>2]|0)|0;return ((c[a+8>>2]|0)*3600|0)+-2032579456+((c[a+4>>2]|0)*60|0)+(c[a>>2]|0)+(((e*365|0)+(c[a+12>>2]|0)+((e|0)/4|0)+((e|0)/-100|0)+((e|0)/400|0)+(((((d?13:1)+b|0)*153|0)+-457|0)/5|0)|0)*86400|0)|0}function yQ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;j=c[b>>2]|0;h=j;g=0;i=0;while(1){if((i|0)>=(f|0))break;k=a[h>>0]|0;if(!(wQ(k)|0))break;h=h+1|0;g=(g*10|0)+-48+k|0;i=i+1|0}if((h|0)!=(j|0)?!((g|0)<(d|0)|(g|0)>(e|0)):0)c[b>>2]=h;else g=-1;return g|0}function zQ(a){a=a|0;var b=0,d=0,e=0,f=0;b=0;while(1){if((b|0)>=12){b=-1;break}d=c[77040+(b<<2)>>2]|0;if(!(pP(c[a>>2]|0,d,3)|0)){e=4;break}b=b+1|0}if((e|0)==4){e=d+3|0;f=dU(e)|0;d=(c[a>>2]|0)+3|0;c[a>>2]=d;if((f|0)>0?(pP(d,e,f)|0)==0:0)c[a>>2]=(c[a>>2]|0)+f}return b|0}function AQ(a){a=a|0;var b=0;b=0;while(1){if((b|0)>=12){b=-1;break}if(!(pT(71876+(b*20|0)|0,a)|0))break;b=b+1|0}return b|0}function BQ(b,d,e,f,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0;p=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);o=p+8|0;m=p;l=p+28|0;do if((e|0)!=0?(pT(e,172020)|0)!=0:0){k=fd[i&31](e)|0;if((k|0)==-1){k=gT(e,l,0)|0;if(k>>>0>>0?(a[c[l>>2]>>0]|0)==0:0){n=7;break}else{c[m>>2]=e;c[m+4>>2]=j;lf(b,16,163288,m);i=-22;break}}else n=7}else{k=-1;n=7}while(0);do if((n|0)==7){q=+g[d+24>>3];e=~~(q>-1.0?q:-1.0);q=+g[d+32>>3];n=h+-1|0;r=+(n|0);i=~~(q>r?r:q);h=(i|e|0)==0;e=h?-1:e;i=h?n:i;if((k|0)<(e|0)|(k|0)>(i|0)){f=c[d>>2]|0;c[o>>2]=k;c[o+4>>2]=f;c[o+8>>2]=j;c[o+12>>2]=e;c[o+16>>2]=i;lf(b,16,163329,o);i=-34;break}else{c[f>>2]=k;i=0;break}}while(0);$c=p;return i|0}function CQ(a){a=a|0;var b=0,d=0,e=0,f=0;f=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);e=f;d=f+8|0;if(!(pT(a,163404)|0))b=129578;else{b=(pT(a,163410)|0)==0;b=b?129568:a}a=DQ(b)|0;if((a|0)==-1){c[e>>2]=b;c[e+4>>2]=163421;mU(d,32,163416,e)|0;a=DQ(d)|0;if((a|0)==-1){e=(pT(b,163424)|0)==0;$c=f;return (e?46:-1)|0}}$c=f;return a|0}function DQ(a){a=a|0;var b=0;b=0;while(1){if((b|0)>=183){b=-1;break}if(!(pT(c[9712+(b*152|0)>>2]|0,a)|0))break;if(qP(a,c[9712+(b*152|0)+144>>2]|0)|0)break;b=b+1|0}return b|0}function EQ(a,b){a=a|0;b=b|0;var d=0,e=0;d=0;while(1){if((d|0)>=8){e=6;break}if(!(pT(c[77088+(d*12|0)>>2]|0,b)|0)){e=4;break}d=d+1|0}if((e|0)==4){b=77088+(d*12|0)+4|0;e=c[b+4>>2]|0;d=a;c[d>>2]=c[b>>2];c[d+4>>2]=e;d=0}else if((e|0)==6){d=FQ(a,b,1001e3,64,0)|0;if((d|0)>=0)if((c[a>>2]|0)<1)d=-22;else return ((c[a+4>>2]|0)<1?-22:0)|0}return d|0}function FQ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0;k=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);j=k+8|0;i=k;h=a+4|0;c[j>>2]=a;c[j+4>>2]=h;c[j+8>>2]=k+20;do if((CU(b,163479,j)|0)!=2){b=EP(j,b,0,0,0,0,0,0,0,e,f)|0;if((b|0)<0)break;else{aQ(i,+g[j>>3],d);j=c[i+4>>2]|0;b=a;c[b>>2]=c[i>>2];c[b+4>>2]=j;b=0;break}}else{j=c[a>>2]|0;b=c[h>>2]|0;an(a,h,j,((j|0)<0)<<31>>31,b,((b|0)<0)<<31>>31,d,((d|0)<0)<<31>>31)|0;b=0}while(0);$c=k;return b|0}function GQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);h=j;g=0;while(1){if((g|0)>=53){i=6;break}if(!(pT(c[77184+(g*12|0)>>2]|0,e)|0)){i=4;break}g=g+1|0}if((i|0)==4){f=c[77184+(g*12|0)+8>>2]|0;e=c[77184+(g*12|0)+4>>2]|0;i=10}else if((i|0)==6)if((g|0)==53){e=gT(e,h,10)|0;f=c[h>>2]|0;if(a[f>>0]|0){f=f+1|0;c[h>>2]=f}f=gT(f,h,10)|0;if(!(a[c[h>>2]>>0]|0))i=10;else e=-22}else e=-22;if((i|0)==10)if((e|0)<1|(f|0)<1)e=-22;else{c[b>>2]=e;c[d>>2]=f;e=0}$c=j;return e|0}function HQ(a){a=a|0;var b=0;b=a<<24>>24;if((a+-48&255)>=10)if((a+-97&255)<6)a=-87;else return ((a+-65&255)<6?b+-55|0:-1)|0;else a=-48;return a+b|0}function IQ(a){a=a|0;return (a>>>0>11?0:71876+(a*20|0)|0)|0}function JQ(a){a=a|0;KQ(a,0,0);return}function KQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0;l=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);k=l;j=l+8|0;i=j+4|0;e=0;a:while(1){e=Vf(a,e)|0;if(!e)break;h=a+(c[e+8>>2]|0)|0;f=c[e+40>>2]|0;if(!((f&b|0)==(d|0)&(f&128|0)==0))continue;f=c[e+12>>2]|0;switch(f|0){case 8:case 10:continue a;case 13:case 12:case 17:case 15:case 9:case 2:case 1:case 0:case 18:{f=e+16|0;CP(a,e,h,1.0,1,c[f>>2]|0,c[f+4>>2]|0)|0;continue a}case 4:case 3:{CP(a,e,h,+g[e+16>>3],1,1,0)|0;continue a}case 6:{aQ(j,+g[e+16>>3],2147483647);f=c[j>>2]|0;CP(a,e,h,1.0,c[i>>2]|0,f,((f|0)<0)<<31>>31)|0;continue a}case 16:{rQ(a,c[e+16>>2]|0,h)|0;continue a}case 5:{kQ(c[e+16>>2]|0,h)|0;continue a}case 11:{mQ(a,c[e+16>>2]|0,h)|0;continue a}case 14:{nQ(a,c[e+16>>2]|0,h)|0;continue a}case 7:{lQ(c[e+16>>2]|0,h)|0;continue a}default:{h=c[e>>2]|0;c[k>>2]=f;c[k+4>>2]=h;lf(a,48,163940,k);continue a}}}$c=l;return}function LQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);i=j;g=j+8|0;c[g>>2]=0;do if(b){f=0;while(1){f=sh(c[b>>2]|0,262104,f,2)|0;if(!f){d=7;break}h=f+4|0;e=iQ(a,c[f>>2]|0,c[h>>2]|0,d)|0;if((e|0)==-1414549496)e=th(g,c[f>>2]|0,c[h>>2]|0,0)|0;if((e|0)<0){d=6;break}}if((d|0)==6){h=c[h>>2]|0;c[i>>2]=c[f>>2];c[i+4>>2]=h;lf(a,16,163991,i);Wf(g);break}else if((d|0)==7){Wf(b);c[b>>2]=c[g>>2];e=0;break}}else e=0;while(0);$c=j;return e|0}function MQ(a,b){a=a|0;b=b|0;return LQ(a,b,0)|0}function NQ(a){a=a|0;if(a>>>0<=11){if(!(3040>>>a&1))a=c[71876+(a*20|0)+16>>2]|0}else a=-1;return a|0}function OQ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);g=m;if((f|0)<=-1){c[g>>2]=164029;c[g+4>>2]=164045;c[g+8>>2]=102;lf(0,0,164242,g);ub()}if(!f){f=cQ()|0;f=(f|0)>1?f+1|0:1}k=(e|0)==0;j=f+(k<<31>>31)|0;l=cg(120)|0;c[a>>2]=l;a:do if(!l)f=-12;else{if(j|0?(i=hQ(j,88)|0,c[l>>2]=i,(i|0)==0):0){gf(a);f=-12;break}c[l+108>>2]=b;c[l+112>>2]=d;c[l+116>>2]=e;b=l+4|0;c[b>>2]=f;g=l+8|0;c[l+104>>2]=0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;dV(l+24|0,0)|0;Tb(l+52|0,0)|0;c[l+100>>2]=0;g=0;while(1){if((g|0)>=(j|0))break a;n=c[l>>2]|0;i=n+(g*88|0)|0;c[i>>2]=l;d=n+(g*88|0)+4|0;dV(d,0)|0;e=n+(g*88|0)+32|0;Tb(e|0,0)|0;eV(d)|0;h=n+(g*88|0)+84|0;c[h>>2]=0;i=Wb(n+(g*88|0)+80|0,0,22,i|0)|0;if(i|0)break;while(1){if(c[h>>2]|0)break;Vb(e|0,d|0)|0}fV(d)|0;g=g+1|0}c[b>>2]=g+(k&1);fV(d)|0;Sb(e|0)|0;gV(d)|0;QQ(a);f=0-i|0}while(0);$c=m;return f|0}function PQ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=c[a>>2]|0;h=a+4|0;eV(h)|0;i=a+32|0;Ub(i|0)|0;j=g+104|0;a=a+84|0;b=g+24|0;d=g+100|0;e=g+52|0;while(1){c[a>>2]=1;f=1;while(1){if(!f)break;Vb(i|0,h|0)|0;f=c[a>>2]|0}if(c[j>>2]|0)break;if(!(RQ(g)|0))continue;eV(b)|0;c[d>>2]=1;Ub(e|0)|0;fV(b)|0}fV(h)|0;return 0}function QQ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(a|0?(e=c[a>>2]|0,e|0):0){d=(c[e+4>>2]|0)+(((c[e+116>>2]|0)==0)<<31>>31)|0;c[e+104>>2]=1;b=0;while(1){if((b|0)>=(d|0)){b=0;break}g=c[e>>2]|0;f=g+(b*88|0)+4|0;eV(f)|0;c[g+(b*88|0)+84>>2]=0;Ub(g+(b*88|0)+32|0)|0;fV(f)|0;b=b+1|0}while(1){if((b|0)>=(d|0))break;g=c[e>>2]|0;Xb(c[g+(b*88|0)+80>>2]|0,0)|0;Sb(g+(b*88|0)+32|0)|0;gV(g+(b*88|0)+4|0)|0;b=b+1|0}Sb(e+52|0)|0;gV(e+24|0)|0;gf(e);gf(a)}return}function RQ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;d=c[a+12>>2]|0;e=c[a+8>>2]|0;g=a+16|0;f=c[g>>2]|0;c[g>>2]=f+1;g=a+112|0;h=a+108|0;b=a+20|0;a=f;do{rd[c[g>>2]&127](c[h>>2]|0,a,f,d,e);a=c[b>>2]|0;c[b>>2]=a+1}while(a>>>0>>0);return (a|0)==(d+-1+e|0)|0}function SQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;h=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=h;if((b|0)<=0){c[e>>2]=164069;c[e+4>>2]=164045;c[e+8>>2]=168;lf(0,0,164242,e);ub()}c[a+12>>2]=b;f=c[a+4>>2]|0;e=a+8|0;c[e>>2]=(f|0)<(b|0)?f:b;c[a+16>>2]=0;c[a+20>>2]=c[e>>2];f=a+116|0;d=(d|0)!=0;b=(c[e>>2]|0)+((d&(c[f>>2]|0)!=0^1)<<31>>31)|0;e=0;while(1){if((e|0)>=(b|0))break;j=c[a>>2]|0;i=j+(e*88|0)+4|0;eV(i)|0;c[j+(e*88|0)+84>>2]=0;Ub(j+(e*88|0)+32|0)|0;fV(i)|0;e=e+1|0}b=c[f>>2]|0;if(!(d&(b|0)!=0)){if(!(RQ(a)|0))g=9}else{nd[b&63](c[a+108>>2]|0);g=9}if((g|0)==9){e=a+24|0;eV(e)|0;d=a+100|0;b=a+52|0;while(1){if(c[d>>2]|0)break;Vb(b|0,e|0)|0}c[d>>2]=0;fV(e)|0}$c=h;return}function TQ(a){a=a|0;var b=0,d=0;d=c[a>>2]|0;b=c[77820+(d<<2)>>2]|0;kV(185204,4)|0;if(!d)c[a>>2]=1;return b|0}function UQ(){var a=0,b=0;a=0;while(1){b=c[77820+(a<<2)>>2]|0;if(a|0)break;a=c[b+76>>2]|0;if(!a){a=1;continue}nd[a&63](b);a=1}return}function VQ(){var a=0,b=0,d=0,e=0;e=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);b=e;c[b>>2]=0;a=0;while(1){d=TQ(b)|0;if(!d)break;if(!a){a=d;continue}c[a+60>>2]=d;a=d}$c=e;return}function WQ(a){a=a|0;kV(185208,5)|0;if(!a)a=71704;else a=c[a+60>>2]|0;return a|0}function XQ(a){a=a|0;return ZQ(a,23)|0}function YQ(a){a=a|0;if(a)if((c[a+84>>2]|0)==0?(c[a+88>>2]|0)==0:0)a=(c[a+100>>2]|0)!=0&1;else a=1;else a=0;return a|0}function ZQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=g;c[f>>2]=0;d=_Q(a)|0;a=0;a:while(1){while(1){e=TQ(f)|0;if(!e)break a;if(!(fd[b&31](e)|0))continue;if((c[e+12>>2]|0)==(d|0))break}if(a|0?1:(c[e+16>>2]&512|0)==0){a=e;break}else a=e}$c=g;return a|0}function _Q(a){a=a|0;return a|0}function $Q(a){a=a|0;return ZQ(a,24)|0}function aR(a){a=a|0;if(a)if(!(c[a+92>>2]|0))a=(c[a+108>>2]|0)!=0&1;else a=1;else a=0;return a|0}function bR(a){a=a|0;var b=0;b=tf(896)|0;if(b){if((mR(b,a)|0)<0){hf(b);b=0}}else b=0;return b|0}function cR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;if(a|0){if(dR(a)|0){f=a+28|0;b=c[f>>2]|0;e=c[b+16>>2]|0;if(c[b+20>>2]|0)eR(a);b=c[a+12>>2]|0;if(b|0?(d=c[b+96>>2]|0,d|0):0)fd[d&31](a)|0;b=c[f>>2]|0;c[b+48>>2]=0;gf(b+44|0);Wg((c[f>>2]|0)+12|0);Wg((c[f>>2]|0)+100|0);Wg((c[f>>2]|0)+76|0);Nf((c[f>>2]|0)+68|0);Nf((c[f>>2]|0)+40|0);Nf((c[f>>2]|0)+24|0);b=0;while(1){if((b|0)==4)break;ng(e+(b<<2)|0);b=b+1|0}gf((c[f>>2]|0)+16|0);b=c[a+592>>2]|0;if(b|0?(g=c[b+52>>2]|0,g|0):0)fd[g&31](a)|0;gf((c[f>>2]|0)+60|0);fR(a);gf(f)}d=a+856|0;e=a+852|0;b=0;while(1){if((b|0)>=(c[d>>2]|0))break;gf((c[e>>2]|0)+(b*12|0)|0);b=b+1|0}gf(e);c[d>>2]=0;Sf(a+860|0);Sf(a+880|0);d=a+24|0;e=c[d>>2]|0;b=a+12|0;if((e|0?(h=c[b>>2]|0,h|0):0)?c[h+44>>2]|0:0)Mf(e);Mf(a);gf(d);if(YQ(c[b>>2]|0)|0){gf(a+68|0);Wg(a+684|0)}c[b>>2]=0;c[a+696>>2]=0}return 0}function dR(a){a=a|0;return (c[a+28>>2]|0)!=0|0}function eR(a){a=a|0;if(!(c[a+696>>2]&1))hR(a);else gR(a,c[a+688>>2]|0);return}function fR(a){a=a|0;var b=0,d=0;d=c[a+28>>2]|0;b=d+36|0;d=d+32|0;a=0;while(1){if((a|0)>=(c[b>>2]|0))break;Lf((c[d>>2]|0)+(a<<2)|0);a=a+1|0}gf(d);c[b>>2]=0;return}function gR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);h=p;k=a+28|0;l=c[(c[k>>2]|0)+20>>2]|0;n=a+12|0;e=c[n>>2]|0;iR(l,b);f=l+4|0;g=c[f>>2]|0;if((g|0?(d=c[l>>2]|0,(g|0)!=(d|0)):0)?(jR(c[d+212>>2]|0,c[g+212>>2]|0,0)|0)<0:0){lf(a,16,164081,h);h=c[(c[(c[l>>2]|0)+212>>2]|0)+28>>2]|0;c[c[(c[(c[f>>2]|0)+212>>2]|0)+28>>2]>>2]=c[h>>2];c[h>>2]=1}f=e+96|0;e=0;while(1){if((e|0)>=(b|0)){d=0;break}g=c[l>>2]|0;h=g+(e*352|0)|0;d=g+(e*352|0)+156|0;eV(d)|0;c[g+(e*352|0)+332>>2]=1;Ub(g+(e*352|0)+12|0)|0;fV(d)|0;d=g+(e*352|0)+8|0;if(c[d>>2]|0)Xb(c[g+(e*352|0)+4>>2]|0,0)|0;c[d>>2]=0;d=c[f>>2]|0;if(d|0?(i=c[g+(e*352|0)+212>>2]|0,i|0):0)fd[d&31](i)|0;kR(h);Wg(g+(e*352|0)+288|0);e=e+1|0}while(1){if((d|0)>=(b|0))break;e=c[l>>2]|0;gV(e+(d*352|0)+156|0)|0;gV(e+(d*352|0)+184|0)|0;Sb(e+(d*352|0)+12|0)|0;Sb(e+(d*352|0)+60|0)|0;Sb(e+(d*352|0)+108|0)|0;Qf(e+(d*352|0)+216|0);gf(e+(d*352|0)+304|0);e=e+(d*352|0)+212|0;if(d){f=c[e>>2]|0;if(f|0){gf(f+24|0);gf((c[e>>2]|0)+184|0);m=17}}else m=17;if((m|0)==17?(m=0,j=c[e>>2]|0,j|0):0){gf(j+28|0);Sf((c[e>>2]|0)+860|0)}gf(e);d=d+1|0}gf(l);gV(l+8|0)|0;gV(l+36|0)|0;gV(l+64|0)|0;Sb(l+92|0)|0;gf((c[k>>2]|0)+20|0);d=c[a+24>>2]|0;if((d|0?(o=c[n>>2]|0,o|0):0)?c[o+44>>2]|0:0)Mf(d);c[n>>2]=0;$c=p;return}function hR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=a+28|0;d=c[(c[b>>2]|0)+20>>2]|0;QQ(d);e=d+36|0;f=d+44|0;g=d+40|0;a=0;while(1){if((a|0)>=(c[e>>2]|0))break;gV((c[f>>2]|0)+(a*28|0)|0)|0;Sb((c[g>>2]|0)+(a*48|0)|0)|0;a=a+1|0}gf(d+28|0);gf(f);gf(g);gf((c[b>>2]|0)+20|0);return}function iR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;lR(a);d=0;while(1){if((d|0)>=(b|0))break;e=c[a>>2]|0;f=e+(d*352|0)+300|0;if(c[f>>2]|0){g=e+(d*352|0)+184|0;eV(g)|0;h=e+(d*352|0)+108|0;while(1){if(!(c[f>>2]|0))break;Vb(h|0,g|0)|0}fV(g)|0}c[e+(d*352|0)+292>>2]=0;d=d+1|0}il(a);return}function jR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;do if((a|0)==(b|0))k=10;else{if((d|0)==0?c[(c[b+780>>2]|0)+16>>2]&1|0:0){k=12;break}e=b+76|0;f=c[e+4>>2]|0;g=a+76|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;g=b+760|0;f=c[g+4>>2]|0;e=a+760|0;c[e>>2]=c[g>>2];c[e+4>>2]=f;c[a+92>>2]=c[b+92>>2];c[a+96>>2]=c[b+96>>2];c[a+112>>2]=c[b+112>>2];c[a+768>>2]=c[b+768>>2];c[a+100>>2]=c[b+100>>2];c[a+104>>2]=c[b+104>>2];c[a+140>>2]=c[b+140>>2];c[a+668>>2]=c[b+668>>2];c[a+672>>2]=c[b+672>>2];e=b+188|0;f=c[e+4>>2]|0;g=a+188|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;c[a+716>>2]=c[b+716>>2];c[a+720>>2]=c[b+720>>2];c[a+676>>2]=c[b+676>>2];c[a+84>>2]=c[b+84>>2];c[a+316>>2]=c[b+316>>2];c[a+320>>2]=c[b+320>>2];c[a+324>>2]=c[b+324>>2];c[a+328>>2]=c[b+328>>2];c[a+332>>2]=c[b+332>>2];c[a+592>>2]=c[b+592>>2];c[a+596>>2]=c[b+596>>2];c[a+348>>2]=c[b+348>>2];c[a+344>>2]=c[b+344>>2];c[a+352>>2]=c[b+352>>2];g=b+376|0;f=c[g+4>>2]|0;e=a+376|0;c[e>>2]=c[g>>2];c[e+4>>2]=f;c[(c[a+28>>2]|0)+60>>2]=c[(c[b+28>>2]|0)+60>>2];e=a+860|0;f=c[e>>2]|0;g=(f|0)!=0;h=b+860|0;i=c[h>>2]|0;if(!(g^(i|0)!=0)){if(g?(c[f+4>>2]|0)!=(c[i+4>>2]|0):0)k=7}else k=7;if(((k|0)==7?(Sf(e),j=c[h>>2]|0,j|0):0)?(j=Ug(j)|0,c[e>>2]=j,(j|0)==0):0){e=-12;break}c[a+884>>2]=c[b+884>>2];k=10}while(0);if((k|0)==10)if(!d)k=12;else{c[a+88>>2]=(c[b+688>>2]|0)+-1;c[a+684>>2]=c[b+684>>2];e=0}if((k|0)==12){e=c[(c[a+12>>2]|0)+68>>2]|0;if(!e)e=0;else e=hd[e&15](a,b)|0}return e|0}function kR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=g;b=a+308|0;d=(c[a>>2]|0)+8|0;e=a+212|0;a=a+304|0;while(1){if((c[b>>2]|0)<=0){a=6;break}eV(d)|0;if((c[(c[e>>2]|0)+8>>2]|0)>>>0>=2){a=4;break}j=c[a>>2]|0;i=(c[b>>2]|0)+-1|0;c[b>>2]=i;h=j+(i*408|0)|0;c[j+(i*408|0)+64>>2]=h;rg(h);fV(d)|0}if((a|0)==4){c[f>>2]=164109;c[f+4>>2]=164198;c[f+8>>2]=371;lf(0,0,164242,f);ub()}else if((a|0)==6){$c=g;return}}function lR(a){a=a|0;var b=0,d=0,e=0,f=0;f=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=f;b=a+64|0;eV(b)|0;d=a+140|0;if(!(c[d>>2]|0)){c[e>>2]=164225;c[e+4>>2]=164198;c[e+8>>2]=155;lf(0,0,164242,e);ub()}else{c[d>>2]=0;_W(a+92|0)|0;fV(b)|0;$c=f;return}}function mR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);h=i;ZW(a|0,0,896)|0;c[a>>2]=77828;e=(b|0)!=0;a:do if(e){d=c[b+8>>2]|0;c[a+8>>2]=d;c[a+12>>2]=b;c[a+16>>2]=c[b+12>>2];switch(d|0){case 1:{d=8;break a}case 0:{d=16;break a}case 3:{d=32;break a}default:{f=6;break a}}}else{c[a+8>>2]=-1;f=6}while(0);if((f|0)==6)d=0;KQ(a,d,d);c[a+76>>2]=0;c[a+80>>2]=1;c[a+760>>2]=0;c[a+764>>2]=1;c[a+772>>2]=0;c[a+776>>2]=1;c[a+400>>2]=11;c[a+120>>2]=10;c[a+704>>2]=4;c[a+708>>2]=41;c[a+188>>2]=0;c[a+192>>2]=1;c[a+112>>2]=-1;c[a+768>>2]=-1;c[a+352>>2]=-1;f=a+584|0;c[f>>2]=0;c[f+4>>2]=-2147483648;b:do if(e){e=c[b+56>>2]|0;if(e|0){f=a+24|0;d=c[f>>2]|0;if(!d){d=cg(e)|0;c[f>>2]=d;if(!d){g=-12;break}}e=c[b+44>>2]|0;if(e|0){c[d>>2]=e;JQ(c[f>>2]|0)}}d=c[b+72>>2]|0;if(d){while(1){e=c[d>>2]|0;if(!e){g=0;break b}if((iQ(a,e,c[d+4>>2]|0,0)|0)>-1)d=d+8|0;else break}c[h>>2]=164272;c[h+4>>2]=164281;c[h+8>>2]=142;lf(0,0,164242,h);ub()}else g=0}else g=0;while(0);$c=i;return g|0}function nR(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=(e|0)==0;h=0;while(1){if((h|0)>=(f|0))break;i=d+(H(h,g)|0)|0;i=hd[b&15](a,i)|0;if(!j)c[e+(h<<2)>>2]=i;h=h+1|0}return 0}function oR(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=(e|0)==0;g=0;while(1){if((g|0)>=(f|0))break;i=jd[b&3](a,d,g,0)|0;if(!h)c[e+(g<<2)>>2]=i;g=g+1|0}return 0}function pR(a){a=a|0;var b=0,d=0;if(!(((a|0)!=0?(d=c[a+12>>2]|0,(d|0)!=0):0)?(b=c[d>>2]|0,(b|0)!=0):0))b=175393;return b|0}function qR(a,b){a=a|0;b=b|0;var d=0,e=0;if(!((((b|0)==0?(e=c[a+12>>2]|0,(e|0)!=0):0)?(c[e+44>>2]|0)!=0:0)?(d=c[a+24>>2]|0,(d|0)!=0):0))d=0;return d|0}function rR(a){a=a|0;var b=0;a:do if(!a)a=0;else{b=0;while(1){b=WQ(b)|0;if(!b){a=0;break a}if((c[b+44>>2]|0)==(a|0)){a=b;break}}}while(0);do{a=WQ(a)|0;if(!a){b=0;break}b=c[a+44>>2]|0}while(!(b|0));return b|0}function sR(a){a=a|0;a=c[a+12>>2]|0;if((a|0)!=0?(c[a+92>>2]|0)!=0:0)a=6;else a=5;return a|0}function tR(b,d){b=b|0;d=d|0;var e=0;if(d>>>0<=2147483582){e=uP(b,d+64|0)|0;if((e|0)>=0){e=(c[(c[b>>2]|0)+4>>2]|0)+d|0;b=e+64|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(b|0));e=0}}else e=-22;return e|0}function uR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=a+44|0;j=c[i>>2]|0;h=a+40|0;a=0;while(1){if((a|0)>=(j|0)){g=6;break}f=c[h>>2]|0;if((c[f+(a*12|0)+8>>2]|0)==(b|0)){g=4;break}a=a+1|0}if((g|0)==4){j=f+(a*12|0)|0;hf(c[j>>2]|0);c[j>>2]=d;c[f+(a*12|0)+4>>2]=e;a=0}else if((g|0)==6){a=j+1|0;if(a>>>0<=24){a=sf(c[h>>2]|0,a*12|0)|0;if(!a)a=-12;else{c[h>>2]=a;c[a+(j*12|0)>>2]=d;c[a+(j*12|0)+4>>2]=e;c[a+(j*12|0)+8>>2]=b;c[i>>2]=(c[i>>2]|0)+1;a=0}}else a=-34}return a|0}function vR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=g;if(d>>>0<=2147483583?(e=cg(d+64|0)|0,c[f>>2]=e,(e|0)!=0):0){if((uR(a,b,e,d)|0)<0){gf(f);e=0}}else e=0;$c=g;return e|0}function wR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=b+8|0;d=c[g+4>>2]|0;h=a+8|0;c[h>>2]=c[g>>2];c[h+4>>2]=d;h=b+16|0;d=c[h+4>>2]|0;g=a+16|0;c[g>>2]=c[h>>2];c[g+4>>2]=d;g=b+56|0;d=c[g+4>>2]|0;h=a+56|0;c[h>>2]=c[g>>2];c[h+4>>2]=d;h=b+48|0;d=c[h+4>>2]|0;g=a+48|0;c[g>>2]=c[h>>2];c[g+4>>2]=d;g=b+64|0;d=c[g+4>>2]|0;h=a+64|0;c[h>>2]=c[g>>2];c[h+4>>2]=d;c[a+36>>2]=c[b+36>>2];c[a+32>>2]=c[b+32>>2];c[a+40>>2]=0;c[a+44>>2]=0;h=b+44|0;d=b+40|0;b=0;while(1){if((b|0)>=(c[h>>2]|0)){b=0;break}g=c[d>>2]|0;e=c[g+(b*12|0)+4>>2]|0;f=c[g+(b*12|0)>>2]|0;g=vR(a,c[g+(b*12|0)+8>>2]|0,e)|0;if(!g){i=4;break}XW(g|0,f|0,e|0)|0;b=b+1|0}if((i|0)==4){Rf(a);b=-12}return b|0}function xR(a,b){a=a|0;b=b|0;var d=0,e=0;d=wR(a,b)|0;do if((d|0)>=0){d=c[b>>2]|0;if(!d){e=b+28|0;d=tR(a,c[e>>2]|0)|0;if((d|0)<0)b=10;else{d=c[e>>2]|0;if(d|0)XW(c[(c[a>>2]|0)+4>>2]|0,c[b+24>>2]|0,d|0)|0;d=(c[a>>2]|0)+4|0;b=9}}else{e=Ug(d)|0;c[a>>2]=e;if(!e){d=-12;b=10}else{e=b+28|0;d=b+24|0;b=9}}if((b|0)==9){c[a+24>>2]=c[d>>2];c[a+28>>2]=c[e>>2];d=0;break}else if((b|0)==10){Rf(a);break}}while(0);return d|0}function yR(a){a=a|0;var b=0,d=0;d=c[a>>2]|0;b=c[77872+(d<<2)>>2]|0;if(!d)c[a>>2]=1;return b|0}function zR(a){a=a|0;var b=0,d=0,e=0;e=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);d=e;c[d>>2]=0;do{b=yR(d)|0;if(!b){b=0;break}}while((pT(c[b>>2]|0,a)|0)!=0);$c=e;return b|0}function AR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);h=j;e=cg(40)|0;c[h>>2]=e;a:do if(!e)d=-12;else{c[e>>2]=77880;c[e+4>>2]=a;f=e+16|0;c[f>>2]=CR()|0;k=CR()|0;c[e+20>>2]=k;do if((!((k|0)==0|(c[f>>2]|0)==0)?(k=cg(8)|0,d=e+8|0,c[d>>2]=k,k|0):0)?(g=bP()|0,c[c[d>>2]>>2]=g,g=c[h>>2]|0,i=g,c[c[g+8>>2]>>2]|0):0){JQ(g);d=c[a+12>>2]|0;if(d|0){f=cg(d)|0;e=g+12|0;c[e>>2]=f;if(!f)break;d=c[a+8>>2]|0;if(d|0){c[f>>2]=d;JQ(c[e>>2]|0)}}c[b>>2]=i;d=0;break a}while(0);Lf(h);d=-12}while(0);$c=j;return d|0}function BR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;Pf(a);e=c[b+8>>2]|0;c[a>>2]=e;c[a+4>>2]=c[b+16>>2];c[a+8>>2]=c[b+20>>2];g=b+40|0;f=c[g+4>>2]|0;d=a+24|0;c[d>>2]=c[g>>2];c[d+4>>2]=f;c[a+32>>2]=c[b+672>>2];c[a+36>>2]=c[b+676>>2];c[a+40>>2]=c[b+716>>2];c[a+44>>2]=c[b+720>>2];switch(e|0){case 0:{c[a+20>>2]=c[b+112>>2];c[a+48>>2]=c[b+92>>2];c[a+52>>2]=c[b+96>>2];c[a+64>>2]=c[b+340>>2];c[a+68>>2]=c[b+328>>2];c[a+72>>2]=c[b+316>>2];c[a+76>>2]=c[b+320>>2];c[a+80>>2]=c[b+324>>2];c[a+84>>2]=c[b+332>>2];e=b+188|0;f=c[e+4>>2]|0;g=a+56|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;c[a+88>>2]=c[b+140>>2];break}case 1:{c[a+20>>2]=c[b+352>>2];e=b+376|0;f=c[e+4>>2]|0;g=a+96|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;c[a+104>>2]=c[b+348>>2];c[a+108>>2]=c[b+344>>2];c[a+112>>2]=c[b+364>>2];c[a+116>>2]=c[b+356>>2];c[a+120>>2]=c[b+756>>2];c[a+124>>2]=c[b+868>>2];c[a+128>>2]=c[b+828>>2];break}case 3:{c[a+48>>2]=c[b+92>>2];c[a+52>>2]=c[b+96>>2];break}default:{}}e=b+68|0;if(c[e>>2]|0){b=b+72|0;d=cg((c[b>>2]|0)+64|0)|0;c[a+12>>2]=d;if(!d)b=-12;else{b=c[b>>2]|0;XW(d|0,c[e>>2]|0,b|0)|0;c[a+16>>2]=b;b=0}}else b=0;return b|0}function CR(){var a=0;a=cg(136)|0;if(!a)a=0;else Pf(a);return a|0}function DR(a,b){a=a|0;b=b|0;if((b|0)==0?(c[(c[a+4>>2]|0)+8>>2]|0)!=0:0)a=c[a+12>>2]|0;else a=0;return a|0}function ER(a){a=a|0;var b=0,d=0,e=0;e=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);d=e;c[d>>2]=0;a:do if(a|0)do{b=yR(d)|0;if(!b)break a}while((c[b+8>>2]|0)!=(a|0));while(0);do{a=yR(d)|0;if(!a){a=0;break}a=c[a+8>>2]|0}while(!(a|0));$c=e;return a|0}function FR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=a+28|0;g=c[e>>2]|0;f=g+64|0;do if(!(c[f>>2]|0)){d=GR(a,b)|0;if((d|0)==-541478725){c[f>>2]=1;d=-541478725;break}if((d|0)>=0){d=HR(c[e>>2]|0,b)|0;if((d|0)>=0){d=IR(a,b)|0;if((d|0)>=0){if(!(c[(c[a+12>>2]|0)+108>>2]|0)){d=0;break}d=g+92|0;c[d>>2]=(c[d>>2]|0)+(c[b+28>>2]|0);d=0;break}}Qf(b)}}else d=-541478725;while(0);return d|0}function GR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);i=k;h=c[a+28>>2]|0;g=h+36|0;h=h+32|0;f=(c[g>>2]|0)+-1|0;while(1){if((f|0)<=-1){d=-11;break}d=Xf(c[(c[h>>2]|0)+(f<<2)>>2]|0,b)|0;if((d|0)==-11){f=f+-1|0;continue}e=(d|0)<0;if(e&(d|0)!=-541478725)break;if((f|0)==((c[g>>2]|0)+-1|0))break;f=f+1|0;d=Yf(c[(c[h>>2]|0)+(f<<2)>>2]|0,e?0:b)|0;if((d|0)<0){j=8;break}}if((j|0)==8){lf(a,16,175616,i);Qf(b)}$c=k;return d|0}function HR(a,b){a=a|0;b=b|0;var d=0;d=a+40|0;Qf(c[d>>2]|0);if(b){a=wR(c[d>>2]|0,b)|0;if(!a){c[(c[d>>2]|0)+28>>2]=c[b+28>>2];a=0}}else a=0;return a|0}function IR(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);m=n+32|0;l=n+24|0;j=n+16|0;h=n+8|0;e=n;k=n+36|0;c[k>>2]=0;g=Hh(b,2,k)|0;a:do if(!g)b=0;else{b:do if(!(c[(c[a+12>>2]|0)+16>>2]&16384)){lf(a,16,175411,e);b=-22;e=a}else{f=c[k>>2]|0;c:do if((f|0)>=4){e=g+4|0;i=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;b=f+-4|0;c[k>>2]=b;do if(i&1){if((f|0)<8)break c;b=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if((b|0)<1){lf(a,16,175504,h);b=-1094995529;e=a;break b}else{c[a+348>>2]=b;b=f+-8|0;c[k>>2]=b;e=g+8|0;break}}while(0);if(i&2){if((b|0)<8)break;g=e;f=g;g=g+4|0;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;h=a+376|0;c[h>>2]=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;c[h+4>>2]=g;b=b+-8|0;c[k>>2]=b;e=e+8|0}do if(i&4){if((b|0)<4)break c;f=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if((f|0)<1){lf(a,16,175526,j);b=-1094995529;e=a;break b}else{c[a+344>>2]=f;b=b+-4|0;c[k>>2]=b;e=e+4|0;break}}while(0);if(!(i&8)){b=0;break a}if((b|0)>=8){l=e+4|0;j=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;c[a+92>>2]=j;l=d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24;c[a+96>>2]=l;c[k>>2]=b+-8;b=JR(a,j,l)|0;if((b|0)>=0){b=0;break a}e=a;break b}}while(0);lf(a,16,175546,l);b=-1094995529;e=a}while(0);lf(e,16,175581,m);b=(c[a+580>>2]&8|0)==0?0:b}while(0);$c=n;return b|0}function JR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=a+872|0;e=nh(b,d,c[e>>2]|0,c[e+4>>2]|0,-1,0,a)|0;g=(e|0)<0;f=g?0:d;b=g?0:b;c[a+100>>2]=b;c[a+104>>2]=f;d=c[a+680>>2]|0;c[a+92>>2]=0-(0-b>>d);c[a+96>>2]=0-(0-f>>d);return e|0}function KR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=a+28|0;g=c[d>>2]|0;a:do if((dR(a)|0)!=0?(aR(c[a+12>>2]|0)|0)!=0:0)if(!(c[(c[d>>2]|0)+64>>2]|0)){e=(b|0)!=0;if((e?(c[b+28>>2]|0)==0:0)?c[b+24>>2]|0:0){d=-22;break}d=LR(a)|0;if((d|0)>=0){f=g+68|0;Qf(c[f>>2]|0);do if(e){if((c[b+24>>2]|0)==0?(c[b+44>>2]|0)==0:0)break;d=xR(c[f>>2]|0,b)|0;if((d|0)<0)break a}while(0);d=Yf(c[c[g+32>>2]>>2]|0,c[f>>2]|0)|0;if((d|0)<0){Qf(c[f>>2]|0);break}d=c[g+76>>2]|0;b:do if((c[d+248>>2]|0)==0?(h=MR(a,d)|0,(h|0)<0):0)if((h|0)<-11)switch(h|0){case -541478725:break b;default:{d=h;break a}}else switch(h|0){case -11:break b;default:{d=h;break a}}while(0);d=0}}else d=-541478725;else d=-22;while(0);return d|0}function LR(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);k=m;h=m+8|0;i=m+4|0;d=c[b+28>>2]|0;j=d+36|0;a:do if(!(c[j>>2]|0)){f=c[(c[b+12>>2]|0)+120>>2]|0;f=(f|0)==0?176186:f;c[h>>2]=f;g=d+32|0;d=f;while(1){if(!d){d=0;break a}if(!(a[d>>0]|0)){d=0;break a}d=mP(h,176191)|0;c[i>>2]=d;if(!d){d=-12;break}d=zR(d)|0;if(!d){l=8;break}gf(i);e=QM(c[g>>2]|0,(c[j>>2]|0)+1|0,4)|0;if(!e){d=-12;break}c[g>>2]=e;f=c[j>>2]|0;c[j>>2]=f+1;d=AR(d,e+(f<<2)|0)|0;if((d|0)<0)break;d=c[j>>2]|0;e=c[g>>2]|0;f=c[e+(d+-1<<2)>>2]|0;if((d|0)==1){c[f+24>>2]=1;c[f+28>>2]=9e4;d=BR(c[(c[(c[g>>2]|0)+((c[j>>2]|0)+-1<<2)>>2]|0)+16>>2]|0,b)|0}else{e=(c[e+(d+-2<<2)>>2]|0)+32|0;d=c[e+4>>2]|0;f=f+24|0;c[f>>2]=c[e>>2];c[f+4>>2]=d;f=c[g>>2]|0;d=c[j>>2]|0;d=_f(c[(c[f+(d+-1<<2)>>2]|0)+16>>2]|0,c[(c[f+(d+-2<<2)>>2]|0)+20>>2]|0)|0}if((d|0)<0)break;d=$f(c[(c[g>>2]|0)+((c[j>>2]|0)+-1<<2)>>2]|0)|0;if((d|0)<0)break;d=c[h>>2]|0}if((l|0)==8){c[k>>2]=c[i>>2];lf(b,16,176193,k);gf(i);d=-558323010}fR(b)}else d=0;while(0);$c=m;return d|0}function MR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);g=i+16|0;d=i;e=c[a+28>>2]|0;if(c[b+248>>2]|0){c[d>>2]=175663;c[d+4>>2]=129184;c[d+8>>2]=607;lf(0,0,164242,d);ub()}f=a+12|0;d=c[(c[f>>2]|0)+108>>2]|0;if(!d)d=NR(a,b)|0;else d=hd[d&15](a,b)|0;a:do if((d|0)>=0){switch(d|0){case 0:break;default:{h=16;break a}}d=c[b+400>>2]|0;e=(d|0)==0;if(!(!e?(c[d+8>>2]|0)==20:0))h=10;do if((h|0)==10)if(!(c[(c[f>>2]|0)+16>>2]&2))if(e){d=0;h=16;break a}else break;else{c[g>>2]=175678;c[g+4>>2]=129184;c[g+8>>2]=621;lf(0,0,164242,g);ub()}while(0);d=c[c[d+4>>2]>>2]|0;if(d){d=hd[d&15](a,b)|0;if((d|0)<0)rg(b);else h=16}else{d=0;h=16}}else{switch(d|0){case -541478725:break;default:{h=16;break a}}c[e+80>>2]=1;d=-541478725;h=16}while(0);if((h|0)==16)Sf(b+400|0);$c=i;return d|0}function NR(a,b){a=a|0;b=b|0;var d=0,e=0;e=b+248|0;do{if(c[e>>2]|0){d=0;break}d=OR(a,b)|0}while((d|0)>=0);return d|0}function OR(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);K=X+128|0;J=X+120|0;W=X+64|0;R=X+56|0;G=X+48|0;E=X+40|0;B=X+32|0;x=X+24|0;r=X+16|0;o=X+8|0;j=X;U=X+96|0;i=X+76|0;q=X+112|0;A=X+104|0;O=X+88|0;P=X+80|0;Q=b+28|0;V=c[Q>>2]|0;S=c[V+24>>2]|0;T=S+24|0;if(!(((c[T>>2]|0)==0?(c[V+64>>2]|0)==0:0)?(Qf(S),f=FR(b,S)|0,(f|0)<0&(f|0)!=-541478725):0))k=4;do if((k|0)==4){L=V+80|0;if(!(c[L>>2]|0)){if(((c[T>>2]|0)==0?(c[(c[b+12>>2]|0)+16>>2]&32|0)==0:0)?(c[b+696>>2]&1|0)==0:0){f=-541478725;break}c[U>>2]=0;I=b+696|0;if(!(c[I>>2]&1)){h=b+12|0;f=jd[c[(c[h>>2]|0)+92>>2]&3](b,e,U,S)|0;g=c[h>>2]|0;if(!(c[g+116>>2]&4)){u=S+16|0;v=c[u+4>>2]|0;w=e+120|0;c[w>>2]=c[u>>2];c[w+4>>2]=v}if(!(c[g+8>>2]|0)){if(!(c[b+140>>2]|0)){u=S+56|0;v=c[u+4>>2]|0;w=e+328|0;c[w>>2]=c[u>>2];c[w+4>>2]=v}if(!(c[g+16>>2]&2)){g=e+92|0;if(!(c[g>>2]|0)){u=b+188|0;v=c[u+4>>2]|0;w=g;c[w>>2]=c[u>>2];c[w+4>>2]=v}g=e+68|0;if(!(c[g>>2]|0))c[g>>2]=c[b+92>>2];g=e+72|0;if(!(c[g>>2]|0))c[g>>2]=c[b+96>>2];g=e+80|0;if((c[g>>2]|0)==-1){c[g>>2]=c[b+112>>2];v=h}else v=h}else v=h}else v=h}else{f=PR(b,e,U,S)|0;v=b+12|0}w=c[U>>2]|0;a:do switch(c[(c[v>>2]|0)+8>>2]|0){case 0:{if(c[e+296>>2]&4|0){c[U>>2]=0;break a}if(w|0){D=e+104|0;C=e+120|0;C=QR(b,c[D>>2]|0,c[D+4>>2]|0,c[C>>2]|0,c[C+4>>2]|0)|0;D=M()|0;E=e+320|0;c[E>>2]=C;c[E+4>>2]=D}break}case 1:{if((f|0)>-1&(w|0)!=0){u=e+104|0;t=e+120|0;t=QR(b,c[u>>2]|0,c[u+4>>2]|0,c[t>>2]|0,c[t+4>>2]|0)|0;u=M()|0;g=e+320|0;c[g>>2]=t;c[g+4>>2]=u;g=e+80|0;if((c[g>>2]|0)==-1)c[g>>2]=c[b+352>>2];g=e+240|0;u=g;if((c[u>>2]|0)==0&(c[u+4>>2]|0)==0){s=b+376|0;t=c[s+4>>2]|0;u=g;c[u>>2]=c[s>>2];c[u+4>>2]=t}g=e+352|0;if(!(c[g>>2]|0))c[g>>2]=c[b+348>>2];g=e+232|0;if(!(c[g>>2]|0))c[g>>2]=c[b+344>>2]}g=Hh(c[V+40>>2]|0,11,i)|0;if((g|0)!=0&(c[i>>2]|0)>9){t=c[Q>>2]|0;u=H(c[t+108>>2]|0,d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24)|0;c[t+56>>2]=u;t=g+4|0;t=d[t>>0]|d[t+1>>0]<<8|d[t+2>>0]<<16|d[t+3>>0]<<24;c[j>>2]=u;c[j+4>>2]=t;lf(b,48,175798,j);u=a[g+8>>0]|0;s=a[g+9>>0]|0}else{t=0;u=0;s=0}g=c[U>>2]|0;if((g|0?(c[e+296>>2]&4|0)!=0:0)?(c[b+64>>2]&536870912|0)==0:0){l=(c[Q>>2]|0)+56|0;j=(c[l>>2]|0)-(c[e+76>>2]|0)|0;c[l>>2]=(j|0)>0?j:0;c[U>>2]=0}else k=43;do if(((k|0)==43?(m=(c[Q>>2]|0)+56|0,n=c[m>>2]|0,(n|0)>0&(g|0)!=0):0)?(c[b+64>>2]&536870912|0)==0:0){l=e+76|0;g=c[l>>2]|0;if((g|0)<=(n|0)){c[U>>2]=0;x=n-g|0;c[m>>2]=x;c[o>>2]=x;lf(b,48,175845,o);break}o=c[e+64>>2]|0;dh(o,o,0,n,g-n|0,c[b+348>>2]|0,c[e+80>>2]|0)|0;g=b+772|0;if((c[g>>2]|0)!=0?(p=c[b+344>>2]|0,(p|0)!=0):0){j=c[(c[Q>>2]|0)+56>>2]|0;c[q>>2]=1;c[q+4>>2]=p;c[J>>2]=c[q>>2];c[J+4>>2]=c[q+4>>2];c[K>>2]=c[g>>2];c[K+4>>2]=c[g+4>>2];j=gQ(j,((j|0)<0)<<31>>31,J,K)|0;k=M()|0;g=e+104|0;i=g;h=c[i>>2]|0;i=c[i+4>>2]|0;if(!((h|0)==0&(i|0)==-2147483648)){p=IW(h|0,i|0,j|0,k|0)|0;q=M()|0;r=g;c[r>>2]=p;c[r+4>>2]=q}g=e+112|0;i=g;h=c[i>>2]|0;i=c[i+4>>2]|0;if(!((h|0)==0&(i|0)==-2147483648)){p=IW(h|0,i|0,j|0,k|0)|0;q=M()|0;r=g;c[r>>2]=p;c[r+4>>2]=q}g=e+120|0;i=g;h=c[i>>2]|0;i=c[i+4>>2]|0;if(!((h|0)==0&(i|0)==-2147483648)){p=IW(h|0,i|0,j|0,k|0)|0;q=M()|0;r=g;c[r>>2]=p;c[r+4>>2]=q}g=e+336|0;i=g;h=c[i>>2]|0;i=c[i+4>>2]|0;if(!((i|0)<(k|0)|(i|0)==(k|0)&h>>>0>>0)){p=JW(h|0,i|0,j|0,k|0)|0;q=M()|0;r=g;c[r>>2]=p;c[r+4>>2]=q}}else lf(b,24,175878,r);r=c[l>>2]|0;c[x>>2]=c[(c[Q>>2]|0)+56>>2];c[x+4>>2]=r;lf(b,48,175928,x);x=(c[Q>>2]|0)+56|0;c[l>>2]=(c[l>>2]|0)-(c[x>>2]|0);c[x>>2]=0}while(0);do if((t|0?(C=e+76|0,y=c[C>>2]|0,y>>>0>=t>>>0&(c[U>>2]|0)!=0):0)?(c[b+64>>2]&536870912|0)==0:0){if((y|0)==(t|0)){c[U>>2]=0;break}g=b+772|0;if((c[g>>2]|0)!=0?(z=c[b+344>>2]|0,(z|0)!=0):0){c[A>>2]=1;c[A+4>>2]=z;c[J>>2]=c[A>>2];c[J+4>>2]=c[A+4>>2];c[K>>2]=c[g>>2];c[K+4>>2]=c[g+4>>2];A=gQ(y-t|0,0,J,K)|0;B=M()|0;g=e+336|0;c[g>>2]=A;c[g+4>>2]=B;g=b}else{lf(b,24,175948,B);g=b}B=c[C>>2]|0;c[E>>2]=t;c[E+4>>2]=B;lf(g,48,176e3,E);c[C>>2]=(c[C>>2]|0)-t}while(0);if((c[U>>2]|0?(c[b+64>>2]&536870912|0)!=0:0)?(D=qh(e,9,10)|0,D|0):0){C=c[(c[Q>>2]|0)+56>>2]|0;E=D+4|0;D=c[E>>2]|0;a[D>>0]=C;a[D+1>>0]=C>>8;a[D+2>>0]=C>>16;a[D+3>>0]=C>>24;D=(c[E>>2]|0)+4|0;a[D>>0]=t;a[D+1>>0]=t>>8;a[D+2>>0]=t>>16;a[D+3>>0]=t>>24;a[(c[E>>2]|0)+8>>0]=u;a[(c[E>>2]|0)+9>>0]=s;c[(c[Q>>2]|0)+56>>2]=0}break}default:{}}while(0);g=c[v>>2]|0;if((((c[g+8>>2]|0)==1?(F=V+104|0,(f|0)>-1&(c[F>>2]|0)==0):0)?(f|0)!=(c[S+28>>2]|0):0)?(c[g+16>>2]&256|0)==0:0){lf(b,24,176023,G);c[F>>2]=1}if(!(c[U>>2]|0))rg(e);if(((f|0)>-1?(c[(c[v>>2]|0)+8>>2]|0)==0:0)?(c[b+60>>2]&65536|0)==0:0)f=c[S+28>>2]|0;g=b+760|0;if((c[g>>2]|0)>0?(c[b+764>>2]|0)>0:0){c[P>>2]=c[b+84>>2];c[P+4>>2]=1;c[J>>2]=c[g>>2];c[J+4>>2]=c[g+4>>2];c[K>>2]=c[P>>2];c[K+4>>2]=c[P+4>>2];sN(O,J,K);K=c[O>>2]|0;P=b+76|0;c[P>>2]=c[O+4>>2];c[P+4>>2]=K}do if(!(w|0?1:(c[(c[Q>>2]|0)+64>>2]|0)==0)){if((f|0)>=0){c[L>>2]=1;break}if(!(c[I>>2]&1))g=21;else g=(c[b+688>>2]|0)+20|0;P=V+112|0;Q=c[P>>2]|0;c[P>>2]=Q+1;if((Q|0)>=(g|0)){lf(b,16,176053,R);c[L>>2]=1;f=-558323010}}while(0);g=V+92|0;c[g>>2]=(c[g>>2]|0)+f;g=S+28|0;h=c[g>>2]|0;i=(f|0)<0;if(i|(h|0)<=(f|0))Qf(S);else{c[T>>2]=(c[T>>2]|0)+f;c[g>>2]=h-f;V=c[V+40>>2]|0;T=V+28|0;c[T>>2]=(c[T>>2]|0)-f;T=S+8|0;c[T>>2]=0;c[T+4>>2]=-2147483648;T=S+16|0;c[T>>2]=0;c[T+4>>2]=-2147483648;T=V+8|0;c[T>>2]=0;c[T+4>>2]=-2147483648;V=V+16|0;c[V>>2]=0;c[V+4>>2]=-2147483648}if(c[U>>2]|0?(c[e+248>>2]|0)==0:0){c[W>>2]=176129;c[W+4>>2]=129184;c[W+8>>2]=584;lf(0,0,164242,W);ub()}f=i?f:0}else f=-541478725}while(0);$c=X;return f|0}function PR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=c[(c[a+28>>2]|0)+20>>2]|0;o=p+148|0;h=c[o>>2]|0;lR(p);n=p+144|0;f=RR((c[p>>2]|0)+((c[n>>2]|0)*352|0)|0,a,e)|0;do if(!f){m=a+688|0;f=p+152|0;if((c[n>>2]|0)<=((c[m>>2]|0)+-1+(((c[a+16>>2]|0)==33)<<31>>31)|0))if(c[f>>2]|0){c[d>>2]=0;e=e+28|0;f=c[e>>2]|0;if(f)break}else g=5;else{c[f>>2]=0;g=5}if((g|0)==5)e=e+28|0;l=b+120|0;j=h;while(1){k=c[p>>2]|0;i=j+1|0;f=k+(j*352|0)+300|0;if(c[f>>2]|0){g=k+(j*352|0)+184|0;eV(g)|0;h=k+(j*352|0)+108|0;while(1){if(!(c[f>>2]|0))break;Vb(h|0,g|0)|0}fV(g)|0}sg(b,c[k+(j*352|0)+288>>2]|0);h=k+(j*352|0)+292|0;c[d>>2]=c[h>>2];q=k+(j*352|0)+232|0;f=c[q+4>>2]|0;g=l;c[g>>2]=c[q>>2];c[g+4>>2]=f;g=k+(j*352|0)+296|0;f=c[g>>2]|0;c[h>>2]=0;c[g>>2]=0;g=(i|0)<(c[m>>2]|0)?i:0;if(c[e>>2]|0)break;if(!((f|0)>-1&(c[d>>2]|0)==0))break;if((g|0)==(c[o>>2]|0))break;else j=g}jR(a,c[k+(j*352|0)+212>>2]|0,1)|0;if((c[n>>2]|0)>=(c[m>>2]|0))c[n>>2]=0;c[o>>2]=g;if((f|0)>-1)f=c[e>>2]|0}while(0);il(p);return f|0}function QR(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=(e|0)==0&(f|0)==-2147483648;if(k)if((b|0)==0&(d|0)==-2147483648)g=0;else{l=a+808|0;c[l>>2]=b;c[l+4>>2]=d;l=6}else{l=a+808|0;h=l;i=c[h+4>>2]|0;j=a+792|0;g=j;h=IW(c[g>>2]|0,c[g+4>>2]|0,((i|0)>(f|0)|((i|0)==(f|0)?(c[h>>2]|0)>>>0>=e>>>0:0))&1|0,0)|0;i=M()|0;c[j>>2]=h;c[j+4>>2]=i;c[l>>2]=e;c[l+4>>2]=f;if((b|0)==0&(d|0)==-2147483648){h=a+800|0;g=0;i=e;j=f;l=7}else l=6}if((l|0)==6){h=a+800|0;j=h;i=c[j+4>>2]|0;g=a+784|0;m=g;j=IW(c[m>>2]|0,c[m+4>>2]|0,((i|0)>(d|0)|((i|0)==(d|0)?(c[j>>2]|0)>>>0>=b>>>0:0))&1|0,0)|0;i=M()|0;c[g>>2]=j;c[g+4>>2]=i;g=1;i=b;j=d;l=7}if((l|0)==7){m=h;c[m>>2]=i;c[m+4>>2]=j}l=a+784|0;j=c[l+4>>2]|0;m=a+792|0;a=c[m+4>>2]|0;m=g&(k|((j|0)<(a|0)|((j|0)==(a|0)?(c[l>>2]|0)>>>0<=(c[m>>2]|0)>>>0:0)));L((m?d:f)|0);return (m?b:e)|0}function RR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);h=o;k=c[a>>2]|0;l=k+4|0;g=c[l>>2]|0;m=a+212|0;if((c[d+28>>2]|0)==0?(c[(c[(c[m>>2]|0)+12>>2]|0)+16>>2]&32|0)==0:0)b=0;else n=3;do if((n|0)==3){i=a+156|0;eV(i)|0;b=SR(c[m>>2]|0,b)|0;if(b|0){fV(i)|0;break}c[a+344>>2]=(c[(c[m>>2]|0)+576>>2]|0)>>>16&1;kR(a);if(g|0){b=g+300|0;if((c[b>>2]|0)==1){e=g+184|0;eV(e)|0;f=g+60|0;while(1){if((c[b>>2]|0)!=1)break;Vb(f|0,e|0)|0}fV(e)|0}b=jR(c[m>>2]|0,c[g+212>>2]|0,0)|0;if(b|0){fV(i)|0;break}}b=a+216|0;Qf(b);b=xR(b,d)|0;if((b|0)<0){fV(i)|0;lf(c[m>>2]|0,16,176143,h);break}j=a+300|0;c[j>>2]=1;Ub(a+12|0)|0;fV(i)|0;b=c[m>>2]|0;a:do if(!(c[b+700>>2]|0)){if((c[b+120>>2]|0)==10?(c[b+400>>2]|0)==11:0)break;b=a+184|0;e=a+60|0;f=a+316|0;g=a+320|0;d=a+296|0;h=a+324|0;i=a+328|0;while(1){if((c[j>>2]|0)==4)break a;if(!(c[j>>2]|0))break a;eV(b)|0;while(1){if((c[j>>2]|0)!=1)break;Vb(e|0,b|0)|0}switch(c[j>>2]|0){case 2:{c[d>>2]=Km(c[m>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;n=27;break}case 3:{c[i>>2]=fM(c[m>>2]|0,c[h>>2]|0)|0;n=27;break}default:{}}if((n|0)==27){n=0;c[j>>2]=1;Ub(e|0)|0}fV(b)|0}}while(0);c[l>>2]=a;b=k+144|0;c[b>>2]=(c[b>>2]|0)+1;b=0}while(0);$c=o;return b|0}function SR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;c[a+60>>2]=c[b+60>>2];c[a+116>>2]=c[b+116>>2];c[a+400>>2]=c[b+400>>2];c[a+32>>2]=c[b+32>>2];c[a+576>>2]=c[b+576>>2];c[a+832>>2]=c[b+832>>2];c[a+240>>2]=c[b+240>>2];c[a+64>>2]=c[b+64>>2];f=a+724|0;d=b+724|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[a+360>>2]=c[b+360>>2];f=b+584|0;d=c[f+4>>2]|0;g=a+584|0;c[g>>2]=c[f>>2];c[g+4>>2]=d;c[a+700>>2]=c[b+700>>2];g=b+176|0;d=c[g>>2]|0;do if(d){e=b+184|0;b=c[e>>2]|0;if(!b)h=7;else{f=a+184|0;if((c[a+176>>2]|0)<(d|0)){d=ZM(f,d,4)|0;if((d|0)<=-1)break;d=c[g>>2]|0;b=c[e>>2]|0}XW(c[f>>2]|0,b|0,d<<2|0)|0;d=c[g>>2]|0;h=7}}else{d=0;h=7}while(0);if((h|0)==7){c[a+176>>2]=d;d=0}return d|0}function TR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=c[a+28>>2]|0;rg(b);do if((dR(a)|0)!=0?(aR(c[a+12>>2]|0)|0)!=0:0){d=LR(a)|0;if((d|0)>=0){d=c[e+76>>2]|0;if(!(c[d+248>>2]|0)){d=MR(a,b)|0;if((d|0)<0)break}else sg(b,d);if((c[a+8>>2]|0)==0?(f=UR(a,b)|0,(f|0)<0):0){rg(b);d=f;break}d=a+360|0;c[d>>2]=(c[d>>2]|0)+1;d=0}}else d=-22;while(0);return d|0}function UR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);l=m;f=b+392|0;g=c[f>>2]|0;h=b+396|0;i=c[h>>2]|0;j=b+384|0;k=c[j>>2]|0;d=b+388|0;e=c[d>>2]|0;if((g>>>0<(2147483647-i|0)>>>0&k>>>0<(2147483647-e|0)>>>0?(i+g|0)>>>0<(c[b+68>>2]|0)>>>0:0)?(e+k|0)>>>0<(c[b+72>>2]|0)>>>0:0)if(!(c[a+888>>2]|0))a=0;else a=dQ(b,c[a+60>>2]&1)|0;else{n=c[b+68>>2]|0;b=c[b+72>>2]|0;c[l>>2]=g;c[l+4>>2]=i;c[l+8>>2]=k;c[l+12>>2]=e;c[l+16>>2]=n;c[l+20>>2]=b;lf(a,24,176286,l);c[f>>2]=0;c[h>>2]=0;c[j>>2]=0;c[d>>2]=0;a=0}$c=m;return a|0}function VR(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){cR(b)|0;gf(b+68|0);gf(b+736|0);gf(b+248|0);gf(b+252|0);gf(b+436|0);gf(a)}return}function WR(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=c[77924+(b<<2)>>2]|0;if((b|0)!=3)c[a>>2]=b+1;return d|0}function XR(a){a=a|0;var b=0,d=0,e=0;e=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);b=e;c[b>>2]=0;a:do if(!a)a=0;else{do{d=WR(b)|0;if(!d){a=0;break a}if((c[d>>2]|0)==(a|0))break;if((c[d+4>>2]|0)==(a|0))break;if((c[d+8>>2]|0)==(a|0))break;if((c[d+12>>2]|0)==(a|0))break}while((c[d+16>>2]|0)!=(a|0));a=cg(344)|0;if(a|0){c[a+4>>2]=d;b=cg(c[d+20>>2]|0)|0;c[a>>2]=b;do if(b|0){c[a+72>>2]=1;c[a+32>>2]=1;b=c[d+24>>2]|0;if(b|0?fd[b&31](a)|0:0)break;c[a+224>>2]=-1;d=a+232|0;c[d>>2]=0;c[d+4>>2]=0;c[a+240>>2]=-2147483648;c[a+244>>2]=-2147483648;c[a+248>>2]=-2147483648;c[a+336>>2]=-1;break a}while(0);gf(a)}hf(a);a=0}while(0);$c=e;return a|0}function YR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=(e|0)!=0;if(u){n=a+48|0;o=a+40|0;p=a+288|0;q=a+184|0}else{o=a+40|0;n=o;c[n>>2]=0;c[n+4>>2]=-2147483648;n=a+48|0;p=n;c[p>>2]=0;c[p+4>>2]=-2147483648;p=a+288|0;q=p;c[q>>2]=-1;c[q+4>>2]=-1;q=a+184|0;t=q;c[t>>2]=0;c[t+4>>2]=0}r=a+16|0;s=((b|0)<0)<<31>>31;t=a+8|0;l=(d|0)==0;m=a+24|0;k=0;a:while(1){if((k|0)>=4)break;e=r;d=c[e>>2]|0;e=c[e+4>>2]|0;i=IW(d|0,e|0,b|0,s|0)|0;h=M()|0;j=a+80+(k<<3)|0;g=j;f=c[g>>2]|0;g=c[g+4>>2]|0;do if(!((h|0)<(g|0)|(h|0)==(g|0)&i>>>0>>0)){i=t;h=c[i>>2]|0;i=c[i+4>>2]|0;if(!((i|0)<(g|0)|(i|0)==(g|0)&h>>>0>>0)){if(!((h|0)==0&(i|0)==0))break;i=m;if(!((c[i>>2]|0)==0&(c[i+4>>2]|0)==0))break}h=a+192+(k<<3)|0;i=h;if(!((c[i>>2]|0)==0&(c[i+4>>2]|0)==0)){g=a+144+(k<<3)|0;f=c[g>>2]|0;g=c[g+4>>2]|0;if(!(u&((f|0)==0&(g|0)==-2147483648))){i=n;c[i>>2]=f;c[i+4>>2]=g;g=a+112+(k<<3)|0;f=c[g+4>>2]|0;i=o;c[i>>2]=c[g>>2];c[i+4>>2]=f;i=a+256+(k<<3)|0;f=c[i+4>>2]|0;g=p;c[g>>2]=c[i>>2];c[g+4>>2]=f;g=m;f=j;f=JW(c[g>>2]|0,c[g+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;g=M()|0;i=q;c[i>>2]=f;c[i+4>>2]=g}if(!l){e=j;c[e>>2]=-1;c[e+4>>2]=2147483647;e=r;d=c[e>>2]|0;e=c[e+4>>2]|0}i=IW(d|0,e|0,b|0,s|0)|0;g=M()|0;j=h;h=c[j+4>>2]|0;if((g|0)<(h|0)|((g|0)==(h|0)?i>>>0<(c[j>>2]|0)>>>0:0))break a}}while(0);k=k+1|0}return}function ZR(b,d,e,f,g,h,i,j,k,l,m,n){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=$c;$c=$c+80|0;if(($c|0)>=(ad|0))N(80);w=x;o=x+16|0;p=b+176|0;q=c[p>>2]|0;if(!(q&4)){t=b+16|0;c[t>>2]=m;c[t+4>>2]=n;t=b+24|0;c[t>>2]=m;c[t+4>>2]=n;c[p>>2]=q|4}if(h){p=b+16|0;o=c[p>>2]|0;p=c[p+4>>2]|0;q=IW(o|0,p|0,h|0,((h|0)<0)<<31>>31|0)|0;r=M()|0;s=b+76|0;t=c[s>>2]|0;y=b+192+(t<<3)|0;if((q|0)==(c[y>>2]|0)?(r|0)==(c[y+4>>2]|0):0)o=g;else{y=t+1&3;c[s>>2]=y;t=b+80+(y<<3)|0;c[t>>2]=o;c[t+4>>2]=p;o=b+192+(y<<3)|0;c[o>>2]=q;c[o+4>>2]=r;o=b+112+(y<<3)|0;c[o>>2]=i;c[o+4>>2]=j;o=b+144+(y<<3)|0;c[o>>2]=k;c[o+4>>2]=l;o=b+256+(y<<3)|0;c[o>>2]=m;c[o+4>>2]=n;o=g}}else{p=o;q=p+64|0;do{a[p>>0]=0;p=p+1|0}while((p|0)<(q|0))}p=b+72|0;if(c[p>>2]|0){c[p>>2]=0;k=b+40|0;l=c[k+4>>2]|0;y=b+56|0;c[y>>2]=c[k>>2];c[y+4>>2]=l;y=b+48|0;l=c[y+4>>2]|0;k=b+64|0;c[k>>2]=c[y>>2];c[k+4>>2]=l;k=b+288|0;l=c[k+4>>2]|0;y=b+296|0;c[y>>2]=c[k>>2];c[y+4>>2]=l;YR(b,0,0,0)}r=ld[c[(c[b+4>>2]|0)+28>>2]&7](b,d,e,f,o,h)|0;if((r|0)<=-536870912){c[w>>2]=176402;c[w+4>>2]=121209;c[w+8>>2]=253;lf(0,0,164242,w);ub()}if(((c[d+8>>2]|0)==0?(u=c[b+308>>2]|0,u|0):0)?(v=d+340|0,(c[v>>2]|0)==0):0)c[v>>2]=u;if(!(c[f>>2]|0)){o=b+16|0;q=o;p=c[q>>2]|0;q=c[q+4>>2]|0}else{w=b+24|0;y=w;q=c[y+4>>2]|0;o=b+8|0;c[o>>2]=c[y>>2];c[o+4>>2]=q;o=b+16|0;q=o;y=c[q>>2]|0;q=c[q+4>>2]|0;v=IW(y|0,q|0,r|0,((r|0)<0)<<31>>31|0)|0;f=M()|0;c[w>>2]=v;c[w+4>>2]=f;c[p>>2]=1;p=y}y=(r|0)>0?r:0;v=IW(p|0,q|0,y|0,0)|0;f=M()|0;w=o;c[w>>2]=v;c[w+4>>2]=f;$c=x;return y|0}function _R(a){a=a|0;var b=0;if(a|0){b=c[(c[a+4>>2]|0)+32>>2]|0;if(b|0)nd[b&63](a);gf(a);hf(a)}return}function $R(a){a=a|0;var b=0;aS(a);b=c[a+696>>2]|0;if(!(b&2))if(!(b&1))a=0;else a=cS(a)|0;else a=bS(a)|0;return a|0}function aS(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;i=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);g=i;f=c[(c[a+12>>2]|0)+16>>2]|0;if((f&4096|0)!=0?(c[a+60>>2]&589824|0)==0:0)e=(c[a+64>>2]&32768|0)==0;else e=0;d=a+688|0;b=c[d>>2]|0;do if((b|0)!=1){if(e?c[a+692>>2]&1|0:0){d=1;h=11;break}if(f&8192|0?c[a+692>>2]&2|0:0){d=2;h=11;break}if(!(f&32768)){c[d>>2]=1;d=0;b=1;h=11}}else{d=0;b=1;h=11}while(0);if((h|0)==11)c[a+696>>2]=d;if((b|0)>16){c[g>>2]=b;c[g+4>>2]=16;lf(a,24,176540,g)}$c=i;return}function bS(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=a+688|0;b=c[i>>2]|0;h=a+12|0;if(((YQ(c[h>>2]|0)|0)!=0?(c[a+16>>2]|0)==1:0)?(c[a+96>>2]|0)>2800:0){c[i>>2]=1;j=10}else j=5;a:do if((j|0)==5){if(!b){b=cQ()|0;d=c[a+96>>2]|0;if(d){g=(d+15|0)/16|0;b=(b|0)>(g|0)?g:b}e=b+1|0;e=(b|0)>1?((e|0)<16?e:16):1;c[i>>2]=e}else e=b;if((e|0)<2)j=10;else{f=cg(48)|0;g=a+28|0;b=c[g>>2]|0;c[b+20>>2]=f;d=c[(c[h>>2]|0)+116>>2]&32|0?32:0;c[46303]=d;do if(f){b=OQ(f,a,79,d,e)|0;if((b|0)<2){QQ(f);b=c[g>>2]|0;break}else{c[i>>2]=b;c[a+704>>2]=5;c[a+708>>2]=42;break a}}while(0);gf(b+20|0);c[i>>2]=1;c[a+696>>2]=0}}while(0);if((j|0)==10)c[a+696>>2]=0;return 0}function cS(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);r=t;b=a+688|0;d=c[b>>2]|0;e=c[a+12>>2]|0;if(!d){q=cQ()|0;d=q+1|0;d=(q|0)>1?((d|0)<16?d:16):1;c[b>>2]=d}a:do if((d|0)>=2){q=cg(156)|0;b=a+28|0;c[(c[b>>2]|0)+20>>2]=q;if(!q)b=-12;else{p=Ag(d,352)|0;c[q>>2]=p;if(!p){gf((c[b>>2]|0)+20|0);b=-12;break}dV(q+8|0,0)|0;dV(q+36|0,0)|0;dV(q+64|0,0)|0;Tb(q+92|0,0)|0;c[q+140>>2]=1;c[q+152>>2]=1;n=e+80|0;o=e+56|0;l=e+64|0;b=0;p=0;f=a;while(1){if((p|0)>=(d|0)){b=0;break a}c[r>>2]=tf(896)|0;m=c[q>>2]|0;j=m+(p*352|0)|0;dV(m+(p*352|0)+156|0,0)|0;dV(m+(p*352|0)+184|0,0)|0;Tb(m+(p*352|0)+12|0,0)|0;Tb(m+(p*352|0)+60|0,0)|0;Tb(m+(p*352|0)+108|0,0)|0;k=Vg()|0;c[m+(p*352|0)+288>>2]=k;if(!k){s=11;break}c[j>>2]=q;e=c[r>>2]|0;c[m+(p*352|0)+212>>2]=e;k=e;if(!e){b=-12;s=23;break}XW(e|0,f|0,896)|0;e=tf(116)|0;i=k+28|0;c[i>>2]=e;if(!e){s=14;break}g=c[f+28>>2]|0;h=e+116|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(h|0));h=c[i>>2]|0;c[h+20>>2]=j;c[h+40>>2]=m+(p*352|0)+216;if(p){e=tf(c[o>>2]|0)|0;c[k+24>>2]=e;if(!e){b=-12;s=23;break}XW(e|0,c[f+24>>2]|0,c[o>>2]|0)|0;c[c[i>>2]>>2]=1;e=c[l>>2]|0;if(e)b=fd[e&31](k)|0}else{e=c[n>>2]|0;if(e)b=fd[e&31](k)|0;jR(a,k,1)|0;f=k}if(b|0){s=23;break}c[m+(p*352|0)+344>>2]=(c[k+576>>2]|0)>>>16&1;k=Wb(m+(p*352|0)+4|0,0,25,j|0)|0;b=0-k|0;k=(k|0)==0;c[m+(p*352|0)+8>>2]=k&1;if(!k)break;p=p+1|0}if((s|0)==11){gf(r);b=-12;s=23}else if((s|0)==14){c[k+24>>2]=0;b=-12;s=23}gR(a,p+1|0)}}else{c[a+696>>2]=0;b=0}while(0);$c=t;return b|0}function dS(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);z=B+16|0;y=B;n=c[a+212>>2]|0;j=c[n+12>>2]|0;t=a+156|0;eV(t)|0;u=a+332|0;v=a+300|0;w=a+12|0;x=j+68|0;d=n+700|0;e=n+400|0;f=a+336|0;g=n+592|0;h=a+288|0;i=a+292|0;j=j+92|0;k=a+216|0;l=a+296|0;m=n+28|0;o=a+340|0;p=a+184|0;q=a+60|0;r=a+108|0;a:while(1){while(1){b=(c[u>>2]|0)==0;if(c[v>>2]|0)break;if(!b){A=28;break a}Vb(w|0,t|0)|0}if(!b){A=28;break}do if(!(c[x>>2]|0)){if((c[d>>2]|0)==0?(c[e>>2]|0)!=11:0)break;ai(n)}while(0);if(c[f>>2]|0){A=12;break}if(c[g>>2]|0){eV((c[a>>2]|0)+36|0)|0;c[f>>2]=1}rg(c[h>>2]|0);c[i>>2]=0;b=jd[c[j>>2]&3](n,c[h>>2]|0,i,k)|0;c[l>>2]=b;if(!((b|0)>=0?(c[i>>2]|0)!=0:0))A=17;if((A|0)==17?(A=0,s=c[h>>2]|0,c[s+248>>2]|0):0){if(!(c[(c[m>>2]|0)+4>>2]|0))b=s;else{lf(n,16,176446,z);b=c[h>>2]|0}rg(b)}if((c[v>>2]|0)==1)ai(n);if(c[f>>2]|0){c[f>>2]=0;fV((c[a>>2]|0)+36|0)|0}if(c[o>>2]|0){c[o>>2]=0;lR(c[a>>2]|0)}eV(p)|0;c[v>>2]=0;_W(q|0)|0;Ub(r|0)|0;fV(p)|0}if((A|0)==12){c[y>>2]=176422;c[y+4>>2]=164198;c[y+8>>2]=190;lf(0,0,164242,y);ub()}else if((A|0)==28){fV(t)|0;$c=B;return 0}return 0}function eS(a){a=a|0;fd[c[(c[(c[a+28>>2]|0)+20>>2]|0)+12>>2]&31](a)|0;return}function fS(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=c[(c[a+28>>2]|0)+20>>2]|0;e=c[g+4>>2]|0;if(!e)f=jd[c[g+8>>2]&3](a,c[g+16>>2]|0,b,d)|0;else{f=(c[g+16>>2]|0)+(H(c[g+24>>2]|0,b)|0)|0;f=hd[e&15](a,f)|0}e=c[g+20>>2]|0;if(e|0)c[e+(b<<2)>>2]=f;return}function gS(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=c[(c[a+28>>2]|0)+20>>2]|0;if((c[a+696>>2]&2|0)!=0?(c[a+688>>2]|0)>=2:0)if((f|0)<1)a=0;else{c[h+24>>2]=g;c[h+16>>2]=d;c[h+4>>2]=b;c[h+20>>2]=e;SQ(c[h>>2]|0,f,(c[h+12>>2]|0)!=0&1);a=0}else a=nR(a,b,d,e,f,g)|0;return a|0}function hS(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[(c[(c[a+28>>2]|0)+20>>2]|0)+8>>2]=b;return gS(a,0,d,e,f,0)|0}function iS(a){a=a|0;if((c[a+116>>2]&1|0)==0?c[a+80>>2]|0:0)fV(185216)|0;return}function jS(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;ha=$c;$c=$c+848|0;if(($c|0)>=(ad|0))N(848);Z=ha+336|0;Y=ha+328|0;ba=ha+288|0;X=ha+280|0;W=ha+272|0;V=ha+264|0;U=ha+248|0;R=ha+240|0;Q=ha+232|0;P=ha+224|0;L=ha+208|0;K=ha+192|0;J=ha+184|0;I=ha+176|0;H=ha+168|0;G=ha+152|0;E=ha+144|0;C=ha+136|0;A=ha+128|0;z=ha+120|0;y=ha+112|0;x=ha+104|0;w=ha+96|0;v=ha+88|0;r=ha+80|0;q=ha+72|0;p=ha+64|0;o=ha+48|0;aa=ha+40|0;n=ha+32|0;m=ha+24|0;l=ha+16|0;j=ha+8|0;i=ha;ga=ha+312|0;_=ha+320|0;$=ha+304|0;c[ga>>2]=0;do if(!(dR(a)|0)){fa=a+12|0;g=c[fa>>2]|0;h=(g|0)==0;if(!b)if(h){lf(a,16,176636,i);f=-22;break}else da=g;else if(h|(g|0)==(b|0))da=b;else{f=c[b>>2]|0;c[j>>2]=c[g>>2];c[j+4>>2]=f;lf(a,16,176674,j);f=-22;break}if((c[a+72>>2]|0)>>>0<=268435391){ea=(e|0)!=0;if(ea)ph(ga,c[e>>2]|0,0)|0;kS(da);T=cg(116)|0;ca=a+28|0;c[ca>>2]=T;a:do if(!T)f=-12;else{T=cg(88)|0;c[(c[ca>>2]|0)+16>>2]=T;b:do if(((((((T|0)!=0?(T=Vg()|0,c[(c[ca>>2]|0)+12>>2]=T,(T|0)!=0):0)?(T=Vg()|0,c[(c[ca>>2]|0)+100>>2]=T,(T|0)!=0):0)?(T=Vg()|0,c[(c[ca>>2]|0)+76>>2]=T,(T|0)!=0):0)?(T=bP()|0,c[(c[ca>>2]|0)+68>>2]=T,(T|0)!=0):0)?(T=bP()|0,c[(c[ca>>2]|0)+24>>2]=T,(T|0)!=0):0)?(T=bP()|0,k=c[ca>>2]|0,c[k+40>>2]=T,(T|0)!=0):0){c[k+108>>2]=1;S=da+56|0;b=c[S>>2]|0;T=a+24|0;do if((b|0)>0){if(!(c[T>>2]|0)){g=cg(b)|0;c[T>>2]=g;if(!g){f=-12;break a}b=da+44|0;h=c[b>>2]|0;if(!h)break;c[g>>2]=h;JQ(g)}else b=da+44|0;if(c[b>>2]|0?(f=MQ(c[T>>2]|0,ga)|0,(f|0)<0):0)break b}else c[T>>2]=0;while(0);f=MQ(a,ga)|0;if((f|0)>=0){b=a+844|0;g=c[b>>2]|0;if(g|0?(rP(c[da>>2]|0,g,44)|0)<1:0){f=c[b>>2]|0;c[l>>2]=c[da>>2];c[l+4>>2]=f;lf(a,16,176750,l);f=-22;break}i=a+100|0;b=c[i>>2]|0;c:do if(!b)O=37;else{g=c[a+104>>2]|0;if(!g){O=37;break}do if(c[a+92>>2]|0){if(!(c[a+96>>2]|0))break;switch(c[a+16>>2]|0){case 189:case 92:case 27:{O=43;break c}default:{}}}while(0);f=JR(a,b,g)|0;O=40}while(0);do if((O|0)==37){g=c[a+92>>2]|0;if(!g){O=42;break}h=c[a+96>>2]|0;if(!h){O=42;break}f=JR(a,g,h)|0;O=40}while(0);if((O|0)==40){if((f|0)<0)break;b=c[i>>2]|0;O=42}do if((O|0)==42){if(b|0){O=43;break}g=c[a+104>>2]|0;if(g|0){b=0;O=47;break}b=a+92|0;if(c[b>>2]|0){b=0;g=0;O=47;break}if(!(c[a+96>>2]|0))s=b;else{b=0;g=0;O=47}}while(0);if((O|0)==43){g=c[a+104>>2]|0;O=47}do if((O|0)==47){h=a+872|0;F=h;i=a+92|0;if((nh(b,g,c[F>>2]|0,c[F+4>>2]|0,-1,0,a)|0)>=0?(F=h,(nh(c[i>>2]|0,c[a+96>>2]|0,c[F>>2]|0,c[F+4>>2]|0,-1,0,a)|0)>=0):0){s=i;break}lf(a,24,176784,m);JR(a,0,0)|0;s=i}while(0);b=c[s>>2]|0;do if((b|0)>0){g=c[a+96>>2]|0;if((g|0)<=0)break;h=a+188|0;c[Z>>2]=c[h>>2];c[Z+4>>2]=c[h+4>>2];if((Rm(b,g,Z)|0)>=0)break;F=a+192|0;D=c[F>>2]|0;c[n>>2]=c[h>>2];c[n+4>>2]=D;lf(a,24,176822,n);c[a+188>>2]=0;c[F>>2]=1}while(0);if(aR(da)|0)gf(a+736|0);D=a+348|0;if((c[D>>2]|0)>>>0>64){f=-22;break}c[fa>>2]=da;F=a+8|0;h=c[F>>2]|0;do if((h|0)==-1)O=60;else{if((h|0)==(c[da+8>>2]|0)){O=60;break}g=a+16|0;l=g;g=c[g>>2]|0;b=h}while(0);do if((O|0)==60){b=a+16|0;g=c[b>>2]|0;if(g|0){l=b;b=h;break}B=c[da+8>>2]|0;c[F>>2]=B;g=c[da+12>>2]|0;c[b>>2]=g;l=b;b=B}while(0);h=da+12|0;do if((g|0)==(c[h>>2]|0)){if(!((b|0)==4?1:(b|0)==(c[da+8>>2]|0)))break;c[a+360>>2]=0;B=a+780|0;c[B>>2]=ag(g)|0;b=c[fa>>2]|0;do if(c[b+16>>2]&512|0){if((c[a+568>>2]|0)<=-2)break;b=(YQ(da)|0)!=0;b=b?176880:176888;ba=c[da>>2]|0;c[o>>2]=b;c[o+4>>2]=ba;c[o+8>>2]=-2;lf(a,16,176896,o);ba=(YQ(da)|0)==0;f=c[h>>2]|0;if(ba)f=$Q(f)|0;else f=XQ(f)|0;if(c[f+16>>2]&512|0){f=-733130664;break b}f=c[f>>2]|0;c[p>>2]=b;c[p+4>>2]=f;lf(a,16,177006,p);f=-733130664;break b}while(0);do if((c[F>>2]|0)==1){h=a+76|0;g=a+80|0;if(c[h>>2]|0?c[g>>2]|0:0)break;c[h>>2]=1;c[g>>2]=c[a+344>>2]}while(0);if(!((c[(c[ca>>2]|0)+52>>2]|0)!=0?(c[a+696>>2]&1|0)!=0:0)){f=$R(a)|0;if((f|0)<0)break b;b=c[fa>>2]|0}g=d[b+40>>0]|0;h=a+680|0;if((c[h>>2]|0)>>>0>g>>>0){c[q>>2]=g;lf(a,24,177055,q);b=c[fa>>2]|0;c[h>>2]=d[b+40>>0]}d:do if(YQ(b)|0){q=Vg()|0;c[a+684>>2]=q;if(!q){f=-12;break b}m=a+76|0;do if((c[m>>2]|0)>=1){n=a+80|0;if((c[n>>2]|0)<1)break;g=c[fa>>2]|0;b=c[g+32>>2]|0;e:do if(!b)j=g;else{k=a+352|0;j=0;while(1){h=c[b+(j<<2)>>2]|0;if((h|0)==-1)break;i=c[k>>2]|0;if((i|0)==(h|0)){j=g;break e}if((c[D>>2]|0)==1){r=NQ(i)|0;r=(r|0)==(NQ(c[(c[(c[fa>>2]|0)+32>>2]|0)+(j<<2)>>2]|0)|0);t=c[fa>>2]|0;u=c[t+32>>2]|0;if(r){O=94;break}else{g=t;b=u}}j=j+1|0}if((O|0)==94?(u=u+(j<<2)|0,c[k>>2]=c[u>>2],(c[u>>2]|0)!=-1):0){j=t;break}c[v>>2]=c[k>>2];mU(Z,128,177150,v)|0;c[w>>2]=lS(IQ(c[k>>2]|0)|0,Z)|0;lf(a,16,177153,w);f=-22;break b}while(0);g=c[j+24>>2]|0;f:do if(g|0){h=a+112|0;b=0;while(1){i=c[g+(b<<2)>>2]|0;if((i|0)==-1)break;if((c[h>>2]|0)==(i|0)){O=103;break}else b=b+1|0}if((O|0)==103){switch(i|0){case 14:case 32:case 13:case 140:case 12:break;default:break f}c[a+328>>2]=2;break}switch(c[l>>2]|0){case 9:case 7:{if((c[a+568>>2]|0)<0)break f;break}default:{}}c[x>>2]=c[h>>2];mU(Z,128,177150,x)|0;c[y>>2]=lS(Hg(c[h>>2]|0)|0,Z)|0;lf(a,16,177209,y);f=-22;break b}while(0);h=c[j+28>>2]|0;b=c[a+344>>2]|0;g:do if(h){g=0;while(1){i=c[h+(g<<2)>>2]|0;if(!i)break;if((b|0)==(i|0))break g;else g=g+1|0}c[z>>2]=b;lf(a,16,177264,z);f=-22;break b}while(0);if((b|0)<0){c[A>>2]=b;lf(a,16,177264,A);f=-22;break b}i=c[j+36>>2]|0;l=a+376|0;h:do if(i|0){k=l;j=c[k>>2]|0;k=c[k+4>>2]|0;if((j|0)==0&(k|0)==0){lf(a,24,177307,C);break}else b=0;while(1){h=i+(b<<3)|0;g=c[h>>2]|0;h=c[h+4>>2]|0;if((g|0)==0&(h|0)==0)break;if((j|0)==(g|0)&(k|0)==(h|0))break h;else b=b+1|0}AP(Z,512,-1,j,k);c[E>>2]=Z;lf(a,16,177337,E);f=-22;break b}while(0);h=l;g=c[h>>2]|0;h=c[h+4>>2]|0;b=c[D>>2]|0;do if(!((g|0)==0&(h|0)==0)){g=lh(g,h)|0;if(!b){c[D>>2]=g;b=g;break}if((g|0)==(c[D>>2]|0)){b=g;break}f=l;AP(Z,512,-1,c[f>>2]|0,c[f+4>>2]|0);f=c[D>>2]|0;c[G>>2]=Z;c[G+4>>2]=g;c[G+8>>2]=f;lf(a,16,177385,G);f=-22;break b}while(0);if((b|0)<0){c[H>>2]=b;lf(a,16,177470,H);f=-22;break b}b=c[F>>2]|0;i:do if(!b){b=Gg(c[a+112>>2]|0)|0;h=a+676|0;i=c[h>>2]|0;do if((i|0)>=0){if((i|0)<=8)break;b=b+32|0;g=c[b>>2]|0;if((g|0)<9)O=129}else{g=b+32|0;b=g;g=c[g>>2]|0;O=129}while(0);if((O|0)==129){c[I>>2]=i;c[I+4>>2]=g;lf(a,24,177520,I);c[h>>2]=c[b>>2]}do if((c[s>>2]|0)>=1){if((c[a+96>>2]|0)<1)break;b=c[F>>2]|0;break i}while(0);lf(a,16,177599,J);f=-22;break b}while(0);do if(b>>>0<2){g=a+40|0;b=c[g>>2]|0;g=c[g+4>>2]|0;J=IW(b|0,g|0,-1,-1)|0;I=M()|0;if(!(I>>>0<0|(I|0)==0&J>>>0<999))break;J=K;c[J>>2]=b;c[J+4>>2]=g;J=K+8|0;c[J>>2]=b;c[J+4>>2]=g;lf(a,24,177619,K)}while(0);b=a+464|0;if(!(c[b>>2]|0)){K=c[a+428>>2]|0;K=OW(K|0,((K|0)<0)<<31>>31|0,3,0)|0;K=MW(K|0,M()|0,4,0)|0;M()|0;c[b>>2]=K}g=c[a+84>>2]|0;do if(g|0){b=c[m>>2]|0;if(!b)break;if((g|0)<=(2147483647/(b|0)|0|0))break;ba=c[n>>2]|0;c[L>>2]=g;c[L+4>>2]=b;c[L+8>>2]=ba;lf(a,16,177672,L);break b}while(0);f=c[a+860>>2]|0;if(!f)break d;f=c[f+4>>2]|0;if((c[f+36>>2]|0)!=(c[a+112>>2]|0)){lf(a,16,177725,P);f=-22;break b}h=a+768|0;g=c[h>>2]|0;b=f+40|0;f=c[b>>2]|0;do if((g|0)!=-1){if((g|0)==(f|0)){f=g;break}ba=Hg(g)|0;f=Hg(c[b>>2]|0)|0;c[Q>>2]=ba;c[Q+4>>2]=f;lf(a,16,177790,Q);f=-22;break b}while(0);c[h>>2]=f;break d}while(0);lf(a,16,177116,r);f=-22;break b}while(0);Q=a+784|0;c[Q>>2]=0;c[Q+4>>2]=0;c[Q+8>>2]=0;c[Q+12>>2]=0;Q=a+808|0;c[Q>>2]=0;c[Q+4>>2]=-2147483648;Q=a+800|0;c[Q>>2]=0;c[Q+4>>2]=-2147483648;do if(c[a+60>>2]&8192|0){if(c[(c[B>>2]|0)+4>>2]|0)break;lf(a,24,177871,R)}while(0);f=c[fa>>2]|0;b=c[f+80>>2]|0;do if(b){if(c[a+696>>2]&1|0?(c[(c[ca>>2]|0)+52>>2]|0)==0:0)break;f=fd[b&31](a)|0;if((f|0)<0)break b;f=c[fa>>2]|0}while(0);do if(aR(f)|0){f=a+40|0;R=f;if((c[R>>2]|0)==0&(c[R+4>>2]|0)==0){P=mS(a)|0;Q=M()|0;R=f;c[R>>2]=P;c[R+4>>2]=Q}g=a+376|0;b=g;f=c[b>>2]|0;b=c[b+4>>2]|0;do if((f|0)==0&(b|0)==0)O=166;else{f=lh(f,b)|0;b=c[D>>2]|0;if(!b){c[D>>2]=f;break}if((f|0)==(b|0))break;O=g;AP(Z,512,-1,c[O>>2]|0,c[O+4>>2]|0);O=c[D>>2]|0;c[U>>2]=Z;c[U+4>>2]=f;c[U+8>>2]=O;lf(a,24,177934,U);O=g;c[O>>2]=0;c[O+4>>2]=0;O=166}while(0);if((O|0)==166)f=c[D>>2]|0;if(f>>>0>64){f=-22;break b}b=a+816|0;g=c[b>>2]|0;j:do if(g|0){if((c[F>>2]|0)!=3){lf(a,16,178054,V);f=-22;break b}f=c[B>>2]|0;if(c[f+16>>2]&65536|0){c[W>>2]=c[f+8>>2];lf(a,24,178114,W);c[a+820>>2]=-1;break}f=a+820|0;switch(c[f>>2]|0){case 0:{c[f>>2]=1;break}case 1:break;default:break j}if((gU(178188,g)|0)==(-1|0)){f=0-(c[(WS()|0)>>2]|0)|0;c[X>>2]=c[b>>2];lf(a,16,178194,X);break b}else break}while(0);f=a+760|0;if((c[f>>2]|0)<=0)break;if((c[a+764>>2]|0)<=0)break;c[$>>2]=c[a+84>>2];c[$+4>>2]=1;c[Y>>2]=c[f>>2];c[Y+4>>2]=c[f+4>>2];c[Z>>2]=c[$>>2];c[Z+4>>2]=c[$+4>>2];sN(_,Y,Z);Z=c[_>>2]|0;$=a+76|0;c[$>>2]=c[_+4>>2];c[$+4>>2]=Z}while(0);if((c[S>>2]|0)<=0){f=0;break a}f=c[T>>2]|0;if(!f){f=0;break a}b=c[da+44>>2]|0;if(!b){f=0;break a}if((c[f>>2]|0)==(b|0)){f=0;break a}c[ba>>2]=178259;c[ba+4>>2]=131644;c[ba+8>>2]=995;lf(0,0,164242,ba);ub()}while(0);lf(a,16,176851,aa);f=-22}}else f=-12;while(0);b=c[fa>>2]|0;if(b|0?c[b+116>>2]&2|0:0)fd[c[b+96>>2]&31](a)|0;if(c[da+44>>2]|0?c[da+56>>2]|0:0)Mf(c[a+24>>2]|0);Mf(a);Wg(a+684|0);Wf(ga);gf(a+24|0);b=c[ca>>2]|0;if(b|0){Wg(b+12|0);Wg((c[ca>>2]|0)+100|0);Wg((c[ca>>2]|0)+76|0);Nf((c[ca>>2]|0)+68|0);Nf((c[ca>>2]|0)+40|0);Nf((c[ca>>2]|0)+24|0);gf((c[ca>>2]|0)+16|0)}gf(ca);c[fa>>2]=0}while(0);iS(da);if(ea){Wf(e);c[e>>2]=c[ga>>2]}}else f=-22}else f=0;while(0);$c=ha;return f|0}function kS(a){a=a|0;if((c[a+116>>2]&1|0)==0?c[a+80>>2]|0:0)eV(185216)|0;return}function lS(a,b){a=a|0;b=b|0;return (a|0?a:b)|0}function mS(a){a=a|0;var b=0,d=0;a:do switch(c[a+8>>2]|0){case 4:case 3:case 2:case 0:{b=a+40|0;a=c[b+4>>2]|0;b=c[b>>2]|0;break}case 1:{b=nS(c[a+16>>2]|0)|0;if(!b){b=a+40|0;a=c[b+4>>2]|0;b=c[b>>2]|0;break a}else{d=c[a+344>>2]|0;a=c[a+348>>2]|0;b=OW(d|0,((d|0)<0)<<31>>31|0,b|0,((b|0)<0)<<31>>31|0)|0;b=OW(b|0,M()|0,a|0,((a|0)<0)<<31>>31|0)|0;a=M()|0;break a}}default:{a=0;b=0}}while(0);L(a|0);return b|0}function nS(a){a=a|0;switch(a|0){case 69649:{a=2;break}case 69648:{a=3;break}case 69638:case 69645:case 69632:case 69633:case 69647:{a=4;break}default:a=oS(a)|0}return a|0}function oS(a){a=a|0;var b=0;a:do if((a|0)>=65563){if((a|0)<69655)switch(a|0){case 69646:case 69636:case 69644:{a=4;break a}case 65563:{b=2;break a}case 65566:{b=3;break a}case 65564:{b=4;break a}case 67586:case 67587:case 65565:{b=5;break a}case 67584:case 67585:{b=6;break a}default:{b=7;break a}}if((a|0)>=86070)switch(a|0){case 86071:case 86070:{a=4;break a}case 88072:case 88071:case 88070:case 88069:{b=2;break a}default:{b=7;break a}}if((a|0)<71681)switch(a|0){case 69660:case 69655:case 69661:{a=4;break a}default:{b=7;break a}}if((a|0)<71687)switch(a|0){case 71681:{a=4;break a}default:{b=7;break a}}if((a|0)<83968)switch(a|0){case 71687:{a=4;break a}default:{b=7;break a}}else switch(a|0){case 83968:{b=2;break a}default:{b=7;break a}}}else switch(a|0){case 65553:case 65541:case 65540:case 65542:case 65543:{b=2;break}case 65538:case 65539:case 65554:case 65536:case 65537:{b=3;break}case 65550:case 65551:case 65548:case 65549:case 65552:{b=4;break}case 65557:case 65556:case 65546:case 65547:case 65544:case 65545:{b=5;break}case 65559:case 65558:{b=6;break}default:b=7}while(0);if((b|0)==2)a=8;else if((b|0)==3)a=16;else if((b|0)==4)a=24;else if((b|0)==5)a=32;else if((b|0)==6)a=64;else if((b|0)==7)a=0;return a|0}function pS(a,d){a=a|0;d=d|0;c[a>>2]=d;b[a+4>>1]=0;b[a+6>>1]=8;return}function qS(a,b){a=a|0;b=b|0;return (e[a+6>>1]|0)+8-(e[b+6>>1]|0)+((c[b>>2]|0)-((c[a>>2]|0)+1)<<3)|0}function rS(a){a=a|0;var d=0;d=c[a>>2]|0;return ((b[a+6>>1]|0)==8?d:d+1|0)|0}function sS(a,f){a=a|0;f=f|0;var g=0,h=0,i=0;g=(c[a>>2]|0)+(f>>>3)|0;c[a>>2]=g;i=a+6|0;h=(e[i>>1]|0)-(f&7)|0;f=h&65535;b[i>>1]=f;if((h&65535)>>>0>8){g=g+1|0;c[a>>2]=g;f=h+8&65535;b[i>>1]=f}if((f&65535)>=8)return;b[a+4>>1]=d[g>>0]|0;return}function tS(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;l=e+6|0;g=b[l>>1]|0;if(g<<16>>16==8){h=d[c[e>>2]>>0]|0;k=e+4|0;b[k>>1]=h}else{k=e+4|0;h=b[k>>1]|0}j=g&65535;g=(1<>>0<=f>>>0){h=f-j|0;i=(c[e>>2]|0)+1|0;c[e>>2]=i;b[l>>1]=8;if(h>>>0>7){j=f-j|0;do{f=i;i=i+1|0;c[e>>2]=i;g=g<<8|(d[f>>0]|0);h=h+-8|0}while(h>>>0>7);h=j&7}if(!h){l=g;return l|0}else{e=a[i>>0]|0;b[k>>1]=e&255;k=8-h|0;g=(e&255)>>>k|g<>>h}while(0);b[l>>1]=h;l=g;return l|0}function uS(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;h=h&65535;if(g>>>0>31){q=f+6|0;p=f+4|0;n=b[q>>1]|0;o=g;while(1){if(n<<16>>16!=8){j=n&65535;i=(1<>1]|0);if((n&65535)>32){r=j+-32|0;j=r&65535;i=i>>>r;r=13}else r=7}else{i=a[c[f>>2]>>0]|0;b[p>>1]=i&255;i=(1<<(n&65535))+255&(i&255);j=8;r=7}if((r|0)==7){r=0;k=32-j|0;m=c[f>>2]|0;l=m+1|0;c[f>>2]=l;b[q>>1]=8;if(k>>>0>7){j=(24-j|0)>>>3;do{s=l;l=l+1|0;c[f>>2]=l;i=i<<8|(d[s>>0]|0);k=k+-8|0}while(k>>>0>7);j=m+2+j|0;k=0-n&7}else j=l;if(!k)j=8;else{s=a[j>>0]|0;b[p>>1]=s&255;r=8-k|0;j=r&65535;i=(s&255)>>>r|i<>1]=j}s=h<<8^(e[118974+((i>>>24^h>>>8&255)<<1)>>1]|0);s=s<<8^(e[118974+(((s>>>8^i>>>16)&255)<<1)>>1]|0);s=s<<8^(e[118974+(((s^i)>>>8&255)<<1)>>1]|0);h=s<<8^(e[118974+(((s>>>8^i)&255)<<1)>>1]|0);o=o+-32|0;if(o>>>0<=31)break;else n=j}g=g&31}switch(g>>>3&536870911|0){case 3:{q=h<<8;p=h>>>8;o=f+6|0;n=b[o>>1]|0;if(n<<16>>16!=8){i=f+4|0;j=n&65535;h=(1<>1]|0);if((n&65535)>8){r=j+-8|0;i=r&65535;h=h>>>r;r=29}else r=23}else{h=a[c[f>>2]>>0]|0;i=f+4|0;b[i>>1]=h&255;h=(1<<(n&65535))+255&(h&255);j=8;r=23}if((r|0)==23){k=8-j|0;l=c[f>>2]|0;j=l+1|0;c[f>>2]=j;b[o>>1]=8;if(k>>>0>7){m=((k+-8|0)>>>3)+2|0;do{s=j;j=j+1|0;c[f>>2]=j;h=h<<8|(d[s>>0]|0);k=k+-8|0}while(k>>>0>7);j=l+m|0;k=0-n&7}if(!k)i=8;else{s=a[j>>0]|0;b[i>>1]=s&255;r=8-k|0;i=r&65535;h=(s&255)>>>r|h<>1]=i;h=q^(e[118974+(((h^p)&255)<<1)>>1]|0);r=31;break}case 2:{o=f+6|0;i=b[o>>1]|0;r=31;break}case 1:{o=f+6|0;i=b[o>>1]|0;r=43;break}default:{}}if((r|0)==31){q=h<<8;p=h>>>8;if(i<<16>>16!=8){j=f+4|0;k=i&65535;h=(1<>1]|0);if((i&65535)>8){r=k+-8|0;i=r&65535;h=h>>>r;r=41}else r=35}else{h=a[c[f>>2]>>0]|0;j=f+4|0;b[j>>1]=h&255;h=(1<<(i&65535))+255&(h&255);k=8;r=35}if((r|0)==35){l=8-k|0;m=c[f>>2]|0;k=m+1|0;c[f>>2]=k;b[o>>1]=8;if(l>>>0>7){n=((l+-8|0)>>>3)+2|0;do{s=k;k=k+1|0;c[f>>2]=k;h=h<<8|(d[s>>0]|0);l=l+-8|0}while(l>>>0>7);k=m+n|0;l=0-i&7}if(!l)i=8;else{s=a[k>>0]|0;b[j>>1]=s&255;r=8-l|0;i=r&65535;h=(s&255)>>>r|h<>1]=i;h=q^(e[118974+(((h^p)&255)<<1)>>1]|0);r=43}if((r|0)==43){q=h<<8;p=h>>>8;if(i<<16>>16!=8){j=f+4|0;k=i&65535;h=(1<>1]|0);if((i&65535)>8){i=k+-8|0;h=h>>>i;r=53}else r=47}else{h=a[c[f>>2]>>0]|0;j=f+4|0;b[j>>1]=h&255;h=(1<<(i&65535))+255&(h&255);k=8;r=47}if((r|0)==47){l=8-k|0;m=c[f>>2]|0;k=m+1|0;c[f>>2]=k;b[o>>1]=8;if(l>>>0>7){n=((l+-8|0)>>>3)+2|0;do{s=k;k=k+1|0;c[f>>2]=k;h=h<<8|(d[s>>0]|0);l=l+-8|0}while(l>>>0>7);k=m+n|0;i=0-i&7}else i=l;if(i){s=a[k>>0]|0;b[j>>1]=s&255;r=8-i|0;h=(s&255)>>>r|h<>1]=i;h=q^(e[118974+(((h^p)&255)<<1)>>1]|0);g=g&7}if(!g){s=h;s=s&65535;return s|0}q=f+6|0;p=f+4|0;n=b[q>>1]|0;o=g;while(1){o=o+-1|0;if(n<<16>>16!=8){g=n&65535;i=(1<>1]|0);if((n&65535)<=1){k=1-g|0;m=c[f>>2]|0;j=m+1|0;c[f>>2]=j;b[q>>1]=8;if(k>>>0>7){l=(-7-g|0)>>>3;g=i;do{s=j;j=j+1|0;c[f>>2]=j;g=g<<8|(d[s>>0]|0);k=k+-8|0}while(k>>>0>7);j=m+2+l|0;k=1-n&7}else g=i;if(!k)i=8;else{s=a[j>>0]|0;b[p>>1]=s&255;r=8-k|0;j=r&65535;g=(s&255)>>>r|g<>2]>>0]|0;b[p>>1]=i&255;i=(1<<(n&65535))+255&(i&255);g=8;r=60}if((r|0)==60){g=g+-1|0;j=g&65535;g=i>>>g;r=67}if((r|0)==67){r=0;b[q>>1]=j;i=j}s=h<<1;h=((g^h>>>15)&1|0)==0?s:s^32773;if(!o)break;else n=i}s=h&65535;return s|0}function vS(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;pS(a+28|0,0);pS(a+36|0,0);a=a+44|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;return}function wS(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+36|0;d=a;e=d+36|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));f=185244;d=c[f+4>>2]|0;e=b;c[e>>2]=c[f>>2];c[e+4>>2]=d;c[a+44>>2]=0;c[a+9264>>2]=0;OS(a);return}function xS(a){a=a|0;NS(a);a=a+4096|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function yS(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=(c[d+4>>2]|0)==0?1:2;switch(c[d>>2]|0){case 1:{e=12;break}case 3:{e=(c[d+28>>2]&4096|0)==0?36:18;f=3;break}default:{e=36;f=3}}f=c[d+20>>2]|0;h=a+4100|0;c[h>>2]=f;b[a+4104>>1]=i;g=a+4106|0;b[g>>1]=e<<5;if(!(c[d+44>>2]&2))f=135;else{c[h>>2]=f>>>1;b[g>>1]=e<<4&32752;f=136}qd[f&255](a,d,i,e);a=a+4096|0;c[a>>2]=(c[a>>2]|0)+e&15;return}function zS(a){a=a|0;var b=0;b=a+9264|0;a=c[b>>2]|0;if(!a)return;XU(a);c[b>>2]=0;return}function AS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;if(!d)return;w=a+4096|0;n=(e|0)==0;m=0;s=a+1504|0;t=a+1472|0;while(1){if(!n){f=a+4108+(m*4608|0)|0;v=c[w>>2]|0;x=0;while(1){z=v&1;o=a+(m<<11)+(z<<9)|0;CS(b+48+(m*4608|0)+(x<<7)|0,v>>>1,o,a+(m<<11)+1024+(z<<9)|0);k=v&-2;u=v+15&14|1;l=z^1;q=78204+(u<<2)|0;A=78204+(k<<2)|0;G=H(c[A>>2]|0,c[o>>2]|0)|0;g=H(c[q>>2]|0,c[a+(m<<11)+(l<<9)>>2]|0)|0;i=H(c[q+56>>2]|0,c[a+(m<<11)+(l<<9)+4>>2]|0)|0;h=H(c[q+48>>2]|0,c[a+(m<<11)+(l<<9)+8>>2]|0)|0;p=H(c[q+40>>2]|0,c[a+(m<<11)+(l<<9)+12>>2]|0)|0;j=H(c[q+32>>2]|0,c[a+(m<<11)+(l<<9)+16>>2]|0)|0;y=H(c[q+24>>2]|0,c[a+(m<<11)+(l<<9)+20>>2]|0)|0;r=H(c[q+16>>2]|0,c[a+(m<<11)+(l<<9)+24>>2]|0)|0;q=H(c[q+8>>2]|0,c[a+(m<<11)+(l<<9)+28>>2]|0)|0;I=H(c[A+56>>2]|0,c[a+(m<<11)+(z<<9)+4>>2]|0)|0;F=H(c[A+48>>2]|0,c[a+(m<<11)+(z<<9)+8>>2]|0)|0;E=H(c[A+40>>2]|0,c[a+(m<<11)+(z<<9)+12>>2]|0)|0;D=H(c[A+32>>2]|0,c[a+(m<<11)+(z<<9)+16>>2]|0)|0;C=H(c[A+24>>2]|0,c[a+(m<<11)+(z<<9)+20>>2]|0)|0;B=H(c[A+16>>2]|0,c[a+(m<<11)+(z<<9)+24>>2]|0)|0;c[f>>2]=I+G+F+E+D+C+B+(H(c[A+8>>2]|0,c[a+(m<<11)+(z<<9)+28>>2]|0)|0)-(i+g+h+p+j+y+r+q)>>2;q=0-u|0;r=0-k|0;y=s+(l<<9)|0;j=78204;p=a+(m<<11)+1024+(l<<9)|0;h=f+4|0;g=f+60|0;i=1;while(1){f=o;o=o+32|0;if(!(i&1)){A=j+128+(u<<2)|0;z=p+4|0;J=p+8|0;K=p+12|0;L=p+16|0;M=p+20|0;N=p+24|0;O=p+28|0;W=j+128+(k<<2)|0;I=f+60|0;$=H(c[W+8>>2]|0,c[I>>2]|0)|0;U=H(c[A>>2]|0,c[p>>2]|0)|0;V=H(c[A+56>>2]|0,c[z>>2]|0)|0;T=H(c[A+48>>2]|0,c[J>>2]|0)|0;S=H(c[A+40>>2]|0,c[K>>2]|0)|0;R=H(c[A+32>>2]|0,c[L>>2]|0)|0;Q=H(c[A+24>>2]|0,c[M>>2]|0)|0;P=H(c[A+16>>2]|0,c[N>>2]|0)|0;A=H(c[A+8>>2]|0,c[O>>2]|0)|0;G=f+56|0;aa=H(c[W+16>>2]|0,c[G>>2]|0)|0;F=f+52|0;_=H(c[W+24>>2]|0,c[F>>2]|0)|0;E=f+48|0;Z=H(c[W+32>>2]|0,c[E>>2]|0)|0;D=f+44|0;Y=H(c[W+40>>2]|0,c[D>>2]|0)|0;C=f+40|0;X=H(c[W+48>>2]|0,c[C>>2]|0)|0;B=f+36|0;f=H(c[W+56>>2]|0,c[B>>2]|0)|0;c[h>>2]=aa+$+_+Z+Y+X+f+(H(c[W>>2]|0,c[o>>2]|0)|0)-(V+U+T+S+R+Q+P+A)>>2;A=j+128+(q<<2)|0;f=H(c[A+116>>2]|0,c[O>>2]|0)|0;f=(H(c[A+108>>2]|0,c[N>>2]|0)|0)+f|0;f=f+(H(c[A+100>>2]|0,c[M>>2]|0)|0)|0;f=f+(H(c[A+92>>2]|0,c[L>>2]|0)|0)|0;f=f+(H(c[A+84>>2]|0,c[K>>2]|0)|0)|0;f=f+(H(c[A+76>>2]|0,c[J>>2]|0)|0)|0;f=f+(H(c[A+68>>2]|0,c[z>>2]|0)|0)|0;A=f+(H(c[A+60>>2]|0,c[p>>2]|0)|0)|0;f=j+128+(r<<2)|0;A=A+(H(c[f+60>>2]|0,c[o>>2]|0)|0)|0;B=A+(H(c[f+68>>2]|0,c[B>>2]|0)|0)|0;C=B+(H(c[f+76>>2]|0,c[C>>2]|0)|0)|0;D=C+(H(c[f+84>>2]|0,c[D>>2]|0)|0)|0;E=D+(H(c[f+92>>2]|0,c[E>>2]|0)|0)|0;F=E+(H(c[f+100>>2]|0,c[F>>2]|0)|0)|0;G=F+(H(c[f+108>>2]|0,c[G>>2]|0)|0)|0;c[g>>2]=G+(H(c[f+116>>2]|0,c[I>>2]|0)|0)>>2;f=h+4|0;g=g+-4|0}else f=h;i=i+1|0;if((i|0)==16)break;else{j=j+128|0;p=p+32|0;h=f}}aa=80252+(u<<2)|0;$=H(c[aa>>2]|0,c[y>>2]|0)|0;$=$+(H(c[aa+56>>2]|0,c[t+(l<<9)+36>>2]|0)|0)|0;$=$+(H(c[aa+48>>2]|0,c[t+(l<<9)+40>>2]|0)|0)|0;$=$+(H(c[aa+40>>2]|0,c[t+(l<<9)+44>>2]|0)|0)|0;$=$+(H(c[aa+32>>2]|0,c[t+(l<<9)+48>>2]|0)|0)|0;$=$+(H(c[aa+24>>2]|0,c[t+(l<<9)+52>>2]|0)|0)|0;$=$+(H(c[aa+16>>2]|0,c[t+(l<<9)+56>>2]|0)|0)|0;c[f>>2]=0-($+(H(c[aa+8>>2]|0,c[t+(l<<9)+60>>2]|0)|0))>>2;x=x+1|0;if((x|0)==(e|0))break;else{f=f+32|0;v=v+1&15}}}m=m+1|0;if((m|0)==(d|0))break;else{s=s+2048|0;t=t+2048|0}}return}function BS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;if(!d)return;v=a+4096|0;j=(e|0)==0;i=0;o=a+1472|0;p=a+1504|0;while(1){if(!j){r=a+4108+(i*4608|0)|0;u=c[v>>2]|0;w=0;while(1){z=u&1;k=a+(i<<11)+(z<<9)|0;CS(b+48+(i*4608|0)+(w<<7)|0,u>>>1,k,a+(i<<11)+1024+(z<<9)|0);g=u&-2;q=u+15&14|1;h=z^1;m=78204+(q<<2)|0;A=78204+(g<<2)|0;G=H(c[A>>2]|0,c[k>>2]|0)|0;t=H(c[m>>2]|0,c[a+(i<<11)+(h<<9)>>2]|0)|0;x=H(c[m+56>>2]|0,c[a+(i<<11)+(h<<9)+4>>2]|0)|0;s=H(c[m+48>>2]|0,c[a+(i<<11)+(h<<9)+8>>2]|0)|0;l=H(c[m+40>>2]|0,c[a+(i<<11)+(h<<9)+12>>2]|0)|0;f=H(c[m+32>>2]|0,c[a+(i<<11)+(h<<9)+16>>2]|0)|0;y=H(c[m+24>>2]|0,c[a+(i<<11)+(h<<9)+20>>2]|0)|0;n=H(c[m+16>>2]|0,c[a+(i<<11)+(h<<9)+24>>2]|0)|0;m=H(c[m+8>>2]|0,c[a+(i<<11)+(h<<9)+28>>2]|0)|0;I=H(c[A+56>>2]|0,c[a+(i<<11)+(z<<9)+4>>2]|0)|0;F=H(c[A+48>>2]|0,c[a+(i<<11)+(z<<9)+8>>2]|0)|0;E=H(c[A+40>>2]|0,c[a+(i<<11)+(z<<9)+12>>2]|0)|0;D=H(c[A+32>>2]|0,c[a+(i<<11)+(z<<9)+16>>2]|0)|0;C=H(c[A+24>>2]|0,c[a+(i<<11)+(z<<9)+20>>2]|0)|0;B=H(c[A+16>>2]|0,c[a+(i<<11)+(z<<9)+24>>2]|0)|0;c[r>>2]=I+G+F+E+D+C+B+(H(c[A+8>>2]|0,c[a+(i<<11)+(z<<9)+28>>2]|0)|0)-(x+t+s+l+f+y+n+m)>>2;m=0-g|0;n=0-q|0;y=p+(h<<9)|0;f=78204;l=a+(i<<11)+1024+(h<<9)|0;s=r;t=r+124|0;x=1;while(1){s=s+4|0;I=f+128+(q<<2)|0;G=l+4|0;F=l+8|0;E=l+12|0;D=l+16|0;C=l+20|0;B=l+24|0;A=l+28|0;W=f+128+(g<<2)|0;z=k+60|0;aa=H(c[W+8>>2]|0,c[z>>2]|0)|0;U=H(c[I>>2]|0,c[l>>2]|0)|0;V=H(c[I+56>>2]|0,c[G>>2]|0)|0;T=H(c[I+48>>2]|0,c[F>>2]|0)|0;S=H(c[I+40>>2]|0,c[E>>2]|0)|0;R=H(c[I+32>>2]|0,c[D>>2]|0)|0;Q=H(c[I+24>>2]|0,c[C>>2]|0)|0;O=H(c[I+16>>2]|0,c[B>>2]|0)|0;I=H(c[I+8>>2]|0,c[A>>2]|0)|0;J=k+56|0;ba=H(c[W+16>>2]|0,c[J>>2]|0)|0;K=k+52|0;$=H(c[W+24>>2]|0,c[K>>2]|0)|0;L=k+48|0;_=H(c[W+32>>2]|0,c[L>>2]|0)|0;M=k+44|0;Z=H(c[W+40>>2]|0,c[M>>2]|0)|0;N=k+40|0;Y=H(c[W+48>>2]|0,c[N>>2]|0)|0;P=k+36|0;k=k+32|0;X=H(c[W+56>>2]|0,c[P>>2]|0)|0;c[s>>2]=ba+aa+$+_+Z+Y+X+(H(c[W>>2]|0,c[k>>2]|0)|0)-(V+U+T+S+R+Q+O+I)>>2;I=f+128+(m<<2)|0;O=H(c[I+60>>2]|0,c[k>>2]|0)|0;O=(H(c[I+68>>2]|0,c[P>>2]|0)|0)+O|0;N=O+(H(c[I+76>>2]|0,c[N>>2]|0)|0)|0;M=N+(H(c[I+84>>2]|0,c[M>>2]|0)|0)|0;L=M+(H(c[I+92>>2]|0,c[L>>2]|0)|0)|0;K=L+(H(c[I+100>>2]|0,c[K>>2]|0)|0)|0;J=K+(H(c[I+108>>2]|0,c[J>>2]|0)|0)|0;z=J+(H(c[I+116>>2]|0,c[z>>2]|0)|0)|0;I=f+128+(n<<2)|0;A=z+(H(c[I+116>>2]|0,c[A>>2]|0)|0)|0;B=A+(H(c[I+108>>2]|0,c[B>>2]|0)|0)|0;C=B+(H(c[I+100>>2]|0,c[C>>2]|0)|0)|0;D=C+(H(c[I+92>>2]|0,c[D>>2]|0)|0)|0;E=D+(H(c[I+84>>2]|0,c[E>>2]|0)|0)|0;F=E+(H(c[I+76>>2]|0,c[F>>2]|0)|0)|0;G=F+(H(c[I+68>>2]|0,c[G>>2]|0)|0)|0;c[t>>2]=G+(H(c[I+60>>2]|0,c[l>>2]|0)|0)>>2;x=x+1|0;if((x|0)==16)break;else{f=f+128|0;l=l+32|0;t=t+-4|0}}ba=80252+(q<<2)|0;aa=H(c[ba>>2]|0,c[y>>2]|0)|0;aa=aa+(H(c[ba+56>>2]|0,c[o+(h<<9)+36>>2]|0)|0)|0;aa=aa+(H(c[ba+48>>2]|0,c[o+(h<<9)+40>>2]|0)|0)|0;aa=aa+(H(c[ba+40>>2]|0,c[o+(h<<9)+44>>2]|0)|0)|0;aa=aa+(H(c[ba+32>>2]|0,c[o+(h<<9)+48>>2]|0)|0)|0;aa=aa+(H(c[ba+24>>2]|0,c[o+(h<<9)+52>>2]|0)|0)|0;aa=aa+(H(c[ba+16>>2]|0,c[o+(h<<9)+56>>2]|0)|0)|0;c[r+64>>2]=0-(aa+(H(c[ba+8>>2]|0,c[o+(h<<9)+60>>2]|0)|0))>>2;w=w+1|0;if((w|0)==(e|0))break;else{r=r+128|0;u=u+1&15}}}i=i+1|0;if((i|0)==(d|0))break;else{o=o+2048|0;p=p+2048|0}}return} -function FK(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<4;r=g<<4;p=d>>1;q=p<<1;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<4;o=f+-15|0;a:do if(m<<24>>24>=1){d=15-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<4096?m:0-m>>31&4095;t=l-t|0;b[g>>1]=t>>>0<4096?t:0-t>>31&4095}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function GK(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=c>>1;m=d<<4;j=f<<4;k=0-n|0;l=H(n,-2)|0;i=0;while(1){if((i|0)==8)break;h=a+(k<<1)|0;c=e[h>>1]|0;d=e[a+(l<<1)>>1]|0;f=e[a>>1]|0;g=e[a+(n<<1)>>1]|0;o=c-f|0;if(((((o|0)>-1?o:0-o|0)|0)<(m|0)?(o=d-c|0,(((o|0)>-1?o:0-o|0)|0)<(j|0)):0)?(o=g-f|0,(((o|0)>-1?o:0-o|0)|0)<(j|0)):0){b[h>>1]=(c+2+(d<<1)+g|0)>>>2;b[a>>1]=(d+2+f+(g<<1)|0)>>>2}i=i+1|0;a=a+2|0}return}function HK(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<4;j=f<<4;i=0;while(1){if((i|0)==8)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function IK(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<4;j=f<<4;i=0;while(1){if((i|0)==16)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function JK(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<4;j=f<<4;i=0;while(1){if((i|0)==4)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function KK(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<4;j=f<<4;i=0;while(1){if((i|0)==8)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function LK(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c[d>>2]=(c[d>>2]|0)+32;g=0;while(1){if((g|0)==4)break;o=d+(g<<2)|0;n=c[o>>2]|0;k=d+(g+8<<2)|0;m=c[k>>2]|0;j=m+n|0;m=n-m|0;n=d+(g+4<<2)|0;h=c[n>>2]|0;i=d+(g+12<<2)|0;p=c[i>>2]|0;l=(h>>1)-p|0;h=(p>>1)+h|0;c[o>>2]=h+j;c[n>>2]=l+m;c[k>>2]=m-l;c[i>>2]=j-h;g=g+1|0}f=f>>1;h=f<<1;i=f*3|0;g=0;while(1){if((g|0)==4)break;p=g<<2;o=c[d+(p<<2)>>2]|0;l=c[d+((p|2)<<2)>>2]|0;n=l+o|0;l=o-l|0;o=c[d+((p|1)<<2)>>2]|0;p=c[d+((p|3)<<2)>>2]|0;m=(o>>1)-p|0;o=(p>>1)+o|0;p=a+(g<<1)|0;k=(o+n>>6)+(e[p>>1]|0)|0;b[p>>1]=k>>>0<16384?k:0-k>>31&16383;p=a+(g+f<<1)|0;k=(m+l>>6)+(e[p>>1]|0)|0;b[p>>1]=k>>>0<16384?k:0-k>>31&16383;p=a+(g+h<<1)|0;m=(l-m>>6)+(e[p>>1]|0)|0;b[p>>1]=m>>>0<16384?m:0-m>>31&16383;p=a+(g+i<<1)|0;o=(n-o>>6)+(e[p>>1]|0)|0;b[p>>1]=o>>>0<16384?o:0-o>>31&16383;g=g+1|0}g=d+64|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(g|0));return}function MK(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;c[d>>2]=(c[d>>2]|0)+32;g=0;while(1){if((g|0)==8)break;w=d+(g<<2)|0;o=c[w>>2]|0;m=d+(g+32<<2)|0;l=c[m>>2]|0;j=l+o|0;l=o-l|0;o=d+(g+16<<2)|0;k=c[o>>2]|0;p=d+(g+48<<2)|0;v=c[p>>2]|0;n=(k>>1)-v|0;k=(v>>1)+k|0;v=k+j|0;r=n+l|0;n=l-n|0;k=j-k|0;j=d+(g+24<<2)|0;l=c[j>>2]|0;i=d+(g+40<<2)|0;h=c[i>>2]|0;t=d+(g+56<<2)|0;q=c[t>>2]|0;u=h-l-q-(q>>1)|0;s=d+(g+8<<2)|0;x=c[s>>2]|0;y=q-((l>>1)+l)+x|0;q=q+h+(h>>1)-x|0;x=h+l+x+(x>>1)|0;l=(x>>2)+u|0;h=(q>>2)+y|0;q=(y>>2)-q|0;u=x-(u>>2)|0;c[w>>2]=u+v;c[t>>2]=v-u;c[s>>2]=q+r;c[p>>2]=r-q;c[o>>2]=h+n;c[i>>2]=n-h;c[j>>2]=l+k;c[m>>2]=k-l;g=g+1|0}i=f>>1;j=i<<1;k=i*3|0;l=i<<2;m=i*5|0;f=i*6|0;h=i*7|0;g=0;while(1){if((g|0)==8)break;y=g<<3;q=c[d+(y<<2)>>2]|0;t=c[d+((y|4)<<2)>>2]|0;r=t+q|0;t=q-t|0;q=c[d+((y|2)<<2)>>2]|0;w=c[d+((y|6)<<2)>>2]|0;s=(q>>1)-w|0;q=(w>>1)+q|0;w=q+r|0;u=s+t|0;s=t-s|0;q=r-q|0;r=c[d+((y|3)<<2)>>2]|0;t=c[d+((y|5)<<2)>>2]|0;v=c[d+((y|7)<<2)>>2]|0;x=t-r-v-(v>>1)|0;y=c[d+((y|1)<<2)>>2]|0;p=v-((r>>1)+r)+y|0;v=v+t+(t>>1)-y|0;y=t+r+y+(y>>1)|0;r=(y>>2)+x|0;t=(v>>2)+p|0;v=(p>>2)-v|0;x=y-(x>>2)|0;y=a+(g<<1)|0;p=(x+w>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<16384?p:0-p>>31&16383;y=a+(g+i<<1)|0;p=(v+u>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<16384?p:0-p>>31&16383;y=a+(g+j<<1)|0;p=(t+s>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<16384?p:0-p>>31&16383;y=a+(g+k<<1)|0;p=(r+q>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<16384?p:0-p>>31&16383;y=a+(g+l<<1)|0;r=(q-r>>6)+(e[y>>1]|0)|0;b[y>>1]=r>>>0<16384?r:0-r>>31&16383;y=a+(g+m<<1)|0;t=(s-t>>6)+(e[y>>1]|0)|0;b[y>>1]=t>>>0<16384?t:0-t>>31&16383;y=a+(g+f<<1)|0;v=(u-v>>6)+(e[y>>1]|0)|0;b[y>>1]=v>>>0<16384?v:0-v>>31&16383;y=a+(g+h<<1)|0;x=(w-x>>6)+(e[y>>1]|0)|0;b[y>>1]=x>>>0<16384?x:0-x>>31&16383;g=g+1|0}ZW(d|0,0,256)|0;return}function NK(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;h=(c[d>>2]|0)+32>>6;g=f>>>1;c[d>>2]=0;d=0;while(1){if((d|0)==4)break;else f=0;while(1){if((f|0)==4)break;i=a+(f<<1)|0;j=h+(e[i>>1]|0)|0;b[i>>1]=j>>>0<16384?j:0-j>>31&16383;f=f+1|0}a=a+(g<<1)|0;d=d+1|0}return}function OK(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;h=(c[d>>2]|0)+32>>6;c[d>>2]=0;g=f>>>1;f=a;a=0;while(1){if((a|0)==8)break;else d=0;while(1){if((d|0)==8)break;i=f+(d<<1)|0;j=h+(e[i>>1]|0)|0;b[i>>1]=j>>>0<16384?j:0-j>>31&16383;d=d+1|0}f=f+(g<<1)|0;a=a+1|0}return}function PK(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=0;while(1){if((i|0)==16)break;switch(a[h+(d[150833+i>>0]|0)>>0]|0){case 0:break;case 1:{if(!(c[f+(i<<4<<2)>>2]|0))j=6;else NK(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);break}default:j=6}if((j|0)==6){j=0;LK(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}i=i+1|0}return}function QK(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=0;while(1){if((i|0)>=16)break;switch(a[h+(d[150833+i>>0]|0)>>0]|0){case 0:break;case 1:{if(!(c[f+(i<<4<<2)>>2]|0))j=6;else OK(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);break}default:j=6}if((j|0)==6){j=0;MK(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}i=i+4|0}return}function RK(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;i=1;while(1){if((i|0)==3)break;j=i<<4;k=j|4;l=b+(i+-1<<2)|0;while(1){if((j|0)>=(k|0))break;if(!(a[h+(d[150833+j>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)NK((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else LK((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}return}function SK(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=1;while(1){if((i|0)==3){i=1;break}j=i<<4;k=j|4;l=b+(i+-1<<2)|0;while(1){if((j|0)>=(k|0))break;if(!(a[h+(d[150833+j>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)NK((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else LK((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}while(1){if((i|0)==3)break;j=i<<4;k=j|8;l=b+(i+-1<<2)|0;j=j|4;while(1){if((j|0)>=(k|0))break;m=j+4|0;if(!(a[h+(d[150833+m>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)NK((c[l>>2]|0)+(c[e+(m<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else LK((c[l>>2]|0)+(c[e+(m<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}return}function TK(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;i=0;while(1){if((i|0)==16)break;if(!(a[h+(d[150833+i>>0]|0)>>0]|0)){if(c[f+(i<<4<<2)>>2]|0)NK(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}else LK(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);i=i+1|0}return}function UK(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=$c;$c=$c+64|0;if(($c|0)>=(ad|0))N(64);g=h;f=0;while(1){if((f|0)==4)break;p=f<<2;l=c[b+(p<<2)>>2]|0;m=p|1;j=c[b+(m<<2)>>2]|0;o=j+l|0;j=l-j|0;l=p|2;n=c[b+(l<<2)>>2]|0;i=p|3;q=c[b+(i<<2)>>2]|0;k=n-q|0;n=q+n|0;c[g+(p<<2)>>2]=n+o;c[g+(m<<2)>>2]=o-n;c[g+(l<<2)>>2]=j-k;c[g+(i<<2)>>2]=k+j;f=f+1|0}f=0;while(1){if((f|0)==4)break;q=d[150829+f>>0]|0;p=c[g+(f<<2)>>2]|0;m=c[g+(f+8<<2)>>2]|0;o=m+p|0;m=p-m|0;p=c[g+(f+4<<2)>>2]|0;l=c[g+(f+12<<2)>>2]|0;n=p-l|0;p=l+p|0;c[a+(q<<2)>>2]=(H(p+o|0,e)|0)+128>>8;c[a+(q+16<<2)>>2]=(H(n+m|0,e)|0)+128>>8;c[a+(q+64<<2)>>2]=(H(m-n|0,e)|0)+128>>8;c[a+(q+80<<2)>>2]=(H(o-p|0,e)|0)+128>>8;f=f+1|0}$c=h;return}function VK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=c[a>>2]|0;j=a+64|0;e=c[j>>2]|0;g=a+128|0;h=c[g>>2]|0;d=a+192|0;k=c[d>>2]|0;f=i-e|0;i=e+i|0;e=h-k|0;h=k+h|0;c[a>>2]=(H(h+i|0,b)|0)>>7;c[j>>2]=(H(e+f|0,b)|0)>>7;c[g>>2]=(H(i-h|0,b)|0)>>7;c[d>>2]=(H(f-e|0,b)|0)>>7;return}function WK(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);f=g;e=0;while(1){if((e|0)==4){e=0;break}i=e<<5;j=c[a+(i<<2)>>2]|0;i=c[a+((i|16)<<2)>>2]|0;h=e<<1;c[f+(h<<2)>>2]=i+j;c[f+((h|1)<<2)>>2]=j-i;e=e+1|0}while(1){if((e|0)==2)break;j=d[150827+e>>0]|0;i=c[f+(e<<2)>>2]|0;l=c[f+(e+4<<2)>>2]|0;h=l+i|0;l=i-l|0;i=c[f+(e+2<<2)>>2]|0;m=c[f+(e+6<<2)>>2]|0;k=i-m|0;i=m+i|0;c[a+(j<<2)>>2]=(H(i+h|0,b)|0)+128>>8;c[a+(j+32<<2)>>2]=(H(k+l|0,b)|0)+128>>8;c[a+(j+64<<2)>>2]=(H(l-k|0,b)|0)+128>>8;c[a+(j+96<<2)>>2]=(H(h-i|0,b)|0)+128>>8;e=e+1|0}$c=g;return}function XK(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<16384?a:0-a>>31&16383;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+8|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+10|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+12|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+14|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+16|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+18|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+20|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+22|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+24|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+26|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+28|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+30|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;c=c+(j<<1)|0;h=h+1|0}return}function YK(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<16384?a:0-a>>31&16383;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+8|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+10|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+12|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+14|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;c=c+(j<<1)|0;h=h+1|0}return}function ZK(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<16384?a:0-a>>31&16383;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;c=c+(j<<1)|0;h=h+1|0}return}function _K(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<16384?a:0-a>>31&16383;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;c=c+(j<<1)|0;h=h+1|0}return}function $K(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<6|1)<=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<16384?m:0-m>>31&16383;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=H(e[c+8>>1]|0,i)|0;m=d+8|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=H(e[c+10>>1]|0,i)|0;a=d+10|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=H(e[c+12>>1]|0,i)|0;m=d+12|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=H(e[c+14>>1]|0,i)|0;a=d+14|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=H(e[c+16>>1]|0,i)|0;m=d+16|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=H(e[c+18>>1]|0,i)|0;a=d+18|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=H(e[c+20>>1]|0,i)|0;m=d+20|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=H(e[c+22>>1]|0,i)|0;a=d+22|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=H(e[c+24>>1]|0,i)|0;m=d+24|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=H(e[c+26>>1]|0,i)|0;a=d+26|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=H(e[c+28>>1]|0,i)|0;m=d+28|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=H(e[c+30>>1]|0,i)|0;a=d+30|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function aL(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<6|1)<=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<16384?m:0-m>>31&16383;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=H(e[c+8>>1]|0,i)|0;m=d+8|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=H(e[c+10>>1]|0,i)|0;a=d+10|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=H(e[c+12>>1]|0,i)|0;m=d+12|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=H(e[c+14>>1]|0,i)|0;a=d+14|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function bL(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<6|1)<=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<16384?m:0-m>>31&16383;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function cL(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<6|1)<=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<16384?m:0-m>>31&16383;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function dL(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=d>>1;B=f<<6;y=g<<6;z=0-C|0;A=H(C,-2)|0;w=H(C,-3)|0;x=C<<1;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<6;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==4)break a;p=l+(z<<1)|0;q=e[p>>1]|0;d=l+(A<<1)|0;r=e[d>>1]|0;f=e[l+(w<<1)>>1]|0;s=e[l>>1]|0;i=l+(C<<1)|0;t=e[i>>1]|0;j=e[l+(x<<1)>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(B|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(y|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(y|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(y|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(y|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<16384?r:0-r>>31&16383;t=s-t|0;b[l>>1]=t>>>0<16384?t:0-t>>31&16383}k=k+1|0;l=l+2|0}}while(0);c=c+8|0;u=u+1|0}return}function eL(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=d>>1;y=f<<6;w=g<<6;x=z<<2;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<6;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==4)break a;p=l+-2|0;q=e[p>>1]|0;d=l+-4|0;r=e[d>>1]|0;f=e[l+-6>>1]|0;s=e[l>>1]|0;i=l+2|0;t=e[i>>1]|0;j=e[l+4>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(y|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(w|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(w|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<16384?r:0-r>>31&16383;t=s-t|0;b[l>>1]=t>>>0<16384?t:0-t>>31&16383}k=k+1|0;l=l+(z<<1)|0}}while(0);c=c+(x<<1)|0;u=u+1|0}return}function fL(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=d>>1;y=f<<6;w=g<<6;x=z<<1;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<6;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==2)break a;p=l+-2|0;q=e[p>>1]|0;d=l+-4|0;r=e[d>>1]|0;f=e[l+-6>>1]|0;s=e[l>>1]|0;i=l+2|0;t=e[i>>1]|0;j=e[l+4>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(y|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(w|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(w|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<16384?r:0-r>>31&16383;t=s-t|0;b[l>>1]=t>>>0<16384?t:0-t>>31&16383}k=k+1|0;l=l+(z<<1)|0}}while(0);c=c+(x<<1)|0;u=u+1|0}return}function gL(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=c>>1;z=d<<6;v=f<<6;w=H(A,-3)|0;x=H(A,-2)|0;y=0-A|0;r=A<<1;s=z>>2|2;t=H(A,-4)|0;u=A*3|0;j=0;while(1){if((j|0)==16)break;c=a+(w<<1)|0;i=e[c>>1]|0;d=a+(x<<1)|0;k=e[d>>1]|0;f=a+(y<<1)|0;l=e[f>>1]|0;m=e[a>>1]|0;n=a+(A<<1)|0;o=e[n>>1]|0;p=a+(r<<1)|0;q=e[p>>1]|0;g=l-m|0;g=(g|0)>-1?g:0-g|0;do if(((g|0)<(z|0)?(h=k-l|0,(((h|0)>-1?h:0-h|0)|0)<(v|0)):0)?(h=o-m|0,(((h|0)>-1?h:0-h|0)|0)<(v|0)):0){if((g|0)>=(s|0)){b[f>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}h=i-l|0;if((((h|0)>-1?h:0-h|0)|0)<(v|0)){B=e[a+(t<<1)>>1]|0;b[f>>1]=(i+4+o+(l+k+m<<1)|0)>>>3;b[d>>1]=(i+2+k+l+m|0)>>>2;f=c;d=3;g=4;h=m;c=(i*3|0)+k+(B<<1)|0}else{d=2;g=2;h=o;c=k<<1}b[f>>1]=(c+l+h+g|0)>>>d;B=q-m|0;if((((B|0)>-1?B:0-B|0)|0)<(v|0)){B=e[a+(u<<1)>>1]|0;b[a>>1]=(k+4+q+(m+l+o<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(l+4+m+o+(q*3|0)+(B<<1)|0)>>>3;break}else{b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}}while(0);a=a+2|0;j=j+1|0}return}function hL(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=c>>1;t=d<<6;r=f<<6;s=t>>2|2;j=0;while(1){if((j|0)==16)break;g=a+-6|0;i=e[g>>1]|0;c=a+-4|0;k=e[c>>1]|0;d=a+-2|0;l=e[d>>1]|0;m=e[a>>1]|0;n=a+2|0;o=e[n>>1]|0;p=a+4|0;q=e[p>>1]|0;f=l-m|0;f=(f|0)>-1?f:0-f|0;do if(((f|0)<(t|0)?(h=k-l|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0)?(h=o-m|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0){if((f|0)>=(s|0)){b[d>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}h=i-l|0;if((((h|0)>-1?h:0-h|0)|0)<(r|0)){v=e[a+-8>>1]|0;b[d>>1]=(i+4+o+(l+k+m<<1)|0)>>>3;b[c>>1]=(i+2+k+l+m|0)>>>2;d=g;f=3;g=4;h=m;c=(i*3|0)+k+(v<<1)|0}else{f=2;g=2;h=o;c=k<<1}b[d>>1]=(c+l+h+g|0)>>>f;v=q-m|0;if((((v|0)>-1?v:0-v|0)|0)<(r|0)){v=e[a+6>>1]|0;b[a>>1]=(k+4+q+(m+l+o<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(l+4+m+o+(q*3|0)+(v<<1)|0)>>>3;break}else{b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}}while(0);a=a+(u<<1)|0;j=j+1|0}return}function iL(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=c>>1;t=d<<6;r=f<<6;s=t>>2|2;j=0;while(1){if((j|0)==8)break;g=a+-6|0;i=e[g>>1]|0;c=a+-4|0;k=e[c>>1]|0;d=a+-2|0;l=e[d>>1]|0;m=e[a>>1]|0;n=a+2|0;o=e[n>>1]|0;p=a+4|0;q=e[p>>1]|0;f=l-m|0;f=(f|0)>-1?f:0-f|0;do if(((f|0)<(t|0)?(h=k-l|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0)?(h=o-m|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0){if((f|0)>=(s|0)){b[d>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}h=i-l|0;if((((h|0)>-1?h:0-h|0)|0)<(r|0)){v=e[a+-8>>1]|0;b[d>>1]=(i+4+o+(l+k+m<<1)|0)>>>3;b[c>>1]=(i+2+k+l+m|0)>>>2;d=g;f=3;g=4;h=m;c=(i*3|0)+k+(v<<1)|0}else{f=2;g=2;h=o;c=k<<1}b[d>>1]=(c+l+h+g|0)>>>f;v=q-m|0;if((((v|0)>-1?v:0-v|0)|0)<(r|0)){v=e[a+6>>1]|0;b[a>>1]=(k+4+q+(m+l+o<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(l+4+m+o+(q*3|0)+(v<<1)|0)>>>3;break}else{b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}}while(0);a=a+(u<<1)|0;j=j+1|0}return}function jL(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=f<<6;s=g<<6;p=d>>1;q=0-p|0;r=H(p,-2)|0;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<6;o=f+-63|0;a:do if(m<<24>>24>=1){d=63-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+(q<<1)|0;j=e[i>>1]|0;k=e[g+(r<<1)>>1]|0;l=e[g>>1]|0;m=e[g+(p<<1)>>1]|0;u=j-l|0;if(((((u|0)>-1?u:0-u|0)|0)<(t|0)?(u=k-j|0,(((u|0)>-1?u:0-u|0)|0)<(s|0)):0)?(u=m-l|0,(((u|0)>-1?u:0-u|0)|0)<(s|0)):0){u=k+4-m+(l-j<<2)>>3;u=(u|0)<(d|0)?d:(u|0)>(o|0)?o:u;m=u+j|0;b[i>>1]=m>>>0<16384?m:0-m>>31&16383;u=l-u|0;b[g>>1]=u>>>0<16384?u:0-u>>31&16383}f=f+1|0;g=g+2|0}}while(0);c=c+4|0;n=n+1|0}return}function kL(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<6;r=g<<6;p=d>>1;q=p<<1;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<6;o=f+-63|0;a:do if(m<<24>>24>=1){d=63-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<16384?m:0-m>>31&16383;t=l-t|0;b[g>>1]=t>>>0<16384?t:0-t>>31&16383}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function lL(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<6;r=g<<6;p=d>>1;q=p<<2;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<6;o=f+-63|0;a:do if(m<<24>>24>=1){d=63-f|0;f=0;g=c;while(1){if((f|0)==4)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<16384?m:0-m>>31&16383;t=l-t|0;b[g>>1]=t>>>0<16384?t:0-t>>31&16383}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function mL(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=f<<6;q=g<<6;p=d>>1;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<6;o=f+-63|0;a:do if(m<<24>>24>=1){d=63-f|0;f=0;g=c;while(1){if((f|0)==1)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;s=j-l|0;if(((((s|0)>-1?s:0-s|0)|0)<(r|0)?(s=k-j|0,(((s|0)>-1?s:0-s|0)|0)<(q|0)):0)?(s=m-l|0,(((s|0)>-1?s:0-s|0)|0)<(q|0)):0){s=k+4-m+(l-j<<2)>>3;s=(s|0)<(d|0)?d:(s|0)>(o|0)?o:s;m=s+j|0;b[i>>1]=m>>>0<16384?m:0-m>>31&16383;s=l-s|0;b[g>>1]=s>>>0<16384?s:0-s>>31&16383}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(p<<1)|0;n=n+1|0}return}function nL(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<6;r=g<<6;p=d>>1;q=p<<1;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<6;o=f+-63|0;a:do if(m<<24>>24>=1){d=63-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<16384?m:0-m>>31&16383;t=l-t|0;b[g>>1]=t>>>0<16384?t:0-t>>31&16383}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function oL(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=c>>1;m=d<<6;j=f<<6;k=0-n|0;l=H(n,-2)|0;i=0;while(1){if((i|0)==8)break;h=a+(k<<1)|0;c=e[h>>1]|0;d=e[a+(l<<1)>>1]|0;f=e[a>>1]|0;g=e[a+(n<<1)>>1]|0;o=c-f|0;if(((((o|0)>-1?o:0-o|0)|0)<(m|0)?(o=d-c|0,(((o|0)>-1?o:0-o|0)|0)<(j|0)):0)?(o=g-f|0,(((o|0)>-1?o:0-o|0)|0)<(j|0)):0){b[h>>1]=(c+2+(d<<1)+g|0)>>>2;b[a>>1]=(d+2+f+(g<<1)|0)>>>2}i=i+1|0;a=a+2|0}return}function pL(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<6;j=f<<6;i=0;while(1){if((i|0)==8)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function qL(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<6;j=f<<6;i=0;while(1){if((i|0)==16)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function rL(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<6;j=f<<6;i=0;while(1){if((i|0)==4)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function sL(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<6;j=f<<6;i=0;while(1){if((i|0)==8)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function tL(c,f,g){c=c|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b[f>>1]=(e[f>>1]|0)+32;h=0;while(1){if((h|0)==4)break;p=f+(h<<1)|0;o=b[p>>1]|0;l=f+(h+8<<1)|0;n=b[l>>1]|0;k=n+o|0;n=o-n|0;o=f+(h+4<<1)|0;i=b[o>>1]|0;j=f+(h+12<<1)|0;q=b[j>>1]|0;m=(i>>1)-q|0;i=(q>>1)+i|0;b[p>>1]=i+k;b[o>>1]=m+n;b[l>>1]=n-m;b[j>>1]=k-i;h=h+1|0}i=g<<1;j=g*3|0;h=0;while(1){if((h|0)==4)break;q=h<<2;p=b[f+(q<<1)>>1]|0;m=b[f+((q|2)<<1)>>1]|0;o=m+p|0;m=p-m|0;p=b[f+((q|1)<<1)>>1]|0;q=b[f+((q|3)<<1)>>1]|0;n=(p>>1)-q|0;p=(q>>1)+p|0;q=c+h|0;l=(p+o>>6)+(d[q>>0]|0)|0;a[q>>0]=l>>>0>255?(l^-2147483648)>>31:l;q=c+(h+g)|0;l=(n+m>>6)+(d[q>>0]|0)|0;a[q>>0]=l>>>0>255?(l^-2147483648)>>31:l;q=c+(h+i)|0;n=(m-n>>6)+(d[q>>0]|0)|0;a[q>>0]=n>>>0>255?(n^-2147483648)>>31:n;q=c+(h+j)|0;p=(o-p>>6)+(d[q>>0]|0)|0;a[q>>0]=p>>>0>255?(p^-2147483648)>>31:p;h=h+1|0}h=f+32|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(h|0));return}function uL(c,f,g){c=c|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;b[f>>1]=(e[f>>1]|0)+32;h=0;while(1){if((h|0)==8)break;x=f+(h<<1)|0;p=b[x>>1]|0;n=f+(h+32<<1)|0;m=b[n>>1]|0;k=m+p|0;m=p-m|0;p=f+(h+16<<1)|0;l=b[p>>1]|0;q=f+(h+48<<1)|0;w=b[q>>1]|0;o=(l>>1)-w|0;l=(w>>1)+l|0;w=l+k|0;s=o+m|0;o=m-o|0;l=k-l|0;k=f+(h+24<<1)|0;m=b[k>>1]|0;j=f+(h+40<<1)|0;i=b[j>>1]|0;u=f+(h+56<<1)|0;r=b[u>>1]|0;v=i-m-r-(r>>1)|0;t=f+(h+8<<1)|0;y=b[t>>1]|0;z=r-((m>>1)+m)+y|0;r=r+i+(i>>1)-y|0;y=i+m+y+(y>>1)|0;m=(y>>2)+v|0;i=(r>>2)+z|0;r=(z>>2)-r|0;v=y-(v>>2)|0;b[x>>1]=v+w;b[u>>1]=w-v;b[t>>1]=r+s;b[q>>1]=s-r;b[p>>1]=i+o;b[j>>1]=o-i;b[k>>1]=m+l;b[n>>1]=l-m;h=h+1|0}l=g<<1;m=g*3|0;n=g<<2;i=g*5|0;j=g*6|0;k=g*7|0;h=0;while(1){if((h|0)==8)break;z=h<<3;r=b[f+(z<<1)>>1]|0;u=b[f+((z|4)<<1)>>1]|0;s=u+r|0;u=r-u|0;r=b[f+((z|2)<<1)>>1]|0;x=b[f+((z|6)<<1)>>1]|0;t=(r>>1)-x|0;r=(x>>1)+r|0;x=r+s|0;v=t+u|0;t=u-t|0;r=s-r|0;s=b[f+((z|3)<<1)>>1]|0;u=b[f+((z|5)<<1)>>1]|0;w=b[f+((z|7)<<1)>>1]|0;y=u-s-w-(w>>1)|0;z=b[f+((z|1)<<1)>>1]|0;q=w-((s>>1)+s)+z|0;w=w+u+(u>>1)-z|0;z=u+s+z+(z>>1)|0;s=(z>>2)+y|0;u=(w>>2)+q|0;w=(q>>2)-w|0;y=z-(y>>2)|0;z=c+h|0;q=(y+x>>6)+(d[z>>0]|0)|0;a[z>>0]=q>>>0>255?(q^-2147483648)>>31:q;z=c+(h+g)|0;q=(w+v>>6)+(d[z>>0]|0)|0;a[z>>0]=q>>>0>255?(q^-2147483648)>>31:q;z=c+(h+l)|0;q=(u+t>>6)+(d[z>>0]|0)|0;a[z>>0]=q>>>0>255?(q^-2147483648)>>31:q;z=c+(h+m)|0;q=(s+r>>6)+(d[z>>0]|0)|0;a[z>>0]=q>>>0>255?(q^-2147483648)>>31:q;z=c+(h+n)|0;s=(r-s>>6)+(d[z>>0]|0)|0;a[z>>0]=s>>>0>255?(s^-2147483648)>>31:s;z=c+(h+i)|0;u=(t-u>>6)+(d[z>>0]|0)|0;a[z>>0]=u>>>0>255?(u^-2147483648)>>31:u;z=c+(h+j)|0;w=(v-w>>6)+(d[z>>0]|0)|0;a[z>>0]=w>>>0>255?(w^-2147483648)>>31:w;z=c+(h+k)|0;y=(x-y>>6)+(d[z>>0]|0)|0;a[z>>0]=y>>>0>255?(y^-2147483648)>>31:y;h=h+1|0}h=f+128|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(h|0));return}function vL(c,e,f){c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;h=(b[e>>1]|0)+32>>6;b[e>>1]=0;g=0;while(1){if((g|0)==4)break;else e=0;while(1){if((e|0)==4)break;i=c+e|0;j=h+(d[i>>0]|0)|0;a[i>>0]=j>>>0>255?(j^-2147483648)>>31:j;e=e+1|0}c=c+f|0;g=g+1|0}return}function wL(c,e,f){c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;h=(b[e>>1]|0)+32>>6;b[e>>1]=0;g=0;while(1){if((g|0)==8)break;else e=0;while(1){if((e|0)==8)break;i=c+e|0;j=h+(d[i>>0]|0)|0;a[i>>0]=j>>>0>255?(j^-2147483648)>>31:j;e=e+1|0}c=c+f|0;g=g+1|0}return}function xL(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;k=0;while(1){if((k|0)==16)break;switch(a[i+(d[150833+k>>0]|0)>>0]|0){case 0:break;case 1:{j=g+(k<<4<<1)|0;if(!(b[j>>1]|0))l=7;else vL(e+(c[f+(k<<2)>>2]|0)|0,j,h);break}default:{j=g+(k<<4<<1)|0;l=7}}if((l|0)==7){l=0;tL(e+(c[f+(k<<2)>>2]|0)|0,j,h)}k=k+1|0}return}function yL(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;k=0;while(1){if((k|0)>=16)break;switch(a[i+(d[150833+k>>0]|0)>>0]|0){case 0:break;case 1:{j=g+(k<<4<<1)|0;if(!(b[j>>1]|0))l=7;else wL(e+(c[f+(k<<2)>>2]|0)|0,j,h);break}default:{j=g+(k<<4<<1)|0;l=7}}if((l|0)==7){l=0;uL(e+(c[f+(k<<2)>>2]|0)|0,j,h)}k=k+4|0}return}function zL(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0;j=1;while(1){if((j|0)==3)break;k=j<<4;m=k|4;n=e+(j+-1<<2)|0;while(1){if((k|0)>=(m|0))break;if(!(a[i+(d[150833+k>>0]|0)>>0]|0)){l=g+(k<<4<<1)|0;if(b[l>>1]|0)vL((c[n>>2]|0)+(c[f+(k<<2)>>2]|0)|0,l,h)}else tL((c[n>>2]|0)+(c[f+(k<<2)>>2]|0)|0,g+(k<<4<<1)|0,h);k=k+1|0}j=j+1|0}return}function AL(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;j=1;while(1){if((j|0)==3){j=1;break}k=j<<4;m=k|4;n=e+(j+-1<<2)|0;while(1){if((k|0)>=(m|0))break;if(!(a[i+(d[150833+k>>0]|0)>>0]|0)){l=g+(k<<4<<1)|0;if(b[l>>1]|0)vL((c[n>>2]|0)+(c[f+(k<<2)>>2]|0)|0,l,h)}else tL((c[n>>2]|0)+(c[f+(k<<2)>>2]|0)|0,g+(k<<4<<1)|0,h);k=k+1|0}j=j+1|0}while(1){if((j|0)==3)break;k=j<<4;l=k|8;m=e+(j+-1<<2)|0;k=k|4;while(1){if((k|0)>=(l|0))break;n=k+4|0;if(!(a[i+(d[150833+n>>0]|0)>>0]|0)){o=g+(k<<4<<1)|0;if(b[o>>1]|0)vL((c[m>>2]|0)+(c[f+(n<<2)>>2]|0)|0,o,h)}else tL((c[m>>2]|0)+(c[f+(n<<2)>>2]|0)|0,g+(k<<4<<1)|0,h);k=k+1|0}j=j+1|0}return}function BL(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;j=0;while(1){if((j|0)==16)break;if(!(a[i+(d[150833+j>>0]|0)>>0]|0)){k=g+(j<<4<<1)|0;if(b[k>>1]|0)vL(e+(c[f+(j<<2)>>2]|0)|0,k,h)}else tL(e+(c[f+(j<<2)>>2]|0)|0,g+(j<<4<<1)|0,h);j=j+1|0}return}function CL(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=$c;$c=$c+64|0;if(($c|0)>=(ad|0))N(64);h=i;g=0;while(1){if((g|0)==4){g=0;break}q=g<<2;m=b[e+(q<<1)>>1]|0;n=q|1;k=b[e+(n<<1)>>1]|0;p=k+m|0;k=m-k|0;m=q|2;o=b[e+(m<<1)>>1]|0;j=q|3;r=b[e+(j<<1)>>1]|0;l=o-r|0;o=r+o|0;c[h+(q<<2)>>2]=o+p;c[h+(n<<2)>>2]=p-o;c[h+(m<<2)>>2]=k-l;c[h+(j<<2)>>2]=l+k;g=g+1|0}while(1){if((g|0)==4)break;r=d[150829+g>>0]|0;q=c[h+(g<<2)>>2]|0;n=c[h+(g+8<<2)>>2]|0;p=n+q|0;n=q-n|0;q=c[h+(g+4<<2)>>2]|0;m=c[h+(g+12<<2)>>2]|0;o=q-m|0;q=m+q|0;b[a+(r<<1)>>1]=((H(q+p|0,f)|0)+128|0)>>>8;b[a+(r+16<<1)>>1]=((H(o+n|0,f)|0)+128|0)>>>8;b[a+(r+64<<1)>>1]=((H(n-o|0,f)|0)+128|0)>>>8;b[a+(r+80<<1)>>1]=((H(p-q|0,f)|0)+128|0)>>>8;g=g+1|0}$c=i;return}function DL(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=b[a>>1]|0;j=a+32|0;e=b[j>>1]|0;g=a+64|0;h=b[g>>1]|0;d=a+96|0;k=b[d>>1]|0;f=i-e|0;i=e+i|0;e=h-k|0;h=k+h|0;b[a>>1]=(H(h+i|0,c)|0)>>>7;b[j>>1]=(H(e+f|0,c)|0)>>>7;b[g>>1]=(H(i-h|0,c)|0)>>>7;b[d>>1]=(H(f-e|0,c)|0)>>>7;return}function EL(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);g=h;f=0;while(1){if((f|0)==4){f=0;break}j=f<<5;k=b[a+(j<<1)>>1]|0;j=b[a+((j|16)<<1)>>1]|0;i=f<<1;c[g+(i<<2)>>2]=j+k;c[g+((i|1)<<2)>>2]=k-j;f=f+1|0}while(1){if((f|0)==2)break;k=d[150827+f>>0]|0;j=c[g+(f<<2)>>2]|0;m=c[g+(f+4<<2)>>2]|0;i=m+j|0;m=j-m|0;j=c[g+(f+2<<2)>>2]|0;n=c[g+(f+6<<2)>>2]|0;l=j-n|0;j=n+j|0;b[a+(k<<1)>>1]=((H(j+i|0,e)|0)+128|0)>>>8;b[a+(k+32<<1)>>1]=((H(l+m|0,e)|0)+128|0)>>>8;b[a+(k+64<<1)>>1]=((H(m-l|0,e)|0)+128|0)>>>8;b[a+(k+96<<1)>>1]=((H(i-j|0,e)|0)+128|0)>>>8;f=f+1|0}$c=h;return}function FL(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;i=(h<=(e|0))break;j=(H(d[h>>0]|0,g)|0)+i>>f;a[h>>0]=j>>>0>255?(j^-2147483648)>>31:j;j=h+1|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+2|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+3|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+4|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+5|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+6|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+7|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+8|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+9|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+10|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+11|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+12|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+13|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+14|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+15|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;h=h+c|0;b=b+1|0}return}function GL(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;i=(h<=(e|0))break;j=(H(d[h>>0]|0,g)|0)+i>>f;a[h>>0]=j>>>0>255?(j^-2147483648)>>31:j;j=h+1|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+2|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+3|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+4|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+5|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+6|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+7|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;h=h+c|0;b=b+1|0}return}function HL(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;i=(h<=(e|0))break;j=(H(d[h>>0]|0,g)|0)+i>>f;a[h>>0]=j>>>0>255?(j^-2147483648)>>31:j;j=h+1|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+2|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+3|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;h=h+c|0;b=b+1|0}return}function IL(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;i=(h<=(e|0))break;j=(H(d[h>>0]|0,g)|0)+i>>f;a[h>>0]=j>>>0>255?(j^-2147483648)>>31:j;j=h+1|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;h=h+c|0;b=b+1|0}return}function JL(b,c,e,f,g,h,i,j){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=(j+1|1)<=(f|0))break;m=H(d[c>>0]|0,i)|0;m=m+l+(H(d[j>>0]|0,h)|0)>>k;a[j>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=H(d[c+1>>0]|0,i)|0;b=j+1|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=H(d[c+2>>0]|0,i)|0;m=j+2|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=H(d[c+3>>0]|0,i)|0;b=j+3|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=H(d[c+4>>0]|0,i)|0;m=j+4|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=H(d[c+5>>0]|0,i)|0;b=j+5|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=H(d[c+6>>0]|0,i)|0;m=j+6|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=H(d[c+7>>0]|0,i)|0;b=j+7|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=H(d[c+8>>0]|0,i)|0;m=j+8|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=H(d[c+9>>0]|0,i)|0;b=j+9|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=H(d[c+10>>0]|0,i)|0;m=j+10|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=H(d[c+11>>0]|0,i)|0;b=j+11|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=H(d[c+12>>0]|0,i)|0;m=j+12|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=H(d[c+13>>0]|0,i)|0;b=j+13|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=H(d[c+14>>0]|0,i)|0;m=j+14|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=H(d[c+15>>0]|0,i)|0;b=j+15|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;c=c+e|0;j=j+e|0;g=g+1|0}return}function KL(b,c,e,f,g,h,i,j){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=(j+1|1)<=(f|0))break;m=H(d[c>>0]|0,i)|0;m=m+l+(H(d[j>>0]|0,h)|0)>>k;a[j>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=H(d[c+1>>0]|0,i)|0;b=j+1|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=H(d[c+2>>0]|0,i)|0;m=j+2|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=H(d[c+3>>0]|0,i)|0;b=j+3|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=H(d[c+4>>0]|0,i)|0;m=j+4|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=H(d[c+5>>0]|0,i)|0;b=j+5|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=H(d[c+6>>0]|0,i)|0;m=j+6|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=H(d[c+7>>0]|0,i)|0;b=j+7|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;c=c+e|0;j=j+e|0;g=g+1|0}return}function LL(b,c,e,f,g,h,i,j){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=(j+1|1)<=(f|0))break;m=H(d[c>>0]|0,i)|0;m=m+l+(H(d[j>>0]|0,h)|0)>>k;a[j>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=H(d[c+1>>0]|0,i)|0;b=j+1|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=H(d[c+2>>0]|0,i)|0;m=j+2|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=H(d[c+3>>0]|0,i)|0;b=j+3|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;c=c+e|0;j=j+e|0;g=g+1|0}return}function ML(b,c,e,f,g,h,i,j){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=(j+1|1)<=(f|0))break;m=H(d[c>>0]|0,i)|0;m=m+l+(H(d[j>>0]|0,h)|0)>>k;a[j>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=H(d[c+1>>0]|0,i)|0;b=j+1|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;c=c+e|0;j=j+e|0;g=g+1|0}return}function NL(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;y=0-c|0;z=H(c,-2)|0;A=H(c,-3)|0;B=c<<1;w=0;while(1){if((w|0)==4)break;h=a[g+w>>0]|0;x=h<<24>>24;a:do if(h<<24>>24>=0){o=h<<24>>24==0;p=x+1|0;q=0-x|0;m=0;n=b;while(1){if((m|0)==4)break a;r=n+y|0;s=d[r>>0]|0;h=n+z|0;t=d[h>>0]|0;i=d[n+A>>0]|0;u=d[n>>0]|0;k=n+c|0;v=d[k>>0]|0;l=d[n+B>>0]|0;j=s-u|0;if(((((j|0)>-1?j:0-j|0)|0)<(e|0)?(j=t-s|0,(((j|0)>-1?j:0-j|0)|0)<(f|0)):0)?(j=v-u|0,(((j|0)>-1?j:0-j|0)|0)<(f|0)):0){j=i-s|0;j=(((j|0)>-1?j:0-j|0)|0)>=(f|0);if(o|j)h=j?x:p;else{j=((((s+1+u|0)>>>1)+i|0)>>>1)-t|0;a[h>>0]=((j|0)<(q|0)?q:(j|0)>(x|0)?x:j)+t;h=p}j=l-u|0;if((((j|0)>-1?j:0-j|0)|0)<(f|0)){if(!o){l=((((s+1+u|0)>>>1)+l|0)>>>1)-v|0;a[k>>0]=((l|0)<(q|0)?q:(l|0)>(x|0)?x:l)+v}h=h+1|0}v=t+4-v+(u-s<<2)>>3;t=0-h|0;v=(v|0)<(t|0)?t:(v|0)>(h|0)?h:v;t=v+s|0;a[r>>0]=t>>>0>255?(t^-2147483648)>>31:t;v=u-v|0;a[n>>0]=v>>>0>255?(v^-2147483648)>>31:v}m=m+1|0;n=n+1|0}}while(0);b=b+4|0;w=w+1|0}return}function OL(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=c<<2;w=0;while(1){if((w|0)==4)break;h=a[g+w>>0]|0;x=h<<24>>24;a:do if(h<<24>>24>=0){o=h<<24>>24==0;p=x+1|0;q=0-x|0;m=0;n=b;while(1){if((m|0)==4)break a;r=n+-1|0;s=d[r>>0]|0;h=n+-2|0;t=d[h>>0]|0;i=d[n+-3>>0]|0;u=d[n>>0]|0;k=n+1|0;v=d[k>>0]|0;l=d[n+2>>0]|0;j=s-u|0;if(((((j|0)>-1?j:0-j|0)|0)<(e|0)?(j=t-s|0,(((j|0)>-1?j:0-j|0)|0)<(f|0)):0)?(j=v-u|0,(((j|0)>-1?j:0-j|0)|0)<(f|0)):0){j=i-s|0;j=(((j|0)>-1?j:0-j|0)|0)>=(f|0);if(o|j)h=j?x:p;else{j=((((s+1+u|0)>>>1)+i|0)>>>1)-t|0;a[h>>0]=((j|0)<(q|0)?q:(j|0)>(x|0)?x:j)+t;h=p}j=l-u|0;if((((j|0)>-1?j:0-j|0)|0)<(f|0)){if(!o){l=((((s+1+u|0)>>>1)+l|0)>>>1)-v|0;a[k>>0]=((l|0)<(q|0)?q:(l|0)>(x|0)?x:l)+v}h=h+1|0}v=t+4-v+(u-s<<2)>>3;t=0-h|0;v=(v|0)<(t|0)?t:(v|0)>(h|0)?h:v;t=v+s|0;a[r>>0]=t>>>0>255?(t^-2147483648)>>31:t;v=u-v|0;a[n>>0]=v>>>0>255?(v^-2147483648)>>31:v}m=m+1|0;n=n+c|0}}while(0);b=b+y|0;w=w+1|0}return}function PL(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=c<<1;w=0;while(1){if((w|0)==4)break;h=a[g+w>>0]|0;x=h<<24>>24;a:do if(h<<24>>24>=0){o=h<<24>>24==0;p=x+1|0;q=0-x|0;m=0;n=b;while(1){if((m|0)==2)break a;r=n+-1|0;s=d[r>>0]|0;h=n+-2|0;t=d[h>>0]|0;i=d[n+-3>>0]|0;u=d[n>>0]|0;k=n+1|0;v=d[k>>0]|0;l=d[n+2>>0]|0;j=s-u|0;if(((((j|0)>-1?j:0-j|0)|0)<(e|0)?(j=t-s|0,(((j|0)>-1?j:0-j|0)|0)<(f|0)):0)?(j=v-u|0,(((j|0)>-1?j:0-j|0)|0)<(f|0)):0){j=i-s|0;j=(((j|0)>-1?j:0-j|0)|0)>=(f|0);if(o|j)h=j?x:p;else{j=((((s+1+u|0)>>>1)+i|0)>>>1)-t|0;a[h>>0]=((j|0)<(q|0)?q:(j|0)>(x|0)?x:j)+t;h=p}j=l-u|0;if((((j|0)>-1?j:0-j|0)|0)<(f|0)){if(!o){l=((((s+1+u|0)>>>1)+l|0)>>>1)-v|0;a[k>>0]=((l|0)<(q|0)?q:(l|0)>(x|0)?x:l)+v}h=h+1|0}v=t+4-v+(u-s<<2)>>3;t=0-h|0;v=(v|0)<(t|0)?t:(v|0)>(h|0)?h:v;t=v+s|0;a[r>>0]=t>>>0>255?(t^-2147483648)>>31:t;v=u-v|0;a[n>>0]=v>>>0>255?(v^-2147483648)>>31:v}m=m+1|0;n=n+c|0}}while(0);b=b+y|0;w=w+1|0}return}function QL(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;w=H(c,-3)|0;x=H(c,-2)|0;y=0-c|0;z=c<<1;A=(e>>2)+2|0;u=H(c,-4)|0;v=c*3|0;m=0;while(1){if((m|0)==16)break;g=b+w|0;l=d[g>>0]|0;h=b+x|0;n=d[h>>0]|0;i=b+y|0;o=d[i>>0]|0;p=d[b>>0]|0;q=b+c|0;r=d[q>>0]|0;s=b+z|0;t=d[s>>0]|0;j=o-p|0;j=(j|0)>-1?j:0-j|0;do if(((j|0)<(e|0)?(k=n-o|0,(((k|0)>-1?k:0-k|0)|0)<(f|0)):0)?(k=r-p|0,(((k|0)>-1?k:0-k|0)|0)<(f|0)):0){if((j|0)>=(A|0)){a[i>>0]=(o+2+(n<<1)+r|0)>>>2;a[b>>0]=(n+2+p+(r<<1)|0)>>>2;break}k=l-o|0;if((((k|0)>-1?k:0-k|0)|0)<(f|0)){B=d[b+u>>0]|0;a[i>>0]=(l+4+r+(o+n+p<<1)|0)>>>3;a[h>>0]=(l+2+n+o+p|0)>>>2;i=g;h=3;j=4;k=p;g=(l*3|0)+n+(B<<1)|0}else{h=2;j=2;k=r;g=n<<1}a[i>>0]=(g+o+k+j|0)>>>h;B=t-p|0;if((((B|0)>-1?B:0-B|0)|0)<(f|0)){B=d[b+v>>0]|0;a[b>>0]=(n+4+t+(p+o+r<<1)|0)>>>3;a[q>>0]=(o+2+p+r+t|0)>>>2;a[s>>0]=(o+4+p+r+(t*3|0)+(B<<1)|0)>>>3;break}else{a[b>>0]=(n+2+p+(r<<1)|0)>>>2;break}}while(0);b=b+1|0;m=m+1|0}return}function RL(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=(e>>2)+2|0;m=0;while(1){if((m|0)==16)break;i=b+-3|0;l=d[i>>0]|0;j=b+-2|0;n=d[j>>0]|0;g=b+-1|0;o=d[g>>0]|0;p=d[b>>0]|0;q=b+1|0;r=d[q>>0]|0;s=b+2|0;t=d[s>>0]|0;h=o-p|0;h=(h|0)>-1?h:0-h|0;do if(((h|0)<(e|0)?(k=n-o|0,(((k|0)>-1?k:0-k|0)|0)<(f|0)):0)?(k=r-p|0,(((k|0)>-1?k:0-k|0)|0)<(f|0)):0){if((h|0)>=(u|0)){a[g>>0]=(o+2+(n<<1)+r|0)>>>2;a[b>>0]=(n+2+p+(r<<1)|0)>>>2;break}k=l-o|0;if((((k|0)>-1?k:0-k|0)|0)<(f|0)){v=d[b+-4>>0]|0;a[g>>0]=(l+4+r+(o+n+p<<1)|0)>>>3;a[j>>0]=(l+2+n+o+p|0)>>>2;h=3;j=4;k=p;g=(l*3|0)+n+(v<<1)|0}else{i=g;h=2;j=2;k=r;g=n<<1}a[i>>0]=(g+o+k+j|0)>>>h;v=t-p|0;if((((v|0)>-1?v:0-v|0)|0)<(f|0)){v=d[b+3>>0]|0;a[b>>0]=(n+4+t+(p+o+r<<1)|0)>>>3;a[q>>0]=(o+2+p+r+t|0)>>>2;a[s>>0]=(o+4+p+r+(t*3|0)+(v<<1)|0)>>>3;break}else{a[b>>0]=(n+2+p+(r<<1)|0)>>>2;break}}while(0);b=b+c|0;m=m+1|0}return}function SL(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=(e>>2)+2|0;m=0;while(1){if((m|0)==8)break;i=b+-3|0;l=d[i>>0]|0;j=b+-2|0;n=d[j>>0]|0;g=b+-1|0;o=d[g>>0]|0;p=d[b>>0]|0;q=b+1|0;r=d[q>>0]|0;s=b+2|0;t=d[s>>0]|0;h=o-p|0;h=(h|0)>-1?h:0-h|0;do if(((h|0)<(e|0)?(k=n-o|0,(((k|0)>-1?k:0-k|0)|0)<(f|0)):0)?(k=r-p|0,(((k|0)>-1?k:0-k|0)|0)<(f|0)):0){if((h|0)>=(u|0)){a[g>>0]=(o+2+(n<<1)+r|0)>>>2;a[b>>0]=(n+2+p+(r<<1)|0)>>>2;break}k=l-o|0;if((((k|0)>-1?k:0-k|0)|0)<(f|0)){v=d[b+-4>>0]|0;a[g>>0]=(l+4+r+(o+n+p<<1)|0)>>>3;a[j>>0]=(l+2+n+o+p|0)>>>2;h=3;j=4;k=p;g=(l*3|0)+n+(v<<1)|0}else{i=g;h=2;j=2;k=r;g=n<<1}a[i>>0]=(g+o+k+j|0)>>>h;v=t-p|0;if((((v|0)>-1?v:0-v|0)|0)<(f|0)){v=d[b+3>>0]|0;a[b>>0]=(n+4+t+(p+o+r<<1)|0)>>>3;a[q>>0]=(o+2+p+r+t|0)>>>2;a[s>>0]=(o+4+p+r+(t*3|0)+(v<<1)|0)>>>3;break}else{a[b>>0]=(n+2+p+(r<<1)|0)>>>2;break}}while(0);b=b+c|0;m=m+1|0}return}function TL(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=0-c|0;s=H(c,-2)|0;h=0;while(1){if((h|0)==4)break;p=a[g+h>>0]|0;q=p<<24>>24;a:do if(p<<24>>24>=1){k=0-q|0;i=0;j=b;while(1){if((i|0)==2)break a;l=j+r|0;m=d[l>>0]|0;n=d[j+s>>0]|0;o=d[j>>0]|0;p=d[j+c>>0]|0;t=m-o|0;if(((((t|0)>-1?t:0-t|0)|0)<(e|0)?(t=n-m|0,(((t|0)>-1?t:0-t|0)|0)<(f|0)):0)?(t=p-o|0,(((t|0)>-1?t:0-t|0)|0)<(f|0)):0){t=n+4-p+(o-m<<2)>>3;t=(t|0)<(k|0)?k:(t|0)>(q|0)?q:t;p=t+m|0;a[l>>0]=p>>>0>255?(p^-2147483648)>>31:p;t=o-t|0;a[j>>0]=t>>>0>255?(t^-2147483648)>>31:t}i=i+1|0;j=j+1|0}}while(0);b=b+2|0;h=h+1|0}return}function UL(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=c<<1;h=0;while(1){if((h|0)==4)break;p=a[g+h>>0]|0;q=p<<24>>24;a:do if(p<<24>>24>=1){k=0-q|0;i=0;j=b;while(1){if((i|0)==2)break a;l=j+-1|0;m=d[l>>0]|0;n=d[j+-2>>0]|0;o=d[j>>0]|0;p=d[j+1>>0]|0;s=m-o|0;if(((((s|0)>-1?s:0-s|0)|0)<(e|0)?(s=n-m|0,(((s|0)>-1?s:0-s|0)|0)<(f|0)):0)?(s=p-o|0,(((s|0)>-1?s:0-s|0)|0)<(f|0)):0){s=n+4-p+(o-m<<2)>>3;s=(s|0)<(k|0)?k:(s|0)>(q|0)?q:s;p=s+m|0;a[l>>0]=p>>>0>255?(p^-2147483648)>>31:p;s=o-s|0;a[j>>0]=s>>>0>255?(s^-2147483648)>>31:s}i=i+1|0;j=j+c|0}}while(0);b=b+r|0;h=h+1|0}return}function VL(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=c<<2;h=0;while(1){if((h|0)==4)break;p=a[g+h>>0]|0;q=p<<24>>24;a:do if(p<<24>>24>=1){k=0-q|0;i=0;j=b;while(1){if((i|0)==4)break a;l=j+-1|0;m=d[l>>0]|0;n=d[j+-2>>0]|0;o=d[j>>0]|0;p=d[j+1>>0]|0;s=m-o|0;if(((((s|0)>-1?s:0-s|0)|0)<(e|0)?(s=n-m|0,(((s|0)>-1?s:0-s|0)|0)<(f|0)):0)?(s=p-o|0,(((s|0)>-1?s:0-s|0)|0)<(f|0)):0){s=n+4-p+(o-m<<2)>>3;s=(s|0)<(k|0)?k:(s|0)>(q|0)?q:s;p=s+m|0;a[l>>0]=p>>>0>255?(p^-2147483648)>>31:p;s=o-s|0;a[j>>0]=s>>>0>255?(s^-2147483648)>>31:s}i=i+1|0;j=j+c|0}}while(0);b=b+r|0;h=h+1|0}return}function WL(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;h=0;while(1){if((h|0)==4)break;q=a[g+h>>0]|0;p=q<<24>>24;a:do if(q<<24>>24>=1){q=0-p|0;i=0;j=b;while(1){if((i|0)==1)break a;k=j+-1|0;l=d[k>>0]|0;m=d[j+-2>>0]|0;n=d[j>>0]|0;o=d[j+1>>0]|0;r=l-n|0;if(((((r|0)>-1?r:0-r|0)|0)<(e|0)?(r=m-l|0,(((r|0)>-1?r:0-r|0)|0)<(f|0)):0)?(r=o-n|0,(((r|0)>-1?r:0-r|0)|0)<(f|0)):0){r=m+4-o+(n-l<<2)>>3;r=(r|0)<(q|0)?q:(r|0)>(p|0)?p:r;o=r+l|0;a[k>>0]=o>>>0>255?(o^-2147483648)>>31:o;r=n-r|0;a[j>>0]=r>>>0>255?(r^-2147483648)>>31:r}i=i+1|0;j=j+c|0}}while(0);b=b+c|0;h=h+1|0}return}function XL(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=c<<1;h=0;while(1){if((h|0)==4)break;p=a[g+h>>0]|0;q=p<<24>>24;a:do if(p<<24>>24>=1){k=0-q|0;i=0;j=b;while(1){if((i|0)==2)break a;l=j+-1|0;m=d[l>>0]|0;n=d[j+-2>>0]|0;o=d[j>>0]|0;p=d[j+1>>0]|0;s=m-o|0;if(((((s|0)>-1?s:0-s|0)|0)<(e|0)?(s=n-m|0,(((s|0)>-1?s:0-s|0)|0)<(f|0)):0)?(s=p-o|0,(((s|0)>-1?s:0-s|0)|0)<(f|0)):0){s=n+4-p+(o-m<<2)>>3;s=(s|0)<(k|0)?k:(s|0)>(q|0)?q:s;p=s+m|0;a[l>>0]=p>>>0>255?(p^-2147483648)>>31:p;s=o-s|0;a[j>>0]=s>>>0>255?(s^-2147483648)>>31:s}i=i+1|0;j=j+c|0}}while(0);b=b+r|0;h=h+1|0}return}function YL(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=0-c|0;n=H(c,-2)|0;l=0;while(1){if((l|0)==8)break;j=b+m|0;k=d[j>>0]|0;g=d[b+n>>0]|0;h=d[b>>0]|0;i=d[b+c>>0]|0;o=k-h|0;if(((((o|0)>-1?o:0-o|0)|0)<(e|0)?(o=g-k|0,(((o|0)>-1?o:0-o|0)|0)<(f|0)):0)?(o=i-h|0,(((o|0)>-1?o:0-o|0)|0)<(f|0)):0){a[j>>0]=(k+2+(g<<1)+i|0)>>>2;a[b>>0]=(g+2+h+(i<<1)|0)>>>2}l=l+1|0;b=b+1|0}return}function ZL(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=0;while(1){if((l|0)==8)break;i=b+-1|0;j=d[i>>0]|0;k=d[b+-2>>0]|0;g=d[b>>0]|0;h=d[b+1>>0]|0;m=j-g|0;if(((((m|0)>-1?m:0-m|0)|0)<(e|0)?(m=k-j|0,(((m|0)>-1?m:0-m|0)|0)<(f|0)):0)?(m=h-g|0,(((m|0)>-1?m:0-m|0)|0)<(f|0)):0){a[i>>0]=(j+2+(k<<1)+h|0)>>>2;a[b>>0]=(k+2+g+(h<<1)|0)>>>2}l=l+1|0;b=b+c|0}return}function _L(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=0;while(1){if((l|0)==16)break;i=b+-1|0;j=d[i>>0]|0;k=d[b+-2>>0]|0;g=d[b>>0]|0;h=d[b+1>>0]|0;m=j-g|0;if(((((m|0)>-1?m:0-m|0)|0)<(e|0)?(m=k-j|0,(((m|0)>-1?m:0-m|0)|0)<(f|0)):0)?(m=h-g|0,(((m|0)>-1?m:0-m|0)|0)<(f|0)):0){a[i>>0]=(j+2+(k<<1)+h|0)>>>2;a[b>>0]=(k+2+g+(h<<1)|0)>>>2}l=l+1|0;b=b+c|0}return}function $L(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=0;while(1){if((l|0)==4)break;i=b+-1|0;j=d[i>>0]|0;k=d[b+-2>>0]|0;g=d[b>>0]|0;h=d[b+1>>0]|0;m=j-g|0;if(((((m|0)>-1?m:0-m|0)|0)<(e|0)?(m=k-j|0,(((m|0)>-1?m:0-m|0)|0)<(f|0)):0)?(m=h-g|0,(((m|0)>-1?m:0-m|0)|0)<(f|0)):0){a[i>>0]=(j+2+(k<<1)+h|0)>>>2;a[b>>0]=(k+2+g+(h<<1)|0)>>>2}l=l+1|0;b=b+c|0}return}function aM(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=0;while(1){if((l|0)==8)break;i=b+-1|0;j=d[i>>0]|0;k=d[b+-2>>0]|0;g=d[b>>0]|0;h=d[b+1>>0]|0;m=j-g|0;if(((((m|0)>-1?m:0-m|0)|0)<(e|0)?(m=k-j|0,(((m|0)>-1?m:0-m|0)|0)<(f|0)):0)?(m=h-g|0,(((m|0)>-1?m:0-m|0)|0)<(f|0)):0){a[i>>0]=(j+2+(k<<1)+h|0)>>>2;a[b>>0]=(k+2+g+(h<<1)|0)>>>2}l=l+1|0;b=b+c|0}return}function bM(b,c){b=b|0;c=c|0;var d=0;d=0;while(1){if((d|0)>=(c|0))break;if(!(a[b+d>>0]|0))break;d=d+1|0}return d|0}function cM(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;if(!((b|0)==0&(c|0)==0)){if(!((e|0)==0&(f|0)==0)){o=JW(0,0,b|0,c|0)|0;o=OW(o&b|0,(M()|0)&c|0,-862635923,36691299)|0;o=SW(o|0,M()|0,58)|0;M()|0;o=a[151096+o>>0]|0;g=o&255;j=JW(0,0,e|0,f|0)|0;j=OW(j&e|0,(M()|0)&f|0,-862635923,36691299)|0;j=SW(j|0,M()|0,58)|0;M()|0;j=a[151096+j>>0]|0;h=j&255;i=g>>>0>h>>>0;o=RW(b|0,c|0,o&255|0)|0;m=M()|0;n=(m|0)>-1|(m|0)==-1&o>>>0>4294967295;b=JW(0,0,o|0,m|0)|0;l=M()|0;f=RW(e|0,f|0,j&255|0)|0;j=M()|0;k=(j|0)>-1|(j|0)==-1&f>>>0>4294967295;c=JW(0,0,f|0,j|0)|0;e=M()|0;b=n?o:b;c=k?f:c;f=n?m:l;e=k?j:e;while(1){if((b|0)==(c|0)&(f|0)==(e|0))break;k=(f|0)>(e|0)|(f|0)==(e|0)&b>>>0>c>>>0;m=k?c:b;o=k?e:f;k=JW((k?b:c)|0,(k?f:e)|0,m|0,o|0)|0;l=M()|0;n=JW(0,0,k|0,l|0)|0;n=OW(k&n|0,l&(M()|0)|0,-862635923,36691299)|0;n=SW(n|0,M()|0,58)|0;M()|0;n=RW(k|0,l|0,d[151096+n>>0]|0|0)|0;b=m;c=n;f=o;e=M()|0}b=TW(b|0,f|0,(i?h:g)|0)|0;c=M()|0}}else{c=f;b=e}L(c|0);return b|0}function dM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);d=h;f=c[(c[a+28>>2]|0)+20>>2]|0;do if(((c[a+696>>2]&1|0)!=0?(c[a+700>>2]|0)==0:0)?(c[a+120>>2]|0)!=10:0){e=f+300|0;if((c[e>>2]|0)!=1){lf(a,16,151298,d);a=-1;break}d=f+184|0;eV(d)|0;c[f+324>>2]=b;c[e>>2]=3;a=f+60|0;_W(a|0)|0;while(1){if((c[e>>2]|0)==1)break;Vb(a|0,d|0)|0}a=c[f+328>>2]|0;fV(d)|0}else g=4;while(0);if((g|0)==4)a=fM(a,b)|0;$c=h;return a|0}function eM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=c[a+880>>2]|0;a:do if((d|0)!=0?(i=c[(c[a+12>>2]|0)+124>>2]|0,(i|0)!=0):0){g=(c[d+4>>2]|0)+8|0;f=0;while(1){h=c[i+(f<<2)>>2]|0;if(!h){d=0;j=11;break a}b:do if(c[h+4>>2]&1|0?(c[g>>2]|0)==(c[h+8>>2]|0):0){e=0;while(1){d=c[b+(e<<2)>>2]|0;if((d|0)==-1)break b;if((c[h>>2]|0)==(d|0))break a;else e=e+1|0}}while(0);f=f+1|0}}else{d=0;j=11}while(0);c:do if((j|0)==11){while(1)if((c[b+(d<<2)>>2]|0)==-1)break;else{d=d+1|0;j=11}d=b+(d+-1<<2)|0;j=c[(Gg(c[d>>2]|0)|0)+8>>2]|0;if((j&8|0)==0&0==0){d=c[d>>2]|0;break}g=a+12|0;f=0;d:while(1){h=b+(f<<2)|0;if((c[h>>2]|0)==-1){d=-1;break c}else e=0;while(1){i=iM(c[g>>2]|0,e)|0;if(!i)break d;d=c[i>>2]|0;if((d|0)==(c[h>>2]|0))break;else e=e+1|0}if(!(c[i+4>>2]&4))f=f+1|0;else break c}d=c[h>>2]|0}while(0);return d|0}function fM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=$c;$c=$c+80|0;if(($c|0)>=(ad|0))N(80);t=z+72|0;s=z+64|0;r=z+56|0;q=z+48|0;p=z+40|0;w=z+32|0;v=z+24|0;u=z+16|0;d=z;x=z+76|0;f=0;while(1){e=f+1|0;if((c[b+(f<<2)>>2]|0)==-1)break;else f=e}if((f|0)<=0){c[d>>2]=151360;c[d+4>>2]=129184;c[d+8>>2]=1310;lf(0,0,164242,d);ub()}d=b+(f+-1<<2)|0;m=c[(Gg(c[d>>2]|0)|0)+8>>2]|0;if((m&8|0)==0&0==0)c[a+768>>2]=c[d>>2];d=ah(e,4)|0;c[x>>2]=d;if(!d)d=-1;else{XW(d|0,b|0,e<<2|0)|0;j=a+120|0;k=a+12|0;l=a+880|0;m=a+860|0;i=d;a:while(1){gM(a);d=hd[c[j>>2]&15](a,i)|0;if((d|0)==-1){d=-1;break}h=Gg(d)|0;if(!h){y=11;break}c[v>>2]=c[h>>2];lf(a,48,151418,v);b=0;while(1){if((b|0)>=(f|0))break;if((c[i+(b<<2)>>2]|0)==(d|0))break;b=b+1|0}if((b|0)==(f|0)){y=17;break}e=c[(c[k>>2]|0)+124>>2]|0;if(!e)break;else b=0;while(1){g=c[e+(b<<2)>>2]|0;if(!g)break a;if((c[g>>2]|0)==(d|0))break;else b=b+1|0}b=c[g+4>>2]|0;if((b&2|0)!=0?(n=c[m>>2]|0,(n|0)!=0):0)if((c[(c[n+4>>2]|0)+36>>2]|0)==(d|0))y=31;else{c[p>>2]=c[h>>2];lf(a,16,151513,p)}else y=25;do if((y|0)==25){y=0;if(b&1|0?(o=c[l>>2]|0,o|0):0){if((c[(c[o+4>>2]|0)+8>>2]|0)==(c[g+8>>2]|0)){y=31;break}c[q>>2]=c[h>>2];lf(a,16,151601,q);break}if(!(b&12)){c[r>>2]=c[h>>2];lf(a,16,151687,r)}else y=31}while(0);if((y|0)==31){y=0;if(!(c[g+12>>2]|0))break;c[s>>2]=c[h>>2];lf(a,48,151740,s);if((hM(a,g)|0)>=0)break}c[t>>2]=c[h>>2];lf(a,48,151784,t);b=0;while(1){if((b|0)>=(f|0)){d=b;break}if((c[i+(b<<2)>>2]|0)==(d|0)){d=b;break}b=b+1|0}while(1){b=d+1|0;if((b|0)>=(f|0))break;i=c[x>>2]|0;c[i+(d<<2)>>2]=c[i+(b<<2)>>2];d=b}f=f+-1|0;i=c[x>>2]|0}if((y|0)==11){lf(a,16,151367,u);d=-1}else if((y|0)==17){c[w>>2]=c[h>>2];lf(a,16,151453,w);d=0}gf(x)}$c=z;return d|0}function gM(a){a=a|0;var b=0,d=0,e=0;b=a+592|0;d=c[b>>2]|0;if(d|0?(e=c[d+52>>2]|0,e|0):0)fd[e&31](a)|0;gf((c[a+28>>2]|0)+60|0);c[b>>2]=0;Sf(a+860|0);return}function hM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);h=i+8|0;e=i;g=c[b+12>>2]|0;if((c[g+16>>2]&512|0)!=0?(c[a+568>>2]|0)>-2:0){c[e>>2]=c[g>>2];lf(a,24,151841,e);d=-1163346256}else f=4;do if((f|0)==4){e=c[g+56>>2]|0;if(e|0?(f=cg(e)|0,c[(c[a+28>>2]|0)+60>>2]=f,(f|0)==0):0){d=-12;break}f=a+592|0;c[f>>2]=g;e=c[g+48>>2]|0;if((e|0)!=0?(d=fd[e&31](a)|0,(d|0)<0):0){c[h>>2]=Hg(c[b>>2]|0)|0;lf(a,16,151876,h);gf((c[a+28>>2]|0)+60|0);c[f>>2]=0}else d=0}while(0);$c=i;return d|0}function iM(a,b){a=a|0;b=b|0;var d=0;d=c[a+124>>2]|0;a:do if((b|0)<0|(d|0)==0)a=0;else{a=0;while(1){if((a|0)>(b|0))break;if(!(c[d+(a<<2)>>2]|0)){a=0;break a}else a=a+1|0}a=c[d+(b<<2)>>2]|0}while(0);return a|0}function jM(a){a=a|0;var b=0,c=0,e=0;e=FM(a)|0;b=e>>>0>65535;e=b?e>>>16:e;b=b?16:0;c=(e&65280|0)==0;b=31-(d[120631+(c?e:e>>>8)>>0]|0)-(c?b:b|8)|0;GM(a,b);return (HM(a,b+1|0)|0)+-1|0}function kM(a){a=a|0;var b=0,e=0,f=0;b=a+8|0;f=c[b>>2]|0;e=c[a+16>>2]|0;a=(c[a>>2]|0)+(f>>>3)|0;a=(VW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(f&7)>>>23;f=f+(d[126600+a>>0]|0)|0;c[b>>2]=e>>>0>f>>>0?f:e;return d[127112+a>>0]|0|0}function lM(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);h=i;e=a+8|0;f=c[e>>2]|0;g=c[a+16>>2]|0;a=(c[a>>2]|0)+(f>>>3)|0;a=(VW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(f&7);do if(a>>>0<=134217727){k=a>>>0>65535;j=k?a>>>16:a;k=k?16:0;b=(j&65280|0)==0;j=(b?k:k|8)+(d[120631+(b?j:j>>>8)>>0]|0)|0;b=j<<1;f=63-b+f|0;c[e>>2]=g>>>0>f>>>0?f:g;if(j>>>0<19){lf(0,16,155990,h);a=-1094995529;break}else{a=(a>>>(b+-31|0))+-1|0;break}}else{a=a>>>23;k=f+(d[126600+a>>0]|0)|0;c[e>>2]=g>>>0>k>>>0?k:g;a=d[127112+a>>0]|0}while(0);$c=i;return a|0}function mM(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=a+8|0;g=c[e>>2]|0;f=c[a+16>>2]|0;a=(c[a>>2]|0)+(g>>>3)|0;a=(VW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(g&7)>>>(32-b|0);b=g+b|0;c[e>>2]=f>>>0>b>>>0?b:f;return a|0}function nM(a){a=a|0;var b=0,e=0,f=0;e=a+8|0;f=c[e>>2]|0;b=(d[(c[a>>2]|0)+(f>>>3)>>0]|0)<<(f&7)>>>7&1;c[e>>2]=f+((f|0)<(c[a+16>>2]|0)&1);return b|0}function oM(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+8|0;g=c[f>>2]|0;h=c[b+16>>2]|0;e=c[b>>2]|0;b=e+(g>>>3)|0;b=(VW(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24|0)|0)<<(g&7);if(b>>>0>134217727){b=b>>>23;g=g+(d[126600+b>>0]|0)|0;c[f>>2]=h>>>0>g>>>0?g:h;b=a[127624+b>>0]|0}else{j=b>>>0>65535;b=j?b>>>16:b;j=j?16:0;i=(b&65280|0)==0;b=(i?j:j|8)+(d[120631+(i?b:b>>>8)>>0]|0)|0;i=31-b+g|0;i=h>>>0>i>>>0?i:h;g=e+(i>>>3)|0;g=(VW(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24|0)|0)<<(i&7)>>>b;b=i+(32-b)|0;c[f>>2]=h>>>0>b>>>0?b:h;b=g&1;b=(g>>>1^0-b)+b|0}return b|0}function pM(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;m=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);k=m;c[b>>2]=c[e+20>>2];j=b+4|0;c[j>>2]=c[e+24>>2];do if((f|0)!=1){i=(g|0)==3?15:31;if(DM(d)|0){c[b>>2]=(CM(d)|0)+1;if((f|0)==3)e=(CM(d)|0)+1|0;else e=1;c[j>>2]=e}g=(c[b>>2]|0)+-1|0;e=c[j>>2]|0;if(g>>>0>i>>>0|(e+-1|0)>>>0>i>>>0){c[k>>2]=g;c[k+4>>2]=i;c[k+8>>2]=e+-1;c[k+12>>2]=i;lf(h,16,152507,k);c[a>>2]=0;c[b>>2]=0;c[j>>2]=0;e=-1094995529;break}else{e=(f|0)==3?2:1;l=9;break}}else{c[j>>2]=0;c[b>>2]=0;e=0;l=9}while(0);if((l|0)==9){c[a>>2]=e;e=0}$c=m;return e|0}function qM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);m=o+8|0;l=o;c[b+27768>>2]=0;c[b+27772>>2]=0;j=b+23412|0;k=b+4|0;f=0;a:while(1){if(f>>>0>=(c[j>>2]|0)>>>0){e=0;break}b:do if(uM(k)|0){g=b+23404+(f<<2)|0;h=b+27768+(f<<2)|0;e=0;while(1){i=vM(k)|0;if((i|0)==3)break b;if(e>>>0>=(c[g>>2]|0)>>>0){n=7;break a}if(i>>>0>2){n=9;break a}c[b+27256+(f<<8)+(e<<3)+4>>2]=wM(k)|0;a[b+27256+(f<<8)+(e<<3)>>0]=i;c[h>>2]=(c[h>>2]|0)+1;e=e+1|0}}while(0);f=f+1|0}if((n|0)==7){lf(d,16,152440,l);e=-1094995529}else if((n|0)==9){c[m>>2]=i;lf(d,16,152466,m);e=-1094995529}$c=o;return e|0}function rM(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);x=z+16|0;l=z+8|0;k=z;c[f>>2]=0;w=f+4|0;c[w>>2]=0;i=CM(a)|0;j=f+8|0;c[j>>2]=i;if(i>>>0>7){c[k>>2]=i;lf(h,16,152331,k);c[j>>2]=0;i=0}t=1<>2]|0))r=0;else{i=CM(a)|0;j=f+12|0;c[j>>2]=i;if(i>>>0>7){c[l>>2]=i;lf(h,16,152374,l);c[j>>2]=0;i=0}r=1<=2){y=35;break}n=f+16+(g<<2)|0;c[n>>2]=0;o=f+24+(g<<2)|0;c[o>>2]=0;p=d+(g<<2)|0;e=0;while(1){if((e|0)>=(c[p>>2]|0))break;if(DM(a)|0){j=f+32+(e<<4)+(g<<3)|0;c[j>>2]=EM(a)|0;i=EM(a)|0;c[f+32+(e<<4)+(g<<3)+4>>2]=i;j=c[j>>2]|0;if((j<<24>>24|0)!=(j|0)){y=38;break a}if((i<<24>>24|0)!=(i|0)){y=38;break a}if(!((i|0)==0&(j|0)==(t|0))){c[f>>2]=1;i=1;j=n;y=17}}else{c[f+32+(e<<4)+(g<<3)>>2]=t;i=0;j=f+32+(e<<4)+(g<<3)+4|0;y=17}if((y|0)==17){y=0;c[j>>2]=i}b:do if(c[s>>2]|0){if(!(DM(a)|0)){i=0;while(1){if((i|0)==2)break b;c[f+800+(e<<5)+(g<<4)+(i<<3)>>2]=r;c[f+800+(e<<5)+(g<<4)+(i<<3)+4>>2]=0;i=i+1|0}}else i=0;while(1){if((i|0)>=2)break b;j=f+800+(e<<5)+(g<<4)+(i<<3)|0;c[j>>2]=EM(a)|0;k=EM(a)|0;b=f+800+(e<<5)+(g<<4)+(i<<3)+4|0;c[b>>2]=k;l=c[j>>2]|0;if((l<<24>>24|0)!=(l|0)){y=26;break a}if((k<<24>>24|0)!=(k|0)){y=26;break a}if(!((k|0)==0&(l|0)==(r|0))){c[w>>2]=1;c[o>>2]=1}i=i+1|0}}while(0);c:do if(q?(l=c[f+32+(e<<4)+(g<<3)>>2]|0,v=e<<1,u=v+16|0,v=v+17|0,c[f+32+(v<<4)+(g<<3)>>2]=l,c[f+32+(u<<4)+(g<<3)>>2]=l,l=c[f+32+(e<<4)+(g<<3)+4>>2]|0,c[f+32+(v<<4)+(g<<3)+4>>2]=l,c[f+32+(u<<4)+(g<<3)+4>>2]=l,c[s>>2]|0):0){i=0;while(1){if((i|0)==2)break c;l=c[f+800+(e<<5)+(g<<4)+(i<<3)>>2]|0;c[f+800+(v<<5)+(g<<4)+(i<<3)>>2]=l;c[f+800+(u<<5)+(g<<4)+(i<<3)>>2]=l;l=c[f+800+(e<<5)+(g<<4)+(i<<3)+4>>2]|0;c[f+800+(v<<5)+(g<<4)+(i<<3)+4>>2]=l;c[f+800+(u<<5)+(g<<4)+(i<<3)+4>>2]=l;i=i+1|0}}while(0);e=e+1|0}if(m)g=g+1|0;else{y=35;break}}if((y|0)==26){c[j>>2]=r;c[b>>2]=0;y=38}else if((y|0)==35){if(!(c[f>>2]|0))i=(c[w>>2]|0)!=0&1;else i=1;c[f>>2]=i;i=0}if((y|0)==38){ci(h,152419,x);i=-1094995529}$c=z;return i|0}function sM(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);l=n+8|0;m=n;a:do if((c[d+44>>2]|0)!=5){k=uM(b)|0;c[a+34728>>2]=k;if(k){f=a+34752|0;g=a+34756|0;h=a+21824|0;d=0;b:while(1){if((d|0)>=66){f=21;break a}k=vM(b)|0;c[a+33932+(d*12|0)>>2]=k;if((k|2|0)==3){j=c[f>>2]|0;j=j+-1-(wM(b)|0)|0;c[a+33932+(d*12|0)+4>>2]=j&(c[g>>2]|0)+-1}i=(k|0)==2;switch(k|0){case 2:case 3:case 4:case 6:{j=vM(b)|0;if(j>>>0>31){d=k;f=16;break b}if(!(j>>>0<16|(k|0)==4&(j|0)==16)){if(!i){d=k;f=16;break b}if((c[h>>2]|0)==3){d=2;f=16;break b}}c[a+33932+(d*12|0)+8>>2]=j;break}default:{if(k>>>0>6){f=18;break b}if(!k){f=21;break a}}}d=d+1|0}if((f|0)==16){c[m>>2]=d;lf(e,16,152271,m);d=-1;break}else if((f|0)==18){c[l>>2]=k;lf(e,16,155580,l);d=-1;break}}else{d=0;f=21}}else{tM(b);if(!(uM(b)|0))d=0;else{c[a+33932>>2]=6;c[a+33940>>2]=0;d=1}c[a+34728>>2]=1;f=21}while(0);if((f|0)==21){c[a+34724>>2]=d;d=0}$c=n;return d|0}function tM(a){a=a|0;BM(a);return}function uM(a){a=a|0;var b=0,e=0,f=0;e=a+8|0;f=c[e>>2]|0;b=(d[(c[a>>2]|0)+(f>>>3)>>0]|0)<<(f&7)>>>7&1;c[e>>2]=f+((f|0)<(c[a+16>>2]|0)&1);return b|0}function vM(a){a=a|0;var b=0,e=0,f=0;b=a+8|0;f=c[b>>2]|0;e=c[a+16>>2]|0;a=(c[a>>2]|0)+(f>>>3)|0;a=(VW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(f&7)>>>23;f=f+(d[126600+a>>0]|0)|0;c[b>>2]=e>>>0>f>>>0?f:e;return d[127112+a>>0]|0|0}function wM(a){a=a|0;var b=0,c=0,e=0;e=xM(a)|0;b=e>>>0>65535;e=b?e>>>16:e;b=b?16:0;c=(e&65280|0)==0;b=31-(d[120631+(c?e:e>>>8)>>0]|0)-(c?b:b|8)|0;yM(a,b);return (zM(a,b+1|0)|0)+-1|0}function xM(a){a=a|0;var b=0,d=0;b=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);d=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[d+16>>2]=c[a+16>>2];a=zM(d,32)|0;$c=b;return a|0}function yM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+8|0;e=c[d>>2]|0;f=0-e|0;a=(c[a+16>>2]|0)-e|0;c[d>>2]=((f|0)>(b|0)?f:(a|0)<(b|0)?a:b)+e;return}function zM(a,b){a=a|0;b=b|0;var c=0;do if(b)if((b|0)<26){a=AM(a,b)|0;break}else{b=b+-16|0;c=(AM(a,16)|0)<>2]|0;f=c[a+16>>2]|0;a=(c[a>>2]|0)+(g>>>3)|0;a=(VW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(g&7)>>>(32-b|0);b=g+b|0;c[e>>2]=f>>>0>b>>>0?b:f;return a|0}function BM(a){a=a|0;var b=0,d=0;b=a+8|0;a=c[a+16>>2]|0;d=(c[b>>2]|0)+1|0;c[b>>2]=a>>>0>d>>>0?d:a;return}function CM(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);h=i;e=a+8|0;f=c[e>>2]|0;g=c[a+16>>2]|0;a=(c[a>>2]|0)+(f>>>3)|0;a=(VW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(f&7);do if(a>>>0<=134217727){k=a>>>0>65535;j=k?a>>>16:a;k=k?16:0;b=(j&65280|0)==0;j=(b?k:k|8)+(d[120631+(b?j:j>>>8)>>0]|0)|0;b=j<<1;f=63-b+f|0;c[e>>2]=g>>>0>f>>>0?f:g;if(j>>>0<19){lf(0,16,155990,h);a=-1094995529;break}else{a=(a>>>(b+-31|0))+-1|0;break}}else{a=a>>>23;k=f+(d[126600+a>>0]|0)|0;c[e>>2]=g>>>0>k>>>0?k:g;a=d[127112+a>>0]|0}while(0);$c=i;return a|0}function DM(a){a=a|0;var b=0,e=0,f=0;e=a+8|0;f=c[e>>2]|0;b=(d[(c[a>>2]|0)+(f>>>3)>>0]|0)<<(f&7)>>>7&1;c[e>>2]=f+((f|0)<(c[a+16>>2]|0)&1);return b|0}function EM(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+8|0;g=c[f>>2]|0;h=c[b+16>>2]|0;e=c[b>>2]|0;b=e+(g>>>3)|0;b=(VW(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24|0)|0)<<(g&7);if(b>>>0>134217727){b=b>>>23;g=g+(d[126600+b>>0]|0)|0;c[f>>2]=h>>>0>g>>>0?g:h;b=a[127624+b>>0]|0}else{j=b>>>0>65535;b=j?b>>>16:b;j=j?16:0;i=(b&65280|0)==0;b=(i?j:j|8)+(d[120631+(i?b:b>>>8)>>0]|0)|0;i=31-b+g|0;i=h>>>0>i>>>0?i:h;g=e+(i>>>3)|0;g=(VW(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24|0)|0)<<(i&7)>>>b;b=i+(32-b)|0;c[f>>2]=h>>>0>b>>>0?b:h;b=g&1;b=(g>>>1^0-b)+b|0}return b|0}function FM(a){a=a|0;var b=0,d=0;b=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);d=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[d+16>>2]=c[a+16>>2];a=HM(d,32)|0;$c=b;return a|0}function GM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+8|0;e=c[d>>2]|0;f=0-e|0;a=(c[a+16>>2]|0)-e|0;c[d>>2]=((f|0)>(b|0)?f:(a|0)<(b|0)?a:b)+e;return}function HM(a,b){a=a|0;b=b|0;var c=0;do if(b)if((b|0)<26){a=mM(a,b)|0;break}else{b=b+-16|0;c=(mM(a,16)|0)<>>0>65535;e=b?e>>>16:e;b=b?16:0;c=(e&65280|0)==0;b=31-(d[120631+(c?e:e>>>8)>>0]|0)-(c?b:b|8)|0;KM(a,b);return (LM(a,b+1|0)|0)+-1|0}function JM(a){a=a|0;var b=0,d=0;b=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);d=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[d+16>>2]=c[a+16>>2];a=LM(d,32)|0;$c=b;return a|0}function KM(a,b){a=a|0;b=b|0;a=a+8|0;c[a>>2]=(c[a>>2]|0)+b;return}function LM(a,b){a=a|0;b=b|0;var c=0;do if(b)if((b|0)<26){a=MM(a,b)|0;break}else{b=b+-16|0;c=(MM(a,16)|0)<>2]|0;a=(c[a>>2]|0)+(f>>>3)|0;a=(VW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(f&7)>>>(32-b|0);c[e>>2]=f+b;return a|0}function NM(b,d,e){b=b|0;d=d|0;e=e|0;if(e>>>0<=4294967231){if(!(aN(b,d,e+64|0)|0)){b=(c[b>>2]|0)+e|0;d=b+64|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(d|0))}}else{gf(b);c[d>>2]=0}return}function OM(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;l=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);k=l;i=c[f>>2]|0;if((i|0)<(e-a|0)){h=0;j=0;while(1){if((j|0)>=(a|0))break;m=i+1|0;c[f>>2]=m;h=h<<8|(d[b+i>>0]|0);j=j+1|0;i=m}i=e-i|0;if((h|0)<1|(h|0)>(i|0)){c[k>>2]=h;c[k+4>>2]=i;lf(g,16,155628,k);h=-1094995529}}else h=-11;$c=l;return h|0}function PM(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;if((b+3|0)>>>0>>0){d=0;while(1){f=b+d|0;if((f+3|0)>>>0>=c>>>0)break;e=d+1|0;if(a[f>>0]|0){d=e;continue}if(a[b+e>>0]|0){d=e;continue}if((a[b+(d+2)>>0]|0)==1)break;else d=e}d=d+3|0}else d=c-b|0;return d|0}function QM(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)!=0?(2147483647/(c>>>0)|0)>>>0>b>>>0:0)a=sf(a,H(c,b)|0)|0;else a=0;return a|0}function RM(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);r=v;q=f+52|0;c[q>>2]=0;h=0;while(1){if((h+1|0)>=(d|0))break;if(!(a[b+h>>0]|0)){i=h+-1|0;if((h|0)>0)h=(a[b+i>>0]|0)==0?i:h;i=h+2|0;if(((i|0)<(d|0)?(a[b+(h+1)>>0]|0)==0:0)?(j=a[b+i>>0]|0,(j&255)<4):0){t=9;break}}h=h+2|0}a:do if((t|0)==9){switch(j<<24>>24){case 0:case 3:break a;default:{}}d=h}while(0);b:do if((g|0)!=0&(h|0)>=(d+-1|0)){c[f+20>>2]=b;c[f+8>>2]=b;c[f+16>>2]=d;c[f+4>>2]=d}else{i=(h|0)>(d|0)?d:h;p=e+8|0;o=(c[e>>2]|0)+(c[p>>2]|0)|0;c[f>>2]=o;XW(o|0,b|0,i|0)|0;m=f+60|0;n=f+56|0;h=i;while(1){j=i+2|0;if((j|0)>=(d|0)){t=30;break}e=b+j|0;g=a[e>>0]|0;if((g&255)<=3){j=a[b+i>>0]|0;if(!(j<<24>>24))if(g<<24>>24==0?1:(a[b+(i+1)>>0]|0)!=0)j=0;else{if(g<<24>>24!=3){u=h;s=i;break}l=h+1|0;a[o+h>>0]=0;h=h+2|0;a[o+l>>0]=0;i=i+3|0;j=c[m>>2]|0;if(!j)continue;k=c[q>>2]|0;g=k+1|0;c[q>>2]=g;e=c[n>>2]|0;if((e|0)<=(k|0)){j=e<<1;c[n>>2]=j;if((j|0)<=(k|0)){t=24;break}ZM(m,j,4)|0;j=c[m>>2]|0;if(!j){t=27;break}g=c[q>>2]|0}c[j+(g+-1<<2)>>2]=l;continue}}else{a[o+h>>0]=a[b+i>>0]|0;a[o+(h+1)>>0]=a[b+(i+1)>>0]|0;h=h+2|0;i=j;j=a[e>>0]|0}a[o+h>>0]=j;h=h+1|0;i=i+1|0}c:do if((t|0)==24){c[r>>2]=153008;c[r+4>>2]=153058;c[r+8>>2]=114;lf(0,0,164242,r);ub()}else if((t|0)==27){c[n>>2]=0;d=-12;break b}else if((t|0)==30)while(1){if((i|0)>=(d|0)){u=h;s=i;break c}a[o+h>>0]=a[b+i>>0]|0;h=h+1|0;i=i+1|0;t=30}while(0);d=o+u|0;h=d+64|0;do{a[d>>0]=0;d=d+1|0}while((d|0)<(h|0));c[f+8>>2]=o;c[f+4>>2]=u;c[f+20>>2]=b;c[f+16>>2]=s;c[p>>2]=(c[p>>2]|0)+s;d=s}while(0);$c=v;return d|0}function SM(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;f=(e|0)!=0;g=b+8|0;h=c[b+4>>2]|0;while(1){if(!(f&(h|0)>0)){b=4;break}b=h+-1|0;e=a[(c[g>>2]|0)+b>>0]|0;if(!(e<<24>>24))h=b;else{f=e;b=6;break}}if((b|0)==4)if(!h)e=0;else{f=a[(c[g>>2]|0)+(h+-1)>>0]|0;b=6}if((b|0)==6){b=f&255;if((h|0)<=268435455){e=h<<3;if(f<<24>>24)e=e+-1-(d[161385+((H(0-b&b,125613361)|0)>>>27)>>0]|0)|0}else e=-34}return e|0}function TM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(b|0)!=0&d>>>0<2147483640;d=e?d:0;b=e?b:0;c[a>>2]=b;c[a+12>>2]=d;c[a+16>>2]=d+8;c[a+4>>2]=b+(d+7>>3);c[a+8>>2]=0;return (e?0:-1094995529)|0}function UM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);h=i;d=a+24|0;if((WM(d)|0)==0?(e=a+44|0,c[e>>2]=XM(d,6)|0,f=XM(d,6)|0,g=(XM(d,3)|0)+-1|0,c[a+48>>2]=g,(g|0)>=0):0){e=c[e>>2]|0;a=YM(e)|0;c[h>>2]=e;c[h+4>>2]=a;c[h+8>>2]=f;c[h+12>>2]=g;lf(b,48,152760,h);a=(f|0)==0&1}else a=-1094995529;$c=i;return a|0}function VM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=f;d=a+24|0;if(!(WM(d)|0)){g=a+64|0;c[g>>2]=XM(d,2)|0;d=XM(d,5)|0;c[a+44>>2]=d;a=c[g>>2]|0;c[e>>2]=d;c[e+4>>2]=a;lf(b,48,152724,e);a=1}else a=-1094995529;$c=f;return a|0}function WM(a){a=a|0;var b=0,e=0,f=0;e=a+8|0;f=c[e>>2]|0;b=(d[(c[a>>2]|0)+(f>>>3)>>0]|0)<<(f&7)>>>7&1;c[e>>2]=f+((f|0)<(c[a+16>>2]|0)&1);return b|0}function XM(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=a+8|0;g=c[e>>2]|0;f=c[a+16>>2]|0;a=(c[a>>2]|0)+(g>>>3)|0;a=(VW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(g&7)>>>(32-b|0);b=g+b|0;c[e>>2]=f>>>0>b>>>0?b:f;return a|0}function YM(a){a=a|0;do switch(a|0){case 0:{a=153e3;break}case 1:{a=152992;break}case 2:{a=152986;break}case 3:{a=152980;break}case 4:{a=152973;break}case 5:{a=152966;break}case 6:{a=152959;break}case 7:{a=152952;break}case 8:{a=152945;break}case 9:{a=152938;break}case 16:{a=152929;break}case 17:{a=152918;break}case 18:{a=152909;break}case 19:{a=152898;break}case 20:{a=152889;break}case 21:{a=152881;break}case 32:{a=152877;break}case 33:{a=152873;break}case 34:{a=152869;break}case 35:{a=152865;break}case 36:{a=152857;break}case 37:{a=152849;break}case 38:{a=152842;break}case 39:{a=152831;break}case 40:{a=152820;break}default:a=152818}while(0);return a|0}function ZM(b,c,e){b=b|0;c=c|0;e=e|0;var f=0;f=_M(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24,c,e)|0;a[b>>0]=f;a[b+1>>0]=f>>8;a[b+2>>0]=f>>16;a[b+3>>0]=f>>24;return ((e|0)!=0&((c|0)!=0&(f|0)==0)?-12:0)|0}function _M(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=g;if(!(($M(d,b,f)|0)==0?(e=sf(a,c[f>>2]|0)|0,(e|0)!=0):0)){hf(a);e=0}$c=g;return e|0}function $M(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=H(b,a)|0;if((a|0)!=0&(b|a)>>>0>65535?((e>>>0)/(a>>>0)|0|0)!=(b|0):0)a=-22;else{c[d>>2]=e;a=0}return a|0}function aN(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);h=i;if((c[e>>2]|0)>>>0>=f>>>0)if(f|0?(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24|0)==0:0){c[h>>2]=153083;c[h+4>>2]=153100;c[h+8>>2]=33;lf(0,0,164242,h);ub()}else g=0;else{g=f+32+(f>>>4)|0;g=g>>>0>f>>>0?g:f;gf(b);h=cg(g)|0;a[b>>0]=h;a[b+1>>0]=h>>8;a[b+2>>0]=h>>16;a[b+3>>0]=h>>24;c[e>>2]=(h|0)==0?0:g;g=1}$c=i;return g|0}function bN(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);l=s+24|0;j=s+8|0;q=s+36|0;do if((g&8|0)==0&(cN(b,e,f,1,h)|0)<0){lf(h,24,153214,s);if((e|0)<=21801){i=e*3|0;k=((i|0)/2|0)+64|0;g=cg(k)|0;c[q>>2]=g;if(!g)g=-12;else{if((e|0)<=-1){c[j>>2]=159770;c[j+4>>2]=159784;c[j+8>>2]=137;lf(0,0,164242,j);ub()}o=b+e|0;if((i|0)<=-130){c[l>>2]=159770;c[l+4>>2]=159784;c[l+8>>2]=147;lf(0,0,164242,l);ub()}n=g;m=g+k|0;g=n;i=b;e=0;a:while(1){k=m-g|0;l=(k|0)<1;while(1){j=o-i|0;if(!j)break a;b=i;if(j>>>0>2){if((j|0)<3)break;i=b+1|0;if(((d[i>>0]|0)<<8|(d[b>>0]|0)<<16|(d[b+2>>0]|0))>>>0<4)break}else i=b+1|0;if(!((e|0)!=0|l)){r=20;break}else e=1}if((r|0)==20){r=0;e=g;a[e>>0]=a[b>>0]|0;g=e+1|0;e=0;continue}if((e|0)==0?(p=g,(k|0)>2):0){a[p+2>>0]=3;a[p+1>>0]=0;a[p>>0]=0;g=p+3|0;e=0}else e=1;i=b+2|0}g=g-n|0;p=UW(g+65534&65535|0)|0;r=c[q>>2]|0;a[r>>0]=p;a[r+1>>0]=p>>8;cN(c[q>>2]|0,g,f,1,h)|0;gf(q);g=0;break}}else g=-34}else g=0;while(0);$c=s;return g|0}function cN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);i=k;j=k+8|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;c[j+20>>2]=0;a=Zh(j,a,b,f,e,2,27,1)|0;a:do if((a|0)<0)a=0;else{h=j+16|0;g=0;while(1){if((g|0)>=(c[h>>2]|0))break a;b=c[j>>2]|0;e=c[b+(g*68|0)+44>>2]|0;switch(e|0){case 7:{a=fi(b+(g*68|0)+24|0,f,d,0)|0;if((a|0)<0)break a;break}case 8:{a=hi(b+(g*68|0)+24|0,f,d,c[b+(g*68|0)+12>>2]|0)|0;if((a|0)<0)break a;break}default:{c[i>>2]=e;lf(f,40,159887,i)}}g=g+1|0}}while(0);Fh(j);$c=k;return a|0}function dN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[b+4>>2]=a;c[b+29592>>2]=-1;c[b+29664>>2]=c[a+92>>2];c[b+29668>>2]=c[a+96>>2];c[b+26380>>2]=3;c[b+25700>>2]=c[a+564>>2];c[b+25696>>2]=c[a+60>>2];c[b+28248>>2]=65536;c[b+29572>>2]=-1;c[b+29576>>2]=0;c[b+28264>>2]=-1;c[b+29860>>2]=-1;c[b+29712>>2]=-1;c[b+28744>>2]=-2147483648;d=0;while(1){if((d|0)==16)break;c[b+28676+(d<<2)>>2]=-2147483648;d=d+1|0}kg(b+29676|0);c[a+332>>2]=1;if(!(c[a+696>>2]&2))d=1;else d=c[a+688>>2]|0;e=b+25632|0;c[e>>2]=d;a=Ag(d,34768)|0;f=b+25628|0;c[f>>2]=a;a:do if(a){d=0;while(1){a=Vg()|0;if((d|0)>=36)break;c[b+696+(d*656|0)>>2]=a;if(!a){d=-12;break a}else d=d+1|0}c[b+24316>>2]=a;if((a|0)!=0?(a=Vg()|0,c[b+24972>>2]=a,(a|0)!=0):0){a=c[e>>2]|0;d=0;while(1){if((d|0)>=(a|0)){d=0;break a}c[(c[f>>2]|0)+(d*34768|0)>>2]=b;d=d+1|0}}else d=-12}else{c[e>>2]=0;d=-12}while(0);return d|0}function eN(){var a=0,b=0,d=0;if(!(c[45787]|0)){c[45787]=1;c[45618]=185864;c[45620]=256;fN(182468,8,20,153415,1,1,153435,1,1,0,0,0,4)|0;c[45622]=186888;c[45624]=8192;fN(182484,13,36,153455,1,1,153491,1,1,0,0,0,4)|0;a=0;b=0;while(1){if((b|0)==4){a=0;break}c[182500+(b<<4)+4>>2]=219656+(a<<2);d=c[75036+(b<<2)>>2]|0;c[182500+(b<<4)+12>>2]=d;fN(182500+(b<<4)|0,8,68,153527+(b*68|0)|0,1,1,153799+(b*68|0)|0,1,1,0,0,0,4)|0;a=d+a|0;b=b+1|0}while(1){if((a|0)==3){a=0;break}d=a+1|0;c[182564+(d<<4)+4>>2]=225208+(a<<5);c[182564+(d<<4)+12>>2]=8;fN(182564+(d<<4)|0,3,4,154071+(a<<2)|0,1,1,154083+(a<<2)|0,1,1,0,0,0,4)|0;a=d}while(1){if((a|0)==7){a=0;break}d=a+1|0;c[182628+(d<<4)+4>>2]=225304+(a<<7);c[182628+(d<<4)+12>>2]=32;fN(182628+(d<<4)|0,5,8,154095+(a<<3)|0,1,1,154151+(a<<3)|0,1,1,0,0,0,4)|0;a=d}while(1){if((a|0)==15){a=0;break}d=a+1|0;c[182756+(d<<4)+4>>2]=226200+(a<<11);c[182756+(d<<4)+12>>2]=512;fN(182756+(d<<4)|0,9,16,154207+(a<<4)|0,1,1,154463+(a<<4)|0,1,1,0,0,0,4)|0;a=d}while(1){if((a|0)==6)break;d=a+1|0;c[183012+(d<<4)+4>>2]=256920+(a<<5);c[183012+(d<<4)+12>>2]=8;fN(183012+(d<<4)|0,3,7,154719+(a<<4)|0,1,1,154831+(a<<4)|0,1,1,0,0,0,4)|0;a=d}c[45782]=257112;c[45784]=96;fN(183124,6,16,154815,1,1,154927,1,1,0,0,0,4)|0;gN()}return}function fN(f,g,h,i,j,k,l,m,n,o,p,q,r){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var 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,I=0,J=0,K=0,L=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;U=$c;$c=$c+12624|0;if(($c|0)>=(ad|0))N(12624);T=U+72|0;S=U+64|0;O=U+56|0;L=U+48|0;z=U+40|0;A=U+32|0;v=U+16|0;t=U;s=U+616|0;u=U+600|0;F=U+88|0;c[f>>2]=g;Q=(r&4|0)!=0;do if(Q)if((h+1|0)>>>0<1501){c[u>>2]=c[f>>2];c[u+4>>2]=c[f+4>>2];c[u+8>>2]=c[f+8>>2];c[u+12>>2]=c[f+12>>2];c[u+8>>2]=0;K=u;P=6;break}else{c[t>>2]=154943;c[t+4>>2]=155002;c[t+8>>2]=282;lf(0,0,164242,t);ub()}else{c[f+4>>2]=0;c[f+12>>2]=0;c[f+8>>2]=0;s=ah(h+1|0,8)|0;if(!s)R=-12;else{K=f;P=6}}while(0);do if((P|0)==6){J=(o|0)!=0;if(J&(q|0)>2){c[v>>2]=155025;c[v+4>>2]=155002;c[v+8>>2]=298;lf(0,0,164242,v);ub()}G=g*3|0;I=(r&2|0)==0;y=0;t=0;while(1){if((y|0)>=(h|0)){P=41;break}u=i+(H(y,j)|0)|0;switch(k|0){case 1:{u=a[u>>0]|0;P=15;break}case 2:{u=b[u>>1]&255;P=15;break}case 4:{u=c[u>>2]&255;P=15;break}default:u=a[s+(t<<3)>>0]|0}if((P|0)==15){P=0;a[s+(t<<3)>>0]=u}x=u&255;if((x|0)>(g|0)){if((u&255)>32|(G|0)<(x|0)){P=18;break}v=l+(H(y,m)|0)|0;switch(n|0){case 1:{v=d[v>>0]|0;P=25;break}case 2:{v=e[v>>1]|0;P=25;break}case 4:{v=c[v>>2]|0;P=25;break}default:{v=s+(t<<3)+4|0;w=v;v=c[v>>2]|0}}if((P|0)==25){P=0;w=s+(t<<3)+4|0;c[w>>2]=v}E=TW(1,0,u&255|0)|0;D=M()|0;if(!((D|0)>0|(D|0)==0&E>>>0>v>>>0)){P=27;break}if(I)u=v<<32-x;else u=(d[120887+(v>>>8&255)>>0]|0)<<16|(d[120887+(v&255)>>0]|0)<<24|(d[120887+(v>>>16&255)>>0]|0)<<8|(d[120887+(v>>>24)>>0]|0);c[w>>2]=u;a:do if(J){u=o+(H(y,p)|0)|0;switch(q|0){case 1:{u=d[u>>0]|0;P=38;break a}case 2:{u=b[u>>1]|0;P=38;break a}case 4:{u=c[u>>2]&65535;P=38;break a}default:break a}}else{u=y&65535;P=38}while(0);if((P|0)==38){P=0;b[s+(t<<3)+2>>1]=u}t=t+1|0}y=y+1|0}if((P|0)==18){c[A>>2]=x;lf(0,16,155055,A);if(Q){R=-1;break}hf(s);R=-1;break}else if((P|0)==27){c[z>>2]=v;c[z+4>>2]=y;lf(0,16,155086,z);if(Q){R=-1;break}hf(s);R=-1;break}else if((P|0)==41){c[F>>2]=s;c[F+4>>2]=s+(t<<3)+-8;u=1;b:while(1){if(!u)break;u=u+-1|0;E=c[F+(u<<3)+4>>2]|0;v=c[F+(u<<3)>>2]|0;while(1){if(v>>>0>=E>>>0)continue b;z=E+-8|0;if(v>>>0>=z>>>0)break;w=E+-16|0;y=v+8|0;C=E;D=v;A=v+(C-D>>4<<3)|0;do if((hN(v,E)|0)>0)if((hN(E,A)|0)>0){B=A;V=c[B>>2]|0;B=c[B+4>>2]|0;X=v;W=c[X+4>>2]|0;x=A;c[x>>2]=c[X>>2];c[x+4>>2]=W;x=v;c[x>>2]=V;c[x+4>>2]=B;x=0;break}else{X=E;W=c[X>>2]|0;X=c[X+4>>2]|0;B=v;V=c[B+4>>2]|0;x=E;c[x>>2]=c[B>>2];c[x+4>>2]=V;x=v;c[x>>2]=W;c[x+4>>2]=X;x=0;break}else if((hN(v,A)|0)>0){X=A;W=c[X>>2]|0;X=c[X+4>>2]|0;B=v;V=c[B+4>>2]|0;x=A;c[x>>2]=c[B>>2];c[x+4>>2]=V;x=v;c[x>>2]=W;c[x+4>>2]=X;x=0}else x=1;while(0);if((hN(A,E)|0)>0){X=E;W=c[X>>2]|0;X=c[X+4>>2]|0;B=A;V=c[B+4>>2]|0;x=E;c[x>>2]=c[B>>2];c[x+4>>2]=V;x=A;c[x>>2]=W;c[x+4>>2]=X;x=0}if((v|0)==(w|0))continue b;X=A;W=c[X>>2]|0;X=c[X+4>>2]|0;Y=z;V=c[Y+4>>2]|0;B=A;c[B>>2]=c[Y>>2];c[B+4>>2]=V;B=z;c[B>>2]=W;c[B+4>>2]=X;B=y;c:while(1){if(B>>>0>w>>>0)break;else y=B;while(1){if(y>>>0>w>>>0)break;if((hN(y,z)|0)>=0)break;y=y+8|0}while(1){if(y>>>0>w>>>0){B=y;continue c}if((hN(w,z)|0)<=0)break;w=w+-8|0}Y=w;X=c[Y>>2]|0;Y=c[Y+4>>2]|0;V=y;W=c[V+4>>2]|0;B=w;c[B>>2]=c[V>>2];c[B+4>>2]=W;B=y;c[B>>2]=X;c[B+4>>2]=Y;B=y+8|0;w=w+-8|0}X=B;W=c[X>>2]|0;X=c[X+4>>2]|0;y=z;V=c[y+4>>2]|0;Y=B;c[Y>>2]=c[y>>2];c[Y+4>>2]=V;Y=z;c[Y>>2]=W;c[Y+4>>2]=X;if(x|0?(A|0)==(B|0)|(A|0)==(B+-8|0):0){x=v;while(1){if(x>>>0>=E>>>0)break;if((hN(x,x+8|0)|0)>=1)break;x=x+8|0}if((x|0)==(E|0))continue b}Y=B;if((C-Y|0)<(Y-D|0)){x=E;y=B+8|0}else{x=w;y=v;w=E;v=B+8|0}c[F+(u<<3)>>2]=v;c[F+(u<<3)+4>>2]=w;E=x;v=y;u=u+1|0}if((hN(v,E)|0)<=0)continue;X=E;W=c[X>>2]|0;X=c[X+4>>2]|0;D=v;V=c[D+4>>2]|0;Y=E;c[Y>>2]=c[D>>2];c[Y+4>>2]=V;Y=v;c[Y>>2]=W;c[Y+4>>2]=X}y=0;while(1){if((y|0)>=(h|0)){P=109;break}u=i+(H(y,j)|0)|0;switch(k|0){case 1:{u=a[u>>0]|0;P=83;break}case 2:{u=b[u>>1]&255;P=83;break}case 4:{u=c[u>>2]&255;P=83;break}default:u=a[s+(t<<3)>>0]|0}if((P|0)==83){P=0;a[s+(t<<3)>>0]=u}x=u&255;if(!(u<<24>>24==0|(x|0)>(g|0))){if((u&255)>32|(G|0)<(x|0)){P=86;break}v=l+(H(y,m)|0)|0;switch(n|0){case 1:{v=d[v>>0]|0;P=93;break}case 2:{v=e[v>>1]|0;P=93;break}case 4:{v=c[v>>2]|0;P=93;break}default:{v=s+(t<<3)+4|0;w=v;v=c[v>>2]|0}}if((P|0)==93){P=0;w=s+(t<<3)+4|0;c[w>>2]=v}Y=TW(1,0,u&255|0)|0;X=M()|0;if(!((X|0)>0|(X|0)==0&Y>>>0>v>>>0)){P=95;break}if(I)u=v<<32-x;else u=(d[120887+(v>>>8&255)>>0]|0)<<16|(d[120887+(v&255)>>0]|0)<<24|(d[120887+(v>>>16&255)>>0]|0)<<8|(d[120887+(v>>>24)>>0]|0);c[w>>2]=u;d:do if(J){u=o+(H(y,p)|0)|0;switch(q|0){case 1:{u=d[u>>0]|0;P=106;break d}case 2:{u=b[u>>1]|0;P=106;break d}case 4:{u=c[u>>2]&65535;P=106;break d}default:break d}}else{u=y&65535;P=106}while(0);if((P|0)==106){P=0;b[s+(t<<3)+2>>1]=u}t=t+1|0}y=y+1|0}if((P|0)==86){c[L>>2]=x;lf(0,16,155055,L);if(Q){R=-1;break}hf(s);R=-1;break}else if((P|0)==95){c[O>>2]=v;c[O+4>>2]=y;lf(0,16,155086,O);if(Q){R=-1;break}hf(s);R=-1;break}else if((P|0)==109){u=iN(K,g,t,s,r)|0;if(!Q){hf(s);if((u|0)>=0){R=0;break}gf(K+4|0);R=u;break}s=c[K+8>>2]|0;t=c[K+12>>2]|0;if((s|0)!=(t|0)){c[S>>2]=s;c[S+4>>2]=t;lf(0,16,155122,S)}if((u|0)>-1){c[f>>2]=c[K>>2];c[f+4>>2]=c[K+4>>2];c[f+8>>2]=c[K+8>>2];c[f+12>>2]=c[K+12>>2];R=0;break}else{c[T>>2]=164272;c[T+4>>2]=155002;c[T+8>>2]=341;lf(0,0,164242,T);ub()}}}}while(0);$c=U;return R|0}function gN(){var b=0,c=0,e=0,f=0,g=0,h=0,i=0;g=0;while(1){if((g|0)==7)break;i=-1<>>7&16777215)>>0]|0)|0;f=8-e|0;b=f+1|0;c=b+g|0;do if((c|0)>=9)if(!e){a[258520+(g<<9)+(h<<1)>>0]=108;b=8;break}else{a[258520+(g<<9)+(h<<1)>>0]=f+100;b=b&255;break}else{b=(h&65280|0)==0;f=(f<>>((b?0:8)-g+(d[120631+(b?h:h>>>8)>>0]|0)|0))|0;b=f&1;a[258520+(g<<9)+(h<<1)>>0]=((f+2|0)>>>1^0-b)+b;b=c&255}while(0);a[258520+(g<<9)+(h<<1)+1>>0]=b;h=h+1|0}g=g+1|0}return}function hN(a,b){a=a|0;b=b|0;return ((c[a+4>>2]|0)>>>1)-((c[b+4>>2]|0)>>>1)|0}function iN(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);w=B;x=B+4|0;y=1<>2]=(c[t>>2]|0)+(z<<2);u=32-f|0;v=(i&2|0)==0;j=0;b:while(1){if((j|0)>=(g|0)){j=0;break}s=h+(j<<3)|0;m=a[s>>0]|0;q=m&255;l=h+(j<<3)+4|0;n=c[l>>2]|0;r=b[h+(j<<3)+2>>1]|0;c:do if((q|0)>(f|0)){r=q-f|0;k=n>>>u;a[s>>0]=r;c[l>>2]=n<=(g|0))break;m=h+(q<<3)|0;n=(d[m>>0]|0)-f|0;if((n|0)<1)break;o=h+(q<<3)+4|0;p=c[o>>2]|0;if((p>>>u|0)!=(k|0))break;a[m>>0]=n;c[o>>2]=p<(n|0)?l:n;r=q}l=(l|0)>(f|0)?f:l;if(!v)k=(d[120887+(k>>>8&255)>>0]<<16|d[120887+(k&255)>>0]<<24|d[120887+(k>>>16&255)>>0]<<8|d[120887+(k>>>24)>>0])>>>u;b[(c[x>>2]|0)+(k<<2)+2>>1]=0-l;j=iN(e,l,q-j|0,s,i)|0;if((j|0)<0)break a;c[x>>2]=(c[t>>2]|0)+(z<<2);b[(c[x>>2]|0)+(k<<2)>>1]=j;j=r}else{p=1<>>u}else{o=1<>>8&255)>>0]<<16|d[120887+(n&255)>>0]<<24|d[120887+(n>>>16&255)>>0]<<8|d[120887+(n>>>24)>>0]}m=m&255;l=0;while(1){if((l|0)>=(p|0))break c;s=b[(c[x>>2]|0)+(k<<2)+2>>1]|0;if(!(s<<16>>16==0|(s<<16>>16|0)==(q|0))){A=11;break b}b[(c[x>>2]|0)+(k<<2)+2>>1]=m;b[(c[x>>2]|0)+(k<<2)>>1]=r;l=l+1|0;k=k+o|0}}while(0);j=j+1|0}if((A|0)==11){lf(0,16,155140,w);j=-1094995529;break}while(1){if((j|0)>=(y|0)){j=z;break a}if(!(b[(c[x>>2]|0)+(j<<2)+2>>1]|0))b[(c[x>>2]|0)+(j<<2)>>1]=-1;j=j+1|0}}}else j=-1;while(0);$c=B;return j|0}function jN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=a+8|0;e=c[g>>2]|0;h=e+b|0;c[g>>2]=h;f=a+12|0;b=c[f>>2]|0;do if((h|0)>(b|0)){if(d|0)ub();b=(1<>2])+b|0;c[f>>2]=b;h=a+4|0;b=_M(c[h>>2]|0,b,4)|0;c[h>>2]=b;if(!b){c[f>>2]=0;c[g>>2]=0;e=-12;break}else{h=c[a>>2]|0;ZW(b+(c[f>>2]<<2)+(-1<=(d|0))break;f=c[b+(g<<2)>>2]|0;if((f|0)!=0?f>>>0>=j>>>0&f>>>0>>0:0)f=e+696+(((f-i|0)/656|0)*656|0)|0;else f=0;c[a+(g<<2)>>2]=f;g=g+1|0}return}function lN(a){a=a|0;var b=0;a=c[a>>2]|0;b=a+1672|0;c[b>>2]=0;c[b+4>>2]=-2147483648;c[a+1680>>2]=2147483647;dn(a+1208|0,8,1);return 0}function mN(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);k=v+32|0;j=v+24|0;s=v+20|0;t=v+16|0;l=v+8|0;m=v;c[s>>2]=f;c[t>>2]=g;o=c[a>>2]|0;h=o+1644|0;if((c[h>>2]|0)==0?(c[h>>2]=1,i=c[b+72>>2]|0,i|0):0)Jh(c[b+68>>2]|0,i,o+40|0,o+1636|0,o+1640|0,c[b+580>>2]|0,b)|0;i=a+176|0;do if(!(c[i>>2]&1)){g=qN(o,f,g,b)|0;if((jf(o,g,s,t)|0)<0){c[d>>2]=0;c[e>>2]=0;g=c[t>>2]|0;break}if((g|0)<0&(g|0)!=-100){qN(o,(c[o>>2]|0)+((c[o+8>>2]|0)+g)|0,0-g|0,b)|0;u=9}else u=9}else u=9;while(0);if((u|0)==9){rN(a,b,c[s>>2]|0,c[t>>2]|0);h=b+760|0;if(c[h>>2]|0){c[m>>2]=c[b+84>>2];c[m+4>>2]=1;c[j>>2]=c[h>>2];c[j+4>>2]=c[h+4>>2];c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];sN(l,j,k);n=c[l>>2]|0;p=b+76|0;c[p>>2]=c[l+4>>2];c[p+4>>2]=n}h=c[o+1404>>2]|0;if((h|0)>-1){p=c[o+1432>>2]|0;k=h;n=c[o+1400>>2]|0}else{p=-2147483648;k=-2147483648;n=-2147483648}c[a+240>>2]=p;c[a+244>>2]=k;c[a+248>>2]=n;h=c[i>>2]|0;if(h&2|0)c[i>>2]=h&1;if((p|0)>-1?(q=c[b+80>>2]|0,r=c[b+772>>2]|0,q=OW(r|0,((r|0)<0)<<31>>31|0,q|0,((q|0)<0)<<31>>31|0)|0,r=M()|0,(r|0)>0|(r|0)==0&q>>>0>0):0){l=c[b+76>>2]|0;m=c[b+776>>2]|0;l=OW(m|0,((m|0)<0)<<31>>31|0,l|0,((l|0)<0)<<31>>31|0)|0;m=M()|0;j=a+48|0;h=j;i=c[h>>2]|0;h=c[h+4>>2]|0;if((i|0)==0&(h|0)==-2147483648){f=o+1672|0;i=f;h=c[i>>2]|0;i=c[i+4>>2]|0;if((h|0)==0&(i|0)==-2147483648){i=0;h=-2147483648}else{u=tN(k,((k|0)<0)<<31>>31,l,m,q,r)|0;i=IW(u|0,M()|0,h|0,i|0)|0;h=M()|0;u=j;c[u>>2]=i;c[u+4>>2]=h;u=21}}else{k=tN(k,((k|0)<0)<<31>>31,l,m,q,r)|0;k=JW(i|0,h|0,k|0,M()|0)|0;b=M()|0;f=o+1672|0;o=f;c[o>>2]=k;c[o+4>>2]=b;if(!((k|0)==0&(b|0)==-2147483648))u=21}if((u|0)==21){j=a+40|0;u=j;if((c[u>>2]|0)==0?(c[u+4>>2]|0)==-2147483648:0){q=tN(n,((n|0)<0)<<31>>31,l,m,q,r)|0;q=IW(q|0,M()|0,i|0,h|0)|0;r=M()|0;u=j;c[u>>2]=q;c[u+4>>2]=r}}if((p|0)>0){u=f;c[u>>2]=i;c[u+4>>2]=h}}c[d>>2]=c[s>>2];c[e>>2]=c[t>>2]}$c=v;return g|0}function nN(a){a=a|0;a=c[a>>2]|0;gf(a);kg(a+1388|0);Eh(a+40|0);return}function oN(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);k=m;c[k>>2]=-1;j=d+e|0;b=0;e=d;i=0;a:while(1)b:while(1){h=(b|0)!=0;while(1){if(e>>>0>=j>>>0){b=0;break a}e=pN(e,j,k)|0;g=c[k>>2]|0;if((g&-256|0)!=256){b=0;break a}f=g&31;switch(g&31){case 8:{i=1;continue a}case 7:{b=1;continue b}default:{}}if(h&((f|0)!=15&((f|4|0)!=13&(i|(f|0)!=6)))){l=8;break a}}}if((l|0)==8){while(1){b=e+-4|0;if(b>>>0<=d>>>0)break;if(!(a[e+-5>>0]|0)){e=e+-1|0;l=8}else break}b=b-d|0}$c=m;return b|0}function pN(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);g=i;if(b>>>0>e>>>0){c[g>>2]=155365;c[g+4>>2]=131644;c[g+8>>2]=1892;lf(0,0,164242,g);ub()}a:do if(b>>>0>>0){h=0;while(1){if((h|0)>=3)break;j=c[f>>2]<<8;g=b+1|0;c[f>>2]=j|d[b>>0];if((g|0)==(e|0)|(j|0)==256){e=g;break a}else{h=h+1|0;b=g}}while(1){if(b>>>0>=e>>>0)break;g=a[b+-1>>0]|0;if((g&255)>1){b=b+3|0;continue}if(!(a[b+-2>>0]|0)){h=b+1|0;if(!((g&255)+-1|d[b+-3>>0])){b=h;break}else{b=h;continue}}else{b=b+2|0;continue}}e=b>>>0>e>>>0?e:b;j=e+-4|0;c[f>>2]=VW(d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24|0)|0}while(0);$c=i;return e|0}function qN(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);s=x+8|0;h=x;r=x+16|0;v=b+1636|0;w=b+16|0;j=c[w>>2]|0;j=j>>>0>13?7:j;q=b+1640|0;if(c[v>>2]|0)if(!(c[q>>2]|0)){lf(g,16,155662,h);i=0}else i=0;else i=f;m=b+1340|0;n=b+1660|0;o=b+1664|0;p=b+1652|0;u=b+20|0;h=0;a:while(1){if((h|0)>=(f|0)){t=31;break}b:do if((i|0)>(h|0)){if((j|0)==7){j=(hd[c[m>>2]&15](e+h|0,i-h|0)|0)+h|0;l=i;h=j;j=(j|0)<(i|0)?2:7;break}if(j>>>0<3)switch(a[e+h>>0]|0){case 1:{l=i;j=j^5;break b}case 0:{l=i;j=j>>>1;break b}default:{l=i;j=7;break b}}k=a[e+h>>0]|0;if(j>>>0>=6){l=c[n>>2]|0;c[n>>2]=l+1;a[b+1652+l>>0]=k;k=c[n>>2]|0;if((k|0)>5){l=c[o>>2]|0;HN(r,p,k<<3)|0;c[n>>2]=0;k=zN(r)|0;c[o>>2]=k;if(c[u>>2]|0){if(k>>>0<=l>>>0){t=29;break a}}else c[u>>2]=1;l=i;j=7}else l=i}else{l=i;i=k;t=20}}else{j=c[q>>2]|0;h=0;k=0;while(1){if((h|0)>=(j|0))break;h=h+1|0;k=k<<8|d[e+i>>0];i=i+1|0}h=f-i|0;if((k|0)<1|(k|0)>(h|0)){t=12;break a}h=i;l=i+k|0;j=5;i=a[e+i>>0]|0;t=20}while(0);c:do if((t|0)==20){t=0;if(((i&31)+-6&255)<4){k=(c[u>>2]|0)==0;h=h+((k^1)&1)|0;if(k){j=7;break}else{i=l;f=j;t=32;break a}}switch(i&31){case 1:case 2:case 5:break;default:{j=7;break c}}j=j+8|0}while(0);h=h+1|0;i=l}if((t|0)==12){c[s>>2]=k;c[s+4>>2]=h;lf(g,16,155699,s);t=33}else if((t|0)==29){f=j;t=32}else if((t|0)==31){c[w>>2]=j;f=(c[v>>2]|0)==0?-100:i;t=33}if((t|0)==32){c[w>>2]=7;c[u>>2]=0;$c=x;return ((c[v>>2]|0)==0?h-(f&5)+(f>>>0>7?-5:0)|0:i)|0}else if((t|0)==33){$c=x;return f|0}return 0}function rN(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;J=$c;$c=$c+128|0;if(($c|0)>=(ad|0))N(128);u=J+24|0;z=J+16|0;w=J+8|0;v=J;I=J+112|0;s=J+44|0;t=J+40|0;F=J+32|0;H=c[b>>2]|0;c[I>>2]=0;c[I+4>>2]=0;c[I+8>>2]=0;h=s;i=h+68|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));if((g|0)>3)n=(qT(155374,f,4)|0)==0;else n=0;x=b+32|0;c[x>>2]=1;y=b+224|0;c[y>>2]=0;E=b+312|0;c[E>>2]=0;D=H+1388|0;kg(D);c[H+1572>>2]=-1;a:do if(g|0?(NM(I,I+4|0,g),c[I>>2]|0):0){c[t>>2]=0;A=s+24|0;m=s+8|0;o=s+4|0;C=s+64|0;B=s+44|0;p=H+40|0;q=s+12|0;r=H+1640|0;i=c[H+1636>>2]|0?0:g;h=0;b:while(1){while(1){if((h|0)>=(i|0)){G=8;break}h=vN(f,g,h,i)|0;if((h|0)>=(g|0)){G=103;break b}if((h|0)<(i|0)){G=12;break}}if((G|0)==8){G=0;c[t>>2]=h;h=uN(c[r>>2]|0,f,g,t,e)|0;if((h|0)<0){G=104;break}k=c[t>>2]|0;l=k+h|0;h=k}else if((G|0)==12){G=0;c[t>>2]=h;l=i}i=l-h|0;k=f+h|0;K=a[k>>0]|0;j=K&255;c:do switch(K&31){case 5:case 1:if((j&31|0)==5|(j&96|0)==0){i=(i|0)<60?i:60;break c}else{i=(i|0)<1e3?i:1e3;break c}default:{}}while(0);i=RM(k,i,I,s,1)|0;if((i|0)<0){G=104;break}h=h+i|0;c[t>>2]=h;if((wN(A,c[m>>2]|0,c[o>>2]|0)|0)<0)break;xN(A)|0;c[C>>2]=yN(A,2)|0;K=yN(A,5)|0;c[B>>2]=K;switch(K|0){case 5:{G=23;break b}case 1:{G=24;break b}case 7:{fi(A,e,p,0)|0;i=l;continue b}case 8:{hi(A,e,p,c[q>>2]|0)|0;i=l;continue b}case 6:{di(D,A,p,e)|0;i=l;continue b}default:{i=l;continue b}}}if((G|0)==23){c[y>>2]=1;c[H+1384>>2]=0;c[H+1380>>2]=0;c[H+1372>>2]=0;c[H+1368>>2]=0;G=24}else if((G|0)==103){c[t>>2]=h;G=104}d:do if((G|0)==24){zN(A)|0;c[x>>2]=d[128136+(((AN(A)|0)>>>0)%5|0)>>0];if((c[H+1428>>2]|0)>-1)c[y>>2]=1;h=BN(A)|0;if(h>>>0>255){c[v>>2]=h;lf(e,16,155379,v);break}i=H+168+(h<<2)|0;if(!(c[i>>2]|0)){c[w>>2]=h;lf(e,16,155403,w);break}K=H+1192|0;Sf(K);j=H+1196|0;Sf(j);o=H+1200|0;c[o>>2]=0;k=H+1204|0;c[k>>2]=0;h=Ug(c[i>>2]|0)|0;c[K>>2]=h;if(h|0){h=c[h+4>>2]|0;c[o>>2]=h;h=c[h>>2]|0;i=c[H+40+(h<<2)>>2]|0;if(!i){c[z>>2]=h;lf(e,16,155435,z);break}h=Ug(i)|0;c[j>>2]=h;if(h|0){m=c[h+4>>2]|0;c[k>>2]=m;if(((c[m+48>>2]|0)<2?(c[(c[o>>2]|0)+20>>2]|0)>>>0<2:0)?(c[x>>2]|0)==1:0)c[y>>2]=1;l=H+1344|0;n=H+1364|0;c[n>>2]=yN(A,c[m+20>>2]|0)|0;h=c[m+56>>2]<<4;c[b+328>>2]=h;i=c[m+60>>2]<<4;c[b+332>>2]=i;K=h-(c[m+84>>2]|0)-(c[m+80>>2]|0)|0;j=b+320|0;c[j>>2]=K;z=i-(c[m+88>>2]|0)-(c[m+92>>2]|0)|0;k=b+324|0;c[k>>2]=z;if((z|0)<1|(K|0)<1){c[j>>2]=h;c[k>>2]=i}e:do switch(c[m+1184>>2]|0){case 9:{h=c[m+12>>2]|0;if((h|0)==3){c[b+336>>2]=68;break e}else{c[b+336>>2]=(h|0)==2?72:62;break e}}case 10:{h=c[m+12>>2]|0;if((h|0)==3){c[b+336>>2]=70;break e}else{c[b+336>>2]=(h|0)==2?66:64;break e}}case 8:{h=c[m+12>>2]|0;if((h|0)==3){c[b+336>>2]=5;break e}else{c[b+336>>2]=(h|0)==2?4:0;break e}}default:c[b+336>>2]=-1}while(0);c[e+716>>2]=Xm(m)|0;c[e+720>>2]=c[m+8>>2];if((c[m+64>>2]|0)==0?(xN(A)|0)!=0:0)h=(xN(A)|0)+1|0;else h=3;k=H+1648|0;c[k>>2]=h;if((c[B>>2]|0)==5)zN(A)|0;i=m+24|0;h=c[i>>2]|0;if(!h){c[l>>2]=yN(A,c[m+28>>2]|0)|0;if((c[(c[o>>2]|0)+8>>2]|0)==1?(c[k>>2]|0)==3:0)c[H+1352>>2]=CN(A)|0;h=c[i>>2]|0}do if(((h|0)==1?(c[m+32>>2]|0)==0:0)?(c[H+1356>>2]=CN(A)|0,(c[(c[o>>2]|0)+8>>2]|0)==1):0){if((c[k>>2]|0)!=3)break;c[H+1360>>2]=CN(A)|0}while(0);j=F+4|0;c[j>>2]=2147483647;c[F>>2]=2147483647;if((El(F,b+316|0,m,l,c[k>>2]|0,c[C>>2]|0)|0)>=0){do if((c[C>>2]|0)==0|(c[B>>2]|0)==5)G=70;else{h=DN(b,A,e)|0;if((h|0)<0)break d;if(!h){G=70;break}c[H+1384>>2]=0;h=0;i=1}while(0);if((G|0)==70){c[H+1384>>2]=c[n>>2];h=c[H+1376>>2]|0;i=0}c[H+1380>>2]=h;if(c[C>>2]|0){if(i){i=0;h=(c[k>>2]|0)==2?0:c[F>>2]|0}else{i=c[H+1348>>2]|0;h=c[l>>2]|0}c[H+1368>>2]=i;c[H+1372>>2]=h}i=(c[m+1160>>2]|0)==0;f:do if(i)G=85;else{if(!(c[D>>2]|0)){G=85;break}switch(c[H+1392>>2]|0){case 2:case 1:{h=0;break f}case 4:case 3:case 0:{h=1;break f}case 6:case 5:{h=2;break f}case 7:{h=3;break f}case 8:{h=5;break f}default:{h=(c[k>>2]|0)==3&1;break f}}}while(0);if((G|0)==85)h=(c[k>>2]|0)==3&1;c[b+36>>2]=h;h=c[k>>2]|0;g:do if((h|0)==3){c[E>>2]=3;do if(!i){if(!(c[D>>2]|0))break;switch(c[H+1392>>2]|0){case 5:case 3:{h=2;break}case 6:case 4:{h=3;break}default:h=1}c[b+308>>2]=h;break g}while(0);i=c[F>>2]|0;h=c[j>>2]|0;if((i|0)<(h|0)){c[b+308>>2]=2;break}else{c[b+308>>2]=(i|0)>(h|0)?3:1;break}}else{l=(h|0)==1?1:2;c[E>>2]=l;j=c[n>>2]|0;k=H+1680|0;h=H+1684|0;h:do if((j|0)==(c[k>>2]|0)){i=c[h>>2]|0;switch(i|0){case 3:case 0:{G=100;break h}default:{}}if((i|0)==(l|0)){G=100;break}c[b+308>>2]=(i|0)==1?2:3}else G=100;while(0);if((G|0)==100)c[b+308>>2]=0;c[h>>2]=l;c[k>>2]=j}while(0);gf(I);break a}}}}else if((G|0)==104)if(n){gf(I);break a}else{c[u>>2]=g;lf(e,16,155467,u);break}while(0);gf(I)}while(0);$c=J;return}function sN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=b+4|0;g=c[b>>2]|0;f=c[d>>2]|0;g=OW(f|0,((f|0)<0)<<31>>31|0,g|0,((g|0)<0)<<31>>31|0)|0;f=M()|0;e=c[h>>2]|0;d=c[d+4>>2]|0;e=OW(d|0,((d|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0;an(b,h,g,f,e,M()|0,2147483647,0)|0;e=b;b=c[e+4>>2]|0;d=a;c[d>>2]=c[e>>2];c[d+4>>2]=b;return}function tN(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;f=Sm(a,b,c,d,e,f,5)|0;L(M()|0);return f|0}function uN(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;l=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);k=l;i=c[f>>2]|0;if((i|0)<(e-a|0)){h=0;j=0;while(1){if((j|0)>=(a|0))break;m=i+1|0;c[f>>2]=m;h=h<<8|(d[b+i>>0]|0);j=j+1|0;i=m}i=e-i|0;if((h|0)<1|(h|0)>(i|0)){c[k>>2]=h;c[k+4>>2]=i;lf(g,16,155628,k);h=-1094995529}}else h=-11;$c=l;return h|0}function vN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);g=f;c[g>>2]=-1;e=(pN(a+d|0,a+e+1|0,g)|0)-a+-1|0;$c=f;return ((e|0)>(b|0)?b:e)|0}function wN(a,b,c){a=a|0;b=b|0;c=c|0;return HN(a,b,c>>>0>268435455?-8:c<<3)|0}function xN(a){a=a|0;var b=0,e=0;b=a+8|0;e=c[b>>2]|0;a=(d[(c[a>>2]|0)+(e>>>3)>>0]|0)<<(e&7)>>>7&1;c[b>>2]=e+1;return a|0}function yN(a,b){a=a|0;b=b|0;var e=0,f=0;e=a+8|0;f=c[e>>2]|0;a=(c[a>>2]|0)+(f>>>3)|0;a=(VW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(f&7)>>>(32-b|0);c[e>>2]=f+b;return a|0}function zN(a){a=a|0;var b=0,c=0,e=0;e=EN(a)|0;b=e>>>0>65535;e=b?e>>>16:e;b=b?16:0;c=(e&65280|0)==0;b=31-(d[120631+(c?e:e>>>8)>>0]|0)-(c?b:b|8)|0;FN(a,b);return (GN(a,b+1|0)|0)+-1|0}function AN(a){a=a|0;var b=0,e=0;b=a+8|0;e=c[b>>2]|0;a=(c[a>>2]|0)+(e>>>3)|0;a=(VW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(e&7)>>>23;c[b>>2]=e+(d[126600+a>>0]|0);return d[127112+a>>0]|0|0}function BN(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0;h=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);g=h;e=a+8|0;f=c[e>>2]|0;b=(c[a>>2]|0)+(f>>>3)|0;b=(VW(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24|0)|0)<<(f&7);do if(b>>>0<=134217727){j=b>>>0>65535;i=j?b>>>16:b;j=j?16:0;a=(i&65280|0)==0;i=(a?j:j|8)+(d[120631+(a?i:i>>>8)>>0]|0)|0;a=i<<1;c[e>>2]=f+63-a;if(i>>>0<19){lf(0,16,155990,g);a=-1094995529;break}else{a=(b>>>(a+-31|0))+-1|0;break}}else{a=b>>>23;c[e>>2]=f+(d[126600+a>>0]|0);a=d[127112+a>>0]|0}while(0);$c=h;return a|0}function CN(b){b=b|0;var e=0,f=0,g=0,h=0,i=0;f=b+8|0;g=c[f>>2]|0;b=c[b>>2]|0;e=b+(g>>>3)|0;e=(VW(d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24|0)|0)<<(g&7);if(e>>>0>134217727){b=e>>>23;c[f>>2]=g+(d[126600+b>>0]|0);b=a[127624+b>>0]|0}else{i=e>>>0>65535;h=i?e>>>16:e;i=i?16:0;e=(h&65280|0)==0;h=(e?i:i|8)+(d[120631+(e?h:h>>>8)>>0]|0)|0;e=31-h+g|0;g=b+(e>>>3)|0;g=(VW(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24|0)|0)<<(e&7)>>>h;c[f>>2]=32-h+e;b=g&1;b=(g>>>1^0-b)+b|0}return b|0}function DN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=$c;$c=$c+20816|0;if(($c|0)>=(ad|0))N(20816);r=s+16|0;k=s+8|0;j=s;o=s+40|0;i=s+32|0;p=s+24|0;q=c[a+32>>2]&3;n=c[a>>2]|0;g=n+1200|0;if(c[(c[g>>2]|0)+60>>2]|0)BN(b)|0;l=(q|0)==3;if(l)xN(b)|0;m=n+1648|0;a:do if((pM(i,p,b,c[g>>2]|0,q,c[m>>2]|0,d)|0)>=0){if((q|0)!=1){f=0;while(1){if((f|0)>=(c[i>>2]|0))break;b:do if(xN(b)|0){h=p+(f<<2)|0;e=0;c:while(1){a=AN(b)|0;if(a>>>0<3){zN(b)|0;if((e|0)<(c[h>>2]|0))a=0;else{c[k>>2]=e;lf(d,16,155551,k);a=1}}else if((a|0)==3)a=5;else{c[j>>2]=a;lf(d,16,155512,j);a=1}switch(a&7){case 5:break b;case 0:break;default:break c}e=e+1|0}if(a|0){a=-1094995529;break a}}while(0);f=f+1|0}a=c[g>>2]|0;if((q|0)==2&(c[a+28>>2]|0)!=0)f=22;else f=21}else{a=c[g>>2]|0;f=21}if((f|0)==21?l&(c[a+32>>2]|0)==1:0)f=22;if((f|0)==22)rM(b,c[n+1204>>2]|0,p,q,o,c[m>>2]|0,d)|0;if(xN(b)|0){a=0;d:while(1){if((a|0)>=66){f=33;break}e=AN(b)|0;if(e>>>0>6){f=26;break}switch(e|0){case 5:{a=1;break a}case 0:{f=33;break d}default:{}}if((e|2|0)==3)zN(b)|0;switch(e|0){case 2:case 3:case 4:case 6:{AN(b)|0;break}default:{}}a=a+1|0}if((f|0)==26){c[r>>2]=e;lf(d,16,155580,r);a=-1094995529;break}else if((f|0)==33){a=0;break}}else a=0}else a=-1094995529;while(0);$c=s;return a|0}function EN(a){a=a|0;var b=0,d=0;b=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);d=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[d+16>>2]=c[a+16>>2];a=GN(d,32)|0;$c=b;return a|0}function FN(a,b){a=a|0;b=b|0;a=a+8|0;c[a>>2]=(c[a>>2]|0)+b;return}function GN(a,b){a=a|0;b=b|0;var c=0;do if(b)if((b|0)<26){a=yN(a,b)|0;break}else{b=b+-16|0;c=(yN(a,16)|0)<>>0<2147483640;d=e?d:0;b=e?b:0;c[a>>2]=b;c[a+12>>2]=d;c[a+16>>2]=d+8;c[a+4>>2]=b+(d+7>>3);c[a+8>>2]=0;return (e?0:-1094995529)|0}function IN(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);k=n+4|0;l=n;c[k>>2]=f;c[l>>2]=g;j=c[a>>2]|0;h=c[b+68>>2]|0;if(h|0?(i=j+1708|0,(c[i>>2]|0)==0):0){NN(h,c[b+72>>2]|0,j+64|0,j+460|0,j+1700|0,j+1704|0,c[b+580>>2]|0,1,b)|0;c[i>>2]=1}do if(!(c[a+176>>2]&1)){h=ON(a,f,g)|0;if((jf(j,h,k,l)|0)<0){c[d>>2]=0;c[e>>2]=0;h=c[l>>2]|0;break}else{f=c[k>>2]|0;i=c[l>>2]|0;m=8;break}}else{h=g;i=g;m=8}while(0);if((m|0)==8){PN(a,f,i,b);c[d>>2]=c[k>>2];c[e>>2]=c[l>>2]}$c=n;return h|0}function JN(a){a=a|0;a=c[a>>2]|0;LN(a+64|0);Fh(a+40|0);MN(a+460|0);gf(a);return}function KN(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);l=n;k=d+e|0;c[l>>2]=-1;b=0;f=0;j=0;e=d;a:while(1)b:while(1){i=j&(f|0)!=0;c:while(1){h=(b|0)!=0;while(1){if(e>>>0>=k>>>0){b=0;break a}e=pN(e,k,l)|0;g=c[l>>2]|0;if((g&-256|0)!=256){b=0;break a}o=g>>>1;g=o&63;switch(o&63){case 32:{j=1;continue a}case 33:{f=1;continue b}case 34:{b=1;continue c}default:{}}if((g|0)!=35&(h|(g|0)!=39)&i){m=9;break a}}}}if((m|0)==9){while(1){b=e+-4|0;if(b>>>0<=d>>>0)break;if(!(a[e+-5>>0]|0)){e=e+-1|0;m=9}else break}b=b-d|0}$c=n;return b|0}function LN(a){a=a|0;var b=0;b=0;while(1){if((b|0)==16){b=0;break}Sf(a+(b<<2)|0);b=b+1|0}while(1){if((b|0)==16){b=0;break}Sf(a+64+(b<<2)|0);b=b+1|0}while(1){if((b|0)==64)break;Sf(a+128+(b<<2)|0);b=b+1|0}c[a+388>>2]=0;c[a+392>>2]=0;c[a+384>>2]=0;return}function MN(a){a=a|0;c[a+92>>2]=0;gf(a+96|0);return}function NN(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);w=x+24|0;v=x+16|0;m=x;if((e|0)<=-1){c[m>>2]=159770;c[m+4>>2]=159784;c[m+8>>2]=137;lf(0,0,164242,m);ub()}u=b+e|0;do if((e|0)>3){if(((a[b>>0]|0)==0?(a[b+1>>0]|0)==0:0)?(d[b+2>>0]|0)<=1:0){n=28;break}c[h>>2]=1;t=e>>>0<21?e:21;m=b+t|0;if((e-t|0)<1){t=1;m=u}else{t=(a[m>>0]&3)+1&255;m=m+1|0}b=m;if((u-m|0)<1){r=0;b=u}else{r=d[b>>0]|0;b=b+1|0}c[i>>2]=2;m=0;s=0;a:while(1){if((s|0)>=(r|0)){n=27;break}e=b;if((u-b|0)<1){q=0;b=u}else{q=a[e>>0]&63;b=e+1|0}if((u-b|0)<2){p=0;b=u}else{p=b;p=(UW(d[p>>0]|d[p+1>>0]<<8|0)|0)&65535;b=b+2|0}o=0;while(1){if((o|0)>=(p|0))break;e=b;n=u-b|0;if((n|0)<2)m=0;else{m=b;m=(UW(d[m>>0]|d[m+1>>0]<<8|0)|0)&65535}b=m+2|0;if(n>>>0>>0){n=22;break a}m=_O(e,b,f,g,c[h>>2]|0,c[i>>2]|0,j,k,l)|0;if((m|0)<0){n=24;break a}o=o+1|0;b=e+(n>>>0>b>>>0?b:n)|0}s=s+1|0}if((n|0)==22){lf(l,16,159808,v);m=-1094995529;break}else if((n|0)==24){c[w>>2]=q;c[w+4>>2]=s;lf(l,16,159845,w);break}else if((n|0)==27){c[i>>2]=t;break}}else n=28;while(0);if((n|0)==28){c[h>>2]=0;m=_O(b,e,f,g,0,c[i>>2]|0,j,k,l)|0}$c=x;return m|0}function ON(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=c[b>>2]|0;j=k+32|0;k=k+20|0;h=0;a:while(1){if((h|0)>=(f|0)){b=-100;break}b=j;g=c[b>>2]|0;b=c[b+4>>2]|0;o=TW(g|0,b|0,8)|0;n=M()|0;i=e+h|0;m=j;c[m>>2]=o|d[i>>0];c[m+4>>2]=n;b:do if((g&-65536|0)==65536&(b&255|0)==0){b=SW(g|0,b|0,9)|0;M()|0;g=b&63;switch(b&63){case 32:case 33:case 34:case 35:case 36:case 37:case 39:break;default:if(!((b&56|0)==48|(g+-41|0)>>>0<4)){if(!(g>>>0<10|(g+-16|0)>>>0<6))break b;if((a[i>>0]|0)>=0)break b;if(c[k>>2]|0){l=12;break a}c[k>>2]=1;break b}}if(c[k>>2]|0){l=12;break a}}while(0);h=h+1|0}if((l|0)==12){c[k>>2]=0;b=h+-5|0}return b|0}function PN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);l=m;f=c[a>>2]|0;j=f+64|0;k=f+460|0;c[a+32>>2]=1;c[a+224>>2]=0;c[a+312>>2]=0;MN(k);i=f+40|0;a:do if((Zh(i,b,d,e,c[f+1700>>2]|0,c[f+1704>>2]|0,173,1)|0)>=0){d=f+56|0;b=0;while(1){if((b|0)>=(c[d>>2]|0))break;f=c[i>>2]|0;g=f+(b*68|0)+24|0;h=c[f+(b*68|0)+44>>2]|0;switch(h|0){case 32:{QN(g,e,j)|0;break}case 33:{RN(g,e,j,1)|0;break}case 34:{SN(g,e,j)|0;break}case 40:case 39:{TN(g,e,k,j,h)|0;break}case 9:case 8:case 7:case 6:case 21:case 20:case 19:case 18:case 17:case 16:case 5:case 4:case 3:case 2:case 1:case 0:{if(UN(a,f+(b*68|0)|0,e)|0)break a;break}default:{}}b=b+1|0}lf(e,16,155897,l)}while(0);$c=m;return}function QN(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=$c;$c=$c+96|0;if(($c|0)>=(ad|0))N(96);v=A+80|0;t=A+72|0;q=A+64|0;o=A+56|0;n=A+48|0;m=A+40|0;l=A+32|0;k=A+24|0;j=A+16|0;i=A+8|0;y=A+84|0;w=Mg(4568)|0;c[y>>2]=w;z=w;a:do if(!w)f=-12;else{x=w+4|0;s=c[x>>2]|0;lf(d,48,159404,A);f=c[b>>2]|0;g=(c[b+4>>2]|0)-f|0;if(g>>>0>4096){c[i>>2]=g;c[i+4>>2]=4096;lf(d,24,159418,i);g=4096;f=c[b>>2]|0}c[s+4564>>2]=g;XW(s+468|0,f|0,g|0)|0;u=AO(b,4)|0;b:do if((u|0)<=15){if((AO(b,2)|0)!=3){lf(d,16,159463,k);break}c[s+4>>2]=(AO(b,6)|0)+1;r=s+8|0;c[r>>2]=(AO(b,3)|0)+1;a[s>>0]=zO(b)|0;if((AO(b,16)|0)!=65535){lf(d,16,159502,l);break}f=c[r>>2]|0;if((f|0)>7){c[m>>2]=f;lf(d,16,159542,m);break}if((QO(b,d,s+12|0,f)|0)>=0){m=zO(b)|0;c[s+348>>2]=m;if(!m)f=(c[r>>2]|0)+-1|0;else f=0;j=d+580|0;while(1){if((f|0)>=(c[r>>2]|0))break;i=s+352+(f<<2)|0;c[i>>2]=(yO(b)|0)+1;g=s+380+(f<<2)|0;c[g>>2]=yO(b)|0;c[s+408+(f<<2)>>2]=(yO(b)|0)+-1;i=(c[i>>2]|0)+-1|0;if(i>>>0>15){p=18;break}g=c[g>>2]|0;if(g>>>0>i>>>0?(c[o>>2]=g,lf(d,24,159630,o),c[j>>2]&8|0):0)break b;f=f+1|0}if((p|0)==18){c[n>>2]=i;lf(d,16,159579,n);break}j=s+436|0;c[j>>2]=AO(b,6)|0;p=yO(b)|0;f=p+1|0;k=s+440|0;c[k>>2]=f;if(p>>>0<=1023?(m=IW(f|0,((f|0)<0)<<31>>31|0,-1,-1)|0,o=M()|0,h=c[j>>2]|0,p=IW(h|0,((h|0)<0)<<31>>31|0,1,0)|0,o=OW(p|0,M()|0,m|0,o|0)|0,m=M()|0,p=GO(b)|0,n=((p|0)<0)<<31>>31,!((m|0)>(n|0)|(m|0)==(n|0)&o>>>0>p>>>0)):0){i=1;while(1){if((i|0)<(f|0)){g=0;f=h}else break;while(1){if((g|0)>(f|0))break;UO(b,1);g=g+1|0;f=c[j>>2]|0}i=i+1|0;h=f;f=c[k>>2]|0}q=(zO(b)|0)&255;a[s+444>>0]=q;c:do if(q<<24>>24){c[s+448>>2]=MO(b,32)|0;c[s+452>>2]=MO(b,32)|0;q=(zO(b)|0)&255;a[s+456>>0]=q;if(q<<24>>24)c[s+460>>2]=(yO(b)|0)+1;f=yO(b)|0;h=s+464|0;c[h>>2]=f;if(f>>>0>(c[k>>2]|0)>>>0){c[t>>2]=f;lf(d,16,159707,t);break b}else g=0;while(1){if((g|0)>=(f|0))break c;yO(b)|0;if(!g)f=1;else f=zO(b)|0;VO(b,f,c[r>>2]|0);g=g+1|0;f=c[h>>2]|0}}while(0);zO(b)|0;f=GO(b)|0;if((f|0)<0){c[v>>2]=0-f;lf(d,16,159745,v);f=e+(u<<2)|0;if(c[f>>2]|0)break}else{f=e+(u<<2)|0;g=c[f>>2]|0;if((g|0)!=0?(qT(c[g+4>>2]|0,c[x>>2]|0,c[w+8>>2]|0)|0)==0:0){Sf(y);f=0;break a}}ZO(e,u);c[f>>2]=z;f=0;break a}lf(d,16,159673,q)}}else{c[j>>2]=u;lf(d,16,157168,j)}while(0);Sf(y);f=-1094995529}while(0);$c=A;return f|0}function RN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);k=p+16|0;h=p+8|0;l=p+44|0;i=p+40|0;m=Mg(17552)|0;c[l>>2]=m;n=m;do if(!m)f=-12;else{o=m+4|0;j=c[o>>2]|0;lf(b,48,156953,p);f=c[a>>2]|0;g=(c[a+4>>2]|0)-f|0;if(g>>>0>4096){c[h>>2]=g;c[h+4>>2]=4096;lf(b,24,156967,h);g=4096;f=c[a>>2]|0}c[j+17548>>2]=g;XW(j+13452|0,f|0,g|0)|0;f=OO(j,a,i,e,d,b)|0;if((f|0)<0){Sf(l);break}h=c[i>>2]|0;if(c[b+576>>2]&4|0){g=c[j+13376>>2]|0;a=c[j+13380>>2]|0;e=g-(c[j+12>>2]|0)-(c[j+16>>2]|0)|0;i=a-(c[j+20>>2]|0)-(c[j+24>>2]|0)|0;j=Hg(c[j+56>>2]|0)|0;c[k>>2]=h;c[k+4>>2]=g;c[k+8>>2]=a;c[k+12>>2]=e;c[k+16>>2]=i;c[k+20>>2]=j;lf(b,48,157012,k)}f=d+64+(h<<2)|0;g=c[f>>2]|0;if(g|0?(qT(c[g+4>>2]|0,c[o>>2]|0,c[m+8>>2]|0)|0)==0:0){Sf(l);f=0;break}PO(d,h);c[f>>2]=n;f=0}while(0);$c=p;return f|0}function SN(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);F=H+120|0;D=H+112|0;B=H+104|0;A=H+96|0;y=H+88|0;w=H+80|0;u=H+72|0;t=H+64|0;r=H+56|0;q=H+48|0;p=H+40|0;m=H+32|0;l=H+24|0;k=H+16|0;j=H+8|0;h=H;G=H+128|0;v=H+124|0;g=cg(5792)|0;c[v>>2]=g;a:do if(!g)f=-12;else{z=Dg(g,5792,203,0,0)|0;c[G>>2]=z;E=z;if(!z){gf(v);f=-12;break}lf(d,48,156166,h);h=c[b>>2]|0;i=(c[b+4>>2]|0)-h|0;if(i>>>0>4096){c[j>>2]=i;c[j+4>>2]=4096;lf(d,24,156180,j);i=4096;h=c[b>>2]|0}c[g+5788>>2]=i;XW(g+1692|0,h|0,i|0)|0;a[g+53>>0]=1;s=g+44|0;c[s>>2]=1;n=g+48|0;c[n>>2]=1;o=g+52|0;a[o>>0]=1;a[g+57>>0]=0;c[g+60>>2]=0;c[g+64>>2]=0;a[g+1629>>0]=2;z=yO(b)|0;b:do if(z>>>0<=63){i=yO(b)|0;c[g>>2]=i;if(i>>>0>15){c[l>>2]=i;lf(d,16,156250,l);f=-1094995529;break}h=c[e+64+(i<<2)>>2]|0;if(!h){c[m>>2]=i;lf(d,16,156275,m);f=-1094995529;break}x=c[h+4>>2]|0;a[g+41>>0]=zO(b)|0;a[g+39>>0]=zO(b)|0;c[g+1624>>2]=AO(b,3)|0;a[g+4>>0]=zO(b)|0;a[g+5>>0]=zO(b)|0;c[g+8>>2]=(yO(b)|0)+1;c[g+12>>2]=(yO(b)|0)+1;c[g+16>>2]=BO(b)|0;a[g+20>>0]=zO(b)|0;a[g+21>>0]=zO(b)|0;m=(zO(b)|0)&255;a[g+22>>0]=m;h=g+24|0;c[h>>2]=0;do if(m<<24>>24){i=yO(b)|0;c[h>>2]=i;if((i|0)>=0?i>>>0<=(c[x+13324>>2]|0)>>>0:0)break;c[p>>2]=i;lf(d,16,156299,p);f=-1094995529;break b}while(0);h=BO(b)|0;c[g+28>>2]=h;if((h+12|0)>>>0>24){c[q>>2]=h;lf(d,16,156337,q);f=-1094995529;break}h=BO(b)|0;c[g+32>>2]=h;if((h+12|0)>>>0>24){c[r>>2]=h;lf(d,16,156372,r);f=-1094995529;break}a[g+36>>0]=zO(b)|0;a[g+37>>0]=zO(b)|0;a[g+38>>0]=zO(b)|0;a[g+40>>0]=zO(b)|0;r=g+42|0;a[r>>0]=zO(b)|0;a[g+43>>0]=zO(b)|0;do if(a[r>>0]|0){c[s>>2]=(yO(b)|0)+1;h=yO(b)|0;i=h+1|0;c[n>>2]=i;j=c[s>>2]|0;if((j|0)>=1?(j|0)<(c[x+13376>>2]|0):0){if((i|0)>=1?(i|0)<(c[x+13380>>2]|0):0){l=g+1648|0;c[l>>2]=ah(j,4)|0;u=ah(c[n>>2]|0,4)|0;c[g+1652>>2]=u;if((c[l>>2]|0)==0|(u|0)==0){f=-12;break b}u=(zO(b)|0)&255;a[o>>0]=u;do if(!(u<<24>>24)){g=0;j=0;k=0;while(1){i=(c[s>>2]|0)+-1|0;if((g|0)>=(i|0))break;u=(yO(b)|0)+1|0;c[(c[l>>2]|0)+(g<<2)>>2]=u;u=IW(j|0,k|0,u|0,0)|0;g=g+1|0;j=u;k=M()|0}g=c[x+13384>>2]|0;h=((g|0)<0)<<31>>31;if(!(k>>>0>>0|(k|0)==(h|0)&j>>>0>>0)){lf(d,16,156488,w);f=-1094995529;break b}g=JW(g|0,h|0,j|0,k|0)|0;M()|0;c[(c[l>>2]|0)+(i<<2)>>2]=g;g=c[v>>2]|0;i=g+48|0;j=g+1652|0;h=0;l=0;m=0;while(1){k=(c[i>>2]|0)+-1|0;if((h|0)>=(k|0))break;w=(yO(b)|0)+1|0;c[(c[j>>2]|0)+(h<<2)>>2]=w;w=IW(l|0,m|0,w|0,0)|0;h=h+1|0;l=w;m=M()|0}h=c[x+13388>>2]|0;i=((h|0)<0)<<31>>31;if(m>>>0>>0|(m|0)==(i|0)&l>>>0>>0){y=JW(h|0,i|0,l|0,m|0)|0;M()|0;c[(c[j>>2]|0)+(k<<2)>>2]=y;break}else{lf(d,16,156510,y);f=-1094995529;break b}}while(0);a[g+53>>0]=zO(b)|0;break}c[u>>2]=h;lf(d,16,156449,u);f=-1094995529;break b}c[t>>2]=j+-1;lf(d,16,156407,t);f=-1094995529;break b}while(0);a[g+54>>0]=zO(b)|0;y=(zO(b)|0)&255;a[g+55>>0]=y;do if(y<<24>>24?(a[g+56>>0]=zO(b)|0,y=(zO(b)|0)&255,a[g+57>>0]=y,y<<24>>24==0):0){h=BO(b)|0;i=BO(b)|0;if((h+6|0)>>>0>12){c[A>>2]=h;lf(d,16,156533,A);f=-1094995529;break b}if((i+6|0)>>>0>12){c[B>>2]=i;lf(d,16,156572,B);f=-1094995529;break b}else{c[g+60>>2]=h<<1;c[g+64>>2]=i<<1;break}}while(0);B=(zO(b)|0)&255;a[g+68>>0]=B;if(B<<24>>24?(CO(g+69|0),f=DO(b,d,g+69|0,x)|0,(f|0)<0):0)break;a[g+1617>>0]=zO(b)|0;f=yO(b)|0;if(f>>>0>(c[x+13336>>2]|0)>>>0){c[D>>2]=f;lf(d,16,156609,D);f=-1094995529;break}c[g+1620>>2]=f+2;a[g+1628>>0]=zO(b)|0;if((zO(b)|0?(D=zO(b)|0,AO(b,7)|0,(D|0)!=0&(a[x+302>>0]|0)==4):0)?(C=EO(b,d,g,x)|0,(C|0)<0):0){f=C;break}f=FO(g,x)|0;if((f|0)>=0){g=GO(b)|0;if((g|0)<0){c[F>>2]=0-g;lf(d,16,156660,F);break}else{HO(e,z);c[e+128+(z<<2)>>2]=E;f=0;break a}}}else{c[k>>2]=z;lf(d,16,156225,k);f=-1094995529}while(0);Sf(G)}while(0);$c=H;return f|0}function TN(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;while(1){f=_N(a,b,c,d,e)|0;if((f|0)<0)break;if(!($N(a)|0)){f=1;break}}return f|0}function UN(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);u=y+24|0;s=y+16|0;j=y+8|0;i=y;w=c[b>>2]|0;t=e+24|0;o=w+628|0;a[o>>0]=VN(t)|0;v=c[w+548>>2]|0;c[b+312>>2]=v;c[b+308>>2]=v;v=e+44|0;if((c[v>>2]&-8|0)==16){c[b+224>>2]=1;a[w+1242>>0]=VN(t)|0}g=WN(t)|0;c[w+608>>2]=g;a:do if(g>>>0<=63?(h=c[w+192+(g<<2)>>2]|0,(h|0)!=0):0){g=c[h+4>>2]|0;r=w+456|0;c[r>>2]=g;g=c[g>>2]|0;if(g>>>0<=15?(k=c[w+128+(g<<2)>>2]|0,k|0):0){q=w+452|0;h=c[q>>2]|0;g=c[k+4>>2]|0;if((h|0)==(g|0)){g=h;h=c[w+448>>2]|0}else{c[q>>2]=g;h=c[(c[w+64+(c[g>>2]<<2)>>2]|0)+4>>2]|0;c[w+448>>2]=h}j=c[g+13376>>2]|0;c[b+328>>2]=j;k=c[g+13380>>2]|0;c[b+332>>2]=k;c[b+320>>2]=j-(c[g+12>>2]|0)-(c[g+16>>2]|0);c[b+324>>2]=k-(c[g+20>>2]|0)-(c[g+24>>2]|0);c[b+336>>2]=c[g+56>>2];c[f+716>>2]=d[g+302>>0];c[f+720>>2]=d[g+335>>0];if(!(a[h+444>>0]|0)){if(c[g+240>>2]|0){m=g+244|0;n=g+248|0;x=16}}else{m=h+448|0;n=h+452|0;x=16}if((x|0)==16?(l=c[m>>2]|0,p=c[n>>2]|0,(l|0)!=0&(p|0)!=0):0)an(f+764|0,f+760|0,l,((l|0)<0)<<31>>31,p,((p|0)<0)<<31>>31,1073741824,0)|0;do if(!(a[o>>0]|0)){if(!(a[(c[r>>2]|0)+41>>0]|0))g=0;else g=(VN(t)|0)&255;k=w+629|0;a[k>>0]=g;h=c[q>>2]|0;i=c[h+13384>>2]|0;h=c[h+13388>>2]|0;g=(H(i<<1,h)|0)+-2|0;o=g>>>0>65535;g=o?g>>>16:g;o=o?16:0;p=(g&65280|0)==0;g=(p?o:o|8)+(d[120631+(p?g:g>>>8)>>0]|0)|0;if(!g){j=0;g=i}else{j=XN(t,g)|0;g=c[q>>2]|0;h=c[g+13388>>2]|0;g=c[g+13384>>2]|0}c[w+612>>2]=j;if(j>>>0<(H(h,g)|0)>>>0)if(!(a[k>>0]|0)){g=0;break}else{g=0;break a}else{c[s>>2]=j;lf(f,16,155929,s);g=-1094995529;break a}}else{a[w+629>>0]=0;g=0}while(0);while(1){if((g|0)>=(c[(c[r>>2]|0)+1624>>2]|0))break;YN(t);g=g+1|0}g=WN(t)|0;c[w+620>>2]=g;if(g>>>0>=3){c[u>>2]=g;lf(f,16,155965,u);g=-1094995529;break}c[b+32>>2]=(g|0)==0?3:(g|0)==1?2:1;if(a[(c[r>>2]|0)+39>>0]|0)a[w+630>>0]=VN(t)|0;if(a[(c[q>>2]|0)+8>>0]|0)a[w+631>>0]=XN(t,2)|0;if(((c[v>>2]|0)+-19|0)>>>0<2)g=0;else{g=XN(t,c[(c[q>>2]|0)+60>>2]|0)|0;c[w+624>>2]=g;g=ZN(c[q>>2]|0,c[w+1716>>2]|0,g,c[v>>2]|0)|0}c[w+1712>>2]=g;c[b+316>>2]=g;if(c[e+48>>2]|0){g=1;break}switch(c[v>>2]|0){case 9:case 7:case 8:case 6:case 4:case 2:case 0:{g=1;break a}default:{}}c[w+1716>>2]=g;g=1;break}c[j>>2]=g;lf(f,16,156250,j);g=-1094995529}else x=5;while(0);if((x|0)==5){c[i>>2]=g;lf(f,16,156225,i);g=-1094995529}$c=y;return g|0}function VN(a){a=a|0;var b=0,e=0,f=0;e=a+8|0;f=c[e>>2]|0;b=(d[(c[a>>2]|0)+(f>>>3)>>0]|0)<<(f&7)>>>7&1;c[e>>2]=f+((f|0)<(c[a+16>>2]|0)&1);return b|0}function WN(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);h=i;e=a+8|0;f=c[e>>2]|0;g=c[a+16>>2]|0;a=(c[a>>2]|0)+(f>>>3)|0;a=(VW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(f&7);do if(a>>>0<=134217727){k=a>>>0>65535;j=k?a>>>16:a;k=k?16:0;b=(j&65280|0)==0;j=(b?k:k|8)+(d[120631+(b?j:j>>>8)>>0]|0)|0;b=j<<1;f=63-b+f|0;c[e>>2]=g>>>0>f>>>0?f:g;if(j>>>0<19){lf(0,16,155990,h);a=-1094995529;break}else{a=(a>>>(b+-31|0))+-1|0;break}}else{a=a>>>23;k=f+(d[126600+a>>0]|0)|0;c[e>>2]=g>>>0>k>>>0?k:g;a=d[127112+a>>0]|0}while(0);$c=i;return a|0}function XN(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=a+8|0;g=c[e>>2]|0;f=c[a+16>>2]|0;a=(c[a>>2]|0)+(g>>>3)|0;a=(VW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(g&7)>>>(32-b|0);b=g+b|0;c[e>>2]=f>>>0>b>>>0?b:f;return a|0}function YN(a){a=a|0;var b=0,d=0;b=a+8|0;a=c[a+16>>2]|0;d=(c[b>>2]|0)+1|0;c[b>>2]=a>>>0>d>>>0?d:a;return}function ZN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=1<>2];g=(b|0)%(f|0)|0;a=b-g|0;if((g|0)>(d|0)?(g-d|0)>=((f|0)/2|0|0):0)a=a+f|0;else if((g|0)<(d|0))a=a-((d-g|0)>((f|0)/2|0|0)?f:0)|0;return ((e+-16|0)>>>0<3?0:a)+d|0}function _N(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,k=0,l=0;j=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);lf(b,48,156014,j);f=255;h=0;while(1){if((f|0)!=255){f=0;g=255;i=5;break}if((h|0)>2147483392|(aO(a)|0)<16){f=-1094995529;break}g=dO(a,8)|0;f=g;h=g+h|0}a:do if((i|0)==5){while(1){if((g|0)!=255)break;i=aO(a)|0;k=((i|0)<0)<<31>>31;g=TW(f|0,((f|0)<0)<<31>>31|0,3)|0;g=IW(g|0,M()|0,8,0)|0;l=M()|0;if((l|0)>(k|0)|(l|0)==(k|0)&g>>>0>i>>>0){f=-1094995529;break a}g=dO(a,8)|0;f=g+f|0;i=5}if((e|0)==39){f=eO(a,b,c,d,h,f)|0;break}else{fO(a,b,c,h,f);f=0;break}}while(0);$c=j;return f|0}function $N(a){a=a|0;if((aO(a)|0)>0)a=(bO(a)|0)!=128&1;else a=0;return a|0}function aO(a){a=a|0;var b=0;b=c[a+12>>2]|0;return b-(cO(a)|0)|0}function bO(a){a=a|0;var b=0;b=c[a+8>>2]|0;a=(c[a>>2]|0)+(b>>>3)|0;return (VW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(b&7)>>>24|0}function cO(a){a=a|0;return c[a+8>>2]|0}function dO(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=a+8|0;g=c[e>>2]|0;f=c[a+16>>2]|0;a=(c[a>>2]|0)+(g>>>3)|0;a=(VW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(g&7)>>>(32-b|0);b=g+b|0;c[e>>2]=f>>>0>b>>>0?b:f;return a|0}function eO(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);h=i;do switch(f|0){case 256:{gO(d,a);a=0;break}case 45:{jO(d+52|0,a);a=0;break}case 47:{kO(d+72|0,a);a=0;break}case 1:{a=lO(d,a,e,b,g)|0;break}case 137:{mO(d+100|0,a);a=0;break}case 144:{nO(d+128|0,a);a=0;break}case 129:{a=oO(d,a,b)|0;break}case 4:{a=pO(d,a,g)|0;break}case 147:{qO(d+140|0,a);a=0;break}default:{c[h>>2]=f;lf(b,48,156051,h);hO(a,g<<3);a=0}}while(0);$c=i;return a|0}function fO(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);g=h;if((e|0)==132)gO(d,a);else{c[g>>2]=e;lf(b,48,156028,g);hO(a,f<<3)}$c=h;return}function gO(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=(dO(c,8)|0)&255;f=b+48|0;d=0;while(1){if((d|0)==3)break;a:do switch(g<<24>>24){case 0:{a[f>>0]=1;e=0;while(1){if((e|0)==16)break a;a[b+(d<<4)+e>>0]=dO(c,8)|0;e=e+1|0}}case 1:{iO(c,16);break}case 2:{iO(c,32);break}default:{}}while(0);d=d+1|0}return}function hO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+8|0;e=c[d>>2]|0;f=0-e|0;a=(c[a+16>>2]|0)-e|0;c[d>>2]=((f|0)>(b|0)?f:(a|0)<(b|0)?a:b)+e;return}function iO(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=c[a+16>>2]|0;b=(c[d>>2]|0)+b|0;c[d>>2]=a>>>0>b>>>0?b:a;return}function jO(a,b){a=a|0;b=b|0;var d=0,e=0;tO(b)|0;d=(wO(b)|0)==0;c[a>>2]=d&1;if(d){d=a+4|0;c[d>>2]=dO(b,7)|0;e=a+12|0;c[e>>2]=wO(b)|0;c[a+8>>2]=dO(b,6)|0;iO(b,3);c[a+16>>2]=wO(b)|0;iO(b,2);if((c[e>>2]|0)==0?(c[d>>2]|0)!=5:0)iO(b,16);iO(b,8);vO(b)}vO(b);return}function kO(a,b){a=a|0;b=b|0;var d=0;d=(wO(b)|0)==0;c[a>>2]=d&1;if(d){c[a+8>>2]=wO(b)|0;c[a+12>>2]=wO(b)|0;c[a+4>>2]=dO(b,16)|0;vO(b)}return}function lO(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);h=j+8|0;g=j;d=c[d+64+(c[a+136>>2]<<2)>>2]|0;if(!d)f=-12;else{if(c[(c[d+4>>2]|0)+216>>2]|0){d=dO(b,4)|0;a=a+88|0;c[a>>2]=0;switch(d|0){case 2:case 10:case 12:{lf(e,48,156141,g);d=2;i=6;break}case 1:case 9:case 11:{lf(e,48,156155,h);d=1;i=6;break}default:{}}if((i|0)==6)c[a>>2]=d;dO(b,2)|0;dO(b,1)|0;vO(b);f=f+-1|0}hO(b,f<<3);f=0}$c=j;return f|0}function mO(a,d){a=a|0;d=d|0;var e=0,f=0;e=0;while(1){f=(dO(d,16)|0)&65535;if((e|0)==3)break;b[a+4+(e<<2)>>1]=f;b[a+4+(e<<2)+2>>1]=dO(d,16)|0;e=e+1|0}b[a+16>>1]=f;b[a+18>>1]=dO(d,16)|0;c[a+20>>2]=rO(d,32)|0;c[a+24>>2]=rO(d,32)|0;c[a>>2]=2;return}function nO(a,d){a=a|0;d=d|0;b[a+4>>1]=rO(d,16)|0;b[a+6>>1]=rO(d,16)|0;c[a>>2]=2;return}function oO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=h+8|0;e=h;dO(b,4)|0;dO(b,1)|0;dO(b,1)|0;g=tO(b)|0;a:do if(g>>>0>15){c[e>>2]=g;lf(d,16,156074,e);e=-1094995529}else{e=tO(b)|0;if(e>>>0>15){c[f>>2]=e;lf(d,16,156105,f);e=-1094995529;break}c[a+136>>2]=e;e=1;while(1){if((e|0)>(g|0)){e=0;break a}tO(b)|0;e=e+1|0}}while(0);$c=h;return e|0}function pO(a,b,c){a=a|0;b=b|0;c=c|0;do if((c|0)>=7){if((dO(b,8)|0)==255){iO(b,8);c=c+-8|0}else c=c+-7|0;iO(b,8);iO(b,8);if((rO(b,32)|0)==1195456820){c=sO(a+92|0,b,c)|0;break}else{hO(b,c<<3);c=0;break}}else c=-22;while(0);return c|0}function qO(a,b){a=a|0;b=b|0;c[a>>2]=1;c[a+4>>2]=dO(b,8)|0;return}function rO(a,b){a=a|0;b=b|0;var c=0;do if(b)if((b|0)<26){a=dO(a,b)|0;break}else{b=b+-16|0;c=(dO(a,16)|0)<=3){if((dO(d,8)|0)!=3){f=e+-1|0;e=0;while(1){if((e|0)==(f|0)){e=0;break a}iO(d,8);e=e+1|0}}iO(d,1);if(((dO(d,1)|0)!=0?(iO(d,1),g=dO(d,5)|0,iO(d,8),(g|0)!=0):0)?(e+-2|0)>=(g*3|0):0){e=c[b>>2]|0;f=OW(g|0,((g|0)<0)<<31>>31|0,3,0)|0;e=IW(f|0,M()|0,e|0,((e|0)<0)<<31>>31|0)|0;f=M()|0;if(!(f>>>0>0|(f|0)==0&e>>>0>2147483647)){f=b+4|0;e=wj(f,e)|0;if((e|0)>=0){e=0;while(1){if((e|0)>=(g|0))break;j=(dO(d,8)|0)&255;i=c[f>>2]|0;h=c[b>>2]|0;c[b>>2]=h+1;a[i+h>>0]=j;h=(dO(d,8)|0)&255;i=c[f>>2]|0;j=c[b>>2]|0;c[b>>2]=j+1;a[i+j>>0]=h;j=(dO(d,8)|0)&255;i=c[f>>2]|0;h=c[b>>2]|0;c[b>>2]=h+1;a[i+h>>0]=j;e=e+1|0}iO(d,8);e=0}}else e=-22}else e=0}else e=-22;while(0);return e|0}function tO(a){a=a|0;var b=0,c=0,e=0;e=uO(a)|0;b=e>>>0>65535;e=b?e>>>16:e;b=b?16:0;c=(e&65280|0)==0;b=31-(d[120631+(c?e:e>>>8)>>0]|0)-(c?b:b|8)|0;hO(a,b);return (rO(a,b+1|0)|0)+-1|0}function uO(a){a=a|0;var b=0,d=0;b=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);d=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[d+16>>2]=c[a+16>>2];a=rO(d,32)|0;$c=b;return a|0}function vO(a){a=a|0;iO(a,1);return}function wO(a){a=a|0;var b=0,e=0,f=0;e=a+8|0;f=c[e>>2]|0;b=(d[(c[a>>2]|0)+(f>>>3)>>0]|0)<<(f&7)>>>7&1;c[e>>2]=f+((f|0)<(c[a+16>>2]|0)&1);return b|0}function xO(a,b){a=a|0;b=b|0;var d=0;a=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);d=a;c[d>>2]=b;gf(b+1648|0);gf(b+1652|0);gf(b+1656|0);gf(b+1660|0);gf(b+1664|0);gf(b+1668|0);gf(b+1672|0);gf(b+1680|0);gf(b+1676|0);gf(b+1688|0);gf(d);$c=a;return}function yO(a){a=a|0;var b=0,c=0,e=0;e=KO(a,32)|0;b=e>>>0>65535;e=b?e>>>16:e;b=b?16:0;c=(e&65280|0)==0;b=31-(d[120631+(c?e:e>>>8)>>0]|0)-(c?b:b|8)|0;LO(a,b);return (MO(a,b+1|0)|0)+-1|0}function zO(a){a=a|0;var b=0,e=0,f=0;e=a+8|0;f=c[e>>2]|0;b=(d[(c[a>>2]|0)+(f>>>3)>>0]|0)<<(f&7)>>>7&1;c[e>>2]=f+((f|0)<(c[a+16>>2]|0)&1);return b|0}function AO(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=a+8|0;g=c[e>>2]|0;f=c[a+16>>2]|0;a=(c[a>>2]|0)+(g>>>3)|0;a=(VW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(g&7)>>>(32-b|0);b=g+b|0;c[e>>2]=f>>>0>b>>>0?b:f;return a|0}function BO(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+8|0;g=c[f>>2]|0;h=c[b+16>>2]|0;e=c[b>>2]|0;b=e+(g>>>3)|0;b=(VW(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24|0)|0)<<(g&7);if(b>>>0>134217727){b=b>>>23;g=g+(d[126600+b>>0]|0)|0;c[f>>2]=h>>>0>g>>>0?g:h;b=a[127624+b>>0]|0}else{j=b>>>0>65535;b=j?b>>>16:b;j=j?16:0;i=(b&65280|0)==0;b=(i?j:j|8)+(d[120631+(i?b:b>>>8)>>0]|0)|0;i=31-b+g|0;i=h>>>0>i>>>0?i:h;g=e+(i>>>3)|0;g=(VW(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24|0)|0)<<(i&7)>>>b;b=i+(32-b)|0;c[f>>2]=h>>>0>b>>>0?b:h;b=g&1;b=(g>>>1^0-b)+b|0}return b|0}function CO(b){b=b|0;var c=0,d=0,e=0;c=0;while(1){if((c|0)==6)break;d=b+(c<<6)|0;e=d+16|0;do{a[d>>0]=16;d=d+1|0}while((d|0)<(e|0));a[b+1536+c>>0]=16;a[b+1542+c>>0]=16;c=c+1|0}d=b+384|0;c=156825;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+448|0;c=156825;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+512|0;c=156825;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+576|0;c=156889;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+640|0;c=156889;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+704|0;c=156889;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+768|0;c=156825;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+832|0;c=156825;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+896|0;c=156825;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+960|0;c=156889;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+1024|0;c=156889;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+1088|0;c=156889;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+1152|0;c=156825;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+1216|0;c=156825;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+1280|0;c=156825;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+1344|0;c=156889;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+1408|0;c=156889;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+1472|0;c=156889;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));return}function DO(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);t=u;m=0;a:while(1){if((m|0)>=4){i=20;break}q=(m|0)==3?3:1;r=(m|0)>0?64:16;s=(m|0)>1;o=m+-2|0;l=1<<(m<<1)+4;l=(l|0)<64?l:64;p=(m|0)==0;n=0;while(1){if((n|0)>=6)break;b:do if(!(((zO(b)|0)&255)<<24>>24)){h=yO(b)|0;if(h|0){h=H(h,q)|0;if(n>>>0>>0){i=8;break a}h=n-h|0;XW(f+(m*384|0)+(n<<6)|0,f+(m*384|0)+(h<<6)|0,r|0)|0;if(s)a[f+1536+(o*6|0)+n>>0]=a[f+1536+(o*6|0)+h>>0]|0}}else{if(s){i=(BO(b)|0)+8|0;a[f+1536+(o*6|0)+n>>0]=i;h=0}else{h=0;i=8}while(1){if((h|0)>=(l|0))break b;if(p){j=(d[155753+h>>0]|0)<<2;k=155737+h|0}else{j=(d[155833+h>>0]|0)<<3;k=155769+h|0}j=j+(d[k>>0]|0)|0;k=(BO(b)|0)+i|0;a[f+(m*384|0)+(n<<6)+j>>0]=k;h=h+1|0;i=k&255}}while(0);n=n+q|0}m=m+1|0}if((i|0)==8){c[t>>2]=h;lf(e,16,156784,t);h=-1094995529}else if((i|0)==20)if((c[g+4>>2]|0)==3){h=0;while(1){if((h|0)==64)break;a[f+1216+h>>0]=a[f+832+h>>0]|0;a[f+1280+h>>0]=a[f+896+h>>0]|0;a[f+1408+h>>0]=a[f+1024+h>>0]|0;a[f+1472+h>>0]=a[f+1088+h>>0]|0;h=h+1|0}a[f+1543>>0]=a[f+1537>>0]|0;a[f+1544>>0]=a[f+1538>>0]|0;a[f+1546>>0]=a[f+1540>>0]|0;a[f+1547>>0]=a[f+1541>>0]|0;h=0}else h=0;$c=u;return h|0}function EO(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);n=o+16|0;m=o+8|0;i=o;if(a[f+21>>0]|0)a[f+1629>>0]=(yO(b)|0)+2;a[f+1630>>0]=zO(b)|0;k=(zO(b)|0)&255;a[f+1631>>0]=k;a:do if(!(k<<24>>24))j=12;else{a[f+1632>>0]=yO(b)|0;p=yO(b)|0;h=p&255;k=f+1633|0;a[k>>0]=h;if((p&254)>>>0>5){lf(e,16,156685,i);break}else i=0;while(1){if((i|0)>(h&255|0)){j=12;break a}p=(JO(b)|0)&255;a[f+1634+i>>0]=p;if(p<<24>>24)lf(e,24,156749,m);p=(JO(b)|0)&255;a[f+1640+i>>0]=p;if(p<<24>>24)lf(e,24,156749,n);i=i+1|0;h=a[k>>0]|0}}while(0);if((j|0)==12?(p=f+1646|0,a[p>>0]=yO(b)|0,l=yO(b)|0,a[f+1647>>0]=l,n=c[g+44>>2]|0,(((n|0)>10?n+-10|0:0)|0)>=(d[p>>0]|0)):0){p=c[g+48>>2]|0;$c=o;return ((((p|0)>10?p+-10|0:0)|0)<(l&255|0)?-1094995529:0)|0}$c=o;return -1094995529}function FO(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=b+44|0;x=b+1656|0;c[x>>2]=ah((c[w>>2]|0)+1|0,4)|0;y=b+48|0;v=b+1660|0;c[v>>2]=ah((c[y>>2]|0)+1|0,4)|0;z=d+13384|0;t=ah(c[z>>2]|0,4)|0;i=b+1664|0;c[i>>2]=t;e=c[x>>2]|0;a:do if((e|0)!=0?!((t|0)==0|(c[v>>2]|0)==0):0){q=b+1648|0;if(a[b+52>>0]|0){e=c[q>>2]|0;if(!e){c[q>>2]=ah(c[w>>2]|0,4)|0;f=ah(c[y>>2]|0,4)|0;c[b+1652>>2]=f;e=c[q>>2]|0;if(!e){e=-12;break}}else f=c[b+1652>>2]|0;if(!f){e=-12;break}else g=0;while(1){h=c[w>>2]|0;if((g|0)>=(h|0))break;t=g+1|0;s=c[z>>2]|0;c[e+(g<<2)>>2]=((H(s,t)|0)/(h|0)|0)-((H(s,g)|0)/(h|0)|0);g=t}g=d+13388|0;e=0;while(1){h=c[y>>2]|0;if((e|0)>=(h|0))break;t=e+1|0;s=c[g>>2]|0;c[f+(e<<2)>>2]=((H(s,t)|0)/(h|0)|0)-((H(s,e)|0)/(h|0)|0);e=t}e=c[x>>2]|0}c[e>>2]=0;f=0;g=0;while(1){if((f|0)>=(c[w>>2]|0))break;t=(c[(c[q>>2]|0)+(f<<2)>>2]|0)+g|0;s=f+1|0;c[e+(s<<2)>>2]=t;f=s;g=t}g=c[v>>2]|0;c[g>>2]=0;n=b+1652|0;f=0;h=0;while(1){if((f|0)>=(c[y>>2]|0)){f=0;g=0;break}t=(c[(c[n>>2]|0)+(f<<2)>>2]|0)+h|0;s=f+1|0;c[g+(s<<2)>>2]=t;f=s;h=t}while(1){h=c[z>>2]|0;if((g|0)>=(h|0))break;t=f+(g>>>0>(c[e+(f<<2)>>2]|0)>>>0&1)|0;c[(c[i>>2]|0)+(g<<2)>>2]=t;f=t;g=g+1|0}m=H(c[d+13388>>2]|0,h)|0;s=b+1668|0;c[s>>2]=ah(m,4)|0;e=b+1672|0;c[e>>2]=ah(m,4)|0;f=b+1676|0;c[f>>2]=ah(m,4)|0;t=d+13420|0;g=(c[t>>2]|0)+2|0;g=ah(H(g,g)|0,4)|0;p=b+1688|0;c[p>>2]=g;o=c[s>>2]|0;if(((o|0)!=0?(r=c[e>>2]|0,(r|0)!=0):0)?(u=c[f>>2]|0,!((g|0)==0|(u|0)==0)):0){i=0;while(1){if((i|0)>=(m|0)){e=0;l=0;break}j=c[z>>2]|0;k=(i|0)%(j|0)|0;l=(i|0)/(j|0)|0;f=c[w>>2]|0;e=0;while(1){if((e|0)>=(f|0)){e=0;break}g=e+1|0;if(k>>>0<(c[(c[x>>2]|0)+(g<<2)>>2]|0)>>>0)break;else e=g}g=c[y>>2]|0;f=0;while(1){if((f|0)>=(g|0)){h=0;break}h=f+1|0;if(l>>>0<(c[(c[v>>2]|0)+(h<<2)>>2]|0)>>>0){h=f;break}else f=h}f=0;g=0;while(1){if((g|0)>=(e|0)){g=0;break}f=(H(c[(c[q>>2]|0)+(g<<2)>>2]|0,c[(c[n>>2]|0)+(h<<2)>>2]|0)|0)+f|0;g=g+1|0}while(1){if((g|0)>=(h|0))break;f=(H(c[(c[n>>2]|0)+(g<<2)>>2]|0,j)|0)+f|0;g=g+1|0}l=H(c[(c[q>>2]|0)+(e<<2)>>2]|0,l-(c[(c[v>>2]|0)+(h<<2)>>2]|0)|0)|0;l=f+k+l-(c[(c[x>>2]|0)+(e<<2)>>2]|0)|0;c[o+(i<<2)>>2]=l;c[r+(l<<2)>>2]=i;i=i+1|0}b:while(1){if((l|0)>=(c[y>>2]|0))break;m=l+1|0;h=0;while(1){if((h|0)>=(c[w>>2]|0)){l=m;continue b}g=c[v>>2]|0;i=g+(m<<2)|0;j=h+1|0;g=c[g+(l<<2)>>2]|0;while(1){if(g>>>0>=(c[i>>2]|0)>>>0)break;f=c[x>>2]|0;k=f+(j<<2)|0;f=c[f+(h<<2)>>2]|0;while(1){if(f>>>0>=(c[k>>2]|0)>>>0)break;c[u+(c[o+((H(c[z>>2]|0,g)|0)+f<<2)>>2]<<2)>>2]=e;f=f+1|0}g=g+1|0}e=e+1|0;h=j}}g=ah(e,4)|0;c[b+1680>>2]=g;if(g){f=0;while(1){if((f|0)<(c[y>>2]|0))e=0;else break;while(1){h=c[w>>2]|0;if((e|0)>=(h|0))break;u=H(c[z>>2]|0,c[(c[v>>2]|0)+(f<<2)>>2]|0)|0;c[g+((H(h,f)|0)+e<<2)>>2]=(c[(c[x>>2]|0)+(e<<2)>>2]|0)+u;e=e+1|0}f=f+1|0}i=c[d+13336>>2]|0;h=c[d+13328>>2]|0;g=c[p>>2]|0;j=c[t>>2]|0;n=g+(j+3<<2)|0;c[b+1684>>2]=n;e=0;while(1){f=j+2|0;if((e|0)>=(f|0))break;c[g+((H(f,e)|0)<<2)>>2]=-1;c[g+(e<<2)>>2]=-1;e=e+1|0;j=c[t>>2]|0}l=i-h|0;m=l<<1;k=0;e=j;while(1){if((k|0)>(e|0)){e=0;break a}i=k>>l;h=0;while(1){if((h|0)>(e|0))break;f=(H(c[z>>2]|0,i)|0)+(h>>l)|0;f=c[(c[s>>2]|0)+(f<<2)>>2]<=(l|0))break;b=1<>2]=f;h=h+1|0;e=c[t>>2]|0}k=k+1|0}}else e=-12}else e=-12}else e=-12;while(0);return e|0}function GO(a){a=a|0;var b=0;b=c[a+12>>2]|0;return b-(IO(a)|0)|0}function HO(a,b){a=a|0;b=b|0;var d=0,e=0;b=a+128+(b<<2)|0;d=c[b>>2]|0;if(d|0?(e=a+392|0,(c[e>>2]|0)==(c[d+4>>2]|0)):0)c[e>>2]=0;Sf(b);return}function IO(a){a=a|0;return c[a+8>>2]|0}function JO(a){a=a|0;a=yO(a)|0;return ((a&1)+-1^a>>>1)+1|0}function KO(a,b){a=a|0;b=b|0;var d=0,e=0;e=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);d=e;if((b|0)<26)a=NO(a,b)|0;else{c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[d+16>>2]=c[a+16>>2];a=MO(d,b)|0}$c=e;return a|0}function LO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+8|0;e=c[d>>2]|0;f=0-e|0;a=(c[a+16>>2]|0)-e|0;c[d>>2]=((f|0)>(b|0)?f:(a|0)<(b|0)?a:b)+e;return}function MO(a,b){a=a|0;b=b|0;var c=0;do if(b)if((b|0)<26){a=AO(a,b)|0;break}else{b=b+-16|0;c=(AO(a,16)|0)<>2]|0;a=(c[a>>2]|0)+(e>>>3)|0;return (VW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(e&7)>>>(32-b|0)|0} -function yl(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);p=q+16|0;o=q;n=g^3;m=(f|0)==0;j=0;f=0;h=0;while(1){if(!((f|0)<(e|0)|(h|0)<(e|0))){f=24;break}while(1){if((f|0)>=(e|0)){i=0;break}l=c[d+(f<<2)>>2]|0;if(l|0?c[l+640>>2]&g|0:0){i=1;break}f=f+1|0}l=h;while(1){if((l|0)>=(e|0)){k=0;break}k=c[d+(l<<2)>>2]|0;if(k|0?c[k+640>>2]&n|0:0){k=1;break}l=l+1|0}if(i){if((j|0)>=(b|0)){f=14;break}i=c[d+(f<<2)>>2]|0;if(m)h=c[i+88>>2]|0;else h=f;c[i+96>>2]=h;Al(a+(j*40|0)|0,i,g,1);j=j+1|0;f=f+1|0}if(!k){h=l;continue}if((j|0)>=(b|0)){f=20;break}i=c[d+(l<<2)>>2]|0;if(m)h=c[i+88>>2]|0;else h=l;c[i+96>>2]=h;Al(a+(j*40|0)|0,i,n,0);j=j+1|0;h=l+1|0}if((f|0)==14){c[o>>2]=149728;c[o+4>>2]=132325;c[o+8>>2]=90;lf(0,0,164242,o);ub()}else if((f|0)==20){c[p>>2]=149728;c[p+4>>2]=132325;c[p+8>>2]=95;lf(0,0,164242,p);ub()}else if((f|0)==24){$c=q;return j|0}return 0}function zl(a,b){a=a|0;b=b|0;var d=0;d=c[b>>2]|0;b=c[c[a+24312>>2]>>2]|0;if((c[b+68>>2]|0)==(c[d+68>>2]|0)?(c[b+72>>2]|0)==(c[d+72>>2]|0):0)b=(c[b+80>>2]|0)!=(c[d+80>>2]|0)&1;else b=1;return b|0}function Al(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(c[b+640>>2]&d|0?(tl(a,b),(d|0)!=3):0){ul(a,d);d=a+32|0;c[d>>2]=(c[d>>2]<<1)+e}return}function Bl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=$c;$c=$c+64|0;if(($c|0)>=(ad|0))N(64);m=r+56|0;l=r+48|0;q=r+40|0;p=r+24|0;o=r;k=(d|0)!=0;if(k){i=a+28204|0;Sf(i);f=a+28212|0;c[f>>2]=0;d=Ug(c[a+27180+(c[b+27776>>2]<<2)>>2]|0)|0;c[i>>2]=d;if(!d)d=-12;else{d=c[d+4>>2]|0;c[f>>2]=d;g=5}}else{d=a+28212|0;f=d;d=c[d>>2]|0;g=5}a:do if((g|0)==5){h=a+28216|0;g=c[h>>2]|0;do if((g|0)==(c[(c[a+27052+(c[d>>2]<<2)>>2]|0)+4>>2]|0))d=0;else{i=a+28208|0;Sf(i);c[h>>2]=0;d=Ug(c[a+27052+(c[c[f>>2]>>2]<<2)>>2]|0)|0;c[i>>2]=d;if(!d){d=-12;break a}g=c[d+4>>2]|0;c[h>>2]=g;if((((c[a+27012>>2]|0)==(c[g+56>>2]|0)?(c[a+27008>>2]|0)==(c[g+60>>2]|0):0)?(e=c[a+29596>>2]|0,(e|0)==(c[g+1184>>2]|0)):0)?(c[a+29592>>2]|0)==(c[g+12>>2]|0):0)d=0;else{d=1;e=c[g+1184>>2]|0}if((c[a+27044>>2]|0)==(e|0)?(c[a+27048>>2]|0)==(c[g+12>>2]|0):0)break;d=1}while(0);i=a+25692|0;if(c[i>>2]|0){f=c[g+56>>2]|0;h=a+4|0;e=c[h>>2]|0;if(((((f<<4|0)==(c[e+100>>2]|0)?(j=c[g+60>>2]|0,(j<<4|0)==(c[e+104>>2]|0)):0)?(c[a+29596>>2]|0)==(c[g+1184>>2]|0):0)?(c[a+29592>>2]|0)==(c[g+12>>2]|0):0)?(c[a+27012>>2]|0)==(f|0):0)f=(c[a+27008>>2]|0)!=(j|0)&1;else f=1}else{e=a+4|0;h=e;f=0;e=c[e>>2]|0}e=c[e+112>>2]|0;if(!((e|0)!=-1?(j=Um(e)|0,(j|0)==(Um(Vm(a,0)|0)|0)):0))f=1;if(k){j=g+100|0;k=(c[h>>2]|0)+188|0;c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];m=(Wm(l,m)|0)==0;f=m?f:1}if(((c[a+29588>>2]|0)==0?(m=Xm(g)|0,l=c[h>>2]|0,c[l+716>>2]=m,c[l+720>>2]=c[g+8>>2],c[l+300>>2]=c[g+48>>2],l=c[g+56>>2]|0,c[a+27012>>2]=l,m=c[g+60>>2]|0,c[a+27008>>2]=m,c[a+27020>>2]=H(m,l)|0,c[a+27016>>2]=l+1,c[a+26368>>2]=l<<2,c[a+25680>>2]=(c[g+12>>2]|0)<2&1,c[a+25668>>2]=l<<4,c[a+25672>>2]=m<<4,Ym(a),(c[g+108>>2]|0)!=0):0)?(n=c[h>>2]|0,c[n+328>>2]=(c[g+112>>2]|0)>0?2:1,(c[g+116>>2]|0)!=0):0){m=n+324|0;l=c[g+128>>2]|0;d=(c[m>>2]|0)==(l|0)?d:1;c[n+316>>2]=c[g+120>>2];c[n+320>>2]=c[g+124>>2];c[m>>2]=l}e=(c[i>>2]|0)==0;if((d|f|0)!=0|e){c[i>>2]=0;if((c[a+25628>>2]|0)!=(b|0)){d=c[h>>2]|0;n=c[d+100>>2]|0;b=c[a+25672>>2]|0;p=c[d+104>>2]|0;q=(c[a+29560>>2]|0)+1|0;c[o>>2]=c[a+25668>>2];c[o+4>>2]=n;c[o+8>>2]=b;c[o+12>>2]=p;c[o+16>>2]=q;lf(d,16,150478,o);d=-1094995529;break}if(!e)jg(a);d=Vm(a,1)|0;if((d|0)>=0){o=c[h>>2]|0;c[o+112>>2]=d;n=c[a+25668>>2]|0;b=c[a+25672>>2]|0;d=Hg(d)|0;c[p>>2]=n;c[p+4>>2]=b;c[p+8>>2]=d;lf(o,40,150533,p);d=Zm(a)|0;if((d|0)<0)lf(c[h>>2]|0,16,150571,q);else d=0}}else d=0}while(0);$c=r;return d|0}function Cl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);e=n+8|0;f=n+16|0;l=c[b+25664>>2]|0;m=b+28216|0;g=c[m>>2]|0;c[f>>2]=1<<(c[g+1184>>2]|0)+-1;g=1<<(c[g+1188>>2]|0)+-1;c[f+4>>2]=g;c[f+8>>2]=g;c[f+12>>2]=-1;g=b+4|0;do if(Kl(c[g>>2]|0)|0){Dl(b,1);k=b+24312|0;c[k>>2]=0;d=Ll(b)|0;if((d|0)<0){lf(c[g>>2]|0,16,150038,e);break}i=b+696+(d*656|0)|0;j=b+26380|0;h=c[j>>2]|0;c[b+696+(d*656|0)+640>>2]=(c[b+25684>>2]|0)==0?h:0;e=b+25688|0;o=c[e>>2]|0;c[e>>2]=o+1;e=c[i>>2]|0;c[e+128>>2]=o;c[b+696+(d*656|0)+636>>2]=(h|0)!=3&1;c[b+696+(d*656|0)+88>>2]=c[b+28244>>2];c[e+84>>2]=0;c[b+696+(d*656|0)+92>>2]=0;c[b+696+(d*656|0)+644>>2]=0;c[b+696+(d*656|0)+648>>2]=0;c[b+696+(d*656|0)+652>>2]=c[b+29716>>2];h=b+25628|0;c[e+88>>2]=c[(c[h>>2]|0)+836>>2];c[e+392>>2]=c[b+25716>>2];c[e+396>>2]=c[b+25720>>2];c[e+384>>2]=c[b+25724>>2];c[e+388>>2]=c[b+25728>>2];d=Ml(b,i)|0;if((d|0)>=0){if((c[b+29576>>2]|0)==0?(c[(c[g>>2]|0)+592>>2]|0)==0:0)Nl(c[i>>2]|0,f);c[k>>2]=i;d=b+24316|0;lg(b,d);ii((c[h>>2]|0)+696|0,0);d=Bh(b,d,c[k>>2]|0)|0;if((d|0)>=0){e=c[b+25632>>2]|0;d=0;while(1){if((d|0)>=(e|0))break;g=c[c[k>>2]>>2]|0;o=c[h>>2]|0;c[o+(d*34768|0)+21772>>2]=c[g+32>>2];c[o+(d*34768|0)+21776>>2]=c[g+36>>2];d=d+1|0}if(!(c[b+29672>>2]|0))d=0;else{Ol((c[h>>2]|0)+24|0);ii((c[h>>2]|0)+728|0,0);ii((c[h>>2]|0)+760|0,0);d=0}while(1){if((d|0)==16){d=0;break}o=a[150833+d>>0]|0;h=((o<<2&255)+16&28)<>3;c[b+25976+(d<<2)>>2]=h+(H(c[(c[i>>2]|0)+32>>2]<<2,o)|0);c[b+25976+(d+48<<2)>>2]=h+(H(c[(c[i>>2]|0)+32>>2]<<3,o)|0);d=d+1|0}while(1){if((d|0)==16)break;o=a[150833+d>>0]|0;h=((o<<2&255)+16&28)<>3;g=h+(H(c[(c[i>>2]|0)+36>>2]<<2,o)|0)|0;c[b+25976+(d+32<<2)>>2]=g;c[b+25976+(d+16<<2)>>2]=g;o=h+(H(c[(c[i>>2]|0)+36>>2]<<3,o)|0)|0;c[b+25976+(d+80<<2)>>2]=o;c[b+25976+(d+64<<2)>>2]=o;d=d+1|0}o=c[k>>2]|0;c[o+640>>2]=0;c[o+80>>2]=2147483647;c[o+76>>2]=2147483647;c[b+28740>>2]=0;c[b+25708>>2]=0;if(!(c[(c[m>>2]|0)+68>>2]|0))d=0;else d=(c[j>>2]|0)==3&1;c[b+26376>>2]=d;d=c[b+29712>>2]|0;if((d|0)>-1){c[b+25704>>2]=d;d=0}else d=0}}}else{lf(c[g>>2]|0,16,149992,n);d=-1}while(0);$c=n;return d|0}function Dl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=(b|0)==0;e=a+24312|0;b=0;while(1){if((b|0)==36)break;f=a+696+(b*656|0)|0;do if(c[(c[f>>2]|0)+248>>2]|0?(c[a+696+(b*656|0)+640>>2]|0)==0:0){if(d?(f|0)==(c[e>>2]|0):0)break;lg(a,f)}while(0);b=b+1|0}return}function El(a,d,e,f,g,h){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;k=c[e+20>>2]|0;i=c[f+36>>2]|0;j=f+32|0;c[j>>2]=i;l=c[f+20>>2]|0;if((l|0)<(c[f+40>>2]|0)){i=i+(1<>2]=i}switch(c[e+24>>2]|0){case 0:{i=1<>2];k=c[f>>2]|0;j=c[f+28>>2]|0;if((j|0)>(k|0)?(j-k|0)>=((i|0)/2|0|0):0)i=(c[f+24>>2]|0)+i|0;else m=7;do if((m|0)==7){if((j|0)<(k|0)?(j-k|0)<((i|0)/-2|0|0):0){i=(c[f+24>>2]|0)-i|0;break}i=c[f+24>>2]|0}while(0);c[f+4>>2]=i;j=k+i|0;l=((j|0)<0)<<31>>31;if((g|0)==3){k=c[f+8>>2]|0;k=IW(k|0,((k|0)<0)<<31>>31|0,j|0,l|0)|0;i=j;h=l;j=M()|0}else{i=j;h=l;k=j;j=l}break}case 1:{m=c[e+44>>2]|0;k=(m|0)==0?0:l+i|0;h=(h|0)==0;j=(h&(k|0)>0)<<31>>31;i=0;l=0;while(1){if((i|0)>=(m|0))break;n=l+(b[e+148+(i<<1)>>1]|0)|0;i=i+1|0;l=n}i=k+j|0;a:do if((i|0)>0){i=i+-1|0;k=(i|0)%(m|0)|0;i=H((i|0)/(m|0)|0,l)|0;j=0;while(1){if((j|0)>(k|0))break a;i=i+(b[e+148+(j<<1)>>1]|0)|0;j=j+1|0}}else i=0;while(0);if(h)i=(c[e+36>>2]|0)+i|0;i=(c[f+12>>2]|0)+i|0;l=((i|0)<0)<<31>>31;k=c[e+40>>2]|0;k=IW(i|0,l|0,k|0,((k|0)<0)<<31>>31|0)|0;j=M()|0;if((g|0)==3){h=c[f+16>>2]|0;k=IW(k|0,j|0,h|0,((h|0)<0)<<31>>31|0)|0;h=l;j=M()|0}else h=l;break}default:{k=(l+i<<1)+(((h|0)==0)<<31>>31)|0;j=((k|0)<0)<<31>>31;i=k;h=j}}if((i|0)==(i|0)&(h|0)==(((i|0)<0)<<31>>31|0)?(k|0)==(k|0)&(j|0)==(((k|0)<0)<<31>>31|0):0){if((g|0)!=2?(c[a>>2]=i,(g|0)==1):0)j=a+4|0;else{j=a+4|0;c[j>>2]=k;i=c[a>>2]|0}c[d>>2]=c[a+(((i|0)>(c[j>>2]|0)&1)<<2)>>2];i=0}else i=-1094995529;return i|0}function Fl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=c[b+28216>>2]|0;q=c[b+24312>>2]|0;j=c[q>>2]|0;g=j+212|0;c[g>>2]=0;d=j+208|0;c[d>>2]=0;i=(c[i+1160>>2]|0)==0;if(!i?(c[b+29676>>2]|0)!=0:0){f=c[b+29680>>2]|0;switch(f|0){case 8:{c[d>>2]=4;d=0;break}case 2:case 1:{c[g>>2]=1;d=1;break}case 4:case 3:{if((c[b+26376>>2]|0)==0?(c[b+26380>>2]|0)==3:0)d=c[b+29564>>2]|0;else d=1;c[g>>2]=d;break}case 6:case 5:{c[d>>2]=1;d=0;break}case 7:{c[d>>2]=2;d=0;break}default:d=0}e=c[b+29684>>2]|0;if((e&3|0)!=0&f>>>0<5){d=e>>>1&1;h=17}}else{if(!(c[b+26376>>2]|0))d=(c[b+26380>>2]|0)!=3;else d=1;d=d&1;h=17}if((h|0)==17)c[g>>2]=d;c[b+29564>>2]=d;e=c[q+76>>2]|0;f=c[q+80>>2]|0;do if((e|0)==(f|0)){if(!i?c[b+29676>>2]|0:0){switch(c[b+29680>>2]|0){case 5:case 3:{d=1;break}default:d=0}c[j+216>>2]=d;break}c[j+216>>2]=(d|0)!=0&1}else c[j+216>>2]=(e|0)<(f|0)&1;while(0);if(((c[b+29852>>2]|0?(k=b+29864|0,(c[k>>2]|0)>>>0<7):0)?(l=b+29872|0,((c[l>>2]|0)+-1|0)>>>0<2):0)?(m=Hl(j)|0,m|0):0){switch(c[k>>2]|0){case 0:{c[m>>2]=4;break}case 1:{c[m>>2]=7;break}case 2:{c[m>>2]=6;break}case 3:{c[m>>2]=c[b+29876>>2]|0?5:1;break}case 4:{c[m>>2]=2;break}case 5:{c[m>>2]=3;break}case 6:{c[m>>2]=0;break}default:{}}if((c[l>>2]|0)==2)c[m+4>>2]=1;if((c[k>>2]|0)==5)c[m+8>>2]=c[b+29880>>2]|0?1:2}do if(c[b+29884>>2]|0){d=c[b+29888>>2]|0;if(((d|0)==0?(c[b+29892>>2]|0)==0:0)?(c[b+29896>>2]|0)==0:0)break;e=qh(c[q>>2]|0,6,36)|0;if(e|0){m=e+4|0;Il(c[m>>2]|0,+(d*360|0)*.0000152587890625);Jl(c[m>>2]|0,c[b+29892>>2]|0,c[b+29896>>2]|0)}}while(0);d=b+29696|0;if(c[d>>2]|0?(n=qh(c[q>>2]|0,7,1)|0,n|0):0){a[c[n+4>>2]>>0]=a[b+29700>>0]|0;c[d>>2]=0}d=b+29708|0;if(c[d>>2]|0){e=b+29704|0;f=qh(c[q>>2]|0,1,c[e>>2]|0)|0;if(f|0)XW(c[f+4>>2]|0,c[d>>2]|0,c[e>>2]|0)|0;gf(d);c[e>>2]=0;n=(c[b+4>>2]|0)+848|0;c[n>>2]=c[n>>2]|2}if((c[b+29916>>2]|0?(o=b+29920|0,Ri(c[o>>2]|0)|0):0)?(p=c[o>>2]|0,(p|0)!=2):0){c[(c[q>>2]|0)+308>>2]=p;c[(c[b+4>>2]|0)+320>>2]=p}return}function Gl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);p=q+32|0;m=q+16|0;k=q+8|0;h=q;d=c[a+28216>>2]|0;l=c[a+24312>>2]|0;j=a+29544|0;i=l+92|0;c[i>>2]=c[j>>2];c[j>>2]=0;j=d+660|0;b=c[a+4>>2]|0;if(!((c[j>>2]|0)==0?(c[b+568>>2]|0)<=0:0)){n=b+140|0;f=c[n>>2]|0;g=c[d+664>>2]|0;c[n>>2]=(f|0)>(g|0)?f:g}g=l+84|0;b=0;while(1){f=c[g>>2]|0;if((b|0)==16){b=16;n=8;break}d=c[a+28676+(b<<2)>>2]|0;e=(b|0)==0;if((f|0)<(d|0)){n=7;break}if(!e)c[a+28676+(b+-1<<2)>>2]=d;b=b+1|0}if((n|0)==7)if(e)b=0;else n=8;if((n|0)==8)c[a+28676+(b+-1<<2)>>2]=f;e=16-b|0;if((c[(c[l>>2]|0)+88>>2]|0)==3)if((e|0)>1)n=17;else n=16;else{n=c[a+28732>>2]|0;if((n|0)!=-2147483648?!((e|0)>1?1:((c[a+28736>>2]|0)-n|0)<3):0)n=16;else n=17}if((n|0)==16){b=a+4|0;e=1;d=c[b>>2]|0;n=22}else if((n|0)==17){f=a+4|0;d=c[f>>2]|0;if(!b){e=a+28676|0;b=c[e>>2]|0;c[h>>2]=c[g>>2];c[h+4>>2]=b;lf(d,40,149910,h);b=1;while(1){if((b|0)==16)break;c[a+28676+(b<<2)>>2]=-2147483648;b=b+1|0}c[e>>2]=c[g>>2];c[i>>2]=1;h=f}else{b=f;n=22}}if((n|0)==22)if((c[d+140>>2]|0)<(e|0)?(c[j>>2]|0)==0:0){h=(c[d+360>>2]|0)>1?24:40;c[k>>2]=e;lf(d,h,149929,k);c[(c[b>>2]|0)+140>>2]=e;h=b}else h=b;k=0;while(1){b=a+28604+(k<<2)|0;if(!(c[b>>2]|0))break;else k=k+1|0}if((k|0)>=17){c[m>>2]=149962;c[m+4>>2]=138046;c[m+8>>2]=1337;lf(0,0,164242,m);ub()}c[b>>2]=l;b=l+640|0;if(!(c[b>>2]|0))c[b>>2]=4;j=a+28604|0;f=c[j>>2]|0;l=f;i=0;b=1;while(1){d=c[a+28604+(b<<2)>>2]|0;if(!d)break;if(c[(c[d>>2]|0)+84>>2]|0)break;if(c[d+92>>2]|0)break;n=(c[d+84>>2]|0)<(c[l+84>>2]|0);l=n?d:l;i=n?b:i;b=b+1|0}b=c[h>>2]|0;e=c[b+140>>2]|0;do if(!e){if((c[(c[f>>2]|0)+84>>2]|0)==0?(c[f+92>>2]|0)==0:0)break;c[a+28744>>2]=-2147483648}while(0);d=c[l+84>>2]|0;g=a+28744|0;f=(d|0)<(c[g>>2]|0);do if(!((k|0)<(e|0)&(f^1))){b=l+640|0;c[b>>2]=c[b>>2]&-5;b=i;e=c[a+28604+(i<<2)>>2]|0;while(1){if(!e)break;n=b+1|0;e=c[a+28604+(n<<2)>>2]|0;c[a+28604+(b<<2)>>2]=e;b=n}if(f){b=c[h>>2]|0;n=61;break}else{e=c[h>>2]|0;b=e;e=c[e+140>>2]|0;n=47;break}}else n=47;while(0);do if((n|0)==47){if((k|0)<(e|0)){n=61;break}h=a+28740|0;c[h>>2]=l;if((i|0)==0?(o=c[j>>2]|0,(o|0)!=0):0)if((c[(c[o>>2]|0)+84>>2]|0)==0?(c[o+92>>2]|0)==0:0)n=53;else d=-2147483648;else n=53;c[g>>2]=d;f=l+644|0;g=c[f>>2]|0;e=a+29576|0;d=c[e>>2]|0;if(g){d=d|2;c[e>>2]=d}a=d>>>1&1|g;c[f>>2]=a;if(!a){if((c[b+60>>2]&8|0)==0?(c[b+64>>2]&4194304|0)==0:0){c[h>>2]=0;break}a=(c[l>>2]|0)+296|0;c[a>>2]=c[a>>2]|1}}while(0);if((n|0)==61){c[p>>2]=f?149973:262104;lf(b,48,149977,p)}$c=q;return}function Hl(b){b=b|0;var d=0,e=0;b=qh(b,2,12)|0;if(!b)b=0;else{b=b+4|0;d=c[b>>2]|0;e=d+12|0;do{a[d>>0]=0;d=d+1|0}while((d|0)<(e|0));b=c[b>>2]|0}return b|0}function Il(a,b){a=a|0;b=+b;var d=0,e=0.0;b=b*-3.141592653589793/180.0;e=+x(+b);b=+y(+b);d=a+8|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;d=~~(e*65536.0);c[a>>2]=d;c[a+4>>2]=~~(b*-65536.0);c[a+12>>2]=~~(b*65536.0);c[a+16>>2]=d;c[a+32>>2]=1073741824;return}function Jl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=f;c[e>>2]=1-(((b|0)!=0&1)<<1);c[e+4>>2]=1-(((d|0)!=0&1)<<1);c[e+8>>2]=1;a:do if(d|b|0){b=0;while(1){if((b|0)==9)break a;d=a+(b<<2)|0;c[d>>2]=H(c[d>>2]|0,c[e+(((b|0)%3|0)<<2)>>2]|0)|0;b=b+1|0}}while(0);$c=f;return}function Kl(a){a=a|0;var b=0;if((c[a+696>>2]&1|0)!=0?(c[(c[(c[a+28>>2]|0)+20>>2]|0)+300>>2]|0)!=1:0)if(!(c[(c[a+12>>2]|0)+68>>2]|0))if((c[a+700>>2]|0)==0?(c[a+400>>2]|0)!=11:0)a=0;else b=6;else a=0;else b=6;if((b|0)==6)a=1;return a|0}function Ll(a){a=a|0;var b=0;b=0;while(1){if((b|0)>=36){b=-1094995529;break}if(!(c[(c[a+696+(b*656|0)>>2]|0)+248>>2]|0))break;b=b+1|0}return b|0}function Ml(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);g=k+16|0;e=k;d=c[b>>2]|0;if(c[d>>2]|0){c[e>>2]=150088;c[e+4>>2]=138046;c[e+8>>2]=192;lf(0,0,164242,e);ub()}i=b+4|0;c[i>>2]=d;e=a+4|0;d=Hm(c[e>>2]|0,i,(c[b+640>>2]|0)!=0&1)|0;a:do if((d|0)>=0){e=c[(c[e>>2]|0)+592>>2]|0;if(e|0){f=b+56|0;if(c[f>>2]|0){c[g>>2]=150105;c[g+4>>2]=138046;c[g+8>>2]=202;lf(0,0,164242,g);ub()}e=c[e+40>>2]|0;if(e|0){e=Mg(e)|0;c[b+52>>2]=e;if(!e){d=-12;break}c[f>>2]=c[e+4>>2]}}f=a+29924|0;e=c[f>>2]|0;if(!e){d=Im(a)|0;if((d|0)<0){j=18;break}e=c[f>>2]|0}f=b+20|0;c[f>>2]=Bg(e)|0;e=Bg(c[a+29928>>2]|0)|0;c[b+44>>2]=e;f=c[f>>2]|0;if((e|0)==0|(f|0)==0)j=18;else{g=c[a+27016>>2]<<1;c[b+48>>2]=(c[e+4>>2]|0)+(g<<2)+4;c[b+24>>2]=(c[f+4>>2]|0)+g+1;f=a+29932|0;g=a+29936|0;e=0;while(1){if((e|0)>=2){d=0;break a}i=b+28+(e<<2)|0;c[i>>2]=Bg(c[f>>2]|0)|0;h=Bg(c[g>>2]|0)|0;c[b+60+(e<<2)>>2]=h;i=c[i>>2]|0;if((h|0)==0|(i|0)==0){j=18;break a}c[b+36+(e<<2)>>2]=(c[i+4>>2]|0)+16;c[b+68+(e<<2)>>2]=c[h+4>>2];e=e+1|0}}}else j=18;while(0);if((j|0)==18){lg(a,b);d=(d|0)<0?d:-12}$c=k;return d|0}function Nl(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=t;g=Gg(c[a+80>>2]|0)|0;if(0==0?(c[g+8>>2]&16|0)==0:0){c[f>>2]=150065;c[f+4>>2]=131644;c[f+8>>2]=410;lf(0,0,164242,f);ub()}o=g+4|0;p=a+68|0;q=g+5|0;r=a+72|0;s=g+6|0;m=g+32|0;l=0;while(1){if((l|0)>=(d[o>>0]|0|0))break;f=c[p>>2]|0;if((l+-1|0)>>>0<2){n=0-(0-(c[r>>2]|0)>>(d[s>>0]|0))|0;f=0-(0-f>>(d[q>>0]|0))|0}else n=c[r>>2]|0;j=a+32+(l<<2)|0;k=e+(l<<2)|0;g=0;i=c[a+(l<<2)>>2]|0;while(1){if((g|0)>=(n|0))break;a:do if((c[m>>2]|0)>8){h=0;while(1){if((h|0)>=(f|0))break a;b[i+(h<<1)>>1]=c[k>>2];h=h+1|0}}else ZW(i|0,c[k>>2]&255|0,f|0)|0;while(0);g=g+1|0;i=i+(c[j>>2]|0)|0}l=l+1|0}$c=t;return}function Ol(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if(c[b+572>>2]|0){d=a+544|0;if(!(c[d>>2]|0)){Pl(a+4|0,b);c[d>>2]=1}ZW(c[a+580>>2]|0,127,H(c[a+560>>2]|0,c[a+564>>2]|0)|0)|0;c[a+572>>2]=(c[a+552>>2]|0)*3;c[a+576>>2]=0}return}function Pl(a,b){a=a|0;b=b|0;c[a>>2]=19;c[a+484>>2]=2;c[a+488>>2]=3;c[a+492>>2]=4;c[a+496>>2]=5;c[a+500>>2]=6;c[a+504>>2]=7;c[a+508>>2]=8;c[a+512>>2]=9;c[a+52>>2]=10;c[a+56>>2]=11;c[a+68>>2]=12;c[a+72>>2]=13;c[a+76>>2]=14;c[a+80>>2]=15;c[a+292>>2]=16;c[a+296>>2]=17;c[a+316>>2]=18;c[a+320>>2]=19;c[a+4>>2]=2;c[a+8>>2]=6;c[a+28>>2]=20;c[a+32>>2]=21;c[a+36>>2]=22;c[a+100>>2]=23;c[a+104>>2]=24;c[a+148>>2]=25;c[a+152>>2]=26;c[a+124>>2]=27;c[a+128>>2]=28;c[a+172>>2]=29;c[a+176>>2]=30;c[a+188>>2]=31;c[a+192>>2]=32;c[a+196>>2]=33;c[a+200>>2]=34;c[a+212>>2]=35;c[a+216>>2]=36;c[a+220>>2]=37;c[a+224>>2]=38;c[a+516>>2]=39;c[a+520>>2]=40;return}function Ql(a){a=a|0;var c=0,d=0,e=0,f=0;c=0;d=0;while(1){if((c|0)==64)break;f=b[a+(c<<1)>>1]|0;e=f<<16>>16;c=c+1|0;d=(f<<16>>16>-1?e:0-e|0)+d|0}return d|0}function Rl(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;g=0;h=0;a=c;while(1){if((g|0)>=(f|0))break;w=(d[b>>0]|0)-(d[a>>0]|0)|0;v=(d[b+1>>0]|0)-(d[a+1>>0]|0)|0;u=(d[b+2>>0]|0)-(d[a+2>>0]|0)|0;t=(d[b+3>>0]|0)-(d[a+3>>0]|0)|0;s=(d[b+4>>0]|0)-(d[a+4>>0]|0)|0;r=(d[b+5>>0]|0)-(d[a+5>>0]|0)|0;q=(d[b+6>>0]|0)-(d[a+6>>0]|0)|0;p=(d[b+7>>0]|0)-(d[a+7>>0]|0)|0;o=(d[b+8>>0]|0)-(d[a+8>>0]|0)|0;n=(d[b+9>>0]|0)-(d[a+9>>0]|0)|0;m=(d[b+10>>0]|0)-(d[a+10>>0]|0)|0;l=(d[b+11>>0]|0)-(d[a+11>>0]|0)|0;k=(d[b+12>>0]|0)-(d[a+12>>0]|0)|0;j=(d[b+13>>0]|0)-(d[a+13>>0]|0)|0;i=(d[b+14>>0]|0)-(d[a+14>>0]|0)|0;c=(d[b+15>>0]|0)-(d[a+15>>0]|0)|0;g=g+1|0;h=((w|0)>-1?w:0-w|0)+h+((v|0)>-1?v:0-v|0)+((u|0)>-1?u:0-u|0)+((t|0)>-1?t:0-t|0)+((s|0)>-1?s:0-s|0)+((r|0)>-1?r:0-r|0)+((q|0)>-1?q:0-q|0)+((p|0)>-1?p:0-p|0)+((o|0)>-1?o:0-o|0)+((n|0)>-1?n:0-n|0)+((m|0)>-1?m:0-m|0)+((l|0)>-1?l:0-l|0)+((k|0)>-1?k:0-k|0)+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)+((c|0)>-1?c:0-c|0)|0;b=b+e|0;a=a+e|0}return h|0}function Sl(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;g=0;h=0;a=c;while(1){if((g|0)>=(f|0))break;v=d[a+1>>0]|0;w=(d[b>>0]|0)-(((d[a>>0]|0)+1+v|0)>>>1)|0;u=d[a+2>>0]|0;v=(d[b+1>>0]|0)-((v+1+u|0)>>>1)|0;t=d[a+3>>0]|0;u=(d[b+2>>0]|0)-((u+1+t|0)>>>1)|0;s=d[a+4>>0]|0;t=(d[b+3>>0]|0)-((t+1+s|0)>>>1)|0;r=d[a+5>>0]|0;s=(d[b+4>>0]|0)-((s+1+r|0)>>>1)|0;q=d[a+6>>0]|0;r=(d[b+5>>0]|0)-((r+1+q|0)>>>1)|0;p=d[a+7>>0]|0;q=(d[b+6>>0]|0)-((q+1+p|0)>>>1)|0;o=d[a+8>>0]|0;p=(d[b+7>>0]|0)-((p+1+o|0)>>>1)|0;n=d[a+9>>0]|0;o=(d[b+8>>0]|0)-((o+1+n|0)>>>1)|0;m=d[a+10>>0]|0;n=(d[b+9>>0]|0)-((n+1+m|0)>>>1)|0;l=d[a+11>>0]|0;m=(d[b+10>>0]|0)-((m+1+l|0)>>>1)|0;k=d[a+12>>0]|0;l=(d[b+11>>0]|0)-((l+1+k|0)>>>1)|0;j=d[a+13>>0]|0;k=(d[b+12>>0]|0)-((k+1+j|0)>>>1)|0;i=d[a+14>>0]|0;j=(d[b+13>>0]|0)-((j+1+i|0)>>>1)|0;c=d[a+15>>0]|0;i=(d[b+14>>0]|0)-((i+1+c|0)>>>1)|0;c=(d[b+15>>0]|0)-((c+1+(d[a+16>>0]|0)|0)>>>1)|0;g=g+1|0;h=((w|0)>-1?w:0-w|0)+h+((v|0)>-1?v:0-v|0)+((u|0)>-1?u:0-u|0)+((t|0)>-1?t:0-t|0)+((s|0)>-1?s:0-s|0)+((r|0)>-1?r:0-r|0)+((q|0)>-1?q:0-q|0)+((p|0)>-1?p:0-p|0)+((o|0)>-1?o:0-o|0)+((n|0)>-1?n:0-n|0)+((m|0)>-1?m:0-m|0)+((l|0)>-1?l:0-l|0)+((k|0)>-1?k:0-k|0)+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)+((c|0)>-1?c:0-c|0)|0;b=b+e|0;a=a+e|0}return h|0}function Tl(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;g=0;h=0;a=c;while(1){c=a+e|0;if((g|0)>=(f|0))break;x=(d[b>>0]|0)-(((d[a>>0]|0)+1+(d[c>>0]|0)|0)>>>1)|0;w=(d[b+1>>0]|0)-(((d[a+1>>0]|0)+1+(d[c+1>>0]|0)|0)>>>1)|0;v=(d[b+2>>0]|0)-(((d[a+2>>0]|0)+1+(d[c+2>>0]|0)|0)>>>1)|0;u=(d[b+3>>0]|0)-(((d[a+3>>0]|0)+1+(d[c+3>>0]|0)|0)>>>1)|0;t=(d[b+4>>0]|0)-(((d[a+4>>0]|0)+1+(d[c+4>>0]|0)|0)>>>1)|0;s=(d[b+5>>0]|0)-(((d[a+5>>0]|0)+1+(d[c+5>>0]|0)|0)>>>1)|0;r=(d[b+6>>0]|0)-(((d[a+6>>0]|0)+1+(d[c+6>>0]|0)|0)>>>1)|0;q=(d[b+7>>0]|0)-(((d[a+7>>0]|0)+1+(d[c+7>>0]|0)|0)>>>1)|0;p=(d[b+8>>0]|0)-(((d[a+8>>0]|0)+1+(d[c+8>>0]|0)|0)>>>1)|0;o=(d[b+9>>0]|0)-(((d[a+9>>0]|0)+1+(d[c+9>>0]|0)|0)>>>1)|0;n=(d[b+10>>0]|0)-(((d[a+10>>0]|0)+1+(d[c+10>>0]|0)|0)>>>1)|0;m=(d[b+11>>0]|0)-(((d[a+11>>0]|0)+1+(d[c+11>>0]|0)|0)>>>1)|0;l=(d[b+12>>0]|0)-(((d[a+12>>0]|0)+1+(d[c+12>>0]|0)|0)>>>1)|0;k=(d[b+13>>0]|0)-(((d[a+13>>0]|0)+1+(d[c+13>>0]|0)|0)>>>1)|0;j=(d[b+14>>0]|0)-(((d[a+14>>0]|0)+1+(d[c+14>>0]|0)|0)>>>1)|0;i=(d[b+15>>0]|0)-(((d[a+15>>0]|0)+1+(d[c+15>>0]|0)|0)>>>1)|0;g=g+1|0;h=((x|0)>-1?x:0-x|0)+h+((w|0)>-1?w:0-w|0)+((v|0)>-1?v:0-v|0)+((u|0)>-1?u:0-u|0)+((t|0)>-1?t:0-t|0)+((s|0)>-1?s:0-s|0)+((r|0)>-1?r:0-r|0)+((q|0)>-1?q:0-q|0)+((p|0)>-1?p:0-p|0)+((o|0)>-1?o:0-o|0)+((n|0)>-1?n:0-n|0)+((m|0)>-1?m:0-m|0)+((l|0)>-1?l:0-l|0)+((k|0)>-1?k:0-k|0)+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)|0;b=b+e|0;a=c}return h|0}function Ul(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;g=0;h=0;a=c;while(1){c=a+e|0;if((g|0)>=(f|0))break;y=d[a+1>>0]|0;w=d[c+1>>0]|0;x=(d[b>>0]|0)-(((d[a>>0]|0)+2+y+(d[c>>0]|0)+w|0)>>>2)|0;z=d[a+2>>0]|0;v=d[c+2>>0]|0;w=(d[b+1>>0]|0)-((y+2+w+z+v|0)>>>2)|0;y=d[a+3>>0]|0;u=d[c+3>>0]|0;v=(d[b+2>>0]|0)-((z+2+v+y+u|0)>>>2)|0;z=d[a+4>>0]|0;t=d[c+4>>0]|0;u=(d[b+3>>0]|0)-((y+2+u+z+t|0)>>>2)|0;y=d[a+5>>0]|0;s=d[c+5>>0]|0;t=(d[b+4>>0]|0)-((z+2+t+y+s|0)>>>2)|0;z=d[a+6>>0]|0;r=d[c+6>>0]|0;s=(d[b+5>>0]|0)-((y+2+s+z+r|0)>>>2)|0;y=d[a+7>>0]|0;q=d[c+7>>0]|0;r=(d[b+6>>0]|0)-((z+2+r+y+q|0)>>>2)|0;z=d[a+8>>0]|0;p=d[c+8>>0]|0;q=(d[b+7>>0]|0)-((y+2+q+z+p|0)>>>2)|0;y=d[a+9>>0]|0;o=d[c+9>>0]|0;p=(d[b+8>>0]|0)-((z+2+p+y+o|0)>>>2)|0;z=d[a+10>>0]|0;n=d[c+10>>0]|0;o=(d[b+9>>0]|0)-((y+2+o+z+n|0)>>>2)|0;y=d[a+11>>0]|0;m=d[c+11>>0]|0;n=(d[b+10>>0]|0)-((z+2+n+y+m|0)>>>2)|0;z=d[a+12>>0]|0;l=d[c+12>>0]|0;m=(d[b+11>>0]|0)-((y+2+m+z+l|0)>>>2)|0;y=d[a+13>>0]|0;k=d[c+13>>0]|0;l=(d[b+12>>0]|0)-((z+2+l+y+k|0)>>>2)|0;z=d[a+14>>0]|0;j=d[c+14>>0]|0;k=(d[b+13>>0]|0)-((y+2+k+z+j|0)>>>2)|0;y=d[a+15>>0]|0;i=d[c+15>>0]|0;j=(d[b+14>>0]|0)-((z+2+j+y+i|0)>>>2)|0;i=(d[b+15>>0]|0)-((y+2+i+(d[a+16>>0]|0)+(d[c+16>>0]|0)|0)>>>2)|0;g=g+1|0;h=((x|0)>-1?x:0-x|0)+h+((w|0)>-1?w:0-w|0)+((v|0)>-1?v:0-v|0)+((u|0)>-1?u:0-u|0)+((t|0)>-1?t:0-t|0)+((s|0)>-1?s:0-s|0)+((r|0)>-1?r:0-r|0)+((q|0)>-1?q:0-q|0)+((p|0)>-1?p:0-p|0)+((o|0)>-1?o:0-o|0)+((n|0)>-1?n:0-n|0)+((m|0)>-1?m:0-m|0)+((l|0)>-1?l:0-l|0)+((k|0)>-1?k:0-k|0)+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)|0;b=b+e|0;a=c}return h|0}function Vl(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=0;h=0;a=c;while(1){if((g|0)>=(f|0))break;o=(d[b>>0]|0)-(d[a>>0]|0)|0;n=(d[b+1>>0]|0)-(d[a+1>>0]|0)|0;m=(d[b+2>>0]|0)-(d[a+2>>0]|0)|0;l=(d[b+3>>0]|0)-(d[a+3>>0]|0)|0;k=(d[b+4>>0]|0)-(d[a+4>>0]|0)|0;j=(d[b+5>>0]|0)-(d[a+5>>0]|0)|0;i=(d[b+6>>0]|0)-(d[a+6>>0]|0)|0;c=(d[b+7>>0]|0)-(d[a+7>>0]|0)|0;g=g+1|0;h=((o|0)>-1?o:0-o|0)+h+((n|0)>-1?n:0-n|0)+((m|0)>-1?m:0-m|0)+((l|0)>-1?l:0-l|0)+((k|0)>-1?k:0-k|0)+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)+((c|0)>-1?c:0-c|0)|0;b=b+e|0;a=a+e|0}return h|0}function Wl(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=0;h=0;a=c;while(1){if((g|0)>=(f|0))break;n=d[a+1>>0]|0;o=(d[b>>0]|0)-(((d[a>>0]|0)+1+n|0)>>>1)|0;m=d[a+2>>0]|0;n=(d[b+1>>0]|0)-((n+1+m|0)>>>1)|0;l=d[a+3>>0]|0;m=(d[b+2>>0]|0)-((m+1+l|0)>>>1)|0;k=d[a+4>>0]|0;l=(d[b+3>>0]|0)-((l+1+k|0)>>>1)|0;j=d[a+5>>0]|0;k=(d[b+4>>0]|0)-((k+1+j|0)>>>1)|0;i=d[a+6>>0]|0;j=(d[b+5>>0]|0)-((j+1+i|0)>>>1)|0;c=d[a+7>>0]|0;i=(d[b+6>>0]|0)-((i+1+c|0)>>>1)|0;c=(d[b+7>>0]|0)-((c+1+(d[a+8>>0]|0)|0)>>>1)|0;g=g+1|0;h=((o|0)>-1?o:0-o|0)+h+((n|0)>-1?n:0-n|0)+((m|0)>-1?m:0-m|0)+((l|0)>-1?l:0-l|0)+((k|0)>-1?k:0-k|0)+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)+((c|0)>-1?c:0-c|0)|0;b=b+e|0;a=a+e|0}return h|0}function Xl(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=0;h=0;a=c;while(1){c=a+e|0;if((g|0)>=(f|0))break;p=(d[b>>0]|0)-(((d[a>>0]|0)+1+(d[c>>0]|0)|0)>>>1)|0;o=(d[b+1>>0]|0)-(((d[a+1>>0]|0)+1+(d[c+1>>0]|0)|0)>>>1)|0;n=(d[b+2>>0]|0)-(((d[a+2>>0]|0)+1+(d[c+2>>0]|0)|0)>>>1)|0;m=(d[b+3>>0]|0)-(((d[a+3>>0]|0)+1+(d[c+3>>0]|0)|0)>>>1)|0;l=(d[b+4>>0]|0)-(((d[a+4>>0]|0)+1+(d[c+4>>0]|0)|0)>>>1)|0;k=(d[b+5>>0]|0)-(((d[a+5>>0]|0)+1+(d[c+5>>0]|0)|0)>>>1)|0;j=(d[b+6>>0]|0)-(((d[a+6>>0]|0)+1+(d[c+6>>0]|0)|0)>>>1)|0;i=(d[b+7>>0]|0)-(((d[a+7>>0]|0)+1+(d[c+7>>0]|0)|0)>>>1)|0;g=g+1|0;h=((p|0)>-1?p:0-p|0)+h+((o|0)>-1?o:0-o|0)+((n|0)>-1?n:0-n|0)+((m|0)>-1?m:0-m|0)+((l|0)>-1?l:0-l|0)+((k|0)>-1?k:0-k|0)+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)|0;b=b+e|0;a=c}return h|0}function Yl(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=0;h=0;a=c;while(1){c=a+e|0;if((g|0)>=(f|0))break;q=d[a+1>>0]|0;o=d[c+1>>0]|0;p=(d[b>>0]|0)-(((d[a>>0]|0)+2+q+(d[c>>0]|0)+o|0)>>>2)|0;r=d[a+2>>0]|0;n=d[c+2>>0]|0;o=(d[b+1>>0]|0)-((q+2+o+r+n|0)>>>2)|0;q=d[a+3>>0]|0;m=d[c+3>>0]|0;n=(d[b+2>>0]|0)-((r+2+n+q+m|0)>>>2)|0;r=d[a+4>>0]|0;l=d[c+4>>0]|0;m=(d[b+3>>0]|0)-((q+2+m+r+l|0)>>>2)|0;q=d[a+5>>0]|0;k=d[c+5>>0]|0;l=(d[b+4>>0]|0)-((r+2+l+q+k|0)>>>2)|0;r=d[a+6>>0]|0;j=d[c+6>>0]|0;k=(d[b+5>>0]|0)-((q+2+k+r+j|0)>>>2)|0;q=d[a+7>>0]|0;i=d[c+7>>0]|0;j=(d[b+6>>0]|0)-((r+2+j+q+i|0)>>>2)|0;i=(d[b+7>>0]|0)-((q+2+i+(d[a+8>>0]|0)+(d[c+8>>0]|0)|0)>>>2)|0;g=g+1|0;h=((p|0)>-1?p:0-p|0)+h+((o|0)>-1?o:0-o|0)+((n|0)>-1?n:0-n|0)+((m|0)>-1?m:0-m|0)+((l|0)>-1?l:0-l|0)+((k|0)>-1?k:0-k|0)+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)|0;b=b+e|0;a=c}return h|0}function Zl(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;f=_l(a,b,c,d,8)|0;f=(_l(a,b+8|0,c+8|0,d,8)|0)+f|0;h=d<<3;g=b+h|0;b=c+h|0;if((e|0)==16){f=(_l(a,g,b,d,8)|0)+f|0;f=f+(_l(a,g+8|0,b+8|0,d,8)|0)|0}return f|0}function _l(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;i=$c;$c=$c+256|0;if(($c|0)>=(ad|0))N(256);h=i;a=0;while(1){if((a|0)==8){a=0;g=0;break}j=H(a,f)|0;p=j+1|0;r=d[e+p>>0]|0;p=d[b+p>>0]|0;k=(d[e+j>>0]|0)-(d[b+j>>0]|0)|0;o=k+r-p|0;g=a<<3;p=k-r+p|0;r=j+2|0;k=j+3|0;q=d[e+k>>0]|0;k=d[b+k>>0]|0;r=(d[e+r>>0]|0)-(d[b+r>>0]|0)|0;m=r+q-k|0;k=r-q+k|0;q=j+4|0;r=j+5|0;s=d[e+r>>0]|0;r=d[b+r>>0]|0;q=(d[e+q>>0]|0)-(d[b+q>>0]|0)|0;n=q+s-r|0;r=q-s+r|0;s=j+6|0;j=j+7|0;q=d[e+j>>0]|0;j=d[b+j>>0]|0;s=(d[e+s>>0]|0)-(d[b+s>>0]|0)|0;l=s+q-j|0;j=s-q+j|0;q=m+o|0;m=o-m|0;o=k+p|0;k=p-k|0;p=l+n|0;l=n-l|0;n=j+r|0;j=r-j|0;c[h+(g<<2)>>2]=p+q;c[h+((g|4)<<2)>>2]=q-p;c[h+((g|1)<<2)>>2]=n+o;c[h+((g|5)<<2)>>2]=o-n;c[h+((g|2)<<2)>>2]=l+m;c[h+((g|6)<<2)>>2]=m-l;c[h+((g|3)<<2)>>2]=j+k;c[h+((g|7)<<2)>>2]=k-j;a=a+1|0}while(1){if((g|0)==8)break;w=h+(g<<2)|0;q=c[w>>2]|0;u=h+(g+8<<2)|0;t=c[u>>2]|0;v=t+q|0;t=q-t|0;q=h+(g+16<<2)|0;b=c[q>>2]|0;l=h+(g+24<<2)|0;k=c[l>>2]|0;s=k+b|0;k=b-k|0;b=h+(g+32<<2)|0;n=c[b>>2]|0;f=h+(g+40<<2)|0;j=c[f>>2]|0;e=j+n|0;j=n-j|0;n=h+(g+48<<2)|0;o=c[n>>2]|0;m=h+(g+56<<2)|0;r=c[m>>2]|0;p=r+o|0;r=o-r|0;o=s+v|0;c[w>>2]=o;s=v-s|0;c[q>>2]=s;q=k+t|0;c[u>>2]=q;k=t-k|0;c[l>>2]=k;l=p+e|0;c[b>>2]=l;p=e-p|0;c[n>>2]=p;n=r+j|0;c[f>>2]=n;r=j-r|0;c[m>>2]=r;m=l+o|0;l=o-l|0;o=n+q|0;n=q-n|0;q=p+s|0;p=s-p|0;s=k+r|0;r=k-r|0;a=((l|0)>-1?l:0-l|0)+a+((m|0)>-1?m:0-m|0)+((n|0)>-1?n:0-n|0)+((o|0)>-1?o:0-o|0)+((p|0)>-1?p:0-p|0)+((q|0)>-1?q:0-q|0)+((r|0)>-1?r:0-r|0)+((s|0)>-1?s:0-s|0)|0;g=g+1|0}$c=i;return a|0}function $l(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;f=am(a,b,c,d,8)|0;f=(am(a,b+8|0,c+8|0,d,8)|0)+f|0;h=d<<3;g=b+h|0;b=c+h|0;if((e|0)==16){f=(am(a,g,b,d,8)|0)+f|0;f=f+(am(a,g+8|0,b+8|0,d,8)|0)|0}return f|0}function am(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;h=$c;$c=$c+256|0;if(($c|0)>=(ad|0))N(256);g=h;a=0;while(1){if((a|0)==8){a=0;e=0;break}i=H(a,f)|0;p=d[b+i>>0]|0;o=d[b+(i+1)>>0]|0;n=o+p|0;e=a<<3;o=p-o|0;p=d[b+(i+2)>>0]|0;j=d[b+(i+3)>>0]|0;l=j+p|0;j=p-j|0;p=d[b+(i+4)>>0]|0;q=d[b+(i+5)>>0]|0;m=q+p|0;q=p-q|0;p=d[b+(i+6)>>0]|0;i=d[b+(i+7)>>0]|0;k=i+p|0;i=p-i|0;p=l+n|0;l=n-l|0;n=j+o|0;j=o-j|0;o=k+m|0;k=m-k|0;m=i+q|0;i=q-i|0;c[g+(e<<2)>>2]=o+p;c[g+((e|4)<<2)>>2]=p-o;c[g+((e|1)<<2)>>2]=m+n;c[g+((e|5)<<2)>>2]=n-m;c[g+((e|2)<<2)>>2]=k+l;c[g+((e|6)<<2)>>2]=l-k;c[g+((e|3)<<2)>>2]=i+j;c[g+((e|7)<<2)>>2]=j-i;a=a+1|0}while(1){if((e|0)==8)break;w=g+(e<<2)|0;o=c[w>>2]|0;u=g+(e+8<<2)|0;t=c[u>>2]|0;v=t+o|0;t=o-t|0;o=g+(e+16<<2)|0;s=c[o>>2]|0;j=g+(e+24<<2)|0;i=c[j>>2]|0;q=i+s|0;i=s-i|0;s=g+(e+32<<2)|0;l=c[s>>2]|0;b=g+(e+40<<2)|0;f=c[b>>2]|0;r=f+l|0;f=l-f|0;l=g+(e+48<<2)|0;m=c[l>>2]|0;k=g+(e+56<<2)|0;p=c[k>>2]|0;n=p+m|0;p=m-p|0;m=q+v|0;c[w>>2]=m;q=v-q|0;c[o>>2]=q;o=i+t|0;c[u>>2]=o;i=t-i|0;c[j>>2]=i;j=n+r|0;c[s>>2]=j;n=r-n|0;c[l>>2]=n;l=p+f|0;c[b>>2]=l;p=f-p|0;c[k>>2]=p;k=j+m|0;j=m-j|0;m=l+o|0;l=o-l|0;o=n+q|0;n=q-n|0;q=i+p|0;p=i-p|0;a=((j|0)>-1?j:0-j|0)+a+((k|0)>-1?k:0-k|0)+((l|0)>-1?l:0-l|0)+((m|0)>-1?m:0-m|0)+((n|0)>-1?n:0-n|0)+((o|0)>-1?o:0-o|0)+((p|0)>-1?p:0-p|0)+((q|0)>-1?q:0-q|0)|0;e=e+1|0}w=(c[g+128>>2]|0)+(c[g>>2]|0)|0;$c=h;return a-((w|0)>-1?w:0-w|0)|0}function bm(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;f=cm(a,b,c,d,8)|0;f=(cm(a,b+8|0,c+8|0,d,8)|0)+f|0;h=d<<3;g=b+h|0;b=c+h|0;if((e|0)==16){f=(cm(a,g,b,d,8)|0)+f|0;f=f+(cm(a,g+8|0,b+8|0,d,8)|0)|0}return f|0}function cm(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;f=$c;$c=$c+128|0;if(($c|0)>=(ad|0))N(128);g=f;qd[c[a+2964>>2]&255](g,b,d,e);nd[c[a+2032>>2]&63](g);e=fd[c[a+2372>>2]&31](g)|0;$c=f;return e|0}function dm(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;f=em(a,b,c,d,8)|0;f=(em(a,b+8|0,c+8|0,d,8)|0)+f|0;h=d<<3;g=b+h|0;b=c+h|0;if((e|0)==16){f=(em(a,g,b,d,8)|0)+f|0;f=f+(em(a,g+8|0,b+8|0,d,8)|0)|0}return f|0}function em(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=$c;$c=$c+128|0;if(($c|0)>=(ad|0))N(128);h=i;qd[c[a+2964>>2]&255](h,d,e,f);nd[c[a+2032>>2]&63](h);g=0;a=0;while(1){if((g|0)==64)break;e=b[h+(g<<1)>>1]|0;f=e<<16>>16;f=e<<16>>16>-1?f:0-f|0;g=g+1|0;a=(a|0)>(f|0)?a:f}$c=i;return a|0}function fm(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;f=gm(a,b,c,d,8)|0;f=(gm(a,b+8|0,c+8|0,d,8)|0)+f|0;h=d<<3;g=b+h|0;b=c+h|0;if((e|0)==16){f=(gm(a,g,b,d,8)|0)+f|0;f=f+(gm(a,g+8|0,b+8|0,d,8)|0)|0}return f|0}function gm(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;i=$c;$c=$c+128|0;if(($c|0)>=(ad|0))N(128);h=i;qd[c[a+2964>>2]&255](h,d,e,f);g=0;while(1){if((g|0)==8){g=0;a=0;break}u=h+(g<<4)|0;y=b[u>>1]|0;f=h+(g<<4)+14|0;n=b[f>>1]|0;A=n+y|0;t=h+(g<<4)+2|0;x=b[t>>1]|0;a=h+(g<<4)+12|0;w=b[a>>1]|0;z=w+x|0;s=h+(g<<4)+4|0;m=b[s>>1]|0;l=h+(g<<4)+10|0;v=b[l>>1]|0;j=v+m|0;r=h+(g<<4)+6|0;d=b[r>>1]|0;o=h+(g<<4)+8|0;e=b[o>>1]|0;k=e+d|0;q=k+A|0;p=j+z|0;k=A-k|0;j=z-j|0;n=y-n|0;w=x-w|0;v=m-v|0;e=d-e|0;d=(n>>1)+n+w+v|0;m=n-e-((v>>1)+v)|0;n=n-w-(w>>1)+e|0;e=e+(w-v)+(e>>1)|0;b[u>>1]=q+p;b[t>>1]=(e>>>2)+d;b[s>>1]=k+(j>>>1);b[r>>1]=m+(n>>>2);b[o>>1]=q-p;b[l>>1]=n-(m>>>2);b[a>>1]=(k>>>1)-j;b[f>>1]=(d>>>2)-e;g=g+1|0}while(1){if((a|0)==8)break;w=b[h+(a<<1)>>1]|0;q=b[h+112+(a<<1)>>1]|0;n=q+w|0;u=b[h+16+(a<<1)>>1]|0;A=b[h+96+(a<<1)>>1]|0;o=A+u|0;y=b[h+32+(a<<1)>>1]|0;t=b[h+80+(a<<1)>>1]|0;x=t+y|0;s=b[h+48+(a<<1)>>1]|0;z=b[h+64+(a<<1)>>1]|0;r=z+s|0;p=r+n|0;v=x+o|0;r=n-r|0;x=o-x|0;q=w-q|0;A=u-A|0;t=y-t|0;z=s-z|0;s=(q>>1)+q+A+t|0;y=q-z-((t>>1)+t)|0;q=q-A-(A>>1)+z|0;z=z+(A-t)+(z>>1)|0;t=p+v|0;A=(z>>2)+s|0;u=r+(x>>1)|0;w=y+(q>>2)|0;v=p-v|0;y=q-(y>>2)|0;x=(r>>1)-x|0;z=(s>>2)-z|0;g=((t|0)>-1?t:0-t|0)+g+((u|0)>-1?u:0-u|0)+((v|0)>-1?v:0-v|0)+((w|0)>-1?w:0-w|0)+((x|0)>-1?x:0-x|0)+((y|0)>-1?y:0-y|0)+((z|0)>-1?z:0-z|0)+((A|0)>-1?A:0-A|0)|0;a=a+1|0}$c=i;return g|0}function hm(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=0;i=0;a=e;while(1){if((h|0)>=(g|0))break;e=(c[73948+((d[b>>0]|0)-(d[a>>0]|0)<<2)>>2]|0)+i+(c[73948+((d[b+1>>0]|0)-(d[a+1>>0]|0)<<2)>>2]|0)+(c[73948+((d[b+2>>0]|0)-(d[a+2>>0]|0)<<2)>>2]|0)+(c[73948+((d[b+3>>0]|0)-(d[a+3>>0]|0)<<2)>>2]|0)+(c[73948+((d[b+4>>0]|0)-(d[a+4>>0]|0)<<2)>>2]|0)+(c[73948+((d[b+5>>0]|0)-(d[a+5>>0]|0)<<2)>>2]|0)+(c[73948+((d[b+6>>0]|0)-(d[a+6>>0]|0)<<2)>>2]|0)+(c[73948+((d[b+7>>0]|0)-(d[a+7>>0]|0)<<2)>>2]|0)+(c[73948+((d[b+8>>0]|0)-(d[a+8>>0]|0)<<2)>>2]|0)+(c[73948+((d[b+9>>0]|0)-(d[a+9>>0]|0)<<2)>>2]|0)+(c[73948+((d[b+10>>0]|0)-(d[a+10>>0]|0)<<2)>>2]|0)+(c[73948+((d[b+11>>0]|0)-(d[a+11>>0]|0)<<2)>>2]|0)+(c[73948+((d[b+12>>0]|0)-(d[a+12>>0]|0)<<2)>>2]|0)+(c[73948+((d[b+13>>0]|0)-(d[a+13>>0]|0)<<2)>>2]|0)+(c[73948+((d[b+14>>0]|0)-(d[a+14>>0]|0)<<2)>>2]|0)+(c[73948+((d[b+15>>0]|0)-(d[a+15>>0]|0)<<2)>>2]|0)|0;b=b+f|0;h=h+1|0;i=e;a=a+f|0}return i|0}function im(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=0;i=0;a=e;while(1){if((h|0)>=(g|0))break;e=(c[73948+((d[b>>0]|0)-(d[a>>0]|0)<<2)>>2]|0)+i+(c[73948+((d[b+1>>0]|0)-(d[a+1>>0]|0)<<2)>>2]|0)+(c[73948+((d[b+2>>0]|0)-(d[a+2>>0]|0)<<2)>>2]|0)+(c[73948+((d[b+3>>0]|0)-(d[a+3>>0]|0)<<2)>>2]|0)+(c[73948+((d[b+4>>0]|0)-(d[a+4>>0]|0)<<2)>>2]|0)+(c[73948+((d[b+5>>0]|0)-(d[a+5>>0]|0)<<2)>>2]|0)+(c[73948+((d[b+6>>0]|0)-(d[a+6>>0]|0)<<2)>>2]|0)+(c[73948+((d[b+7>>0]|0)-(d[a+7>>0]|0)<<2)>>2]|0)|0;b=b+f|0;h=h+1|0;i=e;a=a+f|0}return i|0}function jm(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=0;i=0;a=e;while(1){if((h|0)>=(g|0))break;e=(c[73948+((d[b>>0]|0)-(d[a>>0]|0)<<2)>>2]|0)+i+(c[73948+((d[b+1>>0]|0)-(d[a+1>>0]|0)<<2)>>2]|0)+(c[73948+((d[b+2>>0]|0)-(d[a+2>>0]|0)<<2)>>2]|0)+(c[73948+((d[b+3>>0]|0)-(d[a+3>>0]|0)<<2)>>2]|0)|0;b=b+f|0;h=h+1|0;i=e;a=a+f|0}return i|0}function km(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;f=lm(a,b,c,d,8)|0;f=(lm(a,b+8|0,c+8|0,d,8)|0)+f|0;h=d<<3;g=b+h|0;b=c+h|0;if((e|0)==16){f=(lm(a,g,b,d,8)|0)+f|0;f=f+(lm(a,g+8|0,b+8|0,d,8)|0)|0}return f|0}function lm(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=$c;$c=$c+272|0;if(($c|0)>=(ad|0))N(272);i=k;h=k+256|0;j=i+128|0;c[a+4304>>2]=0;qd[c[a+2964>>2]&255](i,d,e,f);g=j;d=i;e=g+128|0;do{c[g>>2]=c[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(e|0));g=a+1920|0;c[a+16>>2]=kd[c[a+6244>>2]&63](a,i,0,c[g>>2]|0,h)|0;qd[c[a+6236>>2]&255](a,i,0,c[g>>2]|0);Em(i);g=0;d=0;while(1){if((d|0)==64)break;a=(b[i+(d<<1)>>1]|0)-(b[j+(d<<1)>>1]|0)|0;g=(H(a,a)|0)+g|0;d=d+1|0}$c=k;return g|0}function mm(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;f=nm(a,b,c,d,8)|0;f=(nm(a,b+8|0,c+8|0,d,8)|0)+f|0;h=d<<3;g=b+h|0;b=c+h|0;if((e|0)==16){f=(nm(a,g,b,d,8)|0)+f|0;f=f+(nm(a,g+8|0,b+8|0,d,8)|0)|0}return f|0}function nm(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=$c;$c=$c+272|0;if(($c|0)>=(ad|0))N(272);p=s+128|0;q=s+64|0;r=s;n=s+256|0;o=c[a+4908>>2]|0;Dm(q,e,g);Dm(r,f,g);qd[c[a+2960>>2]&255](p,q,r,8);k=a+1920|0;l=kd[c[a+6244>>2]&63](a,p,0,c[k>>2]|0,n)|0;c[a+16>>2]=l;m=(c[a+4304>>2]|0)==0;if(m){g=0;e=a+4932|0;f=a+4928|0;h=0}else{g=1;e=a+4916|0;f=a+4912|0;h=d[(c[a+4936>>2]|0)+((b[p>>1]|0)+256)>>0]|0}j=c[e>>2]|0;i=c[f>>2]|0;do if((l|0)>=(g|0)){f=0;while(1){c[n>>2]=g;if((g|0)>=(l|0))break;e=b[p+(d[a+204+g>>0]<<1)>>1]|0;if(!(e<<16>>16))f=f+1|0;else{e=(e<<16>>16)+64|0;if(e>>>0<128)e=d[i+(e+(f<<7))>>0]|0;else e=o;f=0;h=e+h|0}g=g+1|0}e=d[a+204+l>>0]|0;c[n>>2]=e;e=(b[p+(e<<1)>>1]|0)+64|0;if(e>>>0<128){h=h+(d[j+(e+(f<<7))>>0]|0)|0;break}else{h=h+o|0;break}}while(0);do if((l|0)>-1)if(m){qd[c[a+6236>>2]&255](a,p,0,c[k>>2]|0);break}else{qd[c[a+6232>>2]&255](a,p,0,c[k>>2]|0);break}while(0);pd[c[a+2300>>2]&1023](r,8,p);a=kd[c[a+2404>>2]&63](0,r,q,8,8)|0;r=c[k>>2]|0;a=((H(H(h*109|0,r)|0,r)|0)+64>>7)+a|0;$c=s;return a|0}function om(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;f=pm(a,b,c,d,8)|0;f=(pm(a,b+8|0,c+8|0,d,8)|0)+f|0;h=d<<3;g=b+h|0;b=c+h|0;if((e|0)==16){f=(pm(a,g,b,d,8)|0)+f|0;f=f+(pm(a,g+8|0,b+8|0,d,8)|0)|0}return f|0}function pm(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);l=o;m=o+128|0;n=c[a+4908>>2]|0;qd[c[a+2964>>2]&255](l,e,f,g);k=kd[c[a+6244>>2]&63](a,l,0,c[a+1920>>2]|0,m)|0;c[a+16>>2]=k;if(!(c[a+4304>>2]|0)){e=a+4932|0;f=a+4928|0;h=0;g=0}else{e=a+4916|0;f=a+4912|0;h=d[(c[a+4936>>2]|0)+((b[l>>1]|0)+256)>>0]|0;g=1}j=c[e>>2]|0;i=c[f>>2]|0;do if((k|0)>=(g|0)){f=0;while(1){c[m>>2]=g;if((g|0)>=(k|0))break;e=b[l+(d[a+204+g>>0]<<1)>>1]|0;if(!(e<<16>>16))f=f+1|0;else{e=(e<<16>>16)+64|0;if(e>>>0<128)e=d[i+(e+(f<<7))>>0]|0;else e=n;f=0;h=e+h|0}g=g+1|0}e=d[a+204+k>>0]|0;c[m>>2]=e;e=(b[l+(e<<1)>>1]|0)+64|0;if(e>>>0<128){h=h+(d[j+(e+(f<<7))>>0]|0)|0;break}else{h=h+n|0;break}}while(0);$c=o;return h|0}function qm(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=1;a=0;while(1){if((h|0)<(f|0))g=0;else break;while(1){if((g|0)==16)break;i=g+e|0;i=(d[b+g>>0]|0)-(d[c+g>>0]|0)-(d[b+i>>0]|0)+(d[c+i>>0]|0)|0;g=g+1|0;a=((i|0)>-1?i:0-i|0)+a|0}h=h+1|0;b=b+e|0;c=c+e|0}return a|0}function rm(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=1;a=0;while(1){if((h|0)<(f|0))g=0;else break;while(1){if((g|0)==8)break;i=g+e|0;i=(d[b+g>>0]|0)-(d[c+g>>0]|0)-(d[b+i>>0]|0)+(d[c+i>>0]|0)|0;g=g+1|0;a=((i|0)>-1?i:0-i|0)+a|0}h=h+1|0;b=b+e|0;c=c+e|0}return a|0}function sm(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=1;a=0;while(1){if((g|0)<(f|0))c=0;else break;while(1){if((c|0)>=16)break;j=c+e|0;k=(d[b+c>>0]|0)-(d[b+j>>0]|0)|0;j=(d[b+(c|1)>>0]|0)-(d[b+(j+1)>>0]|0)|0;i=c|2;i=(d[b+i>>0]|0)-(d[b+(i+e)>>0]|0)|0;h=c|3;h=(d[b+h>>0]|0)-(d[b+(h+e)>>0]|0)|0;c=c+4|0;a=((k|0)>-1?k:0-k|0)+a+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)+((h|0)>-1?h:0-h|0)|0}g=g+1|0;b=b+e|0}return a|0}function tm(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=1;a=0;while(1){if((g|0)<(f|0))c=0;else break;while(1){if((c|0)>=8)break;j=c+e|0;k=(d[b+c>>0]|0)-(d[b+j>>0]|0)|0;j=(d[b+(c|1)>>0]|0)-(d[b+(j+1)>>0]|0)|0;i=c|2;i=(d[b+i>>0]|0)-(d[b+(i+e)>>0]|0)|0;h=c|3;h=(d[b+h>>0]|0)-(d[b+(h+e)>>0]|0)|0;c=c+4|0;a=((k|0)>-1?k:0-k|0)+a+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)+((h|0)>-1?h:0-h|0)|0}g=g+1|0;b=b+e|0}return a|0}function um(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=1;a=0;while(1){if((h|0)<(f|0))g=0;else break;while(1){if((g|0)==16)break;i=g+e|0;i=(d[b+g>>0]|0)-(d[c+g>>0]|0)-(d[b+i>>0]|0)+(d[c+i>>0]|0)|0;g=g+1|0;a=(H(i,i)|0)+a|0}h=h+1|0;b=b+e|0;c=c+e|0}return a|0}function vm(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=1;a=0;while(1){if((h|0)<(f|0))g=0;else break;while(1){if((g|0)==8)break;i=g+e|0;i=(d[b+g>>0]|0)-(d[c+g>>0]|0)-(d[b+i>>0]|0)+(d[c+i>>0]|0)|0;g=g+1|0;a=(H(i,i)|0)+a|0}h=h+1|0;b=b+e|0;c=c+e|0}return a|0}function wm(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=1;a=0;while(1){if((g|0)<(f|0))c=0;else break;while(1){if((c|0)>=16)break;h=c+e|0;k=(d[b+c>>0]|0)-(d[b+h>>0]|0)|0;k=H(k,k)|0;j=(d[b+(c|1)>>0]|0)-(d[b+(h+1)>>0]|0)|0;j=H(j,j)|0;i=(d[b+(c|2)>>0]|0)-(d[b+(h+2)>>0]|0)|0;i=H(i,i)|0;h=(d[b+(c|3)>>0]|0)-(d[b+(h+3)>>0]|0)|0;c=c+4|0;a=k+a+j+i+(H(h,h)|0)|0}g=g+1|0;b=b+e|0}return a|0}function xm(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=1;a=0;while(1){if((g|0)<(f|0))c=0;else break;while(1){if((c|0)>=8)break;h=c+e|0;k=(d[b+c>>0]|0)-(d[b+h>>0]|0)|0;k=H(k,k)|0;j=(d[b+(c|1)>>0]|0)-(d[b+(h+1)>>0]|0)|0;j=H(j,j)|0;i=(d[b+(c|2)>>0]|0)-(d[b+(h+2)>>0]|0)|0;i=H(i,i)|0;h=(d[b+(c|3)>>0]|0)-(d[b+(h+3)>>0]|0)|0;c=c+4|0;a=k+a+j+i+(H(h,h)|0)|0}g=g+1|0;b=b+e|0}return a|0}function ym(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=0;h=0;k=0;while(1){if((j|0)<(g|0))i=0;else break;while(1){if((i|0)==16)break;l=(d[b+i>>0]|0)-(d[e+i>>0]|0)|0;i=i+1|0;k=(H(l,l)|0)+k|0}j=j+1|0;a:do if((j|0)<(g|0)){i=0;while(1){if((i|0)==15)break a;o=i+f|0;n=i+1|0;l=o+1|0;m=(d[b+i>>0]|0)-(d[b+o>>0]|0)-(d[b+n>>0]|0)+(d[b+l>>0]|0)|0;l=(d[e+i>>0]|0)-(d[e+o>>0]|0)-(d[e+n>>0]|0)+(d[e+l>>0]|0)|0;i=n;h=((m|0)>-1?m:0-m|0)+h-((l|0)>-1?l:0-l|0)|0}}while(0);b=b+f|0;e=e+f|0}b=(h|0)>-1?h:0-h|0;if(!a)b=b<<3;else b=H(c[(c[a+596>>2]|0)+712>>2]|0,b)|0;return b+k|0}function zm(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=0;h=0;k=0;while(1){if((j|0)<(g|0))i=0;else break;while(1){if((i|0)==8)break;l=(d[b+i>>0]|0)-(d[e+i>>0]|0)|0;i=i+1|0;k=(H(l,l)|0)+k|0}j=j+1|0;a:do if((j|0)<(g|0)){i=0;while(1){if((i|0)==7)break a;o=i+f|0;n=i+1|0;l=o+1|0;m=(d[b+i>>0]|0)-(d[b+o>>0]|0)-(d[b+n>>0]|0)+(d[b+l>>0]|0)|0;l=(d[e+i>>0]|0)-(d[e+o>>0]|0)-(d[e+n>>0]|0)+(d[e+l>>0]|0)|0;i=n;h=((m|0)>-1?m:0-m|0)+h-((l|0)>-1?l:0-l|0)|0}}while(0);b=b+f|0;e=e+f|0}b=(h|0)>-1?h:0-h|0;if(!a)b=b<<3;else b=H(c[(c[a+596>>2]|0)+712>>2]|0,b)|0;return b+k|0}function Am(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=(d[c>>0]|0)-(d[e>>0]|0)|0;u=(d[c+1>>0]|0)-(d[e+1>>0]|0)|0;w=u-v|0;t=(d[c+2>>0]|0)-(d[e+2>>0]|0)|0;u=t-u|0;s=(d[c+3>>0]|0)-(d[e+3>>0]|0)|0;t=s-t|0;r=(d[c+4>>0]|0)-(d[e+4>>0]|0)|0;s=r-s|0;q=(d[c+5>>0]|0)-(d[e+5>>0]|0)|0;r=q-r|0;p=(d[c+6>>0]|0)-(d[e+6>>0]|0)|0;q=p-q|0;o=(d[c+7>>0]|0)-(d[e+7>>0]|0)|0;p=o-p|0;n=(d[c+8>>0]|0)-(d[e+8>>0]|0)|0;o=n-o|0;h=(d[c+9>>0]|0)-(d[e+9>>0]|0)|0;n=h-n|0;i=(d[c+10>>0]|0)-(d[e+10>>0]|0)|0;h=i-h|0;j=(d[c+11>>0]|0)-(d[e+11>>0]|0)|0;i=j-i|0;k=(d[c+12>>0]|0)-(d[e+12>>0]|0)|0;j=k-j|0;l=(d[c+13>>0]|0)-(d[e+13>>0]|0)|0;k=l-k|0;b=(d[c+14>>0]|0)-(d[e+14>>0]|0)|0;l=b-l|0;b=(d[c+15>>0]|0)-(d[e+15>>0]|0)-b|0;m=1;b=((w|0)>-1?w:0-w|0)+((v|0)>-1?v:0-v|0)+((u|0)>-1?u:0-u|0)+((t|0)>-1?t:0-t|0)+((s|0)>-1?s:0-s|0)+((r|0)>-1?r:0-r|0)+((q|0)>-1?q:0-q|0)+((p|0)>-1?p:0-p|0)+((o|0)>-1?o:0-o|0)+((n|0)>-1?n:0-n|0)+((h|0)>-1?h:0-h|0)+((i|0)>-1?i:0-i|0)+((j|0)>-1?j:0-j|0)+((k|0)>-1?k:0-k|0)+((l|0)>-1?l:0-l|0)+((b|0)>-1?b:0-b|0)|0;while(1){k=c+f|0;l=e+f|0;if((m|0)>=(g|0))break;h=a[k>>0]|0;i=a[l>>0]|0;w=(d[e>>0]|0)-(d[c>>0]|0)+((h&255)-(i&255))|0;j=1;b=((w|0)>-1?w:0-w|0)+b|0;while(1){if((j|0)==16)break;v=a[k+j>>0]|0;w=a[l+j>>0]|0;t=(d[c+j>>0]|0)-(d[e+j>>0]|0)|0;s=(h&255)-(i&255)|0;u=j-f+-1|0;u=(v&255)-(w&255)-(Cm(t,s,s+t-(d[k+u>>0]|0)+(d[l+u>>0]|0)|0)|0)|0;j=j+1|0;b=((u|0)>-1?u:0-u|0)+b|0;h=v;i=w}m=m+1|0;e=l;c=k}return b|0}function Bm(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;b=a[c>>0]|0;h=a[e>>0]|0;p=(b&255)-(h&255)|0;j=(d[c+1>>0]|0)-(d[e+1>>0]|0)|0;q=j-p|0;k=(d[c+2>>0]|0)-(d[e+2>>0]|0)|0;j=k-j|0;l=(d[c+3>>0]|0)-(d[e+3>>0]|0)|0;k=l-k|0;m=(d[c+4>>0]|0)-(d[e+4>>0]|0)|0;l=m-l|0;n=(d[c+5>>0]|0)-(d[e+5>>0]|0)|0;m=n-m|0;i=(d[c+6>>0]|0)-(d[e+6>>0]|0)|0;n=i-n|0;i=(d[c+7>>0]|0)-(d[e+7>>0]|0)-i|0;o=1;i=((q|0)>-1?q:0-q|0)+((p|0)>-1?p:0-p|0)+((j|0)>-1?j:0-j|0)+((k|0)>-1?k:0-k|0)+((l|0)>-1?l:0-l|0)+((m|0)>-1?m:0-m|0)+((n|0)>-1?n:0-n|0)+((i|0)>-1?i:0-i|0)|0;while(1){k=c+f|0;l=e+f|0;if((o|0)>=(g|0))break;m=a[k>>0]|0;n=a[l>>0]|0;b=(h&255)-(b&255)+((m&255)-(n&255))|0;j=1;b=((b|0)>-1?b:0-b|0)+i|0;h=m;i=n;while(1){if((j|0)==8)break;p=a[k+j>>0]|0;q=a[l+j>>0]|0;s=(d[c+j>>0]|0)-(d[e+j>>0]|0)|0;t=(h&255)-(i&255)|0;r=j-f+-1|0;r=(p&255)-(q&255)-(Cm(s,t,t+s-(d[k+r>>0]|0)+(d[l+r>>0]|0)|0)|0)|0;j=j+1|0;b=((r|0)>-1?r:0-r|0)+b|0;h=p;i=q}o=o+1|0;i=b;e=l;c=k;b=m;h=n}return i|0}function Cm(a,b,c){a=a|0;b=b|0;c=c|0;if((a|0)>(b|0))return ((c|0)>(b|0)?((c|0)>(a|0)?a:c):b)|0;else return ((b|0)>(c|0)?((c|0)>(a|0)?c:a):b)|0;return 0}function Dm(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==8)break;h=c;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;c=c+e|0;b=b+8|0}return}function Em(a){a=a|0;var b=0;b=0;while(1){if((b|0)==8){b=0;break}Fm(a+(b<<3<<1)|0);b=b+1|0}while(1){if((b|0)==8)break;Gm(a+(b<<1)|0);b=b+1|0}return}function Fm(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;p=a+4|0;e=c[p>>2]|0;q=a+8|0;r=a+12|0;l=c[r>>2]|0;s=a+2|0;f=b[s>>1]|0;d=b[a>>1]|0;if(!(c[q>>2]|e|l|f)){s=d<<3&65528|d<<19;c[a>>2]=s;c[p>>2]=s;c[q>>2]=s;c[r>>2]=s}else{o=(d*16383|0)+1024|0;h=e<<16>>16;j=h*21407|0;d=j+o|0;h=h*8867|0;g=h+o|0;h=o-h|0;j=o-j|0;o=a+6|0;e=b[o>>1]|0;m=(e*19266|0)+(f*22725|0)|0;k=(H(e,-4520)|0)+(f*19266|0)|0;i=(H(e,-22725)|0)+(f*12873|0)|0;e=(H(e,-12873)|0)+(f*4520|0)|0;n=q;f=c[n>>2]|0;if((f|0)==0&(c[n+4>>2]|0)==0){n=e;l=m;e=a+10|0;f=a+14|0}else{x=f<<16>>16;v=x*16383|0;w=l<<16>>16;u=w*8867|0;x=H(x,-16383)|0;w=w*21407|0;t=a+10|0;y=b[t>>1]|0;f=a+14|0;l=b[f>>1]|0;n=(y*19266|0)+e+(H(l,-22725)|0)|0;i=(y*4520|0)+i+(l*19266|0)|0;k=(H(y,-22725)|0)+k+(H(l,-12873)|0)|0;l=(y*12873|0)+m+(l*4520|0)|0;j=v+j-u|0;h=x+h+w|0;g=x+g-w|0;d=v+d+u|0;e=t}b[a>>1]=(l+d|0)>>>11;b[f>>1]=(d-l|0)>>>11;b[s>>1]=(k+g|0)>>>11;b[r>>1]=(g-k|0)>>>11;b[p>>1]=(i+h|0)>>>11;b[e>>1]=(h-i|0)>>>11;b[o>>1]=(n+j|0)>>>11;b[q>>1]=(j-n|0)>>>11}return}function Gm(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=((b[a>>1]|0)*16383|0)+524256|0;s=a+32|0;j=b[s>>1]|0;d=n+(H(j,-8867)|0)|0;r=n+(H(j,-21407)|0)|0;o=a+16|0;c=b[o>>1]|0;p=a+48|0;q=b[p>>1]|0;f=(q*19266|0)+(c*22725|0)|0;e=(H(q,-4520)|0)+(c*19266|0)|0;g=(H(q,-22725)|0)+(c*12873|0)|0;c=(H(q,-12873)|0)+(c*4520|0)|0;q=a+64|0;h=b[q>>1]|0;m=h<<16>>16==0;h=h<<16>>16;i=H(h,-16383)|0;h=m?0:h*16383|0;l=n+(j*21407|0)+h|0;i=m?0:i;j=n+(j*8867|0)+i|0;i=d+i|0;h=r+h|0;r=a+80|0;d=b[r>>1]|0;if(!(d<<16>>16)){m=f;d=g}else{d=d<<16>>16;c=(d*19266|0)+c|0;e=(H(d,-22725)|0)+e|0;m=(d*12873|0)+f|0;d=(d*4520|0)+g|0}n=a+96|0;f=b[n>>1]|0;if(!(f<<16>>16)){k=i;g=l}else{g=f<<16>>16;h=(H(g,-8867)|0)+h|0;k=(g*21407|0)+i|0;j=(H(g,-21407)|0)+j|0;g=(g*8867|0)+l|0}i=a+112|0;f=b[i>>1]|0;if(!(f<<16>>16))f=m;else{l=f<<16>>16;c=(H(l,-22725)|0)+c|0;e=(H(l,-12873)|0)+e|0;f=(l*4520|0)+m|0;d=(l*19266|0)+d|0}b[a>>1]=f+g>>20;b[o>>1]=e+j>>20;b[s>>1]=d+k>>20;b[p>>1]=c+h>>20;b[q>>1]=h-c>>20;b[r>>1]=k-d>>20;b[n>>1]=j-e>>20;b[i>>1]=g-f>>20;return}function Hm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);b=Jm(a,b,c)|0;if((b|0)<0)lf(a,16,150135,d);$c=d;return b|0}function Im(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;i=a+27016|0;g=c[i>>2]|0;f=c[a+27008>>2]|0;e=(H(f+1|0,g)|0)+1|0;h=H(f<<4,c[a+27012>>2]<<2|1)|0;b=a+29924|0;c[b>>2]=Ng(e+g|0,17)|0;d=a+29928|0;c[d>>2]=Ng((c[i>>2]|0)+e<<2,17)|0;e=a+29932|0;c[e>>2]=Ng(h+16|0,17)|0;f=Ng(H(g<<2,f)|0,17)|0;a=a+29936|0;c[a>>2]=f;if(((c[b>>2]|0)!=0?(c[d>>2]|0)!=0:0)?!((f|0)==0|(c[e>>2]|0)==0):0)a=0;else{ng(b);ng(d);ng(e);ng(a);a=-12}return a|0}function Jm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=j;e=a+28|0;i=c[(c[e>>2]|0)+20>>2]|0;c[b+8>>2]=a;c[b+4>>2]=a;a:do if(!(c[a+696>>2]&1))e=Km(a,c[b>>2]|0,d)|0;else{h=i+300|0;do if((c[h>>2]|0)!=1){if(!(c[(c[a+12>>2]|0)+68>>2]|0)){if(c[a+700>>2]|0)break;if((c[a+400>>2]|0)==11)break}lf(a,16,150163,f);e=-1;break a}while(0);if(c[(c[e>>2]|0)+4>>2]|0){e=Rg(8)|0;c[b+12>>2]=e;if(!e){e=-12;break}g=c[e+4>>2]|0;c[g>>2]=-1;c[g+4>>2]=-1}eV((c[i>>2]|0)+8|0)|0;g=a+700|0;if((c[g>>2]|0)==0?(c[a+400>>2]|0)!=11:0){f=i+184|0;eV(f)|0;c[i+316>>2]=c[b>>2];c[i+320>>2]=d;c[h>>2]=2;e=i+60|0;_W(e|0)|0;while(1){if((c[h>>2]|0)==1)break;Vb(e|0,f|0)|0}e=c[i+296>>2]|0;fV(f)|0}else e=Km(a,c[b>>2]|0,d)|0;if(((c[g>>2]|0)==0?(c[a+400>>2]|0)!=11:0)?(c[(c[a+12>>2]|0)+68>>2]|0)==0:0)ai(a);if(e|0)Sf(b+12|0);fV((c[i>>2]|0)+8|0)|0}while(0);$c=j;return e|0}function Km(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);d=Lm(a,b,d)|0;if((d|0)<0){lf(a,16,150225,e);c[b+72>>2]=0;c[b+68>>2]=0}$c=e;return d|0}function Lm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);i=m+8|0;e=m;j=c[a+592>>2]|0;k=a+8|0;do if(!(c[k>>2]|0)){h=a+92|0;g=a+96|0;f=a+872|0;if((nh(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0,c[f+4>>2]|0,-1,0,a)|0)>=0?(c[a+112>>2]|0)>=0:0){f=b+68|0;e=b+72|0;if((c[f>>2]|0)>=1?(c[e>>2]|0)>=1:0)e=1;else{o=c[h>>2]|0;h=c[a+680>>2]|0;n=0-(0-(c[a+100>>2]|0)>>h)|0;c[f>>2]=(o|0)>(n|0)?o:n;g=c[g>>2]|0;h=0-(0-(c[a+104>>2]|0)>>h)|0;c[e>>2]=(g|0)>(h|0)?g:h;e=0}if((((c[b>>2]|0)==0?(c[b+4>>2]|0)==0:0)?(c[b+8>>2]|0)==0:0)?(c[b+12>>2]|0)==0:0){f=e;l=13;break}lf(a,16,150290,i);e=-22;break}lf(a,16,150246,e);e=-22}else{f=1;l=13}while(0);if((l|0)==13){e=Mm(a,b)|0;if((e|0)>=0){if(j){e=c[j+20>>2]|0;if(!e)l=18;else e=hd[e&15](a,b)|0}else{c[a+768>>2]=c[a+112>>2];l=18}if((l|0)==18){e=id[c[a+400>>2]&15](a,b,d)|0;if((e|0)>=0){Nm(a,b);e=Om(b)|0}}if((c[k>>2]|f|0)==0?(c[(c[a+12>>2]|0)+116>>2]&16|0)==0:0){c[b+68>>2]=c[a+92>>2];c[b+72>>2]=c[a+96>>2]}if((e|0)<0)rg(b)}}$c=m;return e|0}function Mm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);h=l+24|0;k=l+16|0;j=l+8|0;i=l;g=c[(c[a+28>>2]|0)+40>>2]|0;do if(g){f=g+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;d=b+104|0;c[d>>2]=e;c[d+4>>2]=f;d=b+112|0;c[d>>2]=e;c[d+4>>2]=f;d=g+56|0;f=c[d+4>>2]|0;e=b+328|0;c[e>>2]=c[d>>2];c[e+4>>2]=f;e=g+48|0;f=c[e+4>>2]|0;d=b+336|0;c[d>>2]=c[e>>2];c[d+4>>2]=f;c[b+356>>2]=c[g+28>>2];d=0;while(1){if(d>>>0>=8){e=9;break}e=Hh(g,c[74972+(d<<3)>>2]|0,h)|0;if(e|0){f=qh(b,c[74972+(d<<3)+4>>2]|0,c[h>>2]|0)|0;if(!f){e=7;break}XW(c[f+4>>2]|0,e|0,c[h>>2]|0)|0}d=d+1|0}if((e|0)==7){d=-12;break}else if((e|0)==9){Qm(g,b);f=b+296|0;d=c[f>>2]|0;c[f>>2]=(c[g+36>>2]&4|0)==0?d&-5:d|4;e=10;break}}else e=10;while(0);a:do if((e|0)==10){f=a+584|0;g=c[f+4>>2]|0;d=b+224|0;c[d>>2]=c[f>>2];c[d+4>>2]=g;d=b+304|0;if((c[d>>2]|0)==2)c[d>>2]=c[a+316>>2];d=b+308|0;if((c[d>>2]|0)==2)c[d>>2]=c[a+320>>2];d=b+312|0;if((c[d>>2]|0)==2)c[d>>2]=c[a+324>>2];d=b+300|0;if(!(c[d>>2]|0))c[d>>2]=c[a+328>>2];d=b+316|0;if(!(c[d>>2]|0))c[d>>2]=c[a+332>>2];switch(c[(c[a+12>>2]|0)+8>>2]|0){case 0:{c[b+80>>2]=c[a+112>>2];d=b+92|0;if(!(c[d>>2]|0)){g=a+188|0;j=c[g+4>>2]|0;k=d;c[k>>2]=c[g>>2];c[k+4>>2]=j}e=c[b+68>>2]|0;if(!e){d=0;break a}f=c[b+72>>2]|0;if(!f){d=0;break a};c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];if((Rm(e,f,h)|0)>=0){d=0;break a}k=b+96|0;j=c[k>>2]|0;c[i>>2]=c[d>>2];c[i+4>>2]=j;lf(a,24,176822,i);c[b+92>>2]=0;c[k>>2]=1;d=0;break a}case 1:break;default:{d=0;break a}}d=b+232|0;if(!(c[d>>2]|0))c[d>>2]=c[a+344>>2];d=b+80|0;if((c[d>>2]|0)<0)c[d>>2]=c[a+352>>2];f=b+240|0;i=f;do if((c[i>>2]|0)==0&(c[i+4>>2]|0)==0){g=a+376|0;e=g;d=c[e>>2]|0;e=c[e+4>>2]|0;if((d|0)==0&(e|0)==0){d=c[a+348>>2]|0;if(d>>>0<=64)break;c[k>>2]=d;lf(a,16,150454,k);d=-38;break a}d=lh(d,e)|0;if((d|0)==(c[a+348>>2]|0)){j=g;k=c[j+4>>2]|0;a=f;c[a>>2]=c[j>>2];c[a+4>>2]=k;break}else{lf(a,16,150417,j);d=-22;break a}}else d=c[a+348>>2]|0;while(0);c[b+352>>2]=d;d=0}while(0);$c=l;return d|0}function Nm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);i=j+16|0;g=j;a:do if(!(c[a+8>>2]|0)){d=b+80|0;e=eh(c[d>>2]|0)|0;d=Gg(c[d>>2]|0)|0;if(!d)f=0;else f=c[d+8>>2]|0;e=(e|0)!=1|(f&2|0)==0?e:2;d=0;while(1){if((d|0)>=(e|0))break;if(!(c[b+(d<<2)>>2]|0)){h=7;break}else d=d+1|0}if((h|0)==7){c[g>>2]=150333;c[g+4>>2]=129184;c[g+8>>2]=1782;lf(0,0,164242,g);ub()}d=(f&64|0)==0|(e|0)!=1?e:2;e=(d|0)>0;while(1){if(!(e&d>>>0<8))break a;f=b+(d<<2)|0;if(c[f>>2]|0)lf(a,16,150348,i);c[f>>2]=0;d=d+1|0}}while(0);$c=j;return}function Om(a){a=a|0;var b=0,d=0,e=0;e=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);d=e;b=a+400|0;Sf(b);a=cg(20)|0;c[d>>2]=a;do if(a){a=Dg(a,20,20,0,1)|0;if(!a){gf(d);a=-12;break}else{c[b>>2]=a;a=0;break}}else a=-12;while(0);$c=e;return a|0}function Pm(a,b){a=a|0;b=b|0;var d=0,e=0;e=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);d=e;c[d>>2]=b;a=c[b+8>>2]|0;if(a|0)nd[a&63](c[b+4>>2]|0);a=c[b+16>>2]|0;if(a|0)nd[a&63](c[b+12>>2]|0);gf(d);$c=e;return}function Qm(a,b){a=a|0;b=b|0;var d=0,e=0;d=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=d;a=Hh(a,13,e)|0;Tm(a,c[e>>2]|0,b+344|0)|0;$c=d;return}function Rm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=c[d+4>>2]|0;if((e|0)>=1?(f=c[d>>2]|0,(f|0)>=0):0){d=(f|0)<(e|0);if((f|0)==0|(f|0)==(e|0))d=0;else{g=d?e:f;f=d?f:e;d=Sm(d?a:b,0,f,((f|0)<0)<<31>>31,g,((g|0)<0)<<31>>31,0)|0;f=M()|0;d=(f|0)>0|(f|0)==0&d>>>0>0?0:-22}}else d=-22;return d|0}function Sm(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;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;do if(!((d|0)<0|((f|0)<0|(f|0)==0&e>>>0<1))?(j=g&-8193,!(j>>>0>5|(j|0)==4)):0){if(g&8192){j=IW(a|0,b|0,1,-2147483648)|0;i=M()|0;if(i>>>0<0|(i|0)==0&j>>>0<2)break;g=g+-8192|0}if((b|0)<0){j=(b|0)>-2147483648|(b|0)==-2147483648&a>>>0>1;j=JW(0,0,(j?a:1)|0,(j?b:-2147483648)|0)|0;f=Sm(j,M()|0,c,d,e,f,g>>>1&1^g)|0;f=JW(0,0,f|0,M()|0)|0;L(M()|0);return f|0}if((g|0)==5){g=MW(e|0,f|0,2,0)|0;h=M()|0}else{j=(g&1|0)==0;g=IW(e|0,f|0,-1,-1)|0;h=M()|0;g=j?0:g;h=j?0:h}if(!(((d|0)<0|(d|0)==0&c>>>0<2147483648)&((f|0)<0|(f|0)==0&e>>>0<2147483648))){l=RW(c|0,d|0,32)|0;k=M()|0;j=OW(l|0,k|0,a|0,0)|0;d=M()|0;i=OW(c|0,0,b|0,0)|0;i=IW(j|0,d|0,i|0,M()|0)|0;d=M()|0;c=OW(c|0,0,a|0,0)|0;c=IW(0,i|0,c|0,M()|0)|0;j=M()|0;a=OW(l|0,k|0,b|0,0)|0;a=IW(d|0,0,a|0,M()|0)|0;a=IW(a|0,M()|0,(j>>>0>>0|(j|0)==(i|0)&c>>>0<0)&1|0,0)|0;b=M()|0;j=IW(g|0,h|0,c|0,j|0)|0;c=M()|0;b=IW(a|0,b|0,(c>>>0>>0|(c|0)==(h|0)&j>>>0>>0)&1|0,0)|0;a=63;g=M()|0;h=d;while(1){if((a|0)<=-1)break;d=SW(j|0,c|0,a|0)|0;M()|0;n=TW(b|0,g|0,1)|0;m=M()|0;n=d&1|n;d=TW(i|0,h|0,1)|0;l=M()|0;k=m>>>0>>0|(m|0)==(f|0)&n>>>0>>0;m=JW(n|0,m|0,(k?0:e)|0,(k?0:f)|0)|0;a=a+-1|0;b=m;g=M()|0;i=d|(k^1)&1;h=l}a=(h|0)<0;b=a?-2147483648:h;a=a?0:i;break}if((b|0)<0|(b|0)==0&a>>>0<2147483648){a=OW(c|0,d|0,a|0,b|0)|0;a=IW(g|0,h|0,a|0,M()|0)|0;a=MW(a|0,M()|0,e|0,f|0)|0;b=M()|0;break}i=MW(a|0,b|0,e|0,f|0)|0;j=M()|0;a=PW(a|0,b|0,e|0,f|0)|0;a=OW(a|0,M()|0,c|0,d|0)|0;a=IW(a|0,M()|0,g|0,h|0)|0;a=MW(a|0,M()|0,e|0,f|0)|0;b=M()|0;if(((c|0)!=0|(d|0)!=0)&((j|0)>0|(j|0)==0&i>>>0>2147483646)?(n=JW(-1,2147483647,a|0,b|0)|0,n=MW(n|0,M()|0,c|0,d|0)|0,m=M()|0,(j|0)>(m|0)|(j|0)==(m|0)&i>>>0>n>>>0):0){b=-2147483648;a=0;break}n=OW(i|0,j|0,c|0,d|0)|0;a=IW(a|0,b|0,n|0,M()|0)|0;b=M()|0}else{b=-2147483648;a=0}while(0);L(b|0);return a|0}function Tm(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;f=b+c|0;a:do if((c|0)!=0&((b|0)!=0&(d|0)!=0))if(!(a[f+-1>>0]|0)){e=b;b=0;while(1){if(e>>>0>=f>>>0)break a;c=e+(dU(e)|0)+1|0;if(c>>>0>=f>>>0){b=-1094995529;break a}if(!(a[e>>0]|0)){b=-1094995529;break a}b=th(d,e,c,0)|0;if((b|0)<0)break a;e=c+(dU(c)|0)+1|0}}else b=-1094995529;else b=0;while(0);return b|0}function Um(a){a=a|0;switch(a|0){case 12:{a=0;break}case 13:{a=4;break}case 14:{a=5;break}default:{}}return a|0}function Vm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=j;h=j+8|0;d=c[a+28216>>2]|0;e=c[d+1184>>2]|0;a:do switch(e|0){case 9:{d=c[d+12>>2]|0;if((d|0)==3){e=h+4|0;d=(c[(c[a+4>>2]|0)+324>>2]|0)==0?75:68;g=23;break a}else{e=h+4|0;d=(d|0)==2?72:62;g=23;break a}}case 10:{d=c[d+12>>2]|0;if((d|0)==3){e=h+4|0;d=(c[(c[a+4>>2]|0)+324>>2]|0)==0?77:70;g=23;break a}else{e=h+4|0;d=(d|0)==2?66:64;g=23;break a}}case 12:{d=c[d+12>>2]|0;if((d|0)==3){e=h+4|0;d=(c[(c[a+4>>2]|0)+324>>2]|0)==0?137:133;g=23;break a}else{e=h+4|0;d=(d|0)==2?129:125;g=23;break a}}case 14:{d=c[d+12>>2]|0;if((d|0)==3){e=h+4|0;d=(c[(c[a+4>>2]|0)+324>>2]|0)==0?139:135;g=23;break a}else{e=h+4|0;d=(d|0)==2?131:127;g=23;break a}}case 8:{e=c[d+12>>2]|0;if((e|0)==3){d=c[a+4>>2]|0;if(!(c[d+324>>2]|0)){e=h+4|0;d=73;g=23;break a}else{e=h+4|0;d=(c[d+328>>2]|0)==2?14:5;g=23;break a}}d=a+4|0;f=c[d>>2]|0;if((e|0)==2){e=h+4|0;d=(c[f+328>>2]|0)==2?13:4;g=23;break a}e=c[(c[f+12>>2]|0)+24>>2]|0;if(!e){e=h+4|0;d=(c[f+328>>2]|0)==2?12:0;g=23}else{i=e;e=h;g=24}break}default:{d=c[a+4>>2]|0;c[f>>2]=e;lf(d,16,150631,f);d=-1094995529}}while(0);if((g|0)==23){c[h>>2]=d;i=h;d=a+4|0;g=24}b:do if((g|0)==24){c[e>>2]=-1;g=c[d>>2]|0;h=g+112|0;f=(b|0)!=0;e=0;while(1){d=c[i+(e<<2)>>2]|0;if((d|0)==-1)break;if(f|(d|0)!=(c[h>>2]|0))e=e+1|0;else break b}d=dM(g,i)|0}while(0);$c=j;return d|0}function Wm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[a>>2]|0;g=c[b+4>>2]|0;h=OW(g|0,((g|0)<0)<<31>>31|0,f|0,((f|0)<0)<<31>>31|0)|0;d=M()|0;e=c[b>>2]|0;b=c[a+4>>2]|0;a=OW(b|0,((b|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0;a=JW(h|0,d|0,a|0,M()|0)|0;d=M()|0;if((a|0)==0&(d|0)==0)if((g|0)==0|(b|0)==0)if(!f)b=-2147483648;else return ((e|0)==0?-2147483648:(f>>31)-(e>>31)|0)|0;else b=0;else{b=b^g;b=RW(a^b|0,d^((b|0)<0)<<31>>31|0,63)|0;M()|0;b=b|1}return b|0}function Xm(a){a=a|0;var b=0,d=0,e=0;b=c[a+4>>2]|0;switch(b|0){case 66:{d=512;e=3;break}case 244:case 122:case 110:{d=2048;e=3;break}default:{}}if((e|0)==3)b=c[a+1196>>2]<<8&d|b;return b|0}function Ym(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);i=o+16|0;h=o;f=c[a+28216>>2]|0;b=c[f+84>>2]|0;d=c[f+80>>2]|0;e=c[f+88>>2]|0;f=c[f+92>>2]|0;m=c[a+25668>>2]|0;p=d+b|0;k=m-p|0;n=c[a+25672>>2]|0;g=f+e|0;j=n-g|0;if(m>>>0<=p>>>0){c[h>>2]=151189;c[h+4>>2]=138046;c[h+8>>2]=878;lf(0,0,164242,h);ub()}if(n>>>0<=g>>>0){c[i>>2]=151243;c[i+4>>2]=138046;c[i+8>>2]=879;lf(0,0,164242,i);ub()}g=a+29664|0;i=c[g>>2]|0;h=a+29668|0;if((((i|0)>0?(l=c[h>>2]|0,(e|d|0)==0&(l|0)>0):0)?(i+15^k+15)>>>0<16:0)?!((l|0)>(j|0)|((i|0)>(k|0)|(l+15^j+15)>>>0>15)):0){h=l;g=i;f=n-l|0;e=0;d=0;b=m-i|0}else{c[g>>2]=0;c[h>>2]=0;h=j;g=k}p=c[a+4>>2]|0;c[p+100>>2]=m;c[p+104>>2]=n;c[p+92>>2]=g;c[p+96>>2]=h;c[a+25720>>2]=b;c[a+25716>>2]=d;c[a+25724>>2]=e;c[a+25728>>2]=f;$c=o;return}function Zm(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);j=n+32|0;k=n+24|0;g=n+16|0;f=n+8|0;e=c[a+28216>>2]|0;l=a+4|0;i=c[l>>2]|0;h=e+100|0;c[j>>2]=c[h>>2];c[j+4>>2]=c[h+4>>2];_m(i,j)|0;$m(c[(c[l>>2]|0)+112>>2]|0,a+25676|0,a+25680|0)|0;if(c[e+132>>2]|0){i=TW(c[e+140>>2]|0,0,(c[a+25704>>2]|0)>>>0<44|0)|0;j=M()|0;h=c[l>>2]|0;an(h+764|0,h+760|0,H(c[h+84>>2]|0,c[e+136>>2]|0)|0,0,i,j,1073741824,0)|0}mg(a);c[a+26384>>2]=0;c[a+29564>>2]=1;bn(a);b=cn(a)|0;a:do if((b|0)<0){lf(c[l>>2]|0,16,150604,n);m=15}else{b=e+1184|0;d=c[b>>2]|0;b:do if((d+-8|0)>>>0<=6){switch(d|0){case 11:case 13:break b;default:{}}c[(c[l>>2]|0)+676>>2]=d;c[a+29596>>2]=d;j=e+12|0;i=c[j>>2]|0;c[a+29592>>2]=i;c[a+25664>>2]=(d|0)>8&1;c[a+27048>>2]=i;c[a+27044>>2]=d;dn(a+16|0,d,i);en(a+152|0,c[e+1188>>2]|0);fn(a+184|0,c[b>>2]|0);gn(a+25736|0,c[(c[l>>2]|0)+16>>2]|0,c[b>>2]|0,c[j>>2]|0);hn(a+8|0,c[b>>2]|0);if(!(c[(c[l>>2]|0)+696>>2]&2)){b=jn(a,c[a+25628>>2]|0)|0;if((b|0)>=0){b=0;d=1;break a}lf(c[l>>2]|0,16,150657,g);m=15;break a}e=a+25632|0;f=a+25628|0;g=a+25732|0;h=a+27016|0;i=a+26400|0;j=a+26404|0;d=0;while(1){if((d|0)>=(c[e>>2]|0)){b=0;d=1;break a}o=c[f>>2]|0;b=o+(d*34768|0)|0;c[b>>2]=a;p=H(c[h>>2]|0,d<<4)|0;c[o+(d*34768|0)+21704>>2]=(c[g>>2]|0)+p;c[o+(d*34768|0)+32848>>2]=(c[i>>2]|0)+(p<<1);c[o+(d*34768|0)+32852>>2]=(c[j>>2]|0)+(p<<1);b=jn(a,b)|0;if((b|0)<0)break;else d=d+1|0}lf(c[l>>2]|0,16,150657,k);m=15;break a}while(0);b=c[l>>2]|0;c[f>>2]=d;lf(b,16,150631,f);b=-1094995529;m=15}while(0);if((m|0)==15){mg(a);d=0}c[a+25692>>2]=d;$c=n;return b|0}function _m(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);d=f+8|0;e=f;h=c[a+92>>2]|0;g=c[a+96>>2]|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];d=Rm(h,g,d)|0;if((d|0)<0){h=c[b+4>>2]|0;c[e>>2]=c[b>>2];c[e+4>>2]=h;lf(a,24,151160,e);c[a+188>>2]=0;c[a+192>>2]=1}else{g=b;h=c[g+4>>2]|0;d=a+188|0;c[d>>2]=c[g>>2];c[d+4>>2]=h;d=0}$c=f;return d|0}function $m(a,b,e){a=a|0;b=b|0;e=e|0;a=Gg(a)|0;if(!a)a=-38;else{c[b>>2]=d[a+5>>0];c[e>>2]=d[a+6>>0];a=0}return a|0}function an(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;x=g^e;n=(e|0)>-1|(e|0)==-1&d>>>0>4294967295;j=JW(0,0,d|0,e|0)|0;k=M()|0;j=n?d:j;k=n?e:k;n=(g|0)>-1|(g|0)==-1&f>>>0>4294967295;l=JW(0,0,f|0,g|0)|0;m=M()|0;l=n?f:l;m=n?g:m;n=cM(j,k,l,m)|0;o=M()|0;if(!((n|0)==0&(o|0)==0)){d=MW(j|0,k|0,n|0,o|0)|0;e=M()|0;f=MW(l|0,m|0,n|0,o|0)|0;g=M()|0}w=(e|0)>(i|0)|(e|0)==(i|0)&d>>>0>h>>>0;v=(g|0)>(i|0)|(g|0)==(i|0)&f>>>0>h>>>0;j=v|w;k=j?1:d;j=j?0:f;a:do if(!((f|0)==0&(g|0)==0|(v|w)^1)){w=0;v=1;while(1){m=MW(d|0,e|0,f|0,g|0)|0;l=M()|0;n=OW(m|0,l|0,f|0,g|0)|0;n=JW(d|0,e|0,n|0,M()|0)|0;o=M()|0;r=((k|0)<0)<<31>>31;p=OW(m|0,l|0,k|0,r|0)|0;s=((w|0)<0)<<31>>31;p=IW(p|0,M()|0,w|0,s|0)|0;z=M()|0;t=((j|0)<0)<<31>>31;q=OW(m|0,l|0,j|0,t|0)|0;u=((v|0)<0)<<31>>31;q=IW(q|0,M()|0,v|0,u|0)|0;y=M()|0;if((z|0)>(i|0)|(z|0)==(i|0)&p>>>0>h>>>0|((y|0)>(i|0)|(y|0)==(i|0)&q>>>0>h>>>0))break;if((n|0)==0&(o|0)==0){k=p;j=q;f=0;g=0;break a}else{e=g;d=f;v=j;w=k;k=p;j=q;f=n;g=o}}if(k){m=JW(h|0,i|0,w|0,s|0)|0;m=MW(m|0,M()|0,k|0,r|0)|0;l=M()|0}if(j){i=JW(h|0,i|0,v|0,u|0)|0;i=MW(i|0,M()|0,j|0,t|0)|0;z=M()|0;y=l>>>0>z>>>0|(l|0)==(z|0)&m>>>0>i>>>0;m=y?i:m;l=y?z:l}y=TW(j|0,t|0,1)|0;y=OW(y|0,M()|0,m|0,l|0)|0;y=IW(y|0,M()|0,v|0,u|0)|0;y=OW(y|0,M()|0,f|0,g|0)|0;h=M()|0;z=OW(d|0,e|0,j|0,t|0)|0;i=M()|0;if(h>>>0>i>>>0|(h|0)==(i|0)&y>>>0>z>>>0){j=OW(m|0,l|0,j|0,t|0)|0;j=IW(j|0,M()|0,v|0,u|0)|0;M()|0;k=OW(m|0,l|0,k|0,r|0)|0;k=IW(k|0,M()|0,w|0,s|0)|0;M()|0}}else{f=0;g=0}while(0);c[a>>2]=(x|0)<0?0-k|0:k;c[b>>2]=j;return (f|0)==0&(g|0)==0&1|0}function bn(b){b=b|0;var e=0,f=0,g=0;e=0;while(1){if((e|0)==16){e=0;break}g=d[136138+e>>0]|0;a[b+26428+e>>0]=g<<2&12|g>>>2;g=d[150884+e>>0]|0;a[b+26572+e>>0]=g<<2&12|g>>>2;e=e+1|0}while(1){if((e|0)==64)break;g=d[136155+e>>0]|0;a[b+26444+e>>0]=g<<3&56|g>>>3;g=d[150901+e>>0]|0;a[b+26508+e>>0]=g<<3&56|g>>>3;g=d[150966+e>>0]|0;a[b+26588+e>>0]=g<<3&56|g>>>3;g=d[151031+e>>0]|0;a[b+26652+e>>0]=g<<3&56|g>>>3;e=e+1|0}e=b+26716|0;if(!(c[(c[b+28216>>2]|0)+16>>2]|0)){f=b+26428|0;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];e=b+26732|0;f=b+26444|0;g=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));e=b+26796|0;f=b+26508|0;g=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));e=b+26860|0;f=b+26572|0;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];e=b+26876|0;f=b+26588|0;g=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));e=b+26940|0;f=b+26652|0;g=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0))}else{f=136138;g=e+16|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));e=b+26732|0;f=136155;g=e+64|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));e=b+26796|0;f=150901;g=e+64|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));e=b+26860|0;f=150884;g=e+16|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));e=b+26876|0;f=150966;g=e+64|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));e=b+26940|0;f=151031;g=e+64|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0))}return}function cn(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=$c;$c=$c+96|0;if(($c|0)>=(ad|0))N(96);r=v+80|0;q=v+72|0;p=v+64|0;o=v+56|0;l=v+48|0;i=v+40|0;g=v+32|0;f=v+24|0;e=v+16|0;d=v+8|0;s=a+27016|0;h=c[s>>2]|0;t=a+27008|0;n=H((c[t>>2]|0)+1|0,h)|0;b=c[a+25632>>2]|0;h=H((b|0)>1?b:1,h<<1)|0;b=Ag(h,8)|0;c[a+25732>>2]=b;a:do if(!b){lf(c[a+4>>2]|0,16,150681,v);u=29}else{j=a+25628|0;c[(c[j>>2]|0)+21704>>2]=b;k=cg(n*48|0)|0;c[a+25972>>2]=k;m=(n|0)==0;if(!(m|(k|0)!=0)){lf(c[a+4>>2]|0,16,150681,d);u=29;break}d=cg((c[s>>2]|0)+n<<1)|0;k=a+28220|0;c[k>>2]=d;if((d|0)==0?(c[s>>2]|0)+n&2147483647|0:0){lf(c[a+4>>2]|0,16,150681,e);u=29;break}d=n<<1;e=cg(d)|0;c[a+26392>>2]=e;if(!((d|0)==0|(e|0)!=0)){lf(c[a+4>>2]|0,16,150681,f);u=29;break}f=cg(n)|0;c[a+26396>>2]=f;if(!(m|(f|0)!=0)){lf(c[a+4>>2]|0,16,150681,g);u=29;break}g=Ag(h,16)|0;d=a+26400|0;c[d>>2]=g;if(!g){lf(c[a+4>>2]|0,16,150681,i);u=29;break}i=Ag(h,16)|0;b=a+26404|0;c[b>>2]=i;if(!i){lf(c[a+4>>2]|0,16,150681,l);u=29;break}c[(c[j>>2]|0)+32848>>2]=c[d>>2];c[(c[j>>2]|0)+32852>>2]=c[b>>2];b=n<<2;l=cg(b)|0;c[a+26408>>2]=l;d=(b|0)==0;if(!(d|(l|0)!=0)){lf(c[a+4>>2]|0,16,150681,o);u=29;break}o=cg(n)|0;c[a+26388>>2]=o;if(!(m|(o|0)!=0)){lf(c[a+4>>2]|0,16,150681,p);u=29;break}ZW(c[k>>2]|0,-1,(c[s>>2]|0)+n<<1|0)|0;c[a+26372>>2]=(c[k>>2]|0)+(c[s>>2]<<1<<1)+2;p=cg(b)|0;h=a+26360|0;c[h>>2]=p;if(!(d|(p|0)!=0)){lf(c[a+4>>2]|0,16,150681,q);u=29;break}g=cg(b)|0;c[a+26364>>2]=g;if(!(d|(g|0)!=0)){lf(c[a+4>>2]|0,16,150681,r);u=29;break}f=a+27012|0;e=a+26368|0;d=0;while(1){if((d|0)<(c[t>>2]|0))b=0;else{b=0;break a}while(1){if((b|0)>=(c[f>>2]|0))break;a=(H(c[s>>2]|0,d)|0)+b|0;r=(H(c[e>>2]|0,d)|0)+b<<2;c[(c[h>>2]|0)+(a<<2)>>2]=r;c[g+(a<<2)>>2]=((a|0)%(c[s>>2]<<1|0)|0)<<3;b=b+1|0}d=d+1|0}}while(0);if((u|0)==29){mg(a);b=-12}$c=v;return b|0}function dn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=g;h=(b+-9|0)>>>0<8;c[a+128>>2]=h?9:8;c[a+124>>2]=h?11:10;a:do switch(b|0){case 9:{c[a+84>>2]=12;c[a+88>>2]=13;c[a+92>>2]=14;c[a+96>>2]=15;c[a+100>>2]=4;c[a+104>>2]=5;e=(d|0)<2;c[a+108>>2]=e?7:6;c[a+112>>2]=8;c[a+116>>2]=16;c[a+120>>2]=e?22:21;c[a>>2]=5;c[a+4>>2]=6;c[a+8>>2]=7;c[a+12>>2]=8;c[a+16>>2]=1;c[a+20>>2]=2;c[a+24>>2]=3;c[a+28>>2]=4;c[a+32>>2]=9;c[a+36>>2]=10;c[a+40>>2]=11;c[a+44>>2]=5;c[a+48>>2]=6;c[a+52>>2]=7;c[a+56>>2]=12;c[a+60>>2]=e?14:13;c[a+64>>2]=e?16:15;c[a+68>>2]=8;c[a+72>>2]=e?10:9;e=e?12:11;break}case 10:{c[a+84>>2]=17;c[a+88>>2]=18;c[a+92>>2]=19;c[a+96>>2]=20;c[a+100>>2]=17;c[a+104>>2]=18;e=(d|0)<2;c[a+108>>2]=e?20:19;c[a+112>>2]=21;c[a+116>>2]=21;c[a+120>>2]=e?24:23;c[a>>2]=9;c[a+4>>2]=10;c[a+8>>2]=11;c[a+12>>2]=12;c[a+16>>2]=5;c[a+20>>2]=6;c[a+24>>2]=7;c[a+28>>2]=8;c[a+32>>2]=22;c[a+36>>2]=23;c[a+40>>2]=24;c[a+44>>2]=13;c[a+48>>2]=14;c[a+52>>2]=15;c[a+56>>2]=25;c[a+60>>2]=e?27:26;c[a+64>>2]=e?29:28;c[a+68>>2]=16;c[a+72>>2]=e?18:17;e=e?20:19;break}case 12:{c[a+84>>2]=22;c[a+88>>2]=23;c[a+92>>2]=24;c[a+96>>2]=25;c[a+100>>2]=30;c[a+104>>2]=31;e=(d|0)<2;c[a+108>>2]=e?33:32;c[a+112>>2]=34;c[a+116>>2]=26;c[a+120>>2]=e?26:25;c[a>>2]=13;c[a+4>>2]=14;c[a+8>>2]=15;c[a+12>>2]=16;c[a+16>>2]=9;c[a+20>>2]=10;c[a+24>>2]=11;c[a+28>>2]=12;c[a+32>>2]=35;c[a+36>>2]=36;c[a+40>>2]=37;c[a+44>>2]=21;c[a+48>>2]=22;c[a+52>>2]=23;c[a+56>>2]=38;c[a+60>>2]=e?40:39;c[a+64>>2]=e?42:41;c[a+68>>2]=24;c[a+72>>2]=e?26:25;e=e?28:27;break}case 14:{c[a+84>>2]=27;c[a+88>>2]=28;c[a+92>>2]=29;c[a+96>>2]=30;c[a+100>>2]=43;c[a+104>>2]=44;e=(d|0)<2;c[a+108>>2]=e?46:45;c[a+112>>2]=47;c[a+116>>2]=31;c[a+120>>2]=e?28:27;c[a>>2]=17;c[a+4>>2]=18;c[a+8>>2]=19;c[a+12>>2]=20;c[a+16>>2]=13;c[a+20>>2]=14;c[a+24>>2]=15;c[a+28>>2]=16;c[a+32>>2]=48;c[a+36>>2]=49;c[a+40>>2]=50;c[a+44>>2]=29;c[a+48>>2]=30;c[a+52>>2]=31;c[a+56>>2]=51;c[a+60>>2]=e?53:52;c[a+64>>2]=e?55:54;c[a+68>>2]=32;c[a+72>>2]=e?34:33;e=e?36:35;break}default:if((b|0)<9){c[a+84>>2]=32;c[a+88>>2]=33;c[a+92>>2]=34;c[a+96>>2]=35;c[a+100>>2]=56;c[a+104>>2]=57;e=(d|0)<2;c[a+108>>2]=e?59:58;c[a+112>>2]=60;c[a+116>>2]=36;c[a+120>>2]=e?30:29;c[a>>2]=21;c[a+4>>2]=22;c[a+8>>2]=23;c[a+12>>2]=24;c[a+16>>2]=17;c[a+20>>2]=18;c[a+24>>2]=19;c[a+28>>2]=20;c[a+32>>2]=61;c[a+36>>2]=62;c[a+40>>2]=63;c[a+44>>2]=37;c[a+48>>2]=38;c[a+52>>2]=39;c[a+56>>2]=64;c[a+60>>2]=e?66:65;c[a+64>>2]=e?68:67;c[a+68>>2]=40;c[a+72>>2]=e?42:41;e=e?44:43;break a}else{c[f>>2]=150793;c[f+4>>2]=150806;c[f+8>>2]=150;lf(0,0,164242,f);ub()}}while(0);c[a+76>>2]=e;c[a+80>>2]=0;c[a+132>>2]=9;$c=g;return}function en(a,b){a=a|0;b=b|0;b=(b+-9|0)>>>0<8;c[a>>2]=b?26:25;c[a+4>>2]=b?28:27;c[a+8>>2]=b?30:29;c[a+12>>2]=b?32:31;c[a+16>>2]=b?34:33;c[a+20>>2]=b?36:35;c[a+24>>2]=b?38:37;c[a+28>>2]=b?40:39;return}function fn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,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;switch(b|0){case 9:{b=101;d=105;e=109;f=113;g=102;h=106;i=110;j=114;k=103;l=107;m=111;n=115;o=104;p=108;q=112;r=116;s=133;t=137;u=141;v=145;w=134;x=138;y=142;z=146;A=135;B=139;C=143;D=147;E=136;F=140;G=144;H=148;I=117;J=121;K=125;L=129;M=118;N=122;O=126;P=130;Q=119;R=123;S=127;T=131;U=120;V=124;W=128;X=132;Y=37;Z=41;_=45;$=49;aa=38;ba=42;ca=46;da=50;ea=39;fa=43;ga=47;ha=51;ia=40;ja=44;ka=48;la=52;ma=85;na=89;oa=93;pa=97;qa=86;ra=90;sa=94;ta=98;ua=87;va=91;wa=95;xa=99;ya=88;za=92;Aa=96;Ba=100;Ca=69;Da=73;Ea=77;Fa=81;Ga=70;Ha=74;Ia=78;Ja=82;Ka=71;La=75;Ma=79;Na=83;Oa=72;Pa=76;Qa=80;Ra=84;Sa=53;Ta=57;Ua=61;Va=65;Wa=54;Xa=58;Ya=62;Za=66;_a=55;$a=59;ab=63;bb=67;cb=56;db=60;eb=64;fb=68;break}case 10:{b=325;d=329;e=333;f=337;g=326;h=330;i=334;j=338;k=327;l=331;m=335;n=339;o=328;p=332;q=336;r=340;s=357;t=361;u=365;v=369;w=358;x=362;y=366;z=370;A=359;B=363;C=367;D=371;E=360;F=364;G=368;H=372;I=341;J=345;K=349;L=353;M=342;N=346;O=350;P=354;Q=343;R=347;S=351;T=355;U=344;V=348;W=352;X=356;Y=261;Z=265;_=269;$=273;aa=262;ba=266;ca=270;da=274;ea=263;fa=267;ga=271;ha=275;ia=264;ja=268;ka=272;la=276;ma=309;na=313;oa=317;pa=321;qa=310;ra=314;sa=318;ta=322;ua=311;va=315;wa=319;xa=323;ya=312;za=316;Aa=320;Ba=324;Ca=293;Da=297;Ea=301;Fa=305;Ga=294;Ha=298;Ia=302;Ja=306;Ka=295;La=299;Ma=303;Na=307;Oa=296;Pa=300;Qa=304;Ra=308;Sa=277;Ta=281;Ua=285;Va=289;Wa=278;Xa=282;Ya=286;Za=290;_a=279;$a=283;ab=287;bb=291;cb=280;db=284;eb=288;fb=292;break}case 12:{b=437;d=441;e=445;f=449;g=438;h=442;i=446;j=450;k=439;l=443;m=447;n=451;o=440;p=444;q=448;r=452;s=469;t=473;u=477;v=481;w=470;x=474;y=478;z=482;A=471;B=475;C=479;D=483;E=472;F=476;G=480;H=484;I=453;J=457;K=461;L=465;M=454;N=458;O=462;P=466;Q=455;R=459;S=463;T=467;U=456;V=460;W=464;X=468;Y=373;Z=377;_=381;$=385;aa=374;ba=378;ca=382;da=386;ea=375;fa=379;ga=383;ha=387;ia=376;ja=380;ka=384;la=388;ma=421;na=425;oa=429;pa=433;qa=422;ra=426;sa=430;ta=434;ua=423;va=427;wa=431;xa=435;ya=424;za=428;Aa=432;Ba=436;Ca=405;Da=409;Ea=413;Fa=417;Ga=406;Ha=410;Ia=414;Ja=418;Ka=407;La=411;Ma=415;Na=419;Oa=408;Pa=412;Qa=416;Ra=420;Sa=389;Ta=393;Ua=397;Va=401;Wa=390;Xa=394;Ya=398;Za=402;_a=391;$a=395;ab=399;bb=403;cb=392;db=396;eb=400;fb=404;break}case 14:{b=549;d=553;e=557;f=561;g=550;h=554;i=558;j=562;k=551;l=555;m=559;n=563;o=552;p=556;q=560;r=564;s=581;t=585;u=589;v=593;w=582;x=586;y=590;z=594;A=583;B=587;C=591;D=595;E=584;F=588;G=592;H=596;I=565;J=569;K=573;L=577;M=566;N=570;O=574;P=578;Q=567;R=571;S=575;T=579;U=568;V=572;W=576;X=580;Y=485;Z=489;_=493;$=497;aa=486;ba=490;ca=494;da=498;ea=487;fa=491;ga=495;ha=499;ia=488;ja=492;ka=496;la=500;ma=533;na=537;oa=541;pa=545;qa=534;ra=538;sa=542;ta=546;ua=535;va=539;wa=543;xa=547;ya=536;za=540;Aa=544;Ba=548;Ca=517;Da=521;Ea=525;Fa=529;Ga=518;Ha=522;Ia=526;Ja=530;Ka=519;La=523;Ma=527;Na=531;Oa=520;Pa=524;Qa=528;Ra=532;Sa=501;Ta=505;Ua=509;Va=513;Wa=502;Xa=506;Ya=510;Za=514;_a=503;$a=507;ab=511;bb=515;cb=504;db=508;eb=512;fb=516;break}default:{b=213;d=217;e=221;f=225;g=214;h=218;i=222;j=226;k=215;l=219;m=223;n=227;o=216;p=220;q=224;r=228;s=245;t=249;u=253;v=257;w=246;x=250;y=254;z=258;A=247;B=251;C=255;D=259;E=248;F=252;G=256;H=260;I=229;J=233;K=237;L=241;M=230;N=234;O=238;P=242;Q=231;R=235;S=239;T=243;U=232;V=236;W=240;X=244;Y=149;Z=153;_=157;$=161;aa=150;ba=154;ca=158;da=162;ea=151;fa=155;ga=159;ha=163;ia=152;ja=156;ka=160;la=164;ma=197;na=201;oa=205;pa=209;qa=198;ra=202;sa=206;ta=210;ua=199;va=203;wa=207;xa=211;ya=200;za=204;Aa=208;Ba=212;Ca=181;Da=185;Ea=189;Fa=193;Ga=182;Ha=186;Ia=190;Ja=194;Ka=183;La=187;Ma=191;Na=195;Oa=184;Pa=188;Qa=192;Ra=196;Sa=165;Ta=169;Ua=173;Va=177;Wa=166;Xa=170;Ya=174;Za=178;_a=167;$a=171;ab=175;bb=179;cb=168;db=172;eb=176;fb=180}}c[a>>2]=Y;c[a+4>>2]=aa;c[a+8>>2]=ea;c[a+12>>2]=ia;c[a+16>>2]=Z;c[a+20>>2]=ba;c[a+24>>2]=fa;c[a+28>>2]=ja;c[a+32>>2]=_;c[a+36>>2]=ca;c[a+40>>2]=ga;c[a+44>>2]=ka;c[a+48>>2]=$;c[a+52>>2]=da;c[a+56>>2]=ha;c[a+60>>2]=la;c[a+64>>2]=Sa;c[a+68>>2]=Wa;c[a+72>>2]=_a;c[a+76>>2]=cb;c[a+80>>2]=Ta;c[a+84>>2]=Xa;c[a+88>>2]=$a;c[a+92>>2]=db;c[a+96>>2]=Ua;c[a+100>>2]=Ya;c[a+104>>2]=ab;c[a+108>>2]=eb;c[a+112>>2]=Va;c[a+116>>2]=Za;c[a+120>>2]=bb;c[a+124>>2]=fb;c[a+128>>2]=Ca;c[a+132>>2]=Ga;c[a+136>>2]=Ka;c[a+140>>2]=Oa;c[a+144>>2]=Da;c[a+148>>2]=Ha;c[a+152>>2]=La;c[a+156>>2]=Pa;c[a+160>>2]=Ea;c[a+164>>2]=Ia;c[a+168>>2]=Ma;c[a+172>>2]=Qa;c[a+176>>2]=Fa;c[a+180>>2]=Ja;c[a+184>>2]=Na;c[a+188>>2]=Ra;c[a+192>>2]=ma;c[a+196>>2]=qa;c[a+200>>2]=ua;c[a+204>>2]=ya;c[a+208>>2]=na;c[a+212>>2]=ra;c[a+216>>2]=va;c[a+220>>2]=za;c[a+224>>2]=oa;c[a+228>>2]=sa;c[a+232>>2]=wa;c[a+236>>2]=Aa;c[a+240>>2]=pa;c[a+244>>2]=ta;c[a+248>>2]=xa;c[a+252>>2]=Ba;c[a+256>>2]=b;c[a+260>>2]=g;c[a+264>>2]=k;c[a+268>>2]=o;c[a+272>>2]=d;c[a+276>>2]=h;c[a+280>>2]=l;c[a+284>>2]=p;c[a+288>>2]=e;c[a+292>>2]=i;c[a+296>>2]=m;c[a+300>>2]=q;c[a+304>>2]=f;c[a+308>>2]=j;c[a+312>>2]=n;c[a+316>>2]=r;c[a+320>>2]=I;c[a+324>>2]=M;c[a+328>>2]=Q;c[a+332>>2]=U;c[a+336>>2]=J;c[a+340>>2]=N;c[a+344>>2]=R;c[a+348>>2]=V;c[a+352>>2]=K;c[a+356>>2]=O;c[a+360>>2]=S;c[a+364>>2]=W;c[a+368>>2]=L;c[a+372>>2]=P;c[a+376>>2]=T;c[a+380>>2]=X;c[a+384>>2]=s;c[a+388>>2]=w;c[a+392>>2]=A;c[a+396>>2]=E;c[a+400>>2]=t;c[a+404>>2]=x;c[a+408>>2]=B;c[a+412>>2]=F;c[a+416>>2]=u;c[a+420>>2]=y;c[a+424>>2]=C;c[a+428>>2]=G;c[a+432>>2]=v;c[a+436>>2]=z;c[a+440>>2]=D;c[a+444>>2]=H;return}function gn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=j;switch(d|0){case 9:{if((b|0)!=69){h=(b|0)==139;d=(b|0)==179|h;switch(b|0){case 139:case 179:{f=696;g=695;break}default:{f=611;g=610}}c[a>>2]=g;c[a+4>>2]=f;c[a+8>>2]=597;c[a+12>>2]=(b|0)==23?599:598;c[a+16>>2]=600;c[a+20>>2]=601;c[a+24>>2]=602;c[a+28>>2]=d?604:603;c[a+32>>2]=605;d=a+36|0;switch(b|0){case 139:case 179:{c[d>>2]=607;c[a+48>>2]=608;c[a+52>>2]=609;c[a+40>>2]=610;d=14;f=611;break}default:{c[d>>2]=606;d=10;f=615}}c[a+(d<<2)>>2]=f;if(!h){d=11;f=616;i=10}}else{c[a>>2]=610;c[a+4>>2]=611;c[a+8>>2]=597;c[a+12>>2]=612;c[a+16>>2]=600;c[a+20>>2]=601;c[a+24>>2]=602;c[a+28>>2]=613;c[a+32>>2]=614;c[a+36>>2]=606;c[a+40>>2]=615;c[a+44>>2]=616;c[a+48>>2]=617;c[a+52>>2]=618;d=14;f=697;i=10}if((i|0)==10)c[a+(d<<2)>>2]=f;c[a+60>>2]=45;c[a+64>>2]=46;c[a+68>>2]=47;c[a+72>>2]=48;c[a+76>>2]=49;c[a+80>>2]=50;c[a+84>>2]=51;c[a+88>>2]=52;c[a+92>>2]=53;c[a+96>>2]=54;c[a+100>>2]=55;c[a+104>>2]=56;e=(e|0)<2;d=a+108|0;c[a+116>>2]=e?32:31;c[a+112>>2]=e?34:33;switch(b|0){case 139:case 179:{c[a+120>>2]=37;break}default:c[a+120>>2]=e?36:35}a:do switch(b|0){case 69:case 139:case 179:{c[d>>2]=50;c[a+124>>2]=51;c[a+128>>2]=52;switch(b|0){case 139:case 179:break;default:break a}c[a+136>>2]=53;d=8;f=178;i=20;break}default:if(e){c[d>>2]=38;c[a+124>>2]=39;c[a+128>>2]=40;c[a+136>>2]=41;c[a+140>>2]=42;c[a+144>>2]=43;d=10;f=176;i=20;break a}else{c[d>>2]=44;c[a+124>>2]=45;c[a+128>>2]=46;c[a+136>>2]=47;c[a+140>>2]=48;c[a+144>>2]=49;d=10;f=177;i=20;break a}}while(0);if((i|0)==20)c[a+108+(d<<2)>>2]=f;c[a+132>>2]=e?55:54;c[a+152>>2]=56;c[a+160>>2]=57;c[a+156>>2]=58;switch(b|0){case 23:{d=3;f=179;break}case 69:{d=3;f=180;break}case 139:case 179:{c[a+164>>2]=59;c[a+180>>2]=60;d=8;f=181;break}default:{d=3;f=182}}c[a+152+(d<<2)>>2]=f;c[a+168>>2]=61;c[a+172>>2]=62;c[a+176>>2]=63;c[a+188>>2]=619;c[a+192>>2]=620;c[a+196>>2]=621;c[a+200>>2]=622;c[a+204>>2]=69;c[a+208>>2]=70;f=126;g=125;h=e?60:59;d=e?58:57;break}case 10:{if((b|0)!=69){h=(b|0)==139;d=(b|0)==179|h;switch(b|0){case 139:case 179:{f=696;g=695;break}default:{f=634;g=633}}c[a>>2]=g;c[a+4>>2]=f;c[a+8>>2]=623;c[a+12>>2]=(b|0)==23?599:624;c[a+16>>2]=625;c[a+20>>2]=626;c[a+24>>2]=627;c[a+28>>2]=d?604:628;c[a+32>>2]=629;d=a+36|0;switch(b|0){case 139:case 179:{c[d>>2]=607;c[a+48>>2]=631;c[a+52>>2]=632;c[a+40>>2]=633;d=14;f=634;break}default:{c[d>>2]=630;d=10;f=635}}c[a+(d<<2)>>2]=f;if(!h){d=11;f=636;i=34}}else{c[a>>2]=633;c[a+4>>2]=634;c[a+8>>2]=623;c[a+12>>2]=612;c[a+16>>2]=625;c[a+20>>2]=626;c[a+24>>2]=627;c[a+28>>2]=613;c[a+32>>2]=614;c[a+36>>2]=630;c[a+40>>2]=635;c[a+44>>2]=636;c[a+48>>2]=617;c[a+52>>2]=618;d=14;f=697;i=34}if((i|0)==34)c[a+(d<<2)>>2]=f;c[a+60>>2]=61;c[a+64>>2]=62;c[a+68>>2]=63;c[a+72>>2]=64;c[a+76>>2]=65;c[a+80>>2]=66;c[a+84>>2]=67;c[a+88>>2]=68;c[a+92>>2]=69;c[a+96>>2]=70;c[a+100>>2]=71;c[a+104>>2]=72;e=(e|0)<2;d=a+108|0;c[a+116>>2]=e?65:64;c[a+112>>2]=e?67:66;switch(b|0){case 139:case 179:{c[a+120>>2]=37;break}default:c[a+120>>2]=e?69:68}b:do switch(b|0){case 69:case 139:case 179:{c[d>>2]=50;c[a+124>>2]=51;c[a+128>>2]=52;switch(b|0){case 139:case 179:break;default:break b}c[a+136>>2]=82;d=8;f=185;i=44;break}default:if(e){c[d>>2]=70;c[a+124>>2]=71;c[a+128>>2]=72;c[a+136>>2]=73;c[a+140>>2]=74;c[a+144>>2]=75;d=10;f=183;i=44;break b}else{c[d>>2]=76;c[a+124>>2]=77;c[a+128>>2]=78;c[a+136>>2]=79;c[a+140>>2]=80;c[a+144>>2]=81;d=10;f=184;i=44;break b}}while(0);if((i|0)==44)c[a+108+(d<<2)>>2]=f;c[a+132>>2]=e?84:83;c[a+152>>2]=85;c[a+160>>2]=86;c[a+156>>2]=87;switch(b|0){case 23:{d=3;f=179;break}case 69:{d=3;f=180;break}case 139:case 179:{c[a+164>>2]=59;c[a+180>>2]=88;d=8;f=186;break}default:{d=3;f=187}}c[a+152+(d<<2)>>2]=f;c[a+168>>2]=89;c[a+172>>2]=90;c[a+176>>2]=91;c[a+188>>2]=637;c[a+192>>2]=638;c[a+196>>2]=639;c[a+200>>2]=640;c[a+204>>2]=71;c[a+208>>2]=72;f=128;g=127;h=e?76:75;d=e?74:73;break}case 12:{if((b|0)!=69){h=(b|0)==139;d=(b|0)==179|h;switch(b|0){case 139:case 179:{f=696;g=695;break}default:{f=652;g=651}}c[a>>2]=g;c[a+4>>2]=f;c[a+8>>2]=641;c[a+12>>2]=(b|0)==23?599:642;c[a+16>>2]=643;c[a+20>>2]=644;c[a+24>>2]=645;c[a+28>>2]=d?604:646;c[a+32>>2]=647;d=a+36|0;switch(b|0){case 139:case 179:{c[d>>2]=607;c[a+48>>2]=649;c[a+52>>2]=650;c[a+40>>2]=651;d=14;f=652;break}default:{c[d>>2]=648;d=10;f=653}}c[a+(d<<2)>>2]=f;if(!h){d=11;f=654;i=58}}else{c[a>>2]=651;c[a+4>>2]=652;c[a+8>>2]=641;c[a+12>>2]=612;c[a+16>>2]=643;c[a+20>>2]=644;c[a+24>>2]=645;c[a+28>>2]=613;c[a+32>>2]=614;c[a+36>>2]=648;c[a+40>>2]=653;c[a+44>>2]=654;c[a+48>>2]=617;c[a+52>>2]=618;d=14;f=697;i=58}if((i|0)==58)c[a+(d<<2)>>2]=f;c[a+60>>2]=77;c[a+64>>2]=78;c[a+68>>2]=79;c[a+72>>2]=80;c[a+76>>2]=81;c[a+80>>2]=82;c[a+84>>2]=83;c[a+88>>2]=84;c[a+92>>2]=85;c[a+96>>2]=86;c[a+100>>2]=87;c[a+104>>2]=88;e=(e|0)<2;d=a+108|0;c[a+116>>2]=e?93:92;c[a+112>>2]=e?95:94;switch(b|0){case 139:case 179:{c[a+120>>2]=37;break}default:c[a+120>>2]=e?97:96}c:do switch(b|0){case 69:case 139:case 179:{c[d>>2]=50;c[a+124>>2]=51;c[a+128>>2]=52;switch(b|0){case 139:case 179:break;default:break c}c[a+136>>2]=110;d=8;f=190;i=68;break}default:if(e){c[d>>2]=98;c[a+124>>2]=99;c[a+128>>2]=100;c[a+136>>2]=101;c[a+140>>2]=102;c[a+144>>2]=103;d=10;f=188;i=68;break c}else{c[d>>2]=104;c[a+124>>2]=105;c[a+128>>2]=106;c[a+136>>2]=107;c[a+140>>2]=108;c[a+144>>2]=109;d=10;f=189;i=68;break c}}while(0);if((i|0)==68)c[a+108+(d<<2)>>2]=f;c[a+132>>2]=e?112:111;c[a+152>>2]=113;c[a+160>>2]=114;c[a+156>>2]=115;switch(b|0){case 23:{d=3;f=179;break}case 69:{d=3;f=180;break}case 139:case 179:{c[a+164>>2]=59;c[a+180>>2]=116;d=8;f=191;break}default:{d=3;f=192}}c[a+152+(d<<2)>>2]=f;c[a+168>>2]=117;c[a+172>>2]=118;c[a+176>>2]=119;c[a+188>>2]=655;c[a+192>>2]=656;c[a+196>>2]=657;c[a+200>>2]=658;c[a+204>>2]=73;c[a+208>>2]=74;f=130;g=129;h=e?92:91;d=e?90:89;break}case 14:{if((b|0)!=69){h=(b|0)==139;d=(b|0)==179|h;switch(b|0){case 139:case 179:{f=696;g=695;break}default:{f=670;g=669}}c[a>>2]=g;c[a+4>>2]=f;c[a+8>>2]=659;c[a+12>>2]=(b|0)==23?599:660;c[a+16>>2]=661;c[a+20>>2]=662;c[a+24>>2]=663;c[a+28>>2]=d?604:664;c[a+32>>2]=665;d=a+36|0;switch(b|0){case 139:case 179:{c[d>>2]=607;c[a+48>>2]=667;c[a+52>>2]=668;c[a+40>>2]=669;d=14;f=670;break}default:{c[d>>2]=666;d=10;f=671}}c[a+(d<<2)>>2]=f;if(!h){d=11;f=672;i=82}}else{c[a>>2]=669;c[a+4>>2]=670;c[a+8>>2]=659;c[a+12>>2]=612;c[a+16>>2]=661;c[a+20>>2]=662;c[a+24>>2]=663;c[a+28>>2]=613;c[a+32>>2]=614;c[a+36>>2]=666;c[a+40>>2]=671;c[a+44>>2]=672;c[a+48>>2]=617;c[a+52>>2]=618;d=14;f=697;i=82}if((i|0)==82)c[a+(d<<2)>>2]=f;c[a+60>>2]=93;c[a+64>>2]=94;c[a+68>>2]=95;c[a+72>>2]=96;c[a+76>>2]=97;c[a+80>>2]=98;c[a+84>>2]=99;c[a+88>>2]=100;c[a+92>>2]=101;c[a+96>>2]=102;c[a+100>>2]=103;c[a+104>>2]=104;e=(e|0)<2;d=a+108|0;c[a+116>>2]=e?121:120;c[a+112>>2]=e?123:122;switch(b|0){case 139:case 179:{c[a+120>>2]=37;break}default:c[a+120>>2]=e?125:124}d:do switch(b|0){case 69:case 139:case 179:{c[d>>2]=50;c[a+124>>2]=51;c[a+128>>2]=52;switch(b|0){case 139:case 179:break;default:break d}c[a+136>>2]=138;d=8;f=195;i=92;break}default:if(e){c[d>>2]=126;c[a+124>>2]=127;c[a+128>>2]=128;c[a+136>>2]=129;c[a+140>>2]=130;c[a+144>>2]=131;d=10;f=193;i=92;break d}else{c[d>>2]=132;c[a+124>>2]=133;c[a+128>>2]=134;c[a+136>>2]=135;c[a+140>>2]=136;c[a+144>>2]=137;d=10;f=194;i=92;break d}}while(0);if((i|0)==92)c[a+108+(d<<2)>>2]=f;c[a+132>>2]=e?140:139;c[a+152>>2]=141;c[a+160>>2]=142;c[a+156>>2]=143;switch(b|0){case 23:{d=3;f=179;break}case 69:{d=3;f=180;break}case 139:case 179:{c[a+164>>2]=59;c[a+180>>2]=144;d=8;f=196;break}default:{d=3;f=197}}c[a+152+(d<<2)>>2]=f;c[a+168>>2]=145;c[a+172>>2]=146;c[a+176>>2]=147;c[a+188>>2]=673;c[a+192>>2]=674;c[a+196>>2]=675;c[a+200>>2]=676;c[a+204>>2]=75;c[a+208>>2]=76;f=132;g=131;h=e?108:107;d=e?106:105;break}default:{if((d|0)>=9){c[f>>2]=150793;c[f+4>>2]=150771;c[f+8>>2]=590;lf(0,0,164242,f);ub()}if((b|0)!=69){h=(b|0)==139;d=(b|0)==179|h;switch(b|0){case 139:case 179:{f=696;g=695;break}default:{f=688;g=687}}c[a>>2]=g;c[a+4>>2]=f;c[a+8>>2]=677;c[a+12>>2]=(b|0)==23?599:678;c[a+16>>2]=679;c[a+20>>2]=680;c[a+24>>2]=681;c[a+28>>2]=d?604:682;c[a+32>>2]=683;d=a+36|0;switch(b|0){case 139:case 179:{c[d>>2]=607;c[a+48>>2]=685;c[a+52>>2]=686;c[a+40>>2]=687;d=14;f=688;break}default:{c[d>>2]=684;d=10;f=689}}c[a+(d<<2)>>2]=f;if(!h){d=11;f=690;i=108}}else{c[a>>2]=687;c[a+4>>2]=688;c[a+8>>2]=677;c[a+12>>2]=612;c[a+16>>2]=679;c[a+20>>2]=680;c[a+24>>2]=681;c[a+28>>2]=613;c[a+32>>2]=614;c[a+36>>2]=684;c[a+40>>2]=689;c[a+44>>2]=690;c[a+48>>2]=617;c[a+52>>2]=618;d=14;f=697;i=108}if((i|0)==108)c[a+(d<<2)>>2]=f;c[a+60>>2]=109;c[a+64>>2]=110;c[a+68>>2]=111;c[a+72>>2]=112;c[a+76>>2]=113;c[a+80>>2]=114;c[a+84>>2]=115;c[a+88>>2]=116;c[a+92>>2]=117;c[a+96>>2]=118;c[a+100>>2]=119;c[a+104>>2]=120;e=(e|0)<2;d=a+108|0;c[a+116>>2]=e?149:148;c[a+112>>2]=e?151:150;switch(b|0){case 139:case 179:{c[a+120>>2]=37;break}default:c[a+120>>2]=e?153:152}e:do switch(b|0){case 69:case 139:case 179:{c[d>>2]=50;c[a+124>>2]=51;c[a+128>>2]=52;switch(b|0){case 139:case 179:break;default:break e}c[a+136>>2]=166;d=8;f=200;i=118;break}default:if(e){c[d>>2]=154;c[a+124>>2]=155;c[a+128>>2]=156;c[a+136>>2]=157;c[a+140>>2]=158;c[a+144>>2]=159;d=10;f=198;i=118;break e}else{c[d>>2]=160;c[a+124>>2]=161;c[a+128>>2]=162;c[a+136>>2]=163;c[a+140>>2]=164;c[a+144>>2]=165;d=10;f=199;i=118;break e}}while(0);if((i|0)==118)c[a+108+(d<<2)>>2]=f;c[a+132>>2]=e?168:167;c[a+152>>2]=169;c[a+160>>2]=170;c[a+156>>2]=171;switch(b|0){case 23:{d=3;f=179;break}case 69:{d=3;f=180;break}case 139:case 179:{c[a+164>>2]=59;c[a+180>>2]=172;d=8;f=201;break}default:{d=3;f=202}}c[a+152+(d<<2)>>2]=f;c[a+168>>2]=173;c[a+172>>2]=174;c[a+176>>2]=175;c[a+188>>2]=691;c[a+192>>2]=692;c[a+196>>2]=693;c[a+200>>2]=694;c[a+204>>2]=77;c[a+208>>2]=78;f=134;g=133;h=e?124:123;d=e?122:121}}c[a+220>>2]=d;c[a+216>>2]=h;c[a+232>>2]=g;c[a+228>>2]=f;$c=j;return}function hn(a,b){a=a|0;b=b|0;c[a+4>>2]=698;c[a>>2]=(b|0)<9?2:1;return}function jn(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);t=v+24|0;n=v+16|0;m=v+8|0;g=v;f=e+24|0;k=d+27008|0;p=c[k>>2]|0;r=d+27016|0;u=c[r>>2]|0;l=H(u,p)|0;s=d+27012|0;o=H(c[s>>2]<<1|1,p<<1|1)|0;p=H(u,p+1|0)|0;u=o+(p<<1)|0;a[e+28344>>0]=-2;a[e+28336>>0]=-2;a[e+28328>>0]=-2;a[e+28304>>0]=-2;a[e+28296>>0]=-2;a[e+28288>>0]=-2;a:do if((c[d+25628>>2]|0)==(e|0)){q=d+4|0;c[f>>2]=c[q>>2];c[e+824>>2]=1;c[e+828>>2]=d;c[e+812>>2]=1;i=d+27020|0;j=c[i>>2]|0;c[e+576>>2]=j;h=c[s>>2]|0;c[e+580>>2]=h;c[e+584>>2]=c[k>>2];c[e+588>>2]=c[r>>2];c[e+592>>2]=h<<1|1;j=cg((j<<2)+4|0)|0;c[e+572>>2]=j;if((j|0)==0?(c[i>>2]&1073741823|0)!=1073741823:0){lf(c[q>>2]|0,16,150681,g);d=-12;break}g=c[k>>2]|0;d=0;while(1){if((d|0)>=(g|0))break;h=c[s>>2]|0;i=H(h,d)|0;f=0;while(1){if((f|0)>=(h|0))break;c[j+(i+f<<2)>>2]=(H(c[r>>2]|0,d)|0)+f;f=f+1|0}d=d+1|0}h=H(c[r>>2]|0,g+-1|0)|0;i=c[s>>2]|0;c[j+((H(i,g)|0)<<2)>>2]=h+i;j=cg(l)|0;c[e+604>>2]=j;if(!((l|0)==0|(j|0)!=0)){lf(c[q>>2]|0,16,150681,m);d=-12;break}m=tf(H((c[k>>2]|0)*17|0,c[r>>2]|0)|0)|0;c[e+608>>2]=m;if((m|0)==0?H((c[k>>2]|0)*17|0,c[r>>2]|0)|0:0){lf(c[q>>2]|0,16,150681,n);d=-12;break}n=u<<1;f=cg(n)|0;c[e+27784>>2]=f;if(!((n|0)==0|(f|0)!=0)){lf(c[q>>2]|0,16,150681,t);d=-12;break}c[e+612>>2]=f+(c[s>>2]<<1<<1)+4;d=f+(o<<1)+(c[r>>2]<<1)+2|0;c[e+616>>2]=d;c[e+620>>2]=d+(p<<1);d=0;while(1){if((d|0)>=(u|0)){d=0;break a}b[f+(d<<1)>>1]=1024;d=d+1|0}}else{ZW(f|0,0,808)|0;d=0}while(0);$c=v;return d|0}function kn(a,d,e,f,g,h,i,j,k){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0;o=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);n=o+8|0;j=o;m=a+25628|0;k=c[m>>2]|0;c[k+21788>>2]=h;c[k+21792>>2]=i;l=k+21796|0;c[l>>2]=(H(c[a+27016>>2]|0,i)|0)+h;e=k+27824|0;f=e+120|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));e=(c[k+23404>>2]|0)>>>0>d>>>0?d:0;if(!(c[k+23416+(e*40|0)>>2]|0)){lf(c[a+4>>2]|0,48,150706,j);e=0}if((c[k+23416+(e*40|0)+24>>2]&3|0)==3){d=(c[a+24384>>2]|0)+(c[l>>2]<<2)|0;n=e*257&65535;b[d>>1]=n;b[d+2>>1]=n;d=H(e,16843009)|0;c[k+28284>>2]=d;c[k+28292>>2]=d;c[k+28300>>2]=d;c[k+28308>>2]=d;g=c[g+4>>2]<<16|c[g>>2]&65535;c[k+28e3>>2]=g;c[k+28004>>2]=g;c[k+28008>>2]=g;c[k+28012>>2]=g;c[k+28032>>2]=g;c[k+28036>>2]=g;c[k+28040>>2]=g;c[k+28044>>2]=g;c[k+28064>>2]=g;c[k+28068>>2]=g;c[k+28072>>2]=g;c[k+28076>>2]=g;c[k+28096>>2]=g;c[k+28100>>2]=g;c[k+28104>>2]=g;c[k+28108>>2]=g;c[k+21828>>2]=0;c[k+21832>>2]=0;Lj(a,c[m>>2]|0)}else lf(c[a+4>>2]|0,48,150752,n);$c=o;return}function ln(a,b,c){a=a|0;b=b|0;c=c|0;return}function mn(b,c,d,e,f,g,h,i,j,k){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0;a:do if((j|0)!=0&(k|0)!=0){if((i|0)<(k|0)){o=(0-g|0)<(i|0);p=1-g|0;n=c+(H(0-e|0,i)|0)+(H(p,e)|0)|0;c=o?c:n;i=o?i:p}else{p=k+-1|0;c=c+(H(0-e|0,i)|0)+(H(p,e)|0)|0;i=p}if((h|0)<(j|0)){o=(0-f|0)<(h|0);p=1-f|0;l=o?h:p;h=o?c:c+(p-h)|0}else{p=j+-1|0;l=p;h=c+(p-h)|0}c=0-i|0;c=(c|0)>0?c:0;p=0-l|0;p=(p|0)>0?p:0;m=k-i|0;n=(m|0)<(g|0);o=j-l|0;o=(o|0)<(f|0)?o:f;j=o-p|0;i=h+(p+(H(c,e)|0))|0;k=p+(H(c,d)|0)|0;h=b+p|0;l=0;while(1){if((l|0)>=(c|0))break;XW(h|0,i|0,j|0)|0;h=h+d|0;l=l+1|0}l=n?m:g;h=b+k|0;while(1){if((c|0)>=(l|0))break;XW(h|0,i|0,j|0)|0;h=h+d|0;c=c+1|0;i=i+e|0}i=i+(0-e)|0;while(1){if((c|0)>=(g|0))break;XW(h|0,i|0,j|0)|0;h=h+d|0;c=c+1|0}k=o+-1|0;c=g;h=h+(0-((H(g,d)|0)+p))|0;while(1){l=c+-1|0;if(!c)break a;i=h+p|0;c=0;while(1){if((c|0)>=(p|0))break;a[h+c>>0]=a[i>>0]|0;c=c+1|0}i=h+k|0;c=o;while(1){if((c|0)>=(f|0))break;a[h+c>>0]=a[i>>0]|0;c=c+1|0}c=l;h=h+d|0}}while(0);return}function nn(a,c,d,e,f,g,h,i,j,k){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0;a:do if((j|0)!=0&(k|0)!=0){if((i|0)<(k|0)){p=(0-g|0)<(i|0);q=1-g|0;o=c+(H(0-e|0,i)|0)+(H(q,e)|0)|0;c=p?c:o;i=p?i:q}else{q=k+-1|0;c=c+(H(0-e|0,i)|0)+(H(q,e)|0)|0;i=q}if((h|0)<(j|0)){p=(0-f|0)<(h|0);q=1-f|0;l=p?h:q;h=p?c:c+(q-h<<1)|0}else{q=j+-1|0;l=q;h=c+(q-h<<1)|0}c=0-i|0;c=(c|0)>0?c:0;q=0-l|0;q=(q|0)>0?q:0;m=k-i|0;n=(m|0)<(g|0);p=j-l|0;p=(p|0)<(f|0)?p:f;o=q<<1;i=h+(o+(H(c,e)|0))|0;j=p-q<<1;k=(H(c,d)|0)+o|0;h=a+o|0;l=0;while(1){if((l|0)>=(c|0))break;XW(h|0,i|0,j|0)|0;h=h+d|0;l=l+1|0}l=n?m:g;h=a+k|0;while(1){if((c|0)>=(l|0))break;XW(h|0,i|0,j|0)|0;h=h+d|0;c=c+1|0;i=i+e|0}i=i+(0-e)|0;while(1){if((c|0)>=(g|0))break;XW(h|0,i|0,j|0)|0;h=h+d|0;c=c+1|0}k=p+-1|0;c=g;h=h+(0-((H(g,d)|0)+o))|0;while(1){l=c+-1|0;if(!c)break a;i=h+(q<<1)|0;c=0;while(1){if((c|0)>=(q|0))break;b[h+(c<<1)>>1]=b[i>>1]|0;c=c+1|0}i=h+(k<<1)|0;c=p;while(1){if((c|0)>=(f|0))break;b[h+(c<<1)>>1]=b[i>>1]|0;c=c+1|0}c=l;h=h+d|0}}while(0);return}function on(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;d=d>>1;b=a+(0-d<<1)|0;e=c[b>>2]|0;b=c[b+4>>2]|0;f=a;c[f>>2]=e;c[f+4>>2]=b;f=a+(d<<1)|0;c[f>>2]=e;c[f+4>>2]=b;f=a+(d<<1<<1)|0;c[f>>2]=e;c[f+4>>2]=b;d=a+(d*3<<1)|0;c[d>>2]=e;c[d+4>>2]=b;return}function pn(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;i=d[a+(0-e)>>0]|0;h=d[a+(1-e)>>0]|0;g=d[a+(2-e)>>0]|0;f=d[a+(3-e)>>0]|0;b=(i+2+(h<<1)+g|0)>>>2<<8|((d[a+~e>>0]|0)+2+(i<<1)+h|0)>>>2|(h+2+(g<<1)+f|0)>>>2<<16|(g+2+(f<<1)+(d[b>>0]|0)|0)>>>2<<24;c[a>>2]=b;c[a+e>>2]=b;c[a+(e<<1)>>2]=b;c[a+(e*3|0)>>2]=b;return}function qn(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0;d=d>>1;f=OW(e[a+-2>>1]|0|0,0,65537,65537)|0;g=M()|0;b=a;c[b>>2]=f;c[b+4>>2]=g;b=OW(e[a+(d+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(d<<1)|0;c[f>>2]=b;c[f+4>>2]=g;f=d<<1;g=OW(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;b=M()|0;f=a+(f<<1)|0;c[f>>2]=g;c[f+4>>2]=b;d=d*3|0;f=OW(e[a+(d+-1<<1)>>1]|0|0,0,65537,65537)|0;b=M()|0;d=a+(d<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function rn(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=d[a+-1>>0]|0;i=d[a+(e+-1)>>0]|0;h=e<<1;g=d[a+(h+-1)>>0]|0;b=e*3|0;f=d[a+(b+-1)>>0]|0;c[a>>2]=H(((d[a+~e>>0]|0)+2+(j<<1)+i|0)>>>2,16843009)|0;c[a+e>>2]=H((j+2+(i<<1)+g|0)>>>2,16843009)|0;c[a+h>>2]=H((i+2+(g<<1)+f|0)>>>2,16843009)|0;c[a+b>>2]=H((g+2+f+(f<<1)|0)>>>2,16843009)|0;return}function sn(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0;h=d>>1;g=h<<1;d=h*3|0;f=(e[a+(0-h<<1)>>1]|0)+4+(e[a+(1-h<<1)>>1]|0)+(e[a+(2-h<<1)>>1]|0)+(e[a+(3-h<<1)>>1]|0)+(e[a+-2>>1]|0)+(e[a+(h+-1<<1)>>1]|0)+(e[a+(g+-1<<1)>>1]|0)+(e[a+(d+-1<<1)>>1]|0)>>3;f=OW(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;b=M()|0;i=a;c[i>>2]=f;c[i+4>>2]=b;h=a+(h<<1)|0;c[h>>2]=f;c[h+4>>2]=b;g=a+(g<<1)|0;c[g>>2]=f;c[g+4>>2]=b;d=a+(d<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function tn(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=d[b+(2-e)>>0]|0;c=d[b+(3-e)>>0]|0;f=e<<1;j=d[b+(f+-1)>>0]|0;g=e*3|0;h=d[b+(g+-1)>>0]|0;a[b>>0]=((d[b+(e+-1)>>0]|0)+(d[b+(1-e)>>0]|0)|0)>>>1;i=(j+i|0)>>>1&255;a[b+e>>0]=i;a[b+1>>0]=i;c=(h+c|0)>>>1&255;a[b+(g+3)>>0]=c;a[b+(g+2)>>0]=c;a[b+(f+3)>>0]=c;a[b+(g+1)>>0]=c;a[b+(f+2)>>0]=c;a[b+(e+3)>>0]=c;a[b+g>>0]=c;a[b+(f|1)>>0]=c;a[b+(e+2)>>0]=c;a[b+3>>0]=c;a[b+f>>0]=c;a[b+(e+1)>>0]=c;a[b+2>>0]=c;return}function un(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;i=d>>1;g=e[a+(1-i<<1)>>1]|0;d=e[a+(2-i<<1)>>1]|0;k=e[a+(3-i<<1)>>1]|0;j=e[c>>1]|0;h=e[c+2>>1]|0;f=e[c+4>>1]|0;c=e[c+6>>1]|0;b[a>>1]=((e[a+(0-i<<1)>>1]|0)+2+d+(g<<1)|0)>>>2;g=(g+2+k+(d<<1)|0)>>>2&65535;b[a+(i<<1)>>1]=g;b[a+2>>1]=g;d=(d+2+j+(k<<1)|0)>>>2&65535;g=i<<1;b[a+(g<<1)>>1]=d;b[a+(i+1<<1)>>1]=d;b[a+4>>1]=d;k=(k+2+h+(j<<1)|0)>>>2&65535;d=i*3|0;b[a+(d<<1)>>1]=k;b[a+((g|1)<<1)>>1]=k;b[a+(i+2<<1)>>1]=k;b[a+6>>1]=k;j=(j+2+f+(h<<1)|0)>>>2&65535;b[a+(d+1<<1)>>1]=j;b[a+(g+2<<1)>>1]=j;b[a+(i+3<<1)>>1]=j;h=(h+2+c+(f<<1)|0)>>>2&65535;b[a+(d+2<<1)>>1]=h;b[a+(g+3<<1)>>1]=h;b[a+(d+3<<1)>>1]=(f+2+(c*3|0)|0)>>>2;return}function vn(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;m=e[a+(~h<<1)>>1]|0;g=e[a+(0-h<<1)>>1]|0;f=e[a+(1-h<<1)>>1]|0;c=e[a+(2-h<<1)>>1]|0;d=e[a+(3-h<<1)>>1]|0;k=e[a+-2>>1]|0;n=e[a+(h+-1<<1)>>1]|0;j=h<<1;i=e[a+(j+-1<<1)>>1]|0;l=h*3|0;b[a+(l<<1)>>1]=(n+2+(e[a+(l+-1<<1)>>1]|0)+(i<<1)|0)>>>2;i=(k+2+i+(n<<1)|0)>>>2&65535;b[a+(l+1<<1)>>1]=i;b[a+(j<<1)>>1]=i;i=m+2|0;n=(i+n+(k<<1)|0)>>>2&65535;b[a+(l+2<<1)>>1]=n;b[a+((j|1)<<1)>>1]=n;b[a+(h<<1)>>1]=n;k=((m<<1)+2+g+k|0)>>>2&65535;b[a+(l+3<<1)>>1]=k;b[a+(j+2<<1)>>1]=k;b[a+(h+1<<1)>>1]=k;b[a>>1]=k;i=(i+(g<<1)+f|0)>>>2&65535;b[a+(j+3<<1)>>1]=i;b[a+(h+2<<1)>>1]=i;b[a+2>>1]=i;g=(g+2+(f<<1)+c|0)>>>2&65535;b[a+(h+3<<1)>>1]=g;b[a+4>>1]=g;b[a+6>>1]=(f+2+(c<<1)+d|0)>>>2;return}function wn(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=d>>1;i=e[a+(~j<<1)>>1]|0;n=e[a+(0-j<<1)>>1]|0;m=e[a+(1-j<<1)>>1]|0;l=e[a+(2-j<<1)>>1]|0;k=e[a+(3-j<<1)>>1]|0;g=e[a+-2>>1]|0;f=e[a+(j+-1<<1)>>1]|0;h=j<<1;c=e[a+(h+-1<<1)>>1]|0;d=j*3|0;o=(i+1+n|0)>>>1&65535;b[a+((h|1)<<1)>>1]=o;b[a>>1]=o;o=(n+1+m|0)>>>1&65535;b[a+(h+2<<1)>>1]=o;b[a+2>>1]=o;o=(m+1+l|0)>>>1&65535;b[a+(h+3<<1)>>1]=o;b[a+4>>1]=o;b[a+6>>1]=(l+1+k|0)>>>1;o=((i<<1)+2+n+g|0)>>>2&65535;b[a+(d+1<<1)>>1]=o;b[a+(j<<1)>>1]=o;i=i+2|0;o=(i+(n<<1)+m|0)>>>2&65535;b[a+(d+2<<1)>>1]=o;b[a+(j+1<<1)>>1]=o;n=(n+2+(m<<1)+l|0)>>>2&65535;b[a+(d+3<<1)>>1]=n;b[a+(j+2<<1)>>1]=n;b[a+(j+3<<1)>>1]=(m+2+(l<<1)+k|0)>>>2;b[a+(h<<1)>>1]=(i+(g<<1)+f|0)>>>2;b[a+(d<<1)>>1]=(g+2+(f<<1)+c|0)>>>2;return}function xn(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=d>>1;k=e[a+(~j<<1)>>1]|0;n=e[a+(0-j<<1)>>1]|0;m=e[a+(1-j<<1)>>1]|0;l=e[a+(2-j<<1)>>1]|0;i=e[a+-2>>1]|0;g=e[a+(j+-1<<1)>>1]|0;h=j<<1;f=e[a+(h+-1<<1)>>1]|0;d=j*3|0;c=e[a+(d+-1<<1)>>1]|0;o=(k+1+i|0)>>>1&65535;b[a+(j+2<<1)>>1]=o;b[a>>1]=o;o=((k<<1)+2+n+i|0)>>>2&65535;b[a+(j+3<<1)>>1]=o;b[a+2>>1]=o;k=k+2|0;b[a+4>>1]=(k+(n<<1)+m|0)>>>2;b[a+6>>1]=(n+2+(m<<1)+l|0)>>>2;l=(i+1+g|0)>>>1&65535;b[a+(h+2<<1)>>1]=l;b[a+(j<<1)>>1]=l;k=(k+(i<<1)+g|0)>>>2&65535;b[a+(h+3<<1)>>1]=k;b[a+(j+1<<1)>>1]=k;j=(g+1+f|0)>>>1&65535;b[a+(d+2<<1)>>1]=j;b[a+(h<<1)>>1]=j;i=(i+2+(g<<1)+f|0)>>>2&65535;b[a+(d+3<<1)>>1]=i;b[a+((h|1)<<1)>>1]=i;b[a+(d<<1)>>1]=(f+1+c|0)>>>1;b[a+(d+1<<1)>>1]=(g+2+(f<<1)+c|0)>>>2;return}function yn(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=d[b+(0-e)>>0]|0;m=d[b+(1-e)>>0]|0;l=d[b+(2-e)>>0]|0;k=d[b+(3-e)>>0]|0;j=d[c>>0]|0;h=d[c+1>>0]|0;g=d[c+2>>0]|0;f=d[c+3>>0]|0;a[b>>0]=(n+1+m|0)>>>1;c=(m+1+l|0)>>>1&255;i=e<<1;a[b+i>>0]=c;a[b+1>>0]=c;c=(l+1+k|0)>>>1&255;a[b+(i|1)>>0]=c;a[b+2>>0]=c;c=(k+1+j|0)>>>1&255;a[b+(i+2)>>0]=c;a[b+3>>0]=c;a[b+e>>0]=(n+2+(m<<1)+l|0)>>>2;m=(m+2+(l<<1)+k|0)>>>2&255;c=e*3|0;a[b+c>>0]=m;a[b+(e+1)>>0]=m;l=(l+2+(k<<1)+j|0)>>>2&255;a[b+(c+1)>>0]=l;a[b+(e+2)>>0]=l;k=(k+2+(j<<1)+h|0)>>>2&255;a[b+(c+2)>>0]=k;a[b+(e+3)>>0]=k;a[b+(i+3)>>0]=(j+2+(h<<1)+g|0)>>>2;a[b+(c+3)>>0]=(h+2+(g<<1)+f|0)>>>2;return}function zn(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=d>>1;d=e[a+(0-h<<1)>>1]|0;k=e[a+(1-h<<1)>>1]|0;j=e[a+(2-h<<1)>>1]|0;i=e[a+(3-h<<1)>>1]|0;g=e[c>>1]|0;f=e[c+2>>1]|0;c=e[c+4>>1]|0;b[a>>1]=(d+1+k|0)>>>1;m=(k+1+j|0)>>>1&65535;l=h<<1;b[a+(l<<1)>>1]=m;b[a+2>>1]=m;m=(j+1+i|0)>>>1&65535;b[a+((l|1)<<1)>>1]=m;b[a+4>>1]=m;m=(i+1+g|0)>>>1&65535;b[a+(l+2<<1)>>1]=m;b[a+6>>1]=m;b[a+(l+3<<1)>>1]=(g+1+f|0)>>>1;b[a+(h<<1)>>1]=(d+2+(k<<1)+j|0)>>>2;k=(k+2+(j<<1)+i|0)>>>2&65535;d=h*3|0;b[a+(d<<1)>>1]=k;b[a+(h+1<<1)>>1]=k;j=(j+2+(i<<1)+g|0)>>>2&65535;b[a+(d+1<<1)>>1]=j;b[a+(h+2<<1)>>1]=j;i=(i+2+(g<<1)+f|0)>>>2&65535;b[a+(d+2<<1)>>1]=i;b[a+(h+3<<1)>>1]=i;b[a+(d+3<<1)>>1]=(g+2+(f<<1)+c|0)>>>2;return}function An(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;g=d>>1;k=e[a+-2>>1]|0;j=e[a+(g+-1<<1)>>1]|0;d=g<<1;i=e[a+(d+-1<<1)>>1]|0;f=g*3|0;c=b[a+(f+-1<<1)>>1]|0;h=c&65535;b[a>>1]=(k+1+j|0)>>>1;b[a+2>>1]=(k+2+(j<<1)+i|0)>>>2;k=(j+1+i|0)>>>1&65535;b[a+(g<<1)>>1]=k;b[a+4>>1]=k;j=(j+2+(i<<1)+h|0)>>>2&65535;b[a+(g+1<<1)>>1]=j;b[a+6>>1]=j;j=(i+1+h|0)>>>1&65535;b[a+(d<<1)>>1]=j;b[a+(g+2<<1)>>1]=j;h=(i+2+h+(h<<1)|0)>>>2&65535;b[a+((d|1)<<1)>>1]=h;b[a+(g+3<<1)>>1]=h;b[a+(f+3<<1)>>1]=c;b[a+(f+2<<1)>>1]=c;b[a+(d+2<<1)>>1]=c;b[a+(f<<1)>>1]=c;b[a+(f+1<<1)>>1]=c;b[a+(d+3<<1)>>1]=c;return}function Bn(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0;h=d>>1;g=h<<1;d=h*3|0;f=OW(((e[a+-2>>1]|0)+2+(e[a+(h+-1<<1)>>1]|0)+(e[a+(g+-1<<1)>>1]|0)+(e[a+(d+-1<<1)>>1]|0)|0)>>>2|0,0,65537,65537)|0;b=M()|0;i=a;c[i>>2]=f;c[i+4>>2]=b;h=a+(h<<1)|0;c[h>>2]=f;c[h+4>>2]=b;g=a+(g<<1)|0;c[g>>2]=f;c[g+4>>2]=b;d=a+(d<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function Cn(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=134276+(0-(d[b+~e>>0]|0))|0;f=b+(0-e)|0;g=f+1|0;h=f+2|0;i=f+3|0;c=b;b=0;while(1){if((b|0)==4)break;k=j+(d[c+-1>>0]|0)|0;a[c>>0]=a[k+(d[f>>0]|0)>>0]|0;a[c+1>>0]=a[k+(d[g>>0]|0)>>0]|0;a[c+2>>0]=a[k+(d[h>>0]|0)>>0]|0;a[c+3>>0]=a[k+(d[i>>0]|0)>>0]|0;c=c+e|0;b=b+1|0}return}function Dn(a,b,d){a=a|0;b=b|0;d=d|0;d=d>>1;b=a;c[b>>2]=16711935;c[b+4>>2]=16711935;b=a+(d<<1)|0;c[b>>2]=16711935;c[b+4>>2]=16711935;b=a+(d<<1<<1)|0;c[b>>2]=16711935;c[b+4>>2]=16711935;d=a+(d*3<<1)|0;c[d>>2]=16711935;c[d+4>>2]=16711935;return}function En(a,b,d){a=a|0;b=b|0;d=d|0;d=d>>1;b=a;c[b>>2]=16843009;c[b+4>>2]=16843009;b=a+(d<<1)|0;c[b>>2]=16843009;c[b+4>>2]=16843009;b=a+(d<<1<<1)|0;c[b>>2]=16843009;c[b+4>>2]=16843009;d=a+(d*3<<1)|0;c[d>>2]=16843009;c[d+4>>2]=16843009;return}function Fn(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0;d=d>>1;f=OW(((e[a+(0-d<<1)>>1]|0)+2+(e[a+(1-d<<1)>>1]|0)+(e[a+(2-d<<1)>>1]|0)+(e[a+(3-d<<1)>>1]|0)|0)>>>2|0,0,65537,65537)|0;b=M()|0;g=a;c[g>>2]=f;c[g+4>>2]=b;g=a+(d<<1)|0;c[g>>2]=f;c[g+4>>2]=b;g=a+(d<<1<<1)|0;c[g>>2]=f;c[g+4>>2]=b;d=a+(d*3<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function Gn(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=d[b+(1-e)>>0]|0;r=d[b+(2-e)>>0]|0;p=d[b+(3-e)>>0]|0;n=d[c>>0]|0;l=d[c+1>>0]|0;i=d[c+2>>0]|0;h=d[c+3>>0]|0;s=d[b+(e+-1)>>0]|0;j=e<<1;q=d[b+(j+-1)>>0]|0;c=e*3|0;o=d[b+(c+-1)>>0]|0;m=d[b+((e<<2)+-1)>>0]|0;k=d[b+((e*5|0)+-1)>>0]|0;g=d[b+((e*6|0)+-1)>>0]|0;f=d[b+((e*7|0)+-1)>>0]|0;a[b>>0]=((d[b+(0-e)>>0]|0)+4+r+(d[b+-1>>0]|0)+q+(s+t<<1)|0)>>>3;s=(t+4+p+s+o+(q+r<<1)|0)>>>3&255;a[b+e>>0]=s;a[b+1>>0]=s;q=(r+4+n+q+m+(o+p<<1)|0)>>>3&255;a[b+j>>0]=q;a[b+(e+1)>>0]=q;a[b+2>>0]=q;o=(p+4+l+o+k+(m+n<<1)|0)>>>3&255;a[b+c>>0]=o;a[b+(j|1)>>0]=o;a[b+(e+2)>>0]=o;a[b+3>>0]=o;m=(n+4+i+m+g+(k+l<<1)|0)>>>3&255;a[b+(c+1)>>0]=m;a[b+(j+2)>>0]=m;a[b+(e+3)>>0]=m;e=(l+4+h+k+f+(g+i<<1)|0)>>>3&255;a[b+(c+2)>>0]=e;a[b+(j+3)>>0]=e;a[b+(c+3)>>0]=(i+2+h+g+f|0)>>>2;return}function Hn(a,b,c){a=a|0;b=b|0;c=c|0;pu(a,b,c,d[a+(c+-1)>>0]|0,d[a+((c<<1)+-1)>>0]|0,d[a+((c*3|0)+-1)>>0]|0,d[a+((c<<2)+-1)>>0]|0);return}function In(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=d[b+-1>>0]|0;q=d[b+(e+-1)>>0]|0;j=e<<1;m=d[b+(j+-1)>>0]|0;f=e*3|0;l=d[b+(f+-1)>>0]|0;i=d[b+((e<<2)+-1)>>0]|0;h=d[b+((e*5|0)+-1)>>0]|0;g=d[b+((e*6|0)+-1)>>0]|0;o=d[b+(2-e)>>0]|0;r=d[b+(3-e)>>0]|0;p=d[c>>0]|0;n=d[c+1>>0]|0;k=d[c+2>>0]|0;c=d[c+3>>0]|0;t=q<<1;s=t+4|0;a[b>>0]=(s+(d[b+(1-e)>>0]|0)+r+(o+u<<1)|0)>>>3;a[b+1>>0]=(u+4+t+m+o+(r<<1)+p|0)>>>3;o=m<<1;r=(s+o+r+(p<<1)+n|0)>>>3&255;a[b+e>>0]=r;a[b+2>>0]=r;p=(q+4+o+l+p+(n<<1)+k|0)>>>3&255;a[b+(e+1)>>0]=p;a[b+3>>0]=p;n=(o+4+n+c+(k+l<<1)|0)>>>3&255;a[b+j>>0]=n;a[b+(e+2)>>0]=n;m=(m+4+k+((c+l|0)*3|0)|0)>>>3&255;a[b+(j|1)>>0]=m;a[b+(e+3)>>0]=m;e=l+2|0;l=(e+(i<<1)+h|0)>>>2&255;a[b+(f+1)>>0]=l;a[b+(j+3)>>0]=l;e=(e+i+k+c|0)>>>2&255;a[b+(j+2)>>0]=e;a[b+f>>0]=e;a[b+(f+2)>>0]=(i+1+h|0)>>>1;a[b+(f+3)>>0]=(i+2+(h<<1)+g|0)>>>2;return}function Jn(a,b,d){a=a|0;b=b|0;d=d|0;d=d>>1;b=a;c[b>>2]=16777472;c[b+4>>2]=16777472;b=a+(d<<1)|0;c[b>>2]=16777472;c[b+4>>2]=16777472;b=a+(d<<1<<1)|0;c[b>>2]=16777472;c[b+4>>2]=16777472;d=a+(d*3<<1)|0;c[d>>2]=16777472;c[d+4>>2]=16777472;return}function Kn(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=d[b+(1-e)>>0]|0;n=d[b+(2-e)>>0]|0;m=d[b+(3-e)>>0]|0;l=d[c>>0]|0;k=d[c+1>>0]|0;h=d[c+2>>0]|0;g=d[c+3>>0]|0;o=d[b+(e+-1)>>0]|0;i=e<<1;j=d[b+(i+-1)>>0]|0;c=e*3|0;f=d[b+(c+-1)>>0]|0;a[b>>0]=((d[b+(0-e)>>0]|0)+4+n+(d[b+-1>>0]|0)+j+(o+p<<1)|0)>>>3;o=(p+4+m+o+f+(j+n<<1)|0)>>>3&255;a[b+e>>0]=o;a[b+1>>0]=o;j=(n+4+l+(m<<1)+j+(f*3|0)|0)>>>3&255;a[b+i>>0]=j;a[b+(e+1)>>0]=j;a[b+2>>0]=j;j=f<<2;m=(m+4+k+(l<<1)+j|0)>>>3&255;a[b+c>>0]=m;a[b+(i|1)>>0]=m;a[b+(e+2)>>0]=m;a[b+3>>0]=m;l=(l+4+h+(k<<1)+j|0)>>>3&255;a[b+(c+1)>>0]=l;a[b+(i+2)>>0]=l;a[b+(e+3)>>0]=l;e=(k+4+g+(h<<1)+j|0)>>>3&255;a[b+(c+2)>>0]=e;a[b+(i+3)>>0]=e;a[b+(c+3)>>0]=(h+2+g+(f<<1)|0)>>>2;return}function Ln(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=d[b+-1>>0]|0;o=d[b+(e+-1)>>0]|0;h=e<<1;l=d[b+(h+-1)>>0]|0;f=e*3|0;g=a[b+(f+-1)>>0]|0;k=g&255;n=d[b+(2-e)>>0]|0;p=d[b+(3-e)>>0]|0;j=d[c>>0]|0;m=d[c+1>>0]|0;i=d[c+2>>0]|0;c=d[c+3>>0]|0;r=o<<1;q=r+4|0;a[b>>0]=(q+(d[b+(1-e)>>0]|0)+p+(n+s<<1)|0)>>>3;a[b+1>>0]=(s+4+r+l+n+(p<<1)+j|0)>>>3;n=l<<1;p=(q+n+p+(j<<1)+m|0)>>>3&255;a[b+e>>0]=p;a[b+2>>0]=p;j=(o+4+n+k+j+(m<<1)+i|0)>>>3&255;a[b+(e+1)>>0]=j;a[b+3>>0]=j;j=k<<1;m=(n+4+j+m+(i<<1)+c|0)>>>3&255;a[b+h>>0]=m;a[b+(e+2)>>0]=m;k=(l+4+i+((c+k|0)*3|0)|0)>>>3&255;a[b+(h|1)>>0]=k;a[b+(e+3)>>0]=k;a[b+(f+1)>>0]=g;a[b+(h+3)>>0]=g;e=(j+2+i+c|0)>>>2&255;a[b+(h+2)>>0]=e;a[b+f>>0]=e;a[b+(f+3)>>0]=g;a[b+(f+2)>>0]=g;return}function Mn(a,b,c){a=a|0;b=b|0;c=c|0;var e=0;e=d[a+((c*3|0)+-1)>>0]|0;pu(a,b,c,d[a+(c+-1)>>0]|0,d[a+((c<<1)+-1)>>0]|0,e,e);return}function Nn(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=g>>1;o=e[a+(0-j<<1)>>1]|0;n=e[a+(1-j<<1)>>1]|0;i=e[a+(2-j<<1)>>1]|0;m=e[a+(3-j<<1)>>1]|0;l=e[a+(4-j<<1)>>1]|0;k=e[a+(5-j<<1)>>1]|0;g=e[a+(6-j<<1)>>1]|0;h=e[a+(7-j<<1)>>1]|0;f=(g+2+(e[a+((f|0?8:7)-j<<1)>>1]|0)+(h<<1)|0)>>>2;b[a>>1]=((e[a+((((d|0)!=0)<<31>>31)-j<<1)>>1]|0)+2+(o<<1)+n|0)>>>2;b[a+2>>1]=(o+2+(n<<1)+i|0)>>>2;b[a+4>>1]=(n+2+(i<<1)+m|0)>>>2;b[a+6>>1]=(i+2+(m<<1)+l|0)>>>2;i=a+8|0;b[i>>1]=(m+2+(l<<1)+k|0)>>>2;b[a+10>>1]=(l+2+(k<<1)+g|0)>>>2;b[a+12>>1]=(k+2+(g<<1)+h|0)>>>2;b[a+14>>1]=f;f=a;d=c[f>>2]|0;f=c[f+4>>2]|0;h=c[i>>2]|0;i=c[i+4>>2]|0;g=1;while(1){if((g|0)==8)break;o=a+((H(g,j)|0)<<1)|0;n=o;c[n>>2]=d;c[n+4>>2]=f;o=o+8|0;c[o>>2]=h;c[o+4>>2]=i;g=g+1|0}return}function On(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;p=f>>1;u=e[a+((H(p,((b|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;s=e[a+-2>>1]|0;q=e[a+(p+-1<<1)>>1]|0;n=p<<1;o=e[a+(n+-1<<1)>>1]|0;l=p*3|0;m=e[a+(l+-1<<1)>>1]|0;j=p<<2;k=e[a+(j+-1<<1)>>1]|0;h=p*5|0;i=e[a+(h+-1<<1)>>1]|0;g=p*6|0;d=e[a+(g+-1<<1)>>1]|0;f=p*7|0;b=e[a+(f+-1<<1)>>1]|0;u=OW((u+2+(s<<1)+q|0)>>>2|0,0,65537,65537)|0;t=M()|0;r=a;c[r>>2]=u;c[r+4>>2]=t;r=a+8|0;c[r>>2]=u;c[r+4>>2]=t;s=OW((s+2+(q<<1)+o|0)>>>2|0,0,65537,65537)|0;r=M()|0;p=a+(p<<1)|0;t=p;c[t>>2]=s;c[t+4>>2]=r;p=p+8|0;c[p>>2]=s;c[p+4>>2]=r;q=OW((q+2+(o<<1)+m|0)>>>2|0,0,65537,65537)|0;p=M()|0;n=a+(n<<1)|0;r=n;c[r>>2]=q;c[r+4>>2]=p;n=n+8|0;c[n>>2]=q;c[n+4>>2]=p;o=OW((o+2+(m<<1)+k|0)>>>2|0,0,65537,65537)|0;n=M()|0;l=a+(l<<1)|0;p=l;c[p>>2]=o;c[p+4>>2]=n;l=l+8|0;c[l>>2]=o;c[l+4>>2]=n;m=OW((m+2+(k<<1)+i|0)>>>2|0,0,65537,65537)|0;l=M()|0;j=a+(j<<1)|0;n=j;c[n>>2]=m;c[n+4>>2]=l;j=j+8|0;c[j>>2]=m;c[j+4>>2]=l;k=OW((k+2+(i<<1)+d|0)>>>2|0,0,65537,65537)|0;j=M()|0;h=a+(h<<1)|0;l=h;c[l>>2]=k;c[l+4>>2]=j;h=h+8|0;c[h>>2]=k;c[h+4>>2]=j;i=OW((i+2+(d<<1)+b|0)>>>2|0,0,65537,65537)|0;h=M()|0;g=a+(g<<1)|0;j=g;c[j>>2]=i;c[j+4>>2]=h;g=g+8|0;c[g>>2]=i;c[g+4>>2]=h;b=OW((d+2+(b*3|0)|0)>>>2|0,0,65537,65537)|0;d=M()|0;f=a+(f<<1)|0;a=f;c[a>>2]=b;c[a+4>>2]=d;f=f+8|0;c[f>>2]=b;c[f+4>>2]=d;return}function Pn(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;h=f>>1;n=((b|0)!=0)<<31>>31;w=e[a+((H(h,n)|0)+-1<<1)>>1]|0;v=e[a+-2>>1]|0;u=e[a+(h+-1<<1)>>1]|0;t=e[a+((h<<1)+-1<<1)>>1]|0;s=e[a+((h*3|0)+-1<<1)>>1]|0;r=e[a+((h<<2)+-1<<1)>>1]|0;q=e[a+((h*5|0)+-1<<1)>>1]|0;p=e[a+((h*6|0)+-1<<1)>>1]|0;o=e[a+((h*7|0)+-1<<1)>>1]|0;m=e[a+(0-h<<1)>>1]|0;l=e[a+(1-h<<1)>>1]|0;k=e[a+(2-h<<1)>>1]|0;j=e[a+(3-h<<1)>>1]|0;i=e[a+(4-h<<1)>>1]|0;f=e[a+(5-h<<1)>>1]|0;b=e[a+(6-h<<1)>>1]|0;g=e[a+(7-h<<1)>>1]|0;d=((w+2+(v<<1)+u|0)>>>2)+8+((v+2+(u<<1)+t|0)>>>2)+((u+2+(t<<1)+s|0)>>>2)+((t+2+(s<<1)+r|0)>>>2)+((s+2+(r<<1)+q|0)>>>2)+((r+2+(q<<1)+p|0)>>>2)+((q+2+(p<<1)+o|0)>>>2)+((p+2+(o*3|0)|0)>>>2)+(((e[a+(n-h<<1)>>1]|0)+2+(m<<1)+l|0)>>>2)+((m+2+(l<<1)+k|0)>>>2)+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+f|0)>>>2)+((i+2+(f<<1)+b|0)>>>2)+((f+2+(b<<1)+g|0)>>>2)+((b+2+(e[a+((d|0?8:7)-h<<1)>>1]|0)+(g<<1)|0)>>>2)>>4;d=OW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=0;f=a;while(1){if((b|0)==8)break;w=f;c[w>>2]=d;c[w+4>>2]=g;w=f+8|0;c[w>>2]=d;c[w+4>>2]=g;b=b+1|0;f=f+(h<<1)|0}return}function Qn(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;q=f>>1;n=e[a+(0-q<<1)>>1]|0;o=e[a+(1-q<<1)>>1]|0;s=e[a+(2-q<<1)>>1]|0;p=(n+2+(o<<1)+s|0)>>>2;t=e[a+(3-q<<1)>>1]|0;r=(o+2+(s<<1)+t|0)>>>2;u=e[a+(4-q<<1)>>1]|0;s=(s+2+(t<<1)+u|0)>>>2;v=e[a+(5-q<<1)>>1]|0;t=(t+2+(u<<1)+v|0)>>>2;m=e[a+(6-q<<1)>>1]|0;u=(u+2+(v<<1)+m|0)>>>2;f=e[a+(7-q<<1)>>1]|0;v=(v+2+(m<<1)+f|0)>>>2;l=(d|0)!=0;m=(m+2+(e[a+((l?8:7)-q<<1)>>1]|0)+(f<<1)|0)>>>2;if(l){x=e[a+(8-q<<1)>>1]|0;w=e[a+(9-q<<1)>>1]|0;l=e[a+(10-q<<1)>>1]|0;k=e[a+(11-q<<1)>>1]|0;j=e[a+(12-q<<1)>>1]|0;i=e[a+(13-q<<1)>>1]|0;h=e[a+(14-q<<1)>>1]|0;g=e[a+(15-q<<1)>>1]|0;d=(h+2+(g*3|0)|0)>>>2;g=(i+2+(h<<1)+g|0)>>>2;h=(j+2+(i<<1)+h|0)>>>2;i=(k+2+(j<<1)+i|0)>>>2;j=(l+2+(k<<1)+j|0)>>>2;k=(w+2+(l<<1)+k|0)>>>2;l=(x+2+(w<<1)+l|0)>>>2;f=(f+2+(x<<1)+w|0)>>>2}else{d=f;g=f;h=f;i=f;j=f;k=f;l=f}b[a>>1]=((((e[a+((((c|0)!=0)<<31>>31)-q<<1)>>1]|0)+2+(n<<1)+o|0)>>>2)+2+(p<<1)+r|0)>>>2;w=(p+2+(r<<1)+s|0)>>>2&65535;b[a+2>>1]=w;b[a+(q<<1)>>1]=w;w=(r+2+(s<<1)+t|0)>>>2&65535;b[a+4>>1]=w;b[a+(q+1<<1)>>1]=w;r=q<<1;b[a+(r<<1)>>1]=w;w=(s+2+(t<<1)+u|0)>>>2&65535;b[a+6>>1]=w;b[a+(q+2<<1)>>1]=w;b[a+((r|1)<<1)>>1]=w;s=q*3|0;b[a+(s<<1)>>1]=w;w=(t+2+(u<<1)+v|0)>>>2&65535;b[a+8>>1]=w;b[a+(q+3<<1)>>1]=w;b[a+(r+2<<1)>>1]=w;b[a+(s+1<<1)>>1]=w;t=q<<2;b[a+(t<<1)>>1]=w;w=(u+2+(v<<1)+m|0)>>>2&65535;b[a+10>>1]=w;b[a+(q+4<<1)>>1]=w;b[a+(r+3<<1)>>1]=w;b[a+(s+2<<1)>>1]=w;b[a+((t|1)<<1)>>1]=w;u=q*5|0;b[a+(u<<1)>>1]=w;w=(v+2+(m<<1)+f|0)>>>2&65535;b[a+12>>1]=w;b[a+(q+5<<1)>>1]=w;b[a+(r+4<<1)>>1]=w;b[a+(s+3<<1)>>1]=w;b[a+((t|2)<<1)>>1]=w;b[a+(u+1<<1)>>1]=w;c=q*6|0;b[a+(c<<1)>>1]=w;w=(m+2+(f<<1)+l|0)>>>2&65535;b[a+14>>1]=w;b[a+(q+6<<1)>>1]=w;b[a+(r+5<<1)>>1]=w;b[a+(s+4<<1)>>1]=w;b[a+((t|3)<<1)>>1]=w;b[a+(u+2<<1)>>1]=w;b[a+((c|1)<<1)>>1]=w;x=q*7|0;b[a+(x<<1)>>1]=w;w=(f+2+(l<<1)+k|0)>>>2&65535;b[a+(q+7<<1)>>1]=w;b[a+(r+6<<1)>>1]=w;b[a+(s+5<<1)>>1]=w;b[a+(t+4<<1)>>1]=w;b[a+(u+3<<1)>>1]=w;b[a+(c+2<<1)>>1]=w;b[a+(x+1<<1)>>1]=w;w=(l+2+(k<<1)+j|0)>>>2&65535;b[a+(r+7<<1)>>1]=w;b[a+(s+6<<1)>>1]=w;b[a+(t+5<<1)>>1]=w;b[a+(u+4<<1)>>1]=w;b[a+(c+3<<1)>>1]=w;b[a+(x+2<<1)>>1]=w;w=(k+2+(j<<1)+i|0)>>>2&65535;b[a+(s+7<<1)>>1]=w;b[a+(t+6<<1)>>1]=w;b[a+(u+5<<1)>>1]=w;b[a+(c+4<<1)>>1]=w;b[a+(x+3<<1)>>1]=w;w=(j+2+(i<<1)+h|0)>>>2&65535;b[a+(t+7<<1)>>1]=w;b[a+(u+6<<1)>>1]=w;b[a+(c+5<<1)>>1]=w;b[a+(x+4<<1)>>1]=w;w=(i+2+(h<<1)+g|0)>>>2&65535;b[a+(u+7<<1)>>1]=w;b[a+(c+6<<1)>>1]=w;b[a+(x+5<<1)>>1]=w;w=(h+2+(g<<1)+d|0)>>>2&65535;b[a+(c+7<<1)>>1]=w;b[a+(x+6<<1)>>1]=w;b[a+(x+7<<1)>>1]=(g+2+(d*3|0)|0)>>>2;return}function Rn(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;h=f>>1;t=((c|0)!=0)<<31>>31;C=e[a+(0-h<<1)>>1]|0;m=e[a+(1-h<<1)>>1]|0;s=((e[a+(t-h<<1)>>1]|0)+2+(C<<1)+m|0)>>>2;k=e[a+(2-h<<1)>>1]|0;C=C+2|0;o=(C+(m<<1)+k|0)>>>2;i=e[a+(3-h<<1)>>1]|0;m=(m+2+(k<<1)+i|0)>>>2;g=e[a+(4-h<<1)>>1]|0;k=(k+2+(i<<1)+g|0)>>>2;c=e[a+(5-h<<1)>>1]|0;i=(i+2+(g<<1)+c|0)>>>2;q=e[a+(6-h<<1)>>1]|0;g=(g+2+(c<<1)+q|0)>>>2;f=e[a+(7-h<<1)>>1]|0;c=(c+2+(q<<1)+f|0)>>>2;f=(q+2+(e[a+((d|0?8:7)-h<<1)>>1]|0)+(f<<1)|0)>>>2;t=e[a+((H(h,t)|0)+-1<<1)>>1]|0;q=e[a+-2>>1]|0;v=e[a+(h+-1<<1)>>1]|0;t=(t+2+(q<<1)+v|0)>>>2;j=h<<1;w=e[a+(j+-1<<1)>>1]|0;d=(q+2+(v<<1)+w|0)>>>2;l=h*3|0;x=e[a+(l+-1<<1)>>1]|0;v=(v+2+(w<<1)+x|0)>>>2;n=h<<2;y=e[a+(n+-1<<1)>>1]|0;w=(w+2+(x<<1)+y|0)>>>2;p=h*5|0;z=e[a+(p+-1<<1)>>1]|0;x=(x+2+(y<<1)+z|0)>>>2;r=h*6|0;B=e[a+(r+-1<<1)>>1]|0;y=(y+2+(z<<1)+B|0)>>>2;u=h*7|0;A=e[a+(u+-1<<1)>>1]|0;z=(z+2+(B<<1)+A|0)>>>2;q=(C+q+((e[a+(~h<<1)>>1]|0)<<1)|0)>>>2;b[a+(u<<1)>>1]=(y+2+((B+2+(A*3|0)|0)>>>2)+(z<<1)|0)>>>2;z=(x+2+(y<<1)+z|0)>>>2&65535;b[a+(u+1<<1)>>1]=z;b[a+(r<<1)>>1]=z;y=(w+2+(x<<1)+y|0)>>>2&65535;b[a+(u+2<<1)>>1]=y;b[a+((r|1)<<1)>>1]=y;b[a+(p<<1)>>1]=y;x=(v+2+(w<<1)+x|0)>>>2&65535;b[a+(u+3<<1)>>1]=x;b[a+(r+2<<1)>>1]=x;b[a+(p+1<<1)>>1]=x;b[a+(n<<1)>>1]=x;w=(d+2+(v<<1)+w|0)>>>2&65535;b[a+(u+4<<1)>>1]=w;b[a+(r+3<<1)>>1]=w;b[a+(p+2<<1)>>1]=w;b[a+((n|1)<<1)>>1]=w;b[a+(l<<1)>>1]=w;v=(t+2+(d<<1)+v|0)>>>2&65535;b[a+(u+5<<1)>>1]=v;b[a+(r+4<<1)>>1]=v;b[a+(p+3<<1)>>1]=v;b[a+((n|2)<<1)>>1]=v;b[a+(l+1<<1)>>1]=v;b[a+(j<<1)>>1]=v;d=((t<<1)+2+d+q|0)>>>2&65535;b[a+(u+6<<1)>>1]=d;b[a+(r+5<<1)>>1]=d;b[a+(p+4<<1)>>1]=d;b[a+((n|3)<<1)>>1]=d;b[a+(l+2<<1)>>1]=d;b[a+((j|1)<<1)>>1]=d;b[a+(h<<1)>>1]=d;d=s+2|0;t=(d+t+(q<<1)|0)>>>2&65535;b[a+(u+7<<1)>>1]=t;b[a+(r+6<<1)>>1]=t;b[a+(p+5<<1)>>1]=t;b[a+(n+4<<1)>>1]=t;b[a+(l+3<<1)>>1]=t;b[a+(j+2<<1)>>1]=t;b[a+(h+1<<1)>>1]=t;b[a>>1]=t;q=((s<<1)+2+o+q|0)>>>2&65535;b[a+(r+7<<1)>>1]=q;b[a+(p+6<<1)>>1]=q;b[a+(n+5<<1)>>1]=q;b[a+(l+4<<1)>>1]=q;b[a+(j+3<<1)>>1]=q;b[a+(h+2<<1)>>1]=q;b[a+2>>1]=q;d=(d+(o<<1)+m|0)>>>2&65535;b[a+(p+7<<1)>>1]=d;b[a+(n+6<<1)>>1]=d;b[a+(l+5<<1)>>1]=d;b[a+(j+4<<1)>>1]=d;b[a+(h+3<<1)>>1]=d;b[a+4>>1]=d;d=(o+2+(m<<1)+k|0)>>>2&65535;b[a+(n+7<<1)>>1]=d;b[a+(l+6<<1)>>1]=d;b[a+(j+5<<1)>>1]=d;b[a+(h+4<<1)>>1]=d;b[a+6>>1]=d;d=(m+2+(k<<1)+i|0)>>>2&65535;b[a+(l+7<<1)>>1]=d;b[a+(j+6<<1)>>1]=d;b[a+(h+5<<1)>>1]=d;b[a+8>>1]=d;d=(k+2+(i<<1)+g|0)>>>2&65535;b[a+(j+7<<1)>>1]=d;b[a+(h+6<<1)>>1]=d;b[a+10>>1]=d;d=(i+2+(g<<1)+c|0)>>>2&65535;b[a+(h+7<<1)>>1]=d;b[a+12>>1]=d;b[a+14>>1]=(g+2+(c<<1)+f|0)>>>2;return}function Sn(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;g=f>>1;s=((c|0)!=0)<<31>>31;A=e[a+(0-g<<1)>>1]|0;q=e[a+(1-g<<1)>>1]|0;u=((e[a+(s-g<<1)>>1]|0)+2+(A<<1)+q|0)>>>2;n=e[a+(2-g<<1)>>1]|0;A=A+2|0;r=(A+(q<<1)+n|0)>>>2;k=e[a+(3-g<<1)>>1]|0;q=(q+2+(n<<1)+k|0)>>>2;h=e[a+(4-g<<1)>>1]|0;n=(n+2+(k<<1)+h|0)>>>2;c=e[a+(5-g<<1)>>1]|0;k=(k+2+(h<<1)+c|0)>>>2;t=e[a+(6-g<<1)>>1]|0;h=(h+2+(c<<1)+t|0)>>>2;f=e[a+(7-g<<1)>>1]|0;c=(c+2+(t<<1)+f|0)>>>2;f=(t+2+(e[a+((d|0?8:7)-g<<1)>>1]|0)+(f<<1)|0)>>>2;s=e[a+((H(g,s)|0)+-1<<1)>>1]|0;t=e[a+-2>>1]|0;d=e[a+(g+-1<<1)>>1]|0;s=(s+2+(t<<1)+d|0)>>>2;i=g<<1;x=e[a+(i+-1<<1)>>1]|0;v=(t+2+(d<<1)+x|0)>>>2;j=g*3|0;w=e[a+(j+-1<<1)>>1]|0;d=(d+2+(x<<1)+w|0)>>>2;l=g<<2;z=e[a+(l+-1<<1)>>1]|0;x=(x+2+(w<<1)+z|0)>>>2;m=g*5|0;B=e[a+(m+-1<<1)>>1]|0;w=(w+2+(z<<1)+B|0)>>>2;o=g*6|0;y=e[a+(o+-1<<1)>>1]|0;z=(z+2+(B<<1)+y|0)>>>2;p=g*7|0;y=(B+2+(y<<1)+(e[a+(p+-1<<1)>>1]|0)|0)>>>2;t=(A+t+((e[a+(~g<<1)>>1]|0)<<1)|0)>>>2;b[a+(o<<1)>>1]=(x+2+(w<<1)+z|0)>>>2;b[a+(p<<1)>>1]=(w+2+(z<<1)+y|0)>>>2;y=(v+2+(d<<1)+x|0)>>>2&65535;b[a+((o|1)<<1)>>1]=y;b[a+(l<<1)>>1]=y;w=(d+2+(x<<1)+w|0)>>>2&65535;b[a+(p+1<<1)>>1]=w;b[a+(m<<1)>>1]=w;w=((s<<1)+2+v+t|0)>>>2&65535;b[a+(o+2<<1)>>1]=w;b[a+((l|1)<<1)>>1]=w;b[a+(i<<1)>>1]=w;d=(s+2+(v<<1)+d|0)>>>2&65535;b[a+(p+2<<1)>>1]=d;b[a+(m+1<<1)>>1]=d;b[a+(j<<1)>>1]=d;d=u+2|0;s=(d+s+(t<<1)|0)>>>2&65535;b[a+(p+3<<1)>>1]=s;b[a+(m+2<<1)>>1]=s;b[a+(j+1<<1)>>1]=s;b[a+(g<<1)>>1]=s;s=u+1|0;v=(s+t|0)>>>1&65535;b[a+(o+3<<1)>>1]=v;b[a+((l|2)<<1)>>1]=v;b[a+((i|1)<<1)>>1]=v;b[a>>1]=v;t=((u<<1)+2+r+t|0)>>>2&65535;b[a+(p+4<<1)>>1]=t;b[a+(m+3<<1)>>1]=t;b[a+(j+2<<1)>>1]=t;b[a+(g+1<<1)>>1]=t;s=(s+r|0)>>>1&65535;b[a+(o+4<<1)>>1]=s;b[a+((l|3)<<1)>>1]=s;b[a+(i+2<<1)>>1]=s;b[a+2>>1]=s;d=(d+(r<<1)+q|0)>>>2&65535;b[a+(p+5<<1)>>1]=d;b[a+(m+4<<1)>>1]=d;b[a+(j+3<<1)>>1]=d;b[a+(g+2<<1)>>1]=d;d=(r+1+q|0)>>>1&65535;b[a+(o+5<<1)>>1]=d;b[a+(l+4<<1)>>1]=d;b[a+(i+3<<1)>>1]=d;b[a+4>>1]=d;d=(r+2+(q<<1)+n|0)>>>2&65535;b[a+(p+6<<1)>>1]=d;b[a+(m+5<<1)>>1]=d;b[a+(j+4<<1)>>1]=d;b[a+(g+3<<1)>>1]=d;d=(q+1+n|0)>>>1&65535;b[a+(o+6<<1)>>1]=d;b[a+(l+5<<1)>>1]=d;b[a+(i+4<<1)>>1]=d;b[a+6>>1]=d;d=(q+2+(n<<1)+k|0)>>>2&65535;b[a+(p+7<<1)>>1]=d;b[a+(m+6<<1)>>1]=d;b[a+(j+5<<1)>>1]=d;b[a+(g+4<<1)>>1]=d;d=(n+1+k|0)>>>1&65535;b[a+(o+7<<1)>>1]=d;b[a+(l+6<<1)>>1]=d;b[a+(i+5<<1)>>1]=d;b[a+8>>1]=d;d=(n+2+(k<<1)+h|0)>>>2&65535;b[a+(m+7<<1)>>1]=d;b[a+(j+6<<1)>>1]=d;b[a+(g+5<<1)>>1]=d;d=(k+1+h|0)>>>1&65535;b[a+(l+7<<1)>>1]=d;b[a+(i+6<<1)>>1]=d;b[a+10>>1]=d;d=(k+2+(h<<1)+c|0)>>>2&65535;b[a+(j+7<<1)>>1]=d;b[a+(g+6<<1)>>1]=d;d=(h+1+c|0)>>>1&65535;b[a+(i+7<<1)>>1]=d;b[a+12>>1]=d;b[a+(g+7<<1)>>1]=(h+2+(c<<1)+f|0)>>>2;b[a+14>>1]=(c+1+f|0)>>>1;return}function Tn(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;i=f>>1;o=((c|0)!=0)<<31>>31;A=e[a+(0-i<<1)>>1]|0;h=e[a+(1-i<<1)>>1]|0;n=((e[a+(o-i<<1)>>1]|0)+2+(A<<1)+h|0)>>>2;g=e[a+(2-i<<1)>>1]|0;A=A+2|0;j=(A+(h<<1)+g|0)>>>2;c=e[a+(3-i<<1)>>1]|0;h=(h+2+(g<<1)+c|0)>>>2;d=e[a+(4-i<<1)>>1]|0;g=(g+2+(c<<1)+d|0)>>>2;m=e[a+(5-i<<1)>>1]|0;c=(c+2+(d<<1)+m|0)>>>2;f=e[a+(6-i<<1)>>1]|0;d=(d+2+(m<<1)+f|0)>>>2;f=(m+2+(f<<1)+(e[a+(7-i<<1)>>1]|0)|0)>>>2;o=e[a+((H(i,o)|0)+-1<<1)>>1]|0;m=e[a+-2>>1]|0;k=e[a+(i+-1<<1)>>1]|0;o=(o+2+(m<<1)+k|0)>>>2;l=i<<1;t=e[a+(l+-1<<1)>>1]|0;q=(m+2+(k<<1)+t|0)>>>2;p=i*3|0;v=e[a+(p+-1<<1)>>1]|0;k=(k+2+(t<<1)+v|0)>>>2;r=i<<2;x=e[a+(r+-1<<1)>>1]|0;t=(t+2+(v<<1)+x|0)>>>2;s=i*5|0;y=e[a+(s+-1<<1)>>1]|0;v=(v+2+(x<<1)+y|0)>>>2;u=i*6|0;B=e[a+(u+-1<<1)>>1]|0;x=(x+2+(y<<1)+B|0)>>>2;w=i*7|0;z=e[a+(w+-1<<1)>>1]|0;y=(y+2+(B<<1)+z|0)>>>2;z=(B+2+(z*3|0)|0)>>>2;m=(A+m+((e[a+(~i<<1)>>1]|0)<<1)|0)>>>2;b[a+(w<<1)>>1]=(z+1+y|0)>>>1;b[a+(w+1<<1)>>1]=(x+2+z+(y<<1)|0)>>>2;z=(x+1+y|0)>>>1&65535;b[a+(w+2<<1)>>1]=z;b[a+(u<<1)>>1]=z;y=(v+2+(x<<1)+y|0)>>>2&65535;b[a+(w+3<<1)>>1]=y;b[a+((u|1)<<1)>>1]=y;y=(v+1+x|0)>>>1&65535;b[a+(w+4<<1)>>1]=y;b[a+(u+2<<1)>>1]=y;b[a+(s<<1)>>1]=y;x=(t+2+(v<<1)+x|0)>>>2&65535;b[a+(w+5<<1)>>1]=x;b[a+(u+3<<1)>>1]=x;b[a+(s+1<<1)>>1]=x;x=(t+1+v|0)>>>1&65535;b[a+(w+6<<1)>>1]=x;b[a+(u+4<<1)>>1]=x;b[a+(s+2<<1)>>1]=x;b[a+(r<<1)>>1]=x;v=(k+2+(t<<1)+v|0)>>>2&65535;b[a+(w+7<<1)>>1]=v;b[a+(u+5<<1)>>1]=v;b[a+(s+3<<1)>>1]=v;b[a+((r|1)<<1)>>1]=v;v=(k+1+t|0)>>>1&65535;b[a+(u+6<<1)>>1]=v;b[a+(s+4<<1)>>1]=v;b[a+((r|2)<<1)>>1]=v;b[a+(p<<1)>>1]=v;t=(q+2+(k<<1)+t|0)>>>2&65535;b[a+(u+7<<1)>>1]=t;b[a+(s+5<<1)>>1]=t;b[a+((r|3)<<1)>>1]=t;b[a+(p+1<<1)>>1]=t;t=(q+1+k|0)>>>1&65535;b[a+(s+6<<1)>>1]=t;b[a+(r+4<<1)>>1]=t;b[a+(p+2<<1)>>1]=t;b[a+(l<<1)>>1]=t;k=(o+2+(q<<1)+k|0)>>>2&65535;b[a+(s+7<<1)>>1]=k;b[a+(r+5<<1)>>1]=k;b[a+(p+3<<1)>>1]=k;b[a+((l|1)<<1)>>1]=k;k=o+1|0;s=(k+q|0)>>>1&65535;b[a+(r+6<<1)>>1]=s;b[a+(p+4<<1)>>1]=s;b[a+(l+2<<1)>>1]=s;b[a+(i<<1)>>1]=s;q=((o<<1)+2+q+m|0)>>>2&65535;b[a+(r+7<<1)>>1]=q;b[a+(p+5<<1)>>1]=q;b[a+(l+3<<1)>>1]=q;b[a+(i+1<<1)>>1]=q;k=(k+m|0)>>>1&65535;b[a+(p+6<<1)>>1]=k;b[a+(l+4<<1)>>1]=k;b[a+(i+2<<1)>>1]=k;b[a>>1]=k;k=n+2|0;o=(k+o+(m<<1)|0)>>>2&65535;b[a+(p+7<<1)>>1]=o;b[a+(l+5<<1)>>1]=o;b[a+(i+3<<1)>>1]=o;b[a+2>>1]=o;m=((n<<1)+2+j+m|0)>>>2&65535;b[a+(l+6<<1)>>1]=m;b[a+(i+4<<1)>>1]=m;b[a+4>>1]=m;k=(k+(j<<1)+h|0)>>>2&65535;b[a+(l+7<<1)>>1]=k;b[a+(i+5<<1)>>1]=k;b[a+6>>1]=k;j=(j+2+(h<<1)+g|0)>>>2&65535;b[a+(i+6<<1)>>1]=j;b[a+8>>1]=j;h=(h+2+(g<<1)+c|0)>>>2&65535;b[a+(i+7<<1)>>1]=h;b[a+10>>1]=h;b[a+12>>1]=(g+2+(c<<1)+d|0)>>>2;b[a+14>>1]=(c+2+(d<<1)+f|0)>>>2;return}function Un(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=f>>1;k=e[a+(0-q<<1)>>1]|0;l=e[a+(1-q<<1)>>1]|0;j=((e[a+((((c|0)!=0)<<31>>31)-q<<1)>>1]|0)+2+(k<<1)+l|0)>>>2;m=e[a+(2-q<<1)>>1]|0;k=(k+2+(l<<1)+m|0)>>>2;n=e[a+(3-q<<1)>>1]|0;l=(l+2+(m<<1)+n|0)>>>2;o=e[a+(4-q<<1)>>1]|0;m=(m+2+(n<<1)+o|0)>>>2;p=e[a+(5-q<<1)>>1]|0;n=(n+2+(o<<1)+p|0)>>>2;i=e[a+(6-q<<1)>>1]|0;o=(o+2+(p<<1)+i|0)>>>2;f=e[a+(7-q<<1)>>1]|0;p=(p+2+(i<<1)+f|0)>>>2;h=(d|0)!=0;i=(i+2+(e[a+((h?8:7)-q<<1)>>1]|0)+(f<<1)|0)>>>2;if(h){s=e[a+(8-q<<1)>>1]|0;r=e[a+(9-q<<1)>>1]|0;h=e[a+(10-q<<1)>>1]|0;g=e[a+(11-q<<1)>>1]|0;d=e[a+(12-q<<1)>>1]|0;c=(g+2+(d<<1)+(e[a+(13-q<<1)>>1]|0)|0)>>>2;d=(h+2+(g<<1)+d|0)>>>2;g=(r+2+(h<<1)+g|0)>>>2;h=(s+2+(r<<1)+h|0)>>>2;f=(f+2+(s<<1)+r|0)>>>2}else{c=f;d=f;g=f;h=f}b[a>>1]=(j+1+k|0)>>>1;b[a+(q<<1)>>1]=(j+2+(k<<1)+l|0)>>>2;s=(k+1+l|0)>>>1&65535;b[a+2>>1]=s;t=q<<1;b[a+(t<<1)>>1]=s;s=(k+2+(l<<1)+m|0)>>>2&65535;b[a+(q+1<<1)>>1]=s;j=q*3|0;b[a+(j<<1)>>1]=s;s=(l+1+m|0)>>>1&65535;b[a+4>>1]=s;b[a+((t|1)<<1)>>1]=s;k=q<<2;b[a+(k<<1)>>1]=s;s=(l+2+(m<<1)+n|0)>>>2&65535;b[a+(q+2<<1)>>1]=s;b[a+(j+1<<1)>>1]=s;l=q*5|0;b[a+(l<<1)>>1]=s;s=(m+1+n|0)>>>1&65535;b[a+6>>1]=s;b[a+(t+2<<1)>>1]=s;b[a+((k|1)<<1)>>1]=s;r=q*6|0;b[a+(r<<1)>>1]=s;m=(m+2+(n<<1)+o|0)>>>2&65535;b[a+(q+3<<1)>>1]=m;b[a+(j+2<<1)>>1]=m;b[a+(l+1<<1)>>1]=m;s=q*7|0;b[a+(s<<1)>>1]=m;m=(n+1+o|0)>>>1&65535;b[a+8>>1]=m;b[a+(t+3<<1)>>1]=m;b[a+((k|2)<<1)>>1]=m;b[a+((r|1)<<1)>>1]=m;n=(n+2+(o<<1)+p|0)>>>2&65535;b[a+(q+4<<1)>>1]=n;b[a+(j+3<<1)>>1]=n;b[a+(l+2<<1)>>1]=n;b[a+(s+1<<1)>>1]=n;n=(o+1+p|0)>>>1&65535;b[a+10>>1]=n;b[a+(t+4<<1)>>1]=n;b[a+((k|3)<<1)>>1]=n;b[a+(r+2<<1)>>1]=n;o=(o+2+(p<<1)+i|0)>>>2&65535;b[a+(q+5<<1)>>1]=o;b[a+(j+4<<1)>>1]=o;b[a+(l+3<<1)>>1]=o;b[a+(s+2<<1)>>1]=o;o=(p+1+i|0)>>>1&65535;b[a+12>>1]=o;b[a+(t+5<<1)>>1]=o;b[a+(k+4<<1)>>1]=o;b[a+(r+3<<1)>>1]=o;p=(p+2+(i<<1)+f|0)>>>2&65535;b[a+(q+6<<1)>>1]=p;b[a+(j+5<<1)>>1]=p;b[a+(l+4<<1)>>1]=p;b[a+(s+3<<1)>>1]=p;p=(i+1+f|0)>>>1&65535;b[a+14>>1]=p;b[a+(t+6<<1)>>1]=p;b[a+(k+5<<1)>>1]=p;b[a+(r+4<<1)>>1]=p;p=(i+2+(f<<1)+h|0)>>>2&65535;b[a+(q+7<<1)>>1]=p;b[a+(j+6<<1)>>1]=p;b[a+(l+5<<1)>>1]=p;b[a+(s+4<<1)>>1]=p;q=(f+1+h|0)>>>1&65535;b[a+(t+7<<1)>>1]=q;b[a+(k+6<<1)>>1]=q;b[a+(r+5<<1)>>1]=q;q=(f+2+(h<<1)+g|0)>>>2&65535;b[a+(j+7<<1)>>1]=q;b[a+(l+6<<1)>>1]=q;b[a+(s+5<<1)>>1]=q;q=(h+1+g|0)>>>1&65535;b[a+(k+7<<1)>>1]=q;b[a+(r+6<<1)>>1]=q;q=(h+2+(g<<1)+d|0)>>>2&65535;b[a+(l+7<<1)>>1]=q;b[a+(s+6<<1)>>1]=q;b[a+(r+7<<1)>>1]=(g+1+d|0)>>>1;b[a+(s+7<<1)>>1]=(g+2+(d<<1)+c|0)>>>2;return}function Vn(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=f>>1;r=e[a+((H(n,((c|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;q=e[a+-2>>1]|0;p=e[a+(n+-1<<1)>>1]|0;r=(r+2+(q<<1)+p|0)>>>2;l=n<<1;o=e[a+(l+-1<<1)>>1]|0;q=(q+2+(p<<1)+o|0)>>>2;j=n*3|0;m=e[a+(j+-1<<1)>>1]|0;p=(p+2+(o<<1)+m|0)>>>2;h=n<<2;k=e[a+(h+-1<<1)>>1]|0;o=(o+2+(m<<1)+k|0)>>>2;g=n*5|0;i=e[a+(g+-1<<1)>>1]|0;m=(m+2+(k<<1)+i|0)>>>2;c=n*6|0;s=e[a+(c+-1<<1)>>1]|0;k=(k+2+(i<<1)+s|0)>>>2;f=n*7|0;d=e[a+(f+-1<<1)>>1]|0;i=(i+2+(s<<1)+d|0)>>>2;d=(s+2+(d*3|0)|0)>>>2;b[a>>1]=(r+1+q|0)>>>1;b[a+2>>1]=(r+2+(q<<1)+p|0)>>>2;r=(q+1+p|0)>>>1&65535;b[a+4>>1]=r;b[a+(n<<1)>>1]=r;q=(q+2+(p<<1)+o|0)>>>2&65535;b[a+6>>1]=q;b[a+(n+1<<1)>>1]=q;q=(p+1+o|0)>>>1&65535;b[a+8>>1]=q;b[a+(n+2<<1)>>1]=q;b[a+(l<<1)>>1]=q;p=(p+2+(o<<1)+m|0)>>>2&65535;b[a+10>>1]=p;b[a+(n+3<<1)>>1]=p;b[a+((l|1)<<1)>>1]=p;p=(o+1+m|0)>>>1&65535;b[a+12>>1]=p;b[a+(n+4<<1)>>1]=p;b[a+(l+2<<1)>>1]=p;b[a+(j<<1)>>1]=p;o=(o+2+(m<<1)+k|0)>>>2&65535;b[a+14>>1]=o;b[a+(n+5<<1)>>1]=o;b[a+(l+3<<1)>>1]=o;b[a+(j+1<<1)>>1]=o;o=(m+1+k|0)>>>1&65535;b[a+(n+6<<1)>>1]=o;b[a+(l+4<<1)>>1]=o;b[a+(j+2<<1)>>1]=o;b[a+(h<<1)>>1]=o;m=(m+2+(k<<1)+i|0)>>>2&65535;b[a+(n+7<<1)>>1]=m;b[a+(l+5<<1)>>1]=m;b[a+(j+3<<1)>>1]=m;b[a+((h|1)<<1)>>1]=m;m=(k+1+i|0)>>>1&65535;b[a+(l+6<<1)>>1]=m;b[a+(j+4<<1)>>1]=m;b[a+((h|2)<<1)>>1]=m;b[a+(g<<1)>>1]=m;k=(k+2+d+(i<<1)|0)>>>2&65535;b[a+(l+7<<1)>>1]=k;b[a+(j+5<<1)>>1]=k;b[a+((h|3)<<1)>>1]=k;b[a+(g+1<<1)>>1]=k;k=(d+1+i|0)>>>1&65535;b[a+(j+6<<1)>>1]=k;b[a+(h+4<<1)>>1]=k;b[a+(g+2<<1)>>1]=k;b[a+(c<<1)>>1]=k;i=(i+2+(d*3|0)|0)>>>2&65535;b[a+(j+7<<1)>>1]=i;b[a+(h+5<<1)>>1]=i;b[a+(g+3<<1)>>1]=i;b[a+((c|1)<<1)>>1]=i;d=d&65535;b[a+(f+7<<1)>>1]=d;b[a+(c+7<<1)>>1]=d;b[a+(g+7<<1)>>1]=d;b[a+(h+7<<1)>>1]=d;b[a+(f+6<<1)>>1]=d;b[a+(c+6<<1)>>1]=d;b[a+(g+6<<1)>>1]=d;b[a+(h+6<<1)>>1]=d;b[a+(f+5<<1)>>1]=d;b[a+(c+5<<1)>>1]=d;b[a+(g+5<<1)>>1]=d;b[a+(f+4<<1)>>1]=d;b[a+(c+4<<1)>>1]=d;b[a+(g+4<<1)>>1]=d;b[a+(f+3<<1)>>1]=d;b[a+(c+3<<1)>>1]=d;b[a+(f+2<<1)>>1]=d;b[a+(c+2<<1)>>1]=d;b[a+(f+1<<1)>>1]=d;b[a+(f<<1)>>1]=d;return}function Wn(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=f>>1;m=e[a+((H(h,((b|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;l=e[a+-2>>1]|0;k=e[a+(h+-1<<1)>>1]|0;j=e[a+((h<<1)+-1<<1)>>1]|0;i=e[a+((h*3|0)+-1<<1)>>1]|0;d=e[a+((h<<2)+-1<<1)>>1]|0;f=e[a+((h*5|0)+-1<<1)>>1]|0;g=e[a+((h*6|0)+-1<<1)>>1]|0;b=e[a+((h*7|0)+-1<<1)>>1]|0;b=((m+2+(l<<1)+k|0)>>>2)+4+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+d|0)>>>2)+((i+2+(d<<1)+f|0)>>>2)+((d+2+(f<<1)+g|0)>>>2)+((f+2+(g<<1)+b|0)>>>2)+((g+2+(b*3|0)|0)>>>2)>>3;b=OW(b|0,((b|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;f=0;d=a;while(1){if((f|0)==8)break;m=d;c[m>>2]=b;c[m+4>>2]=g;m=d+8|0;c[m>>2]=b;c[m+4>>2]=g;f=f+1|0;d=d+(h<<1)|0}return}function Xn(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=f>>1;n=e[a+(0-h<<1)>>1]|0;m=e[a+(1-h<<1)>>1]|0;l=e[a+(2-h<<1)>>1]|0;k=e[a+(3-h<<1)>>1]|0;j=e[a+(4-h<<1)>>1]|0;i=e[a+(5-h<<1)>>1]|0;f=e[a+(6-h<<1)>>1]|0;g=e[a+(7-h<<1)>>1]|0;d=(((e[a+((((b|0)!=0)<<31>>31)-h<<1)>>1]|0)+2+(n<<1)+m|0)>>>2)+4+((n+2+(m<<1)+l|0)>>>2)+((m+2+(l<<1)+k|0)>>>2)+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+f|0)>>>2)+((i+2+(f<<1)+g|0)>>>2)+((f+2+(e[a+((d|0?8:7)-h<<1)>>1]|0)+(g<<1)|0)>>>2)>>3;d=OW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=0;f=a;while(1){if((b|0)==8)break;n=f;c[n>>2]=d;c[n+4>>2]=g;n=f+8|0;c[n>>2]=d;c[n+4>>2]=g;b=b+1|0;f=f+(h<<1)|0}return}function Yn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;d=e>>1;b=0;while(1){if((b|0)==8)break;e=a;c[e>>2]=16777472;c[e+4>>2]=16777472;e=a+8|0;c[e>>2]=16777472;c[e+4>>2]=16777472;b=b+1|0;a=a+(d<<1)|0}return}function Zn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=b>>1;f=a+(0-g<<1)|0;d=f;h=c[d>>2]|0;d=c[d+4>>2]|0;f=f+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;b=0;while(1){if((b|0)==8)break;i=a+((H(b,g)|0)<<1)|0;j=i;c[j>>2]=h;c[j+4>>2]=d;i=i+8|0;c[i>>2]=e;c[i+4>>2]=f;b=b+1|0}return}function _n(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=b>>1;f=a+(0-g<<1)|0;d=f;h=c[d>>2]|0;d=c[d+4>>2]|0;f=f+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;b=0;while(1){if((b|0)==16)break;i=a+((H(b,g)|0)<<1)|0;j=i;c[j>>2]=h;c[j+4>>2]=d;i=i+8|0;c[i>>2]=e;c[i+4>>2]=f;b=b+1|0}return} -function $n(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==8)break;f=H(b,d)|0;h=OW(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;f=f+8|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function ao(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==16)break;f=H(b,d)|0;h=OW(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;f=f+8|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function bo(a,c){a=a|0;c=c|0;var d=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=c>>1;h=0-q|0;i=a+6+(h<<1)|0;f=a+(q<<2<<1)+-2|0;p=q<<1;d=f+(0-p<<1)|0;o=a+((q*14|0)+-2)|0;p=a+(-2-p)|0;j=(e[f>>1]|0)-(e[d>>1]|0)|0;c=(e[i+2>>1]|0)-(e[i+-2>>1]|0)|0;g=2;while(1){if((g|0)==5)break;n=f+(q<<1)|0;m=d+(h<<1)|0;l=(H((e[i+(g<<1)>>1]|0)-(e[i+(0-g<<1)>>1]|0)|0,g)|0)+c|0;j=(H((e[n>>1]|0)-(e[m>>1]|0)|0,g)|0)+j|0;c=l;d=m;f=n;g=g+1|0}n=(c*17|0)+16>>5;g=(j*17|0)+16>>5;h=n<<1;i=n*3|0;j=n<<2;k=n*5|0;l=n*6|0;m=n*7|0;f=8;d=(H(g+n|0,-3)|0)+16+((e[p+16>>1]|0)+(e[o>>1]|0)<<4)|0;c=a;while(1){if((f|0)<=0)break;a=d>>5;b[c>>1]=a>>>0<512?a:0-a>>31&511;a=d+n>>5;b[c+2>>1]=a>>>0<512?a:0-a>>31&511;a=d+h>>5;b[c+4>>1]=a>>>0<512?a:0-a>>31&511;a=d+i>>5;b[c+6>>1]=a>>>0<512?a:0-a>>31&511;a=d+j>>5;b[c+8>>1]=a>>>0<512?a:0-a>>31&511;a=d+k>>5;b[c+10>>1]=a>>>0<512?a:0-a>>31&511;a=d+l>>5;b[c+12>>1]=a>>>0<512?a:0-a>>31&511;a=d+m>>5;b[c+14>>1]=a>>>0<512?a:0-a>>31&511;f=f+-1|0;d=d+g|0;c=c+(q<<1)|0}return}function co(a,c){a=a|0;c=c|0;var d=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=c>>1;l=0-q|0;h=a+6+(l<<1)|0;g=a+(q<<3<<1)+-2|0;f=g+(0-(q<<1)<<1)|0;j=a+((q*22|0)+-2)|0;i=a+((q*6|0)+-2)|0;c=2;d=(e[g>>1]|0)-(e[f>>1]|0)|0;k=(e[h+2>>1]|0)-(e[h+-2>>1]|0)|0;while(1){if((c|0)==5)break;p=g+(q<<1)|0;o=f+(l<<1)|0;n=(H((e[h+(c<<1)>>1]|0)-(e[h+(0-c<<1)>>1]|0)|0,c)|0)+k|0;m=(H((e[p>>1]|0)-(e[o>>1]|0)|0,c)|0)+d|0;c=c+1|0;d=m;k=n;f=o;g=p}c=5;while(1){if((c|0)>=9)break;p=j+(q<<1)|0;o=i+(l<<1)|0;d=(H((e[p>>1]|0)-(e[o>>1]|0)|0,c)|0)+d|0;c=c+1|0;i=o;j=p}p=(k*17|0)+16>>5;g=(d*5|0)+32>>6;h=p*3|0;k=p<<1;l=p<<2;m=p*5|0;n=p*6|0;o=p*7|0;f=16;d=16-h+(H(g,-7)|0)+((e[i+16>>1]|0)+(e[j>>1]|0)<<4)|0;c=a;while(1){if((f|0)<=0)break;a=d>>5;b[c>>1]=a>>>0<512?a:0-a>>31&511;a=d+p>>5;b[c+2>>1]=a>>>0<512?a:0-a>>31&511;a=d+k>>5;b[c+4>>1]=a>>>0<512?a:0-a>>31&511;a=d+h>>5;b[c+6>>1]=a>>>0<512?a:0-a>>31&511;a=d+l>>5;b[c+8>>1]=a>>>0<512?a:0-a>>31&511;a=d+m>>5;b[c+10>>1]=a>>>0<512?a:0-a>>31&511;a=d+n>>5;b[c+12>>1]=a>>>0<512?a:0-a>>31&511;a=d+o>>5;b[c+14>>1]=a>>>0<512?a:0-a>>31&511;f=f+-1|0;d=d+g|0;c=c+(q<<1)|0}return}function eo(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=134276+(0-(d[b+~c>>0]|0))|0;n=b+(0-c)|0;f=n+1|0;g=n+2|0;h=n+3|0;i=n+4|0;j=n+5|0;k=n+6|0;l=n+7|0;e=0;while(1){if((e|0)==8)break;o=m+(d[b+-1>>0]|0)|0;a[b>>0]=a[o+(d[n>>0]|0)>>0]|0;a[b+1>>0]=a[o+(d[f>>0]|0)>>0]|0;a[b+2>>0]=a[o+(d[g>>0]|0)>>0]|0;a[b+3>>0]=a[o+(d[h>>0]|0)>>0]|0;a[b+4>>0]=a[o+(d[i>>0]|0)>>0]|0;a[b+5>>0]=a[o+(d[j>>0]|0)>>0]|0;a[b+6>>0]=a[o+(d[k>>0]|0)>>0]|0;a[b+7>>0]=a[o+(d[l>>0]|0)>>0]|0;b=b+c|0;e=e+1|0}return}function fo(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=b>>1;b=0;d=0;f=0;g=0;while(1){if((b|0)==4)break;l=e[a+((H(b,n)|0)+-1<<1)>>1]|0;l=d+l+(e[a+(b-n<<1)>>1]|0)|0;m=b+4|0;b=b+1|0;d=l;f=f+(e[a+(m-n<<1)>>1]|0)|0;g=g+(e[a+((H(m,n)|0)+-1<<1)>>1]|0)|0}d=d+4>>3;d=OW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;h=M()|0;i=f+2>>2;i=OW(i|0,((i|0)<0)<<31>>31|0,65537,65537)|0;j=M()|0;k=g+2>>2;l=((k|0)<0)<<31>>31;f=g+4+f>>3;m=((f|0)<0)<<31>>31;b=0;while(1){if((b|0)==4)break;g=a+((H(b,n)|0)<<1)|0;o=g;c[o>>2]=d;c[o+4>>2]=h;g=g+8|0;c[g>>2]=i;c[g+4>>2]=j;b=b+1|0}g=OW(k|0,l|0,65537,65537)|0;h=M()|0;d=OW(f|0,m|0,65537,65537)|0;f=M()|0;b=4;while(1){if((b|0)==8)break;o=a+((H(b,n)|0)<<1)|0;m=o;c[m>>2]=g;c[m+4>>2]=h;o=o+8|0;c[o>>2]=d;c[o+4>>2]=f;b=b+1|0}return}function go(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;i=b>>1;b=0;d=0;f=0;while(1){if((b|0)==4)break;g=d+(e[a+((H(b,i)|0)+-1<<1)>>1]|0)|0;h=f+(e[a+((H(b+4|0,i)|0)+-1<<1)>>1]|0)|0;b=b+1|0;d=g;f=h}g=d+2>>2;g=OW(g|0,((g|0)<0)<<31>>31|0,65537,65537)|0;h=M()|0;d=f+2>>2;f=((d|0)<0)<<31>>31;b=0;while(1){if((b|0)==4)break;j=a+((H(b,i)|0)<<1)|0;k=j;c[k>>2]=g;c[k+4>>2]=h;j=j+8|0;c[j>>2]=g;c[j+4>>2]=h;b=b+1|0}d=OW(d|0,f|0,65537,65537)|0;f=M()|0;b=4;while(1){if((b|0)==8)break;k=a+((H(b,i)|0)<<1)|0;j=k;c[j>>2]=d;c[j+4>>2]=f;k=k+8|0;c[k>>2]=d;c[k+4>>2]=f;b=b+1|0}return}function ho(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;j=b>>1;f=4-j|0;b=0;d=0;g=0;while(1){if((b|0)==4)break;h=d+(e[a+(b-j<<1)>>1]|0)|0;i=g+(e[a+(f+b<<1)>>1]|0)|0;b=b+1|0;d=h;g=i}h=d+2>>2;h=OW(h|0,((h|0)<0)<<31>>31|0,65537,65537)|0;i=M()|0;d=g+2>>2;d=OW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;f=M()|0;b=0;while(1){if((b|0)==4){b=4;break}g=a+((H(b,j)|0)<<1)|0;k=g;c[k>>2]=h;c[k+4>>2]=i;g=g+8|0;c[g>>2]=d;c[g+4>>2]=f;b=b+1|0}while(1){if((b|0)==8)break;k=a+((H(b,j)|0)<<1)|0;g=k;c[g>>2]=h;c[g+4>>2]=i;k=k+8|0;c[k>>2]=d;c[k+4>>2]=f;b=b+1|0}return}function io(a,b){a=a|0;b=b|0;ho(a,b);sn(a,0,b);return}function jo(a,b){a=a|0;b=b|0;fo(a,b);Fn(a,0,b);return}function ko(a,b){a=a|0;b=b|0;go(a,b);a=a+(b<<2)|0;Jn(a,0,b);Jn(a+8|0,0,b);return}function lo(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=b>>1;b=0;d=0;h=0;f=0;g=0;i=0;while(1){if((b|0)==4)break;t=e[a+((H(b,y)|0)+-1<<1)>>1]|0;t=d+t+(e[a+(b-y<<1)>>1]|0)|0;u=b+4|0;v=f+(e[a+((H(u,y)|0)+-1<<1)>>1]|0)|0;w=g+(e[a+((H(b+8|0,y)|0)+-1<<1)>>1]|0)|0;x=i+(e[a+((H(b+12|0,y)|0)+-1<<1)>>1]|0)|0;b=b+1|0;d=t;h=h+(e[a+(u-y<<1)>>1]|0)|0;f=v;g=w;i=x}d=d+4>>3;d=OW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;j=M()|0;k=h+2>>2;k=OW(k|0,((k|0)<0)<<31>>31|0,65537,65537)|0;l=M()|0;m=f+2>>2;n=((m|0)<0)<<31>>31;f=f+4+h>>3;o=((f|0)<0)<<31>>31;r=g+2>>2;s=((r|0)<0)<<31>>31;g=g+4+h>>3;t=((g|0)<0)<<31>>31;u=i+2>>2;v=((u|0)<0)<<31>>31;w=i+4+h>>3;x=((w|0)<0)<<31>>31;b=0;while(1){if((b|0)==4)break;q=a+((H(b,y)|0)<<1)|0;p=q;c[p>>2]=d;c[p+4>>2]=j;q=q+8|0;c[q>>2]=k;c[q+4>>2]=l;b=b+1|0}p=OW(m|0,n|0,65537,65537)|0;q=M()|0;m=OW(f|0,o|0,65537,65537)|0;n=M()|0;k=OW(r|0,s|0,65537,65537)|0;l=M()|0;i=OW(g|0,t|0,65537,65537)|0;j=M()|0;g=OW(u|0,v|0,65537,65537)|0;h=M()|0;d=OW(w|0,x|0,65537,65537)|0;f=M()|0;b=4;while(1){if((b|0)==8){b=8;break}x=a+((H(b,y)|0)<<1)|0;w=x;c[w>>2]=p;c[w+4>>2]=q;x=x+8|0;c[x>>2]=m;c[x+4>>2]=n;b=b+1|0}while(1){if((b|0)==12){b=12;break}x=a+((H(b,y)|0)<<1)|0;w=x;c[w>>2]=k;c[w+4>>2]=l;x=x+8|0;c[x>>2]=i;c[x+4>>2]=j;b=b+1|0}while(1){if((b|0)==16)break;x=a+((H(b,y)|0)<<1)|0;w=x;c[w>>2]=g;c[w+4>>2]=h;x=x+8|0;c[x>>2]=d;c[x+4>>2]=f;b=b+1|0}return}function mo(a,b){a=a|0;b=b|0;go(a,b);go(a+(b<<3)|0,b);return}function no(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;j=b>>1;f=4-j|0;b=0;d=0;g=0;while(1){if((b|0)==4)break;h=d+(e[a+(b-j<<1)>>1]|0)|0;i=g+(e[a+(f+b<<1)>>1]|0)|0;b=b+1|0;d=h;g=i}h=d+2>>2;h=OW(h|0,((h|0)<0)<<31>>31|0,65537,65537)|0;i=M()|0;d=g+2>>2;d=OW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;f=M()|0;b=0;while(1){if((b|0)==16)break;g=a+((H(b,j)|0)<<1)|0;k=g;c[k>>2]=h;c[k+4>>2]=i;g=g+8|0;c[g>>2]=d;c[g+4>>2]=f;b=b+1|0}return}function oo(a,b){a=a|0;b=b|0;no(a,b);sn(a,0,b);return}function po(a,b){a=a|0;b=b|0;lo(a,b);Fn(a,0,b);return}function qo(a,b){a=a|0;b=b|0;mo(a,b);a=a+(b<<2)|0;Jn(a,0,b);Jn(a+8|0,0,b);return}function ro(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;e=0;f=0;while(1){if((f|0)==4)break;h=d[a+((H(f,b)|0)+-1)>>0]|0;g=f+4|0;e=e+h+(d[a+(f-b)>>0]|0)+(d[a+(g-b)>>0]|0)+(d[a+((H(g,b)|0)+-1)>>0]|0)|0;f=f+1|0}f=H((e+8|0)>>>4,16843009)|0;e=0;while(1){if((e|0)==4){e=4;break}h=a+(H(e,b)|0)|0;c[h>>2]=f;c[h+4>>2]=f;e=e+1|0}while(1){if((e|0)==8)break;h=a+(H(e,b)|0)|0;c[h>>2]=f;c[h+4>>2]=f;e=e+1|0}return}function so(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=0;f=0;while(1){if((f|0)==8)break;e=e+(d[a+((H(f,b)|0)+-1)>>0]|0)|0;f=f+1|0}f=H((e+4|0)>>>3,16843009)|0;e=0;while(1){if((e|0)==8)break;g=a+(H(e,b)|0)|0;c[g+4>>2]=f;c[g>>2]=f;e=e+1|0}return}function to(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=0;f=0;while(1){if((f|0)==8)break;e=e+(d[a+(f-b)>>0]|0)|0;f=f+1|0}f=H((e+4|0)>>>3,16843009)|0;e=0;while(1){if((e|0)==8)break;g=a+(H(e,b)|0)|0;c[g+4>>2]=f;c[g>>2]=f;e=e+1|0}return}function uo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=16711935;c[f+4>>2]=16711935;e=e+8|0;c[e>>2]=16711935;c[e+4>>2]=16711935;b=b+1|0}return}function vo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=16843009;c[f+4>>2]=16843009;e=e+8|0;c[e>>2]=16843009;c[e+4>>2]=16843009;b=b+1|0}return}function wo(a,b){a=a|0;b=b|0;mo(a,b);Jn(a,0,b);Jn(a+8|0,0,b);return}function xo(a,b){a=a|0;b=b|0;go(a,b);Jn(a,0,b);Jn(a+8|0,0,b);return}function yo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=16777472;c[f+4>>2]=16777472;e=e+8|0;c[e>>2]=16777472;c[e+4>>2]=16777472;b=b+1|0}return}function zo(a,b){a=a|0;b=b|0;yo(a,b);yo(a+(b<<3)|0,b);return}function Ao(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16){d=0;break}b=b+(e[a+((H(d,h)|0)+-1<<1)>>1]|0)|0;d=d+1|0}while(1){if((d|0)==16)break;b=b+(e[a+(d-h<<1)>>1]|0)|0;d=d+1|0}f=b+16>>5;f=OW(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function Bo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=b>>1;k=a+(0-g<<1)|0;d=k;l=c[d>>2]|0;d=c[d+4>>2]|0;f=k+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;i=k+16|0;h=c[i>>2]|0;i=c[i+4>>2]|0;k=k+24|0;j=c[k>>2]|0;k=c[k+4>>2]|0;b=0;while(1){if((b|0)==16)break;m=a+((H(b,g)|0)<<1)|0;n=m;c[n>>2]=l;c[n+4>>2]=d;n=m+8|0;c[n>>2]=e;c[n+4>>2]=f;n=m+16|0;c[n>>2]=h;c[n+4>>2]=i;m=m+24|0;c[m>>2]=j;c[m+4>>2]=k;b=b+1|0}return}function Co(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==16)break;f=H(b,d)|0;h=OW(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;i=f+8|0;c[i>>2]=h;c[i+4>>2]=g;i=f+16|0;c[i>>2]=h;c[i+4>>2]=g;f=f+24|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function Do(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=134276+(0-(d[b+~c>>0]|0))|0;v=b+(0-c)|0;f=v+1|0;g=v+2|0;h=v+3|0;i=v+4|0;j=v+5|0;k=v+6|0;l=v+7|0;m=v+8|0;n=v+9|0;o=v+10|0;p=v+11|0;q=v+12|0;r=v+13|0;s=v+14|0;t=v+15|0;e=0;while(1){if((e|0)==16)break;w=u+(d[b+-1>>0]|0)|0;a[b>>0]=a[w+(d[v>>0]|0)>>0]|0;a[b+1>>0]=a[w+(d[f>>0]|0)>>0]|0;a[b+2>>0]=a[w+(d[g>>0]|0)>>0]|0;a[b+3>>0]=a[w+(d[h>>0]|0)>>0]|0;a[b+4>>0]=a[w+(d[i>>0]|0)>>0]|0;a[b+5>>0]=a[w+(d[j>>0]|0)>>0]|0;a[b+6>>0]=a[w+(d[k>>0]|0)>>0]|0;a[b+7>>0]=a[w+(d[l>>0]|0)>>0]|0;a[b+8>>0]=a[w+(d[m>>0]|0)>>0]|0;a[b+9>>0]=a[w+(d[n>>0]|0)>>0]|0;a[b+10>>0]=a[w+(d[o>>0]|0)>>0]|0;a[b+11>>0]=a[w+(d[p>>0]|0)>>0]|0;a[b+12>>0]=a[w+(d[q>>0]|0)>>0]|0;a[b+13>>0]=a[w+(d[r>>0]|0)>>0]|0;a[b+14>>0]=a[w+(d[s>>0]|0)>>0]|0;a[b+15>>0]=a[w+(d[t>>0]|0)>>0]|0;b=b+c|0;e=e+1|0}return}function Eo(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=16711935;c[e+4>>2]=16711935;e=b+8|0;c[e>>2]=16711935;c[e+4>>2]=16711935;e=b+16|0;c[e>>2]=16711935;c[e+4>>2]=16711935;e=b+24|0;c[e>>2]=16711935;c[e+4>>2]=16711935;b=b+(d<<1)|0;a=a+1|0}return}function Fo(a,b){a=a|0;b=b|0;ou(a,b);return}function Go(a,b){a=a|0;b=b|0;var d=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;c[b>>2]=16843009;c[b+4>>2]=16843009;c[b+8>>2]=16843009;c[b+12>>2]=16843009;c[b+16>>2]=16843009;c[b+20>>2]=16843009;c[b+24>>2]=16843009;c[b+28>>2]=16843009;b=b+(d<<1)|0;a=a+1|0}return}function Ho(a,b){a=a|0;b=b|0;ku(a,b,0,1);return}function Io(a,b){a=a|0;b=b|0;ku(a,b,1,0);return}function Jo(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16)break;b=b+(e[a+((H(d,h)|0)+-1<<1)>>1]|0)|0;d=d+1|0}f=b+8>>4;f=OW(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function Ko(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16)break;b=b+(e[a+(d-h<<1)>>1]|0)|0;d=d+1|0}f=b+8>>4;f=OW(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function Lo(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=16777472;c[e+4>>2]=16777472;e=b+8|0;c[e>>2]=16777472;c[e+4>>2]=16777472;e=b+16|0;c[e>>2]=16777472;c[e+4>>2]=16777472;e=b+24|0;c[e>>2]=16777472;c[e+4>>2]=16777472;b=b+(d<<1)|0;a=a+1|0}return}function Mo(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;h=f>>1;i=h<<1;j=h*3|0;k=h<<2;g=d;f=a+(0-h<<1)|0;a=0;while(1){if((a|0)==4)break;l=(c[g>>2]|0)+(e[f>>1]|0)|0;b[f+(h<<1)>>1]=l;l=(c[g+16>>2]|0)+l|0;b[f+(i<<1)>>1]=l;l=(c[g+32>>2]|0)+l|0;b[f+(j<<1)>>1]=l;b[f+(k<<1)>>1]=(c[g+48>>2]|0)+l;g=g+4|0;f=f+2|0;a=a+1|0}f=d+64|0;do{b[d>>1]=0;d=d+2|0}while((d|0)<(f|0));return}function No(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0;h=f>>1;g=d;f=a;a=0;while(1){if((a|0)==4)break;i=(c[g>>2]|0)+(e[f+-2>>1]|0)|0;b[f>>1]=i;i=(c[g+4>>2]|0)+i|0;b[f+2>>1]=i;i=(c[g+8>>2]|0)+i|0;b[f+4>>1]=i;b[f+6>>1]=(c[g+12>>2]|0)+i;g=g+16|0;f=f+(h<<1)|0;a=a+1|0}f=d+64|0;do{b[d>>1]=0;d=d+2|0}while((d|0)<(f|0));return}function Oo(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=f>>1;l=k<<1;m=k*3|0;n=k<<2;o=k*5|0;h=k*6|0;i=k*7|0;j=k<<3;g=d;f=a+(0-k<<1)|0;a=0;while(1){if((a|0)==8)break;p=(c[g>>2]|0)+(e[f>>1]|0)|0;b[f+(k<<1)>>1]=p;p=(c[g+32>>2]|0)+p|0;b[f+(l<<1)>>1]=p;p=(c[g+64>>2]|0)+p|0;b[f+(m<<1)>>1]=p;p=(c[g+96>>2]|0)+p|0;b[f+(n<<1)>>1]=p;p=(c[g+128>>2]|0)+p|0;b[f+(o<<1)>>1]=p;p=(c[g+160>>2]|0)+p|0;b[f+(h<<1)>>1]=p;p=(c[g+192>>2]|0)+p|0;b[f+(i<<1)>>1]=p;b[f+(j<<1)>>1]=(c[g+224>>2]|0)+p;g=g+4|0;f=f+2|0;a=a+1|0}ZW(d|0,0,256)|0;return}function Po(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0;h=f>>1;g=d;f=a;a=0;while(1){if((a|0)==8)break;i=(c[g>>2]|0)+(e[f+-2>>1]|0)|0;b[f>>1]=i;i=(c[g+4>>2]|0)+i|0;b[f+2>>1]=i;i=(c[g+8>>2]|0)+i|0;b[f+4>>1]=i;i=(c[g+12>>2]|0)+i|0;b[f+6>>1]=i;i=(c[g+16>>2]|0)+i|0;b[f+8>>1]=i;i=(c[g+20>>2]|0)+i|0;b[f+10>>1]=i;i=(c[g+24>>2]|0)+i|0;b[f+12>>1]=i;b[f+14>>1]=(c[g+28>>2]|0)+i;g=g+32|0;f=f+(h<<1)|0;a=a+1|0}ZW(d|0,0,256)|0;return}function Qo(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);p=q;o=h>>1;s=e[a+(0-o<<1)>>1]|0;r=e[a+(1-o<<1)>>1]|0;h=e[a+(2-o<<1)>>1]|0;n=e[a+(3-o<<1)>>1]|0;m=e[a+(4-o<<1)>>1]|0;l=e[a+(5-o<<1)>>1]|0;k=e[a+(6-o<<1)>>1]|0;j=e[a+(7-o<<1)>>1]|0;i=(k+2+(e[a+((g|0?8:7)-o<<1)>>1]|0)+(j<<1)|0)>>>2;b[p>>1]=((e[a+((((f|0)!=0)<<31>>31)-o<<1)>>1]|0)+2+(s<<1)+r|0)>>>2;b[p+2>>1]=(s+2+(r<<1)+h|0)>>>2;b[p+4>>1]=(r+2+(h<<1)+n|0)>>>2;b[p+6>>1]=(h+2+(n<<1)+m|0)>>>2;b[p+8>>1]=(n+2+(m<<1)+l|0)>>>2;b[p+10>>1]=(m+2+(l<<1)+k|0)>>>2;b[p+12>>1]=(l+2+(k<<1)+j|0)>>>2;b[p+14>>1]=i;i=o<<1;j=o*3|0;k=o<<2;l=o*5|0;m=o*6|0;n=o*7|0;g=0;h=a;f=d;while(1){if((g|0)==8)break;s=(c[f>>2]|0)+(e[p+(g<<1)>>1]|0)|0;b[h>>1]=s;s=(c[f+32>>2]|0)+s|0;b[h+(o<<1)>>1]=s;s=(c[f+64>>2]|0)+s|0;b[h+(i<<1)>>1]=s;s=(c[f+96>>2]|0)+s|0;b[h+(j<<1)>>1]=s;s=(c[f+128>>2]|0)+s|0;b[h+(k<<1)>>1]=s;s=(c[f+160>>2]|0)+s|0;b[h+(l<<1)>>1]=s;s=(c[f+192>>2]|0)+s|0;b[h+(m<<1)>>1]=s;b[h+(n<<1)>>1]=(c[f+224>>2]|0)+s;g=g+1|0;h=h+2|0;f=f+4|0}ZW(d|0,0,256)|0;$c=q;return}function Ro(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;k=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);j=k;i=h>>1;q=e[a+((H(i,((f|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;p=e[a+-2>>1]|0;o=e[a+(i+-1<<1)>>1]|0;n=e[a+((i<<1)+-1<<1)>>1]|0;m=e[a+((i*3|0)+-1<<1)>>1]|0;l=e[a+((i<<2)+-1<<1)>>1]|0;h=e[a+((i*5|0)+-1<<1)>>1]|0;g=e[a+((i*6|0)+-1<<1)>>1]|0;f=e[a+((i*7|0)+-1<<1)>>1]|0;b[j>>1]=(q+2+(p<<1)+o|0)>>>2;b[j+2>>1]=(p+2+(o<<1)+n|0)>>>2;b[j+4>>1]=(o+2+(n<<1)+m|0)>>>2;b[j+6>>1]=(n+2+(m<<1)+l|0)>>>2;b[j+8>>1]=(m+2+(l<<1)+h|0)>>>2;b[j+10>>1]=(l+2+(h<<1)+g|0)>>>2;b[j+12>>1]=(h+2+(g<<1)+f|0)>>>2;b[j+14>>1]=(g+2+(f*3|0)|0)>>>2;f=0;g=a;h=d;while(1){if((f|0)==8)break;q=(c[h>>2]|0)+(e[j+(f<<1)>>1]|0)|0;b[g>>1]=q;q=(c[h+4>>2]|0)+q|0;b[g+2>>1]=q;q=(c[h+8>>2]|0)+q|0;b[g+4>>1]=q;q=(c[h+12>>2]|0)+q|0;b[g+6>>1]=q;q=(c[h+16>>2]|0)+q|0;b[g+8>>1]=q;q=(c[h+20>>2]|0)+q|0;b[g+10>>1]=q;q=(c[h+24>>2]|0)+q|0;b[g+12>>1]=q;b[g+14>>1]=(c[h+28>>2]|0)+q;f=f+1|0;g=g+(i<<1)|0;h=h+32|0}ZW(d|0,0,256)|0;$c=k;return}function So(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;Mo(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function To(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4){f=4;break}Mo(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}while(1){if((f|0)==8)break;Mo(a+(c[b+(f+4<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function Uo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;No(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function Vo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4){f=4;break}No(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}while(1){if((f|0)==8)break;No(a+(c[b+(f+4<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function Wo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;d=d>>1;b=a+(0-d<<1)|0;e=c[b>>2]|0;b=c[b+4>>2]|0;f=a;c[f>>2]=e;c[f+4>>2]=b;f=a+(d<<1)|0;c[f>>2]=e;c[f+4>>2]=b;f=a+(d<<1<<1)|0;c[f>>2]=e;c[f+4>>2]=b;d=a+(d*3<<1)|0;c[d>>2]=e;c[d+4>>2]=b;return}function Xo(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0;d=d>>1;f=OW(e[a+-2>>1]|0|0,0,65537,65537)|0;g=M()|0;b=a;c[b>>2]=f;c[b+4>>2]=g;b=OW(e[a+(d+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(d<<1)|0;c[f>>2]=b;c[f+4>>2]=g;f=d<<1;g=OW(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;b=M()|0;f=a+(f<<1)|0;c[f>>2]=g;c[f+4>>2]=b;d=d*3|0;f=OW(e[a+(d+-1<<1)>>1]|0|0,0,65537,65537)|0;b=M()|0;d=a+(d<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function Yo(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0;h=d>>1;g=h<<1;d=h*3|0;f=(e[a+(0-h<<1)>>1]|0)+4+(e[a+(1-h<<1)>>1]|0)+(e[a+(2-h<<1)>>1]|0)+(e[a+(3-h<<1)>>1]|0)+(e[a+-2>>1]|0)+(e[a+(h+-1<<1)>>1]|0)+(e[a+(g+-1<<1)>>1]|0)+(e[a+(d+-1<<1)>>1]|0)>>3;f=OW(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;b=M()|0;i=a;c[i>>2]=f;c[i+4>>2]=b;h=a+(h<<1)|0;c[h>>2]=f;c[h+4>>2]=b;g=a+(g<<1)|0;c[g>>2]=f;c[g+4>>2]=b;d=a+(d<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function Zo(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;i=d>>1;g=e[a+(1-i<<1)>>1]|0;d=e[a+(2-i<<1)>>1]|0;k=e[a+(3-i<<1)>>1]|0;j=e[c>>1]|0;h=e[c+2>>1]|0;f=e[c+4>>1]|0;c=e[c+6>>1]|0;b[a>>1]=((e[a+(0-i<<1)>>1]|0)+2+d+(g<<1)|0)>>>2;g=(g+2+k+(d<<1)|0)>>>2&65535;b[a+(i<<1)>>1]=g;b[a+2>>1]=g;d=(d+2+j+(k<<1)|0)>>>2&65535;g=i<<1;b[a+(g<<1)>>1]=d;b[a+(i+1<<1)>>1]=d;b[a+4>>1]=d;k=(k+2+h+(j<<1)|0)>>>2&65535;d=i*3|0;b[a+(d<<1)>>1]=k;b[a+((g|1)<<1)>>1]=k;b[a+(i+2<<1)>>1]=k;b[a+6>>1]=k;j=(j+2+f+(h<<1)|0)>>>2&65535;b[a+(d+1<<1)>>1]=j;b[a+(g+2<<1)>>1]=j;b[a+(i+3<<1)>>1]=j;h=(h+2+c+(f<<1)|0)>>>2&65535;b[a+(d+2<<1)>>1]=h;b[a+(g+3<<1)>>1]=h;b[a+(d+3<<1)>>1]=(f+2+(c*3|0)|0)>>>2;return}function _o(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;m=e[a+(~h<<1)>>1]|0;g=e[a+(0-h<<1)>>1]|0;f=e[a+(1-h<<1)>>1]|0;c=e[a+(2-h<<1)>>1]|0;d=e[a+(3-h<<1)>>1]|0;k=e[a+-2>>1]|0;n=e[a+(h+-1<<1)>>1]|0;j=h<<1;i=e[a+(j+-1<<1)>>1]|0;l=h*3|0;b[a+(l<<1)>>1]=(n+2+(e[a+(l+-1<<1)>>1]|0)+(i<<1)|0)>>>2;i=(k+2+i+(n<<1)|0)>>>2&65535;b[a+(l+1<<1)>>1]=i;b[a+(j<<1)>>1]=i;i=m+2|0;n=(i+n+(k<<1)|0)>>>2&65535;b[a+(l+2<<1)>>1]=n;b[a+((j|1)<<1)>>1]=n;b[a+(h<<1)>>1]=n;k=((m<<1)+2+g+k|0)>>>2&65535;b[a+(l+3<<1)>>1]=k;b[a+(j+2<<1)>>1]=k;b[a+(h+1<<1)>>1]=k;b[a>>1]=k;i=(i+(g<<1)+f|0)>>>2&65535;b[a+(j+3<<1)>>1]=i;b[a+(h+2<<1)>>1]=i;b[a+2>>1]=i;g=(g+2+(f<<1)+c|0)>>>2&65535;b[a+(h+3<<1)>>1]=g;b[a+4>>1]=g;b[a+6>>1]=(f+2+(c<<1)+d|0)>>>2;return}function $o(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=d>>1;i=e[a+(~j<<1)>>1]|0;n=e[a+(0-j<<1)>>1]|0;m=e[a+(1-j<<1)>>1]|0;l=e[a+(2-j<<1)>>1]|0;k=e[a+(3-j<<1)>>1]|0;g=e[a+-2>>1]|0;f=e[a+(j+-1<<1)>>1]|0;h=j<<1;c=e[a+(h+-1<<1)>>1]|0;d=j*3|0;o=(i+1+n|0)>>>1&65535;b[a+((h|1)<<1)>>1]=o;b[a>>1]=o;o=(n+1+m|0)>>>1&65535;b[a+(h+2<<1)>>1]=o;b[a+2>>1]=o;o=(m+1+l|0)>>>1&65535;b[a+(h+3<<1)>>1]=o;b[a+4>>1]=o;b[a+6>>1]=(l+1+k|0)>>>1;o=((i<<1)+2+n+g|0)>>>2&65535;b[a+(d+1<<1)>>1]=o;b[a+(j<<1)>>1]=o;i=i+2|0;o=(i+(n<<1)+m|0)>>>2&65535;b[a+(d+2<<1)>>1]=o;b[a+(j+1<<1)>>1]=o;n=(n+2+(m<<1)+l|0)>>>2&65535;b[a+(d+3<<1)>>1]=n;b[a+(j+2<<1)>>1]=n;b[a+(j+3<<1)>>1]=(m+2+(l<<1)+k|0)>>>2;b[a+(h<<1)>>1]=(i+(g<<1)+f|0)>>>2;b[a+(d<<1)>>1]=(g+2+(f<<1)+c|0)>>>2;return}function ap(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=d>>1;k=e[a+(~j<<1)>>1]|0;n=e[a+(0-j<<1)>>1]|0;m=e[a+(1-j<<1)>>1]|0;l=e[a+(2-j<<1)>>1]|0;i=e[a+-2>>1]|0;g=e[a+(j+-1<<1)>>1]|0;h=j<<1;f=e[a+(h+-1<<1)>>1]|0;d=j*3|0;c=e[a+(d+-1<<1)>>1]|0;o=(k+1+i|0)>>>1&65535;b[a+(j+2<<1)>>1]=o;b[a>>1]=o;o=((k<<1)+2+n+i|0)>>>2&65535;b[a+(j+3<<1)>>1]=o;b[a+2>>1]=o;k=k+2|0;b[a+4>>1]=(k+(n<<1)+m|0)>>>2;b[a+6>>1]=(n+2+(m<<1)+l|0)>>>2;l=(i+1+g|0)>>>1&65535;b[a+(h+2<<1)>>1]=l;b[a+(j<<1)>>1]=l;k=(k+(i<<1)+g|0)>>>2&65535;b[a+(h+3<<1)>>1]=k;b[a+(j+1<<1)>>1]=k;j=(g+1+f|0)>>>1&65535;b[a+(d+2<<1)>>1]=j;b[a+(h<<1)>>1]=j;i=(i+2+(g<<1)+f|0)>>>2&65535;b[a+(d+3<<1)>>1]=i;b[a+((h|1)<<1)>>1]=i;b[a+(d<<1)>>1]=(f+1+c|0)>>>1;b[a+(d+1<<1)>>1]=(g+2+(f<<1)+c|0)>>>2;return}function bp(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=d>>1;d=e[a+(0-h<<1)>>1]|0;k=e[a+(1-h<<1)>>1]|0;j=e[a+(2-h<<1)>>1]|0;i=e[a+(3-h<<1)>>1]|0;g=e[c>>1]|0;f=e[c+2>>1]|0;c=e[c+4>>1]|0;b[a>>1]=(d+1+k|0)>>>1;m=(k+1+j|0)>>>1&65535;l=h<<1;b[a+(l<<1)>>1]=m;b[a+2>>1]=m;m=(j+1+i|0)>>>1&65535;b[a+((l|1)<<1)>>1]=m;b[a+4>>1]=m;m=(i+1+g|0)>>>1&65535;b[a+(l+2<<1)>>1]=m;b[a+6>>1]=m;b[a+(l+3<<1)>>1]=(g+1+f|0)>>>1;b[a+(h<<1)>>1]=(d+2+(k<<1)+j|0)>>>2;k=(k+2+(j<<1)+i|0)>>>2&65535;d=h*3|0;b[a+(d<<1)>>1]=k;b[a+(h+1<<1)>>1]=k;j=(j+2+(i<<1)+g|0)>>>2&65535;b[a+(d+1<<1)>>1]=j;b[a+(h+2<<1)>>1]=j;i=(i+2+(g<<1)+f|0)>>>2&65535;b[a+(d+2<<1)>>1]=i;b[a+(h+3<<1)>>1]=i;b[a+(d+3<<1)>>1]=(g+2+(f<<1)+c|0)>>>2;return}function cp(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;g=d>>1;k=e[a+-2>>1]|0;j=e[a+(g+-1<<1)>>1]|0;d=g<<1;i=e[a+(d+-1<<1)>>1]|0;f=g*3|0;c=b[a+(f+-1<<1)>>1]|0;h=c&65535;b[a>>1]=(k+1+j|0)>>>1;b[a+2>>1]=(k+2+(j<<1)+i|0)>>>2;k=(j+1+i|0)>>>1&65535;b[a+(g<<1)>>1]=k;b[a+4>>1]=k;j=(j+2+(i<<1)+h|0)>>>2&65535;b[a+(g+1<<1)>>1]=j;b[a+6>>1]=j;j=(i+1+h|0)>>>1&65535;b[a+(d<<1)>>1]=j;b[a+(g+2<<1)>>1]=j;h=(i+2+h+(h<<1)|0)>>>2&65535;b[a+((d|1)<<1)>>1]=h;b[a+(g+3<<1)>>1]=h;b[a+(f+3<<1)>>1]=c;b[a+(f+2<<1)>>1]=c;b[a+(d+2<<1)>>1]=c;b[a+(f<<1)>>1]=c;b[a+(f+1<<1)>>1]=c;b[a+(d+3<<1)>>1]=c;return}function dp(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0;h=d>>1;g=h<<1;d=h*3|0;f=OW(((e[a+-2>>1]|0)+2+(e[a+(h+-1<<1)>>1]|0)+(e[a+(g+-1<<1)>>1]|0)+(e[a+(d+-1<<1)>>1]|0)|0)>>>2|0,0,65537,65537)|0;b=M()|0;i=a;c[i>>2]=f;c[i+4>>2]=b;h=a+(h<<1)|0;c[h>>2]=f;c[h+4>>2]=b;g=a+(g<<1)|0;c[g>>2]=f;c[g+4>>2]=b;d=a+(d<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function ep(a,b,d){a=a|0;b=b|0;d=d|0;d=d>>1;b=a;c[b>>2]=33489407;c[b+4>>2]=33489407;b=a+(d<<1)|0;c[b>>2]=33489407;c[b+4>>2]=33489407;b=a+(d<<1<<1)|0;c[b>>2]=33489407;c[b+4>>2]=33489407;d=a+(d*3<<1)|0;c[d>>2]=33489407;c[d+4>>2]=33489407;return}function fp(a,b,d){a=a|0;b=b|0;d=d|0;d=d>>1;b=a;c[b>>2]=33620481;c[b+4>>2]=33620481;b=a+(d<<1)|0;c[b>>2]=33620481;c[b+4>>2]=33620481;b=a+(d<<1<<1)|0;c[b>>2]=33620481;c[b+4>>2]=33620481;d=a+(d*3<<1)|0;c[d>>2]=33620481;c[d+4>>2]=33620481;return}function gp(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0;d=d>>1;f=OW(((e[a+(0-d<<1)>>1]|0)+2+(e[a+(1-d<<1)>>1]|0)+(e[a+(2-d<<1)>>1]|0)+(e[a+(3-d<<1)>>1]|0)|0)>>>2|0,0,65537,65537)|0;b=M()|0;g=a;c[g>>2]=f;c[g+4>>2]=b;g=a+(d<<1)|0;c[g>>2]=f;c[g+4>>2]=b;g=a+(d<<1<<1)|0;c[g>>2]=f;c[g+4>>2]=b;d=a+(d*3<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function hp(a,b,d){a=a|0;b=b|0;d=d|0;d=d>>1;b=a;c[b>>2]=33554944;c[b+4>>2]=33554944;b=a+(d<<1)|0;c[b>>2]=33554944;c[b+4>>2]=33554944;b=a+(d<<1<<1)|0;c[b>>2]=33554944;c[b+4>>2]=33554944;d=a+(d*3<<1)|0;c[d>>2]=33554944;c[d+4>>2]=33554944;return}function ip(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=g>>1;o=e[a+(0-j<<1)>>1]|0;n=e[a+(1-j<<1)>>1]|0;i=e[a+(2-j<<1)>>1]|0;m=e[a+(3-j<<1)>>1]|0;l=e[a+(4-j<<1)>>1]|0;k=e[a+(5-j<<1)>>1]|0;g=e[a+(6-j<<1)>>1]|0;h=e[a+(7-j<<1)>>1]|0;f=(g+2+(e[a+((f|0?8:7)-j<<1)>>1]|0)+(h<<1)|0)>>>2;b[a>>1]=((e[a+((((d|0)!=0)<<31>>31)-j<<1)>>1]|0)+2+(o<<1)+n|0)>>>2;b[a+2>>1]=(o+2+(n<<1)+i|0)>>>2;b[a+4>>1]=(n+2+(i<<1)+m|0)>>>2;b[a+6>>1]=(i+2+(m<<1)+l|0)>>>2;i=a+8|0;b[i>>1]=(m+2+(l<<1)+k|0)>>>2;b[a+10>>1]=(l+2+(k<<1)+g|0)>>>2;b[a+12>>1]=(k+2+(g<<1)+h|0)>>>2;b[a+14>>1]=f;f=a;d=c[f>>2]|0;f=c[f+4>>2]|0;h=c[i>>2]|0;i=c[i+4>>2]|0;g=1;while(1){if((g|0)==8)break;o=a+((H(g,j)|0)<<1)|0;n=o;c[n>>2]=d;c[n+4>>2]=f;o=o+8|0;c[o>>2]=h;c[o+4>>2]=i;g=g+1|0}return}function jp(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;p=f>>1;u=e[a+((H(p,((b|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;s=e[a+-2>>1]|0;q=e[a+(p+-1<<1)>>1]|0;n=p<<1;o=e[a+(n+-1<<1)>>1]|0;l=p*3|0;m=e[a+(l+-1<<1)>>1]|0;j=p<<2;k=e[a+(j+-1<<1)>>1]|0;h=p*5|0;i=e[a+(h+-1<<1)>>1]|0;g=p*6|0;d=e[a+(g+-1<<1)>>1]|0;f=p*7|0;b=e[a+(f+-1<<1)>>1]|0;u=OW((u+2+(s<<1)+q|0)>>>2|0,0,65537,65537)|0;t=M()|0;r=a;c[r>>2]=u;c[r+4>>2]=t;r=a+8|0;c[r>>2]=u;c[r+4>>2]=t;s=OW((s+2+(q<<1)+o|0)>>>2|0,0,65537,65537)|0;r=M()|0;p=a+(p<<1)|0;t=p;c[t>>2]=s;c[t+4>>2]=r;p=p+8|0;c[p>>2]=s;c[p+4>>2]=r;q=OW((q+2+(o<<1)+m|0)>>>2|0,0,65537,65537)|0;p=M()|0;n=a+(n<<1)|0;r=n;c[r>>2]=q;c[r+4>>2]=p;n=n+8|0;c[n>>2]=q;c[n+4>>2]=p;o=OW((o+2+(m<<1)+k|0)>>>2|0,0,65537,65537)|0;n=M()|0;l=a+(l<<1)|0;p=l;c[p>>2]=o;c[p+4>>2]=n;l=l+8|0;c[l>>2]=o;c[l+4>>2]=n;m=OW((m+2+(k<<1)+i|0)>>>2|0,0,65537,65537)|0;l=M()|0;j=a+(j<<1)|0;n=j;c[n>>2]=m;c[n+4>>2]=l;j=j+8|0;c[j>>2]=m;c[j+4>>2]=l;k=OW((k+2+(i<<1)+d|0)>>>2|0,0,65537,65537)|0;j=M()|0;h=a+(h<<1)|0;l=h;c[l>>2]=k;c[l+4>>2]=j;h=h+8|0;c[h>>2]=k;c[h+4>>2]=j;i=OW((i+2+(d<<1)+b|0)>>>2|0,0,65537,65537)|0;h=M()|0;g=a+(g<<1)|0;j=g;c[j>>2]=i;c[j+4>>2]=h;g=g+8|0;c[g>>2]=i;c[g+4>>2]=h;b=OW((d+2+(b*3|0)|0)>>>2|0,0,65537,65537)|0;d=M()|0;f=a+(f<<1)|0;a=f;c[a>>2]=b;c[a+4>>2]=d;f=f+8|0;c[f>>2]=b;c[f+4>>2]=d;return}function kp(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;h=f>>1;n=((b|0)!=0)<<31>>31;w=e[a+((H(h,n)|0)+-1<<1)>>1]|0;v=e[a+-2>>1]|0;u=e[a+(h+-1<<1)>>1]|0;t=e[a+((h<<1)+-1<<1)>>1]|0;s=e[a+((h*3|0)+-1<<1)>>1]|0;r=e[a+((h<<2)+-1<<1)>>1]|0;q=e[a+((h*5|0)+-1<<1)>>1]|0;p=e[a+((h*6|0)+-1<<1)>>1]|0;o=e[a+((h*7|0)+-1<<1)>>1]|0;m=e[a+(0-h<<1)>>1]|0;l=e[a+(1-h<<1)>>1]|0;k=e[a+(2-h<<1)>>1]|0;j=e[a+(3-h<<1)>>1]|0;i=e[a+(4-h<<1)>>1]|0;f=e[a+(5-h<<1)>>1]|0;b=e[a+(6-h<<1)>>1]|0;g=e[a+(7-h<<1)>>1]|0;d=((w+2+(v<<1)+u|0)>>>2)+8+((v+2+(u<<1)+t|0)>>>2)+((u+2+(t<<1)+s|0)>>>2)+((t+2+(s<<1)+r|0)>>>2)+((s+2+(r<<1)+q|0)>>>2)+((r+2+(q<<1)+p|0)>>>2)+((q+2+(p<<1)+o|0)>>>2)+((p+2+(o*3|0)|0)>>>2)+(((e[a+(n-h<<1)>>1]|0)+2+(m<<1)+l|0)>>>2)+((m+2+(l<<1)+k|0)>>>2)+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+f|0)>>>2)+((i+2+(f<<1)+b|0)>>>2)+((f+2+(b<<1)+g|0)>>>2)+((b+2+(e[a+((d|0?8:7)-h<<1)>>1]|0)+(g<<1)|0)>>>2)>>4;d=OW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=0;f=a;while(1){if((b|0)==8)break;w=f;c[w>>2]=d;c[w+4>>2]=g;w=f+8|0;c[w>>2]=d;c[w+4>>2]=g;b=b+1|0;f=f+(h<<1)|0}return}function lp(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;q=f>>1;n=e[a+(0-q<<1)>>1]|0;o=e[a+(1-q<<1)>>1]|0;s=e[a+(2-q<<1)>>1]|0;p=(n+2+(o<<1)+s|0)>>>2;t=e[a+(3-q<<1)>>1]|0;r=(o+2+(s<<1)+t|0)>>>2;u=e[a+(4-q<<1)>>1]|0;s=(s+2+(t<<1)+u|0)>>>2;v=e[a+(5-q<<1)>>1]|0;t=(t+2+(u<<1)+v|0)>>>2;m=e[a+(6-q<<1)>>1]|0;u=(u+2+(v<<1)+m|0)>>>2;f=e[a+(7-q<<1)>>1]|0;v=(v+2+(m<<1)+f|0)>>>2;l=(d|0)!=0;m=(m+2+(e[a+((l?8:7)-q<<1)>>1]|0)+(f<<1)|0)>>>2;if(l){x=e[a+(8-q<<1)>>1]|0;w=e[a+(9-q<<1)>>1]|0;l=e[a+(10-q<<1)>>1]|0;k=e[a+(11-q<<1)>>1]|0;j=e[a+(12-q<<1)>>1]|0;i=e[a+(13-q<<1)>>1]|0;h=e[a+(14-q<<1)>>1]|0;g=e[a+(15-q<<1)>>1]|0;d=(h+2+(g*3|0)|0)>>>2;g=(i+2+(h<<1)+g|0)>>>2;h=(j+2+(i<<1)+h|0)>>>2;i=(k+2+(j<<1)+i|0)>>>2;j=(l+2+(k<<1)+j|0)>>>2;k=(w+2+(l<<1)+k|0)>>>2;l=(x+2+(w<<1)+l|0)>>>2;f=(f+2+(x<<1)+w|0)>>>2}else{d=f;g=f;h=f;i=f;j=f;k=f;l=f}b[a>>1]=((((e[a+((((c|0)!=0)<<31>>31)-q<<1)>>1]|0)+2+(n<<1)+o|0)>>>2)+2+(p<<1)+r|0)>>>2;w=(p+2+(r<<1)+s|0)>>>2&65535;b[a+2>>1]=w;b[a+(q<<1)>>1]=w;w=(r+2+(s<<1)+t|0)>>>2&65535;b[a+4>>1]=w;b[a+(q+1<<1)>>1]=w;r=q<<1;b[a+(r<<1)>>1]=w;w=(s+2+(t<<1)+u|0)>>>2&65535;b[a+6>>1]=w;b[a+(q+2<<1)>>1]=w;b[a+((r|1)<<1)>>1]=w;s=q*3|0;b[a+(s<<1)>>1]=w;w=(t+2+(u<<1)+v|0)>>>2&65535;b[a+8>>1]=w;b[a+(q+3<<1)>>1]=w;b[a+(r+2<<1)>>1]=w;b[a+(s+1<<1)>>1]=w;t=q<<2;b[a+(t<<1)>>1]=w;w=(u+2+(v<<1)+m|0)>>>2&65535;b[a+10>>1]=w;b[a+(q+4<<1)>>1]=w;b[a+(r+3<<1)>>1]=w;b[a+(s+2<<1)>>1]=w;b[a+((t|1)<<1)>>1]=w;u=q*5|0;b[a+(u<<1)>>1]=w;w=(v+2+(m<<1)+f|0)>>>2&65535;b[a+12>>1]=w;b[a+(q+5<<1)>>1]=w;b[a+(r+4<<1)>>1]=w;b[a+(s+3<<1)>>1]=w;b[a+((t|2)<<1)>>1]=w;b[a+(u+1<<1)>>1]=w;c=q*6|0;b[a+(c<<1)>>1]=w;w=(m+2+(f<<1)+l|0)>>>2&65535;b[a+14>>1]=w;b[a+(q+6<<1)>>1]=w;b[a+(r+5<<1)>>1]=w;b[a+(s+4<<1)>>1]=w;b[a+((t|3)<<1)>>1]=w;b[a+(u+2<<1)>>1]=w;b[a+((c|1)<<1)>>1]=w;x=q*7|0;b[a+(x<<1)>>1]=w;w=(f+2+(l<<1)+k|0)>>>2&65535;b[a+(q+7<<1)>>1]=w;b[a+(r+6<<1)>>1]=w;b[a+(s+5<<1)>>1]=w;b[a+(t+4<<1)>>1]=w;b[a+(u+3<<1)>>1]=w;b[a+(c+2<<1)>>1]=w;b[a+(x+1<<1)>>1]=w;w=(l+2+(k<<1)+j|0)>>>2&65535;b[a+(r+7<<1)>>1]=w;b[a+(s+6<<1)>>1]=w;b[a+(t+5<<1)>>1]=w;b[a+(u+4<<1)>>1]=w;b[a+(c+3<<1)>>1]=w;b[a+(x+2<<1)>>1]=w;w=(k+2+(j<<1)+i|0)>>>2&65535;b[a+(s+7<<1)>>1]=w;b[a+(t+6<<1)>>1]=w;b[a+(u+5<<1)>>1]=w;b[a+(c+4<<1)>>1]=w;b[a+(x+3<<1)>>1]=w;w=(j+2+(i<<1)+h|0)>>>2&65535;b[a+(t+7<<1)>>1]=w;b[a+(u+6<<1)>>1]=w;b[a+(c+5<<1)>>1]=w;b[a+(x+4<<1)>>1]=w;w=(i+2+(h<<1)+g|0)>>>2&65535;b[a+(u+7<<1)>>1]=w;b[a+(c+6<<1)>>1]=w;b[a+(x+5<<1)>>1]=w;w=(h+2+(g<<1)+d|0)>>>2&65535;b[a+(c+7<<1)>>1]=w;b[a+(x+6<<1)>>1]=w;b[a+(x+7<<1)>>1]=(g+2+(d*3|0)|0)>>>2;return}function mp(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;h=f>>1;t=((c|0)!=0)<<31>>31;C=e[a+(0-h<<1)>>1]|0;m=e[a+(1-h<<1)>>1]|0;s=((e[a+(t-h<<1)>>1]|0)+2+(C<<1)+m|0)>>>2;k=e[a+(2-h<<1)>>1]|0;C=C+2|0;o=(C+(m<<1)+k|0)>>>2;i=e[a+(3-h<<1)>>1]|0;m=(m+2+(k<<1)+i|0)>>>2;g=e[a+(4-h<<1)>>1]|0;k=(k+2+(i<<1)+g|0)>>>2;c=e[a+(5-h<<1)>>1]|0;i=(i+2+(g<<1)+c|0)>>>2;q=e[a+(6-h<<1)>>1]|0;g=(g+2+(c<<1)+q|0)>>>2;f=e[a+(7-h<<1)>>1]|0;c=(c+2+(q<<1)+f|0)>>>2;f=(q+2+(e[a+((d|0?8:7)-h<<1)>>1]|0)+(f<<1)|0)>>>2;t=e[a+((H(h,t)|0)+-1<<1)>>1]|0;q=e[a+-2>>1]|0;v=e[a+(h+-1<<1)>>1]|0;t=(t+2+(q<<1)+v|0)>>>2;j=h<<1;w=e[a+(j+-1<<1)>>1]|0;d=(q+2+(v<<1)+w|0)>>>2;l=h*3|0;x=e[a+(l+-1<<1)>>1]|0;v=(v+2+(w<<1)+x|0)>>>2;n=h<<2;y=e[a+(n+-1<<1)>>1]|0;w=(w+2+(x<<1)+y|0)>>>2;p=h*5|0;z=e[a+(p+-1<<1)>>1]|0;x=(x+2+(y<<1)+z|0)>>>2;r=h*6|0;B=e[a+(r+-1<<1)>>1]|0;y=(y+2+(z<<1)+B|0)>>>2;u=h*7|0;A=e[a+(u+-1<<1)>>1]|0;z=(z+2+(B<<1)+A|0)>>>2;q=(C+q+((e[a+(~h<<1)>>1]|0)<<1)|0)>>>2;b[a+(u<<1)>>1]=(y+2+((B+2+(A*3|0)|0)>>>2)+(z<<1)|0)>>>2;z=(x+2+(y<<1)+z|0)>>>2&65535;b[a+(u+1<<1)>>1]=z;b[a+(r<<1)>>1]=z;y=(w+2+(x<<1)+y|0)>>>2&65535;b[a+(u+2<<1)>>1]=y;b[a+((r|1)<<1)>>1]=y;b[a+(p<<1)>>1]=y;x=(v+2+(w<<1)+x|0)>>>2&65535;b[a+(u+3<<1)>>1]=x;b[a+(r+2<<1)>>1]=x;b[a+(p+1<<1)>>1]=x;b[a+(n<<1)>>1]=x;w=(d+2+(v<<1)+w|0)>>>2&65535;b[a+(u+4<<1)>>1]=w;b[a+(r+3<<1)>>1]=w;b[a+(p+2<<1)>>1]=w;b[a+((n|1)<<1)>>1]=w;b[a+(l<<1)>>1]=w;v=(t+2+(d<<1)+v|0)>>>2&65535;b[a+(u+5<<1)>>1]=v;b[a+(r+4<<1)>>1]=v;b[a+(p+3<<1)>>1]=v;b[a+((n|2)<<1)>>1]=v;b[a+(l+1<<1)>>1]=v;b[a+(j<<1)>>1]=v;d=((t<<1)+2+d+q|0)>>>2&65535;b[a+(u+6<<1)>>1]=d;b[a+(r+5<<1)>>1]=d;b[a+(p+4<<1)>>1]=d;b[a+((n|3)<<1)>>1]=d;b[a+(l+2<<1)>>1]=d;b[a+((j|1)<<1)>>1]=d;b[a+(h<<1)>>1]=d;d=s+2|0;t=(d+t+(q<<1)|0)>>>2&65535;b[a+(u+7<<1)>>1]=t;b[a+(r+6<<1)>>1]=t;b[a+(p+5<<1)>>1]=t;b[a+(n+4<<1)>>1]=t;b[a+(l+3<<1)>>1]=t;b[a+(j+2<<1)>>1]=t;b[a+(h+1<<1)>>1]=t;b[a>>1]=t;q=((s<<1)+2+o+q|0)>>>2&65535;b[a+(r+7<<1)>>1]=q;b[a+(p+6<<1)>>1]=q;b[a+(n+5<<1)>>1]=q;b[a+(l+4<<1)>>1]=q;b[a+(j+3<<1)>>1]=q;b[a+(h+2<<1)>>1]=q;b[a+2>>1]=q;d=(d+(o<<1)+m|0)>>>2&65535;b[a+(p+7<<1)>>1]=d;b[a+(n+6<<1)>>1]=d;b[a+(l+5<<1)>>1]=d;b[a+(j+4<<1)>>1]=d;b[a+(h+3<<1)>>1]=d;b[a+4>>1]=d;d=(o+2+(m<<1)+k|0)>>>2&65535;b[a+(n+7<<1)>>1]=d;b[a+(l+6<<1)>>1]=d;b[a+(j+5<<1)>>1]=d;b[a+(h+4<<1)>>1]=d;b[a+6>>1]=d;d=(m+2+(k<<1)+i|0)>>>2&65535;b[a+(l+7<<1)>>1]=d;b[a+(j+6<<1)>>1]=d;b[a+(h+5<<1)>>1]=d;b[a+8>>1]=d;d=(k+2+(i<<1)+g|0)>>>2&65535;b[a+(j+7<<1)>>1]=d;b[a+(h+6<<1)>>1]=d;b[a+10>>1]=d;d=(i+2+(g<<1)+c|0)>>>2&65535;b[a+(h+7<<1)>>1]=d;b[a+12>>1]=d;b[a+14>>1]=(g+2+(c<<1)+f|0)>>>2;return}function np(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;g=f>>1;s=((c|0)!=0)<<31>>31;A=e[a+(0-g<<1)>>1]|0;q=e[a+(1-g<<1)>>1]|0;u=((e[a+(s-g<<1)>>1]|0)+2+(A<<1)+q|0)>>>2;n=e[a+(2-g<<1)>>1]|0;A=A+2|0;r=(A+(q<<1)+n|0)>>>2;k=e[a+(3-g<<1)>>1]|0;q=(q+2+(n<<1)+k|0)>>>2;h=e[a+(4-g<<1)>>1]|0;n=(n+2+(k<<1)+h|0)>>>2;c=e[a+(5-g<<1)>>1]|0;k=(k+2+(h<<1)+c|0)>>>2;t=e[a+(6-g<<1)>>1]|0;h=(h+2+(c<<1)+t|0)>>>2;f=e[a+(7-g<<1)>>1]|0;c=(c+2+(t<<1)+f|0)>>>2;f=(t+2+(e[a+((d|0?8:7)-g<<1)>>1]|0)+(f<<1)|0)>>>2;s=e[a+((H(g,s)|0)+-1<<1)>>1]|0;t=e[a+-2>>1]|0;d=e[a+(g+-1<<1)>>1]|0;s=(s+2+(t<<1)+d|0)>>>2;i=g<<1;x=e[a+(i+-1<<1)>>1]|0;v=(t+2+(d<<1)+x|0)>>>2;j=g*3|0;w=e[a+(j+-1<<1)>>1]|0;d=(d+2+(x<<1)+w|0)>>>2;l=g<<2;z=e[a+(l+-1<<1)>>1]|0;x=(x+2+(w<<1)+z|0)>>>2;m=g*5|0;B=e[a+(m+-1<<1)>>1]|0;w=(w+2+(z<<1)+B|0)>>>2;o=g*6|0;y=e[a+(o+-1<<1)>>1]|0;z=(z+2+(B<<1)+y|0)>>>2;p=g*7|0;y=(B+2+(y<<1)+(e[a+(p+-1<<1)>>1]|0)|0)>>>2;t=(A+t+((e[a+(~g<<1)>>1]|0)<<1)|0)>>>2;b[a+(o<<1)>>1]=(x+2+(w<<1)+z|0)>>>2;b[a+(p<<1)>>1]=(w+2+(z<<1)+y|0)>>>2;y=(v+2+(d<<1)+x|0)>>>2&65535;b[a+((o|1)<<1)>>1]=y;b[a+(l<<1)>>1]=y;w=(d+2+(x<<1)+w|0)>>>2&65535;b[a+(p+1<<1)>>1]=w;b[a+(m<<1)>>1]=w;w=((s<<1)+2+v+t|0)>>>2&65535;b[a+(o+2<<1)>>1]=w;b[a+((l|1)<<1)>>1]=w;b[a+(i<<1)>>1]=w;d=(s+2+(v<<1)+d|0)>>>2&65535;b[a+(p+2<<1)>>1]=d;b[a+(m+1<<1)>>1]=d;b[a+(j<<1)>>1]=d;d=u+2|0;s=(d+s+(t<<1)|0)>>>2&65535;b[a+(p+3<<1)>>1]=s;b[a+(m+2<<1)>>1]=s;b[a+(j+1<<1)>>1]=s;b[a+(g<<1)>>1]=s;s=u+1|0;v=(s+t|0)>>>1&65535;b[a+(o+3<<1)>>1]=v;b[a+((l|2)<<1)>>1]=v;b[a+((i|1)<<1)>>1]=v;b[a>>1]=v;t=((u<<1)+2+r+t|0)>>>2&65535;b[a+(p+4<<1)>>1]=t;b[a+(m+3<<1)>>1]=t;b[a+(j+2<<1)>>1]=t;b[a+(g+1<<1)>>1]=t;s=(s+r|0)>>>1&65535;b[a+(o+4<<1)>>1]=s;b[a+((l|3)<<1)>>1]=s;b[a+(i+2<<1)>>1]=s;b[a+2>>1]=s;d=(d+(r<<1)+q|0)>>>2&65535;b[a+(p+5<<1)>>1]=d;b[a+(m+4<<1)>>1]=d;b[a+(j+3<<1)>>1]=d;b[a+(g+2<<1)>>1]=d;d=(r+1+q|0)>>>1&65535;b[a+(o+5<<1)>>1]=d;b[a+(l+4<<1)>>1]=d;b[a+(i+3<<1)>>1]=d;b[a+4>>1]=d;d=(r+2+(q<<1)+n|0)>>>2&65535;b[a+(p+6<<1)>>1]=d;b[a+(m+5<<1)>>1]=d;b[a+(j+4<<1)>>1]=d;b[a+(g+3<<1)>>1]=d;d=(q+1+n|0)>>>1&65535;b[a+(o+6<<1)>>1]=d;b[a+(l+5<<1)>>1]=d;b[a+(i+4<<1)>>1]=d;b[a+6>>1]=d;d=(q+2+(n<<1)+k|0)>>>2&65535;b[a+(p+7<<1)>>1]=d;b[a+(m+6<<1)>>1]=d;b[a+(j+5<<1)>>1]=d;b[a+(g+4<<1)>>1]=d;d=(n+1+k|0)>>>1&65535;b[a+(o+7<<1)>>1]=d;b[a+(l+6<<1)>>1]=d;b[a+(i+5<<1)>>1]=d;b[a+8>>1]=d;d=(n+2+(k<<1)+h|0)>>>2&65535;b[a+(m+7<<1)>>1]=d;b[a+(j+6<<1)>>1]=d;b[a+(g+5<<1)>>1]=d;d=(k+1+h|0)>>>1&65535;b[a+(l+7<<1)>>1]=d;b[a+(i+6<<1)>>1]=d;b[a+10>>1]=d;d=(k+2+(h<<1)+c|0)>>>2&65535;b[a+(j+7<<1)>>1]=d;b[a+(g+6<<1)>>1]=d;d=(h+1+c|0)>>>1&65535;b[a+(i+7<<1)>>1]=d;b[a+12>>1]=d;b[a+(g+7<<1)>>1]=(h+2+(c<<1)+f|0)>>>2;b[a+14>>1]=(c+1+f|0)>>>1;return}function op(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;i=f>>1;o=((c|0)!=0)<<31>>31;A=e[a+(0-i<<1)>>1]|0;h=e[a+(1-i<<1)>>1]|0;n=((e[a+(o-i<<1)>>1]|0)+2+(A<<1)+h|0)>>>2;g=e[a+(2-i<<1)>>1]|0;A=A+2|0;j=(A+(h<<1)+g|0)>>>2;c=e[a+(3-i<<1)>>1]|0;h=(h+2+(g<<1)+c|0)>>>2;d=e[a+(4-i<<1)>>1]|0;g=(g+2+(c<<1)+d|0)>>>2;m=e[a+(5-i<<1)>>1]|0;c=(c+2+(d<<1)+m|0)>>>2;f=e[a+(6-i<<1)>>1]|0;d=(d+2+(m<<1)+f|0)>>>2;f=(m+2+(f<<1)+(e[a+(7-i<<1)>>1]|0)|0)>>>2;o=e[a+((H(i,o)|0)+-1<<1)>>1]|0;m=e[a+-2>>1]|0;k=e[a+(i+-1<<1)>>1]|0;o=(o+2+(m<<1)+k|0)>>>2;l=i<<1;t=e[a+(l+-1<<1)>>1]|0;q=(m+2+(k<<1)+t|0)>>>2;p=i*3|0;v=e[a+(p+-1<<1)>>1]|0;k=(k+2+(t<<1)+v|0)>>>2;r=i<<2;x=e[a+(r+-1<<1)>>1]|0;t=(t+2+(v<<1)+x|0)>>>2;s=i*5|0;y=e[a+(s+-1<<1)>>1]|0;v=(v+2+(x<<1)+y|0)>>>2;u=i*6|0;B=e[a+(u+-1<<1)>>1]|0;x=(x+2+(y<<1)+B|0)>>>2;w=i*7|0;z=e[a+(w+-1<<1)>>1]|0;y=(y+2+(B<<1)+z|0)>>>2;z=(B+2+(z*3|0)|0)>>>2;m=(A+m+((e[a+(~i<<1)>>1]|0)<<1)|0)>>>2;b[a+(w<<1)>>1]=(z+1+y|0)>>>1;b[a+(w+1<<1)>>1]=(x+2+z+(y<<1)|0)>>>2;z=(x+1+y|0)>>>1&65535;b[a+(w+2<<1)>>1]=z;b[a+(u<<1)>>1]=z;y=(v+2+(x<<1)+y|0)>>>2&65535;b[a+(w+3<<1)>>1]=y;b[a+((u|1)<<1)>>1]=y;y=(v+1+x|0)>>>1&65535;b[a+(w+4<<1)>>1]=y;b[a+(u+2<<1)>>1]=y;b[a+(s<<1)>>1]=y;x=(t+2+(v<<1)+x|0)>>>2&65535;b[a+(w+5<<1)>>1]=x;b[a+(u+3<<1)>>1]=x;b[a+(s+1<<1)>>1]=x;x=(t+1+v|0)>>>1&65535;b[a+(w+6<<1)>>1]=x;b[a+(u+4<<1)>>1]=x;b[a+(s+2<<1)>>1]=x;b[a+(r<<1)>>1]=x;v=(k+2+(t<<1)+v|0)>>>2&65535;b[a+(w+7<<1)>>1]=v;b[a+(u+5<<1)>>1]=v;b[a+(s+3<<1)>>1]=v;b[a+((r|1)<<1)>>1]=v;v=(k+1+t|0)>>>1&65535;b[a+(u+6<<1)>>1]=v;b[a+(s+4<<1)>>1]=v;b[a+((r|2)<<1)>>1]=v;b[a+(p<<1)>>1]=v;t=(q+2+(k<<1)+t|0)>>>2&65535;b[a+(u+7<<1)>>1]=t;b[a+(s+5<<1)>>1]=t;b[a+((r|3)<<1)>>1]=t;b[a+(p+1<<1)>>1]=t;t=(q+1+k|0)>>>1&65535;b[a+(s+6<<1)>>1]=t;b[a+(r+4<<1)>>1]=t;b[a+(p+2<<1)>>1]=t;b[a+(l<<1)>>1]=t;k=(o+2+(q<<1)+k|0)>>>2&65535;b[a+(s+7<<1)>>1]=k;b[a+(r+5<<1)>>1]=k;b[a+(p+3<<1)>>1]=k;b[a+((l|1)<<1)>>1]=k;k=o+1|0;s=(k+q|0)>>>1&65535;b[a+(r+6<<1)>>1]=s;b[a+(p+4<<1)>>1]=s;b[a+(l+2<<1)>>1]=s;b[a+(i<<1)>>1]=s;q=((o<<1)+2+q+m|0)>>>2&65535;b[a+(r+7<<1)>>1]=q;b[a+(p+5<<1)>>1]=q;b[a+(l+3<<1)>>1]=q;b[a+(i+1<<1)>>1]=q;k=(k+m|0)>>>1&65535;b[a+(p+6<<1)>>1]=k;b[a+(l+4<<1)>>1]=k;b[a+(i+2<<1)>>1]=k;b[a>>1]=k;k=n+2|0;o=(k+o+(m<<1)|0)>>>2&65535;b[a+(p+7<<1)>>1]=o;b[a+(l+5<<1)>>1]=o;b[a+(i+3<<1)>>1]=o;b[a+2>>1]=o;m=((n<<1)+2+j+m|0)>>>2&65535;b[a+(l+6<<1)>>1]=m;b[a+(i+4<<1)>>1]=m;b[a+4>>1]=m;k=(k+(j<<1)+h|0)>>>2&65535;b[a+(l+7<<1)>>1]=k;b[a+(i+5<<1)>>1]=k;b[a+6>>1]=k;j=(j+2+(h<<1)+g|0)>>>2&65535;b[a+(i+6<<1)>>1]=j;b[a+8>>1]=j;h=(h+2+(g<<1)+c|0)>>>2&65535;b[a+(i+7<<1)>>1]=h;b[a+10>>1]=h;b[a+12>>1]=(g+2+(c<<1)+d|0)>>>2;b[a+14>>1]=(c+2+(d<<1)+f|0)>>>2;return}function pp(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=f>>1;k=e[a+(0-q<<1)>>1]|0;l=e[a+(1-q<<1)>>1]|0;j=((e[a+((((c|0)!=0)<<31>>31)-q<<1)>>1]|0)+2+(k<<1)+l|0)>>>2;m=e[a+(2-q<<1)>>1]|0;k=(k+2+(l<<1)+m|0)>>>2;n=e[a+(3-q<<1)>>1]|0;l=(l+2+(m<<1)+n|0)>>>2;o=e[a+(4-q<<1)>>1]|0;m=(m+2+(n<<1)+o|0)>>>2;p=e[a+(5-q<<1)>>1]|0;n=(n+2+(o<<1)+p|0)>>>2;i=e[a+(6-q<<1)>>1]|0;o=(o+2+(p<<1)+i|0)>>>2;f=e[a+(7-q<<1)>>1]|0;p=(p+2+(i<<1)+f|0)>>>2;h=(d|0)!=0;i=(i+2+(e[a+((h?8:7)-q<<1)>>1]|0)+(f<<1)|0)>>>2;if(h){s=e[a+(8-q<<1)>>1]|0;r=e[a+(9-q<<1)>>1]|0;h=e[a+(10-q<<1)>>1]|0;g=e[a+(11-q<<1)>>1]|0;d=e[a+(12-q<<1)>>1]|0;c=(g+2+(d<<1)+(e[a+(13-q<<1)>>1]|0)|0)>>>2;d=(h+2+(g<<1)+d|0)>>>2;g=(r+2+(h<<1)+g|0)>>>2;h=(s+2+(r<<1)+h|0)>>>2;f=(f+2+(s<<1)+r|0)>>>2}else{c=f;d=f;g=f;h=f}b[a>>1]=(j+1+k|0)>>>1;b[a+(q<<1)>>1]=(j+2+(k<<1)+l|0)>>>2;s=(k+1+l|0)>>>1&65535;b[a+2>>1]=s;t=q<<1;b[a+(t<<1)>>1]=s;s=(k+2+(l<<1)+m|0)>>>2&65535;b[a+(q+1<<1)>>1]=s;j=q*3|0;b[a+(j<<1)>>1]=s;s=(l+1+m|0)>>>1&65535;b[a+4>>1]=s;b[a+((t|1)<<1)>>1]=s;k=q<<2;b[a+(k<<1)>>1]=s;s=(l+2+(m<<1)+n|0)>>>2&65535;b[a+(q+2<<1)>>1]=s;b[a+(j+1<<1)>>1]=s;l=q*5|0;b[a+(l<<1)>>1]=s;s=(m+1+n|0)>>>1&65535;b[a+6>>1]=s;b[a+(t+2<<1)>>1]=s;b[a+((k|1)<<1)>>1]=s;r=q*6|0;b[a+(r<<1)>>1]=s;m=(m+2+(n<<1)+o|0)>>>2&65535;b[a+(q+3<<1)>>1]=m;b[a+(j+2<<1)>>1]=m;b[a+(l+1<<1)>>1]=m;s=q*7|0;b[a+(s<<1)>>1]=m;m=(n+1+o|0)>>>1&65535;b[a+8>>1]=m;b[a+(t+3<<1)>>1]=m;b[a+((k|2)<<1)>>1]=m;b[a+((r|1)<<1)>>1]=m;n=(n+2+(o<<1)+p|0)>>>2&65535;b[a+(q+4<<1)>>1]=n;b[a+(j+3<<1)>>1]=n;b[a+(l+2<<1)>>1]=n;b[a+(s+1<<1)>>1]=n;n=(o+1+p|0)>>>1&65535;b[a+10>>1]=n;b[a+(t+4<<1)>>1]=n;b[a+((k|3)<<1)>>1]=n;b[a+(r+2<<1)>>1]=n;o=(o+2+(p<<1)+i|0)>>>2&65535;b[a+(q+5<<1)>>1]=o;b[a+(j+4<<1)>>1]=o;b[a+(l+3<<1)>>1]=o;b[a+(s+2<<1)>>1]=o;o=(p+1+i|0)>>>1&65535;b[a+12>>1]=o;b[a+(t+5<<1)>>1]=o;b[a+(k+4<<1)>>1]=o;b[a+(r+3<<1)>>1]=o;p=(p+2+(i<<1)+f|0)>>>2&65535;b[a+(q+6<<1)>>1]=p;b[a+(j+5<<1)>>1]=p;b[a+(l+4<<1)>>1]=p;b[a+(s+3<<1)>>1]=p;p=(i+1+f|0)>>>1&65535;b[a+14>>1]=p;b[a+(t+6<<1)>>1]=p;b[a+(k+5<<1)>>1]=p;b[a+(r+4<<1)>>1]=p;p=(i+2+(f<<1)+h|0)>>>2&65535;b[a+(q+7<<1)>>1]=p;b[a+(j+6<<1)>>1]=p;b[a+(l+5<<1)>>1]=p;b[a+(s+4<<1)>>1]=p;q=(f+1+h|0)>>>1&65535;b[a+(t+7<<1)>>1]=q;b[a+(k+6<<1)>>1]=q;b[a+(r+5<<1)>>1]=q;q=(f+2+(h<<1)+g|0)>>>2&65535;b[a+(j+7<<1)>>1]=q;b[a+(l+6<<1)>>1]=q;b[a+(s+5<<1)>>1]=q;q=(h+1+g|0)>>>1&65535;b[a+(k+7<<1)>>1]=q;b[a+(r+6<<1)>>1]=q;q=(h+2+(g<<1)+d|0)>>>2&65535;b[a+(l+7<<1)>>1]=q;b[a+(s+6<<1)>>1]=q;b[a+(r+7<<1)>>1]=(g+1+d|0)>>>1;b[a+(s+7<<1)>>1]=(g+2+(d<<1)+c|0)>>>2;return}function qp(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=f>>1;r=e[a+((H(n,((c|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;q=e[a+-2>>1]|0;p=e[a+(n+-1<<1)>>1]|0;r=(r+2+(q<<1)+p|0)>>>2;l=n<<1;o=e[a+(l+-1<<1)>>1]|0;q=(q+2+(p<<1)+o|0)>>>2;j=n*3|0;m=e[a+(j+-1<<1)>>1]|0;p=(p+2+(o<<1)+m|0)>>>2;h=n<<2;k=e[a+(h+-1<<1)>>1]|0;o=(o+2+(m<<1)+k|0)>>>2;g=n*5|0;i=e[a+(g+-1<<1)>>1]|0;m=(m+2+(k<<1)+i|0)>>>2;c=n*6|0;s=e[a+(c+-1<<1)>>1]|0;k=(k+2+(i<<1)+s|0)>>>2;f=n*7|0;d=e[a+(f+-1<<1)>>1]|0;i=(i+2+(s<<1)+d|0)>>>2;d=(s+2+(d*3|0)|0)>>>2;b[a>>1]=(r+1+q|0)>>>1;b[a+2>>1]=(r+2+(q<<1)+p|0)>>>2;r=(q+1+p|0)>>>1&65535;b[a+4>>1]=r;b[a+(n<<1)>>1]=r;q=(q+2+(p<<1)+o|0)>>>2&65535;b[a+6>>1]=q;b[a+(n+1<<1)>>1]=q;q=(p+1+o|0)>>>1&65535;b[a+8>>1]=q;b[a+(n+2<<1)>>1]=q;b[a+(l<<1)>>1]=q;p=(p+2+(o<<1)+m|0)>>>2&65535;b[a+10>>1]=p;b[a+(n+3<<1)>>1]=p;b[a+((l|1)<<1)>>1]=p;p=(o+1+m|0)>>>1&65535;b[a+12>>1]=p;b[a+(n+4<<1)>>1]=p;b[a+(l+2<<1)>>1]=p;b[a+(j<<1)>>1]=p;o=(o+2+(m<<1)+k|0)>>>2&65535;b[a+14>>1]=o;b[a+(n+5<<1)>>1]=o;b[a+(l+3<<1)>>1]=o;b[a+(j+1<<1)>>1]=o;o=(m+1+k|0)>>>1&65535;b[a+(n+6<<1)>>1]=o;b[a+(l+4<<1)>>1]=o;b[a+(j+2<<1)>>1]=o;b[a+(h<<1)>>1]=o;m=(m+2+(k<<1)+i|0)>>>2&65535;b[a+(n+7<<1)>>1]=m;b[a+(l+5<<1)>>1]=m;b[a+(j+3<<1)>>1]=m;b[a+((h|1)<<1)>>1]=m;m=(k+1+i|0)>>>1&65535;b[a+(l+6<<1)>>1]=m;b[a+(j+4<<1)>>1]=m;b[a+((h|2)<<1)>>1]=m;b[a+(g<<1)>>1]=m;k=(k+2+d+(i<<1)|0)>>>2&65535;b[a+(l+7<<1)>>1]=k;b[a+(j+5<<1)>>1]=k;b[a+((h|3)<<1)>>1]=k;b[a+(g+1<<1)>>1]=k;k=(d+1+i|0)>>>1&65535;b[a+(j+6<<1)>>1]=k;b[a+(h+4<<1)>>1]=k;b[a+(g+2<<1)>>1]=k;b[a+(c<<1)>>1]=k;i=(i+2+(d*3|0)|0)>>>2&65535;b[a+(j+7<<1)>>1]=i;b[a+(h+5<<1)>>1]=i;b[a+(g+3<<1)>>1]=i;b[a+((c|1)<<1)>>1]=i;d=d&65535;b[a+(f+7<<1)>>1]=d;b[a+(c+7<<1)>>1]=d;b[a+(g+7<<1)>>1]=d;b[a+(h+7<<1)>>1]=d;b[a+(f+6<<1)>>1]=d;b[a+(c+6<<1)>>1]=d;b[a+(g+6<<1)>>1]=d;b[a+(h+6<<1)>>1]=d;b[a+(f+5<<1)>>1]=d;b[a+(c+5<<1)>>1]=d;b[a+(g+5<<1)>>1]=d;b[a+(f+4<<1)>>1]=d;b[a+(c+4<<1)>>1]=d;b[a+(g+4<<1)>>1]=d;b[a+(f+3<<1)>>1]=d;b[a+(c+3<<1)>>1]=d;b[a+(f+2<<1)>>1]=d;b[a+(c+2<<1)>>1]=d;b[a+(f+1<<1)>>1]=d;b[a+(f<<1)>>1]=d;return}function rp(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=f>>1;m=e[a+((H(h,((b|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;l=e[a+-2>>1]|0;k=e[a+(h+-1<<1)>>1]|0;j=e[a+((h<<1)+-1<<1)>>1]|0;i=e[a+((h*3|0)+-1<<1)>>1]|0;d=e[a+((h<<2)+-1<<1)>>1]|0;f=e[a+((h*5|0)+-1<<1)>>1]|0;g=e[a+((h*6|0)+-1<<1)>>1]|0;b=e[a+((h*7|0)+-1<<1)>>1]|0;b=((m+2+(l<<1)+k|0)>>>2)+4+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+d|0)>>>2)+((i+2+(d<<1)+f|0)>>>2)+((d+2+(f<<1)+g|0)>>>2)+((f+2+(g<<1)+b|0)>>>2)+((g+2+(b*3|0)|0)>>>2)>>3;b=OW(b|0,((b|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;f=0;d=a;while(1){if((f|0)==8)break;m=d;c[m>>2]=b;c[m+4>>2]=g;m=d+8|0;c[m>>2]=b;c[m+4>>2]=g;f=f+1|0;d=d+(h<<1)|0}return}function sp(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=f>>1;n=e[a+(0-h<<1)>>1]|0;m=e[a+(1-h<<1)>>1]|0;l=e[a+(2-h<<1)>>1]|0;k=e[a+(3-h<<1)>>1]|0;j=e[a+(4-h<<1)>>1]|0;i=e[a+(5-h<<1)>>1]|0;f=e[a+(6-h<<1)>>1]|0;g=e[a+(7-h<<1)>>1]|0;d=(((e[a+((((b|0)!=0)<<31>>31)-h<<1)>>1]|0)+2+(n<<1)+m|0)>>>2)+4+((n+2+(m<<1)+l|0)>>>2)+((m+2+(l<<1)+k|0)>>>2)+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+f|0)>>>2)+((i+2+(f<<1)+g|0)>>>2)+((f+2+(e[a+((d|0?8:7)-h<<1)>>1]|0)+(g<<1)|0)>>>2)>>3;d=OW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=0;f=a;while(1){if((b|0)==8)break;n=f;c[n>>2]=d;c[n+4>>2]=g;n=f+8|0;c[n>>2]=d;c[n+4>>2]=g;b=b+1|0;f=f+(h<<1)|0}return}function tp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;d=e>>1;b=0;while(1){if((b|0)==8)break;e=a;c[e>>2]=33554944;c[e+4>>2]=33554944;e=a+8|0;c[e>>2]=33554944;c[e+4>>2]=33554944;b=b+1|0;a=a+(d<<1)|0}return}function up(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=b>>1;f=a+(0-g<<1)|0;d=f;h=c[d>>2]|0;d=c[d+4>>2]|0;f=f+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;b=0;while(1){if((b|0)==8)break;i=a+((H(b,g)|0)<<1)|0;j=i;c[j>>2]=h;c[j+4>>2]=d;i=i+8|0;c[i>>2]=e;c[i+4>>2]=f;b=b+1|0}return}function vp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=b>>1;f=a+(0-g<<1)|0;d=f;h=c[d>>2]|0;d=c[d+4>>2]|0;f=f+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;b=0;while(1){if((b|0)==16)break;i=a+((H(b,g)|0)<<1)|0;j=i;c[j>>2]=h;c[j+4>>2]=d;i=i+8|0;c[i>>2]=e;c[i+4>>2]=f;b=b+1|0}return}function wp(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==8)break;f=H(b,d)|0;h=OW(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;f=f+8|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function xp(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==16)break;f=H(b,d)|0;h=OW(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;f=f+8|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function yp(a,c){a=a|0;c=c|0;var d=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=c>>1;h=0-q|0;i=a+6+(h<<1)|0;f=a+(q<<2<<1)+-2|0;p=q<<1;d=f+(0-p<<1)|0;o=a+((q*14|0)+-2)|0;p=a+(-2-p)|0;j=(e[f>>1]|0)-(e[d>>1]|0)|0;c=(e[i+2>>1]|0)-(e[i+-2>>1]|0)|0;g=2;while(1){if((g|0)==5)break;n=f+(q<<1)|0;m=d+(h<<1)|0;l=(H((e[i+(g<<1)>>1]|0)-(e[i+(0-g<<1)>>1]|0)|0,g)|0)+c|0;j=(H((e[n>>1]|0)-(e[m>>1]|0)|0,g)|0)+j|0;c=l;d=m;f=n;g=g+1|0}n=(c*17|0)+16>>5;g=(j*17|0)+16>>5;h=n<<1;i=n*3|0;j=n<<2;k=n*5|0;l=n*6|0;m=n*7|0;f=8;d=(H(g+n|0,-3)|0)+16+((e[p+16>>1]|0)+(e[o>>1]|0)<<4)|0;c=a;while(1){if((f|0)<=0)break;a=d>>5;b[c>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+n>>5;b[c+2>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+h>>5;b[c+4>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+i>>5;b[c+6>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+j>>5;b[c+8>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+k>>5;b[c+10>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+l>>5;b[c+12>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+m>>5;b[c+14>>1]=a>>>0<1024?a:0-a>>31&1023;f=f+-1|0;d=d+g|0;c=c+(q<<1)|0}return}function zp(a,c){a=a|0;c=c|0;var d=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=c>>1;l=0-q|0;h=a+6+(l<<1)|0;g=a+(q<<3<<1)+-2|0;f=g+(0-(q<<1)<<1)|0;j=a+((q*22|0)+-2)|0;i=a+((q*6|0)+-2)|0;c=2;d=(e[g>>1]|0)-(e[f>>1]|0)|0;k=(e[h+2>>1]|0)-(e[h+-2>>1]|0)|0;while(1){if((c|0)==5)break;p=g+(q<<1)|0;o=f+(l<<1)|0;n=(H((e[h+(c<<1)>>1]|0)-(e[h+(0-c<<1)>>1]|0)|0,c)|0)+k|0;m=(H((e[p>>1]|0)-(e[o>>1]|0)|0,c)|0)+d|0;c=c+1|0;d=m;k=n;f=o;g=p}c=5;while(1){if((c|0)>=9)break;p=j+(q<<1)|0;o=i+(l<<1)|0;d=(H((e[p>>1]|0)-(e[o>>1]|0)|0,c)|0)+d|0;c=c+1|0;i=o;j=p}p=(k*17|0)+16>>5;g=(d*5|0)+32>>6;h=p*3|0;k=p<<1;l=p<<2;m=p*5|0;n=p*6|0;o=p*7|0;f=16;d=16-h+(H(g,-7)|0)+((e[i+16>>1]|0)+(e[j>>1]|0)<<4)|0;c=a;while(1){if((f|0)<=0)break;a=d>>5;b[c>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+p>>5;b[c+2>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+k>>5;b[c+4>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+h>>5;b[c+6>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+l>>5;b[c+8>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+m>>5;b[c+10>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+n>>5;b[c+12>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+o>>5;b[c+14>>1]=a>>>0<1024?a:0-a>>31&1023;f=f+-1|0;d=d+g|0;c=c+(q<<1)|0}return}function Ap(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=b>>1;b=0;d=0;f=0;g=0;while(1){if((b|0)==4)break;l=e[a+((H(b,n)|0)+-1<<1)>>1]|0;l=d+l+(e[a+(b-n<<1)>>1]|0)|0;m=b+4|0;b=b+1|0;d=l;f=f+(e[a+(m-n<<1)>>1]|0)|0;g=g+(e[a+((H(m,n)|0)+-1<<1)>>1]|0)|0}d=d+4>>3;d=OW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;h=M()|0;i=f+2>>2;i=OW(i|0,((i|0)<0)<<31>>31|0,65537,65537)|0;j=M()|0;k=g+2>>2;l=((k|0)<0)<<31>>31;f=g+4+f>>3;m=((f|0)<0)<<31>>31;b=0;while(1){if((b|0)==4)break;g=a+((H(b,n)|0)<<1)|0;o=g;c[o>>2]=d;c[o+4>>2]=h;g=g+8|0;c[g>>2]=i;c[g+4>>2]=j;b=b+1|0}g=OW(k|0,l|0,65537,65537)|0;h=M()|0;d=OW(f|0,m|0,65537,65537)|0;f=M()|0;b=4;while(1){if((b|0)==8)break;o=a+((H(b,n)|0)<<1)|0;m=o;c[m>>2]=g;c[m+4>>2]=h;o=o+8|0;c[o>>2]=d;c[o+4>>2]=f;b=b+1|0}return}function Bp(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;i=b>>1;b=0;d=0;f=0;while(1){if((b|0)==4)break;g=d+(e[a+((H(b,i)|0)+-1<<1)>>1]|0)|0;h=f+(e[a+((H(b+4|0,i)|0)+-1<<1)>>1]|0)|0;b=b+1|0;d=g;f=h}g=d+2>>2;g=OW(g|0,((g|0)<0)<<31>>31|0,65537,65537)|0;h=M()|0;d=f+2>>2;f=((d|0)<0)<<31>>31;b=0;while(1){if((b|0)==4)break;j=a+((H(b,i)|0)<<1)|0;k=j;c[k>>2]=g;c[k+4>>2]=h;j=j+8|0;c[j>>2]=g;c[j+4>>2]=h;b=b+1|0}d=OW(d|0,f|0,65537,65537)|0;f=M()|0;b=4;while(1){if((b|0)==8)break;k=a+((H(b,i)|0)<<1)|0;j=k;c[j>>2]=d;c[j+4>>2]=f;k=k+8|0;c[k>>2]=d;c[k+4>>2]=f;b=b+1|0}return}function Cp(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;j=b>>1;f=4-j|0;b=0;d=0;g=0;while(1){if((b|0)==4)break;h=d+(e[a+(b-j<<1)>>1]|0)|0;i=g+(e[a+(f+b<<1)>>1]|0)|0;b=b+1|0;d=h;g=i}h=d+2>>2;h=OW(h|0,((h|0)<0)<<31>>31|0,65537,65537)|0;i=M()|0;d=g+2>>2;d=OW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;f=M()|0;b=0;while(1){if((b|0)==4){b=4;break}g=a+((H(b,j)|0)<<1)|0;k=g;c[k>>2]=h;c[k+4>>2]=i;g=g+8|0;c[g>>2]=d;c[g+4>>2]=f;b=b+1|0}while(1){if((b|0)==8)break;k=a+((H(b,j)|0)<<1)|0;g=k;c[g>>2]=h;c[g+4>>2]=i;k=k+8|0;c[k>>2]=d;c[k+4>>2]=f;b=b+1|0}return}function Dp(a,b){a=a|0;b=b|0;Cp(a,b);Yo(a,0,b);return}function Ep(a,b){a=a|0;b=b|0;Ap(a,b);gp(a,0,b);return}function Fp(a,b){a=a|0;b=b|0;Bp(a,b);a=a+(b<<2)|0;hp(a,0,b);hp(a+8|0,0,b);return}function Gp(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=b>>1;b=0;d=0;h=0;f=0;g=0;i=0;while(1){if((b|0)==4)break;t=e[a+((H(b,y)|0)+-1<<1)>>1]|0;t=d+t+(e[a+(b-y<<1)>>1]|0)|0;u=b+4|0;v=f+(e[a+((H(u,y)|0)+-1<<1)>>1]|0)|0;w=g+(e[a+((H(b+8|0,y)|0)+-1<<1)>>1]|0)|0;x=i+(e[a+((H(b+12|0,y)|0)+-1<<1)>>1]|0)|0;b=b+1|0;d=t;h=h+(e[a+(u-y<<1)>>1]|0)|0;f=v;g=w;i=x}d=d+4>>3;d=OW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;j=M()|0;k=h+2>>2;k=OW(k|0,((k|0)<0)<<31>>31|0,65537,65537)|0;l=M()|0;m=f+2>>2;n=((m|0)<0)<<31>>31;f=f+4+h>>3;o=((f|0)<0)<<31>>31;r=g+2>>2;s=((r|0)<0)<<31>>31;g=g+4+h>>3;t=((g|0)<0)<<31>>31;u=i+2>>2;v=((u|0)<0)<<31>>31;w=i+4+h>>3;x=((w|0)<0)<<31>>31;b=0;while(1){if((b|0)==4)break;q=a+((H(b,y)|0)<<1)|0;p=q;c[p>>2]=d;c[p+4>>2]=j;q=q+8|0;c[q>>2]=k;c[q+4>>2]=l;b=b+1|0}p=OW(m|0,n|0,65537,65537)|0;q=M()|0;m=OW(f|0,o|0,65537,65537)|0;n=M()|0;k=OW(r|0,s|0,65537,65537)|0;l=M()|0;i=OW(g|0,t|0,65537,65537)|0;j=M()|0;g=OW(u|0,v|0,65537,65537)|0;h=M()|0;d=OW(w|0,x|0,65537,65537)|0;f=M()|0;b=4;while(1){if((b|0)==8){b=8;break}x=a+((H(b,y)|0)<<1)|0;w=x;c[w>>2]=p;c[w+4>>2]=q;x=x+8|0;c[x>>2]=m;c[x+4>>2]=n;b=b+1|0}while(1){if((b|0)==12){b=12;break}x=a+((H(b,y)|0)<<1)|0;w=x;c[w>>2]=k;c[w+4>>2]=l;x=x+8|0;c[x>>2]=i;c[x+4>>2]=j;b=b+1|0}while(1){if((b|0)==16)break;x=a+((H(b,y)|0)<<1)|0;w=x;c[w>>2]=g;c[w+4>>2]=h;x=x+8|0;c[x>>2]=d;c[x+4>>2]=f;b=b+1|0}return}function Hp(a,b){a=a|0;b=b|0;Bp(a,b);Bp(a+(b<<3)|0,b);return}function Ip(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;j=b>>1;f=4-j|0;b=0;d=0;g=0;while(1){if((b|0)==4)break;h=d+(e[a+(b-j<<1)>>1]|0)|0;i=g+(e[a+(f+b<<1)>>1]|0)|0;b=b+1|0;d=h;g=i}h=d+2>>2;h=OW(h|0,((h|0)<0)<<31>>31|0,65537,65537)|0;i=M()|0;d=g+2>>2;d=OW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;f=M()|0;b=0;while(1){if((b|0)==16)break;g=a+((H(b,j)|0)<<1)|0;k=g;c[k>>2]=h;c[k+4>>2]=i;g=g+8|0;c[g>>2]=d;c[g+4>>2]=f;b=b+1|0}return}function Jp(a,b){a=a|0;b=b|0;Ip(a,b);Yo(a,0,b);return}function Kp(a,b){a=a|0;b=b|0;Gp(a,b);gp(a,0,b);return}function Lp(a,b){a=a|0;b=b|0;Hp(a,b);a=a+(b<<2)|0;hp(a,0,b);hp(a+8|0,0,b);return}function Mp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=33489407;c[f+4>>2]=33489407;e=e+8|0;c[e>>2]=33489407;c[e+4>>2]=33489407;b=b+1|0}return}function Np(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=33620481;c[f+4>>2]=33620481;e=e+8|0;c[e>>2]=33620481;c[e+4>>2]=33620481;b=b+1|0}return}function Op(a,b){a=a|0;b=b|0;Hp(a,b);hp(a,0,b);hp(a+8|0,0,b);return}function Pp(a,b){a=a|0;b=b|0;Bp(a,b);hp(a,0,b);hp(a+8|0,0,b);return}function Qp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=33554944;c[f+4>>2]=33554944;e=e+8|0;c[e>>2]=33554944;c[e+4>>2]=33554944;b=b+1|0}return}function Rp(a,b){a=a|0;b=b|0;Qp(a,b);Qp(a+(b<<3)|0,b);return}function Sp(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16){d=0;break}b=b+(e[a+((H(d,h)|0)+-1<<1)>>1]|0)|0;d=d+1|0}while(1){if((d|0)==16)break;b=b+(e[a+(d-h<<1)>>1]|0)|0;d=d+1|0}f=b+16>>5;f=OW(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function Tp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=b>>1;k=a+(0-g<<1)|0;d=k;l=c[d>>2]|0;d=c[d+4>>2]|0;f=k+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;i=k+16|0;h=c[i>>2]|0;i=c[i+4>>2]|0;k=k+24|0;j=c[k>>2]|0;k=c[k+4>>2]|0;b=0;while(1){if((b|0)==16)break;m=a+((H(b,g)|0)<<1)|0;n=m;c[n>>2]=l;c[n+4>>2]=d;n=m+8|0;c[n>>2]=e;c[n+4>>2]=f;n=m+16|0;c[n>>2]=h;c[n+4>>2]=i;m=m+24|0;c[m>>2]=j;c[m+4>>2]=k;b=b+1|0}return}function Up(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==16)break;f=H(b,d)|0;h=OW(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;i=f+8|0;c[i>>2]=h;c[i+4>>2]=g;i=f+16|0;c[i>>2]=h;c[i+4>>2]=g;f=f+24|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function Vp(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=33489407;c[e+4>>2]=33489407;e=b+8|0;c[e>>2]=33489407;c[e+4>>2]=33489407;e=b+16|0;c[e>>2]=33489407;c[e+4>>2]=33489407;e=b+24|0;c[e>>2]=33489407;c[e+4>>2]=33489407;b=b+(d<<1)|0;a=a+1|0}return}function Wp(a,b){a=a|0;b=b|0;nu(a,b);return}function Xp(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=33620481;c[e+4>>2]=33620481;e=b+8|0;c[e>>2]=33620481;c[e+4>>2]=33620481;e=b+16|0;c[e>>2]=33620481;c[e+4>>2]=33620481;e=b+24|0;c[e>>2]=33620481;c[e+4>>2]=33620481;b=b+(d<<1)|0;a=a+1|0}return}function Yp(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16)break;b=b+(e[a+((H(d,h)|0)+-1<<1)>>1]|0)|0;d=d+1|0}f=b+8>>4;f=OW(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function Zp(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16)break;b=b+(e[a+(d-h<<1)>>1]|0)|0;d=d+1|0}f=b+8>>4;f=OW(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function _p(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=33554944;c[e+4>>2]=33554944;e=b+8|0;c[e>>2]=33554944;c[e+4>>2]=33554944;e=b+16|0;c[e>>2]=33554944;c[e+4>>2]=33554944;e=b+24|0;c[e>>2]=33554944;c[e+4>>2]=33554944;b=b+(d<<1)|0;a=a+1|0}return}function $p(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;h=f>>1;i=h<<1;j=h*3|0;k=h<<2;g=d;f=a+(0-h<<1)|0;a=0;while(1){if((a|0)==4)break;l=(c[g>>2]|0)+(e[f>>1]|0)|0;b[f+(h<<1)>>1]=l;l=(c[g+16>>2]|0)+l|0;b[f+(i<<1)>>1]=l;l=(c[g+32>>2]|0)+l|0;b[f+(j<<1)>>1]=l;b[f+(k<<1)>>1]=(c[g+48>>2]|0)+l;g=g+4|0;f=f+2|0;a=a+1|0}f=d+64|0;do{b[d>>1]=0;d=d+2|0}while((d|0)<(f|0));return}function aq(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0;h=f>>1;g=d;f=a;a=0;while(1){if((a|0)==4)break;i=(c[g>>2]|0)+(e[f+-2>>1]|0)|0;b[f>>1]=i;i=(c[g+4>>2]|0)+i|0;b[f+2>>1]=i;i=(c[g+8>>2]|0)+i|0;b[f+4>>1]=i;b[f+6>>1]=(c[g+12>>2]|0)+i;g=g+16|0;f=f+(h<<1)|0;a=a+1|0}f=d+64|0;do{b[d>>1]=0;d=d+2|0}while((d|0)<(f|0));return}function bq(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=f>>1;l=k<<1;m=k*3|0;n=k<<2;o=k*5|0;h=k*6|0;i=k*7|0;j=k<<3;g=d;f=a+(0-k<<1)|0;a=0;while(1){if((a|0)==8)break;p=(c[g>>2]|0)+(e[f>>1]|0)|0;b[f+(k<<1)>>1]=p;p=(c[g+32>>2]|0)+p|0;b[f+(l<<1)>>1]=p;p=(c[g+64>>2]|0)+p|0;b[f+(m<<1)>>1]=p;p=(c[g+96>>2]|0)+p|0;b[f+(n<<1)>>1]=p;p=(c[g+128>>2]|0)+p|0;b[f+(o<<1)>>1]=p;p=(c[g+160>>2]|0)+p|0;b[f+(h<<1)>>1]=p;p=(c[g+192>>2]|0)+p|0;b[f+(i<<1)>>1]=p;b[f+(j<<1)>>1]=(c[g+224>>2]|0)+p;g=g+4|0;f=f+2|0;a=a+1|0}ZW(d|0,0,256)|0;return}function cq(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0;h=f>>1;g=d;f=a;a=0;while(1){if((a|0)==8)break;i=(c[g>>2]|0)+(e[f+-2>>1]|0)|0;b[f>>1]=i;i=(c[g+4>>2]|0)+i|0;b[f+2>>1]=i;i=(c[g+8>>2]|0)+i|0;b[f+4>>1]=i;i=(c[g+12>>2]|0)+i|0;b[f+6>>1]=i;i=(c[g+16>>2]|0)+i|0;b[f+8>>1]=i;i=(c[g+20>>2]|0)+i|0;b[f+10>>1]=i;i=(c[g+24>>2]|0)+i|0;b[f+12>>1]=i;b[f+14>>1]=(c[g+28>>2]|0)+i;g=g+32|0;f=f+(h<<1)|0;a=a+1|0}ZW(d|0,0,256)|0;return}function dq(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);p=q;o=h>>1;s=e[a+(0-o<<1)>>1]|0;r=e[a+(1-o<<1)>>1]|0;h=e[a+(2-o<<1)>>1]|0;n=e[a+(3-o<<1)>>1]|0;m=e[a+(4-o<<1)>>1]|0;l=e[a+(5-o<<1)>>1]|0;k=e[a+(6-o<<1)>>1]|0;j=e[a+(7-o<<1)>>1]|0;i=(k+2+(e[a+((g|0?8:7)-o<<1)>>1]|0)+(j<<1)|0)>>>2;b[p>>1]=((e[a+((((f|0)!=0)<<31>>31)-o<<1)>>1]|0)+2+(s<<1)+r|0)>>>2;b[p+2>>1]=(s+2+(r<<1)+h|0)>>>2;b[p+4>>1]=(r+2+(h<<1)+n|0)>>>2;b[p+6>>1]=(h+2+(n<<1)+m|0)>>>2;b[p+8>>1]=(n+2+(m<<1)+l|0)>>>2;b[p+10>>1]=(m+2+(l<<1)+k|0)>>>2;b[p+12>>1]=(l+2+(k<<1)+j|0)>>>2;b[p+14>>1]=i;i=o<<1;j=o*3|0;k=o<<2;l=o*5|0;m=o*6|0;n=o*7|0;g=0;h=a;f=d;while(1){if((g|0)==8)break;s=(c[f>>2]|0)+(e[p+(g<<1)>>1]|0)|0;b[h>>1]=s;s=(c[f+32>>2]|0)+s|0;b[h+(o<<1)>>1]=s;s=(c[f+64>>2]|0)+s|0;b[h+(i<<1)>>1]=s;s=(c[f+96>>2]|0)+s|0;b[h+(j<<1)>>1]=s;s=(c[f+128>>2]|0)+s|0;b[h+(k<<1)>>1]=s;s=(c[f+160>>2]|0)+s|0;b[h+(l<<1)>>1]=s;s=(c[f+192>>2]|0)+s|0;b[h+(m<<1)>>1]=s;b[h+(n<<1)>>1]=(c[f+224>>2]|0)+s;g=g+1|0;h=h+2|0;f=f+4|0}ZW(d|0,0,256)|0;$c=q;return}function eq(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;k=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);j=k;i=h>>1;q=e[a+((H(i,((f|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;p=e[a+-2>>1]|0;o=e[a+(i+-1<<1)>>1]|0;n=e[a+((i<<1)+-1<<1)>>1]|0;m=e[a+((i*3|0)+-1<<1)>>1]|0;l=e[a+((i<<2)+-1<<1)>>1]|0;h=e[a+((i*5|0)+-1<<1)>>1]|0;g=e[a+((i*6|0)+-1<<1)>>1]|0;f=e[a+((i*7|0)+-1<<1)>>1]|0;b[j>>1]=(q+2+(p<<1)+o|0)>>>2;b[j+2>>1]=(p+2+(o<<1)+n|0)>>>2;b[j+4>>1]=(o+2+(n<<1)+m|0)>>>2;b[j+6>>1]=(n+2+(m<<1)+l|0)>>>2;b[j+8>>1]=(m+2+(l<<1)+h|0)>>>2;b[j+10>>1]=(l+2+(h<<1)+g|0)>>>2;b[j+12>>1]=(h+2+(g<<1)+f|0)>>>2;b[j+14>>1]=(g+2+(f*3|0)|0)>>>2;f=0;g=a;h=d;while(1){if((f|0)==8)break;q=(c[h>>2]|0)+(e[j+(f<<1)>>1]|0)|0;b[g>>1]=q;q=(c[h+4>>2]|0)+q|0;b[g+2>>1]=q;q=(c[h+8>>2]|0)+q|0;b[g+4>>1]=q;q=(c[h+12>>2]|0)+q|0;b[g+6>>1]=q;q=(c[h+16>>2]|0)+q|0;b[g+8>>1]=q;q=(c[h+20>>2]|0)+q|0;b[g+10>>1]=q;q=(c[h+24>>2]|0)+q|0;b[g+12>>1]=q;b[g+14>>1]=(c[h+28>>2]|0)+q;f=f+1|0;g=g+(i<<1)|0;h=h+32|0}ZW(d|0,0,256)|0;$c=k;return}function fq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;$p(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function gq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4){f=4;break}$p(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}while(1){if((f|0)==8)break;$p(a+(c[b+(f+4<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function hq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;aq(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function iq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4){f=4;break}aq(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}while(1){if((f|0)==8)break;aq(a+(c[b+(f+4<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function jq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;d=d>>1;b=a+(0-d<<1)|0;e=c[b>>2]|0;b=c[b+4>>2]|0;f=a;c[f>>2]=e;c[f+4>>2]=b;f=a+(d<<1)|0;c[f>>2]=e;c[f+4>>2]=b;f=a+(d<<1<<1)|0;c[f>>2]=e;c[f+4>>2]=b;d=a+(d*3<<1)|0;c[d>>2]=e;c[d+4>>2]=b;return}function kq(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0;d=d>>1;f=OW(e[a+-2>>1]|0|0,0,65537,65537)|0;g=M()|0;b=a;c[b>>2]=f;c[b+4>>2]=g;b=OW(e[a+(d+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(d<<1)|0;c[f>>2]=b;c[f+4>>2]=g;f=d<<1;g=OW(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;b=M()|0;f=a+(f<<1)|0;c[f>>2]=g;c[f+4>>2]=b;d=d*3|0;f=OW(e[a+(d+-1<<1)>>1]|0|0,0,65537,65537)|0;b=M()|0;d=a+(d<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function lq(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0;h=d>>1;g=h<<1;d=h*3|0;f=(e[a+(0-h<<1)>>1]|0)+4+(e[a+(1-h<<1)>>1]|0)+(e[a+(2-h<<1)>>1]|0)+(e[a+(3-h<<1)>>1]|0)+(e[a+-2>>1]|0)+(e[a+(h+-1<<1)>>1]|0)+(e[a+(g+-1<<1)>>1]|0)+(e[a+(d+-1<<1)>>1]|0)>>3;f=OW(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;b=M()|0;i=a;c[i>>2]=f;c[i+4>>2]=b;h=a+(h<<1)|0;c[h>>2]=f;c[h+4>>2]=b;g=a+(g<<1)|0;c[g>>2]=f;c[g+4>>2]=b;d=a+(d<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function mq(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;i=d>>1;g=e[a+(1-i<<1)>>1]|0;d=e[a+(2-i<<1)>>1]|0;k=e[a+(3-i<<1)>>1]|0;j=e[c>>1]|0;h=e[c+2>>1]|0;f=e[c+4>>1]|0;c=e[c+6>>1]|0;b[a>>1]=((e[a+(0-i<<1)>>1]|0)+2+d+(g<<1)|0)>>>2;g=(g+2+k+(d<<1)|0)>>>2&65535;b[a+(i<<1)>>1]=g;b[a+2>>1]=g;d=(d+2+j+(k<<1)|0)>>>2&65535;g=i<<1;b[a+(g<<1)>>1]=d;b[a+(i+1<<1)>>1]=d;b[a+4>>1]=d;k=(k+2+h+(j<<1)|0)>>>2&65535;d=i*3|0;b[a+(d<<1)>>1]=k;b[a+((g|1)<<1)>>1]=k;b[a+(i+2<<1)>>1]=k;b[a+6>>1]=k;j=(j+2+f+(h<<1)|0)>>>2&65535;b[a+(d+1<<1)>>1]=j;b[a+(g+2<<1)>>1]=j;b[a+(i+3<<1)>>1]=j;h=(h+2+c+(f<<1)|0)>>>2&65535;b[a+(d+2<<1)>>1]=h;b[a+(g+3<<1)>>1]=h;b[a+(d+3<<1)>>1]=(f+2+(c*3|0)|0)>>>2;return}function nq(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;m=e[a+(~h<<1)>>1]|0;g=e[a+(0-h<<1)>>1]|0;f=e[a+(1-h<<1)>>1]|0;c=e[a+(2-h<<1)>>1]|0;d=e[a+(3-h<<1)>>1]|0;k=e[a+-2>>1]|0;n=e[a+(h+-1<<1)>>1]|0;j=h<<1;i=e[a+(j+-1<<1)>>1]|0;l=h*3|0;b[a+(l<<1)>>1]=(n+2+(e[a+(l+-1<<1)>>1]|0)+(i<<1)|0)>>>2;i=(k+2+i+(n<<1)|0)>>>2&65535;b[a+(l+1<<1)>>1]=i;b[a+(j<<1)>>1]=i;i=m+2|0;n=(i+n+(k<<1)|0)>>>2&65535;b[a+(l+2<<1)>>1]=n;b[a+((j|1)<<1)>>1]=n;b[a+(h<<1)>>1]=n;k=((m<<1)+2+g+k|0)>>>2&65535;b[a+(l+3<<1)>>1]=k;b[a+(j+2<<1)>>1]=k;b[a+(h+1<<1)>>1]=k;b[a>>1]=k;i=(i+(g<<1)+f|0)>>>2&65535;b[a+(j+3<<1)>>1]=i;b[a+(h+2<<1)>>1]=i;b[a+2>>1]=i;g=(g+2+(f<<1)+c|0)>>>2&65535;b[a+(h+3<<1)>>1]=g;b[a+4>>1]=g;b[a+6>>1]=(f+2+(c<<1)+d|0)>>>2;return}function oq(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=d>>1;i=e[a+(~j<<1)>>1]|0;n=e[a+(0-j<<1)>>1]|0;m=e[a+(1-j<<1)>>1]|0;l=e[a+(2-j<<1)>>1]|0;k=e[a+(3-j<<1)>>1]|0;g=e[a+-2>>1]|0;f=e[a+(j+-1<<1)>>1]|0;h=j<<1;c=e[a+(h+-1<<1)>>1]|0;d=j*3|0;o=(i+1+n|0)>>>1&65535;b[a+((h|1)<<1)>>1]=o;b[a>>1]=o;o=(n+1+m|0)>>>1&65535;b[a+(h+2<<1)>>1]=o;b[a+2>>1]=o;o=(m+1+l|0)>>>1&65535;b[a+(h+3<<1)>>1]=o;b[a+4>>1]=o;b[a+6>>1]=(l+1+k|0)>>>1;o=((i<<1)+2+n+g|0)>>>2&65535;b[a+(d+1<<1)>>1]=o;b[a+(j<<1)>>1]=o;i=i+2|0;o=(i+(n<<1)+m|0)>>>2&65535;b[a+(d+2<<1)>>1]=o;b[a+(j+1<<1)>>1]=o;n=(n+2+(m<<1)+l|0)>>>2&65535;b[a+(d+3<<1)>>1]=n;b[a+(j+2<<1)>>1]=n;b[a+(j+3<<1)>>1]=(m+2+(l<<1)+k|0)>>>2;b[a+(h<<1)>>1]=(i+(g<<1)+f|0)>>>2;b[a+(d<<1)>>1]=(g+2+(f<<1)+c|0)>>>2;return}function pq(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=d>>1;k=e[a+(~j<<1)>>1]|0;n=e[a+(0-j<<1)>>1]|0;m=e[a+(1-j<<1)>>1]|0;l=e[a+(2-j<<1)>>1]|0;i=e[a+-2>>1]|0;g=e[a+(j+-1<<1)>>1]|0;h=j<<1;f=e[a+(h+-1<<1)>>1]|0;d=j*3|0;c=e[a+(d+-1<<1)>>1]|0;o=(k+1+i|0)>>>1&65535;b[a+(j+2<<1)>>1]=o;b[a>>1]=o;o=((k<<1)+2+n+i|0)>>>2&65535;b[a+(j+3<<1)>>1]=o;b[a+2>>1]=o;k=k+2|0;b[a+4>>1]=(k+(n<<1)+m|0)>>>2;b[a+6>>1]=(n+2+(m<<1)+l|0)>>>2;l=(i+1+g|0)>>>1&65535;b[a+(h+2<<1)>>1]=l;b[a+(j<<1)>>1]=l;k=(k+(i<<1)+g|0)>>>2&65535;b[a+(h+3<<1)>>1]=k;b[a+(j+1<<1)>>1]=k;j=(g+1+f|0)>>>1&65535;b[a+(d+2<<1)>>1]=j;b[a+(h<<1)>>1]=j;i=(i+2+(g<<1)+f|0)>>>2&65535;b[a+(d+3<<1)>>1]=i;b[a+((h|1)<<1)>>1]=i;b[a+(d<<1)>>1]=(f+1+c|0)>>>1;b[a+(d+1<<1)>>1]=(g+2+(f<<1)+c|0)>>>2;return}function qq(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=d>>1;d=e[a+(0-h<<1)>>1]|0;k=e[a+(1-h<<1)>>1]|0;j=e[a+(2-h<<1)>>1]|0;i=e[a+(3-h<<1)>>1]|0;g=e[c>>1]|0;f=e[c+2>>1]|0;c=e[c+4>>1]|0;b[a>>1]=(d+1+k|0)>>>1;m=(k+1+j|0)>>>1&65535;l=h<<1;b[a+(l<<1)>>1]=m;b[a+2>>1]=m;m=(j+1+i|0)>>>1&65535;b[a+((l|1)<<1)>>1]=m;b[a+4>>1]=m;m=(i+1+g|0)>>>1&65535;b[a+(l+2<<1)>>1]=m;b[a+6>>1]=m;b[a+(l+3<<1)>>1]=(g+1+f|0)>>>1;b[a+(h<<1)>>1]=(d+2+(k<<1)+j|0)>>>2;k=(k+2+(j<<1)+i|0)>>>2&65535;d=h*3|0;b[a+(d<<1)>>1]=k;b[a+(h+1<<1)>>1]=k;j=(j+2+(i<<1)+g|0)>>>2&65535;b[a+(d+1<<1)>>1]=j;b[a+(h+2<<1)>>1]=j;i=(i+2+(g<<1)+f|0)>>>2&65535;b[a+(d+2<<1)>>1]=i;b[a+(h+3<<1)>>1]=i;b[a+(d+3<<1)>>1]=(g+2+(f<<1)+c|0)>>>2;return}function rq(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;g=d>>1;k=e[a+-2>>1]|0;j=e[a+(g+-1<<1)>>1]|0;d=g<<1;i=e[a+(d+-1<<1)>>1]|0;f=g*3|0;c=b[a+(f+-1<<1)>>1]|0;h=c&65535;b[a>>1]=(k+1+j|0)>>>1;b[a+2>>1]=(k+2+(j<<1)+i|0)>>>2;k=(j+1+i|0)>>>1&65535;b[a+(g<<1)>>1]=k;b[a+4>>1]=k;j=(j+2+(i<<1)+h|0)>>>2&65535;b[a+(g+1<<1)>>1]=j;b[a+6>>1]=j;j=(i+1+h|0)>>>1&65535;b[a+(d<<1)>>1]=j;b[a+(g+2<<1)>>1]=j;h=(i+2+h+(h<<1)|0)>>>2&65535;b[a+((d|1)<<1)>>1]=h;b[a+(g+3<<1)>>1]=h;b[a+(f+3<<1)>>1]=c;b[a+(f+2<<1)>>1]=c;b[a+(d+2<<1)>>1]=c;b[a+(f<<1)>>1]=c;b[a+(f+1<<1)>>1]=c;b[a+(d+3<<1)>>1]=c;return}function sq(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0;h=d>>1;g=h<<1;d=h*3|0;f=OW(((e[a+-2>>1]|0)+2+(e[a+(h+-1<<1)>>1]|0)+(e[a+(g+-1<<1)>>1]|0)+(e[a+(d+-1<<1)>>1]|0)|0)>>>2|0,0,65537,65537)|0;b=M()|0;i=a;c[i>>2]=f;c[i+4>>2]=b;h=a+(h<<1)|0;c[h>>2]=f;c[h+4>>2]=b;g=a+(g<<1)|0;c[g>>2]=f;c[g+4>>2]=b;d=a+(d<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function tq(a,b,d){a=a|0;b=b|0;d=d|0;d=d>>1;b=a;c[b>>2]=134154239;c[b+4>>2]=134154239;b=a+(d<<1)|0;c[b>>2]=134154239;c[b+4>>2]=134154239;b=a+(d<<1<<1)|0;c[b>>2]=134154239;c[b+4>>2]=134154239;d=a+(d*3<<1)|0;c[d>>2]=134154239;c[d+4>>2]=134154239;return}function uq(a,b,d){a=a|0;b=b|0;d=d|0;d=d>>1;b=a;c[b>>2]=134285313;c[b+4>>2]=134285313;b=a+(d<<1)|0;c[b>>2]=134285313;c[b+4>>2]=134285313;b=a+(d<<1<<1)|0;c[b>>2]=134285313;c[b+4>>2]=134285313;d=a+(d*3<<1)|0;c[d>>2]=134285313;c[d+4>>2]=134285313;return}function vq(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0;d=d>>1;f=OW(((e[a+(0-d<<1)>>1]|0)+2+(e[a+(1-d<<1)>>1]|0)+(e[a+(2-d<<1)>>1]|0)+(e[a+(3-d<<1)>>1]|0)|0)>>>2|0,0,65537,65537)|0;b=M()|0;g=a;c[g>>2]=f;c[g+4>>2]=b;g=a+(d<<1)|0;c[g>>2]=f;c[g+4>>2]=b;g=a+(d<<1<<1)|0;c[g>>2]=f;c[g+4>>2]=b;d=a+(d*3<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function wq(a,b,d){a=a|0;b=b|0;d=d|0;d=d>>1;b=a;c[b>>2]=134219776;c[b+4>>2]=134219776;b=a+(d<<1)|0;c[b>>2]=134219776;c[b+4>>2]=134219776;b=a+(d<<1<<1)|0;c[b>>2]=134219776;c[b+4>>2]=134219776;d=a+(d*3<<1)|0;c[d>>2]=134219776;c[d+4>>2]=134219776;return}function xq(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=g>>1;o=e[a+(0-j<<1)>>1]|0;n=e[a+(1-j<<1)>>1]|0;i=e[a+(2-j<<1)>>1]|0;m=e[a+(3-j<<1)>>1]|0;l=e[a+(4-j<<1)>>1]|0;k=e[a+(5-j<<1)>>1]|0;g=e[a+(6-j<<1)>>1]|0;h=e[a+(7-j<<1)>>1]|0;f=(g+2+(e[a+((f|0?8:7)-j<<1)>>1]|0)+(h<<1)|0)>>>2;b[a>>1]=((e[a+((((d|0)!=0)<<31>>31)-j<<1)>>1]|0)+2+(o<<1)+n|0)>>>2;b[a+2>>1]=(o+2+(n<<1)+i|0)>>>2;b[a+4>>1]=(n+2+(i<<1)+m|0)>>>2;b[a+6>>1]=(i+2+(m<<1)+l|0)>>>2;i=a+8|0;b[i>>1]=(m+2+(l<<1)+k|0)>>>2;b[a+10>>1]=(l+2+(k<<1)+g|0)>>>2;b[a+12>>1]=(k+2+(g<<1)+h|0)>>>2;b[a+14>>1]=f;f=a;d=c[f>>2]|0;f=c[f+4>>2]|0;h=c[i>>2]|0;i=c[i+4>>2]|0;g=1;while(1){if((g|0)==8)break;o=a+((H(g,j)|0)<<1)|0;n=o;c[n>>2]=d;c[n+4>>2]=f;o=o+8|0;c[o>>2]=h;c[o+4>>2]=i;g=g+1|0}return}function yq(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;p=f>>1;u=e[a+((H(p,((b|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;s=e[a+-2>>1]|0;q=e[a+(p+-1<<1)>>1]|0;n=p<<1;o=e[a+(n+-1<<1)>>1]|0;l=p*3|0;m=e[a+(l+-1<<1)>>1]|0;j=p<<2;k=e[a+(j+-1<<1)>>1]|0;h=p*5|0;i=e[a+(h+-1<<1)>>1]|0;g=p*6|0;d=e[a+(g+-1<<1)>>1]|0;f=p*7|0;b=e[a+(f+-1<<1)>>1]|0;u=OW((u+2+(s<<1)+q|0)>>>2|0,0,65537,65537)|0;t=M()|0;r=a;c[r>>2]=u;c[r+4>>2]=t;r=a+8|0;c[r>>2]=u;c[r+4>>2]=t;s=OW((s+2+(q<<1)+o|0)>>>2|0,0,65537,65537)|0;r=M()|0;p=a+(p<<1)|0;t=p;c[t>>2]=s;c[t+4>>2]=r;p=p+8|0;c[p>>2]=s;c[p+4>>2]=r;q=OW((q+2+(o<<1)+m|0)>>>2|0,0,65537,65537)|0;p=M()|0;n=a+(n<<1)|0;r=n;c[r>>2]=q;c[r+4>>2]=p;n=n+8|0;c[n>>2]=q;c[n+4>>2]=p;o=OW((o+2+(m<<1)+k|0)>>>2|0,0,65537,65537)|0;n=M()|0;l=a+(l<<1)|0;p=l;c[p>>2]=o;c[p+4>>2]=n;l=l+8|0;c[l>>2]=o;c[l+4>>2]=n;m=OW((m+2+(k<<1)+i|0)>>>2|0,0,65537,65537)|0;l=M()|0;j=a+(j<<1)|0;n=j;c[n>>2]=m;c[n+4>>2]=l;j=j+8|0;c[j>>2]=m;c[j+4>>2]=l;k=OW((k+2+(i<<1)+d|0)>>>2|0,0,65537,65537)|0;j=M()|0;h=a+(h<<1)|0;l=h;c[l>>2]=k;c[l+4>>2]=j;h=h+8|0;c[h>>2]=k;c[h+4>>2]=j;i=OW((i+2+(d<<1)+b|0)>>>2|0,0,65537,65537)|0;h=M()|0;g=a+(g<<1)|0;j=g;c[j>>2]=i;c[j+4>>2]=h;g=g+8|0;c[g>>2]=i;c[g+4>>2]=h;b=OW((d+2+(b*3|0)|0)>>>2|0,0,65537,65537)|0;d=M()|0;f=a+(f<<1)|0;a=f;c[a>>2]=b;c[a+4>>2]=d;f=f+8|0;c[f>>2]=b;c[f+4>>2]=d;return}function zq(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;h=f>>1;n=((b|0)!=0)<<31>>31;w=e[a+((H(h,n)|0)+-1<<1)>>1]|0;v=e[a+-2>>1]|0;u=e[a+(h+-1<<1)>>1]|0;t=e[a+((h<<1)+-1<<1)>>1]|0;s=e[a+((h*3|0)+-1<<1)>>1]|0;r=e[a+((h<<2)+-1<<1)>>1]|0;q=e[a+((h*5|0)+-1<<1)>>1]|0;p=e[a+((h*6|0)+-1<<1)>>1]|0;o=e[a+((h*7|0)+-1<<1)>>1]|0;m=e[a+(0-h<<1)>>1]|0;l=e[a+(1-h<<1)>>1]|0;k=e[a+(2-h<<1)>>1]|0;j=e[a+(3-h<<1)>>1]|0;i=e[a+(4-h<<1)>>1]|0;f=e[a+(5-h<<1)>>1]|0;b=e[a+(6-h<<1)>>1]|0;g=e[a+(7-h<<1)>>1]|0;d=((w+2+(v<<1)+u|0)>>>2)+8+((v+2+(u<<1)+t|0)>>>2)+((u+2+(t<<1)+s|0)>>>2)+((t+2+(s<<1)+r|0)>>>2)+((s+2+(r<<1)+q|0)>>>2)+((r+2+(q<<1)+p|0)>>>2)+((q+2+(p<<1)+o|0)>>>2)+((p+2+(o*3|0)|0)>>>2)+(((e[a+(n-h<<1)>>1]|0)+2+(m<<1)+l|0)>>>2)+((m+2+(l<<1)+k|0)>>>2)+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+f|0)>>>2)+((i+2+(f<<1)+b|0)>>>2)+((f+2+(b<<1)+g|0)>>>2)+((b+2+(e[a+((d|0?8:7)-h<<1)>>1]|0)+(g<<1)|0)>>>2)>>4;d=OW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=0;f=a;while(1){if((b|0)==8)break;w=f;c[w>>2]=d;c[w+4>>2]=g;w=f+8|0;c[w>>2]=d;c[w+4>>2]=g;b=b+1|0;f=f+(h<<1)|0}return}function Aq(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;q=f>>1;n=e[a+(0-q<<1)>>1]|0;o=e[a+(1-q<<1)>>1]|0;s=e[a+(2-q<<1)>>1]|0;p=(n+2+(o<<1)+s|0)>>>2;t=e[a+(3-q<<1)>>1]|0;r=(o+2+(s<<1)+t|0)>>>2;u=e[a+(4-q<<1)>>1]|0;s=(s+2+(t<<1)+u|0)>>>2;v=e[a+(5-q<<1)>>1]|0;t=(t+2+(u<<1)+v|0)>>>2;m=e[a+(6-q<<1)>>1]|0;u=(u+2+(v<<1)+m|0)>>>2;f=e[a+(7-q<<1)>>1]|0;v=(v+2+(m<<1)+f|0)>>>2;l=(d|0)!=0;m=(m+2+(e[a+((l?8:7)-q<<1)>>1]|0)+(f<<1)|0)>>>2;if(l){x=e[a+(8-q<<1)>>1]|0;w=e[a+(9-q<<1)>>1]|0;l=e[a+(10-q<<1)>>1]|0;k=e[a+(11-q<<1)>>1]|0;j=e[a+(12-q<<1)>>1]|0;i=e[a+(13-q<<1)>>1]|0;h=e[a+(14-q<<1)>>1]|0;g=e[a+(15-q<<1)>>1]|0;d=(h+2+(g*3|0)|0)>>>2;g=(i+2+(h<<1)+g|0)>>>2;h=(j+2+(i<<1)+h|0)>>>2;i=(k+2+(j<<1)+i|0)>>>2;j=(l+2+(k<<1)+j|0)>>>2;k=(w+2+(l<<1)+k|0)>>>2;l=(x+2+(w<<1)+l|0)>>>2;f=(f+2+(x<<1)+w|0)>>>2}else{d=f;g=f;h=f;i=f;j=f;k=f;l=f}b[a>>1]=((((e[a+((((c|0)!=0)<<31>>31)-q<<1)>>1]|0)+2+(n<<1)+o|0)>>>2)+2+(p<<1)+r|0)>>>2;w=(p+2+(r<<1)+s|0)>>>2&65535;b[a+2>>1]=w;b[a+(q<<1)>>1]=w;w=(r+2+(s<<1)+t|0)>>>2&65535;b[a+4>>1]=w;b[a+(q+1<<1)>>1]=w;r=q<<1;b[a+(r<<1)>>1]=w;w=(s+2+(t<<1)+u|0)>>>2&65535;b[a+6>>1]=w;b[a+(q+2<<1)>>1]=w;b[a+((r|1)<<1)>>1]=w;s=q*3|0;b[a+(s<<1)>>1]=w;w=(t+2+(u<<1)+v|0)>>>2&65535;b[a+8>>1]=w;b[a+(q+3<<1)>>1]=w;b[a+(r+2<<1)>>1]=w;b[a+(s+1<<1)>>1]=w;t=q<<2;b[a+(t<<1)>>1]=w;w=(u+2+(v<<1)+m|0)>>>2&65535;b[a+10>>1]=w;b[a+(q+4<<1)>>1]=w;b[a+(r+3<<1)>>1]=w;b[a+(s+2<<1)>>1]=w;b[a+((t|1)<<1)>>1]=w;u=q*5|0;b[a+(u<<1)>>1]=w;w=(v+2+(m<<1)+f|0)>>>2&65535;b[a+12>>1]=w;b[a+(q+5<<1)>>1]=w;b[a+(r+4<<1)>>1]=w;b[a+(s+3<<1)>>1]=w;b[a+((t|2)<<1)>>1]=w;b[a+(u+1<<1)>>1]=w;c=q*6|0;b[a+(c<<1)>>1]=w;w=(m+2+(f<<1)+l|0)>>>2&65535;b[a+14>>1]=w;b[a+(q+6<<1)>>1]=w;b[a+(r+5<<1)>>1]=w;b[a+(s+4<<1)>>1]=w;b[a+((t|3)<<1)>>1]=w;b[a+(u+2<<1)>>1]=w;b[a+((c|1)<<1)>>1]=w;x=q*7|0;b[a+(x<<1)>>1]=w;w=(f+2+(l<<1)+k|0)>>>2&65535;b[a+(q+7<<1)>>1]=w;b[a+(r+6<<1)>>1]=w;b[a+(s+5<<1)>>1]=w;b[a+(t+4<<1)>>1]=w;b[a+(u+3<<1)>>1]=w;b[a+(c+2<<1)>>1]=w;b[a+(x+1<<1)>>1]=w;w=(l+2+(k<<1)+j|0)>>>2&65535;b[a+(r+7<<1)>>1]=w;b[a+(s+6<<1)>>1]=w;b[a+(t+5<<1)>>1]=w;b[a+(u+4<<1)>>1]=w;b[a+(c+3<<1)>>1]=w;b[a+(x+2<<1)>>1]=w;w=(k+2+(j<<1)+i|0)>>>2&65535;b[a+(s+7<<1)>>1]=w;b[a+(t+6<<1)>>1]=w;b[a+(u+5<<1)>>1]=w;b[a+(c+4<<1)>>1]=w;b[a+(x+3<<1)>>1]=w;w=(j+2+(i<<1)+h|0)>>>2&65535;b[a+(t+7<<1)>>1]=w;b[a+(u+6<<1)>>1]=w;b[a+(c+5<<1)>>1]=w;b[a+(x+4<<1)>>1]=w;w=(i+2+(h<<1)+g|0)>>>2&65535;b[a+(u+7<<1)>>1]=w;b[a+(c+6<<1)>>1]=w;b[a+(x+5<<1)>>1]=w;w=(h+2+(g<<1)+d|0)>>>2&65535;b[a+(c+7<<1)>>1]=w;b[a+(x+6<<1)>>1]=w;b[a+(x+7<<1)>>1]=(g+2+(d*3|0)|0)>>>2;return}function Bq(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;h=f>>1;t=((c|0)!=0)<<31>>31;C=e[a+(0-h<<1)>>1]|0;m=e[a+(1-h<<1)>>1]|0;s=((e[a+(t-h<<1)>>1]|0)+2+(C<<1)+m|0)>>>2;k=e[a+(2-h<<1)>>1]|0;C=C+2|0;o=(C+(m<<1)+k|0)>>>2;i=e[a+(3-h<<1)>>1]|0;m=(m+2+(k<<1)+i|0)>>>2;g=e[a+(4-h<<1)>>1]|0;k=(k+2+(i<<1)+g|0)>>>2;c=e[a+(5-h<<1)>>1]|0;i=(i+2+(g<<1)+c|0)>>>2;q=e[a+(6-h<<1)>>1]|0;g=(g+2+(c<<1)+q|0)>>>2;f=e[a+(7-h<<1)>>1]|0;c=(c+2+(q<<1)+f|0)>>>2;f=(q+2+(e[a+((d|0?8:7)-h<<1)>>1]|0)+(f<<1)|0)>>>2;t=e[a+((H(h,t)|0)+-1<<1)>>1]|0;q=e[a+-2>>1]|0;v=e[a+(h+-1<<1)>>1]|0;t=(t+2+(q<<1)+v|0)>>>2;j=h<<1;w=e[a+(j+-1<<1)>>1]|0;d=(q+2+(v<<1)+w|0)>>>2;l=h*3|0;x=e[a+(l+-1<<1)>>1]|0;v=(v+2+(w<<1)+x|0)>>>2;n=h<<2;y=e[a+(n+-1<<1)>>1]|0;w=(w+2+(x<<1)+y|0)>>>2;p=h*5|0;z=e[a+(p+-1<<1)>>1]|0;x=(x+2+(y<<1)+z|0)>>>2;r=h*6|0;B=e[a+(r+-1<<1)>>1]|0;y=(y+2+(z<<1)+B|0)>>>2;u=h*7|0;A=e[a+(u+-1<<1)>>1]|0;z=(z+2+(B<<1)+A|0)>>>2;q=(C+q+((e[a+(~h<<1)>>1]|0)<<1)|0)>>>2;b[a+(u<<1)>>1]=(y+2+((B+2+(A*3|0)|0)>>>2)+(z<<1)|0)>>>2;z=(x+2+(y<<1)+z|0)>>>2&65535;b[a+(u+1<<1)>>1]=z;b[a+(r<<1)>>1]=z;y=(w+2+(x<<1)+y|0)>>>2&65535;b[a+(u+2<<1)>>1]=y;b[a+((r|1)<<1)>>1]=y;b[a+(p<<1)>>1]=y;x=(v+2+(w<<1)+x|0)>>>2&65535;b[a+(u+3<<1)>>1]=x;b[a+(r+2<<1)>>1]=x;b[a+(p+1<<1)>>1]=x;b[a+(n<<1)>>1]=x;w=(d+2+(v<<1)+w|0)>>>2&65535;b[a+(u+4<<1)>>1]=w;b[a+(r+3<<1)>>1]=w;b[a+(p+2<<1)>>1]=w;b[a+((n|1)<<1)>>1]=w;b[a+(l<<1)>>1]=w;v=(t+2+(d<<1)+v|0)>>>2&65535;b[a+(u+5<<1)>>1]=v;b[a+(r+4<<1)>>1]=v;b[a+(p+3<<1)>>1]=v;b[a+((n|2)<<1)>>1]=v;b[a+(l+1<<1)>>1]=v;b[a+(j<<1)>>1]=v;d=((t<<1)+2+d+q|0)>>>2&65535;b[a+(u+6<<1)>>1]=d;b[a+(r+5<<1)>>1]=d;b[a+(p+4<<1)>>1]=d;b[a+((n|3)<<1)>>1]=d;b[a+(l+2<<1)>>1]=d;b[a+((j|1)<<1)>>1]=d;b[a+(h<<1)>>1]=d;d=s+2|0;t=(d+t+(q<<1)|0)>>>2&65535;b[a+(u+7<<1)>>1]=t;b[a+(r+6<<1)>>1]=t;b[a+(p+5<<1)>>1]=t;b[a+(n+4<<1)>>1]=t;b[a+(l+3<<1)>>1]=t;b[a+(j+2<<1)>>1]=t;b[a+(h+1<<1)>>1]=t;b[a>>1]=t;q=((s<<1)+2+o+q|0)>>>2&65535;b[a+(r+7<<1)>>1]=q;b[a+(p+6<<1)>>1]=q;b[a+(n+5<<1)>>1]=q;b[a+(l+4<<1)>>1]=q;b[a+(j+3<<1)>>1]=q;b[a+(h+2<<1)>>1]=q;b[a+2>>1]=q;d=(d+(o<<1)+m|0)>>>2&65535;b[a+(p+7<<1)>>1]=d;b[a+(n+6<<1)>>1]=d;b[a+(l+5<<1)>>1]=d;b[a+(j+4<<1)>>1]=d;b[a+(h+3<<1)>>1]=d;b[a+4>>1]=d;d=(o+2+(m<<1)+k|0)>>>2&65535;b[a+(n+7<<1)>>1]=d;b[a+(l+6<<1)>>1]=d;b[a+(j+5<<1)>>1]=d;b[a+(h+4<<1)>>1]=d;b[a+6>>1]=d;d=(m+2+(k<<1)+i|0)>>>2&65535;b[a+(l+7<<1)>>1]=d;b[a+(j+6<<1)>>1]=d;b[a+(h+5<<1)>>1]=d;b[a+8>>1]=d;d=(k+2+(i<<1)+g|0)>>>2&65535;b[a+(j+7<<1)>>1]=d;b[a+(h+6<<1)>>1]=d;b[a+10>>1]=d;d=(i+2+(g<<1)+c|0)>>>2&65535;b[a+(h+7<<1)>>1]=d;b[a+12>>1]=d;b[a+14>>1]=(g+2+(c<<1)+f|0)>>>2;return}function Cq(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;g=f>>1;s=((c|0)!=0)<<31>>31;A=e[a+(0-g<<1)>>1]|0;q=e[a+(1-g<<1)>>1]|0;u=((e[a+(s-g<<1)>>1]|0)+2+(A<<1)+q|0)>>>2;n=e[a+(2-g<<1)>>1]|0;A=A+2|0;r=(A+(q<<1)+n|0)>>>2;k=e[a+(3-g<<1)>>1]|0;q=(q+2+(n<<1)+k|0)>>>2;h=e[a+(4-g<<1)>>1]|0;n=(n+2+(k<<1)+h|0)>>>2;c=e[a+(5-g<<1)>>1]|0;k=(k+2+(h<<1)+c|0)>>>2;t=e[a+(6-g<<1)>>1]|0;h=(h+2+(c<<1)+t|0)>>>2;f=e[a+(7-g<<1)>>1]|0;c=(c+2+(t<<1)+f|0)>>>2;f=(t+2+(e[a+((d|0?8:7)-g<<1)>>1]|0)+(f<<1)|0)>>>2;s=e[a+((H(g,s)|0)+-1<<1)>>1]|0;t=e[a+-2>>1]|0;d=e[a+(g+-1<<1)>>1]|0;s=(s+2+(t<<1)+d|0)>>>2;i=g<<1;x=e[a+(i+-1<<1)>>1]|0;v=(t+2+(d<<1)+x|0)>>>2;j=g*3|0;w=e[a+(j+-1<<1)>>1]|0;d=(d+2+(x<<1)+w|0)>>>2;l=g<<2;z=e[a+(l+-1<<1)>>1]|0;x=(x+2+(w<<1)+z|0)>>>2;m=g*5|0;B=e[a+(m+-1<<1)>>1]|0;w=(w+2+(z<<1)+B|0)>>>2;o=g*6|0;y=e[a+(o+-1<<1)>>1]|0;z=(z+2+(B<<1)+y|0)>>>2;p=g*7|0;y=(B+2+(y<<1)+(e[a+(p+-1<<1)>>1]|0)|0)>>>2;t=(A+t+((e[a+(~g<<1)>>1]|0)<<1)|0)>>>2;b[a+(o<<1)>>1]=(x+2+(w<<1)+z|0)>>>2;b[a+(p<<1)>>1]=(w+2+(z<<1)+y|0)>>>2;y=(v+2+(d<<1)+x|0)>>>2&65535;b[a+((o|1)<<1)>>1]=y;b[a+(l<<1)>>1]=y;w=(d+2+(x<<1)+w|0)>>>2&65535;b[a+(p+1<<1)>>1]=w;b[a+(m<<1)>>1]=w;w=((s<<1)+2+v+t|0)>>>2&65535;b[a+(o+2<<1)>>1]=w;b[a+((l|1)<<1)>>1]=w;b[a+(i<<1)>>1]=w;d=(s+2+(v<<1)+d|0)>>>2&65535;b[a+(p+2<<1)>>1]=d;b[a+(m+1<<1)>>1]=d;b[a+(j<<1)>>1]=d;d=u+2|0;s=(d+s+(t<<1)|0)>>>2&65535;b[a+(p+3<<1)>>1]=s;b[a+(m+2<<1)>>1]=s;b[a+(j+1<<1)>>1]=s;b[a+(g<<1)>>1]=s;s=u+1|0;v=(s+t|0)>>>1&65535;b[a+(o+3<<1)>>1]=v;b[a+((l|2)<<1)>>1]=v;b[a+((i|1)<<1)>>1]=v;b[a>>1]=v;t=((u<<1)+2+r+t|0)>>>2&65535;b[a+(p+4<<1)>>1]=t;b[a+(m+3<<1)>>1]=t;b[a+(j+2<<1)>>1]=t;b[a+(g+1<<1)>>1]=t;s=(s+r|0)>>>1&65535;b[a+(o+4<<1)>>1]=s;b[a+((l|3)<<1)>>1]=s;b[a+(i+2<<1)>>1]=s;b[a+2>>1]=s;d=(d+(r<<1)+q|0)>>>2&65535;b[a+(p+5<<1)>>1]=d;b[a+(m+4<<1)>>1]=d;b[a+(j+3<<1)>>1]=d;b[a+(g+2<<1)>>1]=d;d=(r+1+q|0)>>>1&65535;b[a+(o+5<<1)>>1]=d;b[a+(l+4<<1)>>1]=d;b[a+(i+3<<1)>>1]=d;b[a+4>>1]=d;d=(r+2+(q<<1)+n|0)>>>2&65535;b[a+(p+6<<1)>>1]=d;b[a+(m+5<<1)>>1]=d;b[a+(j+4<<1)>>1]=d;b[a+(g+3<<1)>>1]=d;d=(q+1+n|0)>>>1&65535;b[a+(o+6<<1)>>1]=d;b[a+(l+5<<1)>>1]=d;b[a+(i+4<<1)>>1]=d;b[a+6>>1]=d;d=(q+2+(n<<1)+k|0)>>>2&65535;b[a+(p+7<<1)>>1]=d;b[a+(m+6<<1)>>1]=d;b[a+(j+5<<1)>>1]=d;b[a+(g+4<<1)>>1]=d;d=(n+1+k|0)>>>1&65535;b[a+(o+7<<1)>>1]=d;b[a+(l+6<<1)>>1]=d;b[a+(i+5<<1)>>1]=d;b[a+8>>1]=d;d=(n+2+(k<<1)+h|0)>>>2&65535;b[a+(m+7<<1)>>1]=d;b[a+(j+6<<1)>>1]=d;b[a+(g+5<<1)>>1]=d;d=(k+1+h|0)>>>1&65535;b[a+(l+7<<1)>>1]=d;b[a+(i+6<<1)>>1]=d;b[a+10>>1]=d;d=(k+2+(h<<1)+c|0)>>>2&65535;b[a+(j+7<<1)>>1]=d;b[a+(g+6<<1)>>1]=d;d=(h+1+c|0)>>>1&65535;b[a+(i+7<<1)>>1]=d;b[a+12>>1]=d;b[a+(g+7<<1)>>1]=(h+2+(c<<1)+f|0)>>>2;b[a+14>>1]=(c+1+f|0)>>>1;return}function Dq(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;i=f>>1;o=((c|0)!=0)<<31>>31;A=e[a+(0-i<<1)>>1]|0;h=e[a+(1-i<<1)>>1]|0;n=((e[a+(o-i<<1)>>1]|0)+2+(A<<1)+h|0)>>>2;g=e[a+(2-i<<1)>>1]|0;A=A+2|0;j=(A+(h<<1)+g|0)>>>2;c=e[a+(3-i<<1)>>1]|0;h=(h+2+(g<<1)+c|0)>>>2;d=e[a+(4-i<<1)>>1]|0;g=(g+2+(c<<1)+d|0)>>>2;m=e[a+(5-i<<1)>>1]|0;c=(c+2+(d<<1)+m|0)>>>2;f=e[a+(6-i<<1)>>1]|0;d=(d+2+(m<<1)+f|0)>>>2;f=(m+2+(f<<1)+(e[a+(7-i<<1)>>1]|0)|0)>>>2;o=e[a+((H(i,o)|0)+-1<<1)>>1]|0;m=e[a+-2>>1]|0;k=e[a+(i+-1<<1)>>1]|0;o=(o+2+(m<<1)+k|0)>>>2;l=i<<1;t=e[a+(l+-1<<1)>>1]|0;q=(m+2+(k<<1)+t|0)>>>2;p=i*3|0;v=e[a+(p+-1<<1)>>1]|0;k=(k+2+(t<<1)+v|0)>>>2;r=i<<2;x=e[a+(r+-1<<1)>>1]|0;t=(t+2+(v<<1)+x|0)>>>2;s=i*5|0;y=e[a+(s+-1<<1)>>1]|0;v=(v+2+(x<<1)+y|0)>>>2;u=i*6|0;B=e[a+(u+-1<<1)>>1]|0;x=(x+2+(y<<1)+B|0)>>>2;w=i*7|0;z=e[a+(w+-1<<1)>>1]|0;y=(y+2+(B<<1)+z|0)>>>2;z=(B+2+(z*3|0)|0)>>>2;m=(A+m+((e[a+(~i<<1)>>1]|0)<<1)|0)>>>2;b[a+(w<<1)>>1]=(z+1+y|0)>>>1;b[a+(w+1<<1)>>1]=(x+2+z+(y<<1)|0)>>>2;z=(x+1+y|0)>>>1&65535;b[a+(w+2<<1)>>1]=z;b[a+(u<<1)>>1]=z;y=(v+2+(x<<1)+y|0)>>>2&65535;b[a+(w+3<<1)>>1]=y;b[a+((u|1)<<1)>>1]=y;y=(v+1+x|0)>>>1&65535;b[a+(w+4<<1)>>1]=y;b[a+(u+2<<1)>>1]=y;b[a+(s<<1)>>1]=y;x=(t+2+(v<<1)+x|0)>>>2&65535;b[a+(w+5<<1)>>1]=x;b[a+(u+3<<1)>>1]=x;b[a+(s+1<<1)>>1]=x;x=(t+1+v|0)>>>1&65535;b[a+(w+6<<1)>>1]=x;b[a+(u+4<<1)>>1]=x;b[a+(s+2<<1)>>1]=x;b[a+(r<<1)>>1]=x;v=(k+2+(t<<1)+v|0)>>>2&65535;b[a+(w+7<<1)>>1]=v;b[a+(u+5<<1)>>1]=v;b[a+(s+3<<1)>>1]=v;b[a+((r|1)<<1)>>1]=v;v=(k+1+t|0)>>>1&65535;b[a+(u+6<<1)>>1]=v;b[a+(s+4<<1)>>1]=v;b[a+((r|2)<<1)>>1]=v;b[a+(p<<1)>>1]=v;t=(q+2+(k<<1)+t|0)>>>2&65535;b[a+(u+7<<1)>>1]=t;b[a+(s+5<<1)>>1]=t;b[a+((r|3)<<1)>>1]=t;b[a+(p+1<<1)>>1]=t;t=(q+1+k|0)>>>1&65535;b[a+(s+6<<1)>>1]=t;b[a+(r+4<<1)>>1]=t;b[a+(p+2<<1)>>1]=t;b[a+(l<<1)>>1]=t;k=(o+2+(q<<1)+k|0)>>>2&65535;b[a+(s+7<<1)>>1]=k;b[a+(r+5<<1)>>1]=k;b[a+(p+3<<1)>>1]=k;b[a+((l|1)<<1)>>1]=k;k=o+1|0;s=(k+q|0)>>>1&65535;b[a+(r+6<<1)>>1]=s;b[a+(p+4<<1)>>1]=s;b[a+(l+2<<1)>>1]=s;b[a+(i<<1)>>1]=s;q=((o<<1)+2+q+m|0)>>>2&65535;b[a+(r+7<<1)>>1]=q;b[a+(p+5<<1)>>1]=q;b[a+(l+3<<1)>>1]=q;b[a+(i+1<<1)>>1]=q;k=(k+m|0)>>>1&65535;b[a+(p+6<<1)>>1]=k;b[a+(l+4<<1)>>1]=k;b[a+(i+2<<1)>>1]=k;b[a>>1]=k;k=n+2|0;o=(k+o+(m<<1)|0)>>>2&65535;b[a+(p+7<<1)>>1]=o;b[a+(l+5<<1)>>1]=o;b[a+(i+3<<1)>>1]=o;b[a+2>>1]=o;m=((n<<1)+2+j+m|0)>>>2&65535;b[a+(l+6<<1)>>1]=m;b[a+(i+4<<1)>>1]=m;b[a+4>>1]=m;k=(k+(j<<1)+h|0)>>>2&65535;b[a+(l+7<<1)>>1]=k;b[a+(i+5<<1)>>1]=k;b[a+6>>1]=k;j=(j+2+(h<<1)+g|0)>>>2&65535;b[a+(i+6<<1)>>1]=j;b[a+8>>1]=j;h=(h+2+(g<<1)+c|0)>>>2&65535;b[a+(i+7<<1)>>1]=h;b[a+10>>1]=h;b[a+12>>1]=(g+2+(c<<1)+d|0)>>>2;b[a+14>>1]=(c+2+(d<<1)+f|0)>>>2;return}function Eq(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=f>>1;k=e[a+(0-q<<1)>>1]|0;l=e[a+(1-q<<1)>>1]|0;j=((e[a+((((c|0)!=0)<<31>>31)-q<<1)>>1]|0)+2+(k<<1)+l|0)>>>2;m=e[a+(2-q<<1)>>1]|0;k=(k+2+(l<<1)+m|0)>>>2;n=e[a+(3-q<<1)>>1]|0;l=(l+2+(m<<1)+n|0)>>>2;o=e[a+(4-q<<1)>>1]|0;m=(m+2+(n<<1)+o|0)>>>2;p=e[a+(5-q<<1)>>1]|0;n=(n+2+(o<<1)+p|0)>>>2;i=e[a+(6-q<<1)>>1]|0;o=(o+2+(p<<1)+i|0)>>>2;f=e[a+(7-q<<1)>>1]|0;p=(p+2+(i<<1)+f|0)>>>2;h=(d|0)!=0;i=(i+2+(e[a+((h?8:7)-q<<1)>>1]|0)+(f<<1)|0)>>>2;if(h){s=e[a+(8-q<<1)>>1]|0;r=e[a+(9-q<<1)>>1]|0;h=e[a+(10-q<<1)>>1]|0;g=e[a+(11-q<<1)>>1]|0;d=e[a+(12-q<<1)>>1]|0;c=(g+2+(d<<1)+(e[a+(13-q<<1)>>1]|0)|0)>>>2;d=(h+2+(g<<1)+d|0)>>>2;g=(r+2+(h<<1)+g|0)>>>2;h=(s+2+(r<<1)+h|0)>>>2;f=(f+2+(s<<1)+r|0)>>>2}else{c=f;d=f;g=f;h=f}b[a>>1]=(j+1+k|0)>>>1;b[a+(q<<1)>>1]=(j+2+(k<<1)+l|0)>>>2;s=(k+1+l|0)>>>1&65535;b[a+2>>1]=s;t=q<<1;b[a+(t<<1)>>1]=s;s=(k+2+(l<<1)+m|0)>>>2&65535;b[a+(q+1<<1)>>1]=s;j=q*3|0;b[a+(j<<1)>>1]=s;s=(l+1+m|0)>>>1&65535;b[a+4>>1]=s;b[a+((t|1)<<1)>>1]=s;k=q<<2;b[a+(k<<1)>>1]=s;s=(l+2+(m<<1)+n|0)>>>2&65535;b[a+(q+2<<1)>>1]=s;b[a+(j+1<<1)>>1]=s;l=q*5|0;b[a+(l<<1)>>1]=s;s=(m+1+n|0)>>>1&65535;b[a+6>>1]=s;b[a+(t+2<<1)>>1]=s;b[a+((k|1)<<1)>>1]=s;r=q*6|0;b[a+(r<<1)>>1]=s;m=(m+2+(n<<1)+o|0)>>>2&65535;b[a+(q+3<<1)>>1]=m;b[a+(j+2<<1)>>1]=m;b[a+(l+1<<1)>>1]=m;s=q*7|0;b[a+(s<<1)>>1]=m;m=(n+1+o|0)>>>1&65535;b[a+8>>1]=m;b[a+(t+3<<1)>>1]=m;b[a+((k|2)<<1)>>1]=m;b[a+((r|1)<<1)>>1]=m;n=(n+2+(o<<1)+p|0)>>>2&65535;b[a+(q+4<<1)>>1]=n;b[a+(j+3<<1)>>1]=n;b[a+(l+2<<1)>>1]=n;b[a+(s+1<<1)>>1]=n;n=(o+1+p|0)>>>1&65535;b[a+10>>1]=n;b[a+(t+4<<1)>>1]=n;b[a+((k|3)<<1)>>1]=n;b[a+(r+2<<1)>>1]=n;o=(o+2+(p<<1)+i|0)>>>2&65535;b[a+(q+5<<1)>>1]=o;b[a+(j+4<<1)>>1]=o;b[a+(l+3<<1)>>1]=o;b[a+(s+2<<1)>>1]=o;o=(p+1+i|0)>>>1&65535;b[a+12>>1]=o;b[a+(t+5<<1)>>1]=o;b[a+(k+4<<1)>>1]=o;b[a+(r+3<<1)>>1]=o;p=(p+2+(i<<1)+f|0)>>>2&65535;b[a+(q+6<<1)>>1]=p;b[a+(j+5<<1)>>1]=p;b[a+(l+4<<1)>>1]=p;b[a+(s+3<<1)>>1]=p;p=(i+1+f|0)>>>1&65535;b[a+14>>1]=p;b[a+(t+6<<1)>>1]=p;b[a+(k+5<<1)>>1]=p;b[a+(r+4<<1)>>1]=p;p=(i+2+(f<<1)+h|0)>>>2&65535;b[a+(q+7<<1)>>1]=p;b[a+(j+6<<1)>>1]=p;b[a+(l+5<<1)>>1]=p;b[a+(s+4<<1)>>1]=p;q=(f+1+h|0)>>>1&65535;b[a+(t+7<<1)>>1]=q;b[a+(k+6<<1)>>1]=q;b[a+(r+5<<1)>>1]=q;q=(f+2+(h<<1)+g|0)>>>2&65535;b[a+(j+7<<1)>>1]=q;b[a+(l+6<<1)>>1]=q;b[a+(s+5<<1)>>1]=q;q=(h+1+g|0)>>>1&65535;b[a+(k+7<<1)>>1]=q;b[a+(r+6<<1)>>1]=q;q=(h+2+(g<<1)+d|0)>>>2&65535;b[a+(l+7<<1)>>1]=q;b[a+(s+6<<1)>>1]=q;b[a+(r+7<<1)>>1]=(g+1+d|0)>>>1;b[a+(s+7<<1)>>1]=(g+2+(d<<1)+c|0)>>>2;return}function Fq(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=f>>1;r=e[a+((H(n,((c|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;q=e[a+-2>>1]|0;p=e[a+(n+-1<<1)>>1]|0;r=(r+2+(q<<1)+p|0)>>>2;l=n<<1;o=e[a+(l+-1<<1)>>1]|0;q=(q+2+(p<<1)+o|0)>>>2;j=n*3|0;m=e[a+(j+-1<<1)>>1]|0;p=(p+2+(o<<1)+m|0)>>>2;h=n<<2;k=e[a+(h+-1<<1)>>1]|0;o=(o+2+(m<<1)+k|0)>>>2;g=n*5|0;i=e[a+(g+-1<<1)>>1]|0;m=(m+2+(k<<1)+i|0)>>>2;c=n*6|0;s=e[a+(c+-1<<1)>>1]|0;k=(k+2+(i<<1)+s|0)>>>2;f=n*7|0;d=e[a+(f+-1<<1)>>1]|0;i=(i+2+(s<<1)+d|0)>>>2;d=(s+2+(d*3|0)|0)>>>2;b[a>>1]=(r+1+q|0)>>>1;b[a+2>>1]=(r+2+(q<<1)+p|0)>>>2;r=(q+1+p|0)>>>1&65535;b[a+4>>1]=r;b[a+(n<<1)>>1]=r;q=(q+2+(p<<1)+o|0)>>>2&65535;b[a+6>>1]=q;b[a+(n+1<<1)>>1]=q;q=(p+1+o|0)>>>1&65535;b[a+8>>1]=q;b[a+(n+2<<1)>>1]=q;b[a+(l<<1)>>1]=q;p=(p+2+(o<<1)+m|0)>>>2&65535;b[a+10>>1]=p;b[a+(n+3<<1)>>1]=p;b[a+((l|1)<<1)>>1]=p;p=(o+1+m|0)>>>1&65535;b[a+12>>1]=p;b[a+(n+4<<1)>>1]=p;b[a+(l+2<<1)>>1]=p;b[a+(j<<1)>>1]=p;o=(o+2+(m<<1)+k|0)>>>2&65535;b[a+14>>1]=o;b[a+(n+5<<1)>>1]=o;b[a+(l+3<<1)>>1]=o;b[a+(j+1<<1)>>1]=o;o=(m+1+k|0)>>>1&65535;b[a+(n+6<<1)>>1]=o;b[a+(l+4<<1)>>1]=o;b[a+(j+2<<1)>>1]=o;b[a+(h<<1)>>1]=o;m=(m+2+(k<<1)+i|0)>>>2&65535;b[a+(n+7<<1)>>1]=m;b[a+(l+5<<1)>>1]=m;b[a+(j+3<<1)>>1]=m;b[a+((h|1)<<1)>>1]=m;m=(k+1+i|0)>>>1&65535;b[a+(l+6<<1)>>1]=m;b[a+(j+4<<1)>>1]=m;b[a+((h|2)<<1)>>1]=m;b[a+(g<<1)>>1]=m;k=(k+2+d+(i<<1)|0)>>>2&65535;b[a+(l+7<<1)>>1]=k;b[a+(j+5<<1)>>1]=k;b[a+((h|3)<<1)>>1]=k;b[a+(g+1<<1)>>1]=k;k=(d+1+i|0)>>>1&65535;b[a+(j+6<<1)>>1]=k;b[a+(h+4<<1)>>1]=k;b[a+(g+2<<1)>>1]=k;b[a+(c<<1)>>1]=k;i=(i+2+(d*3|0)|0)>>>2&65535;b[a+(j+7<<1)>>1]=i;b[a+(h+5<<1)>>1]=i;b[a+(g+3<<1)>>1]=i;b[a+((c|1)<<1)>>1]=i;d=d&65535;b[a+(f+7<<1)>>1]=d;b[a+(c+7<<1)>>1]=d;b[a+(g+7<<1)>>1]=d;b[a+(h+7<<1)>>1]=d;b[a+(f+6<<1)>>1]=d;b[a+(c+6<<1)>>1]=d;b[a+(g+6<<1)>>1]=d;b[a+(h+6<<1)>>1]=d;b[a+(f+5<<1)>>1]=d;b[a+(c+5<<1)>>1]=d;b[a+(g+5<<1)>>1]=d;b[a+(f+4<<1)>>1]=d;b[a+(c+4<<1)>>1]=d;b[a+(g+4<<1)>>1]=d;b[a+(f+3<<1)>>1]=d;b[a+(c+3<<1)>>1]=d;b[a+(f+2<<1)>>1]=d;b[a+(c+2<<1)>>1]=d;b[a+(f+1<<1)>>1]=d;b[a+(f<<1)>>1]=d;return}function Gq(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=f>>1;m=e[a+((H(h,((b|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;l=e[a+-2>>1]|0;k=e[a+(h+-1<<1)>>1]|0;j=e[a+((h<<1)+-1<<1)>>1]|0;i=e[a+((h*3|0)+-1<<1)>>1]|0;d=e[a+((h<<2)+-1<<1)>>1]|0;f=e[a+((h*5|0)+-1<<1)>>1]|0;g=e[a+((h*6|0)+-1<<1)>>1]|0;b=e[a+((h*7|0)+-1<<1)>>1]|0;b=((m+2+(l<<1)+k|0)>>>2)+4+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+d|0)>>>2)+((i+2+(d<<1)+f|0)>>>2)+((d+2+(f<<1)+g|0)>>>2)+((f+2+(g<<1)+b|0)>>>2)+((g+2+(b*3|0)|0)>>>2)>>3;b=OW(b|0,((b|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;f=0;d=a;while(1){if((f|0)==8)break;m=d;c[m>>2]=b;c[m+4>>2]=g;m=d+8|0;c[m>>2]=b;c[m+4>>2]=g;f=f+1|0;d=d+(h<<1)|0}return}function Hq(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=f>>1;n=e[a+(0-h<<1)>>1]|0;m=e[a+(1-h<<1)>>1]|0;l=e[a+(2-h<<1)>>1]|0;k=e[a+(3-h<<1)>>1]|0;j=e[a+(4-h<<1)>>1]|0;i=e[a+(5-h<<1)>>1]|0;f=e[a+(6-h<<1)>>1]|0;g=e[a+(7-h<<1)>>1]|0;d=(((e[a+((((b|0)!=0)<<31>>31)-h<<1)>>1]|0)+2+(n<<1)+m|0)>>>2)+4+((n+2+(m<<1)+l|0)>>>2)+((m+2+(l<<1)+k|0)>>>2)+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+f|0)>>>2)+((i+2+(f<<1)+g|0)>>>2)+((f+2+(e[a+((d|0?8:7)-h<<1)>>1]|0)+(g<<1)|0)>>>2)>>3;d=OW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=0;f=a;while(1){if((b|0)==8)break;n=f;c[n>>2]=d;c[n+4>>2]=g;n=f+8|0;c[n>>2]=d;c[n+4>>2]=g;b=b+1|0;f=f+(h<<1)|0}return}function Iq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;d=e>>1;b=0;while(1){if((b|0)==8)break;e=a;c[e>>2]=134219776;c[e+4>>2]=134219776;e=a+8|0;c[e>>2]=134219776;c[e+4>>2]=134219776;b=b+1|0;a=a+(d<<1)|0}return}function Jq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=b>>1;f=a+(0-g<<1)|0;d=f;h=c[d>>2]|0;d=c[d+4>>2]|0;f=f+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;b=0;while(1){if((b|0)==8)break;i=a+((H(b,g)|0)<<1)|0;j=i;c[j>>2]=h;c[j+4>>2]=d;i=i+8|0;c[i>>2]=e;c[i+4>>2]=f;b=b+1|0}return}function Kq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=b>>1;f=a+(0-g<<1)|0;d=f;h=c[d>>2]|0;d=c[d+4>>2]|0;f=f+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;b=0;while(1){if((b|0)==16)break;i=a+((H(b,g)|0)<<1)|0;j=i;c[j>>2]=h;c[j+4>>2]=d;i=i+8|0;c[i>>2]=e;c[i+4>>2]=f;b=b+1|0}return}function Lq(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==8)break;f=H(b,d)|0;h=OW(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;f=f+8|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function Mq(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==16)break;f=H(b,d)|0;h=OW(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;f=f+8|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function Nq(a,c){a=a|0;c=c|0;var d=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=c>>1;h=0-q|0;i=a+6+(h<<1)|0;f=a+(q<<2<<1)+-2|0;p=q<<1;d=f+(0-p<<1)|0;o=a+((q*14|0)+-2)|0;p=a+(-2-p)|0;j=(e[f>>1]|0)-(e[d>>1]|0)|0;c=(e[i+2>>1]|0)-(e[i+-2>>1]|0)|0;g=2;while(1){if((g|0)==5)break;n=f+(q<<1)|0;m=d+(h<<1)|0;l=(H((e[i+(g<<1)>>1]|0)-(e[i+(0-g<<1)>>1]|0)|0,g)|0)+c|0;j=(H((e[n>>1]|0)-(e[m>>1]|0)|0,g)|0)+j|0;c=l;d=m;f=n;g=g+1|0}n=(c*17|0)+16>>5;g=(j*17|0)+16>>5;h=n<<1;i=n*3|0;j=n<<2;k=n*5|0;l=n*6|0;m=n*7|0;f=8;d=(H(g+n|0,-3)|0)+16+((e[p+16>>1]|0)+(e[o>>1]|0)<<4)|0;c=a;while(1){if((f|0)<=0)break;a=d>>5;b[c>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+n>>5;b[c+2>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+h>>5;b[c+4>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+i>>5;b[c+6>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+j>>5;b[c+8>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+k>>5;b[c+10>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+l>>5;b[c+12>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+m>>5;b[c+14>>1]=a>>>0<4096?a:0-a>>31&4095;f=f+-1|0;d=d+g|0;c=c+(q<<1)|0}return}function Oq(a,c){a=a|0;c=c|0;var d=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=c>>1;l=0-q|0;h=a+6+(l<<1)|0;g=a+(q<<3<<1)+-2|0;f=g+(0-(q<<1)<<1)|0;j=a+((q*22|0)+-2)|0;i=a+((q*6|0)+-2)|0;c=2;d=(e[g>>1]|0)-(e[f>>1]|0)|0;k=(e[h+2>>1]|0)-(e[h+-2>>1]|0)|0;while(1){if((c|0)==5)break;p=g+(q<<1)|0;o=f+(l<<1)|0;n=(H((e[h+(c<<1)>>1]|0)-(e[h+(0-c<<1)>>1]|0)|0,c)|0)+k|0;m=(H((e[p>>1]|0)-(e[o>>1]|0)|0,c)|0)+d|0;c=c+1|0;d=m;k=n;f=o;g=p}c=5;while(1){if((c|0)>=9)break;p=j+(q<<1)|0;o=i+(l<<1)|0;d=(H((e[p>>1]|0)-(e[o>>1]|0)|0,c)|0)+d|0;c=c+1|0;i=o;j=p}p=(k*17|0)+16>>5;g=(d*5|0)+32>>6;h=p*3|0;k=p<<1;l=p<<2;m=p*5|0;n=p*6|0;o=p*7|0;f=16;d=16-h+(H(g,-7)|0)+((e[i+16>>1]|0)+(e[j>>1]|0)<<4)|0;c=a;while(1){if((f|0)<=0)break;a=d>>5;b[c>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+p>>5;b[c+2>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+k>>5;b[c+4>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+h>>5;b[c+6>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+l>>5;b[c+8>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+m>>5;b[c+10>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+n>>5;b[c+12>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+o>>5;b[c+14>>1]=a>>>0<4096?a:0-a>>31&4095;f=f+-1|0;d=d+g|0;c=c+(q<<1)|0}return}function Pq(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=b>>1;b=0;d=0;f=0;g=0;while(1){if((b|0)==4)break;l=e[a+((H(b,n)|0)+-1<<1)>>1]|0;l=d+l+(e[a+(b-n<<1)>>1]|0)|0;m=b+4|0;b=b+1|0;d=l;f=f+(e[a+(m-n<<1)>>1]|0)|0;g=g+(e[a+((H(m,n)|0)+-1<<1)>>1]|0)|0}d=d+4>>3;d=OW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;h=M()|0;i=f+2>>2;i=OW(i|0,((i|0)<0)<<31>>31|0,65537,65537)|0;j=M()|0;k=g+2>>2;l=((k|0)<0)<<31>>31;f=g+4+f>>3;m=((f|0)<0)<<31>>31;b=0;while(1){if((b|0)==4)break;g=a+((H(b,n)|0)<<1)|0;o=g;c[o>>2]=d;c[o+4>>2]=h;g=g+8|0;c[g>>2]=i;c[g+4>>2]=j;b=b+1|0}g=OW(k|0,l|0,65537,65537)|0;h=M()|0;d=OW(f|0,m|0,65537,65537)|0;f=M()|0;b=4;while(1){if((b|0)==8)break;o=a+((H(b,n)|0)<<1)|0;m=o;c[m>>2]=g;c[m+4>>2]=h;o=o+8|0;c[o>>2]=d;c[o+4>>2]=f;b=b+1|0}return}function Qq(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;i=b>>1;b=0;d=0;f=0;while(1){if((b|0)==4)break;g=d+(e[a+((H(b,i)|0)+-1<<1)>>1]|0)|0;h=f+(e[a+((H(b+4|0,i)|0)+-1<<1)>>1]|0)|0;b=b+1|0;d=g;f=h}g=d+2>>2;g=OW(g|0,((g|0)<0)<<31>>31|0,65537,65537)|0;h=M()|0;d=f+2>>2;f=((d|0)<0)<<31>>31;b=0;while(1){if((b|0)==4)break;j=a+((H(b,i)|0)<<1)|0;k=j;c[k>>2]=g;c[k+4>>2]=h;j=j+8|0;c[j>>2]=g;c[j+4>>2]=h;b=b+1|0}d=OW(d|0,f|0,65537,65537)|0;f=M()|0;b=4;while(1){if((b|0)==8)break;k=a+((H(b,i)|0)<<1)|0;j=k;c[j>>2]=d;c[j+4>>2]=f;k=k+8|0;c[k>>2]=d;c[k+4>>2]=f;b=b+1|0}return}function Rq(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;j=b>>1;f=4-j|0;b=0;d=0;g=0;while(1){if((b|0)==4)break;h=d+(e[a+(b-j<<1)>>1]|0)|0;i=g+(e[a+(f+b<<1)>>1]|0)|0;b=b+1|0;d=h;g=i}h=d+2>>2;h=OW(h|0,((h|0)<0)<<31>>31|0,65537,65537)|0;i=M()|0;d=g+2>>2;d=OW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;f=M()|0;b=0;while(1){if((b|0)==4){b=4;break}g=a+((H(b,j)|0)<<1)|0;k=g;c[k>>2]=h;c[k+4>>2]=i;g=g+8|0;c[g>>2]=d;c[g+4>>2]=f;b=b+1|0}while(1){if((b|0)==8)break;k=a+((H(b,j)|0)<<1)|0;g=k;c[g>>2]=h;c[g+4>>2]=i;k=k+8|0;c[k>>2]=d;c[k+4>>2]=f;b=b+1|0}return}function Sq(a,b){a=a|0;b=b|0;Rq(a,b);lq(a,0,b);return}function Tq(a,b){a=a|0;b=b|0;Pq(a,b);vq(a,0,b);return}function Uq(a,b){a=a|0;b=b|0;Qq(a,b);a=a+(b<<2)|0;wq(a,0,b);wq(a+8|0,0,b);return}function Vq(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=b>>1;b=0;d=0;h=0;f=0;g=0;i=0;while(1){if((b|0)==4)break;t=e[a+((H(b,y)|0)+-1<<1)>>1]|0;t=d+t+(e[a+(b-y<<1)>>1]|0)|0;u=b+4|0;v=f+(e[a+((H(u,y)|0)+-1<<1)>>1]|0)|0;w=g+(e[a+((H(b+8|0,y)|0)+-1<<1)>>1]|0)|0;x=i+(e[a+((H(b+12|0,y)|0)+-1<<1)>>1]|0)|0;b=b+1|0;d=t;h=h+(e[a+(u-y<<1)>>1]|0)|0;f=v;g=w;i=x}d=d+4>>3;d=OW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;j=M()|0;k=h+2>>2;k=OW(k|0,((k|0)<0)<<31>>31|0,65537,65537)|0;l=M()|0;m=f+2>>2;n=((m|0)<0)<<31>>31;f=f+4+h>>3;o=((f|0)<0)<<31>>31;r=g+2>>2;s=((r|0)<0)<<31>>31;g=g+4+h>>3;t=((g|0)<0)<<31>>31;u=i+2>>2;v=((u|0)<0)<<31>>31;w=i+4+h>>3;x=((w|0)<0)<<31>>31;b=0;while(1){if((b|0)==4)break;q=a+((H(b,y)|0)<<1)|0;p=q;c[p>>2]=d;c[p+4>>2]=j;q=q+8|0;c[q>>2]=k;c[q+4>>2]=l;b=b+1|0}p=OW(m|0,n|0,65537,65537)|0;q=M()|0;m=OW(f|0,o|0,65537,65537)|0;n=M()|0;k=OW(r|0,s|0,65537,65537)|0;l=M()|0;i=OW(g|0,t|0,65537,65537)|0;j=M()|0;g=OW(u|0,v|0,65537,65537)|0;h=M()|0;d=OW(w|0,x|0,65537,65537)|0;f=M()|0;b=4;while(1){if((b|0)==8){b=8;break}x=a+((H(b,y)|0)<<1)|0;w=x;c[w>>2]=p;c[w+4>>2]=q;x=x+8|0;c[x>>2]=m;c[x+4>>2]=n;b=b+1|0}while(1){if((b|0)==12){b=12;break}x=a+((H(b,y)|0)<<1)|0;w=x;c[w>>2]=k;c[w+4>>2]=l;x=x+8|0;c[x>>2]=i;c[x+4>>2]=j;b=b+1|0}while(1){if((b|0)==16)break;x=a+((H(b,y)|0)<<1)|0;w=x;c[w>>2]=g;c[w+4>>2]=h;x=x+8|0;c[x>>2]=d;c[x+4>>2]=f;b=b+1|0}return}function Wq(a,b){a=a|0;b=b|0;Qq(a,b);Qq(a+(b<<3)|0,b);return}function Xq(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;j=b>>1;f=4-j|0;b=0;d=0;g=0;while(1){if((b|0)==4)break;h=d+(e[a+(b-j<<1)>>1]|0)|0;i=g+(e[a+(f+b<<1)>>1]|0)|0;b=b+1|0;d=h;g=i}h=d+2>>2;h=OW(h|0,((h|0)<0)<<31>>31|0,65537,65537)|0;i=M()|0;d=g+2>>2;d=OW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;f=M()|0;b=0;while(1){if((b|0)==16)break;g=a+((H(b,j)|0)<<1)|0;k=g;c[k>>2]=h;c[k+4>>2]=i;g=g+8|0;c[g>>2]=d;c[g+4>>2]=f;b=b+1|0}return}function Yq(a,b){a=a|0;b=b|0;Xq(a,b);lq(a,0,b);return}function Zq(a,b){a=a|0;b=b|0;Vq(a,b);vq(a,0,b);return}function _q(a,b){a=a|0;b=b|0;Wq(a,b);a=a+(b<<2)|0;wq(a,0,b);wq(a+8|0,0,b);return}function $q(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=134154239;c[f+4>>2]=134154239;e=e+8|0;c[e>>2]=134154239;c[e+4>>2]=134154239;b=b+1|0}return}function ar(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=134285313;c[f+4>>2]=134285313;e=e+8|0;c[e>>2]=134285313;c[e+4>>2]=134285313;b=b+1|0}return}function br(a,b){a=a|0;b=b|0;Wq(a,b);wq(a,0,b);wq(a+8|0,0,b);return}function cr(a,b){a=a|0;b=b|0;Qq(a,b);wq(a,0,b);wq(a+8|0,0,b);return}function dr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=134219776;c[f+4>>2]=134219776;e=e+8|0;c[e>>2]=134219776;c[e+4>>2]=134219776;b=b+1|0}return}function er(a,b){a=a|0;b=b|0;dr(a,b);dr(a+(b<<3)|0,b);return}function fr(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16){d=0;break}b=b+(e[a+((H(d,h)|0)+-1<<1)>>1]|0)|0;d=d+1|0}while(1){if((d|0)==16)break;b=b+(e[a+(d-h<<1)>>1]|0)|0;d=d+1|0}f=b+16>>5;f=OW(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function gr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=b>>1;k=a+(0-g<<1)|0;d=k;l=c[d>>2]|0;d=c[d+4>>2]|0;f=k+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;i=k+16|0;h=c[i>>2]|0;i=c[i+4>>2]|0;k=k+24|0;j=c[k>>2]|0;k=c[k+4>>2]|0;b=0;while(1){if((b|0)==16)break;m=a+((H(b,g)|0)<<1)|0;n=m;c[n>>2]=l;c[n+4>>2]=d;n=m+8|0;c[n>>2]=e;c[n+4>>2]=f;n=m+16|0;c[n>>2]=h;c[n+4>>2]=i;m=m+24|0;c[m>>2]=j;c[m+4>>2]=k;b=b+1|0}return}function hr(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==16)break;f=H(b,d)|0;h=OW(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;i=f+8|0;c[i>>2]=h;c[i+4>>2]=g;i=f+16|0;c[i>>2]=h;c[i+4>>2]=g;f=f+24|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function ir(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=134154239;c[e+4>>2]=134154239;e=b+8|0;c[e>>2]=134154239;c[e+4>>2]=134154239;e=b+16|0;c[e>>2]=134154239;c[e+4>>2]=134154239;e=b+24|0;c[e>>2]=134154239;c[e+4>>2]=134154239;b=b+(d<<1)|0;a=a+1|0}return}function jr(a,b){a=a|0;b=b|0;mu(a,b);return}function kr(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=134285313;c[e+4>>2]=134285313;e=b+8|0;c[e>>2]=134285313;c[e+4>>2]=134285313;e=b+16|0;c[e>>2]=134285313;c[e+4>>2]=134285313;e=b+24|0;c[e>>2]=134285313;c[e+4>>2]=134285313;b=b+(d<<1)|0;a=a+1|0}return}function lr(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16)break;b=b+(e[a+((H(d,h)|0)+-1<<1)>>1]|0)|0;d=d+1|0}f=b+8>>4;f=OW(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function mr(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16)break;b=b+(e[a+(d-h<<1)>>1]|0)|0;d=d+1|0}f=b+8>>4;f=OW(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function nr(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=134219776;c[e+4>>2]=134219776;e=b+8|0;c[e>>2]=134219776;c[e+4>>2]=134219776;e=b+16|0;c[e>>2]=134219776;c[e+4>>2]=134219776;e=b+24|0;c[e>>2]=134219776;c[e+4>>2]=134219776;b=b+(d<<1)|0;a=a+1|0}return}function or(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;h=f>>1;i=h<<1;j=h*3|0;k=h<<2;g=d;f=a+(0-h<<1)|0;a=0;while(1){if((a|0)==4)break;l=(c[g>>2]|0)+(e[f>>1]|0)|0;b[f+(h<<1)>>1]=l;l=(c[g+16>>2]|0)+l|0;b[f+(i<<1)>>1]=l;l=(c[g+32>>2]|0)+l|0;b[f+(j<<1)>>1]=l;b[f+(k<<1)>>1]=(c[g+48>>2]|0)+l;g=g+4|0;f=f+2|0;a=a+1|0}f=d+64|0;do{b[d>>1]=0;d=d+2|0}while((d|0)<(f|0));return}function pr(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0;h=f>>1;g=d;f=a;a=0;while(1){if((a|0)==4)break;i=(c[g>>2]|0)+(e[f+-2>>1]|0)|0;b[f>>1]=i;i=(c[g+4>>2]|0)+i|0;b[f+2>>1]=i;i=(c[g+8>>2]|0)+i|0;b[f+4>>1]=i;b[f+6>>1]=(c[g+12>>2]|0)+i;g=g+16|0;f=f+(h<<1)|0;a=a+1|0}f=d+64|0;do{b[d>>1]=0;d=d+2|0}while((d|0)<(f|0));return}function qr(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=f>>1;l=k<<1;m=k*3|0;n=k<<2;o=k*5|0;h=k*6|0;i=k*7|0;j=k<<3;g=d;f=a+(0-k<<1)|0;a=0;while(1){if((a|0)==8)break;p=(c[g>>2]|0)+(e[f>>1]|0)|0;b[f+(k<<1)>>1]=p;p=(c[g+32>>2]|0)+p|0;b[f+(l<<1)>>1]=p;p=(c[g+64>>2]|0)+p|0;b[f+(m<<1)>>1]=p;p=(c[g+96>>2]|0)+p|0;b[f+(n<<1)>>1]=p;p=(c[g+128>>2]|0)+p|0;b[f+(o<<1)>>1]=p;p=(c[g+160>>2]|0)+p|0;b[f+(h<<1)>>1]=p;p=(c[g+192>>2]|0)+p|0;b[f+(i<<1)>>1]=p;b[f+(j<<1)>>1]=(c[g+224>>2]|0)+p;g=g+4|0;f=f+2|0;a=a+1|0}ZW(d|0,0,256)|0;return}function rr(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0;h=f>>1;g=d;f=a;a=0;while(1){if((a|0)==8)break;i=(c[g>>2]|0)+(e[f+-2>>1]|0)|0;b[f>>1]=i;i=(c[g+4>>2]|0)+i|0;b[f+2>>1]=i;i=(c[g+8>>2]|0)+i|0;b[f+4>>1]=i;i=(c[g+12>>2]|0)+i|0;b[f+6>>1]=i;i=(c[g+16>>2]|0)+i|0;b[f+8>>1]=i;i=(c[g+20>>2]|0)+i|0;b[f+10>>1]=i;i=(c[g+24>>2]|0)+i|0;b[f+12>>1]=i;b[f+14>>1]=(c[g+28>>2]|0)+i;g=g+32|0;f=f+(h<<1)|0;a=a+1|0}ZW(d|0,0,256)|0;return}function sr(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);p=q;o=h>>1;s=e[a+(0-o<<1)>>1]|0;r=e[a+(1-o<<1)>>1]|0;h=e[a+(2-o<<1)>>1]|0;n=e[a+(3-o<<1)>>1]|0;m=e[a+(4-o<<1)>>1]|0;l=e[a+(5-o<<1)>>1]|0;k=e[a+(6-o<<1)>>1]|0;j=e[a+(7-o<<1)>>1]|0;i=(k+2+(e[a+((g|0?8:7)-o<<1)>>1]|0)+(j<<1)|0)>>>2;b[p>>1]=((e[a+((((f|0)!=0)<<31>>31)-o<<1)>>1]|0)+2+(s<<1)+r|0)>>>2;b[p+2>>1]=(s+2+(r<<1)+h|0)>>>2;b[p+4>>1]=(r+2+(h<<1)+n|0)>>>2;b[p+6>>1]=(h+2+(n<<1)+m|0)>>>2;b[p+8>>1]=(n+2+(m<<1)+l|0)>>>2;b[p+10>>1]=(m+2+(l<<1)+k|0)>>>2;b[p+12>>1]=(l+2+(k<<1)+j|0)>>>2;b[p+14>>1]=i;i=o<<1;j=o*3|0;k=o<<2;l=o*5|0;m=o*6|0;n=o*7|0;g=0;h=a;f=d;while(1){if((g|0)==8)break;s=(c[f>>2]|0)+(e[p+(g<<1)>>1]|0)|0;b[h>>1]=s;s=(c[f+32>>2]|0)+s|0;b[h+(o<<1)>>1]=s;s=(c[f+64>>2]|0)+s|0;b[h+(i<<1)>>1]=s;s=(c[f+96>>2]|0)+s|0;b[h+(j<<1)>>1]=s;s=(c[f+128>>2]|0)+s|0;b[h+(k<<1)>>1]=s;s=(c[f+160>>2]|0)+s|0;b[h+(l<<1)>>1]=s;s=(c[f+192>>2]|0)+s|0;b[h+(m<<1)>>1]=s;b[h+(n<<1)>>1]=(c[f+224>>2]|0)+s;g=g+1|0;h=h+2|0;f=f+4|0}ZW(d|0,0,256)|0;$c=q;return}function tr(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;k=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);j=k;i=h>>1;q=e[a+((H(i,((f|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;p=e[a+-2>>1]|0;o=e[a+(i+-1<<1)>>1]|0;n=e[a+((i<<1)+-1<<1)>>1]|0;m=e[a+((i*3|0)+-1<<1)>>1]|0;l=e[a+((i<<2)+-1<<1)>>1]|0;h=e[a+((i*5|0)+-1<<1)>>1]|0;g=e[a+((i*6|0)+-1<<1)>>1]|0;f=e[a+((i*7|0)+-1<<1)>>1]|0;b[j>>1]=(q+2+(p<<1)+o|0)>>>2;b[j+2>>1]=(p+2+(o<<1)+n|0)>>>2;b[j+4>>1]=(o+2+(n<<1)+m|0)>>>2;b[j+6>>1]=(n+2+(m<<1)+l|0)>>>2;b[j+8>>1]=(m+2+(l<<1)+h|0)>>>2;b[j+10>>1]=(l+2+(h<<1)+g|0)>>>2;b[j+12>>1]=(h+2+(g<<1)+f|0)>>>2;b[j+14>>1]=(g+2+(f*3|0)|0)>>>2;f=0;g=a;h=d;while(1){if((f|0)==8)break;q=(c[h>>2]|0)+(e[j+(f<<1)>>1]|0)|0;b[g>>1]=q;q=(c[h+4>>2]|0)+q|0;b[g+2>>1]=q;q=(c[h+8>>2]|0)+q|0;b[g+4>>1]=q;q=(c[h+12>>2]|0)+q|0;b[g+6>>1]=q;q=(c[h+16>>2]|0)+q|0;b[g+8>>1]=q;q=(c[h+20>>2]|0)+q|0;b[g+10>>1]=q;q=(c[h+24>>2]|0)+q|0;b[g+12>>1]=q;b[g+14>>1]=(c[h+28>>2]|0)+q;f=f+1|0;g=g+(i<<1)|0;h=h+32|0}ZW(d|0,0,256)|0;$c=k;return}function ur(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;or(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function vr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4){f=4;break}or(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}while(1){if((f|0)==8)break;or(a+(c[b+(f+4<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function wr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;pr(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function xr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4){f=4;break}pr(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}while(1){if((f|0)==8)break;pr(a+(c[b+(f+4<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function yr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;d=d>>1;b=a+(0-d<<1)|0;e=c[b>>2]|0;b=c[b+4>>2]|0;f=a;c[f>>2]=e;c[f+4>>2]=b;f=a+(d<<1)|0;c[f>>2]=e;c[f+4>>2]=b;f=a+(d<<1<<1)|0;c[f>>2]=e;c[f+4>>2]=b;d=a+(d*3<<1)|0;c[d>>2]=e;c[d+4>>2]=b;return}function zr(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0;d=d>>1;f=OW(e[a+-2>>1]|0|0,0,65537,65537)|0;g=M()|0;b=a;c[b>>2]=f;c[b+4>>2]=g;b=OW(e[a+(d+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(d<<1)|0;c[f>>2]=b;c[f+4>>2]=g;f=d<<1;g=OW(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;b=M()|0;f=a+(f<<1)|0;c[f>>2]=g;c[f+4>>2]=b;d=d*3|0;f=OW(e[a+(d+-1<<1)>>1]|0|0,0,65537,65537)|0;b=M()|0;d=a+(d<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function Ar(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0;h=d>>1;g=h<<1;d=h*3|0;f=(e[a+(0-h<<1)>>1]|0)+4+(e[a+(1-h<<1)>>1]|0)+(e[a+(2-h<<1)>>1]|0)+(e[a+(3-h<<1)>>1]|0)+(e[a+-2>>1]|0)+(e[a+(h+-1<<1)>>1]|0)+(e[a+(g+-1<<1)>>1]|0)+(e[a+(d+-1<<1)>>1]|0)>>3;f=OW(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;b=M()|0;i=a;c[i>>2]=f;c[i+4>>2]=b;h=a+(h<<1)|0;c[h>>2]=f;c[h+4>>2]=b;g=a+(g<<1)|0;c[g>>2]=f;c[g+4>>2]=b;d=a+(d<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function Br(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;i=d>>1;g=e[a+(1-i<<1)>>1]|0;d=e[a+(2-i<<1)>>1]|0;k=e[a+(3-i<<1)>>1]|0;j=e[c>>1]|0;h=e[c+2>>1]|0;f=e[c+4>>1]|0;c=e[c+6>>1]|0;b[a>>1]=((e[a+(0-i<<1)>>1]|0)+2+d+(g<<1)|0)>>>2;g=(g+2+k+(d<<1)|0)>>>2&65535;b[a+(i<<1)>>1]=g;b[a+2>>1]=g;d=(d+2+j+(k<<1)|0)>>>2&65535;g=i<<1;b[a+(g<<1)>>1]=d;b[a+(i+1<<1)>>1]=d;b[a+4>>1]=d;k=(k+2+h+(j<<1)|0)>>>2&65535;d=i*3|0;b[a+(d<<1)>>1]=k;b[a+((g|1)<<1)>>1]=k;b[a+(i+2<<1)>>1]=k;b[a+6>>1]=k;j=(j+2+f+(h<<1)|0)>>>2&65535;b[a+(d+1<<1)>>1]=j;b[a+(g+2<<1)>>1]=j;b[a+(i+3<<1)>>1]=j;h=(h+2+c+(f<<1)|0)>>>2&65535;b[a+(d+2<<1)>>1]=h;b[a+(g+3<<1)>>1]=h;b[a+(d+3<<1)>>1]=(f+2+(c*3|0)|0)>>>2;return}function Cr(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;m=e[a+(~h<<1)>>1]|0;g=e[a+(0-h<<1)>>1]|0;f=e[a+(1-h<<1)>>1]|0;c=e[a+(2-h<<1)>>1]|0;d=e[a+(3-h<<1)>>1]|0;k=e[a+-2>>1]|0;n=e[a+(h+-1<<1)>>1]|0;j=h<<1;i=e[a+(j+-1<<1)>>1]|0;l=h*3|0;b[a+(l<<1)>>1]=(n+2+(e[a+(l+-1<<1)>>1]|0)+(i<<1)|0)>>>2;i=(k+2+i+(n<<1)|0)>>>2&65535;b[a+(l+1<<1)>>1]=i;b[a+(j<<1)>>1]=i;i=m+2|0;n=(i+n+(k<<1)|0)>>>2&65535;b[a+(l+2<<1)>>1]=n;b[a+((j|1)<<1)>>1]=n;b[a+(h<<1)>>1]=n;k=((m<<1)+2+g+k|0)>>>2&65535;b[a+(l+3<<1)>>1]=k;b[a+(j+2<<1)>>1]=k;b[a+(h+1<<1)>>1]=k;b[a>>1]=k;i=(i+(g<<1)+f|0)>>>2&65535;b[a+(j+3<<1)>>1]=i;b[a+(h+2<<1)>>1]=i;b[a+2>>1]=i;g=(g+2+(f<<1)+c|0)>>>2&65535;b[a+(h+3<<1)>>1]=g;b[a+4>>1]=g;b[a+6>>1]=(f+2+(c<<1)+d|0)>>>2;return}function Dr(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=d>>1;i=e[a+(~j<<1)>>1]|0;n=e[a+(0-j<<1)>>1]|0;m=e[a+(1-j<<1)>>1]|0;l=e[a+(2-j<<1)>>1]|0;k=e[a+(3-j<<1)>>1]|0;g=e[a+-2>>1]|0;f=e[a+(j+-1<<1)>>1]|0;h=j<<1;c=e[a+(h+-1<<1)>>1]|0;d=j*3|0;o=(i+1+n|0)>>>1&65535;b[a+((h|1)<<1)>>1]=o;b[a>>1]=o;o=(n+1+m|0)>>>1&65535;b[a+(h+2<<1)>>1]=o;b[a+2>>1]=o;o=(m+1+l|0)>>>1&65535;b[a+(h+3<<1)>>1]=o;b[a+4>>1]=o;b[a+6>>1]=(l+1+k|0)>>>1;o=((i<<1)+2+n+g|0)>>>2&65535;b[a+(d+1<<1)>>1]=o;b[a+(j<<1)>>1]=o;i=i+2|0;o=(i+(n<<1)+m|0)>>>2&65535;b[a+(d+2<<1)>>1]=o;b[a+(j+1<<1)>>1]=o;n=(n+2+(m<<1)+l|0)>>>2&65535;b[a+(d+3<<1)>>1]=n;b[a+(j+2<<1)>>1]=n;b[a+(j+3<<1)>>1]=(m+2+(l<<1)+k|0)>>>2;b[a+(h<<1)>>1]=(i+(g<<1)+f|0)>>>2;b[a+(d<<1)>>1]=(g+2+(f<<1)+c|0)>>>2;return}function Er(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=d>>1;k=e[a+(~j<<1)>>1]|0;n=e[a+(0-j<<1)>>1]|0;m=e[a+(1-j<<1)>>1]|0;l=e[a+(2-j<<1)>>1]|0;i=e[a+-2>>1]|0;g=e[a+(j+-1<<1)>>1]|0;h=j<<1;f=e[a+(h+-1<<1)>>1]|0;d=j*3|0;c=e[a+(d+-1<<1)>>1]|0;o=(k+1+i|0)>>>1&65535;b[a+(j+2<<1)>>1]=o;b[a>>1]=o;o=((k<<1)+2+n+i|0)>>>2&65535;b[a+(j+3<<1)>>1]=o;b[a+2>>1]=o;k=k+2|0;b[a+4>>1]=(k+(n<<1)+m|0)>>>2;b[a+6>>1]=(n+2+(m<<1)+l|0)>>>2;l=(i+1+g|0)>>>1&65535;b[a+(h+2<<1)>>1]=l;b[a+(j<<1)>>1]=l;k=(k+(i<<1)+g|0)>>>2&65535;b[a+(h+3<<1)>>1]=k;b[a+(j+1<<1)>>1]=k;j=(g+1+f|0)>>>1&65535;b[a+(d+2<<1)>>1]=j;b[a+(h<<1)>>1]=j;i=(i+2+(g<<1)+f|0)>>>2&65535;b[a+(d+3<<1)>>1]=i;b[a+((h|1)<<1)>>1]=i;b[a+(d<<1)>>1]=(f+1+c|0)>>>1;b[a+(d+1<<1)>>1]=(g+2+(f<<1)+c|0)>>>2;return}function Fr(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=d>>1;d=e[a+(0-h<<1)>>1]|0;k=e[a+(1-h<<1)>>1]|0;j=e[a+(2-h<<1)>>1]|0;i=e[a+(3-h<<1)>>1]|0;g=e[c>>1]|0;f=e[c+2>>1]|0;c=e[c+4>>1]|0;b[a>>1]=(d+1+k|0)>>>1;m=(k+1+j|0)>>>1&65535;l=h<<1;b[a+(l<<1)>>1]=m;b[a+2>>1]=m;m=(j+1+i|0)>>>1&65535;b[a+((l|1)<<1)>>1]=m;b[a+4>>1]=m;m=(i+1+g|0)>>>1&65535;b[a+(l+2<<1)>>1]=m;b[a+6>>1]=m;b[a+(l+3<<1)>>1]=(g+1+f|0)>>>1;b[a+(h<<1)>>1]=(d+2+(k<<1)+j|0)>>>2;k=(k+2+(j<<1)+i|0)>>>2&65535;d=h*3|0;b[a+(d<<1)>>1]=k;b[a+(h+1<<1)>>1]=k;j=(j+2+(i<<1)+g|0)>>>2&65535;b[a+(d+1<<1)>>1]=j;b[a+(h+2<<1)>>1]=j;i=(i+2+(g<<1)+f|0)>>>2&65535;b[a+(d+2<<1)>>1]=i;b[a+(h+3<<1)>>1]=i;b[a+(d+3<<1)>>1]=(g+2+(f<<1)+c|0)>>>2;return}function Gr(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;g=d>>1;k=e[a+-2>>1]|0;j=e[a+(g+-1<<1)>>1]|0;d=g<<1;i=e[a+(d+-1<<1)>>1]|0;f=g*3|0;c=b[a+(f+-1<<1)>>1]|0;h=c&65535;b[a>>1]=(k+1+j|0)>>>1;b[a+2>>1]=(k+2+(j<<1)+i|0)>>>2;k=(j+1+i|0)>>>1&65535;b[a+(g<<1)>>1]=k;b[a+4>>1]=k;j=(j+2+(i<<1)+h|0)>>>2&65535;b[a+(g+1<<1)>>1]=j;b[a+6>>1]=j;j=(i+1+h|0)>>>1&65535;b[a+(d<<1)>>1]=j;b[a+(g+2<<1)>>1]=j;h=(i+2+h+(h<<1)|0)>>>2&65535;b[a+((d|1)<<1)>>1]=h;b[a+(g+3<<1)>>1]=h;b[a+(f+3<<1)>>1]=c;b[a+(f+2<<1)>>1]=c;b[a+(d+2<<1)>>1]=c;b[a+(f<<1)>>1]=c;b[a+(f+1<<1)>>1]=c;b[a+(d+3<<1)>>1]=c;return}function Hr(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0;h=d>>1;g=h<<1;d=h*3|0;f=OW(((e[a+-2>>1]|0)+2+(e[a+(h+-1<<1)>>1]|0)+(e[a+(g+-1<<1)>>1]|0)+(e[a+(d+-1<<1)>>1]|0)|0)>>>2|0,0,65537,65537)|0;b=M()|0;i=a;c[i>>2]=f;c[i+4>>2]=b;h=a+(h<<1)|0;c[h>>2]=f;c[h+4>>2]=b;g=a+(g<<1)|0;c[g>>2]=f;c[g+4>>2]=b;d=a+(d<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function Ir(a,b,d){a=a|0;b=b|0;d=d|0;d=d>>1;b=a;c[b>>2]=536813567;c[b+4>>2]=536813567;b=a+(d<<1)|0;c[b>>2]=536813567;c[b+4>>2]=536813567;b=a+(d<<1<<1)|0;c[b>>2]=536813567;c[b+4>>2]=536813567;d=a+(d*3<<1)|0;c[d>>2]=536813567;c[d+4>>2]=536813567;return}function Jr(a,b,d){a=a|0;b=b|0;d=d|0;d=d>>1;b=a;c[b>>2]=536944641;c[b+4>>2]=536944641;b=a+(d<<1)|0;c[b>>2]=536944641;c[b+4>>2]=536944641;b=a+(d<<1<<1)|0;c[b>>2]=536944641;c[b+4>>2]=536944641;d=a+(d*3<<1)|0;c[d>>2]=536944641;c[d+4>>2]=536944641;return}function Kr(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0;d=d>>1;f=OW(((e[a+(0-d<<1)>>1]|0)+2+(e[a+(1-d<<1)>>1]|0)+(e[a+(2-d<<1)>>1]|0)+(e[a+(3-d<<1)>>1]|0)|0)>>>2|0,0,65537,65537)|0;b=M()|0;g=a;c[g>>2]=f;c[g+4>>2]=b;g=a+(d<<1)|0;c[g>>2]=f;c[g+4>>2]=b;g=a+(d<<1<<1)|0;c[g>>2]=f;c[g+4>>2]=b;d=a+(d*3<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function Lr(a,b,d){a=a|0;b=b|0;d=d|0;d=d>>1;b=a;c[b>>2]=536879104;c[b+4>>2]=536879104;b=a+(d<<1)|0;c[b>>2]=536879104;c[b+4>>2]=536879104;b=a+(d<<1<<1)|0;c[b>>2]=536879104;c[b+4>>2]=536879104;d=a+(d*3<<1)|0;c[d>>2]=536879104;c[d+4>>2]=536879104;return}function Mr(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=g>>1;o=e[a+(0-j<<1)>>1]|0;n=e[a+(1-j<<1)>>1]|0;i=e[a+(2-j<<1)>>1]|0;m=e[a+(3-j<<1)>>1]|0;l=e[a+(4-j<<1)>>1]|0;k=e[a+(5-j<<1)>>1]|0;g=e[a+(6-j<<1)>>1]|0;h=e[a+(7-j<<1)>>1]|0;f=(g+2+(e[a+((f|0?8:7)-j<<1)>>1]|0)+(h<<1)|0)>>>2;b[a>>1]=((e[a+((((d|0)!=0)<<31>>31)-j<<1)>>1]|0)+2+(o<<1)+n|0)>>>2;b[a+2>>1]=(o+2+(n<<1)+i|0)>>>2;b[a+4>>1]=(n+2+(i<<1)+m|0)>>>2;b[a+6>>1]=(i+2+(m<<1)+l|0)>>>2;i=a+8|0;b[i>>1]=(m+2+(l<<1)+k|0)>>>2;b[a+10>>1]=(l+2+(k<<1)+g|0)>>>2;b[a+12>>1]=(k+2+(g<<1)+h|0)>>>2;b[a+14>>1]=f;f=a;d=c[f>>2]|0;f=c[f+4>>2]|0;h=c[i>>2]|0;i=c[i+4>>2]|0;g=1;while(1){if((g|0)==8)break;o=a+((H(g,j)|0)<<1)|0;n=o;c[n>>2]=d;c[n+4>>2]=f;o=o+8|0;c[o>>2]=h;c[o+4>>2]=i;g=g+1|0}return}function Nr(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;p=f>>1;u=e[a+((H(p,((b|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;s=e[a+-2>>1]|0;q=e[a+(p+-1<<1)>>1]|0;n=p<<1;o=e[a+(n+-1<<1)>>1]|0;l=p*3|0;m=e[a+(l+-1<<1)>>1]|0;j=p<<2;k=e[a+(j+-1<<1)>>1]|0;h=p*5|0;i=e[a+(h+-1<<1)>>1]|0;g=p*6|0;d=e[a+(g+-1<<1)>>1]|0;f=p*7|0;b=e[a+(f+-1<<1)>>1]|0;u=OW((u+2+(s<<1)+q|0)>>>2|0,0,65537,65537)|0;t=M()|0;r=a;c[r>>2]=u;c[r+4>>2]=t;r=a+8|0;c[r>>2]=u;c[r+4>>2]=t;s=OW((s+2+(q<<1)+o|0)>>>2|0,0,65537,65537)|0;r=M()|0;p=a+(p<<1)|0;t=p;c[t>>2]=s;c[t+4>>2]=r;p=p+8|0;c[p>>2]=s;c[p+4>>2]=r;q=OW((q+2+(o<<1)+m|0)>>>2|0,0,65537,65537)|0;p=M()|0;n=a+(n<<1)|0;r=n;c[r>>2]=q;c[r+4>>2]=p;n=n+8|0;c[n>>2]=q;c[n+4>>2]=p;o=OW((o+2+(m<<1)+k|0)>>>2|0,0,65537,65537)|0;n=M()|0;l=a+(l<<1)|0;p=l;c[p>>2]=o;c[p+4>>2]=n;l=l+8|0;c[l>>2]=o;c[l+4>>2]=n;m=OW((m+2+(k<<1)+i|0)>>>2|0,0,65537,65537)|0;l=M()|0;j=a+(j<<1)|0;n=j;c[n>>2]=m;c[n+4>>2]=l;j=j+8|0;c[j>>2]=m;c[j+4>>2]=l;k=OW((k+2+(i<<1)+d|0)>>>2|0,0,65537,65537)|0;j=M()|0;h=a+(h<<1)|0;l=h;c[l>>2]=k;c[l+4>>2]=j;h=h+8|0;c[h>>2]=k;c[h+4>>2]=j;i=OW((i+2+(d<<1)+b|0)>>>2|0,0,65537,65537)|0;h=M()|0;g=a+(g<<1)|0;j=g;c[j>>2]=i;c[j+4>>2]=h;g=g+8|0;c[g>>2]=i;c[g+4>>2]=h;b=OW((d+2+(b*3|0)|0)>>>2|0,0,65537,65537)|0;d=M()|0;f=a+(f<<1)|0;a=f;c[a>>2]=b;c[a+4>>2]=d;f=f+8|0;c[f>>2]=b;c[f+4>>2]=d;return}function Or(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;h=f>>1;n=((b|0)!=0)<<31>>31;w=e[a+((H(h,n)|0)+-1<<1)>>1]|0;v=e[a+-2>>1]|0;u=e[a+(h+-1<<1)>>1]|0;t=e[a+((h<<1)+-1<<1)>>1]|0;s=e[a+((h*3|0)+-1<<1)>>1]|0;r=e[a+((h<<2)+-1<<1)>>1]|0;q=e[a+((h*5|0)+-1<<1)>>1]|0;p=e[a+((h*6|0)+-1<<1)>>1]|0;o=e[a+((h*7|0)+-1<<1)>>1]|0;m=e[a+(0-h<<1)>>1]|0;l=e[a+(1-h<<1)>>1]|0;k=e[a+(2-h<<1)>>1]|0;j=e[a+(3-h<<1)>>1]|0;i=e[a+(4-h<<1)>>1]|0;f=e[a+(5-h<<1)>>1]|0;b=e[a+(6-h<<1)>>1]|0;g=e[a+(7-h<<1)>>1]|0;d=((w+2+(v<<1)+u|0)>>>2)+8+((v+2+(u<<1)+t|0)>>>2)+((u+2+(t<<1)+s|0)>>>2)+((t+2+(s<<1)+r|0)>>>2)+((s+2+(r<<1)+q|0)>>>2)+((r+2+(q<<1)+p|0)>>>2)+((q+2+(p<<1)+o|0)>>>2)+((p+2+(o*3|0)|0)>>>2)+(((e[a+(n-h<<1)>>1]|0)+2+(m<<1)+l|0)>>>2)+((m+2+(l<<1)+k|0)>>>2)+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+f|0)>>>2)+((i+2+(f<<1)+b|0)>>>2)+((f+2+(b<<1)+g|0)>>>2)+((b+2+(e[a+((d|0?8:7)-h<<1)>>1]|0)+(g<<1)|0)>>>2)>>4;d=OW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=0;f=a;while(1){if((b|0)==8)break;w=f;c[w>>2]=d;c[w+4>>2]=g;w=f+8|0;c[w>>2]=d;c[w+4>>2]=g;b=b+1|0;f=f+(h<<1)|0}return}function Pr(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;q=f>>1;n=e[a+(0-q<<1)>>1]|0;o=e[a+(1-q<<1)>>1]|0;s=e[a+(2-q<<1)>>1]|0;p=(n+2+(o<<1)+s|0)>>>2;t=e[a+(3-q<<1)>>1]|0;r=(o+2+(s<<1)+t|0)>>>2;u=e[a+(4-q<<1)>>1]|0;s=(s+2+(t<<1)+u|0)>>>2;v=e[a+(5-q<<1)>>1]|0;t=(t+2+(u<<1)+v|0)>>>2;m=e[a+(6-q<<1)>>1]|0;u=(u+2+(v<<1)+m|0)>>>2;f=e[a+(7-q<<1)>>1]|0;v=(v+2+(m<<1)+f|0)>>>2;l=(d|0)!=0;m=(m+2+(e[a+((l?8:7)-q<<1)>>1]|0)+(f<<1)|0)>>>2;if(l){x=e[a+(8-q<<1)>>1]|0;w=e[a+(9-q<<1)>>1]|0;l=e[a+(10-q<<1)>>1]|0;k=e[a+(11-q<<1)>>1]|0;j=e[a+(12-q<<1)>>1]|0;i=e[a+(13-q<<1)>>1]|0;h=e[a+(14-q<<1)>>1]|0;g=e[a+(15-q<<1)>>1]|0;d=(h+2+(g*3|0)|0)>>>2;g=(i+2+(h<<1)+g|0)>>>2;h=(j+2+(i<<1)+h|0)>>>2;i=(k+2+(j<<1)+i|0)>>>2;j=(l+2+(k<<1)+j|0)>>>2;k=(w+2+(l<<1)+k|0)>>>2;l=(x+2+(w<<1)+l|0)>>>2;f=(f+2+(x<<1)+w|0)>>>2}else{d=f;g=f;h=f;i=f;j=f;k=f;l=f}b[a>>1]=((((e[a+((((c|0)!=0)<<31>>31)-q<<1)>>1]|0)+2+(n<<1)+o|0)>>>2)+2+(p<<1)+r|0)>>>2;w=(p+2+(r<<1)+s|0)>>>2&65535;b[a+2>>1]=w;b[a+(q<<1)>>1]=w;w=(r+2+(s<<1)+t|0)>>>2&65535;b[a+4>>1]=w;b[a+(q+1<<1)>>1]=w;r=q<<1;b[a+(r<<1)>>1]=w;w=(s+2+(t<<1)+u|0)>>>2&65535;b[a+6>>1]=w;b[a+(q+2<<1)>>1]=w;b[a+((r|1)<<1)>>1]=w;s=q*3|0;b[a+(s<<1)>>1]=w;w=(t+2+(u<<1)+v|0)>>>2&65535;b[a+8>>1]=w;b[a+(q+3<<1)>>1]=w;b[a+(r+2<<1)>>1]=w;b[a+(s+1<<1)>>1]=w;t=q<<2;b[a+(t<<1)>>1]=w;w=(u+2+(v<<1)+m|0)>>>2&65535;b[a+10>>1]=w;b[a+(q+4<<1)>>1]=w;b[a+(r+3<<1)>>1]=w;b[a+(s+2<<1)>>1]=w;b[a+((t|1)<<1)>>1]=w;u=q*5|0;b[a+(u<<1)>>1]=w;w=(v+2+(m<<1)+f|0)>>>2&65535;b[a+12>>1]=w;b[a+(q+5<<1)>>1]=w;b[a+(r+4<<1)>>1]=w;b[a+(s+3<<1)>>1]=w;b[a+((t|2)<<1)>>1]=w;b[a+(u+1<<1)>>1]=w;c=q*6|0;b[a+(c<<1)>>1]=w;w=(m+2+(f<<1)+l|0)>>>2&65535;b[a+14>>1]=w;b[a+(q+6<<1)>>1]=w;b[a+(r+5<<1)>>1]=w;b[a+(s+4<<1)>>1]=w;b[a+((t|3)<<1)>>1]=w;b[a+(u+2<<1)>>1]=w;b[a+((c|1)<<1)>>1]=w;x=q*7|0;b[a+(x<<1)>>1]=w;w=(f+2+(l<<1)+k|0)>>>2&65535;b[a+(q+7<<1)>>1]=w;b[a+(r+6<<1)>>1]=w;b[a+(s+5<<1)>>1]=w;b[a+(t+4<<1)>>1]=w;b[a+(u+3<<1)>>1]=w;b[a+(c+2<<1)>>1]=w;b[a+(x+1<<1)>>1]=w;w=(l+2+(k<<1)+j|0)>>>2&65535;b[a+(r+7<<1)>>1]=w;b[a+(s+6<<1)>>1]=w;b[a+(t+5<<1)>>1]=w;b[a+(u+4<<1)>>1]=w;b[a+(c+3<<1)>>1]=w;b[a+(x+2<<1)>>1]=w;w=(k+2+(j<<1)+i|0)>>>2&65535;b[a+(s+7<<1)>>1]=w;b[a+(t+6<<1)>>1]=w;b[a+(u+5<<1)>>1]=w;b[a+(c+4<<1)>>1]=w;b[a+(x+3<<1)>>1]=w;w=(j+2+(i<<1)+h|0)>>>2&65535;b[a+(t+7<<1)>>1]=w;b[a+(u+6<<1)>>1]=w;b[a+(c+5<<1)>>1]=w;b[a+(x+4<<1)>>1]=w;w=(i+2+(h<<1)+g|0)>>>2&65535;b[a+(u+7<<1)>>1]=w;b[a+(c+6<<1)>>1]=w;b[a+(x+5<<1)>>1]=w;w=(h+2+(g<<1)+d|0)>>>2&65535;b[a+(c+7<<1)>>1]=w;b[a+(x+6<<1)>>1]=w;b[a+(x+7<<1)>>1]=(g+2+(d*3|0)|0)>>>2;return}function Qr(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;h=f>>1;t=((c|0)!=0)<<31>>31;C=e[a+(0-h<<1)>>1]|0;m=e[a+(1-h<<1)>>1]|0;s=((e[a+(t-h<<1)>>1]|0)+2+(C<<1)+m|0)>>>2;k=e[a+(2-h<<1)>>1]|0;C=C+2|0;o=(C+(m<<1)+k|0)>>>2;i=e[a+(3-h<<1)>>1]|0;m=(m+2+(k<<1)+i|0)>>>2;g=e[a+(4-h<<1)>>1]|0;k=(k+2+(i<<1)+g|0)>>>2;c=e[a+(5-h<<1)>>1]|0;i=(i+2+(g<<1)+c|0)>>>2;q=e[a+(6-h<<1)>>1]|0;g=(g+2+(c<<1)+q|0)>>>2;f=e[a+(7-h<<1)>>1]|0;c=(c+2+(q<<1)+f|0)>>>2;f=(q+2+(e[a+((d|0?8:7)-h<<1)>>1]|0)+(f<<1)|0)>>>2;t=e[a+((H(h,t)|0)+-1<<1)>>1]|0;q=e[a+-2>>1]|0;v=e[a+(h+-1<<1)>>1]|0;t=(t+2+(q<<1)+v|0)>>>2;j=h<<1;w=e[a+(j+-1<<1)>>1]|0;d=(q+2+(v<<1)+w|0)>>>2;l=h*3|0;x=e[a+(l+-1<<1)>>1]|0;v=(v+2+(w<<1)+x|0)>>>2;n=h<<2;y=e[a+(n+-1<<1)>>1]|0;w=(w+2+(x<<1)+y|0)>>>2;p=h*5|0;z=e[a+(p+-1<<1)>>1]|0;x=(x+2+(y<<1)+z|0)>>>2;r=h*6|0;B=e[a+(r+-1<<1)>>1]|0;y=(y+2+(z<<1)+B|0)>>>2;u=h*7|0;A=e[a+(u+-1<<1)>>1]|0;z=(z+2+(B<<1)+A|0)>>>2;q=(C+q+((e[a+(~h<<1)>>1]|0)<<1)|0)>>>2;b[a+(u<<1)>>1]=(y+2+((B+2+(A*3|0)|0)>>>2)+(z<<1)|0)>>>2;z=(x+2+(y<<1)+z|0)>>>2&65535;b[a+(u+1<<1)>>1]=z;b[a+(r<<1)>>1]=z;y=(w+2+(x<<1)+y|0)>>>2&65535;b[a+(u+2<<1)>>1]=y;b[a+((r|1)<<1)>>1]=y;b[a+(p<<1)>>1]=y;x=(v+2+(w<<1)+x|0)>>>2&65535;b[a+(u+3<<1)>>1]=x;b[a+(r+2<<1)>>1]=x;b[a+(p+1<<1)>>1]=x;b[a+(n<<1)>>1]=x;w=(d+2+(v<<1)+w|0)>>>2&65535;b[a+(u+4<<1)>>1]=w;b[a+(r+3<<1)>>1]=w;b[a+(p+2<<1)>>1]=w;b[a+((n|1)<<1)>>1]=w;b[a+(l<<1)>>1]=w;v=(t+2+(d<<1)+v|0)>>>2&65535;b[a+(u+5<<1)>>1]=v;b[a+(r+4<<1)>>1]=v;b[a+(p+3<<1)>>1]=v;b[a+((n|2)<<1)>>1]=v;b[a+(l+1<<1)>>1]=v;b[a+(j<<1)>>1]=v;d=((t<<1)+2+d+q|0)>>>2&65535;b[a+(u+6<<1)>>1]=d;b[a+(r+5<<1)>>1]=d;b[a+(p+4<<1)>>1]=d;b[a+((n|3)<<1)>>1]=d;b[a+(l+2<<1)>>1]=d;b[a+((j|1)<<1)>>1]=d;b[a+(h<<1)>>1]=d;d=s+2|0;t=(d+t+(q<<1)|0)>>>2&65535;b[a+(u+7<<1)>>1]=t;b[a+(r+6<<1)>>1]=t;b[a+(p+5<<1)>>1]=t;b[a+(n+4<<1)>>1]=t;b[a+(l+3<<1)>>1]=t;b[a+(j+2<<1)>>1]=t;b[a+(h+1<<1)>>1]=t;b[a>>1]=t;q=((s<<1)+2+o+q|0)>>>2&65535;b[a+(r+7<<1)>>1]=q;b[a+(p+6<<1)>>1]=q;b[a+(n+5<<1)>>1]=q;b[a+(l+4<<1)>>1]=q;b[a+(j+3<<1)>>1]=q;b[a+(h+2<<1)>>1]=q;b[a+2>>1]=q;d=(d+(o<<1)+m|0)>>>2&65535;b[a+(p+7<<1)>>1]=d;b[a+(n+6<<1)>>1]=d;b[a+(l+5<<1)>>1]=d;b[a+(j+4<<1)>>1]=d;b[a+(h+3<<1)>>1]=d;b[a+4>>1]=d;d=(o+2+(m<<1)+k|0)>>>2&65535;b[a+(n+7<<1)>>1]=d;b[a+(l+6<<1)>>1]=d;b[a+(j+5<<1)>>1]=d;b[a+(h+4<<1)>>1]=d;b[a+6>>1]=d;d=(m+2+(k<<1)+i|0)>>>2&65535;b[a+(l+7<<1)>>1]=d;b[a+(j+6<<1)>>1]=d;b[a+(h+5<<1)>>1]=d;b[a+8>>1]=d;d=(k+2+(i<<1)+g|0)>>>2&65535;b[a+(j+7<<1)>>1]=d;b[a+(h+6<<1)>>1]=d;b[a+10>>1]=d;d=(i+2+(g<<1)+c|0)>>>2&65535;b[a+(h+7<<1)>>1]=d;b[a+12>>1]=d;b[a+14>>1]=(g+2+(c<<1)+f|0)>>>2;return} -function WD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+80|0;if(($c|0)>=(ad|0))N(80);g=d+32|0;f=d+16|0;e=d;PE(f,b,4,c);QE(g,b+(0-(c<<1))+1|0,c);RE(e,g+8|0,4);SE(a,f,e,c,4);$c=d;return}function XD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+64|0;f=d+32|0;e=d;KE(f,b,8,c);LE(g,b+(0-(c<<1))+2|0,c);ME(e,g+16|0,8);NE(a,f,e,c,8);$c=d;return}function YD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+80|0;if(($c|0)>=(ad|0))N(80);e=d;bF(e,b+(0-(c<<1))|0,c);sF(a,e+16|0,c);$c=d;return}function ZD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+80|0;if(($c|0)>=(ad|0))N(80);e=d;ZE(e,b+(0-(c<<1))|0,c);rF(a,e+16|0,c);$c=d;return}function _D(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+80|0;if(($c|0)>=(ad|0))N(80);e=d;VE(e,b+(0-(c<<1))|0,c);qF(a,e+16|0,c);$c=d;return}function $D(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);e=d;QE(e,b+(0-(c<<1))|0,c);pF(a,e+8|0,c);$c=d;return}function aE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+80|0;if(($c|0)>=(ad|0))N(80);e=d;LE(e,b+(0-(c<<1))|0,c);oF(a,e+16|0,c);$c=d;return}function bE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+432|0;if(($c|0)>=(ad|0))N(432);g=d+352|0;f=d+320|0;e=d+288|0;bF(g,b+(0-(c<<1))|0,c);cF(f,g+16|0,8);iF(e,d,b,8,c);dF(a,f,e,c,8);$c=d;return}function cE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+432|0;if(($c|0)>=(ad|0))N(432);g=d+352|0;f=d+320|0;e=d+288|0;ZE(g,b+(0-(c<<1))|0,c);_E(f,g+16|0,8);hF(e,d,b,8,c);$E(a,f,e,c,8);$c=d;return}function dE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+288|0;if(($c|0)>=(ad|0))N(288);g=d+208|0;f=d+176|0;e=d+144|0;VE(g,b+(0-(c<<1))|0,c);WE(f,g+16|0,8);gF(e,d,b,8,c);XE(a,f,e,c,8);$c=d;return}function eE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+104|0;f=d+88|0;e=d+72|0;QE(g,b+(0-(c<<1))|0,c);RE(f,g+8|0,4);fF(e,d,b,4,c);SE(a,f,e,c,4);$c=d;return}function fE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+288|0;if(($c|0)>=(ad|0))N(288);g=d+208|0;f=d+176|0;e=d+144|0;LE(g,b+(0-(c<<1))|0,c);ME(f,g+16|0,8);eF(e,d,b,8,c);NE(a,f,e,c,8);$c=d;return}function gE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+288|0;if(($c|0)>=(ad|0))N(288);nF(a,d,b,c,c);$c=d;return}function hE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+288|0;if(($c|0)>=(ad|0))N(288);mF(a,d,b,c,c);$c=d;return}function iE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);lF(a,d,b,c,c);$c=d;return}function jE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+80|0;if(($c|0)>=(ad|0))N(80);kF(a,d,b,c,c);$c=d;return}function kE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);jF(a,d,b,c,c);$c=d;return}function lE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+432|0;if(($c|0)>=(ad|0))N(432);g=d+352|0;f=d+320|0;e=d+288|0;bF(g,b+(0-(c<<1))+2|0,c);cF(f,g+16|0,8);iF(e,d,b,8,c);dF(a,f,e,c,8);$c=d;return}function mE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+432|0;if(($c|0)>=(ad|0))N(432);g=d+352|0;f=d+320|0;e=d+288|0;ZE(g,b+(0-(c<<1))+2|0,c);_E(f,g+16|0,8);hF(e,d,b,8,c);$E(a,f,e,c,8);$c=d;return}function nE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+288|0;if(($c|0)>=(ad|0))N(288);g=d+208|0;f=d+176|0;e=d+144|0;VE(g,b+(0-(c<<1))+2|0,c);WE(f,g+16|0,8);gF(e,d,b,8,c);XE(a,f,e,c,8);$c=d;return}function oE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+104|0;f=d+88|0;e=d+72|0;QE(g,b+(0-(c<<1))+1|0,c);RE(f,g+8|0,4);fF(e,d,b,4,c);SE(a,f,e,c,4);$c=d;return}function pE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+288|0;if(($c|0)>=(ad|0))N(288);g=d+208|0;f=d+176|0;e=d+144|0;LE(g,b+(0-(c<<1))+2|0,c);ME(f,g+16|0,8);eF(e,d,b,8,c);NE(a,f,e,c,8);$c=d;return}function qE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+112|0;if(($c|0)>=(ad|0))N(112);f=d+32|0;e=d;bF(f,b+(0-(c<<1))|0,c);cF(e,f+16|0,8);dF(a,f+24|0,e,c,8);$c=d;return}function rE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+112|0;if(($c|0)>=(ad|0))N(112);f=d+32|0;e=d;ZE(f,b+(0-(c<<1))|0,c);_E(e,f+16|0,8);$E(a,f+24|0,e,c,8);$c=d;return}function sE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+112|0;if(($c|0)>=(ad|0))N(112);f=d+32|0;e=d;VE(f,b+(0-(c<<1))|0,c);WE(e,f+16|0,8);XE(a,f+24|0,e,c,8);$c=d;return}function tE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+64|0;if(($c|0)>=(ad|0))N(64);f=d+16|0;e=d;QE(f,b+(0-(c<<1))|0,c);RE(e,f+8|0,4);SE(a,f+12|0,e,c,4);$c=d;return}function uE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+112|0;if(($c|0)>=(ad|0))N(112);f=d+32|0;e=d;LE(f,b+(0-(c<<1))|0,c);ME(e,f+16|0,8);NE(a,f+24|0,e,c,8);$c=d;return}function vE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+64|0;f=d+32|0;e=d;aF(f,b+c|0,8,c);bF(g,b+(0-(c<<1))|0,c);cF(e,g+16|0,8);dF(a,f,e,c,8);$c=d;return}function wE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+64|0;f=d+32|0;e=d;YE(f,b+c|0,8,c);ZE(g,b+(0-(c<<1))|0,c);_E(e,g+16|0,8);$E(a,f,e,c,8);$c=d;return}function xE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+64|0;f=d+32|0;e=d;UE(f,b+c|0,8,c);VE(g,b+(0-(c<<1))|0,c);WE(e,g+16|0,8);XE(a,f,e,c,8);$c=d;return}function yE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+80|0;if(($c|0)>=(ad|0))N(80);g=d+32|0;f=d+16|0;e=d;PE(f,b+c|0,4,c);QE(g,b+(0-(c<<1))|0,c);RE(e,g+8|0,4);SE(a,f,e,c,4);$c=d;return}function zE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+64|0;f=d+32|0;e=d;KE(f,b+c|0,8,c);LE(g,b+(0-(c<<1))|0,c);ME(e,g+16|0,8);NE(a,f,e,c,8);$c=d;return}function AE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+352|0;if(($c|0)>=(ad|0))N(352);f=d+320|0;e=d+288|0;aF(f,b+c|0,8,c);iF(e,d,b,8,c);dF(a,f,e,c,8);$c=d;return}function BE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+352|0;if(($c|0)>=(ad|0))N(352);f=d+320|0;e=d+288|0;YE(f,b+c|0,8,c);hF(e,d,b,8,c);$E(a,f,e,c,8);$c=d;return}function CE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+208|0;if(($c|0)>=(ad|0))N(208);f=d+176|0;e=d+144|0;UE(f,b+c|0,8,c);gF(e,d,b,8,c);XE(a,f,e,c,8);$c=d;return}function DE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+112|0;if(($c|0)>=(ad|0))N(112);f=d+88|0;e=d+72|0;PE(f,b+c|0,4,c);fF(e,d,b,4,c);SE(a,f,e,c,4);$c=d;return}function EE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+208|0;if(($c|0)>=(ad|0))N(208);f=d+176|0;e=d+144|0;KE(f,b+c|0,8,c);eF(e,d,b,8,c);NE(a,f,e,c,8);$c=d;return}function FE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+64|0;f=d+32|0;e=d;aF(f,b+c|0,8,c);bF(g,b+(0-(c<<1))+2|0,c);cF(e,g+16|0,8);dF(a,f,e,c,8);$c=d;return}function GE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+64|0;f=d+32|0;e=d;YE(f,b+c|0,8,c);ZE(g,b+(0-(c<<1))+2|0,c);_E(e,g+16|0,8);$E(a,f,e,c,8);$c=d;return}function HE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+64|0;f=d+32|0;e=d;UE(f,b+c|0,8,c);VE(g,b+(0-(c<<1))+2|0,c);WE(e,g+16|0,8);XE(a,f,e,c,8);$c=d;return}function IE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+80|0;if(($c|0)>=(ad|0))N(80);g=d+32|0;f=d+16|0;e=d;PE(f,b+c|0,4,c);QE(g,b+(0-(c<<1))+1|0,c);RE(e,g+8|0,4);SE(a,f,e,c,4);$c=d;return}function JE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+64|0;f=d+32|0;e=d;KE(f,b+c|0,8,c);LE(g,b+(0-(c<<1))+2|0,c);ME(e,g+16|0,8);NE(a,f,e,c,8);$c=d;return}function KE(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==4)break;i=c+2|0;l=c+-2|0;a=c+4|0;m=H((e[a>>1]|0)+(e[l>>1]|0)|0,-5)|0;j=c+6|0;m=(((e[i>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+m+(e[j>>1]|0)>>5;b[d>>1]=m>>>0<512?m:0-m>>31&511;m=H((e[j>>1]|0)+(e[c>>1]|0)|0,-5)|0;k=c+8|0;m=(((e[a>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+m+(e[k>>1]|0)>>5;b[d+2>>1]=m>>>0<512?m:0-m>>31&511;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+10|0;m=(((e[j>>1]|0)+(e[a>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+m+(e[l>>1]|0)>>5;b[d+4>>1]=m>>>0<512?m:0-m>>31&511;a=H((e[l>>1]|0)+(e[a>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+12>>1]|0)>>5;b[d+6>>1]=a>>>0<512?a:0-a>>31&511;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function LE(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==9)break;h=c;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;c=c+e|0;b=b+8|0}return}function ME(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=d>>1;h=g<<1;i=g*3|0;f=0;d=c;while(1){if((f|0)==4)break;p=e[d+-8>>1]|0;o=e[d>>1]|0;n=e[d+8>>1]|0;c=e[d+16>>1]|0;k=e[d+24>>1]|0;l=e[d+32>>1]|0;j=e[d+40>>1]|0;m=e[d+48>>1]|0;q=(e[d+-16>>1]|0)+16+k+((n+o|0)*20|0)+(H(c+p|0,-5)|0)>>5;b[a>>1]=q>>>0<512?q:0-q>>31&511;p=p+16+l+((c+n|0)*20|0)+(H(k+o|0,-5)|0)>>5;b[a+(g<<1)>>1]=p>>>0<512?p:0-p>>31&511;o=o+16+j+((k+c|0)*20|0)+(H(l+n|0,-5)|0)>>5;b[a+(h<<1)>>1]=o>>>0<512?o:0-o>>31&511;c=n+16+m+((l+k|0)*20|0)+(H(j+c|0,-5)|0)>>5;b[a+(i<<1)>>1]=c>>>0<512?c:0-c>>31&511;f=f+1|0;a=a+2|0;d=d+2|0}return}function NE(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=0;while(1){if((h|0)==4)break;n=b+(H(h,g)|0)|0;o=n;n=n+4|0;k=e+(h<<3)|0;m=k;k=k+4|0;i=a+(H(h,f)|0)|0;j=i;l=c[j>>2]|0;j=c[j+4>>2]|0;k=OE(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24)|0;k=OE(l,j,k,M()|0)|0;j=M()|0;c[i>>2]=k;c[i+4>>2]=j;h=h+1|0}return}function OE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=SW(c^a|0,d^b|0,1)|0;d=JW(c|a|0,d|b|0,e&2147450879|0,(M()|0)&2147450879|0)|0;L(M()|0);return d|0}function PE(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=0;while(1){if((g|0)==4)break;i=c+1|0;l=c+-1|0;h=c+2|0;m=H((d[h>>0]|0)+(d[l>>0]|0)|0,-5)|0;j=c+3|0;m=(((d[i>>0]|0)+(d[c>>0]|0)|0)*20|0)+16+(d[c+-2>>0]|0)+m+(d[j>>0]|0)>>5;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=H((d[j>>0]|0)+(d[c>>0]|0)|0,-5)|0;k=c+4|0;m=(((d[h>>0]|0)+(d[i>>0]|0)|0)*20|0)+16+(d[l>>0]|0)+m+(d[k>>0]|0)>>5;a[b+1>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=H((d[k>>0]|0)+(d[i>>0]|0)|0,-5)|0;l=c+5|0;m=(((d[j>>0]|0)+(d[h>>0]|0)|0)*20|0)+16+(d[c>>0]|0)+m+(d[l>>0]|0)>>5;a[b+2>>0]=m>>>0>255?(m^-2147483648)>>31:m;h=H((d[l>>0]|0)+(d[h>>0]|0)|0,-5)|0;h=(((d[k>>0]|0)+(d[j>>0]|0)|0)*20|0)+16+(d[i>>0]|0)+h+(d[c+6>>0]|0)>>5;a[b+3>>0]=h>>>0>255?(h^-2147483648)>>31:h;c=c+f|0;b=b+e|0;g=g+1|0}return}function QE(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;f=0;while(1){if((f|0)==9)break;g=d[c>>0]|d[c+1>>0]<<8|d[c+2>>0]<<16|d[c+3>>0]<<24;a[b>>0]=g;a[b+1>>0]=g>>8;a[b+2>>0]=g>>16;a[b+3>>0]=g>>24;f=f+1|0;c=c+e|0;b=b+4|0}return}function RE(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=e<<1;h=e*3|0;f=0;while(1){if((f|0)==4)break;p=d[c+-4>>0]|0;o=d[c>>0]|0;n=d[c+4>>0]|0;i=d[c+8>>0]|0;k=d[c+12>>0]|0;l=d[c+16>>0]|0;j=d[c+20>>0]|0;m=d[c+24>>0]|0;q=(d[c+-8>>0]|0)+16+k+((n+o|0)*20|0)+(H(i+p|0,-5)|0)>>5;a[b>>0]=q>>>0>255?(q^-2147483648)>>31:q;p=p+16+l+((i+n|0)*20|0)+(H(k+o|0,-5)|0)>>5;a[b+e>>0]=p>>>0>255?(p^-2147483648)>>31:p;o=o+16+j+((k+i|0)*20|0)+(H(l+n|0,-5)|0)>>5;a[b+g>>0]=o>>>0>255?(o^-2147483648)>>31:o;i=n+16+m+((l+k|0)*20|0)+(H(j+i|0,-5)|0)>>5;a[b+h>>0]=i>>>0>255?(i^-2147483648)>>31:i;f=f+1|0;b=b+1|0;c=c+1|0}return}function SE(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=0;while(1){if((h|0)==4)break;k=b+(H(h,g)|0)|0;j=e+(h<<2)|0;i=a+(H(h,f)|0)|0;l=c[i>>2]|0;c[i>>2]=TE(l,TE(d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)|0)|0;h=h+1|0}return}function TE(a,b){a=a|0;b=b|0;return (b|a)-((b^a)>>>1&2139062143)|0}function UE(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==4)break;i=c+2|0;l=c+-2|0;a=c+4|0;m=H((e[a>>1]|0)+(e[l>>1]|0)|0,-5)|0;j=c+6|0;m=(((e[i>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+m+(e[j>>1]|0)>>5;b[d>>1]=m>>>0<1024?m:0-m>>31&1023;m=H((e[j>>1]|0)+(e[c>>1]|0)|0,-5)|0;k=c+8|0;m=(((e[a>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+m+(e[k>>1]|0)>>5;b[d+2>>1]=m>>>0<1024?m:0-m>>31&1023;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+10|0;m=(((e[j>>1]|0)+(e[a>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+m+(e[l>>1]|0)>>5;b[d+4>>1]=m>>>0<1024?m:0-m>>31&1023;a=H((e[l>>1]|0)+(e[a>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+12>>1]|0)>>5;b[d+6>>1]=a>>>0<1024?a:0-a>>31&1023;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function VE(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==9)break;h=c;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;c=c+e|0;b=b+8|0}return}function WE(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=d>>1;h=g<<1;i=g*3|0;f=0;d=c;while(1){if((f|0)==4)break;p=e[d+-8>>1]|0;o=e[d>>1]|0;n=e[d+8>>1]|0;c=e[d+16>>1]|0;k=e[d+24>>1]|0;l=e[d+32>>1]|0;j=e[d+40>>1]|0;m=e[d+48>>1]|0;q=(e[d+-16>>1]|0)+16+k+((n+o|0)*20|0)+(H(c+p|0,-5)|0)>>5;b[a>>1]=q>>>0<1024?q:0-q>>31&1023;p=p+16+l+((c+n|0)*20|0)+(H(k+o|0,-5)|0)>>5;b[a+(g<<1)>>1]=p>>>0<1024?p:0-p>>31&1023;o=o+16+j+((k+c|0)*20|0)+(H(l+n|0,-5)|0)>>5;b[a+(h<<1)>>1]=o>>>0<1024?o:0-o>>31&1023;c=n+16+m+((l+k|0)*20|0)+(H(j+c|0,-5)|0)>>5;b[a+(i<<1)>>1]=c>>>0<1024?c:0-c>>31&1023;f=f+1|0;a=a+2|0;d=d+2|0}return}function XE(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=0;while(1){if((h|0)==4)break;n=b+(H(h,g)|0)|0;o=n;n=n+4|0;k=e+(h<<3)|0;m=k;k=k+4|0;i=a+(H(h,f)|0)|0;j=i;l=c[j>>2]|0;j=c[j+4>>2]|0;k=OE(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24)|0;k=OE(l,j,k,M()|0)|0;j=M()|0;c[i>>2]=k;c[i+4>>2]=j;h=h+1|0}return}function YE(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==4)break;i=c+2|0;l=c+-2|0;a=c+4|0;m=H((e[a>>1]|0)+(e[l>>1]|0)|0,-5)|0;j=c+6|0;m=(((e[i>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+m+(e[j>>1]|0)>>5;b[d>>1]=m>>>0<4096?m:0-m>>31&4095;m=H((e[j>>1]|0)+(e[c>>1]|0)|0,-5)|0;k=c+8|0;m=(((e[a>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+m+(e[k>>1]|0)>>5;b[d+2>>1]=m>>>0<4096?m:0-m>>31&4095;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+10|0;m=(((e[j>>1]|0)+(e[a>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+m+(e[l>>1]|0)>>5;b[d+4>>1]=m>>>0<4096?m:0-m>>31&4095;a=H((e[l>>1]|0)+(e[a>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+12>>1]|0)>>5;b[d+6>>1]=a>>>0<4096?a:0-a>>31&4095;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function ZE(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==9)break;h=c;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;c=c+e|0;b=b+8|0}return}function _E(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=d>>1;h=g<<1;i=g*3|0;f=0;d=c;while(1){if((f|0)==4)break;p=e[d+-8>>1]|0;o=e[d>>1]|0;n=e[d+8>>1]|0;c=e[d+16>>1]|0;k=e[d+24>>1]|0;l=e[d+32>>1]|0;j=e[d+40>>1]|0;m=e[d+48>>1]|0;q=(e[d+-16>>1]|0)+16+k+((n+o|0)*20|0)+(H(c+p|0,-5)|0)>>5;b[a>>1]=q>>>0<4096?q:0-q>>31&4095;p=p+16+l+((c+n|0)*20|0)+(H(k+o|0,-5)|0)>>5;b[a+(g<<1)>>1]=p>>>0<4096?p:0-p>>31&4095;o=o+16+j+((k+c|0)*20|0)+(H(l+n|0,-5)|0)>>5;b[a+(h<<1)>>1]=o>>>0<4096?o:0-o>>31&4095;c=n+16+m+((l+k|0)*20|0)+(H(j+c|0,-5)|0)>>5;b[a+(i<<1)>>1]=c>>>0<4096?c:0-c>>31&4095;f=f+1|0;a=a+2|0;d=d+2|0}return}function $E(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=0;while(1){if((h|0)==4)break;n=b+(H(h,g)|0)|0;o=n;n=n+4|0;k=e+(h<<3)|0;m=k;k=k+4|0;i=a+(H(h,f)|0)|0;j=i;l=c[j>>2]|0;j=c[j+4>>2]|0;k=OE(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24)|0;k=OE(l,j,k,M()|0)|0;j=M()|0;c[i>>2]=k;c[i+4>>2]=j;h=h+1|0}return}function aF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==4)break;i=c+2|0;l=c+-2|0;a=c+4|0;m=H((e[a>>1]|0)+(e[l>>1]|0)|0,-5)|0;j=c+6|0;m=(((e[i>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+m+(e[j>>1]|0)>>5;b[d>>1]=m>>>0<16384?m:0-m>>31&16383;m=H((e[j>>1]|0)+(e[c>>1]|0)|0,-5)|0;k=c+8|0;m=(((e[a>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+m+(e[k>>1]|0)>>5;b[d+2>>1]=m>>>0<16384?m:0-m>>31&16383;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+10|0;m=(((e[j>>1]|0)+(e[a>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+m+(e[l>>1]|0)>>5;b[d+4>>1]=m>>>0<16384?m:0-m>>31&16383;a=H((e[l>>1]|0)+(e[a>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+12>>1]|0)>>5;b[d+6>>1]=a>>>0<16384?a:0-a>>31&16383;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function bF(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==9)break;h=c;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;c=c+e|0;b=b+8|0}return}function cF(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=d>>1;h=g<<1;i=g*3|0;f=0;d=c;while(1){if((f|0)==4)break;p=e[d+-8>>1]|0;o=e[d>>1]|0;n=e[d+8>>1]|0;c=e[d+16>>1]|0;k=e[d+24>>1]|0;l=e[d+32>>1]|0;j=e[d+40>>1]|0;m=e[d+48>>1]|0;q=(e[d+-16>>1]|0)+16+k+((n+o|0)*20|0)+(H(c+p|0,-5)|0)>>5;b[a>>1]=q>>>0<16384?q:0-q>>31&16383;p=p+16+l+((c+n|0)*20|0)+(H(k+o|0,-5)|0)>>5;b[a+(g<<1)>>1]=p>>>0<16384?p:0-p>>31&16383;o=o+16+j+((k+c|0)*20|0)+(H(l+n|0,-5)|0)>>5;b[a+(h<<1)>>1]=o>>>0<16384?o:0-o>>31&16383;c=n+16+m+((l+k|0)*20|0)+(H(j+c|0,-5)|0)>>5;b[a+(i<<1)>>1]=c>>>0<16384?c:0-c>>31&16383;f=f+1|0;a=a+2|0;d=d+2|0}return}function dF(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=0;while(1){if((h|0)==4)break;n=b+(H(h,g)|0)|0;o=n;n=n+4|0;k=e+(h<<3)|0;m=k;k=k+4|0;i=a+(H(h,f)|0)|0;j=i;l=c[j>>2]|0;j=c[j+4>>2]|0;k=OE(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24)|0;k=OE(l,j,k,M()|0)|0;j=M()|0;c[i>>2]=k;c[i+4>>2]=j;h=h+1|0}return}function eF(a,c,d,f,g){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=g>>1;h=c;i=0;g=d+(0-(j<<1)<<1)|0;while(1){if((i|0)==9)break;k=g+2|0;n=g+-2|0;d=g+4|0;o=H((e[d>>1]|0)+(e[n>>1]|0)|0,-5)|0;l=g+6|0;b[h>>1]=(((e[k>>1]|0)+(e[g>>1]|0)|0)*20|0)+(e[g+-4>>1]|0)+o+(e[l>>1]|0);o=H((e[l>>1]|0)+(e[g>>1]|0)|0,-5)|0;m=g+8|0;b[h+2>>1]=(((e[d>>1]|0)+(e[k>>1]|0)|0)*20|0)+(e[n>>1]|0)+o+(e[m>>1]|0);o=H((e[m>>1]|0)+(e[k>>1]|0)|0,-5)|0;n=g+10|0;b[h+4>>1]=(((e[l>>1]|0)+(e[d>>1]|0)|0)*20|0)+(e[g>>1]|0)+o+(e[n>>1]|0);d=H((e[n>>1]|0)+(e[d>>1]|0)|0,-5)|0;b[h+6>>1]=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+(e[k>>1]|0)+d+(e[g+12>>1]|0);h=h+16|0;i=i+1|0;g=g+(j<<1)|0}i=f>>1;d=i<<1;j=i*3|0;g=c+32|0;h=0;while(1){if((h|0)==4)break;p=b[g+-16>>1]|0;f=b[g>>1]|0;c=b[g+16>>1]|0;o=b[g+32>>1]|0;m=b[g+48>>1]|0;l=b[g+64>>1]|0;n=b[g+80>>1]|0;k=b[g+96>>1]|0;q=(b[g+-32>>1]|0)+512+m+((c+f|0)*20|0)+(H(o+p|0,-5)|0)>>10;b[a>>1]=q>>>0<512?q:0-q>>31&511;p=p+512+l+((o+c|0)*20|0)+(H(m+f|0,-5)|0)>>10;b[a+(i<<1)>>1]=p>>>0<512?p:0-p>>31&511;f=f+512+n+((m+o|0)*20|0)+(H(l+c|0,-5)|0)>>10;b[a+(d<<1)>>1]=f>>>0<512?f:0-f>>31&511;o=c+512+k+((l+m|0)*20|0)+(H(n+o|0,-5)|0)>>10;b[a+(j<<1)>>1]=o>>>0<512?o:0-o>>31&511;a=a+2|0;g=g+2|0;h=h+1|0}return}function fF(c,e,f,g,h){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=e;j=0;f=f+(0-(h<<1))|0;while(1){if((j|0)==9)break;l=f+1|0;o=f+-1|0;k=f+2|0;p=H((d[k>>0]|0)+(d[o>>0]|0)|0,-5)|0;m=f+3|0;b[i>>1]=(((d[l>>0]|0)+(d[f>>0]|0)|0)*20|0)+(d[f+-2>>0]|0)+p+(d[m>>0]|0);p=H((d[m>>0]|0)+(d[f>>0]|0)|0,-5)|0;n=f+4|0;b[i+2>>1]=(((d[k>>0]|0)+(d[l>>0]|0)|0)*20|0)+(d[o>>0]|0)+p+(d[n>>0]|0);p=H((d[n>>0]|0)+(d[l>>0]|0)|0,-5)|0;o=f+5|0;b[i+4>>1]=(((d[m>>0]|0)+(d[k>>0]|0)|0)*20|0)+(d[f>>0]|0)+p+(d[o>>0]|0);k=H((d[o>>0]|0)+(d[k>>0]|0)|0,-5)|0;b[i+6>>1]=(((d[n>>0]|0)+(d[m>>0]|0)|0)*20|0)+(d[l>>0]|0)+k+(d[f+6>>0]|0);i=i+8|0;j=j+1|0;f=f+h|0}j=g<<1;h=g*3|0;f=e+16|0;i=0;while(1){if((i|0)==4)break;q=b[f+-8>>1]|0;e=b[f>>1]|0;k=b[f+8>>1]|0;p=b[f+16>>1]|0;n=b[f+24>>1]|0;m=b[f+32>>1]|0;o=b[f+40>>1]|0;l=b[f+48>>1]|0;r=(b[f+-16>>1]|0)+512+n+((k+e|0)*20|0)+(H(p+q|0,-5)|0)>>10;a[c>>0]=r>>>0>255?(r^-2147483648)>>31:r;q=q+512+m+((p+k|0)*20|0)+(H(n+e|0,-5)|0)>>10;a[c+g>>0]=q>>>0>255?(q^-2147483648)>>31:q;e=e+512+o+((n+p|0)*20|0)+(H(m+k|0,-5)|0)>>10;a[c+j>>0]=e>>>0>255?(e^-2147483648)>>31:e;p=k+512+l+((m+n|0)*20|0)+(H(o+p|0,-5)|0)>>10;a[c+h>>0]=p>>>0>255?(p^-2147483648)>>31:p;c=c+1|0;f=f+2|0;i=i+1|0}return}function gF(a,c,d,f,g){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;j=g>>1;h=c;i=0;g=d+(0-(j<<1)<<1)|0;while(1){if((i|0)==9)break;k=g+2|0;n=g+-2|0;d=g+4|0;o=H((e[d>>1]|0)+(e[n>>1]|0)|0,-5)|0;l=g+6|0;b[h>>1]=(((e[k>>1]|0)+(e[g>>1]|0)|0)*20|0)+55306+(e[g+-4>>1]|0)+o+(e[l>>1]|0);o=H((e[l>>1]|0)+(e[g>>1]|0)|0,-5)|0;m=g+8|0;b[h+2>>1]=(((e[d>>1]|0)+(e[k>>1]|0)|0)*20|0)+55306+(e[n>>1]|0)+o+(e[m>>1]|0);o=H((e[m>>1]|0)+(e[k>>1]|0)|0,-5)|0;n=g+10|0;b[h+4>>1]=(((e[l>>1]|0)+(e[d>>1]|0)|0)*20|0)+55306+(e[g>>1]|0)+o+(e[n>>1]|0);d=H((e[n>>1]|0)+(e[d>>1]|0)|0,-5)|0;b[h+6>>1]=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+55306+(e[k>>1]|0)+d+(e[g+12>>1]|0);h=h+16|0;i=i+1|0;g=g+(j<<1)|0}i=f>>1;d=i<<1;j=i*3|0;g=c+32|0;h=0;while(1){if((h|0)==4)break;r=b[g+-16>>1]|0;p=b[g>>1]|0;q=p+10230|0;c=b[g+16>>1]|0;f=c+10230|0;o=(b[g+32>>1]|0)+10230|0;m=(b[g+48>>1]|0)+10230|0;l=(b[g+64>>1]|0)+10230|0;n=(b[g+80>>1]|0)+10230|0;k=b[g+96>>1]|0;s=(b[g+-32>>1]|0)+10742+m+((f+q|0)*20|0)+(H(o+(r+10230)|0,-5)|0)>>10;b[a>>1]=s>>>0<1024?s:0-s>>31&1023;q=r+10742+l+((o+f|0)*20|0)+(H(m+q|0,-5)|0)>>10;b[a+(i<<1)>>1]=q>>>0<1024?q:0-q>>31&1023;f=p+10742+n+((m+o|0)*20|0)+(H(l+f|0,-5)|0)>>10;b[a+(d<<1)>>1]=f>>>0<1024?f:0-f>>31&1023;o=c+20972+k+((l+m|0)*20|0)+(H(n+o|0,-5)|0)>>10;b[a+(j<<1)>>1]=o>>>0<1024?o:0-o>>31&1023;a=a+2|0;g=g+2|0;h=h+1|0}return}function hF(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=h>>1;i=d;j=0;h=f+(0-(k<<1)<<1)|0;while(1){if((j|0)==9)break;q=e[h>>1]|0;l=e[h+2>>1]|0;o=e[h+-2>>1]|0;f=e[h+4>>1]|0;p=H(f+o|0,-5)|0;m=e[h+6>>1]|0;c[i>>2]=((l+q|0)*20|0)+(e[h+-4>>1]|0)+p+m;p=H(m+q|0,-5)|0;n=e[h+8>>1]|0;c[i+4>>2]=((f+l|0)*20|0)+o+p+n;p=H(n+l|0,-5)|0;o=e[h+10>>1]|0;c[i+8>>2]=((m+f|0)*20|0)+q+p+o;f=H(o+f|0,-5)|0;c[i+12>>2]=((n+m|0)*20|0)+l+f+(e[h+12>>1]|0);i=i+32|0;j=j+1|0;h=h+(k<<1)|0}j=g>>1;f=j<<1;k=j*3|0;h=d+64|0;i=0;while(1){if((i|0)==4)break;g=c[h+-32>>2]|0;d=c[h>>2]|0;l=c[h+32>>2]|0;q=c[h+64>>2]|0;o=c[h+96>>2]|0;n=c[h+128>>2]|0;p=c[h+160>>2]|0;m=c[h+192>>2]|0;r=(c[h+-64>>2]|0)+512+o+((l+d|0)*20|0)+(H(q+g|0,-5)|0)>>10;b[a>>1]=r>>>0<4096?r:0-r>>31&4095;g=g+512+n+((q+l|0)*20|0)+(H(o+d|0,-5)|0)>>10;b[a+(j<<1)>>1]=g>>>0<4096?g:0-g>>31&4095;d=d+512+p+((o+q|0)*20|0)+(H(n+l|0,-5)|0)>>10;b[a+(f<<1)>>1]=d>>>0<4096?d:0-d>>31&4095;q=l+512+m+((n+o|0)*20|0)+(H(p+q|0,-5)|0)>>10;b[a+(k<<1)>>1]=q>>>0<4096?q:0-q>>31&4095;a=a+2|0;h=h+4|0;i=i+1|0}return}function iF(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=h>>1;i=d;j=0;h=f+(0-(k<<1)<<1)|0;while(1){if((j|0)==9)break;q=e[h>>1]|0;l=e[h+2>>1]|0;o=e[h+-2>>1]|0;f=e[h+4>>1]|0;p=H(f+o|0,-5)|0;m=e[h+6>>1]|0;c[i>>2]=((l+q|0)*20|0)+(e[h+-4>>1]|0)+p+m;p=H(m+q|0,-5)|0;n=e[h+8>>1]|0;c[i+4>>2]=((f+l|0)*20|0)+o+p+n;p=H(n+l|0,-5)|0;o=e[h+10>>1]|0;c[i+8>>2]=((m+f|0)*20|0)+q+p+o;f=H(o+f|0,-5)|0;c[i+12>>2]=((n+m|0)*20|0)+l+f+(e[h+12>>1]|0);i=i+32|0;j=j+1|0;h=h+(k<<1)|0}j=g>>1;f=j<<1;k=j*3|0;h=d+64|0;i=0;while(1){if((i|0)==4)break;g=c[h+-32>>2]|0;d=c[h>>2]|0;l=c[h+32>>2]|0;q=c[h+64>>2]|0;o=c[h+96>>2]|0;n=c[h+128>>2]|0;p=c[h+160>>2]|0;m=c[h+192>>2]|0;r=(c[h+-64>>2]|0)+512+o+((l+d|0)*20|0)+(H(q+g|0,-5)|0)>>10;b[a>>1]=r>>>0<16384?r:0-r>>31&16383;g=g+512+n+((q+l|0)*20|0)+(H(o+d|0,-5)|0)>>10;b[a+(j<<1)>>1]=g>>>0<16384?g:0-g>>31&16383;d=d+512+p+((o+q|0)*20|0)+(H(n+l|0,-5)|0)>>10;b[a+(f<<1)>>1]=d>>>0<16384?d:0-d>>31&16383;q=l+512+m+((n+o|0)*20|0)+(H(p+q|0,-5)|0)>>10;b[a+(k<<1)>>1]=q>>>0<16384?q:0-q>>31&16383;a=a+2|0;h=h+4|0;i=i+1|0}return}function jF(a,c,d,f,g){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=g>>1;h=c;i=0;g=d+(0-(j<<1)<<1)|0;while(1){if((i|0)==9)break;k=g+2|0;n=g+-2|0;d=g+4|0;o=H((e[d>>1]|0)+(e[n>>1]|0)|0,-5)|0;l=g+6|0;b[h>>1]=(((e[k>>1]|0)+(e[g>>1]|0)|0)*20|0)+(e[g+-4>>1]|0)+o+(e[l>>1]|0);o=H((e[l>>1]|0)+(e[g>>1]|0)|0,-5)|0;m=g+8|0;b[h+2>>1]=(((e[d>>1]|0)+(e[k>>1]|0)|0)*20|0)+(e[n>>1]|0)+o+(e[m>>1]|0);o=H((e[m>>1]|0)+(e[k>>1]|0)|0,-5)|0;n=g+10|0;b[h+4>>1]=(((e[l>>1]|0)+(e[d>>1]|0)|0)*20|0)+(e[g>>1]|0)+o+(e[n>>1]|0);d=H((e[n>>1]|0)+(e[d>>1]|0)|0,-5)|0;b[h+6>>1]=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+(e[k>>1]|0)+d+(e[g+12>>1]|0);h=h+16|0;i=i+1|0;g=g+(j<<1)|0}i=f>>1;d=i<<1;j=i*3|0;g=c+32|0;h=0;while(1){if((h|0)==4)break;q=b[g+-16>>1]|0;p=b[g>>1]|0;f=b[g+16>>1]|0;n=b[g+32>>1]|0;l=b[g+48>>1]|0;k=b[g+64>>1]|0;m=b[g+80>>1]|0;c=b[g+96>>1]|0;o=(b[g+-32>>1]|0)+512+l+((f+p|0)*20|0)+(H(n+q|0,-5)|0)>>10;b[a>>1]=((e[a>>1]|0)+1+(o>>>0<512?o:0-o>>31&511)|0)>>>1;o=a+(i<<1)|0;q=q+512+k+((n+f|0)*20|0)+(H(l+p|0,-5)|0)>>10;b[o>>1]=((e[o>>1]|0)+1+(q>>>0<512?q:0-q>>31&511)|0)>>>1;o=a+(d<<1)|0;p=p+512+m+((l+n|0)*20|0)+(H(k+f|0,-5)|0)>>10;b[o>>1]=((e[o>>1]|0)+1+(p>>>0<512?p:0-p>>31&511)|0)>>>1;o=a+(j<<1)|0;n=f+512+c+((k+l|0)*20|0)+(H(m+n|0,-5)|0)>>10;b[o>>1]=((e[o>>1]|0)+1+(n>>>0<512?n:0-n>>31&511)|0)>>>1;a=a+2|0;g=g+2|0;h=h+1|0}return}function kF(c,e,f,g,h){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=e;j=0;f=f+(0-(h<<1))|0;while(1){if((j|0)==9)break;l=f+1|0;o=f+-1|0;k=f+2|0;p=H((d[k>>0]|0)+(d[o>>0]|0)|0,-5)|0;m=f+3|0;b[i>>1]=(((d[l>>0]|0)+(d[f>>0]|0)|0)*20|0)+(d[f+-2>>0]|0)+p+(d[m>>0]|0);p=H((d[m>>0]|0)+(d[f>>0]|0)|0,-5)|0;n=f+4|0;b[i+2>>1]=(((d[k>>0]|0)+(d[l>>0]|0)|0)*20|0)+(d[o>>0]|0)+p+(d[n>>0]|0);p=H((d[n>>0]|0)+(d[l>>0]|0)|0,-5)|0;o=f+5|0;b[i+4>>1]=(((d[m>>0]|0)+(d[k>>0]|0)|0)*20|0)+(d[f>>0]|0)+p+(d[o>>0]|0);k=H((d[o>>0]|0)+(d[k>>0]|0)|0,-5)|0;b[i+6>>1]=(((d[n>>0]|0)+(d[m>>0]|0)|0)*20|0)+(d[l>>0]|0)+k+(d[f+6>>0]|0);i=i+8|0;j=j+1|0;f=f+h|0}j=g<<1;h=g*3|0;f=e+16|0;i=0;while(1){if((i|0)==4)break;r=b[f+-8>>1]|0;q=b[f>>1]|0;e=b[f+8>>1]|0;o=b[f+16>>1]|0;m=b[f+24>>1]|0;l=b[f+32>>1]|0;n=b[f+40>>1]|0;k=b[f+48>>1]|0;p=(b[f+-16>>1]|0)+512+m+((e+q|0)*20|0)+(H(o+r|0,-5)|0)>>10;a[c>>0]=((d[c>>0]|0)+1+((p>>>0>255?(p^-2147483648)>>31:p)&255)|0)>>>1;p=c+g|0;r=r+512+l+((o+e|0)*20|0)+(H(m+q|0,-5)|0)>>10;a[p>>0]=((d[p>>0]|0)+1+((r>>>0>255?(r^-2147483648)>>31:r)&255)|0)>>>1;p=c+j|0;q=q+512+n+((m+o|0)*20|0)+(H(l+e|0,-5)|0)>>10;a[p>>0]=((d[p>>0]|0)+1+((q>>>0>255?(q^-2147483648)>>31:q)&255)|0)>>>1;p=c+h|0;o=e+512+k+((l+m|0)*20|0)+(H(n+o|0,-5)|0)>>10;a[p>>0]=((d[p>>0]|0)+1+((o>>>0>255?(o^-2147483648)>>31:o)&255)|0)>>>1;c=c+1|0;f=f+2|0;i=i+1|0}return}function lF(a,c,d,f,g){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;j=g>>1;h=c;i=0;g=d+(0-(j<<1)<<1)|0;while(1){if((i|0)==9)break;k=g+2|0;n=g+-2|0;d=g+4|0;o=H((e[d>>1]|0)+(e[n>>1]|0)|0,-5)|0;l=g+6|0;b[h>>1]=(((e[k>>1]|0)+(e[g>>1]|0)|0)*20|0)+55306+(e[g+-4>>1]|0)+o+(e[l>>1]|0);o=H((e[l>>1]|0)+(e[g>>1]|0)|0,-5)|0;m=g+8|0;b[h+2>>1]=(((e[d>>1]|0)+(e[k>>1]|0)|0)*20|0)+55306+(e[n>>1]|0)+o+(e[m>>1]|0);o=H((e[m>>1]|0)+(e[k>>1]|0)|0,-5)|0;n=g+10|0;b[h+4>>1]=(((e[l>>1]|0)+(e[d>>1]|0)|0)*20|0)+55306+(e[g>>1]|0)+o+(e[n>>1]|0);d=H((e[n>>1]|0)+(e[d>>1]|0)|0,-5)|0;b[h+6>>1]=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+55306+(e[k>>1]|0)+d+(e[g+12>>1]|0);h=h+16|0;i=i+1|0;g=g+(j<<1)|0}i=f>>1;d=i<<1;j=i*3|0;g=c+32|0;h=0;while(1){if((h|0)==4)break;s=b[g+-16>>1]|0;q=b[g>>1]|0;r=q+10230|0;f=b[g+16>>1]|0;p=f+10230|0;n=(b[g+32>>1]|0)+10230|0;l=(b[g+48>>1]|0)+10230|0;k=(b[g+64>>1]|0)+10230|0;m=(b[g+80>>1]|0)+10230|0;c=b[g+96>>1]|0;o=(b[g+-32>>1]|0)+10742+l+((p+r|0)*20|0)+(H(n+(s+10230)|0,-5)|0)>>10;b[a>>1]=((e[a>>1]|0)+1+(o>>>0<1024?o:0-o>>31&1023)|0)>>>1;o=a+(i<<1)|0;r=s+10742+k+((n+p|0)*20|0)+(H(l+r|0,-5)|0)>>10;b[o>>1]=((e[o>>1]|0)+1+(r>>>0<1024?r:0-r>>31&1023)|0)>>>1;o=a+(d<<1)|0;p=q+10742+m+((l+n|0)*20|0)+(H(k+p|0,-5)|0)>>10;b[o>>1]=((e[o>>1]|0)+1+(p>>>0<1024?p:0-p>>31&1023)|0)>>>1;o=a+(j<<1)|0;n=f+20972+c+((k+l|0)*20|0)+(H(m+n|0,-5)|0)>>10;b[o>>1]=((e[o>>1]|0)+1+(n>>>0<1024?n:0-n>>31&1023)|0)>>>1;a=a+2|0;g=g+2|0;h=h+1|0}return}function mF(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=h>>1;i=d;j=0;h=f+(0-(k<<1)<<1)|0;while(1){if((j|0)==9)break;q=e[h>>1]|0;l=e[h+2>>1]|0;o=e[h+-2>>1]|0;f=e[h+4>>1]|0;p=H(f+o|0,-5)|0;m=e[h+6>>1]|0;c[i>>2]=((l+q|0)*20|0)+(e[h+-4>>1]|0)+p+m;p=H(m+q|0,-5)|0;n=e[h+8>>1]|0;c[i+4>>2]=((f+l|0)*20|0)+o+p+n;p=H(n+l|0,-5)|0;o=e[h+10>>1]|0;c[i+8>>2]=((m+f|0)*20|0)+q+p+o;f=H(o+f|0,-5)|0;c[i+12>>2]=((n+m|0)*20|0)+l+f+(e[h+12>>1]|0);i=i+32|0;j=j+1|0;h=h+(k<<1)|0}j=g>>1;f=j<<1;k=j*3|0;h=d+64|0;i=0;while(1){if((i|0)==4)break;r=c[h+-32>>2]|0;g=c[h>>2]|0;d=c[h+32>>2]|0;p=c[h+64>>2]|0;n=c[h+96>>2]|0;m=c[h+128>>2]|0;o=c[h+160>>2]|0;l=c[h+192>>2]|0;q=(c[h+-64>>2]|0)+512+n+((d+g|0)*20|0)+(H(p+r|0,-5)|0)>>10;b[a>>1]=((e[a>>1]|0)+1+(q>>>0<4096?q:0-q>>31&4095)|0)>>>1;q=a+(j<<1)|0;r=r+512+m+((p+d|0)*20|0)+(H(n+g|0,-5)|0)>>10;b[q>>1]=((e[q>>1]|0)+1+(r>>>0<4096?r:0-r>>31&4095)|0)>>>1;q=a+(f<<1)|0;g=g+512+o+((n+p|0)*20|0)+(H(m+d|0,-5)|0)>>10;b[q>>1]=((e[q>>1]|0)+1+(g>>>0<4096?g:0-g>>31&4095)|0)>>>1;q=a+(k<<1)|0;p=d+512+l+((m+n|0)*20|0)+(H(o+p|0,-5)|0)>>10;b[q>>1]=((e[q>>1]|0)+1+(p>>>0<4096?p:0-p>>31&4095)|0)>>>1;a=a+2|0;h=h+4|0;i=i+1|0}return}function nF(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=h>>1;i=d;j=0;h=f+(0-(k<<1)<<1)|0;while(1){if((j|0)==9)break;q=e[h>>1]|0;l=e[h+2>>1]|0;o=e[h+-2>>1]|0;f=e[h+4>>1]|0;p=H(f+o|0,-5)|0;m=e[h+6>>1]|0;c[i>>2]=((l+q|0)*20|0)+(e[h+-4>>1]|0)+p+m;p=H(m+q|0,-5)|0;n=e[h+8>>1]|0;c[i+4>>2]=((f+l|0)*20|0)+o+p+n;p=H(n+l|0,-5)|0;o=e[h+10>>1]|0;c[i+8>>2]=((m+f|0)*20|0)+q+p+o;f=H(o+f|0,-5)|0;c[i+12>>2]=((n+m|0)*20|0)+l+f+(e[h+12>>1]|0);i=i+32|0;j=j+1|0;h=h+(k<<1)|0}j=g>>1;f=j<<1;k=j*3|0;h=d+64|0;i=0;while(1){if((i|0)==4)break;r=c[h+-32>>2]|0;g=c[h>>2]|0;d=c[h+32>>2]|0;p=c[h+64>>2]|0;n=c[h+96>>2]|0;m=c[h+128>>2]|0;o=c[h+160>>2]|0;l=c[h+192>>2]|0;q=(c[h+-64>>2]|0)+512+n+((d+g|0)*20|0)+(H(p+r|0,-5)|0)>>10;b[a>>1]=((e[a>>1]|0)+1+(q>>>0<16384?q:0-q>>31&16383)|0)>>>1;q=a+(j<<1)|0;r=r+512+m+((p+d|0)*20|0)+(H(n+g|0,-5)|0)>>10;b[q>>1]=((e[q>>1]|0)+1+(r>>>0<16384?r:0-r>>31&16383)|0)>>>1;q=a+(f<<1)|0;g=g+512+o+((n+p|0)*20|0)+(H(m+d|0,-5)|0)>>10;b[q>>1]=((e[q>>1]|0)+1+(g>>>0<16384?g:0-g>>31&16383)|0)>>>1;q=a+(k<<1)|0;p=d+512+l+((m+n|0)*20|0)+(H(o+p|0,-5)|0)>>10;b[q>>1]=((e[q>>1]|0)+1+(p>>>0<16384?p:0-p>>31&16383)|0)>>>1;a=a+2|0;h=h+4|0;i=i+1|0}return}function oF(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=d>>1;h=g<<1;i=g*3|0;f=0;d=c;while(1){if((f|0)==4)break;q=e[d+-8>>1]|0;p=e[d>>1]|0;o=e[d+8>>1]|0;j=e[d+16>>1]|0;l=e[d+24>>1]|0;m=e[d+32>>1]|0;k=e[d+40>>1]|0;n=e[d+48>>1]|0;c=(e[d+-16>>1]|0)+16+l+((o+p|0)*20|0)+(H(j+q|0,-5)|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(c>>>0<512?c:0-c>>31&511)|0)>>>1;c=a+(g<<1)|0;q=q+16+m+((j+o|0)*20|0)+(H(l+p|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(q>>>0<512?q:0-q>>31&511)|0)>>>1;c=a+(h<<1)|0;p=p+16+k+((l+j|0)*20|0)+(H(m+o|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(p>>>0<512?p:0-p>>31&511)|0)>>>1;c=a+(i<<1)|0;j=o+16+n+((m+l|0)*20|0)+(H(k+j|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(j>>>0<512?j:0-j>>31&511)|0)>>>1;f=f+1|0;a=a+2|0;d=d+2|0}return}function pF(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=e<<1;h=e*3|0;f=0;while(1){if((f|0)==4)break;q=d[c+-4>>0]|0;p=d[c>>0]|0;o=d[c+4>>0]|0;j=d[c+8>>0]|0;l=d[c+12>>0]|0;m=d[c+16>>0]|0;k=d[c+20>>0]|0;n=d[c+24>>0]|0;i=(d[c+-8>>0]|0)+16+l+((o+p|0)*20|0)+(H(j+q|0,-5)|0)>>5;a[b>>0]=((d[b>>0]|0)+1+((i>>>0>255?(i^-2147483648)>>31:i)&255)|0)>>>1;i=b+e|0;q=q+16+m+((j+o|0)*20|0)+(H(l+p|0,-5)|0)>>5;a[i>>0]=((d[i>>0]|0)+1+((q>>>0>255?(q^-2147483648)>>31:q)&255)|0)>>>1;i=b+g|0;p=p+16+k+((l+j|0)*20|0)+(H(m+o|0,-5)|0)>>5;a[i>>0]=((d[i>>0]|0)+1+((p>>>0>255?(p^-2147483648)>>31:p)&255)|0)>>>1;i=b+h|0;j=o+16+n+((m+l|0)*20|0)+(H(k+j|0,-5)|0)>>5;a[i>>0]=((d[i>>0]|0)+1+((j>>>0>255?(j^-2147483648)>>31:j)&255)|0)>>>1;f=f+1|0;b=b+1|0;c=c+1|0}return}function qF(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=d>>1;h=g<<1;i=g*3|0;f=0;d=c;while(1){if((f|0)==4)break;q=e[d+-8>>1]|0;p=e[d>>1]|0;o=e[d+8>>1]|0;j=e[d+16>>1]|0;l=e[d+24>>1]|0;m=e[d+32>>1]|0;k=e[d+40>>1]|0;n=e[d+48>>1]|0;c=(e[d+-16>>1]|0)+16+l+((o+p|0)*20|0)+(H(j+q|0,-5)|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(c>>>0<1024?c:0-c>>31&1023)|0)>>>1;c=a+(g<<1)|0;q=q+16+m+((j+o|0)*20|0)+(H(l+p|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(q>>>0<1024?q:0-q>>31&1023)|0)>>>1;c=a+(h<<1)|0;p=p+16+k+((l+j|0)*20|0)+(H(m+o|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(p>>>0<1024?p:0-p>>31&1023)|0)>>>1;c=a+(i<<1)|0;j=o+16+n+((m+l|0)*20|0)+(H(k+j|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(j>>>0<1024?j:0-j>>31&1023)|0)>>>1;f=f+1|0;a=a+2|0;d=d+2|0}return}function rF(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=d>>1;h=g<<1;i=g*3|0;f=0;d=c;while(1){if((f|0)==4)break;q=e[d+-8>>1]|0;p=e[d>>1]|0;o=e[d+8>>1]|0;j=e[d+16>>1]|0;l=e[d+24>>1]|0;m=e[d+32>>1]|0;k=e[d+40>>1]|0;n=e[d+48>>1]|0;c=(e[d+-16>>1]|0)+16+l+((o+p|0)*20|0)+(H(j+q|0,-5)|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(c>>>0<4096?c:0-c>>31&4095)|0)>>>1;c=a+(g<<1)|0;q=q+16+m+((j+o|0)*20|0)+(H(l+p|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(q>>>0<4096?q:0-q>>31&4095)|0)>>>1;c=a+(h<<1)|0;p=p+16+k+((l+j|0)*20|0)+(H(m+o|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(p>>>0<4096?p:0-p>>31&4095)|0)>>>1;c=a+(i<<1)|0;j=o+16+n+((m+l|0)*20|0)+(H(k+j|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(j>>>0<4096?j:0-j>>31&4095)|0)>>>1;f=f+1|0;a=a+2|0;d=d+2|0}return}function sF(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=d>>1;h=g<<1;i=g*3|0;f=0;d=c;while(1){if((f|0)==4)break;q=e[d+-8>>1]|0;p=e[d>>1]|0;o=e[d+8>>1]|0;j=e[d+16>>1]|0;l=e[d+24>>1]|0;m=e[d+32>>1]|0;k=e[d+40>>1]|0;n=e[d+48>>1]|0;c=(e[d+-16>>1]|0)+16+l+((o+p|0)*20|0)+(H(j+q|0,-5)|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(c>>>0<16384?c:0-c>>31&16383)|0)>>>1;c=a+(g<<1)|0;q=q+16+m+((j+o|0)*20|0)+(H(l+p|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(q>>>0<16384?q:0-q>>31&16383)|0)>>>1;c=a+(h<<1)|0;p=p+16+k+((l+j|0)*20|0)+(H(m+o|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(p>>>0<16384?p:0-p>>31&16383)|0)>>>1;c=a+(i<<1)|0;j=o+16+n+((m+l|0)*20|0)+(H(k+j|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(j>>>0<16384?j:0-j>>31&16383)|0)>>>1;f=f+1|0;a=a+2|0;d=d+2|0}return}function tF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==4)break;j=c+2|0;m=c+-2|0;i=c+4|0;a=H((e[i>>1]|0)+(e[m>>1]|0)|0,-5)|0;k=c+6|0;a=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+a+(e[k>>1]|0)>>5;b[d>>1]=((e[d>>1]|0)+1+(a>>>0<512?a:0-a>>31&511)|0)>>>1;a=d+2|0;n=H((e[k>>1]|0)+(e[c>>1]|0)|0,-5)|0;l=c+8|0;n=(((e[i>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[m>>1]|0)+n+(e[l>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<512?n:0-n>>31&511)|0)>>>1;a=d+4|0;n=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+10|0;n=(((e[k>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+n+(e[m>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<512?n:0-n>>31&511)|0)>>>1;a=d+6|0;i=H((e[m>>1]|0)+(e[i>>1]|0)|0,-5)|0;i=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+i+(e[c+12>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(i>>>0<512?i:0-i>>31&511)|0)>>>1;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function uF(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=0;while(1){if((g|0)==4)break;j=c+1|0;m=c+-1|0;i=c+2|0;h=H((d[i>>0]|0)+(d[m>>0]|0)|0,-5)|0;k=c+3|0;h=(((d[j>>0]|0)+(d[c>>0]|0)|0)*20|0)+16+(d[c+-2>>0]|0)+h+(d[k>>0]|0)>>5;a[b>>0]=((d[b>>0]|0)+1+((h>>>0>255?(h^-2147483648)>>31:h)&255)|0)>>>1;h=b+1|0;n=H((d[k>>0]|0)+(d[c>>0]|0)|0,-5)|0;l=c+4|0;n=(((d[i>>0]|0)+(d[j>>0]|0)|0)*20|0)+16+(d[m>>0]|0)+n+(d[l>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((n>>>0>255?(n^-2147483648)>>31:n)&255)|0)>>>1;h=b+2|0;n=H((d[l>>0]|0)+(d[j>>0]|0)|0,-5)|0;m=c+5|0;n=(((d[k>>0]|0)+(d[i>>0]|0)|0)*20|0)+16+(d[c>>0]|0)+n+(d[m>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((n>>>0>255?(n^-2147483648)>>31:n)&255)|0)>>>1;h=b+3|0;i=H((d[m>>0]|0)+(d[i>>0]|0)|0,-5)|0;i=(((d[l>>0]|0)+(d[k>>0]|0)|0)*20|0)+16+(d[j>>0]|0)+i+(d[c+6>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((i>>>0>255?(i^-2147483648)>>31:i)&255)|0)>>>1;c=c+f|0;b=b+e|0;g=g+1|0}return}function vF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==4)break;j=c+2|0;m=c+-2|0;i=c+4|0;a=H((e[i>>1]|0)+(e[m>>1]|0)|0,-5)|0;k=c+6|0;a=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+a+(e[k>>1]|0)>>5;b[d>>1]=((e[d>>1]|0)+1+(a>>>0<1024?a:0-a>>31&1023)|0)>>>1;a=d+2|0;n=H((e[k>>1]|0)+(e[c>>1]|0)|0,-5)|0;l=c+8|0;n=(((e[i>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[m>>1]|0)+n+(e[l>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<1024?n:0-n>>31&1023)|0)>>>1;a=d+4|0;n=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+10|0;n=(((e[k>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+n+(e[m>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<1024?n:0-n>>31&1023)|0)>>>1;a=d+6|0;i=H((e[m>>1]|0)+(e[i>>1]|0)|0,-5)|0;i=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+i+(e[c+12>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(i>>>0<1024?i:0-i>>31&1023)|0)>>>1;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function wF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==4)break;j=c+2|0;m=c+-2|0;i=c+4|0;a=H((e[i>>1]|0)+(e[m>>1]|0)|0,-5)|0;k=c+6|0;a=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+a+(e[k>>1]|0)>>5;b[d>>1]=((e[d>>1]|0)+1+(a>>>0<4096?a:0-a>>31&4095)|0)>>>1;a=d+2|0;n=H((e[k>>1]|0)+(e[c>>1]|0)|0,-5)|0;l=c+8|0;n=(((e[i>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[m>>1]|0)+n+(e[l>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<4096?n:0-n>>31&4095)|0)>>>1;a=d+4|0;n=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+10|0;n=(((e[k>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+n+(e[m>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<4096?n:0-n>>31&4095)|0)>>>1;a=d+6|0;i=H((e[m>>1]|0)+(e[i>>1]|0)|0,-5)|0;i=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+i+(e[c+12>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(i>>>0<4096?i:0-i>>31&4095)|0)>>>1;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function xF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==4)break;j=c+2|0;m=c+-2|0;i=c+4|0;a=H((e[i>>1]|0)+(e[m>>1]|0)|0,-5)|0;k=c+6|0;a=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+a+(e[k>>1]|0)>>5;b[d>>1]=((e[d>>1]|0)+1+(a>>>0<16384?a:0-a>>31&16383)|0)>>>1;a=d+2|0;n=H((e[k>>1]|0)+(e[c>>1]|0)|0,-5)|0;l=c+8|0;n=(((e[i>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[m>>1]|0)+n+(e[l>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<16384?n:0-n>>31&16383)|0)>>>1;a=d+4|0;n=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+10|0;n=(((e[k>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+n+(e[m>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<16384?n:0-n>>31&16383)|0)>>>1;a=d+6|0;i=H((e[m>>1]|0)+(e[i>>1]|0)|0,-5)|0;i=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+i+(e[c+12>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(i>>>0<16384?i:0-i>>31&16383)|0)>>>1;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function yF(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;f=0;while(1){if((f|0)==4)break;g=a;i=b;h=i;i=i+4|0;i=OE(c[g>>2]|0,c[g+4>>2]|0,d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24)|0;h=M()|0;g=a;c[g>>2]=i;c[g+4>>2]=h;f=f+1|0;a=a+e|0;b=b+e|0}return}function zF(a,b,e){a=a|0;b=b|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;c[a>>2]=TE(c[a>>2]|0,d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24)|0;f=f+1|0;a=a+e|0;b=b+e|0}return}function AF(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;f=0;while(1){if((f|0)==4)break;g=a;i=b;h=i;i=i+4|0;i=OE(c[g>>2]|0,c[g+4>>2]|0,d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24)|0;h=M()|0;g=a;c[g>>2]=i;c[g+4>>2]=h;f=f+1|0;a=a+e|0;b=b+e|0}return}function BF(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;f=0;while(1){if((f|0)==4)break;g=a;i=b;h=i;i=i+4|0;i=OE(c[g>>2]|0,c[g+4>>2]|0,d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24)|0;h=M()|0;g=a;c[g>>2]=i;c[g+4>>2]=h;f=f+1|0;a=a+e|0;b=b+e|0}return}function CF(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;f=0;while(1){if((f|0)==4)break;g=a;i=b;h=i;i=i+4|0;i=OE(c[g>>2]|0,c[g+4>>2]|0,d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24)|0;h=M()|0;g=a;c[g>>2]=i;c[g+4>>2]=h;f=f+1|0;a=a+e|0;b=b+e|0}return}function DF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==8)break;j=c+2|0;i=c+-2|0;k=c+4|0;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+6|0;m=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+m+(e[l>>1]|0)>>5;b[d>>1]=m>>>0<512?m:0-m>>31&511;m=H((e[l>>1]|0)+(e[c>>1]|0)|0,-5)|0;n=c+8|0;m=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+m+(e[n>>1]|0)>>5;b[d+2>>1]=m>>>0<512?m:0-m>>31&511;m=H((e[n>>1]|0)+(e[j>>1]|0)|0,-5)|0;i=c+10|0;m=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+m+(e[i>>1]|0)>>5;b[d+4>>1]=m>>>0<512?m:0-m>>31&511;m=H((e[i>>1]|0)+(e[k>>1]|0)|0,-5)|0;a=c+12|0;m=(((e[n>>1]|0)+(e[l>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+m+(e[a>>1]|0)>>5;b[d+6>>1]=m>>>0<512?m:0-m>>31&511;m=H((e[a>>1]|0)+(e[l>>1]|0)|0,-5)|0;j=c+14|0;m=(((e[i>>1]|0)+(e[n>>1]|0)|0)*20|0)+16+(e[k>>1]|0)+m+(e[j>>1]|0)>>5;b[d+8>>1]=m>>>0<512?m:0-m>>31&511;m=H((e[j>>1]|0)+(e[n>>1]|0)|0,-5)|0;k=c+16|0;m=(((e[a>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+m+(e[k>>1]|0)>>5;b[d+10>>1]=m>>>0<512?m:0-m>>31&511;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+18|0;m=(((e[j>>1]|0)+(e[a>>1]|0)|0)*20|0)+16+(e[n>>1]|0)+m+(e[l>>1]|0)>>5;b[d+12>>1]=m>>>0<512?m:0-m>>31&511;a=H((e[l>>1]|0)+(e[a>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+20>>1]|0)>>5;b[d+14>>1]=a>>>0<512?a:0-a>>31&511;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function EF(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==13)break;j=c;i=j;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=b;g=h;a[g>>0]=i;a[g+1>>0]=i>>8;a[g+2>>0]=i>>16;a[g+3>>0]=i>>24;h=h+4|0;a[h>>0]=j;a[h+1>>0]=j>>8;a[h+2>>0]=j>>16;a[h+3>>0]=j>>24;h=c+8|0;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+8|0;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;b=b+16|0;c=c+e|0}return}function FF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0;z=d>>1;u=f>>1;v=H(u,-2)|0;w=0-u|0;x=u<<1;y=u*3|0;h=u<<2;i=u*5|0;j=u*6|0;k=u*7|0;l=u<<3;m=u*9|0;n=u*10|0;o=z<<1;p=z*3|0;q=z<<2;r=z*5|0;s=z*6|0;t=z*7|0;g=0;f=a;d=c;while(1){if((g|0)==8)break;K=e[d+(w<<1)>>1]|0;J=e[d>>1]|0;I=e[d+(u<<1)>>1]|0;G=e[d+(x<<1)>>1]|0;F=e[d+(y<<1)>>1]|0;E=e[d+(h<<1)>>1]|0;D=e[d+(i<<1)>>1]|0;c=e[d+(j<<1)>>1]|0;A=e[d+(k<<1)>>1]|0;B=e[d+(l<<1)>>1]|0;a=e[d+(m<<1)>>1]|0;C=e[d+(n<<1)>>1]|0;L=(e[d+(v<<1)>>1]|0)+16+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>5;b[f>>1]=L>>>0<512?L:0-L>>31&511;K=K+16+E+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>5;b[f+(z<<1)>>1]=K>>>0<512?K:0-K>>31&511;J=J+16+D+((F+G|0)*20|0)+(H(E+I|0,-5)|0)>>5;b[f+(o<<1)>>1]=J>>>0<512?J:0-J>>31&511;I=I+16+c+((E+F|0)*20|0)+(H(D+G|0,-5)|0)>>5;b[f+(p<<1)>>1]=I>>>0<512?I:0-I>>31&511;G=G+16+A+((D+E|0)*20|0)+(H(c+F|0,-5)|0)>>5;b[f+(q<<1)>>1]=G>>>0<512?G:0-G>>31&511;F=F+16+B+((c+D|0)*20|0)+(H(A+E|0,-5)|0)>>5;b[f+(r<<1)>>1]=F>>>0<512?F:0-F>>31&511;E=E+16+a+((A+c|0)*20|0)+(H(B+D|0,-5)|0)>>5;b[f+(s<<1)>>1]=E>>>0<512?E:0-E>>31&511;c=D+16+C+((B+A|0)*20|0)+(H(a+c|0,-5)|0)>>5;b[f+(t<<1)>>1]=c>>>0<512?c:0-c>>31&511;g=g+1|0;f=f+2|0;d=d+2|0}return}function GF(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;j=0;while(1){if((j|0)>=(i|0))break;p=H(j,g)|0;s=b+p|0;t=s;s=s+4|0;m=H(j,h)|0;l=e+m|0;r=l;l=l+4|0;k=H(j,f)|0;q=a+k|0;o=q;n=c[o>>2]|0;o=c[o+4>>2]|0;l=OE(d[t>>0]|d[t+1>>0]<<8|d[t+2>>0]<<16|d[t+3>>0]<<24,d[s>>0]|d[s+1>>0]<<8|d[s+2>>0]<<16|d[s+3>>0]<<24,d[r>>0]|d[r+1>>0]<<8|d[r+2>>0]<<16|d[r+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24)|0;l=OE(n,o,l,M()|0)|0;o=M()|0;c[q>>2]=l;c[q+4>>2]=o;p=b+(p+8)|0;q=p;p=p+4|0;m=e+(m+8)|0;o=m;m=m+4|0;k=a+(k+8)|0;l=k;n=c[l>>2]|0;l=c[l+4>>2]|0;m=OE(d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24,d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24,d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24)|0;m=OE(n,l,m,M()|0)|0;l=M()|0;c[k>>2]=m;c[k+4>>2]=l;j=j+1|0}return}function HF(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=0;while(1){if((g|0)==8)break;j=c+1|0;i=c+-1|0;k=c+2|0;m=H((d[k>>0]|0)+(d[i>>0]|0)|0,-5)|0;l=c+3|0;m=(((d[j>>0]|0)+(d[c>>0]|0)|0)*20|0)+16+(d[c+-2>>0]|0)+m+(d[l>>0]|0)>>5;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=H((d[l>>0]|0)+(d[c>>0]|0)|0,-5)|0;n=c+4|0;m=(((d[k>>0]|0)+(d[j>>0]|0)|0)*20|0)+16+(d[i>>0]|0)+m+(d[n>>0]|0)>>5;a[b+1>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=H((d[n>>0]|0)+(d[j>>0]|0)|0,-5)|0;i=c+5|0;m=(((d[l>>0]|0)+(d[k>>0]|0)|0)*20|0)+16+(d[c>>0]|0)+m+(d[i>>0]|0)>>5;a[b+2>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=H((d[i>>0]|0)+(d[k>>0]|0)|0,-5)|0;h=c+6|0;m=(((d[n>>0]|0)+(d[l>>0]|0)|0)*20|0)+16+(d[j>>0]|0)+m+(d[h>>0]|0)>>5;a[b+3>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=H((d[h>>0]|0)+(d[l>>0]|0)|0,-5)|0;j=c+7|0;m=(((d[i>>0]|0)+(d[n>>0]|0)|0)*20|0)+16+(d[k>>0]|0)+m+(d[j>>0]|0)>>5;a[b+4>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=H((d[j>>0]|0)+(d[n>>0]|0)|0,-5)|0;k=c+8|0;m=(((d[h>>0]|0)+(d[i>>0]|0)|0)*20|0)+16+(d[l>>0]|0)+m+(d[k>>0]|0)>>5;a[b+5>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=H((d[k>>0]|0)+(d[i>>0]|0)|0,-5)|0;l=c+9|0;m=(((d[j>>0]|0)+(d[h>>0]|0)|0)*20|0)+16+(d[n>>0]|0)+m+(d[l>>0]|0)>>5;a[b+6>>0]=m>>>0>255?(m^-2147483648)>>31:m;h=H((d[l>>0]|0)+(d[h>>0]|0)|0,-5)|0;h=(((d[k>>0]|0)+(d[j>>0]|0)|0)*20|0)+16+(d[i>>0]|0)+h+(d[c+10>>0]|0)>>5;a[b+7>>0]=h>>>0>255?(h^-2147483648)>>31:h;c=c+f|0;b=b+e|0;g=g+1|0}return}function IF(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0;f=0;while(1){if((f|0)==13)break;h=d[c>>0]|d[c+1>>0]<<8|d[c+2>>0]<<16|d[c+3>>0]<<24;a[b>>0]=h;a[b+1>>0]=h>>8;a[b+2>>0]=h>>16;a[b+3>>0]=h>>24;h=c+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;b=b+8|0;c=c+e|0}return}function JF(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0;s=H(f,-2)|0;t=0-f|0;u=f<<1;v=f*3|0;w=f<<2;x=f*5|0;h=f*6|0;i=f*7|0;j=f<<3;k=f*9|0;l=f*10|0;m=e<<1;n=e*3|0;o=e<<2;p=e*5|0;q=e*6|0;r=e*7|0;g=0;while(1){if((g|0)==8)break;K=d[c+t>>0]|0;J=d[c>>0]|0;I=d[c+f>>0]|0;G=d[c+u>>0]|0;F=d[c+v>>0]|0;E=d[c+w>>0]|0;D=d[c+x>>0]|0;y=d[c+h>>0]|0;A=d[c+i>>0]|0;B=d[c+j>>0]|0;z=d[c+k>>0]|0;C=d[c+l>>0]|0;L=(d[c+s>>0]|0)+16+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>5;a[b>>0]=L>>>0>255?(L^-2147483648)>>31:L;K=K+16+E+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>5;a[b+e>>0]=K>>>0>255?(K^-2147483648)>>31:K;J=J+16+D+((F+G|0)*20|0)+(H(E+I|0,-5)|0)>>5;a[b+m>>0]=J>>>0>255?(J^-2147483648)>>31:J;I=I+16+y+((E+F|0)*20|0)+(H(D+G|0,-5)|0)>>5;a[b+n>>0]=I>>>0>255?(I^-2147483648)>>31:I;G=G+16+A+((D+E|0)*20|0)+(H(y+F|0,-5)|0)>>5;a[b+o>>0]=G>>>0>255?(G^-2147483648)>>31:G;F=F+16+B+((y+D|0)*20|0)+(H(A+E|0,-5)|0)>>5;a[b+p>>0]=F>>>0>255?(F^-2147483648)>>31:F;E=E+16+z+((A+y|0)*20|0)+(H(B+D|0,-5)|0)>>5;a[b+q>>0]=E>>>0>255?(E^-2147483648)>>31:E;y=D+16+C+((B+A|0)*20|0)+(H(z+y|0,-5)|0)>>5;a[b+r>>0]=y>>>0>255?(y^-2147483648)>>31:y;g=g+1|0;b=b+1|0;c=c+1|0}return}function KF(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=0;while(1){if((j|0)>=(i|0))break;m=H(j,g)|0;p=b+m|0;l=H(j,h)|0;o=e+l|0;k=H(j,f)|0;n=a+k|0;q=c[n>>2]|0;c[n>>2]=TE(q,TE(d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24,d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24)|0)|0;m=b+(m+4)|0;l=e+(l+4)|0;k=a+(k+4)|0;n=c[k>>2]|0;c[k>>2]=TE(n,TE(d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24)|0)|0;j=j+1|0}return}function LF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==8)break;j=c+2|0;i=c+-2|0;k=c+4|0;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+6|0;m=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+m+(e[l>>1]|0)>>5;b[d>>1]=m>>>0<1024?m:0-m>>31&1023;m=H((e[l>>1]|0)+(e[c>>1]|0)|0,-5)|0;n=c+8|0;m=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+m+(e[n>>1]|0)>>5;b[d+2>>1]=m>>>0<1024?m:0-m>>31&1023;m=H((e[n>>1]|0)+(e[j>>1]|0)|0,-5)|0;i=c+10|0;m=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+m+(e[i>>1]|0)>>5;b[d+4>>1]=m>>>0<1024?m:0-m>>31&1023;m=H((e[i>>1]|0)+(e[k>>1]|0)|0,-5)|0;a=c+12|0;m=(((e[n>>1]|0)+(e[l>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+m+(e[a>>1]|0)>>5;b[d+6>>1]=m>>>0<1024?m:0-m>>31&1023;m=H((e[a>>1]|0)+(e[l>>1]|0)|0,-5)|0;j=c+14|0;m=(((e[i>>1]|0)+(e[n>>1]|0)|0)*20|0)+16+(e[k>>1]|0)+m+(e[j>>1]|0)>>5;b[d+8>>1]=m>>>0<1024?m:0-m>>31&1023;m=H((e[j>>1]|0)+(e[n>>1]|0)|0,-5)|0;k=c+16|0;m=(((e[a>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+m+(e[k>>1]|0)>>5;b[d+10>>1]=m>>>0<1024?m:0-m>>31&1023;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+18|0;m=(((e[j>>1]|0)+(e[a>>1]|0)|0)*20|0)+16+(e[n>>1]|0)+m+(e[l>>1]|0)>>5;b[d+12>>1]=m>>>0<1024?m:0-m>>31&1023;a=H((e[l>>1]|0)+(e[a>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+20>>1]|0)>>5;b[d+14>>1]=a>>>0<1024?a:0-a>>31&1023;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function MF(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==13)break;j=c;i=j;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=b;g=h;a[g>>0]=i;a[g+1>>0]=i>>8;a[g+2>>0]=i>>16;a[g+3>>0]=i>>24;h=h+4|0;a[h>>0]=j;a[h+1>>0]=j>>8;a[h+2>>0]=j>>16;a[h+3>>0]=j>>24;h=c+8|0;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+8|0;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;b=b+16|0;c=c+e|0}return}function NF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0;z=d>>1;u=f>>1;v=H(u,-2)|0;w=0-u|0;x=u<<1;y=u*3|0;h=u<<2;i=u*5|0;j=u*6|0;k=u*7|0;l=u<<3;m=u*9|0;n=u*10|0;o=z<<1;p=z*3|0;q=z<<2;r=z*5|0;s=z*6|0;t=z*7|0;g=0;f=a;d=c;while(1){if((g|0)==8)break;K=e[d+(w<<1)>>1]|0;J=e[d>>1]|0;I=e[d+(u<<1)>>1]|0;G=e[d+(x<<1)>>1]|0;F=e[d+(y<<1)>>1]|0;E=e[d+(h<<1)>>1]|0;D=e[d+(i<<1)>>1]|0;c=e[d+(j<<1)>>1]|0;A=e[d+(k<<1)>>1]|0;B=e[d+(l<<1)>>1]|0;a=e[d+(m<<1)>>1]|0;C=e[d+(n<<1)>>1]|0;L=(e[d+(v<<1)>>1]|0)+16+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>5;b[f>>1]=L>>>0<1024?L:0-L>>31&1023;K=K+16+E+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>5;b[f+(z<<1)>>1]=K>>>0<1024?K:0-K>>31&1023;J=J+16+D+((F+G|0)*20|0)+(H(E+I|0,-5)|0)>>5;b[f+(o<<1)>>1]=J>>>0<1024?J:0-J>>31&1023;I=I+16+c+((E+F|0)*20|0)+(H(D+G|0,-5)|0)>>5;b[f+(p<<1)>>1]=I>>>0<1024?I:0-I>>31&1023;G=G+16+A+((D+E|0)*20|0)+(H(c+F|0,-5)|0)>>5;b[f+(q<<1)>>1]=G>>>0<1024?G:0-G>>31&1023;F=F+16+B+((c+D|0)*20|0)+(H(A+E|0,-5)|0)>>5;b[f+(r<<1)>>1]=F>>>0<1024?F:0-F>>31&1023;E=E+16+a+((A+c|0)*20|0)+(H(B+D|0,-5)|0)>>5;b[f+(s<<1)>>1]=E>>>0<1024?E:0-E>>31&1023;c=D+16+C+((B+A|0)*20|0)+(H(a+c|0,-5)|0)>>5;b[f+(t<<1)>>1]=c>>>0<1024?c:0-c>>31&1023;g=g+1|0;f=f+2|0;d=d+2|0}return}function OF(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;j=0;while(1){if((j|0)>=(i|0))break;p=H(j,g)|0;s=b+p|0;t=s;s=s+4|0;m=H(j,h)|0;l=e+m|0;r=l;l=l+4|0;k=H(j,f)|0;q=a+k|0;o=q;n=c[o>>2]|0;o=c[o+4>>2]|0;l=OE(d[t>>0]|d[t+1>>0]<<8|d[t+2>>0]<<16|d[t+3>>0]<<24,d[s>>0]|d[s+1>>0]<<8|d[s+2>>0]<<16|d[s+3>>0]<<24,d[r>>0]|d[r+1>>0]<<8|d[r+2>>0]<<16|d[r+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24)|0;l=OE(n,o,l,M()|0)|0;o=M()|0;c[q>>2]=l;c[q+4>>2]=o;p=b+(p+8)|0;q=p;p=p+4|0;m=e+(m+8)|0;o=m;m=m+4|0;k=a+(k+8)|0;l=k;n=c[l>>2]|0;l=c[l+4>>2]|0;m=OE(d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24,d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24,d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24)|0;m=OE(n,l,m,M()|0)|0;l=M()|0;c[k>>2]=m;c[k+4>>2]=l;j=j+1|0}return}function PF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==8)break;j=c+2|0;i=c+-2|0;k=c+4|0;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+6|0;m=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+m+(e[l>>1]|0)>>5;b[d>>1]=m>>>0<4096?m:0-m>>31&4095;m=H((e[l>>1]|0)+(e[c>>1]|0)|0,-5)|0;n=c+8|0;m=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+m+(e[n>>1]|0)>>5;b[d+2>>1]=m>>>0<4096?m:0-m>>31&4095;m=H((e[n>>1]|0)+(e[j>>1]|0)|0,-5)|0;i=c+10|0;m=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+m+(e[i>>1]|0)>>5;b[d+4>>1]=m>>>0<4096?m:0-m>>31&4095;m=H((e[i>>1]|0)+(e[k>>1]|0)|0,-5)|0;a=c+12|0;m=(((e[n>>1]|0)+(e[l>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+m+(e[a>>1]|0)>>5;b[d+6>>1]=m>>>0<4096?m:0-m>>31&4095;m=H((e[a>>1]|0)+(e[l>>1]|0)|0,-5)|0;j=c+14|0;m=(((e[i>>1]|0)+(e[n>>1]|0)|0)*20|0)+16+(e[k>>1]|0)+m+(e[j>>1]|0)>>5;b[d+8>>1]=m>>>0<4096?m:0-m>>31&4095;m=H((e[j>>1]|0)+(e[n>>1]|0)|0,-5)|0;k=c+16|0;m=(((e[a>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+m+(e[k>>1]|0)>>5;b[d+10>>1]=m>>>0<4096?m:0-m>>31&4095;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+18|0;m=(((e[j>>1]|0)+(e[a>>1]|0)|0)*20|0)+16+(e[n>>1]|0)+m+(e[l>>1]|0)>>5;b[d+12>>1]=m>>>0<4096?m:0-m>>31&4095;a=H((e[l>>1]|0)+(e[a>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+20>>1]|0)>>5;b[d+14>>1]=a>>>0<4096?a:0-a>>31&4095;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function QF(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==13)break;j=c;i=j;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=b;g=h;a[g>>0]=i;a[g+1>>0]=i>>8;a[g+2>>0]=i>>16;a[g+3>>0]=i>>24;h=h+4|0;a[h>>0]=j;a[h+1>>0]=j>>8;a[h+2>>0]=j>>16;a[h+3>>0]=j>>24;h=c+8|0;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+8|0;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;b=b+16|0;c=c+e|0}return}function RF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0;z=d>>1;u=f>>1;v=H(u,-2)|0;w=0-u|0;x=u<<1;y=u*3|0;h=u<<2;i=u*5|0;j=u*6|0;k=u*7|0;l=u<<3;m=u*9|0;n=u*10|0;o=z<<1;p=z*3|0;q=z<<2;r=z*5|0;s=z*6|0;t=z*7|0;g=0;f=a;d=c;while(1){if((g|0)==8)break;K=e[d+(w<<1)>>1]|0;J=e[d>>1]|0;I=e[d+(u<<1)>>1]|0;G=e[d+(x<<1)>>1]|0;F=e[d+(y<<1)>>1]|0;E=e[d+(h<<1)>>1]|0;D=e[d+(i<<1)>>1]|0;c=e[d+(j<<1)>>1]|0;A=e[d+(k<<1)>>1]|0;B=e[d+(l<<1)>>1]|0;a=e[d+(m<<1)>>1]|0;C=e[d+(n<<1)>>1]|0;L=(e[d+(v<<1)>>1]|0)+16+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>5;b[f>>1]=L>>>0<4096?L:0-L>>31&4095;K=K+16+E+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>5;b[f+(z<<1)>>1]=K>>>0<4096?K:0-K>>31&4095;J=J+16+D+((F+G|0)*20|0)+(H(E+I|0,-5)|0)>>5;b[f+(o<<1)>>1]=J>>>0<4096?J:0-J>>31&4095;I=I+16+c+((E+F|0)*20|0)+(H(D+G|0,-5)|0)>>5;b[f+(p<<1)>>1]=I>>>0<4096?I:0-I>>31&4095;G=G+16+A+((D+E|0)*20|0)+(H(c+F|0,-5)|0)>>5;b[f+(q<<1)>>1]=G>>>0<4096?G:0-G>>31&4095;F=F+16+B+((c+D|0)*20|0)+(H(A+E|0,-5)|0)>>5;b[f+(r<<1)>>1]=F>>>0<4096?F:0-F>>31&4095;E=E+16+a+((A+c|0)*20|0)+(H(B+D|0,-5)|0)>>5;b[f+(s<<1)>>1]=E>>>0<4096?E:0-E>>31&4095;c=D+16+C+((B+A|0)*20|0)+(H(a+c|0,-5)|0)>>5;b[f+(t<<1)>>1]=c>>>0<4096?c:0-c>>31&4095;g=g+1|0;f=f+2|0;d=d+2|0}return}function SF(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;j=0;while(1){if((j|0)>=(i|0))break;p=H(j,g)|0;s=b+p|0;t=s;s=s+4|0;m=H(j,h)|0;l=e+m|0;r=l;l=l+4|0;k=H(j,f)|0;q=a+k|0;o=q;n=c[o>>2]|0;o=c[o+4>>2]|0;l=OE(d[t>>0]|d[t+1>>0]<<8|d[t+2>>0]<<16|d[t+3>>0]<<24,d[s>>0]|d[s+1>>0]<<8|d[s+2>>0]<<16|d[s+3>>0]<<24,d[r>>0]|d[r+1>>0]<<8|d[r+2>>0]<<16|d[r+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24)|0;l=OE(n,o,l,M()|0)|0;o=M()|0;c[q>>2]=l;c[q+4>>2]=o;p=b+(p+8)|0;q=p;p=p+4|0;m=e+(m+8)|0;o=m;m=m+4|0;k=a+(k+8)|0;l=k;n=c[l>>2]|0;l=c[l+4>>2]|0;m=OE(d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24,d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24,d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24)|0;m=OE(n,l,m,M()|0)|0;l=M()|0;c[k>>2]=m;c[k+4>>2]=l;j=j+1|0}return}function TF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==8)break;j=c+2|0;i=c+-2|0;k=c+4|0;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+6|0;m=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+m+(e[l>>1]|0)>>5;b[d>>1]=m>>>0<16384?m:0-m>>31&16383;m=H((e[l>>1]|0)+(e[c>>1]|0)|0,-5)|0;n=c+8|0;m=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+m+(e[n>>1]|0)>>5;b[d+2>>1]=m>>>0<16384?m:0-m>>31&16383;m=H((e[n>>1]|0)+(e[j>>1]|0)|0,-5)|0;i=c+10|0;m=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+m+(e[i>>1]|0)>>5;b[d+4>>1]=m>>>0<16384?m:0-m>>31&16383;m=H((e[i>>1]|0)+(e[k>>1]|0)|0,-5)|0;a=c+12|0;m=(((e[n>>1]|0)+(e[l>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+m+(e[a>>1]|0)>>5;b[d+6>>1]=m>>>0<16384?m:0-m>>31&16383;m=H((e[a>>1]|0)+(e[l>>1]|0)|0,-5)|0;j=c+14|0;m=(((e[i>>1]|0)+(e[n>>1]|0)|0)*20|0)+16+(e[k>>1]|0)+m+(e[j>>1]|0)>>5;b[d+8>>1]=m>>>0<16384?m:0-m>>31&16383;m=H((e[j>>1]|0)+(e[n>>1]|0)|0,-5)|0;k=c+16|0;m=(((e[a>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+m+(e[k>>1]|0)>>5;b[d+10>>1]=m>>>0<16384?m:0-m>>31&16383;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+18|0;m=(((e[j>>1]|0)+(e[a>>1]|0)|0)*20|0)+16+(e[n>>1]|0)+m+(e[l>>1]|0)>>5;b[d+12>>1]=m>>>0<16384?m:0-m>>31&16383;a=H((e[l>>1]|0)+(e[a>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+20>>1]|0)>>5;b[d+14>>1]=a>>>0<16384?a:0-a>>31&16383;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function UF(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==13)break;j=c;i=j;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=b;g=h;a[g>>0]=i;a[g+1>>0]=i>>8;a[g+2>>0]=i>>16;a[g+3>>0]=i>>24;h=h+4|0;a[h>>0]=j;a[h+1>>0]=j>>8;a[h+2>>0]=j>>16;a[h+3>>0]=j>>24;h=c+8|0;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+8|0;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;b=b+16|0;c=c+e|0}return}function VF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0;z=d>>1;u=f>>1;v=H(u,-2)|0;w=0-u|0;x=u<<1;y=u*3|0;h=u<<2;i=u*5|0;j=u*6|0;k=u*7|0;l=u<<3;m=u*9|0;n=u*10|0;o=z<<1;p=z*3|0;q=z<<2;r=z*5|0;s=z*6|0;t=z*7|0;g=0;f=a;d=c;while(1){if((g|0)==8)break;K=e[d+(w<<1)>>1]|0;J=e[d>>1]|0;I=e[d+(u<<1)>>1]|0;G=e[d+(x<<1)>>1]|0;F=e[d+(y<<1)>>1]|0;E=e[d+(h<<1)>>1]|0;D=e[d+(i<<1)>>1]|0;c=e[d+(j<<1)>>1]|0;A=e[d+(k<<1)>>1]|0;B=e[d+(l<<1)>>1]|0;a=e[d+(m<<1)>>1]|0;C=e[d+(n<<1)>>1]|0;L=(e[d+(v<<1)>>1]|0)+16+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>5;b[f>>1]=L>>>0<16384?L:0-L>>31&16383;K=K+16+E+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>5;b[f+(z<<1)>>1]=K>>>0<16384?K:0-K>>31&16383;J=J+16+D+((F+G|0)*20|0)+(H(E+I|0,-5)|0)>>5;b[f+(o<<1)>>1]=J>>>0<16384?J:0-J>>31&16383;I=I+16+c+((E+F|0)*20|0)+(H(D+G|0,-5)|0)>>5;b[f+(p<<1)>>1]=I>>>0<16384?I:0-I>>31&16383;G=G+16+A+((D+E|0)*20|0)+(H(c+F|0,-5)|0)>>5;b[f+(q<<1)>>1]=G>>>0<16384?G:0-G>>31&16383;F=F+16+B+((c+D|0)*20|0)+(H(A+E|0,-5)|0)>>5;b[f+(r<<1)>>1]=F>>>0<16384?F:0-F>>31&16383;E=E+16+a+((A+c|0)*20|0)+(H(B+D|0,-5)|0)>>5;b[f+(s<<1)>>1]=E>>>0<16384?E:0-E>>31&16383;c=D+16+C+((B+A|0)*20|0)+(H(a+c|0,-5)|0)>>5;b[f+(t<<1)>>1]=c>>>0<16384?c:0-c>>31&16383;g=g+1|0;f=f+2|0;d=d+2|0}return}function WF(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;j=0;while(1){if((j|0)>=(i|0))break;p=H(j,g)|0;s=b+p|0;t=s;s=s+4|0;m=H(j,h)|0;l=e+m|0;r=l;l=l+4|0;k=H(j,f)|0;q=a+k|0;o=q;n=c[o>>2]|0;o=c[o+4>>2]|0;l=OE(d[t>>0]|d[t+1>>0]<<8|d[t+2>>0]<<16|d[t+3>>0]<<24,d[s>>0]|d[s+1>>0]<<8|d[s+2>>0]<<16|d[s+3>>0]<<24,d[r>>0]|d[r+1>>0]<<8|d[r+2>>0]<<16|d[r+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24)|0;l=OE(n,o,l,M()|0)|0;o=M()|0;c[q>>2]=l;c[q+4>>2]=o;p=b+(p+8)|0;q=p;p=p+4|0;m=e+(m+8)|0;o=m;m=m+4|0;k=a+(k+8)|0;l=k;n=c[l>>2]|0;l=c[l+4>>2]|0;m=OE(d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24,d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24,d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24)|0;m=OE(n,l,m,M()|0)|0;l=M()|0;c[k>>2]=m;c[k+4>>2]=l;j=j+1|0}return}function XF(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0;k=h>>1;A=g*13|0;i=c;j=0;h=d+(0-(k<<1)<<1)|0;while(1){if((j|0)==13)break;x=h+2|0;y=h+-2|0;w=h+4|0;u=H((e[w>>1]|0)+(e[y>>1]|0)|0,-5)|0;v=h+6|0;b[i>>1]=(((e[x>>1]|0)+(e[h>>1]|0)|0)*20|0)+(e[h+-4>>1]|0)+u+(e[v>>1]|0);u=H((e[v>>1]|0)+(e[h>>1]|0)|0,-5)|0;t=h+8|0;b[i+2>>1]=(((e[w>>1]|0)+(e[x>>1]|0)|0)*20|0)+(e[y>>1]|0)+u+(e[t>>1]|0);u=H((e[t>>1]|0)+(e[x>>1]|0)|0,-5)|0;y=h+10|0;b[i+4>>1]=(((e[v>>1]|0)+(e[w>>1]|0)|0)*20|0)+(e[h>>1]|0)+u+(e[y>>1]|0);u=H((e[y>>1]|0)+(e[w>>1]|0)|0,-5)|0;z=h+12|0;b[i+6>>1]=(((e[t>>1]|0)+(e[v>>1]|0)|0)*20|0)+(e[x>>1]|0)+u+(e[z>>1]|0);u=H((e[z>>1]|0)+(e[v>>1]|0)|0,-5)|0;x=h+14|0;b[i+8>>1]=(((e[y>>1]|0)+(e[t>>1]|0)|0)*20|0)+(e[w>>1]|0)+u+(e[x>>1]|0);u=H((e[x>>1]|0)+(e[t>>1]|0)|0,-5)|0;w=h+16|0;b[i+10>>1]=(((e[z>>1]|0)+(e[y>>1]|0)|0)*20|0)+(e[v>>1]|0)+u+(e[w>>1]|0);u=H((e[w>>1]|0)+(e[y>>1]|0)|0,-5)|0;v=h+18|0;b[i+12>>1]=(((e[x>>1]|0)+(e[z>>1]|0)|0)*20|0)+(e[t>>1]|0)+u+(e[v>>1]|0);z=H((e[v>>1]|0)+(e[z>>1]|0)|0,-5)|0;b[i+14>>1]=(((e[w>>1]|0)+(e[x>>1]|0)|0)*20|0)+(e[y>>1]|0)+z+(e[h+20>>1]|0);i=i+(g<<1)|0;j=j+1|0;h=h+(k<<1)|0}d=f>>1;k=H(g,-2)|0;f=0-g|0;l=g<<1;m=g*3|0;n=g<<2;o=g*5|0;p=g*6|0;q=g*7|0;r=g<<3;s=g*9|0;t=g*10|0;u=d<<1;v=d*3|0;w=d<<2;x=d*5|0;y=d*6|0;z=d*7|0;j=a;h=c+(A<<1)+((H(g,-11)|0)<<1)|0;i=0;while(1){if((i|0)==8)break;K=b[h+(f<<1)>>1]|0;J=b[h>>1]|0;I=b[h+(g<<1)>>1]|0;G=b[h+(l<<1)>>1]|0;F=b[h+(m<<1)>>1]|0;E=b[h+(n<<1)>>1]|0;D=b[h+(o<<1)>>1]|0;c=b[h+(p<<1)>>1]|0;a=b[h+(q<<1)>>1]|0;B=b[h+(r<<1)>>1]|0;A=b[h+(s<<1)>>1]|0;C=b[h+(t<<1)>>1]|0;L=(b[h+(k<<1)>>1]|0)+512+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>10;b[j>>1]=L>>>0<512?L:0-L>>31&511;K=K+512+E+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>10;b[j+(d<<1)>>1]=K>>>0<512?K:0-K>>31&511;J=J+512+D+((F+G|0)*20|0)+(H(E+I|0,-5)|0)>>10;b[j+(u<<1)>>1]=J>>>0<512?J:0-J>>31&511;I=I+512+c+((E+F|0)*20|0)+(H(D+G|0,-5)|0)>>10;b[j+(v<<1)>>1]=I>>>0<512?I:0-I>>31&511;G=G+512+a+((D+E|0)*20|0)+(H(c+F|0,-5)|0)>>10;b[j+(w<<1)>>1]=G>>>0<512?G:0-G>>31&511;F=F+512+B+((c+D|0)*20|0)+(H(a+E|0,-5)|0)>>10;b[j+(x<<1)>>1]=F>>>0<512?F:0-F>>31&511;E=E+512+A+((a+c|0)*20|0)+(H(B+D|0,-5)|0)>>10;b[j+(y<<1)>>1]=E>>>0<512?E:0-E>>31&511;c=D+512+C+((B+a|0)*20|0)+(H(A+c|0,-5)|0)>>10;b[j+(z<<1)>>1]=c>>>0<512?c:0-c>>31&511;j=j+2|0;h=h+2|0;i=i+1|0}return}function YF(c,e,f,g,h,i){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0;B=h*13|0;j=e;k=0;f=f+(0-(i<<1))|0;while(1){if((k|0)==13)break;y=f+1|0;z=f+-1|0;x=f+2|0;v=H((d[x>>0]|0)+(d[z>>0]|0)|0,-5)|0;w=f+3|0;b[j>>1]=(((d[y>>0]|0)+(d[f>>0]|0)|0)*20|0)+(d[f+-2>>0]|0)+v+(d[w>>0]|0);v=H((d[w>>0]|0)+(d[f>>0]|0)|0,-5)|0;u=f+4|0;b[j+2>>1]=(((d[x>>0]|0)+(d[y>>0]|0)|0)*20|0)+(d[z>>0]|0)+v+(d[u>>0]|0);v=H((d[u>>0]|0)+(d[y>>0]|0)|0,-5)|0;z=f+5|0;b[j+4>>1]=(((d[w>>0]|0)+(d[x>>0]|0)|0)*20|0)+(d[f>>0]|0)+v+(d[z>>0]|0);v=H((d[z>>0]|0)+(d[x>>0]|0)|0,-5)|0;A=f+6|0;b[j+6>>1]=(((d[u>>0]|0)+(d[w>>0]|0)|0)*20|0)+(d[y>>0]|0)+v+(d[A>>0]|0);v=H((d[A>>0]|0)+(d[w>>0]|0)|0,-5)|0;y=f+7|0;b[j+8>>1]=(((d[z>>0]|0)+(d[u>>0]|0)|0)*20|0)+(d[x>>0]|0)+v+(d[y>>0]|0);v=H((d[y>>0]|0)+(d[u>>0]|0)|0,-5)|0;x=f+8|0;b[j+10>>1]=(((d[A>>0]|0)+(d[z>>0]|0)|0)*20|0)+(d[w>>0]|0)+v+(d[x>>0]|0);v=H((d[x>>0]|0)+(d[z>>0]|0)|0,-5)|0;w=f+9|0;b[j+12>>1]=(((d[y>>0]|0)+(d[A>>0]|0)|0)*20|0)+(d[u>>0]|0)+v+(d[w>>0]|0);A=H((d[w>>0]|0)+(d[A>>0]|0)|0,-5)|0;b[j+14>>1]=(((d[x>>0]|0)+(d[y>>0]|0)|0)*20|0)+(d[z>>0]|0)+A+(d[f+10>>0]|0);j=j+(h<<1)|0;k=k+1|0;f=f+i|0}i=H(h,-2)|0;l=0-h|0;m=h<<1;n=h*3|0;o=h<<2;p=h*5|0;q=h*6|0;r=h*7|0;s=h<<3;t=h*9|0;u=h*10|0;v=g<<1;w=g*3|0;x=g<<2;y=g*5|0;z=g*6|0;A=g*7|0;k=c;f=e+(B<<1)+((H(h,-11)|0)<<1)|0;j=0;while(1){if((j|0)==8)break;L=b[f+(l<<1)>>1]|0;K=b[f>>1]|0;J=b[f+(h<<1)>>1]|0;I=b[f+(m<<1)>>1]|0;G=b[f+(n<<1)>>1]|0;F=b[f+(o<<1)>>1]|0;E=b[f+(p<<1)>>1]|0;B=b[f+(q<<1)>>1]|0;c=b[f+(r<<1)>>1]|0;C=b[f+(s<<1)>>1]|0;e=b[f+(t<<1)>>1]|0;D=b[f+(u<<1)>>1]|0;M=(b[f+(i<<1)>>1]|0)+512+G+((J+K|0)*20|0)+(H(I+L|0,-5)|0)>>10;a[k>>0]=M>>>0>255?(M^-2147483648)>>31:M;L=L+512+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>10;a[k+g>>0]=L>>>0>255?(L^-2147483648)>>31:L;K=K+512+E+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>10;a[k+v>>0]=K>>>0>255?(K^-2147483648)>>31:K;J=J+512+B+((F+G|0)*20|0)+(H(E+I|0,-5)|0)>>10;a[k+w>>0]=J>>>0>255?(J^-2147483648)>>31:J;I=I+512+c+((E+F|0)*20|0)+(H(B+G|0,-5)|0)>>10;a[k+x>>0]=I>>>0>255?(I^-2147483648)>>31:I;G=G+512+C+((B+E|0)*20|0)+(H(c+F|0,-5)|0)>>10;a[k+y>>0]=G>>>0>255?(G^-2147483648)>>31:G;F=F+512+e+((c+B|0)*20|0)+(H(C+E|0,-5)|0)>>10;a[k+z>>0]=F>>>0>255?(F^-2147483648)>>31:F;B=E+512+D+((C+c|0)*20|0)+(H(e+B|0,-5)|0)>>10;a[k+A>>0]=B>>>0>255?(B^-2147483648)>>31:B;k=k+1|0;f=f+2|0;j=j+1|0}return}function ZF(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;k=h>>1;A=g*13|0;i=c;j=0;h=d+(0-(k<<1)<<1)|0;while(1){if((j|0)==13)break;x=h+2|0;y=h+-2|0;w=h+4|0;u=H((e[w>>1]|0)+(e[y>>1]|0)|0,-5)|0;v=h+6|0;b[i>>1]=(((e[x>>1]|0)+(e[h>>1]|0)|0)*20|0)+55306+(e[h+-4>>1]|0)+u+(e[v>>1]|0);u=H((e[v>>1]|0)+(e[h>>1]|0)|0,-5)|0;t=h+8|0;b[i+2>>1]=(((e[w>>1]|0)+(e[x>>1]|0)|0)*20|0)+55306+(e[y>>1]|0)+u+(e[t>>1]|0);u=H((e[t>>1]|0)+(e[x>>1]|0)|0,-5)|0;y=h+10|0;b[i+4>>1]=(((e[v>>1]|0)+(e[w>>1]|0)|0)*20|0)+55306+(e[h>>1]|0)+u+(e[y>>1]|0);u=H((e[y>>1]|0)+(e[w>>1]|0)|0,-5)|0;z=h+12|0;b[i+6>>1]=(((e[t>>1]|0)+(e[v>>1]|0)|0)*20|0)+55306+(e[x>>1]|0)+u+(e[z>>1]|0);u=H((e[z>>1]|0)+(e[v>>1]|0)|0,-5)|0;x=h+14|0;b[i+8>>1]=(((e[y>>1]|0)+(e[t>>1]|0)|0)*20|0)+55306+(e[w>>1]|0)+u+(e[x>>1]|0);u=H((e[x>>1]|0)+(e[t>>1]|0)|0,-5)|0;w=h+16|0;b[i+10>>1]=(((e[z>>1]|0)+(e[y>>1]|0)|0)*20|0)+55306+(e[v>>1]|0)+u+(e[w>>1]|0);u=H((e[w>>1]|0)+(e[y>>1]|0)|0,-5)|0;v=h+18|0;b[i+12>>1]=(((e[x>>1]|0)+(e[z>>1]|0)|0)*20|0)+55306+(e[t>>1]|0)+u+(e[v>>1]|0);z=H((e[v>>1]|0)+(e[z>>1]|0)|0,-5)|0;b[i+14>>1]=(((e[w>>1]|0)+(e[x>>1]|0)|0)*20|0)+55306+(e[y>>1]|0)+z+(e[h+20>>1]|0);i=i+(g<<1)|0;j=j+1|0;h=h+(k<<1)|0}d=f>>1;k=H(g,-2)|0;f=0-g|0;l=g<<1;m=g*3|0;n=g<<2;o=g*5|0;p=g*6|0;q=g*7|0;r=g<<3;s=g*9|0;t=g*10|0;u=d<<1;v=d*3|0;w=d<<2;x=d*5|0;y=d*6|0;z=d*7|0;j=a;h=c+(A<<1)+((H(g,-11)|0)<<1)|0;i=0;while(1){if((i|0)==8)break;Q=b[h+(f<<1)>>1]|0;O=b[h>>1]|0;P=O+10230|0;M=b[h+(g<<1)>>1]|0;N=M+10230|0;K=b[h+(l<<1)>>1]|0;L=K+10230|0;I=b[h+(m<<1)>>1]|0;J=I+10230|0;F=b[h+(n<<1)>>1]|0;G=F+10230|0;D=b[h+(o<<1)>>1]|0;E=D+10230|0;c=(b[h+(p<<1)>>1]|0)+10230|0;a=(b[h+(q<<1)>>1]|0)+10230|0;B=(b[h+(r<<1)>>1]|0)+10230|0;A=(b[h+(s<<1)>>1]|0)+10230|0;C=b[h+(t<<1)>>1]|0;R=(b[h+(k<<1)>>1]|0)+10742+J+((N+P|0)*20|0)+(H(L+(Q+10230)|0,-5)|0)>>10;b[j>>1]=R>>>0<1024?R:0-R>>31&1023;P=Q+10742+G+((L+N|0)*20|0)+(H(J+P|0,-5)|0)>>10;b[j+(d<<1)>>1]=P>>>0<1024?P:0-P>>31&1023;N=O+10742+E+((J+L|0)*20|0)+(H(G+N|0,-5)|0)>>10;b[j+(u<<1)>>1]=N>>>0<1024?N:0-N>>31&1023;L=M+10742+c+((G+J|0)*20|0)+(H(E+L|0,-5)|0)>>10;b[j+(v<<1)>>1]=L>>>0<1024?L:0-L>>31&1023;J=K+10742+a+((E+G|0)*20|0)+(H(c+J|0,-5)|0)>>10;b[j+(w<<1)>>1]=J>>>0<1024?J:0-J>>31&1023;G=I+10742+B+((c+E|0)*20|0)+(H(a+G|0,-5)|0)>>10;b[j+(x<<1)>>1]=G>>>0<1024?G:0-G>>31&1023;E=F+10742+A+((a+c|0)*20|0)+(H(B+E|0,-5)|0)>>10;b[j+(y<<1)>>1]=E>>>0<1024?E:0-E>>31&1023;c=D+20972+C+((B+a|0)*20|0)+(H(A+c|0,-5)|0)>>10;b[j+(z<<1)>>1]=c>>>0<1024?c:0-c>>31&1023;j=j+2|0;h=h+2|0;i=i+1|0}return}function _F(a,d,f,g,h,i){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0;l=i>>1;B=h*13|0;j=d;k=0;i=f+(0-(l<<1)<<1)|0;while(1){if((k|0)==13)break;A=e[i>>1]|0;y=e[i+2>>1]|0;z=e[i+-2>>1]|0;x=e[i+4>>1]|0;v=H(x+z|0,-5)|0;w=e[i+6>>1]|0;c[j>>2]=((y+A|0)*20|0)+(e[i+-4>>1]|0)+v+w;v=H(w+A|0,-5)|0;u=e[i+8>>1]|0;c[j+4>>2]=((x+y|0)*20|0)+z+v+u;v=H(u+y|0,-5)|0;z=e[i+10>>1]|0;c[j+8>>2]=((w+x|0)*20|0)+A+v+z;v=H(z+x|0,-5)|0;A=e[i+12>>1]|0;c[j+12>>2]=((u+w|0)*20|0)+y+v+A;v=H(A+w|0,-5)|0;y=e[i+14>>1]|0;c[j+16>>2]=((z+u|0)*20|0)+x+v+y;v=H(y+u|0,-5)|0;x=e[i+16>>1]|0;c[j+20>>2]=((A+z|0)*20|0)+w+v+x;v=H(x+z|0,-5)|0;w=e[i+18>>1]|0;c[j+24>>2]=((y+A|0)*20|0)+u+v+w;A=H(w+A|0,-5)|0;c[j+28>>2]=((x+y|0)*20|0)+z+A+(e[i+20>>1]|0);j=j+(h<<2)|0;k=k+1|0;i=i+(l<<1)|0}f=g>>1;l=H(h,-2)|0;g=0-h|0;m=h<<1;n=h*3|0;o=h<<2;p=h*5|0;q=h*6|0;r=h*7|0;s=h<<3;t=h*9|0;u=h*10|0;v=f<<1;w=f*3|0;x=f<<2;y=f*5|0;z=f*6|0;A=f*7|0;k=a;i=d+(B<<2)+((H(h,-11)|0)<<2)|0;j=0;while(1){if((j|0)==8)break;L=c[i+(g<<2)>>2]|0;K=c[i>>2]|0;J=c[i+(h<<2)>>2]|0;I=c[i+(m<<2)>>2]|0;G=c[i+(n<<2)>>2]|0;F=c[i+(o<<2)>>2]|0;E=c[i+(p<<2)>>2]|0;d=c[i+(q<<2)>>2]|0;a=c[i+(r<<2)>>2]|0;C=c[i+(s<<2)>>2]|0;B=c[i+(t<<2)>>2]|0;D=c[i+(u<<2)>>2]|0;M=(c[i+(l<<2)>>2]|0)+512+G+((J+K|0)*20|0)+(H(I+L|0,-5)|0)>>10;b[k>>1]=M>>>0<4096?M:0-M>>31&4095;L=L+512+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>10;b[k+(f<<1)>>1]=L>>>0<4096?L:0-L>>31&4095;K=K+512+E+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>10;b[k+(v<<1)>>1]=K>>>0<4096?K:0-K>>31&4095;J=J+512+d+((F+G|0)*20|0)+(H(E+I|0,-5)|0)>>10;b[k+(w<<1)>>1]=J>>>0<4096?J:0-J>>31&4095;I=I+512+a+((E+F|0)*20|0)+(H(d+G|0,-5)|0)>>10;b[k+(x<<1)>>1]=I>>>0<4096?I:0-I>>31&4095;G=G+512+C+((d+E|0)*20|0)+(H(a+F|0,-5)|0)>>10;b[k+(y<<1)>>1]=G>>>0<4096?G:0-G>>31&4095;F=F+512+B+((a+d|0)*20|0)+(H(C+E|0,-5)|0)>>10;b[k+(z<<1)>>1]=F>>>0<4096?F:0-F>>31&4095;d=E+512+D+((C+a|0)*20|0)+(H(B+d|0,-5)|0)>>10;b[k+(A<<1)>>1]=d>>>0<4096?d:0-d>>31&4095;k=k+2|0;i=i+4|0;j=j+1|0}return}function $F(a,d,f,g,h,i){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0;l=i>>1;B=h*13|0;j=d;k=0;i=f+(0-(l<<1)<<1)|0;while(1){if((k|0)==13)break;A=e[i>>1]|0;y=e[i+2>>1]|0;z=e[i+-2>>1]|0;x=e[i+4>>1]|0;v=H(x+z|0,-5)|0;w=e[i+6>>1]|0;c[j>>2]=((y+A|0)*20|0)+(e[i+-4>>1]|0)+v+w;v=H(w+A|0,-5)|0;u=e[i+8>>1]|0;c[j+4>>2]=((x+y|0)*20|0)+z+v+u;v=H(u+y|0,-5)|0;z=e[i+10>>1]|0;c[j+8>>2]=((w+x|0)*20|0)+A+v+z;v=H(z+x|0,-5)|0;A=e[i+12>>1]|0;c[j+12>>2]=((u+w|0)*20|0)+y+v+A;v=H(A+w|0,-5)|0;y=e[i+14>>1]|0;c[j+16>>2]=((z+u|0)*20|0)+x+v+y;v=H(y+u|0,-5)|0;x=e[i+16>>1]|0;c[j+20>>2]=((A+z|0)*20|0)+w+v+x;v=H(x+z|0,-5)|0;w=e[i+18>>1]|0;c[j+24>>2]=((y+A|0)*20|0)+u+v+w;A=H(w+A|0,-5)|0;c[j+28>>2]=((x+y|0)*20|0)+z+A+(e[i+20>>1]|0);j=j+(h<<2)|0;k=k+1|0;i=i+(l<<1)|0}f=g>>1;l=H(h,-2)|0;g=0-h|0;m=h<<1;n=h*3|0;o=h<<2;p=h*5|0;q=h*6|0;r=h*7|0;s=h<<3;t=h*9|0;u=h*10|0;v=f<<1;w=f*3|0;x=f<<2;y=f*5|0;z=f*6|0;A=f*7|0;k=a;i=d+(B<<2)+((H(h,-11)|0)<<2)|0;j=0;while(1){if((j|0)==8)break;L=c[i+(g<<2)>>2]|0;K=c[i>>2]|0;J=c[i+(h<<2)>>2]|0;I=c[i+(m<<2)>>2]|0;G=c[i+(n<<2)>>2]|0;F=c[i+(o<<2)>>2]|0;E=c[i+(p<<2)>>2]|0;d=c[i+(q<<2)>>2]|0;a=c[i+(r<<2)>>2]|0;C=c[i+(s<<2)>>2]|0;B=c[i+(t<<2)>>2]|0;D=c[i+(u<<2)>>2]|0;M=(c[i+(l<<2)>>2]|0)+512+G+((J+K|0)*20|0)+(H(I+L|0,-5)|0)>>10;b[k>>1]=M>>>0<16384?M:0-M>>31&16383;L=L+512+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>10;b[k+(f<<1)>>1]=L>>>0<16384?L:0-L>>31&16383;K=K+512+E+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>10;b[k+(v<<1)>>1]=K>>>0<16384?K:0-K>>31&16383;J=J+512+d+((F+G|0)*20|0)+(H(E+I|0,-5)|0)>>10;b[k+(w<<1)>>1]=J>>>0<16384?J:0-J>>31&16383;I=I+512+a+((E+F|0)*20|0)+(H(d+G|0,-5)|0)>>10;b[k+(x<<1)>>1]=I>>>0<16384?I:0-I>>31&16383;G=G+512+C+((d+E|0)*20|0)+(H(a+F|0,-5)|0)>>10;b[k+(y<<1)>>1]=G>>>0<16384?G:0-G>>31&16383;F=F+512+B+((a+d|0)*20|0)+(H(C+E|0,-5)|0)>>10;b[k+(z<<1)>>1]=F>>>0<16384?F:0-F>>31&16383;d=E+512+D+((C+a|0)*20|0)+(H(B+d|0,-5)|0)>>10;b[k+(A<<1)>>1]=d>>>0<16384?d:0-d>>31&16383;k=k+2|0;i=i+4|0;j=j+1|0}return}function aG(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0;k=h>>1;A=g*13|0;i=c;j=0;h=d+(0-(k<<1)<<1)|0;while(1){if((j|0)==13)break;x=h+2|0;y=h+-2|0;w=h+4|0;u=H((e[w>>1]|0)+(e[y>>1]|0)|0,-5)|0;v=h+6|0;b[i>>1]=(((e[x>>1]|0)+(e[h>>1]|0)|0)*20|0)+(e[h+-4>>1]|0)+u+(e[v>>1]|0);u=H((e[v>>1]|0)+(e[h>>1]|0)|0,-5)|0;t=h+8|0;b[i+2>>1]=(((e[w>>1]|0)+(e[x>>1]|0)|0)*20|0)+(e[y>>1]|0)+u+(e[t>>1]|0);u=H((e[t>>1]|0)+(e[x>>1]|0)|0,-5)|0;y=h+10|0;b[i+4>>1]=(((e[v>>1]|0)+(e[w>>1]|0)|0)*20|0)+(e[h>>1]|0)+u+(e[y>>1]|0);u=H((e[y>>1]|0)+(e[w>>1]|0)|0,-5)|0;z=h+12|0;b[i+6>>1]=(((e[t>>1]|0)+(e[v>>1]|0)|0)*20|0)+(e[x>>1]|0)+u+(e[z>>1]|0);u=H((e[z>>1]|0)+(e[v>>1]|0)|0,-5)|0;x=h+14|0;b[i+8>>1]=(((e[y>>1]|0)+(e[t>>1]|0)|0)*20|0)+(e[w>>1]|0)+u+(e[x>>1]|0);u=H((e[x>>1]|0)+(e[t>>1]|0)|0,-5)|0;w=h+16|0;b[i+10>>1]=(((e[z>>1]|0)+(e[y>>1]|0)|0)*20|0)+(e[v>>1]|0)+u+(e[w>>1]|0);u=H((e[w>>1]|0)+(e[y>>1]|0)|0,-5)|0;v=h+18|0;b[i+12>>1]=(((e[x>>1]|0)+(e[z>>1]|0)|0)*20|0)+(e[t>>1]|0)+u+(e[v>>1]|0);z=H((e[v>>1]|0)+(e[z>>1]|0)|0,-5)|0;b[i+14>>1]=(((e[w>>1]|0)+(e[x>>1]|0)|0)*20|0)+(e[y>>1]|0)+z+(e[h+20>>1]|0);i=i+(g<<1)|0;j=j+1|0;h=h+(k<<1)|0}d=f>>1;k=H(g,-2)|0;f=0-g|0;l=g<<1;m=g*3|0;n=g<<2;o=g*5|0;p=g*6|0;q=g*7|0;r=g<<3;s=g*9|0;t=g*10|0;u=d<<1;v=d*3|0;w=d<<2;x=d*5|0;y=d*6|0;z=d*7|0;j=a;h=c+(A<<1)+((H(g,-11)|0)<<1)|0;i=0;while(1){if((i|0)==8)break;L=b[h+(f<<1)>>1]|0;K=b[h>>1]|0;J=b[h+(g<<1)>>1]|0;I=b[h+(l<<1)>>1]|0;G=b[h+(m<<1)>>1]|0;F=b[h+(n<<1)>>1]|0;E=b[h+(o<<1)>>1]|0;A=b[h+(p<<1)>>1]|0;B=b[h+(q<<1)>>1]|0;C=b[h+(r<<1)>>1]|0;a=b[h+(s<<1)>>1]|0;D=b[h+(t<<1)>>1]|0;c=(b[h+(k<<1)>>1]|0)+512+G+((J+K|0)*20|0)+(H(I+L|0,-5)|0)>>10;b[j>>1]=((e[j>>1]|0)+1+(c>>>0<512?c:0-c>>31&511)|0)>>>1;c=j+(d<<1)|0;L=L+512+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>10;b[c>>1]=((L>>>0<512?L:0-L>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=j+(u<<1)|0;K=K+512+E+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>10;b[c>>1]=((K>>>0<512?K:0-K>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=j+(v<<1)|0;J=J+512+A+((F+G|0)*20|0)+(H(E+I|0,-5)|0)>>10;b[c>>1]=((J>>>0<512?J:0-J>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=j+(w<<1)|0;I=I+512+B+((E+F|0)*20|0)+(H(A+G|0,-5)|0)>>10;b[c>>1]=((I>>>0<512?I:0-I>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=j+(x<<1)|0;G=G+512+C+((A+E|0)*20|0)+(H(B+F|0,-5)|0)>>10;b[c>>1]=((G>>>0<512?G:0-G>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=j+(y<<1)|0;F=F+512+a+((B+A|0)*20|0)+(H(C+E|0,-5)|0)>>10;b[c>>1]=((F>>>0<512?F:0-F>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=j+(z<<1)|0;A=E+512+D+((C+B|0)*20|0)+(H(a+A|0,-5)|0)>>10;b[c>>1]=((A>>>0<512?A:0-A>>31&511)+1+(e[c>>1]|0)|0)>>>1;j=j+2|0;h=h+2|0;i=i+1|0}return}function bG(c,e,f,g,h,i){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0;B=h*13|0;j=e;k=0;f=f+(0-(i<<1))|0;while(1){if((k|0)==13)break;y=f+1|0;z=f+-1|0;x=f+2|0;v=H((d[x>>0]|0)+(d[z>>0]|0)|0,-5)|0;w=f+3|0;b[j>>1]=(((d[y>>0]|0)+(d[f>>0]|0)|0)*20|0)+(d[f+-2>>0]|0)+v+(d[w>>0]|0);v=H((d[w>>0]|0)+(d[f>>0]|0)|0,-5)|0;u=f+4|0;b[j+2>>1]=(((d[x>>0]|0)+(d[y>>0]|0)|0)*20|0)+(d[z>>0]|0)+v+(d[u>>0]|0);v=H((d[u>>0]|0)+(d[y>>0]|0)|0,-5)|0;z=f+5|0;b[j+4>>1]=(((d[w>>0]|0)+(d[x>>0]|0)|0)*20|0)+(d[f>>0]|0)+v+(d[z>>0]|0);v=H((d[z>>0]|0)+(d[x>>0]|0)|0,-5)|0;A=f+6|0;b[j+6>>1]=(((d[u>>0]|0)+(d[w>>0]|0)|0)*20|0)+(d[y>>0]|0)+v+(d[A>>0]|0);v=H((d[A>>0]|0)+(d[w>>0]|0)|0,-5)|0;y=f+7|0;b[j+8>>1]=(((d[z>>0]|0)+(d[u>>0]|0)|0)*20|0)+(d[x>>0]|0)+v+(d[y>>0]|0);v=H((d[y>>0]|0)+(d[u>>0]|0)|0,-5)|0;x=f+8|0;b[j+10>>1]=(((d[A>>0]|0)+(d[z>>0]|0)|0)*20|0)+(d[w>>0]|0)+v+(d[x>>0]|0);v=H((d[x>>0]|0)+(d[z>>0]|0)|0,-5)|0;w=f+9|0;b[j+12>>1]=(((d[y>>0]|0)+(d[A>>0]|0)|0)*20|0)+(d[u>>0]|0)+v+(d[w>>0]|0);A=H((d[w>>0]|0)+(d[A>>0]|0)|0,-5)|0;b[j+14>>1]=(((d[x>>0]|0)+(d[y>>0]|0)|0)*20|0)+(d[z>>0]|0)+A+(d[f+10>>0]|0);j=j+(h<<1)|0;k=k+1|0;f=f+i|0}i=H(h,-2)|0;l=0-h|0;m=h<<1;n=h*3|0;o=h<<2;p=h*5|0;q=h*6|0;r=h*7|0;s=h<<3;t=h*9|0;u=h*10|0;v=g<<1;w=g*3|0;x=g<<2;y=g*5|0;z=g*6|0;A=g*7|0;k=c;f=e+(B<<1)+((H(h,-11)|0)<<1)|0;j=0;while(1){if((j|0)==8)break;M=b[f+(l<<1)>>1]|0;L=b[f>>1]|0;K=b[f+(h<<1)>>1]|0;J=b[f+(m<<1)>>1]|0;I=b[f+(n<<1)>>1]|0;G=b[f+(o<<1)>>1]|0;F=b[f+(p<<1)>>1]|0;e=b[f+(q<<1)>>1]|0;C=b[f+(r<<1)>>1]|0;D=b[f+(s<<1)>>1]|0;c=b[f+(t<<1)>>1]|0;E=b[f+(u<<1)>>1]|0;B=(b[f+(i<<1)>>1]|0)+512+I+((K+L|0)*20|0)+(H(J+M|0,-5)|0)>>10;a[k>>0]=((d[k>>0]|0)+1+((B>>>0>255?(B^-2147483648)>>31:B)&255)|0)>>>1;B=k+g|0;M=M+512+G+((J+K|0)*20|0)+(H(I+L|0,-5)|0)>>10;a[B>>0]=((d[B>>0]|0)+1+((M>>>0>255?(M^-2147483648)>>31:M)&255)|0)>>>1;B=k+v|0;L=L+512+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>10;a[B>>0]=(((L>>>0>255?(L^-2147483648)>>31:L)&255)+1+(d[B>>0]|0)|0)>>>1;B=k+w|0;K=K+512+e+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>10;a[B>>0]=(((K>>>0>255?(K^-2147483648)>>31:K)&255)+1+(d[B>>0]|0)|0)>>>1;B=k+x|0;J=J+512+C+((F+G|0)*20|0)+(H(e+I|0,-5)|0)>>10;a[B>>0]=(((J>>>0>255?(J^-2147483648)>>31:J)&255)+1+(d[B>>0]|0)|0)>>>1;B=k+y|0;I=I+512+D+((e+F|0)*20|0)+(H(C+G|0,-5)|0)>>10;a[B>>0]=(((I>>>0>255?(I^-2147483648)>>31:I)&255)+1+(d[B>>0]|0)|0)>>>1;B=k+z|0;G=G+512+c+((C+e|0)*20|0)+(H(D+F|0,-5)|0)>>10;a[B>>0]=(((G>>>0>255?(G^-2147483648)>>31:G)&255)+1+(d[B>>0]|0)|0)>>>1;B=k+A|0;e=F+512+E+((D+C|0)*20|0)+(H(c+e|0,-5)|0)>>10;a[B>>0]=(((e>>>0>255?(e^-2147483648)>>31:e)&255)+1+(d[B>>0]|0)|0)>>>1;k=k+1|0;f=f+2|0;j=j+1|0}return}function cG(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;k=h>>1;A=g*13|0;i=c;j=0;h=d+(0-(k<<1)<<1)|0;while(1){if((j|0)==13)break;x=h+2|0;y=h+-2|0;w=h+4|0;u=H((e[w>>1]|0)+(e[y>>1]|0)|0,-5)|0;v=h+6|0;b[i>>1]=(((e[x>>1]|0)+(e[h>>1]|0)|0)*20|0)+55306+(e[h+-4>>1]|0)+u+(e[v>>1]|0);u=H((e[v>>1]|0)+(e[h>>1]|0)|0,-5)|0;t=h+8|0;b[i+2>>1]=(((e[w>>1]|0)+(e[x>>1]|0)|0)*20|0)+55306+(e[y>>1]|0)+u+(e[t>>1]|0);u=H((e[t>>1]|0)+(e[x>>1]|0)|0,-5)|0;y=h+10|0;b[i+4>>1]=(((e[v>>1]|0)+(e[w>>1]|0)|0)*20|0)+55306+(e[h>>1]|0)+u+(e[y>>1]|0);u=H((e[y>>1]|0)+(e[w>>1]|0)|0,-5)|0;z=h+12|0;b[i+6>>1]=(((e[t>>1]|0)+(e[v>>1]|0)|0)*20|0)+55306+(e[x>>1]|0)+u+(e[z>>1]|0);u=H((e[z>>1]|0)+(e[v>>1]|0)|0,-5)|0;x=h+14|0;b[i+8>>1]=(((e[y>>1]|0)+(e[t>>1]|0)|0)*20|0)+55306+(e[w>>1]|0)+u+(e[x>>1]|0);u=H((e[x>>1]|0)+(e[t>>1]|0)|0,-5)|0;w=h+16|0;b[i+10>>1]=(((e[z>>1]|0)+(e[y>>1]|0)|0)*20|0)+55306+(e[v>>1]|0)+u+(e[w>>1]|0);u=H((e[w>>1]|0)+(e[y>>1]|0)|0,-5)|0;v=h+18|0;b[i+12>>1]=(((e[x>>1]|0)+(e[z>>1]|0)|0)*20|0)+55306+(e[t>>1]|0)+u+(e[v>>1]|0);z=H((e[v>>1]|0)+(e[z>>1]|0)|0,-5)|0;b[i+14>>1]=(((e[w>>1]|0)+(e[x>>1]|0)|0)*20|0)+55306+(e[y>>1]|0)+z+(e[h+20>>1]|0);i=i+(g<<1)|0;j=j+1|0;h=h+(k<<1)|0}d=f>>1;k=H(g,-2)|0;f=0-g|0;l=g<<1;m=g*3|0;n=g<<2;o=g*5|0;p=g*6|0;q=g*7|0;r=g<<3;s=g*9|0;t=g*10|0;u=d<<1;v=d*3|0;w=d<<2;x=d*5|0;y=d*6|0;z=d*7|0;j=a;h=c+(A<<1)+((H(g,-11)|0)<<1)|0;i=0;while(1){if((i|0)==8)break;R=b[h+(f<<1)>>1]|0;P=b[h>>1]|0;Q=P+10230|0;N=b[h+(g<<1)>>1]|0;O=N+10230|0;L=b[h+(l<<1)>>1]|0;M=L+10230|0;J=b[h+(m<<1)>>1]|0;K=J+10230|0;G=b[h+(n<<1)>>1]|0;I=G+10230|0;E=b[h+(o<<1)>>1]|0;F=E+10230|0;A=(b[h+(p<<1)>>1]|0)+10230|0;B=(b[h+(q<<1)>>1]|0)+10230|0;C=(b[h+(r<<1)>>1]|0)+10230|0;a=(b[h+(s<<1)>>1]|0)+10230|0;D=b[h+(t<<1)>>1]|0;c=(b[h+(k<<1)>>1]|0)+10742+K+((O+Q|0)*20|0)+(H(M+(R+10230)|0,-5)|0)>>10;b[j>>1]=((e[j>>1]|0)+1+(c>>>0<1024?c:0-c>>31&1023)|0)>>>1;c=j+(d<<1)|0;Q=R+10742+I+((M+O|0)*20|0)+(H(K+Q|0,-5)|0)>>10;b[c>>1]=((e[c>>1]|0)+1+(Q>>>0<1024?Q:0-Q>>31&1023)|0)>>>1;c=j+(u<<1)|0;O=P+10742+F+((K+M|0)*20|0)+(H(I+O|0,-5)|0)>>10;b[c>>1]=((O>>>0<1024?O:0-O>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=j+(v<<1)|0;M=N+10742+A+((I+K|0)*20|0)+(H(F+M|0,-5)|0)>>10;b[c>>1]=((M>>>0<1024?M:0-M>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=j+(w<<1)|0;K=L+10742+B+((F+I|0)*20|0)+(H(A+K|0,-5)|0)>>10;b[c>>1]=((K>>>0<1024?K:0-K>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=j+(x<<1)|0;I=J+10742+C+((A+F|0)*20|0)+(H(B+I|0,-5)|0)>>10;b[c>>1]=((I>>>0<1024?I:0-I>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=j+(y<<1)|0;F=G+10742+a+((B+A|0)*20|0)+(H(C+F|0,-5)|0)>>10;b[c>>1]=((F>>>0<1024?F:0-F>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=j+(z<<1)|0;A=E+20972+D+((C+B|0)*20|0)+(H(a+A|0,-5)|0)>>10;b[c>>1]=((A>>>0<1024?A:0-A>>31&1023)+1+(e[c>>1]|0)|0)>>>1;j=j+2|0;h=h+2|0;i=i+1|0}return}function dG(a,d,f,g,h,i){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0;l=i>>1;B=h*13|0;j=d;k=0;i=f+(0-(l<<1)<<1)|0;while(1){if((k|0)==13)break;A=e[i>>1]|0;y=e[i+2>>1]|0;z=e[i+-2>>1]|0;x=e[i+4>>1]|0;v=H(x+z|0,-5)|0;w=e[i+6>>1]|0;c[j>>2]=((y+A|0)*20|0)+(e[i+-4>>1]|0)+v+w;v=H(w+A|0,-5)|0;u=e[i+8>>1]|0;c[j+4>>2]=((x+y|0)*20|0)+z+v+u;v=H(u+y|0,-5)|0;z=e[i+10>>1]|0;c[j+8>>2]=((w+x|0)*20|0)+A+v+z;v=H(z+x|0,-5)|0;A=e[i+12>>1]|0;c[j+12>>2]=((u+w|0)*20|0)+y+v+A;v=H(A+w|0,-5)|0;y=e[i+14>>1]|0;c[j+16>>2]=((z+u|0)*20|0)+x+v+y;v=H(y+u|0,-5)|0;x=e[i+16>>1]|0;c[j+20>>2]=((A+z|0)*20|0)+w+v+x;v=H(x+z|0,-5)|0;w=e[i+18>>1]|0;c[j+24>>2]=((y+A|0)*20|0)+u+v+w;A=H(w+A|0,-5)|0;c[j+28>>2]=((x+y|0)*20|0)+z+A+(e[i+20>>1]|0);j=j+(h<<2)|0;k=k+1|0;i=i+(l<<1)|0}f=g>>1;l=H(h,-2)|0;g=0-h|0;m=h<<1;n=h*3|0;o=h<<2;p=h*5|0;q=h*6|0;r=h*7|0;s=h<<3;t=h*9|0;u=h*10|0;v=f<<1;w=f*3|0;x=f<<2;y=f*5|0;z=f*6|0;A=f*7|0;k=a;i=d+(B<<2)+((H(h,-11)|0)<<2)|0;j=0;while(1){if((j|0)==8)break;M=c[i+(g<<2)>>2]|0;L=c[i>>2]|0;K=c[i+(h<<2)>>2]|0;J=c[i+(m<<2)>>2]|0;I=c[i+(n<<2)>>2]|0;G=c[i+(o<<2)>>2]|0;F=c[i+(p<<2)>>2]|0;B=c[i+(q<<2)>>2]|0;C=c[i+(r<<2)>>2]|0;D=c[i+(s<<2)>>2]|0;a=c[i+(t<<2)>>2]|0;E=c[i+(u<<2)>>2]|0;d=(c[i+(l<<2)>>2]|0)+512+I+((K+L|0)*20|0)+(H(J+M|0,-5)|0)>>10;b[k>>1]=((d>>>0<4096?d:0-d>>31&4095)+1+(e[k>>1]|0)|0)>>>1;d=k+(f<<1)|0;M=M+512+G+((J+K|0)*20|0)+(H(I+L|0,-5)|0)>>10;b[d>>1]=((M>>>0<4096?M:0-M>>31&4095)+1+(e[d>>1]|0)|0)>>>1;d=k+(v<<1)|0;L=L+512+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>10;b[d>>1]=((L>>>0<4096?L:0-L>>31&4095)+1+(e[d>>1]|0)|0)>>>1;d=k+(w<<1)|0;K=K+512+B+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>10;b[d>>1]=((K>>>0<4096?K:0-K>>31&4095)+1+(e[d>>1]|0)|0)>>>1;d=k+(x<<1)|0;J=J+512+C+((F+G|0)*20|0)+(H(B+I|0,-5)|0)>>10;b[d>>1]=((J>>>0<4096?J:0-J>>31&4095)+1+(e[d>>1]|0)|0)>>>1;d=k+(y<<1)|0;I=I+512+D+((B+F|0)*20|0)+(H(C+G|0,-5)|0)>>10;b[d>>1]=((I>>>0<4096?I:0-I>>31&4095)+1+(e[d>>1]|0)|0)>>>1;d=k+(z<<1)|0;G=G+512+a+((C+B|0)*20|0)+(H(D+F|0,-5)|0)>>10;b[d>>1]=((G>>>0<4096?G:0-G>>31&4095)+1+(e[d>>1]|0)|0)>>>1;d=k+(A<<1)|0;B=F+512+E+((D+C|0)*20|0)+(H(a+B|0,-5)|0)>>10;b[d>>1]=((B>>>0<4096?B:0-B>>31&4095)+1+(e[d>>1]|0)|0)>>>1;k=k+2|0;i=i+4|0;j=j+1|0}return}function eG(a,d,f,g,h,i){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0;l=i>>1;B=h*13|0;j=d;k=0;i=f+(0-(l<<1)<<1)|0;while(1){if((k|0)==13)break;A=e[i>>1]|0;y=e[i+2>>1]|0;z=e[i+-2>>1]|0;x=e[i+4>>1]|0;v=H(x+z|0,-5)|0;w=e[i+6>>1]|0;c[j>>2]=((y+A|0)*20|0)+(e[i+-4>>1]|0)+v+w;v=H(w+A|0,-5)|0;u=e[i+8>>1]|0;c[j+4>>2]=((x+y|0)*20|0)+z+v+u;v=H(u+y|0,-5)|0;z=e[i+10>>1]|0;c[j+8>>2]=((w+x|0)*20|0)+A+v+z;v=H(z+x|0,-5)|0;A=e[i+12>>1]|0;c[j+12>>2]=((u+w|0)*20|0)+y+v+A;v=H(A+w|0,-5)|0;y=e[i+14>>1]|0;c[j+16>>2]=((z+u|0)*20|0)+x+v+y;v=H(y+u|0,-5)|0;x=e[i+16>>1]|0;c[j+20>>2]=((A+z|0)*20|0)+w+v+x;v=H(x+z|0,-5)|0;w=e[i+18>>1]|0;c[j+24>>2]=((y+A|0)*20|0)+u+v+w;A=H(w+A|0,-5)|0;c[j+28>>2]=((x+y|0)*20|0)+z+A+(e[i+20>>1]|0);j=j+(h<<2)|0;k=k+1|0;i=i+(l<<1)|0}f=g>>1;l=H(h,-2)|0;g=0-h|0;m=h<<1;n=h*3|0;o=h<<2;p=h*5|0;q=h*6|0;r=h*7|0;s=h<<3;t=h*9|0;u=h*10|0;v=f<<1;w=f*3|0;x=f<<2;y=f*5|0;z=f*6|0;A=f*7|0;k=a;i=d+(B<<2)+((H(h,-11)|0)<<2)|0;j=0;while(1){if((j|0)==8)break;M=c[i+(g<<2)>>2]|0;L=c[i>>2]|0;K=c[i+(h<<2)>>2]|0;J=c[i+(m<<2)>>2]|0;I=c[i+(n<<2)>>2]|0;G=c[i+(o<<2)>>2]|0;F=c[i+(p<<2)>>2]|0;B=c[i+(q<<2)>>2]|0;C=c[i+(r<<2)>>2]|0;D=c[i+(s<<2)>>2]|0;a=c[i+(t<<2)>>2]|0;E=c[i+(u<<2)>>2]|0;d=(c[i+(l<<2)>>2]|0)+512+I+((K+L|0)*20|0)+(H(J+M|0,-5)|0)>>10;b[k>>1]=((d>>>0<16384?d:0-d>>31&16383)+1+(e[k>>1]|0)|0)>>>1;d=k+(f<<1)|0;M=M+512+G+((J+K|0)*20|0)+(H(I+L|0,-5)|0)>>10;b[d>>1]=((M>>>0<16384?M:0-M>>31&16383)+1+(e[d>>1]|0)|0)>>>1;d=k+(v<<1)|0;L=L+512+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>10;b[d>>1]=((L>>>0<16384?L:0-L>>31&16383)+1+(e[d>>1]|0)|0)>>>1;d=k+(w<<1)|0;K=K+512+B+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>10;b[d>>1]=((K>>>0<16384?K:0-K>>31&16383)+1+(e[d>>1]|0)|0)>>>1;d=k+(x<<1)|0;J=J+512+C+((F+G|0)*20|0)+(H(B+I|0,-5)|0)>>10;b[d>>1]=((J>>>0<16384?J:0-J>>31&16383)+1+(e[d>>1]|0)|0)>>>1;d=k+(y<<1)|0;I=I+512+D+((B+F|0)*20|0)+(H(C+G|0,-5)|0)>>10;b[d>>1]=((I>>>0<16384?I:0-I>>31&16383)+1+(e[d>>1]|0)|0)>>>1;d=k+(z<<1)|0;G=G+512+a+((C+B|0)*20|0)+(H(D+F|0,-5)|0)>>10;b[d>>1]=((G>>>0<16384?G:0-G>>31&16383)+1+(e[d>>1]|0)|0)>>>1;d=k+(A<<1)|0;B=F+512+E+((D+C|0)*20|0)+(H(a+B|0,-5)|0)>>10;b[d>>1]=((B>>>0<16384?B:0-B>>31&16383)+1+(e[d>>1]|0)|0)>>>1;k=k+2|0;i=i+4|0;j=j+1|0}return}function fG(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0;z=d>>1;u=f>>1;v=H(u,-2)|0;w=0-u|0;x=u<<1;y=u*3|0;h=u<<2;i=u*5|0;j=u*6|0;k=u*7|0;l=u<<3;m=u*9|0;n=u*10|0;o=z<<1;p=z*3|0;q=z<<2;r=z*5|0;s=z*6|0;t=z*7|0;g=0;f=a;d=c;while(1){if((g|0)==8)break;L=e[d+(w<<1)>>1]|0;K=e[d>>1]|0;J=e[d+(u<<1)>>1]|0;I=e[d+(x<<1)>>1]|0;G=e[d+(y<<1)>>1]|0;F=e[d+(h<<1)>>1]|0;E=e[d+(i<<1)>>1]|0;a=e[d+(j<<1)>>1]|0;B=e[d+(k<<1)>>1]|0;C=e[d+(l<<1)>>1]|0;A=e[d+(m<<1)>>1]|0;D=e[d+(n<<1)>>1]|0;c=(e[d+(v<<1)>>1]|0)+16+G+((J+K|0)*20|0)+(H(I+L|0,-5)|0)>>5;b[f>>1]=((e[f>>1]|0)+1+(c>>>0<512?c:0-c>>31&511)|0)>>>1;c=f+(z<<1)|0;L=L+16+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>5;b[c>>1]=((L>>>0<512?L:0-L>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=f+(o<<1)|0;K=K+16+E+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>5;b[c>>1]=((K>>>0<512?K:0-K>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=f+(p<<1)|0;J=J+16+a+((F+G|0)*20|0)+(H(E+I|0,-5)|0)>>5;b[c>>1]=((J>>>0<512?J:0-J>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=f+(q<<1)|0;I=I+16+B+((E+F|0)*20|0)+(H(a+G|0,-5)|0)>>5;b[c>>1]=((I>>>0<512?I:0-I>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=f+(r<<1)|0;G=G+16+C+((a+E|0)*20|0)+(H(B+F|0,-5)|0)>>5;b[c>>1]=((G>>>0<512?G:0-G>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=f+(s<<1)|0;F=F+16+A+((B+a|0)*20|0)+(H(C+E|0,-5)|0)>>5;b[c>>1]=((F>>>0<512?F:0-F>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=f+(t<<1)|0;a=E+16+D+((C+B|0)*20|0)+(H(A+a|0,-5)|0)>>5;b[c>>1]=((a>>>0<512?a:0-a>>31&511)+1+(e[c>>1]|0)|0)>>>1;g=g+1|0;f=f+2|0;d=d+2|0}return}function gG(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0;s=H(f,-2)|0;t=0-f|0;u=f<<1;v=f*3|0;w=f<<2;x=f*5|0;h=f*6|0;i=f*7|0;j=f<<3;k=f*9|0;l=f*10|0;m=e<<1;n=e*3|0;o=e<<2;p=e*5|0;q=e*6|0;r=e*7|0;g=0;while(1){if((g|0)==8)break;L=d[c+t>>0]|0;K=d[c>>0]|0;J=d[c+f>>0]|0;I=d[c+u>>0]|0;G=d[c+v>>0]|0;F=d[c+w>>0]|0;E=d[c+x>>0]|0;z=d[c+h>>0]|0;B=d[c+i>>0]|0;C=d[c+j>>0]|0;A=d[c+k>>0]|0;D=d[c+l>>0]|0;y=(d[c+s>>0]|0)+16+G+((J+K|0)*20|0)+(H(I+L|0,-5)|0)>>5;a[b>>0]=((d[b>>0]|0)+1+((y>>>0>255?(y^-2147483648)>>31:y)&255)|0)>>>1;y=b+e|0;L=L+16+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>5;a[y>>0]=((d[y>>0]|0)+1+((L>>>0>255?(L^-2147483648)>>31:L)&255)|0)>>>1;y=b+m|0;K=K+16+E+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>5;a[y>>0]=(((K>>>0>255?(K^-2147483648)>>31:K)&255)+1+(d[y>>0]|0)|0)>>>1;y=b+n|0;J=J+16+z+((F+G|0)*20|0)+(H(E+I|0,-5)|0)>>5;a[y>>0]=(((J>>>0>255?(J^-2147483648)>>31:J)&255)+1+(d[y>>0]|0)|0)>>>1;y=b+o|0;I=I+16+B+((E+F|0)*20|0)+(H(z+G|0,-5)|0)>>5;a[y>>0]=(((I>>>0>255?(I^-2147483648)>>31:I)&255)+1+(d[y>>0]|0)|0)>>>1;y=b+p|0;G=G+16+C+((z+E|0)*20|0)+(H(B+F|0,-5)|0)>>5;a[y>>0]=(((G>>>0>255?(G^-2147483648)>>31:G)&255)+1+(d[y>>0]|0)|0)>>>1;y=b+q|0;F=F+16+A+((B+z|0)*20|0)+(H(C+E|0,-5)|0)>>5;a[y>>0]=(((F>>>0>255?(F^-2147483648)>>31:F)&255)+1+(d[y>>0]|0)|0)>>>1;y=b+r|0;z=E+16+D+((C+B|0)*20|0)+(H(A+z|0,-5)|0)>>5;a[y>>0]=(((z>>>0>255?(z^-2147483648)>>31:z)&255)+1+(d[y>>0]|0)|0)>>>1;g=g+1|0;b=b+1|0;c=c+1|0}return}function hG(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0;z=d>>1;u=f>>1;v=H(u,-2)|0;w=0-u|0;x=u<<1;y=u*3|0;h=u<<2;i=u*5|0;j=u*6|0;k=u*7|0;l=u<<3;m=u*9|0;n=u*10|0;o=z<<1;p=z*3|0;q=z<<2;r=z*5|0;s=z*6|0;t=z*7|0;g=0;f=a;d=c;while(1){if((g|0)==8)break;L=e[d+(w<<1)>>1]|0;K=e[d>>1]|0;J=e[d+(u<<1)>>1]|0;I=e[d+(x<<1)>>1]|0;G=e[d+(y<<1)>>1]|0;F=e[d+(h<<1)>>1]|0;E=e[d+(i<<1)>>1]|0;a=e[d+(j<<1)>>1]|0;B=e[d+(k<<1)>>1]|0;C=e[d+(l<<1)>>1]|0;A=e[d+(m<<1)>>1]|0;D=e[d+(n<<1)>>1]|0;c=(e[d+(v<<1)>>1]|0)+16+G+((J+K|0)*20|0)+(H(I+L|0,-5)|0)>>5;b[f>>1]=((e[f>>1]|0)+1+(c>>>0<1024?c:0-c>>31&1023)|0)>>>1;c=f+(z<<1)|0;L=L+16+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>5;b[c>>1]=((L>>>0<1024?L:0-L>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=f+(o<<1)|0;K=K+16+E+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>5;b[c>>1]=((K>>>0<1024?K:0-K>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=f+(p<<1)|0;J=J+16+a+((F+G|0)*20|0)+(H(E+I|0,-5)|0)>>5;b[c>>1]=((J>>>0<1024?J:0-J>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=f+(q<<1)|0;I=I+16+B+((E+F|0)*20|0)+(H(a+G|0,-5)|0)>>5;b[c>>1]=((I>>>0<1024?I:0-I>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=f+(r<<1)|0;G=G+16+C+((a+E|0)*20|0)+(H(B+F|0,-5)|0)>>5;b[c>>1]=((G>>>0<1024?G:0-G>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=f+(s<<1)|0;F=F+16+A+((B+a|0)*20|0)+(H(C+E|0,-5)|0)>>5;b[c>>1]=((F>>>0<1024?F:0-F>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=f+(t<<1)|0;a=E+16+D+((C+B|0)*20|0)+(H(A+a|0,-5)|0)>>5;b[c>>1]=((a>>>0<1024?a:0-a>>31&1023)+1+(e[c>>1]|0)|0)>>>1;g=g+1|0;f=f+2|0;d=d+2|0}return}function iG(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0;z=d>>1;u=f>>1;v=H(u,-2)|0;w=0-u|0;x=u<<1;y=u*3|0;h=u<<2;i=u*5|0;j=u*6|0;k=u*7|0;l=u<<3;m=u*9|0;n=u*10|0;o=z<<1;p=z*3|0;q=z<<2;r=z*5|0;s=z*6|0;t=z*7|0;g=0;f=a;d=c;while(1){if((g|0)==8)break;L=e[d+(w<<1)>>1]|0;K=e[d>>1]|0;J=e[d+(u<<1)>>1]|0;I=e[d+(x<<1)>>1]|0;G=e[d+(y<<1)>>1]|0;F=e[d+(h<<1)>>1]|0;E=e[d+(i<<1)>>1]|0;a=e[d+(j<<1)>>1]|0;B=e[d+(k<<1)>>1]|0;C=e[d+(l<<1)>>1]|0;A=e[d+(m<<1)>>1]|0;D=e[d+(n<<1)>>1]|0;c=(e[d+(v<<1)>>1]|0)+16+G+((J+K|0)*20|0)+(H(I+L|0,-5)|0)>>5;b[f>>1]=((e[f>>1]|0)+1+(c>>>0<4096?c:0-c>>31&4095)|0)>>>1;c=f+(z<<1)|0;L=L+16+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>5;b[c>>1]=((L>>>0<4096?L:0-L>>31&4095)+1+(e[c>>1]|0)|0)>>>1;c=f+(o<<1)|0;K=K+16+E+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>5;b[c>>1]=((K>>>0<4096?K:0-K>>31&4095)+1+(e[c>>1]|0)|0)>>>1;c=f+(p<<1)|0;J=J+16+a+((F+G|0)*20|0)+(H(E+I|0,-5)|0)>>5;b[c>>1]=((J>>>0<4096?J:0-J>>31&4095)+1+(e[c>>1]|0)|0)>>>1;c=f+(q<<1)|0;I=I+16+B+((E+F|0)*20|0)+(H(a+G|0,-5)|0)>>5;b[c>>1]=((I>>>0<4096?I:0-I>>31&4095)+1+(e[c>>1]|0)|0)>>>1;c=f+(r<<1)|0;G=G+16+C+((a+E|0)*20|0)+(H(B+F|0,-5)|0)>>5;b[c>>1]=((G>>>0<4096?G:0-G>>31&4095)+1+(e[c>>1]|0)|0)>>>1;c=f+(s<<1)|0;F=F+16+A+((B+a|0)*20|0)+(H(C+E|0,-5)|0)>>5;b[c>>1]=((F>>>0<4096?F:0-F>>31&4095)+1+(e[c>>1]|0)|0)>>>1;c=f+(t<<1)|0;a=E+16+D+((C+B|0)*20|0)+(H(A+a|0,-5)|0)>>5;b[c>>1]=((a>>>0<4096?a:0-a>>31&4095)+1+(e[c>>1]|0)|0)>>>1;g=g+1|0;f=f+2|0;d=d+2|0}return}function jG(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0;z=d>>1;u=f>>1;v=H(u,-2)|0;w=0-u|0;x=u<<1;y=u*3|0;h=u<<2;i=u*5|0;j=u*6|0;k=u*7|0;l=u<<3;m=u*9|0;n=u*10|0;o=z<<1;p=z*3|0;q=z<<2;r=z*5|0;s=z*6|0;t=z*7|0;g=0;f=a;d=c;while(1){if((g|0)==8)break;L=e[d+(w<<1)>>1]|0;K=e[d>>1]|0;J=e[d+(u<<1)>>1]|0;I=e[d+(x<<1)>>1]|0;G=e[d+(y<<1)>>1]|0;F=e[d+(h<<1)>>1]|0;E=e[d+(i<<1)>>1]|0;a=e[d+(j<<1)>>1]|0;B=e[d+(k<<1)>>1]|0;C=e[d+(l<<1)>>1]|0;A=e[d+(m<<1)>>1]|0;D=e[d+(n<<1)>>1]|0;c=(e[d+(v<<1)>>1]|0)+16+G+((J+K|0)*20|0)+(H(I+L|0,-5)|0)>>5;b[f>>1]=((e[f>>1]|0)+1+(c>>>0<16384?c:0-c>>31&16383)|0)>>>1;c=f+(z<<1)|0;L=L+16+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>5;b[c>>1]=((L>>>0<16384?L:0-L>>31&16383)+1+(e[c>>1]|0)|0)>>>1;c=f+(o<<1)|0;K=K+16+E+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>5;b[c>>1]=((K>>>0<16384?K:0-K>>31&16383)+1+(e[c>>1]|0)|0)>>>1;c=f+(p<<1)|0;J=J+16+a+((F+G|0)*20|0)+(H(E+I|0,-5)|0)>>5;b[c>>1]=((J>>>0<16384?J:0-J>>31&16383)+1+(e[c>>1]|0)|0)>>>1;c=f+(q<<1)|0;I=I+16+B+((E+F|0)*20|0)+(H(a+G|0,-5)|0)>>5;b[c>>1]=((I>>>0<16384?I:0-I>>31&16383)+1+(e[c>>1]|0)|0)>>>1;c=f+(r<<1)|0;G=G+16+C+((a+E|0)*20|0)+(H(B+F|0,-5)|0)>>5;b[c>>1]=((G>>>0<16384?G:0-G>>31&16383)+1+(e[c>>1]|0)|0)>>>1;c=f+(s<<1)|0;F=F+16+A+((B+a|0)*20|0)+(H(C+E|0,-5)|0)>>5;b[c>>1]=((F>>>0<16384?F:0-F>>31&16383)+1+(e[c>>1]|0)|0)>>>1;c=f+(t<<1)|0;a=E+16+D+((C+B|0)*20|0)+(H(A+a|0,-5)|0)>>5;b[c>>1]=((a>>>0<16384?a:0-a>>31&16383)+1+(e[c>>1]|0)|0)>>>1;g=g+1|0;f=f+2|0;d=d+2|0}return}function kG(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==8)break;k=c+2|0;j=c+-2|0;l=c+4|0;a=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+6|0;a=(((e[k>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+a+(e[m>>1]|0)>>5;b[d>>1]=((e[d>>1]|0)+1+(a>>>0<512?a:0-a>>31&511)|0)>>>1;a=d+2|0;n=H((e[m>>1]|0)+(e[c>>1]|0)|0,-5)|0;o=c+8|0;n=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+n+(e[o>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<512?n:0-n>>31&511)|0)>>>1;a=d+4|0;n=H((e[o>>1]|0)+(e[k>>1]|0)|0,-5)|0;j=c+10|0;n=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+n+(e[j>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<512?n:0-n>>31&511)|0)>>>1;a=d+6|0;n=H((e[j>>1]|0)+(e[l>>1]|0)|0,-5)|0;i=c+12|0;n=(((e[o>>1]|0)+(e[m>>1]|0)|0)*20|0)+16+(e[k>>1]|0)+n+(e[i>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<512?n:0-n>>31&511)|0)>>>1;a=d+8|0;n=H((e[i>>1]|0)+(e[m>>1]|0)|0,-5)|0;k=c+14|0;n=(((e[j>>1]|0)+(e[o>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+n+(e[k>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<512?n:0-n>>31&511)|0)>>>1;a=d+10|0;n=H((e[k>>1]|0)+(e[o>>1]|0)|0,-5)|0;l=c+16|0;n=(((e[i>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[m>>1]|0)+n+(e[l>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<512?n:0-n>>31&511)|0)>>>1;a=d+12|0;n=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+18|0;n=(((e[k>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[o>>1]|0)+n+(e[m>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<512?n:0-n>>31&511)|0)>>>1;a=d+14|0;i=H((e[m>>1]|0)+(e[i>>1]|0)|0,-5)|0;i=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+i+(e[c+20>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(i>>>0<512?i:0-i>>31&511)|0)>>>1;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function lG(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=0;while(1){if((g|0)==8)break;k=c+1|0;j=c+-1|0;l=c+2|0;h=H((d[l>>0]|0)+(d[j>>0]|0)|0,-5)|0;m=c+3|0;h=(((d[k>>0]|0)+(d[c>>0]|0)|0)*20|0)+16+(d[c+-2>>0]|0)+h+(d[m>>0]|0)>>5;a[b>>0]=((d[b>>0]|0)+1+((h>>>0>255?(h^-2147483648)>>31:h)&255)|0)>>>1;h=b+1|0;n=H((d[m>>0]|0)+(d[c>>0]|0)|0,-5)|0;o=c+4|0;n=(((d[l>>0]|0)+(d[k>>0]|0)|0)*20|0)+16+(d[j>>0]|0)+n+(d[o>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((n>>>0>255?(n^-2147483648)>>31:n)&255)|0)>>>1;h=b+2|0;n=H((d[o>>0]|0)+(d[k>>0]|0)|0,-5)|0;j=c+5|0;n=(((d[m>>0]|0)+(d[l>>0]|0)|0)*20|0)+16+(d[c>>0]|0)+n+(d[j>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((n>>>0>255?(n^-2147483648)>>31:n)&255)|0)>>>1;h=b+3|0;n=H((d[j>>0]|0)+(d[l>>0]|0)|0,-5)|0;i=c+6|0;n=(((d[o>>0]|0)+(d[m>>0]|0)|0)*20|0)+16+(d[k>>0]|0)+n+(d[i>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((n>>>0>255?(n^-2147483648)>>31:n)&255)|0)>>>1;h=b+4|0;n=H((d[i>>0]|0)+(d[m>>0]|0)|0,-5)|0;k=c+7|0;n=(((d[j>>0]|0)+(d[o>>0]|0)|0)*20|0)+16+(d[l>>0]|0)+n+(d[k>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((n>>>0>255?(n^-2147483648)>>31:n)&255)|0)>>>1;h=b+5|0;n=H((d[k>>0]|0)+(d[o>>0]|0)|0,-5)|0;l=c+8|0;n=(((d[i>>0]|0)+(d[j>>0]|0)|0)*20|0)+16+(d[m>>0]|0)+n+(d[l>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((n>>>0>255?(n^-2147483648)>>31:n)&255)|0)>>>1;h=b+6|0;n=H((d[l>>0]|0)+(d[j>>0]|0)|0,-5)|0;m=c+9|0;n=(((d[k>>0]|0)+(d[i>>0]|0)|0)*20|0)+16+(d[o>>0]|0)+n+(d[m>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((n>>>0>255?(n^-2147483648)>>31:n)&255)|0)>>>1;h=b+7|0;i=H((d[m>>0]|0)+(d[i>>0]|0)|0,-5)|0;i=(((d[l>>0]|0)+(d[k>>0]|0)|0)*20|0)+16+(d[j>>0]|0)+i+(d[c+10>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((i>>>0>255?(i^-2147483648)>>31:i)&255)|0)>>>1;c=c+f|0;b=b+e|0;g=g+1|0}return}function mG(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==8)break;k=c+2|0;j=c+-2|0;l=c+4|0;a=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+6|0;a=(((e[k>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+a+(e[m>>1]|0)>>5;b[d>>1]=((e[d>>1]|0)+1+(a>>>0<1024?a:0-a>>31&1023)|0)>>>1;a=d+2|0;n=H((e[m>>1]|0)+(e[c>>1]|0)|0,-5)|0;o=c+8|0;n=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+n+(e[o>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<1024?n:0-n>>31&1023)|0)>>>1;a=d+4|0;n=H((e[o>>1]|0)+(e[k>>1]|0)|0,-5)|0;j=c+10|0;n=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+n+(e[j>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<1024?n:0-n>>31&1023)|0)>>>1;a=d+6|0;n=H((e[j>>1]|0)+(e[l>>1]|0)|0,-5)|0;i=c+12|0;n=(((e[o>>1]|0)+(e[m>>1]|0)|0)*20|0)+16+(e[k>>1]|0)+n+(e[i>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<1024?n:0-n>>31&1023)|0)>>>1;a=d+8|0;n=H((e[i>>1]|0)+(e[m>>1]|0)|0,-5)|0;k=c+14|0;n=(((e[j>>1]|0)+(e[o>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+n+(e[k>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<1024?n:0-n>>31&1023)|0)>>>1;a=d+10|0;n=H((e[k>>1]|0)+(e[o>>1]|0)|0,-5)|0;l=c+16|0;n=(((e[i>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[m>>1]|0)+n+(e[l>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<1024?n:0-n>>31&1023)|0)>>>1;a=d+12|0;n=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+18|0;n=(((e[k>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[o>>1]|0)+n+(e[m>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<1024?n:0-n>>31&1023)|0)>>>1;a=d+14|0;i=H((e[m>>1]|0)+(e[i>>1]|0)|0,-5)|0;i=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+i+(e[c+20>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(i>>>0<1024?i:0-i>>31&1023)|0)>>>1;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function nG(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==8)break;k=c+2|0;j=c+-2|0;l=c+4|0;a=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+6|0;a=(((e[k>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+a+(e[m>>1]|0)>>5;b[d>>1]=((e[d>>1]|0)+1+(a>>>0<4096?a:0-a>>31&4095)|0)>>>1;a=d+2|0;n=H((e[m>>1]|0)+(e[c>>1]|0)|0,-5)|0;o=c+8|0;n=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+n+(e[o>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<4096?n:0-n>>31&4095)|0)>>>1;a=d+4|0;n=H((e[o>>1]|0)+(e[k>>1]|0)|0,-5)|0;j=c+10|0;n=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+n+(e[j>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<4096?n:0-n>>31&4095)|0)>>>1;a=d+6|0;n=H((e[j>>1]|0)+(e[l>>1]|0)|0,-5)|0;i=c+12|0;n=(((e[o>>1]|0)+(e[m>>1]|0)|0)*20|0)+16+(e[k>>1]|0)+n+(e[i>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<4096?n:0-n>>31&4095)|0)>>>1;a=d+8|0;n=H((e[i>>1]|0)+(e[m>>1]|0)|0,-5)|0;k=c+14|0;n=(((e[j>>1]|0)+(e[o>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+n+(e[k>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<4096?n:0-n>>31&4095)|0)>>>1;a=d+10|0;n=H((e[k>>1]|0)+(e[o>>1]|0)|0,-5)|0;l=c+16|0;n=(((e[i>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[m>>1]|0)+n+(e[l>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<4096?n:0-n>>31&4095)|0)>>>1;a=d+12|0;n=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+18|0;n=(((e[k>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[o>>1]|0)+n+(e[m>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<4096?n:0-n>>31&4095)|0)>>>1;a=d+14|0;i=H((e[m>>1]|0)+(e[i>>1]|0)|0,-5)|0;i=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+i+(e[c+20>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(i>>>0<4096?i:0-i>>31&4095)|0)>>>1;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function oG(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==8)break;k=c+2|0;j=c+-2|0;l=c+4|0;a=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+6|0;a=(((e[k>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+a+(e[m>>1]|0)>>5;b[d>>1]=((e[d>>1]|0)+1+(a>>>0<16384?a:0-a>>31&16383)|0)>>>1;a=d+2|0;n=H((e[m>>1]|0)+(e[c>>1]|0)|0,-5)|0;o=c+8|0;n=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+n+(e[o>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<16384?n:0-n>>31&16383)|0)>>>1;a=d+4|0;n=H((e[o>>1]|0)+(e[k>>1]|0)|0,-5)|0;j=c+10|0;n=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+n+(e[j>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<16384?n:0-n>>31&16383)|0)>>>1;a=d+6|0;n=H((e[j>>1]|0)+(e[l>>1]|0)|0,-5)|0;i=c+12|0;n=(((e[o>>1]|0)+(e[m>>1]|0)|0)*20|0)+16+(e[k>>1]|0)+n+(e[i>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<16384?n:0-n>>31&16383)|0)>>>1;a=d+8|0;n=H((e[i>>1]|0)+(e[m>>1]|0)|0,-5)|0;k=c+14|0;n=(((e[j>>1]|0)+(e[o>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+n+(e[k>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<16384?n:0-n>>31&16383)|0)>>>1;a=d+10|0;n=H((e[k>>1]|0)+(e[o>>1]|0)|0,-5)|0;l=c+16|0;n=(((e[i>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[m>>1]|0)+n+(e[l>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<16384?n:0-n>>31&16383)|0)>>>1;a=d+12|0;n=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+18|0;n=(((e[k>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[o>>1]|0)+n+(e[m>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<16384?n:0-n>>31&16383)|0)>>>1;a=d+14|0;i=H((e[m>>1]|0)+(e[i>>1]|0)|0,-5)|0;i=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+i+(e[c+20>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(i>>>0<16384?i:0-i>>31&16383)|0)>>>1;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function pG(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=0;while(1){if((g|0)>=(f|0))break;h=a;j=b;k=j;j=j+4|0;j=OE(c[h>>2]|0,c[h+4>>2]|0,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)|0;k=M()|0;h=a;c[h>>2]=j;c[h+4>>2]=k;h=a+8|0;k=h;j=b+8|0;i=j;j=j+4|0;j=OE(c[k>>2]|0,c[k+4>>2]|0,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)|0;i=M()|0;c[h>>2]=j;c[h+4>>2]=i;g=g+1|0;a=a+e|0;b=b+e|0}return}function qG(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=0;while(1){if((g|0)>=(f|0))break;c[a>>2]=TE(c[a>>2]|0,d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24)|0;h=a+4|0;i=b+4|0;c[h>>2]=TE(c[h>>2]|0,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24)|0;g=g+1|0;a=a+e|0;b=b+e|0}return}function rG(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=0;while(1){if((g|0)>=(f|0))break;h=a;j=b;k=j;j=j+4|0;j=OE(c[h>>2]|0,c[h+4>>2]|0,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)|0;k=M()|0;h=a;c[h>>2]=j;c[h+4>>2]=k;h=a+8|0;k=h;j=b+8|0;i=j;j=j+4|0;j=OE(c[k>>2]|0,c[k+4>>2]|0,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)|0;i=M()|0;c[h>>2]=j;c[h+4>>2]=i;g=g+1|0;a=a+e|0;b=b+e|0}return}function sG(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=0;while(1){if((g|0)>=(f|0))break;h=a;j=b;k=j;j=j+4|0;j=OE(c[h>>2]|0,c[h+4>>2]|0,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)|0;k=M()|0;h=a;c[h>>2]=j;c[h+4>>2]=k;h=a+8|0;k=h;j=b+8|0;i=j;j=j+4|0;j=OE(c[k>>2]|0,c[k+4>>2]|0,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)|0;i=M()|0;c[h>>2]=j;c[h+4>>2]=i;g=g+1|0;a=a+e|0;b=b+e|0}return}function tG(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=0;while(1){if((g|0)>=(f|0))break;h=a;j=b;k=j;j=j+4|0;j=OE(c[h>>2]|0,c[h+4>>2]|0,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)|0;k=M()|0;h=a;c[h>>2]=j;c[h+4>>2]=k;h=a+8|0;k=h;j=b+8|0;i=j;j=j+4|0;j=OE(c[k>>2]|0,c[k+4>>2]|0,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)|0;i=M()|0;c[h>>2]=j;c[h+4>>2]=i;g=g+1|0;a=a+e|0;b=b+e|0}return}function uG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;DF(a,b,c,d);DF(a+16|0,b+16|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;DF(a,b,c,d);DF(a+16|0,b+16|0,c,d);return}function vG(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==21)break;g=c;h=g;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=g+4|0;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;i=b;j=i;a[j>>0]=h;a[j+1>>0]=h>>8;a[j+2>>0]=h>>16;a[j+3>>0]=h>>24;i=i+4|0;a[i>>0]=g;a[i+1>>0]=g>>8;a[i+2>>0]=g>>16;a[i+3>>0]=g>>24;i=c+8|0;g=i;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;i=i+4|0;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=b+8|0;h=j;a[h>>0]=g;a[h+1>>0]=g>>8;a[h+2>>0]=g>>16;a[h+3>>0]=g>>24;j=j+4|0;a[j>>0]=i;a[j+1>>0]=i>>8;a[j+2>>0]=i>>16;a[j+3>>0]=i>>24;j=c+16|0;i=j;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=b+16|0;g=h;a[g>>0]=i;a[g+1>>0]=i>>8;a[g+2>>0]=i>>16;a[g+3>>0]=i>>24;h=h+4|0;a[h>>0]=j;a[h+1>>0]=j>>8;a[h+2>>0]=j>>16;a[h+3>>0]=j>>24;h=c+24|0;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+24|0;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;b=b+32|0;c=c+e|0}return}function wG(a,b,c){a=a|0;b=b|0;c=c|0;FF(a,b,c,32);FF(a+16|0,b+16|0,c,32);a=a+(c<<3)|0;FF(a,b+256|0,c,32);FF(a+16|0,b+272|0,c,32);return}function xG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;GF(a,b,c,d,e,32,16);GF(a+16|0,b+16|0,c+16|0,d,e,32,16);return}function yG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;HF(a,b,c,d);HF(a+8|0,b+8|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;HF(a,b,c,d);HF(a+8|0,b+8|0,c,d);return}function zG(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0;f=0;while(1){if((f|0)==21)break;h=d[c>>0]|d[c+1>>0]<<8|d[c+2>>0]<<16|d[c+3>>0]<<24;a[b>>0]=h;a[b+1>>0]=h>>8;a[b+2>>0]=h>>16;a[b+3>>0]=h>>24;h=c+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;g=c+8|0;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;h=b+8|0;a[h>>0]=g;a[h+1>>0]=g>>8;a[h+2>>0]=g>>16;a[h+3>>0]=g>>24;h=c+12|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+12|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;b=b+16|0;c=c+e|0}return}function AG(a,b,c){a=a|0;b=b|0;c=c|0;JF(a,b,c,16);JF(a+8|0,b+8|0,c,16);a=a+(c<<3)|0;JF(a,b+128|0,c,16);JF(a+8|0,b+136|0,c,16);return}function BG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;KF(a,b,c,d,e,16,16);KF(a+8|0,b+8|0,c+8|0,d,e,16,16);return}function CG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;LF(a,b,c,d);LF(a+16|0,b+16|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;LF(a,b,c,d);LF(a+16|0,b+16|0,c,d);return}function DG(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==21)break;g=c;h=g;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=g+4|0;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;i=b;j=i;a[j>>0]=h;a[j+1>>0]=h>>8;a[j+2>>0]=h>>16;a[j+3>>0]=h>>24;i=i+4|0;a[i>>0]=g;a[i+1>>0]=g>>8;a[i+2>>0]=g>>16;a[i+3>>0]=g>>24;i=c+8|0;g=i;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;i=i+4|0;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=b+8|0;h=j;a[h>>0]=g;a[h+1>>0]=g>>8;a[h+2>>0]=g>>16;a[h+3>>0]=g>>24;j=j+4|0;a[j>>0]=i;a[j+1>>0]=i>>8;a[j+2>>0]=i>>16;a[j+3>>0]=i>>24;j=c+16|0;i=j;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=b+16|0;g=h;a[g>>0]=i;a[g+1>>0]=i>>8;a[g+2>>0]=i>>16;a[g+3>>0]=i>>24;h=h+4|0;a[h>>0]=j;a[h+1>>0]=j>>8;a[h+2>>0]=j>>16;a[h+3>>0]=j>>24;h=c+24|0;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+24|0;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;b=b+32|0;c=c+e|0}return}function EG(a,b,c){a=a|0;b=b|0;c=c|0;NF(a,b,c,32);NF(a+16|0,b+16|0,c,32);a=a+(c<<3)|0;NF(a,b+256|0,c,32);NF(a+16|0,b+272|0,c,32);return}function FG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;OF(a,b,c,d,e,32,16);OF(a+16|0,b+16|0,c+16|0,d,e,32,16);return}function GG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;PF(a,b,c,d);PF(a+16|0,b+16|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;PF(a,b,c,d);PF(a+16|0,b+16|0,c,d);return}function HG(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==21)break;g=c;h=g;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=g+4|0;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;i=b;j=i;a[j>>0]=h;a[j+1>>0]=h>>8;a[j+2>>0]=h>>16;a[j+3>>0]=h>>24;i=i+4|0;a[i>>0]=g;a[i+1>>0]=g>>8;a[i+2>>0]=g>>16;a[i+3>>0]=g>>24;i=c+8|0;g=i;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;i=i+4|0;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=b+8|0;h=j;a[h>>0]=g;a[h+1>>0]=g>>8;a[h+2>>0]=g>>16;a[h+3>>0]=g>>24;j=j+4|0;a[j>>0]=i;a[j+1>>0]=i>>8;a[j+2>>0]=i>>16;a[j+3>>0]=i>>24;j=c+16|0;i=j;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=b+16|0;g=h;a[g>>0]=i;a[g+1>>0]=i>>8;a[g+2>>0]=i>>16;a[g+3>>0]=i>>24;h=h+4|0;a[h>>0]=j;a[h+1>>0]=j>>8;a[h+2>>0]=j>>16;a[h+3>>0]=j>>24;h=c+24|0;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+24|0;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;b=b+32|0;c=c+e|0}return}function IG(a,b,c){a=a|0;b=b|0;c=c|0;RF(a,b,c,32);RF(a+16|0,b+16|0,c,32);a=a+(c<<3)|0;RF(a,b+256|0,c,32);RF(a+16|0,b+272|0,c,32);return}function JG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;SF(a,b,c,d,e,32,16);SF(a+16|0,b+16|0,c+16|0,d,e,32,16);return}function KG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;TF(a,b,c,d);TF(a+16|0,b+16|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;TF(a,b,c,d);TF(a+16|0,b+16|0,c,d);return}function LG(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==21)break;g=c;h=g;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=g+4|0;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;i=b;j=i;a[j>>0]=h;a[j+1>>0]=h>>8;a[j+2>>0]=h>>16;a[j+3>>0]=h>>24;i=i+4|0;a[i>>0]=g;a[i+1>>0]=g>>8;a[i+2>>0]=g>>16;a[i+3>>0]=g>>24;i=c+8|0;g=i;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;i=i+4|0;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=b+8|0;h=j;a[h>>0]=g;a[h+1>>0]=g>>8;a[h+2>>0]=g>>16;a[h+3>>0]=g>>24;j=j+4|0;a[j>>0]=i;a[j+1>>0]=i>>8;a[j+2>>0]=i>>16;a[j+3>>0]=i>>24;j=c+16|0;i=j;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=b+16|0;g=h;a[g>>0]=i;a[g+1>>0]=i>>8;a[g+2>>0]=i>>16;a[g+3>>0]=i>>24;h=h+4|0;a[h>>0]=j;a[h+1>>0]=j>>8;a[h+2>>0]=j>>16;a[h+3>>0]=j>>24;h=c+24|0;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+24|0;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;b=b+32|0;c=c+e|0}return}function MG(a,b,c){a=a|0;b=b|0;c=c|0;VF(a,b,c,32);VF(a+16|0,b+16|0,c,32);a=a+(c<<3)|0;VF(a,b+256|0,c,32);VF(a+16|0,b+272|0,c,32);return}function NG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;WF(a,b,c,d,e,32,16);WF(a+16|0,b+16|0,c+16|0,d,e,32,16);return}function OG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;XF(a,b,c,d,32,e);f=b+16|0;XF(a+16|0,f,c+16|0,d,32,e);c=c+(e<<3)|0;a=a+(d<<3)|0;XF(a,b,c,d,32,e);XF(a+16|0,f,c+16|0,d,32,e);return}function PG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;YF(a,b,c,d,16,e);f=b+16|0;YF(a+8|0,f,c+8|0,d,16,e);c=c+(e<<3)|0;a=a+(d<<3)|0;YF(a,b,c,d,16,e);YF(a+8|0,f,c+8|0,d,16,e);return}function QG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;ZF(a,b,c,d,32,e);f=b+16|0;ZF(a+16|0,f,c+16|0,d,32,e);c=c+(e<<3)|0;a=a+(d<<3)|0;ZF(a,b,c,d,32,e);ZF(a+16|0,f,c+16|0,d,32,e);return}function RG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;_F(a,b,c,d,32,e);f=b+32|0;_F(a+16|0,f,c+16|0,d,32,e);c=c+(e<<3)|0;a=a+(d<<3)|0;_F(a,b,c,d,32,e);_F(a+16|0,f,c+16|0,d,32,e);return}function SG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;$F(a,b,c,d,32,e);f=b+32|0;$F(a+16|0,f,c+16|0,d,32,e);c=c+(e<<3)|0;a=a+(d<<3)|0;$F(a,b,c,d,32,e);$F(a+16|0,f,c+16|0,d,32,e);return}function TG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;aG(a,b,c,d,32,e);f=b+16|0;aG(a+16|0,f,c+16|0,d,32,e);c=c+(e<<3)|0;a=a+(d<<3)|0;aG(a,b,c,d,32,e);aG(a+16|0,f,c+16|0,d,32,e);return}function UG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;bG(a,b,c,d,16,e);f=b+16|0;bG(a+8|0,f,c+8|0,d,16,e);c=c+(e<<3)|0;a=a+(d<<3)|0;bG(a,b,c,d,16,e);bG(a+8|0,f,c+8|0,d,16,e);return}function VG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;cG(a,b,c,d,32,e);f=b+16|0;cG(a+16|0,f,c+16|0,d,32,e);c=c+(e<<3)|0;a=a+(d<<3)|0;cG(a,b,c,d,32,e);cG(a+16|0,f,c+16|0,d,32,e);return}function WG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;dG(a,b,c,d,32,e);f=b+32|0;dG(a+16|0,f,c+16|0,d,32,e);c=c+(e<<3)|0;a=a+(d<<3)|0;dG(a,b,c,d,32,e);dG(a+16|0,f,c+16|0,d,32,e);return}function XG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;eG(a,b,c,d,32,e);f=b+32|0;eG(a+16|0,f,c+16|0,d,32,e);c=c+(e<<3)|0;a=a+(d<<3)|0;eG(a,b,c,d,32,e);eG(a+16|0,f,c+16|0,d,32,e);return}function YG(a,b,c){a=a|0;b=b|0;c=c|0;fG(a,b,c,32);fG(a+16|0,b+16|0,c,32);a=a+(c<<3)|0;fG(a,b+256|0,c,32);fG(a+16|0,b+272|0,c,32);return}function ZG(a,b,c){a=a|0;b=b|0;c=c|0;gG(a,b,c,16);gG(a+8|0,b+8|0,c,16);a=a+(c<<3)|0;gG(a,b+128|0,c,16);gG(a+8|0,b+136|0,c,16);return}function _G(a,b,c){a=a|0;b=b|0;c=c|0;hG(a,b,c,32);hG(a+16|0,b+16|0,c,32);a=a+(c<<3)|0;hG(a,b+256|0,c,32);hG(a+16|0,b+272|0,c,32);return}function $G(a,b,c){a=a|0;b=b|0;c=c|0;iG(a,b,c,32);iG(a+16|0,b+16|0,c,32);a=a+(c<<3)|0;iG(a,b+256|0,c,32);iG(a+16|0,b+272|0,c,32);return}function aH(a,b,c){a=a|0;b=b|0;c=c|0;jG(a,b,c,32);jG(a+16|0,b+16|0,c,32);a=a+(c<<3)|0;jG(a,b+256|0,c,32);jG(a+16|0,b+272|0,c,32);return}function bH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;kG(a,b,c,d);kG(a+16|0,b+16|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;kG(a,b,c,d);kG(a+16|0,b+16|0,c,d);return}function cH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;lG(a,b,c,d);lG(a+8|0,b+8|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;lG(a,b,c,d);lG(a+8|0,b+8|0,c,d);return}function dH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;mG(a,b,c,d);mG(a+16|0,b+16|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;mG(a,b,c,d);mG(a+16|0,b+16|0,c,d);return}function eH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;nG(a,b,c,d);nG(a+16|0,b+16|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;nG(a,b,c,d);nG(a+16|0,b+16|0,c,d);return}function fH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;oG(a,b,c,d);oG(a+16|0,b+16|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;oG(a,b,c,d);oG(a+16|0,b+16|0,c,d);return}function gH(a,b,c){a=a|0;b=b|0;c=c|0;pG(a,b,c,16);pG(a+16|0,b+16|0,c,16);return}function hH(a,b,c){a=a|0;b=b|0;c=c|0;qG(a,b,c,16);qG(a+8|0,b+8|0,c,16);return}function iH(a,b,c){a=a|0;b=b|0;c=c|0;rG(a,b,c,16);rG(a+16|0,b+16|0,c,16);return}function jH(a,b,c){a=a|0;b=b|0;c=c|0;sG(a,b,c,16);sG(a+16|0,b+16|0,c,16);return}function kH(a,b,c){a=a|0;b=b|0;c=c|0;tG(a,b,c,16);tG(a+16|0,b+16|0,c,16);return}function lH(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==2)break;j=c+2|0;i=c+-2|0;k=c+4|0;l=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;a=c+6|0;l=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+l+(e[a>>1]|0)>>5;b[d>>1]=l>>>0<512?l:0-l>>31&511;a=H((e[a>>1]|0)+(e[c>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+8>>1]|0)>>5;b[d+2>>1]=a>>>0<512?a:0-a>>31&511;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function mH(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;f=0;while(1){if((f|0)==7)break;g=d[c>>0]|d[c+1>>0]<<8|d[c+2>>0]<<16|d[c+3>>0]<<24;a[b>>0]=g;a[b+1>>0]=g>>8;a[b+2>>0]=g>>16;a[b+3>>0]=g>>24;f=f+1|0;c=c+e|0;b=b+4|0}return}function nH(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=d>>1;f=0;d=c;while(1){if((f|0)==2)break;l=e[d+-4>>1]|0;c=e[d>>1]|0;i=e[d+4>>1]|0;j=e[d+8>>1]|0;h=e[d+12>>1]|0;k=e[d+16>>1]|0;m=(e[d+-8>>1]|0)+16+h+((i+c|0)*20|0)+(H(j+l|0,-5)|0)>>5;b[a>>1]=m>>>0<512?m:0-m>>31&511;c=l+16+k+((j+i|0)*20|0)+(H(h+c|0,-5)|0)>>5;b[a+(g<<1)>>1]=c>>>0<512?c:0-c>>31&511;f=f+1|0;a=a+2|0;d=d+2|0}return}function oH(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=0;while(1){if((h|0)==2)break;j=b+(H(h,g)|0)|0;i=e+(h<<2)|0;i=OE(d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24,0,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24,0)|0;M()|0;c[a+(H(h,f)|0)>>2]=i;h=h+1|0}return}function pH(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;g=0;while(1){if((g|0)==2)break;j=c+1|0;i=c+-1|0;k=c+2|0;l=H((d[k>>0]|0)+(d[i>>0]|0)|0,-5)|0;h=c+3|0;l=(((d[j>>0]|0)+(d[c>>0]|0)|0)*20|0)+16+(d[c+-2>>0]|0)+l+(d[h>>0]|0)>>5;a[b>>0]=l>>>0>255?(l^-2147483648)>>31:l;h=H((d[h>>0]|0)+(d[c>>0]|0)|0,-5)|0;h=(((d[k>>0]|0)+(d[j>>0]|0)|0)*20|0)+16+(d[i>>0]|0)+h+(d[c+4>>0]|0)>>5;a[b+1>>0]=h>>>0>255?(h^-2147483648)>>31:h;c=c+f|0;b=b+e|0;g=g+1|0}return}function qH(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;f=0;while(1){if((f|0)==7)break;g=d[c>>0]|d[c+1>>0]<<8;a[b>>0]=g;a[b+1>>0]=g>>8;f=f+1|0;c=c+e|0;b=b+2|0}return} -function tk(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0;ia=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);Y=ia+20|0;W=ia;ha=ia+8|0;aa=g+21788|0;k=c[aa>>2]|0;_=g+21792|0;o=c[_>>2]|0;Z=g+21796|0;l=c[Z>>2]|0;ba=c[(c[f+24364>>2]|0)+(l<<2)>>2]|0;n=f+25976|0;V=g+848|0;if(!(c[V>>2]|0))fa=(c[(c[f+28216>>2]|0)+16>>2]|0)!=0;else fa=0;i=f+24316|0;ga=f+25664|0;m=g+21772|0;j=f+12|0;h=0;while(1){if((h|0)==3)break;X=c[ga>>2]|0;da=c[m>>2]|0;U=(c[(c[i>>2]|0)+(h<<2)>>2]|0)+((H(da,o)|0)+(k<>2]=U;X=U+(H(c[aa>>2]<<2&12,da)|0)+(64<>2]&1023](X,da,4);h=h+1|0}p=g+23412|0;a[(c[f+26388>>2]|0)+l>>0]=c[p>>2];X=g+21828|0;h=c[m>>2]|0;a:do if(c[X>>2]|0){m=h<<1;c[g+21784>>2]=m;c[g+21780>>2]=m;n=f+26168|0;b:do if(o&1|0){i=H(h,-15)|0;h=0;while(1){if((h|0)==3)break b;da=ha+(h<<2)|0;c[da>>2]=(c[da>>2]|0)+i;h=h+1|0}}while(0);if(!(c[f+26376>>2]|0))da=m;else{j=(ba&8|0)==0;i=0;while(1){if(i>>>0>=(c[p>>2]|0)>>>0){da=m;break a}c:do if(12288<<(i<<1)&ba|0){if(j)h=0;else{U=g+28272+(i*40|0)+12|0;da=H((a[U>>0]|0)+16^c[_>>2]&1,16843009)|0;c[U>>2]=da;c[g+28272+(i*40|0)+20>>2]=da;c[g+28272+(i*40|0)+28>>2]=da;c[g+28272+(i*40|0)+36>>2]=da;break}while(1){if((h|0)>=16)break c;k=(d[150833+h>>0]|0)+(g+28272+(i*40|0))|0;l=a[k>>0]|0;if(l<<24>>24>-1){da=(c[_>>2]&1^(l<<24>>24)+16)*257&65535;b[k>>1]=da;b[k+8>>1]=da}h=h+4|0}}while(0);i=i+1|0}}}else{c[g+21784>>2]=h;c[g+21780>>2]=h;da=h}while(0);d:do if(!(ba&4)){e:do if(ba&7){U=g+868|0;i=c[U>>2]|0;f:do if(i|0){j=c[ha>>2]|0;k=c[ha+4>>2]|0;l=c[ha+8>>2]|0;y=c[ga>>2]|0;do if(c[f+26376>>2]|0){h=(c[g+21832>>2]|0)!=0;if(c[_>>2]&1)if(h){h=1;break}else break f;else{h=(h^1)&1;break}}else h=1;while(0);if((i|0)==2){s=(c[g+832>>2]|0)==(e[(c[f+26372>>2]|0)+((c[Z>>2]|0)+-1-(c[f+27016>>2]|0)<<1)>>1]|0);i=c[g+21732>>2]|0;u=c[aa>>2]|0}else{u=c[aa>>2]|0;s=(u|0)>0;i=(c[_>>2]|0)>((c[X>>2]|0)!=0|0)&1}w=0-(da+1+y)|0;q=j+w|0;v=k+w|0;w=l+w|0;x=g+27796+(h<<2)|0;t=c[x>>2]|0;r=u+-1|0;k=t+(u*96|0)|0;if(i|0){l=(y|0)==0;do if(s){h=(8<>2]|0;S=c[S+4>>2]|0;i=q+(-7<>2]|0;T=h;c[T>>2]=c[P>>2];c[T+4>>2]=Q;T=i;c[T>>2]=R;c[T+4>>2]=S;if(l){h=k;i=q+1|0;o=0;j=c[h>>2]|0;h=c[h+4>>2]|0;l=1;break}else{S=h+8|0;l=S;j=c[l>>2]|0;l=c[l+4>>2]|0;h=i+8|0;T=h;ca=c[T+4>>2]|0;i=S;c[i>>2]=c[T>>2];c[i+4>>2]=ca;c[h>>2]=j;c[h+4>>2]=l;h=k;l=1<>2]|0;h=c[h+4>>2]|0;ca=56;break}}else{h=k;j=c[h>>2]|0;h=c[h+4>>2]|0;m=1<>2]|0;c[k>>2]=c[ca>>2];c[k+4>>2]=o;k=i;c[k>>2]=j;c[k+4>>2]=h;k=t+(u*96|0)+8|0;h=k;i=q+l+8|0;o=1;j=c[h>>2]|0;h=c[h+4>>2]|0}m=i;S=c[m+4>>2]|0;T=k;c[T>>2]=c[m>>2];c[T+4>>2]=S;T=i;c[T>>2]=j;c[T+4>>2]=h;h=(8<>2]|0;T=c[T+4>>2]|0;m=9<>2]|0;ca=h;c[ca>>2]=c[Q>>2];c[ca+4>>2]=R;ca=i;c[ca>>2]=S;c[ca+4>>2]=T;if(o){R=h+8|0;T=R;S=c[T>>2]|0;T=c[T+4>>2]|0;ca=i+8|0;P=ca;Q=c[P+4>>2]|0;c[R>>2]=c[P>>2];c[R+4>>2]=Q;c[ca>>2]=S;c[ca+4>>2]=T}h=(c[aa>>2]|0)+1|0;p=f+27012|0;if((h|0)<(c[p>>2]|0)?(ca=(c[x>>2]|0)+(h*96|0)|0,T=ca,S=c[T>>2]|0,T=c[T+4>>2]|0,z=q+(17<>2]|0,ca,c[ca>>2]=c[Q>>2],c[ca+4>>2]=R,ca=z,c[ca>>2]=S,c[ca+4>>2]=T,o):0){R=(c[x>>2]|0)+(((c[aa>>2]|0)+1|0)*96|0)+8|0;T=R;S=c[T>>2]|0;T=c[T+4>>2]|0;ca=z+8|0;P=ca;Q=c[P+4>>2]|0;c[R>>2]=c[P>>2];c[R+4>>2]=Q;c[ca>>2]=S;c[ca+4>>2]=T}if(s){h=(24<>2]|0;T=c[T+4>>2]|0;j=-7<>2]|0;ca=h;c[ca>>2]=c[Q>>2];c[ca+4>>2]=R;ca=i;c[ca>>2]=S;c[ca+4>>2]=T;if(o){R=h+8|0;T=R;S=c[T>>2]|0;T=c[T+4>>2]|0;ca=i+8|0;P=ca;Q=c[P+4>>2]|0;c[R>>2]=c[P>>2];c[R+4>>2]=Q;c[ca>>2]=S;c[ca+4>>2]=T}i=(40<>2]|0;T=c[T+4>>2]|0;h=w+j|0;Q=h;R=c[Q+4>>2]|0;ca=i;c[ca>>2]=c[Q>>2];c[ca+4>>2]=R;ca=h;c[ca>>2]=S;c[ca+4>>2]=T;if(o){R=i+8|0;T=R;S=c[T>>2]|0;T=c[T+4>>2]|0;ca=h+8|0;P=ca;Q=c[P+4>>2]|0;c[R>>2]=c[P>>2];c[R+4>>2]=Q;c[ca>>2]=S;c[ca+4>>2]=T;ca=68}else ca=69}else if(o)ca=68;else ca=69;if((ca|0)==68){i=(16<>2]|0;T=c[T+4>>2]|0;h=v+l|0;Q=h;R=c[Q+4>>2]|0;k=i;c[k>>2]=c[Q>>2];c[k+4>>2]=R;k=h;c[k>>2]=S;c[k+4>>2]=T;h=h+8|0;i=i+8|0;k=1}else if((ca|0)==69){h=v+l|0;i=(16<>2]|0;S=c[S+4>>2]|0;Q=h;P=c[Q+4>>2]|0;c[i>>2]=c[Q>>2];c[i+4>>2]=P;c[h>>2]=R;c[h+4>>2]=S;h=(24<>2]|0;S=c[S+4>>2]|0;i=v+m|0;P=i;Q=c[P+4>>2]|0;T=h;c[T>>2]=c[P>>2];c[T+4>>2]=Q;T=i;c[T>>2]=R;c[T+4>>2]=S;if(k){h=h+8|0;S=h;R=c[S>>2]|0;S=c[S+4>>2]|0;i=i+8|0;Q=i;P=c[Q+4>>2]|0;c[h>>2]=c[Q>>2];c[h+4>>2]=P;c[i>>2]=R;c[i+4>>2]=S;i=(32<>2]|0;S=c[S+4>>2]|0;h=w+l|0;P=h;Q=c[P+4>>2]|0;T=i;c[T>>2]=c[P>>2];c[T+4>>2]=Q;T=h;c[T>>2]=R;c[T+4>>2]=S;h=h+8|0;i=i+8|0}else{h=w+l|0;i=(32<>2]|0;S=c[S+4>>2]|0;Q=h;P=c[Q+4>>2]|0;c[i>>2]=c[Q>>2];c[i+4>>2]=P;i=h;c[i>>2]=R;c[i+4>>2]=S;i=(40<>2]|0;S=c[S+4>>2]|0;h=w+m|0;P=h;Q=c[P+4>>2]|0;T=i;c[T>>2]=c[P>>2];c[T+4>>2]=Q;T=h;c[T>>2]=R;c[T+4>>2]=S;if(k){Q=i+8|0;S=Q;R=c[S>>2]|0;S=c[S+4>>2]|0;T=h+8|0;O=T;P=c[O+4>>2]|0;c[Q>>2]=c[O>>2];c[Q+4>>2]=P;c[T>>2]=R;c[T+4>>2]=S}h=(c[aa>>2]|0)+1|0;if((h|0)<(c[p>>2]|0)){i=16<>2]|0)+(h*96|0)+i|0;S=T;R=c[S>>2]|0;S=c[S+4>>2]|0;j=17<>2]|0;c[T>>2]=c[P>>2];c[T+4>>2]=Q;T=h;c[T>>2]=R;c[T+4>>2]=S;if(k){Q=(c[x>>2]|0)+(((c[aa>>2]|0)+1|0)*96|0)+i+8|0;S=Q;R=c[S>>2]|0;S=c[S+4>>2]|0;T=h+8|0;O=T;P=c[O+4>>2]|0;c[Q>>2]=c[O>>2];c[Q+4>>2]=P;c[T>>2]=R;c[T+4>>2]=S}i=32<>2]|0)+(((c[aa>>2]|0)+1|0)*96|0)+i|0;S=T;R=c[S>>2]|0;S=c[S+4>>2]|0;h=w+j|0;P=h;Q=c[P+4>>2]|0;c[T>>2]=c[P>>2];c[T+4>>2]=Q;T=h;c[T>>2]=R;c[T+4>>2]=S;if(k){Q=(c[x>>2]|0)+(((c[aa>>2]|0)+1|0)*96|0)+i+8|0;S=Q;R=c[S>>2]|0;S=c[S+4>>2]|0;T=h+8|0;O=T;P=c[O+4>>2]|0;c[Q>>2]=c[O>>2];c[Q+4>>2]=P;c[T>>2]=R;c[T+4>>2]=S}}}}while(0);h=ba&1;x=(h|0)==0;C=g+21660|0;y=f+132|0;z=f+28212|0;S=ba&16777216;A=(S|0)==0;E=f+144|0;D=f+28216|0;F=g+21764|0;G=3-da|0;I=3-((da|0)/2|0)|0;J=0-da|0;B=g+28560|0;K=f+108|0;L=f+100|0;T=f+140|0;O=f+25704|0;P=g+21756|0;Q=f+112|0;R=f+104|0;w=0;while(1){if((w|0)==3)break;v=c[ga>>2]|0;s=c[ha+(w<<2)>>2]|0;i=c[((w|0)==0?V:g+852+(w+-1<<2)|0)>>2]|0;t=w<<4;u=n+(t<<2)|0;g:do if(x){od[c[f+25888+(c[C>>2]<<2)>>2]&255](s,da);if(a[(d[150833+(w+48)>>0]|0)+(g+27824)>>0]|0){if(!fa){pd[c[y>>2]&1023](g+28560+(w<<8<>2]|0)+173788+(w<<2)>>2]|0)+(i<<6)>>2]|0);break}m=g+28560+(w<<8<>0]|0;if(j)b[m+(l<<1)>>1]=b[g+31632+(w<<6)+(i<<1)>>1]|0;else c[m+(l<<2)>>2]=c[k+(i<<2)>>2];i=i+1|0}}}else{if(!A){if(fa){l=c[T>>2]|0;k=l}else{k=c[R>>2]|0;l=c[Q>>2]|0}o=w<<8;p=(v|0)==0;m=0;while(1){if((m|0)>=16)break g;q=s+(c[u+(m<<2)>>2]|0)|0;r=a[(d[150833+m>>0]|0)+(g+21664)>>0]|0;i=r<<24>>24;do if(fa?(r<<24>>24<2?(c[(c[D>>2]|0)+4>>2]|0)==244:0):0)if((c[O>>2]|0)>>>0<151){pd[c[f+25932+(i<<2)>>2]&1023](q,g+28560+((m<<4)+o<>2]&127](q,g+28560+((m<<4)+o<>2]<>2]<>0]|0)+(g+27824)>>0]|0;qd[c[f+25796+(i<<2)>>2]&255](q,c[P>>2]<>2]<>24){case 0:break h;case 1:{i=(m<<4)+o|0;if(p)j=e[g+28560+(i<<1)>>1]|0;else j=c[B+(i<<2)>>2]|0;if(!j)break i;pd[l&1023](q,g+28560+(i<>2]|0;k=l}else{k=c[L>>2]|0;l=c[K>>2]|0}o=w<<8;p=(v|0)==0;q=4<>2]|0)|0;i=a[(d[150833+m>>0]|0)+(g+21664)>>0]|0;j=i<<24>>24;if(fa?(i<<24>>24<2?(c[(c[D>>2]|0)+4>>2]|0)==244:0):0)pd[c[f+25924+(j<<2)>>2]&1023](r,g+28560+((m<<4)+o<>24==7){if(c[F>>2]&32768>>>m|0){i=r+q+J|0;break}if(p){c[Y>>2]=H(d[r+G>>0]|0,16843009)|0;i=Y;break}else{ka=OW(e[r+(I<<1)>>1]|0,0,65537,65537)|0;ja=M()|0;i=W;c[i>>2]=ka;c[i+4>>2]=ja;i=W;break}}else i=0;while(0);pd[c[f+25736+(j<<2)>>2]&1023](r,i,da);j:do switch(a[(d[150833+(m+t)>>0]|0)+(g+27824)>>0]|0){case 0:break;case 1:{i=(m<<4)+o|0;if(p)j=e[g+28560+(i<<1)>>1]|0;else j=c[B+(i<<2)>>2]|0;if(!j){ca=124;break j}pd[l&1023](r,g+28560+(i<>2]|0;if(j){k=c[ha>>2]|0;l=c[ha+4>>2]|0;o=c[ha+8>>2]|0;y=c[ga>>2]|0;do if(c[f+26376>>2]|0){i=(c[g+21832>>2]|0)!=0;if(c[_>>2]&1)if(i){m=1;break}else{j=S;i=T;break e}else{m=(i^1)&1;break}}else m=1;while(0);if((j|0)==2){s=(c[g+832>>2]|0)==(e[(c[f+26372>>2]|0)+((c[Z>>2]|0)+-1-(c[f+27016>>2]|0)<<1)>>1]|0);i=c[g+21732>>2]|0;u=c[aa>>2]|0}else{u=c[aa>>2]|0;s=(u|0)>0;i=(c[_>>2]|0)>((c[X>>2]|0)!=0|0)&1}w=0-(da+1+y)|0;q=k+w|0;v=l+w|0;w=o+w|0;x=g+27796+(m<<2)|0;t=c[x>>2]|0;r=u+-1|0;k=t+(u*96|0)|0;if(i){l=(y|0)==0;do if(s){i=(8<>2]|0;ja=c[ja+4>>2]|0;j=q+(-7<>2]|0;ka=i;c[ka>>2]=c[Y>>2];c[ka+4>>2]=Z;ka=j;c[ka>>2]=_;c[ka+4>>2]=ja;if(l){i=k;j=q+1|0;k=c[i>>2]|0;i=c[i+4>>2]|0;m=1;l=0;break}else{_=i+8|0;m=_;ca=c[m>>2]|0;m=c[m+4>>2]|0;i=j+8|0;ja=i;ka=c[ja+4>>2]|0;j=_;c[j>>2]=c[ja>>2];c[j+4>>2]=ka;c[i>>2]=ca;c[i+4>>2]=m;i=k;m=1<>2]|0;i=c[i+4>>2]|0;ca=151;break}}else{i=k;k=c[i>>2]|0;i=c[i+4>>2]|0;m=1<>2]=k;c[j+4>>2]=i;i=t+(u*96|0)+8|0;j=q+m+8|0;k=c[i>>2]|0;i=c[i+4>>2]|0;l=1}ja=j;c[ja>>2]=k;c[ja+4>>2]=i;i=(8<>2]|0;ja=c[ja+4>>2]|0;o=9<>2]|0;ka=i;c[ka>>2]=c[Z>>2];c[ka+4>>2]=_;ka=j;c[ka>>2]=ca;c[ka+4>>2]=ja;if(l){_=i+8|0;ja=_;ca=c[ja>>2]|0;ja=c[ja+4>>2]|0;ka=j+8|0;Y=ka;Z=c[Y+4>>2]|0;c[_>>2]=c[Y>>2];c[_+4>>2]=Z;c[ka>>2]=ca;c[ka+4>>2]=ja}i=(c[aa>>2]|0)+1|0;p=f+27012|0;if((i|0)<(c[p>>2]|0)?(ka=(c[x>>2]|0)+(i*96|0)|0,ja=ka,ca=c[ja>>2]|0,ja=c[ja+4>>2]|0,$=q+(17<>2]|0,ka,c[ka>>2]=c[Z>>2],c[ka+4>>2]=_,ka=$,c[ka>>2]=ca,c[ka+4>>2]=ja,l):0){Y=(c[x>>2]|0)+(((c[aa>>2]|0)+1|0)*96|0)+8|0;ja=Y;ca=c[ja>>2]|0;ja=c[ja+4>>2]|0;ka=$+8|0;Z=ka;_=c[Z+4>>2]|0;$=Y;c[$>>2]=c[Z>>2];c[$+4>>2]=_;c[ka>>2]=ca;c[ka+4>>2]=ja}if(s){i=(24<>2]|0;ja=c[ja+4>>2]|0;k=-7<>2]|0;ka=i;c[ka>>2]=c[_>>2];c[ka+4>>2]=$;ka=j;c[ka>>2]=ca;c[ka+4>>2]=ja;if(l){$=i+8|0;ja=$;ca=c[ja>>2]|0;ja=c[ja+4>>2]|0;ka=j+8|0;Z=ka;_=c[Z+4>>2]|0;c[$>>2]=c[Z>>2];c[$+4>>2]=_;c[ka>>2]=ca;c[ka+4>>2]=ja}j=(40<>2]|0;ja=c[ja+4>>2]|0;i=w+k|0;_=i;$=c[_+4>>2]|0;ka=j;c[ka>>2]=c[_>>2];c[ka+4>>2]=$;ka=i;c[ka>>2]=ca;c[ka+4>>2]=ja;if(l){$=j+8|0;ka=$;ja=c[ka>>2]|0;ka=c[ka+4>>2]|0;ca=i+8|0;Z=ca;_=c[Z+4>>2]|0;c[$>>2]=c[Z>>2];c[$+4>>2]=_;c[ca>>2]=ja;c[ca+4>>2]=ka;ca=163}else ca=164}else if(l)ca=163;else ca=164;if((ca|0)==163){j=(16<>2]|0;i=v+m|0;l=i;c[l>>2]=c[ja>>2];c[l+4>>2]=ka;i=i+8|0;j=j+8|0;l=1}else if((ca|0)==164){i=v+m|0;j=(16<>2]|0;c[i>>2]=c[$>>2];c[i+4>>2]=ja;i=(24<>2]|0;ja=c[ja+4>>2]|0;j=v+o|0;Z=j;_=c[Z+4>>2]|0;ka=i;c[ka>>2]=c[Z>>2];c[ka+4>>2]=_;ka=j;c[ka>>2]=$;c[ka+4>>2]=ja;if(l){i=i+8|0;$=i;ja=c[$>>2]|0;$=c[$+4>>2]|0;j=j+8|0;_=j;ka=c[_+4>>2]|0;c[i>>2]=c[_>>2];c[i+4>>2]=ka;c[j>>2]=ja;c[j+4>>2]=$;j=(32<>2]|0;i=w+m|0;ka=i;c[ka>>2]=c[$>>2];c[ka+4>>2]=ja;i=i+8|0;j=j+8|0}else{i=w+m|0;j=(32<>2]|0;j=i;c[j>>2]=c[$>>2];c[j+4>>2]=ja;j=(40<>2]|0;ja=c[ja+4>>2]|0;i=w+o|0;Z=i;_=c[Z+4>>2]|0;ka=j;c[ka>>2]=c[Z>>2];c[ka+4>>2]=_;ka=i;c[ka>>2]=$;c[ka+4>>2]=ja;if(l){_=j+8|0;ja=_;$=c[ja>>2]|0;ja=c[ja+4>>2]|0;ka=i+8|0;Y=ka;Z=c[Y+4>>2]|0;c[_>>2]=c[Y>>2];c[_+4>>2]=Z;c[ka>>2]=$;c[ka+4>>2]=ja}i=(c[aa>>2]|0)+1|0;if((i|0)<(c[p>>2]|0)){j=16<>2]|0)+(i*96|0)+j|0;ja=ka;$=c[ja>>2]|0;ja=c[ja+4>>2]|0;k=17<>2]|0;c[ka>>2]=c[Z>>2];c[ka+4>>2]=_;ka=i;c[ka>>2]=$;c[ka+4>>2]=ja;if(l){_=(c[x>>2]|0)+(((c[aa>>2]|0)+1|0)*96|0)+j+8|0;ja=_;$=c[ja>>2]|0;ja=c[ja+4>>2]|0;ka=i+8|0;Y=ka;Z=c[Y+4>>2]|0;c[_>>2]=c[Y>>2];c[_+4>>2]=Z;c[ka>>2]=$;c[ka+4>>2]=ja}j=32<>2]|0)+(((c[aa>>2]|0)+1|0)*96|0)+j|0;ja=ka;$=c[ja>>2]|0;ja=c[ja+4>>2]|0;i=w+k|0;Z=i;_=c[Z+4>>2]|0;c[ka>>2]=c[Z>>2];c[ka+4>>2]=_;ka=i;c[ka>>2]=$;c[ka+4>>2]=ja;if(l){_=(c[x>>2]|0)+(((c[aa>>2]|0)+1|0)*96|0)+j+8|0;ka=_;ja=c[ka>>2]|0;ka=c[ka+4>>2]|0;j=i+8|0;$=j;aa=c[$+4>>2]|0;i=_;c[i>>2]=c[$>>2];c[i+4>>2]=aa;c[j>>2]=ja;c[j+4>>2]=ka;j=S;i=T}else{j=S;i=T}}else{j=S;i=T}}else{j=S;i=T}}else{j=S;i=T}}else{Ek(f,g,c[ha>>2]|0,c[ha+4>>2]|0,c[ha+8>>2]|0,f+184|0,f+152|0,f+440|0,f+168|0,f+16|0,f+32|0);j=ba&16777216;E=f+144|0;i=f+140|0;D=f+28216|0;C=g+21660|0;B=g+28560|0;h=ba&1}while(0);A=(h|0)==0;x=(ba&2|0)==0;y=g+21856|0;w=(j|0)!=0;z=w?4:1;w=w?i:E;o=(j|0)==0;p=f+116|0;q=f+120|0;r=f+128|0;m=0;while(1){if((m|0)==3)break d;s=c[ga>>2]|0;t=c[ha+(m<<2)>>2]|0;u=m<<4;v=n+(u<<2)|0;k:do if(A){if(x){if(!(c[y>>2]&15))break;if(!fa)if(o){rd[c[p>>2]&127](t,v,g+28560+(m<<8<>2]&127](t,v,g+28560+(m<<8<>2]|0;j=m<<8;h=0;while(1){if((h|0)>=16)break k;if(a[(d[150833+(h+u)>>0]|0)+(g+27824)>>0]|0)pd[i&1023](t+(c[v+(h<<2)>>2]|0)|0,g+28560+((h<<4)+j<>2]&127](t,v,g+28560+(m<<8<>2]|0)+4>>2]|0)==244?(ea=c[C>>2]|0,(ea+-1|0)>>>0<2):0){qd[c[f+25960+(ea<<2)>>2]&255](t,v,g+28560+(m<<8<>0]|0)+(g+27824)>>0]|0)){if(k)i=e[g+28560+(l<<1)>>1]|0;else i=c[B+(l<<2)>>2]|0;if(i|0)ca=191}else ca=191;if((ca|0)==191){ca=0;pd[c[E>>2]&1023](t+(c[v+(h<<2)>>2]|0)|0,g+28560+(l<>2]|0)){j=g+27780|0;i=0;while(1){if((i|0)==3)break d;k=ha+(i<<2)|0;l=i<<8;h=0;while(1){if((h|0)==16)break;m=(c[k>>2]|0)+(H(h,da)|0)|0;n=(c[j>>2]|0)+l+(h<<4)|0;o=m+16|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));h=h+1|0}i=i+1|0}}m=c[(c[f+28216>>2]|0)+1184>>2]|0;vk(Y,c[g+27780>>2]|0,m*768|0);j=0;while(1){if((j|0)==3)break;k=ha+(j<<2)|0;i=0;while(1){if((i|0)==16)break;l=(c[k>>2]|0)+(H(i,da)|0)|0;h=0;while(1){if((h|0)==16)break;b[l+(h<<1)>>1]=wk(Y,m)|0;h=h+1|0}i=i+1|0}j=j+1|0}}while(0);$c=ia;return}function uk(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;Z=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);Y=Z+8|0;A=Z;F=g+21788|0;i=c[F>>2]|0;D=g+21792|0;k=c[D>>2]|0;C=g+21796|0;j=c[C>>2]|0;I=c[(c[f+24364>>2]|0)+(j<<2)>>2]|0;y=g+848|0;T=f+28216|0;h=c[T>>2]|0;if(!(c[y>>2]|0))Q=(c[h+16>>2]|0)!=0;else Q=0;t=16>>>(c[f+25680>>2]|0);U=(c[h+12>>2]|0)==2;R=c[f+24316>>2]|0;W=f+25664|0;S=c[W>>2]|0;B=i<>2]|0;l=(c[R>>2]|0)+((H(r,k)|0)+B<<4)|0;B=B<<3;h=g+21776|0;m=H(H(t,k)|0,c[h>>2]|0)|0;o=(c[R+4>>2]|0)+B+m|0;m=(c[R+8>>2]|0)+B+m|0;B=f+12|0;i=l+(H(i<<2&12,r)|0)+(64<>2]&1023](i,r,4);r=o+(H(c[F>>2]&7,c[h>>2]|0)|0)|0;pd[c[B>>2]&1023](r+(64<>2])|0,m-o|0,2);r=g+23412|0;a[(c[f+26388>>2]|0)+j>>0]=c[r>>2];B=g+21828|0;i=c[X>>2]|0;a:do if(c[B>>2]|0){p=i<<1;c[g+21780>>2]=p;h=c[h>>2]|0;q=h<<1;c[g+21784>>2]=q;s=f+26168|0;if(!(k&1))n=l;else{X=H(1-t|0,h)|0;n=l+(H(i,-15)|0)|0;o=o+X|0;m=m+X|0}if(!(c[f+26376>>2]|0)){L=p;X=q;R=s;K=n;S=m}else{j=(I&8|0)==0;i=0;while(1){if(i>>>0>=(c[r>>2]|0)>>>0){L=p;X=q;R=s;K=n;S=m;break a}b:do if(12288<<(i<<1)&I|0){if(j)h=0;else{S=g+28272+(i*40|0)+12|0;X=H((a[S>>0]|0)+16^c[D>>2]&1,16843009)|0;c[S>>2]=X;c[g+28272+(i*40|0)+20>>2]=X;c[g+28272+(i*40|0)+28>>2]=X;c[g+28272+(i*40|0)+36>>2]=X;break}while(1){if((h|0)>=16)break b;k=(d[150833+h>>0]|0)+(g+28272+(i*40|0))|0;l=a[k>>0]|0;if(l<<24>>24>-1){X=(c[D>>2]&1^(l<<24>>24)+16)*257&65535;b[k>>1]=X;b[k+8>>1]=X}h=h+4|0}}while(0);i=i+1|0}}}else{c[g+21780>>2]=i;X=c[h>>2]|0;c[g+21784>>2]=X;L=i;R=f+25976|0;K=l;S=m}while(0);c:do if(!(I&4)){G=(I&7|0)!=0;d:do if(G){z=g+868|0;i=c[z>>2]|0;e:do if(i|0){w=c[W>>2]|0;do if(c[f+26376>>2]|0){h=(c[g+21832>>2]|0)!=0;if(c[D>>2]&1)if(h){h=1;break}else break e;else{h=(h^1)&1;break}}else h=1;while(0);if((i|0)==2){q=(c[g+832>>2]|0)==(e[(c[f+26372>>2]|0)+((c[C>>2]|0)+-1-(c[f+27016>>2]|0)<<1)>>1]|0);i=c[g+21732>>2]|0;u=c[F>>2]|0}else{u=c[F>>2]|0;q=(u|0)>0;i=(c[D>>2]|0)>((c[B>>2]|0)!=0|0)&1}p=K+(0-(L+1+w))|0;v=0-(X+1+w)|0;s=o+v|0;v=S+v|0;n=g+27796+(h<<2)|0;t=c[n>>2]|0;r=u+-1|0;l=t+(u*96|0)|0;if(i|0){j=(w|0)==0;do if(q){h=(8<>2]|0;k=c[k+4>>2]|0;i=p+(-7<>2]|0;m=h;c[m>>2]=c[aa>>2];c[m+4>>2]=$;m=i;c[m>>2]=_;c[m+4>>2]=k;if(j){h=l;i=p+1|0;j=0;k=c[h>>2]|0;h=c[h+4>>2]|0;break}else{$=h+8|0;m=$;j=c[m>>2]|0;m=c[m+4>>2]|0;h=i+8|0;aa=h;V=c[aa+4>>2]|0;i=$;c[i>>2]=c[aa>>2];c[i+4>>2]=V;c[h>>2]=j;c[h+4>>2]=m;h=l;m=1<>2]|0;h=c[h+4>>2]|0;V=69;break}}else{h=l;k=c[h>>2]|0;h=c[h+4>>2]|0;m=1<>2]|0;c[l>>2]=c[aa>>2];c[l+4>>2]=k;l=i;c[l>>2]=j;c[l+4>>2]=h;l=t+(u*96|0)+8|0;h=l;i=p+m+8|0;j=1;k=c[h>>2]|0;h=c[h+4>>2]|0}m=i;_=c[m+4>>2]|0;$=l;c[$>>2]=c[m>>2];c[$+4>>2]=_;$=i;c[$>>2]=k;c[$+4>>2]=h;h=(8<>2]|0;$=c[$+4>>2]|0;i=p+(9<>2]|0;aa=h;c[aa>>2]=c[l>>2];c[aa+4>>2]=m;aa=i;c[aa>>2]=_;c[aa+4>>2]=$;if(j){m=h+8|0;$=m;_=c[$>>2]|0;$=c[$+4>>2]|0;aa=i+8|0;k=aa;l=c[k+4>>2]|0;c[m>>2]=c[k>>2];c[m+4>>2]=l;c[aa>>2]=_;c[aa+4>>2]=$}h=(c[F>>2]|0)+1|0;if((h|0)<(c[f+27012>>2]|0)?(aa=(c[n>>2]|0)+(h*96|0)|0,$=aa,_=c[$>>2]|0,$=c[$+4>>2]|0,x=p+(17<>2]|0,aa,c[aa>>2]=c[m>>2],c[aa+4>>2]=p,aa=x,c[aa>>2]=_,c[aa+4>>2]=$,j):0){m=(c[n>>2]|0)+(((c[F>>2]|0)+1|0)*96|0)+8|0;$=m;_=c[$>>2]|0;$=c[$+4>>2]|0;aa=x+8|0;n=aa;p=c[n+4>>2]|0;x=m;c[x>>2]=c[n>>2];c[x+4>>2]=p;c[aa>>2]=_;c[aa+4>>2]=$}l=16<>2]|0;$=c[$+4>>2]|0;k=-7<>2]|0;aa=h;c[aa>>2]=c[q>>2];c[aa+4>>2]=x;aa=i;c[aa>>2]=_;c[aa+4>>2]=$;if(j){x=h+8|0;$=x;_=c[$>>2]|0;$=c[$+4>>2]|0;aa=i+8|0;p=aa;q=c[p+4>>2]|0;c[x>>2]=c[p>>2];c[x+4>>2]=q;c[aa>>2]=_;c[aa+4>>2]=$}i=(24<>2]|0;$=c[$+4>>2]|0;h=v+k|0;r=h;x=c[r+4>>2]|0;aa=i;c[aa>>2]=c[r>>2];c[aa+4>>2]=x;aa=h;c[aa>>2]=_;c[aa+4>>2]=$;if(j){_=i+8|0;aa=_;$=c[aa>>2]|0;aa=c[aa+4>>2]|0;j=h+8|0;r=j;x=c[r+4>>2]|0;c[_>>2]=c[r>>2];c[_+4>>2]=x;c[j>>2]=$;c[j+4>>2]=aa;j=1}else j=0}i=t+(u*96|0)+l|0;$=i;_=c[$>>2]|0;$=c[$+4>>2]|0;h=s+1+w|0;s=h;x=c[s+4>>2]|0;aa=i;c[aa>>2]=c[s>>2];c[aa+4>>2]=x;aa=h;c[aa>>2]=_;c[aa+4>>2]=$;if(j){x=i+8|0;$=x;_=c[$>>2]|0;$=c[$+4>>2]|0;aa=h+8|0;r=aa;s=c[r+4>>2]|0;c[x>>2]=c[r>>2];c[x+4>>2]=s;c[aa>>2]=_;c[aa+4>>2]=$}i=(24<>2]|0;$=c[$+4>>2]|0;h=v+1+w|0;w=h;x=c[w+4>>2]|0;aa=i;c[aa>>2]=c[w>>2];c[aa+4>>2]=x;aa=h;c[aa>>2]=_;c[aa+4>>2]=$;if(j){x=i+8|0;$=x;_=c[$>>2]|0;$=c[$+4>>2]|0;aa=h+8|0;v=aa;w=c[v+4>>2]|0;c[x>>2]=c[v>>2];c[x+4>>2]=w;c[aa>>2]=_;c[aa+4>>2]=$}}}while(0);w=g+21656|0;od[c[f+25844+(c[w>>2]<<2)>>2]&255](o,X);od[c[f+25844+(c[w>>2]<<2)>>2]&255](S,X);w=c[W>>2]|0;h=c[y>>2]|0;f:do if(!(I&1)){od[c[f+25888+(c[g+21660>>2]<<2)>>2]&255](K,L);if(a[g+27824>>0]|0){if(!Q){pd[c[f+132>>2]&1023](g+28560|0,g+31632|0,c[(c[(c[f+28212>>2]|0)+173788>>2]|0)+(h<<6)>>2]|0);break}l=g+28560|0;i=(w|0)==0;j=g+31632|0;h=0;while(1){if((h|0)==16)break f;k=d[140120+h>>0]|0;if(i)b[g+28560+(k<<1)>>1]=b[g+31632+(h<<1)>>1]|0;else c[l+(k<<2)>>2]=c[j+(h<<2)>>2];h=h+1|0}}}else{if(I&16777216|0){if(Q){k=c[f+140>>2]|0;j=k}else{j=c[f+104>>2]|0;k=c[f+112>>2]|0}m=f+25704|0;n=g+21756|0;p=g+21764|0;q=(w|0)==0;r=g+28560|0;l=0;while(1){if((l|0)>=16)break f;s=K+(c[R+(l<<2)>>2]|0)|0;h=d[150833+l>>0]|0;aa=a[g+21664+h>>0]|0;i=aa<<24>>24;do if(Q?(aa<<24>>24<2?(c[(c[T>>2]|0)+4>>2]|0)==244:0):0)if((c[m>>2]|0)>>>0<151){pd[c[f+25932+(i<<2)>>2]&1023](s,g+28560+(l<<4<>2]&127](s,g+28560+(l<<4<>2]<>2]<>0]|0;qd[c[f+25796+(i<<2)>>2]&255](s,c[n>>2]<>2]<>24){case 0:break g;case 1:{h=l<<4;if(q)i=e[g+28560+(h<<1)>>1]|0;else i=c[r+(h<<2)>>2]|0;if(i){pd[k&1023](s,g+28560+(h<>2]|0;k=l}else{k=c[f+100>>2]|0;l=c[f+108>>2]|0}n=g+21764|0;p=(w|0)==0;q=3-L|0;r=3-((L|0)/2|0)|0;s=4<>2]|0)|0;i=d[150833+m>>0]|0;h=a[g+21664+i>>0]|0;j=h<<24>>24;if(Q?(h<<24>>24<2?(c[(c[T>>2]|0)+4>>2]|0)==244:0):0)pd[c[f+25924+(j<<2)>>2]&1023](v,g+28560+(m<<4<>24==7){if(c[n>>2]&32768>>>m|0){h=v+s+t|0;break}if(p){c[Y>>2]=H(d[v+q>>0]|0,16843009)|0;h=Y;break}else{$=OW(e[v+(r<<1)>>1]|0,0,65537,65537)|0;aa=M()|0;h=A;c[h>>2]=$;c[h+4>>2]=aa;h=A;break}}else h=0;while(0);pd[c[f+25736+(j<<2)>>2]&1023](v,h,L);switch(a[g+27824+i>>0]|0){case 0:break;case 1:{h=m<<4;if(p)i=e[g+28560+(h<<1)>>1]|0;else i=c[u+(h<<2)>>2]|0;if(!i)V=126;else pd[l&1023](v,g+28560+(h<>2]|0;if(i|0){v=c[W>>2]|0;do if(c[f+26376>>2]|0){h=(c[g+21832>>2]|0)!=0;if(c[D>>2]&1)if(h){j=1;break}else break d;else{j=(h^1)&1;break}}else j=1;while(0);if((i|0)==2){p=(c[g+832>>2]|0)==(e[(c[f+26372>>2]|0)+((c[C>>2]|0)+-1-(c[f+27016>>2]|0)<<1)>>1]|0);h=c[g+21732>>2]|0;t=c[F>>2]|0}else{t=c[F>>2]|0;p=(t|0)>0;h=(c[D>>2]|0)>((c[B>>2]|0)!=0|0)&1}n=K+(0-(L+1+v))|0;u=0-(X+1+v)|0;r=o+u|0;u=S+u|0;m=g+27796+(j<<2)|0;s=c[m>>2]|0;q=t+-1|0;j=s+(t*96|0)|0;if(h|0){l=(v|0)==0;do if(p){h=(8<>2]|0;$=c[$+4>>2]|0;i=n+(-7<>2]|0;aa=h;c[aa>>2]=c[C>>2];c[aa+4>>2]=D;aa=i;c[aa>>2]=_;c[aa+4>>2]=$;if(l){h=j;k=n+1|0;i=c[h>>2]|0;h=c[h+4>>2]|0;j=0;break}else{V=h+8|0;k=V;h=c[k>>2]|0;k=c[k+4>>2]|0;i=i+8|0;$=i;aa=c[$+4>>2]|0;c[V>>2]=c[$>>2];c[V+4>>2]=aa;c[i>>2]=h;c[i+4>>2]=k;i=j;k=1<>2]|0;i=c[i>>2]|0;V=152;break}}else{h=j;i=c[h>>2]|0;h=c[h+4>>2]|0;k=1<>2]=i;c[j+4>>2]=h;h=s+(t*96|0)+8|0;k=n+k+8|0;i=c[h>>2]|0;h=c[h+4>>2]|0;j=1}$=k;c[$>>2]=i;c[$+4>>2]=h;h=(8<>2]|0;$=c[$+4>>2]|0;i=n+(9<>2]|0;aa=h;c[aa>>2]=c[C>>2];c[aa+4>>2]=D;aa=i;c[aa>>2]=_;c[aa+4>>2]=$;if(j){D=h+8|0;$=D;_=c[$>>2]|0;$=c[$+4>>2]|0;aa=i+8|0;B=aa;C=c[B+4>>2]|0;c[D>>2]=c[B>>2];c[D+4>>2]=C;c[aa>>2]=_;c[aa+4>>2]=$}h=(c[F>>2]|0)+1|0;if((h|0)<(c[f+27012>>2]|0)?(aa=(c[m>>2]|0)+(h*96|0)|0,$=aa,_=c[$>>2]|0,$=c[$+4>>2]|0,E=n+(17<>2]|0,aa,c[aa>>2]=c[C>>2],c[aa+4>>2]=D,aa=E,c[aa>>2]=_,c[aa+4>>2]=$,j):0){F=(c[m>>2]|0)+(((c[F>>2]|0)+1|0)*96|0)+8|0;$=F;_=c[$>>2]|0;$=c[$+4>>2]|0;aa=E+8|0;D=aa;E=c[D+4>>2]|0;c[F>>2]=c[D>>2];c[F+4>>2]=E;c[aa>>2]=_;c[aa+4>>2]=$}l=16<>2]|0;$=c[$+4>>2]|0;k=-7<>2]|0;aa=h;c[aa>>2]=c[E>>2];c[aa+4>>2]=F;aa=i;c[aa>>2]=_;c[aa+4>>2]=$;if(j){F=h+8|0;$=F;_=c[$>>2]|0;$=c[$+4>>2]|0;aa=i+8|0;D=aa;E=c[D+4>>2]|0;c[F>>2]=c[D>>2];c[F+4>>2]=E;c[aa>>2]=_;c[aa+4>>2]=$}i=(24<>2]|0;$=c[$+4>>2]|0;h=u+k|0;E=h;F=c[E+4>>2]|0;aa=i;c[aa>>2]=c[E>>2];c[aa+4>>2]=F;aa=h;c[aa>>2]=_;c[aa+4>>2]=$;if(j){_=i+8|0;aa=_;$=c[aa>>2]|0;aa=c[aa+4>>2]|0;j=h+8|0;E=j;F=c[E+4>>2]|0;c[_>>2]=c[E>>2];c[_+4>>2]=F;c[j>>2]=$;c[j+4>>2]=aa;j=1}else j=0}i=s+(t*96|0)+l|0;$=i;_=c[$>>2]|0;$=c[$+4>>2]|0;h=r+1+v|0;E=h;F=c[E+4>>2]|0;aa=i;c[aa>>2]=c[E>>2];c[aa+4>>2]=F;aa=h;c[aa>>2]=_;c[aa+4>>2]=$;if(j){F=i+8|0;$=F;_=c[$>>2]|0;$=c[$+4>>2]|0;aa=h+8|0;D=aa;E=c[D+4>>2]|0;c[F>>2]=c[D>>2];c[F+4>>2]=E;c[aa>>2]=_;c[aa+4>>2]=$}i=(24<>2]|0;$=c[$+4>>2]|0;h=u+1+v|0;E=h;F=c[E+4>>2]|0;aa=i;c[aa>>2]=c[E>>2];c[aa+4>>2]=F;aa=h;c[aa>>2]=_;c[aa+4>>2]=$;if(j){F=i+8|0;$=F;_=c[$>>2]|0;$=c[$+4>>2]|0;aa=h+8|0;D=aa;E=c[D+4>>2]|0;c[F>>2]=c[D>>2];c[F+4>>2]=E;c[aa>>2]=_;c[aa+4>>2]=$}}}}else{h=f+184|0;i=f+152|0;j=f+440|0;k=f+168|0;l=f+16|0;m=f+32|0;if(U){xk(f,g,K,o,S,h,i,j,k,l,m);break}else{yk(f,g,K,o,S,h,i,j,k,l,m);break}}while(0);n=c[W>>2]|0;h:do if(!(I&1)){if(!(I&2)){if(!(c[g+21856>>2]&15))break;h=I&16777216;if(!Q)if(!h){rd[c[f+116>>2]&127](K,R,g+28560|0,L,g+27824|0);break}else{rd[c[f+120>>2]&127](K,R,g+28560|0,L,g+27824|0);break}j=(h|0)!=0;i=j?4:1;j=c[(j?f+140|0:f+144|0)>>2]|0;h=0;while(1){if((h|0)>=16)break h;if(a[(d[150833+h>>0]|0)+(g+27824)>>0]|0)pd[j&1023](K+(c[R+(h<<2)>>2]|0)|0,g+28560+(h<<4<>2]&127](K,R,g+28560|0,L,g+27824|0);break}if((c[(c[T>>2]|0)+4>>2]|0)==244?(J=c[g+21660>>2]|0,(J+-1|0)>>>0<2):0){qd[c[f+25960+(J<<2)>>2]&255](K,R,g+28560|0,L);break}j=(n|0)==0;k=g+28560|0;l=f+144|0;i=0;while(1){if((i|0)==16)break h;m=i<<4;if(!(a[(d[150833+i>>0]|0)+(g+27824)>>0]|0)){if(j)h=e[g+28560+(m<<1)>>1]|0;else h=c[k+(m<<2)>>2]|0;if(h|0)V=183}else V=183;if((V|0)==183){V=0;pd[c[l>>2]&1023](K+(c[R+(i<<2)>>2]|0)|0,g+28560+(m<>2]&48|0){c[Y>>2]=o;h=Y+4|0;c[h>>2]=S;i:do if(Q){if((G?(c[(c[T>>2]|0)+4>>2]|0)==244:0)?(O=g+21656|0,P=c[O>>2]|0,(P+-1|0)>>>0<2):0){qd[c[f+25948+(P<<2)>>2]&255](o,R+64|0,g+28560+(256<>2]<<1)|0,X);qd[c[f+25948+(c[O>>2]<<2)>>2]&255](c[h>>2]|0,R+128|0,g+28560+(512<>2]<<1)|0,X);break}p=c[f+144>>2]|0;q=g+28560|0;o=1;while(1){if((o|0)==3)break i;j=o<<4;m=j|4;r=Y+(o+-1<<2)|0;i=j;while(1){if((i|0)>=(m|0))break;k=c[W>>2]|0;l=i<<4;if(!(a[(d[150833+i>>0]|0)+(g+27824)>>0]|0)){if(!k)h=e[g+28560+(l<<1)>>1]|0;else h=c[q+(l<<2)>>2]|0;if(h|0)V=211}else V=211;if((V|0)==211){V=0;pd[p&1023]((c[r>>2]|0)+(c[R+(i<<2)>>2]|0)|0,g+28560+(l<=(n|0))break j;j=i+4|0;k=c[W>>2]|0;l=i<<4;if(!(a[(d[150833+j>>0]|0)+(g+27824)>>0]|0)){if(!k)h=e[g+28560+(l<<1)>>1]|0;else h=c[q+(l<<2)>>2]|0;if(h|0)V=221}else V=221;if((V|0)==221){V=0;pd[p&1023]((c[r>>2]|0)+(c[R+(j<<2)>>2]|0)|0,g+28560+(l<>2]|0;if(U){i=(c[g+856>>2]|0)+3|0;h=h+3|0}else i=c[g+856>>2]|0;if(a[g+27864>>0]|0)od[c[f+136>>2]&255](g+28560+(256<>2]<<1)|0,c[(c[(c[f+28212>>2]|0)+173788+((G?1:4)<<2)>>2]|0)+(h<<6)>>2]|0);if(a[g+27904>>0]|0)od[c[f+136>>2]&255](g+28560+(512<>2]<<1)|0,c[(c[(c[f+28212>>2]|0)+173788+((G?2:5)<<2)>>2]|0)+(i<<6)>>2]|0);rd[c[f+124>>2]&127](Y,R,g+28560|0,X,g+27824|0)}while(0)}}else{h=c[T>>2]|0;m=c[h+1184>>2]|0;if(!(c[W>>2]|0)){i=g+27780|0;h=0;while(1){if((h|0)==16)break;j=K+(H(h,L)|0)|0;k=(c[i>>2]|0)+(h<<4)|0;l=j+16|0;do{a[j>>0]=a[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));h=h+1|0}if(!(c[(c[T>>2]|0)+12>>2]|0)){i=1<>2]|0)+256|0;j=i+(t<<3)|0;h=0;while(1){if((h|0)>=(t|0))break c;aa=H(h,X)|0;$=h<<3;_=i+$|0;W=_;W=d[W>>0]|d[W+1>>0]<<8|d[W+2>>0]<<16|d[W+3>>0]<<24;_=_+4|0;_=d[_>>0]|d[_+1>>0]<<8|d[_+2>>0]<<16|d[_+3>>0]<<24;Y=o+aa|0;g=Y;a[g>>0]=W;a[g+1>>0]=W>>8;a[g+2>>0]=W>>16;a[g+3>>0]=W>>24;Y=Y+4|0;a[Y>>0]=_;a[Y+1>>0]=_>>8;a[Y+2>>0]=_>>16;a[Y+3>>0]=_>>24;$=j+$|0;Y=$;Y=d[Y>>0]|d[Y+1>>0]<<8|d[Y+2>>0]<<16|d[Y+3>>0]<<24;$=$+4|0;$=d[$>>0]|d[$+1>>0]<<8|d[$+2>>0]<<16|d[$+3>>0]<<24;aa=S+aa|0;_=aa;a[_>>0]=Y;a[_+1>>0]=Y>>8;a[_+2>>0]=Y>>16;a[_+3>>0]=Y>>24;aa=aa+4|0;a[aa>>0]=$;a[aa+1>>0]=$>>8;a[aa+2>>0]=$>>16;a[aa+3>>0]=$>>24;h=h+1|0}}}vk(Y,c[g+27780>>2]|0,H(m,e[114568+(c[h+12>>2]<<1)>>1]|0)|0);i=0;while(1){if((i|0)==16)break;j=K+(H(i,L)|0)|0;h=0;while(1){if((h|0)==16)break;b[j+(h<<1)>>1]=wk(Y,m)|0;h=h+1|0}i=i+1|0}k:do if(!(c[(c[T>>2]|0)+12>>2]|0)){j=1<=(t|0))break k;l=H(i,X)|0;k=o+l|0;l=S+l|0;h=0;while(1){if((h|0)==8)break;b[l+(h<<1)>>1]=j;b[k+(h<<1)>>1]=j;h=h+1|0}i=i+1|0}}else{i=0;while(1){if((i|0)>=(t|0)){i=0;break}j=o+(H(i,X)|0)|0;h=0;while(1){if((h|0)==8)break;b[j+(h<<1)>>1]=wk(Y,m)|0;h=h+1|0}i=i+1|0}while(1){if((i|0)>=(t|0))break k;j=S+(H(i,X)|0)|0;h=0;while(1){if((h|0)==8)break;b[j+(h<<1)>>1]=wk(Y,m)|0;h=h+1|0}i=i+1|0}}while(0)}while(0);$c=Z;return}function vk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(b|0)!=0&d>>>0<2147483640;d=e?d:0;b=e?b:0;c[a>>2]=b;c[a+12>>2]=d;c[a+16>>2]=d+8;c[a+4>>2]=b+(d+7>>3);c[a+8>>2]=0;return}function wk(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=a+8|0;g=c[e>>2]|0;f=c[a+16>>2]|0;a=(c[a>>2]|0)+(g>>>3)|0;a=(VW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(g&7)>>>(32-b|0);b=g+b|0;c[e>>2]=f>>>0>b>>>0?b:f;return a|0}function xk(d,f,g,h,i,j,k,l,m,n,o){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var 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;D=c[(c[d+24364>>2]|0)+(c[f+21796>>2]<<2)>>2]|0;if(c[(c[d+4>>2]|0)+696>>2]&1|0)zk(d,f);G=d+25664|0;p=c[G>>2]|0;q=a[f+28284>>0]|0;if(q<<24>>24>-1){B=q<<24>>24;y=f+21788|0;x=c[y>>2]|0;A=(x<<4|8)+(b[f+28e3>>1]>>2)|0;C=(b[f+28002>>1]>>2)+(c[f+21792>>2]<<4)|0;x=(A<>2]|0)|0)|0;z=d+12|0;pd[c[z>>2]&1023]((c[f+23416+(B*40|0)>>2]|0)+x|0,c[f+21772>>2]|0,4);A=(H((c[y>>2]&7)+(C>>1)|0,c[f+21776>>2]|0)|0)+((A>>1)+64<>2]|0;pd[c[z>>2]&1023](C+A|0,(c[f+23416+(B*40|0)+8>>2]|0)-C|0,2)}a:do if(!(D&8)){if(D&16|0){B=j+64|0;C=l+64|0;Dk(d,f,0,0,8,8<>2],g,h,i,0,0,B,c[k>>2]|0,C,c[m>>2]|0,n,o,D&4096,D&16384);Dk(d,f,8,0,8,8<>2],g,h,i,0,4,B,c[k>>2]|0,C,c[m>>2]|0,n,o,D&8192,D&32768);break}w=f+21780|0;if(D&32|0){x=j+64|0;y=k+4|0;z=l+64|0;A=m+4|0;B=n+4|0;C=o+4|0;Dk(d,f,0,0,16,c[w>>2]<<3,g,h,i,0,0,x,c[y>>2]|0,z,c[A>>2]|0,B,C,D&4096,D&16384);Dk(d,f,4,0,16,c[w>>2]<<3,g,h,i,4,0,x,c[y>>2]|0,z,c[A>>2]|0,B,C,D&8192,D&32768);break}x=j+128|0;y=k+8|0;z=l+128|0;A=m+8|0;B=n+8|0;C=o+8|0;v=k+4|0;u=m+4|0;t=n+4|0;s=o+4|0;r=j+64|0;m=l+64|0;k=0;while(1){if((k|0)==4)break a;p=e[f+28552+(k<<1)>>1]|0;n=k<<2;o=n&4;j=k<<1&4;b:do if(!(p&8)){if(p&16|0){q=p&4096;l=p&16384;Dk(d,f,n,0,4,4<>2],g,h,i,o,j,x,c[v>>2]|0,z,c[u>>2]|0,t,s,q,l);Dk(d,f,n|2,0,4,4<>2],g,h,i,o,j|2,x,c[v>>2]|0,z,c[u>>2]|0,t,s,q,l);break}if(p&32|0){q=p&4096;l=p&16384;Dk(d,f,n,0,8,c[w>>2]<<2,g,h,i,o,j,x,c[y>>2]|0,z,c[A>>2]|0,B,C,q,l);Dk(d,f,n|1,0,8,c[w>>2]<<2,g,h,i,o|2,j,x,c[y>>2]|0,z,c[A>>2]|0,B,C,q,l);break}l=p&4096;q=p&16384;p=0;while(1){if((p|0)==4)break b;Dk(d,f,p+n|0,1,4,0,g,h,i,p<<1&2|o,p&2|j,x,c[y>>2]|0,z,c[A>>2]|0,B,C,l,q);p=p+1|0}}else Dk(d,f,n,1,8,0,g,h,i,o,j,r,c[v>>2]|0,m,c[u>>2]|0,t,s,p&4096,p&16384);while(0);k=k+1|0}}else Dk(d,f,0,1,16,0,g,h,i,0,0,j,c[k>>2]|0,l,c[m>>2]|0,n,o,D&4096,D&16384);while(0);if(D&49152|0?(E=c[G>>2]|0,F=a[f+28324>>0]|0,F<<24>>24>-1):0){h=F<<24>>24;F=f+21788|0;D=c[F>>2]|0;G=(D<<4|8)+(b[f+28160>>1]>>2)|0;i=(b[f+28162>>1]>>2)+(c[f+21792>>2]<<4)|0;D=(G<>2]|0)|0)|0;g=d+12|0;pd[c[g>>2]&1023]((c[f+25336+(h*40|0)>>2]|0)+D|0,c[f+21772>>2]|0,4);G=(H((c[F>>2]&7)+(i>>1)|0,c[f+21776>>2]|0)|0)+((G>>1)+64<>2]|0;pd[c[g>>2]&1023](i+G|0,(c[f+25336+(h*40|0)+8>>2]|0)-i|0,2)}return}function yk(d,f,g,h,i,j,k,l,m,n,o){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var 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;D=c[(c[d+24364>>2]|0)+(c[f+21796>>2]<<2)>>2]|0;if(c[(c[d+4>>2]|0)+696>>2]&1|0)zk(d,f);G=d+25664|0;p=c[G>>2]|0;q=a[f+28284>>0]|0;if(q<<24>>24>-1){B=q<<24>>24;y=f+21788|0;x=c[y>>2]|0;A=(x<<4|8)+(b[f+28e3>>1]>>2)|0;C=(b[f+28002>>1]>>2)+(c[f+21792>>2]<<4)|0;x=(A<>2]|0)|0)|0;z=d+12|0;pd[c[z>>2]&1023]((c[f+23416+(B*40|0)>>2]|0)+x|0,c[f+21772>>2]|0,4);A=(H((c[y>>2]&7)+(C>>1)|0,c[f+21776>>2]|0)|0)+((A>>1)+64<>2]|0;pd[c[z>>2]&1023](C+A|0,(c[f+23416+(B*40|0)+8>>2]|0)-C|0,2)}a:do if(!(D&8)){if(D&16|0){B=j+64|0;C=l+64|0;Ak(d,f,0,0,8,8<>2],g,h,i,0,0,B,c[k>>2]|0,C,c[m>>2]|0,n,o,D&4096,D&16384);Ak(d,f,8,0,8,8<>2],g,h,i,0,4,B,c[k>>2]|0,C,c[m>>2]|0,n,o,D&8192,D&32768);break}w=f+21780|0;if(D&32|0){x=j+64|0;y=k+4|0;z=l+64|0;A=m+4|0;B=n+4|0;C=o+4|0;Ak(d,f,0,0,16,c[w>>2]<<3,g,h,i,0,0,x,c[y>>2]|0,z,c[A>>2]|0,B,C,D&4096,D&16384);Ak(d,f,4,0,16,c[w>>2]<<3,g,h,i,4,0,x,c[y>>2]|0,z,c[A>>2]|0,B,C,D&8192,D&32768);break}x=j+128|0;y=k+8|0;z=l+128|0;A=m+8|0;B=n+8|0;C=o+8|0;v=k+4|0;u=m+4|0;t=n+4|0;s=o+4|0;r=j+64|0;m=l+64|0;k=0;while(1){if((k|0)==4)break a;p=e[f+28552+(k<<1)>>1]|0;n=k<<2;o=n&4;j=k<<1&4;b:do if(!(p&8)){if(p&16|0){q=p&4096;l=p&16384;Ak(d,f,n,0,4,4<>2],g,h,i,o,j,x,c[v>>2]|0,z,c[u>>2]|0,t,s,q,l);Ak(d,f,n|2,0,4,4<>2],g,h,i,o,j|2,x,c[v>>2]|0,z,c[u>>2]|0,t,s,q,l);break}if(p&32|0){q=p&4096;l=p&16384;Ak(d,f,n,0,8,c[w>>2]<<2,g,h,i,o,j,x,c[y>>2]|0,z,c[A>>2]|0,B,C,q,l);Ak(d,f,n|1,0,8,c[w>>2]<<2,g,h,i,o|2,j,x,c[y>>2]|0,z,c[A>>2]|0,B,C,q,l);break}l=p&4096;q=p&16384;p=0;while(1){if((p|0)==4)break b;Ak(d,f,p+n|0,1,4,0,g,h,i,p<<1&2|o,p&2|j,x,c[y>>2]|0,z,c[A>>2]|0,B,C,l,q);p=p+1|0}}else Ak(d,f,n,1,8,0,g,h,i,o,j,r,c[v>>2]|0,m,c[u>>2]|0,t,s,p&4096,p&16384);while(0);k=k+1|0}}else Ak(d,f,0,1,16,0,g,h,i,0,0,j,c[k>>2]|0,l,c[m>>2]|0,n,o,D&4096,D&16384);while(0);if(D&49152|0?(E=c[G>>2]|0,F=a[f+28324>>0]|0,F<<24>>24>-1):0){h=F<<24>>24;F=f+21788|0;D=c[F>>2]|0;G=(D<<4|8)+(b[f+28160>>1]>>2)|0;i=(b[f+28162>>1]>>2)+(c[f+21792>>2]<<4)|0;D=(G<>2]|0)|0)|0;g=d+12|0;pd[c[g>>2]&1023]((c[f+25336+(h*40|0)>>2]|0)+D|0,c[f+21772>>2]|0,4);G=(H((c[F>>2]&7)+(i>>1)|0,c[f+21776>>2]|0)|0)+((G>>1)+64<>2]|0;pd[c[g>>2]&1023](i+G|0,(c[f+25336+(h*40|0)+8>>2]|0)-i|0,2)}return}function zk(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=$c;$c=$c+208|0;if(($c|0)>=(ad|0))N(208);s=u+8|0;t=u;f=c[(c[a+24364>>2]|0)+(c[d+21796>>2]<<2)>>2]|0;r=t;c[r>>2]=0;c[r+4>>2]=0;ZW(s|0,-1,192)|0;a:do if(!(f&8)){if(f&16|0){Bk(a,d,s,0,8,0,f&4096,f&16384,t);Bk(a,d,s,8,8,8,f&8192,f&32768,t);break}if(f&32|0){Bk(a,d,s,0,16,0,f&4096,f&16384,t);Bk(a,d,s,4,16,0,f&8192,f&32768,t);break}g=0;while(1){if((g|0)==4)break a;f=e[d+28552+(g<<1)>>1]|0;h=g<<2;i=h&8;b:do if(!(f&8)){if(f&16|0){q=f&4096;r=f&16384;Bk(a,d,s,h,4,i,q,r,t);Bk(a,d,s,h|2,4,i|4,q,r,t);break}j=f&4096;k=f&16384;if(!(f&32))f=0;else{Bk(a,d,s,h,8,i,j,k,t);Bk(a,d,s,h|1,8,i,j,k,t);break}while(1){if((f|0)==4)break b;Bk(a,d,s,f+h|0,4,f<<1&4|i,j,k,t);f=f+1|0}}else Bk(a,d,s,h,8,i,f&4096,f&16384,t);while(0);g=g+1|0}}else Bk(a,d,s,0,16,0,f&4096,f&16384,t);while(0);q=a+27008|0;r=d+21832|0;p=a+26380|0;f=c[d+23412>>2]|0;c:while(1){f=f+-1|0;if((f|0)<=-1)break;n=t+(f<<2)|0;m=0;while(1){if((m|0)>=48)continue c;h=c[n>>2]|0;if(!h)continue c;g=b[s+(f*96|0)+(m<<1)>>1]|0;do if(g<<16>>16>-1){o=(c[d+23416+(f*1920|0)+(m*40|0)+24>>2]|0)+-1|0;i=d+23416+(f*1920|0)+(m*40|0)+36|0;j=c[i>>2]|0;v=c[j+636>>2]|0;l=c[q>>2]<<4>>v;k=g<<16>>16<>2];c[n>>2]=h+-1;a=(c[p>>2]|0)==3;g=(v|0)!=0;if(g&a){v=k>>1;a=v-(k&1^1)|0;o=l+-1|0;ni(j+4|0,(a|0)<(l|0)?a:o,1);ni((c[i>>2]|0)+4|0,(v|0)>(o|0)?o:v,0);break}h=j+4|0;if(!(g|a)){v=(k<<1)+o|0;ni(h,(v|0)<(l|0)?v:l+-1|0,0);break}g=l+-1|0;g=(k|0)>(g|0)?g:k;if(a){ni(h,g,0);break}else{ni(h,g,o);break}}while(0);m=m+1|0}}$c=u;return}function Ak(e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;var x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;N=f+880|0;x=c[N>>2]|0;z=(v|0)!=0;A=(w|0)!=0;if(A&(z&(x|0)==2)){V=d[150833+g>>0]|0;x=f+21792|0;y=c[x>>2]|0;if((c[f+3216+((a[f+28272+V>>0]|0)*384|0)+(a[f+28312+V>>0]<<3)+((y&1)<<2)>>2]|0)==32)x=44;else{P=x;x=5}}else if((x|0)==1){y=f+21792|0;P=y;y=c[y>>2]|0;x=5}else x=44;do if((x|0)==5){D=c[t>>2]|0;C=c[t+4>>2]|0;L=c[u>>2]|0;K=c[u+4>>2]|0;O=c[e+25664>>2]|0;V=f+21780|0;s=c[V>>2]|0;S=k+((H(o<<1,s)|0)+(n<<1<>1;U=f+21784|0;x=c[U>>2]|0;Q=(H(x,o)|0)+(n<>2]<<3)+n|0;M=f+21828|0;n=c[M>>2]|0;y=(y>>n<<3)+o|0;if(!(z&A)){B=A&1;z=d[150833+g>>0]|0;o=a[f+28272+(B*40|0)+z>>0]|0;k=(t<<3)+(b[f+27952+(B*160|0)+(z<<2)>>1]|0)|0;z=(y<<3)+(b[f+27952+(B*160|0)+(z<<2)+2>>1]|0)|0;v=z<<2&12|k&3;x=k>>2;y=z>>2;t=(H(y,s)|0)+(x<>2]|0)+t|0;m=c[e+27012>>2]|0;u=m<<4;A=c[e+27008>>2]<<4>>n;n=k&7;N=(n|0)==0?0:-3;g=(z&7|0)==0?0:-3;if((!((x|0)<(0-N|0)|(y|0)<(0-g|0))?(x+16|0)<=(N+u|0):0)?(y+16|0)<=(A+g|0):0){l=0;y=s}else{g=f+27792|0;l=2<>2]&3](c[g>>2]|0,t+(0-l)+(0-(s<<1))|0,s,s,21,21,x+-2|0,y+-2|0,u,A);y=c[V>>2]|0;t=(c[g>>2]|0)+l+(y<<1)|0;l=1}x=p+(v<<2)|0;pd[c[x>>2]&1023](S,t,y);if(!h)pd[c[x>>2]&1023](S+j|0,t+j|0,c[V>>2]|0);if(c[M>>2]|0){z=(1-(c[f+23416+(B*1920|0)+(o*40|0)+24>>2]|0)+(c[P>>2]&1)<<1)+z|0;j=z>>3;l=j>>>31|l|(j+8|0)>=(A>>1|0)}k=k>>3;v=k<>3;t=c[U>>2]|0;x=H(t,y)|0;u=(c[f+23416+(B*1920|0)+(o*40|0)+4>>2]|0)+v+x|0;x=(c[f+23416+(B*1920|0)+(o*40|0)+8>>2]|0)+v+x|0;v=f+27792|0;if(!l){y=z&7;sd[q&63](R,u,t,T,n,y)}else{j=A>>1;h=m<<3;O=e+8|0;vd[c[O>>2]&3](c[v>>2]|0,u,t,t,9,9,k,y,h,j);e=z&7;sd[q&63](R,c[v>>2]|0,c[U>>2]|0,T,n,e);P=c[U>>2]|0;vd[c[O>>2]&3](c[v>>2]|0,x,P,P,9,9,k,y,h,j);x=c[v>>2]|0;y=e}sd[q&63](Q,x,c[U>>2]|0,T,n,y);sd[D&63](S,c[V>>2]|0,i,c[f+888>>2]|0,c[f+912+(o<<4)+(B<<3)>>2]|0,c[f+912+(o<<4)+(B<<3)+4>>2]|0);if(!(c[f+884>>2]|0))break;i=f+892|0;sd[C&63](R,c[U>>2]|0,T,c[i>>2]|0,c[f+1680+(o<<5)+(B<<4)>>2]|0,c[f+1680+(o<<5)+(B<<4)+4>>2]|0);sd[C&63](Q,c[U>>2]|0,T,c[i>>2]|0,c[f+1680+(o<<5)+(B<<4)+8>>2]|0,c[f+1680+(o<<5)+(B<<4)+12>>2]|0);break}I=c[f+27788>>2]|0;J=I+(16<>0]|0;w=a[f+28272+C>>0]|0;F=a[f+28312+C>>0]|0;o=t<<3;z=o+(b[f+27952+(C<<2)>>1]|0)|0;B=y<<3;l=B+(b[f+27952+(C<<2)+2>>1]|0)|0;v=l<<2&12|z&3;x=z>>2;y=l>>2;t=(H(y,s)|0)+(x<>2]|0)+t|0;E=e+27012|0;m=c[E>>2]|0;u=m<<4;r=e+27008|0;A=c[r>>2]<<4>>n;n=z&7;D=(n|0)==0?0:-3;g=(l&7|0)==0?0:-3;if((!((x|0)<(0-D|0)|(y|0)<(0-g|0))?(x+16|0)<=(D+u|0):0)?(y+16|0)<=(A+g|0):0){k=0;y=s}else{g=f+27792|0;k=2<>2]&3](c[g>>2]|0,t+(0-k)+(0-(s<<1))|0,s,s,21,21,x+-2|0,y+-2|0,u,A);y=c[V>>2]|0;t=(c[g>>2]|0)+k+(y<<1)|0;k=1}x=p+(v<<2)|0;pd[c[x>>2]&1023](S,t,y);D=(h|0)!=0;if(!D)pd[c[x>>2]&1023](S+j|0,t+j|0,c[V>>2]|0);if(c[M>>2]|0){l=(1-(c[f+23416+(w*40|0)+24>>2]|0)+(c[P>>2]&1)<<1)+l|0;h=l>>3;k=h>>>31|k|(h+8|0)>=(A>>1|0)}y=z>>3;s=y<>3;u=c[U>>2]|0;x=H(u,t)|0;v=(c[f+23416+(w*40|0)+4>>2]|0)+s+x|0;x=(c[f+23416+(w*40|0)+8>>2]|0)+s+x|0;s=f+27792|0;if(!k){y=l&7;sd[q&63](R,v,u,T,n,y)}else{g=A>>1;m=m<<3;z=e+8|0;vd[c[z>>2]&3](c[s>>2]|0,v,u,u,9,9,y,t,m,g);h=l&7;sd[q&63](R,c[s>>2]|0,c[U>>2]|0,T,n,h);A=c[U>>2]|0;vd[c[z>>2]&3](c[s>>2]|0,x,A,A,9,9,y,t,m,g);x=c[s>>2]|0;y=h}sd[q&63](Q,x,c[U>>2]|0,T,n,y);A=o+(b[f+28112+(C<<2)>>1]|0)|0;l=B+(b[f+28112+(C<<2)+2>>1]|0)|0;z=l<<2&12|A&3;u=A>>2;v=l>>2;y=c[V>>2]|0;t=(H(v,y)|0)+(u<>2]|0)+t|0;n=c[E>>2]|0;x=n<<4;m=c[r>>2]<<4>>c[M>>2];o=A&7;g=(o|0)==0?0:-3;h=(l&7|0)==0?0:-3;if((!((u|0)<(0-g|0)|(v|0)<(0-h|0))?(u+16|0)<=(x+g|0):0)?(v+16|0)<=(m+h|0):0)k=0;else{k=2<>2]&3](c[s>>2]|0,t+(0-k)+(0-(y<<1))|0,y,y,21,21,u+-2|0,v+-2|0,x,m);y=c[V>>2]|0;t=(c[s>>2]|0)+k+(y<<1)|0;k=1}x=p+(z<<2)|0;pd[c[x>>2]&1023](G,t,y);if(!D)pd[c[x>>2]&1023](G+j|0,t+j|0,c[V>>2]|0);if(c[M>>2]|0){l=(1-(c[f+25336+(F*40|0)+24>>2]|0)+(c[P>>2]&1)<<1)+l|0;j=l>>3;k=j>>>31|k|(j+8|0)>=(m>>1|0)}v=A>>3;j=v<>3;t=c[U>>2]|0;x=H(t,y)|0;u=(c[f+25336+(F*40|0)+4>>2]|0)+j+x|0;x=(c[f+25336+(F*40|0)+8>>2]|0)+j+x|0;if(!k){y=l&7;sd[q&63](I,u,t,T,o,y)}else{j=m>>1;h=n<<3;g=e+8|0;vd[c[g>>2]&3](c[s>>2]|0,u,t,t,9,9,v,y,h,j);e=l&7;sd[q&63](I,c[s>>2]|0,c[U>>2]|0,T,o,e);O=c[U>>2]|0;vd[c[g>>2]&3](c[s>>2]|0,x,O,O,9,9,v,y,h,j);x=c[s>>2]|0;y=e}sd[q&63](J,x,c[U>>2]|0,T,o,y);if((c[N>>2]|0)==2){e=c[f+3216+(w*384|0)+(F<<3)+((c[P>>2]&1)<<2)>>2]|0;f=64-e|0;td[L&31](S,G,c[V>>2]|0,i,5,e,f,0);td[K&31](R,I,c[U>>2]|0,T,5,e,f,0);td[K&31](Q,J,c[U>>2]|0,T,5,e,f,0);break}else{td[L&31](S,G,c[V>>2]|0,i,c[f+888>>2]|0,c[f+912+(w<<4)>>2]|0,c[f+912+(F<<4)+8>>2]|0,(c[f+912+(F<<4)+12>>2]|0)+(c[f+912+(w<<4)+4>>2]|0)|0);i=f+892|0;td[K&31](R,I,c[U>>2]|0,T,c[i>>2]|0,c[f+1680+(w<<5)>>2]|0,c[f+1680+(F<<5)+16>>2]|0,(c[f+1680+(F<<5)+20>>2]|0)+(c[f+1680+(w<<5)+4>>2]|0)|0);td[K&31](Q,J,c[U>>2]|0,T,c[i>>2]|0,c[f+1680+(w<<5)+8>>2]|0,c[f+1680+(F<<5)+24>>2]|0,(c[f+1680+(F<<5)+28>>2]|0)+(c[f+1680+(w<<5)+12>>2]|0)|0);break}}else if((x|0)==44){K=c[e+25664>>2]|0;J=f+21780|0;y=c[J>>2]|0;I=k+((H(o<<1,y)|0)+(n<<1<>2]|0,o)|0)+(n<>2]<<3)+n|0;F=f+21792|0;G=f+21828|0;x=c[G>>2]|0;E=(c[F>>2]>>x<<3)+o|0;if(v){z=d[150833+g>>0]|0;n=a[f+28272+z>>0]|0;m=(D<<3)+(b[f+27952+(z<<2)>>1]|0)|0;z=(E<<3)+(b[f+27952+(z<<2)+2>>1]|0)|0;A=z<<2&12|m&3;u=m>>2;v=z>>2;t=(H(v,y)|0)+(u<>2]|0)+t|0;B=c[e+27012>>2]|0;k=B<<4;o=c[e+27008>>2]<<4>>x;C=m&7;U=(C|0)==0?0:-3;V=(z&7|0)==0?0:-3;if((!((u|0)<(0-U|0)|(v|0)<(0-V|0))?(u+16|0)<=(U+k|0):0)?(v+16|0)<=(o+V|0):0)l=0;else{V=f+27792|0;l=2<>2]&3](c[V>>2]|0,t+(0-l)+(0-(y<<1))|0,y,y,21,21,u+-2|0,v+-2|0,k,o);y=c[J>>2]|0;t=(c[V>>2]|0)+l+(y<<1)|0;l=1}x=p+(A<<2)|0;pd[c[x>>2]&1023](I,t,y);if(!h)pd[c[x>>2]&1023](I+j|0,t+j|0,c[J>>2]|0);if(c[G>>2]|0){z=(1-(c[f+23416+(n*40|0)+24>>2]|0)+(c[F>>2]&1)<<1)+z|0;V=z>>3;l=V>>>31|l|(V+8|0)>=(o>>1|0)}t=m>>3;y=t<>3;v=c[N>>2]|0;x=H(v,u)|0;k=(c[f+23416+(n*40|0)+4>>2]|0)+y+x|0;x=(c[f+23416+(n*40|0)+8>>2]|0)+y+x|0;y=f+27792|0;if(!l){y=i>>1;t=z&7;sd[q&63](L,k,v,y,C,t)}else{T=o>>1;S=B<<3;Q=e+8|0;vd[c[Q>>2]&3](c[y>>2]|0,k,v,v,9,9,t,u,S,T);U=i>>1;V=z&7;sd[q&63](L,c[y>>2]|0,c[N>>2]|0,U,C,V);R=c[N>>2]|0;vd[c[Q>>2]&3](c[y>>2]|0,x,R,R,9,9,t,u,S,T);x=c[y>>2]|0;y=U;t=V}sd[q&63](M,x,c[N>>2]|0,y,C,t);q=s;p=r}if(w|0){z=d[150833+g>>0]|0;m=a[f+28312+z>>0]|0;A=(D<<3)+(b[f+28112+(z<<2)>>1]|0)|0;z=(E<<3)+(b[f+28112+(z<<2)+2>>1]|0)|0;k=z<<2&12|A&3;x=A>>2;u=z>>2;y=c[J>>2]|0;t=(H(u,y)|0)+(x<>2]|0)+t|0;n=c[e+27012>>2]|0;v=n<<4;o=c[e+27008>>2]<<4>>c[G>>2];B=A&7;U=(B|0)==0?0:-3;V=(z&7|0)==0?0:-3;if((!((x|0)<(0-U|0)|(u|0)<(0-V|0))?(x+16|0)<=(v+U|0):0)?(u+16|0)<=(o+V|0):0)l=0;else{V=f+27792|0;l=2<>2]&3](c[V>>2]|0,t+(0-l)+(0-(y<<1))|0,y,y,21,21,x+-2|0,u+-2|0,v,o);y=c[J>>2]|0;t=(c[V>>2]|0)+l+(y<<1)|0;l=1}x=p+(k<<2)|0;pd[c[x>>2]&1023](I,t,y);if(!h)pd[c[x>>2]&1023](I+j|0,t+j|0,c[J>>2]|0);if(c[G>>2]|0){z=(1-(c[f+25336+(m*40|0)+24>>2]|0)+(c[F>>2]&1)<<1)+z|0;j=z>>3;l=j>>>31|l|(j+8|0)>=(o>>1|0)}k=A>>3;y=k<>3;u=c[N>>2]|0;x=H(u,t)|0;v=(c[f+25336+(m*40|0)+4>>2]|0)+y+x|0;x=(c[f+25336+(m*40|0)+8>>2]|0)+y+x|0;y=f+27792|0;if(!l){y=i>>1;t=z&7;sd[q&63](L,v,u,y,B,t)}else{j=o>>1;h=n<<3;V=e+8|0;vd[c[V>>2]&3](c[y>>2]|0,v,u,u,9,9,k,t,h,j);f=i>>1;i=z&7;sd[q&63](L,c[y>>2]|0,c[N>>2]|0,f,B,i);e=c[N>>2]|0;vd[c[V>>2]&3](c[y>>2]|0,x,e,e,9,9,k,t,h,j);x=c[y>>2]|0;y=f;t=i}sd[q&63](M,x,c[N>>2]|0,y,B,t)}}while(0);return}function Bk(e,f,g,h,i,j,k,l,m){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0;o=(c[f+21792>>2]>>c[f+21828>>2]<<4)+j|0;do if(k|0){j=a[(d[150833+h>>0]|0)+(f+28272)>>0]|0;if((c[(c[(c[f+23416+(j*40|0)+36>>2]|0)+16>>2]|0)+4>>2]|0)==(c[(c[e+24332>>2]|0)+4>>2]|0)?(c[f+23416+(j*40|0)+24>>2]&3|0)==(c[e+26380>>2]|0):0)break;n=Ck(f,h,i,o,0)|0;j=g+(j<<1)|0;k=b[j>>1]|0;if(k<<16>>16<0)c[m>>2]=(c[m>>2]|0)+1;k=k<<16>>16;b[j>>1]=(n|0)<(k|0)?k:n}while(0);do if(l|0){j=a[(d[150833+h>>0]|0)+(f+28312)>>0]|0;if((c[(c[(c[f+25336+(j*40|0)+36>>2]|0)+16>>2]|0)+4>>2]|0)==(c[(c[e+24332>>2]|0)+4>>2]|0)?(c[f+25336+(j*40|0)+24>>2]&3|0)==(c[e+26380>>2]|0):0)break;n=Ck(f,h,i,o,1)|0;j=g+96+(j<<1)|0;k=b[j>>1]|0;if(k<<16>>16<0){m=m+4|0;c[m>>2]=(c[m>>2]|0)+1}m=k<<16>>16;b[j>>1]=(n|0)<(m|0)?m:n}while(0);return}function Ck(a,c,e,f,g){a=a|0;c=c|0;e=e|0;f=f|0;g=g|0;g=b[a+27952+(g*160|0)+(d[150833+c>>0]<<2)+2>>1]|0;g=f+e+(g>>2)+(g&3|0?3:0)|0;return ((g|0)>0?g:0)|0}function Dk(e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;var x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;O=f+880|0;x=c[O>>2]|0;z=(v|0)!=0;A=(w|0)!=0;if(A&(z&(x|0)==2)){U=d[150833+g>>0]|0;x=f+21792|0;y=c[x>>2]|0;if((c[f+3216+((a[f+28272+U>>0]|0)*384|0)+(a[f+28312+U>>0]<<3)+((y&1)<<2)>>2]|0)==32)x=38;else{N=x;x=5}}else if((x|0)==1){y=f+21792|0;N=y;y=c[y>>2]|0;x=5}else x=38;do if((x|0)==5){D=c[t>>2]|0;C=c[t+4>>2]|0;M=c[u>>2]|0;L=c[u+4>>2]|0;P=c[e+25664>>2]|0;Q=o<<1;U=f+21780|0;E=c[U>>2]|0;S=k+((H(E,Q)|0)+(n<<1<>2]|0;Q=(H(x,Q)|0)+(n<>2]<<3)+n|0;r=f+21828|0;l=c[r>>2]|0;y=(y>>l<<3)+o|0;if(!(z&A)){B=A&1;z=d[150833+g>>0]|0;o=a[f+28272+(B*40|0)+z>>0]|0;v=(t<<3)+(b[f+27952+(B*160|0)+(z<<2)>>1]|0)|0;z=(y<<3)+(b[f+27952+(B*160|0)+(z<<2)+2>>1]|0)|0;u=z<<2&12|v&3;x=v>>2;A=z>>2;t=(H(A,E)|0)+(x<>2]|0)+t|0;m=c[e+27012>>2]|0;y=m<<4;l=c[e+27008>>2]<<4>>l;n=v&7;N=(n|0)==0?0:-3;O=(z&7|0)==0?0:-3;if((!((x|0)<(0-N|0)|(A|0)<(0-O|0))?(x+16|0)<=(N+y|0):0)?(A+16|0)<=(l+O|0):0){k=0;y=E}else{O=f+27792|0;k=2<>2]&3](c[O>>2]|0,t+(0-k)+(0-(E<<1))|0,E,E,21,21,x+-2|0,A+-2|0,y,l);y=c[U>>2]|0;t=(c[O>>2]|0)+k+(y<<1)|0;k=1}x=p+(u<<2)|0;pd[c[x>>2]&1023](S,t,y);if(!h)pd[c[x>>2]&1023](S+j|0,t+j|0,c[U>>2]|0);v=v>>3;u=v<>2]|0;x=H(y,A)|0;t=(c[f+23416+(B*1920|0)+(o*40|0)+4>>2]|0)+u+x|0;x=(c[f+23416+(B*1920|0)+(o*40|0)+8>>2]|0)+u+x|0;u=f+27792|0;if(!k){e=z<<1&6;sd[q&63](R,t,y,i,n,e);y=e}else{j=m<<3;h=e+8|0;vd[c[h>>2]&3](c[u>>2]|0,t,y,y,9,17,v,A,j,l);y=z<<1&6;sd[q&63](R,c[u>>2]|0,c[T>>2]|0,i,n,y);e=c[T>>2]|0;vd[c[h>>2]&3](c[u>>2]|0,x,e,e,9,17,v,A,j,l);x=c[u>>2]|0}sd[q&63](Q,x,c[T>>2]|0,i,n,y);sd[D&63](S,c[U>>2]|0,i,c[f+888>>2]|0,c[f+912+(o<<4)+(B<<3)>>2]|0,c[f+912+(o<<4)+(B<<3)+4>>2]|0);if(!(c[f+884>>2]|0))break;e=f+892|0;sd[C&63](R,c[T>>2]|0,i,c[e>>2]|0,c[f+1680+(o<<5)+(B<<4)>>2]|0,c[f+1680+(o<<5)+(B<<4)+4>>2]|0);sd[C&63](Q,c[T>>2]|0,i,c[e>>2]|0,c[f+1680+(o<<5)+(B<<4)+8>>2]|0,c[f+1680+(o<<5)+(B<<4)+12>>2]|0);break}J=c[f+27788>>2]|0;K=J+(16<>0]|0;w=a[f+28272+C>>0]|0;G=a[f+28312+C>>0]|0;o=t<<3;k=o+(b[f+27952+(C<<2)>>1]|0)|0;B=y<<3;m=B+(b[f+27952+(C<<2)+2>>1]|0)|0;u=m<<2&12|k&3;x=k>>2;z=m>>2;y=(H(z,E)|0)+(x<>2]|0)+y|0;D=e+27012|0;A=c[D>>2]|0;t=A<<4;s=e+27008|0;l=c[s>>2]<<4>>l;n=k&7;F=(n|0)==0?0:-3;g=(m&7|0)==0?0:-3;if((!((x|0)<(0-F|0)|(z|0)<(0-g|0))?(x+16|0)<=(F+t|0):0)?(z+16|0)<=(l+g|0):0){t=y;v=0;y=E}else{g=f+27792|0;v=2<>2]&3](c[g>>2]|0,y+(0-v)+(0-(E<<1))|0,E,E,21,21,x+-2|0,z+-2|0,t,l);y=c[U>>2]|0;t=(c[g>>2]|0)+v+(y<<1)|0;v=1}x=p+(u<<2)|0;pd[c[x>>2]&1023](S,t,y);E=(h|0)!=0;if(!E)pd[c[x>>2]&1023](S+j|0,t+j|0,c[U>>2]|0);y=k>>3;F=y<>2]|0;x=H(t,z)|0;u=(c[f+23416+(w*40|0)+4>>2]|0)+F+x|0;x=(c[f+23416+(w*40|0)+8>>2]|0)+F+x|0;F=f+27792|0;if(!v){y=m<<1&6;sd[q&63](R,u,t,i,n,y)}else{g=A<<3;A=e+8|0;vd[c[A>>2]&3](c[F>>2]|0,u,t,t,9,17,y,z,g,l);h=m<<1&6;sd[q&63](R,c[F>>2]|0,c[T>>2]|0,i,n,h);m=c[T>>2]|0;vd[c[A>>2]&3](c[F>>2]|0,x,m,m,9,17,y,z,g,l);x=c[F>>2]|0;y=h}sd[q&63](Q,x,c[T>>2]|0,i,n,y);z=o+(b[f+28112+(C<<2)>>1]|0)|0;n=B+(b[f+28112+(C<<2)+2>>1]|0)|0;k=n<<2&12|z&3;u=z>>2;o=n>>2;y=c[U>>2]|0;t=(H(o,y)|0)+(u<>2]|0)+t|0;A=c[D>>2]|0;x=A<<4;l=c[s>>2]<<4>>c[r>>2];m=z&7;g=(m|0)==0?0:-3;h=(n&7|0)==0?0:-3;if((!((u|0)<(0-g|0)|(o|0)<(0-h|0))?(u+16|0)<=(x+g|0):0)?(o+16|0)<=(l+h|0):0)v=0;else{v=2<>2]&3](c[F>>2]|0,t+(0-v)+(0-(y<<1))|0,y,y,21,21,u+-2|0,o+-2|0,x,l);y=c[U>>2]|0;t=(c[F>>2]|0)+v+(y<<1)|0;v=1}x=p+(k<<2)|0;pd[c[x>>2]&1023](I,t,y);if(!E)pd[c[x>>2]&1023](I+j|0,t+j|0,c[U>>2]|0);u=z>>3;j=u<>2]|0;x=H(y,o)|0;t=(c[f+25336+(G*40|0)+4>>2]|0)+j+x|0;x=(c[f+25336+(G*40|0)+8>>2]|0)+j+x|0;if(!v){e=n<<1&6;sd[q&63](J,t,y,i,m,e);y=e}else{j=A<<3;h=e+8|0;vd[c[h>>2]&3](c[F>>2]|0,t,y,y,9,17,u,o,j,l);y=n<<1&6;sd[q&63](J,c[F>>2]|0,c[T>>2]|0,i,m,y);e=c[T>>2]|0;vd[c[h>>2]&3](c[F>>2]|0,x,e,e,9,17,u,o,j,l);x=c[F>>2]|0}sd[q&63](K,x,c[T>>2]|0,i,m,y);if((c[O>>2]|0)==2){e=c[f+3216+(w*384|0)+(G<<3)+((c[N>>2]&1)<<2)>>2]|0;f=64-e|0;td[M&31](S,I,c[U>>2]|0,i,5,e,f,0);td[L&31](R,J,c[T>>2]|0,i,5,e,f,0);td[L&31](Q,K,c[T>>2]|0,i,5,e,f,0);break}else{td[M&31](S,I,c[U>>2]|0,i,c[f+888>>2]|0,c[f+912+(w<<4)>>2]|0,c[f+912+(G<<4)+8>>2]|0,(c[f+912+(G<<4)+12>>2]|0)+(c[f+912+(w<<4)+4>>2]|0)|0);e=f+892|0;td[L&31](R,J,c[T>>2]|0,i,c[e>>2]|0,c[f+1680+(w<<5)>>2]|0,c[f+1680+(G<<5)+16>>2]|0,(c[f+1680+(G<<5)+20>>2]|0)+(c[f+1680+(w<<5)+4>>2]|0)|0);td[L&31](Q,K,c[T>>2]|0,i,c[e>>2]|0,c[f+1680+(w<<5)+8>>2]|0,c[f+1680+(G<<5)+24>>2]|0,(c[f+1680+(G<<5)+28>>2]|0)+(c[f+1680+(w<<5)+12>>2]|0)|0);break}}else if((x|0)==38){J=c[e+25664>>2]|0;L=o<<1;I=f+21780|0;y=c[I>>2]|0;G=k+((H(y,L)|0)+(n<<1<>2]|0,L)|0)+(n<>2]<<3)+n|0;F=f+21828|0;x=c[F>>2]|0;E=(c[f+21792>>2]>>x<<3)+o|0;if(v){n=d[150833+g>>0]|0;A=a[f+28272+n>>0]|0;l=(D<<3)+(b[f+27952+(n<<2)>>1]|0)|0;n=(E<<3)+(b[f+27952+(n<<2)+2>>1]|0)|0;k=n<<2&12|l&3;u=l>>2;o=n>>2;t=(H(o,y)|0)+(u<>2]|0)+t|0;B=c[e+27012>>2]|0;v=B<<4;m=c[e+27008>>2]<<4>>x;C=l&7;T=(C|0)==0?0:-3;U=(n&7|0)==0?0:-3;if((!((u|0)<(0-T|0)|(o|0)<(0-U|0))?(u+16|0)<=(T+v|0):0)?(o+16|0)<=(m+U|0):0)z=0;else{U=f+27792|0;z=2<>2]&3](c[U>>2]|0,t+(0-z)+(0-(y<<1))|0,y,y,21,21,u+-2|0,o+-2|0,v,m);y=c[I>>2]|0;t=(c[U>>2]|0)+z+(y<<1)|0;z=1}x=p+(k<<2)|0;pd[c[x>>2]&1023](G,t,y);if(!h)pd[c[x>>2]&1023](G+j|0,t+j|0,c[I>>2]|0);t=l>>3;y=t<>2]|0;x=H(u,o)|0;v=(c[f+23416+(A*40|0)+4>>2]|0)+y+x|0;x=(c[f+23416+(A*40|0)+8>>2]|0)+y+x|0;y=f+27792|0;if(!z){y=n<<1&6;sd[q&63](K,v,u,i,C,y)}else{T=B<<3;R=e+8|0;vd[c[R>>2]&3](c[y>>2]|0,v,u,u,9,17,t,o,T,m);U=n<<1&6;sd[q&63](K,c[y>>2]|0,c[M>>2]|0,i,C,U);S=c[M>>2]|0;vd[c[R>>2]&3](c[y>>2]|0,x,S,S,9,17,t,o,T,m);x=c[y>>2]|0;y=U}sd[q&63](L,x,c[M>>2]|0,i,C,y);q=s;p=r}if(w|0){m=d[150833+g>>0]|0;A=a[f+28312+m>>0]|0;l=(D<<3)+(b[f+28112+(m<<2)>>1]|0)|0;m=(E<<3)+(b[f+28112+(m<<2)+2>>1]|0)|0;v=m<<2&12|l&3;x=l>>2;n=m>>2;y=c[I>>2]|0;t=(H(n,y)|0)+(x<>2]|0)+t|0;o=c[e+27012>>2]|0;u=o<<4;z=c[e+27008>>2]<<4>>c[F>>2];B=l&7;T=(B|0)==0?0:-3;U=(m&7|0)==0?0:-3;if((!((x|0)<(0-T|0)|(n|0)<(0-U|0))?(x+16|0)<=(u+T|0):0)?(n+16|0)<=(z+U|0):0)k=0;else{U=f+27792|0;k=2<>2]&3](c[U>>2]|0,t+(0-k)+(0-(y<<1))|0,y,y,21,21,x+-2|0,n+-2|0,u,z);y=c[I>>2]|0;t=(c[U>>2]|0)+k+(y<<1)|0;k=1}x=p+(v<<2)|0;pd[c[x>>2]&1023](G,t,y);if(!h)pd[c[x>>2]&1023](G+j|0,t+j|0,c[I>>2]|0);v=l>>3;y=v<>2]|0;x=H(t,n)|0;u=(c[f+25336+(A*40|0)+4>>2]|0)+y+x|0;x=(c[f+25336+(A*40|0)+8>>2]|0)+y+x|0;y=f+27792|0;if(!k){y=m<<1&6;sd[q&63](K,u,t,i,B,y)}else{j=o<<3;h=e+8|0;vd[c[h>>2]&3](c[y>>2]|0,u,t,t,9,17,v,n,j,z);f=m<<1&6;sd[q&63](K,c[y>>2]|0,c[M>>2]|0,i,B,f);e=c[M>>2]|0;vd[c[h>>2]&3](c[y>>2]|0,x,e,e,9,17,v,n,j,z);x=c[y>>2]|0;y=f}sd[q&63](L,x,c[M>>2]|0,i,B,y)}}while(0);return}function Ek(d,f,g,h,i,j,k,l,m,n,o){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var 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;D=c[(c[d+24364>>2]|0)+(c[f+21796>>2]<<2)>>2]|0;if(c[(c[d+4>>2]|0)+696>>2]&1|0)zk(d,f);G=d+25664|0;p=c[G>>2]|0;q=a[f+28284>>0]|0;if(q<<24>>24>-1){A=q<<24>>24;B=c[f+21788>>2]|0;B=((B<<4|8)+(b[f+28e3>>1]>>2)<>2]<<4|B<<2&12)+(b[f+28002>>1]>>2)|0,c[f+21780>>2]|0)|0)|0;z=d+12|0;C=f+21772|0;pd[c[z>>2]&1023]((c[f+23416+(A*40|0)>>2]|0)+B|0,c[C>>2]|0,4);pd[c[z>>2]&1023]((c[f+23416+(A*40|0)+4>>2]|0)+B|0,c[C>>2]|0,4);pd[c[z>>2]&1023]((c[f+23416+(A*40|0)+8>>2]|0)+B|0,c[C>>2]|0,4)}a:do if(!(D&8)){if(D&16|0){B=j+64|0;C=l+64|0;Fk(d,f,0,0,8,8<>2],g,h,i,0,0,B,c[k>>2]|0,C,c[m>>2]|0,n,o,D&4096,D&16384);Fk(d,f,8,0,8,8<>2],g,h,i,0,4,B,c[k>>2]|0,C,c[m>>2]|0,n,o,D&8192,D&32768);break}A=f+21780|0;if(D&32|0){w=j+64|0;x=k+4|0;y=l+64|0;z=m+4|0;B=n+4|0;C=o+4|0;Fk(d,f,0,0,16,c[A>>2]<<3,g,h,i,0,0,w,c[x>>2]|0,y,c[z>>2]|0,B,C,D&4096,D&16384);Fk(d,f,4,0,16,c[A>>2]<<3,g,h,i,4,0,w,c[x>>2]|0,y,c[z>>2]|0,B,C,D&8192,D&32768);break}B=j+128|0;C=k+8|0;w=l+128|0;x=m+8|0;y=n+8|0;z=o+8|0;v=k+4|0;u=m+4|0;t=n+4|0;s=o+4|0;r=j+64|0;m=l+64|0;k=0;while(1){if((k|0)==4)break a;p=e[f+28552+(k<<1)>>1]|0;n=k<<2;o=n&4;j=k<<1&4;b:do if(!(p&8)){if(p&16|0){q=p&4096;l=p&16384;Fk(d,f,n,0,4,4<>2],g,h,i,o,j,B,c[v>>2]|0,w,c[u>>2]|0,t,s,q,l);Fk(d,f,n|2,0,4,4<>2],g,h,i,o,j|2,B,c[v>>2]|0,w,c[u>>2]|0,t,s,q,l);break}if(p&32|0){q=p&4096;l=p&16384;Fk(d,f,n,0,8,c[A>>2]<<2,g,h,i,o,j,B,c[C>>2]|0,w,c[x>>2]|0,y,z,q,l);Fk(d,f,n|1,0,8,c[A>>2]<<2,g,h,i,o|2,j,B,c[C>>2]|0,w,c[x>>2]|0,y,z,q,l);break}l=p&4096;q=p&16384;p=0;while(1){if((p|0)==4)break b;Fk(d,f,p+n|0,1,4,0,g,h,i,p<<1&2|o,p&2|j,B,c[C>>2]|0,w,c[x>>2]|0,y,z,l,q);p=p+1|0}}else Fk(d,f,n,1,8,0,g,h,i,o,j,r,c[v>>2]|0,m,c[u>>2]|0,t,s,p&4096,p&16384);while(0);k=k+1|0}}else Fk(d,f,0,1,16,0,g,h,i,0,0,j,c[k>>2]|0,l,c[m>>2]|0,n,o,D&4096,D&16384);while(0);if(D&49152|0?(E=c[G>>2]|0,F=a[f+28324>>0]|0,F<<24>>24>-1):0){G=F<<24>>24;h=c[f+21788>>2]|0;h=((h<<4|8)+(b[f+28160>>1]>>2)<>2]<<4|h<<2&12)+(b[f+28162>>1]>>2)|0,c[f+21780>>2]|0)|0)|0;g=d+12|0;i=f+21772|0;pd[c[g>>2]&1023]((c[f+25336+(G*40|0)>>2]|0)+h|0,c[i>>2]|0,4);pd[c[g>>2]&1023]((c[f+25336+(G*40|0)+4>>2]|0)+h|0,c[i>>2]|0,4);pd[c[g>>2]&1023]((c[f+25336+(G*40|0)+8>>2]|0)+h|0,c[i>>2]|0,4)}return}function Fk(e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;var x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;L=f+880|0;q=c[L>>2]|0;x=(v|0)!=0;y=(w|0)!=0;if(y&(x&(q|0)==2)){Q=d[150833+g>>0]|0;q=f+21792|0;s=c[q>>2]|0;if((c[f+3216+((a[f+28272+Q>>0]|0)*384|0)+(a[f+28312+Q>>0]<<3)+((s&1)<<2)>>2]|0)==32)q=59;else{K=q;q=5}}else if((q|0)==1){s=f+21792|0;K=s;s=c[s>>2]|0;q=5}else q=59;do if((q|0)==5){z=c[t>>2]|0;J=c[u>>2]|0;M=c[e+25664>>2]|0;Q=f+21780|0;w=c[Q>>2]|0;N=(H(o<<1,w)|0)+(n<<1<>2]<<3)+n|0;B=f+21828|0;u=c[B>>2]|0;q=(s>>u<<3)+o|0;if(!(x&y)){o=y&1;L=d[150833+g>>0]|0;n=a[f+28272+(o*40|0)+L>>0]|0;K=(t<<3)+(b[f+27952+(o*160|0)+(L<<2)>>1]|0)|0;L=(q<<3)+(b[f+27952+(o*160|0)+(L<<2)+2>>1]|0)|0;t=L<<2&12|K&3;y=K>>2;l=L>>2;v=(H(l,w)|0)+(y<>2]|0)+v|0;m=c[e+27012>>2]<<4;k=c[e+27008>>2]<<4>>u;K=(K&7|0)==0?0:-3;L=(L&7|0)==0?0:-3;if((!((y|0)<(0-K|0)|(l|0)<(0-L|0))?(y+16|0)<=(K+m|0):0)?(l+16|0)<=(k+L|0):0){u=0;s=w}else{L=f+27792|0;u=2<>2]&3](c[L>>2]|0,q+(0-u)+(0-(w<<1))|0,w,w,21,21,y+-2|0,l+-2|0,m,k);s=c[Q>>2]|0;q=(c[L>>2]|0)+u+(s<<1)|0;u=1}x=p+(t<<2)|0;pd[c[x>>2]&1023](P,q,s);p=(h|0)!=0;if(!p)pd[c[x>>2]&1023](P+j|0,q+j|0,c[Q>>2]|0);q=(c[f+23416+(o*1920|0)+(n*40|0)+4>>2]|0)+v|0;t=(u|0)!=0;if(t){L=f+27792|0;h=2<>2]|0;vd[c[e+8>>2]&3](c[L>>2]|0,q+(0-h)+(0-(s<<1))|0,s,s,21,21,y+-2|0,l+-2|0,m,k);s=c[Q>>2]|0;q=(c[L>>2]|0)+h+(s<<1)|0}else s=c[Q>>2]|0;pd[c[x>>2]&1023](O,q,s);if(!p)pd[c[x>>2]&1023](O+j|0,q+j|0,c[Q>>2]|0);q=(c[f+23416+(o*1920|0)+(n*40|0)+8>>2]|0)+v|0;if(t){L=f+27792|0;h=2<>2]|0;vd[c[e+8>>2]&3](c[L>>2]|0,q+(0-h)+(0-(s<<1))|0,s,s,21,21,y+-2|0,l+-2|0,m,k);s=c[Q>>2]|0;q=(c[L>>2]|0)+h+(s<<1)|0}else s=c[Q>>2]|0;pd[c[x>>2]&1023](N,q,s);if(!p)pd[c[x>>2]&1023](N+j|0,q+j|0,c[Q>>2]|0);sd[z&63](P,c[Q>>2]|0,i,c[f+888>>2]|0,c[f+912+(n<<4)+(o<<3)>>2]|0,c[f+912+(n<<4)+(o<<3)+4>>2]|0);if(!(c[f+884>>2]|0))break;e=f+21784|0;j=f+892|0;sd[z&63](O,c[e>>2]|0,i,c[j>>2]|0,c[f+1680+(n<<5)+(o<<4)>>2]|0,c[f+1680+(n<<5)+(o<<4)+4>>2]|0);sd[z&63](N,c[e>>2]|0,i,c[j>>2]|0,c[f+1680+(n<<5)+(o<<4)+8>>2]|0,c[f+1680+(n<<5)+(o<<4)+12>>2]|0);break}E=c[f+27788>>2]|0;F=E+(16<>2]<<4)|0;z=d[150833+g>>0]|0;C=a[f+28272+z>>0]|0;D=a[f+28312+z>>0]|0;o=t<<3;x=o+(b[f+27952+(z<<2)>>1]|0)|0;n=q<<3;g=n+(b[f+27952+(z<<2)+2>>1]|0)|0;t=g<<2&12|x&3;l=x>>2;m=g>>2;k=(H(m,w)|0)+(l<>2]|0)+k|0;A=e+27012|0;y=c[A>>2]<<4;r=e+27008|0;v=c[r>>2]<<4>>u;x=(x&7|0)==0?0:-3;g=(g&7|0)==0?0:-3;if((!((l|0)<(0-x|0)|(m|0)<(0-g|0))?(l+16|0)<=(x+y|0):0)?(m+16|0)<=(v+g|0):0){u=0;s=w}else{g=f+27792|0;u=2<>2]&3](c[g>>2]|0,q+(0-u)+(0-(w<<1))|0,w,w,21,21,l+-2|0,m+-2|0,y,v);s=c[Q>>2]|0;q=(c[g>>2]|0)+u+(s<<1)|0;u=1}x=p+(t<<2)|0;pd[c[x>>2]&1023](P,q,s);w=(h|0)!=0;if(!w)pd[c[x>>2]&1023](P+j|0,q+j|0,c[Q>>2]|0);q=(c[f+23416+(C*40|0)+4>>2]|0)+k|0;t=(u|0)!=0;if(t){g=f+27792|0;h=2<>2]|0;vd[c[e+8>>2]&3](c[g>>2]|0,q+(0-h)+(0-(s<<1))|0,s,s,21,21,l+-2|0,m+-2|0,y,v);s=c[Q>>2]|0;q=(c[g>>2]|0)+h+(s<<1)|0}else s=c[Q>>2]|0;pd[c[x>>2]&1023](O,q,s);if(!w)pd[c[x>>2]&1023](O+j|0,q+j|0,c[Q>>2]|0);q=(c[f+23416+(C*40|0)+8>>2]|0)+k|0;if(t){g=f+27792|0;h=2<>2]|0;vd[c[e+8>>2]&3](c[g>>2]|0,q+(0-h)+(0-(s<<1))|0,s,s,21,21,l+-2|0,m+-2|0,y,v);s=c[Q>>2]|0;q=(c[g>>2]|0)+h+(s<<1)|0}else s=c[Q>>2]|0;pd[c[x>>2]&1023](N,q,s);if(!w)pd[c[x>>2]&1023](N+j|0,q+j|0,c[Q>>2]|0);g=o+(b[f+28112+(z<<2)>>1]|0)|0;h=n+(b[f+28112+(z<<2)+2>>1]|0)|0;u=h<<2&12|g&3;y=g>>2;l=h>>2;q=c[Q>>2]|0;v=(H(l,q)|0)+(y<>2]|0)+v|0;k=c[A>>2]<<4;x=c[r>>2]<<4>>c[B>>2];g=(g&7|0)==0?0:-3;h=(h&7|0)==0?0:-3;if((!((y|0)<(0-g|0)|(l|0)<(0-h|0))?(y+16|0)<=(k+g|0):0)?(l+16|0)<=(x+h|0):0)t=0;else{h=f+27792|0;t=2<>2]&3](c[h>>2]|0,s+(0-t)+(0-(q<<1))|0,q,q,21,21,y+-2|0,l+-2|0,k,x);q=c[Q>>2]|0;s=(c[h>>2]|0)+t+(q<<1)|0;t=1}u=p+(u<<2)|0;pd[c[u>>2]&1023](I,s,q);if(!w)pd[c[u>>2]&1023](I+j|0,s+j|0,c[Q>>2]|0);q=(c[f+25336+(D*40|0)+4>>2]|0)+v|0;t=(t|0)!=0;if(t){g=f+27792|0;h=2<>2]|0;vd[c[e+8>>2]&3](c[g>>2]|0,q+(0-h)+(0-(s<<1))|0,s,s,21,21,y+-2|0,l+-2|0,k,x);s=c[Q>>2]|0;q=(c[g>>2]|0)+h+(s<<1)|0}else s=c[Q>>2]|0;pd[c[u>>2]&1023](E,q,s);if(!w)pd[c[u>>2]&1023](E+j|0,q+j|0,c[Q>>2]|0);q=(c[f+25336+(D*40|0)+8>>2]|0)+v|0;if(t){g=f+27792|0;h=2<>2]|0;vd[c[e+8>>2]&3](c[g>>2]|0,q+(0-h)+(0-(s<<1))|0,s,s,21,21,y+-2|0,l+-2|0,k,x);s=c[Q>>2]|0;q=(c[g>>2]|0)+h+(s<<1)|0}else s=c[Q>>2]|0;pd[c[u>>2]&1023](F,q,s);if(!w)pd[c[u>>2]&1023](F+j|0,q+j|0,c[Q>>2]|0);if((c[L>>2]|0)==2){f=c[f+3216+(C*384|0)+(D<<3)+((c[K>>2]&1)<<2)>>2]|0;j=64-f|0;td[J&31](P,I,c[Q>>2]|0,i,5,f,j,0);td[J&31](O,E,c[G>>2]|0,i,5,f,j,0);td[J&31](N,F,c[G>>2]|0,i,5,f,j,0);break}else{td[J&31](P,I,c[Q>>2]|0,i,c[f+888>>2]|0,c[f+912+(C<<4)>>2]|0,c[f+912+(D<<4)+8>>2]|0,(c[f+912+(D<<4)+12>>2]|0)+(c[f+912+(C<<4)+4>>2]|0)|0);j=f+892|0;td[J&31](O,E,c[G>>2]|0,i,c[j>>2]|0,c[f+1680+(C<<5)>>2]|0,c[f+1680+(D<<5)+16>>2]|0,(c[f+1680+(D<<5)+20>>2]|0)+(c[f+1680+(C<<5)+4>>2]|0)|0);td[J&31](N,F,c[G>>2]|0,i,c[j>>2]|0,c[f+1680+(C<<5)+8>>2]|0,c[f+1680+(D<<5)+24>>2]|0,(c[f+1680+(D<<5)+28>>2]|0)+(c[f+1680+(C<<5)+12>>2]|0)|0);break}}else if((q|0)==59){E=c[e+25664>>2]|0;F=f+21780|0;x=c[F>>2]|0;D=(H(o<<1,x)|0)+(n<<1<>2]<<3)+n|0;A=f+21828|0;s=c[A>>2]|0;o=(c[f+21792>>2]>>s<<3)+o|0;if(v){i=d[150833+g>>0]|0;v=a[f+28272+i>>0]|0;Q=(z<<3)+(b[f+27952+(i<<2)>>1]|0)|0;i=(o<<3)+(b[f+27952+(i<<2)+2>>1]|0)|0;t=i<<2&12|Q&3;l=Q>>2;m=i>>2;k=(H(m,x)|0)+(l<>2]|0)+k|0;n=c[e+27012>>2]<<4;y=c[e+27008>>2]<<4>>s;Q=(Q&7|0)==0?0:-3;i=(i&7|0)==0?0:-3;if((!((l|0)<(0-Q|0)|(m|0)<(0-i|0))?(l+16|0)<=(Q+n|0):0)?(m+16|0)<=(y+i|0):0){u=0;s=x}else{i=f+27792|0;u=2<>2]&3](c[i>>2]|0,q+(0-u)+(0-(x<<1))|0,x,x,21,21,l+-2|0,m+-2|0,n,y);s=c[F>>2]|0;q=(c[i>>2]|0)+u+(s<<1)|0;u=1}x=p+(t<<2)|0;pd[c[x>>2]&1023](B,q,s);p=(h|0)!=0;if(!p)pd[c[x>>2]&1023](B+j|0,q+j|0,c[F>>2]|0);q=(c[f+23416+(v*40|0)+4>>2]|0)+k|0;t=(u|0)!=0;if(t){Q=f+27792|0;i=2<>2]|0;vd[c[e+8>>2]&3](c[Q>>2]|0,q+(0-i)+(0-(s<<1))|0,s,s,21,21,l+-2|0,m+-2|0,n,y);s=c[F>>2]|0;q=(c[Q>>2]|0)+i+(s<<1)|0}else s=c[F>>2]|0;pd[c[x>>2]&1023](C,q,s);if(!p)pd[c[x>>2]&1023](C+j|0,q+j|0,c[F>>2]|0);q=(c[f+23416+(v*40|0)+8>>2]|0)+k|0;if(t){Q=f+27792|0;i=2<>2]|0;vd[c[e+8>>2]&3](c[Q>>2]|0,q+(0-i)+(0-(s<<1))|0,s,s,21,21,l+-2|0,m+-2|0,n,y);s=c[F>>2]|0;q=(c[Q>>2]|0)+i+(s<<1)|0}else s=c[F>>2]|0;pd[c[x>>2]&1023](D,q,s);if(p)p=r;else{pd[c[x>>2]&1023](D+j|0,q+j|0,c[F>>2]|0);p=r}}if(w|0){i=d[150833+g>>0]|0;n=a[f+28312+i>>0]|0;Q=(z<<3)+(b[f+28112+(i<<2)>>1]|0)|0;i=(o<<3)+(b[f+28112+(i<<2)+2>>1]|0)|0;t=i<<2&12|Q&3;y=Q>>2;l=i>>2;s=c[F>>2]|0;v=(H(l,s)|0)+(y<>2]|0)+v|0;m=c[e+27012>>2]<<4;k=c[e+27008>>2]<<4>>c[A>>2];Q=(Q&7|0)==0?0:-3;i=(i&7|0)==0?0:-3;if((!((y|0)<(0-Q|0)|(l|0)<(0-i|0))?(y+16|0)<=(m+Q|0):0)?(l+16|0)<=(k+i|0):0)u=0;else{i=f+27792|0;u=2<>2]&3](c[i>>2]|0,q+(0-u)+(0-(s<<1))|0,s,s,21,21,y+-2|0,l+-2|0,m,k);s=c[F>>2]|0;q=(c[i>>2]|0)+u+(s<<1)|0;u=1}x=p+(t<<2)|0;pd[c[x>>2]&1023](B,q,s);p=(h|0)!=0;if(!p)pd[c[x>>2]&1023](B+j|0,q+j|0,c[F>>2]|0);q=(c[f+25336+(n*40|0)+4>>2]|0)+v|0;t=(u|0)!=0;if(t){i=f+27792|0;h=2<>2]|0;vd[c[e+8>>2]&3](c[i>>2]|0,q+(0-h)+(0-(s<<1))|0,s,s,21,21,y+-2|0,l+-2|0,m,k);s=c[F>>2]|0;q=(c[i>>2]|0)+h+(s<<1)|0}else s=c[F>>2]|0;pd[c[x>>2]&1023](C,q,s);if(!p)pd[c[x>>2]&1023](C+j|0,q+j|0,c[F>>2]|0);q=(c[f+25336+(n*40|0)+8>>2]|0)+v|0;if(t){h=f+27792|0;f=2<>2]|0;vd[c[e+8>>2]&3](c[h>>2]|0,q+(0-f)+(0-(s<<1))|0,s,s,21,21,y+-2|0,l+-2|0,m,k);s=c[F>>2]|0;q=(c[h>>2]|0)+f+(s<<1)|0}else s=c[F>>2]|0;pd[c[x>>2]&1023](D,q,s);if(!p)pd[c[x>>2]&1023](D+j|0,q+j|0,c[F>>2]|0)}}while(0);return}function Gk(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;do if(c[a+26376>>2]|0){j=c[a+27016>>2]|0;h=(H(j,f&-2)|0)+d|0;g=h+-1|0;i=(f&1|0)!=0;if(i?(c[b+832>>2]|0)==(e[(c[a+26372>>2]|0)+(g<<1)>>1]|0|0):0)g=((c[b+21828>>2]|0)==((c[(c[a+24364>>2]|0)+(g<<2)>>2]|0)>>>7&1|0)?j:0)+g|0;if(!(c[b+21828>>2]|0)){h=(H(j,f+-1|0)|0)+d|0;break}h=h-j|0;if(!i?(c[b+832>>2]|0)==(e[(c[a+26372>>2]|0)+(h<<1)>>1]|0|0):0)h=h-((c[(c[a+24364>>2]|0)+(h<<2)>>2]&128|0)==0?0:j)|0}else{h=c[b+21796>>2]|0;g=h+-1|0;h=h-(c[a+27016>>2]<<((c[a+26380>>2]|0)!=3&1))|0}while(0);i=c[a+26372>>2]|0;d=c[b+832>>2]|0;if((d|0)==(e[i+(g<<1)>>1]|0|0))g=(c[(c[a+24364>>2]|0)+(g<<2)>>2]|0)>>>11&1^1;else g=0;if((d|0)==(e[i+(h<<1)>>1]|0|0))g=((c[(c[a+24364>>2]|0)+(h<<2)>>2]|0)>>>11&1^1)+g|0;return Kk(b+32856|0,((c[b+840>>2]|0)==3?g+13|0:g)+11+(b+32904)|0)|0}function Hk(a,b){a=a|0;b=b|0;var d=0;d=(c[b+21796>>2]|0)-(c[a+27016>>2]<<1)|0;return Kk(b+32856|0,b+32974+(((c[(c[a+24364>>2]|0)+(d<<2)>>2]|0)>>>7&(c[b+832>>2]|0)==(e[(c[a+26372>>2]|0)+(d<<1)>>1]|0|0))+(c[b+21828>>2]&(c[b+21788>>2]|0)!=0))|0)|0}function Ik(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);w=B+4|0;y=B;z=g+21796|0;A=c[z>>2]|0;c[y>>2]=0;h=(c[f+25972>>2]|0)+(A*48|0)|0;i=h+48|0;do{a[h>>0]=0;h=h+1|0}while((h|0)<(i|0));v=g+21828|0;if(!(c[v>>2]|0))h=0;else{c[y>>2]=128;h=128}x=g+840|0;if((c[x>>2]|0)==3){h=h|63744;c[y>>2]=h;if(c[g+21844>>2]|0){Jk(f,g,h);Mk(f,g,h)}bk(f,g,y);k=c[y>>2]|2048;c[y>>2]=k;h=f+26368|0}else{k=h|14344;c[y>>2]=k;Jk(f,g,k);p=c[f+24384>>2]|0;q=c[f+24352>>2]|0;h=f+26368|0;r=c[h>>2]|0;c[g+28284>>2]=0;c[g+28292>>2]=0;c[g+28300>>2]=0;c[g+28308>>2]=0;l=c[g+21740>>2]|0;if(!(l&12288))if(!l)i=0;else{u=183140;s=-1;m=16}else{i=c[g+21720>>2]|0;u=d[c[g+21748>>2]>>0]|0;j=a[p+((u&254)+(i<<2|1))>>0]|0;i=q+((H(r,u)|0)+3+(c[(c[f+26360>>2]|0)+(i<<2)>>2]|0)<<2)|0;do if(c[f+26376>>2]|0){l=(l&128|0)!=0;if(!(c[v>>2]|0)){if(!l)break;i=c[i>>2]|0;c[w>>2]=i;b[w+2>>1]=i>>16<<1;i=w;j=j>>1;break}else{if(l)break;i=c[i>>2]|0;c[w>>2]=i;b[w+2>>1]=((i>>>16&65535)<<16>>16)/2|0;i=w;j=j<<1;break}}while(0);if(!(c[i>>2]|j))i=0;else{u=i;s=j;m=16}}do if((m|0)==16){l=c[g+21732>>2]|0;if(!(l&12288))if(!l){i=0;break}else{n=-1;o=183140}else{j=c[g+21712>>2]|0;i=a[p+(j<<2|2)>>0]|0;j=q+((c[(c[f+26360>>2]|0)+(j<<2)>>2]|0)+(r*3|0)<<2)|0;do if(c[f+26376>>2]|0){l=(l&128|0)!=0;if(!(c[v>>2]|0)){if(!l)break;o=c[j>>2]|0;j=w+4|0;c[j>>2]=o;b[w+6>>1]=o>>16<<1;i=i>>1;break}else{if(l)break;o=c[j>>2]|0;j=w+4|0;c[j>>2]=o;b[w+6>>1]=((o>>>16&65535)<<16>>16)/2|0;i=i<<1;break}}while(0);if(!(c[j>>2]|i)){i=0;break}else{n=i;o=j}}j=c[g+21736>>2]|0;do if(!(j&12288))if((j|0)==0?(t=c[g+21728>>2]|0,(t&12288|0)!=0):0){l=c[g+21708>>2]|0;m=c[g+21752>>2]|0;i=a[p+(l<<2|m&2|1)>>0]|0;l=q+(r+3+(m&r<<1)+(c[(c[f+26360>>2]|0)+(l<<2)>>2]|0)<<2)|0;if(c[f+26376>>2]|0){j=(t&128|0)!=0;if(!(c[v>>2]|0)){if(!j){m=l;break}v=c[l>>2]|0;m=w+8|0;c[m>>2]=v;b[w+10>>1]=v>>16<<1;i=i>>1;break}else{if(j){m=l;break}v=c[l>>2]|0;m=w+8|0;c[m>>2]=v;b[w+10>>1]=((v>>>16&65535)<<16>>16)/2|0;i=i<<1;break}}else m=l}else{m=183140;i=-1}else{l=c[g+21716>>2]|0;i=a[p+(l<<2|2)>>0]|0;l=q+((c[(c[f+26360>>2]|0)+(l<<2)>>2]|0)+(r*3|0)<<2)|0;if(c[f+26376>>2]|0){j=(j&128|0)!=0;if(!(c[v>>2]|0)){if(!j){m=l;break}v=c[l>>2]|0;m=w+8|0;c[m>>2]=v;b[w+10>>1]=v>>16<<1;i=i>>1;break}else{if(j){m=l;break}v=c[l>>2]|0;m=w+8|0;c[m>>2]=v;b[w+10>>1]=((v>>>16&65535)<<16>>16)/2|0;i=i<<1;break}}else m=l}while(0);l=(n|0)!=0;j=(s|0)!=0;i=((l^1)&1)+((j^1)&1)+((i|0)==0&1)|0;do if(i>>>0<=1){if((i|0)!=1){i=Sk(b[u>>1]|0,b[o>>1]|0,b[m>>1]|0)|0;j=Sk(b[u+2>>1]|0,b[o+2>>1]|0,b[m+2>>1]|0)|0;break}if(!j){j=b[u+2>>1]|0;i=b[u>>1]|0;break}if(l){j=b[m+2>>1]|0;i=b[m>>1]|0;break}else{j=b[o+2>>1]|0;i=b[o>>1]|0;break}}else{i=Sk(b[u>>1]|0,b[o>>1]|0,b[m>>1]|0)|0;j=Sk(b[u+2>>1]|0,b[o+2>>1]|0,b[m+2>>1]|0)|0}while(0);i=j<<16|i&65535}while(0);c[g+28e3>>2]=i;c[g+28004>>2]=i;c[g+28008>>2]=i;c[g+28012>>2]=i;c[g+28032>>2]=i;c[g+28036>>2]=i;c[g+28040>>2]=i;c[g+28044>>2]=i;c[g+28064>>2]=i;c[g+28068>>2]=i;c[g+28072>>2]=i;c[g+28076>>2]=i;c[g+28096>>2]=i;c[g+28100>>2]=i;c[g+28104>>2]=i;c[g+28108>>2]=i}h=c[h>>2]|0;i=(H(h<<2,c[g+21792>>2]|0)|0)+(c[g+21788>>2]<<2)|0;j=c[z>>2]<<2;if(!(k&12288)){w=(c[f+24384>>2]|0)+j|0;b[w>>1]=-1;b[w+2>>1]=-1}else{w=(c[f+24352>>2]|0)+(i<<2)|0;u=g+28e3|0;v=c[u+4>>2]|0;s=w;c[s>>2]=c[u>>2];c[s+4>>2]=v;s=g+28008|0;v=c[s+4>>2]|0;u=w+8|0;c[u>>2]=c[s>>2];c[u+4>>2]=v;u=g+28032|0;v=c[u+4>>2]|0;s=w+(h<<2)|0;t=s;c[t>>2]=c[u>>2];c[t+4>>2]=v;t=g+28040|0;v=c[t+4>>2]|0;s=s+8|0;c[s>>2]=c[t>>2];c[s+4>>2]=v;s=g+28064|0;v=c[s+4>>2]|0;t=w+(h<<1<<2)|0;u=t;c[u>>2]=c[s>>2];c[u+4>>2]=v;u=g+28072|0;v=c[u+4>>2]|0;t=t+8|0;c[t>>2]=c[u>>2];c[t+4>>2]=v;t=g+28096|0;v=c[t+4>>2]|0;w=w+(h*3<<2)|0;u=w;c[u>>2]=c[t>>2];c[u+4>>2]=v;u=g+28104|0;v=c[u+4>>2]|0;w=w+8|0;c[w>>2]=c[u>>2];c[w+4>>2]=v;w=(c[g+32848>>2]|0)+(c[(c[f+26364>>2]|0)+(c[z>>2]<<2)>>2]<<1)|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;w=(c[f+24384>>2]|0)+j|0;a[w>>0]=a[g+28284>>0]|0;a[w+1>>0]=a[g+28286>>0]|0;a[w+2>>0]=a[g+28300>>0]|0;a[w+3>>0]=a[g+28302>>0]|0}if(k&49152|0){w=(c[f+24356>>2]|0)+(i<<2)|0;u=g+28160|0;v=c[u+4>>2]|0;s=w;c[s>>2]=c[u>>2];c[s+4>>2]=v;s=g+28168|0;v=c[s+4>>2]|0;u=w+8|0;c[u>>2]=c[s>>2];c[u+4>>2]=v;u=g+28192|0;v=c[u+4>>2]|0;s=w+(h<<2)|0;t=s;c[t>>2]=c[u>>2];c[t+4>>2]=v;t=g+28200|0;v=c[t+4>>2]|0;s=s+8|0;c[s>>2]=c[t>>2];c[s+4>>2]=v;s=g+28224|0;v=c[s+4>>2]|0;t=w+(h<<1<<2)|0;u=t;c[u>>2]=c[s>>2];c[u+4>>2]=v;u=g+28232|0;v=c[u+4>>2]|0;t=t+8|0;c[t>>2]=c[u>>2];c[t+4>>2]=v;t=g+28256|0;v=c[t+4>>2]|0;w=w+(h*3<<2)|0;u=w;c[u>>2]=c[t>>2];c[u+4>>2]=v;u=g+28264|0;v=c[u+4>>2]|0;w=w+8|0;c[w>>2]=c[u>>2];c[w+4>>2]=v;w=(c[g+32852>>2]|0)+(c[(c[f+26364>>2]|0)+(c[z>>2]<<2)>>2]<<1)|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;w=(c[f+24388>>2]|0)+j|0;a[w>>0]=a[g+28324>>0]|0;a[w+1>>0]=a[g+28326>>0]|0;a[w+2>>0]=a[g+28340>>0]|0;a[w+3>>0]=a[g+28342>>0]|0}if(!((k&64|0)==0|(c[x>>2]|0)!=3)){z=(c[f+26408>>2]|0)+(c[z>>2]<<2)|0;a[z+1>>0]=(e[g+28554>>1]|0)>>>1;a[z+2>>0]=(e[g+28556>>1]|0)>>>1;a[z+3>>0]=(e[g+28558>>1]|0)>>>1}c[(c[f+24364>>2]|0)+(A<<2)>>2]=c[y>>2];a[(c[f+24340>>2]|0)+A>>0]=c[g+848>>2];b[(c[f+26372>>2]|0)+(A<<1)>>1]=c[g+832>>2];c[g+21648>>2]=1;$c=B;return}function Jk(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=c[b+21796>>2]|0;j=b+21752|0;c[j>>2]=-1;o=c[a+27016>>2]|0;m=i-(o<>2])|0;f=m+-1|0;g=m+1|0;h=i+-1|0;n=b+21748|0;c[n>>2]=140420;q=c[a+24364>>2]|0;do if(c[a+26376>>2]|0){k=c[q+(h<<2)>>2]&128;l=d&128;if(!(c[b+21792>>2]&1)){i=(l|0)!=0;if(i){d=(((c[q+(m<<2)>>2]|0)>>>7&1)+-1&o)+m|0;g=(((c[q+(g<<2)>>2]|0)>>>7&1)+-1&o)+g|0;f=(((c[q+(f<<2)>>2]|0)>>>7&1)+-1&o)+f|0}else d=m;if((k|0)==(l|0)){p=d;n=f;m=h;d=h;break}c[n>>2]=i?140516:140484;p=d;n=f;m=h;d=h+(i?o:0)|0;break}else{if((k|0)==(l|0)){p=m;n=f;m=h;d=h;break}i=i-o+-1|0;if(!l){c[j>>2]=0;f=o+f|0;d=140452;h=i}else d=140516;c[n>>2]=d;p=m;n=f;m=i;d=h;break}}else{p=m;n=f;m=h;d=h}while(0);c[b+21708>>2]=n;c[b+21712>>2]=p;c[b+21716>>2]=g;c[b+21720>>2]=m;c[b+21724>>2]=d;h=b+21728|0;c[h>>2]=c[q+(n<<2)>>2];i=b+21732|0;c[i>>2]=c[q+(p<<2)>>2];j=b+21736|0;c[j>>2]=c[q+(g<<2)>>2];k=b+21740|0;c[k>>2]=c[q+(m<<2)>>2];l=b+21744|0;c[l>>2]=c[q+(d<<2)>>2];f=c[a+26372>>2]|0;d=c[b+832>>2]|0;if((d|0)!=(e[f+(n<<1)>>1]|0|0)){c[h>>2]=0;if((d|0)!=(e[f+(p<<1)>>1]|0|0))c[i>>2]=0;if((d|0)!=(e[f+(m<<1)>>1]|0|0)){c[l>>2]=0;c[k>>2]=0}}if((d|0)!=(e[f+(g<<1)>>1]|0|0))c[j>>2]=0;return}function Kk(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=d[e>>0]|0;g=b+4|0;i=c[g>>2]|0;j=d[125769+((i<<1&384)+f)>>0]|0;i=i-j|0;k=i<<17;l=c[b>>2]|0;h=k-l>>31;c[b>>2]=l-(h&k);c[g>>2]=(h&j-i)+i;f=h^f;a[e>>0]=a[126409+f>>0]|0;h=c[g>>2]|0;e=d[125257+h>>0]|0;c[g>>2]=h<>2]<>2]=e;if(!(e&65535))al(b);return f&1|0}function Lk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=a+32904+b|0;if(!d){b=a+32856|0;if(!(Kk(b,f)|0))b=0;else{e=b;g=4}}else{b=(c[a+21740>>2]&6|0)!=0;e=a+32856|0;if(!(Kk(e,f+((c[a+21732>>2]&6|0)==0?b&1:b?2:1)|0)|0))b=0;else{f=f+2|0;g=4}}if((g|0)==4)if(!(bl(e)|0)){b=(Kk(e,f+1|0)|0)*12|1;if(Kk(e,f+2|0)|0)b=b+4+((Kk(e,f+(d+2)|0)|0)<<2)|0;b=((Kk(e,f+(d+3)|0)|0)<<1)+b|0;b=b+(Kk(e,f+((d<<1)+3)|0)|0)|0}else b=25;return b|0}function Mk(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,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;Ha=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);xa=Ha+8|0;ya=Ha;za=c[g+21748>>2]|0;Fa=c[g+21708>>2]|0;oa=c[g+21712>>2]|0;pa=c[g+21716>>2]|0;qa=c[g+21720>>2]|0;c[xa>>2]=qa;ra=c[g+21724>>2]|0;c[xa+4>>2]=ra;sa=c[g+21728>>2]|0;ta=c[g+21732>>2]|0;ua=c[g+21736>>2]|0;va=c[g+21740>>2]|0;c[ya>>2]=va;wa=c[g+21744>>2]|0;c[ya+4>>2]=wa;if(!(h&2048)){t=(h&7|0)!=0;a:do if(t){p=c[(c[f+28212>>2]|0)+56>>2]|0?7:-1;k=g+21768|0;c[k>>2]=65535;i=g+21760|0;c[i>>2]=65535;m=g+21756|0;c[m>>2]=65535;n=g+21764|0;c[n>>2]=61162;o=(p&ta|0)!=0;if(o){i=65535;l=60138}else{c[m>>2]=46079;c[i>>2]=13311;c[n>>2]=9962;i=46079;l=8938}j=h&128;do if((j|0)==(va&128|0)){if(!(va&p)){i=i&57183;c[m>>2]=i;c[k>>2]=24415}}else{if(!j){if(!((va&p|0)==0?1:(c[(c[f+24364>>2]|0)+((c[f+27016>>2]|0)+qa<<2)>>2]&p|0)==0))break;i=i&57183;c[m>>2]=i;c[k>>2]=24415;break}if(!(va&p)){i=i&57343;c[m>>2]=i;c[k>>2]=24575;j=24415}else j=65375;if(!(wa&p)){i=i&65375;c[m>>2]=i;c[k>>2]=j}}while(0);if(!(p&sa))c[m>>2]=i&32767;if(!(p&ua))c[n>>2]=l;if(h&1|0){if(!(ta&1)){ZW(g+21668|0,(o?2:-1)|0,4)|0;l=g+21704|0;m=f+26364|0}else{l=g+21704|0;m=f+26364|0;c[g+21668>>2]=c[(c[l>>2]|0)+(c[(c[m>>2]|0)+(oa<<2)>>2]|0)>>2]}k=0;while(1){if((k|0)==2)break a;i=c[ya+(k<<2)>>2]|0;if(!(i&1)){i=(i&p|0)==0?-1:2;j=k<<4;a[j+19+(g+21664)>>0]=i;j=j|11}else{na=(c[l>>2]|0)+(c[(c[m>>2]|0)+(c[xa+(k<<2)>>2]<<2)>>2]|0)|0;i=k<<1;j=k<<4;a[(j|11)+(g+21664)>>0]=a[na+(6-(d[za+i>>0]|0))>>0]|0;i=a[na+(6-(d[za+(i|1)>>0]|0))>>0]|0;j=j+19|0}a[g+21664+j>>0]=i;k=k+1|0}}}while(0);s=(ta|0)!=0;if(s){r=f+25972|0;i=c[r>>2]|0;c[g+27828>>2]=c[i+(oa*48|0)+12>>2];na=(c[f+25680>>2]|0)==0;c[g+27868>>2]=c[(na?28:20)+(i+(oa*48|0))>>2];i=c[(na?44:36)+(i+(oa*48|0))>>2]|0}else{i=t?1077952576:0;c[g+27828>>2]=i;c[g+27868>>2]=i;r=f+25972|0}c[g+27908>>2]=i;p=t?64:0;q=f+28216|0;o=0;while(1){if((o|0)==2)break;if(!(c[ya+(o<<2)>>2]|0)){j=o<<4;a[j+99+(g+27824)>>0]=p;a[j+91+(g+27824)>>0]=p;a[j+59+(g+27824)>>0]=p;a[j+51+(g+27824)>>0]=p;a[j+19+(g+27824)>>0]=p;j=j|11;i=p}else{m=c[r>>2]|0;n=c[xa+(o<<2)>>2]|0;i=o<<1;k=za+(i+8)|0;j=o<<4;a[(j|11)+(g+27824)>>0]=a[(d[k>>0]|0)+(m+(n*48|0))>>0]|0;l=za+(i+9)|0;a[j+19+(g+27824)>>0]=a[(d[l>>0]|0)+(m+(n*48|0))>>0]|0;switch(c[(c[q>>2]|0)+12>>2]|0){case 3:{a[j+51+(g+27824)>>0]=a[(d[k>>0]|0)+16+(m+(n*48|0))>>0]|0;a[j+59+(g+27824)>>0]=a[(d[l>>0]|0)+16+(m+(n*48|0))>>0]|0;a[j+91+(g+27824)>>0]=a[(d[k>>0]|0)+32+(m+(n*48|0))>>0]|0;l=(d[l>>0]|0)+32|0;i=j+99|0;break}case 2:{a[j+51+(g+27824)>>0]=a[(d[k>>0]|0)+14+(m+(n*48|0))>>0]|0;a[j+59+(g+27824)>>0]=a[(d[l>>0]|0)+14+(m+(n*48|0))>>0]|0;a[j+91+(g+27824)>>0]=a[(d[k>>0]|0)+30+(m+(n*48|0))>>0]|0;i=(d[l>>0]|0)+30|0;k=99;u=39;break}default:{j=o<<3;a[j+51+(g+27824)>>0]=a[(d[za+(i+12)>>0]|0)+(m+(n*48|0))>>0]|0;i=d[za+(i+13)>>0]|0;k=91;u=39}}if((u|0)==39){u=0;l=i;i=k+j|0}j=i;i=a[m+(n*48|0)+l>>0]|0}a[g+27824+j>>0]=i;o=o+1|0}if(s)i=e[(c[f+26392>>2]|0)+(oa<<1)>>1]|0;else i=t?1999:15;c[g+21860>>2]=i;if(!va)i=t?1999:15;else{i=c[f+26392>>2]|0;na=e[i+(qa<<1)>>1]|0;i=na>>>(a[za>>0]&-2&255)&2|na&2032|(e[i+(ra<<1)>>1]|0)>>>(a[za+2>>0]&-2&255)<<2&8}c[g+21864>>2]=i}if(!(h&120)){if(h&256|0?c[g+21844>>2]|0:0)u=53}else u=53;b:do if((u|0)==53){w=c[f+26368>>2]|0;x=g+23412|0;y=f+26360|0;z=w*3|0;B=oa<<2;A=B|2;B=B|3;C=(h&80|0)==0;D=va|0?-1:-2;E=qa<<2|1;F=ua|0?-1:-2;G=sa|0?-1:-2;I=g+21752|0;J=w<<1;K=w+3|0;L=Fa<<2;M=(h&2304|0)==0;O=f+26364|0;P=g+840|0;Q=g+28524|0;R=f+26408|0;S=g+28532|0;T=g+28548|0;U=g+28540|0;V=(ta&256|0)==0;W=(ta&64|0)==0;X=g+28516|0;Y=g+28518|0;Z=g+28523|0;_=ra<<2|1;$=za+2|0;aa=g+28539|0;ba=za+3|0;ca=za+1|0;da=f+26376|0;ea=g+21828|0;fa=(sa&128|0)!=0;ga=(ta&128|0)==0;ha=(ua&128|0)==0;ia=(va&128|0)==0;ja=(wa&128|0)==0;ka=pa<<2|2;la=ta|0?-1:-16843010;ma=(va&320|0)==64;u=va&256|0?-128:4;na=(wa&320|0)==64;v=wa&256|0?-128:4;t=0;while(1){if(t>>>0>=(c[x>>2]|0)>>>0)break b;n=g+28272+(t*40|0)+12|0;p=c[f+24384+(t<<2)>>2]|0;o=g+27952+(t*160|0)+48|0;q=c[f+24352+(t<<2)>>2]|0;s=12288<<(t<<1);do if(s&h|0){r=(s&ta|0)!=0;if(r){k=(c[(c[y>>2]|0)+(oa<<2)>>2]|0)+z|0;j=q+(k<<2)|0;m=c[j+4>>2]|0;l=g+27952+(t*160|0)+16|0;c[l>>2]=c[j>>2];c[l+4>>2]=m;k=q+(k<<2)+8|0;l=c[k+4>>2]|0;m=g+27952+(t*160|0)+24|0;c[m>>2]=c[k>>2];c[m+4>>2]=l;m=a[p+A>>0]|0;a[g+28272+(t*40|0)+5>>0]=m;a[g+28272+(t*40|0)+4>>0]=m;m=a[p+B>>0]|0;a[g+28272+(t*40|0)+7>>0]=m;a[g+28272+(t*40|0)+6>>0]=m}else{m=g+27952+(t*160|0)+16|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[g+28272+(t*40|0)+4>>2]=la}c:do if(C){if(!(va&s)){c[g+27952+(t*160|0)+44>>2]=0;i=D}else{c[g+27952+(t*160|0)+44>>2]=c[q+((c[(c[y>>2]|0)+(qa<<2)>>2]|0)+3+(H(w,d[za>>0]|0)|0)<<2)>>2];i=a[p+(E+(a[za>>0]&-2&255))>>0]|0}a[g+28272+(t*40|0)+11>>0]=i}else{m=0;while(1){if((m|0)==2)break c;j=m<<1;k=m<<4;i=k+-1|0;l=c[ya+(m<<2)>>2]|0;if(!(l&s)){c[o+(i<<2)>>2]=0;k=k|7;c[o+(k<<2)>>2]=0;j=l|0?-1:-2;a[n+k>>0]=j}else{Ia=c[xa+(m<<2)>>2]|0;Ka=(c[(c[y>>2]|0)+(Ia<<2)>>2]|0)+3|0;Ia=Ia<<2|1;Ja=za+j|0;c[o+(i<<2)>>2]=c[q+((H(w,d[Ja>>0]|0)|0)+Ka<<2)>>2];j=za+(j|1)|0;l=k|7;c[o+(l<<2)>>2]=c[q+((H(w,d[j>>0]|0)|0)+Ka<<2)>>2];a[n+i>>0]=a[p+(Ia+(a[Ja>>0]&-2&255))>>0]|0;j=a[p+(Ia+(a[j>>0]&-2&255))>>0]|0;i=l}a[n+i>>0]=j;m=m+1|0}}while(0);if(!(s&ua)){c[g+27952+(t*160|0)+32>>2]=0;i=F}else{c[g+27952+(t*160|0)+32>>2]=c[q+((c[(c[y>>2]|0)+(pa<<2)>>2]|0)+z<<2)>>2];i=a[p+ka>>0]|0}m=g+28272+(t*40|0)+8|0;a[m>>0]=i;l=g+28272+(t*40|0)+6|0;if((a[l>>0]|i)<<24>>24<0){if(!(s&sa)){c[g+27952+(t*160|0)+12>>2]=0;i=G}else{i=c[I>>2]|0;c[g+27952+(t*160|0)+12>>2]=c[q+(K+(c[(c[y>>2]|0)+(Fa<<2)>>2]|0)+(i&J)<<2)>>2];i=a[p+(L|i&2|1)>>0]|0}a[g+28272+(t*40|0)+3>>0]=i}if(M){k=c[g+32848+(t<<2)>>2]|0;a[g+28272+(t*40|0)+30>>0]=-2;a[g+28272+(t*40|0)+14>>0]=-2;c[g+27952+(t*160|0)+56>>2]=0;c[g+27952+(t*160|0)+120>>2]=0;if(r){j=k+(c[(c[O>>2]|0)+(oa<<2)>>2]<<1)|0;i=c[j>>2]|0;j=c[j+4>>2]|0}else{i=0;j=0}Ka=g+28352+(t*80|0)+8|0;c[Ka>>2]=i;c[Ka+4>>2]=j;if(!(va&s)){b[g+28352+(t*80|0)+22>>1]=0;i=0}else{i=(c[(c[O>>2]|0)+(qa<<2)>>2]|0)+6|0;b[g+28352+(t*80|0)+22>>1]=b[k+(i-(d[za>>0]|0)<<1)>>1]|0;i=b[k+(i-(d[ca>>0]|0)<<1)>>1]|0}b[g+28352+(t*80|0)+38>>1]=i;if(!(wa&s)){b[g+28352+(t*80|0)+54>>1]=0;i=0}else{i=(c[(c[O>>2]|0)+(ra<<2)>>2]|0)+6|0;b[g+28352+(t*80|0)+54>>1]=b[k+(i-(d[$>>0]|0)<<1)>>1]|0;i=b[k+(i-(d[ba>>0]|0)<<1)>>1]|0}b[g+28352+(t*80|0)+70>>1]=i;b[g+28352+(t*80|0)+28>>1]=0;b[g+28352+(t*80|0)+60>>1]=0;if((c[P>>2]|0)==3){j=c[R>>2]|0;c[Q>>2]=67372036;c[S>>2]=67372036;c[U>>2]=67372036;c[T>>2]=67372036;do if(V)if(W){c[X>>2]=67372036;break}else{a[X>>0]=a[j+A>>0]|0;a[Y>>0]=a[j+B>>0]|0;break}else c[X>>2]=-2139062144;while(0);if(ma)i=a[j+(E+(a[za>>0]&-2&255))>>0]|0;else i=u;a[Z>>0]=i;if(na)i=a[j+(_+(a[$>>0]&-2&255))>>0]|0;else i=v;a[aa>>0]=i}if(!(c[da>>2]|0))break}else if(!(c[da>>2]|0))break;if(!(c[ea>>2]|0)){if(fa?(Da=g+28272+(t*40|0)+3|0,Ea=a[Da>>0]|0,Ea<<24>>24>-1):0){a[Da>>0]=(Ea&255)>>>1;Ka=g+27952+(t*160|0)+14|0;b[Ka>>1]=b[Ka>>1]<<1;Ka=g+28352+(t*80|0)+7|0;a[Ka>>0]=d[Ka>>0]<<1}do if(!ga){i=g+28272+(t*40|0)+4|0;j=a[i>>0]|0;if(j<<24>>24>-1){a[i>>0]=(j&255)>>>1;Ka=g+27952+(t*160|0)+18|0;b[Ka>>1]=b[Ka>>1]<<1;Ka=g+28352+(t*80|0)+9|0;a[Ka>>0]=d[Ka>>0]<<1}i=g+28272+(t*40|0)+5|0;j=a[i>>0]|0;if(j<<24>>24>-1){a[i>>0]=(j&255)>>>1;Ka=g+27952+(t*160|0)+22|0;b[Ka>>1]=b[Ka>>1]<<1;Ka=g+28352+(t*80|0)+11|0;a[Ka>>0]=d[Ka>>0]<<1}i=a[l>>0]|0;if(i<<24>>24>-1){a[l>>0]=(i&255)>>>1;Ka=g+27952+(t*160|0)+26|0;b[Ka>>1]=b[Ka>>1]<<1;Ka=g+28352+(t*80|0)+13|0;a[Ka>>0]=d[Ka>>0]<<1}i=g+28272+(t*40|0)+7|0;j=a[i>>0]|0;if(j<<24>>24<=-1)break;a[i>>0]=(j&255)>>>1;Ka=g+27952+(t*160|0)+30|0;b[Ka>>1]=b[Ka>>1]<<1;Ka=g+28352+(t*80|0)+15|0;a[Ka>>0]=d[Ka>>0]<<1}while(0);if(!ha?(Ga=a[m>>0]|0,Ga<<24>>24>-1):0){a[m>>0]=(Ga&255)>>>1;Ka=g+27952+(t*160|0)+34|0;b[Ka>>1]=b[Ka>>1]<<1;Ka=g+28352+(t*80|0)+17|0;a[Ka>>0]=d[Ka>>0]<<1}do if(!ia){i=g+28272+(t*40|0)+11|0;j=a[i>>0]|0;if(j<<24>>24>-1){a[i>>0]=(j&255)>>>1;Ka=g+27952+(t*160|0)+46|0;b[Ka>>1]=b[Ka>>1]<<1;Ka=g+28352+(t*80|0)+23|0;a[Ka>>0]=d[Ka>>0]<<1}i=g+28272+(t*40|0)+19|0;j=a[i>>0]|0;if(j<<24>>24<=-1)break;a[i>>0]=(j&255)>>>1;Ka=g+27952+(t*160|0)+78|0;b[Ka>>1]=b[Ka>>1]<<1;Ka=g+28352+(t*80|0)+39|0;a[Ka>>0]=d[Ka>>0]<<1}while(0);if(ja)break;i=g+28272+(t*40|0)+27|0;j=a[i>>0]|0;if(j<<24>>24>-1){a[i>>0]=(j&255)>>>1;Ka=g+27952+(t*160|0)+110|0;b[Ka>>1]=b[Ka>>1]<<1;Ka=g+28352+(t*80|0)+55|0;a[Ka>>0]=d[Ka>>0]<<1}i=g+28272+(t*40|0)+35|0;j=a[i>>0]|0;if(j<<24>>24<=-1)break;a[i>>0]=(j&255)>>>1;Ka=g+27952+(t*160|0)+142|0;b[Ka>>1]=b[Ka>>1]<<1;Ka=g+28352+(t*80|0)+71|0;a[Ka>>0]=d[Ka>>0]<<1;break}else{if(!fa?(Aa=g+28272+(t*40|0)+3|0,Ba=a[Aa>>0]|0,Ba<<24>>24>-1):0){a[Aa>>0]=Ba<<24>>24<<1;Ka=g+27952+(t*160|0)+14|0;b[Ka>>1]=(b[Ka>>1]|0)/2|0;Ka=g+28352+(t*80|0)+7|0;a[Ka>>0]=(d[Ka>>0]|0)>>>1}do if(ga){i=g+28272+(t*40|0)+4|0;j=a[i>>0]|0;if(j<<24>>24>-1){a[i>>0]=j<<24>>24<<1;Ka=g+27952+(t*160|0)+18|0;b[Ka>>1]=(b[Ka>>1]|0)/2|0;Ka=g+28352+(t*80|0)+9|0;a[Ka>>0]=(d[Ka>>0]|0)>>>1}i=g+28272+(t*40|0)+5|0;j=a[i>>0]|0;if(j<<24>>24>-1){a[i>>0]=j<<24>>24<<1;Ka=g+27952+(t*160|0)+22|0;b[Ka>>1]=(b[Ka>>1]|0)/2|0;Ka=g+28352+(t*80|0)+11|0;a[Ka>>0]=(d[Ka>>0]|0)>>>1}i=a[l>>0]|0;if(i<<24>>24>-1){a[l>>0]=i<<24>>24<<1;Ka=g+27952+(t*160|0)+26|0;b[Ka>>1]=(b[Ka>>1]|0)/2|0;Ka=g+28352+(t*80|0)+13|0;a[Ka>>0]=(d[Ka>>0]|0)>>>1}i=g+28272+(t*40|0)+7|0;j=a[i>>0]|0;if(j<<24>>24<=-1)break;a[i>>0]=j<<24>>24<<1;Ka=g+27952+(t*160|0)+30|0;b[Ka>>1]=(b[Ka>>1]|0)/2|0;Ka=g+28352+(t*80|0)+15|0;a[Ka>>0]=(d[Ka>>0]|0)>>>1}while(0);if(ha?(Ca=a[m>>0]|0,Ca<<24>>24>-1):0){a[m>>0]=Ca<<24>>24<<1;Ka=g+27952+(t*160|0)+34|0;b[Ka>>1]=(b[Ka>>1]|0)/2|0;Ka=g+28352+(t*80|0)+17|0;a[Ka>>0]=(d[Ka>>0]|0)>>>1}do if(ia){i=g+28272+(t*40|0)+11|0;j=a[i>>0]|0;if(j<<24>>24>-1){a[i>>0]=j<<24>>24<<1;Ka=g+27952+(t*160|0)+46|0;b[Ka>>1]=(b[Ka>>1]|0)/2|0;Ka=g+28352+(t*80|0)+23|0;a[Ka>>0]=(d[Ka>>0]|0)>>>1}i=g+28272+(t*40|0)+19|0;j=a[i>>0]|0;if(j<<24>>24<=-1)break;a[i>>0]=j<<24>>24<<1;Ka=g+27952+(t*160|0)+78|0;b[Ka>>1]=(b[Ka>>1]|0)/2|0;Ka=g+28352+(t*80|0)+39|0;a[Ka>>0]=(d[Ka>>0]|0)>>>1}while(0);if(!ja)break;i=g+28272+(t*40|0)+27|0;j=a[i>>0]|0;if(j<<24>>24>-1){a[i>>0]=j<<24>>24<<1;Ka=g+27952+(t*160|0)+110|0;b[Ka>>1]=(b[Ka>>1]|0)/2|0;Ka=g+28352+(t*80|0)+55|0;a[Ka>>0]=(d[Ka>>0]|0)>>>1}i=g+28272+(t*40|0)+35|0;j=a[i>>0]|0;if(j<<24>>24<=-1)break;a[i>>0]=j<<24>>24<<1;Ka=g+27952+(t*160|0)+142|0;b[Ka>>1]=(b[Ka>>1]|0)/2|0;Ka=g+28352+(t*80|0)+71|0;a[Ka>>0]=(d[Ka>>0]|0)>>>1;break}}while(0);t=t+1|0}}while(0);c[g+21840>>2]=(va>>>24&1)+(ta>>>24&1);$c=Ha;return}function Nk(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+32856|0;if(!(Wk(c,a+32972|0)|0)){a=a+32973|0;d=Wk(c,a)|0;d=((Wk(c,a)|0)<<1)+d|0;c=d+((Wk(c,a)|0)<<2)|0;b=c+((c|0)>=(b|0)&1)|0}return b|0}function Ok(b,d){b=b|0;d=d|0;var e=0;if(!(c[d+21740>>2]|0))e=0;else e=(a[(c[b+26396>>2]|0)+(c[d+21720>>2]|0)>>0]|0)!=0&1;if(c[d+21732>>2]|0)e=e+((a[(c[b+26396>>2]|0)+(c[d+21712>>2]|0)>>0]|0)!=0&1)|0;b=d+32856|0;if(Kk(b,e+64+(d+32904)|0)|0){e=d+32971|0;if(!(Kk(b,e)|0))e=1;else{e=(Kk(b,e)|0)==0;e=e?2:3}}else e=0;return e|0}function Pk(a){a=a|0;var b=0,c=0,d=0;d=a+32856|0;if(!(Wk(d,a+32940|0)|0))a=0;else{do if(!(Wk(d,a+32941|0)|0)){b=Wk(d,a+32943|0)|0;a=1}else{c=a+32943|0;if(Wk(d,a+32942|0)|0)if(!(Wk(d,c)|0))a=7;else{b=Wk(d,c)|0;a=11;break}else a=3;b=((Wk(d,c)|0)<<1)+a|0;a=Wk(d,c)|0}while(0);a=b+a|0}return a|0}function Qk(a){a=a|0;var b=0;b=a+32856|0;if(!(Wk(b,a+32925|0)|0))if(!(Wk(b,a+32926|0)|0))a=1;else{a=(Wk(b,a+32927|0)|0)==0;a=a?3:2}else a=0;return a|0}function Rk(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=d[150833+f>>0]|0;g=i+-1|0;i=i+-8|0;h=a[b+28272+(e*40|0)+i>>0]|0;f=(a[b+28272+(e*40|0)+g>>0]|0)>0;if((c[b+840>>2]|0)==3){if(f)f=((d[b+28512+g>>0]|0)>>>7^1)&255;else f=0;if(h<<24>>24>0)e=(a[b+28512+i>>0]|0)<0?f:f|2;else e=f}else{e=f&1;e=h<<24>>24>0?e|2:e}g=b+32856|0;f=0;while(1){if(!(Wk(g,e+54+(b+32904)|0)|0))break;if((f|0)>30){f=-1;break}else{f=f+1|0;e=(e>>2)+4|0}}return f|0}function Sk(a,b,c){a=a|0;b=b|0;c=c|0;if((a|0)>(b|0))return ((c|0)>(b|0)?((c|0)>(a|0)?a:c):b)|0;else return ((b|0)>(c|0)?((c|0)>(a|0)?c:a):b)|0;return 0}function Tk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);g=j;i=a+32856|0;do if(!(Wk(i,b+2+(d+-3>>31)+(d+-33>>31)+(a+32904)|0)|0)){c[e>>2]=0;d=0}else{f=1;d=b+3|0;while(1){if((f|0)>=9){d=3;h=7;break}if(!(Wk(i,a+32904+d|0)|0)){b=f;d=f;break}b=d+((f|0)<4&1)|0;f=f+1|0;d=b}if((h|0)==7){while(1){h=0;if(!($k(i)|0)){b=d;break}f=(1<23){h=12;break}else{d=d+1|0;h=7}}if((h|0)==12){lf(c[(c[a>>2]|0)+4>>2]|0,16,140387,g);d=-2147483648;break}while(1){d=b+-1|0;if(!b)break;b=d;f=(($k(i)|0)<>2]=d;d=c[i>>2]<<1;c[i>>2]=d;if(!(d&65534)){_k(i);d=c[i>>2]|0}e=c[a+32860>>2]<<17;a=d-e|0;d=a>>31;c[i>>2]=(d&e)+a;d=(d^0-b)-d|0}while(0);$c=j;return d|0}function Uk(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+21864>>2]|0;f=c[a+21860>>2]|0;d=a+32856|0;e=Kk(d,76-(f>>>1&2|b>>>1&1)+(a+32904)|0)|0;e=((Kk(d,76-(f>>>2&2|e&1)+(a+32904)|0)|0)<<1)+e|0;b=e+((Kk(d,76-(e<<1&2|b>>>3&1)+(a+32904)|0)|0)<<2)|0;return b+((Kk(d,76-(b>>>2&1|b&2)+(a+32904)|0)|0)<<3)|0}function Vk(a){a=a|0;var b=0,d=0,e=0,f=0;b=(c[a+21864>>2]|0)>>>4&3;e=(c[a+21860>>2]|0)>>>4&3;f=(b|0)!=0&1;d=a+32856|0;f=(Kk(d,((e|0)==0?f:f|2)+77+(a+32904)|0)|0)==0;b=(b|0)==2?5:4;if(f)b=0;else b=(Kk(d,((e|0)==2?b|2:b)+77+(a+32904)|0)|0)+1|0;return b|0}function Wk(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=d[e>>0]|0;g=b+4|0;i=c[g>>2]|0;j=d[125769+((i<<1&384)+f)>>0]|0;i=i-j|0;k=i<<17;l=c[b>>2]|0;h=k-l>>31;c[b>>2]=l-(h&k);c[g>>2]=(h&j-i)+i;f=h^f;a[e>>0]=a[126409+f>>0]|0;h=c[g>>2]|0;e=d[125257+h>>0]|0;c[g>>2]=h<>2]<>2]=e;if(!(e&65535))al(b);return f&1|0}function Xk(f,g,h,i,j,k,l){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=$c;$c=$c+304|0;if(($c|0)>=(ad|0))N(304);t=A+48|0;u=A;z=g+32860|0;r=u+4|0;c[r>>2]=c[z>>2];w=g+32856|0;c[u>>2]=c[w>>2];x=g+32872|0;y=u+16|0;c[y>>2]=c[x>>2];q=c[g+21828>>2]|0;p=(c[72644+(q*56|0)+(i<<2)>>2]|0)+(g+32904)|0;q=(c[72756+(q*56|0)+(i<<2)>>2]|0)+(g+32904)|0;s=(c[72868+(i<<2)>>2]|0)+(g+32904)|0;o=l+-1|0;n=0;m=0;while(1){if((n|0)>=(o|0)){v=6;break}if(Wk(u,p+n|0)|0){l=m+1|0;c[t+(m<<2)>>2]=n;if(!(Wk(u,q+n|0)|0))m=l;else{m=l;break}}n=n+1|0}if((v|0)==6)if((n|0)==(o|0)){c[t+(m<<2)>>2]=o;m=m+1|0}q=(i|0)==3;i=(c[f+26392>>2]|0)+(c[g+21796>>2]<<1)|0;b[i>>1]=(q?64:256)<<(q?-49:-48)+j|(e[i>>1]|0);a[(d[150833+j>>0]|0)+(g+27824)>>0]=m;if(!(c[f+25664>>2]|0)){q=m;l=0;while(1){q=q+-1|0;f=d[k+(c[t+(q<<2)>>2]|0)>>0]|0;if(!(Wk(u,s+(d[140221+l>>0]|0)|0)|0)){m=d[140229+l>>0]|0;l=c[u>>2]<<1;c[u>>2]=l;if(!(l&65534)){_k(u);l=c[u>>2]|0}j=c[r>>2]|0;p=j<<17;l=l-p|0;o=l>>31;l=(o&p)+l|0;c[u>>2]=l;p=m;n=~o;m=j}else{m=s+(d[140245+l>>0]|0)|0;p=d[140237+l>>0]|0;l=2;while(1){if(l>>>0>=15){l=0;v=34;break}if(!(Wk(u,m)|0))break;l=l+1|0}if((v|0)==34){while(1){v=0;if((l|0)<23&($k(u)|0)!=0){l=l+1|0;v=34}else{m=1;break}}while(1){if(!l)break;l=l+-1|0;m=($k(u)|0)+(m<<1)|0}l=m+14|0}m=c[u>>2]<<1;c[u>>2]=m;if(!(m&65534)){_k(u);m=c[u>>2]|0}j=c[r>>2]|0;n=j<<17;m=m-n|0;o=m>>31;m=(o&n)+m|0;c[u>>2]=m;n=o^0-l;l=m;m=j}b[h+(f<<1)>>1]=n-o;if(!q)break;else l=p}}else{l=0;q=m;while(1){q=q+-1|0;f=d[k+(c[t+(q<<2)>>2]|0)>>0]|0;if(!(Wk(u,s+(d[140221+l>>0]|0)|0)|0)){m=d[140229+l>>0]|0;l=c[u>>2]<<1;c[u>>2]=l;if(!(l&65534)){_k(u);l=c[u>>2]|0}j=c[r>>2]|0;p=j<<17;l=l-p|0;o=l>>31;l=(o&p)+l|0;c[u>>2]=l;p=m;n=~o;m=j}else{m=s+(d[140245+l>>0]|0)|0;p=d[140237+l>>0]|0;l=2;while(1){if(l>>>0>=15){l=0;v=18;break}if(!(Wk(u,m)|0))break;l=l+1|0}if((v|0)==18){while(1){v=0;if((l|0)<23&($k(u)|0)!=0){l=l+1|0;v=18}else{m=1;break}}while(1){if(!l)break;l=l+-1|0;m=($k(u)|0)+(m<<1)|0}l=m+14|0}m=c[u>>2]<<1;c[u>>2]=m;if(!(m&65534)){_k(u);m=c[u>>2]|0}j=c[r>>2]|0;n=j<<17;m=m-n|0;o=m>>31;m=(o&n)+m|0;c[u>>2]=m;n=o^0-l;l=m;m=j}c[h+(f<<2)>>2]=n-o;if(!q)break;else l=p}}c[z>>2]=m;c[w>>2]=l;c[x>>2]=c[y>>2];$c=A;return}function Yk(e,f,g,h,i,j,k,l){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=$c;$c=$c+304|0;if(($c|0)>=(ad|0))N(304);t=A+48|0;u=A;w=f+32860|0;s=u+4|0;c[s>>2]=c[w>>2];x=f+32856|0;c[u>>2]=c[x>>2];y=f+32872|0;z=u+16|0;c[z>>2]=c[y>>2];n=c[f+21828>>2]|0;o=(c[72644+(n*56|0)+(h<<2)>>2]|0)+(f+32904)|0;p=(c[72756+(n*56|0)+(h<<2)>>2]|0)+(f+32904)|0;r=(c[72868+(h<<2)>>2]|0)+(f+32904)|0;q=(l|0)==64;a:do if(q){m=0;l=0;while(1){if((m|0)>=63)break;if(Wk(u,o+(d[140261+(n*63|0)+m>>0]|0)|0)|0){B=p+(d[126537+m>>0]|0)|0;h=l+1|0;c[t+(l<<2)>>2]=m;if(!(Wk(u,B)|0))l=h;else{l=h;break a}}m=m+1|0}if((m|0)==63){c[t+(l<<2)>>2]=63;l=l+1|0}}else{n=l+-1|0;m=0;l=0;while(1){if((m|0)>=(n|0))break;if(Wk(u,o+m|0)|0){h=l+1|0;c[t+(l<<2)>>2]=m;if(!(Wk(u,p+m|0)|0))l=h;else{l=h;break a}}m=m+1|0}if((m|0)==(n|0)){c[t+(l<<2)>>2]=n;l=l+1|0}}while(0);if(q){B=(d[150833+i>>0]|0)+(f+27824)|0;i=l*257&65535;b[B>>1]=i;b[B+8>>1]=i}else a[(d[150833+i>>0]|0)+(f+27824)>>0]=l;if(!(c[e+25664>>2]|0)){o=l;h=0;while(1){o=o+-1|0;p=d[j+(c[t+(o<<2)>>2]|0)>>0]|0;if(!(Wk(u,r+(d[140221+h>>0]|0)|0)|0)){l=d[140229+h>>0]|0;m=0-(c[k+(p<<2)>>2]|0)|0;h=c[u>>2]<<1;c[u>>2]=h;if(!(h&65534)){_k(u);h=c[u>>2]|0}B=c[s>>2]|0;n=B<<17;f=h-n|0;i=f>>31;h=(i&n)+f|0;c[u>>2]=h;n=l;m=(f>>>31|32)+(i^m)|0;l=B}else{l=r+(d[140245+h>>0]|0)|0;n=d[140237+h>>0]|0;h=2;while(1){if(h>>>0>=15){h=0;v=44;break}if(!(Wk(u,l)|0))break;h=h+1|0}if((v|0)==44){while(1){v=0;if((h|0)<23&($k(u)|0)!=0){h=h+1|0;v=44}else{l=1;break}}while(1){if(!h)break;h=h+-1|0;l=($k(u)|0)+(l<<1)|0}h=l+14|0}l=c[u>>2]<<1;c[u>>2]=l;if(!(l&65534)){_k(u);l=c[u>>2]|0}B=c[s>>2]|0;i=B<<17;l=l-i|0;m=l>>31;l=(m&i)+l|0;c[u>>2]=l;m=(H((m^0-h)-m|0,c[k+(p<<2)>>2]|0)|0)+32|0;h=l;l=B}b[g+(p<<1)>>1]=m>>>6;if(!o)break;else h=n}}else{h=0;o=l;while(1){o=o+-1|0;p=d[j+(c[t+(o<<2)>>2]|0)>>0]|0;if(!(Wk(u,r+(d[140221+h>>0]|0)|0)|0)){l=d[140229+h>>0]|0;m=0-(c[k+(p<<2)>>2]|0)|0;h=c[u>>2]<<1;c[u>>2]=h;if(!(h&65534)){_k(u);h=c[u>>2]|0}B=c[s>>2]|0;n=B<<17;f=h-n|0;i=f>>31;h=(i&n)+f|0;c[u>>2]=h;n=l;m=(f>>>31|32)+(i^m)|0;l=B}else{l=r+(d[140245+h>>0]|0)|0;n=d[140237+h>>0]|0;h=2;while(1){if(h>>>0>=15){h=0;v=28;break}if(!(Wk(u,l)|0))break;h=h+1|0}if((v|0)==28){while(1){v=0;if((h|0)<23&($k(u)|0)!=0){h=h+1|0;v=28}else{l=1;break}}while(1){if(!h)break;h=h+-1|0;l=($k(u)|0)+(l<<1)|0}h=l+14|0}l=c[u>>2]<<1;c[u>>2]=l;if(!(l&65534)){_k(u);l=c[u>>2]|0}B=c[s>>2]|0;i=B<<17;l=l-i|0;m=l>>31;l=(m&i)+l|0;c[u>>2]=l;m=(H((m^0-h)-m|0,c[k+(p<<2)>>2]|0)|0)+32|0;h=l;l=B}c[g+(p<<2)>>2]=m>>6;if(!o)break;else h=n}}c[w>>2]=l;c[x>>2]=h;c[y>>2]=c[z>>2];$c=A;return}function Zk(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=$c;$c=$c+304|0;if(($c|0)>=(ad|0))N(304);q=y+48|0;r=y;w=g+32860|0;s=r+4|0;c[s>>2]=c[w>>2];x=g+32856|0;c[r>>2]=c[x>>2];u=g+32872|0;v=r+16|0;c[v>>2]=c[u>>2];o=c[g+21828>>2]|0;n=(c[72644+(o*56|0)+12>>2]|0)+(g+32904)|0;o=(c[72756+(o*56|0)+12>>2]|0)+(g+32904)|0;p=g+33161|0;m=0;k=0;while(1){if((m|0)>=7){t=6;break}j=d[140214+m>>0]|0;if(Wk(r,n+j|0)|0){l=k+1|0;c[q+(k<<2)>>2]=m;if(!(Wk(r,o+j|0)|0))k=l;else{k=l;break}}m=m+1|0}if((t|0)==6)if((m|0)==7){c[q+(k<<2)>>2]=7;k=k+1|0}o=(c[f+26392>>2]|0)+(c[g+21796>>2]<<1)|0;b[o>>1]=64<>1]|0);a[(d[150833+i>>0]|0)+(g+27824)>>0]=k;if(!(c[f+25664>>2]|0)){o=k;j=0;while(1){o=o+-1|0;f=d[128241+(c[q+(o<<2)>>2]|0)>>0]|0;if(!(Wk(r,p+(d[140221+j>>0]|0)|0)|0)){k=d[140229+j>>0]|0;j=c[r>>2]<<1;c[r>>2]=j;if(!(j&65534)){_k(r);j=c[r>>2]|0}i=c[s>>2]|0;n=i<<17;j=j-n|0;m=j>>31;j=(m&n)+j|0;c[r>>2]=j;n=k;l=~m;k=i}else{k=p+(d[140253+j>>0]|0)|0;n=d[140237+j>>0]|0;j=2;while(1){if(j>>>0>=15){j=0;t=34;break}if(!(Wk(r,k)|0))break;j=j+1|0}if((t|0)==34){while(1){t=0;if((j|0)<23&($k(r)|0)!=0){j=j+1|0;t=34}else{k=1;break}}while(1){if(!j)break;j=j+-1|0;k=($k(r)|0)+(k<<1)|0}j=k+14|0}k=c[r>>2]<<1;c[r>>2]=k;if(!(k&65534)){_k(r);k=c[r>>2]|0}i=c[s>>2]|0;l=i<<17;k=k-l|0;m=k>>31;k=(m&l)+k|0;c[r>>2]=k;l=m^0-j;j=k;k=i}b[h+(f<<1)>>1]=l-m;if(!o)break;else j=n}}else{j=0;o=k;while(1){o=o+-1|0;f=d[128241+(c[q+(o<<2)>>2]|0)>>0]|0;if(!(Wk(r,p+(d[140221+j>>0]|0)|0)|0)){k=d[140229+j>>0]|0;j=c[r>>2]<<1;c[r>>2]=j;if(!(j&65534)){_k(r);j=c[r>>2]|0}i=c[s>>2]|0;n=i<<17;j=j-n|0;m=j>>31;j=(m&n)+j|0;c[r>>2]=j;n=k;l=~m;k=i}else{k=p+(d[140253+j>>0]|0)|0;n=d[140237+j>>0]|0;j=2;while(1){if(j>>>0>=15){j=0;t=18;break}if(!(Wk(r,k)|0))break;j=j+1|0}if((t|0)==18){while(1){t=0;if((j|0)<23&($k(r)|0)!=0){j=j+1|0;t=18}else{k=1;break}}while(1){if(!j)break;j=j+-1|0;k=($k(r)|0)+(k<<1)|0}j=k+14|0}k=c[r>>2]<<1;c[r>>2]=k;if(!(k&65534)){_k(r);k=c[r>>2]|0}i=c[s>>2]|0;l=i<<17;k=k-l|0;m=k>>31;k=(m&l)+k|0;c[r>>2]=k;l=m^0-j;j=k;k=i}c[h+(f<<2)>>2]=l-m;if(!o)break;else j=n}}c[w>>2]=k;c[x>>2]=j;c[u>>2]=c[v>>2];$c=y;return}function _k(a){a=a|0;var b=0,e=0;b=a+16|0;e=c[b>>2]|0;c[a>>2]=(c[a>>2]|0)+-65535+((d[e+1>>0]|0)<<1|(d[e>>0]|0)<<9);c[b>>2]=e+2;return}function $k(a){a=a|0;var b=0,d=0;b=c[a>>2]<<1;c[a>>2]=b;if(!(b&65534)){_k(a);b=c[a>>2]|0}d=c[a+4>>2]<<17;if((b|0)<(d|0))b=0;else{c[a>>2]=b-d;b=1}return b|0}function al(a){a=a|0;var b=0,e=0,f=0;f=c[a>>2]|0;b=a+16|0;e=c[b>>2]|0;c[a>>2]=(((d[e+1>>0]|0)<<1|(d[e>>0]|0)<<9)+-65535<<7-(d[125257+((f+-1^f)>>>15)>>0]|0))+f;c[b>>2]=e+2;return}function bl(a){a=a|0;var b=0,d=0;d=a+4|0;b=(c[d>>2]|0)+-2|0;c[d>>2]=b;if((c[a>>2]|0)<(b<<17|0)){cl(a);a=0}else a=(c[a+16>>2]|0)-(c[a+12>>2]|0)|0;return a|0}function cl(a){a=a|0;var b=0,d=0,e=0;d=a+4|0;e=c[d>>2]|0;b=(e+-256|0)>>>31;c[d>>2]=e<>2]<>2]=b;if(!(b&65535))_k(a);return}function dl(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);j=s;q=b+556|0;n=c[q>>2]|0;o=(H(n,f)|0)+e|0;p=b+552|0;l=c[p>>2]|0;m=l+-1|0;o=(o|0)<0?0:(o|0)>(m|0)?m:o;h=(H(n,h)|0)+g|0;h=(h|0)<0?0:(h|0)>(l|0)?l:h;l=b+548|0;n=c[l>>2]|0;m=c[n+(o<<2)>>2]|0;n=c[n+(h<<2)>>2]|0;e=c[b>>2]|0;g=c[e+592>>2]|0;if(!((g|0)!=0?(c[g+32>>2]|0)!=0:0))k=3;do if((k|0)==3){if((n|0)<(m|0)|(o|0)>(h|0)){lf(e,16,140548,j);break}if(c[e+572>>2]|0){if(!(i&18))e=-2;else{e=b+572|0;c[e>>2]=(c[e>>2]|0)+(o+~h);e=-20}if(i&36){k=b+572|0;c[k>>2]=(c[k>>2]|0)+(o+~h);e=e&-38}if(i&72){k=b+572|0;c[k>>2]=(c[k>>2]|0)+(o+~h);e=e&-73}if(i&14|0){c[b+576>>2]=1;c[b+572>>2]=2147483647}g=b+580|0;a:do if((e|0)==-128)ZW((c[g>>2]|0)+m|0,0,n-m|0)|0;else{f=m;while(1){if((f|0)>=(n|0))break a;k=(c[g>>2]|0)+f|0;a[k>>0]=e&(d[k>>0]|0);f=f+1|0}}while(0);if((h|0)==(c[p>>2]|0))c[b+572>>2]=2147483647;else{p=(c[g>>2]|0)+n|0;a[p>>0]=e&(d[p>>0]|0);p=(c[g>>2]|0)+n|0;a[p>>0]=d[p>>0]|0|i}i=(c[g>>2]|0)+m|0;a[i>>0]=a[i>>0]|1;if(((((m|0)>0?(r=c[b>>2]|0,(c[r+696>>2]&2|0)==0):0)?ki(b)|0:0)?(H(c[q>>2]|0,c[r+268>>2]|0)|0)<(o|0):0)?(a[(c[g>>2]|0)+(c[(c[l>>2]|0)+(o+-1<<2)>>2]|0)>>0]&-2)<<24>>24!=112:0){c[b+576>>2]=1;c[b+572>>2]=2147483647}}}while(0);$c=s;return}function el(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=c[a+16>>2]|0;b=(c[d>>2]|0)+b|0;c[d>>2]=a>>>0>b>>>0?b:a;return}function fl(a,b,c){a=a|0;b=b|0;c=c|0;hl(a,b,c,0);return}function gl(a,b,c){a=a|0;b=b|0;c=c|0;hl(a,b,c,1);return}function hl(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);h=i;if((c[e>>2]|0)>>>0>=f>>>0){if(f|0?(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24|0)==0:0){c[h>>2]=153083;c[h+4>>2]=148780;c[h+8>>2]=33;lf(0,0,164242,h);ub()}}else{h=f+32+(f>>>4)|0;h=h>>>0>f>>>0?h:f;gf(b);if(!g)f=tf(h)|0;else f=cg(h)|0;a[b>>0]=f;a[b+1>>0]=f>>8;a[b+2>>0]=f>>16;a[b+3>>0]=f>>24;c[e>>2]=(f|0)==0?0:h}$c=i;return}function il(a){a=a|0;var b=0,d=0;b=a+64|0;eV(b)|0;d=a+140|0;a=a+92|0;while(1){if(!(c[d>>2]|0))break;Vb(a|0,b|0)|0}c[d>>2]=1;fV(b)|0;return}function jl(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=$c;$c=$c+112|0;if(($c|0)>=(ad|0))N(112);C=D+96|0;B=D+88|0;z=D+80|0;y=D+72|0;q=D+64|0;p=D+56|0;m=D+48|0;l=D+40|0;k=D+32|0;j=D+24|0;i=D+16|0;g=D;if((c[b+25628>>2]|0)==(e|0)?(c[b+29560>>2]|0)==0:0)if(!(c[b+29588>>2]|0))n=1;else{c[g>>2]=151944;c[g+4>>2]=138046;c[g+8>>2]=1681;lf(0,0,164242,g);ub()}else n=0;A=e+4|0;g=e+21808|0;c[g>>2]=jM(A)|0;h=kM(A)|0;a:do if(h>>>0<=9){i=h>>>0>4;c[e+844>>2]=i&1;i=a[128136+(i?h+-5|0:h)>>0]|0;u=i&255;v=e+836|0;c[v>>2]=u;u=u&3;s=e+840|0;c[s>>2]=u;r=f+44|0;if(!((u|0)==1|(c[r>>2]|0)!=5)){lf(c[b+4>>2]|0,16,151994,j);g=-1094995529;break}h=lM(A)|0;c[e+27776>>2]=h;if(h>>>0>255){g=c[b+4>>2]|0;c[k>>2]=h;lf(g,16,155379,k);g=-1094995529;break}g=c[b+27180+(h<<2)>>2]|0;if(!g){g=c[b+4>>2]|0;c[l>>2]=h;lf(g,16,155403,l);g=-1094995529;break}u=c[g+4>>2]|0;g=c[u>>2]|0;h=c[b+27052+(g<<2)>>2]|0;if(!h){C=c[b+4>>2]|0;c[m>>2]=g;lf(C,16,155435,m);g=-1094995529;break}m=c[h+4>>2]|0;j=m+20|0;g=mM(A,c[j>>2]|0)|0;h=e+34732|0;c[h>>2]=g;if(!n?(o=c[b+28244>>2]|0,(o|0)!=(g|0)):0){C=c[b+4>>2]|0;c[p>>2]=o;c[p+4>>2]=g;lf(C,16,152033,p);g=-1094995529;break}c[e+21832>>2]=0;if(!(c[m+64>>2]|0)){if(i<<24>>24==3&(c[m+72>>2]|0)==0){lf(c[b+4>>2]|0,16,152065,q);g=-1;break}if(nM(A)|0)l=(nM(A)|0)+1|0;else l=3}else l=3;c[e+21824>>2]=l;c[e+21828>>2]=(l|0)!=3&1;i=(l|0)==3;g=c[h>>2]|0;if(i)h=c[j>>2]|0;else{h=(c[j>>2]|0)+1|0;g=g<<1|1}c[e+34752>>2]=g;c[e+34756>>2]=1<>2]|0)==5)jM(A)|0;h=m+24|0;g=c[h>>2]|0;if(!g){c[e+34736>>2]=mM(A,c[m+28>>2]|0)|0;if(i&(c[u+8>>2]|0)==1)c[e+34740>>2]=oM(A)|0;g=c[h>>2]|0}if(((g|0)==1?(c[m+32>>2]|0)==0:0)?(c[e+34744>>2]=oM(A)|0,i&(c[u+8>>2]|0)==1):0)c[e+34748>>2]=oM(A)|0;g=e+21836|0;c[g>>2]=0;if(c[u+60>>2]|0)c[g>>2]=lM(A)|0;g=c[s>>2]|0;if((g|0)==3){c[e+21844>>2]=nM(A)|0;g=c[s>>2]|0}i=e+23404|0;k=b+4|0;g=pM(e+23412|0,i,A,u,g,l,c[k>>2]|0)|0;if((g|0)>=0){if((c[s>>2]|0)!=1?(t=qM(e,c[k>>2]|0)|0,(t|0)<0):0){c[i>>2]=0;c[e+23408>>2]=0;g=t;break}h=e+880|0;c[h>>2]=0;g=0;while(1){if((g|0)==2)break;c[e+896+(g<<2)>>2]=0;c[e+904+(g<<2)>>2]=0;g=g+1|0}if((c[u+28>>2]|0)!=0?(c[s>>2]|0)==2:0){w=2;g=51}else g=49;if(((g|0)==49?(c[u+32>>2]|0)==1:0)?(c[s>>2]|0)==3:0){w=3;g=51}if((g|0)==51?(x=rM(A,m,i,w,h,l,c[k>>2]|0)|0,(x|0)<0):0){g=x;break}c[e+34728>>2]=0;do if(c[f+64>>2]|0){if((sM(e,A,f,c[k>>2]|0)|0)>=0)break;if(c[(c[k>>2]|0)+580>>2]&8|0){g=-1094995529;break a}}while(0);do if((c[s>>2]|0)!=1){if(!(c[u+4>>2]|0))break;g=kM(A)|0;if(g>>>0>2){C=c[k>>2]|0;c[y>>2]=g;lf(C,16,152135,y);g=-1094995529;break a}else{c[e+33928>>2]=g;break}}while(0);c[e+864>>2]=0;g=c[u+36>>2]|0;g=(oM(A)|0)+g|0;if(g>>>0>(((c[m+1184>>2]|0)*6|0)+3|0)>>>0){C=c[k>>2]|0;c[z>>2]=g;lf(C,16,152163,z);g=-1094995529;break}c[e+848>>2]=g;c[e+852>>2]=d[u+548+g>>0];c[e+856>>2]=d[u+636+g>>0];g=c[v>>2]|0;if((g|0)==6){nM(A)|0;g=c[v>>2]|0}if((g+-5|0)>>>0<2)oM(A)|0;h=e+868|0;c[h>>2]=1;j=e+872|0;c[j>>2]=0;i=e+876|0;c[i>>2]=0;if(!(c[u+52>>2]|0)){g=0;break}g=kM(A)|0;if(g>>>0>2){C=c[k>>2]|0;c[B>>2]=g;lf(C,16,152183,B);g=-1094995529;break}B=(g|0)==2?2:g^1;c[h>>2]=B;if(!B){g=0;break}h=oM(A)|0;g=oM(A)|0;if((h+6|0)>>>0>12|(g+6|0)>>>0>12){B=c[k>>2]|0;c[C>>2]=h;c[C+4>>2]=g;lf(B,16,152222,C);g=-1094995529;break}else{c[j>>2]=h<<1;c[i>>2]=g<<1;g=0;break}}}else{C=c[b+4>>2]|0;g=c[g>>2]|0;c[i>>2]=h;c[i+4>>2]=g;lf(C,16,151963,i);g=-1094995529}while(0);$c=D;return g|0}function kl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=$c;$c=$c+96|0;if(($c|0)>=(ad|0))N(96);x=E+72|0;w=E+56|0;u=E+48|0;o=E+40|0;p=E+32|0;l=E+16|0;k=E;e=Bl(a,b,e)|0;a:do if((e|0)>=0){z=a+28216|0;q=c[z>>2]|0;m=a+25684|0;n=c[m>>2]|0;D=a+26380|0;v=c[D>>2]|0;B=d+64|0;c[m>>2]=(c[B>>2]|0)==0&1;e=c[b+21824>>2]|0;c[D>>2]=e;f=c[b+34732>>2]|0;y=a+28224|0;C=a+28244|0;c[C>>2]=f;c[y>>2]=c[b+34736>>2];c[a+28232>>2]=c[b+34740>>2];c[a+28236>>2]=c[b+34744>>2];c[a+28240>>2]=c[b+34748>>2];r=a+28264|0;g=c[r>>2]|0;if((f|0)!=(g|0)?(h=1<>2],A=c[q+48>>2]|0,i=f-A|0,(f-g+((f|0)<(g|0)?h:0)|0)>(A|0)):0)c[r>>2]=i+-1+((i|0)<1?h:0);A=a+26384|0;do if(c[A>>2]|0){i=(v|0)==2;f=i&1;j=a+24312|0;g=c[j>>2]|0;if(!g){c[k>>2]=149744;c[k+4>>2]=138046;c[k+8>>2]=1446;lf(0,0,164242,k);ub()}if(!(c[(c[g>>2]|0)+248>>2]|0)){c[l>>2]=149759;c[l+4>>2]=138046;c[l+8>>2]=1447;lf(0,0,164242,l);ub()}h=a+4|0;if((c[g+8+(f<<2)>>2]|0)==(c[h>>2]|0)){Rh(g+4|0,2147483647,f);e=c[D>>2]|0}if((e|0)==3|(e|0)==(v|0)){if((v|0)==3){n=j;break}Rh((c[j>>2]|0)+4|0,2147483647,(v|0)==1&1);n=j;break}f=c[j>>2]|0;if((c[f+88>>2]|0)!=(c[C>>2]|0)){if((v|0)==3){n=j;break}Rh(f+4|0,2147483647,(v|0)==1&1);n=j;break}if(!((v|0)==1&(e|0)==2|i&(e|0)==1)){a=c[h>>2]|0;c[p>>2]=v;c[p+4>>2]=e;lf(a,16,149785,p);c[D>>2]=v;c[m>>2]=n;e=-1094995529;break a}if((n|0)==(c[m>>2]|0))n=j;else{ci(c[h>>2]|0,149823,o);c[D>>2]=v;c[m>>2]=n;e=-1163346256;break a}}else{h=a+4|0;n=a+24312|0}while(0);k=q+20|0;l=a+29556|0;g=q+52|0;m=a+29548|0;j=a+28348|0;while(1){i=c[C>>2]|0;e=c[r>>2]|0;f=(c[A>>2]|0)==0;if((i|0)==(e|0)){g=45;break}if(!f){g=46;break}if((i|0)==((e+1|0)%(1<>2]|0)|0|0)){g=57;break}if(!(c[l>>2]|0))f=0;else f=c[j>>2]|0;q=c[h>>2]|0;c[u>>2]=i;c[u+4>>2]=e;lf(q,48,149889,u);b:do if(!(c[g>>2]|0)){e=0;while(1){if((e|0)==16)break b;c[a+28676+(e<<2)>>2]=-2147483648;e=e+1|0}}while(0);e=Cl(a)|0;if((e|0)<0){g=33;break}q=((c[r>>2]|0)+1|0)%(1<>2]|0)|0;c[r>>2]=q;e=c[n>>2]|0;c[e+88>>2]=q;c[e+648>>2]=(c[g>>2]|0)==0&1;Rh(e+4|0,2147483647,0);Rh((c[n>>2]|0)+4|0,2147483647,1);c[m>>2]=0;e=Qh(a)|0;if((e|0)<0?c[(c[h>>2]|0)+580>>2]&8|0:0)break a;if(!(c[l>>2]|0))continue;e=c[j>>2]|0;if((((f|0)!=0?(s=c[e>>2]|0,t=c[f>>2]|0,(c[s+68>>2]|0)==(c[t+68>>2]|0)):0)?(c[s+72>>2]|0)==(c[t+72>>2]|0):0)?(c[s+80>>2]|0)==(c[t+80>>2]|0):0){e=f+4|0;ni(e,2147483647,0);if(c[f+636>>2]|0)ni(e,2147483647,1);q=c[c[j>>2]>>2]|0;e=c[f>>2]|0;fh(q,q+32|0,e,e+32|0,c[e+80>>2]|0,c[e+68>>2]|0,c[e+72>>2]|0);e=c[j>>2]|0;c[e+84>>2]=(c[f+84>>2]|0)+2}c[e+88>>2]=c[r>>2]}if((g|0)==33){c[A>>2]=0;break}else if((g|0)==45)if(f)g=57;else g=46;do if((g|0)==46){g=c[n>>2]|0;if(!g){c[w>>2]=149744;c[w+4>>2]=138046;c[w+8>>2]=1553;lf(0,0,164242,w);ub()}if(!(c[(c[g>>2]|0)+248>>2]|0)){c[x>>2]=149759;c[x+4>>2]=138046;c[x+8>>2]=1554;lf(0,0,164242,x);ub()}e=c[D>>2]|0;f=a+29584|0;if((e|0)==3|(e|0)==(v|0)){c[f>>2]=(c[f>>2]|0)+1;c[n>>2]=0;f=(e|0)!=3&1;c[A>>2]=f;break}c[f>>2]=0;if((c[g+88>>2]|0)!=(i|0)){Rh(g+4|0,2147483647,(e|0)==2&1);c[A>>2]=1;c[n>>2]=0;e=c[D>>2]|0;f=1;break}if(!(c[g+640>>2]&4)){c[A>>2]=0;f=0;break}else{c[A>>2]=1;c[n>>2]=0;f=1;break}}else if((g|0)==57){e=c[D>>2]|0;f=(e|0)!=3&1;c[A>>2]=f}while(0);if(!((e|0)!=3&(f|0)==0)){if((Cl(a)|0)<0){c[A>>2]=0;e=-1094995529;break}}else{Dl(a,0);c[(c[n>>2]|0)+8+(((e|0)==2&1)<<2)>>2]=c[h>>2]}e=c[D>>2]|0;c:do if((e|0)==3)ZW(c[a+26372>>2]|0,-1,(H(c[a+27008>>2]<<1,c[a+27016>>2]|0)|0)+-2|0)|0;else{g=a+27008|0;h=a+26372|0;i=a+27016|0;e=(e|0)==2&1;while(1){f=c[g>>2]|0;if((e|0)>=(f|0))break c;w=c[i>>2]|0;x=e+1|0;ZW((c[h>>2]|0)+((H(w,e)|0)<<1)|0,-1,w-((x|0)==(f|0)&1)<<1|0)|0;e=x}}while(0);e=c[n>>2]|0;e=El(e+76|0,e+84|0,c[z>>2]|0,y,c[D>>2]|0,c[B>>2]|0)|0;if((e|0)>=0){k=b+34724|0;XW(a+28748|0,b+33932|0,(c[k>>2]|0)*12|0)|0;c[a+29540>>2]=c[k>>2];c[m>>2]=c[b+34728>>2];k=(c[d+44>>2]|0)==5;j=k&1;c[a+25712>>2]=j;h=c[a+29716>>2]|0;do if((h|0)>-1){i=c[C>>2]|0;if(!((i|0)==(h|0)?(c[b+840>>2]|0)==1:0))c[a+29568>>2]=1;g=a+29572|0;f=c[g>>2]|0;if((f|0)>=0){e=c[(c[z>>2]|0)+20>>2]|0;if(((1<>>0<=h>>>0)break}else e=c[(c[z>>2]|0)+20>>2]|0;z=(1<>2]=z;c[g>>2]=(c[a+29568>>2]|0)==0?i:z}while(0);f=c[n>>2]|0;e=(c[f>>2]|0)+84|0;c[e>>2]=c[e>>2]|j;e=a+29572|0;if(k){c[e>>2]=-1;c[f+644>>2]=1;C=a+29576|0;e=c[C>>2]|1;c[C>>2]=e}else{if((c[e>>2]|0)==(c[C>>2]|0)?c[B>>2]|0:0){c[e>>2]=-1;c[f+644>>2]=1}e=c[a+29576>>2]|0}C=f+644|0;c[C>>2]=c[C>>2]|e;if(((c[D>>2]|0)!=3?c[A>>2]|0:0)?(c[a+29584>>2]|0)<=1:0){e=0;break}Fl(a);Gl(a);e=0}}while(0);$c=E;return e|0}function ll(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=$c;$c=$c+160|0;if(($c|0)>=(ad|0))N(160);D=E+24|0;m=E+16|0;g=E+8|0;f=E;v=E+96|0;if((c[a+25712>>2]|0)!=0?(c[e+44>>2]|0)!=5:0){lf(c[a+4>>2]|0,16,149069,f);f=-1094995529}else w=4;do if((w|0)==4){h=c[d+21808>>2]|0;j=a+26376|0;i=(c[j>>2]|0)==0;if(i)f=(c[a+26380>>2]|0)!=3;else f=1;C=c[a+27020>>2]|0;if(!(h<<(f&1)>>>0>>0&h>>>0>>0)){lf(c[a+4>>2]|0,16,149108,g);f=-1094995529;break}y=a+27012|0;f=c[y>>2]|0;u=(h>>>0)%(f>>>0)|0;z=d+21788|0;c[z>>2]=u;c[d+21800>>2]=u;u=a+26380|0;C=c[u>>2]|0;f=((h>>>0)/(f>>>0)|0)<<(((C|0)!=3|i^1)&1);t=d+21792|0;c[t>>2]=f;l=d+21804|0;c[l>>2]=f;if((C|0)==2){C=f+1|0;c[t>>2]=C;c[l>>2]=C}f=ml(a,d)|0;if((f|0)>=0){h=a+28212|0;g=d+840|0;if((c[(c[h>>2]|0)+32>>2]|0)==2){if((c[g>>2]|0)==3){nl(a,d,-1);if(!(c[j>>2]|0))w=15;else{nl(a,d,0);nl(a,d,1);w=15}}}else w=15;if(((w|0)==15?(c[g>>2]|0)==3:0)?(c[d+21844>>2]|0)==0:0)ol(a,d);if(!(c[a+29588>>2]|0))pl(a,d);s=a+4|0;k=c[s>>2]|0;f=c[k+724>>2]|0;a:do if((f|0)<=47){do if((f|0)>31)if((c[a+27028>>2]|0)==5)w=24;else{w=29;break a}else if((f|0)<=23)if((f|0)>15)if((c[g>>2]|0)==3){w=29;break a}else break;else if((f|0)>7)break;else break a;else w=24;while(0);if((w|0)==24?(c[g>>2]|0)!=1:0){w=29;break}if(!(c[e+64>>2]|0))w=29}else w=29;while(0);if((w|0)==29)c[d+868>>2]=0;A=d+868|0;do if((c[A>>2]|0)==1?(c[a+25632>>2]|0)>1:0)if(!(c[k+64>>2]&1)){c[a+25708>>2]=1;break}else{c[A>>2]=2;break}while(0);B=d+872|0;i=c[B>>2]|0;C=d+876|0;j=c[C>>2]|0;g=c[h>>2]|0;f=g+44|0;h=c[f>>2]|0;x=(h|0)<0;g=g+48|0;h=((x?0:h)|0)<=(c[g>>2]|0);if(h|x^1)f=c[(h?g:f)>>2]|0;else f=0;c[d+860>>2]=-33-((i|0)>(j|0)?j:i)-f+((c[(c[a+28216>>2]|0)+1184>>2]|0)*6|0);r=a+29560|0;g=c[r>>2]|0;h=g+1|0;c[r>>2]=h;r=d+832|0;c[r>>2]=h;if(!h)f=c[l>>2]|0;else{f=c[l>>2]|0;b[a+29600+((g&31)<<1)>>1]=f}x=b[a+29600+((h&31)<<1)>>1]|0;if((g|0)>30&((f|0)>=(x|0)&(x+3|0)>=(f|0))){c[m>>2]=h;c[m+4>>2]=32;lf(k,24,149136,m)}n=d+23412|0;o=a+29556|0;p=a+29552|0;m=0;while(1){if((m|0)==2)break;q=c[r>>2]&31;k=d+23404+(m<<2)|0;j=0;while(1){if((j|0)==16)break;l=v+(j<<2)|0;c[l>>2]=60;b:do if(m>>>0<(c[n>>2]|0)>>>0?j>>>0<(c[k>>2]|0)>>>0:0){f=c[(c[c[d+23416+(m*1920|0)+(j*40|0)+36>>2]>>2]|0)+248>>2]|0;if(!f)break;h=c[f>>2]|0;i=c[o>>2]|0;f=0;while(1){if((f|0)>=(i|0))break;if((c[c[(c[c[a+28348+(f<<2)>>2]>>2]|0)+248>>2]>>2]|0)==(h|0)){w=53;break}f=f+1|0}if((w|0)==53){w=0;c[l>>2]=f}g=c[p>>2]|0;f=0;while(1){if((f|0)>=(g|0))break b;x=c[a+28476+(f<<2)>>2]|0;if(x|0?(c[c[(c[x>>2]|0)+248>>2]>>2]|0)==(h|0):0)break;f=f+1|0}c[l>>2]=i+f}while(0);j=j+1|0}c[a+29940+(q<<9)+(m<<8)+4>>2]=-1;c[a+29940+(q<<9)+(m<<8)>>2]=-1;f=0;while(1){if((f|0)==16)break;c[a+29940+(q<<9)+(m<<8)+(f+2<<2)>>2]=c[d+23416+(m*1920|0)+(f*40|0)+24>>2]&3|c[v+(f<<2)>>2]<<2;f=f+1|0}c[a+29940+(q<<9)+(m<<8)+76>>2]=-1;c[a+29940+(q<<9)+(m<<8)+72>>2]=-1;f=16;while(1){if((f|0)==48)break;c[a+29940+(q<<9)+(m<<8)+(f+4<<2)>>2]=c[d+23416+(m*1920|0)+(f*40|0)+24>>2]&3|c[v+(f+-16>>1<<2)>>2]<<2;f=f+1|0}m=m+1|0}x=c[s>>2]|0;if(!(c[x+576>>2]&1))f=0;else{w=c[r>>2]|0;v=c[u>>2]|0;s=H(c[y>>2]|0,c[t>>2]|0)|0;s=s+(c[z>>2]|0)|0;f=d+836|0;t=(li(c[f>>2]|0)|0)<<24>>24;u=c[d+844>>2]|0?149237:262104;q=(c[e+44>>2]|0)==5?149242:262104;r=c[a+28244>>2]|0;m=c[a+24312>>2]|0;l=c[m+76>>2]|0;m=c[m+80>>2]|0;n=c[d+23404>>2]|0;o=c[d+23408>>2]|0;p=c[d+848>>2]|0;k=c[A>>2]|0;j=c[B>>2]|0;g=c[C>>2]|0;h=c[d+880>>2]|0;if((h|0)==1)i=c[d+884>>2]|0?149247:262104;else i=262104;if((c[f>>2]|0)==3)f=c[d+21844>>2]|0?149249:149254;else f=262104;c[D>>2]=w;c[D+4>>2]=(v|0)==3?149235:(v|0)==1?149231:149233;c[D+8>>2]=s;c[D+12>>2]=t;c[D+16>>2]=u;c[D+20>>2]=q;c[D+24>>2]=r;c[D+28>>2]=l;c[D+32>>2]=m;c[D+36>>2]=n;c[D+40>>2]=o;c[D+44>>2]=p;c[D+48>>2]=k;c[D+52>>2]=j;c[D+56>>2]=g;c[D+60>>2]=h;c[D+64>>2]=i;c[D+68>>2]=f;lf(x,48,149259,D);f=0}}}while(0);$c=E;return f|0}function ml(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,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=$c;$c=$c+64|0;if(($c|0)>=(ad|0))N(64);G=I+48|0;H=I+40|0;C=I+32|0;B=I+16|0;A=I+8|0;z=I;u=I+60|0;Xh(b);Yh(b);sl(b,d);D=d+23412|0;v=d+34752|0;x=d+34756|0;y=b+29556|0;E=b+4|0;F=b+26380|0;s=0;a:while(1){e=c[D>>2]|0;if(s>>>0>=e>>>0){n=0;p=29;break}q=d+27768+(s<<2)|0;r=d+23404+(s<<2)|0;n=0;e=c[v>>2]|0;while(1){if((n|0)>=(c[q>>2]|0))break;f=a[d+27256+(s<<8)+(n<<3)>>0]|0;i=c[d+27256+(s<<8)+(n<<3)+4>>2]|0;b:do switch(f<<24>>24){case 1:case 0:{g=i+1|0;h=c[x>>2]|0;if(g>>>0>h>>>0){p=11;break a}e=h+-1&(f<<24>>24==0?~i:g)+e;g=Th(b,e,u)|0;i=c[u>>2]|0;f=c[y>>2]|0;while(1){p=f;f=f+-1|0;if((p|0)<=0){p=18;break b}h=c[b+28348+(f<<2)>>2]|0;if((c[h+88>>2]|0)!=(g|0))continue;if(i&c[h+640>>2]|0){m=e;p=15;break}}break}case 2:{f=Th(b,i,u)|0;if(f>>>0>31){p=16;break a}f=c[b+28476+(f<<2)>>2]|0;if((f|0)!=0?(w=c[u>>2]|0,(w&c[f+640>>2]|0)!=0):0){m=e;h=f;e=i;i=w;p=15}else p=18;break}default:{p=17;break a}}while(0);if((p|0)==15){c[h+96>>2]=e;f=h+96|0;g=c[r>>2]|0;j=h+100|0;e=n;while(1){k=e+1|0;if(k>>>0>=g>>>0)break;l=c[d+23416+(s*1920|0)+(e*40|0)+36>>2]|0;if(!l){e=k;continue}if((c[j>>2]|0)!=(c[l+100>>2]|0)){e=k;continue}if((c[f>>2]|0)==(c[d+23416+(s*1920|0)+(e*40|0)+32>>2]|0))break;else e=k}while(1){if((e|0)<=(n|0))break;g=e+-1|0;f=d+23416+(s*1920|0)+(e*40|0)|0;e=d+23416+(s*1920|0)+(g*40|0)|0;o=f+40|0;do{c[f>>2]=c[e>>2];f=f+4|0;e=e+4|0}while((f|0)<(o|0));e=g}e=d+23416+(s*1920|0)+(n*40|0)|0;tl(e,h);if((c[F>>2]|0)==3)e=m;else{ul(e,i);e=m}}else if((p|0)==18){lf(c[E>>2]|0,16,149527,C);f=d+23416+(s*1920|0)+(n*40|0)|0;o=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(o|0))}n=n+1|0}s=s+1|0}c:do if((p|0)==11){lf(c[E>>2]|0,16,149472,z);t=-1094995529}else if((p|0)==16){lf(c[E>>2]|0,16,149499,A);t=-1094995529}else if((p|0)==17){c[B>>2]=170247;c[B+4>>2]=132325;c[B+8>>2]=373;lf(0,0,164242,B);ub()}else if((p|0)==29){d:while(1){p=0;if(n>>>0>=e>>>0)break;i=d+23404+(n<<2)|0;j=b+28268+(n*40|0)|0;k=b+28268+(n*40|0)+28|0;l=b+28268+(n*40|0)+36|0;m=b+28268+(n*40|0)+24|0;h=0;while(1){if(h>>>0>=(c[i>>2]|0)>>>0)break;f=d+23416+(n*1920|0)+(h*40|0)|0;g=d+23416+(n*1920|0)+(h*40|0)+36|0;e=c[g>>2]|0;if(e){if((c[F>>2]|0)==3?(c[d+23416+(n*1920|0)+(h*40|0)+24>>2]&3|0)!=3:0)p=35}else p=35;if((p|0)==35){p=0;e=c[E>>2]|0;c[H>>2]=c[k>>2];lf(e,16,149569,H);e=0;while(1){if((e|0)==16)break;c[b+28676+(e<<2)>>2]=-2147483648;e=e+1|0}if(!(c[l>>2]|0)){t=-1;break c}if((c[F>>2]|0)==3?(c[m>>2]&3|0)!=3:0){t=-1;break c}e=j;o=f+40|0;do{c[f>>2]=c[e>>2];f=f+4|0;e=e+4|0}while((f|0)<(o|0));e=c[g>>2]|0}if((vl(c[(c[e>>2]|0)+248>>2]|0)|0)>0)h=h+1|0;else{p=43;break d}}n=n+1|0;e=c[D>>2]|0;p=29}if((p|0)==43){c[G>>2]=149611;c[G+4>>2]=132325;c[G+8>>2]=411;lf(0,0,164242,G);ub()}if(!(c[b+26376>>2]|0))t=0;else{wl(d);t=0}}while(0);$c=I;return t|0}function nl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=0;while(1){if((e|0)==2)break;c[b+896+(e<<2)>>2]=0;c[b+904+(e<<2)>>2]=0;e=e+1|0}n=(d|0)<0;if(n){g=c[a+26380>>2]|0;e=c[a+24312>>2]|0;g=c[((g|0)==3?e+84|0:e+76+(g+-1<<2)|0)>>2]|0;e=c[b+23404>>2]|0;f=c[b+23408>>2]|0;if((e|0)==1)if((f|0)==1)if((c[a+26376>>2]|0)==0?(l=c[b+23444>>2]|0,m=c[b+25364>>2]|0,l=IW(m|0,((m|0)<0)<<31>>31|0,l|0,((l|0)<0)<<31>>31|0)|0,m=g<<1,(l|0)==(m|0)&(M()|0)==(((m|0)<0)<<31>>31|0)):0){c[b+880>>2]=0;c[b+884>>2]=0}else{m=0;e=1;f=1;h=11}else{m=0;e=1;h=11}else{m=0;h=11}}else{m=16;e=(c[b+23404>>2]<<1)+16|0;f=(c[b+23408>>2]<<1)+16|0;g=c[(c[a+24312>>2]|0)+76+(d<<2)>>2]|0;h=11}a:do if((h|0)==11){c[b+880>>2]=2;c[b+884>>2]=2;c[b+888>>2]=5;c[b+892>>2]=5;a=m;while(1){if((a|0)>=(e|0))break a;j=c[b+23416+(a*40|0)+28>>2]|0;k=b+23416+(a*40|0)+36|0;l=g-j|0;l=((l+128|0)>>>0>255?l>>31^127:l)<<24>>24;h=m;while(1){if((h|0)>=(f|0))break;if(((c[(c[k>>2]|0)+100>>2]|0)==0?(c[(c[b+25336+(h*40|0)+36>>2]|0)+100>>2]|0)==0:0)?(p=(c[b+25336+(h*40|0)+28>>2]|0)-j|0,p=(p+128|0)>>>0>255?p>>31^127:p,o=p&255,p=p<<24>>24,o<<24>>24!=0):0){i=(H((((o<<24>>24>-1?p:0-p|0)>>1)+16384|0)/(p|0)|0,l)|0)+32>>8;i=(i+64|0)>>>0<193?64-i|0:32}else i=32;if(n){c[b+3216+(a*384|0)+(h<<3)+4>>2]=i;c[b+3216+(a*384|0)+(h<<3)>>2]=i}else c[b+3216+(a*384|0)+(h<<3)+(d<<2)>>2]=i;h=h+1|0}a=a+1|0}}while(0);return}function ol(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=c[a+26380>>2]|0;i=a+24312|0;k=c[i>>2]|0;j=c[((j|0)==3?k+84|0:k+76+(((j|0)==2&1)<<2)|0)>>2]|0;k=c[b+25364>>2]|0;a:do if(!(c[a+26376>>2]|0))d=b+23404|0;else{f=b+25372|0;d=b+23404|0;e=0;while(1){if((e|0)==2)break a;g=c[(c[i>>2]|0)+76+(e<<2)>>2]|0;h=c[(c[f>>2]|0)+76+(e<<2)>>2]|0;a=0;while(1){if(a>>>0>=c[d>>2]<<1>>>0)break;c[b+21996+(e<<7)+((a^e)<<2)>>2]=rl(b,g,h,a+16|0)|0;a=a+1|0}e=e+1|0}}while(0);a=0;while(1){if(a>>>0>=(c[d>>2]|0)>>>0)break;c[b+21868+(a<<2)>>2]=rl(b,j,k,a)|0;a=a+1|0}return}function pl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);p=q+16|0;j=q;m=a+24312|0;h=c[m>>2]|0;l=a+26380|0;o=c[l>>2]&1^1;n=b+25360|0;f=c[n>>2]&1;k=b+23412|0;d=0;while(1){if(d>>>0>=(c[k>>2]|0)>>>0)break;g=b+23404+(d<<2)|0;c[h+616+(o<<3)+(d<<2)>>2]=c[g>>2];e=0;while(1){if(e>>>0>=(c[g>>2]|0)>>>0)break;c[h+104+(o<<8)+(d<<7)+(e<<2)>>2]=c[b+23416+(d*1920|0)+(e*40|0)+24>>2]&3|c[(c[b+23416+(d*1920|0)+(e*40|0)+36>>2]|0)+88>>2]<<2;e=e+1|0}d=d+1|0}i=f^1;if((c[l>>2]|0)==3){e=h+616|0;f=c[e+4>>2]|0;g=h+624|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;XW(h+360|0,h+104|0,256)|0}if(c[a+29560>>2]|0){if((c[h+632>>2]|0)!=(c[a+26376>>2]|0)){c[j>>2]=149349;c[j+4>>2]=149381;c[j+8>>2]=144;lf(0,0,164242,j);ub()}}else c[h+632>>2]=c[a+26376>>2];f=b+21852|0;c[f>>2]=0;a:do if((c[k>>2]|0)==2?c[b+23408>>2]|0:0){e=c[l>>2]|0;if((e|0)!=3){d=c[n>>2]|0;if((d&e|0)==0?(c[(c[b+25372>>2]|0)+632>>2]|0)==0:0){c[f>>2]=(d<<1)+-3;d=o}else d=o}else{d=c[(c[m>>2]|0)+84>>2]|0;f=c[b+25372>>2]|0;e=c[f+76>>2]|0;f=c[f+80>>2]|0;if((e|0)==2147483647&(f|0)==2147483647){lf(c[a+4>>2]|0,16,149406,p);d=1}else{p=e-d|0;d=f-d|0;d=(((p|0)>-1?p:0-p|0)|0)>=(((d|0)>-1?d:0-d|0)|0)&1}c[b+21848>>2]=d;i=d}if((c[b+840>>2]|0)==3?(c[b+21844>>2]|0)==0:0){g=b+22252|0;h=a+26376|0;f=0;while(1){if((f|0)==2)break a;ql(a,b,g,f,d,i,0);b:do if(c[h>>2]|0){e=0;while(1){if((e|0)==2)break b;ql(a,b,b+22636+(e*384|0)|0,f,e,e,1);e=e+1|0}}while(0);f=f+1|0}}}while(0);$c=q;return}function ql(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=c[b+25372>>2]|0;r=(h|0)!=0;p=r?16:0;q=c[b+23404>>2]|0;q=r?(q<<1)+16|0:q;if(r)n=1;else n=(c[a+26380>>2]|0)!=3;ZW(d+(e*192|0)|0,0,192)|0;k=s+616+(g<<3)+(e<<2)|0;l=s+632|0;h=0;a:while(1){if((h|0)==2)break;m=h+1|0;o=n&(h|0)!=(f|0);j=(h^f)+16|0;i=0;while(1){if((i|0)>=(c[k>>2]|0)){h=m;continue a}h=c[s+104+(g<<8)+(e<<7)+(i<<2)>>2]|0;if(n)a=(h&3|0)==3?m+(h&-4)|0:h;else a=h|3;h=p;while(1){if((h|0)>=(q|0))break;if((c[b+23416+(h*40|0)+24>>2]&3|c[(c[b+23416+(h*40|0)+36>>2]|0)+88>>2]<<2|0)==(a|0)){t=13;break}h=h+1|0}if((t|0)==13){t=0;h=r?h+-16^f:h;if(c[l>>2]|0)c[d+(e*192|0)+(j+(i<<1)<<2)>>2]=h;if(!o)c[d+(e*192|0)+(i<<2)>>2]=h}i=i+1|0}}return}function rl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);j=k+8|0;h=c[a+23416+(e*40|0)+28>>2]|0;i=((h|0)<0)<<31>>31;d=JW(d|0,((d|0)<0)<<31>>31|0,h|0,i|0)|0;l=M()|0;g=(d+128|0)>>>0>255?d>>31^127:d;f=g&255;g=g<<24>>24;if(!((d|0)==(d|0)&(l|0)==(((d|0)<0)<<31>>31|0)))ci(c[(c[a>>2]|0)+4>>2]|0,149435,k);if(f<<24>>24!=0?(c[(c[a+23416+(e*40|0)+36>>2]|0)+100>>2]|0)==0:0){d=JW(b|0,((b|0)<0)<<31>>31|0,h|0,i|0)|0;l=M()|0;if(!((d|0)==(d|0)&(l|0)==(((d|0)<0)<<31>>31|0)))lf(c[(c[a>>2]|0)+4>>2]|0,48,149453,j);l=(H((((f<<24>>24>-1?g:0-g|0)>>1)+16384|0)/(g|0)|0,((d+128|0)>>>0>255?d>>31^127:d)<<24>>24)|0)+32|0;d=l>>6;d=(d+1024|0)>>>0>2047?l>>31^1023:d}else d=256;$c=k;return d|0}function sl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=$c;$c=$c+240|0;if(($c|0)>=(ad|0))N(240);r=s+48|0;d=s+32|0;n=s+16|0;m=s;l=s+104|0;o=s+96|0;p=s+56|0;q=b+840|0;do if((c[q>>2]|0)==3){k=a+26380|0;g=c[k>>2]|0;h=c[a+24312>>2]|0;g=c[((g|0)==3?h+84|0:h+76+(((g|0)==2&1)<<2)|0)>>2]|0;h=a+28348|0;i=a+29556|0;j=a+28476|0;f=0;while(1){if((f|0)>=2){d=11;break}d=xl(l,h,c[i>>2]|0,g,f^1)|0;d=(xl(l+(d<<2)|0,h,c[i>>2]|0,g,f)|0)+d|0;if((d|0)>=33){d=5;break}d=yl(b+23416+(f*1920|0)|0,48,l,d,0,c[k>>2]|0)|0;d=(yl(b+23416+(f*1920|0)+(d*40|0)|0,48-d|0,j,16,1,c[k>>2]|0)|0)+d|0;if((d|0)>=33){d=7;break}e=c[b+23404+(f<<2)>>2]|0;if(e>>>0>d>>>0)ZW(b+23416+(f*1920|0)+(d*40|0)|0,0,(e-d|0)*40|0)|0;c[o+(f<<2)>>2]=d;f=f+1|0}if((d|0)==5){c[m>>2]=149684;c[m+4>>2]=132325;c[m+8>>2]=153;lf(0,0,164242,m);ub()}else if((d|0)==7){c[n>>2]=149684;c[n+4>>2]=132325;c[n+8>>2]=160;lf(0,0,164242,n);ub()}else if((d|0)==11){e=c[o>>2]|0;o=c[o+4>>2]|0;if((e|0)==(o|0)&(o|0)>1){d=0;while(1){if((d|0)>=(e|0))break;if((c[c[(c[c[b+23416+(d*40|0)+36>>2]>>2]|0)+248>>2]>>2]|0)!=(c[c[(c[c[b+25336+(d*40|0)+36>>2]>>2]|0)+248>>2]>>2]|0))break;d=d+1|0}if((d|0)==(e|0)){d=b+25376|0;j=p;f=d;k=j+40|0;do{c[j>>2]=c[f>>2];j=j+4|0;f=f+4|0}while((j|0)<(k|0));e=b+25336|0;j=d;f=e;k=j+40|0;do{c[j>>2]=c[f>>2];j=j+4|0;f=f+4|0}while((j|0)<(k|0));j=e;f=p;k=j+40|0;do{c[j>>2]=c[f>>2];j=j+4|0;f=f+4|0}while((j|0)<(k|0))}}break}}else{p=a+26380|0;e=yl(b+23416|0,48,a+28348|0,c[a+29556>>2]|0,0,c[p>>2]|0)|0;e=(yl(b+23416+(e*40|0)|0,48-e|0,a+28476|0,16,1,c[p>>2]|0)|0)+e|0;if((e|0)>=33){c[d>>2]=149684;c[d+4>>2]=132325;c[d+8>>2]=181;lf(0,0,164242,d);ub()}d=c[b+23404>>2]|0;if(d>>>0>e>>>0)ZW(b+23416+(e*40|0)|0,0,(d-e|0)*40|0)|0}while(0);h=a+4|0;f=0;while(1){if((f|0)>=(((c[q>>2]|0)==3?2:1)|0))break;i=b+23404+(f<<2)|0;g=0;while(1){if(g>>>0>=(c[i>>2]|0)>>>0)break;e=b+23416+(f*1920|0)+(g*40|0)|0;d=c[b+23416+(f*1920|0)+(g*40|0)+36>>2]|0;if(d|0?zl(a,d)|0:0){lf(c[h>>2]|0,16,149694,r);j=e;k=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0))}g=g+1|0}f=f+1|0}e=b+23412|0;d=0;while(1){if(d>>>0>=(c[e>>2]|0)>>>0)break;j=a+28268+(d*40|0)|0;f=b+23416+(d*1920|0)|0;k=j+40|0;do{c[j>>2]=c[f>>2];j=j+4|0;f=f+4|0}while((j|0)<(k|0));d=d+1|0}$c=s;return}function tl(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[b>>2]|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];d=a+12|0;e=(c[b>>2]|0)+32|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[a+24>>2]=c[b+640>>2];c[a+28>>2]=c[b+84>>2];c[a+32>>2]=c[b+96>>2];c[a+36>>2]=b;return}function ul(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=(b|0)==2;f=a+24|0;d=0;while(1){if((d|0)==3)break;g=a+(d<<2)|0;h=a+12+(d<<2)|0;if(e)c[g>>2]=(c[g>>2]|0)+(c[h>>2]|0);c[f>>2]=b;c[h>>2]=c[h>>2]<<1;d=d+1|0}c[a+28>>2]=c[(c[a+36>>2]|0)+76+((e&1)<<2)>>2];return}function vl(a){a=a|0;return c[(c[a>>2]|0)+8>>2]|0}function wl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=a+23412|0;g=0;while(1){if(g>>>0>=(c[i>>2]|0)>>>0)break;k=a+23404+(g<<2)|0;h=0;while(1){if(h>>>0>=(c[k>>2]|0)>>>0)break;f=(h<<1)+16|0;j=a+23416+(g*1920|0)+(f*40|0)|0;b=j;d=a+23416+(g*1920|0)+(h*40|0)|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=0;while(1){if((b|0)==3)break;e=a+23416+(g*1920|0)+(f*40|0)+12+(b<<2)|0;c[e>>2]=c[e>>2]<<1;b=b+1|0}c[a+23416+(g*1920|0)+(f*40|0)+24>>2]=1;c[a+23416+(g*1920|0)+(f*40|0)+28>>2]=c[(c[a+23416+(g*1920|0)+(f*40|0)+36>>2]|0)+76>>2];b=j+40|0;d=j;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));d=a+23416+(g*1920|0)+(h*40|0)+36|0;b=0;while(1){if((b|0)==3)break;f=j+40+(b<<2)|0;c[f>>2]=(c[f>>2]|0)+(c[(c[c[d>>2]>>2]|0)+32+(b<<2)>>2]|0);b=b+1|0}c[j+64>>2]=2;c[j+68>>2]=c[(c[j+76>>2]|0)+80>>2];h=h+1|0}g=g+1|0}return}function xl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=f|0?-2147483648:2147483647;j=0;while(1){l=a+(j<<2)|0;g=m;k=0;while(1){if((k|0)>=(d|0))break;h=c[b+(k<<2)>>2]|0;i=c[h+84>>2]|0;if(((i|0)>(e|0)|0)!=(f|0)?((i|0)<(g|0)|0)!=(f|0):0){c[l>>2]=h;g=i}k=k+1|0}if((g|0)==(m|0))break;e=(c[(c[l>>2]|0)+84>>2]|0)-f|0;j=j+1|0}return j|0} -function rH(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=0;while(1){if((f|0)==2)break;l=d[c+-2>>0]|0;g=d[c>>0]|0;i=d[c+2>>0]|0;j=d[c+4>>0]|0;h=d[c+6>>0]|0;k=d[c+8>>0]|0;m=(d[c+-4>>0]|0)+16+h+((i+g|0)*20|0)+(H(j+l|0,-5)|0)>>5;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;g=l+16+k+((j+i|0)*20|0)+(H(h+g|0,-5)|0)>>5;a[b+e>>0]=g>>>0>255?(g^-2147483648)>>31:g;f=f+1|0;b=b+1|0;c=c+1|0}return}function sH(a,c,e,f,g){a=a|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=0;while(1){if((h|0)==2)break;j=c+(H(h,g)|0)|0;i=e+(h<<1)|0;b[a+(H(h,f)|0)>>1]=TE((d[j>>0]|d[j+1>>0]<<8)&65535,(d[i>>0]|d[i+1>>0]<<8)&65535)|0;h=h+1|0}return}function tH(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==2)break;j=c+2|0;i=c+-2|0;k=c+4|0;l=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;a=c+6|0;l=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+l+(e[a>>1]|0)>>5;b[d>>1]=l>>>0<1024?l:0-l>>31&1023;a=H((e[a>>1]|0)+(e[c>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+8>>1]|0)>>5;b[d+2>>1]=a>>>0<1024?a:0-a>>31&1023;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function uH(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;f=0;while(1){if((f|0)==7)break;g=d[c>>0]|d[c+1>>0]<<8|d[c+2>>0]<<16|d[c+3>>0]<<24;a[b>>0]=g;a[b+1>>0]=g>>8;a[b+2>>0]=g>>16;a[b+3>>0]=g>>24;f=f+1|0;c=c+e|0;b=b+4|0}return}function vH(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=d>>1;f=0;d=c;while(1){if((f|0)==2)break;l=e[d+-4>>1]|0;c=e[d>>1]|0;i=e[d+4>>1]|0;j=e[d+8>>1]|0;h=e[d+12>>1]|0;k=e[d+16>>1]|0;m=(e[d+-8>>1]|0)+16+h+((i+c|0)*20|0)+(H(j+l|0,-5)|0)>>5;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;c=l+16+k+((j+i|0)*20|0)+(H(h+c|0,-5)|0)>>5;b[a+(g<<1)>>1]=c>>>0<1024?c:0-c>>31&1023;f=f+1|0;a=a+2|0;d=d+2|0}return}function wH(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=0;while(1){if((h|0)==2)break;j=b+(H(h,g)|0)|0;i=e+(h<<2)|0;i=OE(d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24,0,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24,0)|0;M()|0;c[a+(H(h,f)|0)>>2]=i;h=h+1|0}return}function xH(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==2)break;j=c+2|0;i=c+-2|0;k=c+4|0;l=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;a=c+6|0;l=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+l+(e[a>>1]|0)>>5;b[d>>1]=l>>>0<4096?l:0-l>>31&4095;a=H((e[a>>1]|0)+(e[c>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+8>>1]|0)>>5;b[d+2>>1]=a>>>0<4096?a:0-a>>31&4095;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function yH(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;f=0;while(1){if((f|0)==7)break;g=d[c>>0]|d[c+1>>0]<<8|d[c+2>>0]<<16|d[c+3>>0]<<24;a[b>>0]=g;a[b+1>>0]=g>>8;a[b+2>>0]=g>>16;a[b+3>>0]=g>>24;f=f+1|0;c=c+e|0;b=b+4|0}return}function zH(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=d>>1;f=0;d=c;while(1){if((f|0)==2)break;l=e[d+-4>>1]|0;c=e[d>>1]|0;i=e[d+4>>1]|0;j=e[d+8>>1]|0;h=e[d+12>>1]|0;k=e[d+16>>1]|0;m=(e[d+-8>>1]|0)+16+h+((i+c|0)*20|0)+(H(j+l|0,-5)|0)>>5;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;c=l+16+k+((j+i|0)*20|0)+(H(h+c|0,-5)|0)>>5;b[a+(g<<1)>>1]=c>>>0<4096?c:0-c>>31&4095;f=f+1|0;a=a+2|0;d=d+2|0}return}function AH(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=0;while(1){if((h|0)==2)break;j=b+(H(h,g)|0)|0;i=e+(h<<2)|0;i=OE(d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24,0,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24,0)|0;M()|0;c[a+(H(h,f)|0)>>2]=i;h=h+1|0}return}function BH(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==2)break;j=c+2|0;i=c+-2|0;k=c+4|0;l=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;a=c+6|0;l=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+l+(e[a>>1]|0)>>5;b[d>>1]=l>>>0<16384?l:0-l>>31&16383;a=H((e[a>>1]|0)+(e[c>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+8>>1]|0)>>5;b[d+2>>1]=a>>>0<16384?a:0-a>>31&16383;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function CH(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;f=0;while(1){if((f|0)==7)break;g=d[c>>0]|d[c+1>>0]<<8|d[c+2>>0]<<16|d[c+3>>0]<<24;a[b>>0]=g;a[b+1>>0]=g>>8;a[b+2>>0]=g>>16;a[b+3>>0]=g>>24;f=f+1|0;c=c+e|0;b=b+4|0}return}function DH(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=d>>1;f=0;d=c;while(1){if((f|0)==2)break;l=e[d+-4>>1]|0;c=e[d>>1]|0;i=e[d+4>>1]|0;j=e[d+8>>1]|0;h=e[d+12>>1]|0;k=e[d+16>>1]|0;m=(e[d+-8>>1]|0)+16+h+((i+c|0)*20|0)+(H(j+l|0,-5)|0)>>5;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;c=l+16+k+((j+i|0)*20|0)+(H(h+c|0,-5)|0)>>5;b[a+(g<<1)>>1]=c>>>0<16384?c:0-c>>31&16383;f=f+1|0;a=a+2|0;d=d+2|0}return}function EH(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=0;while(1){if((h|0)==2)break;j=b+(H(h,g)|0)|0;i=e+(h<<2)|0;i=OE(d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24,0,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24,0)|0;M()|0;c[a+(H(h,f)|0)>>2]=i;h=h+1|0}return}function FH(a,c,d,f,g){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=g>>1;h=c;i=0;g=d+(0-(j<<1)<<1)|0;while(1){if((i|0)==7)break;l=g+2|0;k=g+-2|0;m=g+4|0;n=H((e[m>>1]|0)+(e[k>>1]|0)|0,-5)|0;d=g+6|0;b[h>>1]=(((e[l>>1]|0)+(e[g>>1]|0)|0)*20|0)+(e[g+-4>>1]|0)+n+(e[d>>1]|0);d=H((e[d>>1]|0)+(e[g>>1]|0)|0,-5)|0;b[h+2>>1]=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+(e[k>>1]|0)+d+(e[g+8>>1]|0);h=h+8|0;i=i+1|0;g=g+(j<<1)|0}i=f>>1;g=c+16|0;h=0;while(1){if((h|0)==2)break;f=b[g+-8>>1]|0;n=b[g>>1]|0;l=b[g+8>>1]|0;k=b[g+16>>1]|0;m=b[g+24>>1]|0;c=b[g+32>>1]|0;j=(b[g+-16>>1]|0)+512+m+((l+n|0)*20|0)+(H(k+f|0,-5)|0)>>10;b[a>>1]=j>>>0<512?j:0-j>>31&511;n=f+512+c+((k+l|0)*20|0)+(H(m+n|0,-5)|0)>>10;b[a+(i<<1)>>1]=n>>>0<512?n:0-n>>31&511;a=a+2|0;g=g+2|0;h=h+1|0}return}function GH(c,e,f,g,h){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=e;j=0;f=f+(0-(h<<1))|0;while(1){if((j|0)==7)break;m=f+1|0;l=f+-1|0;n=f+2|0;o=H((d[n>>0]|0)+(d[l>>0]|0)|0,-5)|0;k=f+3|0;b[i>>1]=(((d[m>>0]|0)+(d[f>>0]|0)|0)*20|0)+(d[f+-2>>0]|0)+o+(d[k>>0]|0);k=H((d[k>>0]|0)+(d[f>>0]|0)|0,-5)|0;b[i+2>>1]=(((d[n>>0]|0)+(d[m>>0]|0)|0)*20|0)+(d[l>>0]|0)+k+(d[f+4>>0]|0);i=i+4|0;j=j+1|0;f=f+h|0}f=e+8|0;i=0;while(1){if((i|0)==2)break;e=b[f+-4>>1]|0;o=b[f>>1]|0;m=b[f+4>>1]|0;l=b[f+8>>1]|0;n=b[f+12>>1]|0;k=b[f+16>>1]|0;h=(b[f+-8>>1]|0)+512+n+((m+o|0)*20|0)+(H(l+e|0,-5)|0)>>10;a[c>>0]=h>>>0>255?(h^-2147483648)>>31:h;o=e+512+k+((l+m|0)*20|0)+(H(n+o|0,-5)|0)>>10;a[c+g>>0]=o>>>0>255?(o^-2147483648)>>31:o;c=c+1|0;f=f+2|0;i=i+1|0}return}function HH(a,c,d,f,g){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=g>>1;h=c;i=0;g=d+(0-(j<<1)<<1)|0;while(1){if((i|0)==7)break;l=g+2|0;k=g+-2|0;m=g+4|0;n=H((e[m>>1]|0)+(e[k>>1]|0)|0,-5)|0;d=g+6|0;b[h>>1]=(((e[l>>1]|0)+(e[g>>1]|0)|0)*20|0)+55306+(e[g+-4>>1]|0)+n+(e[d>>1]|0);d=H((e[d>>1]|0)+(e[g>>1]|0)|0,-5)|0;b[h+2>>1]=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+55306+(e[k>>1]|0)+d+(e[g+8>>1]|0);h=h+8|0;i=i+1|0;g=g+(j<<1)|0}i=f>>1;g=c+16|0;h=0;while(1){if((h|0)==2)break;f=b[g+-8>>1]|0;n=(b[g>>1]|0)+10230|0;l=(b[g+8>>1]|0)+10230|0;k=(b[g+16>>1]|0)+10230|0;m=(b[g+24>>1]|0)+10230|0;c=b[g+32>>1]|0;j=(b[g+-16>>1]|0)+10742+m+((l+n|0)*20|0)+(H(k+(f+10230)|0,-5)|0)>>10;b[a>>1]=j>>>0<1024?j:0-j>>31&1023;n=f+20972+c+((k+l|0)*20|0)+(H(m+n|0,-5)|0)>>10;b[a+(i<<1)>>1]=n>>>0<1024?n:0-n>>31&1023;a=a+2|0;g=g+2|0;h=h+1|0}return}function IH(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=h>>1;i=d;j=0;h=f+(0-(k<<1)<<1)|0;while(1){if((j|0)==7)break;f=e[h>>1]|0;m=e[h+2>>1]|0;l=e[h+-2>>1]|0;n=e[h+4>>1]|0;p=H(n+l|0,-5)|0;o=e[h+6>>1]|0;c[i>>2]=((m+f|0)*20|0)+(e[h+-4>>1]|0)+p+o;f=H(o+f|0,-5)|0;c[i+4>>2]=((n+m|0)*20|0)+l+f+(e[h+8>>1]|0);i=i+16|0;j=j+1|0;h=h+(k<<1)|0}j=g>>1;h=d+32|0;i=0;while(1){if((i|0)==2)break;d=c[h+-16>>2]|0;p=c[h>>2]|0;n=c[h+16>>2]|0;m=c[h+32>>2]|0;o=c[h+48>>2]|0;l=c[h+64>>2]|0;g=(c[h+-32>>2]|0)+512+o+((n+p|0)*20|0)+(H(m+d|0,-5)|0)>>10;b[a>>1]=g>>>0<4096?g:0-g>>31&4095;p=d+512+l+((m+n|0)*20|0)+(H(o+p|0,-5)|0)>>10;b[a+(j<<1)>>1]=p>>>0<4096?p:0-p>>31&4095;a=a+2|0;h=h+4|0;i=i+1|0}return}function JH(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=h>>1;i=d;j=0;h=f+(0-(k<<1)<<1)|0;while(1){if((j|0)==7)break;f=e[h>>1]|0;m=e[h+2>>1]|0;l=e[h+-2>>1]|0;n=e[h+4>>1]|0;p=H(n+l|0,-5)|0;o=e[h+6>>1]|0;c[i>>2]=((m+f|0)*20|0)+(e[h+-4>>1]|0)+p+o;f=H(o+f|0,-5)|0;c[i+4>>2]=((n+m|0)*20|0)+l+f+(e[h+8>>1]|0);i=i+16|0;j=j+1|0;h=h+(k<<1)|0}j=g>>1;h=d+32|0;i=0;while(1){if((i|0)==2)break;d=c[h+-16>>2]|0;p=c[h>>2]|0;n=c[h+16>>2]|0;m=c[h+32>>2]|0;o=c[h+48>>2]|0;l=c[h+64>>2]|0;g=(c[h+-32>>2]|0)+512+o+((n+p|0)*20|0)+(H(m+d|0,-5)|0)>>10;b[a>>1]=g>>>0<16384?g:0-g>>31&16383;p=d+512+l+((m+n|0)*20|0)+(H(o+p|0,-5)|0)>>10;b[a+(j<<1)>>1]=p>>>0<16384?p:0-p>>31&16383;a=a+2|0;h=h+4|0;i=i+1|0}return}function KH(a,b,e){a=a|0;b=b|0;e=e|0;var f=0;f=0;while(1){if((f|0)==2)break;c[a>>2]=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;f=f+1|0;b=b+e|0;a=a+e|0}return}function LH(a,c,e){a=a|0;c=c|0;e=e|0;var f=0;f=0;while(1){if((f|0)==2)break;b[a>>1]=d[c>>0]|d[c+1>>0]<<8;f=f+1|0;c=c+e|0;a=a+e|0}return}function MH(a,b,e){a=a|0;b=b|0;e=e|0;var f=0;f=0;while(1){if((f|0)==2)break;c[a>>2]=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;f=f+1|0;b=b+e|0;a=a+e|0}return}function NH(a,b,e){a=a|0;b=b|0;e=e|0;var f=0;f=0;while(1){if((f|0)==2)break;c[a>>2]=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;f=f+1|0;b=b+e|0;a=a+e|0}return}function OH(a,b,e){a=a|0;b=b|0;e=e|0;var f=0;f=0;while(1){if((f|0)==2)break;c[a>>2]=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;f=f+1|0;b=b+e|0;a=a+e|0}return}function PH(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=0;while(1){if((h|0)==4)break;i=b+(H(h,g)|0)|0;l=i;i=i+4|0;k=e+(h<<3)|0;j=k;k=k+4|0;k=OE(d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24)|0;j=M()|0;i=a+(H(h,f)|0)|0;c[i>>2]=k;c[i+4>>2]=j;h=h+1|0}return}function QH(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=0;while(1){if((h|0)==4)break;j=b+(H(h,g)|0)|0;i=e+(h<<2)|0;c[a+(H(h,f)|0)>>2]=TE(d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24)|0;h=h+1|0}return}function RH(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=0;while(1){if((h|0)==4)break;i=b+(H(h,g)|0)|0;l=i;i=i+4|0;k=e+(h<<3)|0;j=k;k=k+4|0;k=OE(d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24)|0;j=M()|0;i=a+(H(h,f)|0)|0;c[i>>2]=k;c[i+4>>2]=j;h=h+1|0}return}function SH(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=0;while(1){if((h|0)==4)break;i=b+(H(h,g)|0)|0;l=i;i=i+4|0;k=e+(h<<3)|0;j=k;k=k+4|0;k=OE(d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24)|0;j=M()|0;i=a+(H(h,f)|0)|0;c[i>>2]=k;c[i+4>>2]=j;h=h+1|0}return}function TH(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=0;while(1){if((h|0)==4)break;i=b+(H(h,g)|0)|0;l=i;i=i+4|0;k=e+(h<<3)|0;j=k;k=k+4|0;k=OE(d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24)|0;j=M()|0;i=a+(H(h,f)|0)|0;c[i>>2]=k;c[i+4>>2]=j;h=h+1|0}return}function UH(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;f=0;while(1){if((f|0)==4)break;h=b;i=h;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=a;c[g>>2]=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;c[g+4>>2]=h;f=f+1|0;b=b+e|0;a=a+e|0}return}function VH(a,b,e){a=a|0;b=b|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;c[a>>2]=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;f=f+1|0;b=b+e|0;a=a+e|0}return}function WH(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;f=0;while(1){if((f|0)==4)break;h=b;i=h;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=a;c[g>>2]=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;c[g+4>>2]=h;f=f+1|0;b=b+e|0;a=a+e|0}return}function XH(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;f=0;while(1){if((f|0)==4)break;h=b;i=h;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=a;c[g>>2]=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;c[g+4>>2]=h;f=f+1|0;b=b+e|0;a=a+e|0}return}function YH(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;f=0;while(1){if((f|0)==4)break;h=b;i=h;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=a;c[g>>2]=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;c[g+4>>2]=h;f=f+1|0;b=b+e|0;a=a+e|0}return}function ZH(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=0;while(1){if((j|0)>=(i|0))break;n=H(j,g)|0;k=b+n|0;o=k;k=k+4|0;m=H(j,h)|0;p=e+m|0;l=p;p=p+4|0;p=OE(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24,d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24)|0;l=M()|0;k=H(j,f)|0;o=a+k|0;c[o>>2]=p;c[o+4>>2]=l;n=b+(n+8)|0;o=n;n=n+4|0;m=e+(m+8)|0;l=m;m=m+4|0;m=OE(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24)|0;l=M()|0;k=a+(k+8)|0;c[k>>2]=m;c[k+4>>2]=l;j=j+1|0}return}function _H(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;j=0;while(1){if((j|0)>=(i|0))break;m=H(j,g)|0;o=b+m|0;l=H(j,h)|0;n=e+l|0;k=H(j,f)|0;c[a+k>>2]=TE(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24)|0;m=b+(m+4)|0;l=e+(l+4)|0;c[a+(k+4)>>2]=TE(d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24)|0;j=j+1|0}return}function $H(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=0;while(1){if((j|0)>=(i|0))break;n=H(j,g)|0;k=b+n|0;o=k;k=k+4|0;m=H(j,h)|0;p=e+m|0;l=p;p=p+4|0;p=OE(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24,d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24)|0;l=M()|0;k=H(j,f)|0;o=a+k|0;c[o>>2]=p;c[o+4>>2]=l;n=b+(n+8)|0;o=n;n=n+4|0;m=e+(m+8)|0;l=m;m=m+4|0;m=OE(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24)|0;l=M()|0;k=a+(k+8)|0;c[k>>2]=m;c[k+4>>2]=l;j=j+1|0}return}function aI(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=0;while(1){if((j|0)>=(i|0))break;n=H(j,g)|0;k=b+n|0;o=k;k=k+4|0;m=H(j,h)|0;p=e+m|0;l=p;p=p+4|0;p=OE(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24,d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24)|0;l=M()|0;k=H(j,f)|0;o=a+k|0;c[o>>2]=p;c[o+4>>2]=l;n=b+(n+8)|0;o=n;n=n+4|0;m=e+(m+8)|0;l=m;m=m+4|0;m=OE(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24)|0;l=M()|0;k=a+(k+8)|0;c[k>>2]=m;c[k+4>>2]=l;j=j+1|0}return}function bI(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=0;while(1){if((j|0)>=(i|0))break;n=H(j,g)|0;k=b+n|0;o=k;k=k+4|0;m=H(j,h)|0;p=e+m|0;l=p;p=p+4|0;p=OE(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24,d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24)|0;l=M()|0;k=H(j,f)|0;o=a+k|0;c[o>>2]=p;c[o+4>>2]=l;n=b+(n+8)|0;o=n;n=n+4|0;m=e+(m+8)|0;l=m;m=m+4|0;m=OE(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24)|0;l=M()|0;k=a+(k+8)|0;c[k>>2]=m;c[k+4>>2]=l;j=j+1|0}return}function cI(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=0;while(1){if((g|0)>=(f|0))break;j=b;h=j;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;i=a;c[i>>2]=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;c[i+4>>2]=j;i=b+8|0;j=i;i=i+4|0;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;h=a+8|0;c[h>>2]=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;c[h+4>>2]=i;g=g+1|0;a=a+e|0;b=b+e|0}return}function dI(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0;g=0;while(1){if((g|0)>=(f|0))break;c[a>>2]=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;h=b+4|0;c[a+4>>2]=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=g+1|0;a=a+e|0;b=b+e|0}return}function eI(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=0;while(1){if((g|0)>=(f|0))break;j=b;h=j;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;i=a;c[i>>2]=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;c[i+4>>2]=j;i=b+8|0;j=i;i=i+4|0;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;h=a+8|0;c[h>>2]=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;c[h+4>>2]=i;g=g+1|0;a=a+e|0;b=b+e|0}return}function fI(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=0;while(1){if((g|0)>=(f|0))break;j=b;h=j;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;i=a;c[i>>2]=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;c[i+4>>2]=j;i=b+8|0;j=i;i=i+4|0;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;h=a+8|0;c[h>>2]=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;c[h+4>>2]=i;g=g+1|0;a=a+e|0;b=b+e|0}return}function gI(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=0;while(1){if((g|0)>=(f|0))break;j=b;h=j;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;i=a;c[i>>2]=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;c[i+4>>2]=j;i=b+8|0;j=i;i=i+4|0;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;h=a+8|0;c[h>>2]=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;c[h+4>>2]=i;g=g+1|0;a=a+e|0;b=b+e|0}return}function hI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ZH(a,b,c,d,e,32,16);ZH(a+16|0,b+16|0,c+16|0,d,e,32,16);return}function iI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;_H(a,b,c,d,e,16,16);_H(a+8|0,b+8|0,c+8|0,d,e,16,16);return}function jI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;$H(a,b,c,d,e,32,16);$H(a+16|0,b+16|0,c+16|0,d,e,32,16);return}function kI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;aI(a,b,c,d,e,32,16);aI(a+16|0,b+16|0,c+16|0,d,e,32,16);return}function lI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;bI(a,b,c,d,e,32,16);bI(a+16|0,b+16|0,c+16|0,d,e,32,16);return}function mI(a,b,c){a=a|0;b=b|0;c=c|0;cI(a,b,c,16);cI(a+16|0,b+16|0,c,16);return}function nI(a,b,c){a=a|0;b=b|0;c=c|0;dI(a,b,c,16);dI(a+8|0,b+8|0,c,16);return}function oI(a,b,c){a=a|0;b=b|0;c=c|0;eI(a,b,c,16);eI(a+16|0,b+16|0,c,16);return}function pI(a,b,c){a=a|0;b=b|0;c=c|0;fI(a,b,c,16);fI(a+16|0,b+16|0,c,16);return}function qI(a,b,c){a=a|0;b=b|0;c=c|0;gI(a,b,c,16);gI(a+16|0,b+16|0,c,16);return}function rI(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;q=8-g|0;p=8-h|0;s=H(p,q)|0;p=H(p,g)|0;q=H(q,h)|0;o=H(h,g)|0;r=d>>1;a:do if(!o){o=p+q|0;if(!o){g=0;while(1){if((g|0)>=(f|0))break a;b[a>>1]=((H(s,e[c>>1]|0)|0)+32|0)>>>6;b[a+2>>1]=((H(s,e[c+2>>1]|0)|0)+32|0)>>>6;b[a+4>>1]=((H(s,e[c+4>>1]|0)|0)+32|0)>>>6;b[a+6>>1]=((H(s,e[c+6>>1]|0)|0)+32|0)>>>6;b[a+8>>1]=((H(s,e[c+8>>1]|0)|0)+32|0)>>>6;b[a+10>>1]=((H(s,e[c+10>>1]|0)|0)+32|0)>>>6;b[a+12>>1]=((H(s,e[c+12>>1]|0)|0)+32|0)>>>6;b[a+14>>1]=((H(s,e[c+14>>1]|0)|0)+32|0)>>>6;a=a+(r<<1)|0;g=g+1|0;c=c+(r<<1)|0}}h=q|0?r:1;d=h+1|0;i=h+2|0;j=h+3|0;k=h+4|0;l=h+5|0;m=h+6|0;n=h+7|0;g=0;while(1){if((g|0)>=(f|0))break a;q=H(s,e[c>>1]|0)|0;b[a>>1]=(q+32+(H(o,e[c+(h<<1)>>1]|0)|0)|0)>>>6;q=H(s,e[c+2>>1]|0)|0;b[a+2>>1]=(q+32+(H(o,e[c+(d<<1)>>1]|0)|0)|0)>>>6;q=H(s,e[c+4>>1]|0)|0;b[a+4>>1]=(q+32+(H(o,e[c+(i<<1)>>1]|0)|0)|0)>>>6;q=H(s,e[c+6>>1]|0)|0;b[a+6>>1]=(q+32+(H(o,e[c+(j<<1)>>1]|0)|0)|0)>>>6;q=H(s,e[c+8>>1]|0)|0;b[a+8>>1]=(q+32+(H(o,e[c+(k<<1)>>1]|0)|0)|0)>>>6;q=H(s,e[c+10>>1]|0)|0;b[a+10>>1]=(q+32+(H(o,e[c+(l<<1)>>1]|0)|0)|0)>>>6;q=H(s,e[c+12>>1]|0)|0;b[a+12>>1]=(q+32+(H(o,e[c+(m<<1)>>1]|0)|0)|0)>>>6;q=H(s,e[c+14>>1]|0)|0;b[a+14>>1]=(q+32+(H(o,e[c+(n<<1)>>1]|0)|0)|0)>>>6;a=a+(r<<1)|0;g=g+1|0;c=c+(r<<1)|0}}else{h=r+1|0;d=r+2|0;i=r+3|0;j=r+4|0;k=r+5|0;l=r+6|0;m=r+7|0;n=r+8|0;g=0;while(1){if((g|0)>=(f|0))break a;v=H(s,e[c>>1]|0)|0;u=c+2|0;x=H(p,e[u>>1]|0)|0;t=c+(r<<1)|0;y=H(q,e[t>>1]|0)|0;w=c+(h<<1)|0;b[a>>1]=(v+32+x+y+(H(o,e[w>>1]|0)|0)|0)>>>6;u=H(s,e[u>>1]|0)|0;y=c+4|0;x=H(p,e[y>>1]|0)|0;w=H(q,e[w>>1]|0)|0;v=c+(d<<1)|0;b[a+2>>1]=(u+32+x+w+(H(o,e[v>>1]|0)|0)|0)>>>6;y=H(s,e[y>>1]|0)|0;w=c+6|0;x=H(p,e[w>>1]|0)|0;v=H(q,e[v>>1]|0)|0;u=c+(i<<1)|0;b[a+4>>1]=(y+32+x+v+(H(o,e[u>>1]|0)|0)|0)>>>6;w=H(s,e[w>>1]|0)|0;v=c+8|0;x=H(p,e[v>>1]|0)|0;u=H(q,e[u>>1]|0)|0;y=c+(j<<1)|0;b[a+6>>1]=(w+32+x+u+(H(o,e[y>>1]|0)|0)|0)>>>6;v=H(s,e[v>>1]|0)|0;u=c+10|0;x=H(p,e[u>>1]|0)|0;y=H(q,e[y>>1]|0)|0;w=c+(k<<1)|0;b[a+8>>1]=(v+32+x+y+(H(o,e[w>>1]|0)|0)|0)>>>6;u=H(s,e[u>>1]|0)|0;y=c+12|0;x=H(p,e[y>>1]|0)|0;w=H(q,e[w>>1]|0)|0;v=c+(l<<1)|0;b[a+10>>1]=(u+32+x+w+(H(o,e[v>>1]|0)|0)|0)>>>6;y=H(s,e[y>>1]|0)|0;w=c+14|0;x=H(p,e[w>>1]|0)|0;v=H(q,e[v>>1]|0)|0;u=c+(m<<1)|0;b[a+12>>1]=(y+32+x+v+(H(o,e[u>>1]|0)|0)|0)>>>6;w=H(s,e[w>>1]|0)|0;v=H(p,e[c+16>>1]|0)|0;u=H(q,e[u>>1]|0)|0;b[a+14>>1]=(w+32+v+u+(H(o,e[c+(n<<1)>>1]|0)|0)|0)>>>6;a=a+(r<<1)|0;g=g+1|0;c=t}}while(0);return}function sI(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;r=8-g|0;q=8-h|0;s=H(q,r)|0;q=H(q,g)|0;r=H(r,h)|0;h=H(h,g)|0;a:do if(!h){p=q+r|0;if(!p){g=0;while(1){if((g|0)>=(f|0))break a;a[b>>0]=((H(s,d[c>>0]|0)|0)+32|0)>>>6;a[b+1>>0]=((H(s,d[c+1>>0]|0)|0)+32|0)>>>6;a[b+2>>0]=((H(s,d[c+2>>0]|0)|0)+32|0)>>>6;a[b+3>>0]=((H(s,d[c+3>>0]|0)|0)+32|0)>>>6;a[b+4>>0]=((H(s,d[c+4>>0]|0)|0)+32|0)>>>6;a[b+5>>0]=((H(s,d[c+5>>0]|0)|0)+32|0)>>>6;a[b+6>>0]=((H(s,d[c+6>>0]|0)|0)+32|0)>>>6;a[b+7>>0]=((H(s,d[c+7>>0]|0)|0)+32|0)>>>6;b=b+e|0;g=g+1|0;c=c+e|0}}h=r|0?e:1;i=h+1|0;j=h+2|0;k=h+3|0;l=h+4|0;m=h+5|0;n=h+6|0;o=h+7|0;g=0;while(1){if((g|0)>=(f|0))break a;r=H(s,d[c>>0]|0)|0;a[b>>0]=(r+32+(H(p,d[c+h>>0]|0)|0)|0)>>>6;r=H(s,d[c+1>>0]|0)|0;a[b+1>>0]=(r+32+(H(p,d[c+i>>0]|0)|0)|0)>>>6;r=H(s,d[c+2>>0]|0)|0;a[b+2>>0]=(r+32+(H(p,d[c+j>>0]|0)|0)|0)>>>6;r=H(s,d[c+3>>0]|0)|0;a[b+3>>0]=(r+32+(H(p,d[c+k>>0]|0)|0)|0)>>>6;r=H(s,d[c+4>>0]|0)|0;a[b+4>>0]=(r+32+(H(p,d[c+l>>0]|0)|0)|0)>>>6;r=H(s,d[c+5>>0]|0)|0;a[b+5>>0]=(r+32+(H(p,d[c+m>>0]|0)|0)|0)>>>6;r=H(s,d[c+6>>0]|0)|0;a[b+6>>0]=(r+32+(H(p,d[c+n>>0]|0)|0)|0)>>>6;r=H(s,d[c+7>>0]|0)|0;a[b+7>>0]=(r+32+(H(p,d[c+o>>0]|0)|0)|0)>>>6;b=b+e|0;g=g+1|0;c=c+e|0}}else{i=e+1|0;j=e+2|0;k=e+3|0;l=e+4|0;m=e+5|0;n=e+6|0;o=e+7|0;p=e+8|0;g=0;while(1){if((g|0)>=(f|0))break a;v=H(s,d[c>>0]|0)|0;u=c+1|0;x=H(q,d[u>>0]|0)|0;t=c+e|0;y=H(r,d[t>>0]|0)|0;w=c+i|0;a[b>>0]=(v+32+x+y+(H(h,d[w>>0]|0)|0)|0)>>>6;u=H(s,d[u>>0]|0)|0;y=c+2|0;x=H(q,d[y>>0]|0)|0;w=H(r,d[w>>0]|0)|0;v=c+j|0;a[b+1>>0]=(u+32+x+w+(H(h,d[v>>0]|0)|0)|0)>>>6;y=H(s,d[y>>0]|0)|0;w=c+3|0;x=H(q,d[w>>0]|0)|0;v=H(r,d[v>>0]|0)|0;u=c+k|0;a[b+2>>0]=(y+32+x+v+(H(h,d[u>>0]|0)|0)|0)>>>6;w=H(s,d[w>>0]|0)|0;v=c+4|0;x=H(q,d[v>>0]|0)|0;u=H(r,d[u>>0]|0)|0;y=c+l|0;a[b+3>>0]=(w+32+x+u+(H(h,d[y>>0]|0)|0)|0)>>>6;v=H(s,d[v>>0]|0)|0;u=c+5|0;x=H(q,d[u>>0]|0)|0;y=H(r,d[y>>0]|0)|0;w=c+m|0;a[b+4>>0]=(v+32+x+y+(H(h,d[w>>0]|0)|0)|0)>>>6;u=H(s,d[u>>0]|0)|0;y=c+6|0;x=H(q,d[y>>0]|0)|0;w=H(r,d[w>>0]|0)|0;v=c+n|0;a[b+5>>0]=(u+32+x+w+(H(h,d[v>>0]|0)|0)|0)>>>6;y=H(s,d[y>>0]|0)|0;w=c+7|0;x=H(q,d[w>>0]|0)|0;v=H(r,d[v>>0]|0)|0;u=c+o|0;a[b+6>>0]=(y+32+x+v+(H(h,d[u>>0]|0)|0)|0)>>>6;w=H(s,d[w>>0]|0)|0;v=H(q,d[c+8>>0]|0)|0;u=H(r,d[u>>0]|0)|0;a[b+7>>0]=(w+32+v+u+(H(h,d[c+p>>0]|0)|0)|0)>>>6;b=b+e|0;g=g+1|0;c=t}}while(0);return}function tI(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;m=8-g|0;l=8-h|0;o=H(l,m)|0;l=H(l,g)|0;m=H(m,h)|0;k=H(h,g)|0;n=d>>1;a:do if(!k){k=l+m|0;if(!k){g=0;while(1){if((g|0)>=(f|0))break a;b[a>>1]=((H(o,e[c>>1]|0)|0)+32|0)>>>6;b[a+2>>1]=((H(o,e[c+2>>1]|0)|0)+32|0)>>>6;b[a+4>>1]=((H(o,e[c+4>>1]|0)|0)+32|0)>>>6;b[a+6>>1]=((H(o,e[c+6>>1]|0)|0)+32|0)>>>6;a=a+(n<<1)|0;g=g+1|0;c=c+(n<<1)|0}}h=m|0?n:1;d=h+1|0;i=h+2|0;j=h+3|0;g=0;while(1){if((g|0)>=(f|0))break a;m=H(o,e[c>>1]|0)|0;b[a>>1]=(m+32+(H(k,e[c+(h<<1)>>1]|0)|0)|0)>>>6;m=H(o,e[c+2>>1]|0)|0;b[a+2>>1]=(m+32+(H(k,e[c+(d<<1)>>1]|0)|0)|0)>>>6;m=H(o,e[c+4>>1]|0)|0;b[a+4>>1]=(m+32+(H(k,e[c+(i<<1)>>1]|0)|0)|0)>>>6;m=H(o,e[c+6>>1]|0)|0;b[a+6>>1]=(m+32+(H(k,e[c+(j<<1)>>1]|0)|0)|0)>>>6;a=a+(n<<1)|0;g=g+1|0;c=c+(n<<1)|0}}else{h=n+1|0;d=n+2|0;i=n+3|0;j=n+4|0;g=0;while(1){if((g|0)>=(f|0))break a;r=H(o,e[c>>1]|0)|0;q=c+2|0;t=H(l,e[q>>1]|0)|0;p=c+(n<<1)|0;u=H(m,e[p>>1]|0)|0;s=c+(h<<1)|0;b[a>>1]=(r+32+t+u+(H(k,e[s>>1]|0)|0)|0)>>>6;q=H(o,e[q>>1]|0)|0;u=c+4|0;t=H(l,e[u>>1]|0)|0;s=H(m,e[s>>1]|0)|0;r=c+(d<<1)|0;b[a+2>>1]=(q+32+t+s+(H(k,e[r>>1]|0)|0)|0)>>>6;u=H(o,e[u>>1]|0)|0;s=c+6|0;t=H(l,e[s>>1]|0)|0;r=H(m,e[r>>1]|0)|0;q=c+(i<<1)|0;b[a+4>>1]=(u+32+t+r+(H(k,e[q>>1]|0)|0)|0)>>>6;s=H(o,e[s>>1]|0)|0;r=H(l,e[c+8>>1]|0)|0;q=H(m,e[q>>1]|0)|0;b[a+6>>1]=(s+32+r+q+(H(k,e[c+(j<<1)>>1]|0)|0)|0)>>>6;a=a+(n<<1)|0;g=g+1|0;c=p}}while(0);return}function uI(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;n=8-g|0;m=8-h|0;o=H(m,n)|0;m=H(m,g)|0;n=H(n,h)|0;h=H(h,g)|0;a:do if(!h){l=m+n|0;if(!l){g=0;while(1){if((g|0)>=(f|0))break a;a[b>>0]=((H(o,d[c>>0]|0)|0)+32|0)>>>6;a[b+1>>0]=((H(o,d[c+1>>0]|0)|0)+32|0)>>>6;a[b+2>>0]=((H(o,d[c+2>>0]|0)|0)+32|0)>>>6;a[b+3>>0]=((H(o,d[c+3>>0]|0)|0)+32|0)>>>6;b=b+e|0;g=g+1|0;c=c+e|0}}h=n|0?e:1;i=h+1|0;j=h+2|0;k=h+3|0;g=0;while(1){if((g|0)>=(f|0))break a;n=H(o,d[c>>0]|0)|0;a[b>>0]=(n+32+(H(l,d[c+h>>0]|0)|0)|0)>>>6;n=H(o,d[c+1>>0]|0)|0;a[b+1>>0]=(n+32+(H(l,d[c+i>>0]|0)|0)|0)>>>6;n=H(o,d[c+2>>0]|0)|0;a[b+2>>0]=(n+32+(H(l,d[c+j>>0]|0)|0)|0)>>>6;n=H(o,d[c+3>>0]|0)|0;a[b+3>>0]=(n+32+(H(l,d[c+k>>0]|0)|0)|0)>>>6;b=b+e|0;g=g+1|0;c=c+e|0}}else{i=e+1|0;j=e+2|0;k=e+3|0;l=e+4|0;g=0;while(1){if((g|0)>=(f|0))break a;r=H(o,d[c>>0]|0)|0;q=c+1|0;t=H(m,d[q>>0]|0)|0;p=c+e|0;u=H(n,d[p>>0]|0)|0;s=c+i|0;a[b>>0]=(r+32+t+u+(H(h,d[s>>0]|0)|0)|0)>>>6;q=H(o,d[q>>0]|0)|0;u=c+2|0;t=H(m,d[u>>0]|0)|0;s=H(n,d[s>>0]|0)|0;r=c+j|0;a[b+1>>0]=(q+32+t+s+(H(h,d[r>>0]|0)|0)|0)>>>6;u=H(o,d[u>>0]|0)|0;s=c+3|0;t=H(m,d[s>>0]|0)|0;r=H(n,d[r>>0]|0)|0;q=c+k|0;a[b+2>>0]=(u+32+t+r+(H(h,d[q>>0]|0)|0)|0)>>>6;s=H(o,d[s>>0]|0)|0;r=H(m,d[c+4>>0]|0)|0;q=H(n,d[q>>0]|0)|0;a[b+3>>0]=(s+32+r+q+(H(h,d[c+l>>0]|0)|0)|0)>>>6;b=b+e|0;g=g+1|0;c=p}}while(0);return}function vI(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;k=8-g|0;j=8-h|0;m=H(j,k)|0;j=H(j,g)|0;k=H(k,h)|0;i=H(h,g)|0;l=d>>1;a:do if(!i){i=j+k|0;if(!i){g=0;while(1){if((g|0)>=(f|0))break a;b[a>>1]=((H(m,e[c>>1]|0)|0)+32|0)>>>6;b[a+2>>1]=((H(m,e[c+2>>1]|0)|0)+32|0)>>>6;a=a+(l<<1)|0;c=c+(l<<1)|0;g=g+1|0}}h=k|0?l:1;d=h+1|0;g=0;while(1){if((g|0)>=(f|0))break a;k=H(m,e[c>>1]|0)|0;b[a>>1]=(k+32+(H(i,e[c+(h<<1)>>1]|0)|0)|0)>>>6;k=H(m,e[c+2>>1]|0)|0;b[a+2>>1]=(k+32+(H(i,e[c+(d<<1)>>1]|0)|0)|0)>>>6;a=a+(l<<1)|0;g=g+1|0;c=c+(l<<1)|0}}else{h=l+1|0;d=l+2|0;g=0;while(1){if((g|0)>=(f|0))break a;s=H(m,e[c>>1]|0)|0;q=c+2|0;r=H(j,e[q>>1]|0)|0;n=c+(l<<1)|0;p=H(k,e[n>>1]|0)|0;o=c+(h<<1)|0;b[a>>1]=(s+32+r+p+(H(i,e[o>>1]|0)|0)|0)>>>6;q=H(m,e[q>>1]|0)|0;p=H(j,e[c+4>>1]|0)|0;o=H(k,e[o>>1]|0)|0;b[a+2>>1]=(q+32+p+o+(H(i,e[c+(d<<1)>>1]|0)|0)|0)>>>6;a=a+(l<<1)|0;g=g+1|0;c=n}}while(0);return}function wI(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;l=8-g|0;k=8-h|0;m=H(k,l)|0;k=H(k,g)|0;l=H(l,h)|0;h=H(h,g)|0;a:do if(!h){j=k+l|0;if(!j){g=0;while(1){if((g|0)>=(f|0))break a;a[b>>0]=((H(m,d[c>>0]|0)|0)+32|0)>>>6;a[b+1>>0]=((H(m,d[c+1>>0]|0)|0)+32|0)>>>6;b=b+e|0;c=c+e|0;g=g+1|0}}h=l|0?e:1;i=h+1|0;g=0;while(1){if((g|0)>=(f|0))break a;l=H(m,d[c>>0]|0)|0;a[b>>0]=(l+32+(H(j,d[c+h>>0]|0)|0)|0)>>>6;l=H(m,d[c+1>>0]|0)|0;a[b+1>>0]=(l+32+(H(j,d[c+i>>0]|0)|0)|0)>>>6;b=b+e|0;g=g+1|0;c=c+e|0}}else{i=e+1|0;j=e+2|0;g=0;while(1){if((g|0)>=(f|0))break a;s=H(m,d[c>>0]|0)|0;q=c+1|0;r=H(k,d[q>>0]|0)|0;n=c+e|0;p=H(l,d[n>>0]|0)|0;o=c+i|0;a[b>>0]=(s+32+r+p+(H(h,d[o>>0]|0)|0)|0)>>>6;q=H(m,d[q>>0]|0)|0;p=H(k,d[c+2>>0]|0)|0;o=H(l,d[o>>0]|0)|0;a[b+1>>0]=(q+32+p+o+(H(h,d[c+j>>0]|0)|0)|0)>>>6;b=b+e|0;g=g+1|0;c=n}}while(0);return}function xI(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=8-g|0;j=8-h|0;m=H(j,k)|0;j=H(j,g)|0;k=H(k,h)|0;i=H(h,g)|0;l=d>>1;a:do if(!i){d=j+k|0;if(!d){g=0;while(1){if((g|0)>=(f|0))break a;b[a>>1]=((H(m,e[c>>1]|0)|0)+32|0)>>>6;a=a+(l<<1)|0;g=g+1|0;c=c+(l<<1)|0}}h=k|0?l:1;g=0;while(1){if((g|0)>=(f|0))break a;k=H(m,e[c>>1]|0)|0;b[a>>1]=(k+32+(H(d,e[c+(h<<1)>>1]|0)|0)|0)>>>6;a=a+(l<<1)|0;g=g+1|0;c=c+(l<<1)|0}}else{h=l+1|0;g=0;while(1){if((g|0)>=(f|0))break a;p=H(m,e[c>>1]|0)|0;o=H(j,e[c+2>>1]|0)|0;d=c+(l<<1)|0;n=H(k,e[d>>1]|0)|0;b[a>>1]=(p+32+o+n+(H(i,e[c+(h<<1)>>1]|0)|0)|0)>>>6;a=a+(l<<1)|0;g=g+1|0;c=d}}while(0);return}function yI(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=8-g|0;j=8-h|0;l=H(j,k)|0;j=H(j,g)|0;k=H(k,h)|0;h=H(h,g)|0;a:do if(!h){i=j+k|0;if(!i){g=0;while(1){if((g|0)>=(f|0))break a;a[b>>0]=((H(l,d[c>>0]|0)|0)+32|0)>>>6;b=b+e|0;g=g+1|0;c=c+e|0}}h=k|0?e:1;g=0;while(1){if((g|0)>=(f|0))break a;k=H(l,d[c>>0]|0)|0;a[b>>0]=(k+32+(H(i,d[c+h>>0]|0)|0)|0)>>>6;b=b+e|0;g=g+1|0;c=c+e|0}}else{i=e+1|0;g=0;while(1){if((g|0)>=(f|0))break a;p=H(l,d[c>>0]|0)|0;o=H(j,d[c+1>>0]|0)|0;m=c+e|0;n=H(k,d[m>>0]|0)|0;a[b>>0]=(p+32+o+n+(H(h,d[c+i>>0]|0)|0)|0)>>>6;b=b+e|0;g=g+1|0;c=m}}while(0);return}function zI(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;q=8-g|0;p=8-h|0;s=H(p,q)|0;p=H(p,g)|0;q=H(q,h)|0;o=H(h,g)|0;r=d>>1;a:do if(!o){o=p+q|0;if(!o){g=0;while(1){if((g|0)>=(f|0))break a;b[a>>1]=((e[a>>1]|0)+1+(((H(s,e[c>>1]|0)|0)+32|0)>>>6)|0)>>>1;q=a+2|0;b[q>>1]=((e[q>>1]|0)+1+(((H(s,e[c+2>>1]|0)|0)+32|0)>>>6)|0)>>>1;q=a+4|0;b[q>>1]=((e[q>>1]|0)+1+(((H(s,e[c+4>>1]|0)|0)+32|0)>>>6)|0)>>>1;q=a+6|0;b[q>>1]=((e[q>>1]|0)+1+(((H(s,e[c+6>>1]|0)|0)+32|0)>>>6)|0)>>>1;q=a+8|0;b[q>>1]=((e[q>>1]|0)+1+(((H(s,e[c+8>>1]|0)|0)+32|0)>>>6)|0)>>>1;q=a+10|0;b[q>>1]=((e[q>>1]|0)+1+(((H(s,e[c+10>>1]|0)|0)+32|0)>>>6)|0)>>>1;q=a+12|0;b[q>>1]=((e[q>>1]|0)+1+(((H(s,e[c+12>>1]|0)|0)+32|0)>>>6)|0)>>>1;q=a+14|0;b[q>>1]=((e[q>>1]|0)+1+(((H(s,e[c+14>>1]|0)|0)+32|0)>>>6)|0)>>>1;a=a+(r<<1)|0;g=g+1|0;c=c+(r<<1)|0}}h=q|0?r:1;d=h+1|0;i=h+2|0;j=h+3|0;k=h+4|0;l=h+5|0;m=h+6|0;n=h+7|0;g=0;while(1){if((g|0)>=(f|0))break a;q=H(s,e[c>>1]|0)|0;b[a>>1]=((e[a>>1]|0)+1+((q+32+(H(o,e[c+(h<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;q=a+2|0;p=H(s,e[c+2>>1]|0)|0;b[q>>1]=((e[q>>1]|0)+1+((p+32+(H(o,e[c+(d<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;q=a+4|0;p=H(s,e[c+4>>1]|0)|0;b[q>>1]=((e[q>>1]|0)+1+((p+32+(H(o,e[c+(i<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;q=a+6|0;p=H(s,e[c+6>>1]|0)|0;b[q>>1]=((e[q>>1]|0)+1+((p+32+(H(o,e[c+(j<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;q=a+8|0;p=H(s,e[c+8>>1]|0)|0;b[q>>1]=((e[q>>1]|0)+1+((p+32+(H(o,e[c+(k<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;q=a+10|0;p=H(s,e[c+10>>1]|0)|0;b[q>>1]=((e[q>>1]|0)+1+((p+32+(H(o,e[c+(l<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;q=a+12|0;p=H(s,e[c+12>>1]|0)|0;b[q>>1]=((e[q>>1]|0)+1+((p+32+(H(o,e[c+(m<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;q=a+14|0;p=H(s,e[c+14>>1]|0)|0;b[q>>1]=((e[q>>1]|0)+1+((p+32+(H(o,e[c+(n<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;a=a+(r<<1)|0;g=g+1|0;c=c+(r<<1)|0}}else{h=r+1|0;d=r+2|0;i=r+3|0;j=r+4|0;k=r+5|0;l=r+6|0;m=r+7|0;n=r+8|0;g=0;while(1){if((g|0)>=(f|0))break a;y=H(s,e[c>>1]|0)|0;v=c+2|0;z=H(p,e[v>>1]|0)|0;t=c+(r<<1)|0;u=H(q,e[t>>1]|0)|0;x=c+(h<<1)|0;b[a>>1]=((e[a>>1]|0)+1+((y+32+z+u+(H(o,e[x>>1]|0)|0)|0)>>>6)|0)>>>1;u=a+2|0;v=H(s,e[v>>1]|0)|0;z=c+4|0;y=H(p,e[z>>1]|0)|0;x=H(q,e[x>>1]|0)|0;w=c+(d<<1)|0;b[u>>1]=((e[u>>1]|0)+1+((v+32+y+x+(H(o,e[w>>1]|0)|0)|0)>>>6)|0)>>>1;u=a+4|0;z=H(s,e[z>>1]|0)|0;x=c+6|0;y=H(p,e[x>>1]|0)|0;w=H(q,e[w>>1]|0)|0;v=c+(i<<1)|0;b[u>>1]=((e[u>>1]|0)+1+((z+32+y+w+(H(o,e[v>>1]|0)|0)|0)>>>6)|0)>>>1;u=a+6|0;x=H(s,e[x>>1]|0)|0;w=c+8|0;y=H(p,e[w>>1]|0)|0;v=H(q,e[v>>1]|0)|0;z=c+(j<<1)|0;b[u>>1]=((e[u>>1]|0)+1+((x+32+y+v+(H(o,e[z>>1]|0)|0)|0)>>>6)|0)>>>1;u=a+8|0;w=H(s,e[w>>1]|0)|0;v=c+10|0;y=H(p,e[v>>1]|0)|0;z=H(q,e[z>>1]|0)|0;x=c+(k<<1)|0;b[u>>1]=((e[u>>1]|0)+1+((w+32+y+z+(H(o,e[x>>1]|0)|0)|0)>>>6)|0)>>>1;u=a+10|0;v=H(s,e[v>>1]|0)|0;z=c+12|0;y=H(p,e[z>>1]|0)|0;x=H(q,e[x>>1]|0)|0;w=c+(l<<1)|0;b[u>>1]=((e[u>>1]|0)+1+((v+32+y+x+(H(o,e[w>>1]|0)|0)|0)>>>6)|0)>>>1;u=a+12|0;z=H(s,e[z>>1]|0)|0;x=c+14|0;y=H(p,e[x>>1]|0)|0;w=H(q,e[w>>1]|0)|0;v=c+(m<<1)|0;b[u>>1]=((e[u>>1]|0)+1+((z+32+y+w+(H(o,e[v>>1]|0)|0)|0)>>>6)|0)>>>1;u=a+14|0;x=H(s,e[x>>1]|0)|0;w=H(p,e[c+16>>1]|0)|0;v=H(q,e[v>>1]|0)|0;b[u>>1]=((e[u>>1]|0)+1+((x+32+w+v+(H(o,e[c+(n<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;a=a+(r<<1)|0;g=g+1|0;c=t}}while(0);return}function AI(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;r=8-g|0;q=8-h|0;s=H(q,r)|0;q=H(q,g)|0;r=H(r,h)|0;h=H(h,g)|0;a:do if(!h){p=q+r|0;if(!p){g=0;while(1){if((g|0)>=(f|0))break a;a[b>>0]=((d[b>>0]|0)+1+(((H(s,d[c>>0]|0)|0)+32|0)>>>6)|0)>>>1;r=b+1|0;a[r>>0]=((d[r>>0]|0)+1+(((H(s,d[c+1>>0]|0)|0)+32|0)>>>6)|0)>>>1;r=b+2|0;a[r>>0]=((d[r>>0]|0)+1+(((H(s,d[c+2>>0]|0)|0)+32|0)>>>6)|0)>>>1;r=b+3|0;a[r>>0]=((d[r>>0]|0)+1+(((H(s,d[c+3>>0]|0)|0)+32|0)>>>6)|0)>>>1;r=b+4|0;a[r>>0]=((d[r>>0]|0)+1+(((H(s,d[c+4>>0]|0)|0)+32|0)>>>6)|0)>>>1;r=b+5|0;a[r>>0]=((d[r>>0]|0)+1+(((H(s,d[c+5>>0]|0)|0)+32|0)>>>6)|0)>>>1;r=b+6|0;a[r>>0]=((d[r>>0]|0)+1+(((H(s,d[c+6>>0]|0)|0)+32|0)>>>6)|0)>>>1;r=b+7|0;a[r>>0]=((d[r>>0]|0)+1+(((H(s,d[c+7>>0]|0)|0)+32|0)>>>6)|0)>>>1;b=b+e|0;g=g+1|0;c=c+e|0}}h=r|0?e:1;i=h+1|0;j=h+2|0;k=h+3|0;l=h+4|0;m=h+5|0;n=h+6|0;o=h+7|0;g=0;while(1){if((g|0)>=(f|0))break a;r=H(s,d[c>>0]|0)|0;a[b>>0]=((d[b>>0]|0)+1+((r+32+(H(p,d[c+h>>0]|0)|0)|0)>>>6)|0)>>>1;r=b+1|0;q=H(s,d[c+1>>0]|0)|0;a[r>>0]=((d[r>>0]|0)+1+((q+32+(H(p,d[c+i>>0]|0)|0)|0)>>>6)|0)>>>1;r=b+2|0;q=H(s,d[c+2>>0]|0)|0;a[r>>0]=((d[r>>0]|0)+1+((q+32+(H(p,d[c+j>>0]|0)|0)|0)>>>6)|0)>>>1;r=b+3|0;q=H(s,d[c+3>>0]|0)|0;a[r>>0]=((d[r>>0]|0)+1+((q+32+(H(p,d[c+k>>0]|0)|0)|0)>>>6)|0)>>>1;r=b+4|0;q=H(s,d[c+4>>0]|0)|0;a[r>>0]=((d[r>>0]|0)+1+((q+32+(H(p,d[c+l>>0]|0)|0)|0)>>>6)|0)>>>1;r=b+5|0;q=H(s,d[c+5>>0]|0)|0;a[r>>0]=((d[r>>0]|0)+1+((q+32+(H(p,d[c+m>>0]|0)|0)|0)>>>6)|0)>>>1;r=b+6|0;q=H(s,d[c+6>>0]|0)|0;a[r>>0]=((d[r>>0]|0)+1+((q+32+(H(p,d[c+n>>0]|0)|0)|0)>>>6)|0)>>>1;r=b+7|0;q=H(s,d[c+7>>0]|0)|0;a[r>>0]=((d[r>>0]|0)+1+((q+32+(H(p,d[c+o>>0]|0)|0)|0)>>>6)|0)>>>1;b=b+e|0;g=g+1|0;c=c+e|0}}else{i=e+1|0;j=e+2|0;k=e+3|0;l=e+4|0;m=e+5|0;n=e+6|0;o=e+7|0;p=e+8|0;g=0;while(1){if((g|0)>=(f|0))break a;y=H(s,d[c>>0]|0)|0;v=c+1|0;z=H(q,d[v>>0]|0)|0;t=c+e|0;u=H(r,d[t>>0]|0)|0;x=c+i|0;a[b>>0]=((d[b>>0]|0)+1+((y+32+z+u+(H(h,d[x>>0]|0)|0)|0)>>>6)|0)>>>1;u=b+1|0;v=H(s,d[v>>0]|0)|0;z=c+2|0;y=H(q,d[z>>0]|0)|0;x=H(r,d[x>>0]|0)|0;w=c+j|0;a[u>>0]=((d[u>>0]|0)+1+((v+32+y+x+(H(h,d[w>>0]|0)|0)|0)>>>6)|0)>>>1;u=b+2|0;z=H(s,d[z>>0]|0)|0;x=c+3|0;y=H(q,d[x>>0]|0)|0;w=H(r,d[w>>0]|0)|0;v=c+k|0;a[u>>0]=((d[u>>0]|0)+1+((z+32+y+w+(H(h,d[v>>0]|0)|0)|0)>>>6)|0)>>>1;u=b+3|0;x=H(s,d[x>>0]|0)|0;w=c+4|0;y=H(q,d[w>>0]|0)|0;v=H(r,d[v>>0]|0)|0;z=c+l|0;a[u>>0]=((d[u>>0]|0)+1+((x+32+y+v+(H(h,d[z>>0]|0)|0)|0)>>>6)|0)>>>1;u=b+4|0;w=H(s,d[w>>0]|0)|0;v=c+5|0;y=H(q,d[v>>0]|0)|0;z=H(r,d[z>>0]|0)|0;x=c+m|0;a[u>>0]=((d[u>>0]|0)+1+((w+32+y+z+(H(h,d[x>>0]|0)|0)|0)>>>6)|0)>>>1;u=b+5|0;v=H(s,d[v>>0]|0)|0;z=c+6|0;y=H(q,d[z>>0]|0)|0;x=H(r,d[x>>0]|0)|0;w=c+n|0;a[u>>0]=((d[u>>0]|0)+1+((v+32+y+x+(H(h,d[w>>0]|0)|0)|0)>>>6)|0)>>>1;u=b+6|0;z=H(s,d[z>>0]|0)|0;x=c+7|0;y=H(q,d[x>>0]|0)|0;w=H(r,d[w>>0]|0)|0;v=c+o|0;a[u>>0]=((d[u>>0]|0)+1+((z+32+y+w+(H(h,d[v>>0]|0)|0)|0)>>>6)|0)>>>1;u=b+7|0;x=H(s,d[x>>0]|0)|0;w=H(q,d[c+8>>0]|0)|0;v=H(r,d[v>>0]|0)|0;a[u>>0]=((d[u>>0]|0)+1+((x+32+w+v+(H(h,d[c+p>>0]|0)|0)|0)>>>6)|0)>>>1;b=b+e|0;g=g+1|0;c=t}}while(0);return}function BI(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;m=8-g|0;l=8-h|0;o=H(l,m)|0;l=H(l,g)|0;m=H(m,h)|0;k=H(h,g)|0;n=d>>1;a:do if(!k){k=l+m|0;if(!k){g=0;while(1){if((g|0)>=(f|0))break a;b[a>>1]=((e[a>>1]|0)+1+(((H(o,e[c>>1]|0)|0)+32|0)>>>6)|0)>>>1;m=a+2|0;b[m>>1]=((e[m>>1]|0)+1+(((H(o,e[c+2>>1]|0)|0)+32|0)>>>6)|0)>>>1;m=a+4|0;b[m>>1]=((e[m>>1]|0)+1+(((H(o,e[c+4>>1]|0)|0)+32|0)>>>6)|0)>>>1;m=a+6|0;b[m>>1]=((e[m>>1]|0)+1+(((H(o,e[c+6>>1]|0)|0)+32|0)>>>6)|0)>>>1;a=a+(n<<1)|0;g=g+1|0;c=c+(n<<1)|0}}h=m|0?n:1;d=h+1|0;i=h+2|0;j=h+3|0;g=0;while(1){if((g|0)>=(f|0))break a;m=H(o,e[c>>1]|0)|0;b[a>>1]=((e[a>>1]|0)+1+((m+32+(H(k,e[c+(h<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;m=a+2|0;l=H(o,e[c+2>>1]|0)|0;b[m>>1]=((e[m>>1]|0)+1+((l+32+(H(k,e[c+(d<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;m=a+4|0;l=H(o,e[c+4>>1]|0)|0;b[m>>1]=((e[m>>1]|0)+1+((l+32+(H(k,e[c+(i<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;m=a+6|0;l=H(o,e[c+6>>1]|0)|0;b[m>>1]=((e[m>>1]|0)+1+((l+32+(H(k,e[c+(j<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;a=a+(n<<1)|0;g=g+1|0;c=c+(n<<1)|0}}else{h=n+1|0;d=n+2|0;i=n+3|0;j=n+4|0;g=0;while(1){if((g|0)>=(f|0))break a;u=H(o,e[c>>1]|0)|0;r=c+2|0;v=H(l,e[r>>1]|0)|0;p=c+(n<<1)|0;q=H(m,e[p>>1]|0)|0;t=c+(h<<1)|0;b[a>>1]=((e[a>>1]|0)+1+((u+32+v+q+(H(k,e[t>>1]|0)|0)|0)>>>6)|0)>>>1;q=a+2|0;r=H(o,e[r>>1]|0)|0;v=c+4|0;u=H(l,e[v>>1]|0)|0;t=H(m,e[t>>1]|0)|0;s=c+(d<<1)|0;b[q>>1]=((e[q>>1]|0)+1+((r+32+u+t+(H(k,e[s>>1]|0)|0)|0)>>>6)|0)>>>1;q=a+4|0;v=H(o,e[v>>1]|0)|0;t=c+6|0;u=H(l,e[t>>1]|0)|0;s=H(m,e[s>>1]|0)|0;r=c+(i<<1)|0;b[q>>1]=((e[q>>1]|0)+1+((v+32+u+s+(H(k,e[r>>1]|0)|0)|0)>>>6)|0)>>>1;q=a+6|0;t=H(o,e[t>>1]|0)|0;s=H(l,e[c+8>>1]|0)|0;r=H(m,e[r>>1]|0)|0;b[q>>1]=((e[q>>1]|0)+1+((t+32+s+r+(H(k,e[c+(j<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;a=a+(n<<1)|0;g=g+1|0;c=p}}while(0);return}function CI(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;n=8-g|0;m=8-h|0;o=H(m,n)|0;m=H(m,g)|0;n=H(n,h)|0;h=H(h,g)|0;a:do if(!h){l=m+n|0;if(!l){g=0;while(1){if((g|0)>=(f|0))break a;a[b>>0]=((d[b>>0]|0)+1+(((H(o,d[c>>0]|0)|0)+32|0)>>>6)|0)>>>1;n=b+1|0;a[n>>0]=((d[n>>0]|0)+1+(((H(o,d[c+1>>0]|0)|0)+32|0)>>>6)|0)>>>1;n=b+2|0;a[n>>0]=((d[n>>0]|0)+1+(((H(o,d[c+2>>0]|0)|0)+32|0)>>>6)|0)>>>1;n=b+3|0;a[n>>0]=((d[n>>0]|0)+1+(((H(o,d[c+3>>0]|0)|0)+32|0)>>>6)|0)>>>1;b=b+e|0;g=g+1|0;c=c+e|0}}h=n|0?e:1;i=h+1|0;j=h+2|0;k=h+3|0;g=0;while(1){if((g|0)>=(f|0))break a;n=H(o,d[c>>0]|0)|0;a[b>>0]=((d[b>>0]|0)+1+((n+32+(H(l,d[c+h>>0]|0)|0)|0)>>>6)|0)>>>1;n=b+1|0;m=H(o,d[c+1>>0]|0)|0;a[n>>0]=((d[n>>0]|0)+1+((m+32+(H(l,d[c+i>>0]|0)|0)|0)>>>6)|0)>>>1;n=b+2|0;m=H(o,d[c+2>>0]|0)|0;a[n>>0]=((d[n>>0]|0)+1+((m+32+(H(l,d[c+j>>0]|0)|0)|0)>>>6)|0)>>>1;n=b+3|0;m=H(o,d[c+3>>0]|0)|0;a[n>>0]=((d[n>>0]|0)+1+((m+32+(H(l,d[c+k>>0]|0)|0)|0)>>>6)|0)>>>1;b=b+e|0;g=g+1|0;c=c+e|0}}else{i=e+1|0;j=e+2|0;k=e+3|0;l=e+4|0;g=0;while(1){if((g|0)>=(f|0))break a;u=H(o,d[c>>0]|0)|0;r=c+1|0;v=H(m,d[r>>0]|0)|0;p=c+e|0;q=H(n,d[p>>0]|0)|0;t=c+i|0;a[b>>0]=((d[b>>0]|0)+1+((u+32+v+q+(H(h,d[t>>0]|0)|0)|0)>>>6)|0)>>>1;q=b+1|0;r=H(o,d[r>>0]|0)|0;v=c+2|0;u=H(m,d[v>>0]|0)|0;t=H(n,d[t>>0]|0)|0;s=c+j|0;a[q>>0]=((d[q>>0]|0)+1+((r+32+u+t+(H(h,d[s>>0]|0)|0)|0)>>>6)|0)>>>1;q=b+2|0;v=H(o,d[v>>0]|0)|0;t=c+3|0;u=H(m,d[t>>0]|0)|0;s=H(n,d[s>>0]|0)|0;r=c+k|0;a[q>>0]=((d[q>>0]|0)+1+((v+32+u+s+(H(h,d[r>>0]|0)|0)|0)>>>6)|0)>>>1;q=b+3|0;t=H(o,d[t>>0]|0)|0;s=H(m,d[c+4>>0]|0)|0;r=H(n,d[r>>0]|0)|0;a[q>>0]=((d[q>>0]|0)+1+((t+32+s+r+(H(h,d[c+l>>0]|0)|0)|0)>>>6)|0)>>>1;b=b+e|0;g=g+1|0;c=p}}while(0);return}function DI(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;k=8-g|0;j=8-h|0;m=H(j,k)|0;j=H(j,g)|0;k=H(k,h)|0;i=H(h,g)|0;l=d>>1;a:do if(!i){i=j+k|0;if(!i){g=0;while(1){if((g|0)>=(f|0))break a;b[a>>1]=((e[a>>1]|0)+1+(((H(m,e[c>>1]|0)|0)+32|0)>>>6)|0)>>>1;k=a+2|0;b[k>>1]=((e[k>>1]|0)+1+(((H(m,e[c+2>>1]|0)|0)+32|0)>>>6)|0)>>>1;a=a+(l<<1)|0;g=g+1|0;c=c+(l<<1)|0}}h=k|0?l:1;d=h+1|0;g=0;while(1){if((g|0)>=(f|0))break a;k=H(m,e[c>>1]|0)|0;b[a>>1]=((e[a>>1]|0)+1+((k+32+(H(i,e[c+(h<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;k=a+2|0;j=H(m,e[c+2>>1]|0)|0;b[k>>1]=((e[k>>1]|0)+1+((j+32+(H(i,e[c+(d<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;a=a+(l<<1)|0;g=g+1|0;c=c+(l<<1)|0}}else{h=l+1|0;d=l+2|0;g=0;while(1){if((g|0)>=(f|0))break a;s=H(m,e[c>>1]|0)|0;r=c+2|0;q=H(j,e[r>>1]|0)|0;n=c+(l<<1)|0;o=H(k,e[n>>1]|0)|0;p=c+(h<<1)|0;b[a>>1]=((e[a>>1]|0)+1+((s+32+q+o+(H(i,e[p>>1]|0)|0)|0)>>>6)|0)>>>1;o=a+2|0;r=H(m,e[r>>1]|0)|0;q=H(j,e[c+4>>1]|0)|0;p=H(k,e[p>>1]|0)|0;b[o>>1]=((e[o>>1]|0)+1+((r+32+q+p+(H(i,e[c+(d<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;a=a+(l<<1)|0;g=g+1|0;c=n}}while(0);return}function EI(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;l=8-g|0;k=8-h|0;m=H(k,l)|0;k=H(k,g)|0;l=H(l,h)|0;h=H(h,g)|0;a:do if(!h){j=k+l|0;if(!j){g=0;while(1){if((g|0)>=(f|0))break a;a[b>>0]=((d[b>>0]|0)+1+(((H(m,d[c>>0]|0)|0)+32|0)>>>6)|0)>>>1;l=b+1|0;a[l>>0]=((d[l>>0]|0)+1+(((H(m,d[c+1>>0]|0)|0)+32|0)>>>6)|0)>>>1;b=b+e|0;g=g+1|0;c=c+e|0}}h=l|0?e:1;i=h+1|0;g=0;while(1){if((g|0)>=(f|0))break a;l=H(m,d[c>>0]|0)|0;a[b>>0]=((d[b>>0]|0)+1+((l+32+(H(j,d[c+h>>0]|0)|0)|0)>>>6)|0)>>>1;l=b+1|0;k=H(m,d[c+1>>0]|0)|0;a[l>>0]=((d[l>>0]|0)+1+((k+32+(H(j,d[c+i>>0]|0)|0)|0)>>>6)|0)>>>1;b=b+e|0;g=g+1|0;c=c+e|0}}else{i=e+1|0;j=e+2|0;g=0;while(1){if((g|0)>=(f|0))break a;s=H(m,d[c>>0]|0)|0;r=c+1|0;q=H(k,d[r>>0]|0)|0;n=c+e|0;o=H(l,d[n>>0]|0)|0;p=c+i|0;a[b>>0]=((d[b>>0]|0)+1+((s+32+q+o+(H(h,d[p>>0]|0)|0)|0)>>>6)|0)>>>1;o=b+1|0;r=H(m,d[r>>0]|0)|0;q=H(k,d[c+2>>0]|0)|0;p=H(l,d[p>>0]|0)|0;a[o>>0]=((d[o>>0]|0)+1+((r+32+q+p+(H(h,d[c+j>>0]|0)|0)|0)>>>6)|0)>>>1;b=b+e|0;g=g+1|0;c=n}}while(0);return}function FI(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=8-g|0;j=8-h|0;m=H(j,k)|0;j=H(j,g)|0;k=H(k,h)|0;i=H(h,g)|0;l=d>>1;a:do if(!i){d=j+k|0;if(!d){g=0;while(1){if((g|0)>=(f|0))break a;b[a>>1]=((e[a>>1]|0)+1+(((H(m,e[c>>1]|0)|0)+32|0)>>>6)|0)>>>1;a=a+(l<<1)|0;g=g+1|0;c=c+(l<<1)|0}}h=k|0?l:1;g=0;while(1){if((g|0)>=(f|0))break a;k=H(m,e[c>>1]|0)|0;b[a>>1]=((e[a>>1]|0)+1+((k+32+(H(d,e[c+(h<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;a=a+(l<<1)|0;g=g+1|0;c=c+(l<<1)|0}}else{h=l+1|0;g=0;while(1){if((g|0)>=(f|0))break a;p=H(m,e[c>>1]|0)|0;o=H(j,e[c+2>>1]|0)|0;d=c+(l<<1)|0;n=H(k,e[d>>1]|0)|0;b[a>>1]=((e[a>>1]|0)+1+((p+32+o+n+(H(i,e[c+(h<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;a=a+(l<<1)|0;g=g+1|0;c=d}}while(0);return}function GI(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=8-g|0;j=8-h|0;l=H(j,k)|0;j=H(j,g)|0;k=H(k,h)|0;h=H(h,g)|0;a:do if(!h){i=j+k|0;if(!i){g=0;while(1){if((g|0)>=(f|0))break a;a[b>>0]=((d[b>>0]|0)+1+(((H(l,d[c>>0]|0)|0)+32|0)>>>6)|0)>>>1;b=b+e|0;g=g+1|0;c=c+e|0}}h=k|0?e:1;g=0;while(1){if((g|0)>=(f|0))break a;k=H(l,d[c>>0]|0)|0;a[b>>0]=((d[b>>0]|0)+1+((k+32+(H(i,d[c+h>>0]|0)|0)|0)>>>6)|0)>>>1;b=b+e|0;g=g+1|0;c=c+e|0}}else{i=e+1|0;g=0;while(1){if((g|0)>=(f|0))break a;p=H(l,d[c>>0]|0)|0;o=H(j,d[c+1>>0]|0)|0;m=c+e|0;n=H(k,d[m>>0]|0)|0;a[b>>0]=((d[b>>0]|0)+1+((p+32+o+n+(H(h,d[c+i>>0]|0)|0)|0)>>>6)|0)>>>1;b=b+e|0;g=g+1|0;c=m}}while(0);return}function HI(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0;h=f>>>1;g=d;f=a;a=0;while(1){if((a|0)==4)break;b[f>>1]=(c[g>>2]|0)+(e[f>>1]|0);i=f+2|0;b[i>>1]=(c[g+4>>2]|0)+(e[i>>1]|0);i=f+4|0;b[i>>1]=(c[g+8>>2]|0)+(e[i>>1]|0);i=f+6|0;b[i>>1]=(c[g+12>>2]|0)+(e[i>>1]|0);g=g+16|0;f=f+(h<<1)|0;a=a+1|0}f=d+64|0;do{b[d>>1]=0;d=d+2|0}while((d|0)<(f|0));return}function II(c,f,g){c=c|0;f=f|0;g=g|0;var h=0,i=0,j=0;i=f;h=0;while(1){if((h|0)==4)break;a[c>>0]=(d[c>>0]|0)+(e[i>>1]|0);j=c+1|0;a[j>>0]=(d[j>>0]|0)+(e[i+2>>1]|0);j=c+2|0;a[j>>0]=(d[j>>0]|0)+(e[i+4>>1]|0);j=c+3|0;a[j>>0]=(d[j>>0]|0)+(e[i+6>>1]|0);i=i+8|0;c=c+g|0;h=h+1|0}c=f+32|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(c|0));return}function JI(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0;h=f>>>1;g=d;f=a;a=0;while(1){if((a|0)==8)break;b[f>>1]=(c[g>>2]|0)+(e[f>>1]|0);i=f+2|0;b[i>>1]=(c[g+4>>2]|0)+(e[i>>1]|0);i=f+4|0;b[i>>1]=(c[g+8>>2]|0)+(e[i>>1]|0);i=f+6|0;b[i>>1]=(c[g+12>>2]|0)+(e[i>>1]|0);i=f+8|0;b[i>>1]=(c[g+16>>2]|0)+(e[i>>1]|0);i=f+10|0;b[i>>1]=(c[g+20>>2]|0)+(e[i>>1]|0);i=f+12|0;b[i>>1]=(c[g+24>>2]|0)+(e[i>>1]|0);i=f+14|0;b[i>>1]=(c[g+28>>2]|0)+(e[i>>1]|0);g=g+32|0;f=f+(h<<1)|0;a=a+1|0}ZW(d|0,0,256)|0;return}function KI(c,f,g){c=c|0;f=f|0;g=g|0;var h=0,i=0,j=0;i=f;h=0;while(1){if((h|0)==8)break;a[c>>0]=(d[c>>0]|0)+(e[i>>1]|0);j=c+1|0;a[j>>0]=(d[j>>0]|0)+(e[i+2>>1]|0);j=c+2|0;a[j>>0]=(d[j>>0]|0)+(e[i+4>>1]|0);j=c+3|0;a[j>>0]=(d[j>>0]|0)+(e[i+6>>1]|0);j=c+4|0;a[j>>0]=(d[j>>0]|0)+(e[i+8>>1]|0);j=c+5|0;a[j>>0]=(d[j>>0]|0)+(e[i+10>>1]|0);j=c+6|0;a[j>>0]=(d[j>>0]|0)+(e[i+12>>1]|0);j=c+7|0;a[j>>0]=(d[j>>0]|0)+(e[i+14>>1]|0);i=i+16|0;c=c+g|0;h=h+1|0}c=f+128|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(c|0));return}function LI(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c[d>>2]=(c[d>>2]|0)+32;g=0;while(1){if((g|0)==4)break;o=d+(g<<2)|0;n=c[o>>2]|0;k=d+(g+8<<2)|0;m=c[k>>2]|0;j=m+n|0;m=n-m|0;n=d+(g+4<<2)|0;h=c[n>>2]|0;i=d+(g+12<<2)|0;p=c[i>>2]|0;l=(h>>1)-p|0;h=(p>>1)+h|0;c[o>>2]=h+j;c[n>>2]=l+m;c[k>>2]=m-l;c[i>>2]=j-h;g=g+1|0}f=f>>1;h=f<<1;i=f*3|0;g=0;while(1){if((g|0)==4)break;p=g<<2;o=c[d+(p<<2)>>2]|0;l=c[d+((p|2)<<2)>>2]|0;n=l+o|0;l=o-l|0;o=c[d+((p|1)<<2)>>2]|0;p=c[d+((p|3)<<2)>>2]|0;m=(o>>1)-p|0;o=(p>>1)+o|0;p=a+(g<<1)|0;k=(o+n>>6)+(e[p>>1]|0)|0;b[p>>1]=k>>>0<512?k:0-k>>31&511;p=a+(g+f<<1)|0;k=(m+l>>6)+(e[p>>1]|0)|0;b[p>>1]=k>>>0<512?k:0-k>>31&511;p=a+(g+h<<1)|0;m=(l-m>>6)+(e[p>>1]|0)|0;b[p>>1]=m>>>0<512?m:0-m>>31&511;p=a+(g+i<<1)|0;o=(n-o>>6)+(e[p>>1]|0)|0;b[p>>1]=o>>>0<512?o:0-o>>31&511;g=g+1|0}g=d+64|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(g|0));return}function MI(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;c[d>>2]=(c[d>>2]|0)+32;g=0;while(1){if((g|0)==8)break;w=d+(g<<2)|0;o=c[w>>2]|0;m=d+(g+32<<2)|0;l=c[m>>2]|0;j=l+o|0;l=o-l|0;o=d+(g+16<<2)|0;k=c[o>>2]|0;p=d+(g+48<<2)|0;v=c[p>>2]|0;n=(k>>1)-v|0;k=(v>>1)+k|0;v=k+j|0;r=n+l|0;n=l-n|0;k=j-k|0;j=d+(g+24<<2)|0;l=c[j>>2]|0;i=d+(g+40<<2)|0;h=c[i>>2]|0;t=d+(g+56<<2)|0;q=c[t>>2]|0;u=h-l-q-(q>>1)|0;s=d+(g+8<<2)|0;x=c[s>>2]|0;y=q-((l>>1)+l)+x|0;q=q+h+(h>>1)-x|0;x=h+l+x+(x>>1)|0;l=(x>>2)+u|0;h=(q>>2)+y|0;q=(y>>2)-q|0;u=x-(u>>2)|0;c[w>>2]=u+v;c[t>>2]=v-u;c[s>>2]=q+r;c[p>>2]=r-q;c[o>>2]=h+n;c[i>>2]=n-h;c[j>>2]=l+k;c[m>>2]=k-l;g=g+1|0}i=f>>1;j=i<<1;k=i*3|0;l=i<<2;m=i*5|0;f=i*6|0;h=i*7|0;g=0;while(1){if((g|0)==8)break;y=g<<3;q=c[d+(y<<2)>>2]|0;t=c[d+((y|4)<<2)>>2]|0;r=t+q|0;t=q-t|0;q=c[d+((y|2)<<2)>>2]|0;w=c[d+((y|6)<<2)>>2]|0;s=(q>>1)-w|0;q=(w>>1)+q|0;w=q+r|0;u=s+t|0;s=t-s|0;q=r-q|0;r=c[d+((y|3)<<2)>>2]|0;t=c[d+((y|5)<<2)>>2]|0;v=c[d+((y|7)<<2)>>2]|0;x=t-r-v-(v>>1)|0;y=c[d+((y|1)<<2)>>2]|0;p=v-((r>>1)+r)+y|0;v=v+t+(t>>1)-y|0;y=t+r+y+(y>>1)|0;r=(y>>2)+x|0;t=(v>>2)+p|0;v=(p>>2)-v|0;x=y-(x>>2)|0;y=a+(g<<1)|0;p=(x+w>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<512?p:0-p>>31&511;y=a+(g+i<<1)|0;p=(v+u>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<512?p:0-p>>31&511;y=a+(g+j<<1)|0;p=(t+s>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<512?p:0-p>>31&511;y=a+(g+k<<1)|0;p=(r+q>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<512?p:0-p>>31&511;y=a+(g+l<<1)|0;r=(q-r>>6)+(e[y>>1]|0)|0;b[y>>1]=r>>>0<512?r:0-r>>31&511;y=a+(g+m<<1)|0;t=(s-t>>6)+(e[y>>1]|0)|0;b[y>>1]=t>>>0<512?t:0-t>>31&511;y=a+(g+f<<1)|0;v=(u-v>>6)+(e[y>>1]|0)|0;b[y>>1]=v>>>0<512?v:0-v>>31&511;y=a+(g+h<<1)|0;x=(w-x>>6)+(e[y>>1]|0)|0;b[y>>1]=x>>>0<512?x:0-x>>31&511;g=g+1|0}ZW(d|0,0,256)|0;return}function NI(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;h=(c[d>>2]|0)+32>>6;g=f>>>1;c[d>>2]=0;d=0;while(1){if((d|0)==4)break;else f=0;while(1){if((f|0)==4)break;i=a+(f<<1)|0;j=h+(e[i>>1]|0)|0;b[i>>1]=j>>>0<512?j:0-j>>31&511;f=f+1|0}a=a+(g<<1)|0;d=d+1|0}return}function OI(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;h=(c[d>>2]|0)+32>>6;c[d>>2]=0;g=f>>>1;f=a;a=0;while(1){if((a|0)==8)break;else d=0;while(1){if((d|0)==8)break;i=f+(d<<1)|0;j=h+(e[i>>1]|0)|0;b[i>>1]=j>>>0<512?j:0-j>>31&511;d=d+1|0}f=f+(g<<1)|0;a=a+1|0}return}function PI(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=0;while(1){if((i|0)==16)break;switch(a[h+(d[150833+i>>0]|0)>>0]|0){case 0:break;case 1:{if(!(c[f+(i<<4<<2)>>2]|0))j=6;else NI(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);break}default:j=6}if((j|0)==6){j=0;LI(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}i=i+1|0}return}function QI(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=0;while(1){if((i|0)>=16)break;switch(a[h+(d[150833+i>>0]|0)>>0]|0){case 0:break;case 1:{if(!(c[f+(i<<4<<2)>>2]|0))j=6;else OI(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);break}default:j=6}if((j|0)==6){j=0;MI(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}i=i+4|0}return}function RI(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;i=1;while(1){if((i|0)==3)break;j=i<<4;k=j|4;l=b+(i+-1<<2)|0;while(1){if((j|0)>=(k|0))break;if(!(a[h+(d[150833+j>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)NI((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else LI((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}return}function SI(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=1;while(1){if((i|0)==3){i=1;break}j=i<<4;k=j|4;l=b+(i+-1<<2)|0;while(1){if((j|0)>=(k|0))break;if(!(a[h+(d[150833+j>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)NI((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else LI((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}while(1){if((i|0)==3)break;j=i<<4;k=j|8;l=b+(i+-1<<2)|0;j=j|4;while(1){if((j|0)>=(k|0))break;m=j+4|0;if(!(a[h+(d[150833+m>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)NI((c[l>>2]|0)+(c[e+(m<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else LI((c[l>>2]|0)+(c[e+(m<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}return}function TI(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;i=0;while(1){if((i|0)==16)break;if(!(a[h+(d[150833+i>>0]|0)>>0]|0)){if(c[f+(i<<4<<2)>>2]|0)NI(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}else LI(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);i=i+1|0}return}function UI(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=$c;$c=$c+64|0;if(($c|0)>=(ad|0))N(64);g=h;f=0;while(1){if((f|0)==4)break;p=f<<2;l=c[b+(p<<2)>>2]|0;m=p|1;j=c[b+(m<<2)>>2]|0;o=j+l|0;j=l-j|0;l=p|2;n=c[b+(l<<2)>>2]|0;i=p|3;q=c[b+(i<<2)>>2]|0;k=n-q|0;n=q+n|0;c[g+(p<<2)>>2]=n+o;c[g+(m<<2)>>2]=o-n;c[g+(l<<2)>>2]=j-k;c[g+(i<<2)>>2]=k+j;f=f+1|0}f=0;while(1){if((f|0)==4)break;q=d[150829+f>>0]|0;p=c[g+(f<<2)>>2]|0;m=c[g+(f+8<<2)>>2]|0;o=m+p|0;m=p-m|0;p=c[g+(f+4<<2)>>2]|0;l=c[g+(f+12<<2)>>2]|0;n=p-l|0;p=l+p|0;c[a+(q<<2)>>2]=(H(p+o|0,e)|0)+128>>8;c[a+(q+16<<2)>>2]=(H(n+m|0,e)|0)+128>>8;c[a+(q+64<<2)>>2]=(H(m-n|0,e)|0)+128>>8;c[a+(q+80<<2)>>2]=(H(o-p|0,e)|0)+128>>8;f=f+1|0}$c=h;return}function VI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=c[a>>2]|0;j=a+64|0;e=c[j>>2]|0;g=a+128|0;h=c[g>>2]|0;d=a+192|0;k=c[d>>2]|0;f=i-e|0;i=e+i|0;e=h-k|0;h=k+h|0;c[a>>2]=(H(h+i|0,b)|0)>>7;c[j>>2]=(H(e+f|0,b)|0)>>7;c[g>>2]=(H(i-h|0,b)|0)>>7;c[d>>2]=(H(f-e|0,b)|0)>>7;return}function WI(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);f=g;e=0;while(1){if((e|0)==4){e=0;break}i=e<<5;j=c[a+(i<<2)>>2]|0;i=c[a+((i|16)<<2)>>2]|0;h=e<<1;c[f+(h<<2)>>2]=i+j;c[f+((h|1)<<2)>>2]=j-i;e=e+1|0}while(1){if((e|0)==2)break;j=d[150827+e>>0]|0;i=c[f+(e<<2)>>2]|0;l=c[f+(e+4<<2)>>2]|0;h=l+i|0;l=i-l|0;i=c[f+(e+2<<2)>>2]|0;m=c[f+(e+6<<2)>>2]|0;k=i-m|0;i=m+i|0;c[a+(j<<2)>>2]=(H(i+h|0,b)|0)+128>>8;c[a+(j+32<<2)>>2]=(H(k+l|0,b)|0)+128>>8;c[a+(j+64<<2)>>2]=(H(l-k|0,b)|0)+128>>8;c[a+(j+96<<2)>>2]=(H(h-i|0,b)|0)+128>>8;e=e+1|0}$c=g;return}function XI(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<512?a:0-a>>31&511;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+8|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+10|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+12|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+14|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+16|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+18|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+20|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+22|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+24|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+26|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+28|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+30|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;c=c+(j<<1)|0;h=h+1|0}return}function YI(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<512?a:0-a>>31&511;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+8|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+10|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+12|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+14|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;c=c+(j<<1)|0;h=h+1|0}return}function ZI(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<512?a:0-a>>31&511;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;c=c+(j<<1)|0;h=h+1|0}return}function _I(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<512?a:0-a>>31&511;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;c=c+(j<<1)|0;h=h+1|0}return}function $I(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<1|1)<=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<512?m:0-m>>31&511;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=H(e[c+8>>1]|0,i)|0;m=d+8|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=H(e[c+10>>1]|0,i)|0;a=d+10|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=H(e[c+12>>1]|0,i)|0;m=d+12|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=H(e[c+14>>1]|0,i)|0;a=d+14|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=H(e[c+16>>1]|0,i)|0;m=d+16|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=H(e[c+18>>1]|0,i)|0;a=d+18|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=H(e[c+20>>1]|0,i)|0;m=d+20|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=H(e[c+22>>1]|0,i)|0;a=d+22|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=H(e[c+24>>1]|0,i)|0;m=d+24|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=H(e[c+26>>1]|0,i)|0;a=d+26|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=H(e[c+28>>1]|0,i)|0;m=d+28|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=H(e[c+30>>1]|0,i)|0;a=d+30|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function aJ(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<1|1)<=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<512?m:0-m>>31&511;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=H(e[c+8>>1]|0,i)|0;m=d+8|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=H(e[c+10>>1]|0,i)|0;a=d+10|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=H(e[c+12>>1]|0,i)|0;m=d+12|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=H(e[c+14>>1]|0,i)|0;a=d+14|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function bJ(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<1|1)<=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<512?m:0-m>>31&511;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function cJ(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<1|1)<=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<512?m:0-m>>31&511;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function dJ(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=d>>1;B=f<<1;y=g<<1;z=0-C|0;A=H(C,-2)|0;w=H(C,-3)|0;x=C<<1;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<1;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==4)break a;p=l+(z<<1)|0;q=e[p>>1]|0;d=l+(A<<1)|0;r=e[d>>1]|0;f=e[l+(w<<1)>>1]|0;s=e[l>>1]|0;i=l+(C<<1)|0;t=e[i>>1]|0;j=e[l+(x<<1)>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(B|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(y|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(y|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(y|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(y|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<512?r:0-r>>31&511;t=s-t|0;b[l>>1]=t>>>0<512?t:0-t>>31&511}k=k+1|0;l=l+2|0}}while(0);c=c+8|0;u=u+1|0}return}function eJ(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=d>>1;y=f<<1;w=g<<1;x=z<<2;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<1;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==4)break a;p=l+-2|0;q=e[p>>1]|0;d=l+-4|0;r=e[d>>1]|0;f=e[l+-6>>1]|0;s=e[l>>1]|0;i=l+2|0;t=e[i>>1]|0;j=e[l+4>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(y|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(w|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(w|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<512?r:0-r>>31&511;t=s-t|0;b[l>>1]=t>>>0<512?t:0-t>>31&511}k=k+1|0;l=l+(z<<1)|0}}while(0);c=c+(x<<1)|0;u=u+1|0}return}function fJ(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=d>>1;y=f<<1;w=g<<1;x=z<<1;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<1;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==2)break a;p=l+-2|0;q=e[p>>1]|0;d=l+-4|0;r=e[d>>1]|0;f=e[l+-6>>1]|0;s=e[l>>1]|0;i=l+2|0;t=e[i>>1]|0;j=e[l+4>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(y|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(w|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(w|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<512?r:0-r>>31&511;t=s-t|0;b[l>>1]=t>>>0<512?t:0-t>>31&511}k=k+1|0;l=l+(z<<1)|0}}while(0);c=c+(x<<1)|0;u=u+1|0}return}function gJ(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=c>>1;z=d<<1;v=f<<1;w=H(A,-3)|0;x=H(A,-2)|0;y=0-A|0;r=A<<1;s=(z>>2)+2|0;t=H(A,-4)|0;u=A*3|0;j=0;while(1){if((j|0)==16)break;c=a+(w<<1)|0;i=e[c>>1]|0;d=a+(x<<1)|0;k=e[d>>1]|0;f=a+(y<<1)|0;l=e[f>>1]|0;m=e[a>>1]|0;n=a+(A<<1)|0;o=e[n>>1]|0;p=a+(r<<1)|0;q=e[p>>1]|0;g=l-m|0;g=(g|0)>-1?g:0-g|0;do if(((g|0)<(z|0)?(h=k-l|0,(((h|0)>-1?h:0-h|0)|0)<(v|0)):0)?(h=o-m|0,(((h|0)>-1?h:0-h|0)|0)<(v|0)):0){if((g|0)>=(s|0)){b[f>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}h=i-l|0;if((((h|0)>-1?h:0-h|0)|0)<(v|0)){B=e[a+(t<<1)>>1]|0;b[f>>1]=(i+4+o+(l+k+m<<1)|0)>>>3;b[d>>1]=(i+2+k+l+m|0)>>>2;f=c;d=3;g=4;h=m;c=(i*3|0)+k+(B<<1)|0}else{d=2;g=2;h=o;c=k<<1}b[f>>1]=(c+l+h+g|0)>>>d;B=q-m|0;if((((B|0)>-1?B:0-B|0)|0)<(v|0)){B=e[a+(u<<1)>>1]|0;b[a>>1]=(k+4+q+(m+l+o<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(l+4+m+o+(q*3|0)+(B<<1)|0)>>>3;break}else{b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}}while(0);a=a+2|0;j=j+1|0}return}function hJ(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=c>>1;t=d<<1;r=f<<1;s=(t>>2)+2|0;j=0;while(1){if((j|0)==16)break;g=a+-6|0;i=e[g>>1]|0;c=a+-4|0;k=e[c>>1]|0;d=a+-2|0;l=e[d>>1]|0;m=e[a>>1]|0;n=a+2|0;o=e[n>>1]|0;p=a+4|0;q=e[p>>1]|0;f=l-m|0;f=(f|0)>-1?f:0-f|0;do if(((f|0)<(t|0)?(h=k-l|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0)?(h=o-m|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0){if((f|0)>=(s|0)){b[d>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}h=i-l|0;if((((h|0)>-1?h:0-h|0)|0)<(r|0)){v=e[a+-8>>1]|0;b[d>>1]=(i+4+o+(l+k+m<<1)|0)>>>3;b[c>>1]=(i+2+k+l+m|0)>>>2;d=g;f=3;g=4;h=m;c=(i*3|0)+k+(v<<1)|0}else{f=2;g=2;h=o;c=k<<1}b[d>>1]=(c+l+h+g|0)>>>f;v=q-m|0;if((((v|0)>-1?v:0-v|0)|0)<(r|0)){v=e[a+6>>1]|0;b[a>>1]=(k+4+q+(m+l+o<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(l+4+m+o+(q*3|0)+(v<<1)|0)>>>3;break}else{b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}}while(0);a=a+(u<<1)|0;j=j+1|0}return}function iJ(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=c>>1;t=d<<1;r=f<<1;s=(t>>2)+2|0;j=0;while(1){if((j|0)==8)break;g=a+-6|0;i=e[g>>1]|0;c=a+-4|0;k=e[c>>1]|0;d=a+-2|0;l=e[d>>1]|0;m=e[a>>1]|0;n=a+2|0;o=e[n>>1]|0;p=a+4|0;q=e[p>>1]|0;f=l-m|0;f=(f|0)>-1?f:0-f|0;do if(((f|0)<(t|0)?(h=k-l|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0)?(h=o-m|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0){if((f|0)>=(s|0)){b[d>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}h=i-l|0;if((((h|0)>-1?h:0-h|0)|0)<(r|0)){v=e[a+-8>>1]|0;b[d>>1]=(i+4+o+(l+k+m<<1)|0)>>>3;b[c>>1]=(i+2+k+l+m|0)>>>2;d=g;f=3;g=4;h=m;c=(i*3|0)+k+(v<<1)|0}else{f=2;g=2;h=o;c=k<<1}b[d>>1]=(c+l+h+g|0)>>>f;v=q-m|0;if((((v|0)>-1?v:0-v|0)|0)<(r|0)){v=e[a+6>>1]|0;b[a>>1]=(k+4+q+(m+l+o<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(l+4+m+o+(q*3|0)+(v<<1)|0)>>>3;break}else{b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}}while(0);a=a+(u<<1)|0;j=j+1|0}return}function jJ(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=f<<1;s=g<<1;p=d>>1;q=0-p|0;r=H(p,-2)|0;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<1;o=f+-1|0;a:do if(m<<24>>24>=1){d=1-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+(q<<1)|0;j=e[i>>1]|0;k=e[g+(r<<1)>>1]|0;l=e[g>>1]|0;m=e[g+(p<<1)>>1]|0;u=j-l|0;if(((((u|0)>-1?u:0-u|0)|0)<(t|0)?(u=k-j|0,(((u|0)>-1?u:0-u|0)|0)<(s|0)):0)?(u=m-l|0,(((u|0)>-1?u:0-u|0)|0)<(s|0)):0){u=k+4-m+(l-j<<2)>>3;u=(u|0)<(d|0)?d:(u|0)>(o|0)?o:u;m=u+j|0;b[i>>1]=m>>>0<512?m:0-m>>31&511;u=l-u|0;b[g>>1]=u>>>0<512?u:0-u>>31&511}f=f+1|0;g=g+2|0}}while(0);c=c+4|0;n=n+1|0}return}function kJ(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<1;r=g<<1;p=d>>1;q=p<<1;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<1;o=f+-1|0;a:do if(m<<24>>24>=1){d=1-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<512?m:0-m>>31&511;t=l-t|0;b[g>>1]=t>>>0<512?t:0-t>>31&511}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function lJ(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<1;r=g<<1;p=d>>1;q=p<<2;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<1;o=f+-1|0;a:do if(m<<24>>24>=1){d=1-f|0;f=0;g=c;while(1){if((f|0)==4)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<512?m:0-m>>31&511;t=l-t|0;b[g>>1]=t>>>0<512?t:0-t>>31&511}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function mJ(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=f<<1;q=g<<1;p=d>>1;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<1;o=f+-1|0;a:do if(m<<24>>24>=1){d=1-f|0;f=0;g=c;while(1){if((f|0)==1)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;s=j-l|0;if(((((s|0)>-1?s:0-s|0)|0)<(r|0)?(s=k-j|0,(((s|0)>-1?s:0-s|0)|0)<(q|0)):0)?(s=m-l|0,(((s|0)>-1?s:0-s|0)|0)<(q|0)):0){s=k+4-m+(l-j<<2)>>3;s=(s|0)<(d|0)?d:(s|0)>(o|0)?o:s;m=s+j|0;b[i>>1]=m>>>0<512?m:0-m>>31&511;s=l-s|0;b[g>>1]=s>>>0<512?s:0-s>>31&511}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(p<<1)|0;n=n+1|0}return}function nJ(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<1;r=g<<1;p=d>>1;q=p<<1;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<1;o=f+-1|0;a:do if(m<<24>>24>=1){d=1-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<512?m:0-m>>31&511;t=l-t|0;b[g>>1]=t>>>0<512?t:0-t>>31&511}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function oJ(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=c>>1;m=d<<1;j=f<<1;k=0-n|0;l=H(n,-2)|0;i=0;while(1){if((i|0)==8)break;h=a+(k<<1)|0;c=e[h>>1]|0;d=e[a+(l<<1)>>1]|0;f=e[a>>1]|0;g=e[a+(n<<1)>>1]|0;o=c-f|0;if(((((o|0)>-1?o:0-o|0)|0)<(m|0)?(o=d-c|0,(((o|0)>-1?o:0-o|0)|0)<(j|0)):0)?(o=g-f|0,(((o|0)>-1?o:0-o|0)|0)<(j|0)):0){b[h>>1]=(c+2+(d<<1)+g|0)>>>2;b[a>>1]=(d+2+f+(g<<1)|0)>>>2}i=i+1|0;a=a+2|0}return}function pJ(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<1;j=f<<1;i=0;while(1){if((i|0)==8)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function qJ(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<1;j=f<<1;i=0;while(1){if((i|0)==16)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function rJ(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<1;j=f<<1;i=0;while(1){if((i|0)==4)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function sJ(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<1;j=f<<1;i=0;while(1){if((i|0)==8)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function tJ(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c[d>>2]=(c[d>>2]|0)+32;g=0;while(1){if((g|0)==4)break;o=d+(g<<2)|0;n=c[o>>2]|0;k=d+(g+8<<2)|0;m=c[k>>2]|0;j=m+n|0;m=n-m|0;n=d+(g+4<<2)|0;h=c[n>>2]|0;i=d+(g+12<<2)|0;p=c[i>>2]|0;l=(h>>1)-p|0;h=(p>>1)+h|0;c[o>>2]=h+j;c[n>>2]=l+m;c[k>>2]=m-l;c[i>>2]=j-h;g=g+1|0}f=f>>1;h=f<<1;i=f*3|0;g=0;while(1){if((g|0)==4)break;p=g<<2;o=c[d+(p<<2)>>2]|0;l=c[d+((p|2)<<2)>>2]|0;n=l+o|0;l=o-l|0;o=c[d+((p|1)<<2)>>2]|0;p=c[d+((p|3)<<2)>>2]|0;m=(o>>1)-p|0;o=(p>>1)+o|0;p=a+(g<<1)|0;k=(o+n>>6)+(e[p>>1]|0)|0;b[p>>1]=k>>>0<1024?k:0-k>>31&1023;p=a+(g+f<<1)|0;k=(m+l>>6)+(e[p>>1]|0)|0;b[p>>1]=k>>>0<1024?k:0-k>>31&1023;p=a+(g+h<<1)|0;m=(l-m>>6)+(e[p>>1]|0)|0;b[p>>1]=m>>>0<1024?m:0-m>>31&1023;p=a+(g+i<<1)|0;o=(n-o>>6)+(e[p>>1]|0)|0;b[p>>1]=o>>>0<1024?o:0-o>>31&1023;g=g+1|0}g=d+64|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(g|0));return}function uJ(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;c[d>>2]=(c[d>>2]|0)+32;g=0;while(1){if((g|0)==8)break;w=d+(g<<2)|0;o=c[w>>2]|0;m=d+(g+32<<2)|0;l=c[m>>2]|0;j=l+o|0;l=o-l|0;o=d+(g+16<<2)|0;k=c[o>>2]|0;p=d+(g+48<<2)|0;v=c[p>>2]|0;n=(k>>1)-v|0;k=(v>>1)+k|0;v=k+j|0;r=n+l|0;n=l-n|0;k=j-k|0;j=d+(g+24<<2)|0;l=c[j>>2]|0;i=d+(g+40<<2)|0;h=c[i>>2]|0;t=d+(g+56<<2)|0;q=c[t>>2]|0;u=h-l-q-(q>>1)|0;s=d+(g+8<<2)|0;x=c[s>>2]|0;y=q-((l>>1)+l)+x|0;q=q+h+(h>>1)-x|0;x=h+l+x+(x>>1)|0;l=(x>>2)+u|0;h=(q>>2)+y|0;q=(y>>2)-q|0;u=x-(u>>2)|0;c[w>>2]=u+v;c[t>>2]=v-u;c[s>>2]=q+r;c[p>>2]=r-q;c[o>>2]=h+n;c[i>>2]=n-h;c[j>>2]=l+k;c[m>>2]=k-l;g=g+1|0}i=f>>1;j=i<<1;k=i*3|0;l=i<<2;m=i*5|0;f=i*6|0;h=i*7|0;g=0;while(1){if((g|0)==8)break;y=g<<3;q=c[d+(y<<2)>>2]|0;t=c[d+((y|4)<<2)>>2]|0;r=t+q|0;t=q-t|0;q=c[d+((y|2)<<2)>>2]|0;w=c[d+((y|6)<<2)>>2]|0;s=(q>>1)-w|0;q=(w>>1)+q|0;w=q+r|0;u=s+t|0;s=t-s|0;q=r-q|0;r=c[d+((y|3)<<2)>>2]|0;t=c[d+((y|5)<<2)>>2]|0;v=c[d+((y|7)<<2)>>2]|0;x=t-r-v-(v>>1)|0;y=c[d+((y|1)<<2)>>2]|0;p=v-((r>>1)+r)+y|0;v=v+t+(t>>1)-y|0;y=t+r+y+(y>>1)|0;r=(y>>2)+x|0;t=(v>>2)+p|0;v=(p>>2)-v|0;x=y-(x>>2)|0;y=a+(g<<1)|0;p=(x+w>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<1024?p:0-p>>31&1023;y=a+(g+i<<1)|0;p=(v+u>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<1024?p:0-p>>31&1023;y=a+(g+j<<1)|0;p=(t+s>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<1024?p:0-p>>31&1023;y=a+(g+k<<1)|0;p=(r+q>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<1024?p:0-p>>31&1023;y=a+(g+l<<1)|0;r=(q-r>>6)+(e[y>>1]|0)|0;b[y>>1]=r>>>0<1024?r:0-r>>31&1023;y=a+(g+m<<1)|0;t=(s-t>>6)+(e[y>>1]|0)|0;b[y>>1]=t>>>0<1024?t:0-t>>31&1023;y=a+(g+f<<1)|0;v=(u-v>>6)+(e[y>>1]|0)|0;b[y>>1]=v>>>0<1024?v:0-v>>31&1023;y=a+(g+h<<1)|0;x=(w-x>>6)+(e[y>>1]|0)|0;b[y>>1]=x>>>0<1024?x:0-x>>31&1023;g=g+1|0}ZW(d|0,0,256)|0;return}function vJ(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;h=(c[d>>2]|0)+32>>6;g=f>>>1;c[d>>2]=0;d=0;while(1){if((d|0)==4)break;else f=0;while(1){if((f|0)==4)break;i=a+(f<<1)|0;j=h+(e[i>>1]|0)|0;b[i>>1]=j>>>0<1024?j:0-j>>31&1023;f=f+1|0}a=a+(g<<1)|0;d=d+1|0}return}function wJ(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;h=(c[d>>2]|0)+32>>6;c[d>>2]=0;g=f>>>1;f=a;a=0;while(1){if((a|0)==8)break;else d=0;while(1){if((d|0)==8)break;i=f+(d<<1)|0;j=h+(e[i>>1]|0)|0;b[i>>1]=j>>>0<1024?j:0-j>>31&1023;d=d+1|0}f=f+(g<<1)|0;a=a+1|0}return}function xJ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=0;while(1){if((i|0)==16)break;switch(a[h+(d[150833+i>>0]|0)>>0]|0){case 0:break;case 1:{if(!(c[f+(i<<4<<2)>>2]|0))j=6;else vJ(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);break}default:j=6}if((j|0)==6){j=0;tJ(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}i=i+1|0}return}function yJ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=0;while(1){if((i|0)>=16)break;switch(a[h+(d[150833+i>>0]|0)>>0]|0){case 0:break;case 1:{if(!(c[f+(i<<4<<2)>>2]|0))j=6;else wJ(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);break}default:j=6}if((j|0)==6){j=0;uJ(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}i=i+4|0}return}function zJ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;i=1;while(1){if((i|0)==3)break;j=i<<4;k=j|4;l=b+(i+-1<<2)|0;while(1){if((j|0)>=(k|0))break;if(!(a[h+(d[150833+j>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)vJ((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else tJ((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}return}function AJ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=1;while(1){if((i|0)==3){i=1;break}j=i<<4;k=j|4;l=b+(i+-1<<2)|0;while(1){if((j|0)>=(k|0))break;if(!(a[h+(d[150833+j>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)vJ((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else tJ((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}while(1){if((i|0)==3)break;j=i<<4;k=j|8;l=b+(i+-1<<2)|0;j=j|4;while(1){if((j|0)>=(k|0))break;m=j+4|0;if(!(a[h+(d[150833+m>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)vJ((c[l>>2]|0)+(c[e+(m<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else tJ((c[l>>2]|0)+(c[e+(m<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}return}function BJ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;i=0;while(1){if((i|0)==16)break;if(!(a[h+(d[150833+i>>0]|0)>>0]|0)){if(c[f+(i<<4<<2)>>2]|0)vJ(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}else tJ(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);i=i+1|0}return}function CJ(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=$c;$c=$c+64|0;if(($c|0)>=(ad|0))N(64);g=h;f=0;while(1){if((f|0)==4)break;p=f<<2;l=c[b+(p<<2)>>2]|0;m=p|1;j=c[b+(m<<2)>>2]|0;o=j+l|0;j=l-j|0;l=p|2;n=c[b+(l<<2)>>2]|0;i=p|3;q=c[b+(i<<2)>>2]|0;k=n-q|0;n=q+n|0;c[g+(p<<2)>>2]=n+o;c[g+(m<<2)>>2]=o-n;c[g+(l<<2)>>2]=j-k;c[g+(i<<2)>>2]=k+j;f=f+1|0}f=0;while(1){if((f|0)==4)break;q=d[150829+f>>0]|0;p=c[g+(f<<2)>>2]|0;m=c[g+(f+8<<2)>>2]|0;o=m+p|0;m=p-m|0;p=c[g+(f+4<<2)>>2]|0;l=c[g+(f+12<<2)>>2]|0;n=p-l|0;p=l+p|0;c[a+(q<<2)>>2]=(H(p+o|0,e)|0)+128>>8;c[a+(q+16<<2)>>2]=(H(n+m|0,e)|0)+128>>8;c[a+(q+64<<2)>>2]=(H(m-n|0,e)|0)+128>>8;c[a+(q+80<<2)>>2]=(H(o-p|0,e)|0)+128>>8;f=f+1|0}$c=h;return}function DJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=c[a>>2]|0;j=a+64|0;e=c[j>>2]|0;g=a+128|0;h=c[g>>2]|0;d=a+192|0;k=c[d>>2]|0;f=i-e|0;i=e+i|0;e=h-k|0;h=k+h|0;c[a>>2]=(H(h+i|0,b)|0)>>7;c[j>>2]=(H(e+f|0,b)|0)>>7;c[g>>2]=(H(i-h|0,b)|0)>>7;c[d>>2]=(H(f-e|0,b)|0)>>7;return}function EJ(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);f=g;e=0;while(1){if((e|0)==4){e=0;break}i=e<<5;j=c[a+(i<<2)>>2]|0;i=c[a+((i|16)<<2)>>2]|0;h=e<<1;c[f+(h<<2)>>2]=i+j;c[f+((h|1)<<2)>>2]=j-i;e=e+1|0}while(1){if((e|0)==2)break;j=d[150827+e>>0]|0;i=c[f+(e<<2)>>2]|0;l=c[f+(e+4<<2)>>2]|0;h=l+i|0;l=i-l|0;i=c[f+(e+2<<2)>>2]|0;m=c[f+(e+6<<2)>>2]|0;k=i-m|0;i=m+i|0;c[a+(j<<2)>>2]=(H(i+h|0,b)|0)+128>>8;c[a+(j+32<<2)>>2]=(H(k+l|0,b)|0)+128>>8;c[a+(j+64<<2)>>2]=(H(l-k|0,b)|0)+128>>8;c[a+(j+96<<2)>>2]=(H(h-i|0,b)|0)+128>>8;e=e+1|0}$c=g;return}function FJ(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<1024?a:0-a>>31&1023;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+8|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+10|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+12|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+14|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+16|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+18|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+20|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+22|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+24|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+26|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+28|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+30|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;c=c+(j<<1)|0;h=h+1|0}return}function GJ(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<1024?a:0-a>>31&1023;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+8|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+10|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+12|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+14|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;c=c+(j<<1)|0;h=h+1|0}return}function HJ(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<1024?a:0-a>>31&1023;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;c=c+(j<<1)|0;h=h+1|0}return}function IJ(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<1024?a:0-a>>31&1023;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;c=c+(j<<1)|0;h=h+1|0}return}function JJ(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<2|1)<=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<1024?m:0-m>>31&1023;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=H(e[c+8>>1]|0,i)|0;m=d+8|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=H(e[c+10>>1]|0,i)|0;a=d+10|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=H(e[c+12>>1]|0,i)|0;m=d+12|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=H(e[c+14>>1]|0,i)|0;a=d+14|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=H(e[c+16>>1]|0,i)|0;m=d+16|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=H(e[c+18>>1]|0,i)|0;a=d+18|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=H(e[c+20>>1]|0,i)|0;m=d+20|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=H(e[c+22>>1]|0,i)|0;a=d+22|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=H(e[c+24>>1]|0,i)|0;m=d+24|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=H(e[c+26>>1]|0,i)|0;a=d+26|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=H(e[c+28>>1]|0,i)|0;m=d+28|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=H(e[c+30>>1]|0,i)|0;a=d+30|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function KJ(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<2|1)<=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<1024?m:0-m>>31&1023;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=H(e[c+8>>1]|0,i)|0;m=d+8|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=H(e[c+10>>1]|0,i)|0;a=d+10|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=H(e[c+12>>1]|0,i)|0;m=d+12|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=H(e[c+14>>1]|0,i)|0;a=d+14|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function LJ(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<2|1)<=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<1024?m:0-m>>31&1023;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function MJ(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<2|1)<=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<1024?m:0-m>>31&1023;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function NJ(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=d>>1;B=f<<2;y=g<<2;z=0-C|0;A=H(C,-2)|0;w=H(C,-3)|0;x=C<<1;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<2;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==4)break a;p=l+(z<<1)|0;q=e[p>>1]|0;d=l+(A<<1)|0;r=e[d>>1]|0;f=e[l+(w<<1)>>1]|0;s=e[l>>1]|0;i=l+(C<<1)|0;t=e[i>>1]|0;j=e[l+(x<<1)>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(B|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(y|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(y|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(y|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(y|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<1024?r:0-r>>31&1023;t=s-t|0;b[l>>1]=t>>>0<1024?t:0-t>>31&1023}k=k+1|0;l=l+2|0}}while(0);c=c+8|0;u=u+1|0}return}function OJ(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=d>>1;y=f<<2;w=g<<2;x=z<<2;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<2;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==4)break a;p=l+-2|0;q=e[p>>1]|0;d=l+-4|0;r=e[d>>1]|0;f=e[l+-6>>1]|0;s=e[l>>1]|0;i=l+2|0;t=e[i>>1]|0;j=e[l+4>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(y|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(w|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(w|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<1024?r:0-r>>31&1023;t=s-t|0;b[l>>1]=t>>>0<1024?t:0-t>>31&1023}k=k+1|0;l=l+(z<<1)|0}}while(0);c=c+(x<<1)|0;u=u+1|0}return}function PJ(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=d>>1;y=f<<2;w=g<<2;x=z<<1;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<2;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==2)break a;p=l+-2|0;q=e[p>>1]|0;d=l+-4|0;r=e[d>>1]|0;f=e[l+-6>>1]|0;s=e[l>>1]|0;i=l+2|0;t=e[i>>1]|0;j=e[l+4>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(y|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(w|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(w|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<1024?r:0-r>>31&1023;t=s-t|0;b[l>>1]=t>>>0<1024?t:0-t>>31&1023}k=k+1|0;l=l+(z<<1)|0}}while(0);c=c+(x<<1)|0;u=u+1|0}return}function QJ(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=c>>1;z=d<<2;v=f<<2;w=H(A,-3)|0;x=H(A,-2)|0;y=0-A|0;r=A<<1;s=(z>>2)+2|0;t=H(A,-4)|0;u=A*3|0;j=0;while(1){if((j|0)==16)break;c=a+(w<<1)|0;i=e[c>>1]|0;d=a+(x<<1)|0;k=e[d>>1]|0;f=a+(y<<1)|0;l=e[f>>1]|0;m=e[a>>1]|0;n=a+(A<<1)|0;o=e[n>>1]|0;p=a+(r<<1)|0;q=e[p>>1]|0;g=l-m|0;g=(g|0)>-1?g:0-g|0;do if(((g|0)<(z|0)?(h=k-l|0,(((h|0)>-1?h:0-h|0)|0)<(v|0)):0)?(h=o-m|0,(((h|0)>-1?h:0-h|0)|0)<(v|0)):0){if((g|0)>=(s|0)){b[f>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}h=i-l|0;if((((h|0)>-1?h:0-h|0)|0)<(v|0)){B=e[a+(t<<1)>>1]|0;b[f>>1]=(i+4+o+(l+k+m<<1)|0)>>>3;b[d>>1]=(i+2+k+l+m|0)>>>2;f=c;d=3;g=4;h=m;c=(i*3|0)+k+(B<<1)|0}else{d=2;g=2;h=o;c=k<<1}b[f>>1]=(c+l+h+g|0)>>>d;B=q-m|0;if((((B|0)>-1?B:0-B|0)|0)<(v|0)){B=e[a+(u<<1)>>1]|0;b[a>>1]=(k+4+q+(m+l+o<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(l+4+m+o+(q*3|0)+(B<<1)|0)>>>3;break}else{b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}}while(0);a=a+2|0;j=j+1|0}return}function RJ(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=c>>1;t=d<<2;r=f<<2;s=(t>>2)+2|0;j=0;while(1){if((j|0)==16)break;g=a+-6|0;i=e[g>>1]|0;c=a+-4|0;k=e[c>>1]|0;d=a+-2|0;l=e[d>>1]|0;m=e[a>>1]|0;n=a+2|0;o=e[n>>1]|0;p=a+4|0;q=e[p>>1]|0;f=l-m|0;f=(f|0)>-1?f:0-f|0;do if(((f|0)<(t|0)?(h=k-l|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0)?(h=o-m|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0){if((f|0)>=(s|0)){b[d>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}h=i-l|0;if((((h|0)>-1?h:0-h|0)|0)<(r|0)){v=e[a+-8>>1]|0;b[d>>1]=(i+4+o+(l+k+m<<1)|0)>>>3;b[c>>1]=(i+2+k+l+m|0)>>>2;d=g;f=3;g=4;h=m;c=(i*3|0)+k+(v<<1)|0}else{f=2;g=2;h=o;c=k<<1}b[d>>1]=(c+l+h+g|0)>>>f;v=q-m|0;if((((v|0)>-1?v:0-v|0)|0)<(r|0)){v=e[a+6>>1]|0;b[a>>1]=(k+4+q+(m+l+o<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(l+4+m+o+(q*3|0)+(v<<1)|0)>>>3;break}else{b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}}while(0);a=a+(u<<1)|0;j=j+1|0}return}function SJ(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=c>>1;t=d<<2;r=f<<2;s=(t>>2)+2|0;j=0;while(1){if((j|0)==8)break;g=a+-6|0;i=e[g>>1]|0;c=a+-4|0;k=e[c>>1]|0;d=a+-2|0;l=e[d>>1]|0;m=e[a>>1]|0;n=a+2|0;o=e[n>>1]|0;p=a+4|0;q=e[p>>1]|0;f=l-m|0;f=(f|0)>-1?f:0-f|0;do if(((f|0)<(t|0)?(h=k-l|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0)?(h=o-m|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0){if((f|0)>=(s|0)){b[d>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}h=i-l|0;if((((h|0)>-1?h:0-h|0)|0)<(r|0)){v=e[a+-8>>1]|0;b[d>>1]=(i+4+o+(l+k+m<<1)|0)>>>3;b[c>>1]=(i+2+k+l+m|0)>>>2;d=g;f=3;g=4;h=m;c=(i*3|0)+k+(v<<1)|0}else{f=2;g=2;h=o;c=k<<1}b[d>>1]=(c+l+h+g|0)>>>f;v=q-m|0;if((((v|0)>-1?v:0-v|0)|0)<(r|0)){v=e[a+6>>1]|0;b[a>>1]=(k+4+q+(m+l+o<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(l+4+m+o+(q*3|0)+(v<<1)|0)>>>3;break}else{b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}}while(0);a=a+(u<<1)|0;j=j+1|0}return}function TJ(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=f<<2;s=g<<2;p=d>>1;q=0-p|0;r=H(p,-2)|0;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<2;o=f+-3|0;a:do if(m<<24>>24>=1){d=3-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+(q<<1)|0;j=e[i>>1]|0;k=e[g+(r<<1)>>1]|0;l=e[g>>1]|0;m=e[g+(p<<1)>>1]|0;u=j-l|0;if(((((u|0)>-1?u:0-u|0)|0)<(t|0)?(u=k-j|0,(((u|0)>-1?u:0-u|0)|0)<(s|0)):0)?(u=m-l|0,(((u|0)>-1?u:0-u|0)|0)<(s|0)):0){u=k+4-m+(l-j<<2)>>3;u=(u|0)<(d|0)?d:(u|0)>(o|0)?o:u;m=u+j|0;b[i>>1]=m>>>0<1024?m:0-m>>31&1023;u=l-u|0;b[g>>1]=u>>>0<1024?u:0-u>>31&1023}f=f+1|0;g=g+2|0}}while(0);c=c+4|0;n=n+1|0}return}function UJ(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<2;r=g<<2;p=d>>1;q=p<<1;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<2;o=f+-3|0;a:do if(m<<24>>24>=1){d=3-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<1024?m:0-m>>31&1023;t=l-t|0;b[g>>1]=t>>>0<1024?t:0-t>>31&1023}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function VJ(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<2;r=g<<2;p=d>>1;q=p<<2;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<2;o=f+-3|0;a:do if(m<<24>>24>=1){d=3-f|0;f=0;g=c;while(1){if((f|0)==4)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<1024?m:0-m>>31&1023;t=l-t|0;b[g>>1]=t>>>0<1024?t:0-t>>31&1023}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function WJ(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=f<<2;q=g<<2;p=d>>1;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<2;o=f+-3|0;a:do if(m<<24>>24>=1){d=3-f|0;f=0;g=c;while(1){if((f|0)==1)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;s=j-l|0;if(((((s|0)>-1?s:0-s|0)|0)<(r|0)?(s=k-j|0,(((s|0)>-1?s:0-s|0)|0)<(q|0)):0)?(s=m-l|0,(((s|0)>-1?s:0-s|0)|0)<(q|0)):0){s=k+4-m+(l-j<<2)>>3;s=(s|0)<(d|0)?d:(s|0)>(o|0)?o:s;m=s+j|0;b[i>>1]=m>>>0<1024?m:0-m>>31&1023;s=l-s|0;b[g>>1]=s>>>0<1024?s:0-s>>31&1023}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(p<<1)|0;n=n+1|0}return}function XJ(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<2;r=g<<2;p=d>>1;q=p<<1;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<2;o=f+-3|0;a:do if(m<<24>>24>=1){d=3-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<1024?m:0-m>>31&1023;t=l-t|0;b[g>>1]=t>>>0<1024?t:0-t>>31&1023}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function YJ(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=c>>1;m=d<<2;j=f<<2;k=0-n|0;l=H(n,-2)|0;i=0;while(1){if((i|0)==8)break;h=a+(k<<1)|0;c=e[h>>1]|0;d=e[a+(l<<1)>>1]|0;f=e[a>>1]|0;g=e[a+(n<<1)>>1]|0;o=c-f|0;if(((((o|0)>-1?o:0-o|0)|0)<(m|0)?(o=d-c|0,(((o|0)>-1?o:0-o|0)|0)<(j|0)):0)?(o=g-f|0,(((o|0)>-1?o:0-o|0)|0)<(j|0)):0){b[h>>1]=(c+2+(d<<1)+g|0)>>>2;b[a>>1]=(d+2+f+(g<<1)|0)>>>2}i=i+1|0;a=a+2|0}return}function ZJ(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<2;j=f<<2;i=0;while(1){if((i|0)==8)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function _J(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<2;j=f<<2;i=0;while(1){if((i|0)==16)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function $J(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<2;j=f<<2;i=0;while(1){if((i|0)==4)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function aK(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<2;j=f<<2;i=0;while(1){if((i|0)==8)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function bK(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c[d>>2]=(c[d>>2]|0)+32;g=0;while(1){if((g|0)==4)break;o=d+(g<<2)|0;n=c[o>>2]|0;k=d+(g+8<<2)|0;m=c[k>>2]|0;j=m+n|0;m=n-m|0;n=d+(g+4<<2)|0;h=c[n>>2]|0;i=d+(g+12<<2)|0;p=c[i>>2]|0;l=(h>>1)-p|0;h=(p>>1)+h|0;c[o>>2]=h+j;c[n>>2]=l+m;c[k>>2]=m-l;c[i>>2]=j-h;g=g+1|0}f=f>>1;h=f<<1;i=f*3|0;g=0;while(1){if((g|0)==4)break;p=g<<2;o=c[d+(p<<2)>>2]|0;l=c[d+((p|2)<<2)>>2]|0;n=l+o|0;l=o-l|0;o=c[d+((p|1)<<2)>>2]|0;p=c[d+((p|3)<<2)>>2]|0;m=(o>>1)-p|0;o=(p>>1)+o|0;p=a+(g<<1)|0;k=(o+n>>6)+(e[p>>1]|0)|0;b[p>>1]=k>>>0<4096?k:0-k>>31&4095;p=a+(g+f<<1)|0;k=(m+l>>6)+(e[p>>1]|0)|0;b[p>>1]=k>>>0<4096?k:0-k>>31&4095;p=a+(g+h<<1)|0;m=(l-m>>6)+(e[p>>1]|0)|0;b[p>>1]=m>>>0<4096?m:0-m>>31&4095;p=a+(g+i<<1)|0;o=(n-o>>6)+(e[p>>1]|0)|0;b[p>>1]=o>>>0<4096?o:0-o>>31&4095;g=g+1|0}g=d+64|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(g|0));return}function cK(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;c[d>>2]=(c[d>>2]|0)+32;g=0;while(1){if((g|0)==8)break;w=d+(g<<2)|0;o=c[w>>2]|0;m=d+(g+32<<2)|0;l=c[m>>2]|0;j=l+o|0;l=o-l|0;o=d+(g+16<<2)|0;k=c[o>>2]|0;p=d+(g+48<<2)|0;v=c[p>>2]|0;n=(k>>1)-v|0;k=(v>>1)+k|0;v=k+j|0;r=n+l|0;n=l-n|0;k=j-k|0;j=d+(g+24<<2)|0;l=c[j>>2]|0;i=d+(g+40<<2)|0;h=c[i>>2]|0;t=d+(g+56<<2)|0;q=c[t>>2]|0;u=h-l-q-(q>>1)|0;s=d+(g+8<<2)|0;x=c[s>>2]|0;y=q-((l>>1)+l)+x|0;q=q+h+(h>>1)-x|0;x=h+l+x+(x>>1)|0;l=(x>>2)+u|0;h=(q>>2)+y|0;q=(y>>2)-q|0;u=x-(u>>2)|0;c[w>>2]=u+v;c[t>>2]=v-u;c[s>>2]=q+r;c[p>>2]=r-q;c[o>>2]=h+n;c[i>>2]=n-h;c[j>>2]=l+k;c[m>>2]=k-l;g=g+1|0}i=f>>1;j=i<<1;k=i*3|0;l=i<<2;m=i*5|0;f=i*6|0;h=i*7|0;g=0;while(1){if((g|0)==8)break;y=g<<3;q=c[d+(y<<2)>>2]|0;t=c[d+((y|4)<<2)>>2]|0;r=t+q|0;t=q-t|0;q=c[d+((y|2)<<2)>>2]|0;w=c[d+((y|6)<<2)>>2]|0;s=(q>>1)-w|0;q=(w>>1)+q|0;w=q+r|0;u=s+t|0;s=t-s|0;q=r-q|0;r=c[d+((y|3)<<2)>>2]|0;t=c[d+((y|5)<<2)>>2]|0;v=c[d+((y|7)<<2)>>2]|0;x=t-r-v-(v>>1)|0;y=c[d+((y|1)<<2)>>2]|0;p=v-((r>>1)+r)+y|0;v=v+t+(t>>1)-y|0;y=t+r+y+(y>>1)|0;r=(y>>2)+x|0;t=(v>>2)+p|0;v=(p>>2)-v|0;x=y-(x>>2)|0;y=a+(g<<1)|0;p=(x+w>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<4096?p:0-p>>31&4095;y=a+(g+i<<1)|0;p=(v+u>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<4096?p:0-p>>31&4095;y=a+(g+j<<1)|0;p=(t+s>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<4096?p:0-p>>31&4095;y=a+(g+k<<1)|0;p=(r+q>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<4096?p:0-p>>31&4095;y=a+(g+l<<1)|0;r=(q-r>>6)+(e[y>>1]|0)|0;b[y>>1]=r>>>0<4096?r:0-r>>31&4095;y=a+(g+m<<1)|0;t=(s-t>>6)+(e[y>>1]|0)|0;b[y>>1]=t>>>0<4096?t:0-t>>31&4095;y=a+(g+f<<1)|0;v=(u-v>>6)+(e[y>>1]|0)|0;b[y>>1]=v>>>0<4096?v:0-v>>31&4095;y=a+(g+h<<1)|0;x=(w-x>>6)+(e[y>>1]|0)|0;b[y>>1]=x>>>0<4096?x:0-x>>31&4095;g=g+1|0}ZW(d|0,0,256)|0;return}function dK(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;h=(c[d>>2]|0)+32>>6;g=f>>>1;c[d>>2]=0;d=0;while(1){if((d|0)==4)break;else f=0;while(1){if((f|0)==4)break;i=a+(f<<1)|0;j=h+(e[i>>1]|0)|0;b[i>>1]=j>>>0<4096?j:0-j>>31&4095;f=f+1|0}a=a+(g<<1)|0;d=d+1|0}return}function eK(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;h=(c[d>>2]|0)+32>>6;c[d>>2]=0;g=f>>>1;f=a;a=0;while(1){if((a|0)==8)break;else d=0;while(1){if((d|0)==8)break;i=f+(d<<1)|0;j=h+(e[i>>1]|0)|0;b[i>>1]=j>>>0<4096?j:0-j>>31&4095;d=d+1|0}f=f+(g<<1)|0;a=a+1|0}return}function fK(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=0;while(1){if((i|0)==16)break;switch(a[h+(d[150833+i>>0]|0)>>0]|0){case 0:break;case 1:{if(!(c[f+(i<<4<<2)>>2]|0))j=6;else dK(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);break}default:j=6}if((j|0)==6){j=0;bK(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}i=i+1|0}return}function gK(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=0;while(1){if((i|0)>=16)break;switch(a[h+(d[150833+i>>0]|0)>>0]|0){case 0:break;case 1:{if(!(c[f+(i<<4<<2)>>2]|0))j=6;else eK(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);break}default:j=6}if((j|0)==6){j=0;cK(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}i=i+4|0}return}function hK(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;i=1;while(1){if((i|0)==3)break;j=i<<4;k=j|4;l=b+(i+-1<<2)|0;while(1){if((j|0)>=(k|0))break;if(!(a[h+(d[150833+j>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)dK((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else bK((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}return}function iK(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=1;while(1){if((i|0)==3){i=1;break}j=i<<4;k=j|4;l=b+(i+-1<<2)|0;while(1){if((j|0)>=(k|0))break;if(!(a[h+(d[150833+j>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)dK((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else bK((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}while(1){if((i|0)==3)break;j=i<<4;k=j|8;l=b+(i+-1<<2)|0;j=j|4;while(1){if((j|0)>=(k|0))break;m=j+4|0;if(!(a[h+(d[150833+m>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)dK((c[l>>2]|0)+(c[e+(m<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else bK((c[l>>2]|0)+(c[e+(m<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}return}function jK(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;i=0;while(1){if((i|0)==16)break;if(!(a[h+(d[150833+i>>0]|0)>>0]|0)){if(c[f+(i<<4<<2)>>2]|0)dK(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}else bK(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);i=i+1|0}return}function kK(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=$c;$c=$c+64|0;if(($c|0)>=(ad|0))N(64);g=h;f=0;while(1){if((f|0)==4)break;p=f<<2;l=c[b+(p<<2)>>2]|0;m=p|1;j=c[b+(m<<2)>>2]|0;o=j+l|0;j=l-j|0;l=p|2;n=c[b+(l<<2)>>2]|0;i=p|3;q=c[b+(i<<2)>>2]|0;k=n-q|0;n=q+n|0;c[g+(p<<2)>>2]=n+o;c[g+(m<<2)>>2]=o-n;c[g+(l<<2)>>2]=j-k;c[g+(i<<2)>>2]=k+j;f=f+1|0}f=0;while(1){if((f|0)==4)break;q=d[150829+f>>0]|0;p=c[g+(f<<2)>>2]|0;m=c[g+(f+8<<2)>>2]|0;o=m+p|0;m=p-m|0;p=c[g+(f+4<<2)>>2]|0;l=c[g+(f+12<<2)>>2]|0;n=p-l|0;p=l+p|0;c[a+(q<<2)>>2]=(H(p+o|0,e)|0)+128>>8;c[a+(q+16<<2)>>2]=(H(n+m|0,e)|0)+128>>8;c[a+(q+64<<2)>>2]=(H(m-n|0,e)|0)+128>>8;c[a+(q+80<<2)>>2]=(H(o-p|0,e)|0)+128>>8;f=f+1|0}$c=h;return}function lK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=c[a>>2]|0;j=a+64|0;e=c[j>>2]|0;g=a+128|0;h=c[g>>2]|0;d=a+192|0;k=c[d>>2]|0;f=i-e|0;i=e+i|0;e=h-k|0;h=k+h|0;c[a>>2]=(H(h+i|0,b)|0)>>7;c[j>>2]=(H(e+f|0,b)|0)>>7;c[g>>2]=(H(i-h|0,b)|0)>>7;c[d>>2]=(H(f-e|0,b)|0)>>7;return}function mK(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);f=g;e=0;while(1){if((e|0)==4){e=0;break}i=e<<5;j=c[a+(i<<2)>>2]|0;i=c[a+((i|16)<<2)>>2]|0;h=e<<1;c[f+(h<<2)>>2]=i+j;c[f+((h|1)<<2)>>2]=j-i;e=e+1|0}while(1){if((e|0)==2)break;j=d[150827+e>>0]|0;i=c[f+(e<<2)>>2]|0;l=c[f+(e+4<<2)>>2]|0;h=l+i|0;l=i-l|0;i=c[f+(e+2<<2)>>2]|0;m=c[f+(e+6<<2)>>2]|0;k=i-m|0;i=m+i|0;c[a+(j<<2)>>2]=(H(i+h|0,b)|0)+128>>8;c[a+(j+32<<2)>>2]=(H(k+l|0,b)|0)+128>>8;c[a+(j+64<<2)>>2]=(H(l-k|0,b)|0)+128>>8;c[a+(j+96<<2)>>2]=(H(h-i|0,b)|0)+128>>8;e=e+1|0}$c=g;return}function nK(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<4096?a:0-a>>31&4095;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+8|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+10|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+12|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+14|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+16|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+18|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+20|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+22|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+24|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+26|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+28|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+30|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;c=c+(j<<1)|0;h=h+1|0}return}function oK(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<4096?a:0-a>>31&4095;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+8|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+10|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+12|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+14|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;c=c+(j<<1)|0;h=h+1|0}return}function pK(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<4096?a:0-a>>31&4095;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;c=c+(j<<1)|0;h=h+1|0}return}function qK(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<4096?a:0-a>>31&4095;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;c=c+(j<<1)|0;h=h+1|0}return}function rK(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<4|1)<=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<4096?m:0-m>>31&4095;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=H(e[c+8>>1]|0,i)|0;m=d+8|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=H(e[c+10>>1]|0,i)|0;a=d+10|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=H(e[c+12>>1]|0,i)|0;m=d+12|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=H(e[c+14>>1]|0,i)|0;a=d+14|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=H(e[c+16>>1]|0,i)|0;m=d+16|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=H(e[c+18>>1]|0,i)|0;a=d+18|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=H(e[c+20>>1]|0,i)|0;m=d+20|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=H(e[c+22>>1]|0,i)|0;a=d+22|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=H(e[c+24>>1]|0,i)|0;m=d+24|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=H(e[c+26>>1]|0,i)|0;a=d+26|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=H(e[c+28>>1]|0,i)|0;m=d+28|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=H(e[c+30>>1]|0,i)|0;a=d+30|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function sK(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<4|1)<=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<4096?m:0-m>>31&4095;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=H(e[c+8>>1]|0,i)|0;m=d+8|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=H(e[c+10>>1]|0,i)|0;a=d+10|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=H(e[c+12>>1]|0,i)|0;m=d+12|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=H(e[c+14>>1]|0,i)|0;a=d+14|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function tK(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<4|1)<=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<4096?m:0-m>>31&4095;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function uK(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<4|1)<=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<4096?m:0-m>>31&4095;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function vK(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=d>>1;B=f<<4;y=g<<4;z=0-C|0;A=H(C,-2)|0;w=H(C,-3)|0;x=C<<1;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<4;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==4)break a;p=l+(z<<1)|0;q=e[p>>1]|0;d=l+(A<<1)|0;r=e[d>>1]|0;f=e[l+(w<<1)>>1]|0;s=e[l>>1]|0;i=l+(C<<1)|0;t=e[i>>1]|0;j=e[l+(x<<1)>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(B|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(y|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(y|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(y|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(y|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<4096?r:0-r>>31&4095;t=s-t|0;b[l>>1]=t>>>0<4096?t:0-t>>31&4095}k=k+1|0;l=l+2|0}}while(0);c=c+8|0;u=u+1|0}return}function wK(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=d>>1;y=f<<4;w=g<<4;x=z<<2;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<4;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==4)break a;p=l+-2|0;q=e[p>>1]|0;d=l+-4|0;r=e[d>>1]|0;f=e[l+-6>>1]|0;s=e[l>>1]|0;i=l+2|0;t=e[i>>1]|0;j=e[l+4>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(y|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(w|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(w|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<4096?r:0-r>>31&4095;t=s-t|0;b[l>>1]=t>>>0<4096?t:0-t>>31&4095}k=k+1|0;l=l+(z<<1)|0}}while(0);c=c+(x<<1)|0;u=u+1|0}return}function xK(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=d>>1;y=f<<4;w=g<<4;x=z<<1;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<4;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==2)break a;p=l+-2|0;q=e[p>>1]|0;d=l+-4|0;r=e[d>>1]|0;f=e[l+-6>>1]|0;s=e[l>>1]|0;i=l+2|0;t=e[i>>1]|0;j=e[l+4>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(y|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(w|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(w|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<4096?r:0-r>>31&4095;t=s-t|0;b[l>>1]=t>>>0<4096?t:0-t>>31&4095}k=k+1|0;l=l+(z<<1)|0}}while(0);c=c+(x<<1)|0;u=u+1|0}return}function yK(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=c>>1;z=d<<4;v=f<<4;w=H(A,-3)|0;x=H(A,-2)|0;y=0-A|0;r=A<<1;s=z>>2|2;t=H(A,-4)|0;u=A*3|0;j=0;while(1){if((j|0)==16)break;c=a+(w<<1)|0;i=e[c>>1]|0;d=a+(x<<1)|0;k=e[d>>1]|0;f=a+(y<<1)|0;l=e[f>>1]|0;m=e[a>>1]|0;n=a+(A<<1)|0;o=e[n>>1]|0;p=a+(r<<1)|0;q=e[p>>1]|0;g=l-m|0;g=(g|0)>-1?g:0-g|0;do if(((g|0)<(z|0)?(h=k-l|0,(((h|0)>-1?h:0-h|0)|0)<(v|0)):0)?(h=o-m|0,(((h|0)>-1?h:0-h|0)|0)<(v|0)):0){if((g|0)>=(s|0)){b[f>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}h=i-l|0;if((((h|0)>-1?h:0-h|0)|0)<(v|0)){B=e[a+(t<<1)>>1]|0;b[f>>1]=(i+4+o+(l+k+m<<1)|0)>>>3;b[d>>1]=(i+2+k+l+m|0)>>>2;f=c;d=3;g=4;h=m;c=(i*3|0)+k+(B<<1)|0}else{d=2;g=2;h=o;c=k<<1}b[f>>1]=(c+l+h+g|0)>>>d;B=q-m|0;if((((B|0)>-1?B:0-B|0)|0)<(v|0)){B=e[a+(u<<1)>>1]|0;b[a>>1]=(k+4+q+(m+l+o<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(l+4+m+o+(q*3|0)+(B<<1)|0)>>>3;break}else{b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}}while(0);a=a+2|0;j=j+1|0}return}function zK(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=c>>1;t=d<<4;r=f<<4;s=t>>2|2;j=0;while(1){if((j|0)==16)break;g=a+-6|0;i=e[g>>1]|0;c=a+-4|0;k=e[c>>1]|0;d=a+-2|0;l=e[d>>1]|0;m=e[a>>1]|0;n=a+2|0;o=e[n>>1]|0;p=a+4|0;q=e[p>>1]|0;f=l-m|0;f=(f|0)>-1?f:0-f|0;do if(((f|0)<(t|0)?(h=k-l|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0)?(h=o-m|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0){if((f|0)>=(s|0)){b[d>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}h=i-l|0;if((((h|0)>-1?h:0-h|0)|0)<(r|0)){v=e[a+-8>>1]|0;b[d>>1]=(i+4+o+(l+k+m<<1)|0)>>>3;b[c>>1]=(i+2+k+l+m|0)>>>2;d=g;f=3;g=4;h=m;c=(i*3|0)+k+(v<<1)|0}else{f=2;g=2;h=o;c=k<<1}b[d>>1]=(c+l+h+g|0)>>>f;v=q-m|0;if((((v|0)>-1?v:0-v|0)|0)<(r|0)){v=e[a+6>>1]|0;b[a>>1]=(k+4+q+(m+l+o<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(l+4+m+o+(q*3|0)+(v<<1)|0)>>>3;break}else{b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}}while(0);a=a+(u<<1)|0;j=j+1|0}return}function AK(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=c>>1;t=d<<4;r=f<<4;s=t>>2|2;j=0;while(1){if((j|0)==8)break;g=a+-6|0;i=e[g>>1]|0;c=a+-4|0;k=e[c>>1]|0;d=a+-2|0;l=e[d>>1]|0;m=e[a>>1]|0;n=a+2|0;o=e[n>>1]|0;p=a+4|0;q=e[p>>1]|0;f=l-m|0;f=(f|0)>-1?f:0-f|0;do if(((f|0)<(t|0)?(h=k-l|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0)?(h=o-m|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0){if((f|0)>=(s|0)){b[d>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}h=i-l|0;if((((h|0)>-1?h:0-h|0)|0)<(r|0)){v=e[a+-8>>1]|0;b[d>>1]=(i+4+o+(l+k+m<<1)|0)>>>3;b[c>>1]=(i+2+k+l+m|0)>>>2;d=g;f=3;g=4;h=m;c=(i*3|0)+k+(v<<1)|0}else{f=2;g=2;h=o;c=k<<1}b[d>>1]=(c+l+h+g|0)>>>f;v=q-m|0;if((((v|0)>-1?v:0-v|0)|0)<(r|0)){v=e[a+6>>1]|0;b[a>>1]=(k+4+q+(m+l+o<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(l+4+m+o+(q*3|0)+(v<<1)|0)>>>3;break}else{b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}}while(0);a=a+(u<<1)|0;j=j+1|0}return}function BK(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=f<<4;s=g<<4;p=d>>1;q=0-p|0;r=H(p,-2)|0;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<4;o=f+-15|0;a:do if(m<<24>>24>=1){d=15-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+(q<<1)|0;j=e[i>>1]|0;k=e[g+(r<<1)>>1]|0;l=e[g>>1]|0;m=e[g+(p<<1)>>1]|0;u=j-l|0;if(((((u|0)>-1?u:0-u|0)|0)<(t|0)?(u=k-j|0,(((u|0)>-1?u:0-u|0)|0)<(s|0)):0)?(u=m-l|0,(((u|0)>-1?u:0-u|0)|0)<(s|0)):0){u=k+4-m+(l-j<<2)>>3;u=(u|0)<(d|0)?d:(u|0)>(o|0)?o:u;m=u+j|0;b[i>>1]=m>>>0<4096?m:0-m>>31&4095;u=l-u|0;b[g>>1]=u>>>0<4096?u:0-u>>31&4095}f=f+1|0;g=g+2|0}}while(0);c=c+4|0;n=n+1|0}return}function CK(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<4;r=g<<4;p=d>>1;q=p<<1;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<4;o=f+-15|0;a:do if(m<<24>>24>=1){d=15-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<4096?m:0-m>>31&4095;t=l-t|0;b[g>>1]=t>>>0<4096?t:0-t>>31&4095}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function DK(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<4;r=g<<4;p=d>>1;q=p<<2;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<4;o=f+-15|0;a:do if(m<<24>>24>=1){d=15-f|0;f=0;g=c;while(1){if((f|0)==4)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<4096?m:0-m>>31&4095;t=l-t|0;b[g>>1]=t>>>0<4096?t:0-t>>31&4095}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function EK(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=f<<4;q=g<<4;p=d>>1;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<4;o=f+-15|0;a:do if(m<<24>>24>=1){d=15-f|0;f=0;g=c;while(1){if((f|0)==1)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;s=j-l|0;if(((((s|0)>-1?s:0-s|0)|0)<(r|0)?(s=k-j|0,(((s|0)>-1?s:0-s|0)|0)<(q|0)):0)?(s=m-l|0,(((s|0)>-1?s:0-s|0)|0)<(q|0)):0){s=k+4-m+(l-j<<2)>>3;s=(s|0)<(d|0)?d:(s|0)>(o|0)?o:s;m=s+j|0;b[i>>1]=m>>>0<4096?m:0-m>>31&4095;s=l-s|0;b[g>>1]=s>>>0<4096?s:0-s>>31&4095}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(p<<1)|0;n=n+1|0}return} -function CS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;s=c[a>>2]|0;aa=c[a+124>>2]|0;Q=aa+s|0;aa=(s+2048-aa>>12)*4091|0;s=c[a+60>>2]|0;p=c[a+64>>2]|0;I=p+s|0;p=(s+2048-p>>12)*201|0;s=p+aa|0;p=(aa+2048-p>>12)*4076|0;aa=I+Q|0;I=(Q+2048-I>>12)*4076|0;Q=c[a+28>>2]|0;X=c[a+96>>2]|0;q=X+Q|0;X=(Q+2048-X>>12)*3035|0;Q=c[a+32>>2]|0;A=c[a+92>>2]|0;N=A+Q|0;A=(Q+2048-A>>12)*2751|0;Q=A+X|0;A=(X+2048-A>>12)*401|0;X=N+q|0;N=(q+2048-N>>12)*401|0;q=c[a+12>>2]|0;ba=c[a+112>>2]|0;m=ba+q|0;ba=(q+2048-ba>>12)*3857|0;q=c[a+48>>2]|0;n=c[a+76>>2]|0;G=n+q|0;n=(q+2048-n>>12)*1380|0;q=n+ba|0;n=(ba+2048-n>>12)*3166|0;ba=G+m|0;G=(m+2048-G>>12)*3166|0;m=c[a+16>>2]|0;T=c[a+108>>2]|0;r=T+m|0;T=(m+2048-T>>12)*3703|0;m=c[a+44>>2]|0;i=c[a+80>>2]|0;F=i+m|0;i=(m+2048-i>>12)*1751|0;m=i+T|0;i=(T+2048-i>>12)*2598|0;T=F+r|0;F=(r+2048-F>>12)*2598|0;r=c[a+4>>2]|0;$=c[a+120>>2]|0;k=$+r|0;$=(r+2048-$>>12)*4052|0;r=c[a+56>>2]|0;o=c[a+68>>2]|0;H=o+r|0;o=(r+2048-o>>12)*601|0;r=o+$|0;o=($+2048-o>>12)*3920|0;$=H+k|0;H=(k+2048-H>>12)*3920|0;k=c[a+24>>2]|0;R=c[a+100>>2]|0;Z=R+k|0;R=(k+2048-R>>12)*3290|0;k=c[a+36>>2]|0;g=c[a+88>>2]|0;D=g+k|0;g=(k+2048-g>>12)*2440|0;k=g+R|0;g=(R+2048-g>>12)*1189|0;R=D+Z|0;D=(Z+2048-D>>12)*1189|0;Z=c[a+8>>2]|0;_=c[a+116>>2]|0;l=_+Z|0;_=(Z+2048-_>>12)*3973|0;Z=c[a+52>>2]|0;x=c[a+72>>2]|0;Y=x+Z|0;x=(Z+2048-x>>12)*995|0;Z=x+_|0;x=(_+2048-x>>12)*3612|0;_=Y+l|0;Y=(l+2048-Y>>12)*3612|0;l=c[a+20>>2]|0;S=c[a+104>>2]|0;ca=S+l|0;S=(l+2048-S>>12)*3513|0;l=c[a+40>>2]|0;h=c[a+84>>2]|0;E=h+l|0;h=(l+2048-h>>12)*2106|0;l=h+S|0;h=(S+2048-h>>12)*1931|0;S=E+ca|0;E=(ca+2048-E>>12)*1931|0;ca=X+aa|0;X=(aa+2048-X>>12)*4017|0;aa=T+ba|0;T=(ba+2048-T>>12)*799|0;ba=R+$|0;R=($+2048-R>>12)*3406|0;$=S+_|0;S=(_+2048-S>>12)*2276|0;_=Q+s|0;Q=(s+2048-Q>>12)*4017|0;s=m+q|0;m=(q+2048-m>>12)*799|0;q=k+r|0;k=(r+2048-k>>12)*3406|0;r=l+Z|0;l=(Z+2048-l>>12)*2276|0;Z=N+I|0;N=(I+2048-N>>12)*4017|0;I=F+G|0;F=(G+2048-F>>12)*799|0;G=D+H|0;D=(H+2048-D>>12)*3406|0;H=E+Y|0;E=(Y+2048-E>>12)*2276|0;Y=A+p|0;A=(p+2048-A>>12)*4017|0;p=i+n|0;i=(n+2048-i>>12)*799|0;n=g+o|0;g=(o+2048-g>>12)*3406|0;o=h+x|0;h=(x+2048-h>>12)*2276|0;x=$+ba|0;w=aa+ca+2048|0;c[e+480+(b<<2)>>2]=w+x>>12;c[d+(b<<2)>>2]=((w-x>>12)*2896|0)+2048>>12;x=s+_|0;w=r+q|0;a=w+x|0;c[e+448+(b<<2)>>2]=a+2048>>12;M=I+Z|0;L=H+G|0;B=L+M|0;c[e+416+(b<<2)>>2]=B+2048>>12;z=p+Y|0;t=o+n|0;y=t+z|0;a=(y<<1)-a|0;c[e+384+(b<<2)>>2]=a+2048>>12;W=T+X|0;V=S+R|0;U=V+W|0;c[e+352+(b<<2)>>2]=U+2048>>12;P=m+Q|0;O=l+k|0;j=O+P|0;a=(j<<1)-a|0;c[e+320+(b<<2)>>2]=a+2048>>12;K=F+N|0;J=E+D|0;C=J+K|0;B=(C<<1)-B|0;c[e+288+(b<<2)>>2]=B+2048>>12;v=i+A|0;u=h+g|0;f=u+v|0;y=(f<<1)-y|0;a=(y<<1)-a|0;c[e+256+(b<<2)>>2]=a+2048>>12;aa=(ca+2048-aa>>12)*3784|0;$=(ba+2048-$>>12)*1567|0;ba=$+aa|0;c[e+224+(b<<2)>>2]=ba+2048>>12;c[d+256+(b<<2)>>2]=2048-ba+((aa+2048-$>>12)*5792|0)>>12;s=(_+2048-s>>12)*3784|0;r=(q+2048-r>>12)*1567|0;q=r+s|0;a=(q<<1)-a|0;c[e+192+(b<<2)>>2]=a+2048>>12;I=(Z+2048-I>>12)*3784|0;H=(G+2048-H>>12)*1567|0;G=H+I|0;B=(G<<1)-B|0;c[e+160+(b<<2)>>2]=B+2048>>12;p=(Y+2048-p>>12)*3784|0;o=(n+2048-o>>12)*1567|0;n=o+p|0;y=(n<<1)-y|0;a=(y<<1)-a|0;c[e+128+(b<<2)>>2]=a+2048>>12;T=(X+2048-T>>12)*3784|0;S=(R+2048-S>>12)*1567|0;R=S+T|0;U=(R<<1)-U|0;c[e+96+(b<<2)>>2]=U+2048>>12;U=((W+2048-V>>12)*5792|0)-U|0;c[d+128+(b<<2)>>2]=U+2048>>12;c[d+384+(b<<2)>>2]=2048-U+(((T+2048-S>>12)*5792|0)-R<<1)>>12;m=(Q+2048-m>>12)*3784|0;l=(k+2048-l>>12)*1567|0;k=l+m|0;j=(k<<1)-j|0;a=(j<<1)-a|0;c[e+64+(b<<2)>>2]=a+2048>>12;j=((P+2048-O>>12)*5792|0)-j|0;F=(N+2048-F>>12)*3784|0;E=(D+2048-E>>12)*1567|0;D=E+F|0;C=(D<<1)-C|0;B=(C<<1)-B|0;c[e+32+(b<<2)>>2]=B+2048>>12;B=((M+2048-L>>12)*5792|0)-B|0;c[d+64+(b<<2)>>2]=B+2048>>12;C=((K+2048-J>>12)*5792|0)-C|0;B=(C<<1)-B|0;c[d+192+(b<<2)>>2]=B+2048>>12;B=(((I+2048-H>>12)*5792|0)-G<<1)-B|0;c[d+320+(b<<2)>>2]=B+2048>>12;c[d+448+(b<<2)>>2]=((((F+2048-E>>12)*5792|0)-D<<1)-C<<1)+2048-B>>12;i=(A+2048-i>>12)*3784|0;h=(g+2048-h>>12)*1567|0;g=h+i|0;f=(g<<1)-f|0;y=(f<<1)-y|0;t=((z+2048-t>>12)*5792|0)-y|0;a=(y<<1)-a|0;c[e+(b<<2)>>2]=a+2048>>12;a=((x+2048-w>>12)*5792|0)-a|0;c[d+32+(b<<2)>>2]=a+2048>>12;a=(t<<1)-a|0;c[d+96+(b<<2)>>2]=a+2048>>12;a=(j<<1)-a|0;c[d+160+(b<<2)>>2]=a+2048>>12;f=((v+2048-u>>12)*5792|0)-f|0;e=(f<<1)-t|0;a=(e<<1)-a|0;c[d+224+(b<<2)>>2]=a+2048>>12;a=(((s+2048-r>>12)*5792|0)-q<<1)-a|0;c[d+288+(b<<2)>>2]=a+2048>>12;e=(((p+2048-o>>12)*5792|0)-n<<1)-e|0;a=(e<<1)-a|0;c[d+352+(b<<2)>>2]=a+2048>>12;a=((((m+2048-l>>12)*5792|0)-k<<1)-j<<1)-a|0;c[d+416+(b<<2)>>2]=a+2048>>12;c[d+480+(b<<2)>>2]=(((((i+2048-h>>12)*5792|0)-g<<1)-f<<1)-e<<1)+2048-a>>12;return}function DS(f,g,h,i,j,k){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;c[j>>2]=0;l=(h|0)!=0;t=(g|0)==1;c[k>>2]=l?(t?1:2):t?5:3;c[i>>2]=tS(f,l?8:9)|0;c[i+4>>2]=tS(f,c[k>>2]|0)|0;if(!l)if(!g)t=2;else{h=0;do{a[i+8+h>>0]=tS(f,4)|0;h=h+1|0}while((h|0)!=(g|0));t=2}else t=1;q=(g|0)==0;s=l?9:4;r=l?2:3;p=l^1;o=0;h=0;do{if(!q){n=0;do{l=i+10+(o*116|0)+(n*58|0)|0;b[l>>1]=tS(f,12)|0;m=i+10+(o*116|0)+(n*58|0)+2|0;b[m>>1]=tS(f,9)|0;b[i+10+(o*116|0)+(n*58|0)+4>>1]=tS(f,8)|0;b[i+10+(o*116|0)+(n*58|0)+6>>1]=tS(f,s)|0;c[j>>2]=(c[j>>2]|0)+(e[l>>1]|0);h=(h|0)==0&(e[m>>1]|0)>288?562:h;m=i+10+(o*116|0)+(n*58|0)+8|0;a[m>>0]=0;if(!(tS(f,1)|0)){a[i+10+(o*116|0)+(n*58|0)+9>>0]=0;a[i+10+(o*116|0)+(n*58|0)+10>>0]=tS(f,5)|0;a[i+10+(o*116|0)+(n*58|0)+11>>0]=tS(f,5)|0;a[i+10+(o*116|0)+(n*58|0)+12>>0]=tS(f,5)|0;a[i+10+(o*116|0)+(n*58|0)+16>>0]=tS(f,4)|0;a[i+10+(o*116|0)+(n*58|0)+17>>0]=tS(f,3)|0}else{u=tS(f,2)|0;k=u&255;l=i+10+(o*116|0)+(n*58|0)+9|0;a[l>>0]=k;h=(u&255|h|0)==0?563:h;if(k<<24>>24==2&p)h=((h|0)==0?(a[i+8+n>>0]|0)!=0:0)?564:h;k=i+10+(o*116|0)+(n*58|0)+16|0;a[k>>0]=7;a[i+10+(o*116|0)+(n*58|0)+17>>0]=36;if(!(tS(f,1)|0)){if((a[l>>0]|0)==2)a[k>>0]=8}else a[m>>0]=a[m>>0]|8;a[i+10+(o*116|0)+(n*58|0)+10>>0]=tS(f,5)|0;a[i+10+(o*116|0)+(n*58|0)+11>>0]=tS(f,5)|0;a[i+10+(o*116|0)+(n*58|0)+12>>0]=4;a[i+10+(o*116|0)+(n*58|0)+13>>0]=tS(f,3)|0;a[i+10+(o*116|0)+(n*58|0)+14>>0]=tS(f,3)|0;a[i+10+(o*116|0)+(n*58|0)+15>>0]=tS(f,3)|0}u=tS(f,r)|0;a[m>>0]=u|d[m>>0];n=n+1|0}while((n|0)!=(g|0))}o=o+1|0}while(o>>>0>>0);return h|0}function ES(f,h,i,j){f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0;Bb=$c;$c=$c+7296|0;if(($c|0)>=(ad|0))N(7296);yb=Bb+2448|0;xb=Bb+2432|0;wb=Bb+2416|0;ub=Bb+2400|0;tb=Bb+2384|0;sb=Bb+2368|0;zb=Bb+2352|0;vb=Bb+2336|0;rb=Bb+2320|0;qb=Bb+16|0;pb=Bb;ib=Bb+7224|0;ob=Bb+7216|0;Ab=Bb+2608|0;mb=Bb+2464|0;kb=h+28|0;gb=c[kb>>2]|0;lb=(gb&16384|0)==0;k=c[h+20>>2]<<((lb^1)&1);k=(k>>>15&1)+(lb?-8:-5)+(k>>>7&15)|0;gb=2-(gb>>>12&1)|0;if(!gb){Ab=0;$c=Bb;return Ab|0}jb=(j|0)==0;hb=80380+(k*12|0)|0;lb=80380+(k*12|0)+8|0;eb=80380+(k*12|0)+4|0;Ga=i+184|0;cb=h+8|0;Ha=qb+4|0;Sa=qb+8|0;Va=qb+12|0;Wa=qb+16|0;Xa=qb+20|0;Ya=qb+24|0;Za=qb+28|0;_a=qb+32|0;$a=qb+36|0;Ia=qb+40|0;Ja=qb+44|0;Ka=qb+48|0;La=qb+52|0;Ma=qb+56|0;Na=qb+60|0;Oa=qb+64|0;Pa=qb+68|0;Qa=qb+72|0;Ra=qb+76|0;Ta=qb+80|0;Ua=qb+84|0;R=c[28451]|0;bb=h+4|0;T=ib+4|0;U=ib+8|0;db=h+9264|0;V=qb+2|0;ea=qb+4|0;pa=qb+6|0;Aa=qb+8|0;Ba=qb+10|0;Ca=qb+12|0;Da=qb+14|0;Ea=qb+16|0;Fa=qb+18|0;W=qb+20|0;X=qb+22|0;Y=qb+24|0;Z=qb+26|0;_=qb+28|0;$=qb+30|0;aa=qb+32|0;ba=qb+34|0;ca=qb+36|0;da=qb+38|0;fa=qb+40|0;ga=qb+42|0;ha=qb+44|0;ia=qb+46|0;ja=qb+48|0;ka=qb+50|0;la=qb+52|0;ma=qb+54|0;na=qb+56|0;oa=qb+58|0;qa=qb+60|0;ra=qb+62|0;sa=qb+64|0;ua=qb+66|0;va=qb+68|0;wa=qb+70|0;xa=qb+72|0;ya=qb+74|0;za=qb+76|0;S=Ab+2304|0;ab=0;a:while(1){P=i+10+(ab*116|0)|0;if(!jb){K=c[hb>>2]|0;O=(ab|0)==0;L=0;do{w=i+10+(ab*116|0)+(L*58|0)|0;k=ob+(L<<2)|0;c[k>>2]=K;x=i+10+(ab*116|0)+(L*58|0)+9|0;n=(a[x>>0]|0)==2;if(n){J=c[((a[i+10+(ab*116|0)+(L*58|0)+8>>0]&8)==0?eb:lb)>>2]|0;c[k>>2]=J;k=J}else k=K;if(!(c[kb>>2]&4096)){if(O)m=0;else m=d[i+8+L>>0]|0;J=f;o=c[J+4>>2]|0;p=qb;c[p>>2]=c[J>>2];c[p+4>>2]=o;p=e[i+10+(ab*116|0)+(L*58|0)+6>>1]|0;o=d[178397+(p<<1)>>0]|0;p=d[178397+(p<<1)+1>>0]|0;if(n){l=18-((d[i+10+(ab*116|0)+(L*58|0)+8>>0]|0)>>>3&1)|0;m=l;n=0;while(1){m=m+-1|0;a[i+10+(ab*116|0)+(L*58|0)+18+n>>0]=tS(f,o)|0;if(!m)break;else n=n+1|0}a[i+10+(ab*116|0)+(L*58|0)+18+l>>0]=tS(f,p)|0;a[l+1+(i+10+(ab*116|0)+(L*58|0)+18)>>0]=tS(f,p)|0;a[l+2+(i+10+(ab*116|0)+(L*58|0)+18)>>0]=tS(f,p)|0;I=l|4;a[l+3+(i+10+(ab*116|0)+(L*58|0)+18)>>0]=tS(f,p)|0;a[i+10+(ab*116|0)+(L*58|0)+18+I>>0]=tS(f,p)|0;a[I+1+(i+10+(ab*116|0)+(L*58|0)+18)>>0]=tS(f,p)|0;a[I+2+(i+10+(ab*116|0)+(L*58|0)+18)>>0]=tS(f,p)|0;a[I+3+(i+10+(ab*116|0)+(L*58|0)+18)>>0]=tS(f,p)|0;a[I+4+(i+10+(ab*116|0)+(L*58|0)+18)>>0]=tS(f,p)|0;a[I+5+(i+10+(ab*116|0)+(L*58|0)+18)>>0]=tS(f,p)|0;a[I+6+(i+10+(ab*116|0)+(L*58|0)+18)>>0]=tS(f,p)|0;J=l|12;a[I+7+(i+10+(ab*116|0)+(L*58|0)+18)>>0]=tS(f,p)|0;a[i+10+(ab*116|0)+(L*58|0)+18+J>>0]=tS(f,p)|0;a[J+1+(i+10+(ab*116|0)+(L*58|0)+18)>>0]=tS(f,p)|0;a[J+2+(i+10+(ab*116|0)+(L*58|0)+18)>>0]=tS(f,p)|0;a[J+3+(i+10+(ab*116|0)+(L*58|0)+18)>>0]=tS(f,p)|0;a[J+4+(i+10+(ab*116|0)+(L*58|0)+18)>>0]=tS(f,p)|0;a[J+5+(i+10+(ab*116|0)+(L*58|0)+18)>>0]=tS(f,p)|0;J=w+(l|36)|0;a[J>>0]=0;a[J+1>>0]=0;a[J+2>>0]=0}else{if(!(m&8)){a[i+10+(ab*116|0)+(L*58|0)+18>>0]=tS(f,o)|0;a[i+10+(ab*116|0)+(L*58|0)+19>>0]=tS(f,o)|0;a[i+10+(ab*116|0)+(L*58|0)+20>>0]=tS(f,o)|0;a[i+10+(ab*116|0)+(L*58|0)+21>>0]=tS(f,o)|0;a[i+10+(ab*116|0)+(L*58|0)+22>>0]=tS(f,o)|0;l=(tS(f,o)|0)&255}else{a[i+10+(ab*116|0)+(L*58|0)+18>>0]=a[i+10+(L*58|0)+18>>0]|0;a[i+10+(ab*116|0)+(L*58|0)+19>>0]=a[i+10+(L*58|0)+19>>0]|0;a[i+10+(ab*116|0)+(L*58|0)+20>>0]=a[i+10+(L*58|0)+20>>0]|0;a[i+10+(ab*116|0)+(L*58|0)+21>>0]=a[i+10+(L*58|0)+21>>0]|0;a[i+10+(ab*116|0)+(L*58|0)+22>>0]=a[i+10+(L*58|0)+22>>0]|0;l=a[i+10+(L*58|0)+23>>0]|0}a[i+10+(ab*116|0)+(L*58|0)+23>>0]=l;if(!(m&4)){a[i+10+(ab*116|0)+(L*58|0)+24>>0]=tS(f,o)|0;a[i+10+(ab*116|0)+(L*58|0)+25>>0]=tS(f,o)|0;a[i+10+(ab*116|0)+(L*58|0)+26>>0]=tS(f,o)|0;a[i+10+(ab*116|0)+(L*58|0)+27>>0]=tS(f,o)|0;l=(tS(f,o)|0)&255}else{a[i+10+(ab*116|0)+(L*58|0)+24>>0]=a[i+10+(L*58|0)+24>>0]|0;a[i+10+(ab*116|0)+(L*58|0)+25>>0]=a[i+10+(L*58|0)+25>>0]|0;a[i+10+(ab*116|0)+(L*58|0)+26>>0]=a[i+10+(L*58|0)+26>>0]|0;a[i+10+(ab*116|0)+(L*58|0)+27>>0]=a[i+10+(L*58|0)+27>>0]|0;l=a[i+10+(L*58|0)+28>>0]|0}a[i+10+(ab*116|0)+(L*58|0)+28>>0]=l;if(!(m&2)){a[i+10+(ab*116|0)+(L*58|0)+29>>0]=tS(f,p)|0;a[i+10+(ab*116|0)+(L*58|0)+30>>0]=tS(f,p)|0;a[i+10+(ab*116|0)+(L*58|0)+31>>0]=tS(f,p)|0;a[i+10+(ab*116|0)+(L*58|0)+32>>0]=tS(f,p)|0;l=(tS(f,p)|0)&255}else{a[i+10+(ab*116|0)+(L*58|0)+29>>0]=a[i+10+(L*58|0)+29>>0]|0;a[i+10+(ab*116|0)+(L*58|0)+30>>0]=a[i+10+(L*58|0)+30>>0]|0;a[i+10+(ab*116|0)+(L*58|0)+31>>0]=a[i+10+(L*58|0)+31>>0]|0;a[i+10+(ab*116|0)+(L*58|0)+32>>0]=a[i+10+(L*58|0)+32>>0]|0;l=a[i+10+(L*58|0)+33>>0]|0}a[i+10+(ab*116|0)+(L*58|0)+33>>0]=l;if(!(m&1)){a[i+10+(ab*116|0)+(L*58|0)+34>>0]=tS(f,p)|0;a[i+10+(ab*116|0)+(L*58|0)+35>>0]=tS(f,p)|0;a[i+10+(ab*116|0)+(L*58|0)+36>>0]=tS(f,p)|0;a[i+10+(ab*116|0)+(L*58|0)+37>>0]=tS(f,p)|0;l=(tS(f,p)|0)&255}else{a[i+10+(ab*116|0)+(L*58|0)+34>>0]=a[i+10+(L*58|0)+34>>0]|0;a[i+10+(ab*116|0)+(L*58|0)+35>>0]=a[i+10+(L*58|0)+35>>0]|0;a[i+10+(ab*116|0)+(L*58|0)+36>>0]=a[i+10+(L*58|0)+36>>0]|0;a[i+10+(ab*116|0)+(L*58|0)+37>>0]=a[i+10+(L*58|0)+37>>0]|0;l=a[i+10+(L*58|0)+38>>0]|0}a[i+10+(ab*116|0)+(L*58|0)+38>>0]=l;a[i+10+(ab*116|0)+(L*58|0)+39>>0]=0}l=qS(qb,f)|0}else{t=(L|0)==0?0:Ga;l=c[cb>>2]|0;J=f;p=c[J+4>>2]|0;m=qb;c[m>>2]=c[J>>2];c[m+4>>2]=p;m=b[i+10+(ab*116|0)+(L*58|0)+6>>1]|0;p=m&65535;if(n)u=((d[i+10+(ab*116|0)+(L*58|0)+8>>0]|0)>>>3&1)+1&255;else u=0;if((t|0)!=0&(l&1|0)!=0){l=p>>>1;do if((m&65535)>=360)if((m&65535)<488){r=l+-180|0;s=4;m=r>>>4&3;q=r>>>2&3;r=r&3;break}else{r=l+-244|0;q=(r>>>0)/3|0;s=5;m=q;q=r-(q*3|0)|0;r=0;break}else{J=(l>>>0)%36|0;r=(J>>>0)/6|0;s=3;m=(p>>>0)/72|0;q=r;r=J-(r*6|0)|0}while(0);n=178325+(s*12|0)+(u<<2)|0;p=(1<>0]|0))l=0;else{o=0;while(1){J=tS(f,m)|0;a[i+10+(ab*116|0)+(L*58|0)+18+o>>0]=J;l=o+1|0;a[t+18+o>>0]=(J|0)==(p|0)&1;if(l>>>0<(d[n>>0]|0)>>>0)o=l;else break}}p=(1<>0]|0){o=0;m=l;while(1){J=tS(f,q)|0;a[i+10+(ab*116|0)+(L*58|0)+18+m>>0]=J;l=m+1|0;a[t+18+m>>0]=(J|0)==(p|0)&1;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}p=(1<>0]|0){o=0;m=l;while(1){J=tS(f,r)|0;a[i+10+(ab*116|0)+(L*58|0)+18+m>>0]=J;l=m+1|0;a[t+18+m>>0]=(J|0)==(p|0)&1;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}n=178325+(s*12|0)+(u<<2)+3|0;if(a[n>>0]|0){o=0;m=l;while(1){J=tS(f,0)|0;a[i+10+(ab*116|0)+(L*58|0)+18+m>>0]=J;l=m+1|0;a[t+18+m>>0]=(J|0)==0&1;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}if(l>>>0<39)do{a[i+10+(ab*116|0)+(L*58|0)+18+l>>0]=0;a[t+18+l>>0]=0;l=l+1|0}while((l|0)!=39)}else{do if((m&65535)>=400)if((m&65535)<500){q=p+-400|0;s=1;o=(q>>>0)/20|0;q=(q>>>2>>>0)%5|0;r=m&3;p=0;break}else{r=p+-500|0;q=(r>>>0)/3|0;s=i+10+(ab*116|0)+(L*58|0)+8|0;a[s>>0]=a[s>>0]|4;s=2;o=q;q=r-(q*3|0)|0;r=0;p=0;break}else{s=0;o=(p>>>0)/80|0;q=(p>>>4>>>0)%5|0;r=p>>>2&3;p=p&3}while(0);m=178325+(s*12|0)+(u<<2)|0;if(!(a[m>>0]|0))l=0;else{n=0;while(1){l=n+1|0;a[i+10+(ab*116|0)+(L*58|0)+18+n>>0]=tS(f,o)|0;if(l>>>0<(d[m>>0]|0)>>>0)n=l;else break}}n=178325+(s*12|0)+(u<<2)+1|0;if(a[n>>0]|0){o=0;m=l;while(1){l=m+1|0;a[i+10+(ab*116|0)+(L*58|0)+18+m>>0]=tS(f,q)|0;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}n=178325+(s*12|0)+(u<<2)+2|0;if(a[n>>0]|0){o=0;m=l;while(1){l=m+1|0;a[i+10+(ab*116|0)+(L*58|0)+18+m>>0]=tS(f,r)|0;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}n=178325+(s*12|0)+(u<<2)+3|0;if(a[n>>0]|0){o=0;m=l;while(1){l=m+1|0;a[i+10+(ab*116|0)+(L*58|0)+18+m>>0]=tS(f,p)|0;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}if(l>>>0<39)ZW(w+(l+18)|0,0,39-l|0)|0}l=qS(qb,f)|0}v=Ab+(L*2304|0)|0;m=(e[w>>1]|0)-l|0;if((m|0)<0){nb=566;break a}r=(e[i+10+(ab*116|0)+(L*58|0)+4>>1]|0)+-210|0;J=i+10+(ab*116|0)+(L*58|0)+8|0;n=d[J>>0]|0;s=(n>>>1&1)+1|0;do if((a[x>>0]|0)==2){if(!(n&8)){l=0;n=0}else{o=n<<29>>31;l=0;n=0;while(1){c[qb+(n<<2)>>2]=r-((o&d[178429+n>>0])+(d[i+10+(ab*116|0)+(L*58|0)+18+n>>0]|0)<>0]|0)|0;if(l>>>0<36)n=p;else{n=p;break}}}p=r-(d[i+10+(ab*116|0)+(L*58|0)+13>>0]<<3)|0;q=r-(d[i+10+(ab*116|0)+(L*58|0)+14>>0]<<3)|0;o=r-(d[i+10+(ab*116|0)+(L*58|0)+15>>0]<<3)|0;if(l>>>0<576)while(1){c[qb+(n<<2)>>2]=p-(d[i+10+(ab*116|0)+(L*58|0)+18+n>>0]<>2]=q-(d[i+10+(ab*116|0)+(L*58|0)+18+I>>0]<>2]=o-(d[i+10+(ab*116|0)+(L*58|0)+18+I>>0]<>0]|0)*3|0)+l|0;if(l>>>0>=576)break;else n=n+3|0}}else{c[qb>>2]=r-(d[i+10+(ab*116|0)+(L*58|0)+18>>0]<>2]=r-(d[i+10+(ab*116|0)+(L*58|0)+19>>0]<>2]=r-(d[i+10+(ab*116|0)+(L*58|0)+20>>0]<>2]=r-(d[i+10+(ab*116|0)+(L*58|0)+21>>0]<>2]=r-(d[i+10+(ab*116|0)+(L*58|0)+22>>0]<>2]=r-(d[i+10+(ab*116|0)+(L*58|0)+23>>0]<>2]=r-(d[i+10+(ab*116|0)+(L*58|0)+24>>0]<>2]=r-(d[i+10+(ab*116|0)+(L*58|0)+25>>0]<>2]=r-(d[i+10+(ab*116|0)+(L*58|0)+26>>0]<>2]=r-(d[i+10+(ab*116|0)+(L*58|0)+27>>0]<>2]=r-(d[i+10+(ab*116|0)+(L*58|0)+28>>0]<>0]|0;if(!(n&4)){c[Ja>>2]=r-(l<>2]=r-(d[i+10+(ab*116|0)+(L*58|0)+30>>0]<>2]=r-(d[i+10+(ab*116|0)+(L*58|0)+31>>0]<>2]=r-(d[i+10+(ab*116|0)+(L*58|0)+32>>0]<>2]=r-(d[i+10+(ab*116|0)+(L*58|0)+33>>0]<>2]=r-(d[i+10+(ab*116|0)+(L*58|0)+34>>0]<>2]=r-(d[i+10+(ab*116|0)+(L*58|0)+35>>0]<>2]=r-(d[i+10+(ab*116|0)+(L*58|0)+36>>0]<>2]=r-(d[i+10+(ab*116|0)+(L*58|0)+37>>0]<>2]=r-(d[i+10+(ab*116|0)+(L*58|0)+38>>0]<>2]=r-(d[i+10+(ab*116|0)+(L*58|0)+39>>0]<>2]=r-(l+1<>2]=r-((d[i+10+(ab*116|0)+(L*58|0)+30>>0]|0)+1<>2]=r-((d[i+10+(ab*116|0)+(L*58|0)+31>>0]|0)+1<>2]=r-((d[i+10+(ab*116|0)+(L*58|0)+32>>0]|0)+1<>2]=r-((d[i+10+(ab*116|0)+(L*58|0)+33>>0]|0)+2<>2]=r-((d[i+10+(ab*116|0)+(L*58|0)+34>>0]|0)+2<>2]=r-((d[i+10+(ab*116|0)+(L*58|0)+35>>0]|0)+3<>2]=r-((d[i+10+(ab*116|0)+(L*58|0)+36>>0]|0)+3<>2]=r-((d[i+10+(ab*116|0)+(L*58|0)+37>>0]|0)+3<>2]=r-((d[i+10+(ab*116|0)+(L*58|0)+38>>0]|0)+2<>2]=r-(d[i+10+(ab*116|0)+(L*58|0)+39>>0]<>2]|0;o=c[o+4>>2]|0;s=pb;c[s>>2]=n;c[s+4>>2]=o;sS(f,m);o=SW(n|0,o|0,48)|0;M()|0;o=(31-o&-8)+o|0;n=tS(pb,o)|0;s=d[i+10+(ab*116|0)+(L*58|0)+10>>0]|0;q=c[77948+(s<<3)>>2]|0;if(!q){Q=165;break a}r=Ab+(L*2304|0)+(d[k>>0]<<2)|0;w=k+1|0;l=m-o|0;p=c[qb>>2]|0;k=b[i+10+(ab*116|0)+(L*58|0)+2>>1]|0;if((m|0)>0&k<<16>>16!=0){I=i+10+(ab*116|0)+(L*58|0)+17|0;G=k&65535;z=p;t=Ha;x=e[77948+(s<<3)+4>>1]|0;u=(d[i+10+(ab*116|0)+(L*58|0)+16>>0]|0)+1|0;m=0;y=0;p=e[77948+(s<<3)+6>>1]|0;F=0;D=v;while(1){G=G+-1|0;if((D|0)==(r|0)){v=w+1|0;r=D+(d[w>>0]<<2)|0;k=u+-1|0;if(!k){if(!m)k=(d[I>>0]|0)+1|0;else k=0;m=m+1|0;p=d[i+10+(ab*116|0)+(L*58|0)+10+m>>0]|0;q=c[77948+(p<<3)>>2]|0;if(!q){Q=165;break a}else{s=e[77948+(p<<3)+4>>1]|0;p=e[77948+(p<<3)+6>>1]|0}}else s=x;w=c[t>>2]|0;E=w;t=t+4|0;x=s;C=k;B=m;s=(z|0)==(w|0)?y:0;w=v;A=p}else{E=z;C=u;B=m;s=y;A=p}k=31-o&-8;if((o|0)<21){n=tS(pb,k)|0|n<>>(o-A|0)&(1<>0]&1)){m=A;do{o=o-m|0;k=b[q+(k<<1)>>1]|0;m=(k&65535)>>>1&7;k=(n>>>(o-m|0)&(1<>>4&65535)|0}while(!(a[q+(k<<1)>>0]&1))}y=q+(k<<1)|0;m=b[y>>1]|0;o=o-((m&65535)>>>1&7)|0;m=(m&65535)>>>4;k=m&15;u=k&65535;b:do if(!x){if(!(k<<16>>16)){m=s;k=0}else{k=1<>2]|0;m=k&134217727;k=(k>>>27)+((E|0)/4|0)|0;do if((k|0)>=0)if((k|0)>4){g[tb>>3]=+(m|0)*3.725290298461914e-09;c[tb+8>>2]=k;KU(R,178451,tb)|0;k=2147483647;break}else{k=m<>>0>31?0:(1<<~k)+m>>z}while(0);if(p)k=H((c[113316+(p+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;c[ib+(u<<2)>>2]=k;m=s}else{m=s;k=c[ib+(u<<2)>>2]|0}z=o+-1|0;o=z;k=(1<>2]=k;z=(e[y>>1]|0)>>>8&15;u=z&65535;if(!(z<<16>>16)){v=n;k=0;s=m}else{k=1<>2]|0;m=z&134217727;k=(z>>>27)+k|0;do if((k|0)>=0)if((k|0)>4){g[ub>>3]=+(m|0)*3.725290298461914e-09;c[ub+8>>2]=k;KU(R,178451,ub)|0;k=2147483647;break}else{k=m<>>0>31?0:(1<<~k)+m>>z}while(0);if(p)k=H((c[113316+(p+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;c[ib+(u<<2)>>2]=k;m=s}else k=c[ib+(u<<2)>>2]|0;s=o+-1|0;v=n;o=s;k=(1<>>0<(x+2|0)>>>0){n=tS(pb,16)|0|n<<16;l=l+-16|0;o=o+16|0}o=o-x|0;p=(E|0)%4|0;k=c[80488+((n>>>o&(1<>2]|0;m=k&134217727;k=(k>>>27)+((E|0)/4|0)|0;do if((k|0)>=0)if((k|0)>4){g[rb>>3]=+(m|0)*3.725290298461914e-09;c[rb+8>>2]=k;KU(R,178451,rb)|0;k=2147483647;break}else{k=m<>>0>31?0:(1<<~k)+m>>Q}while(0);if(!p){Q=118;break c}k=H((c[113316+(p+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;Q=118;break}default:{k=1<>2]|0;Q=118;break c}s=k|s;p=(E|0)%4|0;k=c[80488+(u<<2)>>2]|0;m=k&134217727;k=(k>>>27)+((E|0)/4|0)|0;do if((k|0)>=0)if((k|0)>4){g[vb>>3]=+(m|0)*3.725290298461914e-09;c[vb+8>>2]=k;KU(R,178451,vb)|0;k=2147483647;break}else{k=m<>>0>31?0:(1<<~k)+m>>Q}while(0);if(p)k=H((c[113316+(p+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;c[ib+(u<<2)>>2]=k;Q=118}}while(0);if((Q|0)==118){Q=0;z=o+-1|0;v=n;o=z;k=(1<>2]=k;z=(e[y>>1]|0)>>>8;u=z&15;d:do switch(z&15){case 0:{k=0;break b}case 15:{if(o>>>0<(x+1|0)>>>0){n=tS(pb,16)|0|v<<16;l=l+-16|0;o=o+16|0}else n=v;o=o-x|0;p=(E|0)%4|0;k=c[80488+((n>>>o&(1<>2]|0;m=k&134217727;k=(k>>>27)+((E|0)/4|0)|0;do if((k|0)>=0)if((k|0)>4){g[zb>>3]=+(m|0)*3.725290298461914e-09;c[zb+8>>2]=k;KU(R,178451,zb)|0;k=2147483647;break}else{k=m<>>0>31?0:(1<<~k)+m>>z}while(0);if(!p)break d;k=H((c[113316+(p+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;break}default:{k=1<>2]|0;break d}s=k|s;n=(E|0)%4|0;k=c[80488+(u<<2)>>2]|0;m=k&134217727;k=(k>>>27)+((E|0)/4|0)|0;do if((k|0)>=0)if((k|0)>4){g[sb>>3]=+(m|0)*3.725290298461914e-09;c[sb+8>>2]=k;KU(R,178451,sb)|0;k=2147483647;break}else{k=m<>>0>31?0:(1<<~k)+m>>z}while(0);if(n)k=H((c[113316+(n+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;c[ib+(u<<2)>>2]=k;n=v}}while(0);z=o+-1|0;v=n;o=z;k=(1<>2]=k;k=F+2|0;m=o+l|0;if(!((G|0)!=0&(m|0)>0)){u=o;s=E;q=w;break}else{n=v;z=E;u=C;m=B;y=s;p=A;F=k;D=Ab+(L*2304|0)+(k<<2)|0}}}else{v=n;u=o;s=p;t=Ha;q=w;k=0}if((m|0)<0){nb=568;break a}z=c[77940+((a[J>>0]&1)<<2)>>2]|0;o=(s|0)/4|0;p=s-(o<<2)|0;n=o+2|0;do if((s|0)>=-11)if((s|0)>11){g[wb>>3]=.25;c[wb+8>>2]=n;KU(R,178451,wb)|0;n=2147483647;break}else{n=67108864<>>0>31?0:(1<<-3-o)+67108864>>n}while(0);if(p)n=H((c[113316+(p+3<<2)>>2]|0)+32768>>16,n+2048>>12)|0;if((m|0)>0&k>>>0<573){m=v;v=q;while(1){x=Ab+(L*2304|0)+(k<<2)|0;if((u|0)<10){y=tS(pb,16)|0|m<<16;l=l+-16|0;m=u+16|0}else{y=m;m=u}q=m+-4|0;o=z+((y>>>q&15)<<1)|0;p=a[o>>0]|0;if(!(p&1)){p=b[o>>1]|0;o=(p&65535)>>>1&7;p=z+((y>>>(q-o|0)&(1<>>4&65535)<<1)|0;o=p;p=a[p>>0]|0;m=q}w=m-((p&255)>>>1&7)|0;if((x|0)==(r|0)){u=v+1|0;r=r+(d[v>>0]<<2)|0;q=c[t>>2]|0;do if((s|0)==(q|0))m=s;else{n=(q|0)/4|0;p=q-(n<<2)|0;m=n+2|0;do if((q|0)>=-11)if((q|0)>11){g[xb>>3]=.25;c[xb+8>>2]=m;KU(R,178451,xb)|0;n=2147483647;break}else{n=67108864<>>0>31?0:(1<<-3-n)+67108864>>J}while(0);if(!p){m=q;break}m=q;n=H((c[113316+(p+3<<2)>>2]|0)+32768>>16,n+2048>>12)|0}while(0);p=a[o>>0]|0;s=m;t=t+4|0;q=u}else q=v;v=(p&16)==0;J=w+-1|0;m=0-n|0;w=v?w:J;c[x>>2]=v?0:(1<>0]&32)==0;v=w+-1|0;w=J?w:v;c[x+4>>2]=J?0:(1<>0]<<2)|0;q=c[t>>2]|0;do if((s|0)==(q|0))m=s;else{n=(q|0)/4|0;p=q-(n<<2)|0;m=n+2|0;do if((q|0)>=-11)if((q|0)>11){g[yb>>3]=.25;c[yb+8>>2]=m;KU(R,178451,yb)|0;n=2147483647;break}else{n=67108864<>>0>31?0:(1<<-3-n)+67108864>>J}while(0);if(!p){m=q;break}m=q;n=H((c[113316+(p+3<<2)>>2]|0)+32768>>16,n+2048>>12)|0}while(0);s=m;t=t+4|0;p=n;q=u;m=0-n|0}else p=n;J=(a[o>>0]&64)==0;I=w+-1|0;u=J?w:I;c[v>>2]=J?0:(1<>0]|0)<0;J=u+-1|0;u=I?J:u;c[v+4>>2]=I?((1<>>0<573&(m|0)>0))break;else{m=y;n=p;v=q}}}if((l|0)<=-65){Q=202;break a}k=(m|0)<0?k+-4|0:k;if((k|0)<576)ZW(Ab+(L*2304|0)+(k<<2)|0,0,((((k|0)==575?576:575)-k|0)>>>1<<3)+8|0)|0;L=L+1|0}while(L>>>0>>0)}if((c[bb>>2]|0)==2?(fb=c[cb>>2]|0,fb|0):0){u=c[ob>>2]|0;k=a[i+10+(ab*116|0)+9>>0]|0;if(k<<24>>24!=(a[i+10+(ab*116|0)+67>>0]|0)){Q=276;break}l=a[i+10+(ab*116|0)+66>>0]|0;if((l^a[i+10+(ab*116|0)+8>>0])&8){Q=276;break}O=fb&65535;b[qb>>1]=O;b[V>>1]=O;b[ea>>1]=O;b[pa>>1]=O;b[Aa>>1]=O;b[Ba>>1]=O;b[Ca>>1]=O;b[Da>>1]=O;b[Ea>>1]=O;b[Fa>>1]=O;b[W>>1]=O;b[X>>1]=O;b[Y>>1]=O;b[Z>>1]=O;b[_>>1]=O;b[$>>1]=O;b[aa>>1]=O;b[ba>>1]=O;b[ca>>1]=O;b[da>>1]=O;b[fa>>1]=O;b[ga>>1]=O;b[ha>>1]=O;b[ia>>1]=O;b[ja>>1]=O;b[ka>>1]=O;b[la>>1]=O;b[ma>>1]=O;b[na>>1]=O;b[oa>>1]=O;b[qa>>1]=O;b[ra>>1]=O;b[sa>>1]=O;b[ua>>1]=O;b[va>>1]=O;b[wa>>1]=O;b[xa>>1]=O;b[ya>>1]=O;b[za>>1]=O;e:do if(fb&1|0){t=c[kb>>2]|0;c[kb>>2]=t|256;if(k<<24>>24==2){c[U>>2]=0;c[T>>2]=0;c[ib>>2]=0;if(l&8){o=0;l=0;p=S;k=0;do{Q=k;k=k+1|0;Q=a[u+Q>>0]|0;n=Q&255;f:do if(Q<<24>>24){m=0;do{if(c[p+(m<<2)>>2]|0){l=k;break f}m=m+1|0}while(m>>>0>>0)}while(0);p=p+(n<<2)|0;o=o+n|0}while(o>>>0<36);if(o>>>0<576){m=p;Q=220}else Q=228}else{o=0;l=0;m=S;k=0;Q=220}if((Q|0)==220){Q=0;q=0;r=k;s=0;while(1){O=a[u+r>>0]|0;r=r+1|0;p=O&255;g:do if(!(O<<24>>24))n=q;else{n=0;while(1){if(c[m+(n<<2)>>2]|0)break;n=n+1|0;if(n>>>0>=p>>>0){n=q;break g}}c[ib+(s<<2)>>2]=r;n=r}while(0);o=o+p|0;if(o>>>0>=576)break;else{q=n;m=m+(p<<2)|0;s=((s+1|0)>>>0)%3|0}}if(!n)Q=228;else{l=k;o=n}}if((Q|0)==228){Q=0;o=0}if(l|0){m=fb&65534;n=0;do{b[qb+(n<<1)>>1]=m;n=n+1|0}while((n|0)!=(l|0))}if(k>>>0>>0){m=fb&65534;l=0;while(1){if(k>>>0<(c[ib+(l<<2)>>2]|0)>>>0)b[qb+(k<<1)>>1]=m;k=k+1|0;if((k|0)==(o|0))break;else l=((l+1|0)>>>0)%3|0}}}else{k=0;o=0;p=S;q=0;while(1){O=a[u+q>>0]|0;q=q+1|0;n=O&255;h:do if(!(O<<24>>24))m=k;else{l=0;while(1){if(c[p+(l<<2)>>2]|0){m=q;break h}l=l+1|0;if(l>>>0>=n>>>0){m=k;break}}}while(0);o=o+n|0;if(o>>>0>=576)break;else{k=m;p=p+(n<<2)|0}}if(m|0){k=fb&65534;l=0;do{b[qb+(l<<1)>>1]=k;l=l+1|0}while((l|0)!=(m|0))}}if(!(t&4096)){p=0;q=0;while(1){k=a[u+q>>0]|0;o=k&255;l=qb+(q<<1)|0;m=b[l>>1]|0;do if(m&1|0){P=a[i+10+(ab*116|0)+76+q>>0]|0;n=P&255;if((P&255)>6){b[l>>1]=m&65534;break}if(k<<24>>24){m=(c[113464+(n<<2)>>2]|0)+32768>>16;l=(c[113464+(6-n<<2)>>2]|0)+32768>>16;k=0;do{P=k+p|0;L=Ab+(P<<2)|0;O=(c[L>>2]|0)+2048>>12;c[L>>2]=H(O,m)|0;c[Ab+2304+(P<<2)>>2]=H(O,l)|0;k=k+1|0}while((k|0)!=(o|0))}}while(0);p=p+o|0;if(p>>>0>=576)break e;else q=q+1|0}}n=b[i+10+(ab*116|0)+64>>1]&1;p=0;q=0;while(1){m=a[u+q>>0]|0;o=m&255;k=qb+(q<<1)|0;l=b[k>>1]|0;i:do if(l&1|0){if(a[P+192+q>>0]|0){b[k>>1]=l&65534;break}k=a[i+10+(ab*116|0)+76+q>>0]|0;l=k&255;if(m<<24>>24){if(!(k<<24>>24)){k=0;while(1){O=k+p|0;c[Ab+2304+(O<<2)>>2]=c[Ab+(O<<2)>>2];k=k+1|0;if((k|0)==(o|0))break i}}m=(c[113344+(n*60|0)+((l+-1|0)>>>1<<2)>>2]|0)+32768>>16;if(!(l&1)){k=0;do{O=k+p|0;c[Ab+2304+(O<<2)>>2]=H((c[Ab+(O<<2)>>2]|0)+2048>>12,m)|0;k=k+1|0}while((k|0)!=(o|0))}else{k=0;do{O=k+p|0;K=Ab+(O<<2)|0;L=c[K>>2]|0;c[K>>2]=H(L+2048>>12,m)|0;c[Ab+2304+(O<<2)>>2]=L;k=k+1|0}while((k|0)!=(o|0))}}}while(0);p=p+o|0;if(p>>>0>=576)break;else q=q+1|0}}while(0);if(fb&2|0){c[kb>>2]=c[kb>>2]|512;m=0;n=0;while(1){P=a[u+n>>0]|0;k=P&255;if(P<<24>>24?(b[qb+(n<<1)>>1]|0)==2:0){l=0;do{P=l+m|0;K=Ab+(P<<2)|0;P=Ab+2304+(P<<2)|0;O=c[P>>2]|0;L=(c[K>>2]|0)+2048|0;c[K>>2]=(L+O>>12)*2896;c[P>>2]=(L-O>>12)*2896;l=l+1|0}while((l|0)!=(k|0))}m=m+k|0;if(m>>>0>=576)break;else n=n+1|0}}}if(!jb){y=ab*18|0;x=0;do{w=h+48+(x*4608|0)+(y<<7)|0;v=i+10+(ab*116|0)+(x*58|0)+9|0;u=Ab+(x*2304|0)|0;if((a[v>>0]|0)==2){k=c[ob+(x<<2)>>2]|0;t=(a[i+10+(ab*116|0)+(x*58|0)+8>>0]&8)==0;if(t)s=0;else{m=0;while(1){l=k+1|0;m=m+(d[k>>0]|0)|0;if(m>>>0>=36){s=2;k=l;break}else k=l}};c[pb>>2]=0;c[pb+4>>2]=0;c[pb+8>>2]=0;c[ib>>2]=s;c[T>>2]=s;c[U>>2]=s;r=s*18|0;m=d[k>>0]|0;q=r;k=k+1|0;l=0;while(1){if(!m){p=d[k>>0]|0;k=k+1|0;l=((l+1|0)>>>0)%3|0}else p=m;O=c[Ab+(x*2304|0)+(q<<2)>>2]|0;n=ib+(l<<2)|0;m=c[n>>2]|0;o=pb+(l<<2)|0;P=c[o>>2]|0;Q=P+1|0;c[o>>2]=Q;c[qb+(m*72|0)+(l*24|0)+(P<<2)>>2]=O;if((Q|0)==6){c[o>>2]=0;c[n>>2]=m+1}q=q+1|0;if((q|0)==576)break;else m=p+-1|0}XW(Ab+(x*2304|0)+(r<<2)|0,qb+(s*72|0)|0,(H(s,-72)|0)+2304|0)|0;if(!t)FS(u,36)}else FS(u,576);k=a[v>>0]|0;l=a[i+10+(ab*116|0)+(x*58|0)+8>>0]&8;if(k<<24>>24==2&l<<24>>24==0){IS(u,mb);HS(mb,(c[db>>2]|0)+(x*2304|0)|0,w,0);IS(Ab+(x*2304|0)+72|0,mb);HS(mb,(c[db>>2]|0)+(x*2304|0)+72|0,w,1)}else{Q=l<<24>>24==0?k&255:0;GS(u,mb,Q);HS(mb,(c[db>>2]|0)+(x*2304|0)|0,w,0);GS(Ab+(x*2304|0)+72|0,mb,Q);HS(mb,(c[db>>2]|0)+(x*2304|0)+72|0,w,1)}l=w+132|0;P=w+388|0;O=c[P>>2]|0;c[l>>2]=0-(c[l>>2]|0);l=w+644|0;Q=c[l>>2]|0;c[P>>2]=0-O;P=w+900|0;O=c[P>>2]|0;c[l>>2]=0-Q;l=w+1156|0;Q=c[l>>2]|0;c[P>>2]=0-O;P=w+1412|0;O=c[P>>2]|0;c[l>>2]=0-Q;l=w+1668|0;Q=c[l>>2]|0;c[P>>2]=0-O;P=w+1924|0;O=c[P>>2]|0;c[l>>2]=0-Q;l=w+2180|0;Q=c[l>>2]|0;c[P>>2]=0-O;c[l>>2]=0-Q;l=576;while(1){k=l;l=l+-1|0;if(c[Ab+(x*2304|0)+(l<<2)>>2]|0)break;if(l>>>0<=36){k=36;break}}t=32-(((576-k|0)>>>0)/18|0)|0;k=a[v>>0]|0;l=t>>>0>2;j:do if(k<<24>>24==2)if(l){k=36;l=2;while(1){IS(Ab+(x*2304|0)+(k<<2)|0,mb);HS(mb,(c[db>>2]|0)+(x*2304|0)+(l*72|0)|0,w,l);if(l&1|0){Q=w+128+(l<<2)|0;O=w+384+(l<<2)|0;L=c[O>>2]|0;c[Q>>2]=0-(c[Q>>2]|0);Q=w+640+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-L;O=w+896+(l<<2)|0;L=c[O>>2]|0;c[Q>>2]=0-P;Q=w+1152+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-L;O=w+1408+(l<<2)|0;L=c[O>>2]|0;c[Q>>2]=0-P;Q=w+1664+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-L;O=w+1920+(l<<2)|0;L=c[O>>2]|0;c[Q>>2]=0-P;Q=w+2176+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-L;c[Q>>2]=0-P}l=l+1|0;if(l>>>0>=t>>>0){Q=311;break}else k=k+18|0}}else Q=312;else if(l){m=36;l=2;while(1){GS(Ab+(x*2304|0)+(m<<2)|0,mb,k&255);HS(mb,(c[db>>2]|0)+(x*2304|0)+(l*72|0)|0,w,l);if(l&1|0){Q=w+128+(l<<2)|0;O=w+384+(l<<2)|0;L=c[O>>2]|0;c[Q>>2]=0-(c[Q>>2]|0);Q=w+640+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-L;O=w+896+(l<<2)|0;L=c[O>>2]|0;c[Q>>2]=0-P;Q=w+1152+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-L;O=w+1408+(l<<2)|0;L=c[O>>2]|0;c[Q>>2]=0-P;Q=w+1664+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-L;O=w+1920+(l<<2)|0;L=c[O>>2]|0;c[Q>>2]=0-P;Q=w+2176+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-L;c[Q>>2]=0-P}l=l+1|0;if(l>>>0>=t>>>0){Q=311;break j}k=a[v>>0]|0;m=m+18|0}}else Q=312;while(0);if((Q|0)==311?(Q=0,t>>>0<32):0)Q=312;if((Q|0)==312){Q=0;u=c[db>>2]|0;do{P=u+(x*2304|0)+(t*72|0)|0;c[h+48+(x*4608|0)+(y<<7)+(t<<2)>>2]=c[P>>2];c[P>>2]=0;P=u+(x*2304|0)+(t*72|0)+4|0;k=w+128+(t<<2)|0;c[k>>2]=c[P>>2];c[P>>2]=0;P=u+(x*2304|0)+(t*72|0)+8|0;c[w+256+(t<<2)>>2]=c[P>>2];c[P>>2]=0;P=u+(x*2304|0)+(t*72|0)+12|0;p=w+384+(t<<2)|0;c[p>>2]=c[P>>2];c[P>>2]=0;P=u+(x*2304|0)+(t*72|0)+16|0;c[w+512+(t<<2)>>2]=c[P>>2];c[P>>2]=0;P=u+(x*2304|0)+(t*72|0)+20|0;q=w+640+(t<<2)|0;c[q>>2]=c[P>>2];c[P>>2]=0;P=u+(x*2304|0)+(t*72|0)+24|0;c[w+768+(t<<2)>>2]=c[P>>2];c[P>>2]=0;P=u+(x*2304|0)+(t*72|0)+28|0;r=w+896+(t<<2)|0;c[r>>2]=c[P>>2];c[P>>2]=0;P=u+(x*2304|0)+(t*72|0)+32|0;c[w+1024+(t<<2)>>2]=c[P>>2];c[P>>2]=0;P=u+(x*2304|0)+(t*72|0)+36|0;s=w+1152+(t<<2)|0;c[s>>2]=c[P>>2];c[P>>2]=0;P=u+(x*2304|0)+(t*72|0)+40|0;c[w+1280+(t<<2)>>2]=c[P>>2];c[P>>2]=0;P=u+(x*2304|0)+(t*72|0)+44|0;l=w+1408+(t<<2)|0;c[l>>2]=c[P>>2];c[P>>2]=0;P=u+(x*2304|0)+(t*72|0)+48|0;c[w+1536+(t<<2)>>2]=c[P>>2];c[P>>2]=0;P=u+(x*2304|0)+(t*72|0)+52|0;m=w+1664+(t<<2)|0;c[m>>2]=c[P>>2];c[P>>2]=0;P=u+(x*2304|0)+(t*72|0)+56|0;c[w+1792+(t<<2)>>2]=c[P>>2];c[P>>2]=0;P=u+(x*2304|0)+(t*72|0)+60|0;n=w+1920+(t<<2)|0;c[n>>2]=c[P>>2];c[P>>2]=0;P=u+(x*2304|0)+(t*72|0)+64|0;c[w+2048+(t<<2)>>2]=c[P>>2];c[P>>2]=0;P=u+(x*2304|0)+(t*72|0)+68|0;o=w+2176+(t<<2)|0;c[o>>2]=c[P>>2];c[P>>2]=0;if(t&1|0){O=c[p>>2]|0;c[k>>2]=0-(c[k>>2]|0);P=c[q>>2]|0;c[p>>2]=0-O;O=c[r>>2]|0;c[q>>2]=0-P;P=c[s>>2]|0;c[r>>2]=0-O;O=c[l>>2]|0;c[s>>2]=0-P;P=c[m>>2]|0;c[l>>2]=0-O;O=c[n>>2]|0;c[m>>2]=0-P;P=c[o>>2]|0;c[n>>2]=0-O;c[o>>2]=0-P}t=t+1|0}while(t>>>0<32)}x=x+1|0}while((x|0)!=(j|0))}ab=ab+1|0;if(ab>>>0>=gb>>>0){k=0;Q=318;break}}if((Q|0)==165)nb=567;else if((Q|0)==202)ta(178484,178316,1253,178526);else if((Q|0)==276){Ab=569;$c=Bb;return Ab|0}else if((Q|0)==318){$c=Bb;return k|0}Ab=nb;$c=Bb;return Ab|0}function FS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=a+(b<<2)|0;if((b|0)<=18)return;b=a+72|0;do{g=b+-4|0;e=c[b>>2]|0;f=(c[g>>2]|0)+2048>>12;c[g>>2]=(H(2048-e>>12,-2107)|0)+(f*3512|0);c[b>>2]=(H(f,-2107)|0)+((e+2048>>12)*3512|0);e=b+-8|0;f=b+4|0;g=c[f>>2]|0;a=(c[e>>2]|0)+2048>>12;c[e>>2]=(H(2048-g>>12,-1932)|0)+(a*3612|0);c[f>>2]=(H(a,-1932)|0)+((g+2048>>12)*3612|0);f=b+-12|0;g=b+8|0;a=c[g>>2]|0;e=(c[f>>2]|0)+2048>>12;c[f>>2]=(H(2048-a>>12,-1284)|0)+(e*3890|0);c[g>>2]=(H(e,-1284)|0)+((a+2048>>12)*3890|0);g=b+-16|0;a=b+12|0;e=c[a>>2]|0;f=(c[g>>2]|0)+2048>>12;c[g>>2]=(H(2048-e>>12,-745)|0)+(f*4028|0);c[a>>2]=(H(f,-745)|0)+((e+2048>>12)*4028|0);a=b+-20|0;e=b+16|0;f=c[e>>2]|0;g=(c[a>>2]|0)+2048>>12;c[a>>2]=(H(2048-f>>12,-387)|0)+(g*4078|0);c[e>>2]=(H(g,-387)|0)+((f+2048>>12)*4078|0);e=b+-24|0;f=b+20|0;g=c[f>>2]|0;a=(c[e>>2]|0)+2048>>12;c[e>>2]=(H(2048-g>>12,-168)|0)+(a*4093|0);c[f>>2]=(H(a,-168)|0)+((g+2048>>12)*4093|0);f=b+-28|0;g=b+24|0;a=c[g>>2]|0;e=(c[f>>2]|0)+2048|0;c[f>>2]=(H(2048-a>>12,-58)|0)+(e&-4096);c[g>>2]=(H(e>>12,-58)|0)+(a+2048&-4096);g=b+-32|0;a=b+28|0;e=c[a>>2]|0;f=(c[g>>2]|0)+2048|0;c[g>>2]=(H(2048-e>>12,-15)|0)+(f&-4096);c[a>>2]=(H(f>>12,-15)|0)+(e+2048&-4096);b=b+72|0}while(b>>>0>>0);return}function GS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;o=((c[a>>2]|0)+2048>>12)*8184|0;g=((c[a+4>>2]|0)+2048>>12)*8122|0;O=((c[a+8>>2]|0)+2048>>12)*7998|0;Z=((c[a+12>>2]|0)+2048>>12)*7813|0;X=((c[a+16>>2]|0)+2048>>12)*7568|0;V=((c[a+20>>2]|0)+2048>>12)*7266|0;ca=((c[a+24>>2]|0)+2048>>12)*6909|0;M=((c[a+28>>2]|0)+2048>>12)*6499|0;Q=((c[a+32>>2]|0)+2048>>12)*6040|0;ba=((c[a+36>>2]|0)+2048>>12)*5534|0;P=((c[a+40>>2]|0)+2048>>12)*4987|0;f=((c[a+44>>2]|0)+2048>>12)*4402|0;z=((c[a+48>>2]|0)+2048>>12)*3783|0;R=((c[a+52>>2]|0)+2048>>12)*3135|0;m=((c[a+56>>2]|0)+2048>>12)*2463|0;t=((c[a+60>>2]|0)+2048>>12)*1773|0;N=((c[a+64>>2]|0)+2048>>12)*1069|0;W=((c[a+68>>2]|0)+2048>>12)*357|0;S=W+o|0;Y=N+g|0;e=t+O|0;a=m+Z|0;u=R+X|0;l=z+V|0;K=f+ca|0;_=P+M|0;L=ba+Q|0;$=a+l|0;l=a-l|0;a=e+K|0;e=K-e|0;K=Y+_|0;aa=S+L|0;S=L-S|0;L=a+$+aa|0;U=e+2048|0;n=H(U+l>>12,-5266)|0;l=l+2048|0;T=(l-S>>12)*8068|0;U=H(S+U>>12,-2802)|0;Y=H(2048-_+Y>>12,-7094)|0;_=H(a+2048-aa>>12,-7698)|0;$=$+2048|0;aa=H($-aa>>12,-1423)|0;a=H($-a>>12,-6275)|0;$=K+u|0;K=(u<<1)-K|0;W=(o+2048-W>>12)*8161|0;N=(g+2048-N>>12)*7913|0;t=(O+2048-t>>12)*7424|0;m=(Z+2048-m>>12)*6710|0;R=X+2048-R>>12;z=(V+2048-z>>12)*4699|0;f=(ca+2048-f>>12)*3462|0;P=(M+2048-P>>12)*2120|0;ba=(Q+2048-ba>>12)*714|0;Q=m+z|0;z=m-z|0;m=t+f|0;t=f-t|0;f=N+P|0;M=W+ba|0;W=ba-W|0;ba=m+Q+M|0;ca=t+2048|0;V=H(ca+z>>12,-5266)|0;z=z+2048|0;X=(z-W>>12)*8068|0;ca=H(W+ca>>12,-2802)|0;N=H(2048-P+N>>12,-7094)|0;P=H(m+2048-M>>12,-7698)|0;Q=Q+2048|0;M=H(Q-M>>12,-1423)|0;m=H(Q-m>>12,-6275)|0;Q=f+(R*5793|0)|0;f=(R*11586|0)-f|0;R=ba+Q|0;Z=V-N-R+X|0;O=m-f+P-Z|0;W=(H(z-t+W>>12,-7094)|0)-O|0;P=P+f-M-W|0;X=N-ca+X-P|0;Q=ba-(Q<<1)-X|0;ca=V+N+ca-Q|0;N=(L+$|0)/2|0;R=((R|0)/2|0)-N|0;V=((n-Y+T|0)/2|0)-R|0;Z=((Z|0)/2|0)-V|0;ba=((a-K+_|0)/2|0)-Z|0;O=((O|0)/2|0)-ba|0;S=(H(l-e+S>>12,-3547)|0)-O|0;W=((W|0)/2|0)-S|0;_=((_+K-aa|0)/2|0)-W|0;P=((P|0)/2|0)-_|0;T=((Y-U+T|0)/2|0)-P|0;X=((X|0)/2|0)-T|0;$=((L-($<<1)|0)/2|0)-X|0;Q=((Q|0)/2|0)-$|0;U=((n+Y+U|0)/2|0)-Q|0;Y=((ca|0)/2|0)-U|0;aa=((a+K+aa|0)/2|0)-Y|0;ca=((m+f+M-ca|0)/2|0)-aa|0;c[b>>2]=P;M=b+4|0;c[M>>2]=T;f=b+8|0;c[f>>2]=X;m=b+12|0;c[m>>2]=$;K=b+16|0;c[K>>2]=Q;a=b+20|0;c[a>>2]=U;n=b+24|0;c[n>>2]=Y;L=b+28|0;c[L>>2]=aa;e=b+32|0;c[e>>2]=ca;l=b+36|0;c[l>>2]=0-ca;t=b+40|0;c[t>>2]=0-aa;z=b+44|0;c[z>>2]=0-Y;g=b+48|0;c[g>>2]=0-U;o=b+52|0;c[o>>2]=0-Q;u=b+56|0;c[u>>2]=0-$;h=b+60|0;c[h>>2]=0-X;p=b+64|0;c[p>>2]=0-T;v=b+68|0;c[v>>2]=0-P;da=0-_|0;i=b+72|0;c[i>>2]=da;I=0-W|0;q=b+76|0;c[q>>2]=I;E=0-S|0;w=b+80|0;c[w>>2]=E;B=0-O|0;j=b+84|0;c[j>>2]=B;G=0-ba|0;r=b+88|0;c[r>>2]=G;D=0-Z|0;x=b+92|0;c[x>>2]=D;A=0-V|0;k=b+96|0;c[k>>2]=A;J=0-R|0;s=b+100|0;c[s>>2]=J;F=0-N|0;y=b+104|0;c[y>>2]=F;C=b+108|0;c[C>>2]=F;F=b+112|0;c[F>>2]=J;J=b+116|0;c[J>>2]=A;A=b+120|0;c[A>>2]=D;D=b+124|0;c[D>>2]=G;G=b+128|0;c[G>>2]=B;B=b+132|0;c[B>>2]=E;E=b+136|0;c[E>>2]=I;I=b+140|0;c[I>>2]=da;switch(d|0){case 0:{c[b>>2]=(P+2048>>12)*179;c[M>>2]=(T+2048>>12)*535;c[f>>2]=(X+2048>>12)*887;c[m>>2]=($+2048>>12)*1232;c[K>>2]=(Q+2048>>12)*1567;c[a>>2]=(U+2048>>12)*1891;c[n>>2]=(Y+2048>>12)*2201;c[L>>2]=(aa+2048>>12)*2493;c[e>>2]=(ca+2048>>12)*2767;c[l>>2]=(2048-ca>>12)*3020;c[t>>2]=(2048-aa>>12)*3250;c[z>>2]=(2048-Y>>12)*3455;c[g>>2]=(2048-U>>12)*3633;c[o>>2]=(2048-Q>>12)*3784;c[u>>2]=(2048-$>>12)*3906;c[h>>2]=(2048-X>>12)*3999;c[p>>2]=(2048-T>>12)*4061;c[v>>2]=(2048-P>>12)*4092;c[i>>2]=(2048-_>>12)*4092;c[q>>2]=(2048-W>>12)*4061;c[w>>2]=(2048-S>>12)*3999;c[j>>2]=(2048-O>>12)*3906;c[r>>2]=(2048-ba>>12)*3784;c[x>>2]=(2048-Z>>12)*3633;c[k>>2]=(2048-V>>12)*3455;c[s>>2]=((c[s>>2]|0)+2048>>12)*3250;c[y>>2]=((c[y>>2]|0)+2048>>12)*3020;c[C>>2]=((c[C>>2]|0)+2048>>12)*2767;c[F>>2]=((c[F>>2]|0)+2048>>12)*2493;c[J>>2]=((c[J>>2]|0)+2048>>12)*2201;c[A>>2]=((c[A>>2]|0)+2048>>12)*1891;c[D>>2]=((c[D>>2]|0)+2048>>12)*1567;c[G>>2]=((c[G>>2]|0)+2048>>12)*1232;c[B>>2]=((c[B>>2]|0)+2048>>12)*887;c[E>>2]=((c[E>>2]|0)+2048>>12)*535;c[I>>2]=((c[I>>2]|0)+2048>>12)*179;return}case 1:{c[b>>2]=(P+2048>>12)*179;c[M>>2]=(T+2048>>12)*535;c[f>>2]=(X+2048>>12)*887;c[m>>2]=($+2048>>12)*1232;c[K>>2]=(Q+2048>>12)*1567;c[a>>2]=(U+2048>>12)*1891;c[n>>2]=(Y+2048>>12)*2201;c[L>>2]=(aa+2048>>12)*2493;c[e>>2]=(ca+2048>>12)*2767;c[l>>2]=(2048-ca>>12)*3020;c[t>>2]=(2048-aa>>12)*3250;c[z>>2]=(2048-Y>>12)*3455;c[g>>2]=(2048-U>>12)*3633;c[o>>2]=(2048-Q>>12)*3784;c[u>>2]=(2048-$>>12)*3906;c[h>>2]=(2048-X>>12)*3999;c[p>>2]=(2048-T>>12)*4061;c[v>>2]=(2048-P>>12)*4092;da=2048-V>>12;c[k>>2]=da*4061;b=2048-R>>12;c[s>>2]=b*3784;d=2048-N>>12;c[y>>2]=d*3250;c[C>>2]=d*2493;c[F>>2]=b*1567;c[J>>2]=da*535;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[A+12>>2]=0;c[A+16>>2]=0;c[A+20>>2]=0;return}case 3:{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[n>>2]=(Y+2048>>12)*535;c[L>>2]=(aa+2048>>12)*1567;c[e>>2]=(ca+2048>>12)*2493;c[l>>2]=(2048-ca>>12)*3250;c[t>>2]=(2048-aa>>12)*3784;c[z>>2]=(2048-Y>>12)*4061;da=2048-_>>12;c[i>>2]=da*4092;b=2048-W>>12;c[q>>2]=b*4061;d=2048-S>>12;c[w>>2]=d*3999;ca=2048-O>>12;c[j>>2]=ca*3906;ba=2048-ba>>12;c[r>>2]=ba*3784;aa=2048-Z>>12;c[x>>2]=aa*3633;$=2048-V>>12;c[k>>2]=$*3455;_=2048-R>>12;c[s>>2]=_*3250;Z=2048-N>>12;c[y>>2]=Z*3020;c[C>>2]=Z*2767;c[F>>2]=_*2493;c[J>>2]=$*2201;c[A>>2]=aa*1891;c[D>>2]=ba*1567;c[G>>2]=ca*1232;c[B>>2]=d*887;c[E>>2]=b*535;c[I>>2]=da*179;return}default:return}}function HS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;c[d+(e<<2)>>2]=(c[b>>2]|0)+(c[a>>2]|0);c[b>>2]=c[a+72>>2];f=b+4|0;c[d+128+(e<<2)>>2]=(c[f>>2]|0)+(c[a+4>>2]|0);c[f>>2]=c[a+76>>2];f=b+8|0;c[d+256+(e<<2)>>2]=(c[f>>2]|0)+(c[a+8>>2]|0);c[f>>2]=c[a+80>>2];f=b+12|0;c[d+384+(e<<2)>>2]=(c[f>>2]|0)+(c[a+12>>2]|0);c[f>>2]=c[a+84>>2];f=b+16|0;c[d+512+(e<<2)>>2]=(c[f>>2]|0)+(c[a+16>>2]|0);c[f>>2]=c[a+88>>2];f=b+20|0;c[d+640+(e<<2)>>2]=(c[f>>2]|0)+(c[a+20>>2]|0);c[f>>2]=c[a+92>>2];f=b+24|0;c[d+768+(e<<2)>>2]=(c[f>>2]|0)+(c[a+24>>2]|0);c[f>>2]=c[a+96>>2];f=b+28|0;c[d+896+(e<<2)>>2]=(c[f>>2]|0)+(c[a+28>>2]|0);c[f>>2]=c[a+100>>2];f=b+32|0;c[d+1024+(e<<2)>>2]=(c[f>>2]|0)+(c[a+32>>2]|0);c[f>>2]=c[a+104>>2];f=b+36|0;c[d+1152+(e<<2)>>2]=(c[f>>2]|0)+(c[a+36>>2]|0);c[f>>2]=c[a+108>>2];f=b+40|0;c[d+1280+(e<<2)>>2]=(c[f>>2]|0)+(c[a+40>>2]|0);c[f>>2]=c[a+112>>2];f=b+44|0;c[d+1408+(e<<2)>>2]=(c[f>>2]|0)+(c[a+44>>2]|0);c[f>>2]=c[a+116>>2];f=b+48|0;c[d+1536+(e<<2)>>2]=(c[f>>2]|0)+(c[a+48>>2]|0);c[f>>2]=c[a+120>>2];f=b+52|0;c[d+1664+(e<<2)>>2]=(c[f>>2]|0)+(c[a+52>>2]|0);c[f>>2]=c[a+124>>2];f=b+56|0;c[d+1792+(e<<2)>>2]=(c[f>>2]|0)+(c[a+56>>2]|0);c[f>>2]=c[a+128>>2];f=b+60|0;c[d+1920+(e<<2)>>2]=(c[f>>2]|0)+(c[a+60>>2]|0);c[f>>2]=c[a+132>>2];f=b+64|0;c[d+2048+(e<<2)>>2]=(c[f>>2]|0)+(c[a+64>>2]|0);c[f>>2]=c[a+136>>2];b=b+68|0;c[d+2176+(e<<2)>>2]=(c[b>>2]|0)+(c[a+68>>2]|0);c[b>>2]=c[a+140>>2];return}function IS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);e=d;n=(c[a>>2]|0)+2048>>12;l=(c[a+4>>2]|0)+2048>>12;j=H(l,-3784)|0;h=(c[a+8>>2]|0)+2048>>12;i=j+(n*2493|0)+(H(h,-535)|0)|0;g=(c[a+12>>2]|0)+2048>>12;k=(c[a+16>>2]|0)+2048>>12;f=H(k,-1567)|0;m=(c[a+20>>2]|0)+2048>>12;i=i+(g*4061|0)+f+(H(m,-3250)|0)|0;c[e>>2]=i;c[e+20>>2]=0-i;i=(l*1567|0)+(H(n,-3250)|0)+(h*4061|0)+(g*535|0)+(H(k,-3784)|0)+(H(m,-2493)|0)|0;c[e+24>>2]=i;c[e+44>>2]=i;i=j+(n*1567|0)+(h*3784|0)+(H(g,-1567)|0)+f+(m*3784|0)|0;c[e+4>>2]=i;c[e+16>>2]=0-i;l=H(l,-1567)|0;k=k*3784|0;i=l+(H(n,-3784)|0)+(h*1567|0)+(g*3784|0)+k+(m*1567|0)|0;c[e+28>>2]=i;c[e+40>>2]=i;k=l+(n*535|0)+(h*2493|0)+(H(g,-3250)|0)+k+(H(m,-4061)|0)|0;c[e+8>>2]=k;c[e+12>>2]=0-k;m=j+(H(n,-4061)|0)+(H(h,-3250)|0)+(H(g,-2493)|0)+f+(H(m,-535)|0)|0;c[e+32>>2]=m;c[e+36>>2]=m;m=(c[a+24>>2]|0)+2048>>12;f=(c[a+28>>2]|0)+2048>>12;g=H(f,-3784)|0;h=(c[a+32>>2]|0)+2048>>12;n=g+(m*2493|0)+(H(h,-535)|0)|0;j=(c[a+36>>2]|0)+2048>>12;k=(c[a+40>>2]|0)+2048>>12;l=H(k,-1567)|0;i=(c[a+44>>2]|0)+2048>>12;n=n+(j*4061|0)+l+(H(i,-3250)|0)|0;c[e+48>>2]=n;c[e+68>>2]=0-n;n=(f*1567|0)+(H(m,-3250)|0)+(h*4061|0)+(j*535|0)+(H(k,-3784)|0)+(H(i,-2493)|0)|0;c[e+72>>2]=n;c[e+92>>2]=n;n=g+(m*1567|0)+(h*3784|0)+(H(j,-1567)|0)+l+(i*3784|0)|0;c[e+52>>2]=n;c[e+64>>2]=0-n;f=H(f,-1567)|0;k=k*3784|0;n=f+(H(m,-3784)|0)+(h*1567|0)+(j*3784|0)+k+(i*1567|0)|0;c[e+76>>2]=n;c[e+88>>2]=n;k=f+(m*535|0)+(h*2493|0)+(H(j,-3250)|0)+k+(H(i,-4061)|0)|0;c[e+56>>2]=k;c[e+60>>2]=0-k;i=g+(H(m,-4061)|0)+(H(h,-3250)|0)+(H(j,-2493)|0)+l+(H(i,-535)|0)|0;c[e+80>>2]=i;c[e+84>>2]=i;i=(c[a+48>>2]|0)+2048>>12;l=(c[a+52>>2]|0)+2048>>12;j=H(l,-3784)|0;h=(c[a+56>>2]|0)+2048>>12;m=j+(i*2493|0)+(H(h,-535)|0)|0;g=(c[a+60>>2]|0)+2048>>12;k=(c[a+64>>2]|0)+2048>>12;f=H(k,-1567)|0;a=(c[a+68>>2]|0)+2048>>12;m=m+(g*4061|0)+f+(H(a,-3250)|0)|0;c[e+96>>2]=m;c[e+116>>2]=0-m;m=(l*1567|0)+(H(i,-3250)|0)+(h*4061|0)+(g*535|0)+(H(k,-3784)|0)+(H(a,-2493)|0)|0;c[e+120>>2]=m;c[e+140>>2]=m;m=j+(i*1567|0)+(h*3784|0)+(H(g,-1567)|0)+f+(a*3784|0)|0;c[e+100>>2]=m;c[e+112>>2]=0-m;l=H(l,-1567)|0;k=k*3784|0;m=l+(H(i,-3784)|0)+(h*1567|0)+(g*3784|0)+k+(a*1567|0)|0;c[e+124>>2]=m;c[e+136>>2]=m;k=l+(i*535|0)+(h*2493|0)+(H(g,-3250)|0)+k+(H(a,-4061)|0)|0;c[e+104>>2]=k;c[e+108>>2]=0-k;a=j+(H(i,-4061)|0)+(H(h,-3250)|0)+(H(g,-2493)|0)+f+(H(a,-535)|0)|0;c[e+128>>2]=a;c[e+132>>2]=a;c[b>>2]=0;c[b+24>>2]=((c[e>>2]|0)+2048>>12)*535;c[b+48>>2]=(((c[e+48>>2]|0)+2048>>12)*535|0)+(((c[e+24>>2]|0)+2048>>12)*4061|0);c[b+72>>2]=(((c[e+96>>2]|0)+2048>>12)*535|0)+(((c[e+72>>2]|0)+2048>>12)*4061|0);c[b+96>>2]=((c[e+120>>2]|0)+2048>>12)*4061;c[b+120>>2]=0;c[b+4>>2]=0;c[b+28>>2]=((c[e+4>>2]|0)+2048>>12)*1567;c[b+52>>2]=(((c[e+52>>2]|0)+2048>>12)*1567|0)+(((c[e+28>>2]|0)+2048>>12)*3784|0);c[b+76>>2]=(((c[e+100>>2]|0)+2048>>12)*1567|0)+(((c[e+76>>2]|0)+2048>>12)*3784|0);c[b+100>>2]=((c[e+124>>2]|0)+2048>>12)*3784;c[b+124>>2]=0;c[b+8>>2]=0;c[b+32>>2]=((c[e+8>>2]|0)+2048>>12)*2493;c[b+56>>2]=(((c[e+56>>2]|0)+2048>>12)*2493|0)+(((c[e+32>>2]|0)+2048>>12)*3250|0);c[b+80>>2]=(((c[e+104>>2]|0)+2048>>12)*2493|0)+(((c[e+80>>2]|0)+2048>>12)*3250|0);c[b+104>>2]=((c[e+128>>2]|0)+2048>>12)*3250;c[b+128>>2]=0;c[b+12>>2]=0;c[b+36>>2]=((c[e+12>>2]|0)+2048>>12)*3250;c[b+60>>2]=(((c[e+60>>2]|0)+2048>>12)*3250|0)+(((c[e+36>>2]|0)+2048>>12)*2493|0);c[b+84>>2]=(((c[e+108>>2]|0)+2048>>12)*3250|0)+(((c[e+84>>2]|0)+2048>>12)*2493|0);c[b+108>>2]=((c[e+132>>2]|0)+2048>>12)*2493;c[b+132>>2]=0;c[b+16>>2]=0;c[b+40>>2]=((c[e+16>>2]|0)+2048>>12)*3784;c[b+64>>2]=(((c[e+64>>2]|0)+2048>>12)*3784|0)+(((c[e+40>>2]|0)+2048>>12)*1567|0);c[b+88>>2]=(((c[e+112>>2]|0)+2048>>12)*3784|0)+(((c[e+88>>2]|0)+2048>>12)*1567|0);c[b+112>>2]=((c[e+136>>2]|0)+2048>>12)*1567;c[b+136>>2]=0;c[b+20>>2]=0;c[b+44>>2]=((c[e+20>>2]|0)+2048>>12)*4061;c[b+68>>2]=(((c[e+68>>2]|0)+2048>>12)*4061|0)+(((c[e+44>>2]|0)+2048>>12)*535|0);c[b+92>>2]=(((c[e+116>>2]|0)+2048>>12)*4061|0)+(((c[e+92>>2]|0)+2048>>12)*535|0);c[b+116>>2]=((c[e+140>>2]|0)+2048>>12)*535;c[b+140>>2]=0;$c=d;return}function JS(b){b=b|0;var e=0,f=0,g=0,h=0;h=b+28|0;e=rS(h)|0;g=c[b+4>>2]|0;f=g+-1|0;a:do if(e>>>0>>0){b=e;while(1){e=b+1|0;if((a[b>>0]|0)==-1?(d[e>>0]|0)>223:0){e=b;break a}if(e>>>0>>0)b=e;else break}}while(0);if((g-e|0)<8){h=-1;return h|0}pS(h,e);h=0;return h|0}function KS(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=j;g=a+28|0;c[g>>2]=0;h=a+32|0;c[h>>2]=0;i=d+28|0;sS(i,11);if(!(tS(i,1)|0))c[g>>2]=c[g>>2]|16384;k=(tS(i,1)|0)==0;e=c[g>>2]|0;if(!k){if(e&16384|0){c[d+60>>2]=257;k=-1;$c=j;return k|0}}else c[g>>2]=e|4096;k=tS(i,2)|0;c[a>>2]=4-k;if(!k){c[d+60>>2]=258;k=-1;$c=j;return k|0}if(!(tS(i,1)|0)){c[g>>2]=c[g>>2]|16;c[f>>2]=c[i>>2];c[f+4>>2]=c[i+4>>2];b[a+24>>1]=uS(f,16,-1)|0}e=tS(i,4)|0;if((e|0)==15){c[d+60>>2]=259;k=-1;$c=j;return k|0}k=c[a>>2]|0;c[a+16>>2]=c[113492+(((c[g>>2]&4096|0)==0?k+-1|0:(k>>>1)+3|0)*60|0)+(e<<2)>>2];e=tS(i,2)|0;if((e|0)==3){c[d+60>>2]=260;k=-1;$c=j;return k|0}e=c[113792+(e<<2)>>2]|0;d=a+20|0;c[d>>2]=e;f=c[g>>2]|0;if(f&4096|0?(c[d>>2]=e>>>1,f&16384|0):0)c[d>>2]=e>>>2;if(tS(i,1)|0)c[g>>2]=c[g>>2]|128;if(tS(i,1)|0)c[h>>2]=c[h>>2]|256;c[a+4>>2]=3-(tS(i,2)|0);c[a+8>>2]=tS(i,2)|0;if(tS(i,1)|0)c[g>>2]=c[g>>2]|32;if(tS(i,1)|0)c[g>>2]=c[g>>2]|64;c[a+12>>2]=tS(i,2)|0;if(!(c[g>>2]&16)){k=0;$c=j;return k|0}b[a+26>>1]=tS(i,16)|0;k=0;$c=j;return k|0}function LS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;c[a>>2]=b;if(d>>>0>=e>>>0&(e|0)!=0){h=(d>>>0)/(e>>>0)|0;i=h+b|0;c[a>>2]=i;d=d-(H(h,e)|0)|0}else i=b;a:do if((e|0)>=16e3){if((e|0)<32e3){if((e|0)<22050){switch(e|0){case 16e3:break;default:{f=4;break a}}d=d*22050|0;b=a+4|0;c[b>>2]=d;break}switch(e|0){case 22050:{d=d*16e3|0;b=a+4|0;c[b>>2]=d;break a}case 24e3:{d=d*14700|0;b=a+4|0;c[b>>2]=d;break a}default:{f=4;break a}}}if((e|0)<48e3)if((e|0)<44100){switch(e|0){case 32e3:break;default:{f=4;break a}}d=d*11025|0;b=a+4|0;c[b>>2]=d;break}else{switch(e|0){case 44100:break;default:{f=4;break a}}d=d*8e3|0;b=a+4|0;c[b>>2]=d;break}else if((e|0)<3528e5){switch(e|0){case 48e3:break;default:{f=4;break a}}d=d*7350|0;b=a+4|0;c[b>>2]=d;break}else{switch(e|0){case 3528e5:break;default:{f=4;break a}}b=a+4|0;c[b>>2]=d;break}}else{if((e|0)<8e3){switch(e|0){case 1:case 0:break;case 1e3:{d=d*352800|0;b=a+4|0;c[b>>2]=d;break a}default:{f=4;break a}}c[a+4>>2]=0;return}if((e|0)<11025){switch(e|0){case 8e3:break;default:{f=4;break a}}d=d*44100|0;b=a+4|0;c[b>>2]=d;break}switch(e|0){case 11025:{d=d*32e3|0;b=a+4|0;c[b>>2]=d;break a}case 12e3:{d=d*29400|0;b=a+4|0;c[b>>2]=d;break a}default:{f=4;break a}}}while(0);if((f|0)==4){b=d;f=e;while(1){b=(b>>>0)%(f>>>0)|0;if(!b)break;else{h=f;f=b;b=h}}g=(d>>>0)/(f>>>0)|0;h=(e>>>0)/(f>>>0)|0;if(f>>>0>e>>>0)f=3528e5;else{d=3528e5;f=h;while(1){d=(d>>>0)%(f>>>0)|0;if(!d)break;else{e=f;f=d;d=e}}}d=3528e5/(f>>>0)|0;b=(h>>>0)/(f>>>0)|0;if(f>>>0>h>>>0)ta(179207,179218,144,179226);do if(b>>>0>=d>>>0)if(b>>>0>>0){h=(g>>>0)/(b>>>0)|0;d=(((H(g-(H(h,b)|0)|0,d)|0)>>>0)/(b>>>0)|0)+(H(h,d)|0)|0;break}else{d=((H(d,g)|0)>>>0)/(b>>>0)|0;break}else{h=(d>>>0)/(b>>>0)|0;d=(((H(d-(H(h,b)|0)|0,g)|0)>>>0)/(b>>>0)|0)+(H(h,g)|0)|0}while(0);b=a+4|0;c[b>>2]=d}if(d>>>0<=352799999)return;h=(d>>>0)/3528e5|0;c[a>>2]=i+h;c[b>>2]=d-(H(h,3528e5)|0);return}function MS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=$c;$c=$c+112|0;if(($c|0)>=(ad|0))N(112);j=t+48|0;i=t;r=a+28|0;q=r;p=c[q>>2]|0;q=c[q+4>>2]|0;m=c[b+28>>2]|0;d=m>>>7&1;m=(c[b>>2]|0)==3?((m&4096|0)==0?144:72):144;if(!(JS(a)|0)){k=i+20|0;l=b+20|0;o=a+20|0;n=4-(d<<2)|0;h=d^1;d=0;do{e=j;f=a;g=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));e=i;f=b;g=e+44|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));if(((KS(i,j)|0)==0?(c[i>>2]|0)==(c[b>>2]|0):0)?(c[k>>2]|0)==(c[l>>2]|0):0){d=rS(r)|0;g=(c[b>>2]|0)==1;g=((H(c[l>>2]|0,(g?n:h)+(d-(c[o>>2]|0))|0)|0)>>>0)/((g?48:m)>>>0)|0;d=(g>>>0)/1e3|0;if(g>>>0>=8e3){s=8;break}}sS(r,8)}while((JS(a)|0)==0);s=r;c[s>>2]=p;c[s+4>>2]=q;if(d>>>0>=8?!(d>>>0>640&(c[b>>2]|0)==3):0){c[a+16>>2]=d*1e3;s=0;$c=t;return s|0}}else{s=r;c[s>>2]=p;c[s+4>>2]=q}c[a+60>>2]=257;s=-1;$c=t;return s|0}function NS(a){a=a|0;var b=0;ZW(a|0,0,1024)|0;b=0;do{c[a+1536+(b<<5)>>2]=0;c[a+1024+(b<<5)>>2]=0;c[a+1536+(b<<5)+4>>2]=0;c[a+1024+(b<<5)+4>>2]=0;c[a+1536+(b<<5)+8>>2]=0;c[a+1024+(b<<5)+8>>2]=0;c[a+1536+(b<<5)+12>>2]=0;c[a+1024+(b<<5)+12>>2]=0;c[a+1536+(b<<5)+16>>2]=0;c[a+1024+(b<<5)+16>>2]=0;c[a+1536+(b<<5)+20>>2]=0;c[a+1024+(b<<5)+20>>2]=0;c[a+1536+(b<<5)+24>>2]=0;c[a+1024+(b<<5)+24>>2]=0;c[a+1536+(b<<5)+28>>2]=0;c[a+1024+(b<<5)+28>>2]=0;b=b+1|0}while((b|0)!=16);ZW(a+2048|0,0,1024)|0;b=0;do{c[a+3584+(b<<5)>>2]=0;c[a+3072+(b<<5)>>2]=0;c[a+3584+(b<<5)+4>>2]=0;c[a+3072+(b<<5)+4>>2]=0;c[a+3584+(b<<5)+8>>2]=0;c[a+3072+(b<<5)+8>>2]=0;c[a+3584+(b<<5)+12>>2]=0;c[a+3072+(b<<5)+12>>2]=0;c[a+3584+(b<<5)+16>>2]=0;c[a+3072+(b<<5)+16>>2]=0;c[a+3584+(b<<5)+20>>2]=0;c[a+3072+(b<<5)+20>>2]=0;c[a+3584+(b<<5)+24>>2]=0;c[a+3072+(b<<5)+24>>2]=0;c[a+3584+(b<<5)+28>>2]=0;c[a+3072+(b<<5)+28>>2]=0;b=b+1|0}while((b|0)!=16);return}function OS(a){a=a|0;var b=0;ZW(a+48|0,0,9216)|0;a=c[a+9264>>2]|0;if(!a)return;ZW(a|0,0,2304)|0;b=0;do{c[a+2304+(b<<2)>>2]=0;c[a+2376+(b<<2)>>2]=0;c[a+2448+(b<<2)>>2]=0;c[a+2520+(b<<2)>>2]=0;c[a+2592+(b<<2)>>2]=0;c[a+2664+(b<<2)>>2]=0;c[a+2736+(b<<2)>>2]=0;c[a+2808+(b<<2)>>2]=0;c[a+2880+(b<<2)>>2]=0;c[a+2952+(b<<2)>>2]=0;c[a+3024+(b<<2)>>2]=0;c[a+3096+(b<<2)>>2]=0;c[a+3168+(b<<2)>>2]=0;c[a+3240+(b<<2)>>2]=0;c[a+3312+(b<<2)>>2]=0;c[a+3384+(b<<2)>>2]=0;c[a+3456+(b<<2)>>2]=0;c[a+3528+(b<<2)>>2]=0;c[a+3600+(b<<2)>>2]=0;c[a+3672+(b<<2)>>2]=0;c[a+3744+(b<<2)>>2]=0;c[a+3816+(b<<2)>>2]=0;c[a+3888+(b<<2)>>2]=0;c[a+3960+(b<<2)>>2]=0;c[a+4032+(b<<2)>>2]=0;c[a+4104+(b<<2)>>2]=0;c[a+4176+(b<<2)>>2]=0;c[a+4248+(b<<2)>>2]=0;c[a+4320+(b<<2)>>2]=0;c[a+4392+(b<<2)>>2]=0;c[a+4464+(b<<2)>>2]=0;c[a+4536+(b<<2)>>2]=0;b=b+1|0}while((b|0)!=18);return}function PS(){QS(0);return}function QS(a){a=a|0;Za(58632,179241);Oa(58648,179246,1,1,0);Va(58656,179251,1,-128,127);Va(58672,179256,1,-128,127);Va(58664,179268,1,0,255);Va(58680,179282,2,-32768,32767);Va(58688,179288,2,0,65535);Va(58696,179303,4,-2147483648,2147483647);Va(58704,179307,4,0,-1);Va(58712,179320,4,-2147483648,2147483647);Va(58720,179325,4,0,-1);Ua(58728,179339,4);Ua(58736,179345,8);Xa(9528,179352);Xa(57912,179364);Ya(57936,4,179397);Ta(9552,179410);Wa(57960,0,179426);Wa(57968,0,179456);Wa(57976,1,179493);Wa(57984,2,179532);Wa(57992,3,179563);Wa(58e3,4,179603);Wa(58008,5,179632);Wa(58016,4,179670);Wa(58024,5,179700);Wa(57968,0,179739);Wa(57976,1,179771);Wa(57984,2,179804);Wa(57992,3,179837);Wa(58e3,4,179871);Wa(58008,5,179904);Wa(58032,6,179938);Wa(58040,7,179969);Wa(58048,7,180001);return}function RS(a){a=a|0;return xU(c[a+4>>2]|0)|0}function SS(a){a=a|0;var b=0,d=0;b=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);d=b;c[d>>2]=XS(c[a+60>>2]|0)|0;a=VS(La(6,d|0)|0)|0;$c=b;return a|0}function TS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);k=m+32|0;g=m+16|0;f=m;i=a+28|0;e=c[i>>2]|0;c[f>>2]=e;j=a+20|0;e=(c[j>>2]|0)-e|0;c[f+4>>2]=e;c[f+8>>2]=b;c[f+12>>2]=d;e=e+d|0;h=a+60|0;c[g>>2]=c[h>>2];c[g+4>>2]=f;c[g+8>>2]=2;g=VS(Ga(146,g|0)|0)|0;a:do if((e|0)!=(g|0)){b=2;while(1){if((g|0)<0)break;e=e-g|0;o=c[f+4>>2]|0;n=g>>>0>o>>>0;f=n?f+8|0:f;b=b+(n<<31>>31)|0;o=g-(n?o:0)|0;c[f>>2]=(c[f>>2]|0)+o;n=f+4|0;c[n>>2]=(c[n>>2]|0)-o;c[k>>2]=c[h>>2];c[k+4>>2]=f;c[k+8>>2]=b;g=VS(Ga(146,k|0)|0)|0;if((e|0)==(g|0)){l=3;break a}}c[a+16>>2]=0;c[i>>2]=0;c[j>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[f+4>>2]|0)|0}else l=3;while(0);if((l|0)==3){o=c[a+44>>2]|0;c[a+16>>2]=o+(c[a+48>>2]|0);c[i>>2]=o;c[j>>2]=o}$c=m;return d|0}function US(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);h=g+8|0;f=g;c[h>>2]=c[a+60>>2];c[h+4>>2]=d;c[h+8>>2]=b;c[h+12>>2]=f;c[h+16>>2]=e;if((VS(Fa(140,h|0)|0)|0)<0){a=f;c[a>>2]=-1;c[a+4>>2]=-1;a=-1;b=-1}else{b=f;a=c[b+4>>2]|0;b=c[b>>2]|0}L(a|0);$c=g;return b|0}function VS(a){a=a|0;if(a>>>0>4294963200){c[(WS()|0)>>2]=0-a;a=-1}return a|0}function WS(){return 185316}function XS(a){a=a|0;return a|0}function YS(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);f=g;c[b+36>>2]=3;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21523,c[f+8>>2]=g+16,Ka(54,f|0)|0):0)a[b+75>>0]=-1;f=TS(b,d,e)|0;$c=g;return f|0}function ZS(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);h=j;c[h>>2]=0;i=h+4|0;c[i>>2]=a;c[h+44>>2]=a;g=h+8|0;c[g>>2]=(a|0)<0?-1:a+2147483647|0;c[h+76>>2]=-1;_S(h,0,0);d=$S(h,d,1,e,f)|0;e=M()|0;if(b|0)c[b>>2]=a+((c[i>>2]|0)+(c[h+120>>2]|0)-(c[g>>2]|0));L(e|0);$c=j;return d|0}function _S(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=a+112|0;c[f>>2]=b;c[f+4>>2]=d;f=c[a+8>>2]|0;e=c[a+4>>2]|0;g=f-e|0;h=((g|0)<0)<<31>>31;i=a+120|0;c[i>>2]=g;c[i+4>>2]=h;if(((b|0)!=0|(d|0)!=0)&((h|0)>(d|0)|(h|0)==(d|0)&g>>>0>b>>>0))c[a+104>>2]=e+b;else c[a+104>>2]=f;return}function $S(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[(WS()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+104|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=aT(b)|0}while((bT(i)|0)!=0);b:do switch(i|0){case 43:case 45:{i=((i|0)==45)<<31>>31;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;p=i;i=d[j>>0]|0;break b}else{p=i;i=aT(b)|0;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=aT(b)|0;if((i|32|0)!=120)if(j){o=8;n=47;break}else{n=32;break}i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=aT(b)|0;if((d[273+i>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){_S(b,0,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{o=16;n=47}}else{e=j?10:e;if(e>>>0>(d[273+i>>0]|0)>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;_S(b,0,0);c[(WS()|0)>>2]=22;h=0;g=0;break a}}while(0);c:do if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;do{i=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=aT(b)|0;e=j+-48|0}while(e>>>0<10&i>>>0<429496729);if(e>>>0<10){m=0;do{f=OW(i|0,m|0,10,0)|0;k=M()|0;l=((e|0)<0)<<31>>31;o=~l;if(k>>>0>o>>>0|(k|0)==(o|0)&f>>>0>~e>>>0){f=10;e=m;n=76;break c}i=IW(f|0,k|0,e|0,l|0)|0;m=M()|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=aT(b)|0;e=j+-48|0}while(e>>>0<10&(m>>>0<429496729|(m|0)==429496729&i>>>0<2576980378));if(e>>>0>9){j=p;e=m}else{f=10;e=m;n=76}}else{j=p;e=0}}else{j=p;e=0;i=0}}else{o=e;n=47}while(0);d:do if((n|0)==47){if(!(o+-1&o)){n=a[180536+((o*23|0)>>>5&7)>>0]|0;f=a[273+i>>0]|0;e=f&255;if(o>>>0>e>>>0){i=0;do{i=e|i<>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=aT(b)|0;f=a[273+j>>0]|0;e=f&255}while(i>>>0<134217728&o>>>0>e>>>0);k=e;e=0}else{j=i;k=e;e=0;i=0}l=SW(-1,-1,n|0)|0;m=M()|0;if(o>>>0<=k>>>0|(m>>>0>>0|(m|0)==(e|0)&l>>>0>>0)){f=o;n=76;break}while(1){i=TW(i|0,e|0,n|0)|0;e=M()|0;i=i|f&255;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=aT(b)|0;f=a[273+j>>0]|0;if(o>>>0<=(f&255)>>>0|(e>>>0>m>>>0|(e|0)==(m|0)&i>>>0>l>>>0)){f=o;n=76;break d}}}e=a[273+i>>0]|0;f=e&255;if(o>>>0>f>>>0){i=0;do{i=f+(H(i,o)|0)|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=aT(b)|0;e=a[273+j>>0]|0;f=e&255}while(i>>>0<119304647&o>>>0>f>>>0);k=e;e=0}else{j=i;k=e;i=0;e=0}if(o>>>0>f>>>0){m=QW(-1,-1,o|0,0)|0;n=M()|0;f=k;while(1){if(e>>>0>n>>>0|(e|0)==(n|0)&i>>>0>m>>>0){f=o;n=76;break d}k=OW(i|0,e|0,o|0,0)|0;l=M()|0;f=f&255;if(l>>>0>4294967295|(l|0)==-1&k>>>0>~f>>>0){f=o;n=76;break d}i=IW(k|0,l|0,f|0,0)|0;e=M()|0;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=aT(b)|0;f=a[273+j>>0]|0;if(o>>>0<=(f&255)>>>0){f=o;n=76;break}}}else{f=o;n=76}}while(0);if((n|0)==76)if(f>>>0>(d[273+j>>0]|0)>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=aT(b)|0}while(f>>>0>(d[273+i>>0]|0)>>>0);c[(WS()|0)>>2]=34;j=(g&1|0)==0&0==0?p:0;e=h;i=g}else j=p;if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(e>>>0>>0|(e|0)==(h|0)&i>>>0>>0)){if(!((g&1|0)!=0|0!=0|(j|0)!=0)){c[(WS()|0)>>2]=34;g=IW(g|0,h|0,-1,-1)|0;h=M()|0;break}if(e>>>0>h>>>0|(e|0)==(h|0)&i>>>0>g>>>0){c[(WS()|0)>>2]=34;break}}g=((j|0)<0)<<31>>31;g=JW(i^j|0,e^g|0,j|0,g|0)|0;h=M()|0}while(0);L(h|0);return g|0}function aT(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=b+112|0;f=g;e=c[f>>2]|0;f=c[f+4>>2]|0;if(!((e|0)==0&(f|0)==0)?(i=b+120|0,h=c[i+4>>2]|0,!((h|0)<(f|0)|((h|0)==(f|0)?(c[i>>2]|0)>>>0>>0:0))):0)j=4;else{e=cT(b)|0;if((e|0)>=0){f=c[g>>2]|0;g=c[g+4>>2]|0;i=c[b+8>>2]|0;if(!((f|0)==0&(g|0)==0)){h=c[b+4>>2]|0;k=i-h|0;l=((k|0)<0)<<31>>31;m=b+120|0;f=JW(f|0,g|0,c[m>>2]|0,c[m+4>>2]|0)|0;m=M()|0;g=i;if((m|0)>(l|0)|(m|0)==(l|0)&f>>>0>k>>>0)j=9;else c[b+104>>2]=h+(f+-1)}else{g=i;j=9}if((j|0)==9)c[b+104>>2]=i;f=b+4|0;if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;k=g+1-f|0;m=b+120|0;l=m;k=IW(c[l>>2]|0,c[l+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0;l=M()|0;c[m>>2]=k;c[m+4>>2]=l}f=f+-1|0;if((e|0)!=(d[f>>0]|0|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+104>>2]=0;e=-1}return e|0}function bT(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function cT(a){a=a|0;var b=0,e=0;e=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);b=e;if((dT(a)|0)==0?(id[c[a+32>>2]&15](a,b,1)|0)==1:0)a=d[b>>0]|0;else a=-1;$c=e;return a|0}function dT(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=b+20|0;e=b+28|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)id[c[b+36>>2]&15](b,0,0)|0;c[b+16>>2]=0;c[e>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(!(d&4)){e=(c[b+44>>2]|0)+(c[b+48>>2]|0)|0;c[b+8>>2]=e;c[b+4>>2]=e;d=d<<27>>31}else{c[b>>2]=d|32;d=-1}return d|0}function eT(a,b,c){a=a|0;b=b|0;c=c|0;c=ZS(a,b,c,0,-2147483648)|0;L(M()|0);return c|0}function fT(a,b,c){a=a|0;b=b|0;c=c|0;c=ZS(a,b,c,-1,0)|0;M()|0;return c|0}function gT(a,b,c){a=a|0;b=b|0;c=c|0;c=ZS(a,b,c,-2147483648,0)|0;M()|0;return c|0}function hT(a,b){a=+a;b=+b;var d=0.0,e=0,f=0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);l=p+24|0;m=p+16|0;n=p+8|0;o=p;g[h>>3]=a;s=c[h>>2]|0;i=c[h+4>>2]|0;g[h>>3]=b;e=c[h>>2]|0;i=i&2147483647;f=c[h+4>>2]&2147483647;j=i>>>0>>0|(i|0)==(f|0)&s>>>0>>0;r=j?e:s;q=j?f:i;e=j?s:e;f=j?i:f;i=SW(r|0,q|0,52)|0;M()|0;j=SW(e|0,f|0,52)|0;M()|0;c[h>>2]=r;c[h+4>>2]=q;a=+g[h>>3];c[h>>2]=e;c[h+4>>2]=f;k=+g[h>>3];do if((j|0)!=2047){if(!((e|0)==0&(f|0)==0|(i|0)==2047)){if((i-j|0)>64){a=a+k;break}if((i|0)>1533){d=5260135901548373507240989.0e186;b=a*1.90109156629516e-211;a=k*1.90109156629516e-211}else{s=(j|0)<573;d=s?1.90109156629516e-211:1.0;b=s?a*5260135901548373507240989.0e186:a;a=s?k*5260135901548373507240989.0e186:k}iT(l,m,b);iT(n,o,a);a=d*+v(+(+g[o>>3]+ +g[m>>3]+ +g[n>>3]+ +g[l>>3]))}}else a=k;while(0);$c=p;return +a}function iT(a,b,c){a=a|0;b=b|0;c=+c;var d=0.0,e=0.0;e=c*134217729.0;e=e+(c-e);d=c-e;c=c*c;g[a>>3]=c;g[b>>3]=d*d+(e*e-c+e*2.0*d);return}function jT(a,b){a=+a;b=+b;var d=0,e=0;g[h>>3]=a;e=c[h>>2]|0;d=c[h+4>>2]|0;g[h>>3]=b;d=c[h+4>>2]&-2147483648|d&2147483647;c[h>>2]=e;c[h+4>>2]=d;return +(+g[h>>3])}function kT(a){a=+a;var b=0;g[h>>3]=a;b=c[h+4>>2]&2147483647;c[h>>2]=c[h>>2];c[h+4>>2]=b;a=+g[h>>3];do if(b>>>0<1072049730)if(b>>>0<1045430272)a=1.0;else{a=+mT(a);a=a*a/((a+1.0)*2.0)+1.0}else if(b>>>0<1082535490){a=+E(+a);a=(a+1.0/a)*.5;break}else{a=+nT(a);break}while(0);return +a}function lT(a){a=+a;var b=0.0,d=0,e=0.0;g[h>>3]=a;d=c[h+4>>2]|0;e=(d|0)<0?-.5:.5;d=d&2147483647;c[h>>2]=c[h>>2];c[h+4>>2]=d;b=+g[h>>3];do if(d>>>0<1082535490){b=+mT(b);if(d>>>0>=1072693248){a=e*(b+b/(b+1.0));break}if(d>>>0>=1045430272)a=e*(b*2.0-b*b/(b+1.0))}else a=e*2.0*+nT(b);while(0);return +a}function mT(a){a=+a;var b=0,d=0,e=0.0,f=0.0,i=0.0,j=0,k=0,l=0.0;g[h>>3]=a;d=c[h+4>>2]|0;b=d&2147483647;d=SW(c[h>>2]|0,d|0,63)|0;M()|0;do if(b>>>0>1078159481){j=oT(a)|0;b=(M()|0)&2147483647;if(!(b>>>0>2146435072|(b|0)==2146435072&j>>>0>0))if(!d)if(a>709.782712893384)a=a*8988465674311579538646525.0e283;else k=11;else a=-1.0}else{if(b>>>0<=1071001154)if(b>>>0<1016070144)break;else{i=0.0;j=0;k=14;break}if(b>>>0<1072734898)if(!d){b=1;e=a+-.6931471803691238;f=1.9082149292705877e-10;k=12;break}else{b=-1;e=a+.6931471803691238;f=-1.9082149292705877e-10;k=12;break}else k=11}while(0);if((k|0)==11){b=~~(a*1.4426950408889634+((d|0)==0?.5:-.5));f=+(b|0);e=a-f*.6931471803691238;f=f*1.9082149292705877e-10;k=12}if((k|0)==12){i=e-f;a=i;i=e-i-f;j=b;k=14}a:do if((k|0)==14){f=a*.5;e=a*f;l=e*(e*(e*(e*(4.008217827329362e-06-e*2.0109921818362437e-07)+-7.93650757867488e-05)+1.5873015872548146e-03)+-.03333333333333313)+1.0;f=3.0-f*l;f=e*((l-f)/(6.0-a*f));if(!j){a=a-(a*f-e);break}f=a*(f-i)-i-e;switch(j|0){case -1:{a=(a-f)*.5+-.5;break a}case 1:if(a<-.25){a=(f-(a+.5))*-2.0;break a}else{a=(a-f)*2.0+1.0;break a}default:{d=TW(j+1023|0,0,52)|0;k=M()|0;c[h>>2]=d;c[h+4>>2]=k;i=+g[h>>3];if(j>>>0>56){a=a-f+1.0;a=((j|0)==1024?a*2.0*8988465674311579538646525.0e283:a*i)+-1.0;break a}b=TW(1023-j|0,0,52)|0;d=M()|0;if((j|0)<20){c[h>>2]=b;c[h+4>>2]=d;e=1.0-+g[h>>3];a=a-f}else{c[h>>2]=b;c[h+4>>2]=d;e=a-(f+ +g[h>>3]);a=1.0}a=(e+a)*i;break a}}}while(0);return +a}function nT(a){a=+a;return +(+E(+(a+-1416.0996898839683))*2247116418577894884661631.0e283*2247116418577894884661631.0e283)}function oT(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;L(c[h+4>>2]|0);return b|0}function pT(b,c){b=b|0;c=c|0;var d=0,e=0;d=a[b>>0]|0;e=a[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24)b=e;else{do{b=b+1|0;c=c+1|0;d=a[b>>0]|0;e=a[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));b=e}return (d&255)-(b&255)|0}function qT(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)b=0;else{while(1){e=a[b>>0]|0;f=a[c>>0]|0;if(e<<24>>24!=f<<24>>24)break;d=d+-1|0;if(!d){b=0;break a}else{b=b+1|0;c=c+1|0}}b=(e&255)-(f&255)|0}while(0);return b|0}function rT(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;if(!e)f=0;else{f=a[b>>0]|0;a:do if(!(f<<24>>24))f=0;else while(1){e=e+-1|0;g=a[c>>0]|0;if(!(f<<24>>24==g<<24>>24&((e|0)!=0&g<<24>>24!=0)))break a;b=b+1|0;c=c+1|0;f=a[b>>0]|0;if(!(f<<24>>24)){f=0;break}}while(0);f=(f&255)-(d[c>>0]|0)|0}return f|0}function sT(a){a=a|0;return (a+-48|0)>>>0<10|0}function tT(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=$c;$c=$c+160|0;if(($c|0)>=(ad|0))N(160);g=j+144|0;i=j;XW(i|0,58344,144)|0;if((d+-1|0)>>>0>2147483646)if(!d){b=g;d=1;h=4}else{c[(WS()|0)>>2]=75;d=-1}else h=4;if((h|0)==4){h=-2-b|0;h=d>>>0>h>>>0?h:d;c[i+48>>2]=h;g=i+20|0;c[g>>2]=b;c[i+44>>2]=b;d=b+h|0;b=i+16|0;c[b>>2]=d;c[i+28>>2]=d;d=uT(i,e,f)|0;if(h){i=c[g>>2]|0;a[i+(((i|0)==(c[b>>2]|0))<<31>>31)>>0]=0}}$c=j;return d|0}function uT(a,b,c){a=a|0;b=b|0;c=c|0;return xT(a,b,c,1,206)|0}function vT(b,e,f,g,h,i){b=b|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=$c;$c=$c+560|0;if(($c|0)>=(ad|0))N(560);l=F+32|0;u=F+536|0;E=F;D=E;m=F+540|0;c[u>>2]=0;C=m+12|0;PT(e)|0;j=M()|0;if((j|0)<0){e=-e;PT(e)|0;B=1;A=180562;j=M()|0}else{B=(h&2049|0)!=0&1;A=(h&2048|0)==0?((h&1|0)==0?180563:180568):180565}do if(0==0&(j&2146435072|0)==2146435072){E=(i&32|0)!=0;j=B+3|0;IT(b,32,f,j,h&-65537);BT(b,A,B);BT(b,e!=e|0.0!=0.0?(E?180604:180589):E?180581:180585,3);IT(b,32,f,j,h^8192)}else{q=+QT(e,u)*2.0;j=q!=0.0;if(j)c[u>>2]=(c[u>>2]|0)+-1;t=i|32;if((t|0)==97){o=i&32;r=(o|0)==0?A:A+9|0;p=B|2;j=12-g|0;do if(!(g>>>0>11|(j|0)==0)){e=8.0;do{j=j+-1|0;e=e*16.0}while((j|0)!=0);if((a[r>>0]|0)==45){e=-(e+(-q-e));break}else{e=q+e-e;break}}else e=q;while(0);k=c[u>>2]|0;j=(k|0)<0?0-k|0:k;j=GT(j,((j|0)<0)<<31>>31,C)|0;if((j|0)==(C|0)){j=m+11|0;a[j>>0]=48}a[j+-1>>0]=(k>>31&2)+43;n=j+-2|0;a[n>>0]=i+15;k=(g|0)<1;l=(h&8|0)==0;m=E;do{B=~~e;j=m+1|0;a[m>>0]=o|d[1008+B>>0];e=(e-+(B|0))*16.0;if((j-D|0)==1?!(l&(k&e==0.0)):0){a[j>>0]=46;m=m+2|0}else m=j}while(e!=0.0);if((g|0)!=0?(-2-D+m|0)<(g|0):0){k=C;l=n;j=g+2+k-l|0}else{k=C;l=n;j=k-D-l+m|0}C=j+p|0;IT(b,32,f,C,h);BT(b,r,p);IT(b,48,f,C,h^65536);D=m-D|0;BT(b,E,D);E=k-l|0;IT(b,48,j-(D+E)|0,0,0);BT(b,n,E);IT(b,32,f,C,h^8192);j=C;break}k=(g|0)<0?6:g;if(j){j=(c[u>>2]|0)+-28|0;c[u>>2]=j;e=q*268435456.0}else{e=q;j=c[u>>2]|0}z=(j|0)<0?l:l+288|0;l=z;do{x=~~e>>>0;c[l>>2]=x;l=l+4|0;e=(e-+(x>>>0))*1.0e9}while(e!=0.0);x=z;if((j|0)>0){o=z;while(1){n=(j|0)<29?j:29;j=l+-4|0;if(j>>>0>=o>>>0){m=0;do{s=TW(c[j>>2]|0,0,n|0)|0;s=IW(s|0,M()|0,m|0,0)|0;v=M()|0;m=QW(s|0,v|0,1e9,0)|0;w=OW(m|0,M()|0,1e9,0)|0;w=JW(s|0,v|0,w|0,M()|0)|0;M()|0;c[j>>2]=w;j=j+-4|0}while(j>>>0>=o>>>0);if(m){w=o+-4|0;c[w>>2]=m;m=w}else m=o}else m=o;a:do if(l>>>0>m>>>0){j=l;while(1){l=j+-4|0;if(c[l>>2]|0){l=j;break a}if(l>>>0>m>>>0)j=l;else break}}while(0);j=(c[u>>2]|0)-n|0;c[u>>2]=j;if((j|0)>0)o=m;else break}}else m=z;if((j|0)<0){g=((k+25|0)/9|0)+1|0;s=(t|0)==102;do{r=0-j|0;r=(r|0)<9?r:9;if(m>>>0>>0){n=(1<>>r;p=0;j=m;do{w=c[j>>2]|0;c[j>>2]=(w>>>r)+p;p=H(w&n,o)|0;j=j+4|0}while(j>>>0>>0);m=(c[m>>2]|0)==0?m+4|0:m;if(p){c[l>>2]=p;l=l+4|0}}else m=(c[m>>2]|0)==0?m+4|0:m;j=s?z:m;l=(l-j>>2|0)>(g|0)?j+(g<<2)|0:l;j=(c[u>>2]|0)+r|0;c[u>>2]=j}while((j|0)<0);s=m}else s=m;if(s>>>0>>0){j=(x-s>>2)*9|0;n=c[s>>2]|0;if(n>>>0>=10){m=10;do{m=m*10|0;j=j+1|0}while(n>>>0>=m>>>0)}}else j=0;v=(t|0)==103;w=(k|0)!=0;m=k-((t|0)==102?0:j)+((w&v)<<31>>31)|0;if((m|0)<(((l-x>>2)*9|0)+-9|0)){u=m+9216|0;m=(u|0)/9|0;g=z+4+(m+-1024<<2)|0;m=u-(m*9|0)|0;if((m|0)<8){n=10;while(1){n=n*10|0;if((m|0)<7)m=m+1|0;else break}}else n=10;p=c[g>>2]|0;m=(p>>>0)/(n>>>0)|0;r=p-(H(m,n)|0)|0;o=(g+4|0)==(l|0);if(!(o&(r|0)==0)){q=(m&1|0)==0?9007199254740992.0:9007199254740994.0;u=n>>>1;e=r>>>0>>0?.5:o&(r|0)==(u|0)?1.0:1.5;if(B){u=(a[A>>0]|0)==45;e=u?-e:e;q=u?-q:q}m=p-r|0;c[g>>2]=m;if(q+e!=q){u=m+n|0;c[g>>2]=u;if(u>>>0>999999999){n=g;j=s;while(1){m=n+-4|0;c[n>>2]=0;if(m>>>0>>0){j=j+-4|0;c[j>>2]=0}u=(c[m>>2]|0)+1|0;c[m>>2]=u;if(u>>>0>999999999)n=m;else{n=j;break}}}else{m=g;n=s}j=(x-n>>2)*9|0;p=c[n>>2]|0;if(p>>>0>=10){o=10;do{o=o*10|0;j=j+1|0}while(p>>>0>=o>>>0)}}else{m=g;n=s}}else{m=g;n=s}u=m+4|0;l=l>>>0>u>>>0?u:l}else n=s;g=0-j|0;b:do if(l>>>0>n>>>0)while(1){m=l+-4|0;if(c[m>>2]|0){u=l;t=1;break b}if(m>>>0>n>>>0)l=m;else{u=m;t=0;break}}else{u=l;t=0}while(0);do if(v){k=k+((w^1)&1)|0;if((k|0)>(j|0)&(j|0)>-5){o=i+-1|0;k=k+-1-j|0}else{o=i+-2|0;k=k+-1|0}if(!(h&8)){if(t?(y=c[u+-4>>2]|0,(y|0)!=0):0)if(!((y>>>0)%10|0)){m=0;l=10;do{l=l*10|0;m=m+1|0}while(!((y>>>0)%(l>>>0)|0|0))}else m=0;else m=9;l=((u-x>>2)*9|0)+-9|0;if((o|32|0)==102){i=l-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}else{i=l+j-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}}}else o=i;while(0);s=(k|0)!=0;p=s?1:h>>>3&1;r=(o|32|0)==102;if(r){v=0;j=(j|0)>0?j:0}else{l=(j|0)<0?g:j;l=GT(l,((l|0)<0)<<31>>31,C)|0;m=C;if((m-l|0)<2)do{l=l+-1|0;a[l>>0]=48}while((m-l|0)<2);a[l+-1>>0]=(j>>31&2)+43;j=l+-2|0;a[j>>0]=o;v=j;j=m-j|0}j=B+1+k+p+j|0;IT(b,32,f,j,h);BT(b,A,B);IT(b,48,f,j,h^65536);if(r){p=n>>>0>z>>>0?z:n;r=E+9|0;n=r;o=E+8|0;m=p;do{l=GT(c[m>>2]|0,0,r)|0;if((m|0)==(p|0)){if((l|0)==(r|0)){a[o>>0]=48;l=o}}else if(l>>>0>E>>>0){ZW(E|0,48,l-D|0)|0;do l=l+-1|0;while(l>>>0>E>>>0)}BT(b,l,n-l|0);m=m+4|0}while(m>>>0<=z>>>0);if(!((h&8|0)==0&(s^1)))BT(b,180593,1);if(m>>>0>>0&(k|0)>0)while(1){l=GT(c[m>>2]|0,0,r)|0;if(l>>>0>E>>>0){ZW(E|0,48,l-D|0)|0;do l=l+-1|0;while(l>>>0>E>>>0)}BT(b,l,(k|0)<9?k:9);m=m+4|0;l=k+-9|0;if(!(m>>>0>>0&(k|0)>9)){k=l;break}else k=l}IT(b,48,k+9|0,9,0)}else{u=t?u:n+4|0;if(n>>>0>>0&(k|0)>-1){g=E+9|0;s=(h&8|0)==0;t=g;p=0-D|0;r=E+8|0;o=n;do{l=GT(c[o>>2]|0,0,g)|0;if((l|0)==(g|0)){a[r>>0]=48;l=r}do if((o|0)==(n|0)){m=l+1|0;BT(b,l,1);if(s&(k|0)<1){l=m;break}BT(b,180593,1);l=m}else{if(l>>>0<=E>>>0)break;ZW(E|0,48,l+p|0)|0;do l=l+-1|0;while(l>>>0>E>>>0)}while(0);D=t-l|0;BT(b,l,(k|0)>(D|0)?D:k);k=k-D|0;o=o+4|0}while(o>>>0>>0&(k|0)>-1)}IT(b,48,k+18|0,18,0);BT(b,v,C-v|0)}IT(b,32,f,j,h^8192)}while(0);$c=F;return ((j|0)<(f|0)?f:j)|0}function wT(a,b){a=a|0;b=b|0;var d=0.0,e=0;e=(c[b>>2]|0)+(8-1)&~(8-1);d=+g[e>>3];c[b>>2]=e+8;g[a>>3]=d;return}function xT(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=$c;$c=$c+224|0;if(($c|0)>=(ad|0))N(224);p=t+208|0;q=t+160|0;r=t+80|0;s=t;h=q;i=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));c[p>>2]=c[e>>2];if((yT(0,d,p,r,q,f,g)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)o=zT(b)|0;else o=0;e=c[b>>2]|0;n=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;h=b+48|0;if(!(c[h>>2]|0)){i=b+44|0;j=c[i>>2]|0;c[i>>2]=s;k=b+28|0;c[k>>2]=s;l=b+20|0;c[l>>2]=s;c[h>>2]=80;m=b+16|0;c[m>>2]=s+80;e=yT(b,d,p,r,q,f,g)|0;if(j){id[c[b+36>>2]&15](b,0,0)|0;e=(c[l>>2]|0)==0?-1:e;c[i>>2]=j;c[h>>2]=0;c[m>>2]=0;c[k>>2]=0;c[l>>2]=0}}else e=yT(b,d,p,r,q,f,g)|0;h=c[b>>2]|0;c[b>>2]=h|n;if(o|0)AT(b);e=(h&32|0)==0?e:-1}$c=t;return e|0}function yT(d,e,f,h,i,j,k){d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,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;I=$c;$c=$c+64|0;if(($c|0)>=(ad|0))N(64);F=I+56|0;H=I+40|0;A=I;C=I+48|0;D=I+60|0;c[F>>2]=e;x=(d|0)!=0;y=A+40|0;z=y;A=A+39|0;B=C+4|0;l=0;e=0;n=0;a:while(1){do{do if((e|0)>-1)if((l|0)>(2147483647-e|0)){c[(WS()|0)>>2]=75;e=-1;break}else{e=l+e|0;break}while(0);r=c[F>>2]|0;l=a[r>>0]|0;if(!(l<<24>>24)){w=92;break a}m=r;b:while(1){switch(l<<24>>24){case 37:{w=10;break b}case 0:{l=m;break b}default:{}}v=m+1|0;c[F>>2]=v;l=a[v>>0]|0;m=v}c:do if((w|0)==10){w=0;l=m;do{if((a[m+1>>0]|0)!=37)break c;l=l+1|0;m=m+2|0;c[F>>2]=m}while((a[m>>0]|0)==37)}while(0);l=l-r|0;if(x)BT(d,r,l)}while((l|0)!=0);v=(sT(a[(c[F>>2]|0)+1>>0]|0)|0)==0;m=c[F>>2]|0;if(!v?(a[m+2>>0]|0)==36:0){t=(a[m+1>>0]|0)+-48|0;p=1;l=3}else{t=-1;p=n;l=1}l=m+l|0;c[F>>2]=l;m=a[l>>0]|0;n=(m<<24>>24)+-32|0;if(n>>>0>31|(1<>2]=l;m=a[l>>0]|0;n=(m<<24>>24)+-32|0}while(!(n>>>0>31|(1<>24==42){if((sT(a[l+1>>0]|0)|0)!=0?(G=c[F>>2]|0,(a[G+2>>0]|0)==36):0){l=G+1|0;c[i+((a[l>>0]|0)+-48<<2)>>2]=10;l=c[h+((a[l>>0]|0)+-48<<3)>>2]|0;n=1;m=G+3|0}else{if(p|0){e=-1;break}if(x){v=(c[f>>2]|0)+(4-1)&~(4-1);l=c[v>>2]|0;c[f>>2]=v+4}else l=0;n=0;m=(c[F>>2]|0)+1|0}c[F>>2]=m;v=(l|0)<0;u=v?0-l|0:l;o=v?o|8192:o;v=n}else{l=CT(F)|0;if((l|0)<0){e=-1;break}u=l;v=p;m=c[F>>2]|0}do if((a[m>>0]|0)==46){l=m+1|0;if((a[l>>0]|0)!=42){c[F>>2]=l;l=CT(F)|0;m=c[F>>2]|0;break}if(sT(a[m+2>>0]|0)|0?(E=c[F>>2]|0,(a[E+3>>0]|0)==36):0){l=E+2|0;c[i+((a[l>>0]|0)+-48<<2)>>2]=10;l=c[h+((a[l>>0]|0)+-48<<3)>>2]|0;m=E+4|0;c[F>>2]=m;break}if(v|0){e=-1;break a}if(x){s=(c[f>>2]|0)+(4-1)&~(4-1);l=c[s>>2]|0;c[f>>2]=s+4}else l=0;m=(c[F>>2]|0)+2|0;c[F>>2]=m}else l=-1;while(0);s=0;while(1){if(((a[m>>0]|0)+-65|0)>>>0>57){e=-1;break a}n=m;m=m+1|0;c[F>>2]=m;n=a[(a[n>>0]|0)+-65+(544+(s*58|0))>>0]|0;p=n&255;if((p+-1|0)>>>0>=8)break;else s=p}if(!(n<<24>>24)){e=-1;break}q=(t|0)>-1;do if(n<<24>>24==19)if(q){e=-1;break a}else w=54;else{if(q){c[i+(t<<2)>>2]=p;q=h+(t<<3)|0;t=c[q+4>>2]|0;w=H;c[w>>2]=c[q>>2];c[w+4>>2]=t;w=54;break}if(!x){e=0;break a}DT(H,p,f,k);m=c[F>>2]|0;w=55}while(0);if((w|0)==54){w=0;if(x)w=55;else l=0}d:do if((w|0)==55){w=0;m=a[m+-1>>0]|0;m=(s|0)!=0&(m&15|0)==3?m&-33:m;n=o&-65537;t=(o&8192|0)==0?o:n;e:do switch(m|0){case 110:switch((s&255)<<24>>24){case 0:{c[c[H>>2]>>2]=e;l=0;break d}case 1:{c[c[H>>2]>>2]=e;l=0;break d}case 2:{l=c[H>>2]|0;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=0;break d}case 3:{b[c[H>>2]>>1]=e;l=0;break d}case 4:{a[c[H>>2]>>0]=e;l=0;break d}case 6:{c[c[H>>2]>>2]=e;l=0;break d}case 7:{l=c[H>>2]|0;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=0;break d}default:{l=0;break d}}case 112:{m=120;l=l>>>0>8?l:8;n=t|8;w=67;break}case 88:case 120:{n=t;w=67;break}case 111:{q=H;q=FT(c[q>>2]|0,c[q+4>>2]|0,y)|0;n=z-q|0;o=0;p=180545;l=(t&8|0)==0|(l|0)>(n|0)?l:n+1|0;n=t;w=73;break}case 105:case 100:{n=H;m=c[n>>2]|0;n=c[n+4>>2]|0;if((n|0)<0){m=JW(0,0,m|0,n|0)|0;n=M()|0;o=H;c[o>>2]=m;c[o+4>>2]=n;o=1;p=180545;w=72;break e}else{o=(t&2049|0)!=0&1;p=(t&2048|0)==0?((t&1|0)==0?180545:180547):180546;w=72;break e}}case 117:{n=H;o=0;p=180545;m=c[n>>2]|0;n=c[n+4>>2]|0;w=72;break}case 99:{a[A>>0]=c[H>>2];r=A;o=0;p=180545;q=1;m=n;l=z;break}case 115:{s=c[H>>2]|0;s=(s|0)==0?180555:s;t=HT(s,0,l)|0;J=(t|0)==0;r=s;o=0;p=180545;q=J?l:t-s|0;m=n;l=J?s+l|0:t;break}case 67:{c[C>>2]=c[H>>2];c[B>>2]=0;c[H>>2]=C;p=-1;w=79;break}case 83:{if(!l){IT(d,32,u,0,t);l=0;w=89}else{p=l;w=79}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{l=gd[j&1](d,+g[H>>3],u,l,t,m)|0;break d}default:{o=0;p=180545;q=l;m=t;l=z}}while(0);f:do if((w|0)==67){q=H;q=ET(c[q>>2]|0,c[q+4>>2]|0,y,m&32)|0;p=H;p=(n&8|0)==0|(c[p>>2]|0)==0&(c[p+4>>2]|0)==0;o=p?0:2;p=p?180545:180545+(m>>>4)|0;w=73}else if((w|0)==72){q=GT(m,n,y)|0;n=t;w=73}else if((w|0)==79){w=0;o=c[H>>2]|0;l=0;while(1){m=c[o>>2]|0;if(!m)break;m=JT(D,m)|0;n=(m|0)<0;if(n|m>>>0>(p-l|0)>>>0){w=83;break}l=m+l|0;if(p>>>0>l>>>0)o=o+4|0;else break}if((w|0)==83){w=0;if(n){e=-1;break a}}IT(d,32,u,l,t);if(!l){l=0;w=89}else{n=c[H>>2]|0;o=0;while(1){m=c[n>>2]|0;if(!m){w=89;break f}m=JT(D,m)|0;o=m+o|0;if((o|0)>(l|0)){w=89;break f}BT(d,D,m);if(o>>>0>=l>>>0){w=89;break}else n=n+4|0}}}while(0);if((w|0)==73){w=0;m=H;m=(c[m>>2]|0)!=0|(c[m+4>>2]|0)!=0;J=(l|0)!=0|m;m=z-q+((m^1)&1)|0;r=J?q:y;q=J?((l|0)>(m|0)?l:m):0;m=(l|0)>-1?n&-65537:n;l=z}else if((w|0)==89){w=0;IT(d,32,u,l,t^8192);l=(u|0)>(l|0)?u:l;break}t=l-r|0;s=(q|0)<(t|0)?t:q;J=s+o|0;l=(u|0)<(J|0)?J:u;IT(d,32,l,J,m);BT(d,p,o);IT(d,48,l,J,m^65536);IT(d,48,s,t,0);BT(d,r,t);IT(d,32,l,J,m^8192)}while(0);n=v}g:do if((w|0)==92)if(!d)if(!n)e=0;else{e=1;while(1){l=c[i+(e<<2)>>2]|0;if(!l)break;DT(h+(e<<3)|0,l,f,k);e=e+1|0;if(e>>>0>=10){e=1;break g}}while(1){if(c[i+(e<<2)>>2]|0){e=-1;break g}e=e+1|0;if(e>>>0>=10){e=1;break}}}while(0);$c=I;return e|0}function zT(a){a=a|0;return 1}function AT(a){a=a|0;return}function BT(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))NT(b,d,a)|0;return}function CT(b){b=b|0;var d=0,e=0;if(!(sT(a[c[b>>2]>>0]|0)|0))d=0;else{d=0;do{e=c[b>>2]|0;d=(d*10|0)+-48+(a[e>>0]|0)|0;e=e+1|0;c[b>>2]=e}while((sT(a[e>>0]|0)|0)!=0)}return d|0}function DT(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{b=(c[d>>2]|0)+(4-1)&~(4-1);e=c[b>>2]|0;c[d>>2]=b+4;c[a>>2]=e;break a}case 10:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);h=+g[f>>3];c[d>>2]=f+8;g[a>>3]=h;break a}case 18:{od[e&255](a,d);break a}default:break a}while(0);while(0);return}function ET(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;if(!((b|0)==0&(c|0)==0))do{e=e+-1|0;a[e>>0]=d[1008+(b&15)>>0]|0|f;b=SW(b|0,c|0,4)|0;c=M()|0}while(!((b|0)==0&(c|0)==0));return e|0}function FT(b,c,d){b=b|0;c=c|0;d=d|0;if(!((b|0)==0&(c|0)==0))do{d=d+-1|0;a[d>>0]=b&7|48;b=SW(b|0,c|0,3)|0;c=M()|0}while(!((b|0)==0&(c|0)==0));return d|0}function GT(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295){do{e=b;b=QW(b|0,c|0,10,0)|0;f=c;c=M()|0;g=OW(b|0,c|0,10,0)|0;g=JW(e|0,f|0,g|0,M()|0)|0;M()|0;d=d+-1|0;a[d>>0]=g&255|48}while(f>>>0>9|(f|0)==9&e>>>0>4294967295);c=b}else c=b;if(c)do{g=c;c=(c>>>0)/10|0;d=d+-1|0;a[d>>0]=g-(c*10|0)|48}while(g>>>0>=10);return d|0}function HT(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(f)i=6;else i=16;b:do if((i|0)==6){g=d&255;if((a[b>>0]|0)==g<<24>>24)if(!e){i=16;break}else break;f=H(h,16843009)|0;c:do if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009|0)break c;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break}}else i=11;while(0);if((i|0)==11)if(!e){i=16;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;e=e+-1|0;if(!e){i=16;break}else b=b+1|0}}while(0);if((i|0)==16)b=0;return b|0}function IT(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;g=$c;$c=$c+256|0;if(($c|0)>=(ad|0))N(256);f=g;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;ZW(f|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{BT(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}BT(a,f,e)}$c=g;return}function JT(a,b){a=a|0;b=b|0;if(!a)a=0;else a=KT(a,b,0)|0;return a|0}function KT(b,d,e){b=b|0;d=d|0;e=e|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(!(c[c[(LT()|0)+188>>2]>>2]|0))if((d&-128|0)==57216){a[b>>0]=d;b=1;break}else{c[(WS()|0)>>2]=84;b=-1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{c[(WS()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function LT(){return MT()|0}function MT(){return 113812}function NT(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(OT(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){j=e+20|0;i=c[j>>2]|0;f=i;if((g-i|0)>>>0>>0){f=id[c[e+36>>2]&15](e,b,d)|0;break}b:do if((a[e+75>>0]|0)<0|(d|0)==0){h=0;g=b}else{i=d;while(1){g=i+-1|0;if((a[b+g>>0]|0)==10)break;if(!g){h=0;g=b;break b}else i=g}f=id[c[e+36>>2]&15](e,b,i)|0;if(f>>>0>>0)break a;h=i;g=b+i|0;d=d-i|0;f=c[j>>2]|0}while(0);XW(f|0,g|0,d|0)|0;c[j>>2]=(c[j>>2]|0)+d;f=h+d|0}while(0);return f|0}function OT(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;e=c[b+44>>2]|0;c[b+28>>2]=e;c[b+20>>2]=e;c[b+16>>2]=e+(c[b+48>>2]|0);b=0}else{c[b>>2]=d|32;b=-1}return b|0}function PT(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;L(c[h+4>>2]|0);return b|0}function QT(a,b){a=+a;b=b|0;var d=0,e=0,f=0;g[h>>3]=a;d=c[h>>2]|0;e=c[h+4>>2]|0;f=SW(d|0,e|0,52)|0;M()|0;switch(f&2047){case 0:{if(a!=0.0){a=+QT(a*18446744073709551616.0,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=(f&2047)+-1022;c[h>>2]=d;c[h+4>>2]=e&-2146435073|1071644672;a=+g[h>>3]}}return +a}function RT(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;XW(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function ST(a){a=a|0;var b=0,d=0;b=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);d=b;c[d>>2]=XS(a)|0;a=La(6,d|0)|0;a=VS((a|0)==-4?0:a)|0;$c=b;return a|0}function TT(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=$c;$c=$c+192|0;if(($c|0)>=(ad|0))N(192);i=r+168|0;h=r+152|0;q=r+136|0;p=r+120|0;o=r+112|0;l=r+96|0;k=r+80|0;f=r+64|0;m=r+48|0;g=r+32|0;e=r+16|0;s=r;j=r+184|0;c[s>>2]=d;d=(c[s>>2]|0)+(4-1)&~(4-1);n=c[d>>2]|0;c[s>>2]=d+4;n=(b|0)==4?n|32768:n;a:do switch(b|0){case 14:{c[e>>2]=a;c[e+4>>2]=14;c[e+8>>2]=n;d=VS(Ha(221,e|0)|0)|0;break}case 9:{c[g>>2]=a;c[g+4>>2]=16;c[g+8>>2]=j;d=Ha(221,g|0)|0;switch(d|0){case -22:{c[m>>2]=a;c[m+4>>2]=9;c[m+8>>2]=n;d=Ha(221,m|0)|0;break}case 0:{d=c[j+4>>2]|0;d=(c[j>>2]|0)==2?0-d|0:d;break}default:d=VS(d)|0}break}case 1030:{c[f>>2]=a;c[f+4>>2]=1030;c[f+8>>2]=n;d=Ha(221,f|0)|0;if((d|0)!=-22){if((d|0)>-1){c[k>>2]=d;c[k+4>>2]=2;c[k+8>>2]=1;Ha(221,k|0)|0}d=VS(d)|0;break a}c[l>>2]=a;c[l+4>>2]=1030;c[l+8>>2]=0;d=Ha(221,l|0)|0;if((d|0)==-22){c[p>>2]=a;c[p+4>>2]=0;c[p+8>>2]=n;d=Ha(221,p|0)|0;if((d|0)>-1){c[q>>2]=d;c[q+4>>2]=2;c[q+8>>2]=1;Ha(221,q|0)|0}d=VS(d)|0;break a}else{if((d|0)>-1){c[o>>2]=d;La(6,o|0)|0}d=VS(-22)|0;break a}}case 15:case 16:case 12:case 13:{c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=n;d=VS(Ha(221,h|0)|0)|0;break}default:{c[i>>2]=a;c[i+4>>2]=b;c[i+8>>2]=n;d=VS(Ha(221,i|0)|0)|0}}while(0);$c=r;return d|0}function UT(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);g=h+32|0;f=h+16|0;e=h;if(!(b&4194368))e=0;else{c[e>>2]=d;i=(c[e>>2]|0)+(4-1)&~(4-1);d=c[i>>2]|0;c[e>>2]=i+4;e=d}c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=e;e=Ja(5,f|0)|0;if(!((b&524288|0)==0|(e|0)<0)){c[g>>2]=e;c[g+4>>2]=2;c[g+8>>2]=1;Ha(221,g|0)|0}i=VS(e)|0;$c=h;return i|0}function VT(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;switch(e|0){case 0:{l=-149;m=24;j=4;break}case 1:{l=-1074;m=53;j=4;break}case 2:{l=-1074;m=53;j=4;break}default:g=0.0}a:do if((j|0)==4){o=b+4|0;n=b+104|0;do{e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=aT(b)|0}while((bT(e)|0)!=0);b:do switch(e|0){case 43:case 45:{i=1-(((e|0)==45&1)<<1)|0;e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;h=d[e>>0]|0;break b}else{h=aT(b)|0;break b}}default:{h=e;i=1}}while(0);e=0;while(1){if((h|32|0)!=(a[180595+e>>0]|0))break;do if(e>>>0<7){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0;break}else{h=aT(b)|0;break}}while(0);e=e+1|0;if(e>>>0>=8){e=8;break}}c:do switch(e&2147483647|0){case 8:break;case 3:{j=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{j=23;break c}d:do if(!e){e=0;while(1){if((h|32|0)!=(a[180604+e>>0]|0))break d;do if(e>>>0<2){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0;break}else{h=aT(b)|0;break}}while(0);e=e+1|0;if(e>>>0>=3){e=3;break}}}while(0);switch(e|0){case 3:{e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=aT(b)|0;if((e|0)!=40){if(!(c[n>>2]|0)){g=r;break a}c[o>>2]=(c[o>>2]|0)+-1;g=r;break a}e=1;while(1){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0}else h=aT(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=r;break a}h=(c[n>>2]|0)==0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if(!k){c[(WS()|0)>>2]=22;_S(b,0,0);g=0.0;break a}if(!e){g=r;break a}while(1){e=e+-1|0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if(!e){g=r;break a}}}case 0:{if((h|0)==48){e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=aT(b)|0;if((e|32|0)==120){g=+WT(b,m,l,i,f);break a}if(!(c[n>>2]|0))e=48;else{c[o>>2]=(c[o>>2]|0)+-1;e=48}}else e=h;g=+XT(b,e,m,l,i,f);break a}default:{if(c[n>>2]|0)c[o>>2]=(c[o>>2]|0)+-1;c[(WS()|0)>>2]=22;_S(b,0,0);g=0.0;break a}}}}while(0);if((j|0)==23){h=(c[n>>2]|0)==0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[o>>2]=(c[o>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(i|0)*s}while(0);return +g}function WT(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0.0,i=0,j=0,k=0.0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=a+4|0;i=c[y>>2]|0;x=a+104|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=aT(a)|0;j=0;a:while(1){switch(i|0){case 46:{w=10;break a}case 48:break;default:{p=0;m=j;l=0;j=0;break a}}i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=aT(a)|0;j=1}if((w|0)==10){i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=aT(a)|0;if((i|0)==48){l=0;j=0;do{i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=aT(a)|0;l=IW(l|0,j|0,-1,-1)|0;j=M()|0}while((i|0)==48);p=1;m=1}else{p=1;m=j;l=0;j=0}}o=0;n=1.0;h=0.0;v=0;s=p;t=m;u=0;m=0;while(1){q=i+-48|0;p=i|32;if(q>>>0>=10){r=(i|0)==46;if(!(r|(p+-97|0)>>>0<6))break;if(r)if(!s){s=1;k=n;q=v;r=t;l=m;j=u;p=u}else{i=46;break}else w=24}else w=24;if((w|0)==24){w=0;i=(i|0)>57?p+-87|0:q;do if(!((u|0)<0|(u|0)==0&m>>>0<8))if((u|0)<0|(u|0)==0&m>>>0<14){n=n*.0625;k=n;h=h+n*+(i|0);i=v;break}else{i=(o|0)!=0|(i|0)==0;o=i?o:1;k=n;h=i?h:h+n*.5;i=v;break}else{k=n;i=i+(v<<4)|0}while(0);m=IW(m|0,u|0,1,0)|0;q=i;r=1;p=M()|0}i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=aT(a)|0;n=k;v=q;t=r;u=p}do if(!t){i=(c[x>>2]|0)==0;if(!i)c[y>>2]=(c[y>>2]|0)+-1;if(g){if(!i?(c[y>>2]=(c[y>>2]|0)+-1,!((s|0)==0|i)):0)c[y>>2]=(c[y>>2]|0)+-1}else _S(a,0,0);h=+(f|0)*0.0}else{o=(s|0)==0;p=o?m:l;o=o?u:j;if((u|0)<0|(u|0)==0&m>>>0<8){j=v;l=u;do{j=j<<4;w=m;m=IW(m|0,l|0,1,0)|0;v=l;l=M()|0}while((v|0)<0|(v|0)==0&w>>>0<7);m=j}else m=v;if((i|32|0)==112){j=YT(a,g)|0;i=M()|0;if((j|0)==0&(i|0)==-2147483648){if(!g){_S(a,0,0);h=0.0;break}if(!(c[x>>2]|0)){j=0;i=0}else{c[y>>2]=(c[y>>2]|0)+-1;j=0;i=0}}}else if(!(c[x>>2]|0)){j=0;i=0}else{c[y>>2]=(c[y>>2]|0)+-1;j=0;i=0}l=TW(p|0,o|0,2)|0;l=IW(l|0,M()|0,-32,-1)|0;l=IW(l|0,M()|0,j|0,i|0)|0;i=M()|0;if(!m){h=+(f|0)*0.0;break}y=0-e|0;g=((y|0)<0)<<31>>31;if((i|0)>(g|0)|(i|0)==(g|0)&l>>>0>y>>>0){c[(WS()|0)>>2]=34;h=+(f|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}y=e+-106|0;g=((y|0)<0)<<31>>31;if((i|0)<(g|0)|(i|0)==(g|0)&l>>>0>>0){c[(WS()|0)>>2]=34;h=+(f|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((m|0)>-1){j=m;do{y=!(h>=.5);j=j<<1|(y^1)&1;h=h+(y?h:h+-1.0);l=IW(l|0,i|0,-1,-1)|0;i=M()|0}while((j|0)>-1);n=h;m=j}else n=h;y=((b|0)<0)<<31>>31;e=JW(32,0,e|0,((e|0)<0)<<31>>31|0)|0;i=IW(e|0,M()|0,l|0,i|0)|0;e=M()|0;if((e|0)<(y|0)|(e|0)==(y|0)&i>>>0>>0)if((i|0)>0)w=65;else{j=0;i=84;w=67}else{i=b;w=65}if((w|0)==65)if((i|0)<53){j=i;i=84-i|0;w=67}else{k=0.0;h=+(f|0)}if((w|0)==67){h=+(f|0);k=+_T(+ZT(1.0,i),h);i=j}f=(m&1|0)==0&(n!=0.0&(i|0)<32);h=(f?0.0:n)*h+(k+h*+((m+(f&1)|0)>>>0))-k;if(!(h!=0.0))c[(WS()|0)>>2]=34;h=+aU(h,l)}while(0);return +h}function XT(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0.0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0,t=0.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,I=0.0;G=$c;$c=$c+512|0;if(($c|0)>=(ad|0))N(512);D=G;E=f+e|0;F=0-E|0;C=a+4|0;B=a+104|0;j=0;a:while(1){switch(b|0){case 46:{z=7;break a}case 48:break;default:{v=0;p=j;j=0;o=0;break a}}b=c[C>>2]|0;if(b>>>0<(c[B>>2]|0)>>>0){c[C>>2]=b+1;b=d[b>>0]|0}else b=aT(a)|0;j=1}if((z|0)==7){b=c[C>>2]|0;if(b>>>0<(c[B>>2]|0)>>>0){c[C>>2]=b+1;b=d[b>>0]|0}else b=aT(a)|0;if((b|0)==48){j=0;b=0;while(1){j=IW(j|0,b|0,-1,-1)|0;o=M()|0;b=c[C>>2]|0;if(b>>>0<(c[B>>2]|0)>>>0){c[C>>2]=b+1;b=d[b>>0]|0}else b=aT(a)|0;if((b|0)==48)b=o;else{v=1;p=1;break}}}else{v=1;p=j;j=0;o=0}}c[D>>2]=0;n=b+-48|0;m=(b|0)==46;b:do if(m|n>>>0<10){A=D+496|0;w=0;l=0;s=0;x=v;y=p;z=n;p=0;n=0;c:while(1){do if(m)if(!x){x=1;j=p;o=n}else break c;else{p=IW(p|0,n|0,1,0)|0;n=M()|0;v=(b|0)!=48;if((l|0)>=125){if(!v)break;c[A>>2]=c[A>>2]|1;break}m=D+(l<<2)|0;if(!w)b=z;else b=b+-48+((c[m>>2]|0)*10|0)|0;c[m>>2]=b;w=w+1|0;y=(w|0)==9;w=y?0:w;l=l+(y&1)|0;s=v?p:s;y=1}while(0);b=c[C>>2]|0;if(b>>>0<(c[B>>2]|0)>>>0){c[C>>2]=b+1;b=d[b>>0]|0}else b=aT(a)|0;z=b+-48|0;m=(b|0)==46;if(!(m|z>>>0<10)){v=x;m=y;z=31;break b}}b=w;m=(y|0)!=0;z=39}else{w=0;l=0;s=0;m=p;p=0;n=0;z=31}while(0);do if((z|0)==31){A=(v|0)==0;j=A?p:j;o=A?n:o;m=(m|0)!=0;if(!(m&(b|32|0)==101))if((b|0)>-1){b=w;z=39;break}else{b=w;z=41;break}m=YT(a,h)|0;b=M()|0;if((m|0)==0&(b|0)==-2147483648){if(!h){_S(a,0,0);i=0.0;break}if(!(c[B>>2]|0)){m=0;b=0}else{c[C>>2]=(c[C>>2]|0)+-1;m=0;b=0}}j=IW(m|0,b|0,j|0,o|0)|0;b=w;o=M()|0;z=43}while(0);if((z|0)==39)if(c[B>>2]|0){c[C>>2]=(c[C>>2]|0)+-1;if(m)z=43;else z=42}else z=41;if((z|0)==41)if(m)z=43;else z=42;do if((z|0)==42){c[(WS()|0)>>2]=22;_S(a,0,0);i=0.0}else if((z|0)==43){m=c[D>>2]|0;if(!m){i=+(g|0)*0.0;break}if(((n|0)<0|(n|0)==0&p>>>0<10)&((j|0)==(p|0)&(o|0)==(n|0))?(e|0)>30|(m>>>e|0)==0:0){i=+(g|0)*+(m>>>0);break}a=(f|0)/-2|0;C=((a|0)<0)<<31>>31;if((o|0)>(C|0)|(o|0)==(C|0)&j>>>0>a>>>0){c[(WS()|0)>>2]=34;i=+(g|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}a=f+-106|0;C=((a|0)<0)<<31>>31;if((o|0)<(C|0)|(o|0)==(C|0)&j>>>0>>0){c[(WS()|0)>>2]=34;i=+(g|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(b){if((b|0)<9){n=D+(l<<2)|0;m=c[n>>2]|0;while(1){m=m*10|0;if((b|0)>=8)break;else b=b+1|0}c[n>>2]=m}l=l+1|0}if((s|0)<9?(s|0)<=(j|0)&(j|0)<18:0){if((j|0)==9){i=+(g|0)*+((c[D>>2]|0)>>>0);break}if((j|0)<9){i=+(g|0)*+((c[D>>2]|0)>>>0)/+(c[1024+(8-j<<2)>>2]|0);break}a=e+27+(H(j,-3)|0)|0;b=c[D>>2]|0;if((a|0)>30|(b>>>a|0)==0){i=+(g|0)*+(b>>>0)*+(c[1024+(j+-10<<2)>>2]|0);break}}b=(j|0)%9|0;if(!b)m=0;else{s=(j|0)>-1?b:b+9|0;o=c[1024+(8-s<<2)>>2]|0;if(l){p=1e9/(o|0)|0;n=0;m=0;b=0;do{B=D+(b<<2)|0;C=c[B>>2]|0;a=(C>>>0)/(o>>>0)|0;C=C-(H(a,o)|0)|0;a=a+n|0;c[B>>2]=a;n=H(p,C)|0;a=(b|0)==(m|0)&(a|0)==0;j=a?j+-9|0:j;m=a?m+1&127:m;b=b+1|0}while((b|0)!=(l|0));if(!n)b=l;else{c[D+(l<<2)>>2]=n;b=l+1|0}}else{m=0;b=0}l=b;j=9-s+j|0}b=0;d:while(1){v=(j|0)<18;w=(j|0)==18;x=D+(m<<2)|0;while(1){if(!v){if(!w)break d;if((c[x>>2]|0)>>>0>=9007199){j=18;break d}}n=0;y=l;l=l+127|0;while(1){p=l&127;o=D+(p<<2)|0;l=TW(c[o>>2]|0,0,29)|0;l=IW(l|0,M()|0,n|0,0)|0;n=M()|0;if(n>>>0>0|(n|0)==0&l>>>0>1e9){s=QW(l|0,n|0,1e9,0)|0;a=OW(s|0,M()|0,1e9,0)|0;l=JW(l|0,n|0,a|0,M()|0)|0;M()|0}else s=0;c[o>>2]=l;a=(p|0)==(m|0);o=(p|0)!=(y+127&127|0)|a?y:(l|0)==0?p:y;if(a)break;else{n=s;y=o;l=p+-1|0}}b=b+-29|0;if(!s)l=y;else break}m=m+127&127;l=o+127&127;n=D+((o+126&127)<<2)|0;if((m|0)==(o|0))c[n>>2]=c[n>>2]|c[D+(l<<2)>>2];else l=y;c[D+(m<<2)>>2]=s;j=j+9|0}e:while(1){w=l+1&127;x=D+((l+127&127)<<2)|0;while(1){p=(j|0)==18;v=(j|0)>27?9:1;y=m;while(1){o=0;while(1){m=o+y&127;if((m|0)==(l|0)){z=92;break}m=c[D+(m<<2)>>2]|0;n=c[114056+(o<<2)>>2]|0;if(m>>>0>>0){z=92;break}if(m>>>0>n>>>0)break;if((o+1|0)>>>0<2)o=1;else{z=92;break}}if((z|0)==92?(z=0,p):0)break e;b=v+b|0;if((y|0)==(l|0))y=l;else break}p=(1<>>v;o=0;m=y;n=y;do{B=D+(n<<2)|0;C=c[B>>2]|0;a=(C>>>v)+o|0;c[B>>2]=a;o=H(C&p,s)|0;a=(n|0)==(m|0)&(a|0)==0;j=a?j+-9|0:j;m=a?m+1&127:m;n=n+1&127}while((n|0)!=(l|0));if(o|0){if((w|0)!=(m|0))break;c[x>>2]=c[x>>2]|1}}c[D+(l<<2)>>2]=o;l=w}i=0.0;j=l;m=0;do{n=m+y&127;l=j+1&127;if((n|0)==(j|0)){c[D+(l+-1<<2)>>2]=0;j=l}i=i*1.0e9+ +((c[D+(n<<2)>>2]|0)>>>0);m=m+1|0}while((m|0)!=2);t=+(g|0);k=i*t;n=b+53|0;o=n-f|0;p=(o|0)<(e|0);m=p?((o|0)>0?o:0):e;if((m|0)<53){I=+_T(+ZT(1.0,105-m|0),k);q=+$T(k,+ZT(1.0,53-m|0));r=I;i=q;q=I+(k-q)}else{r=0.0;i=0.0;q=k}l=y+2&127;if((l|0)!=(j|0)){l=c[D+(l<<2)>>2]|0;do if(l>>>0>=5e8){if((l|0)!=5e8){i=t*.75+i;break}if((y+3&127|0)==(j|0)){i=t*.5+i;break}else{i=t*.75+i;break}}else{if((l|0)==0?(y+3&127|0)==(j|0):0)break;i=t*.25+i}while(0);if((53-m|0)>1?!(+$T(i,1.0)!=0.0):0)k=i+1.0;else k=i}else k=i;i=q+k-r;do if((n&2147483647|0)>(-2-E|0)){E=!(+u(+i)>=9007199254740992.0);b=b+((E^1)&1)|0;i=E?i:i*.5;if((b+50|0)<=(F|0)?!(k!=0.0&(p&((m|0)!=(o|0)|E))):0)break;c[(WS()|0)>>2]=34}while(0);i=+aU(i,b)}while(0);$c=G;return +i}function YT(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=a+4|0;e=c[i>>2]|0;j=a+104|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;f=d[e>>0]|0}else f=aT(a)|0;switch(f|0){case 43:case 45:{g=(f|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=aT(a)|0;f=e+-48|0;if((b|0)!=0&f>>>0>9)if(!(c[j>>2]|0)){f=0;e=-2147483648}else{c[i>>2]=(c[i>>2]|0)+-1;k=14}else k=12;break}default:{g=0;e=f;f=f+-48|0;k=12}}if((k|0)==12)if(f>>>0>9)k=14;else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=aT(a)|0;b=e+-48|0}while(b>>>0<10&(f|0)<214748364);h=((f|0)<0)<<31>>31;if(b>>>0<10){do{l=OW(f|0,h|0,10,0)|0;b=M()|0;e=IW(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=IW(e|0,M()|0,l|0,b|0)|0;h=M()|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=aT(a)|0;b=e+-48|0}while(b>>>0<10&((h|0)<21474836|(h|0)==21474836&f>>>0<2061584302));if(b>>>0<10){do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=aT(a)|0}while((e+-48|0)>>>0<10);e=h}else e=h}else e=h;if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;j=(g|0)==0;i=JW(0,0,f|0,e|0)|0;l=M()|0;f=j?f:i;e=j?e:l}if((k|0)==14)if(!(c[j>>2]|0)){f=0;e=-2147483648}else{c[i>>2]=(c[i>>2]|0)+-1;f=0;e=-2147483648}L(e|0);return f|0}function ZT(a,b){a=+a;b=b|0;var d=0,e=0;if((b|0)<=1023){if((b|0)<-1022){a=a*2.2250738585072014e-308;e=(b|0)<-2044;d=b+2044|0;a=e?a*2.2250738585072014e-308:a;b=e?((d|0)>-1022?d:-1022):b+1022|0}}else{a=a*8988465674311579538646525.0e283;d=(b|0)>2046;e=b+-2046|0;a=d?a*8988465674311579538646525.0e283:a;b=d?((e|0)<1023?e:1023):b+-1023|0}d=TW(b+1023|0,0,52)|0;e=M()|0;c[h>>2]=d;c[h+4>>2]=e;return +(a*+g[h>>3])}function _T(a,b){a=+a;b=+b;return +(+jT(a,b))}function $T(a,b){a=+a;b=+b;return +(+bU(a,b))}function aU(a,b){a=+a;b=b|0;return +(+ZT(a,b))}function bU(a,b){a=+a;b=+b;var d=0,e=0,f=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g[h>>3]=a;j=c[h>>2]|0;l=c[h+4>>2]|0;g[h>>3]=b;n=c[h>>2]|0;o=c[h+4>>2]|0;e=SW(j|0,l|0,52)|0;M()|0;e=e&2047;m=SW(n|0,o|0,52)|0;M()|0;m=m&2047;p=l&-2147483648;i=TW(n|0,o|0,1)|0;k=M()|0;a:do if(!((i|0)==0&(k|0)==0)?(f=cU(b)|0,d=(M()|0)&2147483647,!((e|0)==2047|(d>>>0>2146435072|(d|0)==2146435072&f>>>0>0))):0){d=TW(j|0,l|0,1)|0;f=M()|0;if(!(f>>>0>k>>>0|(f|0)==(k|0)&d>>>0>i>>>0))return +((d|0)==(i|0)&(f|0)==(k|0)?a*0.0:a);if(!e){d=TW(j|0,l|0,12)|0;f=M()|0;if((f|0)>-1|(f|0)==-1&d>>>0>4294967295){e=0;do{e=e+-1|0;d=TW(d|0,f|0,1)|0;f=M()|0}while((f|0)>-1|(f|0)==-1&d>>>0>4294967295)}else e=0;j=TW(j|0,l|0,1-e|0)|0;i=M()|0}else i=l&1048575|1048576;if(!m){f=TW(n|0,o|0,12)|0;k=M()|0;if((k|0)>-1|(k|0)==-1&f>>>0>4294967295){d=0;do{d=d+-1|0;f=TW(f|0,k|0,1)|0;k=M()|0}while((k|0)>-1|(k|0)==-1&f>>>0>4294967295)}else d=0;n=TW(n|0,o|0,1-d|0)|0;m=d;l=M()|0}else l=o&1048575|1048576;f=JW(j|0,i|0,n|0,l|0)|0;d=M()|0;k=(d|0)>-1|(d|0)==-1&f>>>0>4294967295;b:do if((e|0)>(m|0)){while(1){if(k){if((f|0)==0&(d|0)==0)break}else{f=j;d=i}j=TW(f|0,d|0,1)|0;i=M()|0;e=e+-1|0;f=JW(j|0,i|0,n|0,l|0)|0;d=M()|0;k=(d|0)>-1|(d|0)==-1&f>>>0>4294967295;if((e|0)<=(m|0))break b}b=a*0.0;break a}while(0);if(k){if((f|0)==0&(d|0)==0){b=a*0.0;break}}else{d=i;f=j}if(d>>>0<1048576|(d|0)==1048576&f>>>0<0)do{f=TW(f|0,d|0,1)|0;d=M()|0;e=e+-1|0}while(d>>>0<1048576|(d|0)==1048576&f>>>0<0);if((e|0)>0){o=IW(f|0,d|0,0,-1048576)|0;d=M()|0;e=TW(e|0,0,52)|0;d=d|(M()|0);e=o|e}else{e=SW(f|0,d|0,1-e|0)|0;d=M()|0}c[h>>2]=e;c[h+4>>2]=d|p;b=+g[h>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function cU(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;L(c[h+4>>2]|0);return b|0}function dU(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=5;else{d=f;while(1){if(!(a[b>>0]|0)){b=d;break a}b=b+1|0;d=b;if(!(d&3)){e=5;break}}}while(0);if((e|0)==5){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function eU(b,c){b=b|0;c=c|0;b=fU(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function fU(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(dU(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=H(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function gU(a,b){a=a|0;b=b|0;var e=0;a=hU(a)|0;if(((a|0)!=-1?(e=hU(b)|0,(e|0)!=-1):0)?(d[1056+a>>0]|0)<=207:0)a=e<<16|a;else{c[(WS()|0)>>2]=22;a=-1}return a|0}function hU(b){b=b|0;var c=0,d=0,e=0;d=(a[b>>0]|0)==0?1056:b;b=1056;while(1){if(!(iU(d,b)|0)){e=3;break}b=b+((dU(b)|0)+1)|0;c=a[b>>0]|0;if(!(c<<24>>24)){c=a[b+1>>0]|0;if((c&255)>128)c=2;else c=(((128-(c&255)|0)>>>2)*5|0)+2|0;c=b+c|0;b=c;c=a[c>>0]|0}if(!(c<<24>>24)){b=-1;break}}if((e|0)==3){if(a[b>>0]|0)do b=b+((dU(b)|0)+1)|0;while((a[b>>0]|0)!=0);b=b+1-1056|0}return b|0}function iU(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=a[b>>0]|0;a:do if(!(d<<24>>24)){d=0;g=9}else while(1){f=a[c>>0]|0;if(!(f<<24>>24)){g=9;break a}e=d;d=d&255;while(1){if(!((d+-48|0)>>>0>10&((d|32)+-97|0)>>>0>26)){d=e;break}b=b+1|0;d=a[b>>0]|0;if(!(d<<24>>24)){d=0;break}else{e=d;d=d&255}}if((d|32)<<24>>24!=f<<24>>24){d=1;break a}b=b+1|0;c=c+1|0;d=a[b>>0]|0;if(!(d<<24>>24)){d=0;g=9;break}}while(0);if((g|0)==9)d=d<<24>>24!=(a[c>>0]|0)&1;return d|0}function jU(a){a=a|0;return 0}function kU(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;l=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);h=l;j=(g|0)==0?185320:g;g=c[j>>2]|0;a:do if(!e)if(!g)g=0;else k=19;else{i=(b|0)==0?h:b;if(!f)g=-2;else{if(!g){g=a[e>>0]|0;if(g<<24>>24>-1){c[i>>2]=g&255;g=g<<24>>24!=0&1;break}h=(c[c[(lU()|0)+188>>2]>>2]|0)==0;g=a[e>>0]|0;if(h){c[i>>2]=g<<24>>24&57343;g=1;break}g=(g&255)+-194|0;if(g>>>0>50){k=19;break}g=c[64+(g<<2)>>2]|0;h=f+-1|0;if(h){e=e+1|0;k=11}}else{h=f;k=11}b:do if((k|0)==11){b=d[e>>0]|0;m=b>>>3;if((m+-16|m+(g>>26))>>>0>7){k=19;break a}g=b+-128|g<<6;b=h+-1|0;if((g|0)<0)do{e=e+1|0;if(!b)break b;h=a[e>>0]|0;if((h&-64)<<24>>24!=-128){k=19;break a}g=(h&255)+-128|g<<6;b=b+-1|0}while((g|0)<0);c[j>>2]=0;c[i>>2]=g;g=f-b|0;break a}while(0);c[j>>2]=g;g=-2}}while(0);if((k|0)==19){c[j>>2]=0;c[(WS()|0)>>2]=84;g=-1}$c=l;return g|0}function lU(){return MT()|0}function mU(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);g=f;c[g>>2]=e;e=tT(a,b,d,g)|0;$c=f;return e|0}function nU(a,b){a=a|0;b=b|0;oU(a,b)|0;return a|0}function oU(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break;else f=b}}f=10}else f=10;while(0);if((f|0)==10){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function pU(a){a=+a;var b=0,d=0,e=0,f=0.0,i=0.0;g[h>>3]=a;b=c[h+4>>2]|0;d=b&2147483647;do if(d>>>0>1083174911){b=(b|0)>-1|(b|0)==-1&(c[h>>2]|0)>>>0>4294967295;if(b&d>>>0>1083179007){a=a*8988465674311579538646525.0e283;break}if(d>>>0<=2146435071)if(!(a<=-1075.0)|b){e=9;break}else{a=0.0;break}else{a=-1.0/a;break}}else if(d>>>0<1016070144)a=a+1.0;else e=9;while(0);if((e|0)==9){i=a+26388279066624.0;g[h>>3]=i;e=(c[h>>2]|0)+128|0;d=e<<1&510;f=+g[5424+(d<<3)>>3];a=a-(i+-26388279066624.0)-+g[5424+((d|1)<<3)>>3];a=+ZT(f+f*a*(a*(a*(a*(a*1.3333559164630223e-03+.009618129842126066)+.0555041086648214)+.2402265069591)+.6931471805599453),(e&-256|0)/256|0)}return +a}function qU(a){a=+a;a=+rU(a);L((+u(a)>=1.0?(a>0.0?~~+I(+t(a/4294967296.0),4294967295.0)>>>0:~~+G((a-+(~~a>>>0))/4294967296.0)>>>0):0)|0);return ~~a>>>0|0}function rU(a){a=+a;var b=0,d=0;g[h>>3]=a;b=c[h+4>>2]|0;d=b&2146435072;if(!(d>>>0>1126170624|(d|0)==1126170624&0>0)){b=(b|0)<0;a=b?a+-4503599627370496.0+4503599627370496.0:a+4503599627370496.0+-4503599627370496.0;if(a==0.0)a=b?-0.0:0.0}return +a}function sU(a){a=+a;var b=0,d=0;g[h>>3]=a;d=c[h+4>>2]|0;b=d&2147483647;c[h>>2]=c[h>>2];c[h+4>>2]=b;a=+g[h>>3];do if(b>>>0>1071748074)if(b>>>0>1077149696){a=1.0-0.0/a;break}else{a=1.0-2.0/(+mT(a*2.0)+2.0);break}else{if(b>>>0>1070618798){a=+mT(a*2.0);a=a/(a+2.0);break}if(b>>>0>1048575){a=+mT(a*-2.0);a=-a/(a+2.0)}}while(0);return +((d|0)<0?-a:a)}function tU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;d=VS(Ia(3,f|0)|0)|0;$c=e;return d|0}function uU(a,b){a=a|0;b=b|0;var c=0;c=dU(a)|0;return ((vU(a,1,c,b)|0)!=(c|0))<<31>>31|0}function vU(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=H(d,b)|0;d=(b|0)==0?0:d;if((c[e+76>>2]|0)>-1){g=(zT(e)|0)==0;a=NT(a,f,e)|0;if(!g)AT(e)}else a=NT(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function wU(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);j=l;k=e&255;a[j>>0]=k;g=b+16|0;h=c[g>>2]|0;if(!h)if(!(OT(b)|0)){h=c[g>>2]|0;i=4}else f=-1;else i=4;do if((i|0)==4){i=b+20|0;g=c[i>>2]|0;if(g>>>0>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[i>>2]=g+1;a[g>>0]=k;break}if((id[c[b+36>>2]&15](b,j,1)|0)==1)f=d[j>>0]|0;else f=-1}while(0);$c=l;return f|0}function xU(a){a=a|0;var b=0,c=0;b=(dU(a)|0)+1|0;c=WU(b)|0;if(!c)a=0;else a=XW(c|0,a|0,b|0)|0;return a|0}function yU(){Ca(185324);return 185332}function zU(){Ma(185324);return}function AU(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=BU(a)|0;break}d=(zT(a)|0)==0;b=BU(a)|0;if(!d)AT(a)}else{if(!(c[28452]|0))b=0;else b=AU(c[28452]|0)|0;a=c[(yU()|0)>>2]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=zT(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=BU(a)|0|b;if(d|0)AT(a);a=c[a+56>>2]|0}while((a|0)!=0);zU()}while(0);return b|0}function BU(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;h=a+28|0;if((c[b>>2]|0)>>>0>(c[h>>2]|0)>>>0?(id[c[a+36>>2]&15](a,0,0)|0,(c[b>>2]|0)==0):0)a=-1;else{d=a+4|0;e=c[d>>2]|0;f=a+8|0;g=c[f>>2]|0;if(e>>>0>>0){g=e-g|0;jd[c[a+40>>2]&3](a,g,((g|0)<0)<<31>>31,1)|0;M()|0}c[a+16>>2]=0;c[h>>2]=0;c[b>>2]=0;c[f>>2]=0;c[d>>2]=0;a=0}return a|0}function CU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=e;c[f>>2]=d;d=DU(a,b,f)|0;$c=e;return d|0}function DU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);f=e;ZW(f|0,0,144)|0;c[f+32>>2]=12;c[f+44>>2]=a;c[f+76>>2]=-1;c[f+84>>2]=a;d=FU(f,b,d)|0;$c=e;return d|0}function EU(a,b,c){a=a|0;b=b|0;c=c|0;return JU(a,b,c)|0} -function oi(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0;ka=$c;$c=$c+128|0;if(($c|0)>=(ad|0))N(128);ga=ka;X=ka+116|0;Y=ka+112|0;_=ka+48|0;$=ka+16|0;ja=e+564|0;ea=c[ja>>2]|0;r=e+556|0;fa=c[r>>2]|0;h=c[e+560>>2]|0;q=e+704|0;f=c[q>>2]|0;if((f|0)!=0?(c[f>>2]|0)!=0:0){f=(c[f+72>>2]|0)+15>>4;f=(h|0)>(f|0)?f:h}else f=h;g=c[e+736>>2]|0;if((g|0)!=0?(c[g>>2]|0)!=0:0){ia=(c[g+72>>2]|0)+15>>4;ia=(f|0)>(ia|0)?ia:f}else ia=f;v=c[e+584>>2]|0;T=H(h,ea)|0;w=v+(T<<3)|0;T=w+(T<<3)|0;ui(e,X,Y);i=e+712|0;if(c[i>>2]|0)ni(c[e+708>>2]|0,ia+-1|0,0);U=H(ia,fa)|0;j=e+548|0;o=e+580|0;p=e+696|0;k=c[Y>>2]|0;l=c[X>>2]|0;V=e+680|0;m=e+720|0;W=e+688|0;h=0;f=0;while(1){if((h|0)>=(U|0))break;g=c[(c[j>>2]|0)+(h<<2)>>2]|0;S=(a[(c[o>>2]|0)+g>>0]&8)==0?8:(c[(c[p>>2]|0)+(g<<2)>>2]&7|0)==0?0:8;a[T+g>>0]=S;if((S|0)!=8){if((c[c[q>>2]>>2]|0)!=0?(n=c[i>>2]|0,(n|0)!=0):0){S=c[ja>>2]|0;S=H((H(k,(g|0)/(S|0)|0)|0)+((g|0)%(S|0)|0)|0,l)|0;R=c[V>>2]|0;b[R+(S<<2)>>1]=b[n+(S<<2)>>1]|0;b[R+(S<<2)+2>>1]=b[n+(S<<2)+2>>1]|0;S=g<<2;a[(c[W>>2]|0)+S>>0]=a[(c[m>>2]|0)+S>>0]|0}}else f=f+1|0;h=h+1|0}a:do if((f|0)>((fa|0)/2|0|0)?(c[(c[e>>2]|0)+572>>2]&1|0)!=0:0){f=0;j=0;b:while(1){if((j|0)>=(ia|0))break;k=H(j,ea)|0;l=(j|0)==0;m=j+1|0;n=(m|0)<(ia|0);o=j+-1|0;g=0;while(1){while(1){if((g|0)>=(fa|0)){j=m;continue b}h=g+k|0;if((a[T+h>>0]|0)==8)break;g=g+1|0}if((g|0)!=0?(s=T+(h+-1)|0,(a[s>>0]|0)==0):0){a[s>>0]=1;c[v+(f<<3)>>2]=g+-1;c[v+(f<<3)+4>>2]=j;f=f+1|0}if(!l?(t=T+(h-ea)|0,(a[t>>0]|0)==0):0){a[t>>0]=1;c[v+(f<<3)>>2]=g;c[v+(f<<3)+4>>2]=o;f=f+1|0}i=g+1|0;if((i|0)<(fa|0)?(u=T+(h+1)|0,(a[u>>0]|0)==0):0){a[u>>0]=1;c[v+(f<<3)>>2]=i;c[v+(f<<3)+4>>2]=j;f=f+1|0}if(!n){g=i;continue}h=T+(h+ea)|0;if(a[h>>0]|0){g=i;continue}a[h>>0]=1;c[v+(f<<3)>>2]=g;c[v+(f<<3)+4>>2]=m;g=i;f=f+1|0}}O=_+4|0;P=e+672|0;Q=e+608|0;R=e+612|0;S=e+800|0;M=e+804|0;L=f;while(1){f=1;K=0;g=1;while(1){if(!((K|0)<10&((K|0)<2|(f|0)!=0)))break;J=(K|0)>1;I=0;f=0;while(1){if((I|0)>=(L|0))break;E=c[v+(I<<3)>>2]|0;F=c[v+(I<<3)+4>>2]|0;G=(H(F,ea)|0)+E|0;c:do if(!((E^K^F)&1)){z=(E|0)>0;if(z)h=d[T+(G+-1)>>0]|0;else h=0;A=(E+1|0)<(fa|0);if(A)h=h|d[T+(G+1)>>0];y=(F|0)>0;if(y)h=h|d[T+(G-ea)>>0];x=(F+1|0)<(ia|0);if(x)h=h|d[T+(G+ea)>>0];if(!(J&(h&4|0)==0)){B=c[Y>>2]|0;D=(H(B,F)|0)+E|0;C=c[X>>2]|0;D=H(D,C)|0;if(z?(Z=G+-1|0,(d[T+Z>>0]|0)>1):0){e=c[V>>2]|0;g=D-C|0;c[_>>2]=b[e+(g<<2)>>1];c[O>>2]=b[e+(g<<2)+2>>1];c[$>>2]=a[(c[W>>2]|0)+(Z<<2)>>0];g=1}else g=0;do if(A){h=G+1|0;if((d[T+h>>0]|0)<=1)break;u=c[V>>2]|0;e=C+D|0;c[_+(g<<3)>>2]=b[u+(e<<2)>>1];c[_+(g<<3)+4>>2]=b[u+(e<<2)+2>>1];c[$+(g<<2)>>2]=a[(c[W>>2]|0)+(h<<2)>>0];g=g+1|0}while(0);do if(y){if((d[T+(G-ea)>>0]|0)<=1)break;u=c[V>>2]|0;e=D-(H(C,B)|0)|0;c[_+(g<<3)>>2]=b[u+(e<<2)>>1];c[_+(g<<3)+4>>2]=b[u+(e<<2)+2>>1];c[$+(g<<2)>>2]=a[(c[W>>2]|0)+(G-(c[ja>>2]|0)<<2)>>0];g=g+1|0}while(0);do if(x){if((d[T+(G+ea)>>0]|0)<=1){ha=73;break}u=c[V>>2]|0;e=(H(C,B)|0)+D|0;c[_+(g<<3)>>2]=b[u+(e<<2)>>1];c[_+(g<<3)+4>>2]=b[u+(e<<2)+2>>1];c[$+(g<<2)>>2]=a[(c[W>>2]|0)+((c[ja>>2]|0)+G<<2)>>0];g=g+1|0}else ha=73;while(0);if((ha|0)==73){ha=0;if(!g){g=0;break}}d:do if((g|0)>1){h=0;i=0;j=0;k=0;while(1){if((k|0)>=(g|0))break;j=(c[_+(k<<3)>>2]|0)+j|0;i=(c[_+(k<<3)+4>>2]|0)+i|0;e=c[$+(k<<2)>>2]|0;h=e+h|0;if(k|0?(e|0)!=(c[$+(k+-1<<2)>>2]|0):0)break d;k=k+1|0}c[_+(g<<3)>>2]=(j|0)/(k|0)|0;c[_+(g<<3)+4>>2]=(i|0)/(k|0)|0;c[$+(g<<2)>>2]=(h|0)/(k|0)|0;k=(g|0)>2;l=k?-99999:0;k=k?99999:0;p=k;q=l;n=k;o=l;m=0;while(1){if((m|0)==(g|0))break;e=c[_+(m<<3)>>2]|0;u=c[_+(m<<3)+4>>2]|0;t=c[$+(m<<2)>>2]|0;p=(p|0)>(t|0)?t:p;q=(q|0)>(t|0)?q:t;n=(n|0)>(u|0)?u:n;k=(k|0)>(e|0)?e:k;o=(o|0)>(u|0)?o:u;l=(l|0)>(e|0)?l:e;m=m+1|0}l=j-l-k|0;e=g+1|0;m=_+(e<<3)|0;c[m>>2]=l;j=i-o-n|0;k=_+(e<<3)+4|0;c[k>>2]=j;h=h-q-p|0;i=$+(e<<2)|0;c[i>>2]=h;if((g|0)==4){c[m>>2]=(l|0)/2|0;c[k>>2]=(j|0)/2|0;c[i>>2]=(h|0)/2|0}g=g+2|0}else g=1;while(0);c[$+(g<<2)>>2]=0;c[_+(g<<3)+4>>2]=0;c[_+(g<<3)>>2]=0;m=g+1|0;e=c[V>>2]|0;u=b[e+(D<<2)>>1]|0;e=b[e+(D<<2)+2>>1]|0;n=a[(c[W>>2]|0)+(G<<2)>>0]|0;c[_+(m<<3)>>2]=u;c[_+(m<<3)+4>>2]=e;c[$+(m<<2)>>2]=n;m=g+2|0;n=E<<4;o=F<<4;p=T+(G+-1)|0;q=T+(G+1)|0;r=T+(G-ea)|0;s=T+(G+ea)|0;t=0;g=1073741824;l=0;while(1){if((l|0)>=(m|0))break;k=c[P>>2]|0;j=k+32|0;k=(c[k>>2]|0)+n+(H(o,c[j>>2]|0)|0)|0;i=c[_+(l<<3)>>2]|0;c[Q>>2]=i;h=c[V>>2]|0;b[h+(D<<2)>>1]=i;i=c[_+(l<<3)+4>>2]|0;c[R>>2]=i;b[h+(D<<2)+2>>1]=i;h=c[$+(l<<2)>>2]|0;if((h|0)<0)h=t;else{ud[c[S>>2]&1](c[M>>2]|0,h,1,0,Q,E,F,0,0);e:do if(z){if((d[p>>0]|0)>1){h=0;i=0}else{i=0;break}while(1){if((h|0)==16)break e;la=H(c[j>>2]|0,h)|0;la=(d[k+(la+-1)>>0]|0)-(d[k+la>>0]|0)|0;h=h+1|0;i=((la|0)>-1?la:0-la|0)+i|0}}else i=0;while(0);f:do if(A){if((d[q>>0]|0)>1)h=0;else break;while(1){if((h|0)==16)break f;la=H(c[j>>2]|0,h)|0;la=(d[k+(la+15)>>0]|0)-(d[k+(la+16)>>0]|0)|0;h=h+1|0;i=((la|0)>-1?la:0-la|0)+i|0}}while(0);g:do if(y){if((d[r>>0]|0)>1)h=0;else break;while(1){if((h|0)==16)break g;la=(d[k+(h-(c[j>>2]|0))>>0]|0)-(d[k+h>>0]|0)|0;h=h+1|0;i=((la|0)>-1?la:0-la|0)+i|0}}while(0);h:do if(x){if((d[s>>0]|0)>1)h=0;else break;while(1){if((h|0)==16)break h;la=c[j>>2]|0;la=(d[k+((la*15|0)+h)>>0]|0)-(d[k+((la<<4)+h)>>0]|0)|0;h=h+1|0;i=((la|0)>-1?la:0-la|0)+i|0}}while(0);la=(i|0)>(g|0);h=la?t:l;g=la?g:i}t=h;l=l+1|0}i=c[_+(t<<3)>>2]|0;c[Q>>2]=i;j=c[_+(t<<3)+4>>2]|0;c[R>>2]=j;i=i&65535;j=j&65535;g=0;while(1){if((g|0)>=(C|0))break;k=g+D|0;h=0;while(1){if((h|0)==(C|0))break;A=c[V>>2]|0;la=(H(B,h)|0)+k|0;b[A+(la<<2)>>1]=i;b[A+(la<<2)+2>>1]=j;h=h+1|0}g=g+1|0}ud[c[S>>2]&1](c[M>>2]|0,c[$+(t<<2)>>2]|0,1,0,Q,E,F,0,0);do if((c[Q>>2]|0)==(u|0)){if((c[R>>2]|0)!=(e|0))break;a[T+G>>0]=2;g=0;break c}while(0);a[T+G>>0]=4;g=0;f=f+1|0}}while(0);I=I+1|0}K=K+1|0}if(!g){f=0;k=0}else break a;while(1){if((k|0)>=(L|0))break;i=c[v+(k<<3)>>2]|0;h=c[v+(k<<3)+4>>2]|0;j=(H(h,ea)|0)+i|0;g=T+j|0;if(a[g>>0]&14){a[g>>0]=8;if((i|0)>0?(aa=T+(j+-1)|0,(a[aa>>0]|0)==0):0){a[aa>>0]=1;c[w+(f<<3)>>2]=i+-1;c[w+(f<<3)+4>>2]=h;f=f+1|0}if((h|0)>0?(ba=T+(j-ea)|0,(a[ba>>0]|0)==0):0){a[ba>>0]=1;c[w+(f<<3)>>2]=i;c[w+(f<<3)+4>>2]=h+-1;f=f+1|0}g=i+1|0;if((g|0)<(fa|0)?(ca=T+(j+1)|0,(a[ca>>0]|0)==0):0){a[ca>>0]=1;c[w+(f<<3)>>2]=g;c[w+(f<<3)+4>>2]=h;f=f+1|0}g=h+1|0;if((g|0)<(ia|0)?(da=T+(j+ea)|0,(a[da>>0]|0)==0):0){a[da>>0]=1;c[w+(f<<3)>>2]=i;c[w+(f<<3)+4>>2]=g;f=f+1|0}}k=k+1|0}if((f|0)>(U|0))break;else{la=w;L=f;w=v;v=la}}c[ga>>2]=135603;c[ga+4>>2]=133222;c[ga+8>>2]=716;lf(0,0,164242,ga);ub()}else{k=e+608|0;l=e+612|0;m=e+800|0;i=e+804|0;h=0;while(1){if((h|0)<(ia|0))g=0;else break a;while(1){if((g|0)>=(c[r>>2]|0))break;j=(H(c[ja>>2]|0,h)|0)+g|0;f=c[q>>2]|0;if(!f)f=2;else f=c[f>>2]|0?1:2;if((c[(c[p>>2]|0)+(j<<2)>>2]&7|0)==0?a[(c[o>>2]|0)+j>>0]&8:0){c[k>>2]=0;c[l>>2]=0;ud[c[m>>2]&1](c[i>>2]|0,0,f,0,k,g,h,0,0)}g=g+1|0}h=h+1|0}}while(0);$c=ka;return}function pi(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,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;z=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);j=z;x=z+8|0;y=z+4|0;w=ah(h,g<<3)|0;c[x>>2]=w;v=ah(h,g<<4)|0;c[y>>2]=v;a:do if((v|0)!=0&(w|0)!=0){v=d+564|0;w=d+696|0;u=d+580|0;n=0;while(1){if((n|0)>=(g|0)){n=0;break}o=n>>i;p=H(n,h)|0;l=0;j=1024;d=-1;while(1){if((l|0)>=(f|0)){k=f;j=1024;d=-1;break}t=(H(c[v>>2]|0,o)|0)+(l>>i)|0;if((c[(c[w>>2]|0)+(t<<2)>>2]&7|0)!=0?(a[(c[u>>2]|0)+t>>0]&4)!=0:0)k=l+p|0;else{k=l+p|0;j=b[e+(k<<1)>>1]|0;d=l}b[(c[x>>2]|0)+(k<<3)+2>>1]=j;c[(c[y>>2]|0)+(k<<4)+4>>2]=(d|0)>-1?l-d|0:9999;l=l+1|0}while(1){m=k+-1|0;if((k|0)<=0)break;t=(H(c[v>>2]|0,o)|0)+(m>>i)|0;if((c[(c[w>>2]|0)+(t<<2)>>2]&7|0)!=0?(a[(c[u>>2]|0)+t>>0]&4)!=0:0){l=j;j=m+p|0}else{j=m+p|0;l=b[e+(j<<1)>>1]|0;d=m}b[(c[x>>2]|0)+(j<<3)>>1]=l;c[(c[y>>2]|0)+(j<<4)>>2]=(d|0)>-1?d-m|0:9999;k=m;j=l}n=n+1|0}while(1){if((n|0)>=(f|0)){k=0;break}o=n>>i;j=1024;d=-1;l=0;while(1){if((l|0)>=(g|0)){k=g;j=1024;d=-1;break}t=(H(c[v>>2]|0,l>>i)|0)+o|0;if((c[(c[w>>2]|0)+(t<<2)>>2]&7|0)!=0?(a[(c[u>>2]|0)+t>>0]&4)!=0:0)k=(H(l,h)|0)+n|0;else{k=(H(l,h)|0)+n|0;j=b[e+(k<<1)>>1]|0;d=l}b[(c[x>>2]|0)+(k<<3)+6>>1]=j;c[(c[y>>2]|0)+(k<<4)+12>>2]=(d|0)>-1?l-d|0:9999;l=l+1|0}while(1){m=k+-1|0;if((k|0)<=0)break;t=(H(c[v>>2]|0,m>>i)|0)+o|0;if((c[(c[w>>2]|0)+(t<<2)>>2]&7|0)!=0?(a[(c[u>>2]|0)+t>>0]&4)!=0:0){l=j;j=(H(m,h)|0)+n|0}else{j=(H(m,h)|0)+n|0;l=b[e+(j<<1)>>1]|0;d=m}b[(c[x>>2]|0)+(j<<3)+4>>1]=l;c[(c[y>>2]|0)+(j<<4)+8>>2]=(d|0)>-1?d-m|0:9999;k=m;j=l}n=n+1|0}while(1){if((k|0)>=(g|0))break a;l=k>>i;m=H(k,h)|0;d=0;while(1){if((d|0)>=(f|0))break;t=(H(c[v>>2]|0,l)|0)+(d>>i)|0;if((c[(c[w>>2]|0)+(t<<2)>>2]&120|0)==0?a[(c[u>>2]|0)+t>>0]&4:0){n=c[y>>2]|0;o=d+m|0;p=c[x>>2]|0;j=0;q=0;r=0;s=0;t=0;while(1){if((j|0)==4)break;A=c[n+(o<<4)+(j<<2)>>2]|0;A=268435456/((A>>>0>1?A:1)>>>0)|0;C=b[p+(o<<3)+(j<<1)>>1]|0;C=OW(C|0,((C|0)<0)<<31>>31|0,A|0,0)|0;C=IW(C|0,M()|0,q|0,r|0)|0;B=M()|0;A=IW(s|0,t|0,A|0,0)|0;j=j+1|0;q=C;r=B;s=A;t=M()|0}C=MW(s|0,t|0,2,0)|0;C=IW(C|0,M()|0,q|0,r|0)|0;C=MW(C|0,M()|0,s|0,t|0)|0;M()|0;b[e+(o<<1)>>1]=C}d=d+1|0}k=k+1|0}}else lf(c[d>>2]|0,16,135574,j);while(0);gf(x);gf(y);$c=z;return}function qi(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=d+-1|0;h=c+-1|0;c=1;while(1){if((c|0)>=(i|0)){c=1;break}g=H(c,e)|0;d=1;f=b[a+(g<<1)>>1]|0;while(1){if((d|0)>=(h|0))break;l=a+(d+g<<1)|0;j=b[l>>1]|0;k=d+1|0;b[l>>1]=((((j<<3)-f-(b[a+(k+g<<1)>>1]|0)|0)*10923|0)+32768|0)>>>16;d=k;f=j}c=c+1|0}while(1){if((c|0)>=(h|0))break;d=b[a+(c<<1)>>1]|0;f=1;while(1){if((f|0)>=(i|0))break;j=a+((H(f,e)|0)+c<<1)|0;k=b[j>>1]|0;l=f+1|0;b[j>>1]=((((k<<3)-d-(b[a+((H(l,e)|0)+c<<1)>>1]|0)|0)*10923|0)+32768|0)>>>16;d=k;f=l}c=c+1|0}return}function ri(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=c[d+672>>2]|0;t=v+32|0;u=d+588|0;m=h<<1;n=i<<1;o=d+568|0;k=0;while(1){if((k|0)==4)break;q=k&1;r=k>>1;p=b[(c[u>>2]|0)+((H(c[o>>2]|0,r+n|0)|0)+(q|m)<<1)>>1]|0;p=p<<16>>16>0?((p<<16>>16<2040?p:2040)&65535)>>>3&255:0;q=q<<3;r=r<<3;l=0;while(1){if((l|0)==8)break;s=l+r|0;j=0;while(1){if((j|0)==8)break;a[e+(j+q+(H(c[t>>2]|0,s)|0))>>0]=p;j=j+1|0}l=l+1|0}k=k+1|0}k=(H(c[d+564>>2]|0,i)|0)+h|0;j=b[(c[d+592>>2]|0)+(k<<1)>>1]|0;k=b[(c[d+596>>2]|0)+(k<<1)>>1]|0;a:do if(g|0){m=j<<16>>16>0?((j<<16>>16<2040?j:2040)&65535)>>>3&255:0;n=v+36|0;e=k<<16>>16>0?((k<<16>>16<2040?k:2040)&65535)>>>3&255:0;l=v+40|0;k=0;while(1){if((k|0)==8)break a;else j=0;while(1){if((j|0)==8)break;a[f+((H(c[n>>2]|0,k)|0)+j)>>0]=m;a[g+((H(c[l>>2]|0,k)|0)+j)>>0]=e;j=j+1|0}k=k+1|0}}while(0);return}function si(e,f,g,h,i,j){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0;P=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);M=P+4|0;I=P;ui(e,M,I);O=c[M>>2]>>j;c[M>>2]=O;M=H(c[I>>2]|0,O)|0;c[I>>2]=M;I=g+-1|0;J=e+580|0;K=e+564|0;L=e+696|0;C=e+680|0;B=0;while(1){if((B|0)>=(h|0))break;D=B>>j;E=H(B,i)|0;F=H(M,B)|0;g=0;a:while(1){if((g|0)>=(I|0))break;x=c[J>>2]|0;l=H(c[K>>2]|0,D)|0;k=l+(g>>j)|0;y=a[x+k>>0]|0;G=g+1|0;l=l+(G>>j)|0;x=a[x+l>>0]|0;m=c[L>>2]|0;o=g+E<<3;n=c[C>>2]|0;g=(H(O,g)|0)+F|0;e=(H(O,G)|0)+F|0;z=(y&14)!=0;A=(x&14)!=0;if(!((x|y)&14)){g=G;continue}if(((c[m+(k<<2)>>2]|c[m+(l<<2)>>2])&7|0)==0?(y=(b[n+(g<<2)>>1]|0)-(b[n+(e<<2)>>1]|0)|0,x=(b[n+(e<<2)+2>>1]|0)+(b[n+(g<<2)+2>>1]|0)|0,(((x|0)>-1?x:0-x|0)+((y|0)>-1?y:0-y|0)|0)<2):0){g=G;continue}r=o|7;s=o|6;t=o+8|0;u=o+9|0;y=z&A;v=o|5;w=o|4;x=o+10|0;l=o+11|0;e=0;while(1){if((e|0)==8){g=G;continue a}m=H(e,i)|0;n=f+(m+r)|0;o=d[n>>0]|0;p=f+(m+s)|0;R=o-(d[p>>0]|0)|0;q=f+(t+m)|0;g=d[q>>0]|0;Q=g-o|0;k=f+(u+m)|0;g=(d[k>>0]|0)-g|0;g=((Q|0)>-1?Q:0-Q|0)-(((R|0)>-1?R:0-R|0)+1+((g|0)>-1?g:0-g|0)>>1)|0;g=(g|0)>0?g:0;g=(Q|0)<0?0-g|0:g;if(g|0){g=y?g:(g<<4|0)/9|0;if(z){a[n>>0]=a[134276+((g*7>>4)+o)>>0]|0;a[p>>0]=a[134276+((g*5>>4)+(d[p>>0]|0))>>0]|0;R=f+(m+v)|0;a[R>>0]=a[134276+((g*3>>4)+(d[R>>0]|0))>>0]|0;R=f+(m+w)|0;a[R>>0]=a[134276+((g>>4)+(d[R>>0]|0))>>0]|0}if(A){a[q>>0]=a[134276+((d[q>>0]|0)-(g*7>>4))>>0]|0;a[k>>0]=a[134276+((d[k>>0]|0)-(g*5>>4))>>0]|0;R=f+(x+m)|0;a[R>>0]=a[134276+((d[R>>0]|0)-(g*3>>4))>>0]|0;R=f+(l+m)|0;a[R>>0]=a[134276+((d[R>>0]|0)-(g>>4))>>0]|0}}e=e+1|0}}B=B+1|0}$c=P;return}function ti(e,f,g,h,i,j){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;S=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);Q=S+4|0;L=S;ui(e,Q,L);R=c[Q>>2]>>j;c[Q>>2]=R;Q=H(c[L>>2]|0,R)|0;c[L>>2]=Q;L=h+-1|0;M=e+580|0;O=e+564|0;P=e+696|0;x=e+680|0;y=i*7|0;z=i*6|0;A=i<<3;B=i*9|0;C=i*5|0;D=i<<2;E=i*10|0;F=i*11|0;h=0;a:while(1){if((h|0)>=(L|0))break;G=h>>j;I=h+1|0;J=I>>j;K=H(h,i)|0;s=H(Q,h)|0;t=H(Q,I)|0;r=0;while(1){if((r|0)>=(g|0)){h=I;continue a}T=c[M>>2]|0;e=r>>j;k=c[O>>2]|0;h=(H(k,G)|0)+e|0;q=a[T+h>>0]|0;e=(H(k,J)|0)+e|0;T=a[T+e>>0]|0;k=c[P>>2]|0;u=r+K<<3;l=c[x>>2]|0;o=H(R,r)|0;m=o+s|0;n=l+(m<<2)|0;o=o+t|0;p=l+(o<<2)|0;v=(q&14)!=0;w=(T&14)!=0;b:do if((T|q)&14){if(((c[k+(h<<2)>>2]|c[k+(e<<2)>>2])&7|0)==0?(T=(b[n>>1]|0)-(b[p>>1]|0)|0,q=(b[l+(o<<2)+2>>1]|0)+(b[l+(m<<2)+2>>1]|0)|0,(((q|0)>-1?q:0-q|0)+((T|0)>-1?T:0-T|0)|0)<2):0)break;q=v&w;e=0;while(1){if((e|0)==8)break b;l=e+u|0;m=f+(l+y)|0;n=d[m>>0]|0;o=f+(l+z)|0;U=n-(d[o>>0]|0)|0;p=f+(l+A)|0;h=d[p>>0]|0;T=h-n|0;k=f+(l+B)|0;h=(d[k>>0]|0)-h|0;h=((T|0)>-1?T:0-T|0)-(((U|0)>-1?U:0-U|0)+1+((h|0)>-1?h:0-h|0)>>1)|0;h=(h|0)>0?h:0;h=(T|0)<0?0-h|0:h;if(h|0){h=q?h:(h<<4|0)/9|0;if(v){a[m>>0]=a[134276+((h*7>>4)+n)>>0]|0;a[o>>0]=a[134276+((h*5>>4)+(d[o>>0]|0))>>0]|0;U=f+(l+C)|0;a[U>>0]=a[134276+((h*3>>4)+(d[U>>0]|0))>>0]|0;U=f+(l+D)|0;a[U>>0]=a[134276+((h>>4)+(d[U>>0]|0))>>0]|0}if(w){a[p>>0]=a[134276+((d[p>>0]|0)-(h*7>>4))>>0]|0;a[k>>0]=a[134276+((d[k>>0]|0)-(h*5>>4))>>0]|0;U=f+(l+E)|0;a[U>>0]=a[134276+((d[U>>0]|0)-(h*3>>4))>>0]|0;U=f+(l+F)|0;a[U>>0]=a[134276+((d[U>>0]|0)-(h>>4))>>0]|0}}e=e+1|0}}while(0);r=r+1|0}}$c=S;return}function ui(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=g;do if((c[(c[a>>2]|0)+16>>2]|0)==27)if(!(c[a+788>>2]|0)){c[f>>2]=135556;c[f+4>>2]=133222;c[f+8>>2]=47;lf(0,0,164242,f);ub()}else{c[b>>2]=4;e=c[a+556>>2]<<2;break}else{c[b>>2]=2;e=c[a+568>>2]|0}while(0);c[d>>2]=e;$c=g;return}function vi(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);h=i;e=a+8|0;f=c[e>>2]|0;g=c[a+16>>2]|0;a=(c[a>>2]|0)+(f>>>3)|0;a=(VW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(f&7);do if(a>>>0<=134217727){k=a>>>0>65535;j=k?a>>>16:a;k=k?16:0;b=(j&65280|0)==0;j=(b?k:k|8)+(d[120631+(b?j:j>>>8)>>0]|0)|0;b=j<<1;f=63-b+f|0;c[e>>2]=g>>>0>f>>>0?f:g;if(j>>>0<19){lf(0,16,155990,h);a=-1094995529;break}else{a=(a>>>(b+-31|0))+-1|0;break}}else{a=a>>>23;k=f+(d[126600+a>>0]|0)|0;c[e>>2]=g>>>0>k>>>0?k:g;a=d[127112+a>>0]|0}while(0);$c=i;return a|0}function wi(a){a=a|0;var b=0,e=0,f=0;b=a+8|0;f=c[b>>2]|0;e=c[a+16>>2]|0;a=(c[a>>2]|0)+(f>>>3)|0;a=(VW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(f&7)>>>23;f=f+(d[126600+a>>0]|0)|0;c[b>>2]=e>>>0>f>>>0?f:e;return d[127112+a>>0]|0|0}function xi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=e;c[f>>2]=d;Ki(0,a,b,f);$c=e;return}function yi(a){a=a|0;var b=0,e=0,f=0;e=a+8|0;f=c[e>>2]|0;b=(d[(c[a>>2]|0)+(f>>>3)>>0]|0)<<(f&7)>>>7&1;c[e>>2]=f+((f|0)<(c[a+16>>2]|0)&1);return b|0}function zi(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=a+8|0;g=c[e>>2]|0;f=c[a+16>>2]|0;a=(c[a>>2]|0)+(g>>>3)|0;a=(VW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(g&7)>>>(32-b|0);b=g+b|0;c[e>>2]=f>>>0>b>>>0?b:f;return a|0}function Ai(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+8|0;g=c[f>>2]|0;h=c[b+16>>2]|0;e=c[b>>2]|0;b=e+(g>>>3)|0;b=(VW(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24|0)|0)<<(g&7);if(b>>>0>134217727){b=b>>>23;g=g+(d[126600+b>>0]|0)|0;c[f>>2]=h>>>0>g>>>0?g:h;b=a[127624+b>>0]|0}else{j=b>>>0>65535;b=j?b>>>16:b;j=j?16:0;i=(b&65280|0)==0;b=(i?j:j|8)+(d[120631+(i?b:b>>>8)>>0]|0)|0;i=31-b+g|0;i=h>>>0>i>>>0?i:h;g=e+(i>>>3)|0;g=(VW(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24|0)|0)<<(i&7)>>>b;b=i+(32-b)|0;c[f>>2]=h>>>0>b>>>0?b:h;b=g&1;b=(g>>>1^0-b)+b|0}return b|0}function Bi(a){a=a|0;return c[a+8>>2]|0}function Ci(a,b){a=a|0;b=b|0;var d=0;d=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);switch(c[a+4>>2]|0){case 66:case 77:case 88:{if(!(c[a+1196>>2]&7))a=1;else{lf(b,40,136246,d);a=0}break}default:a=1}$c=d;return a|0}function Di(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;j=(e|0)!=0;if(j)h=0;else h=(c[b+668>>2]|0)!=0;i=h?b+768|0:135978;k=h?b+960|0:136042;if(!(yi(a)|0))return 0;l=Ji(a,f,16,136106,h?b+672|0:136106)|0;m=f+16|0;l=Ji(a,m,16,136106,f)|0|l;m=l|(Ji(a,f+32|0,16,136106,m)|0);l=f+48|0;m=m|(Ji(a,l,16,136122,h?b+720|0:136122)|0);h=f+64|0;l=m|(Ji(a,h,16,136122,l)|0);h=l|(Ji(a,f+80|0,16,136122,h)|0);if(!(!j?(c[d+64>>2]|0)==0:0)){h=Ji(a,g,64,135978,i)|0|h;f=g+192|0;h=h|(Ji(a,f,64,136042,k)|0);if((c[b+12>>2]|0)==3){m=g+64|0;l=Ji(a,m,64,135978,g)|0|h;h=g+256|0;l=l|(Ji(a,h,64,136042,f)|0);m=l|(Ji(a,g+128|0,64,135978,m)|0);h=m|(Ji(a,g+320|0,64,136042,h)|0)}}return ((h|0)==0?e:h)|0}function Ei(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=e+-8|0;h=f*6|0;g=h+51|0;h=h+52|0;e=0;while(1){if((e|0)>=(h|0))break;i=e+d|0;a[b+548+(c*88|0)+e>>0]=a[((i|0)<0?0:(i|0)>(g|0)?g:i)+(128495+(f*88|0))>>0]|0;e=e+1|0}return}function Fi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;Hi(a,b);f=a+173812|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;f=a+64|0;if(c[f>>2]|0)Ii(a,b);a:do if(c[b+16>>2]|0){d=0;while(1){if((d|0)==6)break;e=a+173788+(d<<2)|0;b=0;while(1){if((b|0)==16)break;c[(c[e>>2]|0)+(b<<2)>>2]=64;b=b+1|0}d=d+1|0}if(c[f>>2]|0){d=0;while(1){if((d|0)==6)break a;e=a+173812+(d<<2)|0;b=0;while(1){if((b|0)==64)break;c[(c[e>>2]|0)+(b<<2)>>2]=64;b=b+1|0}d=d+1|0}}}while(0);return}function Gi(a,b){a=a|0;b=b|0;Sf(a+128+(b<<2)|0);return}function Hi(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=((c[b+1184>>2]|0)*6|0)+4|0;h=0;while(1){if((h|0)==6)break;f=a+173788+(h<<2)|0;c[f>>2]=a+4828+(h*5632|0);b=a+68+(h<<4)|0;e=0;while(1){if((e|0)>=(h|0)){g=0;b=8;break}if(!(qT(a+68+(e<<4)|0,b,16)|0)){b=6;break}e=e+1|0}a:do if((b|0)==6)c[f>>2]=a+4828+(e*5632|0);else if((b|0)==8)while(1){if((g|0)>=(i|0))break a;e=(d[128407+g>>0]|0)+2|0;f=d[128319+g>>0]|0;b=0;while(1){if((b|0)==16)break;j=b>>2;c[a+4828+(h*5632|0)+(g<<6)+((b<<2&12|j)<<2)>>2]=(H(d[a+68+(h<<4)+b>>0]|0,d[(j&1)+(b&1)+(128249+(f*3|0))>>0]|0)|0)<>2]|0)*6|0)+4|0;h=0;while(1){if((h|0)==6)break;f=a+173812+(h<<2)|0;c[f>>2]=a+38620+(h*22528|0);b=a+164+(h<<6)|0;e=0;while(1){if((e|0)>=(h|0)){g=0;b=8;break}if(!(qT(a+164+(e<<6)|0,b,64)|0)){b=6;break}e=e+1|0}a:do if((b|0)==6)c[f>>2]=a+38620+(e*22528|0);else if((b|0)==8)while(1){if((g|0)>=(i|0))break a;e=d[128407+g>>0]|0;f=d[128319+g>>0]|0;b=0;while(1){if((b|0)==64)break;c[a+38620+(h*22528|0)+(g<<8)+((b<<3&56|b>>3)<<2)>>2]=(H(d[a+164+(h<<6)+b>>0]|0,d[(d[128267+(b>>>1&12|b&3)>>0]|0)+(128283+(f*6|0))>>0]|0)|0)<=(ad|0))N(16);l=m;k=(f|0)==16?136138:136155;a:do if(yi(b)|0){i=0;h=8;j=8;while(1){if((i|0)>=(f|0)){h=0;break a}if(!h)h=0;else{h=Ai(b)|0;if((h+128|0)>>>0>255){i=7;break}h=h+j&255}if(!(h|i)){i=9;break}n=h|0?h:j;a[e+(d[k+i>>0]|0)>>0]=n;i=i+1|0;j=n}if((i|0)==7){c[l>>2]=h;lf(0,16,136219,l);h=-1094995529;break}else if((i|0)==9){XW(e|0,g|0,f|0)|0;h=0;break}}else{XW(e|0,h|0,f|0)|0;h=0}while(0);$c=m;return h|0}function Ki(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);mf(b,24,c,d);lf(b,24,136311,e);if(a|0)lf(b,24,136487,e+8|0);$c=e;return}function Li(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(b|0)!=0&d>>>0<2147483640;d=e?d:0;b=e?b:0;c[a>>2]=b;c[a+12>>2]=d;c[a+16>>2]=d+8;c[a+4>>2]=b+(d+7>>3);c[a+8>>2]=0;return (e?0:-1094995529)|0}function Mi(a){a=a|0;var b=0,d=0;b=a+8|0;a=c[a+16>>2]|0;d=(c[b>>2]|0)+2|0;c[b>>2]=a>>>0>d>>>0?d:a;return}function Ni(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);k=l+24|0;i=l+16|0;h=l+8|0;f=l;do if(yi(a)|0){e=zi(a,8)|0;if((e|0)==255){c[d+100>>2]=zi(a,16)|0;c[d+104>>2]=zi(a,16)|0;g=8;break}if(e>>>0<17){e=75140+(e<<3)|0;f=c[e+4>>2]|0;g=d+100|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;g=8;break}else{lf(b,16,137289,f);e=-1094995529;break}}else{c[d+104>>2]=0;c[d+100>>2]=0;g=8}while(0);do if((g|0)==8){if(yi(a)|0)yi(a)|0;g=yi(a)|0;c[d+108>>2]=g;if(g|0?(zi(a,3)|0,c[d+112>>2]=yi(a)|0,g=yi(a)|0,c[d+116>>2]=g,g|0):0){e=d+120|0;c[e>>2]=zi(a,8)|0;f=d+124|0;c[f>>2]=zi(a,8)|0;g=d+128|0;c[g>>2]=zi(a,8)|0;if(!(Qi(c[e>>2]|0)|0))c[e>>2]=2;if(!(Ri(c[f>>2]|0)|0))c[f>>2]=2;if(!(Si(c[g>>2]|0)|0))c[g>>2]=2}if(yi(a)|0){c[b+332>>2]=(vi(a)|0)+1;vi(a)|0}if(Ti(a)|0?(Oi(a)|0)<10:0){lf(b,24,137311,h);e=0;break}h=yi(a)|0;e=d+132|0;c[e>>2]=h;if(h|0){f=Ui(a,32)|0;g=Ui(a,32)|0;if((f|0)!=0&(g|0)!=0){c[d+136>>2]=f;c[d+140>>2]=g}else{c[i>>2]=g;c[i+4>>2]=f;lf(b,16,137326,i);c[e>>2]=0}c[d+144>>2]=yi(a)|0}i=yi(a)|0;e=d+1152|0;c[e>>2]=i;if(i|0?(Vi(a,b,d)|0)<0:0){e=-1094995529;break}i=yi(a)|0;f=d+1156|0;c[f>>2]=i;if(i|0?(Vi(a,b,d)|0)<0:0){e=-1094995529;break}if(!((c[e>>2]|0)==0?!(c[f>>2]|0):0))yi(a)|0;c[d+1160>>2]=yi(a)|0;if((Oi(a)|0)!=0?(i=yi(a)|0,j=d+660|0,c[j>>2]=i,(i|0)!=0):0){yi(a)|0;vi(a)|0;vi(a)|0;vi(a)|0;vi(a)|0;f=d+664|0;c[f>>2]=vi(a)|0;vi(a)|0;if((Oi(a)|0)<0){c[f>>2]=0;c[j>>2]=0;e=0;break}e=c[f>>2]|0;if(e>>>0>16){c[k>>2]=e;lf(b,16,137387,k);c[f>>2]=16;e=-1094995529}else e=0}else e=0}while(0);$c=l;return e|0}function Oi(a){a=a|0;var b=0;b=c[a+12>>2]|0;return b-(Bi(a)|0)|0}function Pi(a,b){a=a|0;b=b|0;Sf(a+(b<<2)|0);return}function Qi(a){a=a|0;if(a>>>0<23)a=c[72440+(a<<2)>>2]|0;else a=0;return a|0}function Ri(a){a=a|0;if(a>>>0<19)a=c[72364+(a<<2)>>2]|0;else a=0;return a|0}function Si(a){a=a|0;if(a>>>0<15)a=c[72304+(a<<2)>>2]|0;else a=0;return a|0}function Ti(a){a=a|0;return Zi(a)|0}function Ui(a,b){a=a|0;b=b|0;var c=0;do if(b)if((b|0)<26){a=zi(a,b)|0;break}else{b=b+-16|0;c=(zi(a,16)|0)<=(ad|0))N(16);e=h;f=wi(a)|0;g=f+1|0;if(g>>>0>32){c[e>>2]=g;lf(b,16,137427,e);b=-1094995529}else{zi(a,4)|0;zi(a,4)|0;b=0;while(1){if((b|0)>(f|0))break;Wi(a);Wi(a);yi(a)|0;b=b+1|0}c[d+1172>>2]=(zi(a,5)|0)+1;c[d+1176>>2]=(zi(a,5)|0)+1;c[d+1180>>2]=(zi(a,5)|0)+1;c[d+1164>>2]=zi(a,5)|0;c[d+1168>>2]=g;b=0}$c=h;return b|0}function Wi(a){a=a|0;var b=0,c=0,e=0;e=Xi(a)|0;b=e>>>0>65535;e=b?e>>>16:e;b=b?16:0;c=(e&65280|0)==0;b=31-(d[120631+(c?e:e>>>8)>>0]|0)-(c?b:b|8)|0;Yi(a,b);Ui(a,b+1|0)|0;return}function Xi(a){a=a|0;var b=0,d=0;b=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);d=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[d+16>>2]=c[a+16>>2];a=Ui(d,32)|0;$c=b;return a|0}function Yi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+8|0;e=c[d>>2]|0;f=0-e|0;a=(c[a+16>>2]|0)-e|0;c[d>>2]=((f|0)>(b|0)?f:(a|0)<(b|0)?a:b)+e;return}function Zi(a){a=a|0;var b=0;b=c[a+8>>2]|0;a=(c[a>>2]|0)+(b>>>3)|0;return (VW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(b&7)>>>31|0}function _i(a){a=a|0;var b=0;b=c[a+12>>2]|0;return b-(bj(a)|0)|0}function $i(a,b){a=a|0;b=b|0;var e=0;e=c[a+8>>2]|0;a=(c[a>>2]|0)+(e>>>3)|0;return (VW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(e&7)>>>(32-b|0)|0}function aj(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=a+8|0;g=c[e>>2]|0;f=c[a+16>>2]|0;a=(c[a>>2]|0)+(g>>>3)|0;a=(VW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(g&7)>>>(32-b|0);b=g+b|0;c[e>>2]=f>>>0>b>>>0?b:f;return a|0}function bj(a){a=a|0;return c[a+8>>2]|0}function cj(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);l=m+8|0;j=m;i=0;g=c[e+1164>>2]|0;while(1){h=(g|0)!=0;if((i|0)==32)break;if(!(h?(c[g+20>>2]|0)!=0:0)){h=c[e+(i<<2)>>2]|0;if(h)g=c[h+4>>2]|0}i=i+1|0}do if(h){if(!((c[g+1152>>2]|0)==0?!(c[g+1156>>2]|0):0)){c[a+16>>2]=sj(b,c[g+1176>>2]|0)|0;c[a+12>>2]=sj(b,c[g+1180>>2]|0)|0}if(c[g+1160>>2]|0){h=aj(b,4)|0;j=a+4|0;c[j>>2]=h;k=a+8|0;c[k>>2]=0;if(h>>>0>8){g=-1094995529;break}e=d[137942+h>>0]|0;h=g+1164|0;g=0;while(1){if((g|0)==(e|0))break;if(aj(b,1)|0){i=1<<(aj(b,2)|0);c[k>>2]=c[k>>2]|i;nj(b,1);nj(b,5);i=aj(b,1)|0;nj(b,1);nj(b,1);nj(b,8);if(!i){if((aj(b,1)|0?(nj(b,6),aj(b,1)|0):0)?(nj(b,6),aj(b,1)|0):0)nj(b,5)}else{nj(b,6);nj(b,6);nj(b,5)}i=c[h>>2]|0;if((i|0)>0)nj(b,i)}g=g+1|0}b=c[j>>2]|0;c[l>>2]=c[k>>2];c[l+4>>2]=b;lf(f,48,137951,l)}c[a>>2]=1;g=0}else{lf(f,16,137900,j);g=-1397768184}while(0);$c=m;return g|0}function dj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;a:do if((c|0)<7)c=-1094995529;else{if((aj(b,8)|0)==255){nj(b,8);c=c+-8|0}else c=c+-7|0;nj(b,8);nj(b,8);d=sj(b,32)|0;b:do if((d|0)<1195456820){switch(d|0){case 1146373937:break;default:break b}c=uj(a+20|0,b,c)|0;break a}else{switch(d|0){case 1195456820:break;default:break b}c=vj(a+28|0,b,c)|0;break a}while(0);nj(b,c<<3);c=0}while(0);return c|0}function ej(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);g=j;h=j+4|0;if((e+-16|0)>>>0<=2147483614){f=e+16|0;i=tf(e+17|0)|0;if(!i)e=-12;else{e=0;while(1){if((e|0)>=(f|0))break;a[i+e>>0]=aj(d,8)|0;e=e+1|0}a[i+e>>0]=0;f=i+16|0;c[g>>2]=h;d=(CU(f,137868,g)|0)==1;e=c[h>>2]|0;if(d&(e|0)>0)c[b>>2]=e;if(d&(e|0)==1?(rT(f,137883,16)|0)==0:0)c[b>>2]=67;hf(i);e=0}}else e=-1094995529;$c=j;return e|0}function fj(a,b){a=a|0;b=b|0;c[a>>2]=pj(b)|0;nj(b,4);return}function gj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);i=j;f=tj(b)|0;g=f>>>0>31;if(!g?(h=c[d+(f<<2)>>2]|0,(h|0)!=0):0){g=c[h+4>>2]|0;a:do if(c[g+1152>>2]|0){e=g+1168|0;f=g+1172|0;d=0;while(1){if((d|0)>=(c[e>>2]|0))break a;c[a+4+(d<<2)>>2]=sj(b,c[f>>2]|0)|0;nj(b,c[f>>2]|0);d=d+1|0}}while(0);b:do if(c[g+1156>>2]|0){f=g+1168|0;e=g+1172|0;d=0;while(1){if((d|0)>=(c[f>>2]|0))break b;c[a+4+(d<<2)>>2]=sj(b,c[e>>2]|0)|0;nj(b,c[e>>2]|0);d=d+1|0}}while(0);c[a>>2]=1;d=0}else{c[i>>2]=f;lf(e,16,137816,i);d=g?-1094995529:-1397768184}$c=j;return d|0}function hj(a,b){a=a|0;b=b|0;var d=0,e=0;c[a+4>>2]=pj(b)|0;d=oj(b)|0;c[a+8>>2]=d;d=(d|0)==0;c[a>>2]=d&1;if(d){d=a+12|0;c[d>>2]=aj(b,7)|0;e=a+24|0;c[e>>2]=oj(b)|0;c[a+20>>2]=aj(b,6)|0;nj(b,3);c[a+28>>2]=oj(b)|0;nj(b,2);if((c[e>>2]|0)==0?(c[d>>2]|0)!=5:0)nj(b,16);nj(b,8);c[a+16>>2]=pj(b)|0}qj(b);return}function ij(a,b){a=a|0;b=b|0;var d=0;d=(oj(b)|0)==0;c[a>>2]=d&1;if(d){c[a+8>>2]=oj(b)|0;c[a+12>>2]=oj(b)|0;c[a+4>>2]=aj(b,16)|0;pj(b)|0;qj(b)}return}function jj(c,d){c=c|0;d=d|0;var e=0;e=(aj(d,8)|0)&255;a[c>>0]=e;switch(e<<24>>24){case 0:{e=(aj(d,8)|0)&255;a[c+1>>0]=e;switch(e<<24>>24){case 2:{b[c+2>>1]=aj(d,16)|0;break}case 3:{b[c+4>>1]=aj(d,16)|0;break}default:{}}a[c+6>>0]=aj(d,8)|0;a[c+7>>0]=aj(d,8)|0;a[c+8>>0]=aj(d,8)|0;a[c+9>>0]=aj(d,8)|0;break}case 1:{a[c+10>>0]=aj(d,8)|0;b[c+12>>1]=aj(d,16)|0;break}default:{}}return}function kj(a,b){a=a|0;b=b|0;c[a>>2]=1;c[a+4>>2]=aj(b,8)|0;return}function lj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+8|0;e=c[d>>2]|0;f=0-e|0;a=(c[a+16>>2]|0)-e|0;c[d>>2]=((f|0)>(b|0)?f:(a|0)<(b|0)?a:b)+e;return}function mj(a){a=a|0;var b=0;b=0-(bj(a)|0)&7;if(b|0)nj(a,b);return}function nj(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=c[a+16>>2]|0;b=(c[d>>2]|0)+b|0;c[d>>2]=a>>>0>b>>>0?b:a;return}function oj(a){a=a|0;var b=0,e=0,f=0;e=a+8|0;f=c[e>>2]|0;b=(d[(c[a>>2]|0)+(f>>>3)>>0]|0)<<(f&7)>>>7&1;c[e>>2]=f+((f|0)<(c[a+16>>2]|0)&1);return b|0}function pj(a){a=a|0;var b=0,c=0,e=0;e=rj(a)|0;b=e>>>0>65535;e=b?e>>>16:e;b=b?16:0;c=(e&65280|0)==0;b=31-(d[120631+(c?e:e>>>8)>>0]|0)-(c?b:b|8)|0;lj(a,b);return (sj(a,b+1|0)|0)+-1|0}function qj(a){a=a|0;nj(a,1);return}function rj(a){a=a|0;var b=0,d=0;b=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);d=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[d+16>>2]=c[a+16>>2];a=sj(d,32)|0;$c=b;return a|0}function sj(a,b){a=a|0;b=b|0;var c=0;do if(b)if((b|0)<26){a=aj(a,b)|0;break}else{b=b+-16|0;c=(aj(a,16)|0)<>2]|0;e=c[a+16>>2]|0;a=(c[a>>2]|0)+(f>>>3)|0;a=(VW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(f&7)>>>23;f=f+(d[126600+a>>0]|0)|0;c[b>>2]=e>>>0>f>>>0?f:e;return d[127112+a>>0]|0|0}function uj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=1){nj(d,1);f=aj(d,1)|0;nj(d,6);if(f)if((e|0)<2)b=-1094995529;else{nj(d,4);a[b+4>>0]=aj(d,4)|0;c[b>>2]=1;b=0}else b=0}else b=-1094995529;return b|0}function vj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;a:do if((e|0)>=3){if((aj(d,8)|0)!=3){f=e+-1|0;e=0;while(1){if((e|0)==(f|0)){e=0;break a}nj(d,8);e=e+1|0}}nj(d,1);if(((aj(d,1)|0)!=0?(nj(d,1),g=aj(d,5)|0,nj(d,8),(g|0)!=0):0)?(e+-2|0)>=(g*3|0):0){e=c[b>>2]|0;f=OW(g|0,((g|0)<0)<<31>>31|0,3,0)|0;e=IW(f|0,M()|0,e|0,((e|0)<0)<<31>>31|0)|0;f=M()|0;if(!(f>>>0>0|(f|0)==0&e>>>0>2147483647)){f=b+4|0;e=wj(f,e)|0;if((e|0)>=0){e=0;while(1){if((e|0)>=(g|0))break;j=(aj(d,8)|0)&255;i=c[f>>2]|0;h=c[b>>2]|0;c[b>>2]=h+1;a[i+h>>0]=j;h=(aj(d,8)|0)&255;i=c[f>>2]|0;j=c[b>>2]|0;c[b>>2]=j+1;a[i+j>>0]=h;j=(aj(d,8)|0)&255;i=c[f>>2]|0;h=c[b>>2]|0;c[b>>2]=h+1;a[i+h>>0]=j;e=e+1|0}nj(d,8);e=0}}else e=-22}else e=0}else e=-22;while(0);return e|0}function wj(b,c){b=b|0;c=c|0;do if(c){c=sf(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24,c)|0;if(!c){gf(b);c=-12;break}else{a[b>>0]=c;a[b+1>>0]=c>>8;a[b+2>>0]=c>>16;a[b+3>>0]=c>>24;c=0;break}}else{gf(b);c=0}while(0);return c|0}function xj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=$c;$c=$c+64|0;if(($c|0)>=(ad|0))N(64);p=B+56|0;o=B+48|0;u=B+32|0;s=B+24|0;t=B+16|0;f=B;x=c[d>>2]|0;A=d+21788|0;r=c[A>>2]|0;y=d+868|0;z=c[y>>2]|0;w=c[c[x+24312>>2]>>2]|0;b=c[w+32>>2]|0;e=d+21772|0;c[e>>2]=b;c[d+21776>>2]=c[w+36>>2];b=Dj(d,b)|0;a:do if((b|0)>=0){n=d+21816|0;c[n>>2]=-1;if((c[x+26036>>2]|0)!=(((c[e>>2]|0)*12|0)+(12<>2])|0)){c[f>>2]=139072;c[f+4>>2]=138046;c[f+8>>2]=2536;lf(0,0,164242,f);ub()}if(c[x+25708>>2]|0)c[y>>2]=0;v=x+26376|0;if(!(c[v>>2]|0))b=(c[x+26380>>2]|0)!=3;else b=1;c[d+21820>>2]=b&1;w=x+4|0;if(((((c[(c[w>>2]|0)+696>>2]&2|0)==0?(c[x+26380>>2]|0)==3:0)?(h=c[x+25628>>2]|0,i=c[h+604>>2]|0,i|0):0)?(q=(H(c[x+27012>>2]|0,c[d+21804>>2]|0)|0)+(c[d+21800>>2]|0)|0,g=(c[x+27020>>2]|0)+-1|0,g=(q|0)>(g|0)?g:q,!((q|0)<0|(g|0)==0)):0)?(a[i+(c[(c[h+572>>2]|0)+(g+-1<<2)>>2]|0)>>0]&-2)<<24>>24!=112:0)c[h+600>>2]=1;do if(!(c[(c[x+28212>>2]|0)+4>>2]|0)){m=d+21792|0;f=x+27012|0;i=d+21812|0;l=d+4|0;j=x+26380|0;k=x+27008|0;e=r;while(1){u=(H(c[f>>2]|0,c[m>>2]|0)|0)+(c[A>>2]|0)|0;b=c[i>>2]|0;if((u|0)>=(b|0)){f=46;break}b=Pj(x,d)|0;if((b|0)<=-1){f=52;break}Lj(x,d);if(c[v>>2]|0){c[m>>2]=(c[m>>2]|0)+1;b=Pj(x,d)|0;if((b|0)<=-1){f=50;break}Lj(x,d);c[m>>2]=(c[m>>2]|0)+-1}b=(c[A>>2]|0)+1|0;c[A>>2]=b;if((b|0)>=(c[f>>2]|0)){yj(x,d,e,b);c[A>>2]=0;Nj(x,d);b=c[m>>2]|0;e=b+1|0;c[m>>2]=e;if(!(c[v>>2]|0)){if((c[j>>2]|0)!=3){e=b+2|0;c[m>>2]=e}}else{b=b+2|0;c[m>>2]=b;if((b|0)<(c[k>>2]|0)){Oj(x,d);e=c[m>>2]|0}else e=b}if((e|0)<(c[k>>2]|0))h=0;else{f=61;break}}else h=e;g=Gj(l)|0;if((g|0)>=1){e=h;continue}if((c[n>>2]|0)<1){f=68;break}else e=h}if((f|0)==46){z=c[w>>2]|0;c[o>>2]=b;lf(z,16,139199,o);Jj(d,c[d+21800>>2]|0,c[d+21804>>2]|0,c[A>>2]|0,c[m>>2]|0,14);b=-1094995529;break a}else if((f|0)==50){e=(c[m>>2]|0)+-1|0;c[m>>2]=e}else if((f|0)==52)e=c[m>>2]|0;else if((f|0)==61){b=Gj(l)|0;do if(b|0){if((b|0)>0?(c[(c[w>>2]|0)+580>>2]&262144|0)==0:0)break;Jj(d,c[d+21800>>2]|0,c[d+21804>>2]|0,c[A>>2]|0,e,112);b=-1094995529;break a}while(0);Jj(d,c[d+21800>>2]|0,c[d+21804>>2]|0,(c[A>>2]|0)+-1|0,e,112);break}else if((f|0)==68){b=c[d+21800>>2]|0;e=c[d+21804>>2]|0;f=c[A>>2]|0;if(g|0){Jj(d,b,e,f,c[m>>2]|0,14);b=-1094995529;break a}Jj(d,b,e,f+-1|0,c[m>>2]|0,112);b=c[A>>2]|0;if((b|0)<=(h|0))break;yj(x,d,h,b);break}z=c[w>>2]|0;c[p>>2]=c[A>>2];c[p+4>>2]=e;lf(z,16,139303,p);Jj(d,c[d+21800>>2]|0,c[d+21804>>2]|0,c[A>>2]|0,c[m>>2]|0,14);break a}else{b=d+4|0;Ej(b);o=d+32856|0;q=c[b>>2]|0;q=q+((Fj(b)|0)/8|0)|0;b=Hj(o,q,((Gj(b)|0)+7|0)/8|0)|0;if((b|0)<0)break a;Ij(x,d);q=d+21792|0;i=x+27012|0;j=d+21812|0;k=x+25700|0;p=d+32872|0;n=d+32876|0;l=x+27008|0;m=x+26380|0;h=r;b=c[q>>2]|0;while(1){r=(H(c[i>>2]|0,b)|0)+(c[A>>2]|0)|0;b=c[j>>2]|0;if((r|0)>=(b|0)){f=19;break}b=Kj(x,d)|0;if((b|0)>-1?(Lj(x,d),(c[v>>2]|0)!=0):0){c[q>>2]=(c[q>>2]|0)+1;b=Kj(x,d)|0;if((b|0)>-1)Lj(x,d);c[q>>2]=(c[q>>2]|0)+-1}g=Mj(o)|0;e=c[p>>2]|0;f=c[n>>2]|0;if((c[k>>2]&16384|0)!=0&e>>>0>(f+2|0)>>>0){f=26;break}if(e>>>0>(f+2|0)>>>0){r=c[w>>2]|0;c[s>>2]=f-e;lf(r,48,139231,s)}if((b|0)<0){f=31;break}b=c[p>>2]|0;e=c[n>>2]|0;if(b>>>0>(e+4|0)>>>0){f=33;break}b=(c[A>>2]|0)+1|0;c[A>>2]=b;do if((b|0)>=(c[i>>2]|0)){yj(x,d,h,b);c[A>>2]=0;Nj(x,d);b=c[q>>2]|0;c[q>>2]=b+1;if(!(c[v>>2]|0)){if((c[m>>2]|0)==3){e=0;break}c[q>>2]=b+2;e=0;break}else{r=b+2|0;c[q>>2]=r;if((r|0)>=(c[l>>2]|0)){e=0;break}Oj(x,d);e=0;break}}else e=h;while(0);b=c[q>>2]|0;if(g|0){f=43;break}if((b|0)>=(c[l>>2]|0)){f=43;break}else h=e}if((f|0)==19){z=c[w>>2]|0;c[t>>2]=b;lf(z,16,139199,t);Jj(d,c[d+21800>>2]|0,c[d+21804>>2]|0,c[A>>2]|0,c[q>>2]|0,14);b=-1094995529;break a}else if((f|0)==26){Jj(d,c[d+21800>>2]|0,c[d+21804>>2]|0,(c[A>>2]|0)+-1|0,c[q>>2]|0,112);b=c[A>>2]|0;if((b|0)<(h|0))break;yj(x,d,h,b+1|0);break}else if((f|0)==31){e=c[n>>2]|0;b=c[p>>2]|0}else if((f|0)!=33)if((f|0)==43){Jj(d,c[d+21800>>2]|0,c[d+21804>>2]|0,(c[A>>2]|0)+-1|0,b,112);b=c[A>>2]|0;if((b|0)<=(e|0))break;yj(x,d,e,b);break}z=c[w>>2]|0;y=c[q>>2]|0;c[u>>2]=c[A>>2];c[u+4>>2]=y;c[u+8>>2]=e-b;lf(z,16,139256,u);Jj(d,c[d+21800>>2]|0,c[d+21804>>2]|0,c[A>>2]|0,c[q>>2]|0,14);b=-1094995529;break a}while(0);c[y>>2]=z;b=0}while(0);$c=B;return b|0}function yj(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;aa=e+21792|0;_=b+26376|0;h=c[_>>2]|0;ba=h+(c[aa>>2]|0)|0;ca=e+836|0;$=c[ca>>2]|0;X=b+25664|0;Y=c[X>>2]|0;Z=16>>>(c[b+25680>>2]|0);if(!(c[b+25708>>2]|0)){a:do if(!(c[e+868>>2]|0)){l=b+28212|0;k=e+852|0;j=e+856|0;i=e+21788|0}else{J=b+27016|0;K=e+21796|0;L=b+24364|0;i=e+21788|0;M=b+24316|0;N=e+21772|0;O=b+28216|0;P=e+21776|0;Q=e+21828|0;R=e+21780|0;S=e+21784|0;l=b+28212|0;T=b+24340|0;k=e+852|0;j=e+856|0;U=e+21832|0;V=e+27796|0;W=1-Z|0;while(1){h=c[_>>2]|0;if((f|0)>=(g|0))break a;I=f<(ba|0))break;F=(H(c[J>>2]|0,E)|0)+f|0;c[K>>2]=F;G=c[(c[L>>2]|0)+(F<<2)>>2]|0;t=(c[_>>2]|0)==0;h=G>>>7&1;if(t)h=c[Q>>2]|0;else{c[Q>>2]=h;c[U>>2]=h}c[i>>2]=f;c[aa>>2]=E;C=c[M>>2]|0;p=c[N>>2]|0;m=(c[C>>2]|0)+((H(p,E)|0)+I<<4)|0;s=c[(c[O>>2]|0)+12>>2]|0;z=(s|0)==3;D=H(8<<(z&1),I)|0;r=c[P>>2]|0;o=H(H(E,Z)|0,r)|0;n=(c[C+4>>2]|0)+D+o|0;o=(c[C+8>>2]|0)+D+o|0;if(h){h=p<<1;c[R>>2]=h;q=r<<1;c[S>>2]=q;if(!(E&1)){D=n;C=o;p=h}else{C=H(W,r)|0;m=m+(H(p,-15)|0)|0;D=n+C|0;C=o+C|0;p=h}}else{c[R>>2]=p;c[S>>2]=r;D=n;C=o;q=r}w=c[X>>2]|0;x=(s|0)==2;v=m+(0-p)|0;B=0-q|0;y=D+B|0;B=C+B|0;do if(!t){h=(c[U>>2]|0)!=0;if(!(E&1))if(h){h=0;u=f;A=33;break}else break;if(!h){t=c[V>>2]|0;h=v+(p*15|0)|0;s=h;A=c[s+4>>2]|0;u=t+(f*96|0)|0;c[u>>2]=c[s>>2];c[u+4>>2]=A;u=h+8|0;A=c[u+4>>2]|0;s=t+(f*96|0)+8|0;c[s>>2]=c[u>>2];c[s+4>>2]=A;s=(w|0)!=0;h=h+16|0;if(s){A=h;u=c[A+4>>2]|0;r=t+(f*96|0)+16|0;c[r>>2]=c[A>>2];c[r+4>>2]=u;r=h+8|0;u=c[r+4>>2]|0;A=t+(f*96|0)+24|0;c[A>>2]=c[r>>2];c[A+4>>2]=u}do if(z){h=q*15|0;n=y+h|0;r=n;o=c[r>>2]|0;r=c[r+4>>2]|0;if(s){A=t+(f*96|0)+32|0;c[A>>2]=o;c[A+4>>2]=r;A=n+8|0;u=c[A+4>>2]|0;s=t+(f*96|0)+40|0;c[s>>2]=c[A>>2];c[s+4>>2]=u;n=n+16|0;s=n;u=c[s+4>>2]|0;A=t+(f*96|0)+48|0;c[A>>2]=c[s>>2];c[A+4>>2]=u;n=n+8|0;A=c[n+4>>2]|0;u=t+(f*96|0)+56|0;c[u>>2]=c[n>>2];c[u+4>>2]=A;h=B+h|0;u=h;A=c[u+4>>2]|0;n=t+(f*96|0)+64|0;c[n>>2]=c[u>>2];c[n+4>>2]=A;n=h+8|0;A=c[n+4>>2]|0;u=t+(f*96|0)+72|0;c[u>>2]=c[n>>2];c[u+4>>2]=A;h=h+16|0;u=h;A=c[u+4>>2]|0;n=t+(f*96|0)+80|0;c[n>>2]=c[u>>2];c[n+4>>2]=A;n=88;h=h+8|0;break}else{A=t+(f*96|0)+16|0;c[A>>2]=o;c[A+4>>2]=r;n=n+8|0;A=c[n+4>>2]|0;u=t+(f*96|0)+24|0;c[u>>2]=c[n>>2];c[u+4>>2]=A;h=B+h|0;u=h;A=c[u+4>>2]|0;n=t+(f*96|0)+32|0;c[n>>2]=c[u>>2];c[n+4>>2]=A;n=40;h=h+8|0;break}}else if(x){r=q*15|0;h=y+r|0;o=h;n=c[o>>2]|0;o=c[o+4>>2]|0;if(s){A=t+(f*96|0)+32|0;c[A>>2]=n;c[A+4>>2]=o;A=h+8|0;u=c[A+4>>2]|0;h=t+(f*96|0)+40|0;c[h>>2]=c[A>>2];c[h+4>>2]=u;h=B+r|0;u=h;A=c[u+4>>2]|0;n=t+(f*96|0)+48|0;c[n>>2]=c[u>>2];c[n+4>>2]=A;n=56;h=h+8|0;break}else{h=t+(f*96|0)+16|0;c[h>>2]=n;c[h+4>>2]=o;n=24;h=B+r|0;break}}else{r=q*7|0;h=y+r|0;o=h;n=c[o>>2]|0;o=c[o+4>>2]|0;if(s){A=t+(f*96|0)+32|0;c[A>>2]=n;c[A+4>>2]=o;A=h+8|0;u=c[A+4>>2]|0;h=t+(f*96|0)+40|0;c[h>>2]=c[A>>2];c[h+4>>2]=u;h=B+r|0;u=h;A=c[u+4>>2]|0;n=t+(f*96|0)+48|0;c[n>>2]=c[u>>2];c[n+4>>2]=A;n=56;h=h+8|0;break}else{h=t+(f*96|0)+16|0;c[h>>2]=n;c[h+4>>2]=o;n=24;h=B+r|0;break}}while(0);A=h;u=c[A+4>>2]|0;h=t+(f*96|0)+n|0;c[h>>2]=c[A>>2];c[h+4>>2]=u;h=1;u=c[i>>2]|0;A=33}else{h=1;u=f;A=33}}else{h=1;u=f;A=33}while(0);if((A|0)==33){A=0;t=c[e+27796+(h<<2)>>2]|0;r=p<<4;h=v+r|0;s=h;v=c[s+4>>2]|0;o=t+(u*96|0)|0;c[o>>2]=c[s>>2];c[o+4>>2]=v;o=h+8|0;v=c[o+4>>2]|0;s=t+(u*96|0)+8|0;c[s>>2]=c[o>>2];c[s+4>>2]=v;s=(w|0)!=0;h=h+16|0;if(s){w=h;v=c[w+4>>2]|0;o=t+(u*96|0)+16|0;c[o>>2]=c[w>>2];c[o+4>>2]=v;o=h+8|0;v=c[o+4>>2]|0;w=t+(u*96|0)+24|0;c[w>>2]=c[o>>2];c[w+4>>2]=v}do if(z){h=y+r|0;o=h;n=c[o>>2]|0;o=c[o+4>>2]|0;if(s){z=t+(u*96|0)+32|0;c[z>>2]=n;c[z+4>>2]=o;z=h+8|0;y=c[z+4>>2]|0;n=t+(u*96|0)+40|0;c[n>>2]=c[z>>2];c[n+4>>2]=y;n=h+16|0;y=n;h=c[y+4>>2]|0;z=t+(u*96|0)+48|0;c[z>>2]=c[y>>2];c[z+4>>2]=h;n=n+8|0;z=c[n+4>>2]|0;h=t+(u*96|0)+56|0;c[h>>2]=c[n>>2];c[h+4>>2]=z;h=B+r|0;z=h;B=c[z+4>>2]|0;n=t+(u*96|0)+64|0;c[n>>2]=c[z>>2];c[n+4>>2]=B;n=h+8|0;B=c[n+4>>2]|0;z=t+(u*96|0)+72|0;c[z>>2]=c[n>>2];c[z+4>>2]=B;h=h+16|0;z=h;B=c[z+4>>2]|0;n=t+(u*96|0)+80|0;c[n>>2]=c[z>>2];c[n+4>>2]=B;n=88;h=h+8|0;break}else{z=t+(u*96|0)+16|0;c[z>>2]=n;c[z+4>>2]=o;n=h+8|0;z=c[n+4>>2]|0;h=t+(u*96|0)+24|0;c[h>>2]=c[n>>2];c[h+4>>2]=z;h=B+r|0;z=h;B=c[z+4>>2]|0;n=t+(u*96|0)+32|0;c[n>>2]=c[z>>2];c[n+4>>2]=B;n=40;h=h+8|0;break}}else if(x){r=q<<4;h=y+r|0;o=h;n=c[o>>2]|0;o=c[o+4>>2]|0;if(s){z=t+(u*96|0)+32|0;c[z>>2]=n;c[z+4>>2]=o;n=h+8|0;z=c[n+4>>2]|0;h=t+(u*96|0)+40|0;c[h>>2]=c[n>>2];c[h+4>>2]=z;h=B+r|0;z=h;B=c[z+4>>2]|0;n=t+(u*96|0)+48|0;c[n>>2]=c[z>>2];c[n+4>>2]=B;n=56;h=h+8|0;break}else{h=t+(u*96|0)+16|0;c[h>>2]=n;c[h+4>>2]=o;n=24;h=B+r|0;break}}else{r=q<<3;h=y+r|0;o=h;n=c[o>>2]|0;o=c[o+4>>2]|0;if(s){z=t+(u*96|0)+32|0;c[z>>2]=n;c[z+4>>2]=o;n=h+8|0;z=c[n+4>>2]|0;h=t+(u*96|0)+40|0;c[h>>2]=c[n>>2];c[h+4>>2]=z;h=B+r|0;z=h;B=c[z+4>>2]|0;n=t+(u*96|0)+48|0;c[n>>2]=c[z>>2];c[n+4>>2]=B;n=56;h=h+8|0;break}else{h=t+(u*96|0)+16|0;c[h>>2]=n;c[h+4>>2]=o;n=24;h=B+r|0;break}}while(0);y=h;z=c[y+4>>2]|0;B=t+(u*96|0)+n|0;c[B>>2]=c[y>>2];c[B+4>>2]=z}do if(!(zj(b,e,G)|0)){G=c[l>>2]|0;F=(c[T>>2]|0)+F|0;c[k>>2]=d[(a[F>>0]|0)+(G+548)>>0];c[j>>2]=d[(a[F>>0]|0)+(G+636)>>0];if(!(c[_>>2]|0)){Bj(b,e,f,E,m,D,C,p,q);break}else{Aj(b,e,f,E,m,D,C,p,q);break}}while(0);E=E+1|0}f=f+1|0}}while(0);c[ca>>2]=$;c[i>>2]=g;c[aa>>2]=ba-h;ba=c[l>>2]|0;ca=c[e+848>>2]|0;c[k>>2]=d[ba+548+ca>>0];c[j>>2]=d[ba+636+ca>>0]}return}function zj(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;u=c[f+21796>>2]|0;o=d+27016|0;m=c[o>>2]|0;h=u-(m<>2])|0;j=u+-1|0;n=d+26376|0;do if(!(c[n>>2]|0)){t=j;s=j}else{i=c[d+24364>>2]|0;k=c[i+(j<<2)>>2]&128;l=g&128;if(c[f+21792>>2]&1|0){t=j-((k|0)==(l|0)?0:m)|0;s=j;break}if(l)h=(((c[i+(h<<2)>>2]|0)>>>7&1)+-1&m)+h|0;t=j;s=j+((k|0)==(l|0)?0:m)|0}while(0);c[f+21712>>2]=h;c[f+21720>>2]=t;c[f+21724>>2]=s;i=c[f+860>>2]|0;j=c[d+24340>>2]|0;k=a[j+u>>0]|0;do if((i|0)>=(k|0)){l=(t|0)<0;if(!l?(k+1+(a[j+t>>0]|0)>>1|0)>(i|0):0){p=17;break}if((h|0)>=0?(k+1+(a[j+h>>0]|0)>>1|0)>(i|0):0){p=17;break}if(c[n>>2]|0){if(!l?(k+1+(a[j+s>>0]|0)>>1|0)>(i|0):0){p=17;break}r=c[o>>2]|0;if((h|0)>=(r|0)?(k+1+(a[j+(h-r)>>0]|0)>>1|0)>(i|0):0)p=17;else h=1}else h=1}else p=17;while(0);if((p|0)==17){l=c[d+24364>>2]|0;i=c[l+(h<<2)>>2]|0;k=c[l+(t<<2)>>2]|0;l=c[l+(s<<2)>>2]|0;o=d+26372|0;j=c[o>>2]|0;n=b[j+(h<<1)>>1]|0;if((c[f+868>>2]|0)==2){r=c[f+832>>2]|0;p=(r|0)==(e[j+(s<<1)>>1]|0);r=(r|0)==(n&65535|0)?i:0;q=p?k:0;p=p?l:0}else{p=(b[j+(s<<1)>>1]|0)==-1;r=n<<16>>16==-1?0:i;q=p?0:k;p=p?0:l}c[f+21732>>2]=r;c[f+21740>>2]=q;c[f+21744>>2]=p;if(!(g&7)){i=d+26368|0;j=c[i>>2]|0;k=f+28e3|0;l=f+28284|0;m=(g&376|0)==0;do if(!m){if(!(r&12288)){n=f+27968|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[f+28276>>2]=-1}else{y=(c[(c[d+26360>>2]|0)+(h<<2)>>2]|0)+(j*3|0)|0;v=h<<2;w=d+29940+((n&31)<<9)+((c[f+21832>>2]|0?20:2)<<2)|0;x=d+24352|0;A=(c[x>>2]|0)+(y<<2)|0;z=c[A+4>>2]|0;n=f+27968|0;c[n>>2]=c[A>>2];c[n+4>>2]=z;y=(c[x>>2]|0)+(y<<2)+8|0;x=c[y+4>>2]|0;n=f+27976|0;c[n>>2]=c[y>>2];c[n+4>>2]=x;n=d+24384|0;x=c[w+(a[(c[n>>2]|0)+(v|2)>>0]<<2)>>2]&255;a[f+28277>>0]=x;a[f+28276>>0]=x;n=c[w+(a[(c[n>>2]|0)+(v|3)>>0]<<2)>>2]&255;a[f+28279>>0]=n;a[f+28278>>0]=n}if(!((q^g)&128))if(!(q&12288)){c[f+27996>>2]=0;c[f+28028>>2]=0;c[f+28060>>2]=0;c[f+28092>>2]=0;a[f+28307>>0]=-1;a[f+28299>>0]=-1;a[f+28291>>0]=-1;a[f+28283>>0]=-1;break}else{z=(c[(c[d+26360>>2]|0)+(t<<2)>>2]|0)+3|0;A=t<<2;y=d+29940+((b[(c[o>>2]|0)+(t<<1)>>1]&31)<<9)+((c[f+21832>>2]|0?20:2)<<2)|0;x=d+24352|0;c[f+27996>>2]=c[(c[x>>2]|0)+(z<<2)>>2];c[f+28028>>2]=c[(c[x>>2]|0)+(z+j<<2)>>2];c[f+28060>>2]=c[(c[x>>2]|0)+(z+(j<<1)<<2)>>2];c[f+28092>>2]=c[(c[x>>2]|0)+(z+(j*3|0)<<2)>>2];z=d+24384|0;x=c[y+(a[(c[z>>2]|0)+(A|1)>>0]<<2)>>2]&255;a[f+28291>>0]=x;a[f+28283>>0]=x;A=c[y+(a[(c[z>>2]|0)+(A|3)>>0]<<2)>>2]&255;a[f+28307>>0]=A;a[f+28299>>0]=A;break}}while(0);if(!(g&12288)){y=f+28032|0;z=f+28064|0;A=f+28096|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;c[y+12>>2]=0;c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;c[z+12>>2]=0;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[A+12>>2]=0;c[l>>2]=-1;c[f+28292>>2]=-1;c[f+28300>>2]=-1;c[f+28308>>2]=-1}else{y=(c[d+24384>>2]|0)+(u<<2)|0;A=d+29940+((c[f+832>>2]&31)<<9)+((c[f+21832>>2]|0?20:2)<<2)|0;x=(c[A+(a[y+1>>0]<<2)>>2]<<16&16711680|c[A+(a[y>>0]<<2)>>2]&255)*257|0;y=(c[A+(a[y+3>>0]<<2)>>2]<<16&16711680|c[A+(a[y+2>>0]<<2)>>2]&255)*257|0;c[l>>2]=x;c[f+28292>>2]=x;c[f+28300>>2]=y;c[f+28308>>2]=y;y=(c[d+24352>>2]|0)+((H(c[f+21792>>2]|0,j)|0)+(c[f+21788>>2]|0)<<2<<2)|0;x=y;A=c[x+4>>2]|0;z=k;c[z>>2]=c[x>>2];c[z+4>>2]=A;z=y+8|0;A=c[z+4>>2]|0;x=f+28008|0;c[x>>2]=c[z>>2];c[x+4>>2]=A;x=y+(j<<2)|0;A=x;z=c[A+4>>2]|0;w=f+28032|0;c[w>>2]=c[A>>2];c[w+4>>2]=z;x=x+8|0;w=c[x+4>>2]|0;z=f+28040|0;c[z>>2]=c[x>>2];c[z+4>>2]=w;z=y+(j<<1<<2)|0;w=z;x=c[w+4>>2]|0;A=f+28064|0;c[A>>2]=c[w>>2];c[A+4>>2]=x;z=z+8|0;A=c[z+4>>2]|0;x=f+28072|0;c[x>>2]=c[z>>2];c[x+4>>2]=A;y=y+(j*3<<2)|0;x=y;A=c[x+4>>2]|0;z=f+28096|0;c[z>>2]=c[x>>2];c[z+4>>2]=A;y=y+8|0;z=c[y+4>>2]|0;A=f+28104|0;c[A>>2]=c[y>>2];c[A+4>>2]=z}do if((c[f+23412>>2]|0)==2){i=c[i>>2]|0;j=f+28160|0;k=f+28324|0;do if(!m){if(!(r&49152)){A=f+28128|0;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[A+12>>2]=0;c[f+28316>>2]=-1}else{w=(c[(c[d+26360>>2]|0)+(h<<2)>>2]|0)+(i*3|0)|0;A=h<<2;y=d+29940+((b[(c[o>>2]|0)+(h<<1)>>1]&31)<<9)+256+((c[f+21832>>2]|0?20:2)<<2)|0;x=d+24356|0;n=(c[x>>2]|0)+(w<<2)|0;v=c[n+4>>2]|0;z=f+28128|0;c[z>>2]=c[n>>2];c[z+4>>2]=v;w=(c[x>>2]|0)+(w<<2)+8|0;x=c[w+4>>2]|0;z=f+28136|0;c[z>>2]=c[w>>2];c[z+4>>2]=x;z=d+24388|0;x=c[y+(a[(c[z>>2]|0)+(A|2)>>0]<<2)>>2]&255;a[f+28317>>0]=x;a[f+28316>>0]=x;A=c[y+(a[(c[z>>2]|0)+(A|3)>>0]<<2)>>2]&255;a[f+28319>>0]=A;a[f+28318>>0]=A}if(!((q^g)&128))if(!(q&49152)){c[f+28156>>2]=0;c[f+28188>>2]=0;c[f+28220>>2]=0;c[f+28252>>2]=0;a[f+28347>>0]=-1;a[f+28339>>0]=-1;a[f+28331>>0]=-1;a[f+28323>>0]=-1;break}else{z=(c[(c[d+26360>>2]|0)+(t<<2)>>2]|0)+3|0;A=t<<2;y=d+29940+((b[(c[o>>2]|0)+(t<<1)>>1]&31)<<9)+256+((c[f+21832>>2]|0?20:2)<<2)|0;x=d+24356|0;c[f+28156>>2]=c[(c[x>>2]|0)+(z<<2)>>2];c[f+28188>>2]=c[(c[x>>2]|0)+(z+i<<2)>>2];c[f+28220>>2]=c[(c[x>>2]|0)+(z+(i<<1)<<2)>>2];c[f+28252>>2]=c[(c[x>>2]|0)+(z+(i*3|0)<<2)>>2];z=d+24388|0;x=c[y+(a[(c[z>>2]|0)+(A|1)>>0]<<2)>>2]&255;a[f+28331>>0]=x;a[f+28323>>0]=x;A=c[y+(a[(c[z>>2]|0)+(A|3)>>0]<<2)>>2]&255;a[f+28347>>0]=A;a[f+28339>>0]=A;break}}while(0);if(!(g&49152)){y=f+28192|0;z=f+28224|0;A=f+28256|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;c[y+12>>2]=0;c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;c[z+12>>2]=0;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[A+12>>2]=0;c[k>>2]=-1;c[f+28332>>2]=-1;c[f+28340>>2]=-1;c[f+28348>>2]=-1;break}else{y=(c[d+24388>>2]|0)+(u<<2)|0;A=d+29940+((c[f+832>>2]&31)<<9)+256+((c[f+21832>>2]|0?20:2)<<2)|0;x=(c[A+(a[y+1>>0]<<2)>>2]<<16&16711680|c[A+(a[y>>0]<<2)>>2]&255)*257|0;y=(c[A+(a[y+3>>0]<<2)>>2]<<16&16711680|c[A+(a[y+2>>0]<<2)>>2]&255)*257|0;c[k>>2]=x;c[f+28332>>2]=x;c[f+28340>>2]=y;c[f+28348>>2]=y;y=(c[d+24356>>2]|0)+((H(c[f+21792>>2]|0,i)|0)+(c[f+21788>>2]|0)<<2<<2)|0;x=y;A=c[x+4>>2]|0;z=j;c[z>>2]=c[x>>2];c[z+4>>2]=A;z=y+8|0;A=c[z+4>>2]|0;x=f+28168|0;c[x>>2]=c[z>>2];c[x+4>>2]=A;x=y+(i<<2)|0;A=x;z=c[A+4>>2]|0;w=f+28192|0;c[w>>2]=c[A>>2];c[w+4>>2]=z;x=x+8|0;w=c[x+4>>2]|0;z=f+28200|0;c[z>>2]=c[x>>2];c[z+4>>2]=w;z=y+(i<<1<<2)|0;w=z;x=c[w+4>>2]|0;A=f+28224|0;c[A>>2]=c[w>>2];c[A+4>>2]=x;z=z+8|0;A=c[z+4>>2]|0;x=f+28232|0;c[x>>2]=c[z>>2];c[x+4>>2]=A;y=y+(i*3<<2)|0;x=y;A=c[x+4>>2]|0;z=f+28256|0;c[z>>2]=c[x>>2];c[z+4>>2]=A;y=y+8|0;z=c[y+4>>2]|0;A=f+28264|0;c[A>>2]=c[y>>2];c[A+4>>2]=z;break}}while(0);j=d+25972|0;o=c[j>>2]|0;k=f+27836|0;c[k>>2]=c[o+(u*48|0)>>2];l=f+27844|0;c[l>>2]=c[o+(u*48|0)+4>>2];m=f+27852|0;c[m>>2]=c[o+(u*48|0)+8>>2];n=f+27860|0;c[n>>2]=c[o+(u*48|0)+12>>2];o=d+26392|0;i=e[(c[o>>2]|0)+(u<<1)>>1]|0;c[f+21856>>2]=i;if(r|0)c[f+27828>>2]=c[(c[j>>2]|0)+(h*48|0)+12>>2];if(q|0){A=c[j>>2]|0;a[f+27835>>0]=a[A+(t*48|0)+3>>0]|0;a[f+27843>>0]=a[A+(t*48|0)+7>>0]|0;a[f+27851>>0]=a[A+(t*48|0)+11>>0]|0;a[f+27859>>0]=a[A+(t*48|0)+15>>0]|0}A=c[d+28212>>2]|0;if((c[A+4>>2]|0)==0?(c[A+64>>2]|0)!=0:0){if(r&16777216|0){A=(e[(c[o>>2]|0)+(h<<1)>>1]|0)>>>12&4;a[f+27829>>0]=A;a[f+27828>>0]=A;A=(e[(c[o>>2]|0)+(h<<1)>>1]|0)>>>12&8;a[f+27831>>0]=A;a[f+27830>>0]=A}if(q&16777216|0){A=(e[(c[o>>2]|0)+(t<<1)>>1]|0)>>>12&2;a[f+27843>>0]=A;a[f+27835>>0]=A}if(p&16777216|0){A=(e[(c[o>>2]|0)+(s<<1)>>1]|0)>>>12&8;a[f+27859>>0]=A;a[f+27851>>0]=A}if(g&16777216){h=i>>>12;A=h&1;a[f+27845>>0]=A;a[l>>0]=A;a[f+27837>>0]=A;a[k>>0]=A;A=h&2;a[f+27847>>0]=A;a[f+27846>>0]=A;a[f+27839>>0]=A;a[f+27838>>0]=A;A=h&4;a[f+27861>>0]=A;a[n>>0]=A;a[f+27853>>0]=A;a[m>>0]=A;h=h&8;a[f+27863>>0]=h;a[f+27862>>0]=h;a[f+27855>>0]=h;a[f+27854>>0]=h;h=0}else h=0}else h=0}else h=0}return h|0}function Aj(f,g,h,i,j,k,l,m,n){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,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;Qa=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);Oa=Qa+16|0;Ka=Qa;La=f+27016|0;Ba=(H(c[La>>2]|0,i)|0)+h|0;Ca=f+24364|0;Da=c[(c[Ca>>2]|0)+(Ba<<2)>>2]|0;Ea=(Da>>>6&2^2)+2|0;Fa=f+28216|0;Ia=c[Fa>>2]|0;Ga=(c[Ia+12>>2]|0)!=0;Ia=(H(c[Ia+1184>>2]|0,-6)|0)+48|0;Ha=(c[g+872>>2]|0)+52+Ia|0;Ia=(c[g+876>>2]|0)+52+Ia|0;Ja=f+26376|0;Aa=g+21740|0;if((c[Ja>>2]|0)!=0?(za=c[Aa>>2]|0,!((za|0)==0|((za^Da)&128|0)==0)):0){a:do if(!(Da&7)){v=c[g+21828>>2]|0;r=i&1;h=f+28212|0;s=f+25972|0;t=f+26392|0;u=(v|0)!=0;q=0;while(1){if((q|0)==8){o=v;break a}p=u?q>>2:q&1;o=c[g+21720+(p<<2)>>2]|0;p=c[g+21740+(p<<2)>>2]|0;if(!(p&7)){if((p&16777216|0)==0?1:(c[(c[h>>2]|0)+4>>2]|0)!=0)o=d[(d[139024+(v<<4)+(r<<3)+q>>0]|0)+((c[s>>2]|0)+(o*48|0))>>0]|0;else o=((u?q&2:r)|0?32768:8192)&e[(c[t>>2]|0)+(o<<1)>>1];o=o|d[(q>>>1<<3)+12+(g+27824)>>0]|0?2:1}else o=4;b[Ka+(q<<1)>>1]=o;q=q+1|0}}else{h=Ka;c[h>>2]=262148;c[h+4>>2]=262148;h=Ka+8|0;c[h>>2]=262148;c[h+4>>2]=262148;h=f+28212|0;o=c[g+21828>>2]|0}while(0);y=c[f+24340>>2]|0;ya=a[y+Ba>>0]|0;x=a[y+(c[g+21720>>2]|0)>>0]|0;y=a[y+(c[g+21724>>2]|0)>>0]|0;t=ya+1|0;za=c[h>>2]|0;w=(d[za+548+ya>>0]|0)+1|0;ya=(d[za+636+ya>>0]|0)+1|0;h=t+x>>1;u=(w+(d[za+548+x>>0]|0)|0)>>>1;x=(ya+(d[za+636+x>>0]|0)|0)>>>1;t=t+y>>1;w=(w+(d[za+548+y>>0]|0)|0)>>>1;y=(ya+(d[za+636+y>>0]|0)|0)>>>1;do if(!o){s=m<<1;p=h+Ha|0;q=d[138244+p>>0]|0;za=h+Ia|0;h=d[138088+za>>0]|0;do if(!(p>>>0<68|za>>>0<68)){o=b[Ka>>1]|0;if(o<<16>>16>3){qd[c[f+68>>2]&255](j,s,q,h);break}else{a[Oa>>0]=a[(o<<16>>16)+(138400+(p<<2))>>0]|0;a[Oa+1>>0]=a[(b[Ka+4>>1]|0)+(138400+(p<<2))>>0]|0;a[Oa+2>>0]=a[(b[Ka+8>>1]|0)+(138400+(p<<2))>>0]|0;a[Oa+3>>0]=a[(b[Ka+12>>1]|0)+(138400+(p<<2))>>0]|0;rd[c[f+56>>2]&127](j,s,q,h,Oa);break}}while(0);p=j+m|0;v=Ka+2|0;q=t+Ha|0;r=d[138244+q>>0]|0;za=t+Ia|0;h=d[138088+za>>0]|0;do if(!(q>>>0<68|za>>>0<68)){o=b[v>>1]|0;if(o<<16>>16>3){qd[c[f+68>>2]&255](p,s,r,h);break}else{a[Oa>>0]=a[(o<<16>>16)+(138400+(q<<2))>>0]|0;a[Oa+1>>0]=a[(b[Ka+6>>1]|0)+(138400+(q<<2))>>0]|0;a[Oa+2>>0]=a[(b[Ka+10>>1]|0)+(138400+(q<<2))>>0]|0;a[Oa+3>>0]=a[(b[Ka+14>>1]|0)+(138400+(q<<2))>>0]|0;rd[c[f+56>>2]&127](p,s,r,h,Oa);break}}while(0);if(Ga){s=n<<1;p=u+Ha|0;q=d[138244+p>>0]|0;h=u+Ia|0;o=d[138088+h>>0]|0;h=p>>>0<68|h>>>0<68;if((c[(c[Fa>>2]|0)+12>>2]|0)==3){do if(!h){h=b[Ka>>1]|0;if(h<<16>>16>3){qd[c[f+68>>2]&255](k,s,q,o);break}else{a[Oa>>0]=a[(h<<16>>16)+(138400+(p<<2))>>0]|0;a[Oa+1>>0]=a[(b[Ka+4>>1]|0)+(138400+(p<<2))>>0]|0;a[Oa+2>>0]=a[(b[Ka+8>>1]|0)+(138400+(p<<2))>>0]|0;a[Oa+3>>0]=a[(b[Ka+12>>1]|0)+(138400+(p<<2))>>0]|0;rd[c[f+56>>2]&127](k,s,q,o,Oa);break}}while(0);p=k+n|0;q=w+Ha|0;r=d[138244+q>>0]|0;za=w+Ia|0;h=d[138088+za>>0]|0;do if(!(q>>>0<68|za>>>0<68)){o=b[v>>1]|0;if(o<<16>>16>3){qd[c[f+68>>2]&255](p,s,r,h);break}else{a[Oa>>0]=a[(o<<16>>16)+(138400+(q<<2))>>0]|0;a[Oa+1>>0]=a[(b[Ka+6>>1]|0)+(138400+(q<<2))>>0]|0;a[Oa+2>>0]=a[(b[Ka+10>>1]|0)+(138400+(q<<2))>>0]|0;a[Oa+3>>0]=a[(b[Ka+14>>1]|0)+(138400+(q<<2))>>0]|0;rd[c[f+56>>2]&127](p,s,r,h,Oa);break}}while(0);p=x+Ha|0;q=d[138244+p>>0]|0;za=x+Ia|0;h=d[138088+za>>0]|0;do if(!(p>>>0<68|za>>>0<68)){o=b[Ka>>1]|0;if(o<<16>>16>3){qd[c[f+68>>2]&255](l,s,q,h);break}else{a[Oa>>0]=a[(o<<16>>16)+(138400+(p<<2))>>0]|0;a[Oa+1>>0]=a[(b[Ka+4>>1]|0)+(138400+(p<<2))>>0]|0;a[Oa+2>>0]=a[(b[Ka+8>>1]|0)+(138400+(p<<2))>>0]|0;a[Oa+3>>0]=a[(b[Ka+12>>1]|0)+(138400+(p<<2))>>0]|0;rd[c[f+56>>2]&127](l,s,q,h,Oa);break}}while(0);p=l+n|0;q=y+Ha|0;r=d[138244+q>>0]|0;za=y+Ia|0;o=d[138088+za>>0]|0;if(q>>>0<68|za>>>0<68)break;h=b[v>>1]|0;if(h<<16>>16>3){qd[c[f+68>>2]&255](p,s,r,o);break}else{a[Oa>>0]=a[(h<<16>>16)+(138400+(q<<2))>>0]|0;a[Oa+1>>0]=a[(b[Ka+6>>1]|0)+(138400+(q<<2))>>0]|0;a[Oa+2>>0]=a[(b[Ka+10>>1]|0)+(138400+(q<<2))>>0]|0;a[Oa+3>>0]=a[(b[Ka+14>>1]|0)+(138400+(q<<2))>>0]|0;rd[c[f+56>>2]&127](p,s,r,o,Oa);break}}else{do if(!h){h=b[Ka>>1]|0;if(h<<16>>16>3){qd[c[f+92>>2]&255](k,s,q,o);break}else{a[Oa>>0]=(d[(h<<16>>16)+(138400+(p<<2))>>0]|0)+1;a[Oa+1>>0]=(d[(b[Ka+4>>1]|0)+(138400+(p<<2))>>0]|0)+1;a[Oa+2>>0]=(d[(b[Ka+8>>1]|0)+(138400+(p<<2))>>0]|0)+1;a[Oa+3>>0]=(d[(b[Ka+12>>1]|0)+(138400+(p<<2))>>0]|0)+1;rd[c[f+80>>2]&127](k,s,q,o,Oa);break}}while(0);p=k+n|0;q=w+Ha|0;r=d[138244+q>>0]|0;za=w+Ia|0;h=d[138088+za>>0]|0;do if(!(q>>>0<68|za>>>0<68)){o=b[v>>1]|0;if(o<<16>>16>3){qd[c[f+92>>2]&255](p,s,r,h);break}else{a[Oa>>0]=(d[(o<<16>>16)+(138400+(q<<2))>>0]|0)+1;a[Oa+1>>0]=(d[(b[Ka+6>>1]|0)+(138400+(q<<2))>>0]|0)+1;a[Oa+2>>0]=(d[(b[Ka+10>>1]|0)+(138400+(q<<2))>>0]|0)+1;a[Oa+3>>0]=(d[(b[Ka+14>>1]|0)+(138400+(q<<2))>>0]|0)+1;rd[c[f+80>>2]&127](p,s,r,h,Oa);break}}while(0);p=x+Ha|0;q=d[138244+p>>0]|0;za=x+Ia|0;h=d[138088+za>>0]|0;do if(!(p>>>0<68|za>>>0<68)){o=b[Ka>>1]|0;if(o<<16>>16>3){qd[c[f+92>>2]&255](l,s,q,h);break}else{a[Oa>>0]=(d[(o<<16>>16)+(138400+(p<<2))>>0]|0)+1;a[Oa+1>>0]=(d[(b[Ka+4>>1]|0)+(138400+(p<<2))>>0]|0)+1;a[Oa+2>>0]=(d[(b[Ka+8>>1]|0)+(138400+(p<<2))>>0]|0)+1;a[Oa+3>>0]=(d[(b[Ka+12>>1]|0)+(138400+(p<<2))>>0]|0)+1;rd[c[f+80>>2]&127](l,s,q,h,Oa);break}}while(0);p=l+n|0;q=y+Ha|0;r=d[138244+q>>0]|0;za=y+Ia|0;o=d[138088+za>>0]|0;if(q>>>0<68|za>>>0<68)break;h=b[v>>1]|0;if(h<<16>>16>3){qd[c[f+92>>2]&255](p,s,r,o);break}else{a[Oa>>0]=(d[(h<<16>>16)+(138400+(q<<2))>>0]|0)+1;a[Oa+1>>0]=(d[(b[Ka+6>>1]|0)+(138400+(q<<2))>>0]|0)+1;a[Oa+2>>0]=(d[(b[Ka+10>>1]|0)+(138400+(q<<2))>>0]|0)+1;a[Oa+3>>0]=(d[(b[Ka+14>>1]|0)+(138400+(q<<2))>>0]|0)+1;rd[c[f+80>>2]&127](p,s,r,o,Oa);break}}}}else{p=h+Ha|0;q=d[138244+p>>0]|0;za=h+Ia|0;h=d[138088+za>>0]|0;do if(!(p>>>0<68|za>>>0<68)){o=b[Ka>>1]|0;if(o<<16>>16>3){qd[c[f+68>>2]&255](j,m,q,h);break}else{a[Oa>>0]=a[(o<<16>>16)+(138400+(p<<2))>>0]|0;a[Oa+1>>0]=a[(b[Ka+2>>1]|0)+(138400+(p<<2))>>0]|0;a[Oa+2>>0]=a[(b[Ka+4>>1]|0)+(138400+(p<<2))>>0]|0;a[Oa+3>>0]=a[(b[Ka+6>>1]|0)+(138400+(p<<2))>>0]|0;rd[c[f+56>>2]&127](j,m,q,h,Oa);break}}while(0);p=j+(m<<3)|0;v=Ka+8|0;q=t+Ha|0;r=d[138244+q>>0]|0;za=t+Ia|0;h=d[138088+za>>0]|0;do if(!(q>>>0<68|za>>>0<68)){o=b[v>>1]|0;if(o<<16>>16>3){qd[c[f+68>>2]&255](p,m,r,h);break}else{a[Oa>>0]=a[(o<<16>>16)+(138400+(q<<2))>>0]|0;a[Oa+1>>0]=a[(b[Ka+10>>1]|0)+(138400+(q<<2))>>0]|0;a[Oa+2>>0]=a[(b[Ka+12>>1]|0)+(138400+(q<<2))>>0]|0;a[Oa+3>>0]=a[(b[Ka+14>>1]|0)+(138400+(q<<2))>>0]|0;rd[c[f+56>>2]&127](p,m,r,h,Oa);break}}while(0);if(Ga){h=c[(c[Fa>>2]|0)+12>>2]|0;if((h|0)==3){p=u+Ha|0;q=d[138244+p>>0]|0;za=u+Ia|0;h=d[138088+za>>0]|0;do if(!(p>>>0<68|za>>>0<68)){o=b[Ka>>1]|0;if(o<<16>>16>3){qd[c[f+68>>2]&255](k,n,q,h);break}else{a[Oa>>0]=a[(o<<16>>16)+(138400+(p<<2))>>0]|0;a[Oa+1>>0]=a[(b[Ka+2>>1]|0)+(138400+(p<<2))>>0]|0;a[Oa+2>>0]=a[(b[Ka+4>>1]|0)+(138400+(p<<2))>>0]|0;a[Oa+3>>0]=a[(b[Ka+6>>1]|0)+(138400+(p<<2))>>0]|0;rd[c[f+56>>2]&127](k,n,q,h,Oa);break}}while(0);s=n<<3;p=k+s|0;q=w+Ha|0;r=d[138244+q>>0]|0;za=w+Ia|0;h=d[138088+za>>0]|0;do if(!(q>>>0<68|za>>>0<68)){o=b[v>>1]|0;if(o<<16>>16>3){qd[c[f+68>>2]&255](p,n,r,h);break}else{a[Oa>>0]=a[(o<<16>>16)+(138400+(q<<2))>>0]|0;a[Oa+1>>0]=a[(b[Ka+10>>1]|0)+(138400+(q<<2))>>0]|0;a[Oa+2>>0]=a[(b[Ka+12>>1]|0)+(138400+(q<<2))>>0]|0;a[Oa+3>>0]=a[(b[Ka+14>>1]|0)+(138400+(q<<2))>>0]|0;rd[c[f+56>>2]&127](p,n,r,h,Oa);break}}while(0);p=x+Ha|0;q=d[138244+p>>0]|0;za=x+Ia|0;h=d[138088+za>>0]|0;do if(!(p>>>0<68|za>>>0<68)){o=b[Ka>>1]|0;if(o<<16>>16>3){qd[c[f+68>>2]&255](l,n,q,h);break}else{a[Oa>>0]=a[(o<<16>>16)+(138400+(p<<2))>>0]|0;a[Oa+1>>0]=a[(b[Ka+2>>1]|0)+(138400+(p<<2))>>0]|0;a[Oa+2>>0]=a[(b[Ka+4>>1]|0)+(138400+(p<<2))>>0]|0;a[Oa+3>>0]=a[(b[Ka+6>>1]|0)+(138400+(p<<2))>>0]|0;rd[c[f+56>>2]&127](l,n,q,h,Oa);break}}while(0);p=l+s|0;q=y+Ha|0;r=d[138244+q>>0]|0;za=y+Ia|0;o=d[138088+za>>0]|0;if(q>>>0<68|za>>>0<68)break;h=b[v>>1]|0;if(h<<16>>16>3){qd[c[f+68>>2]&255](p,n,r,o);break}else{a[Oa>>0]=a[(h<<16>>16)+(138400+(q<<2))>>0]|0;a[Oa+1>>0]=a[(b[Ka+10>>1]|0)+(138400+(q<<2))>>0]|0;a[Oa+2>>0]=a[(b[Ka+12>>1]|0)+(138400+(q<<2))>>0]|0;a[Oa+3>>0]=a[(b[Ka+14>>1]|0)+(138400+(q<<2))>>0]|0;rd[c[f+56>>2]&127](p,n,r,o,Oa);break}}p=(h|0)==2;q=u+Ha|0;r=d[138244+q>>0]|0;za=u+Ia|0;h=d[138088+za>>0]|0;do if(!(q>>>0<68|za>>>0<68)){o=b[Ka>>1]|0;if(o<<16>>16>3){qd[c[f+92>>2]&255](k,n,r,h);break}else{a[Oa>>0]=(d[(o<<16>>16)+(138400+(q<<2))>>0]|0)+1;a[Oa+1>>0]=(d[(b[Ka+2>>1]|0)+(138400+(q<<2))>>0]|0)+1;a[Oa+2>>0]=(d[(b[Ka+4>>1]|0)+(138400+(q<<2))>>0]|0)+1;a[Oa+3>>0]=(d[(b[Ka+6>>1]|0)+(138400+(q<<2))>>0]|0)+1;rd[c[f+80>>2]&127](k,n,r,h,Oa);break}}while(0);if(p){s=n<<3;p=k+s|0;q=w+Ha|0;r=d[138244+q>>0]|0;za=w+Ia|0;h=d[138088+za>>0]|0;do if(!(q>>>0<68|za>>>0<68)){o=b[v>>1]|0;if(o<<16>>16>3){qd[c[f+92>>2]&255](p,n,r,h);break}else{a[Oa>>0]=(d[(o<<16>>16)+(138400+(q<<2))>>0]|0)+1;a[Oa+1>>0]=(d[(b[Ka+10>>1]|0)+(138400+(q<<2))>>0]|0)+1;a[Oa+2>>0]=(d[(b[Ka+12>>1]|0)+(138400+(q<<2))>>0]|0)+1;a[Oa+3>>0]=(d[(b[Ka+14>>1]|0)+(138400+(q<<2))>>0]|0)+1;rd[c[f+80>>2]&127](p,n,r,h,Oa);break}}while(0);p=x+Ha|0;q=d[138244+p>>0]|0;za=x+Ia|0;h=d[138088+za>>0]|0;do if(!(p>>>0<68|za>>>0<68)){o=b[Ka>>1]|0;if(o<<16>>16>3){qd[c[f+92>>2]&255](l,n,q,h);break}else{a[Oa>>0]=(d[(o<<16>>16)+(138400+(p<<2))>>0]|0)+1;a[Oa+1>>0]=(d[(b[Ka+2>>1]|0)+(138400+(p<<2))>>0]|0)+1;a[Oa+2>>0]=(d[(b[Ka+4>>1]|0)+(138400+(p<<2))>>0]|0)+1;a[Oa+3>>0]=(d[(b[Ka+6>>1]|0)+(138400+(p<<2))>>0]|0)+1;rd[c[f+80>>2]&127](l,n,q,h,Oa);break}}while(0);p=l+s|0;q=y+Ha|0;r=d[138244+q>>0]|0;za=y+Ia|0;o=d[138088+za>>0]|0;if(q>>>0<68|za>>>0<68)break;h=b[v>>1]|0;if(h<<16>>16>3){qd[c[f+92>>2]&255](p,n,r,o);break}else{a[Oa>>0]=(d[(h<<16>>16)+(138400+(q<<2))>>0]|0)+1;a[Oa+1>>0]=(d[(b[Ka+10>>1]|0)+(138400+(q<<2))>>0]|0)+1;a[Oa+2>>0]=(d[(b[Ka+12>>1]|0)+(138400+(q<<2))>>0]|0)+1;a[Oa+3>>0]=(d[(b[Ka+14>>1]|0)+(138400+(q<<2))>>0]|0)+1;rd[c[f+80>>2]&127](p,n,r,o,Oa);break}}else{s=n<<2;p=k+s|0;q=w+Ha|0;r=d[138244+q>>0]|0;za=w+Ia|0;h=d[138088+za>>0]|0;do if(!(q>>>0<68|za>>>0<68)){o=b[v>>1]|0;if(o<<16>>16>3){qd[c[f+92>>2]&255](p,n,r,h);break}else{a[Oa>>0]=(d[(o<<16>>16)+(138400+(q<<2))>>0]|0)+1;a[Oa+1>>0]=(d[(b[Ka+10>>1]|0)+(138400+(q<<2))>>0]|0)+1;a[Oa+2>>0]=(d[(b[Ka+12>>1]|0)+(138400+(q<<2))>>0]|0)+1;a[Oa+3>>0]=(d[(b[Ka+14>>1]|0)+(138400+(q<<2))>>0]|0)+1;rd[c[f+80>>2]&127](p,n,r,h,Oa);break}}while(0);p=x+Ha|0;q=d[138244+p>>0]|0;za=x+Ia|0;h=d[138088+za>>0]|0;do if(!(p>>>0<68|za>>>0<68)){o=b[Ka>>1]|0;if(o<<16>>16>3){qd[c[f+92>>2]&255](l,n,q,h);break}else{a[Oa>>0]=(d[(o<<16>>16)+(138400+(p<<2))>>0]|0)+1;a[Oa+1>>0]=(d[(b[Ka+2>>1]|0)+(138400+(p<<2))>>0]|0)+1;a[Oa+2>>0]=(d[(b[Ka+4>>1]|0)+(138400+(p<<2))>>0]|0)+1;a[Oa+3>>0]=(d[(b[Ka+6>>1]|0)+(138400+(p<<2))>>0]|0)+1;rd[c[f+80>>2]&127](l,n,q,h,Oa);break}}while(0);p=l+s|0;q=y+Ha|0;r=d[138244+q>>0]|0;za=y+Ia|0;o=d[138088+za>>0]|0;if(q>>>0<68|za>>>0<68)break;h=b[v>>1]|0;if(h<<16>>16>3){qd[c[f+92>>2]&255](p,n,r,o);break}else{a[Oa>>0]=(d[(h<<16>>16)+(138400+(q<<2))>>0]|0)+1;a[Oa+1>>0]=(d[(b[Ka+10>>1]|0)+(138400+(q<<2))>>0]|0)+1;a[Oa+2>>0]=(d[(b[Ka+12>>1]|0)+(138400+(q<<2))>>0]|0)+1;a[Oa+3>>0]=(d[(b[Ka+14>>1]|0)+(138400+(q<<2))>>0]|0)+1;rd[c[f+80>>2]&127](p,n,r,o,Oa);break}}}}while(0);ea=1}else ea=0;fa=Ba+-1|0;ga=g+21732|0;ha=Da>>>3&7;ia=g+21856|0;ja=Da&16777216;ka=(Da&7|0)==0;la=Ka+6|0;ma=Ka+4|0;na=Ka+2|0;oa=f+24340|0;pa=f+25664|0;qa=g+852|0;ra=g+856|0;sa=Oa+1|0;ta=Oa+2|0;ua=Oa+3|0;va=f+52|0;wa=f+76|0;xa=m<<2;ya=f+48|0;za=f+72|0;G=(i&1|0)==0;I=Da&128^128;J=m<<1;K=n<<1;L=f+28212|0;M=f+25972|0;O=f+26392|0;P=g+27836|0;Q=g+27837|0;R=Ka+2|0;S=Ka+4|0;T=Ka+6|0;U=g+27839|0;V=g+27838|0;W=Ka+2|0;X=Ka+4|0;Y=Ka+6|0;Z=Ka+6|0;_=Ka+4|0;$=Ka+2|0;aa=f+64|0;ba=f+88|0;ca=f+60|0;da=f+84|0;z=f+26380|0;A=g+21712|0;f=0;while(1){if((f|0)==2)break;i=(f|0)!=0;C=c[(c[Fa>>2]|0)+12>>2]|0;B=(C|0)==3;C=(C|0)==2;D=(f|0)==0;if(D)s=fa;else s=c[A>>2]|0;h=c[(D?Aa:ga)>>2]|0;F=a[139056+(f<<3)+ha>>0]|0;E=F&255;if(F<<24>>24==3)F=(c[ia>>2]&15|0)==0?1:4;else F=4;o=32>>>f|8;y=o&Da;r=i^1;b:do if(!(ea&r|(h|0)==0)){p=c[Ja>>2]|0;if(!((h&I|0)==0|G&((f|0)==1&(p|0)!=0)^1)){u=Ba-(c[La>>2]<<1)|0;v=0;while(1){if((v|0)==2)break b;h=c[(c[Ca>>2]|0)+(u<<2)>>2]|0;c:do if(!((h|Da)&7)){if((h&16777216|0)==0?1:(c[(c[L>>2]|0)+4>>2]|0)!=0){o=(c[M>>2]|0)+(u*48|0)+12|0;h=0;while(1){if((h|0)==4)break c;b[Ka+(h<<1)>>1]=(a[o+h>>0]|a[h+12+(g+27824)>>0])<<24>>24?2:1;h=h+1|0}}h=b[(c[O>>2]|0)+(u<<1)>>1]|0;if(!(h&16384)){b[Ka>>1]=(a[P>>0]|0)==0?1:2;if(!(a[Q>>0]|0))o=1;else Pa=128}else{b[Ka>>1]=2;Pa=128}if((Pa|0)==128){Pa=0;o=2}b[R>>1]=o;if(h<<16>>16>=0){b[S>>1]=(a[V>>0]|0)==0?1:2;if(!(a[U>>0]|0))h=1;else Pa=132}else{b[S>>1]=2;Pa=132}if((Pa|0)==132){Pa=0;h=2}b[T>>1]=h}else{x=Ka;c[x>>2]=196611;c[x+4>>2]=196611}while(0);p=c[oa>>2]|0;h=a[p+u>>0]|0;p=(a[p+Ba>>0]|0)+1+(h<<24>>24)>>1;o=p+Ha|0;p=p+Ia|0;if(!(o>>>0<68|p>>>0<68)){h=d[138088+p>>0]|0;x=d[138244+o>>0]|0;w=j+(H(v,m)|0)|0;a[Oa>>0]=a[(b[Ka>>1]|0)+(138400+(o<<2))>>0]|0;a[sa>>0]=a[(b[W>>1]|0)+(138400+(o<<2))>>0]|0;a[ta>>0]=a[(b[X>>1]|0)+(138400+(o<<2))>>0]|0;a[ua>>0]=a[(b[Y>>1]|0)+(138400+(o<<2))>>0]|0;rd[c[ya>>2]&127](w,J,x,h,Oa);h=a[(c[oa>>2]|0)+u>>0]|0}x=c[L>>2]|0;s=h<<24>>24;h=(c[qa>>2]|0)+1+(d[x+548+s>>0]|0)>>1;s=(c[ra>>2]|0)+1+(d[x+636+s>>0]|0)>>1;do if(Ga){t=H(v,n)|0;p=k+t|0;q=h+Ha|0;r=d[138244+q>>0]|0;o=h+Ia|0;h=d[138088+o>>0]|0;o=q>>>0<68|o>>>0<68;if(B){if(!o){a[Oa>>0]=a[(b[Ka>>1]|0)+(138400+(q<<2))>>0]|0;a[sa>>0]=a[(b[W>>1]|0)+(138400+(q<<2))>>0]|0;a[ta>>0]=a[(b[X>>1]|0)+(138400+(q<<2))>>0]|0;a[ua>>0]=a[(b[Y>>1]|0)+(138400+(q<<2))>>0]|0;rd[c[ya>>2]&127](p,K,r,h,Oa)}o=s+Ha|0;h=s+Ia|0;if(o>>>0<68|h>>>0<68)break;x=d[138088+h>>0]|0;w=d[138244+o>>0]|0;a[Oa>>0]=a[(b[Ka>>1]|0)+(138400+(o<<2))>>0]|0;a[sa>>0]=a[(b[W>>1]|0)+(138400+(o<<2))>>0]|0;a[ta>>0]=a[(b[X>>1]|0)+(138400+(o<<2))>>0]|0;a[ua>>0]=a[(b[Y>>1]|0)+(138400+(o<<2))>>0]|0;rd[c[ya>>2]&127](l+t|0,K,w,x,Oa);break}else{if(!o){a[Oa>>0]=(d[(b[Ka>>1]|0)+(138400+(q<<2))>>0]|0)+1;a[sa>>0]=(d[(b[W>>1]|0)+(138400+(q<<2))>>0]|0)+1;a[ta>>0]=(d[(b[X>>1]|0)+(138400+(q<<2))>>0]|0)+1;a[ua>>0]=(d[(b[Y>>1]|0)+(138400+(q<<2))>>0]|0)+1;rd[c[za>>2]&127](p,K,r,h,Oa)}o=s+Ha|0;h=s+Ia|0;if(o>>>0<68|h>>>0<68)break;x=d[138088+h>>0]|0;w=d[138244+o>>0]|0;a[Oa>>0]=(d[(b[Ka>>1]|0)+(138400+(o<<2))>>0]|0)+1;a[sa>>0]=(d[(b[W>>1]|0)+(138400+(o<<2))>>0]|0)+1;a[ta>>0]=(d[(b[X>>1]|0)+(138400+(o<<2))>>0]|0)+1;a[ua>>0]=(d[(b[Y>>1]|0)+(138400+(o<<2))>>0]|0)+1;rd[c[za>>2]&127](l+t|0,K,w,x,Oa);break}}while(0);u=(c[La>>2]|0)+u|0;v=v+1|0}}q=h|Da;d:do if(!(q&7)){if(!((p|0)==0|r)?((h^Da)&128|0)!=0:0){q=Ka;c[q>>2]=65537;c[q+4>>2]=65537;q=0}else if((y|0)==0|(h&o|0)==0)q=1;else{q=(Cj(g,12,i?4:11,Ea)|0)&65535;b[Z>>1]=q;b[_>>1]=q;b[$>>1]=q;b[Ka>>1]=q;q=0}r=i?8:1;p=0;while(1){if((p|0)==4)break;h=(D?p<<3:p)+12|0;o=h-r|0;if(!((a[g+27824+o>>0]|a[g+27824+h>>0])<<24>>24)){if(q){h=(Cj(g,h,o,Ea)|0)&65535;Pa=166}}else{h=2;Pa=166}if((Pa|0)==166){Pa=0;b[Ka+(p<<1)>>1]=h}p=p+1|0}x=b[Ka>>1]|0;h=b[$>>1]|0;o=b[_>>1]|0;p=b[Z>>1]|0}else{x=Ka;c[x>>2]=196611;c[x+4>>2]=196611;do if(q&128|0)if(!p)if(D&(c[z>>2]|0)!=3)break;else{x=3;h=3;o=3;p=3;break d}else if(D)break;else{x=3;h=3;o=3;p=3;break d}while(0);x=Ka;c[x>>2]=262148;c[x+4>>2]=262148;x=4;h=4;o=4;p=4}while(0);w=x<<16>>16;v=h<<16>>16;u=o<<16>>16;t=p<<16>>16;do if((v+u+w|0)!=(0-t|0)){q=c[oa>>2]|0;s=a[q+s>>0]|0;q=(a[q+Ba>>0]|0)+1+s>>1;h=c[L>>2]|0;r=(c[qa>>2]|0)+1+(d[h+548+s>>0]|0)>>1;s=(c[ra>>2]|0)+1+(d[h+636+s>>0]|0)>>1;h=q+Ha|0;o=d[138244+h>>0]|0;q=q+Ia|0;p=d[138088+q>>0]|0;q=h>>>0<68|q>>>0<68;if(D){do if(!q)if(x<<16>>16>3){qd[c[aa>>2]&255](j,m,o,p);break}else{a[Oa>>0]=a[138400+(h<<2)+w>>0]|0;a[sa>>0]=a[138400+(h<<2)+v>>0]|0;a[ta>>0]=a[138400+(h<<2)+u>>0]|0;a[ua>>0]=a[138400+(h<<2)+t>>0]|0;rd[c[va>>2]&127](j,m,o,p,Oa);break}while(0);if(!Ga)break;p=r+Ha|0;q=d[138244+p>>0]|0;o=r+Ia|0;h=d[138088+o>>0]|0;o=p>>>0<68|o>>>0<68;if(B){do if(!o)if(x<<16>>16>3){qd[c[aa>>2]&255](k,n,q,h);break}else{a[Oa>>0]=a[138400+(p<<2)+w>>0]|0;a[sa>>0]=a[138400+(p<<2)+v>>0]|0;a[ta>>0]=a[138400+(p<<2)+u>>0]|0;a[ua>>0]=a[138400+(p<<2)+t>>0]|0;rd[c[va>>2]&127](k,n,q,h,Oa);break}while(0);o=s+Ha|0;p=d[138244+o>>0]|0;s=s+Ia|0;h=d[138088+s>>0]|0;if(o>>>0<68|s>>>0<68)break;if(x<<16>>16>3){qd[c[aa>>2]&255](l,n,p,h);break}else{a[Oa>>0]=a[138400+(o<<2)+w>>0]|0;a[sa>>0]=a[138400+(o<<2)+v>>0]|0;a[ta>>0]=a[138400+(o<<2)+u>>0]|0;a[ua>>0]=a[138400+(o<<2)+t>>0]|0;rd[c[va>>2]&127](l,n,p,h,Oa);break}}else{do if(!o)if(x<<16>>16>3){qd[c[ba>>2]&255](k,n,q,h);break}else{a[Oa>>0]=(d[138400+(p<<2)+w>>0]|0)+1;a[sa>>0]=(d[138400+(p<<2)+v>>0]|0)+1;a[ta>>0]=(d[138400+(p<<2)+u>>0]|0)+1;a[ua>>0]=(d[138400+(p<<2)+t>>0]|0)+1;rd[c[wa>>2]&127](k,n,q,h,Oa);break}while(0);o=s+Ha|0;p=d[138244+o>>0]|0;s=s+Ia|0;h=d[138088+s>>0]|0;if(o>>>0<68|s>>>0<68)break;if(x<<16>>16>3){qd[c[ba>>2]&255](l,n,p,h);break}else{a[Oa>>0]=(d[138400+(o<<2)+w>>0]|0)+1;a[sa>>0]=(d[138400+(o<<2)+v>>0]|0)+1;a[ta>>0]=(d[138400+(o<<2)+u>>0]|0)+1;a[ua>>0]=(d[138400+(o<<2)+t>>0]|0)+1;rd[c[wa>>2]&127](l,n,p,h,Oa);break}}}else{do if(!q)if(x<<16>>16>3){qd[c[ca>>2]&255](j,m,o,p);break}else{a[Oa>>0]=a[138400+(h<<2)+w>>0]|0;a[sa>>0]=a[138400+(h<<2)+v>>0]|0;a[ta>>0]=a[138400+(h<<2)+u>>0]|0;a[ua>>0]=a[138400+(h<<2)+t>>0]|0;rd[c[ya>>2]&127](j,m,o,p,Oa);break}while(0);if(!Ga)break;p=r+Ha|0;q=d[138244+p>>0]|0;o=r+Ia|0;h=d[138088+o>>0]|0;o=p>>>0<68|o>>>0<68;if(B){do if(!o)if(x<<16>>16>3){qd[c[ca>>2]&255](k,n,q,h);break}else{a[Oa>>0]=a[138400+(p<<2)+w>>0]|0;a[sa>>0]=a[138400+(p<<2)+v>>0]|0;a[ta>>0]=a[138400+(p<<2)+u>>0]|0;a[ua>>0]=a[138400+(p<<2)+t>>0]|0;rd[c[ya>>2]&127](k,n,q,h,Oa);break}while(0);o=s+Ha|0;p=d[138244+o>>0]|0;s=s+Ia|0;h=d[138088+s>>0]|0;if(o>>>0<68|s>>>0<68)break;if(x<<16>>16>3){qd[c[ca>>2]&255](l,n,p,h);break}else{a[Oa>>0]=a[138400+(o<<2)+w>>0]|0;a[sa>>0]=a[138400+(o<<2)+v>>0]|0;a[ta>>0]=a[138400+(o<<2)+u>>0]|0;a[ua>>0]=a[138400+(o<<2)+t>>0]|0;rd[c[ya>>2]&127](l,n,p,h,Oa);break}}else{do if(!o)if(x<<16>>16>3){qd[c[da>>2]&255](k,n,q,h);break}else{a[Oa>>0]=(d[138400+(p<<2)+w>>0]|0)+1;a[sa>>0]=(d[138400+(p<<2)+v>>0]|0)+1;a[ta>>0]=(d[138400+(p<<2)+u>>0]|0)+1;a[ua>>0]=(d[138400+(p<<2)+t>>0]|0)+1;rd[c[za>>2]&127](k,n,q,h,Oa);break}while(0);o=s+Ha|0;p=d[138244+o>>0]|0;s=s+Ia|0;h=d[138088+s>>0]|0;if(o>>>0<68|s>>>0<68)break;if(x<<16>>16>3){qd[c[da>>2]&255](l,n,p,h);break}else{a[Oa>>0]=(d[138400+(o<<2)+w>>0]|0)+1;a[sa>>0]=(d[138400+(o<<2)+v>>0]|0)+1;a[ta>>0]=(d[138400+(o<<2)+u>>0]|0)+1;a[ua>>0]=(d[138400+(o<<2)+t>>0]|0)+1;rd[c[za>>2]&127](l,n,p,h,Oa);break}}}}while(0)}while(0);x=D|C^1;w=(y|0)==0;v=i?8:1;u=1;while(1){if((u|0)>=(F|0))break;r=(ja&u<<24|0)==0;do if(!(x&(r^1))){if(ka){if(!(u&E))if(w)p=1;else{p=(H(u,v)|0)+12|0;p=(Cj(g,p,p-v|0,Ea)|0)&65535;b[la>>1]=p;b[ma>>1]=p;b[na>>1]=p;b[Ka>>1]=p;p=0}else{p=Ka;c[p>>2]=0;c[p+4>>2]=0;p=0}q=0;while(1){if((q|0)==4)break;h=(D?u:q)+12+((D?q:u)<<3)|0;o=h-v|0;if(!((a[g+27824+o>>0]|a[g+27824+h>>0])<<24>>24)){if(p){h=(Cj(g,h,o,Ea)|0)&65535;Pa=230}}else{h=2;Pa=230}if((Pa|0)==230){Pa=0;b[Ka+(q<<1)>>1]=h}q=q+1|0}h=b[Ka>>1]|0;o=b[na>>1]|0;p=b[ma>>1]|0;q=b[la>>1]|0;if(((o<<16>>16)+(h<<16>>16)+(p<<16>>16)|0)==(0-(q<<16>>16)|0))break;else t=q}else{h=Ka;c[h>>2]=196611;c[h+4>>2]=196611;h=3;o=3;p=3;t=3}q=a[(c[oa>>2]|0)+Ba>>0]|0;if(D){s=u<<2;r=Ha+q|0;q=Ia+q|0;if(!(r>>>0<68|q>>>0<68)){i=d[138088+q>>0]|0;y=d[138244+r>>0]|0;q=j+(s<>2])|0;a[Oa>>0]=a[(h<<16>>16)+(138400+(r<<2))>>0]|0;a[sa>>0]=a[(o<<16>>16)+(138400+(r<<2))>>0]|0;a[ta>>0]=a[(p<<16>>16)+(138400+(r<<2))>>0]|0;a[ua>>0]=a[(t<<16>>16)+(138400+(r<<2))>>0]|0;rd[c[va>>2]&127](q,m,y,i,Oa)}if(!Ga)break;if(B){r=c[qa>>2]|0;q=r+Ha|0;r=r+Ia|0;if(!(q>>>0<68|r>>>0<68)){i=d[138088+r>>0]|0;y=d[138244+q>>0]|0;r=k+(s<>2])|0;a[Oa>>0]=a[(h<<16>>16)+(138400+(q<<2))>>0]|0;a[sa>>0]=a[(o<<16>>16)+(138400+(q<<2))>>0]|0;a[ta>>0]=a[(p<<16>>16)+(138400+(q<<2))>>0]|0;a[ua>>0]=a[(t<<16>>16)+(138400+(q<<2))>>0]|0;rd[c[va>>2]&127](r,n,y,i,Oa)}r=c[ra>>2]|0;q=r+Ha|0;r=r+Ia|0;if(q>>>0<68|r>>>0<68)break;i=d[138088+r>>0]|0;y=d[138244+q>>0]|0;s=l+(s<>2])|0;a[Oa>>0]=a[(h<<16>>16)+(138400+(q<<2))>>0]|0;a[sa>>0]=a[(o<<16>>16)+(138400+(q<<2))>>0]|0;a[ta>>0]=a[(p<<16>>16)+(138400+(q<<2))>>0]|0;a[ua>>0]=a[(t<<16>>16)+(138400+(q<<2))>>0]|0;rd[c[va>>2]&127](s,n,y,i,Oa);break}if(u&1|0)break;s=u<<1;r=c[qa>>2]|0;q=r+Ha|0;r=r+Ia|0;if(!(q>>>0<68|r>>>0<68)){i=d[138088+r>>0]|0;y=d[138244+q>>0]|0;r=k+(s<>2])|0;a[Oa>>0]=(d[(h<<16>>16)+(138400+(q<<2))>>0]|0)+1;a[sa>>0]=(d[(o<<16>>16)+(138400+(q<<2))>>0]|0)+1;a[ta>>0]=(d[(p<<16>>16)+(138400+(q<<2))>>0]|0)+1;a[ua>>0]=(d[(t<<16>>16)+(138400+(q<<2))>>0]|0)+1;rd[c[wa>>2]&127](r,n,y,i,Oa)}r=c[ra>>2]|0;q=r+Ha|0;r=r+Ia|0;if(q>>>0<68|r>>>0<68)break;i=d[138088+r>>0]|0;y=d[138244+q>>0]|0;s=l+(s<>2])|0;a[Oa>>0]=(d[(h<<16>>16)+(138400+(q<<2))>>0]|0)+1;a[sa>>0]=(d[(o<<16>>16)+(138400+(q<<2))>>0]|0)+1;a[ta>>0]=(d[(p<<16>>16)+(138400+(q<<2))>>0]|0)+1;a[ua>>0]=(d[(t<<16>>16)+(138400+(q<<2))>>0]|0)+1;rd[c[wa>>2]&127](s,n,y,i,Oa);break}if(C){if(r?(Ma=Ha+q|0,Na=Ia+q|0,!(Ma>>>0<68|Na>>>0<68)):0){i=d[138088+Na>>0]|0;y=d[138244+Ma>>0]|0;s=j+(H(xa,u)|0)|0;a[Oa>>0]=a[(h<<16>>16)+(138400+(Ma<<2))>>0]|0;a[sa>>0]=a[(o<<16>>16)+(138400+(Ma<<2))>>0]|0;a[ta>>0]=a[(p<<16>>16)+(138400+(Ma<<2))>>0]|0;a[ua>>0]=a[(t<<16>>16)+(138400+(Ma<<2))>>0]|0;rd[c[ya>>2]&127](s,m,y,i,Oa)}if(!Ga)break;s=H(u<<2,n)|0;r=c[qa>>2]|0;q=r+Ha|0;r=r+Ia|0;if(!(q>>>0<68|r>>>0<68)){i=d[138088+r>>0]|0;y=d[138244+q>>0]|0;a[Oa>>0]=(d[(h<<16>>16)+(138400+(q<<2))>>0]|0)+1;a[sa>>0]=(d[(o<<16>>16)+(138400+(q<<2))>>0]|0)+1;a[ta>>0]=(d[(p<<16>>16)+(138400+(q<<2))>>0]|0)+1;a[ua>>0]=(d[(t<<16>>16)+(138400+(q<<2))>>0]|0)+1;rd[c[za>>2]&127](k+s|0,n,y,i,Oa)}r=c[ra>>2]|0;q=r+Ha|0;r=r+Ia|0;if(q>>>0<68|r>>>0<68)break;i=d[138088+r>>0]|0;y=d[138244+q>>0]|0;a[Oa>>0]=(d[(h<<16>>16)+(138400+(q<<2))>>0]|0)+1;a[sa>>0]=(d[(o<<16>>16)+(138400+(q<<2))>>0]|0)+1;a[ta>>0]=(d[(p<<16>>16)+(138400+(q<<2))>>0]|0)+1;a[ua>>0]=(d[(t<<16>>16)+(138400+(q<<2))>>0]|0)+1;rd[c[za>>2]&127](l+s|0,n,y,i,Oa);break}r=u<<2;s=Ha+q|0;q=Ia+q|0;if(!(s>>>0<68|q>>>0<68)){i=d[138088+q>>0]|0;y=d[138244+s>>0]|0;q=j+(H(r,m)|0)|0;a[Oa>>0]=a[(h<<16>>16)+(138400+(s<<2))>>0]|0;a[sa>>0]=a[(o<<16>>16)+(138400+(s<<2))>>0]|0;a[ta>>0]=a[(p<<16>>16)+(138400+(s<<2))>>0]|0;a[ua>>0]=a[(t<<16>>16)+(138400+(s<<2))>>0]|0;rd[c[ya>>2]&127](q,m,y,i,Oa)}if(Ga){if(B){s=H(r,n)|0;r=c[qa>>2]|0;q=r+Ha|0;r=r+Ia|0;if(!(q>>>0<68|r>>>0<68)){i=d[138088+r>>0]|0;y=d[138244+q>>0]|0;a[Oa>>0]=a[(h<<16>>16)+(138400+(q<<2))>>0]|0;a[sa>>0]=a[(o<<16>>16)+(138400+(q<<2))>>0]|0;a[ta>>0]=a[(p<<16>>16)+(138400+(q<<2))>>0]|0;a[ua>>0]=a[(t<<16>>16)+(138400+(q<<2))>>0]|0;rd[c[ya>>2]&127](k+s|0,n,y,i,Oa)}r=c[ra>>2]|0;q=r+Ha|0;r=r+Ia|0;if(q>>>0<68|r>>>0<68)break;i=d[138088+r>>0]|0;y=d[138244+q>>0]|0;a[Oa>>0]=a[(h<<16>>16)+(138400+(q<<2))>>0]|0;a[sa>>0]=a[(o<<16>>16)+(138400+(q<<2))>>0]|0;a[ta>>0]=a[(p<<16>>16)+(138400+(q<<2))>>0]|0;a[ua>>0]=a[(t<<16>>16)+(138400+(q<<2))>>0]|0;rd[c[ya>>2]&127](l+s|0,n,y,i,Oa);break}if(!(u&1)){s=H(u<<1,n)|0;r=c[qa>>2]|0;q=r+Ha|0;r=r+Ia|0;if(!(q>>>0<68|r>>>0<68)){i=d[138088+r>>0]|0;y=d[138244+q>>0]|0;a[Oa>>0]=(d[(h<<16>>16)+(138400+(q<<2))>>0]|0)+1;a[sa>>0]=(d[(o<<16>>16)+(138400+(q<<2))>>0]|0)+1;a[ta>>0]=(d[(p<<16>>16)+(138400+(q<<2))>>0]|0)+1;a[ua>>0]=(d[(t<<16>>16)+(138400+(q<<2))>>0]|0)+1;rd[c[za>>2]&127](k+s|0,n,y,i,Oa)}r=c[ra>>2]|0;q=r+Ha|0;r=r+Ia|0;if(!(q>>>0<68|r>>>0<68)){i=d[138088+r>>0]|0;y=d[138244+q>>0]|0;a[Oa>>0]=(d[(h<<16>>16)+(138400+(q<<2))>>0]|0)+1;a[sa>>0]=(d[(o<<16>>16)+(138400+(q<<2))>>0]|0)+1;a[ta>>0]=(d[(p<<16>>16)+(138400+(q<<2))>>0]|0)+1;a[ua>>0]=(d[(t<<16>>16)+(138400+(q<<2))>>0]|0)+1;rd[c[za>>2]&127](l+s|0,n,y,i,Oa)}}}}while(0);u=u+1|0}f=f+1|0}$c=Qa;return}function Bj(e,f,g,h,i,j,k,l,m){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0;ta=$c;$c=$c+80|0;if(($c|0)>=(ad|0))N(80);ra=ta+64|0;na=ta;o=c[e+96>>2]|0;do if((o|0)!=0?(n=c[e+28212>>2]|0,(c[n+724>>2]|0)==0):0){ea=c[e+25664>>2]|0;qa=c[e+28216>>2]|0;u=c[qa+12>>2]|0;ka=(u|0)!=0;ma=(u|0)==3;u=(u|0)==2;W=c[f+21796>>2]|0;h=c[f+21740>>2]|0;ia=c[f+21732>>2]|0;qa=(H(c[qa+1184>>2]|0,-6)|0)+48|0;pa=(c[f+872>>2]|0)+52+qa|0;qa=(c[f+876>>2]|0)+52+qa|0;r=c[(c[e+24364>>2]|0)+(W<<2)>>2]|0;ja=c[e+24340>>2]|0;la=a[ja+W>>0]|0;W=a[ja+(W+-1)>>0]|0;ja=a[ja+(c[f+21712>>2]|0)>>0]|0;oa=d[n+548+la>>0]|0;ha=la+1|0;t=ha+W>>1;ha=ha+ja>>1;g=oa+1|0;W=(g+(d[n+548+W>>0]|0)|0)>>>1;ja=(g+(d[n+548+ja>>0]|0)|0)>>>1;if(r&7|0){I=(c[e+26380>>2]|0)!=3?114576:114584;q=(h|0)!=0;if(q?(p=t+pa|0,s=t+qa|0,!(p>>>0<68|s>>>0<68)):0)qd[c[e+64>>2]&255](i,l,d[138244+p>>0]|0,d[138088+s>>0]|0);f=(r&16777216|0)!=0;o=pa+la|0;p=138244+o|0;n=qa+la|0;h=138088+n|0;n=o>>>0<68|n>>>0<68;if(f){if(!n){na=d[h>>0]|0;la=d[p>>0]|0;ZW(ra|0,a[138400+(o<<2)+3>>0]|0,4)|0;rd[c[e+52>>2]&127](i+(8<>0]|0,na=ha+qa|0,x=d[138088+na>>0]|0,!(v>>>0<68|na>>>0<68)):0){g=b[I>>1]|0;if(g<<16>>16>3){qd[c[e+60>>2]&255](i,l,w,x);break}else{a[ra>>0]=a[(g<<16>>16)+(138400+(v<<2))>>0]|0;a[ra+1>>0]=a[(b[I+2>>1]|0)+(138400+(v<<2))>>0]|0;a[ra+2>>0]=a[(b[I+4>>1]|0)+(138400+(v<<2))>>0]|0;a[ra+3>>0]=a[(b[I+6>>1]|0)+(138400+(v<<2))>>0]|0;rd[c[e+48>>2]&127](i,l,w,x,ra);break}}while(0);if(!n){na=d[h>>0]|0;la=d[p>>0]|0;ZW(ra|0,a[138400+(o<<2)+3>>0]|0,4)|0;rd[c[e+48>>2]&127](i+(l<<3)|0,l,la,na,ra)}}else{if(!n){na=d[h>>0]|0;la=d[p>>0]|0;fa=a[138400+(o<<2)+3>>0]|0;ga=e+52|0;ZW(ra|0,fa|0,4)|0;rd[c[ga>>2]&127](i+(4<>2]&127](i+(8<>2]&127](i+(12<>0]|0,na=ha+qa|0,A=d[138088+na>>0]|0,!(y>>>0<68|na>>>0<68)):0){g=b[I>>1]|0;if(g<<16>>16>3){qd[c[e+60>>2]&255](i,l,z,A);break}else{a[ra>>0]=a[(g<<16>>16)+(138400+(y<<2))>>0]|0;a[ra+1>>0]=a[(b[I+2>>1]|0)+(138400+(y<<2))>>0]|0;a[ra+2>>0]=a[(b[I+4>>1]|0)+(138400+(y<<2))>>0]|0;a[ra+3>>0]=a[(b[I+6>>1]|0)+(138400+(y<<2))>>0]|0;rd[c[e+48>>2]&127](i,l,z,A,ra);break}}while(0);if(!n){na=d[h>>0]|0;la=d[p>>0]|0;ga=a[138400+(o<<2)+3>>0]|0;ha=e+48|0;ZW(ra|0,ga|0,4)|0;rd[c[ha>>2]&127](i+(l<<2)|0,l,la,na,ra);ZW(ra|0,ga|0,4)|0;rd[c[ha>>2]&127](i+(l<<3)|0,l,la,na,ra);ZW(ra|0,ga|0,4)|0;rd[c[ha>>2]&127](i+(l*12|0)|0,l,la,na,ra)}}if(!ka)break;if(ma){if(q?(B=W+pa|0,C=W+qa|0,!(B>>>0<68|C>>>0<68)):0){m=d[138088+C>>0]|0;na=d[138244+B>>0]|0;ma=e+64|0;qd[c[ma>>2]&255](j,l,na,m);qd[c[ma>>2]&255](k,l,na,m)}if(f){g=8<>>0<68|n>>>0<68;if(!n){m=d[h>>0]|0;oa=d[o>>0]|0;ma=a[138400+(f<<2)+3>>0]|0;na=e+52|0;ZW(ra|0,ma|0,4)|0;rd[c[na>>2]&127](j+g|0,l,oa,m,ra);ZW(ra|0,ma|0,4)|0;rd[c[na>>2]&127](k+g|0,l,oa,m,ra)}do if(ia|0?(J=ja+pa|0,K=d[138244+J>>0]|0,qa=ja+qa|0,L=d[138088+qa>>0]|0,!(J>>>0<68|qa>>>0<68)):0){g=b[I>>1]|0;if(g<<16>>16>3){qa=e+60|0;qd[c[qa>>2]&255](j,l,K,L);qd[c[qa>>2]&255](k,l,K,L);break}else{la=a[(g<<16>>16)+(138400+(J<<2))>>0]|0;a[ra>>0]=la;i=a[(b[I+2>>1]|0)+(138400+(J<<2))>>0]|0;ma=ra+1|0;a[ma>>0]=i;na=a[(b[I+4>>1]|0)+(138400+(J<<2))>>0]|0;oa=ra+2|0;a[oa>>0]=na;m=a[(b[I+6>>1]|0)+(138400+(J<<2))>>0]|0;pa=ra+3|0;a[pa>>0]=m;qa=e+48|0;rd[c[qa>>2]&127](j,l,K,L,ra);a[ra>>0]=la;a[ma>>0]=i;a[oa>>0]=na;a[pa>>0]=m;rd[c[qa>>2]&127](k,l,K,L,ra);break}}while(0);g=l<<3;if(n)break;qa=d[h>>0]|0;pa=d[o>>0]|0;m=a[138400+(f<<2)+3>>0]|0;e=e+48|0;ZW(ra|0,m|0,4)|0;rd[c[e>>2]&127](j+g|0,l,pa,qa,ra);ZW(ra|0,m|0,4)|0;rd[c[e>>2]&127](k+g|0,l,pa,qa,ra);break}else{g=4<>>0<68|n>>>0<68;if(!n){m=d[h>>0]|0;oa=d[o>>0]|0;i=a[138400+(f<<2)+3>>0]|0;ma=e+52|0;ZW(ra|0,i|0,4)|0;rd[c[ma>>2]&127](j+g|0,l,oa,m,ra);ZW(ra|0,i|0,4)|0;rd[c[ma>>2]&127](k+g|0,l,oa,m,ra);na=8<>2]&127](j+na|0,l,oa,m,ra);ZW(ra|0,i|0,4)|0;rd[c[ma>>2]&127](k+na|0,l,oa,m,ra);na=12<>2]&127](j+na|0,l,oa,m,ra);ZW(ra|0,i|0,4)|0;rd[c[ma>>2]&127](k+na|0,l,oa,m,ra)}do if(ia|0?(M=ja+pa|0,O=d[138244+M>>0]|0,qa=ja+qa|0,P=d[138088+qa>>0]|0,!(M>>>0<68|qa>>>0<68)):0){g=b[I>>1]|0;if(g<<16>>16>3){qa=e+60|0;qd[c[qa>>2]&255](j,l,O,P);qd[c[qa>>2]&255](k,l,O,P);break}else{la=a[(g<<16>>16)+(138400+(M<<2))>>0]|0;a[ra>>0]=la;i=a[(b[I+2>>1]|0)+(138400+(M<<2))>>0]|0;ma=ra+1|0;a[ma>>0]=i;na=a[(b[I+4>>1]|0)+(138400+(M<<2))>>0]|0;oa=ra+2|0;a[oa>>0]=na;m=a[(b[I+6>>1]|0)+(138400+(M<<2))>>0]|0;pa=ra+3|0;a[pa>>0]=m;qa=e+48|0;rd[c[qa>>2]&127](j,l,O,P,ra);a[ra>>0]=la;a[ma>>0]=i;a[oa>>0]=na;a[pa>>0]=m;rd[c[qa>>2]&127](k,l,O,P,ra);break}}while(0);g=l<<2;if(n)break;qa=d[h>>0]|0;pa=d[o>>0]|0;oa=a[138400+(f<<2)+3>>0]|0;m=e+48|0;ZW(ra|0,oa|0,4)|0;rd[c[m>>2]&127](j+g|0,l,pa,qa,ra);ZW(ra|0,oa|0,4)|0;rd[c[m>>2]&127](k+g|0,l,pa,qa,ra);e=l<<3;ZW(ra|0,oa|0,4)|0;rd[c[m>>2]&127](j+e|0,l,pa,qa,ra);ZW(ra|0,oa|0,4)|0;rd[c[m>>2]&127](k+e|0,l,pa,qa,ra);e=l*12|0;ZW(ra|0,oa|0,4)|0;rd[c[m>>2]&127](j+e|0,l,pa,qa,ra);ZW(ra|0,oa|0,4)|0;rd[c[m>>2]&127](k+e|0,l,pa,qa,ra);break}}if(u){if(q?(D=W+pa|0,E=W+qa|0,!(D>>>0<68|E>>>0<68)):0){l=d[138088+E>>0]|0;na=d[138244+D>>0]|0;ma=e+88|0;qd[c[ma>>2]&255](j,m,na,l);qd[c[ma>>2]&255](k,m,na,l)}g=4<>>0<68|n>>>0<68;if(!n){l=d[h>>0]|0;oa=d[o>>0]|0;ma=(d[138400+(f<<2)+3>>0]|0)+1&255;na=e+76|0;ZW(ra|0,ma|0,4)|0;rd[c[na>>2]&127](j+g|0,m,oa,l,ra);ZW(ra|0,ma|0,4)|0;rd[c[na>>2]&127](k+g|0,m,oa,l,ra)}do if(ia|0?(Q=ja+pa|0,R=d[138244+Q>>0]|0,l=ja+qa|0,S=d[138088+l>>0]|0,!(Q>>>0<68|l>>>0<68)):0){g=b[I>>1]|0;if(g<<16>>16>3){l=e+84|0;qd[c[l>>2]&255](j,m,R,S);qd[c[l>>2]&255](k,m,R,S);break}else{la=(d[(g<<16>>16)+(138400+(Q<<2))>>0]|0)+1&255;a[ra>>0]=la;i=(d[(b[I+2>>1]|0)+(138400+(Q<<2))>>0]|0)+1&255;ma=ra+1|0;a[ma>>0]=i;na=(d[(b[I+4>>1]|0)+(138400+(Q<<2))>>0]|0)+1&255;oa=ra+2|0;a[oa>>0]=na;pa=(d[(b[I+6>>1]|0)+(138400+(Q<<2))>>0]|0)+1&255;qa=ra+3|0;a[qa>>0]=pa;l=e+72|0;rd[c[l>>2]&127](j,m,R,S,ra);a[ra>>0]=la;a[ma>>0]=i;a[oa>>0]=na;a[qa>>0]=pa;rd[c[l>>2]&127](k,m,R,S,ra);break}}while(0);g=m<<2;if(n)break;l=d[h>>0]|0;qa=d[o>>0]|0;oa=(d[138400+(f<<2)+3>>0]|0)+1&255;pa=e+72|0;ZW(ra|0,oa|0,4)|0;rd[c[pa>>2]&127](j+g|0,m,qa,l,ra);ZW(ra|0,oa|0,4)|0;rd[c[pa>>2]&127](k+g|0,m,qa,l,ra);e=m<<3;ZW(ra|0,oa|0,4)|0;rd[c[pa>>2]&127](j+e|0,m,qa,l,ra);ZW(ra|0,oa|0,4)|0;rd[c[pa>>2]&127](k+e|0,m,qa,l,ra);e=m*12|0;ZW(ra|0,oa|0,4)|0;rd[c[pa>>2]&127](j+e|0,m,qa,l,ra);ZW(ra|0,oa|0,4)|0;rd[c[pa>>2]&127](k+e|0,m,qa,l,ra);break}else{if(q?(F=W+pa|0,G=W+qa|0,!(F>>>0<68|G>>>0<68)):0){l=d[138088+G>>0]|0;na=d[138244+F>>0]|0;ma=e+88|0;qd[c[ma>>2]&255](j,m,na,l);qd[c[ma>>2]&255](k,m,na,l)}g=4<>>0<68|n>>>0<68;if(!n){l=d[h>>0]|0;oa=d[o>>0]|0;ma=(d[138400+(f<<2)+3>>0]|0)+1&255;na=e+76|0;ZW(ra|0,ma|0,4)|0;rd[c[na>>2]&127](j+g|0,m,oa,l,ra);ZW(ra|0,ma|0,4)|0;rd[c[na>>2]&127](k+g|0,m,oa,l,ra)}do if(ia|0?(T=ja+pa|0,U=d[138244+T>>0]|0,l=ja+qa|0,V=d[138088+l>>0]|0,!(T>>>0<68|l>>>0<68)):0){g=b[I>>1]|0;if(g<<16>>16>3){l=e+84|0;qd[c[l>>2]&255](j,m,U,V);qd[c[l>>2]&255](k,m,U,V);break}else{la=(d[(g<<16>>16)+(138400+(T<<2))>>0]|0)+1&255;a[ra>>0]=la;i=(d[(b[I+2>>1]|0)+(138400+(T<<2))>>0]|0)+1&255;ma=ra+1|0;a[ma>>0]=i;na=(d[(b[I+4>>1]|0)+(138400+(T<<2))>>0]|0)+1&255;oa=ra+2|0;a[oa>>0]=na;pa=(d[(b[I+6>>1]|0)+(138400+(T<<2))>>0]|0)+1&255;qa=ra+3|0;a[qa>>0]=pa;l=e+72|0;rd[c[l>>2]&127](j,m,U,V,ra);a[ra>>0]=la;a[ma>>0]=i;a[oa>>0]=na;a[qa>>0]=pa;rd[c[l>>2]&127](k,m,U,V,ra);break}}while(0);g=m<<2;if(n)break;l=d[h>>0]|0;qa=d[o>>0]|0;pa=(d[138400+(f<<2)+3>>0]|0)+1&255;e=e+72|0;ZW(ra|0,pa|0,4)|0;rd[c[e>>2]&127](j+g|0,m,qa,l,ra);ZW(ra|0,pa|0,4)|0;rd[c[e>>2]&127](k+g|0,m,qa,l,ra);break}}p=(r&16777216|0)!=0;g=c[f+21856>>2]|0;if(p?!(ma|(g&7|0)!=7):0){o=na;c[o>>2]=131074;c[o+4>>2]=131074;o=na+16|0;c[o>>2]=131074;c[o+4>>2]=131074;o=na+32|0;c[o>>2]=131074;c[o+4>>2]=131074;o=na+48|0;c[o>>2]=131074;c[o+4>>2]=131074;o=4}else{U=0-((r*5|0)>>>5&1)&3|r>>4;V=4-(0-(r>>>3&(g&15|0)==0)&3)|0;vd[o&3](na,f+27824|0,f+28272|0,f+27952|0,(c[f+23412>>2]|0)==2&1,V,(r>>24)+1|0,0-((h*5|0)>>>5&1&U>>>1)&3,U,(c[e+26380>>2]|0)!=3&1);o=V}if(h&7|0){V=na;c[V>>2]=262148;c[V+4>>2]=262148}if(ia&7|0){U=(c[e+26380>>2]|0)!=3;V=na+32|0;c[V>>2]=U?196611:262148;c[V+4>>2]=U?196611:262148}do if(h|0?(V=na,U=c[V>>2]|0,q=U&65535,!((U|0)==0&(c[V+4>>2]|0)==0)):0){h=t+pa|0;n=d[138244+h>>0]|0;V=t+qa|0;g=d[138088+V>>0]|0;do if(!(h>>>0<68|V>>>0<68))if(q<<16>>16>3){qd[c[e+64>>2]&255](i,l,n,g);break}else{a[ra>>0]=a[(q<<16>>16)+(138400+(h<<2))>>0]|0;a[ra+1>>0]=a[(b[na+2>>1]|0)+(138400+(h<<2))>>0]|0;a[ra+2>>0]=a[(b[na+4>>1]|0)+(138400+(h<<2))>>0]|0;a[ra+3>>0]=a[(b[na+6>>1]|0)+(138400+(h<<2))>>0]|0;rd[c[e+52>>2]&127](i,l,n,g,ra);break}while(0);if(ka){n=W+pa|0;f=d[138244+n>>0]|0;g=W+qa|0;h=d[138088+g>>0]|0;g=n>>>0<68|g>>>0<68;if(ma){if(g)break;g=b[na>>1]|0;if(g<<16>>16>3)qd[c[e+64>>2]&255](j,l,f,h);else{a[ra>>0]=a[(g<<16>>16)+(138400+(n<<2))>>0]|0;a[ra+1>>0]=a[(b[na+2>>1]|0)+(138400+(n<<2))>>0]|0;a[ra+2>>0]=a[(b[na+4>>1]|0)+(138400+(n<<2))>>0]|0;a[ra+3>>0]=a[(b[na+6>>1]|0)+(138400+(n<<2))>>0]|0;rd[c[e+52>>2]&127](j,l,f,h,ra)}g=b[na>>1]|0;if(g<<16>>16>3){qd[c[e+64>>2]&255](k,l,f,h);break}else{a[ra>>0]=a[(g<<16>>16)+(138400+(n<<2))>>0]|0;a[ra+1>>0]=a[(b[na+2>>1]|0)+(138400+(n<<2))>>0]|0;a[ra+2>>0]=a[(b[na+4>>1]|0)+(138400+(n<<2))>>0]|0;a[ra+3>>0]=a[(b[na+6>>1]|0)+(138400+(n<<2))>>0]|0;rd[c[e+52>>2]&127](k,l,f,h,ra);break}}else{if(g)break;g=b[na>>1]|0;if(g<<16>>16>3)qd[c[e+88>>2]&255](j,m,f,h);else{a[ra>>0]=(d[(g<<16>>16)+(138400+(n<<2))>>0]|0)+1;a[ra+1>>0]=(d[(b[na+2>>1]|0)+(138400+(n<<2))>>0]|0)+1;a[ra+2>>0]=(d[(b[na+4>>1]|0)+(138400+(n<<2))>>0]|0)+1;a[ra+3>>0]=(d[(b[na+6>>1]|0)+(138400+(n<<2))>>0]|0)+1;rd[c[e+76>>2]&127](j,m,f,h,ra)}g=b[na>>1]|0;if(g<<16>>16>3){qd[c[e+88>>2]&255](k,m,f,h);break}else{a[ra>>0]=(d[(g<<16>>16)+(138400+(n<<2))>>0]|0)+1;a[ra+1>>0]=(d[(b[na+2>>1]|0)+(138400+(n<<2))>>0]|0)+1;a[ra+2>>0]=(d[(b[na+4>>1]|0)+(138400+(n<<2))>>0]|0)+1;a[ra+3>>0]=(d[(b[na+6>>1]|0)+(138400+(n<<2))>>0]|0)+1;rd[c[e+76>>2]&127](k,m,f,h,ra);break}}}}while(0);do if((o|0)==1){if(ia|0?(Z=na+32|0,oa=Z,la=c[oa>>2]|0,I=la&65535,!((la|0)==0&(c[oa+4>>2]|0)==0)):0){h=ha+pa|0;n=d[138244+h>>0]|0;oa=ha+qa|0;g=d[138088+oa>>0]|0;do if(!(h>>>0<68|oa>>>0<68))if(I<<16>>16>3){qd[c[e+60>>2]&255](i,l,n,g);break}else{a[ra>>0]=a[(I<<16>>16)+(138400+(h<<2))>>0]|0;a[ra+1>>0]=a[(b[na+34>>1]|0)+(138400+(h<<2))>>0]|0;a[ra+2>>0]=a[(b[na+36>>1]|0)+(138400+(h<<2))>>0]|0;a[ra+3>>0]=a[(b[na+38>>1]|0)+(138400+(h<<2))>>0]|0;rd[c[e+48>>2]&127](i,l,n,g,ra);break}while(0);if(ka){n=ja+pa|0;f=d[138244+n>>0]|0;g=ja+qa|0;h=d[138088+g>>0]|0;g=n>>>0<68|g>>>0<68;if(ma){if(g)break;g=b[Z>>1]|0;if(g<<16>>16>3)qd[c[e+60>>2]&255](j,l,f,h);else{a[ra>>0]=a[(g<<16>>16)+(138400+(n<<2))>>0]|0;a[ra+1>>0]=a[(b[na+34>>1]|0)+(138400+(n<<2))>>0]|0;a[ra+2>>0]=a[(b[na+36>>1]|0)+(138400+(n<<2))>>0]|0;a[ra+3>>0]=a[(b[na+38>>1]|0)+(138400+(n<<2))>>0]|0;rd[c[e+48>>2]&127](j,l,f,h,ra)}g=b[Z>>1]|0;if(g<<16>>16>3){qd[c[e+60>>2]&255](k,l,f,h);break}else{a[ra>>0]=a[(g<<16>>16)+(138400+(n<<2))>>0]|0;a[ra+1>>0]=a[(b[na+34>>1]|0)+(138400+(n<<2))>>0]|0;a[ra+2>>0]=a[(b[na+36>>1]|0)+(138400+(n<<2))>>0]|0;a[ra+3>>0]=a[(b[na+38>>1]|0)+(138400+(n<<2))>>0]|0;rd[c[e+48>>2]&127](k,l,f,h,ra);break}}else{if(g)break;g=b[Z>>1]|0;if(g<<16>>16>3)qd[c[e+84>>2]&255](j,m,f,h);else{a[ra>>0]=(d[(g<<16>>16)+(138400+(n<<2))>>0]|0)+1;a[ra+1>>0]=(d[(b[na+34>>1]|0)+(138400+(n<<2))>>0]|0)+1;a[ra+2>>0]=(d[(b[na+36>>1]|0)+(138400+(n<<2))>>0]|0)+1;a[ra+3>>0]=(d[(b[na+38>>1]|0)+(138400+(n<<2))>>0]|0)+1;rd[c[e+72>>2]&127](j,m,f,h,ra)}g=b[Z>>1]|0;if(g<<16>>16>3){qd[c[e+84>>2]&255](k,m,f,h);break}else{a[ra>>0]=(d[(g<<16>>16)+(138400+(n<<2))>>0]|0)+1;a[ra+1>>0]=(d[(b[na+34>>1]|0)+(138400+(n<<2))>>0]|0)+1;a[ra+2>>0]=(d[(b[na+36>>1]|0)+(138400+(n<<2))>>0]|0)+1;a[ra+3>>0]=(d[(b[na+38>>1]|0)+(138400+(n<<2))>>0]|0)+1;rd[c[e+72>>2]&127](k,m,f,h,ra);break}}}}}else{if(p){p=na+16|0;ga=p;f=c[ga>>2]|0;do if(!((f|0)==0&(c[ga+4>>2]|0)==0)){g=1<>>0<68|n>>>0<68)){ga=d[138088+n>>0]|0;fa=d[138244+h>>0]|0;a[ra>>0]=a[(f<<16>>16)+(138400+(h<<2))>>0]|0;a[ra+1>>0]=a[(b[na+18>>1]|0)+(138400+(h<<2))>>0]|0;a[ra+2>>0]=a[(b[na+20>>1]|0)+(138400+(h<<2))>>0]|0;a[ra+3>>0]=a[(b[na+22>>1]|0)+(138400+(h<<2))>>0]|0;rd[c[e+52>>2]&127](i+o|0,l,fa,ga,ra)}if(ka)if(ma){g=pa+oa|0;h=qa+oa|0;if(g>>>0<68|h>>>0<68)break;ga=d[138088+h>>0]|0;fa=d[138244+g>>0]|0;a[ra>>0]=a[(b[p>>1]|0)+(138400+(g<<2))>>0]|0;Y=na+18|0;Z=ra+1|0;a[Z>>0]=a[(b[Y>>1]|0)+(138400+(g<<2))>>0]|0;aa=na+20|0;ba=ra+2|0;a[ba>>0]=a[(b[aa>>1]|0)+(138400+(g<<2))>>0]|0;ca=na+22|0;da=ra+3|0;a[da>>0]=a[(b[ca>>1]|0)+(138400+(g<<2))>>0]|0;ea=e+52|0;rd[c[ea>>2]&127](j+o|0,l,fa,ga,ra);a[ra>>0]=a[(b[p>>1]|0)+(138400+(g<<2))>>0]|0;a[Z>>0]=a[(b[Y>>1]|0)+(138400+(g<<2))>>0]|0;a[ba>>0]=a[(b[aa>>1]|0)+(138400+(g<<2))>>0]|0;a[da>>0]=a[(b[ca>>1]|0)+(138400+(g<<2))>>0]|0;rd[c[ea>>2]&127](k+o|0,l,fa,ga,ra);break}else{g=g<<2;h=pa+oa|0;n=qa+oa|0;if(h>>>0<68|n>>>0<68)break;ga=d[138088+n>>0]|0;fa=d[138244+h>>0]|0;a[ra>>0]=(d[(b[p>>1]|0)+(138400+(h<<2))>>0]|0)+1;Y=na+18|0;Z=ra+1|0;a[Z>>0]=(d[(b[Y>>1]|0)+(138400+(h<<2))>>0]|0)+1;aa=na+20|0;ba=ra+2|0;a[ba>>0]=(d[(b[aa>>1]|0)+(138400+(h<<2))>>0]|0)+1;ca=na+22|0;da=ra+3|0;a[da>>0]=(d[(b[ca>>1]|0)+(138400+(h<<2))>>0]|0)+1;ea=e+76|0;rd[c[ea>>2]&127](j+g|0,m,fa,ga,ra);a[ra>>0]=(d[(b[p>>1]|0)+(138400+(h<<2))>>0]|0)+1;a[Z>>0]=(d[(b[Y>>1]|0)+(138400+(h<<2))>>0]|0)+1;a[ba>>0]=(d[(b[aa>>1]|0)+(138400+(h<<2))>>0]|0)+1;a[da>>0]=(d[(b[ca>>1]|0)+(138400+(h<<2))>>0]|0)+1;rd[c[ea>>2]&127](k+g|0,m,fa,ga,ra);break}}while(0);do if(ia|0?($=na+32|0,ia=$,ga=c[ia>>2]|0,_=ga&65535,!((ga|0)==0&(c[ia+4>>2]|0)==0)):0){h=ha+pa|0;n=d[138244+h>>0]|0;ia=ha+qa|0;g=d[138088+ia>>0]|0;do if(!(h>>>0<68|ia>>>0<68))if(_<<16>>16>3){qd[c[e+60>>2]&255](i,l,n,g);break}else{a[ra>>0]=a[(_<<16>>16)+(138400+(h<<2))>>0]|0;a[ra+1>>0]=a[(b[na+34>>1]|0)+(138400+(h<<2))>>0]|0;a[ra+2>>0]=a[(b[na+36>>1]|0)+(138400+(h<<2))>>0]|0;a[ra+3>>0]=a[(b[na+38>>1]|0)+(138400+(h<<2))>>0]|0;rd[c[e+48>>2]&127](i,l,n,g,ra);break}while(0);if(ka){n=ja+pa|0;f=d[138244+n>>0]|0;g=ja+qa|0;h=d[138088+g>>0]|0;g=n>>>0<68|g>>>0<68;if(ma){if(g)break;g=b[$>>1]|0;if(g<<16>>16>3)qd[c[e+60>>2]&255](j,l,f,h);else{a[ra>>0]=a[(g<<16>>16)+(138400+(n<<2))>>0]|0;a[ra+1>>0]=a[(b[na+34>>1]|0)+(138400+(n<<2))>>0]|0;a[ra+2>>0]=a[(b[na+36>>1]|0)+(138400+(n<<2))>>0]|0;a[ra+3>>0]=a[(b[na+38>>1]|0)+(138400+(n<<2))>>0]|0;rd[c[e+48>>2]&127](j,l,f,h,ra)}g=b[$>>1]|0;if(g<<16>>16>3){qd[c[e+60>>2]&255](k,l,f,h);break}else{a[ra>>0]=a[(g<<16>>16)+(138400+(n<<2))>>0]|0;a[ra+1>>0]=a[(b[na+34>>1]|0)+(138400+(n<<2))>>0]|0;a[ra+2>>0]=a[(b[na+36>>1]|0)+(138400+(n<<2))>>0]|0;a[ra+3>>0]=a[(b[na+38>>1]|0)+(138400+(n<<2))>>0]|0;rd[c[e+48>>2]&127](k,l,f,h,ra);break}}else{if(g)break;g=b[$>>1]|0;if(g<<16>>16>3)qd[c[e+84>>2]&255](j,m,f,h);else{a[ra>>0]=(d[(g<<16>>16)+(138400+(n<<2))>>0]|0)+1;a[ra+1>>0]=(d[(b[na+34>>1]|0)+(138400+(n<<2))>>0]|0)+1;a[ra+2>>0]=(d[(b[na+36>>1]|0)+(138400+(n<<2))>>0]|0)+1;a[ra+3>>0]=(d[(b[na+38>>1]|0)+(138400+(n<<2))>>0]|0)+1;rd[c[e+72>>2]&127](j,m,f,h,ra)}g=b[$>>1]|0;if(g<<16>>16>3){qd[c[e+84>>2]&255](k,m,f,h);break}else{a[ra>>0]=(d[(g<<16>>16)+(138400+(n<<2))>>0]|0)+1;a[ra+1>>0]=(d[(b[na+34>>1]|0)+(138400+(n<<2))>>0]|0)+1;a[ra+2>>0]=(d[(b[na+36>>1]|0)+(138400+(n<<2))>>0]|0)+1;a[ra+3>>0]=(d[(b[na+38>>1]|0)+(138400+(n<<2))>>0]|0)+1;rd[c[e+72>>2]&127](k,m,f,h,ra);break}}}}while(0);o=na+48|0;ja=o;h=c[ja>>2]|0;if((h|0)==0&(c[ja+4>>2]|0)==0)break;f=l<<3;n=pa+la|0;g=qa+la|0;if(!(n>>>0<68|g>>>0<68)){la=d[138088+g>>0]|0;ja=d[138244+n>>0]|0;a[ra>>0]=a[(h<<16>>16)+(138400+(n<<2))>>0]|0;a[ra+1>>0]=a[(b[na+50>>1]|0)+(138400+(n<<2))>>0]|0;a[ra+2>>0]=a[(b[na+52>>1]|0)+(138400+(n<<2))>>0]|0;a[ra+3>>0]=a[(b[na+54>>1]|0)+(138400+(n<<2))>>0]|0;rd[c[e+48>>2]&127](i+f|0,l,ja,la,ra)}if(!ka)break;if(ma){h=pa+oa|0;g=qa+oa|0;if(h>>>0<68|g>>>0<68)break;qa=d[138088+g>>0]|0;pa=d[138244+h>>0]|0;a[ra>>0]=a[(b[o>>1]|0)+(138400+(h<<2))>>0]|0;ka=na+50|0;la=ra+1|0;a[la>>0]=a[(b[ka>>1]|0)+(138400+(h<<2))>>0]|0;i=na+52|0;ma=ra+2|0;a[ma>>0]=a[(b[i>>1]|0)+(138400+(h<<2))>>0]|0;oa=na+54|0;m=ra+3|0;a[m>>0]=a[(b[oa>>1]|0)+(138400+(h<<2))>>0]|0;e=e+48|0;rd[c[e>>2]&127](j+f|0,l,pa,qa,ra);a[ra>>0]=a[(b[o>>1]|0)+(138400+(h<<2))>>0]|0;a[la>>0]=a[(b[ka>>1]|0)+(138400+(h<<2))>>0]|0;a[ma>>0]=a[(b[i>>1]|0)+(138400+(h<<2))>>0]|0;a[m>>0]=a[(b[oa>>1]|0)+(138400+(h<<2))>>0]|0;rd[c[e>>2]&127](k+f|0,l,pa,qa,ra);break}else{n=m<<2;h=pa+oa|0;g=qa+oa|0;if(h>>>0<68|g>>>0<68)break;l=d[138088+g>>0]|0;qa=d[138244+h>>0]|0;a[ra>>0]=(d[(b[o>>1]|0)+(138400+(h<<2))>>0]|0)+1;ka=na+50|0;la=ra+1|0;a[la>>0]=(d[(b[ka>>1]|0)+(138400+(h<<2))>>0]|0)+1;i=na+52|0;ma=ra+2|0;a[ma>>0]=(d[(b[i>>1]|0)+(138400+(h<<2))>>0]|0)+1;oa=na+54|0;pa=ra+3|0;a[pa>>0]=(d[(b[oa>>1]|0)+(138400+(h<<2))>>0]|0)+1;e=e+72|0;rd[c[e>>2]&127](j+n|0,m,qa,l,ra);a[ra>>0]=(d[(b[o>>1]|0)+(138400+(h<<2))>>0]|0)+1;a[la>>0]=(d[(b[ka>>1]|0)+(138400+(h<<2))>>0]|0)+1;a[ma>>0]=(d[(b[i>>1]|0)+(138400+(h<<2))>>0]|0)+1;a[pa>>0]=(d[(b[oa>>1]|0)+(138400+(h<<2))>>0]|0)+1;rd[c[e>>2]&127](k+n|0,m,qa,l,ra);break}}g=na+8|0;$=g;h=c[$>>2]|0;if(!((h|0)==0&(c[$+4>>2]|0)==0)){n=4<>>0<68|o>>>0<68)){$=d[138088+o>>0]|0;_=d[138244+f>>0]|0;a[ra>>0]=a[(h<<16>>16)+(138400+(f<<2))>>0]|0;a[ra+1>>0]=a[(b[na+10>>1]|0)+(138400+(f<<2))>>0]|0;a[ra+2>>0]=a[(b[na+12>>1]|0)+(138400+(f<<2))>>0]|0;a[ra+3>>0]=a[(b[na+14>>1]|0)+(138400+(f<<2))>>0]|0;rd[c[e+52>>2]&127](i+n|0,l,_,$,ra)}if(ma?(X=pa+oa|0,Y=qa+oa|0,!(X>>>0<68|Y>>>0<68)):0){$=d[138088+Y>>0]|0;_=d[138244+X>>0]|0;a[ra>>0]=a[(b[g>>1]|0)+(138400+(X<<2))>>0]|0;S=na+10|0;T=ra+1|0;a[T>>0]=a[(b[S>>1]|0)+(138400+(X<<2))>>0]|0;U=na+12|0;V=ra+2|0;a[V>>0]=a[(b[U>>1]|0)+(138400+(X<<2))>>0]|0;W=na+14|0;Y=ra+3|0;a[Y>>0]=a[(b[W>>1]|0)+(138400+(X<<2))>>0]|0;Z=e+52|0;rd[c[Z>>2]&127](j+n|0,l,_,$,ra);a[ra>>0]=a[(b[g>>1]|0)+(138400+(X<<2))>>0]|0;a[T>>0]=a[(b[S>>1]|0)+(138400+(X<<2))>>0]|0;a[V>>0]=a[(b[U>>1]|0)+(138400+(X<<2))>>0]|0;a[Y>>0]=a[(b[W>>1]|0)+(138400+(X<<2))>>0]|0;rd[c[Z>>2]&127](k+n|0,l,_,$,ra)}}p=na+16|0;$=p;g=c[$>>2]|0;do if(!((g|0)==0&(c[$+4>>2]|0)==0)){h=1<>>0<68|f>>>0<68)){$=d[138088+f>>0]|0;_=d[138244+n>>0]|0;a[ra>>0]=a[(g<<16>>16)+(138400+(n<<2))>>0]|0;a[ra+1>>0]=a[(b[na+18>>1]|0)+(138400+(n<<2))>>0]|0;a[ra+2>>0]=a[(b[na+20>>1]|0)+(138400+(n<<2))>>0]|0;a[ra+3>>0]=a[(b[na+22>>1]|0)+(138400+(n<<2))>>0]|0;rd[c[e+52>>2]&127](i+o|0,l,_,$,ra)}if(ka)if(ma){g=pa+oa|0;h=qa+oa|0;if(g>>>0<68|h>>>0<68)break;$=d[138088+h>>0]|0;_=d[138244+g>>0]|0;a[ra>>0]=a[(b[p>>1]|0)+(138400+(g<<2))>>0]|0;T=na+18|0;U=ra+1|0;a[U>>0]=a[(b[T>>1]|0)+(138400+(g<<2))>>0]|0;V=na+20|0;W=ra+2|0;a[W>>0]=a[(b[V>>1]|0)+(138400+(g<<2))>>0]|0;X=na+22|0;Y=ra+3|0;a[Y>>0]=a[(b[X>>1]|0)+(138400+(g<<2))>>0]|0;Z=e+52|0;rd[c[Z>>2]&127](j+o|0,l,_,$,ra);a[ra>>0]=a[(b[p>>1]|0)+(138400+(g<<2))>>0]|0;a[U>>0]=a[(b[T>>1]|0)+(138400+(g<<2))>>0]|0;a[W>>0]=a[(b[V>>1]|0)+(138400+(g<<2))>>0]|0;a[Y>>0]=a[(b[X>>1]|0)+(138400+(g<<2))>>0]|0;rd[c[Z>>2]&127](k+o|0,l,_,$,ra);break}else{g=h<<2;h=pa+oa|0;n=qa+oa|0;if(h>>>0<68|n>>>0<68)break;$=d[138088+n>>0]|0;_=d[138244+h>>0]|0;a[ra>>0]=(d[(b[p>>1]|0)+(138400+(h<<2))>>0]|0)+1;T=na+18|0;U=ra+1|0;a[U>>0]=(d[(b[T>>1]|0)+(138400+(h<<2))>>0]|0)+1;V=na+20|0;W=ra+2|0;a[W>>0]=(d[(b[V>>1]|0)+(138400+(h<<2))>>0]|0)+1;X=na+22|0;Y=ra+3|0;a[Y>>0]=(d[(b[X>>1]|0)+(138400+(h<<2))>>0]|0)+1;Z=e+76|0;rd[c[Z>>2]&127](j+g|0,m,_,$,ra);a[ra>>0]=(d[(b[p>>1]|0)+(138400+(h<<2))>>0]|0)+1;a[U>>0]=(d[(b[T>>1]|0)+(138400+(h<<2))>>0]|0)+1;a[W>>0]=(d[(b[V>>1]|0)+(138400+(h<<2))>>0]|0)+1;a[Y>>0]=(d[(b[X>>1]|0)+(138400+(h<<2))>>0]|0)+1;rd[c[Z>>2]&127](k+g|0,m,_,$,ra);break}}while(0);f=na+24|0;$=f;o=c[$>>2]|0;if(!((o|0)==0&(c[$+4>>2]|0)==0)){g=12<>>0<68|n>>>0<68)){ea=d[138088+n>>0]|0;$=d[138244+h>>0]|0;a[ra>>0]=a[(o<<16>>16)+(138400+(h<<2))>>0]|0;a[ra+1>>0]=a[(b[na+26>>1]|0)+(138400+(h<<2))>>0]|0;a[ra+2>>0]=a[(b[na+28>>1]|0)+(138400+(h<<2))>>0]|0;a[ra+3>>0]=a[(b[na+30>>1]|0)+(138400+(h<<2))>>0]|0;rd[c[e+52>>2]&127](i+g|0,l,$,ea,ra)}if(ma?(aa=pa+oa|0,ba=qa+oa|0,!(aa>>>0<68|ba>>>0<68)):0){ea=d[138088+ba>>0]|0;ba=d[138244+aa>>0]|0;a[ra>>0]=a[(b[f>>1]|0)+(138400+(aa<<2))>>0]|0;V=na+26|0;W=ra+1|0;a[W>>0]=a[(b[V>>1]|0)+(138400+(aa<<2))>>0]|0;X=na+28|0;Y=ra+2|0;a[Y>>0]=a[(b[X>>1]|0)+(138400+(aa<<2))>>0]|0;Z=na+30|0;_=ra+3|0;a[_>>0]=a[(b[Z>>1]|0)+(138400+(aa<<2))>>0]|0;$=e+52|0;rd[c[$>>2]&127](j+g|0,l,ba,ea,ra);a[ra>>0]=a[(b[f>>1]|0)+(138400+(aa<<2))>>0]|0;a[W>>0]=a[(b[V>>1]|0)+(138400+(aa<<2))>>0]|0;a[Y>>0]=a[(b[X>>1]|0)+(138400+(aa<<2))>>0]|0;a[_>>0]=a[(b[Z>>1]|0)+(138400+(aa<<2))>>0]|0;rd[c[$>>2]&127](k+g|0,l,ba,ea,ra)}}do if(ia|0?(da=na+32|0,ia=da,ea=c[ia>>2]|0,ca=ea&65535,!((ea|0)==0&(c[ia+4>>2]|0)==0)):0){h=ha+pa|0;n=d[138244+h>>0]|0;ia=ha+qa|0;g=d[138088+ia>>0]|0;do if(!(h>>>0<68|ia>>>0<68))if(ca<<16>>16>3){qd[c[e+60>>2]&255](i,l,n,g);break}else{a[ra>>0]=a[(ca<<16>>16)+(138400+(h<<2))>>0]|0;a[ra+1>>0]=a[(b[na+34>>1]|0)+(138400+(h<<2))>>0]|0;a[ra+2>>0]=a[(b[na+36>>1]|0)+(138400+(h<<2))>>0]|0;a[ra+3>>0]=a[(b[na+38>>1]|0)+(138400+(h<<2))>>0]|0;rd[c[e+48>>2]&127](i,l,n,g,ra);break}while(0);if(ka){n=ja+pa|0;f=d[138244+n>>0]|0;g=ja+qa|0;h=d[138088+g>>0]|0;g=n>>>0<68|g>>>0<68;if(ma){if(g)break;g=b[da>>1]|0;if(g<<16>>16>3)qd[c[e+60>>2]&255](j,l,f,h);else{a[ra>>0]=a[(g<<16>>16)+(138400+(n<<2))>>0]|0;a[ra+1>>0]=a[(b[na+34>>1]|0)+(138400+(n<<2))>>0]|0;a[ra+2>>0]=a[(b[na+36>>1]|0)+(138400+(n<<2))>>0]|0;a[ra+3>>0]=a[(b[na+38>>1]|0)+(138400+(n<<2))>>0]|0;rd[c[e+48>>2]&127](j,l,f,h,ra)}g=b[da>>1]|0;if(g<<16>>16>3){qd[c[e+60>>2]&255](k,l,f,h);break}else{a[ra>>0]=a[(g<<16>>16)+(138400+(n<<2))>>0]|0;a[ra+1>>0]=a[(b[na+34>>1]|0)+(138400+(n<<2))>>0]|0;a[ra+2>>0]=a[(b[na+36>>1]|0)+(138400+(n<<2))>>0]|0;a[ra+3>>0]=a[(b[na+38>>1]|0)+(138400+(n<<2))>>0]|0;rd[c[e+48>>2]&127](k,l,f,h,ra);break}}else{if(g)break;g=b[da>>1]|0;if(g<<16>>16>3)qd[c[e+84>>2]&255](j,m,f,h);else{a[ra>>0]=(d[(g<<16>>16)+(138400+(n<<2))>>0]|0)+1;a[ra+1>>0]=(d[(b[na+34>>1]|0)+(138400+(n<<2))>>0]|0)+1;a[ra+2>>0]=(d[(b[na+36>>1]|0)+(138400+(n<<2))>>0]|0)+1;a[ra+3>>0]=(d[(b[na+38>>1]|0)+(138400+(n<<2))>>0]|0)+1;rd[c[e+72>>2]&127](j,m,f,h,ra)}g=b[da>>1]|0;if(g<<16>>16>3){qd[c[e+84>>2]&255](k,m,f,h);break}else{a[ra>>0]=(d[(g<<16>>16)+(138400+(n<<2))>>0]|0)+1;a[ra+1>>0]=(d[(b[na+34>>1]|0)+(138400+(n<<2))>>0]|0)+1;a[ra+2>>0]=(d[(b[na+36>>1]|0)+(138400+(n<<2))>>0]|0)+1;a[ra+3>>0]=(d[(b[na+38>>1]|0)+(138400+(n<<2))>>0]|0)+1;rd[c[e+72>>2]&127](k,m,f,h,ra);break}}}}while(0);g=na+40|0;ja=g;h=c[ja>>2]|0;if(!((h|0)==0&(c[ja+4>>2]|0)==0)){n=l<<2;f=pa+la|0;o=qa+la|0;if(!(f>>>0<68|o>>>0<68)){ja=d[138088+o>>0]|0;ia=d[138244+f>>0]|0;a[ra>>0]=a[(h<<16>>16)+(138400+(f<<2))>>0]|0;a[ra+1>>0]=a[(b[na+42>>1]|0)+(138400+(f<<2))>>0]|0;a[ra+2>>0]=a[(b[na+44>>1]|0)+(138400+(f<<2))>>0]|0;a[ra+3>>0]=a[(b[na+46>>1]|0)+(138400+(f<<2))>>0]|0;rd[c[e+48>>2]&127](i+n|0,l,ia,ja,ra)}if(ma?(fa=pa+oa|0,ga=qa+oa|0,!(fa>>>0<68|ga>>>0<68)):0){ja=d[138088+ga>>0]|0;ia=d[138244+fa>>0]|0;a[ra>>0]=a[(b[g>>1]|0)+(138400+(fa<<2))>>0]|0;aa=na+42|0;ba=ra+1|0;a[ba>>0]=a[(b[aa>>1]|0)+(138400+(fa<<2))>>0]|0;ca=na+44|0;da=ra+2|0;a[da>>0]=a[(b[ca>>1]|0)+(138400+(fa<<2))>>0]|0;ea=na+46|0;ga=ra+3|0;a[ga>>0]=a[(b[ea>>1]|0)+(138400+(fa<<2))>>0]|0;ha=e+48|0;rd[c[ha>>2]&127](j+n|0,l,ia,ja,ra);a[ra>>0]=a[(b[g>>1]|0)+(138400+(fa<<2))>>0]|0;a[ba>>0]=a[(b[aa>>1]|0)+(138400+(fa<<2))>>0]|0;a[da>>0]=a[(b[ca>>1]|0)+(138400+(fa<<2))>>0]|0;a[ga>>0]=a[(b[ea>>1]|0)+(138400+(fa<<2))>>0]|0;rd[c[ha>>2]&127](k+n|0,l,ia,ja,ra)}}o=na+48|0;ja=o;g=c[ja>>2]|0;do if(!((g|0)==0&(c[ja+4>>2]|0)==0)){f=l<<3;h=pa+la|0;n=qa+la|0;if(!(h>>>0<68|n>>>0<68)){ja=d[138088+n>>0]|0;ia=d[138244+h>>0]|0;a[ra>>0]=a[(g<<16>>16)+(138400+(h<<2))>>0]|0;a[ra+1>>0]=a[(b[na+50>>1]|0)+(138400+(h<<2))>>0]|0;a[ra+2>>0]=a[(b[na+52>>1]|0)+(138400+(h<<2))>>0]|0;a[ra+3>>0]=a[(b[na+54>>1]|0)+(138400+(h<<2))>>0]|0;rd[c[e+48>>2]&127](i+f|0,l,ia,ja,ra)}if(ka)if(ma){g=pa+oa|0;h=qa+oa|0;if(g>>>0<68|h>>>0<68)break;m=d[138088+h>>0]|0;ka=d[138244+g>>0]|0;a[ra>>0]=a[(b[o>>1]|0)+(138400+(g<<2))>>0]|0;da=na+50|0;ea=ra+1|0;a[ea>>0]=a[(b[da>>1]|0)+(138400+(g<<2))>>0]|0;fa=na+52|0;ga=ra+2|0;a[ga>>0]=a[(b[fa>>1]|0)+(138400+(g<<2))>>0]|0;ha=na+54|0;ia=ra+3|0;a[ia>>0]=a[(b[ha>>1]|0)+(138400+(g<<2))>>0]|0;ja=e+48|0;rd[c[ja>>2]&127](j+f|0,l,ka,m,ra);a[ra>>0]=a[(b[o>>1]|0)+(138400+(g<<2))>>0]|0;a[ea>>0]=a[(b[da>>1]|0)+(138400+(g<<2))>>0]|0;a[ga>>0]=a[(b[fa>>1]|0)+(138400+(g<<2))>>0]|0;a[ia>>0]=a[(b[ha>>1]|0)+(138400+(g<<2))>>0]|0;rd[c[ja>>2]&127](k+f|0,l,ka,m,ra);break}else{g=m<<2;h=pa+oa|0;n=qa+oa|0;if(h>>>0<68|n>>>0<68)break;ka=d[138088+n>>0]|0;ja=d[138244+h>>0]|0;a[ra>>0]=(d[(b[o>>1]|0)+(138400+(h<<2))>>0]|0)+1;ca=na+50|0;da=ra+1|0;a[da>>0]=(d[(b[ca>>1]|0)+(138400+(h<<2))>>0]|0)+1;ea=na+52|0;fa=ra+2|0;a[fa>>0]=(d[(b[ea>>1]|0)+(138400+(h<<2))>>0]|0)+1;ga=na+54|0;ha=ra+3|0;a[ha>>0]=(d[(b[ga>>1]|0)+(138400+(h<<2))>>0]|0)+1;ia=e+72|0;rd[c[ia>>2]&127](j+g|0,m,ja,ka,ra);a[ra>>0]=(d[(b[o>>1]|0)+(138400+(h<<2))>>0]|0)+1;a[da>>0]=(d[(b[ca>>1]|0)+(138400+(h<<2))>>0]|0)+1;a[fa>>0]=(d[(b[ea>>1]|0)+(138400+(h<<2))>>0]|0)+1;a[ha>>0]=(d[(b[ga>>1]|0)+(138400+(h<<2))>>0]|0)+1;rd[c[ia>>2]&127](k+g|0,m,ja,ka,ra);break}}while(0);f=na+56|0;m=f;h=c[m>>2]|0;if(!((h|0)==0&(c[m+4>>2]|0)==0)){o=l*12|0;n=pa+la|0;g=qa+la|0;if(!(n>>>0<68|g>>>0<68)){m=d[138088+g>>0]|0;la=d[138244+n>>0]|0;a[ra>>0]=a[(h<<16>>16)+(138400+(n<<2))>>0]|0;a[ra+1>>0]=a[(b[na+58>>1]|0)+(138400+(n<<2))>>0]|0;a[ra+2>>0]=a[(b[na+60>>1]|0)+(138400+(n<<2))>>0]|0;a[ra+3>>0]=a[(b[na+62>>1]|0)+(138400+(n<<2))>>0]|0;rd[c[e+48>>2]&127](i+o|0,l,la,m,ra)}if(ma){h=pa+oa|0;g=qa+oa|0;if(h>>>0<68|g>>>0<68)break;qa=d[138088+g>>0]|0;pa=d[138244+h>>0]|0;a[ra>>0]=a[(b[f>>1]|0)+(138400+(h<<2))>>0]|0;ka=na+58|0;la=ra+1|0;a[la>>0]=a[(b[ka>>1]|0)+(138400+(h<<2))>>0]|0;i=na+60|0;ma=ra+2|0;a[ma>>0]=a[(b[i>>1]|0)+(138400+(h<<2))>>0]|0;oa=na+62|0;m=ra+3|0;a[m>>0]=a[(b[oa>>1]|0)+(138400+(h<<2))>>0]|0;e=e+48|0;rd[c[e>>2]&127](j+o|0,l,pa,qa,ra);a[ra>>0]=a[(b[f>>1]|0)+(138400+(h<<2))>>0]|0;a[la>>0]=a[(b[ka>>1]|0)+(138400+(h<<2))>>0]|0;a[ma>>0]=a[(b[i>>1]|0)+(138400+(h<<2))>>0]|0;a[m>>0]=a[(b[oa>>1]|0)+(138400+(h<<2))>>0]|0;rd[c[e>>2]&127](k+o|0,l,pa,qa,ra)}}}while(0)}else sa=3;while(0);if((sa|0)==3)Aj(e,f,g,h,i,j,k,l,m);$c=ta;return}function Cj(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;j=a[d+28272+e>>0]|0;k=a[d+28272+f>>0]|0;h=j<<24>>24!=k<<24>>24;if(!(j<<24>>24==-1|h)){h=(b[d+27952+(e<<2)+2>>1]|0)-(b[d+27952+(f<<2)+2>>1]|0)|0;h=(((h|0)>-1?h:0-h|0)|0)>=(g|0)?1:((b[d+27952+(e<<2)>>1]|0)+3-(b[d+27952+(f<<2)>>1]|0)|0)>>>0>6}do if((c[d+23412>>2]|0)==2){if(!h){i=a[d+28312+e>>0]|0;h=a[d+28312+f>>0]|0;l=(b[d+28112+(e<<2)+2>>1]|0)-(b[d+28112+(f<<2)+2>>1]|0)|0;if(!((i<<24>>24!=h<<24>>24?1:((b[d+28112+(e<<2)>>1]|0)+3-(b[d+28112+(f<<2)>>1]|0)|0)>>>0>6)|(((l|0)>-1?l:0-l|0)|0)>=(g|0))){h=0;break}}else{h=a[d+28312+f>>0]|0;i=a[d+28312+e>>0]|0}if(j<<24>>24!=h<<24>>24?1:i<<24>>24!=k<<24>>24)h=1;else{l=(b[d+27952+(e<<2)+2>>1]|0)-(b[d+28112+(f<<2)+2>>1]|0)|0;h=(b[d+28112+(e<<2)+2>>1]|0)-(b[d+27952+(f<<2)+2>>1]|0)|0;h=((((l|0)>-1?l:0-l|0)|0)>=(g|0)?1:((b[d+27952+(e<<2)>>1]|0)+3-(b[d+28112+(f<<2)>>1]|0)|0)>>>0>6)|((b[d+28112+(e<<2)>>1]|0)+3-(b[d+27952+(f<<2)>>1]|0)|0)>>>0>6|(((h|0)>-1?h:0-h|0)|0)>=(g|0)}}while(0);return h&1|0}function Dj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=c[a>>2]|0;d=((b|0)>-1?b:0-b|0)+63&-32;f=a+27788|0;g=a+27804|0;fl(f,g,d*96|0);b=a+27792|0;fl(b,a+27808|0,d*42|0);d=a+27796|0;h=h+27012|0;gl(d,a+27812|0,(c[h>>2]|0)*96|0);e=a+27800|0;gl(e,a+27816|0,(c[h>>2]|0)*96|0);if((((c[f>>2]|0)!=0?(c[b>>2]|0)!=0:0)?(c[d>>2]|0)!=0:0)?(c[e>>2]|0)!=0:0)b=0;else{gf(f);gf(b);gf(d);gf(e);c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;b=-12}return b|0}function Ej(a){a=a|0;var b=0;b=0-(Fj(a)|0)&7;if(b|0)el(a,b);return}function Fj(a){a=a|0;return c[a+8>>2]|0}function Gj(a){a=a|0;var b=0;b=c[a+12>>2]|0;return b-(Fj(a)|0)|0}function Hj(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0;g=a+16|0;c[a+12>>2]=b;c[a+20>>2]=b+e;h=b+1|0;c[g>>2]=h;f=(d[b>>0]|0)<<18;c[a>>2]=f;e=b+2|0;c[g>>2]=e;f=(d[h>>0]|0)<<10|f;c[a>>2]=f;if(!(e&1))e=512;else{c[g>>2]=b+3;e=(d[e>>0]|0)<<2|2}h=f+e|0;c[a>>2]=h;c[a+4>>2]=510;return ((h|0)>66846720?-1094995529:0)|0}function Ij(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;b=(c[d+848>>2]|0)+48+(H(c[(c[b+28216>>2]|0)+1184>>2]|0,-6)|0)|0;b=(b|0)>0?((b|0)<51?b:51):0;if((c[d+840>>2]|0)==1)f=146732;else f=140588+(c[d+33928>>2]<<11)|0;e=0;while(1){if((e|0)==1024)break;g=(H(b,a[f+(e<<1)>>0]|0)|0)>>4;g=(g+(a[f+(e<<1)+1>>0]|0)<<1)+-127|0;g=g>>31^g;a[d+32904+e>>0]=(g|0)>124?g&1|124:g;e=e+1|0}return}function Jj(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a=c[a>>2]|0;if(c[a+29672>>2]|0)dl((c[a+25628>>2]|0)+24|0,b,d,e,f,g);return} -function Kj(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;oa=$c;$c=$c+80|0;if(($c|0)>=(ad|0))N(80);ga=oa+40|0;ba=oa+32|0;q=oa+24|0;r=oa+16|0;n=oa+8|0;s=oa;ja=oa+72|0;_=oa+56|0;$=oa+52|0;V=oa+48|0;ia=f+28216|0;da=c[ia>>2]|0;ka=f+28212|0;m=c[(c[ka>>2]|0)+64>>2]|0;k=da+12|0;ca=((c[k>>2]|0)+-1|0)>>>0<2;la=c[f+25664>>2]|0;ea=g+21788|0;h=c[ea>>2]|0;fa=g+21792|0;i=c[fa>>2]|0;Y=f+27016|0;na=(H(c[Y>>2]|0,i)|0)+h|0;ma=g+21796|0;c[ma>>2]=na;aa=g+840|0;X=f+26376|0;if((c[aa>>2]|0)!=1){if(!((c[X>>2]|0)==0|(i&1|0)==0)?(c[g+21648>>2]|0)!=0:0)h=c[g+21652>>2]|0;else h=Gk(f,g,h,i)|0;if(h){if((c[X>>2]|0?(c[fa>>2]&1|0)==0:0)?(c[(c[f+24364>>2]|0)+(na<<2)>>2]=2048,ma=Gk(f,g,c[ea>>2]|0,(c[fa>>2]|0)+1|0)|0,c[g+21652>>2]=ma,(ma|0)==0):0){ma=Hk(f,g)|0;c[g+21828>>2]=ma;c[g+21832>>2]=ma}Ik(f,g);b[(c[f+26392>>2]|0)+(na<<1)>>1]=0;a[(c[f+26396>>2]|0)+na>>0]=0;c[g+864>>2]=0;h=0}else ha=12}else ha=12;a:do if((ha|0)==12){if(c[X>>2]|0?(c[fa>>2]&1|0)==0:0){Z=Hk(f,g)|0;c[g+21828>>2]=Z;c[g+21832>>2]=Z}c[g+21648>>2]=0;W=g+21828|0;Jk(f,g,0-(c[W>>2]|0)|0);b:do switch(c[aa>>2]|0){case 3:{j=g+32856|0;c:do if(!(Kk(j,28-(((c[g+21740>>2]|0)+511|0)>>>8&1)+(((c[g+21732>>2]|0)+511|0)>>>8&1^1)+(g+32904)|0)|0)){c[ja>>2]=0;h=0}else{if(!(Kk(j,g+32934|0)|0)){h=(Kk(j,g+32936|0)|0)+1|0;c[ja>>2]=h;break}i=(Kk(j,g+32935|0)|0)<<3;h=g+32936|0;i=((Kk(j,h)|0)<<2)+i|0;i=i+((Kk(j,h)|0)<<1)|0;i=i+(Kk(j,h)|0)|0;if((i|0)<8){h=i+3|0;c[ja>>2]=h;break}switch(i|0){case 13:{h=Lk(g,32,0)|0;c[ja>>2]=h;ha=36;break b}case 14:{c[ja>>2]=11;h=11;break c}case 15:{c[ja>>2]=22;h=22;break c}default:{h=(i<<1)+-4+(Kk(j,h)|0)|0;c[ja>>2]=h;break c}}}while(0);i=a[114424+(h<<2)+2>>0]|0;h=e[114424+(h<<2)>>1]|0;c[ja>>2]=h;Z=0;break}case 2:{h=g+32856|0;if(Kk(h,g+32918|0)|0){h=Lk(g,17,0)|0;c[ja>>2]=h;ha=36;break b}if(!(Kk(h,g+32919|0)|0))h=(Kk(h,g+32920|0)|0)*3|0;else h=2-(Kk(h,g+32921|0)|0)|0;i=a[114388+(h<<2)+2>>0]|0;h=e[114388+(h<<2)>>1]|0;c[ja>>2]=h;Z=0;break}default:{h=Lk(g,3,1)|0;c[ja>>2]=h;if(h|0?(c[g+836>>2]|0)==5:0){h=h+-1|0;c[ja>>2]=h;ha=36}else ha=36}}while(0);if((ha|0)==36){Z=d[114284+(h<<2)+3>>0]|0;c[g+21660>>2]=d[114284+(h<<2)+2>>0];h=e[114284+(h<<2)>>1]|0;c[ja>>2]=h;i=0}if(c[W>>2]|0){h=h|128;c[ja>>2]=h}b[(c[f+26372>>2]|0)+(na<<1)>>1]=c[g+832>>2];if(h&4|0){i=(H(c[da+1184>>2]|0,e[114568+(c[k>>2]<<1)>>1]|0)|0)>>3;j=g+32856|0;h=c[g+32872>>2]|0;k=c[j>>2]|0;h=(k&1|0)==0?h:h+-1|0;h=(k&511|0)==0?h:h+-1|0;k=c[g+32876>>2]|0;if((k-h|0)<(i|0)){h=-1;break}c[g+27780>>2]=h;h=h+i|0;h=Hj(j,h,k-h|0)|0;if((h|0)<0)break;b[(c[f+26392>>2]|0)+(na<<1)>>1]=-2065;a[(c[f+26396>>2]|0)+na>>0]=0;a[(c[f+24340>>2]|0)+na>>0]=0;j=(c[f+25972>>2]|0)+(na*48|0)|0;k=j+48|0;do{a[j>>0]=16;j=j+1|0}while((j|0)<(k|0));c[(c[f+24364>>2]|0)+(na<<2)>>2]=c[ja>>2];c[g+864>>2]=0;h=0;break}Mk(f,g,h);d:do if(!(h&7)){if(i<<24>>24==4){e:do if((c[aa>>2]|0)==3){h=0;while(1){if((h|0)==4)break;U=Pk(g)|0;c[_+(h<<2)>>2]=d[114516+((U&65535)<<2)+2>>0];b[g+28552+(h<<1)>>1]=b[114516+((U&65535)<<2)>>1]|0;h=h+1|0}if((b[g+28554>>1]|b[g+28552>>1]|b[g+28556>>1]|b[g+28558>>1])&256){bk(f,g,ja);a[g+28342>>0]=-2;a[g+28302>>0]=-2;a[g+28326>>0]=-2;a[g+28286>>0]=-2;h=0;while(1){if((h|0)==4)break e;U=(d[150833+(h<<2)>>0]|0)+(g+28512)|0;T=((e[g+28552+(h<<1)>>1]|0)>>>1&255)*257&65535;b[U>>1]=T;b[U+8>>1]=T;h=h+1|0}}}else{h=0;while(1){if((h|0)==4)break e;U=Qk(g)|0;c[_+(h<<2)>>2]=d[114408+((U&65535)<<2)+2>>0];b[g+28552+(h<<1)>>1]=b[114408+((U&65535)<<2)>>1]|0;h=h+1|0}}while(0);U=g+23412|0;p=g+21832|0;o=0;f:while(1){h=c[U>>2]|0;if(o>>>0>=h>>>0){ha=80;break}l=4096<<(o<<1);n=g+23404+(o<<2)|0;k=0;while(1){if((k|0)>=4)break;h=e[g+28552+(k<<1)>>1]|0;if(!(h&256)){if(l&h){i=c[n>>2]<>2];if(i>>>0>1){j=k<<2;h=Rk(g,o,j)|0;if(h>>>0>=i>>>0){ha=75;break f}}else{h=0;ha=76}}else{h=-1;ha=76}if((ha|0)==76){ha=0;j=k<<2}S=h&255;T=d[150833+j>>0]|0;a[T+9+(g+28272+(o*40|0))>>0]=S;a[T+8+(g+28272+(o*40|0))>>0]=S;a[T+1+(g+28272+(o*40|0))>>0]=S}k=k+1|0}o=o+1|0}do if((ha|0)==75){g=c[f+4>>2]|0;c[s>>2]=h;c[s+4>>2]=i;lf(g,16,140136,s);h=-1}else if((ha|0)==80){if(!m)m=0;else{T=(c[(c[ia>>2]|0)+72>>2]|0)==0;m=g+28552|0;m=(((T?24117616:7340144)&c[m>>2]|0)==0?((T?24117616:7340144)&c[m+4>>2]|0)==0:0)&1}P=f+24312|0;Q=g+21740|0;R=g+21720|0;S=f+26360|0;T=f+26368|0;O=0;g:while(1){if(O>>>0>=h>>>0){ha=129;break}K=O<<1;G=4096<=4)break;M=F<<2;h=d[150833+M>>0]|0;a[g+28272+(O*40|0)+h>>0]=a[h+1+(g+28272+(O*40|0))>>0]|0;i=e[g+28552+(F<<1)>>1]|0;h:do if(!(i&256)){if(!(G&i)){c[g+27952+(O*160|0)+(h<<2)>>2]=0;c[g+27952+(O*160|0)+(h<<2)+4>>2]=0;c[g+27952+(O*160|0)+(h<<2)+32>>2]=0;c[g+27952+(O*160|0)+(h<<2)+36>>2]=0;ha=125;break}B=i&24|0?2:1;C=c[_+(F<<2)>>2]|0;D=(i&8|0)==0;E=(i&16|0)==0;x=(i&32|0)==0;w=0;while(1){if((w|0)>=(C|0))break h;h=a[150833+((H(w,B)|0)+M)>>0]|0;y=h&255;z=g+27952+(O*160|0)+(y<<2)|0;A=g+28352+(O*80|0)+(y<<1)|0;o=a[g+28272+(O*40|0)+y>>0]|0;p=o<<24>>24;u=y+-8|0;r=a[g+28272+(O*40|0)+u>>0]|0;v=y+-1|0;s=a[g+28272+(O*40|0)+v>>0]|0;q=g+27952+(O*160|0)+(v<<2)|0;t=g+27952+(O*160|0)+(u<<2)|0;i=u+B|0;j=a[g+28272+(O*40|0)+i>>0]|0;k=j<<24>>24;j=j<<24>>24==-2;do if((y&7|0)==4&((h&255)>19&(j&(c[X>>2]|0)!=0))){if((a[I>>0]|0)==-2){ha=99;break}n=c[(c[P>>2]|0)+48>>2]|0;c[J>>2]=0;l=(c[Q>>2]&128|0)==0;if(!(c[W>>2]|0)){if(l){ha=99;break}l=c[Y>>2]|0;h=l+(c[R>>2]|0)|0;i=(c[fa>>2]<<1&2)+(y>>>5)|0;if(!(c[n+((H(i>>>2,l)|0)+h<<2)>>2]&K)){l=J;k=-1;break}k=c[P>>2]|0;n=c[k+36+(O<<2)>>2]|0;l=(c[(c[S>>2]|0)+(h<<2)>>2]|0)+3+(H(c[T>>2]|0,i)|0)|0;b[J>>1]=b[n+(l<<2)>>1]|0;b[L>>1]=b[n+(l<<2)+2>>1]<<1;l=J;k=a[(c[k+68+(O<<2)>>2]|0)+((i&14)+(h<<2|1))>>0]>>1;break}else{if(!l){ha=99;break}h=c[g+21720+(((h&255)>35&1)<<2)>>2]|0;i=y>>>2;if(!(c[n+(h<<2)>>2]&K)){l=J;k=-1;break}k=c[P>>2]|0;n=c[k+36+(O<<2)>>2]|0;l=(c[(c[S>>2]|0)+(h<<2)>>2]|0)+3+(H(c[T>>2]|0,i&3)|0)|0;b[J>>1]=b[n+(l<<2)>>1]|0;b[L>>1]=(b[n+(l<<2)+2>>1]|0)/2|0;l=J;k=a[(c[k+68+(O<<2)>>2]|0)+(i&2|h<<2|1)>>0]<<1;break}}else ha=99;while(0);do if((ha|0)==99){ha=0;if(j){k=y+-9|0;l=g+27952+(O*160|0)+(k<<2)|0;k=a[g+28272+(O*40|0)+k>>0]|0;break}else{l=g+27952+(O*160|0)+(i<<2)|0;break}}while(0);j=r<<24>>24==o<<24>>24;i=s<<24>>24==o<<24>>24;h=(i&1)+(j&1)+((k|0)==(p|0)&1)|0;do if(h>>>0<=1){if((h|0)!=1){h=b[q>>1]|0;if(s<<24>>24!=-2&(r<<24>>24==-2&(k|0)==-2)){i=b[g+27952+(O*160|0)+(v<<2)+2>>1]|0;break}else{h=Sk(h,b[t>>1]|0,b[l>>1]|0)|0;i=Sk(b[g+27952+(O*160|0)+(v<<2)+2>>1]|0,b[g+27952+(O*160|0)+(u<<2)+2>>1]|0,b[l+2>>1]|0)|0;break}}if(i){h=b[q>>1]|0;i=b[g+27952+(O*160|0)+(v<<2)+2>>1]|0;break}if(j){h=b[t>>1]|0;i=b[g+27952+(O*160|0)+(u<<2)+2>>1]|0;break}else{h=b[l>>1]|0;i=b[l+2>>1]|0;break}}else{h=Sk(b[q>>1]|0,b[t>>1]|0,b[l>>1]|0)|0;i=Sk(b[g+27952+(O*160|0)+(v<<2)+2>>1]|0,b[g+27952+(O*160|0)+(u<<2)+2>>1]|0,b[l+2>>1]|0)|0}while(0);n=(d[g+28352+(O*80|0)+(u<<1)+1>>0]|0)+(d[g+28352+(O*80|0)+(v<<1)+1>>0]|0)|0;u=Tk(g,40,(d[g+28352+(O*80|0)+(u<<1)>>0]|0)+(d[g+28352+(O*80|0)+(v<<1)>>0]|0)|0,$)|0;v=Tk(g,47,n,V)|0;n=u+h|0;l=v+i|0;if((u|0)==-2147483648|(v|0)==-2147483648){ha=123;break g}do if(D){if(!E){b[z+4>>1]=n;b[z+6>>1]=l;i=c[$>>2]|0;a[A+2>>0]=i;h=c[V>>2]|0;j=h&255;k=1;ha=121;break}if(x){i=c[$>>2]|0;h=c[V>>2]|0;break}else{b[z+32>>1]=n;b[z+34>>1]=l;i=c[$>>2]|0;a[A+16>>0]=i;h=c[V>>2]|0;j=h&255;k=8;ha=121;break}}else{i=n&65535;b[z+36>>1]=i;b[z+32>>1]=i;b[z+4>>1]=i;i=l&65535;b[z+38>>1]=i;b[z+34>>1]=i;b[z+6>>1]=i;i=c[$>>2]|0;h=i&255;a[A+18>>0]=h;a[A+16>>0]=h;a[A+2>>0]=h;h=c[V>>2]|0;j=h&255;a[A+19>>0]=j;a[A+17>>0]=j;k=1;ha=121}while(0);if((ha|0)==121){ha=0;a[A+(k<<1)+1>>0]=j}b[z>>1]=n;b[g+27952+(O*160|0)+(y<<2)+2>>1]=l;a[A>>0]=i;a[g+28352+(O*80|0)+(y<<1)+1>>0]=h;w=w+1|0}}else ha=125;while(0);if((ha|0)==125){ha=0;c[g+28352+(O*80|0)+(h<<1)>>2]=0;c[g+28352+(O*80|0)+(h<<1)+16>>2]=0}F=F+1|0}O=O+1|0;h=c[U>>2]|0}if((ha|0)==123){h=-1094995529;break}else if((ha|0)==129)break d}while(0);break a}if(h&256|0){bk(f,g,ja);c[g+28376>>2]=0;c[g+28380>>2]=0;c[g+28392>>2]=0;c[g+28396>>2]=0;c[g+28408>>2]=0;c[g+28412>>2]=0;c[g+28424>>2]=0;c[g+28428>>2]=0;c[g+28456>>2]=0;c[g+28460>>2]=0;c[g+28472>>2]=0;c[g+28476>>2]=0;c[g+28488>>2]=0;c[g+28492>>2]=0;c[g+28504>>2]=0;c[g+28508>>2]=0;m=c[da+72>>2]&m;break}if(h&8|0){t=g+23412|0;k=c[ja>>2]|0;l=g+21832|0;j=0;while(1){h=c[t>>2]|0;if(j>>>0>=h>>>0)break;if(k&4096<<(j<<1)|0){i=c[g+23404+(j<<2)>>2]<>2];if(i>>>0>1){h=Rk(g,j,0)|0;if(h>>>0>=i>>>0){ha=140;break}}else h=0;Y=H(h,16843009)|0;c[g+28272+(j*40|0)+12>>2]=Y;c[g+28272+(j*40|0)+20>>2]=Y;c[g+28272+(j*40|0)+28>>2]=Y;c[g+28272+(j*40|0)+36>>2]=Y}j=j+1|0}if((ha|0)==140){g=c[f+4>>2]|0;c[n>>2]=h;c[n+4>>2]=i;lf(g,16,140136,n);h=-1;break a}s=0;while(1){if(s>>>0>=h>>>0)break d;if(c[ja>>2]&4096<<(s<<1)){i=a[g+28272+(s*40|0)+12>>0]|0;o=a[g+28272+(s*40|0)+4>>0]|0;p=a[g+28272+(s*40|0)+11>>0]|0;n=g+27952+(s*160|0)+44|0;q=g+27952+(s*160|0)+16|0;h=a[g+28272+(s*40|0)+8>>0]|0;if(h<<24>>24==-2){r=g+27952+(s*160|0)+12|0;l=a[g+28272+(s*40|0)+3>>0]|0}else{r=g+27952+(s*160|0)+32|0;l=h<<24>>24}j=o<<24>>24==i<<24>>24;k=p<<24>>24==i<<24>>24;h=(k&1)+(j&1)+((l|0)==(i<<24>>24|0)&1)|0;do if(h>>>0<=1){if((h|0)!=1){k=b[n>>1]|0;if(p<<24>>24!=-2&(o<<24>>24==-2&(l|0)==-2)){h=b[g+27952+(s*160|0)+46>>1]|0;break}else{k=Sk(k,b[q>>1]|0,b[r>>1]|0)|0;h=Sk(b[g+27952+(s*160|0)+46>>1]|0,b[g+27952+(s*160|0)+18>>1]|0,b[r+2>>1]|0)|0;break}}if(k){k=b[n>>1]|0;h=b[g+27952+(s*160|0)+46>>1]|0;break}if(j){k=b[q>>1]|0;h=b[g+27952+(s*160|0)+18>>1]|0;break}else{k=b[r>>1]|0;h=b[r+2>>1]|0;break}}else{k=Sk(b[n>>1]|0,b[q>>1]|0,b[r>>1]|0)|0;h=Sk(b[g+27952+(s*160|0)+46>>1]|0,b[g+27952+(s*160|0)+18>>1]|0,b[r+2>>1]|0)|0}while(0);j=(d[g+28352+(s*80|0)+9>>0]|0)+(d[g+28352+(s*80|0)+23>>0]|0)|0;i=Tk(g,40,(d[g+28352+(s*80|0)+8>>0]|0)+(d[g+28352+(s*80|0)+22>>0]|0)|0,_)|0;j=Tk(g,47,j,$)|0;if((i|0)==-2147483648|(j|0)==-2147483648)break;Y=(c[$>>2]<<8&65280|c[_>>2]&255)*65537|0;c[g+28352+(s*80|0)+24>>2]=Y;c[g+28352+(s*80|0)+28>>2]=Y;c[g+28352+(s*80|0)+40>>2]=Y;c[g+28352+(s*80|0)+44>>2]=Y;c[g+28352+(s*80|0)+56>>2]=Y;c[g+28352+(s*80|0)+60>>2]=Y;c[g+28352+(s*80|0)+72>>2]=Y;c[g+28352+(s*80|0)+76>>2]=Y;h=j+h<<16|i+k&65535;c[g+27952+(s*160|0)+48>>2]=h;c[g+27952+(s*160|0)+52>>2]=h;c[g+27952+(s*160|0)+56>>2]=h;c[g+27952+(s*160|0)+60>>2]=h;c[g+27952+(s*160|0)+80>>2]=h;c[g+27952+(s*160|0)+84>>2]=h;c[g+27952+(s*160|0)+88>>2]=h;c[g+27952+(s*160|0)+92>>2]=h;c[g+27952+(s*160|0)+112>>2]=h;c[g+27952+(s*160|0)+116>>2]=h;c[g+27952+(s*160|0)+120>>2]=h;c[g+27952+(s*160|0)+124>>2]=h;c[g+27952+(s*160|0)+144>>2]=h;c[g+27952+(s*160|0)+148>>2]=h;c[g+27952+(s*160|0)+152>>2]=h;c[g+27952+(s*160|0)+156>>2]=h;h=c[t>>2]|0}s=s+1|0}h=-1094995529;break a}T=g+23412|0;o=c[ja>>2]|0;p=g+21832|0;if(!(h&16))n=0;else{n=0;i:while(1){h=c[T>>2]|0;if(n>>>0>=h>>>0)break;k=n<<1;l=g+23404+(n<<2)|0;j=0;while(1){if((j|0)>=2)break;if(!(o&4096<>2]<>2];if(i>>>0>1){h=Rk(g,n,j<<3)|0;if(h>>>0>=i>>>0){ha=171;break i}}else h=0;h=H(h,16843009)|0}V=(j<<4|12)+(g+28272+(n*40|0))|0;c[V>>2]=h;c[V+8>>2]=h;j=j+1|0}n=n+1|0}if((ha|0)==171){g=c[f+4>>2]|0;c[r>>2]=h;c[r+4>>2]=i;lf(g,16,140136,r);h=-1;break a}O=f+24312|0;P=g+21740|0;Q=g+21720|0;R=f+26360|0;S=f+26368|0;M=0;j:while(1){if(M>>>0>=h>>>0)break d;z=M<<1;A=g+28272+(M*40|0)+4|0;B=g+27952+(M*160|0)+16|0;C=g+27952+(M*160|0)+18|0;D=g+28272+(M*40|0)+11|0;E=g+27952+(M*160|0)+40|0;F=12288<=2)break;if(!(c[ja>>2]&4096<>2]=0;c[g+28352+(M*80|0)+(V<<1)+4>>2]=0;c[g+28352+(M*80|0)+(V<<1)+16>>2]=0;c[g+28352+(M*80|0)+(V<<1)+20>>2]=0;U=g+27952+(M*160|0)+(V<<2)|0;V=g+27952+(M*160|0)+(V<<2)+32|0;c[U>>2]=0;c[U+4>>2]=0;c[U+8>>2]=0;c[U+12>>2]=0;c[V>>2]=0;c[V+4>>2]=0;c[V+8>>2]=0;c[V+12>>2]=0}else{x=y<<3;L=y<<4|12;p=a[g+28272+(M*40|0)+L>>0]|0;q=p<<24>>24;do if(!y){if((a[A>>0]|0)!=p<<24>>24){ha=183;break}k=b[B>>1]|0;j=b[C>>1]|0}else{if((a[I>>0]|0)!=p<<24>>24){ha=183;break}k=b[J>>1]|0;j=b[K>>1]|0}while(0);do if((ha|0)==183){ha=0;k=a[150833+x>>0]|0;n=k&255;w=n+-8|0;u=a[g+28272+(M*40|0)+w>>0]|0;v=n+-1|0;s=a[g+28272+(M*40|0)+v>>0]|0;r=g+27952+(M*160|0)+(v<<2)|0;t=g+27952+(M*160|0)+(w<<2)|0;h=n+-4|0;i=a[g+28272+(M*40|0)+h>>0]|0;l=i<<24>>24;i=i<<24>>24==-2;do if((n&7|0)==4&((k&255)>19&(i&(c[X>>2]|0)!=0))){if((a[D>>0]|0)==-2){ha=192;break}o=c[(c[O>>2]|0)+48>>2]|0;c[E>>2]=0;j=(c[P>>2]&128|0)==0;if(!(c[W>>2]|0)){if(j){ha=192;break}V=c[Y>>2]|0;i=V+(c[Q>>2]|0)|0;h=(c[fa>>2]<<1&2)+(n>>>5)|0;if(!(c[o+((H(h>>>2,V)|0)+i<<2)>>2]&F)){n=E;l=-1;break}l=c[O>>2]|0;V=c[l+36+(M<<2)>>2]|0;n=(c[(c[R>>2]|0)+(i<<2)>>2]|0)+3+(H(c[S>>2]|0,h)|0)|0;b[E>>1]=b[V+(n<<2)>>1]|0;b[G>>1]=b[V+(n<<2)+2>>1]<<1;n=E;l=a[(c[l+68+(M<<2)>>2]|0)+((h&14)+(i<<2|1))>>0]>>1;break}else{if(!j){ha=192;break}i=c[g+21720+(((k&255)>35&1)<<2)>>2]|0;h=n>>>2;if(!(c[o+(i<<2)>>2]&F)){n=E;l=-1;break}l=c[O>>2]|0;V=c[l+36+(M<<2)>>2]|0;n=(c[(c[R>>2]|0)+(i<<2)>>2]|0)+3+(H(c[S>>2]|0,h&3)|0)|0;b[E>>1]=b[V+(n<<2)>>1]|0;b[G>>1]=(b[V+(n<<2)+2>>1]|0)/2|0;n=E;l=a[(c[l+68+(M<<2)>>2]|0)+(h&2|i<<2|1)>>0]<<1;break}}else ha=192;while(0);do if((ha|0)==192){ha=0;if(i){l=n+-9|0;n=g+27952+(M*160|0)+(l<<2)|0;l=a[g+28272+(M*40|0)+l>>0]|0;break}else{n=g+27952+(M*160|0)+(h<<2)|0;break}}while(0);j=u<<24>>24==p<<24>>24;i=s<<24>>24==p<<24>>24;h=(i&1)+(j&1)+((l|0)==(q|0)&1)|0;if(h>>>0>1){k=Sk(b[r>>1]|0,b[t>>1]|0,b[n>>1]|0)|0;j=Sk(b[g+27952+(M*160|0)+(v<<2)+2>>1]|0,b[g+27952+(M*160|0)+(w<<2)+2>>1]|0,b[n+2>>1]|0)|0;break}if((h|0)!=1){k=b[r>>1]|0;if(s<<24>>24!=-2&(u<<24>>24==-2&(l|0)==-2)){j=b[g+27952+(M*160|0)+(v<<2)+2>>1]|0;break}else{k=Sk(k,b[t>>1]|0,b[n>>1]|0)|0;j=Sk(b[g+27952+(M*160|0)+(v<<2)+2>>1]|0,b[g+27952+(M*160|0)+(w<<2)+2>>1]|0,b[n+2>>1]|0)|0;break}}if(i){k=b[r>>1]|0;j=b[g+27952+(M*160|0)+(v<<2)+2>>1]|0;break}if(j){k=b[t>>1]|0;j=b[g+27952+(M*160|0)+(w<<2)+2>>1]|0;break}else{k=b[n>>1]|0;j=b[n+2>>1]|0;break}}while(0);V=d[150833+x>>0]|0;h=V+-1|0;V=V+-8|0;i=(d[g+28352+(M*80|0)+(V<<1)+1>>0]|0)+(d[g+28352+(M*80|0)+(h<<1)+1>>0]|0)|0;h=Tk(g,40,(d[g+28352+(M*80|0)+(V<<1)>>0]|0)+(d[g+28352+(M*80|0)+(h<<1)>>0]|0)|0,_)|0;i=Tk(g,47,i,$)|0;if((h|0)==-2147483648|(i|0)==-2147483648)break j;V=(c[$>>2]<<8&65280|c[_>>2]&255)*65537|0;c[g+28352+(M*80|0)+(L<<1)>>2]=V;c[g+28352+(M*80|0)+(L<<1)+4>>2]=V;c[g+28352+(M*80|0)+(L<<1)+16>>2]=V;c[g+28352+(M*80|0)+(L<<1)+20>>2]=V;V=i+j<<16|h+k&65535;c[g+27952+(M*160|0)+(L<<2)>>2]=V;c[g+27952+(M*160|0)+(L<<2)+4>>2]=V;c[g+27952+(M*160|0)+(L<<2)+8>>2]=V;c[g+27952+(M*160|0)+(L<<2)+12>>2]=V;c[g+27952+(M*160|0)+(L<<2)+32>>2]=V;c[g+27952+(M*160|0)+(L<<2)+36>>2]=V;c[g+27952+(M*160|0)+(L<<2)+40>>2]=V;c[g+27952+(M*160|0)+(L<<2)+44>>2]=V}y=y+1|0}M=M+1|0;h=c[T>>2]|0}h=-1094995529;break a}k:while(1){h=c[T>>2]|0;if(n>>>0>=h>>>0)break;k=n<<1;l=g+23404+(n<<2)|0;j=0;while(1){if((j|0)>=2)break;if(!(o&4096<>2]<>2];if(i>>>0>1){h=Rk(g,n,j<<2)|0;if(h>>>0>=i>>>0){ha=220;break k}}else h=0;h=h*257&65535}V=(j<<1)+12+(g+28272+(n*40|0))|0;b[V>>1]=h;b[V+8>>1]=h;b[V+16>>1]=h;b[V+24>>1]=h;j=j+1|0}n=n+1|0}if((ha|0)==220){g=c[f+4>>2]|0;c[q>>2]=h;c[q+4>>2]=i;lf(g,16,140136,q);h=-1;break a}O=f+24312|0;P=g+21740|0;Q=g+21720|0;R=f+26360|0;S=f+26368|0;M=0;l:while(1){if(M>>>0>=h>>>0)break d;z=M<<1;A=g+28272+(M*40|0)+11|0;B=g+27952+(M*160|0)+44|0;C=g+27952+(M*160|0)+46|0;D=g+27952+(M*160|0)+40|0;E=12288<=2)break;if(!(c[ja>>2]&4096<>2]=0;c[g+28352+(M*80|0)+(V<<1)+16>>2]=0;c[g+28352+(M*80|0)+(V<<1)+32>>2]=0;c[g+28352+(M*80|0)+(V<<1)+48>>2]=0;c[g+27952+(M*160|0)+(V<<2)>>2]=0;c[g+27952+(M*160|0)+(V<<2)+4>>2]=0;c[g+27952+(M*160|0)+(V<<2)+32>>2]=0;c[g+27952+(M*160|0)+(V<<2)+36>>2]=0;c[g+27952+(M*160|0)+(V<<2)+64>>2]=0;c[g+27952+(M*160|0)+(V<<2)+68>>2]=0;c[g+27952+(M*160|0)+(V<<2)+96>>2]=0;c[g+27952+(M*160|0)+(V<<2)+100>>2]=0}else{x=y<<2;L=(y<<1)+12|0;q=a[g+28272+(M*40|0)+L>>0]|0;u=q<<24>>24;do if(!y)if((a[A>>0]|0)==q<<24>>24){k=b[B>>1]|0;j=b[C>>1]|0}else ha=234;else{h=a[G>>0]|0;if(h<<24>>24==-2){i=I;h=a[J>>0]|0}else i=K;if(h<<24>>24!=q<<24>>24){ha=234;break}k=b[i>>1]|0;j=b[i+2>>1]|0}while(0);do if((ha|0)==234){ha=0;h=a[150833+x>>0]|0;n=h&255;v=n+-8|0;r=a[g+28272+(M*40|0)+v>>0]|0;w=n+-1|0;s=a[g+28272+(M*40|0)+w>>0]|0;p=g+27952+(M*160|0)+(w<<2)|0;t=g+27952+(M*160|0)+(v<<2)|0;i=n+-6|0;j=a[g+28272+(M*40|0)+i>>0]|0;l=j<<24>>24;j=j<<24>>24==-2;do if((n&7|0)==4&((h&255)>19&(j&(c[X>>2]|0)!=0))){if((a[A>>0]|0)==-2){ha=243;break}o=c[(c[O>>2]|0)+48>>2]|0;c[D>>2]=0;k=(c[P>>2]&128|0)==0;if(!(c[W>>2]|0)){if(k){ha=243;break}V=c[Y>>2]|0;i=V+(c[Q>>2]|0)|0;h=(c[fa>>2]<<1&2)+(n>>>5)|0;if(!(c[o+((H(h>>>2,V)|0)+i<<2)>>2]&E)){n=D;l=-1;break}l=c[O>>2]|0;V=c[l+36+(M<<2)>>2]|0;n=(c[(c[R>>2]|0)+(i<<2)>>2]|0)+3+(H(c[S>>2]|0,h)|0)|0;b[D>>1]=b[V+(n<<2)>>1]|0;b[F>>1]=b[V+(n<<2)+2>>1]<<1;n=D;l=a[(c[l+68+(M<<2)>>2]|0)+((h&14)+(i<<2|1))>>0]>>1;break}else{if(!k){ha=243;break}i=c[g+21720+(((h&255)>35&1)<<2)>>2]|0;h=n>>>2;if(!(c[o+(i<<2)>>2]&E)){n=D;l=-1;break}l=c[O>>2]|0;V=c[l+36+(M<<2)>>2]|0;n=(c[(c[R>>2]|0)+(i<<2)>>2]|0)+3+(H(c[S>>2]|0,h&3)|0)|0;b[D>>1]=b[V+(n<<2)>>1]|0;b[F>>1]=(b[V+(n<<2)+2>>1]|0)/2|0;n=D;l=a[(c[l+68+(M<<2)>>2]|0)+(h&2|i<<2|1)>>0]<<1;break}}else ha=243;while(0);do if((ha|0)==243){ha=0;if(j){l=n+-9|0;n=g+27952+(M*160|0)+(l<<2)|0;l=a[g+28272+(M*40|0)+l>>0]|0;break}else{n=g+27952+(M*160|0)+(i<<2)|0;break}}while(0);j=r<<24>>24==q<<24>>24;i=s<<24>>24==q<<24>>24;h=(i&1)+(j&1)+((l|0)==(u|0)&1)|0;if(h>>>0>1){k=Sk(b[p>>1]|0,b[t>>1]|0,b[n>>1]|0)|0;j=Sk(b[g+27952+(M*160|0)+(w<<2)+2>>1]|0,b[g+27952+(M*160|0)+(v<<2)+2>>1]|0,b[n+2>>1]|0)|0;break}if((h|0)!=1){k=b[p>>1]|0;if(s<<24>>24!=-2&(r<<24>>24==-2&(l|0)==-2)){j=b[g+27952+(M*160|0)+(w<<2)+2>>1]|0;break}else{k=Sk(k,b[t>>1]|0,b[n>>1]|0)|0;j=Sk(b[g+27952+(M*160|0)+(w<<2)+2>>1]|0,b[g+27952+(M*160|0)+(v<<2)+2>>1]|0,b[n+2>>1]|0)|0;break}}if(i){k=b[p>>1]|0;j=b[g+27952+(M*160|0)+(w<<2)+2>>1]|0;break}if(j){k=b[t>>1]|0;j=b[g+27952+(M*160|0)+(v<<2)+2>>1]|0;break}else{k=b[n>>1]|0;j=b[n+2>>1]|0;break}}while(0);V=d[150833+x>>0]|0;h=V+-1|0;V=V+-8|0;i=(d[g+28352+(M*80|0)+(V<<1)+1>>0]|0)+(d[g+28352+(M*80|0)+(h<<1)+1>>0]|0)|0;h=Tk(g,40,(d[g+28352+(M*80|0)+(V<<1)>>0]|0)+(d[g+28352+(M*80|0)+(h<<1)>>0]|0)|0,_)|0;i=Tk(g,47,i,$)|0;if((h|0)==-2147483648|(i|0)==-2147483648)break l;V=(c[$>>2]<<8&65280|c[_>>2]&255)*65537|0;c[g+28352+(M*80|0)+(L<<1)>>2]=V;c[g+28352+(M*80|0)+(L<<1)+16>>2]=V;c[g+28352+(M*80|0)+(L<<1)+32>>2]=V;c[g+28352+(M*80|0)+(L<<1)+48>>2]=V;V=i+j<<16|h+k&65535;c[g+27952+(M*160|0)+(L<<2)>>2]=V;c[g+27952+(M*160|0)+(L<<2)+4>>2]=V;c[g+27952+(M*160|0)+(L<<2)+32>>2]=V;c[g+27952+(M*160|0)+(L<<2)+36>>2]=V;c[g+27952+(M*160|0)+(L<<2)+64>>2]=V;c[g+27952+(M*160|0)+(L<<2)+68>>2]=V;c[g+27952+(M*160|0)+(L<<2)+96>>2]=V;c[g+27952+(M*160|0)+(L<<2)+100>>2]=V}y=y+1|0}M=M+1|0;h=c[T>>2]|0}h=-1094995529;break a}else{if(!(h&1)){_=g+21660|0;$=$j(c[f+4>>2]|0,c[g+21760>>2]|0,c[g+21768>>2]|0,c[_>>2]|0,0)|0;c[_>>2]=$;if(($|0)<0){h=-1;break a}}else{m:do if((m|0)!=0?(Kk(g+32856|0,(c[g+21840>>2]|0)+399+(g+32904)|0)|0)!=0:0){c[ja>>2]=h|16777216;h=0;while(1){if((h|0)>=16)break m;$=d[150833+h>>0]|0;_=a[$+-1+(g+21664)>>0]|0;Y=a[$+-8+(g+21664)>>0]|0;_=(_|0)>(Y|0)?Y:_;$=g+21664+$|0;_=(Nk(g,(_|0)<0?2:_)|0)*257&65535;b[$>>1]=_;b[$+8>>1]=_;h=h+4|0}}else{h=0;ha=50}while(0);n:do if((ha|0)==50)while(1){ha=0;if((h|0)==16)break n;ha=d[150833+h>>0]|0;$=a[ha+-1+(g+21664)>>0]|0;_=a[ha+-8+(g+21664)>>0]|0;$=($|0)>(_|0)?_:$;a[g+21664+ha>>0]=Nk(g,($|0)<0?2:$)|0;h=h+1|0;ha=50}while(0);$=(c[g+21704>>2]|0)+(c[(c[f+26364>>2]|0)+(c[ma>>2]<<2)>>2]|0)|0;c[$>>2]=c[g+21700>>2];a[$+4>>0]=a[g+21695>>0]|0;a[$+5>>0]=a[g+21687>>0]|0;a[$+6>>0]=a[g+21679>>0]|0;if((_j(g+21664|0,c[f+4>>2]|0,c[g+21760>>2]|0,c[g+21768>>2]|0)|0)<0){h=-1;break a}}if(ca){h=Ok(f,g)|0;a[(c[f+26396>>2]|0)+na>>0]=h;h=$j(c[f+4>>2]|0,c[g+21760>>2]|0,c[g+21768>>2]|0,h,1)|0;if((h|0)<0){h=-1;break a}}else h=6;c[g+21656>>2]=h}while(0);if(c[ja>>2]&120|0){a[(c[f+26396>>2]|0)+na>>0]=0;k=c[ja>>2]|0;h=c[f+26368>>2]|0;i=(H(h<<2,c[fa>>2]|0)|0)+(c[ea>>2]<<2)|0;l=c[ma>>2]<<2;if(!(k&12288)){$=(c[f+24384>>2]|0)+l|0;b[$>>1]=-1;b[$+2>>1]=-1}else{j=(c[f+24352>>2]|0)+(i<<2)|0;_=g+28e3|0;$=c[_+4>>2]|0;X=j;c[X>>2]=c[_>>2];c[X+4>>2]=$;X=g+28008|0;$=c[X+4>>2]|0;_=j+8|0;c[_>>2]=c[X>>2];c[_+4>>2]=$;_=g+28032|0;$=c[_+4>>2]|0;X=j+(h<<2)|0;Y=X;c[Y>>2]=c[_>>2];c[Y+4>>2]=$;Y=g+28040|0;$=c[Y+4>>2]|0;X=X+8|0;c[X>>2]=c[Y>>2];c[X+4>>2]=$;X=g+28064|0;$=c[X+4>>2]|0;Y=j+(h<<1<<2)|0;_=Y;c[_>>2]=c[X>>2];c[_+4>>2]=$;_=g+28072|0;$=c[_+4>>2]|0;Y=Y+8|0;c[Y>>2]=c[_>>2];c[Y+4>>2]=$;Y=g+28096|0;$=c[Y+4>>2]|0;j=j+(h*3<<2)|0;_=j;c[_>>2]=c[Y>>2];c[_+4>>2]=$;_=g+28104|0;$=c[_+4>>2]|0;j=j+8|0;c[j>>2]=c[_>>2];c[j+4>>2]=$;j=(c[g+32848>>2]|0)+(c[(c[f+26364>>2]|0)+(c[ma>>2]<<2)>>2]<<1)|0;if(!(k&2048)){Y=g+28424|0;_=c[Y+4>>2]|0;$=j;c[$>>2]=c[Y>>2];c[$+4>>2]=_;$=j+6|0;b[$+6>>1]=b[g+28382>>1]|0;b[$+4>>1]=b[g+28398>>1]|0;b[$+2>>1]=b[g+28414>>1]|0}else{c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0}$=(c[f+24384>>2]|0)+l|0;a[$>>0]=a[g+28284>>0]|0;a[$+1>>0]=a[g+28286>>0]|0;a[$+2>>0]=a[g+28300>>0]|0;a[$+3>>0]=a[g+28302>>0]|0}if(k&49152|0){_=(c[f+24356>>2]|0)+(i<<2)|0;X=g+28160|0;$=c[X+4>>2]|0;W=_;c[W>>2]=c[X>>2];c[W+4>>2]=$;W=g+28168|0;$=c[W+4>>2]|0;X=_+8|0;c[X>>2]=c[W>>2];c[X+4>>2]=$;X=g+28192|0;$=c[X+4>>2]|0;W=_+(h<<2)|0;Y=W;c[Y>>2]=c[X>>2];c[Y+4>>2]=$;Y=g+28200|0;$=c[Y+4>>2]|0;W=W+8|0;c[W>>2]=c[Y>>2];c[W+4>>2]=$;W=g+28224|0;$=c[W+4>>2]|0;Y=_+(h<<1<<2)|0;X=Y;c[X>>2]=c[W>>2];c[X+4>>2]=$;X=g+28232|0;$=c[X+4>>2]|0;Y=Y+8|0;c[Y>>2]=c[X>>2];c[Y+4>>2]=$;Y=g+28256|0;$=c[Y+4>>2]|0;h=_+(h*3<<2)|0;_=h;c[_>>2]=c[Y>>2];c[_+4>>2]=$;_=g+28264|0;$=c[_+4>>2]|0;h=h+8|0;c[h>>2]=c[_>>2];c[h+4>>2]=$;h=(c[g+32852>>2]|0)+(c[(c[f+26364>>2]|0)+(c[ma>>2]<<2)>>2]<<1)|0;if(!(k&2048)){Y=g+28504|0;_=c[Y+4>>2]|0;$=h;c[$>>2]=c[Y>>2];c[$+4>>2]=_;$=h+6|0;b[$+6>>1]=b[g+28462>>1]|0;b[$+4>>1]=b[g+28478>>1]|0;b[$+2>>1]=b[g+28494>>1]|0}else{c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0}$=(c[f+24388>>2]|0)+l|0;a[$>>0]=a[g+28324>>0]|0;a[$+1>>0]=a[g+28326>>0]|0;a[$+2>>0]=a[g+28340>>0]|0;a[$+3>>0]=a[g+28342>>0]|0}if(!((k&64|0)==0|(c[aa>>2]|0)!=3)){aa=(c[f+26408>>2]|0)+(c[ma>>2]<<2)|0;a[aa+1>>0]=(e[g+28554>>1]|0)>>>1;a[aa+2>>0]=(e[g+28556>>1]|0)>>>1;a[aa+3>>0]=(e[g+28558>>1]|0)>>>1}}if(!(c[ja>>2]&2)){h=Uk(g)|0;if(ca)u=(Vk(g)|0)<<4|h;else u=h}else if(Z>>>0>15&(ca^1)){lf(c[f+4>>2]|0,16,140156,ba);h=-1094995529;break}else u=Z;c[g+21856>>2]=u;b[(c[f+26392>>2]|0)+(na<<1)>>1]=u;s=(u&15|0)==0;if(!((m|0)==0|s)?(c[ja>>2]&7|0)==0:0){ca=(Kk(g+32856|0,(c[g+21840>>2]|0)+399+(g+32904)|0)|0)<<24;c[ja>>2]=c[ja>>2]|ca}k=c[ja>>2]|0;do if(!((k&16777216|0)==0?1:(c[(c[ia>>2]|0)+12>>2]|0)!=3)){if((c[f+25704>>2]|0)>>>0>=151){h=0;while(1){if((h|0)==2)break;i=c[g+21740+(h<<2)>>2]|0;if((i|0)!=0&(i&16777216|0)==0){ba=i<<4&64;ca=h<<4;a[ca+99+(g+27824)>>0]=ba;a[ca+91+(g+27824)>>0]=ba;a[ca+59+(g+27824)>>0]=ba;a[ca+51+(g+27824)>>0]=ba;a[ca+19+(g+27824)>>0]=ba;a[(ca|11)+(g+27824)>>0]=ba}h=h+1|0}ca=c[g+21732>>2]|0;h=(ca&4|0)==0?0:1077952576;if(!((ca|0)!=0&(ca&16777216|0)==0))break;c[g+27828>>2]=h;c[g+27868>>2]=h;c[g+27908>>2]=h;break}i=k&7;j=i|0?64:0;h=0;while(1){if((h|0)==2)break;ca=c[g+21740+(h<<2)>>2]|0;if((ca|0)!=0&(ca&16777216|0)==0){ca=h<<4;a[ca+99+(g+27824)>>0]=j;a[ca+91+(g+27824)>>0]=j;a[ca+59+(g+27824)>>0]=j;a[ca+51+(g+27824)>>0]=j;a[ca+19+(g+27824)>>0]=j;a[(ca|11)+(g+27824)>>0]=j}h=h+1|0}ca=c[g+21732>>2]|0;if((ca|0)!=0&(ca&16777216|0)==0){ca=(i|0)==0?0:1077952576;c[g+27828>>2]=ca;c[g+27868>>2]=ca;c[g+27908>>2]=ca}}while(0);c[(c[f+24364>>2]|0)+(na<<2)>>2]=k;if((u|0)==0?(c[ja>>2]&2|0)==0:0){c[g+27836>>2]=0;c[g+27844>>2]=0;c[g+27852>>2]=0;c[g+27860>>2]=0;c[g+27876>>2]=0;c[g+27884>>2]=0;c[g+27892>>2]=0;c[g+27900>>2]=0;c[g+27916>>2]=0;c[g+27924>>2]=0;c[g+27932>>2]=0;c[g+27940>>2]=0;c[g+864>>2]=0;h=g+848|0}else ha=302;o:do if((ha|0)==302){v=g+32856|0;m=g+864|0;do if(Kk(v,(c[m>>2]|0?61:60)+(g+32904)|0)|0){k=(c[da+1184>>2]|0)*6|0;l=k+3|0;i=l<<1;h=62;j=1;while(1){if(!(Kk(v,g+32904+h|0)|0)){ha=306;break}if((j|0)<(i|0)){h=63;j=j+1|0}else{ha=429;break}}if((ha|0)==306){q=j+1>>1;q=(j&1|0)==0?0-q|0:q;c[m>>2]=q;h=g+848|0;q=(c[h>>2]|0)+q|0;q=(q>>>0>l>>>0?((q|0)<0?k+4|0:-4-k|0):0)+q|0;c[h>>2]=q;ha=c[ka>>2]|0;c[g+852>>2]=d[ha+548+q>>0];c[g+856>>2]=d[ha+636+q>>0];break}else if((ha|0)==429){h=c[f+4>>2]|0;g=c[fa>>2]|0;c[ga>>2]=c[ea>>2];c[ga+4>>2]=g;lf(h,16,140169,ga);h=-1;break a}}else{c[m>>2]=0;q=g+848|0;h=q;q=c[q>>2]|0}while(0);i=c[ja>>2]|0;ha=(i&128|0)==0;r=(q|0)!=0;t=ha?(r?f+26428|0:f+26716|0):r?f+26572|0:f+26860|0;r=ha?(r?f+26444|0:f+26732|0):r?f+26588|0:f+26876|0;p:do if(!(i&2)){p=i&7|0?0:3;o=(i&16777216|0)==0;n=0;while(1){if((n|0)==4)break p;q:do if(!(1<>0]|0)+(g+27824)|0;b[ha>>1]=0;b[ha+8>>1]=0}else{if(!o){i=n<<2;j=g+28560+(n<<6<>2]|0)+173812+(p<<2)>>2]|0)+(q<<8)|0;do if((c[(c[ia>>2]|0)+12>>2]|0)==3){l=d[150833+i>>0]|0;ha=(a[l+-1+(g+27824)>>0]|0)!=0&1;if(Wk(v,((a[l+-8+(g+27824)>>0]|0?ha|2:ha)|1012)+(g+32904)|0)|0)break;ha=g+27824+l|0;b[ha>>1]=0;b[ha+8>>1]=0;break q}while(0);Yk(f,g,j,5,i,r,k,64);break}j=(c[(c[ka>>2]|0)+173788+(p<<2)>>2]|0)+(q<<6)|0;k=n<<2;i=0;while(1){if((i|0)==4)break q;l=i+k|0;m=d[150833+l>>0]|0;ha=(a[m+-1+(g+27824)>>0]|0)!=0&1;if(!(Wk(v,(a[m+-8+(g+27824)>>0]|0?ha|2:ha)+93+(g+32904)|0)|0))a[g+27824+m>>0]=0;else Yk(f,g,g+28560+(l<<4<>2]=0;j=j+4|0}while((j|0)<(k|0));if(!(Wk(v,((c[g+21860>>2]|0)>>>7&2|(c[g+21864>>2]|0)>>>8&1)+85+(g+32904)|0)|0))a[g+27824>>0]=0;else Xk(f,g,i,0,48,t,16);if(s){c[g+27836>>2]=0;c[g+27844>>2]=0;c[g+27852>>2]=0;c[g+27860>>2]=0;break}j=(c[(c[ka>>2]|0)+173788>>2]|0)+(q<<6)|0;k=t+1|0;i=0;while(1){if((i|0)==16)break p;l=d[150833+i>>0]|0;ha=(a[l+-1+(g+27824)>>0]|0)!=0&1;if(!(Wk(v,(a[l+-8+(g+27824)>>0]|0?ha|2:ha)+89+(g+32904)|0)|0))a[g+27824+l>>0]=0;else Yk(f,g,g+28560+(i<<4<>2]|0)+12>>2]|0;if((j|0)!=3){i=(u&48|0)!=0;if((j|0)!=2){r:do if(i){j=g+21864|0;k=g+21860|0;i=0;while(1){if((i|0)==2)break r;l=i+49|0;ha=1<>2]&ha|0)!=0&1;if(!(Wk(v,(c[k>>2]&ha|0?ia|2:ia)+97+(g+32904)|0)|0))a[(d[150833+l>>0]|0)+(g+27824)>>0]=0;else Xk(f,g,g+28560+((i<<8)+256<>2]=0;c[g+27884>>2]=0;c[g+27892>>2]=0;c[g+27900>>2]=0;c[g+27916>>2]=0;c[g+27924>>2]=0;c[g+27932>>2]=0;c[g+27940>>2]=0;break}m=t+1|0;i=0;s:while(1){if((i|0)==2)break o;n=i+1|0;o=(c[(c[ka>>2]|0)+173788+((c[ja>>2]&7|0?0:3)+n<<2)>>2]|0)+(c[g+852+(i<<2)>>2]<<6)|0;j=(i<<4)+16|0;i=0;while(1){if((i|0)==4){i=n;continue s}k=j+i|0;l=d[150833+k>>0]|0;ia=(a[l+-1+(g+27824)>>0]|0)!=0&1;if(!(Wk(v,(a[l+-8+(g+27824)>>0]|0?ia|2:ia)+101+(g+32904)|0)|0))a[g+27824+l>>0]=0;else Yk(f,g,g+28560+(k<<4<>2]&ha|0)!=0&1;if(!(Wk(v,(c[k>>2]&ha|0?ia|2:ia)+97+(g+32904)|0)|0))a[(d[150833+l>>0]|0)+(g+27824)>>0]=0;else Zk(f,g,g+28560+((i<<8)+256<>2]=0;c[g+27884>>2]=0;c[g+27892>>2]=0;c[g+27900>>2]=0;c[g+27916>>2]=0;c[g+27924>>2]=0;c[g+27932>>2]=0;c[g+27940>>2]=0;break}u=16<>2]|0)+173788+((c[ja>>2]&7|0?0:3)+t<<2)>>2]|0)+(c[g+852+(i<<2)>>2]<<6)|0;i=g+28560+(s<<4<>0]|0;ia=(a[p+-1+(g+27824)>>0]|0)!=0&1;if(!(Wk(v,(a[p+-8+(g+27824)>>0]|0?ia|2:ia)+101+(g+32904)|0)|0))a[g+27824+p>>0]=0;else Yk(f,g,l,4,o,q,m,15);k=k+1|0;l=l+(u<<1)|0}i=i+(r<<1)|0;j=j+1|0}}}i=c[ja>>2]|0;q=c[g+852>>2]|0;v:do if(!(i&2)){p=i&7|0?1:4;o=(i&16777216|0)==0;n=0;while(1){if((n|0)==4)break v;w:do if(!(1<>0]|0)+(g+27824)|0;b[ia>>1]=0;b[ia+8>>1]=0}else{if(!o){i=(n<<2)+16|0;j=c[(c[ka>>2]|0)+173812+(p<<2)>>2]|0;k=d[150833+i>>0]|0;ia=(a[k+-1+(g+27824)>>0]|0)!=0&1;if(!(Wk(v,((a[k+-8+(g+27824)>>0]|0?ia|2:ia)|1016)+(g+32904)|0)|0)){ia=g+27824+k|0;b[ia>>1]=0;b[ia+8>>1]=0;break}else{Yk(f,g,g+28560+(i<<4<>2]|0)+173788+(p<<2)>>2]|0)+(q<<6)|0;k=(n<<2)+16|0;i=0;while(1){if((i|0)==4)break w;l=k+i|0;m=d[150833+l>>0]|0;ia=(a[m+-1+(g+27824)>>0]|0)!=0&1;if(!(Wk(v,((a[m+-8+(g+27824)>>0]|0?ia|2:ia)|468)+(g+32904)|0)|0))a[g+27824+m>>0]=0;else Yk(f,g,g+28560+(l<<4<>2]=0;j=j+4|0}while((j|0)<(k|0));if(!(Wk(v,((c[g+21864>>2]|0)>>>9&1|(c[g+21860>>2]|0)>>>8&2|460)+(g+32904)|0)|0))a[g+27864>>0]=0;else Xk(f,g,i,6,49,t,16);if(s){c[g+27876>>2]=0;c[g+27884>>2]=0;c[g+27892>>2]=0;c[g+27900>>2]=0;break}j=(c[(c[ka>>2]|0)+173792>>2]|0)+(q<<6)|0;k=t+1|0;i=0;while(1){if((i|0)==16)break v;l=i+16|0;m=d[150833+l>>0]|0;ia=(a[m+-1+(g+27824)>>0]|0)!=0&1;if(!(Wk(v,((a[m+-8+(g+27824)>>0]|0?ia|2:ia)|464)+(g+32904)|0)|0))a[g+27824+m>>0]=0;else Yk(f,g,g+28560+(l<<4<>2]|0;q=c[g+856>>2]|0;if(i&2|0){i=g+31760|0;j=i;k=j+64|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0));if(!(Wk(v,((c[g+21864>>2]|0)>>>10&1|(c[g+21860>>2]|0)>>>9&2|472)+(g+32904)|0)|0))a[g+27904>>0]=0;else Xk(f,g,i,10,50,t,16);if(s){c[g+27916>>2]=0;c[g+27924>>2]=0;c[g+27932>>2]=0;c[g+27940>>2]=0;break}m=(c[(c[ka>>2]|0)+173796>>2]|0)+(q<<6)|0;j=t+1|0;i=0;while(1){if((i|0)==16)break o;k=i+32|0;l=d[150833+k>>0]|0;ka=(a[l+-1+(g+27824)>>0]|0)!=0&1;if(!(Wk(v,((a[l+-8+(g+27824)>>0]|0?ka|2:ka)|476)+(g+32904)|0)|0))a[g+27824+l>>0]=0;else Yk(f,g,g+28560+(k<<4<>0]|0)+(g+27824)|0;b[ja>>1]=0;b[ja+8>>1]=0}else{if(!o){i=(n<<2)+32|0;j=c[(c[ka>>2]|0)+173812+(p<<2)>>2]|0;k=d[150833+i>>0]|0;ja=(a[k+-1+(g+27824)>>0]|0)!=0&1;if(!(Wk(v,((a[k+-8+(g+27824)>>0]|0?ja|2:ja)|1020)+(g+32904)|0)|0)){ja=g+27824+k|0;b[ja>>1]=0;b[ja+8>>1]=0;break}else{Yk(f,g,g+28560+(i<<4<>2]|0)+173788+(p<<2)>>2]|0)+(q<<6)|0;k=(n<<2)+32|0;i=0;while(1){if((i|0)==4)break x;l=k+i|0;m=d[150833+l>>0]|0;ja=(a[m+-1+(g+27824)>>0]|0)!=0&1;if(!(Wk(v,((a[m+-8+(g+27824)>>0]|0?ja|2:ja)|480)+(g+32904)|0)|0))a[g+27824+m>>0]=0;else Yk(f,g,g+28560+(l<<4<>2]|0)+na>>0]=c[h>>2];h=c[ma>>2]|0;i=c[f+25972>>2]|0;c[i+(h*48|0)>>2]=c[g+27836>>2];c[i+(h*48|0)+4>>2]=c[g+27844>>2];c[i+(h*48|0)+8>>2]=c[g+27852>>2];c[i+(h*48|0)+12>>2]=c[g+27860>>2];c[i+(h*48|0)+16>>2]=c[g+27876>>2];c[i+(h*48|0)+20>>2]=c[g+27884>>2];c[i+(h*48|0)+32>>2]=c[g+27916>>2];c[i+(h*48|0)+36>>2]=c[g+27924>>2];if(!(c[f+25680>>2]|0)){c[i+(h*48|0)+24>>2]=c[g+27892>>2];c[i+(h*48|0)+28>>2]=c[g+27900>>2];c[i+(h*48|0)+40>>2]=c[g+27932>>2];c[i+(h*48|0)+44>>2]=c[g+27940>>2];h=0}else h=0}while(0);$c=oa;return h|0}function Lj(a,b){a=a|0;b=b|0;if((c[(c[a+28216>>2]|0)+12>>2]|0)==3)tk(a,b);else uk(a,b);return}function Mj(a){a=a|0;var b=0,d=0;d=a+4|0;b=(c[d>>2]|0)+-2|0;c[d>>2]=b;if((c[a>>2]|0)<(b<<17|0)){rk(a);a=0}else a=(c[a+16>>2]|0)-(c[a+12>>2]|0)|0;return a|0}function Nj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=a+26380|0;h=(c[i>>2]|0)!=3&1;k=c[b+21792>>2]>>h<<4;h=c[a+27008>>2]<<4>>h;g=c[a+26376>>2]|0;d=16<>2]|0)==0;d=(j|(k+d|0)<(h|0)?0:g)+d|0;g=k-(j?0:g)|0;if((!((h|0)<=(g|0)|(d+g|0)<0)?(f=h-g|0,e=(g|0)<0,f=((d|0)>(f|0)?f:d)+(e?g:0)|0,e=e?0:g,qk(a,b,e,f),(c[a+25684>>2]|0)==0):0)?(c[(c[(c[b>>2]|0)+25628>>2]|0)+600>>2]|0)==0:0)Rh((c[a+24312>>2]|0)+4|0,e+-1+f|0,(c[i>>2]|0)==2&1);return}function Oj(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0;f=c[a+27016>>2]|0;g=(H(f,c[b+21792>>2]|0)|0)+(c[b+21788>>2]|0)|0;h=c[a+26372>>2]|0;d=g+-1|0;i=c[b+832>>2]|0;if((i|0)!=(e[h+(d<<1)>>1]|0|0)){d=g-f|0;if((i|0)==(e[h+(d<<1)>>1]|0|0))j=3;else d=0}else j=3;if((j|0)==3)d=(c[(c[a+24364>>2]|0)+(d<<2)>>2]|0)>>>7&1;c[b+21828>>2]=d;c[b+21832>>2]=d;return}function Pj(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;oa=$c;$c=$c+208|0;if(($c|0)>=(ad|0))N(208);ga=oa+128|0;$=oa+120|0;ca=oa+104|0;ba=oa+88|0;r=oa+80|0;q=oa+72|0;p=oa+64|0;s=oa+56|0;n=oa+40|0;o=oa+24|0;m=oa+16|0;k=oa;ia=oa+192|0;U=oa+176|0;V=oa+144|0;la=f+28212|0;W=c[(c[la>>2]|0)+64>>2]|0;ha=f+28216|0;aa=((c[(c[ha>>2]|0)+12>>2]|0)+-1|0)>>>0<2;ka=c[f+25664>>2]|0;ea=g+21788|0;fa=g+21792|0;Z=f+27016|0;na=(H(c[Z>>2]|0,c[fa>>2]|0)|0)+(c[ea>>2]|0)|0;ma=g+21796|0;c[ma>>2]=na;l=g+840|0;if((c[l>>2]|0)!=1){j=g+21816|0;h=c[j>>2]|0;if((h|0)==-1){h=Qj(g+4|0)|0;c[j>>2]=h}i=h+-1|0;c[j>>2]=i;if(h){if(c[f+26376>>2]|0?(c[fa>>2]&1|i|0)==0:0){na=Rj(g+4|0)|0;c[g+21828>>2]=na;c[g+21832>>2]=na}Sj(f,g);h=0}else da=9}else da=9;a:do if((da|0)==9){Y=f+26376|0;if(c[Y>>2]|0?(c[fa>>2]&1|0)==0:0){ja=Rj(g+4|0)|0;c[g+21828>>2]=ja;c[g+21832>>2]=ja}c[g+21648>>2]=0;ja=g+4|0;i=Tj(ja)|0;c[ia>>2]=i;b:do switch(c[l>>2]|0){case 3:if(i>>>0<23){_=a[114424+(i<<2)+2>>0]|0;h=e[114424+(i<<2)>>1]|0;c[ia>>2]=h;i=_;_=0;break b}else{h=i+-23|0;c[ia>>2]=h;da=21;break b}case 2:if(i>>>0<5){_=a[114388+(i<<2)+2>>0]|0;h=e[114388+(i<<2)>>1]|0;c[ia>>2]=h;i=_;_=0;break b}else{h=i+-5|0;c[ia>>2]=h;da=21;break b}default:{h=i+-1|0;if(i|0?(c[g+836>>2]|0)==5:0){c[ia>>2]=h;da=21}else{h=i;da=21}}}while(0);do if((da|0)==21)if(h>>>0>25){f=c[f+4>>2]|0;ma=(li(c[g+836>>2]|0)|0)<<24>>24;na=c[ea>>2]|0;g=c[fa>>2]|0;c[k>>2]=h;c[k+4>>2]=ma;c[k+8>>2]=na;c[k+12>>2]=g;lf(f,16,139334,k);h=-1;break a}else{_=d[114284+(h<<2)+3>>0]|0;c[g+21660>>2]=d[114284+(h<<2)+2>>0];h=e[114284+(h<<2)>>1]|0;c[ia>>2]=h;i=0;break}while(0);X=g+21828|0;if(c[X>>2]|0){h=h|128;c[ia>>2]=h}b[(c[f+26372>>2]|0)+(na<<1)>>1]=c[g+832>>2];if(h&4|0){h=c[ha>>2]|0;h=H(c[h+1184>>2]|0,e[114568+(c[h+12>>2]<<1)>>1]|0)|0;c[g+27780>>2]=Uj(ja)|0;if((Vj(ja)|0)<(h|0)){lf(c[f+4>>2]|0,16,139377,m);h=-1094995529;break}else{Wj(ja,h);a[(c[f+24340>>2]|0)+na>>0]=0;k=(c[f+25972>>2]|0)+(na*48|0)|0;l=k+48|0;do{a[k>>0]=16;k=k+1|0}while((k|0)<(l|0));c[(c[f+24364>>2]|0)+(na<<2)>>2]=c[ia>>2];h=0;break}}Xj(f,g,h);Yj(f,g,h);c:do if(!(h&7)){if(i<<24>>24==4){d:do if((c[l>>2]|0)==3){h=0;while(1){if((h|0)>=4)break;i=ak(ja)|0;j=g+28552+(h<<1)|0;b[j>>1]=i;k=i&65535;if(k>>>0>12){da=52;break}c[U+(h<<2)>>2]=d[114516+(k<<2)+2>>0];b[j>>1]=b[114516+((i&65535)<<2)>>1]|0;h=h+1|0}if((da|0)==52){g=c[f+4>>2]|0;na=c[ea>>2]|0;f=c[fa>>2]|0;c[o>>2]=k;c[o+4>>2]=na;c[o+8>>2]=f;lf(g,16,139418,o);break}if(!((b[g+28554>>1]|b[g+28552>>1]|b[g+28556>>1]|b[g+28558>>1])&256))da=56;else{bk(f,g,ia);a[g+28342>>0]=-2;a[g+28302>>0]=-2;a[g+28326>>0]=-2;a[g+28286>>0]=-2;da=56}}else{h=0;while(1){if((h|0)>=4){da=56;break d}i=ak(ja)|0;j=g+28552+(h<<1)|0;b[j>>1]=i;k=i&65535;if(k>>>0>3)break;c[U+(h<<2)>>2]=d[114408+(k<<2)+2>>0];b[j>>1]=b[114408+((i&65535)<<2)>>1]|0;h=h+1|0}g=c[f+4>>2]|0;na=c[ea>>2]|0;f=c[fa>>2]|0;c[n>>2]=k;c[n+4>>2]=na;c[n+8>>2]=f;lf(g,16,139458,n)}while(0);do if((da|0)==56){T=g+23412|0;m=g+21832|0;l=0;e:while(1){h=c[T>>2]|0;if(l>>>0>=h>>>0)break;if(!(c[ia>>2]&512))k=c[g+23404+(l<<2)>>2]<>2];else k=1;j=4096<<(l<<1);i=0;while(1){if((i|0)>=4)break;h=e[g+28552+(i<<1)>>1]|0;if(!(h&256)){f:do if(!(j&h))h=-1;else switch(k|0){case 1:{h=0;break f}case 2:{h=(Rj(ja)|0)^1;break f}default:{h=ak(ja)|0;if(h>>>0>>0)break f;else{da=73;break e}}}while(0);c[V+(l<<4)+(i<<2)>>2]=h}i=i+1|0}l=l+1|0}if((da|0)==73){g=c[f+4>>2]|0;c[s>>2]=h;lf(g,16,139498,s);break}if(!W)l=0;else{W=(c[(c[ha>>2]|0)+72>>2]|0)==0;l=g+28552|0;l=(((W?24117616:7340144)&c[l>>2]|0)==0?((W?24117616:7340144)&c[l+4>>2]|0)==0:0)&1}O=f+24312|0;P=g+21740|0;Q=g+21720|0;R=f+26360|0;S=f+26368|0;M=0;while(1){if(M>>>0>=h>>>0)break;J=M<<1;F=4096<>1]&256)){W=c[V+(M<<4)+(E<<2)>>2]&255;L=E<<2;i=d[150833+L>>0]|0;a[i+9+(g+28272+(M*40|0))>>0]=W;a[i+8+(g+28272+(M*40|0))>>0]=W;a[i+1+(g+28272+(M*40|0))>>0]=W;a[g+28272+(M*40|0)+i>>0]=W;h=e[h>>1]|0;if(!(F&h)){c[g+27952+(M*160|0)+(i<<2)+36>>2]=0;c[g+27952+(M*160|0)+(i<<2)+32>>2]=0;c[g+27952+(M*160|0)+(i<<2)+4>>2]=0;c[g+27952+(M*160|0)+(i<<2)>>2]=0;break}A=h&24|0?2:1;B=c[U+(E<<2)>>2]|0;C=(h&8|0)==0;D=(h&16|0)==0;x=(h&32|0)==0;w=0;while(1){if((w|0)>=(B|0))break g;h=a[150833+((H(w,A)|0)+L)>>0]|0;y=h&255;z=g+27952+(M*160|0)+(y<<2)|0;o=a[g+28272+(M*40|0)+y>>0]|0;p=o<<24>>24;u=y+-8|0;r=a[g+28272+(M*40|0)+u>>0]|0;v=y+-1|0;s=a[g+28272+(M*40|0)+v>>0]|0;q=g+27952+(M*160|0)+(v<<2)|0;t=g+27952+(M*160|0)+(u<<2)|0;i=u+A|0;j=a[g+28272+(M*40|0)+i>>0]|0;k=j<<24>>24;j=j<<24>>24==-2;do if((y&7|0)==4&((h&255)>19&(j&(c[Y>>2]|0)!=0))){if((a[G>>0]|0)==-2){da=95;break}n=c[(c[O>>2]|0)+48>>2]|0;c[I>>2]=0;m=(c[P>>2]&128|0)==0;if(!(c[X>>2]|0)){if(m){da=95;break}W=c[Z>>2]|0;h=W+(c[Q>>2]|0)|0;i=(c[fa>>2]<<1&2)+(y>>>5)|0;if(!(c[n+((H(i>>>2,W)|0)+h<<2)>>2]&J)){m=I;k=-1;break}k=c[O>>2]|0;W=c[k+36+(M<<2)>>2]|0;m=(c[(c[R>>2]|0)+(h<<2)>>2]|0)+3+(H(c[S>>2]|0,i)|0)|0;b[I>>1]=b[W+(m<<2)>>1]|0;b[K>>1]=b[W+(m<<2)+2>>1]<<1;m=I;k=a[(c[k+68+(M<<2)>>2]|0)+((i&14)+(h<<2|1))>>0]>>1;break}else{if(!m){da=95;break}h=c[g+21720+(((h&255)>35&1)<<2)>>2]|0;i=y>>>2;if(!(c[n+(h<<2)>>2]&J)){m=I;k=-1;break}k=c[O>>2]|0;W=c[k+36+(M<<2)>>2]|0;m=(c[(c[R>>2]|0)+(h<<2)>>2]|0)+3+(H(c[S>>2]|0,i&3)|0)|0;b[I>>1]=b[W+(m<<2)>>1]|0;b[K>>1]=(b[W+(m<<2)+2>>1]|0)/2|0;m=I;k=a[(c[k+68+(M<<2)>>2]|0)+(i&2|h<<2|1)>>0]<<1;break}}else da=95;while(0);do if((da|0)==95){da=0;if(j){k=y+-9|0;m=g+27952+(M*160|0)+(k<<2)|0;k=a[g+28272+(M*40|0)+k>>0]|0;break}else{m=g+27952+(M*160|0)+(i<<2)|0;break}}while(0);j=r<<24>>24==o<<24>>24;i=s<<24>>24==o<<24>>24;h=(i&1)+(j&1)+((k|0)==(p|0)&1)|0;do if(h>>>0<=1){if((h|0)!=1){i=b[q>>1]|0;if(s<<24>>24!=-2&(r<<24>>24==-2&(k|0)==-2)){h=b[g+27952+(M*160|0)+(v<<2)+2>>1]|0;break}else{i=ck(i,b[t>>1]|0,b[m>>1]|0)|0;h=ck(b[g+27952+(M*160|0)+(v<<2)+2>>1]|0,b[g+27952+(M*160|0)+(u<<2)+2>>1]|0,b[m+2>>1]|0)|0;break}}if(i){i=b[q>>1]|0;h=b[g+27952+(M*160|0)+(v<<2)+2>>1]|0;break}if(j){i=b[t>>1]|0;h=b[g+27952+(M*160|0)+(u<<2)+2>>1]|0;break}else{i=b[m>>1]|0;h=b[m+2>>1]|0;break}}else{i=ck(b[q>>1]|0,b[t>>1]|0,b[m>>1]|0)|0;h=ck(b[g+27952+(M*160|0)+(v<<2)+2>>1]|0,b[g+27952+(M*160|0)+(u<<2)+2>>1]|0,b[m+2>>1]|0)|0}while(0);k=(dk(ja)|0)+i|0;i=(dk(ja)|0)+h|0;do if(C){if(!D){b[z+4>>1]=k;h=i&65535;j=1;da=115;break}if(x)break;b[z+32>>1]=k;h=i&65535;j=8;da=115}else{h=k&65535;b[z+36>>1]=h;b[z+32>>1]=h;b[z+4>>1]=h;h=i&65535;b[z+38>>1]=h;b[z+34>>1]=h;j=1;da=115}while(0);if((da|0)==115){da=0;b[z+(j<<2)+2>>1]=h}b[z>>1]=k;b[g+27952+(M*160|0)+(y<<2)+2>>1]=i;w=w+1|0}}else{W=d[150833+(E<<2)>>0]|0;a[g+28272+(M*40|0)+W>>0]=a[W+1+(g+28272+(M*40|0))>>0]|0}while(0);E=E+1|0}M=M+1|0;h=c[T>>2]|0}break c}while(0);h=-1;break a}if(h&256|0){bk(f,g,ia);l=c[(c[ha>>2]|0)+72>>2]&W;break}if(h&8|0){s=g+23412|0;t=c[ia>>2]|0;k=g+21832|0;j=0;h:while(1){h=c[s>>2]|0;if(j>>>0>=h>>>0){r=0;break}if(t&4096<<(j<<1)|0){i=c[g+23404+(j<<2)>>2]<>2];switch(i|0){case 1:{h=0;break}case 2:{h=(Rj(ja)|0)^1;break}default:{h=ak(ja)|0;if(h>>>0>=i>>>0){da=132;break h}}}Z=H(h,16843009)|0;c[g+28272+(j*40|0)+12>>2]=Z;c[g+28272+(j*40|0)+20>>2]=Z;c[g+28272+(j*40|0)+28>>2]=Z;c[g+28272+(j*40|0)+36>>2]=Z}j=j+1|0}if((da|0)==132){g=c[f+4>>2]|0;c[p>>2]=h;lf(g,16,139498,p);h=-1;break a}while(1){if(r>>>0>=h>>>0){l=W;break c}if(t&4096<<(r<<1)){i=a[g+28272+(r*40|0)+12>>0]|0;n=a[g+28272+(r*40|0)+4>>0]|0;o=a[g+28272+(r*40|0)+11>>0]|0;m=g+27952+(r*160|0)+44|0;p=g+27952+(r*160|0)+16|0;h=a[g+28272+(r*40|0)+8>>0]|0;if(h<<24>>24==-2){q=g+27952+(r*160|0)+12|0;l=a[g+28272+(r*40|0)+3>>0]|0}else{q=g+27952+(r*160|0)+32|0;l=h<<24>>24}j=n<<24>>24==i<<24>>24;k=o<<24>>24==i<<24>>24;h=(k&1)+(j&1)+((l|0)==(i<<24>>24|0)&1)|0;do if(h>>>0<=1){if((h|0)!=1){i=b[m>>1]|0;if(o<<24>>24!=-2&(n<<24>>24==-2&(l|0)==-2)){h=b[g+27952+(r*160|0)+46>>1]|0;break}else{i=ck(i,b[p>>1]|0,b[q>>1]|0)|0;h=ck(b[g+27952+(r*160|0)+46>>1]|0,b[g+27952+(r*160|0)+18>>1]|0,b[q+2>>1]|0)|0;break}}if(k){i=b[m>>1]|0;h=b[g+27952+(r*160|0)+46>>1]|0;break}if(j){i=b[p>>1]|0;h=b[g+27952+(r*160|0)+18>>1]|0;break}else{i=b[q>>1]|0;h=b[q+2>>1]|0;break}}else{i=ck(b[m>>1]|0,b[p>>1]|0,b[q>>1]|0)|0;h=ck(b[g+27952+(r*160|0)+46>>1]|0,b[g+27952+(r*160|0)+18>>1]|0,b[q+2>>1]|0)|0}while(0);Z=(dk(ja)|0)+i|0;h=(dk(ja)|0)+h<<16|Z&65535;c[g+27952+(r*160|0)+48>>2]=h;c[g+27952+(r*160|0)+52>>2]=h;c[g+27952+(r*160|0)+56>>2]=h;c[g+27952+(r*160|0)+60>>2]=h;c[g+27952+(r*160|0)+80>>2]=h;c[g+27952+(r*160|0)+84>>2]=h;c[g+27952+(r*160|0)+88>>2]=h;c[g+27952+(r*160|0)+92>>2]=h;c[g+27952+(r*160|0)+112>>2]=h;c[g+27952+(r*160|0)+116>>2]=h;c[g+27952+(r*160|0)+120>>2]=h;c[g+27952+(r*160|0)+124>>2]=h;c[g+27952+(r*160|0)+144>>2]=h;c[g+27952+(r*160|0)+148>>2]=h;c[g+27952+(r*160|0)+152>>2]=h;c[g+27952+(r*160|0)+156>>2]=h;h=c[s>>2]|0}r=r+1|0}}R=g+23412|0;S=c[ia>>2]|0;n=g+21832|0;if(!(h&16))m=0;else{m=0;i:while(1){h=c[R>>2]|0;if(m>>>0>=h>>>0)break;k=m<<1;l=g+23404+(m<<2)|0;j=0;while(1){if((j|0)>=2)break;j:do if(!(S&4096<>2]<>2];switch(i|0){case 1:{h=0;break j}case 2:{h=(Rj(ja)|0)^1;break j}default:{h=ak(ja)|0;if(h>>>0>>0)break j;else{da=161;break i}}}}while(0);V=(j<<4|12)+(g+28272+(m*40|0))|0;U=H(h,16843009)|0;c[V>>2]=U;c[V+8>>2]=U;j=j+1|0}m=m+1|0}if((da|0)==161){g=c[f+4>>2]|0;c[q>>2]=h;lf(g,16,139498,q);h=-1;break a}L=f+24312|0;M=g+21740|0;O=g+21720|0;P=f+26360|0;Q=f+26368|0;K=0;while(1){if(K>>>0>=h>>>0){l=W;break c}y=K<<1;z=g+28272+(K*40|0)+4|0;A=g+27952+(K*160|0)+16|0;B=g+27952+(K*160|0)+18|0;C=g+28272+(K*40|0)+11|0;D=g+27952+(K*160|0)+40|0;E=12288<>0]|0;q=p<<24>>24;do if(!x){if((a[z>>0]|0)!=p<<24>>24){da=174;break}j=b[A>>1]|0;i=b[B>>1]|0}else{if((a[G>>0]|0)!=p<<24>>24){da=174;break}j=b[I>>1]|0;i=b[J>>1]|0}while(0);do if((da|0)==174){da=0;i=a[150833+i>>0]|0;n=i&255;v=n+-8|0;s=a[g+28272+(K*40|0)+v>>0]|0;w=n+-1|0;t=a[g+28272+(K*40|0)+w>>0]|0;r=g+27952+(K*160|0)+(w<<2)|0;u=g+27952+(K*160|0)+(v<<2)|0;j=n+-4|0;k=a[g+28272+(K*40|0)+j>>0]|0;l=k<<24>>24;k=k<<24>>24==-2;do if((n&7|0)==4&((i&255)>19&(k&(c[Y>>2]|0)!=0))){if((a[C>>0]|0)==-2){da=183;break}o=c[(c[L>>2]|0)+48>>2]|0;c[D>>2]=0;m=(c[M>>2]&128|0)==0;if(!(c[X>>2]|0)){if(m){da=183;break}V=c[Z>>2]|0;j=V+(c[O>>2]|0)|0;i=(c[fa>>2]<<1&2)+(n>>>5)|0;if(!(c[o+((H(i>>>2,V)|0)+j<<2)>>2]&E)){m=D;l=-1;break}l=c[L>>2]|0;V=c[l+36+(K<<2)>>2]|0;m=(c[(c[P>>2]|0)+(j<<2)>>2]|0)+3+(H(c[Q>>2]|0,i)|0)|0;b[D>>1]=b[V+(m<<2)>>1]|0;b[F>>1]=b[V+(m<<2)+2>>1]<<1;m=D;l=a[(c[l+68+(K<<2)>>2]|0)+((i&14)+(j<<2|1))>>0]>>1;break}else{if(!m){da=183;break}j=c[g+21720+(((i&255)>35&1)<<2)>>2]|0;i=n>>>2;if(!(c[o+(j<<2)>>2]&E)){m=D;l=-1;break}l=c[L>>2]|0;V=c[l+36+(K<<2)>>2]|0;m=(c[(c[P>>2]|0)+(j<<2)>>2]|0)+3+(H(c[Q>>2]|0,i&3)|0)|0;b[D>>1]=b[V+(m<<2)>>1]|0;b[F>>1]=(b[V+(m<<2)+2>>1]|0)/2|0;m=D;l=a[(c[l+68+(K<<2)>>2]|0)+(i&2|j<<2|1)>>0]<<1;break}}else da=183;while(0);do if((da|0)==183){da=0;if(k){l=n+-9|0;m=g+27952+(K*160|0)+(l<<2)|0;l=a[g+28272+(K*40|0)+l>>0]|0;break}else{m=g+27952+(K*160|0)+(j<<2)|0;break}}while(0);k=s<<24>>24==p<<24>>24;j=t<<24>>24==p<<24>>24;i=(j&1)+(k&1)+((l|0)==(q|0)&1)|0;if(i>>>0>1){j=ck(b[r>>1]|0,b[u>>1]|0,b[m>>1]|0)|0;i=ck(b[g+27952+(K*160|0)+(w<<2)+2>>1]|0,b[g+27952+(K*160|0)+(v<<2)+2>>1]|0,b[m+2>>1]|0)|0;break}if((i|0)!=1){j=b[r>>1]|0;if(t<<24>>24!=-2&(s<<24>>24==-2&(l|0)==-2)){i=b[g+27952+(K*160|0)+(w<<2)+2>>1]|0;break}else{j=ck(j,b[u>>1]|0,b[m>>1]|0)|0;i=ck(b[g+27952+(K*160|0)+(w<<2)+2>>1]|0,b[g+27952+(K*160|0)+(v<<2)+2>>1]|0,b[m+2>>1]|0)|0;break}}if(j){j=b[r>>1]|0;i=b[g+27952+(K*160|0)+(w<<2)+2>>1]|0;break}if(k){j=b[u>>1]|0;i=b[g+27952+(K*160|0)+(v<<2)+2>>1]|0;break}else{j=b[m>>1]|0;i=b[m+2>>1]|0;break}}while(0);V=(dk(ja)|0)+j|0;i=(dk(ja)|0)+i<<16|V&65535}c[g+27952+(K*160|0)+(h<<2)>>2]=i;c[g+27952+(K*160|0)+(h<<2)+4>>2]=i;c[g+27952+(K*160|0)+(h<<2)+8>>2]=i;c[g+27952+(K*160|0)+(h<<2)+12>>2]=i;c[g+27952+(K*160|0)+(h<<2)+32>>2]=i;c[g+27952+(K*160|0)+(h<<2)+36>>2]=i;c[g+27952+(K*160|0)+(h<<2)+40>>2]=i;c[g+27952+(K*160|0)+(h<<2)+44>>2]=i;x=x+1|0}K=K+1|0;h=c[R>>2]|0}}k:while(1){h=c[R>>2]|0;if(m>>>0>=h>>>0)break;k=m<<1;l=g+23404+(m<<2)|0;j=0;while(1){if((j|0)>=2)break;l:do if(!(S&4096<>2]<>2];switch(i|0){case 1:{h=0;break l}case 2:{h=(Rj(ja)|0)^1;break l}default:{h=ak(ja)|0;if(h>>>0>>0)break l;else{da=208;break k}}}}while(0);V=(j<<1)+12+(g+28272+(m*40|0))|0;U=h*257&65535;b[V>>1]=U;b[V+8>>1]=U;b[V+16>>1]=U;b[V+24>>1]=U;j=j+1|0}m=m+1|0}if((da|0)==208){g=c[f+4>>2]|0;c[r>>2]=h;lf(g,16,139498,r);h=-1;break a}L=f+24312|0;M=g+21740|0;O=g+21720|0;P=f+26360|0;Q=f+26368|0;K=0;while(1){if(K>>>0>=h>>>0){l=W;break c}y=K<<1;z=g+28272+(K*40|0)+11|0;A=g+27952+(K*160|0)+44|0;B=g+27952+(K*160|0)+46|0;C=g+27952+(K*160|0)+40|0;D=12288<>0]|0;w=t<<24>>24;do if(!x)if((a[z>>0]|0)==t<<24>>24){j=b[A>>1]|0;i=b[B>>1]|0}else da=223;else{i=a[F>>0]|0;if(i<<24>>24==-2){k=G;i=a[I>>0]|0}else k=J;if(i<<24>>24!=t<<24>>24){da=223;break}j=b[k>>1]|0;i=b[k+2>>1]|0}while(0);do if((da|0)==223){da=0;i=a[150833+j>>0]|0;n=i&255;u=n+-8|0;q=a[g+28272+(K*40|0)+u>>0]|0;v=n+-1|0;r=a[g+28272+(K*40|0)+v>>0]|0;p=g+27952+(K*160|0)+(v<<2)|0;s=g+27952+(K*160|0)+(u<<2)|0;j=n+-6|0;k=a[g+28272+(K*40|0)+j>>0]|0;l=k<<24>>24;k=k<<24>>24==-2;do if((n&7|0)==4&((i&255)>19&(k&(c[Y>>2]|0)!=0))){if((a[z>>0]|0)==-2){da=232;break}o=c[(c[L>>2]|0)+48>>2]|0;c[C>>2]=0;m=(c[M>>2]&128|0)==0;if(!(c[X>>2]|0)){if(m){da=232;break}V=c[Z>>2]|0;j=V+(c[O>>2]|0)|0;i=(c[fa>>2]<<1&2)+(n>>>5)|0;if(!(c[o+((H(i>>>2,V)|0)+j<<2)>>2]&D)){m=C;l=-1;break}l=c[L>>2]|0;V=c[l+36+(K<<2)>>2]|0;m=(c[(c[P>>2]|0)+(j<<2)>>2]|0)+3+(H(c[Q>>2]|0,i)|0)|0;b[C>>1]=b[V+(m<<2)>>1]|0;b[E>>1]=b[V+(m<<2)+2>>1]<<1;m=C;l=a[(c[l+68+(K<<2)>>2]|0)+((i&14)+(j<<2|1))>>0]>>1;break}else{if(!m){da=232;break}j=c[g+21720+(((i&255)>35&1)<<2)>>2]|0;i=n>>>2;if(!(c[o+(j<<2)>>2]&D)){m=C;l=-1;break}l=c[L>>2]|0;V=c[l+36+(K<<2)>>2]|0;m=(c[(c[P>>2]|0)+(j<<2)>>2]|0)+3+(H(c[Q>>2]|0,i&3)|0)|0;b[C>>1]=b[V+(m<<2)>>1]|0;b[E>>1]=(b[V+(m<<2)+2>>1]|0)/2|0;m=C;l=a[(c[l+68+(K<<2)>>2]|0)+(i&2|j<<2|1)>>0]<<1;break}}else da=232;while(0);do if((da|0)==232){da=0;if(k){l=n+-9|0;m=g+27952+(K*160|0)+(l<<2)|0;l=a[g+28272+(K*40|0)+l>>0]|0;break}else{m=g+27952+(K*160|0)+(j<<2)|0;break}}while(0);k=q<<24>>24==t<<24>>24;j=r<<24>>24==t<<24>>24;i=(j&1)+(k&1)+((l|0)==(w|0)&1)|0;if(i>>>0>1){j=ck(b[p>>1]|0,b[s>>1]|0,b[m>>1]|0)|0;i=ck(b[g+27952+(K*160|0)+(v<<2)+2>>1]|0,b[g+27952+(K*160|0)+(u<<2)+2>>1]|0,b[m+2>>1]|0)|0;break}if((i|0)!=1){j=b[p>>1]|0;if(r<<24>>24!=-2&(q<<24>>24==-2&(l|0)==-2)){i=b[g+27952+(K*160|0)+(v<<2)+2>>1]|0;break}else{j=ck(j,b[s>>1]|0,b[m>>1]|0)|0;i=ck(b[g+27952+(K*160|0)+(v<<2)+2>>1]|0,b[g+27952+(K*160|0)+(u<<2)+2>>1]|0,b[m+2>>1]|0)|0;break}}if(j){j=b[p>>1]|0;i=b[g+27952+(K*160|0)+(v<<2)+2>>1]|0;break}if(k){j=b[s>>1]|0;i=b[g+27952+(K*160|0)+(u<<2)+2>>1]|0;break}else{j=b[m>>1]|0;i=b[m+2>>1]|0;break}}while(0);V=(dk(ja)|0)+j|0;i=(dk(ja)|0)+i<<16|V&65535}c[g+27952+(K*160|0)+(h<<2)>>2]=i;c[g+27952+(K*160|0)+(h<<2)+4>>2]=i;c[g+27952+(K*160|0)+(h<<2)+32>>2]=i;c[g+27952+(K*160|0)+(h<<2)+36>>2]=i;c[g+27952+(K*160|0)+(h<<2)+64>>2]=i;c[g+27952+(K*160|0)+(h<<2)+68>>2]=i;c[g+27952+(K*160|0)+(h<<2)+96>>2]=i;c[g+27952+(K*160|0)+(h<<2)+100>>2]=i;x=x+1|0}K=K+1|0;h=c[R>>2]|0}}else{if(!(h&1)){Y=g+21660|0;Z=$j(c[f+4>>2]|0,c[g+21760>>2]|0,c[g+21768>>2]|0,c[Y>>2]|0,0)|0;c[Y>>2]=Z;if((Z|0)<0){h=-1;break a}}else{if((W|0)!=0?(Rj(ja)|0)!=0:0){c[ia>>2]=h|16777216;j=4}else j=1;k=(j|0)==4;i=0;while(1){if((i|0)>=16)break;l=d[150833+i>>0]|0;h=a[l+-1+(g+21664)>>0]|0;Z=a[l+-8+(g+21664)>>0]|0;h=(h|0)>(Z|0)?Z:h;h=(h|0)<0?2:h;if(!(Rj(ja)|0)){Z=Zj(ja,3)|0;h=Z+((Z|0)>=(h|0)&1)|0}if(k){Z=g+21664+l|0;Y=h*257&65535;b[Z>>1]=Y;b[Z+8>>1]=Y}else a[g+21664+l>>0]=h;i=i+j|0}Z=(c[g+21704>>2]|0)+(c[(c[f+26364>>2]|0)+(c[ma>>2]<<2)>>2]|0)|0;c[Z>>2]=c[g+21700>>2];a[Z+4>>0]=a[g+21695>>0]|0;a[Z+5>>0]=a[g+21687>>0]|0;a[Z+6>>0]=a[g+21679>>0]|0;if((_j(g+21664|0,c[f+4>>2]|0,c[g+21760>>2]|0,c[g+21768>>2]|0)|0)<=-1){h=-1;break a}}if(aa){Y=c[f+4>>2]|0;Z=c[g+21760>>2]|0;h=c[g+21768>>2]|0;h=$j(Y,Z,h,ak(ja)|0,1)|0;if((h|0)<0){h=-1;break a}}else h=6;c[g+21656>>2]=h;l=W}while(0);h=c[ia>>2]|0;if(h&120|0){i=c[f+26368>>2]|0;j=(H(i<<2,c[fa>>2]|0)|0)+(c[ea>>2]<<2)|0;k=c[ma>>2]<<2;if(!(h&12288)){Z=(c[f+24384>>2]|0)+k|0;b[Z>>1]=-1;b[Z+2>>1]=-1}else{Z=(c[f+24352>>2]|0)+(j<<2)|0;X=g+28e3|0;Y=c[X+4>>2]|0;V=Z;c[V>>2]=c[X>>2];c[V+4>>2]=Y;V=g+28008|0;Y=c[V+4>>2]|0;X=Z+8|0;c[X>>2]=c[V>>2];c[X+4>>2]=Y;X=g+28032|0;Y=c[X+4>>2]|0;V=Z+(i<<2)|0;W=V;c[W>>2]=c[X>>2];c[W+4>>2]=Y;W=g+28040|0;Y=c[W+4>>2]|0;V=V+8|0;c[V>>2]=c[W>>2];c[V+4>>2]=Y;V=g+28064|0;Y=c[V+4>>2]|0;W=Z+(i<<1<<2)|0;X=W;c[X>>2]=c[V>>2];c[X+4>>2]=Y;X=g+28072|0;Y=c[X+4>>2]|0;W=W+8|0;c[W>>2]=c[X>>2];c[W+4>>2]=Y;W=g+28096|0;Y=c[W+4>>2]|0;Z=Z+(i*3<<2)|0;X=Z;c[X>>2]=c[W>>2];c[X+4>>2]=Y;X=g+28104|0;Y=c[X+4>>2]|0;Z=Z+8|0;c[Z>>2]=c[X>>2];c[Z+4>>2]=Y;Z=(c[f+24384>>2]|0)+k|0;a[Z>>0]=a[g+28284>>0]|0;a[Z+1>>0]=a[g+28286>>0]|0;a[Z+2>>0]=a[g+28300>>0]|0;a[Z+3>>0]=a[g+28302>>0]|0}if(h&49152|0){Z=(c[f+24356>>2]|0)+(j<<2)|0;X=g+28160|0;Y=c[X+4>>2]|0;V=Z;c[V>>2]=c[X>>2];c[V+4>>2]=Y;V=g+28168|0;Y=c[V+4>>2]|0;X=Z+8|0;c[X>>2]=c[V>>2];c[X+4>>2]=Y;X=g+28192|0;Y=c[X+4>>2]|0;V=Z+(i<<2)|0;W=V;c[W>>2]=c[X>>2];c[W+4>>2]=Y;W=g+28200|0;Y=c[W+4>>2]|0;V=V+8|0;c[V>>2]=c[W>>2];c[V+4>>2]=Y;V=g+28224|0;Y=c[V+4>>2]|0;W=Z+(i<<1<<2)|0;X=W;c[X>>2]=c[V>>2];c[X+4>>2]=Y;X=g+28232|0;Y=c[X+4>>2]|0;W=W+8|0;c[W>>2]=c[X>>2];c[W+4>>2]=Y;W=g+28256|0;Y=c[W+4>>2]|0;Z=Z+(i*3<<2)|0;X=Z;c[X>>2]=c[W>>2];c[X+4>>2]=Y;X=g+28264|0;Y=c[X+4>>2]|0;Z=Z+8|0;c[Z>>2]=c[X>>2];c[Z+4>>2]=Y;Z=(c[f+24388>>2]|0)+k|0;a[Z>>0]=a[g+28324>>0]|0;a[Z+1>>0]=a[g+28326>>0]|0;a[Z+2>>0]=a[g+28340>>0]|0;a[Z+3>>0]=a[g+28342>>0]|0}}h=c[ia>>2]|0;if(h&2)if(_>>>0>15&(aa^1)){lf(c[f+4>>2]|0,16,140156,$);h=-1094995529;break}else w=_;else{i=Tj(ja)|0;do if(aa){if(i>>>0>47){h=c[f+4>>2]|0;f=c[ea>>2]|0;g=c[fa>>2]|0;c[ba>>2]=i;c[ba+4>>2]=f;c[ba+8>>2]=g;lf(h,16,139515,ba);h=-1;break a}h=c[ia>>2]|0;if(!(h&1)){i=128189+i|0;break}else{i=128141+i|0;break}}else{if(i>>>0>15){h=c[f+4>>2]|0;f=c[ea>>2]|0;g=c[fa>>2]|0;c[ca>>2]=i;c[ca+4>>2]=f;c[ca+8>>2]=g;lf(h,16,139515,ca);h=-1;break a}h=c[ia>>2]|0;if(!(h&1)){i=139560+i|0;break}else{i=139544+i|0;break}}while(0);w=d[i>>0]|0}u=(w&15|0)==0;if((h&7|0)==0&(((l|0)==0|u)^1)){h=(Rj(ja)|0)<<24;h=c[ia>>2]|h;c[ia>>2]=h}r=f+26392|0;b[(c[r>>2]|0)+(na<<1)>>1]=w;c[g+21856>>2]=w&65535;c[(c[f+24364>>2]|0)+(na<<2)>>2]=h;if((w|0)==0?(c[ia>>2]&2|0)==0:0){c[g+27836>>2]=0;c[g+27844>>2]=0;c[g+27852>>2]=0;c[g+27860>>2]=0;c[g+27876>>2]=0;c[g+27884>>2]=0;c[g+27892>>2]=0;c[g+27900>>2]=0;c[g+27916>>2]=0;c[g+27924>>2]=0;c[g+27932>>2]=0;c[g+27940>>2]=0;h=g+848|0}else da=274;m:do if((da|0)==274){i=(c[(c[ha>>2]|0)+1184>>2]|0)*6|0;k=i+3|0;l=dk(ja)|0;h=g+848|0;j=(c[h>>2]|0)+l|0;c[h>>2]=j;if(j>>>0>k>>>0){i=((j|0)<0?i+4|0:-4-i|0)+j|0;c[h>>2]=i;if(i>>>0>k>>>0){g=c[f+4>>2]|0;na=c[ea>>2]|0;f=c[fa>>2]|0;c[ga>>2]=l;c[ga+4>>2]=na;c[ga+8>>2]=f;lf(g,16,139576,ga);c[h>>2]=k;h=-1;break a}else j=i}i=c[la>>2]|0;q=g+852|0;c[q>>2]=d[i+548+j>>0];s=g+856|0;c[s>>2]=d[i+636+j>>0];i=c[ia>>2]|0;ga=(i&128|0)==0;t=(j|0)!=0;v=ga?(t?f+26428|0:f+26716|0):t?f+26572|0:f+26860|0;t=ga?(t?f+26508|0:f+26796|0):t?f+26652|0:f+26940|0;n:do if(!(i&2)){p=i&7|0?0:3;o=(i&16777216|0)==0;i=0;n=0;while(1){if((n|0)>=4)break;o:do if(1<=4)break o;k=l+m|0;if((ek(f,g,ja,g+28560+(k<<4<>2]|0)+173788+(p<<2)>>2]|0)+(j<<6)|0,16)|0)<0){h=-1;break a}l=l+1|0;i=d[(d[150833+k>>0]|0)+(g+27824)>>0]<=4)break;if((ek(f,g,ja,l,k+m|0,t+(k<<4)|0,(c[(c[la>>2]|0)+173812+(p<<2)>>2]|0)+(j<<8)|0,16)|0)>-1)k=k+1|0;else{h=-1;break a}}fa=(d[150833+m>>0]|0)+(g+27824)|0;ga=(d[fa+8>>0]|0)+(d[fa+1>>0]|0)+(d[fa+9>>0]|0)+(d[fa>>0]|0)&255;a[fa>>0]=ga;i=(ga<<24>>24!=0&1)<>0]|0)+(g+27824)|0;a[ga+9>>0]=0;a[ga+8>>0]=0;a[ga+1>>0]=0;a[ga>>0]=0}while(0);n=n+1|0}if((i|0)<0){h=-1;break a}}else{i=g+31632|0;k=i;l=k+64|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));if((ek(f,g,ja,i,48,v,0,16)|0)<0){h=-1;break a}if(u){c[g+27836>>2]=0;c[g+27844>>2]=0;c[g+27852>>2]=0;c[g+27860>>2]=0;i=0;break}l=v+1|0;k=0;while(1){if((k|0)>=4){i=15;break n}m=k<<2;i=0;while(1){if((i|0)>=4)break;ga=i+m|0;if((ek(f,g,ja,g+28560+(ga<<4<>2]|0)+173788>>2]|0)+(j<<6)|0,15)|0)>-1)i=i+1|0;else{h=-1;break a}}k=k+1|0}}while(0);r=(c[r>>2]|0)+(na<<1)|0;b[r>>1]=i<<12|e[r>>1];r=c[(c[ha>>2]|0)+12>>2]|0;if((r|0)!=3){p:do if(w&48|0){j=r<<2;i=0;while(1){if((i|0)>=2)break p;if((ek(f,g,ja,g+28560+((i<<8)+256<>2]|0)+12>>2]|0)==2?128241:128237,0,j)|0)<0){h=-1;break a}else i=i+1|0}}while(0);if(!(w&32)){c[g+27876>>2]=0;c[g+27884>>2]=0;c[g+27892>>2]=0;c[g+27900>>2]=0;c[g+27916>>2]=0;c[g+27924>>2]=0;c[g+27932>>2]=0;c[g+27940>>2]=0;break}n=v+1|0;o=16<=2)break m;p=i+1|0;q=(c[(c[la>>2]|0)+173788+((c[ia>>2]&7|0?0:3)+p<<2)>>2]|0)+(c[g+852+(i<<2)>>2]<<6)|0;l=(i<<4)+16|0;i=g+28560+(l<<4<=(r|0)){i=p;continue q}m=(j<<3)+l|0;k=0;while(1){if((k|0)>=4)break;if((ek(f,g,ja,i,m+k|0,n,q,15)|0)<=-1){h=-1;break a}k=k+1|0;i=i+(o<<1)|0}j=j+1|0}}}i=c[ia>>2]|0;p=c[q>>2]|0;r:do if(!(i&2)){o=i&7|0?1:4;n=(i&16777216|0)==0;i=0;m=0;while(1){if((m|0)>=4)break;s:do if(1<=4)break s;j=l+k|0;if((ek(f,g,ja,g+28560+(j<<4<>2]|0)+173788+(o<<2)>>2]|0)+(p<<6)|0,16)|0)<0){h=-1;break a}k=k+1|0;i=d[(d[150833+j>>0]|0)+(g+27824)>>0]<=4)break;if((ek(f,g,ja,k,j+l|0,t+(j<<4)|0,(c[(c[la>>2]|0)+173812+(o<<2)>>2]|0)+(p<<8)|0,16)|0)>-1)j=j+1|0;else{h=-1;break a}}ga=(d[150833+l>>0]|0)+(g+27824)|0;ha=(d[ga+8>>0]|0)+(d[ga+1>>0]|0)+(d[ga+9>>0]|0)+(d[ga>>0]|0)&255;a[ga>>0]=ha;i=(ha<<24>>24!=0&1)<>0]|0)+(g+27824)|0;a[ha+9>>0]=0;a[ha+8>>0]=0;a[ha+1>>0]=0;a[ha>>0]=0}while(0);m=m+1|0}if((i|0)<0){h=-1;break a}}else{i=g+31696|0;k=i;l=k+64|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));if((ek(f,g,ja,i,49,v,0,16)|0)<0){h=-1;break a}if(u){c[g+27876>>2]=0;c[g+27884>>2]=0;c[g+27892>>2]=0;c[g+27900>>2]=0;break}k=v+1|0;j=0;while(1){if((j|0)>=4)break r;l=(j<<2)+16|0;i=0;while(1){if((i|0)>=4)break;ha=l+i|0;if((ek(f,g,ja,g+28560+(ha<<4<>2]|0)+173792>>2]|0)+(p<<6)|0,15)|0)>-1)i=i+1|0;else{h=-1;break a}}j=j+1|0}}while(0);i=c[ia>>2]|0;p=c[s>>2]|0;if(i&2|0){i=g+31760|0;k=i;l=k+64|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));if((ek(f,g,ja,i,50,v,0,16)|0)<0){h=-1;break a}if(u){c[g+27916>>2]=0;c[g+27924>>2]=0;c[g+27932>>2]=0;c[g+27940>>2]=0;break}k=v+1|0;j=0;while(1){if((j|0)>=4)break m;l=(j<<2)+32|0;i=0;while(1){if((i|0)>=4)break;ia=l+i|0;if((ek(f,g,ja,g+28560+(ia<<4<>2]|0)+173796>>2]|0)+(p<<6)|0,15)|0)>-1)i=i+1|0;else{h=-1;break a}}j=j+1|0}}o=i&7|0?2:5;n=(i&16777216|0)==0;i=0;m=0;while(1){if((m|0)>=4)break;t:do if(1<=4)break t;j=l+k|0;if((ek(f,g,ja,g+28560+(j<<4<>2]|0)+173788+(o<<2)>>2]|0)+(p<<6)|0,16)|0)<0){h=-1;break a}k=k+1|0;i=d[(d[150833+j>>0]|0)+(g+27824)>>0]<=4)break;if((ek(f,g,ja,k,j+l|0,t+(j<<4)|0,(c[(c[la>>2]|0)+173812+(o<<2)>>2]|0)+(p<<8)|0,16)|0)>-1)j=j+1|0;else{h=-1;break a}}ha=(d[150833+l>>0]|0)+(g+27824)|0;ia=(d[ha+8>>0]|0)+(d[ha+1>>0]|0)+(d[ha+9>>0]|0)+(d[ha>>0]|0)&255;a[ha>>0]=ia;i=(ia<<24>>24!=0&1)<>0]|0)+(g+27824)|0;a[ia+9>>0]=0;a[ia+8>>0]=0;a[ia+1>>0]=0;a[ia>>0]=0}while(0);m=m+1|0}if((i|0)<0){h=-1;break a}}while(0);a[(c[f+24340>>2]|0)+na>>0]=c[h>>2];h=c[ma>>2]|0;i=c[f+25972>>2]|0;c[i+(h*48|0)>>2]=c[g+27836>>2];c[i+(h*48|0)+4>>2]=c[g+27844>>2];c[i+(h*48|0)+8>>2]=c[g+27852>>2];c[i+(h*48|0)+12>>2]=c[g+27860>>2];c[i+(h*48|0)+16>>2]=c[g+27876>>2];c[i+(h*48|0)+20>>2]=c[g+27884>>2];c[i+(h*48|0)+32>>2]=c[g+27916>>2];c[i+(h*48|0)+36>>2]=c[g+27924>>2];if(!(c[f+25680>>2]|0)){c[i+(h*48|0)+24>>2]=c[g+27892>>2];c[i+(h*48|0)+28>>2]=c[g+27900>>2];c[i+(h*48|0)+40>>2]=c[g+27932>>2];c[i+(h*48|0)+44>>2]=c[g+27940>>2];h=0}else h=0}while(0);$c=oa;return h|0}function Qj(a){a=a|0;var b=0,c=0,e=0;e=ok(a)|0;b=e>>>0>65535;e=b?e>>>16:e;b=b?16:0;c=(e&65280|0)==0;b=31-(d[120631+(c?e:e>>>8)>>0]|0)-(c?b:b|8)|0;Wj(a,b);return (pk(a,b+1|0)|0)+-1|0}function Rj(a){a=a|0;var b=0,e=0;b=a+8|0;e=c[b>>2]|0;a=(d[(c[a>>2]|0)+(e>>>3)>>0]|0)<<(e&7)>>>7&1;c[b>>2]=e+1;return a|0}function Sj(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);v=z+4|0;x=z;w=f+21796|0;y=c[w>>2]|0;c[x>>2]=0;g=(c[e+25972>>2]|0)+(y*48|0)|0;h=g+48|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));u=f+21828|0;if(!(c[u>>2]|0))g=0;else{c[x>>2]=128;g=128}if((c[f+840>>2]|0)==3){g=g|63744;c[x>>2]=g;if(c[f+21844>>2]|0){Xj(e,f,g);Yj(e,f,g)}bk(e,f,x);j=c[x>>2]|2048;c[x>>2]=j;g=e+26368|0}else{j=g|14344;c[x>>2]=j;Xj(e,f,j);o=c[e+24384>>2]|0;p=c[e+24352>>2]|0;g=e+26368|0;q=c[g>>2]|0;c[f+28284>>2]=0;c[f+28292>>2]=0;c[f+28300>>2]=0;c[f+28308>>2]=0;k=c[f+21740>>2]|0;if(!(k&12288))if(!k)h=0;else{t=183140;r=-1;l=16}else{h=c[f+21720>>2]|0;t=d[c[f+21748>>2]>>0]|0;i=a[o+((t&254)+(h<<2|1))>>0]|0;h=p+((H(q,t)|0)+3+(c[(c[e+26360>>2]|0)+(h<<2)>>2]|0)<<2)|0;do if(c[e+26376>>2]|0){k=(k&128|0)!=0;if(!(c[u>>2]|0)){if(!k)break;h=c[h>>2]|0;c[v>>2]=h;b[v+2>>1]=h>>16<<1;h=v;i=i>>1;break}else{if(k)break;h=c[h>>2]|0;c[v>>2]=h;b[v+2>>1]=((h>>>16&65535)<<16>>16)/2|0;h=v;i=i<<1;break}}while(0);if(!(c[h>>2]|i))h=0;else{t=h;r=i;l=16}}do if((l|0)==16){k=c[f+21732>>2]|0;if(!(k&12288))if(!k){h=0;break}else{m=-1;n=183140}else{i=c[f+21712>>2]|0;h=a[o+(i<<2|2)>>0]|0;i=p+((c[(c[e+26360>>2]|0)+(i<<2)>>2]|0)+(q*3|0)<<2)|0;do if(c[e+26376>>2]|0){k=(k&128|0)!=0;if(!(c[u>>2]|0)){if(!k)break;n=c[i>>2]|0;i=v+4|0;c[i>>2]=n;b[v+6>>1]=n>>16<<1;h=h>>1;break}else{if(k)break;n=c[i>>2]|0;i=v+4|0;c[i>>2]=n;b[v+6>>1]=((n>>>16&65535)<<16>>16)/2|0;h=h<<1;break}}while(0);if(!(c[i>>2]|h)){h=0;break}else{m=h;n=i}}i=c[f+21736>>2]|0;do if(!(i&12288))if((i|0)==0?(s=c[f+21728>>2]|0,(s&12288|0)!=0):0){k=c[f+21708>>2]|0;l=c[f+21752>>2]|0;h=a[o+(k<<2|l&2|1)>>0]|0;k=p+(q+3+(l&q<<1)+(c[(c[e+26360>>2]|0)+(k<<2)>>2]|0)<<2)|0;if(c[e+26376>>2]|0){i=(s&128|0)!=0;if(!(c[u>>2]|0)){if(!i){l=k;break}u=c[k>>2]|0;l=v+8|0;c[l>>2]=u;b[v+10>>1]=u>>16<<1;h=h>>1;break}else{if(i){l=k;break}u=c[k>>2]|0;l=v+8|0;c[l>>2]=u;b[v+10>>1]=((u>>>16&65535)<<16>>16)/2|0;h=h<<1;break}}else l=k}else{l=183140;h=-1}else{k=c[f+21716>>2]|0;h=a[o+(k<<2|2)>>0]|0;k=p+((c[(c[e+26360>>2]|0)+(k<<2)>>2]|0)+(q*3|0)<<2)|0;if(c[e+26376>>2]|0){i=(i&128|0)!=0;if(!(c[u>>2]|0)){if(!i){l=k;break}u=c[k>>2]|0;l=v+8|0;c[l>>2]=u;b[v+10>>1]=u>>16<<1;h=h>>1;break}else{if(i){l=k;break}u=c[k>>2]|0;l=v+8|0;c[l>>2]=u;b[v+10>>1]=((u>>>16&65535)<<16>>16)/2|0;h=h<<1;break}}else l=k}while(0);k=(m|0)!=0;i=(r|0)!=0;h=((k^1)&1)+((i^1)&1)+((h|0)==0&1)|0;do if(h>>>0<=1){if((h|0)!=1){h=ck(b[t>>1]|0,b[n>>1]|0,b[l>>1]|0)|0;i=ck(b[t+2>>1]|0,b[n+2>>1]|0,b[l+2>>1]|0)|0;break}if(!i){i=b[t+2>>1]|0;h=b[t>>1]|0;break}if(k){i=b[l+2>>1]|0;h=b[l>>1]|0;break}else{i=b[n+2>>1]|0;h=b[n>>1]|0;break}}else{h=ck(b[t>>1]|0,b[n>>1]|0,b[l>>1]|0)|0;i=ck(b[t+2>>1]|0,b[n+2>>1]|0,b[l+2>>1]|0)|0}while(0);h=i<<16|h&65535}while(0);c[f+28e3>>2]=h;c[f+28004>>2]=h;c[f+28008>>2]=h;c[f+28012>>2]=h;c[f+28032>>2]=h;c[f+28036>>2]=h;c[f+28040>>2]=h;c[f+28044>>2]=h;c[f+28064>>2]=h;c[f+28068>>2]=h;c[f+28072>>2]=h;c[f+28076>>2]=h;c[f+28096>>2]=h;c[f+28100>>2]=h;c[f+28104>>2]=h;c[f+28108>>2]=h}h=c[g>>2]|0;i=(H(h<<2,c[f+21792>>2]|0)|0)+(c[f+21788>>2]<<2)|0;g=c[w>>2]<<2;if(!(j&12288)){w=(c[e+24384>>2]|0)+g|0;b[w>>1]=-1;b[w+2>>1]=-1}else{w=(c[e+24352>>2]|0)+(i<<2)|0;u=f+28e3|0;v=c[u+4>>2]|0;s=w;c[s>>2]=c[u>>2];c[s+4>>2]=v;s=f+28008|0;v=c[s+4>>2]|0;u=w+8|0;c[u>>2]=c[s>>2];c[u+4>>2]=v;u=f+28032|0;v=c[u+4>>2]|0;s=w+(h<<2)|0;t=s;c[t>>2]=c[u>>2];c[t+4>>2]=v;t=f+28040|0;v=c[t+4>>2]|0;s=s+8|0;c[s>>2]=c[t>>2];c[s+4>>2]=v;s=f+28064|0;v=c[s+4>>2]|0;t=w+(h<<1<<2)|0;u=t;c[u>>2]=c[s>>2];c[u+4>>2]=v;u=f+28072|0;v=c[u+4>>2]|0;t=t+8|0;c[t>>2]=c[u>>2];c[t+4>>2]=v;t=f+28096|0;v=c[t+4>>2]|0;w=w+(h*3<<2)|0;u=w;c[u>>2]=c[t>>2];c[u+4>>2]=v;u=f+28104|0;v=c[u+4>>2]|0;w=w+8|0;c[w>>2]=c[u>>2];c[w+4>>2]=v;w=(c[e+24384>>2]|0)+g|0;a[w>>0]=a[f+28284>>0]|0;a[w+1>>0]=a[f+28286>>0]|0;a[w+2>>0]=a[f+28300>>0]|0;a[w+3>>0]=a[f+28302>>0]|0}if(j&49152|0){w=(c[e+24356>>2]|0)+(i<<2)|0;u=f+28160|0;v=c[u+4>>2]|0;s=w;c[s>>2]=c[u>>2];c[s+4>>2]=v;s=f+28168|0;v=c[s+4>>2]|0;u=w+8|0;c[u>>2]=c[s>>2];c[u+4>>2]=v;u=f+28192|0;v=c[u+4>>2]|0;s=w+(h<<2)|0;t=s;c[t>>2]=c[u>>2];c[t+4>>2]=v;t=f+28200|0;v=c[t+4>>2]|0;s=s+8|0;c[s>>2]=c[t>>2];c[s+4>>2]=v;s=f+28224|0;v=c[s+4>>2]|0;t=w+(h<<1<<2)|0;u=t;c[u>>2]=c[s>>2];c[u+4>>2]=v;u=f+28232|0;v=c[u+4>>2]|0;t=t+8|0;c[t>>2]=c[u>>2];c[t+4>>2]=v;t=f+28256|0;v=c[t+4>>2]|0;w=w+(h*3<<2)|0;u=w;c[u>>2]=c[t>>2];c[u+4>>2]=v;u=f+28264|0;v=c[u+4>>2]|0;w=w+8|0;c[w>>2]=c[u>>2];c[w+4>>2]=v;w=(c[e+24388>>2]|0)+g|0;a[w>>0]=a[f+28324>>0]|0;a[w+1>>0]=a[f+28326>>0]|0;a[w+2>>0]=a[f+28340>>0]|0;a[w+3>>0]=a[f+28342>>0]|0}c[(c[e+24364>>2]|0)+(y<<2)>>2]=c[x>>2];a[(c[e+24340>>2]|0)+y>>0]=c[f+848>>2];b[(c[e+26372>>2]|0)+(y<<1)>>1]=c[f+832>>2];c[f+21648>>2]=1;$c=z;return}function Tj(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0;h=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);g=h;e=a+8|0;f=c[e>>2]|0;b=(c[a>>2]|0)+(f>>>3)|0;b=(VW(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24|0)|0)<<(f&7);do if(b>>>0<=134217727){j=b>>>0>65535;i=j?b>>>16:b;j=j?16:0;a=(i&65280|0)==0;i=(a?j:j|8)+(d[120631+(a?i:i>>>8)>>0]|0)|0;a=i<<1;c[e>>2]=f+63-a;if(i>>>0<19){lf(0,16,155990,g);a=-1094995529;break}else{a=(b>>>(a+-31|0))+-1|0;break}}else{a=b>>>23;c[e>>2]=f+(d[126600+a>>0]|0);a=d[127112+a>>0]|0}while(0);$c=h;return a|0}function Uj(a){a=a|0;var b=0;b=0-(nk(a)|0)&7;if(b|0)hk(a,b);return (c[a>>2]|0)+(c[a+8>>2]>>3)|0}function Vj(a){a=a|0;var b=0;b=c[a+12>>2]|0;return b-(nk(a)|0)|0}function Wj(a,b){a=a|0;b=b|0;a=a+8|0;c[a>>2]=(c[a>>2]|0)+b;return}function Xj(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=c[b+21796>>2]|0;j=b+21752|0;c[j>>2]=-1;o=c[a+27016>>2]|0;m=i-(o<>2])|0;f=m+-1|0;g=m+1|0;h=i+-1|0;n=b+21748|0;c[n>>2]=139992;q=c[a+24364>>2]|0;do if(c[a+26376>>2]|0){k=c[q+(h<<2)>>2]&128;l=d&128;if(!(c[b+21792>>2]&1)){i=(l|0)!=0;if(i){d=(((c[q+(m<<2)>>2]|0)>>>7&1)+-1&o)+m|0;g=(((c[q+(g<<2)>>2]|0)>>>7&1)+-1&o)+g|0;f=(((c[q+(f<<2)>>2]|0)>>>7&1)+-1&o)+f|0}else d=m;if((k|0)==(l|0)){p=d;n=f;m=h;d=h;break}c[n>>2]=i?140088:140056;p=d;n=f;m=h;d=h+(i?o:0)|0;break}else{if((k|0)==(l|0)){p=m;n=f;m=h;d=h;break}i=i-o+-1|0;if(!l){c[j>>2]=0;f=o+f|0;d=140024;h=i}else d=140088;c[n>>2]=d;p=m;n=f;m=i;d=h;break}}else{p=m;n=f;m=h;d=h}while(0);c[b+21708>>2]=n;c[b+21712>>2]=p;c[b+21716>>2]=g;c[b+21720>>2]=m;c[b+21724>>2]=d;h=b+21728|0;c[h>>2]=c[q+(n<<2)>>2];i=b+21732|0;c[i>>2]=c[q+(p<<2)>>2];j=b+21736|0;c[j>>2]=c[q+(g<<2)>>2];k=b+21740|0;c[k>>2]=c[q+(m<<2)>>2];l=b+21744|0;c[l>>2]=c[q+(d<<2)>>2];f=c[a+26372>>2]|0;d=c[b+832>>2]|0;if((d|0)!=(e[f+(n<<1)>>1]|0|0)){c[h>>2]=0;if((d|0)!=(e[f+(p<<1)>>1]|0|0))c[i>>2]=0;if((d|0)!=(e[f+(m<<1)>>1]|0|0)){c[l>>2]=0;c[k>>2]=0}}if((d|0)!=(e[f+(g<<1)>>1]|0|0))c[j>>2]=0;return}function Yj(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0;ia=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);_=ia+8|0;$=ia;fa=c[f+21748>>2]|0;ha=c[f+21708>>2]|0;T=c[f+21712>>2]|0;U=c[f+21716>>2]|0;V=c[f+21720>>2]|0;c[_>>2]=V;c[_+4>>2]=c[f+21724>>2];W=c[f+21728>>2]|0;X=c[f+21732>>2]|0;Y=c[f+21736>>2]|0;Z=c[f+21740>>2]|0;c[$>>2]=Z;r=c[f+21744>>2]|0;c[$+4>>2]=r;a:do if(!(g&2048)){b:do if(g&7|0){o=c[(c[e+28212>>2]|0)+56>>2]|0?7:-1;j=f+21768|0;c[j>>2]=65535;h=f+21760|0;c[h>>2]=65535;l=f+21756|0;c[l>>2]=65535;m=f+21764|0;c[m>>2]=61162;n=(o&X|0)!=0;if(n){h=65535;k=60138}else{c[l>>2]=46079;c[h>>2]=13311;c[m>>2]=9962;h=46079;k=8938}i=g&128;do if((i|0)==(Z&128|0)){if(!(Z&o)){h=h&57183;c[l>>2]=h;c[j>>2]=24415}}else{if(!i){if(!((Z&o|0)==0?1:(c[(c[e+24364>>2]|0)+((c[e+27016>>2]|0)+V<<2)>>2]&o|0)==0))break;h=h&57183;c[l>>2]=h;c[j>>2]=24415;break}if(!(Z&o)){h=h&57343;c[l>>2]=h;c[j>>2]=24575;i=24415}else i=65375;if(!(r&o)){h=h&65375;c[l>>2]=h;c[j>>2]=i}}while(0);if(!(o&W))c[l>>2]=h&32767;if(!(o&Y))c[m>>2]=k;if(g&1|0){if(!(X&1)){ZW(f+21668|0,(n?2:-1)|0,4)|0;k=f+21704|0;l=e+26364|0}else{k=f+21704|0;l=e+26364|0;c[f+21668>>2]=c[(c[k>>2]|0)+(c[(c[l>>2]|0)+(T<<2)>>2]|0)>>2]}j=0;while(1){if((j|0)==2)break b;h=c[$+(j<<2)>>2]|0;if(!(h&1)){h=(h&o|0)==0?-1:2;i=j<<4;a[i+19+(f+21664)>>0]=h;i=i|11}else{S=(c[k>>2]|0)+(c[(c[l>>2]|0)+(c[_+(j<<2)>>2]<<2)>>2]|0)|0;h=j<<1;i=j<<4;a[(i|11)+(f+21664)>>0]=a[S+(6-(d[fa+h>>0]|0))>>0]|0;h=a[S+(6-(d[fa+(h|1)>>0]|0))>>0]|0;i=i+19|0}a[f+21664+i>>0]=h;j=j+1|0}}}while(0);if(!X){c[f+27828>>2]=1077952576;c[f+27868>>2]=1077952576;p=e+25972|0;h=1077952576}else{p=e+25972|0;h=c[p>>2]|0;c[f+27828>>2]=c[h+(T*48|0)+12>>2];S=(c[e+25680>>2]|0)==0;c[f+27868>>2]=c[(S?28:20)+(h+(T*48|0))>>2];h=c[(S?44:36)+(h+(T*48|0))>>2]|0}c[f+27908>>2]=h;o=e+28216|0;n=0;while(1){if((n|0)==2)break a;if(!(c[$+(n<<2)>>2]|0)){i=n<<4;a[i+99+(f+27824)>>0]=64;a[i+91+(f+27824)>>0]=64;a[i+59+(f+27824)>>0]=64;a[i+51+(f+27824)>>0]=64;a[i+19+(f+27824)>>0]=64;i=i|11;h=64}else{l=c[p>>2]|0;m=c[_+(n<<2)>>2]|0;h=n<<1;j=fa+(h+8)|0;i=n<<4;a[(i|11)+(f+27824)>>0]=a[(d[j>>0]|0)+(l+(m*48|0))>>0]|0;k=fa+(h+9)|0;a[i+19+(f+27824)>>0]=a[(d[k>>0]|0)+(l+(m*48|0))>>0]|0;switch(c[(c[o>>2]|0)+12>>2]|0){case 3:{a[i+51+(f+27824)>>0]=a[(d[j>>0]|0)+16+(l+(m*48|0))>>0]|0;a[i+59+(f+27824)>>0]=a[(d[k>>0]|0)+16+(l+(m*48|0))>>0]|0;a[i+91+(f+27824)>>0]=a[(d[j>>0]|0)+32+(l+(m*48|0))>>0]|0;k=(d[k>>0]|0)+32|0;h=i+99|0;break}case 2:{a[i+51+(f+27824)>>0]=a[(d[j>>0]|0)+14+(l+(m*48|0))>>0]|0;a[i+59+(f+27824)>>0]=a[(d[k>>0]|0)+14+(l+(m*48|0))>>0]|0;a[i+91+(f+27824)>>0]=a[(d[j>>0]|0)+30+(l+(m*48|0))>>0]|0;h=(d[k>>0]|0)+30|0;j=99;q=39;break}default:{i=n<<3;a[i+51+(f+27824)>>0]=a[(d[fa+(h+12)>>0]|0)+(l+(m*48|0))>>0]|0;h=d[fa+(h+13)>>0]|0;j=91;q=39}}if((q|0)==39){q=0;k=h;h=j+i|0}i=h;h=a[l+(m*48|0)+k>>0]|0}a[f+27824+i>>0]=h;n=n+1|0}}while(0);if(!(g&120)){if(g&256|0?c[f+21844>>2]|0:0)q=46}else q=46;c:do if((q|0)==46){x=c[e+26368>>2]|0;y=f+23412|0;z=X|0?-1:-16843010;A=(g&80|0)==0;B=Z|0?-1:-2;C=e+26360|0;D=V<<2|1;E=Y|0?-1:-2;F=W|0?-1:-2;G=f+21752|0;I=x<<1;J=x+3|0;K=ha<<2;L=(g&2304|0)==0;M=e+26376|0;O=f+21828|0;P=(W&128|0)!=0;Q=(X&128|0)==0;R=(Y&128|0)==0;S=(Z&128|0)==0;s=(r&128|0)==0;t=x*3|0;u=U<<2|2;w=T<<2;v=w|2;w=w|3;r=0;while(1){if(r>>>0>=(c[y>>2]|0)>>>0)break c;m=f+28272+(r*40|0)+12|0;o=c[e+24384+(r<<2)>>2]|0;n=f+27952+(r*160|0)+48|0;p=c[e+24352+(r<<2)>>2]|0;q=12288<<(r<<1);do if(q&g|0){if(!(q&X)){l=f+27952+(r*160|0)+16|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[f+28272+(r*40|0)+4>>2]=z}else{j=(c[(c[C>>2]|0)+(T<<2)>>2]|0)+t|0;i=p+(j<<2)|0;l=c[i+4>>2]|0;k=f+27952+(r*160|0)+16|0;c[k>>2]=c[i>>2];c[k+4>>2]=l;j=p+(j<<2)+8|0;k=c[j+4>>2]|0;l=f+27952+(r*160|0)+24|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;l=a[o+v>>0]|0;a[f+28272+(r*40|0)+5>>0]=l;a[f+28272+(r*40|0)+4>>0]=l;l=a[o+w>>0]|0;a[f+28272+(r*40|0)+7>>0]=l;a[f+28272+(r*40|0)+6>>0]=l}d:do if(A){if(!(Z&q)){c[f+27952+(r*160|0)+44>>2]=0;h=B}else{c[f+27952+(r*160|0)+44>>2]=c[p+((c[(c[C>>2]|0)+(V<<2)>>2]|0)+3+(H(x,d[fa>>0]|0)|0)<<2)>>2];h=a[o+(D+(a[fa>>0]&-2&255))>>0]|0}a[f+28272+(r*40|0)+11>>0]=h}else{l=0;while(1){if((l|0)==2)break d;i=l<<1;j=l<<4;h=j+-1|0;k=c[$+(l<<2)>>2]|0;if(!(k&q)){c[n+(h<<2)>>2]=0;j=j|7;c[n+(j<<2)>>2]=0;i=k|0?-1:-2;a[m+j>>0]=i}else{ja=c[_+(l<<2)>>2]|0;la=(c[(c[C>>2]|0)+(ja<<2)>>2]|0)+3|0;ja=ja<<2|1;ka=fa+i|0;c[n+(h<<2)>>2]=c[p+((H(x,d[ka>>0]|0)|0)+la<<2)>>2];i=fa+(i|1)|0;k=j|7;c[n+(k<<2)>>2]=c[p+((H(x,d[i>>0]|0)|0)+la<<2)>>2];a[m+h>>0]=a[o+(ja+(a[ka>>0]&-2&255))>>0]|0;i=a[o+(ja+(a[i>>0]&-2&255))>>0]|0;h=k}a[m+h>>0]=i;l=l+1|0}}while(0);if(!(q&Y)){c[f+27952+(r*160|0)+32>>2]=0;h=E}else{c[f+27952+(r*160|0)+32>>2]=c[p+((c[(c[C>>2]|0)+(U<<2)>>2]|0)+t<<2)>>2];h=a[o+u>>0]|0}k=f+28272+(r*40|0)+8|0;a[k>>0]=h;j=f+28272+(r*40|0)+6|0;if((a[j>>0]|h)<<24>>24<0){if(!(q&W)){c[f+27952+(r*160|0)+12>>2]=0;h=F}else{h=c[G>>2]|0;c[f+27952+(r*160|0)+12>>2]=c[p+(J+(c[(c[C>>2]|0)+(ha<<2)>>2]|0)+(h&I)<<2)>>2];h=a[o+(K|h&2|1)>>0]|0}a[f+28272+(r*40|0)+3>>0]=h}if(L){a[f+28272+(r*40|0)+30>>0]=-2;a[f+28272+(r*40|0)+14>>0]=-2;c[f+27952+(r*160|0)+56>>2]=0;c[f+27952+(r*160|0)+120>>2]=0;if(!(c[M>>2]|0))break}else if(!(c[M>>2]|0))break;if(!(c[O>>2]|0)){if(P?(da=f+28272+(r*40|0)+3|0,ea=a[da>>0]|0,ea<<24>>24>-1):0){a[da>>0]=(ea&255)>>>1;la=f+27952+(r*160|0)+14|0;b[la>>1]=b[la>>1]<<1;la=f+28352+(r*80|0)+7|0;a[la>>0]=d[la>>0]<<1}do if(!Q){h=f+28272+(r*40|0)+4|0;i=a[h>>0]|0;if(i<<24>>24>-1){a[h>>0]=(i&255)>>>1;la=f+27952+(r*160|0)+18|0;b[la>>1]=b[la>>1]<<1;la=f+28352+(r*80|0)+9|0;a[la>>0]=d[la>>0]<<1}h=f+28272+(r*40|0)+5|0;i=a[h>>0]|0;if(i<<24>>24>-1){a[h>>0]=(i&255)>>>1;la=f+27952+(r*160|0)+22|0;b[la>>1]=b[la>>1]<<1;la=f+28352+(r*80|0)+11|0;a[la>>0]=d[la>>0]<<1}h=a[j>>0]|0;if(h<<24>>24>-1){a[j>>0]=(h&255)>>>1;la=f+27952+(r*160|0)+26|0;b[la>>1]=b[la>>1]<<1;la=f+28352+(r*80|0)+13|0;a[la>>0]=d[la>>0]<<1}h=f+28272+(r*40|0)+7|0;i=a[h>>0]|0;if(i<<24>>24<=-1)break;a[h>>0]=(i&255)>>>1;la=f+27952+(r*160|0)+30|0;b[la>>1]=b[la>>1]<<1;la=f+28352+(r*80|0)+15|0;a[la>>0]=d[la>>0]<<1}while(0);if(!R?(ga=a[k>>0]|0,ga<<24>>24>-1):0){a[k>>0]=(ga&255)>>>1;la=f+27952+(r*160|0)+34|0;b[la>>1]=b[la>>1]<<1;la=f+28352+(r*80|0)+17|0;a[la>>0]=d[la>>0]<<1}do if(!S){h=f+28272+(r*40|0)+11|0;i=a[h>>0]|0;if(i<<24>>24>-1){a[h>>0]=(i&255)>>>1;la=f+27952+(r*160|0)+46|0;b[la>>1]=b[la>>1]<<1;la=f+28352+(r*80|0)+23|0;a[la>>0]=d[la>>0]<<1}h=f+28272+(r*40|0)+19|0;i=a[h>>0]|0;if(i<<24>>24<=-1)break;a[h>>0]=(i&255)>>>1;la=f+27952+(r*160|0)+78|0;b[la>>1]=b[la>>1]<<1;la=f+28352+(r*80|0)+39|0;a[la>>0]=d[la>>0]<<1}while(0);if(s)break;h=f+28272+(r*40|0)+27|0;i=a[h>>0]|0;if(i<<24>>24>-1){a[h>>0]=(i&255)>>>1;la=f+27952+(r*160|0)+110|0;b[la>>1]=b[la>>1]<<1;la=f+28352+(r*80|0)+55|0;a[la>>0]=d[la>>0]<<1}h=f+28272+(r*40|0)+35|0;i=a[h>>0]|0;if(i<<24>>24<=-1)break;a[h>>0]=(i&255)>>>1;la=f+27952+(r*160|0)+142|0;b[la>>1]=b[la>>1]<<1;la=f+28352+(r*80|0)+71|0;a[la>>0]=d[la>>0]<<1;break}else{if(!P?(aa=f+28272+(r*40|0)+3|0,ba=a[aa>>0]|0,ba<<24>>24>-1):0){a[aa>>0]=ba<<24>>24<<1;la=f+27952+(r*160|0)+14|0;b[la>>1]=(b[la>>1]|0)/2|0;la=f+28352+(r*80|0)+7|0;a[la>>0]=(d[la>>0]|0)>>>1}do if(Q){h=f+28272+(r*40|0)+4|0;i=a[h>>0]|0;if(i<<24>>24>-1){a[h>>0]=i<<24>>24<<1;la=f+27952+(r*160|0)+18|0;b[la>>1]=(b[la>>1]|0)/2|0;la=f+28352+(r*80|0)+9|0;a[la>>0]=(d[la>>0]|0)>>>1}h=f+28272+(r*40|0)+5|0;i=a[h>>0]|0;if(i<<24>>24>-1){a[h>>0]=i<<24>>24<<1;la=f+27952+(r*160|0)+22|0;b[la>>1]=(b[la>>1]|0)/2|0;la=f+28352+(r*80|0)+11|0;a[la>>0]=(d[la>>0]|0)>>>1}h=a[j>>0]|0;if(h<<24>>24>-1){a[j>>0]=h<<24>>24<<1;la=f+27952+(r*160|0)+26|0;b[la>>1]=(b[la>>1]|0)/2|0;la=f+28352+(r*80|0)+13|0;a[la>>0]=(d[la>>0]|0)>>>1}h=f+28272+(r*40|0)+7|0;i=a[h>>0]|0;if(i<<24>>24<=-1)break;a[h>>0]=i<<24>>24<<1;la=f+27952+(r*160|0)+30|0;b[la>>1]=(b[la>>1]|0)/2|0;la=f+28352+(r*80|0)+15|0;a[la>>0]=(d[la>>0]|0)>>>1}while(0);if(R?(ca=a[k>>0]|0,ca<<24>>24>-1):0){a[k>>0]=ca<<24>>24<<1;la=f+27952+(r*160|0)+34|0;b[la>>1]=(b[la>>1]|0)/2|0;la=f+28352+(r*80|0)+17|0;a[la>>0]=(d[la>>0]|0)>>>1}do if(S){h=f+28272+(r*40|0)+11|0;i=a[h>>0]|0;if(i<<24>>24>-1){a[h>>0]=i<<24>>24<<1;la=f+27952+(r*160|0)+46|0;b[la>>1]=(b[la>>1]|0)/2|0;la=f+28352+(r*80|0)+23|0;a[la>>0]=(d[la>>0]|0)>>>1}h=f+28272+(r*40|0)+19|0;i=a[h>>0]|0;if(i<<24>>24<=-1)break;a[h>>0]=i<<24>>24<<1;la=f+27952+(r*160|0)+78|0;b[la>>1]=(b[la>>1]|0)/2|0;la=f+28352+(r*80|0)+39|0;a[la>>0]=(d[la>>0]|0)>>>1}while(0);if(!s)break;h=f+28272+(r*40|0)+27|0;i=a[h>>0]|0;if(i<<24>>24>-1){a[h>>0]=i<<24>>24<<1;la=f+27952+(r*160|0)+110|0;b[la>>1]=(b[la>>1]|0)/2|0;la=f+28352+(r*80|0)+55|0;a[la>>0]=(d[la>>0]|0)>>>1}h=f+28272+(r*40|0)+35|0;i=a[h>>0]|0;if(i<<24>>24<=-1)break;a[h>>0]=i<<24>>24<<1;la=f+27952+(r*160|0)+142|0;b[la>>1]=(b[la>>1]|0)/2|0;la=f+28352+(r*80|0)+71|0;a[la>>0]=(d[la>>0]|0)>>>1;break}}while(0);r=r+1|0}}while(0);c[f+21840>>2]=(Z>>>24&1)+(X>>>24&1);$c=ia;return}function Zj(a,b){a=a|0;b=b|0;var e=0,f=0;e=a+8|0;f=c[e>>2]|0;a=(c[a>>2]|0)+(f>>>3)|0;a=(VW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(f&7)>>>(32-b|0);c[e>>2]=f+b;return a|0}function _j(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);l=m+8|0;j=m;a:do if(!(e&32768)){e=0;while(1){if((e|0)>=4){k=8;break a}i=b+(e+12)|0;g=a[i>>0]|0;h=a[139862+g>>0]|0;if(249>>>g&1|0)break;if(253>>>g&1|0)a[i>>0]=h;e=e+1|0}c[j>>2]=h<<24>>24;lf(d,16,139874,j);e=-1094995529}else k=8;while(0);b:do if((k|0)==8)if((f&34952|0)==34952)e=0;else{e=0;while(1){if((e|0)>=4){e=0;break b}if(!(c[72628+(e<<2)>>2]&f)){g=b+((e<<3)+12)|0;h=a[g>>0]|0;i=a[139925+h>>0]|0;if(370>>>h&1|0)break;if(886>>>h&1|0)a[g>>0]=i}e=e+1|0}c[l>>2]=i<<24>>24;lf(d,16,139937,l);e=-1094995529}while(0);$c=m;return e|0}function $j(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);h=i+16|0;g=i+8|0;do if(e>>>0<=3){if(!(c&32768)){c=a[139756+e>>0]|0;if((e|1|0)==3){lf(b,16,139760,g);c=-1094995529;break}}else c=e;e=d&32896;if((e|0)!=32896)if((c|2|0)==3){lf(b,16,139808,h);c=-1094995529;break}else{$c=i;return ((e|0)==0|(f|0)==0?a[139857+c>>0]|0:8-(d>>>15&1)+(((c|0)==4&1)<<1)|0)|0}}else{lf(b,16,139719,i);c=-1094995529}while(0);$c=i;return c|0}function ak(a){a=a|0;var b=0,e=0;b=a+8|0;e=c[b>>2]|0;a=(c[a>>2]|0)+(e>>>3)|0;a=(VW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(e&7)>>>23;c[b>>2]=e+(d[126600+a>>0]|0);return d[127112+a>>0]|0|0}function bk(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[b+21844>>2]|0))kk(a,b,d);else jk(a,b,d);return}function ck(a,b,c){a=a|0;b=b|0;c=c|0;if((a|0)>(b|0))return ((c|0)>(b|0)?((c|0)>(a|0)?a:c):b)|0;else return ((b|0)>(c|0)?((c|0)>(a|0)?c:a):b)|0;return 0}function dk(b){b=b|0;var e=0,f=0,g=0,h=0,i=0;f=b+8|0;g=c[f>>2]|0;b=c[b>>2]|0;e=b+(g>>>3)|0;e=(VW(d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24|0)|0)<<(g&7);if(e>>>0>134217727){b=e>>>23;c[f>>2]=g+(d[126600+b>>0]|0);b=a[127624+b>>0]|0}else{i=e>>>0>65535;h=i?e>>>16:e;i=i?16:0;e=(h&65280|0)==0;h=(e?i:i|8)+(d[120631+(e?h:h>>>8)>>0]|0)|0;e=31-h+g|0;g=b+(e>>>3)|0;g=(VW(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24|0)|0)<<(e&7)>>>h;c[f>>2]=32-h+e;b=g&1;b=(g>>>1^0-b)+b|0}return b|0}function ek(e,f,g,h,i,j,k,l){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=$c;$c=$c+112|0;if(($c|0)>=(ad|0))N(112);y=z+32|0;v=z+24|0;t=z+16|0;s=z;x=z+40|0;u=(l|0)<9;do if(!u)if((i|0)>47){r=c[182500+(c[72532+((fk(f,(i<<4)+-768|0)|0)<<2)>>2]<<4)+4>>2]|0;m=g+8|0;q=c[m>>2]|0;o=c[g>>2]|0;w=o+(q>>>3)|0;w=(VW(d[w>>0]|d[w+1>>0]<<8|d[w+2>>0]<<16|d[w+3>>0]<<24|0)|0)<<(q&7)>>>24;n=b[r+(w<<2)>>1]|0;w=b[r+(w<<2)+2>>1]|0;p=w<<16>>16;if(w<<16>>16<0){w=q+8|0;o=o+(w>>>3)|0;n=((VW(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24|0)|0)<<(w&7)>>>(p+32|0))+n|0;p=b[r+(n<<2)+2>>1]|0;o=w;n=b[r+(n<<2)>>1]|0}else o=q;o=p+o|0;break}else{r=c[182500+(c[72532+((fk(f,i)|0)<<2)>>2]<<4)+4>>2]|0;m=g+8|0;q=c[m>>2]|0;o=c[g>>2]|0;w=o+(q>>>3)|0;w=(VW(d[w>>0]|d[w+1>>0]<<8|d[w+2>>0]<<16|d[w+3>>0]<<24|0)|0)<<(q&7)>>>24;n=b[r+(w<<2)>>1]|0;w=b[r+(w<<2)+2>>1]|0;p=w<<16>>16;if(w<<16>>16<0){w=q+8|0;o=o+(w>>>3)|0;n=((VW(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24|0)|0)<<(w&7)>>>(p+32|0))+n|0;p=b[r+(n<<2)+2>>1]|0;o=w;n=b[r+(n<<2)>>1]|0}else o=q;o=p+o|0;break}else{o=(l|0)==4;w=o?c[45618]|0:c[45622]|0;m=g+8|0;r=c[m>>2]|0;n=(c[g>>2]|0)+(r>>>3)|0;n=(VW(d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24|0)|0)<<(r&7);o=n>>>(o?24:19);n=b[w+(o<<2)>>1]|0;o=r+(b[w+(o<<2)+2>>1]|0)|0}while(0);c[m>>2]=o;w=n>>2;a[(d[150833+i>>0]|0)+(f+27824)>>0]=w;a:do if(w){if(w>>>0>l>>>0){m=c[e+4>>2]|0;y=c[f+21792>>2]|0;c[s>>2]=c[f+21788>>2];c[s+4>>2]=y;c[s+8>>2]=w;lf(m,16,139611,s);m=-1;break}o=n&3;s=gk(g,3)|0;hk(g,o);c[x>>2]=1-(s>>>1&2);c[x+4>>2]=1-(s&2);c[x+8>>2]=1-(s<<1&2);b:do if((o|0)<(w|0)){p=(o|0)!=3;n=(w|0)>10&p;q=n&1;r=gk(g,8)|0;s=a[258520+(q<<9)+(r<<1)>>0]|0;m=s<<24>>24;hk(g,a[258520+(q<<9)+(r<<1)+1>>0]|0);if(s<<24>>24>99){m=m+-100|0;if((m|0)==8)m=(ik(g)|0)+8|0;do if((m|0)<14){if(n)m=(Rj(g)|0)+(m<<1)|0}else{if((m|0)==14)if(n){m=(Rj(g)|0)+28|0;break}else{m=(Zj(g,4)|0)+14|0;break}do if((m|0)>15)if((m|0)>28){lf(c[e+4>>2]|0,16,139656,t);m=-1;break a}else{n=m+-3|0;m=(1<>1^0-m)+m|0}else{m=(p?m>>31|1:0)+m|0;n=(m+3|0)>>>0>6?2:1}c[x+(o<<2)>>2]=m;while(1){o=o+1|0;if((o|0)>=(w|0))break b;s=gk(g,8)|0;t=a[258520+(n<<9)+(s<<1)>>0]|0;m=t<<24>>24;hk(g,a[258520+(n<<9)+(s<<1)+1>>0]|0);if(t<<24>>24>99){m=m+-100|0;if((m|0)==8)m=(ik(g)|0)+8|0;if((m|0)>=15){p=15<28)break;t=m+-3|0;m=p+-4096+(1<>1^0-m)+m|0}c[x+(o<<2)>>2]=m;t=c[72600+(n<<2)>>2]|0;n=n+((t+m|0)>>>0>t<<1>>>0&1)|0}lf(c[e+4>>2]|0,16,139656,v);m=-1094995529;break a}while(0);if((w|0)==(l|0))m=0;else{do if(u)if((l|0)==4){m=29;n=182564+(w<<4)+4|0;break}else{m=27;n=182628+(w<<4)+4|0;break}else{m=23;n=182756+(w<<4)+4|0}while(0);l=c[n>>2]|0;v=g+8|0;t=c[v>>2]|0;u=(c[g>>2]|0)+(t>>>3)|0;u=(VW(d[u>>0]|d[u+1>>0]<<8|d[u+2>>0]<<16|d[u+3>>0]<<24|0)|0)<<(t&7)>>>m;m=b[l+(u<<2)>>1]|0;c[v>>2]=t+(b[l+(u<<2)+2>>1]|0)}o=j+(w+-1+m)|0;n=(i|0)>47;p=c[x>>2]|0;c:do if(!(c[e+25664>>2]|0))if(n){b[h+(d[o>>0]<<1)>>1]=p;l=g+8|0;n=1;while(1){if(!((n|0)<(w|0)&(m|0)>0))break;if((m|0)<7){k=c[183012+(m<<4)+4>>2]|0;i=c[l>>2]|0;p=(c[g>>2]|0)+(i>>>3)|0;p=(VW(d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24|0)|0)<<(i&7)>>>29;q=b[k+(p<<2)>>1]|0;p=i+(b[k+(p<<2)+2>>1]|0)|0}else{t=c[45782]|0;s=c[l>>2]|0;q=c[g>>2]|0;k=q+(s>>>3)|0;k=(VW(d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24|0)|0)<<(s&7)>>>26;p=b[t+(k<<2)>>1]|0;k=b[t+(k<<2)+2>>1]|0;r=k<<16>>16;if(k<<16>>16<0){s=s+6|0;k=q+(s>>>3)|0;p=((VW(d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24|0)|0)<<(s&7)>>>(r+32|0))+p|0;r=b[t+(p<<2)+2>>1]|0;p=b[t+(p<<2)>>1]|0}q=p;p=r+s|0}c[l>>2]=p;k=o+~q|0;b[h+(d[k>>0]<<1)>>1]=c[x+(n<<2)>>2];m=m-q|0;o=k;n=n+1|0}while(1){if((n|0)>=(w|0))break c;g=o+-1|0;b[h+(d[g>>0]<<1)>>1]=c[x+(n<<2)>>2];o=g;n=n+1|0}}else{l=d[o>>0]|0;b[h+(l<<1)>>1]=((H(c[k+(l<<2)>>2]|0,p)|0)+32|0)>>>6;l=g+8|0;n=1;while(1){if(!((n|0)<(w|0)&(m|0)>0))break;if((m|0)<7){i=c[183012+(m<<4)+4>>2]|0;j=c[l>>2]|0;p=(c[g>>2]|0)+(j>>>3)|0;p=(VW(d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24|0)|0)<<(j&7)>>>29;q=b[i+(p<<2)>>1]|0;p=j+(b[i+(p<<2)+2>>1]|0)|0}else{t=c[45782]|0;s=c[l>>2]|0;q=c[g>>2]|0;i=q+(s>>>3)|0;i=(VW(d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24|0)|0)<<(s&7)>>>26;p=b[t+(i<<2)>>1]|0;i=b[t+(i<<2)+2>>1]|0;r=i<<16>>16;if(i<<16>>16<0){s=s+6|0;i=q+(s>>>3)|0;p=((VW(d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24|0)|0)<<(s&7)>>>(r+32|0))+p|0;r=b[t+(p<<2)+2>>1]|0;p=b[t+(p<<2)>>1]|0}q=p;p=r+s|0}c[l>>2]=p;i=o+~q|0;j=d[i>>0]|0;b[h+(j<<1)>>1]=((H(c[k+(j<<2)>>2]|0,c[x+(n<<2)>>2]|0)|0)+32|0)>>>6;m=m-q|0;o=i;n=n+1|0}while(1){if((n|0)>=(w|0))break c;g=o+-1|0;i=d[g>>0]|0;b[h+(i<<1)>>1]=((H(c[k+(i<<2)>>2]|0,c[x+(n<<2)>>2]|0)|0)+32|0)>>>6;o=g;n=n+1|0}}else if(n){c[h+(d[o>>0]<<2)>>2]=p;l=g+8|0;n=1;while(1){if(!((n|0)<(w|0)&(m|0)>0))break;if((m|0)<7){k=c[183012+(m<<4)+4>>2]|0;i=c[l>>2]|0;p=(c[g>>2]|0)+(i>>>3)|0;p=(VW(d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24|0)|0)<<(i&7)>>>29;q=b[k+(p<<2)>>1]|0;p=i+(b[k+(p<<2)+2>>1]|0)|0}else{t=c[45782]|0;s=c[l>>2]|0;q=c[g>>2]|0;k=q+(s>>>3)|0;k=(VW(d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24|0)|0)<<(s&7)>>>26;p=b[t+(k<<2)>>1]|0;k=b[t+(k<<2)+2>>1]|0;r=k<<16>>16;if(k<<16>>16<0){s=s+6|0;k=q+(s>>>3)|0;p=((VW(d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24|0)|0)<<(s&7)>>>(r+32|0))+p|0;r=b[t+(p<<2)+2>>1]|0;p=b[t+(p<<2)>>1]|0}q=p;p=r+s|0}c[l>>2]=p;k=o+~q|0;c[h+(d[k>>0]<<2)>>2]=c[x+(n<<2)>>2];o=k;m=m-q|0;n=n+1|0}while(1){if((n|0)>=(w|0))break c;g=o+-1|0;c[h+(d[g>>0]<<2)>>2]=c[x+(n<<2)>>2];o=g;n=n+1|0}}else{l=d[o>>0]|0;c[h+(l<<2)>>2]=(H(c[k+(l<<2)>>2]|0,p)|0)+32>>6;l=g+8|0;n=1;while(1){if(!((n|0)<(w|0)&(m|0)>0))break;if((m|0)<7){i=c[183012+(m<<4)+4>>2]|0;j=c[l>>2]|0;p=(c[g>>2]|0)+(j>>>3)|0;p=(VW(d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24|0)|0)<<(j&7)>>>29;q=b[i+(p<<2)>>1]|0;p=j+(b[i+(p<<2)+2>>1]|0)|0}else{t=c[45782]|0;s=c[l>>2]|0;q=c[g>>2]|0;i=q+(s>>>3)|0;i=(VW(d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24|0)|0)<<(s&7)>>>26;p=b[t+(i<<2)>>1]|0;i=b[t+(i<<2)+2>>1]|0;r=i<<16>>16;if(i<<16>>16<0){s=s+6|0;i=q+(s>>>3)|0;p=((VW(d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24|0)|0)<<(s&7)>>>(r+32|0))+p|0;r=b[t+(p<<2)+2>>1]|0;p=b[t+(p<<2)>>1]|0}q=p;p=r+s|0}c[l>>2]=p;i=o+~q|0;j=d[i>>0]|0;c[h+(j<<2)>>2]=(H(c[k+(j<<2)>>2]|0,c[x+(n<<2)>>2]|0)|0)+32>>6;o=i;m=m-q|0;n=n+1|0}while(1){if((n|0)>=(w|0))break c;g=o+-1|0;i=d[g>>0]|0;c[h+(i<<2)>>2]=(H(c[k+(i<<2)>>2]|0,c[x+(n<<2)>>2]|0)|0)+32>>6;o=g;n=n+1|0}}while(0);if((m|0)<0){m=c[e+4>>2]|0;e=c[f+21792>>2]|0;c[y>>2]=c[f+21788>>2];c[y+4>>2]=e;lf(m,16,139678,y);m=-1}else m=0}else m=0;while(0);$c=z;return m|0}function fk(a,b){a=a|0;b=b|0;b=d[150833+b>>0]|0;b=(d[b+-8+(a+27824)>>0]|0)+(d[b+-1+(a+27824)>>0]|0)|0;return (b>>>0<64?(b+1|0)>>>1:b)&31|0}function gk(a,b){a=a|0;b=b|0;var e=0;e=c[a+8>>2]|0;a=(c[a>>2]|0)+(e>>>3)|0;return (VW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(e&7)>>>(32-b|0)|0}function hk(a,b){a=a|0;b=b|0;a=a+8|0;c[a>>2]=(c[a>>2]|0)+b;return}function ik(a){a=a|0;var b=0,e=0,f=0,g=0;b=a+8|0;e=c[b>>2]|0;g=(c[a>>2]|0)+(e>>>3)|0;g=(VW(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24|0)|0)<<(e&7);a=g>>>0>65535;g=a?g>>>16:g;a=a?16:0;f=(g&65280|0)==0;a=32-(d[120631+(f?g:g>>>8)>>0]|0)-(f?a:a|8)|0;c[b>>2]=a+e;return a+-1|0}function jk(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;U=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);C=U+16|0;B=U+8|0;w=U;y=c[f+26368>>2]|0;k=c[g+21796>>2]|0;A=g+21792|0;p=c[A>>2]|0;T=c[h>>2]|0;S=T&64;z=g+25336|0;lk(f,z,(T>>>7&1)+p|0);T=(S|0)==0;i=61440;u=0;while(1){if((u|0)==2)break;m=a[g+28272+(u*40|0)+11>>0]|0;s=a[g+28272+(u*40|0)+4>>0]|0;j=a[g+28272+(u*40|0)+8>>0]|0;if(j<<24>>24==-2){q=a[g+28272+(u*40|0)+3>>0]|0;r=g+27952+(u*160|0)+12|0}else{q=j<<24>>24;r=g+27952+(u*160|0)+32|0}t=m>>>0>s>>>0?s:m;j=t>>>0>q>>>0?q:t;l=B+(u<<2)|0;c[l>>2]=j;if((j|0)>-1){n=g+27952+(u*160|0)+44|0;o=g+27952+(u*160|0)+16|0;l=(j|0)==(m|0);j=(j|0)==(s|0);do if(((j&1)+(q>>>0<=t>>>0&1)+(l&1)|0)>>>0<=1){if(l){j=c[n>>2]|0;break}if(j){j=c[o>>2]|0;break}else{j=c[r>>2]|0;break}}else{j=mk(b[n>>1]|0,b[o>>1]|0,b[r>>1]|0)|0;j=(mk(b[g+27952+(u*160|0)+46>>1]|0,b[g+27952+(u*160|0)+18>>1]|0,b[r+2>>1]|0)|0)<<16|j&65535}while(0);c[w+(u<<2)>>2]=j}else{j=~(12288<<(u<<1));c[w+(u<<2)>>2]=0;c[l>>2]=-1;if(T)c[h>>2]=c[h>>2]&j;i=i&j}u=u+1|0}j=c[B>>2]|0;if((j|0)<0?(v=B+4|0,(c[v>>2]|0)<0):0){c[v>>2]=0;c[B>>2]=0;if(T)c[h>>2]=c[h>>2]|61440;s=i|61440;u=0}else{s=i;u=j}i=c[w>>2]|0;j=c[w+4>>2]|0;do if(i|S|j){R=g+25372|0;r=c[(c[R>>2]|0)+48>>2]|0;o=c[r+(k<<2)>>2]|0;t=c[h>>2]|0;l=(t&128|0)!=0;do if(!(o&128))if(l){q=c[A>>2]&-2;n=c[f+27016>>2]|0;k=H(q,n)|0;k=k+(c[g+21788>>2]|0)|0;o=c[r+(k<<2)>>2]|0;c[C>>2]=o;l=c[r+(n+k<<2)>>2]|0;m=C+4|0;c[m>>2]=l;n=n<<2|2;p=y*6|0;if((o^l)&128){o=o&-129;c[C>>2]=o;l=l&-129;c[m>>2]=l}m=s|264;if(o&15|0?!((S|0)!=0|(l&15|0)==0):0){P=p;p=q;r=m;l=272;break}P=p;p=q;r=m;l=64}else{n=2;Q=36}else{if(l){m=c[g+21852>>2]|0;n=2;o=m+p|0;l=c[f+27016>>2]|0}else{l=(c[A>>2]&-2)+(c[g+21848>>2]|0)|0;n=0;o=l;k=c[g+21788>>2]|0;m=c[f+27016>>2]|0}Q=k+(H(l,m)|0)|0;k=Q;p=o;o=c[r+(Q<<2)>>2]|0;Q=36}while(0);do if((Q|0)==36){c[C+4>>2]=o;c[C>>2]=o;m=s|264;l=(S|0)!=0;if(l|(o&15|0)==0){if(!l?(x=o&48,x|0):0){P=y;r=m;l=x|256;break}P=y;r=(c[(c[f+28216>>2]|0)+72>>2]|0)==0?m+56|0:m;l=64}else{P=y;r=m;l=264}}while(0);c[h>>2]=t|l;lk(f,z,p);q=c[R>>2]|0;m=c[(c[f+26360>>2]|0)+(k<<2)>>2]|0;l=(c[q+36>>2]|0)+(m<<2)|0;m=(c[q+40>>2]|0)+(m<<2)|0;p=k<<2;k=(c[q+68>>2]|0)+p|0;p=(c[q+72>>2]|0)+p|0;if(!n){L=(c[A>>2]&1|0)==0;M=P<<1;O=L?l:l+(M<<2)|0;m=L?m:m+(M<<2)|0;M=L?k:k+2|0;p=L?p:p+2|0}else{O=l;M=k}k=c[h>>2]|0;if((o^k)&128|0){x=r&65535;y=(u&255)*257&65535;t=c[B+4>>2]|0;w=(t&255)*257&65535;v=(u|0)>0?i:0;t=(t|0)>0?j:0;k=0;u=0;while(1){if((u|0)==4)break;r=u&1;o=u>>1;q=(H(o,n)|0)+r|0;r=(0-r&3)+(H(o,P)|0)|0;l=g+28552+(u<<1)|0;if(!(!T?(b[l>>1]&256)==0:0)){b[l>>1]=x;s=d[150833+(u<<2)>>0]|0;Q=g+28272+s|0;b[Q>>1]=y;b[Q+8>>1]=y;Q=g+28312+s|0;b[Q>>1]=w;b[Q+8>>1]=w;do if((c[C+(o<<2)>>2]&7|0)==0?(c[(c[R>>2]|0)+100>>2]|0)==0:0){l=a[M+q>>0]|0;if(!(l<<24>>24)){L=b[O+(r<<2)>>1]|0;Q=L<<16>>16;if(((L<<16>>16>-1?Q:0-Q|0)|0)>=2){l=j;o=i;break}L=b[O+(r<<2)+2>>1]|0;Q=L<<16>>16;if(((L<<16>>16>-1?Q:0-Q|0)|0)>=2){l=j;o=i;break}}else{if(l<<24>>24>=0){l=j;o=i;break}if(a[p+q>>0]|0){l=j;o=i;break}L=b[m+(r<<2)>>1]|0;Q=L<<16>>16;if(((L<<16>>16>-1?Q:0-Q|0)|0)>=2){l=j;o=i;break}L=b[m+(r<<2)+2>>1]|0;Q=L<<16>>16;if(((L<<16>>16>-1?Q:0-Q|0)|0)>=2){l=j;o=i;break}}l=t;o=v;k=k+1|0}else{l=j;o=i}while(0);Q=g+27952+(s<<2)|0;c[Q>>2]=o;c[Q+4>>2]=o;c[Q+32>>2]=o;c[Q+36>>2]=o;Q=g+28112+(s<<2)|0;c[Q>>2]=l;c[Q+4>>2]=l;c[Q+32>>2]=l;c[Q+36>>2]=l}u=u+1|0}if(k&3|S|0)break;c[h>>2]=c[h>>2]&-41337|264;break}if(k&8|0){l=H(u&255,16843009)|0;c[g+28284>>2]=l;c[g+28292>>2]=l;c[g+28300>>2]=l;c[g+28308>>2]=l;l=c[B+4>>2]|0;h=H(l&255,16843009)|0;c[g+28324>>2]=h;c[g+28332>>2]=h;c[g+28340>>2]=h;c[g+28348>>2]=h;do if((o&7|0)==0?(c[q+100>>2]|0)==0:0){k=a[M>>0]|0;if(!(k<<24>>24)){T=b[O>>1]|0;h=T<<16>>16;if(((T<<16>>16>-1?h:0-h|0)|0)>=2)break;T=b[O+2>>1]|0;h=T<<16>>16;if(((T<<16>>16>-1?h:0-h|0)|0)>=2)break}else{if(k<<24>>24>=0)break;if(a[p>>0]|0)break;T=b[m>>1]|0;h=T<<16>>16;if(((T<<16>>16>-1?h:0-h|0)|0)>=2)break;T=b[m+2>>1]|0;h=T<<16>>16;if(((T<<16>>16>-1?h:0-h|0)|0)>=2)break;if((c[f+25704>>2]|0)>>>0<=33)break}j=(l|0)>0?j:0;i=(u|0)>0?i:0}while(0);c[g+28e3>>2]=i;c[g+28004>>2]=i;c[g+28008>>2]=i;c[g+28012>>2]=i;c[g+28032>>2]=i;c[g+28036>>2]=i;c[g+28040>>2]=i;c[g+28044>>2]=i;c[g+28064>>2]=i;c[g+28068>>2]=i;c[g+28072>>2]=i;c[g+28076>>2]=i;c[g+28096>>2]=i;c[g+28100>>2]=i;c[g+28104>>2]=i;c[g+28108>>2]=i;c[g+28160>>2]=j;c[g+28164>>2]=j;c[g+28168>>2]=j;c[g+28172>>2]=j;c[g+28192>>2]=j;c[g+28196>>2]=j;c[g+28200>>2]=j;c[g+28204>>2]=j;c[g+28224>>2]=j;c[g+28228>>2]=j;c[g+28232>>2]=j;c[g+28236>>2]=j;c[g+28256>>2]=j;c[g+28260>>2]=j;c[g+28264>>2]=j;c[g+28268>>2]=j;break}K=r&65535;L=(u&255)*257&65535;E=c[B+4>>2]|0;J=(E&255)*257&65535;I=(o&7|0)==0;F=(r&8|0)==0;G=P*3|0;D=(u|0)==0;E=(E|0)==0;C=f+25704|0;k=0;f=0;while(1){if((f|0)==4)break;o=f&1;q=f>>1;A=g+28552+(f<<1)|0;if(!(!T?(b[A>>1]&256)==0:0))Q=79;do if((Q|0)==79){Q=0;b[A>>1]=K;B=f<<2;z=d[150833+B>>0]|0;r=g+27952+(z<<2)|0;c[r>>2]=i;s=r+4|0;c[s>>2]=i;t=r+32|0;c[t>>2]=i;u=r+36|0;c[u>>2]=i;v=g+28112+(z<<2)|0;c[v>>2]=j;w=v+4|0;c[w>>2]=j;x=v+32|0;c[x>>2]=j;y=v+36|0;c[y>>2]=j;n=g+28272+z|0;b[n>>1]=L;b[n+8>>1]=L;z=g+28312+z|0;b[z>>1]=J;b[z+8>>1]=J;if(I?(c[(c[R>>2]|0)+100>>2]|0)==0:0){l=a[M+f>>0]|0;n=l<<24>>24==0;if(!n){if(l<<24>>24>=0)break;if(a[p+f>>0]|0)break;if((c[C>>2]|0)>>>0<=33)break}z=n?O:m;if(!F){l=(H(G,q)|0)+(0-o&3)|0;A=b[z+(l<<2)>>1]|0;B=A<<16>>16;if(((A<<16>>16>-1?B:0-B|0)|0)>=2)break;A=b[z+(l<<2)+2>>1]|0;B=A<<16>>16;if(((A<<16>>16>-1?B:0-B|0)|0)>=2)break;if(D){c[r>>2]=0;c[s>>2]=0;c[t>>2]=0;c[u>>2]=0}if(E){c[v>>2]=0;c[w>>2]=0;c[x>>2]=0;c[y>>2]=0}k=k+4|0;break}r=o<<1;q=q<<1;l=0;o=0;while(1){if((o|0)==4)break;n=(H((o>>1)+q|0,P)|0)+(o&1|r)|0;x=b[z+(n<<2)>>1]|0;y=x<<16>>16;if(((x<<16>>16>-1?y:0-y|0)|0)<2?(x=b[z+(n<<2)+2>>1]|0,y=x<<16>>16,((x<<16>>16>-1?y:0-y|0)|0)<2):0){if(D)c[g+27952+(d[150833+(o+B)>>0]<<2)>>2]=0;if(E)c[g+28112+(d[150833+(o+B)>>0]<<2)>>2]=0;l=l+1|0}o=o+1|0}if(!(l&3))b[A>>1]=(e[A>>1]|0)+65480;k=l+k|0}}while(0);f=f+1|0}if(!(k&15|S))c[h>>2]=c[h>>2]&-41337|264}else{M=H(u&255,16843009)|0;c[g+28284>>2]=M;c[g+28292>>2]=M;c[g+28300>>2]=M;c[g+28308>>2]=M;M=H(c[B+4>>2]&255,16843009)|0;c[g+28324>>2]=M;c[g+28332>>2]=M;c[g+28340>>2]=M;c[g+28348>>2]=M;M=g+28e3|0;O=g+28032|0;P=g+28064|0;Q=g+28096|0;R=g+28160|0;S=g+28192|0;T=g+28224|0;g=g+28256|0;c[M>>2]=0;c[M+4>>2]=0;c[M+8>>2]=0;c[M+12>>2]=0;c[O>>2]=0;c[O+4>>2]=0;c[O+8>>2]=0;c[O+12>>2]=0;c[P>>2]=0;c[P+4>>2]=0;c[P+8>>2]=0;c[P+12>>2]=0;c[Q>>2]=0;c[Q+4>>2]=0;c[Q+8>>2]=0;c[Q+12>>2]=0;c[R>>2]=0;c[R+4>>2]=0;c[R+8>>2]=0;c[R+12>>2]=0;c[S>>2]=0;c[S+4>>2]=0;c[S+8>>2]=0;c[S+12>>2]=0;c[T>>2]=0;c[T+4>>2]=0;c[T+8>>2]=0;c[T+12>>2]=0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[h>>2]=c[h>>2]&-41337|264}while(0);$c=U;return}function kk(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0;F=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);C=F;q=c[f+26368>>2]|0;i=c[g+21796>>2]|0;u=g+21792|0;m=c[u>>2]|0;s=c[h>>2]|0;v=s&64;r=g+25336|0;lk(f,r,(s>>>7&1)+m|0);s=g+25372|0;p=c[(c[s>>2]|0)+48>>2]|0;k=c[p+(i<<2)>>2]|0;t=c[h>>2]|0;j=(t&128|0)!=0;do if(!(k&128))if(j){o=c[u>>2]&-2;l=c[f+27016>>2]|0;n=(H(l,o)|0)+(c[g+21788>>2]|0)|0;k=c[p+(n<<2)>>2]|0;c[C>>2]=k;i=c[p+(l+n<<2)>>2]|0;j=C+4|0;c[j>>2]=i;l=l<<2|2;m=q*6|0;if((k^i)&128){k=k&-129;c[C>>2]=k;i=i&-129;c[j>>2]=i}if(k&15|0?!((v|0)!=0|(i&15|0)==0):0){E=m;i=n;m=o;p=20744;j=61712;o=k;break}E=m;i=n;m=o;p=20744;j=61504;o=k}else{l=2;D=12}else{if(j){k=c[g+21852>>2]|0;l=2;m=k+m|0;j=c[f+27016>>2]|0}else{j=(c[u>>2]&-2)+(c[g+21848>>2]|0)|0;l=0;m=j;i=c[g+21788>>2]|0;k=c[f+27016>>2]|0}k=i+(H(j,k)|0)|0;i=k;k=c[p+(k<<2)>>2]|0;D=12}while(0);do if((D|0)==12){c[C+4>>2]=k;c[C>>2]=k;j=(v|0)!=0;if(j|(k&15|0)==0){if(!j?(n=k&48,n|0):0){E=q;p=20744;j=n|61696;o=k;break}E=q;p=(c[(c[f+28216>>2]|0)+72>>2]|0)==0?20800:20744;j=61504;o=k}else{E=q;p=20744;j=20744;o=k}}while(0);c[h>>2]=t|j;lk(f,r,m);n=c[s>>2]|0;k=c[(c[f+26360>>2]|0)+(i<<2)>>2]|0;j=(c[n+36>>2]|0)+(k<<2)|0;k=(c[n+40>>2]|0)+(k<<2)|0;m=i<<2;i=(c[n+68>>2]|0)+m|0;m=(c[n+72>>2]|0)+m|0;if(!l){z=(c[u>>2]&1|0)==0;A=E<<1;B=z?j:j+(A<<2)|0;A=z?k:k+(A<<2)|0;y=z?i:i+2|0;m=z?m:m+2|0}else{B=j;A=k;y=i}k=c[h>>2]|0;if((c[f+26376>>2]|0)==0|(k&128|0)==0){z=g+21868|0;j=g+22252|0;w=g+22444|0}else{w=c[u>>2]&1;z=g+21996+(w<<7)|0;j=g+22636+(w*384|0)|0;w=g+22636+(w*384|0)+192|0}x=o>>3&c[n+632>>2]<<4;i=k&128;a:do if((i|0)==(o&128|0)){if(k&8|0){c[g+28324>>2]=0;c[g+28332>>2]=0;c[g+28340>>2]=0;c[g+28348>>2]=0;if(!(o&7)){i=a[y>>0]|0;k=i<<24>>24>-1;if(!k){j=w;i=a[m>>0]|0}E=c[j+(x+(i<<24>>24)<<2)>>2]|0;C=c[z+(E<<2)>>2]|0;D=k?B:A;i=b[D>>1]|0;j=(H(C,i)|0)+128>>8;D=b[D+2>>1]|0;k=(H(C,D)|0)+128>>8;i=k-D<<16|j-i&65535;j=k<<16|j&65535;k=H(E,16843009)|0}else{i=0;j=0;k=0}c[g+28284>>2]=k;c[g+28292>>2]=k;c[g+28300>>2]=k;c[g+28308>>2]=k;c[g+28e3>>2]=j;c[g+28004>>2]=j;c[g+28008>>2]=j;c[g+28012>>2]=j;c[g+28032>>2]=j;c[g+28036>>2]=j;c[g+28040>>2]=j;c[g+28044>>2]=j;c[g+28064>>2]=j;c[g+28068>>2]=j;c[g+28072>>2]=j;c[g+28076>>2]=j;c[g+28096>>2]=j;c[g+28100>>2]=j;c[g+28104>>2]=j;c[g+28108>>2]=j;c[g+28160>>2]=i;c[g+28164>>2]=i;c[g+28168>>2]=i;c[g+28172>>2]=i;c[g+28192>>2]=i;c[g+28196>>2]=i;c[g+28200>>2]=i;c[g+28204>>2]=i;c[g+28224>>2]=i;c[g+28228>>2]=i;c[g+28232>>2]=i;c[g+28236>>2]=i;c[g+28256>>2]=i;c[g+28260>>2]=i;c[g+28264>>2]=i;c[g+28268>>2]=i;break}u=(v|0)==0;v=p&65535;h=(p&8|0)==0;f=E*3|0;t=(o&7|0)==0;s=0;while(1){if((s|0)==4)break a;o=s&1;p=s>>1;i=g+28552+(s<<1)|0;if(!(!u?!(b[i>>1]&256):0))D=43;b:do if((D|0)==43){D=0;b[i>>1]=v;r=s<<2;l=d[150833+r>>0]|0;C=g+28312+l|0;b[C>>1]=0;b[C+8>>1]=0;if(!t){C=g+28272+l|0;b[C>>1]=0;b[C+8>>1]=0;C=g+27952+(l<<2)|0;c[C>>2]=0;c[C+4>>2]=0;c[C+32>>2]=0;c[C+36>>2]=0;C=g+28112+(l<<2)|0;c[C>>2]=0;c[C+4>>2]=0;c[C+32>>2]=0;c[C+36>>2]=0;break}i=a[y+s>>0]|0;if(i<<24>>24>-1){q=B;k=j}else{q=A;i=a[m+s>>0]|0;k=w}k=c[k+(x+(i<<24>>24)<<2)>>2]|0;n=c[z+(k<<2)>>2]|0;C=g+28272+l|0;k=k*257&65535;b[C>>1]=k;b[C+8>>1]=k;if(!h){o=(H(f,p)|0)+(0-o&3)|0;r=b[q+(o<<2)>>1]|0;p=(H(n,r<<16>>16)|0)+128>>8;q=b[q+(o<<2)+2>>1]|0;o=(H(n,q<<16>>16)|0)+128>>8;C=g+27952+(l<<2)|0;n=o<<16|p&65535;c[C>>2]=n;c[C+4>>2]=n;c[C+32>>2]=n;c[C+36>>2]=n;C=g+28112+(l<<2)|0;r=o-(q&65535)<<16|p-(r&65535)&65535;c[C>>2]=r;c[C+4>>2]=r;c[C+32>>2]=r;c[C+36>>2]=r;break}l=o<<1;k=p<<1;i=0;while(1){if((i|0)==4)break b;G=(H((i>>1)+k|0,E)|0)+(i&1|l)|0;p=q+(G<<2)|0;C=d[150833+(i+r)>>0]|0;o=((H(n,b[p>>1]|0)|0)+128|0)>>>8;b[g+27952+(C<<2)>>1]=o;G=q+(G<<2)+2|0;I=((H(n,b[G>>1]|0)|0)+128|0)>>>8;b[g+27952+(C<<2)+2>>1]=I;c[g+28112+(C<<2)>>2]=I-(e[G>>1]|0)<<16|o-(e[p>>1]|0)&65535;i=i+1|0}}while(0);s=s+1|0}}else{h=i>>>6^2;t=(v|0)==0;s=p&65535;r=0;while(1){if((r|0)==4)break a;o=r&1;p=r>>1;i=g+28552+(r<<1)|0;if(!(!t?!(b[i>>1]&256):0)){b[i>>1]=s;q=d[150833+(r<<2)>>0]|0;I=g+28312+q|0;b[I>>1]=0;b[I+8>>1]=0;if(!(c[C+(p<<2)>>2]&7)){k=(H(p,l)|0)+o|0;i=a[y+k>>0]|0;if(i<<24>>24>-1){n=B;k=j}else{n=A;i=a[m+k>>0]|0;k=w}i=c[k+(x+(i<<24>>24)<<2)>>2]|0;I=c[z+(i<<2)>>2]|0;G=g+28272+q|0;i=i*257&65535;b[G>>1]=i;b[G+8>>1]=i;G=(0-o&3)+(H(p,E)|0)|0;i=(b[n+(G<<2)+2>>1]<>1]|0;D=(H(I,G<<16>>16)|0)+128>>8;I=(H(i,I)|0)+128>>8;v=g+27952+(q<<2)|0;u=I<<16|D&65535;c[v>>2]=u;c[v+4>>2]=u;c[v+32>>2]=u;c[v+36>>2]=u;i=D-(G&65535)&65535|I-i<<16}else{i=g+28272+q|0;b[i>>1]=0;b[i+8>>1]=0;i=g+27952+(q<<2)|0;c[i>>2]=0;c[i+4>>2]=0;c[i+32>>2]=0;c[i+36>>2]=0;i=0}I=g+28112+(q<<2)|0;c[I>>2]=i;c[I+4>>2]=i;c[I+32>>2]=i;c[I+36>>2]=i}r=r+1|0}}while(0);$c=F;return}function lk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=c[b+36>>2]|0;f=c[e+636>>2]|0;if(c[(c[a+4>>2]|0)+696>>2]&1|0){a=c[a+27008>>2]<<4>>f;d=d<<4>>f;ni(e+4|0,(d|0)<(a|0)?d:a+-1|0,(f|0?(c[b+24>>2]|0)!=1:0)&1)}return}function mk(a,b,c){a=a|0;b=b|0;c=c|0;if((a|0)>(b|0))return ((c|0)>(b|0)?((c|0)>(a|0)?a:c):b)|0;else return ((b|0)>(c|0)?((c|0)>(a|0)?c:a):b)|0;return 0}function nk(a){a=a|0;return c[a+8>>2]|0}function ok(a){a=a|0;var b=0,d=0;b=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);d=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[d+16>>2]=c[a+16>>2];a=pk(d,32)|0;$c=b;return a|0}function pk(a,b){a=a|0;b=b|0;var c=0;do if(b)if((b|0)<26){a=Zj(a,b)|0;break}else{b=b+-16|0;c=(Zj(a,16)|0)<=(ad|0))N(32);h=l;i=c[a+4>>2]|0;j=c[a+24316>>2]|0;b=d[(Gg(c[i+112>>2]|0)|0)+6>>0]|0;g=c[a+26380>>2]|0;n=(g|0)!=3;p=n&1;o=f<>2]|0)-f|0;e=(o|0)>(e|0)?e:o;if(!((n?(c[a+26384>>2]|0)!=0:0)?!(c[i+240>>2]&2|0):0))k=4;if((k|0)==4?(m=c[i+116>>2]|0,m|0):0){c[h>>2]=H(c[j+32>>2]|0,f)|0;b=H(c[j+36>>2]|0,f>>b)|0;c[h+8>>2]=b;c[h+4>>2]=b;b=3;while(1){if((b|0)==8)break;c[h+(b<<2)>>2]=0;b=b+1|0}sd[m&63](i,j,h,f,g,e)}$c=l;return}function rk(a){a=a|0;var b=0,d=0,e=0;d=a+4|0;e=c[d>>2]|0;b=(e+-256|0)>>>31;c[d>>2]=e<>2]<>2]=b;if(!(b&65535))sk(a);return}function sk(a){a=a|0;var b=0,e=0;b=a+16|0;e=c[b>>2]|0;c[a>>2]=(c[a>>2]|0)+-65535+((d[e+1>>0]|0)<<1|(d[e>>0]|0)<<9);if(e>>>0<(c[a+20>>2]|0)>>>0)c[b>>2]=e+2;return} -function FU(e,h,i){e=e|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0.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,O=0,P=0,Q=0,R=0;R=$c;$c=$c+288|0;if(($c|0)>=(ad|0))N(288);J=R+264|0;K=R;L=R+260|0;O=R+272|0;if((c[e+76>>2]|0)>-1)Q=zT(e)|0;else Q=0;j=a[h>>0]|0;a:do if(j<<24>>24){B=e+4|0;C=e+104|0;D=e+120|0;E=e+8|0;F=K+10|0;G=K+33|0;H=K+46|0;I=K+94|0;A=J+4|0;m=h;h=0;k=0;l=j;j=0;u=0;v=0;b:while(1){c:do if(!(bT(l&255)|0)){n=(a[m>>0]|0)==37;d:do if(n){l=m+1|0;o=a[l>>0]|0;e:do switch(o<<24>>24){case 37:break d;case 42:{z=0;l=m+2|0;break}default:{if(sT(o&255)|0?(a[m+2>>0]|0)==36:0){z=GU(i,(d[l>>0]|0)+-48|0)|0;l=m+3|0;break e}y=(c[i>>2]|0)+(4-1)&~(4-1);z=c[y>>2]|0;c[i>>2]=y+4}}while(0);if(!(sT(d[l>>0]|0)|0)){r=0;o=l}else{m=0;do{m=(m*10|0)+-48+(d[l>>0]|0)|0;l=l+1|0}while((sT(d[l>>0]|0)|0)!=0);r=m;o=l}n=a[o>>0]|0;q=o+1|0;if(n<<24>>24==109){l=(z|0)!=0&1;k=0;m=q;o=o+2|0;n=a[q>>0]|0;j=0}else{l=0;m=o;o=q}switch(n<<24>>24){case 104:{y=(a[o>>0]|0)==104;n=y?-2:-1;m=y?m+2|0:o;break}case 108:{y=(a[o>>0]|0)==108;n=y?3:1;m=y?m+2|0:o;break}case 106:{n=3;m=o;break}case 116:case 122:{n=1;m=o;break}case 76:{n=2;m=o;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{n=0;break}default:{P=143;break b}}s=d[m>>0]|0;t=(s&47|0)==3;s=t?s|32:s;t=t?1:n;q=s&255;switch(q<<24>>24){case 99:{y=(r|0)>1?r:1;break}case 91:{y=r;break}case 110:{HU(z,t,u,v);n=u;o=v;break c}default:{_S(e,0,0);do{n=c[B>>2]|0;if(n>>>0<(c[C>>2]|0)>>>0){c[B>>2]=n+1;n=d[n>>0]|0}else n=aT(e)|0}while((bT(n)|0)!=0);if(!(c[C>>2]|0))n=c[B>>2]|0;else{n=(c[B>>2]|0)+-1|0;c[B>>2]=n}x=D;y=n-(c[E>>2]|0)|0;u=IW(c[x>>2]|0,c[x+4>>2]|0,u|0,v|0)|0;u=IW(u|0,M()|0,y|0,((y|0)<0)<<31>>31|0)|0;y=r;v=M()|0}}x=((y|0)<0)<<31>>31;_S(e,y,x);o=c[B>>2]|0;n=c[C>>2]|0;if(o>>>0>>0)c[B>>2]=o+1;else{if((aT(e)|0)<0){P=143;break b}n=c[C>>2]|0}if(n|0)c[B>>2]=(c[B>>2]|0)+-1;f:do switch(q<<24>>24){case 91:case 99:case 115:{w=(s|0)==99;g:do if((s|16|0)==115){ZW(K|0,-1,257)|0;a[K>>0]=0;if((s|0)==115){a[G>>0]=0;b[F>>1]=0;b[F+2>>1]=0;a[F+4>>0]=0}}else{s=m+1|0;r=(a[s>>0]|0)==94;n=r&1;m=r?m+2|0:s;ZW(K|0,n|0,257)|0;a[K>>0]=0;switch(a[m>>0]|0){case 45:{q=(n^1)&255;a[H>>0]=q;m=m+1|0;break}case 93:{q=(n^1)&255;a[I>>0]=q;m=m+1|0;break}default:q=(n^1)&255}while(1){n=a[m>>0]|0;h:do switch(n<<24>>24){case 0:{P=143;break b}case 93:break g;case 45:{o=m+1|0;n=a[o>>0]|0;switch(n<<24>>24){case 93:case 0:{n=45;break h}default:{}}m=a[m+-1>>0]|0;if((m&255)<(n&255)){m=m&255;do{m=m+1|0;a[K+m>>0]=q;n=a[o>>0]|0}while(m>>>0<(n&255)>>>0);m=o}else m=o;break}default:{}}while(0);a[K+((n&255)+1)>>0]=q;m=m+1|0}}while(0);n=w?y+1|0:31;s=(t|0)==1;t=(l|0)!=0;i:do if(s){if(t){j=WU(n<<2)|0;if(!j){k=0;j=0;P=143;break b}}else j=z;c[J>>2]=0;c[A>>2]=0;k=0;j:while(1){q=(j|0)==0;do{k:while(1){o=c[B>>2]|0;if(o>>>0<(c[C>>2]|0)>>>0){c[B>>2]=o+1;o=d[o>>0]|0}else o=aT(e)|0;if(!(a[K+(o+1)>>0]|0))break j;a[O>>0]=o;switch(kU(L,O,1,J)|0){case -1:{k=0;P=143;break b}case -2:break;default:break k}}if(!q){c[j+(k<<2)>>2]=c[L>>2];k=k+1|0}}while(!(t&(k|0)==(n|0)));n=n<<1|1;o=ZU(j,n<<2)|0;if(!o){k=0;P=143;break b}else j=o}if(!(IU(J)|0)){k=0;P=143;break b}else{q=k;k=0;r=j}}else{if(t){k=WU(n)|0;if(!k){k=0;j=0;P=143;break b}j=0;while(1){q=j;do{j=c[B>>2]|0;if(j>>>0<(c[C>>2]|0)>>>0){c[B>>2]=j+1;j=d[j>>0]|0}else j=aT(e)|0;if(!(a[K+(j+1)>>0]|0)){r=0;j=0;break i}r=q;q=q+1|0;a[k+r>>0]=j}while((q|0)!=(n|0));n=n<<1|1;o=ZU(k,n)|0;if(!o){j=0;P=143;break b}else{j=q;k=o}}}if(!z)while(1){j=c[B>>2]|0;if(j>>>0<(c[C>>2]|0)>>>0){c[B>>2]=j+1;j=d[j>>0]|0}else j=aT(e)|0;if(!(a[K+(j+1)>>0]|0)){q=0;k=0;r=0;j=0;break i}}k=0;while(1){j=c[B>>2]|0;if(j>>>0<(c[C>>2]|0)>>>0){c[B>>2]=j+1;j=d[j>>0]|0}else j=aT(e)|0;if(!(a[K+(j+1)>>0]|0)){q=k;k=z;r=0;j=0;break i}a[z+k>>0]=j;k=k+1|0}}while(0);if(!(c[C>>2]|0))n=c[B>>2]|0;else{n=(c[B>>2]|0)+-1|0;c[B>>2]=n}o=D;n=n-(c[E>>2]|0)|0;n=IW(c[o>>2]|0,c[o+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;o=M()|0;if((n|0)==0&(o|0)==0)break b;if(!((n|0)==(y|0)&(o|0)==(x|0)|w^1))break b;do if(t)if(s){c[z>>2]=r;break}else{c[z>>2]=k;break}while(0);if(!w){if(r|0)c[r+(q<<2)>>2]=0;if(!k){k=0;break f}a[k+q>>0]=0}break}case 120:case 88:case 112:{n=16;P=131;break}case 111:{n=8;P=131;break}case 117:case 100:{n=10;P=131;break}case 105:{n=0;P=131;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{p=+VT(e,t,0);y=D;w=c[y>>2]|0;y=c[y+4>>2]|0;x=(c[B>>2]|0)-(c[E>>2]|0)|0;x=JW(0,0,x|0,((x|0)<0)<<31>>31|0)|0;if((w|0)==(x|0)&(y|0)==(M()|0))break b;if(z)switch(t|0){case 0:{f[z>>2]=p;break f}case 1:{g[z>>3]=p;break f}case 2:{g[z>>3]=p;break f}default:break f}break}default:{}}while(0);do if((P|0)==131){P=0;n=$S(e,n,0,-1,-1)|0;o=M()|0;y=D;w=c[y>>2]|0;y=c[y+4>>2]|0;x=(c[B>>2]|0)-(c[E>>2]|0)|0;x=JW(0,0,x|0,((x|0)<0)<<31>>31|0)|0;if((w|0)==(x|0)&(y|0)==(M()|0))break b;if((z|0)!=0&(s|0)==112){c[z>>2]=n;break}else{HU(z,t,n,o);break}}while(0);o=D;n=(c[B>>2]|0)-(c[E>>2]|0)|0;o=IW(c[o>>2]|0,c[o+4>>2]|0,u|0,v|0)|0;n=IW(o|0,M()|0,n|0,((n|0)<0)<<31>>31|0)|0;h=h+((z|0)!=0&1)|0;o=M()|0;break c}while(0);m=m+(n&1)|0;_S(e,0,0);l=c[B>>2]|0;if(l>>>0<(c[C>>2]|0)>>>0){c[B>>2]=l+1;l=d[l>>0]|0}else l=aT(e)|0;if((l|0)!=(d[m>>0]|0)){P=23;break b}n=IW(u|0,v|0,1,0)|0;o=M()|0}else{while(1){l=m+1|0;if(!(bT(d[l>>0]|0)|0))break;else m=l}_S(e,0,0);do{l=c[B>>2]|0;if(l>>>0<(c[C>>2]|0)>>>0){c[B>>2]=l+1;l=d[l>>0]|0}else l=aT(e)|0}while((bT(l)|0)!=0);if(!(c[C>>2]|0))l=c[B>>2]|0;else{l=(c[B>>2]|0)+-1|0;c[B>>2]=l}o=D;n=l-(c[E>>2]|0)|0;o=IW(c[o>>2]|0,c[o+4>>2]|0,u|0,v|0)|0;n=IW(o|0,M()|0,n|0,((n|0)<0)<<31>>31|0)|0;o=M()|0}while(0);m=m+1|0;l=a[m>>0]|0;if(!(l<<24>>24))break a;else{u=n;v=o}}if((P|0)==23){if(c[C>>2]|0)c[B>>2]=(c[B>>2]|0)+-1;if((h|0)!=0|(l|0)>-1)break;else{l=0;h=k;P=144}}else if((P|0)==143)if(!h){h=k;P=144}if((P|0)==144){k=h;h=-1}if(l){XU(k);XU(j)}}else h=0;while(0);if(Q|0)AT(e);$c=R;return h|0}function GU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);d=e;c[d>>2]=c[a>>2];while(1){f=(c[d>>2]|0)+(4-1)&~(4-1);a=c[f>>2]|0;c[d>>2]=f+4;if(b>>>0>1)b=b+-1|0;else break}$c=e;return a|0}function HU(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;a:do if(d|0)switch(e|0){case -2:{a[d>>0]=f;break a}case -1:{b[d>>1]=f;break a}case 0:{c[d>>2]=f;break a}case 1:{c[d>>2]=f;break a}case 3:{e=d;c[e>>2]=f;c[e+4>>2]=g;break a}default:break a}while(0);return}function IU(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0&1;return a|0}function JU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=HT(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0>>0?f:d;XW(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function KU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=e;c[f>>2]=d;d=uT(a,b,f)|0;$c=e;return d|0}function LU(b,c){b=b|0;c=c|0;var d=0;d=a[c>>0]|0;do if(d<<24>>24){b=eU(b,d<<24>>24)|0;if(b){if(a[c+1>>0]|0)if(a[b+1>>0]|0){if(!(a[c+2>>0]|0)){b=MU(b,c)|0;break}if(a[b+2>>0]|0){if(!(a[c+3>>0]|0)){b=NU(b,c)|0;break}if(a[b+3>>0]|0)if(!(a[c+4>>0]|0)){b=OU(b,c)|0;break}else{b=PU(b,c)|0;break}else b=0}else b=0}else b=0}else b=0}while(0);return b|0}function MU(b,c){b=b|0;c=c|0;var e=0,f=0;f=(d[c>>0]|0)<<8|(d[c+1>>0]|0);c=b+1|0;e=a[c>>0]|0;a:do if(!(e<<24>>24))c=0;else{e=(d[b>>0]|0)<<8|e&255;while(1){b=e&65535;if((b|0)==(f|0))break;c=c+1|0;e=a[c>>0]|0;if(!(e<<24>>24)){c=0;break a}else e=b<<8|e&255}c=c+-1|0}while(0);return c|0}function NU(b,c){b=b|0;c=c|0;var e=0,f=0;f=(d[c+1>>0]|0)<<16|(d[c>>0]|0)<<24|(d[c+2>>0]|0)<<8;e=b+2|0;c=a[e>>0]|0;b=(d[b+1>>0]|0)<<16|(d[b>>0]|0)<<24|(c&255)<<8;c=c<<24>>24==0;if(!((b|0)==(f|0)|c))do{e=e+1|0;c=a[e>>0]|0;b=(b|c&255)<<8;c=c<<24>>24==0}while(!((b|0)==(f|0)|c));return (c?0:e+-2|0)|0}function OU(b,c){b=b|0;c=c|0;var e=0,f=0;f=(d[c+1>>0]|0)<<16|(d[c>>0]|0)<<24|(d[c+2>>0]|0)<<8|(d[c+3>>0]|0);e=b+3|0;c=a[e>>0]|0;b=(d[b+1>>0]|0)<<16|(d[b>>0]|0)<<24|(d[b+2>>0]|0)<<8|c&255;c=c<<24>>24==0;if(!((b|0)==(f|0)|c))do{e=e+1|0;c=a[e>>0]|0;b=b<<8|c&255;c=c<<24>>24==0}while(!((b|0)==(f|0)|c));return (c?0:e+-3|0)|0}function PU(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=$c;$c=$c+1056|0;if(($c|0)>=(ad|0))N(1056);u=w+1024|0;v=w;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;c[u+24>>2]=0;c[u+28>>2]=0;f=a[e>>0]|0;a:do if(f<<24>>24){p=0;do{if(!(a[b+p>>0]|0)){f=0;break a}t=f&255;s=u+(t>>>5<<2)|0;c[s>>2]=c[s>>2]|1<<(t&31);p=p+1|0;c[v+(t<<2)>>2]=p;f=a[e+p>>0]|0}while(f<<24>>24!=0);m=p>>>0>1;if(m){k=1;j=1;l=0;i=-1;n=1;while(1){f=a[e+(j+i)>>0]|0;g=a[e+n>>0]|0;do if(f<<24>>24==g<<24>>24)if((j|0)==(k|0)){h=k;f=1;g=k+l|0;break}else{h=k;f=j+1|0;g=l;break}else if((f&255)>(g&255)){h=n-i|0;f=1;g=n;break}else{h=1;f=1;g=l+1|0;i=l;break}while(0);n=f+g|0;if(n>>>0>=p>>>0)break;else{k=h;j=f;l=g}}if(m){m=1;l=1;n=0;g=-1;o=1;while(1){f=a[e+(l+g)>>0]|0;j=a[e+o>>0]|0;do if(f<<24>>24==j<<24>>24)if((l|0)==(m|0)){f=m;j=1;k=m+n|0;break}else{f=m;j=l+1|0;k=n;break}else if((f&255)<(j&255)){f=o-g|0;j=1;k=o;break}else{f=1;j=1;k=n+1|0;g=n;break}while(0);o=j+k|0;if(o>>>0>=p>>>0){t=p;j=25;break}else{m=f;l=j;n=k}}}else{t=p;f=1;g=-1;j=25}}else{h=1;i=-1;t=p;f=1;g=-1;j=25}}else{h=1;i=-1;t=0;f=1;g=-1;j=25}while(0);b:do if((j|0)==25){r=(g+1|0)>>>0>(i+1|0)>>>0;f=r?f:h;r=r?g:i;s=r+1|0;if(!(qT(e,e+f|0,s)|0)){m=t-f|0;q=m;l=f}else{m=t-r+-1|0;m=(r>>>0>m>>>0?r:m)+1|0;q=0;l=m;m=t-m|0}n=t|63;o=t+-1|0;p=(q|0)!=0;f=b;k=0;g=b;while(1){h=f;do if((g-h|0)>>>0>>0){i=HT(g,0,n)|0;if(i)if((i-h|0)>>>0>>0){f=0;break b}else break;else{i=g+n|0;break}}else i=g;while(0);g=d[f+o>>0]|0;c:do if(!(1<<(g&31)&c[u+(g>>>5<<2)>>2])){h=0;g=t}else{g=t-(c[v+(g<<2)>>2]|0)|0;if(g|0){h=0;g=p&(k|0)!=0&g>>>0>>0?m:g;break}j=s>>>0>k>>>0;g=j?s:k;h=a[e+g>>0]|0;d:do if(h<<24>>24){while(1){if(h<<24>>24!=(a[f+g>>0]|0))break;g=g+1|0;h=a[e+g>>0]|0;if(!(h<<24>>24))break d}h=0;g=g-r|0;break c}while(0);if(!j)break b;g=s;while(1){g=g+-1|0;if((a[e+g>>0]|0)!=(a[f+g>>0]|0)){h=q;g=l;break c}if(g>>>0<=k>>>0)break b}}while(0);f=f+g|0;k=h;g=i}}while(0);$c=w;return f|0}function QU(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);f=g;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;e=a[d>>0]|0;do if(!(e<<24>>24))d=0;else{if(!(a[d+1>>0]|0)){d=b;while(1)if((a[d>>0]|0)==e<<24>>24)d=d+1|0;else break;d=d-b|0;break}do{i=e&255;h=f+(i>>>5<<2)|0;c[h>>2]=c[h>>2]|1<<(i&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);e=a[b>>0]|0;a:do if(!(e<<24>>24))d=b;else{d=b;do{i=e&255;if(!(c[f+(i>>>5<<2)>>2]&1<<(i&31)))break a;d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0)}while(0);d=d-b|0}while(0);$c=g;return d|0}function RU(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((c[d+76>>2]|0)>=0?(zT(d)|0)!=0:0){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(i=d+20|0,j=c[i>>2]|0,j>>>0<(c[d+16>>2]|0)>>>0):0){c[i>>2]=j+1;a[j>>0]=f}else e=wU(d,b)|0;AT(d)}else k=3;do if((k|0)==3){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(g=d+20|0,h=c[g>>2]|0,h>>>0<(c[d+16>>2]|0)>>>0):0){c[g>>2]=h+1;a[h>>0]=f;break}e=wU(d,b)|0}while(0);return e|0}function SU(a,b){a=a|0;b=b|0;return +(+TU(a,b,1))}function TU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0,h=0,i=0;g=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);e=g;ZW(e|0,0,144)|0;i=e+4|0;c[i>>2]=a;h=e+8|0;c[h>>2]=-1;c[e+44>>2]=a;c[e+76>>2]=-1;_S(e,0,0);f=+VT(e,d,1);e=e+120|0;d=(c[i>>2]|0)-(c[h>>2]|0)|0;d=IW(c[e>>2]|0,c[e+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;e=M()|0;if(b|0)c[b>>2]=(d|0)==0&(e|0)==0?a:a+d|0;$c=g;return +f}function UU(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;a:do if(!c)b=0;else{h=b;while(1){g=c>>>1;b=h+(H(g,d)|0)|0;f=hd[e&15](a,b)|0;if(!f)break a;if((c|0)==1){b=0;break a}f=(f|0)<0;c=f?g:c-g|0;if(!c){b=0;break}else h=f?h:b}}while(0);return b|0}function VU(a){a=a|0;var b=0,d=0;b=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);d=b;c[d>>2]=a;c[d+4>>2]=21523;c[d+8>>2]=b+16;a=(VS(Ka(54,d|0)|0)|0)==0&1;$c=b;return a|0}function WU(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);n=w;do if(a>>>0<245){k=a>>>0<11?16:a+11&-8;a=k>>>3;m=c[46334]|0;d=m>>>a;if(d&3|0){b=(d&1^1)+a|0;a=185376+(b<<1<<2)|0;d=a+8|0;e=c[d>>2]|0;f=e+8|0;g=c[f>>2]|0;if((g|0)==(a|0))c[46334]=m&~(1<>2]=a;c[d>>2]=g}v=b<<3;c[e+4>>2]=v|3;v=e+v+4|0;c[v>>2]=c[v>>2]|1;v=f;$c=w;return v|0}l=c[46336]|0;if(k>>>0>l>>>0){if(d|0){b=2<>>12&16;b=b>>>i;d=b>>>5&8;b=b>>>d;g=b>>>2&4;b=b>>>g;a=b>>>1&2;b=b>>>a;e=b>>>1&1;e=(d|i|g|a|e)+(b>>>e)|0;b=185376+(e<<1<<2)|0;a=b+8|0;g=c[a>>2]|0;i=g+8|0;d=c[i>>2]|0;if((d|0)==(b|0)){a=m&~(1<>2]=b;c[a>>2]=d;a=m}v=e<<3;h=v-k|0;c[g+4>>2]=k|3;f=g+k|0;c[f+4>>2]=h|1;c[g+v>>2]=h;if(l|0){e=c[46339]|0;b=l>>>3;d=185376+(b<<1<<2)|0;b=1<>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[46336]=h;c[46339]=f;v=i;$c=w;return v|0}g=c[46335]|0;if(g){d=(g&0-g)+-1|0;f=d>>>12&16;d=d>>>f;e=d>>>5&8;d=d>>>e;h=d>>>2&4;d=d>>>h;i=d>>>1&2;d=d>>>i;j=d>>>1&1;j=c[185640+((e|f|h|i|j)+(d>>>j)<<2)>>2]|0;d=j;i=j;j=(c[j+4>>2]&-8)-k|0;while(1){a=c[d+16>>2]|0;if(!a){a=c[d+20>>2]|0;if(!a)break}h=(c[a+4>>2]&-8)-k|0;f=h>>>0>>0;d=a;i=f?a:i;j=f?h:j}h=i+k|0;if(h>>>0>i>>>0){f=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){d=0;break}}while(1){e=b+20|0;d=c[e>>2]|0;if(!d){e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}else{b=d;a=e}}c[a>>2]=0;d=b}else{d=c[i+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);do if(f|0){b=c[i+28>>2]|0;a=185640+(b<<2)|0;if((i|0)==(c[a>>2]|0)){c[a>>2]=d;if(!d){c[46335]=g&~(1<>2]|0)==(i|0)?v:f+20|0)>>2]=d;if(!d)break}c[d+24>>2]=f;b=c[i+16>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}b=c[i+20>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}while(0);if(j>>>0<16){v=j+k|0;c[i+4>>2]=v|3;v=i+v+4|0;c[v>>2]=c[v>>2]|1}else{c[i+4>>2]=k|3;c[h+4>>2]=j|1;c[h+j>>2]=j;if(l|0){e=c[46339]|0;b=l>>>3;d=185376+(b<<1<<2)|0;b=1<>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[46336]=j;c[46339]=h}v=i+8|0;$c=w;return v|0}else m=k}else m=k}else m=k}else if(a>>>0<=4294967231){a=a+11|0;k=a&-8;e=c[46335]|0;if(e){f=0-k|0;a=a>>>8;if(a)if(k>>>0>16777215)j=31;else{m=(a+1048320|0)>>>16&8;q=a<>>16&4;q=q<>>16&2;j=14-(i|m|j)+(q<>>15)|0;j=k>>>(j+7|0)&1|j<<1}else j=0;d=c[185640+(j<<2)>>2]|0;a:do if(!d){d=0;a=0;q=61}else{a=0;i=k<<((j|0)==31?0:25-(j>>>1)|0);g=0;while(1){h=(c[d+4>>2]&-8)-k|0;if(h>>>0>>0)if(!h){a=d;f=0;q=65;break a}else{a=d;f=h}q=c[d+20>>2]|0;d=c[d+16+(i>>>31<<2)>>2]|0;g=(q|0)==0|(q|0)==(d|0)?g:q;if(!d){d=g;q=61;break}else i=i<<1}}while(0);if((q|0)==61){if((d|0)==0&(a|0)==0){a=2<>>12&16;m=m>>>h;g=m>>>5&8;m=m>>>g;i=m>>>2&4;m=m>>>i;j=m>>>1&2;m=m>>>j;d=m>>>1&1;a=0;d=c[185640+((g|h|i|j|d)+(m>>>d)<<2)>>2]|0}if(!d){i=a;h=f}else q=65}if((q|0)==65){g=d;while(1){m=(c[g+4>>2]&-8)-k|0;d=m>>>0>>0;f=d?m:f;a=d?g:a;d=c[g+16>>2]|0;if(!d)d=c[g+20>>2]|0;if(!d){i=a;h=f;break}else g=d}}if(((i|0)!=0?h>>>0<((c[46336]|0)-k|0)>>>0:0)?(l=i+k|0,l>>>0>i>>>0):0){g=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){b=0;break}}while(1){f=b+20|0;d=c[f>>2]|0;if(!d){f=b+16|0;d=c[f>>2]|0;if(!d)break;else{b=d;a=f}}else{b=d;a=f}}c[a>>2]=0}else{v=c[i+8>>2]|0;c[v+12>>2]=b;c[b+8>>2]=v}while(0);do if(g){a=c[i+28>>2]|0;d=185640+(a<<2)|0;if((i|0)==(c[d>>2]|0)){c[d>>2]=b;if(!b){e=e&~(1<>2]|0)==(i|0)?v:g+20|0)>>2]=b;if(!b)break}c[b+24>>2]=g;a=c[i+16>>2]|0;if(a|0){c[b+16>>2]=a;c[a+24>>2]=b}a=c[i+20>>2]|0;if(a){c[b+20>>2]=a;c[a+24>>2]=b}}while(0);b:do if(h>>>0<16){v=h+k|0;c[i+4>>2]=v|3;v=i+v+4|0;c[v>>2]=c[v>>2]|1}else{c[i+4>>2]=k|3;c[l+4>>2]=h|1;c[l+h>>2]=h;b=h>>>3;if(h>>>0<256){d=185376+(b<<1<<2)|0;a=c[46334]|0;b=1<>2]|0}c[a>>2]=l;c[b+12>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;break}b=h>>>8;if(b)if(h>>>0>16777215)d=31;else{u=(b+1048320|0)>>>16&8;v=b<>>16&4;v=v<>>16&2;d=14-(t|u|d)+(v<>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;b=185640+(d<<2)|0;c[l+28>>2]=d;a=l+16|0;c[a+4>>2]=0;c[a>>2]=0;a=1<>2]=l;c[l+24>>2]=b;c[l+12>>2]=l;c[l+8>>2]=l;break}b=c[b>>2]|0;c:do if((c[b+4>>2]&-8|0)!=(h|0)){e=h<<((d|0)==31?0:25-(d>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(h|0)){b=a;break c}else{e=e<<1;b=a}}c[d>>2]=l;c[l+24>>2]=b;c[l+12>>2]=l;c[l+8>>2]=l;break b}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=l;c[u>>2]=l;c[l+8>>2]=v;c[l+12>>2]=b;c[l+24>>2]=0}while(0);v=i+8|0;$c=w;return v|0}else m=k}else m=k}else m=-1;while(0);d=c[46336]|0;if(d>>>0>=m>>>0){b=d-m|0;a=c[46339]|0;if(b>>>0>15){v=a+m|0;c[46339]=v;c[46336]=b;c[v+4>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=m|3}else{c[46336]=0;c[46339]=0;c[a+4>>2]=d|3;v=a+d+4|0;c[v>>2]=c[v>>2]|1}v=a+8|0;$c=w;return v|0}h=c[46337]|0;if(h>>>0>m>>>0){t=h-m|0;c[46337]=t;v=c[46340]|0;u=v+m|0;c[46340]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;$c=w;return v|0}if(!(c[46452]|0)){c[46454]=4096;c[46453]=4096;c[46455]=-1;c[46456]=-1;c[46457]=0;c[46445]=0;c[46452]=n&-16^1431655768;a=4096}else a=c[46454]|0;i=m+48|0;j=m+47|0;g=a+j|0;f=0-a|0;k=g&f;if(k>>>0<=m>>>0){v=0;$c=w;return v|0}a=c[46444]|0;if(a|0?(l=c[46442]|0,n=l+k|0,n>>>0<=l>>>0|n>>>0>a>>>0):0){v=0;$c=w;return v|0}d:do if(!(c[46445]&4)){d=c[46340]|0;e:do if(d){e=185784;while(1){n=c[e>>2]|0;if(n>>>0<=d>>>0?(n+(c[e+4>>2]|0)|0)>>>0>d>>>0:0)break;a=c[e+8>>2]|0;if(!a){q=128;break e}else e=a}b=g-h&f;if(b>>>0<2147483647){a=$W(b|0)|0;if((a|0)==((c[e>>2]|0)+(c[e+4>>2]|0)|0)){if((a|0)!=(-1|0)){h=b;g=a;q=145;break d}}else{e=a;q=136}}else b=0}else q=128;while(0);do if((q|0)==128){d=$W(0)|0;if((d|0)!=(-1|0)?(b=d,o=c[46453]|0,p=o+-1|0,b=((p&b|0)==0?0:(p+b&0-o)-b|0)+k|0,o=c[46442]|0,p=b+o|0,b>>>0>m>>>0&b>>>0<2147483647):0){n=c[46444]|0;if(n|0?p>>>0<=o>>>0|p>>>0>n>>>0:0){b=0;break}a=$W(b|0)|0;if((a|0)==(d|0)){h=b;g=d;q=145;break d}else{e=a;q=136}}else b=0}while(0);do if((q|0)==136){d=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(e|0)!=(-1|0))))if((e|0)==(-1|0)){b=0;break}else{h=b;g=e;q=145;break d}a=c[46454]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=b;g=e;q=145;break d}if(($W(a|0)|0)==(-1|0)){$W(d|0)|0;b=0;break}else{h=a+b|0;g=e;q=145;break d}}while(0);c[46445]=c[46445]|4;q=143}else{b=0;q=143}while(0);if(((q|0)==143?k>>>0<2147483647:0)?(t=$W(k|0)|0,p=$W(0)|0,r=p-t|0,s=r>>>0>(m+40|0)>>>0,!((t|0)==(-1|0)|s^1|t>>>0

>>0&((t|0)!=(-1|0)&(p|0)!=(-1|0))^1)):0){h=s?r:b;g=t;q=145}if((q|0)==145){b=(c[46442]|0)+h|0;c[46442]=b;if(b>>>0>(c[46443]|0)>>>0)c[46443]=b;j=c[46340]|0;f:do if(j){b=185784;while(1){a=c[b>>2]|0;d=c[b+4>>2]|0;if((g|0)==(a+d|0)){q=154;break}e=c[b+8>>2]|0;if(!e)break;else b=e}if(((q|0)==154?(u=b+4|0,(c[b+12>>2]&8|0)==0):0)?g>>>0>j>>>0&a>>>0<=j>>>0:0){c[u>>2]=d+h;v=(c[46337]|0)+h|0;t=j+8|0;t=(t&7|0)==0?0:0-t&7;u=j+t|0;t=v-t|0;c[46340]=u;c[46337]=t;c[u+4>>2]=t|1;c[j+v+4>>2]=40;c[46341]=c[46456];break}if(g>>>0<(c[46338]|0)>>>0)c[46338]=g;d=g+h|0;b=185784;while(1){if((c[b>>2]|0)==(d|0)){q=162;break}a=c[b+8>>2]|0;if(!a)break;else b=a}if((q|0)==162?(c[b+12>>2]&8|0)==0:0){c[b>>2]=g;l=b+4|0;c[l>>2]=(c[l>>2]|0)+h;l=g+8|0;l=g+((l&7|0)==0?0:0-l&7)|0;b=d+8|0;b=d+((b&7|0)==0?0:0-b&7)|0;k=l+m|0;i=b-l-m|0;c[l+4>>2]=m|3;g:do if((j|0)==(b|0)){v=(c[46337]|0)+i|0;c[46337]=v;c[46340]=k;c[k+4>>2]=v|1}else{if((c[46339]|0)==(b|0)){v=(c[46336]|0)+i|0;c[46336]=v;c[46339]=k;c[k+4>>2]=v|1;c[k+v>>2]=v;break}a=c[b+4>>2]|0;if((a&3|0)==1){h=a&-8;e=a>>>3;h:do if(a>>>0<256){a=c[b+8>>2]|0;d=c[b+12>>2]|0;if((d|0)==(a|0)){c[46334]=c[46334]&~(1<>2]=d;c[d+8>>2]=a;break}}else{g=c[b+24>>2]|0;a=c[b+12>>2]|0;do if((a|0)==(b|0)){d=b+16|0;e=d+4|0;a=c[e>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}}else d=e;while(1){f=a+20|0;e=c[f>>2]|0;if(!e){f=a+16|0;e=c[f>>2]|0;if(!e)break;else{a=e;d=f}}else{a=e;d=f}}c[d>>2]=0}else{v=c[b+8>>2]|0;c[v+12>>2]=a;c[a+8>>2]=v}while(0);if(!g)break;d=c[b+28>>2]|0;e=185640+(d<<2)|0;do if((c[e>>2]|0)!=(b|0)){v=g+16|0;c[((c[v>>2]|0)==(b|0)?v:g+20|0)>>2]=a;if(!a)break h}else{c[e>>2]=a;if(a|0)break;c[46335]=c[46335]&~(1<>2]=g;d=b+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(!d)break;c[a+20>>2]=d;c[d+24>>2]=a}while(0);b=b+h|0;f=h+i|0}else f=i;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[k+4>>2]=f|1;c[k+f>>2]=f;b=f>>>3;if(f>>>0<256){d=185376+(b<<1<<2)|0;a=c[46334]|0;b=1<>2]|0}c[a>>2]=k;c[b+12>>2]=k;c[k+8>>2]=b;c[k+12>>2]=d;break}b=f>>>8;do if(!b)e=0;else{if(f>>>0>16777215){e=31;break}u=(b+1048320|0)>>>16&8;v=b<>>16&4;v=v<>>16&2;e=14-(t|u|e)+(v<>>15)|0;e=f>>>(e+7|0)&1|e<<1}while(0);b=185640+(e<<2)|0;c[k+28>>2]=e;a=k+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[46335]|0;d=1<>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break}b=c[b>>2]|0;i:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(f|0)){b=a;break i}else{e=e<<1;b=a}}c[d>>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break g}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=k;c[u>>2]=k;c[k+8>>2]=v;c[k+12>>2]=b;c[k+24>>2]=0}while(0);v=l+8|0;$c=w;return v|0}b=185784;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(v=a+(c[b+4>>2]|0)|0,v>>>0>j>>>0):0)break;b=c[b+8>>2]|0}f=v+-47|0;a=f+8|0;a=f+((a&7|0)==0?0:0-a&7)|0;f=j+16|0;a=a>>>0>>0?j:a;b=a+8|0;d=h+-40|0;t=g+8|0;t=(t&7|0)==0?0:0-t&7;u=g+t|0;t=d-t|0;c[46340]=u;c[46337]=t;c[u+4>>2]=t|1;c[g+d+4>>2]=40;c[46341]=c[46456];d=a+4|0;c[d>>2]=27;c[b>>2]=c[46446];c[b+4>>2]=c[46447];c[b+8>>2]=c[46448];c[b+12>>2]=c[46449];c[46446]=g;c[46447]=h;c[46449]=0;c[46448]=b;b=a+24|0;do{u=b;b=b+4|0;c[b>>2]=7}while((u+8|0)>>>0>>0);if((a|0)!=(j|0)){g=a-j|0;c[d>>2]=c[d>>2]&-2;c[j+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){d=185376+(b<<1<<2)|0;a=c[46334]|0;b=1<>2]|0}c[a>>2]=j;c[b+12>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{u=(b+1048320|0)>>>16&8;v=b<>>16&4;v=v<>>16&2;e=14-(t|u|e)+(v<>>15)|0;e=g>>>(e+7|0)&1|e<<1}else e=0;d=185640+(e<<2)|0;c[j+28>>2]=e;c[j+20>>2]=0;c[f>>2]=0;b=c[46335]|0;a=1<>2]=j;c[j+24>>2]=d;c[j+12>>2]=j;c[j+8>>2]=j;break}b=c[d>>2]|0;j:do if((c[b+4>>2]&-8|0)!=(g|0)){e=g<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(g|0)){b=a;break j}else{e=e<<1;b=a}}c[d>>2]=j;c[j+24>>2]=b;c[j+12>>2]=j;c[j+8>>2]=j;break f}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=j;c[u>>2]=j;c[j+8>>2]=v;c[j+12>>2]=b;c[j+24>>2]=0}}else{v=c[46338]|0;if((v|0)==0|g>>>0>>0)c[46338]=g;c[46446]=g;c[46447]=h;c[46449]=0;c[46343]=c[46452];c[46342]=-1;c[46347]=185376;c[46346]=185376;c[46349]=185384;c[46348]=185384;c[46351]=185392;c[46350]=185392;c[46353]=185400;c[46352]=185400;c[46355]=185408;c[46354]=185408;c[46357]=185416;c[46356]=185416;c[46359]=185424;c[46358]=185424;c[46361]=185432;c[46360]=185432;c[46363]=185440;c[46362]=185440;c[46365]=185448;c[46364]=185448;c[46367]=185456;c[46366]=185456;c[46369]=185464;c[46368]=185464;c[46371]=185472;c[46370]=185472;c[46373]=185480;c[46372]=185480;c[46375]=185488;c[46374]=185488;c[46377]=185496;c[46376]=185496;c[46379]=185504;c[46378]=185504;c[46381]=185512;c[46380]=185512;c[46383]=185520;c[46382]=185520;c[46385]=185528;c[46384]=185528;c[46387]=185536;c[46386]=185536;c[46389]=185544;c[46388]=185544;c[46391]=185552;c[46390]=185552;c[46393]=185560;c[46392]=185560;c[46395]=185568;c[46394]=185568;c[46397]=185576;c[46396]=185576;c[46399]=185584;c[46398]=185584;c[46401]=185592;c[46400]=185592;c[46403]=185600;c[46402]=185600;c[46405]=185608;c[46404]=185608;c[46407]=185616;c[46406]=185616;c[46409]=185624;c[46408]=185624;v=h+-40|0;t=g+8|0;t=(t&7|0)==0?0:0-t&7;u=g+t|0;t=v-t|0;c[46340]=u;c[46337]=t;c[u+4>>2]=t|1;c[g+v+4>>2]=40;c[46341]=c[46456]}while(0);b=c[46337]|0;if(b>>>0>m>>>0){t=b-m|0;c[46337]=t;v=c[46340]|0;u=v+m|0;c[46340]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;$c=w;return v|0}}c[(WS()|0)>>2]=12;v=0;$c=w;return v|0}function XU(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!a)return;d=a+-8|0;f=c[46338]|0;a=c[a+-4>>2]|0;b=a&-8;j=d+b|0;do if(!(a&1)){e=c[d>>2]|0;if(!(a&3))return;h=d+(0-e)|0;g=e+b|0;if(h>>>0>>0)return;if((c[46339]|0)==(h|0)){a=j+4|0;b=c[a>>2]|0;if((b&3|0)!=3){i=h;b=g;break}c[46336]=g;c[a>>2]=b&-2;c[h+4>>2]=g|1;c[h+g>>2]=g;return}d=e>>>3;if(e>>>0<256){a=c[h+8>>2]|0;b=c[h+12>>2]|0;if((b|0)==(a|0)){c[46334]=c[46334]&~(1<>2]=b;c[b+8>>2]=a;i=h;b=g;break}}f=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){b=h+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){a=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0}else{i=c[h+8>>2]|0;c[i+12>>2]=a;c[a+8>>2]=i}while(0);if(f){b=c[h+28>>2]|0;d=185640+(b<<2)|0;if((c[d>>2]|0)==(h|0)){c[d>>2]=a;if(!a){c[46335]=c[46335]&~(1<>2]|0)==(h|0)?i:f+20|0)>>2]=a;if(!a){i=h;b=g;break}}c[a+24>>2]=f;b=h+16|0;d=c[b>>2]|0;if(d|0){c[a+16>>2]=d;c[d+24>>2]=a}b=c[b+4>>2]|0;if(b){c[a+20>>2]=b;c[b+24>>2]=a;i=h;b=g}else{i=h;b=g}}else{i=h;b=g}}else{i=d;h=d}while(0);if(h>>>0>=j>>>0)return;a=j+4|0;e=c[a>>2]|0;if(!(e&1))return;if(!(e&2)){if((c[46340]|0)==(j|0)){j=(c[46337]|0)+b|0;c[46337]=j;c[46340]=i;c[i+4>>2]=j|1;if((i|0)!=(c[46339]|0))return;c[46339]=0;c[46336]=0;return}if((c[46339]|0)==(j|0)){j=(c[46336]|0)+b|0;c[46336]=j;c[46339]=h;c[i+4>>2]=j|1;c[h+j>>2]=j;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){b=c[j+8>>2]|0;a=c[j+12>>2]|0;if((a|0)==(b|0)){c[46334]=c[46334]&~(1<>2]=a;c[a+8>>2]=b;break}}else{g=c[j+24>>2]|0;a=c[j+12>>2]|0;do if((a|0)==(j|0)){b=j+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){d=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0;d=a}else{d=c[j+8>>2]|0;c[d+12>>2]=a;c[a+8>>2]=d;d=a}while(0);if(g|0){a=c[j+28>>2]|0;b=185640+(a<<2)|0;if((c[b>>2]|0)==(j|0)){c[b>>2]=d;if(!d){c[46335]=c[46335]&~(1<>2]|0)==(j|0)?e:g+20|0)>>2]=d;if(!d)break}c[d+24>>2]=g;a=j+16|0;b=c[a>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}a=c[a+4>>2]|0;if(a|0){c[d+20>>2]=a;c[a+24>>2]=d}}}while(0);c[i+4>>2]=f|1;c[h+f>>2]=f;if((i|0)==(c[46339]|0)){c[46336]=f;return}}else{c[a>>2]=e&-2;c[i+4>>2]=b|1;c[h+b>>2]=b;f=b}a=f>>>3;if(f>>>0<256){d=185376+(a<<1<<2)|0;b=c[46334]|0;a=1<>2]|0}c[b>>2]=i;c[a+12>>2]=i;c[i+8>>2]=a;c[i+12>>2]=d;return}a=f>>>8;if(a)if(f>>>0>16777215)e=31;else{h=(a+1048320|0)>>>16&8;j=a<>>16&4;j=j<>>16&2;e=14-(g|h|e)+(j<>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;a=185640+(e<<2)|0;c[i+28>>2]=e;c[i+20>>2]=0;c[i+16>>2]=0;b=c[46335]|0;d=1<>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i}else{a=c[a>>2]|0;b:do if((c[a+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=a+16+(e>>>31<<2)|0;b=c[d>>2]|0;if(!b)break;if((c[b+4>>2]&-8|0)==(f|0)){a=b;break b}else{e=e<<1;a=b}}c[d>>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i;break a}while(0);h=a+8|0;j=c[h>>2]|0;c[j+12>>2]=i;c[h>>2]=i;c[i+8>>2]=j;c[i+12>>2]=a;c[i+24>>2]=0}while(0);j=(c[46342]|0)+-1|0;c[46342]=j;if(j|0)return;a=185792;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[46342]=-1;return}function YU(a,b){a=a|0;b=b|0;var d=0;if(a){d=H(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;a=WU(d)|0;if(!a)return a|0;if(!(c[a+-4>>2]&3))return a|0;ZW(a|0,0,d|0)|0;return a|0}function ZU(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){b=WU(b)|0;return b|0}if(b>>>0>4294967231){c[(WS()|0)>>2]=12;b=0;return b|0}d=_U(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){b=d+8|0;return b|0}d=WU(b)|0;if(!d){b=0;return b|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;XW(d|0,a|0,(e>>>0>>0?e:b)|0)|0;XU(a);b=d;return b|0}function _U(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=a+4|0;m=c[l>>2]|0;d=m&-8;i=a+d|0;if(!(m&3)){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[46454]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;k=a+b|0;c[l>>2]=m&1|b|2;c[k+4>>2]=d|3;m=i+4|0;c[m>>2]=c[m>>2]|1;$U(k,d);return a|0}if((c[46340]|0)==(i|0)){k=(c[46337]|0)+d|0;d=k-b|0;e=a+b|0;if(k>>>0<=b>>>0){a=0;return a|0}c[l>>2]=m&1|b|2;c[e+4>>2]=d|1;c[46340]=e;c[46337]=d;return a|0}if((c[46339]|0)==(i|0)){e=(c[46336]|0)+d|0;if(e>>>0>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){k=a+b|0;e=a+e|0;c[l>>2]=m&1|b|2;c[k+4>>2]=d|1;c[e>>2]=d;e=e+4|0;c[e>>2]=c[e>>2]&-2;e=k}else{c[l>>2]=m&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[46336]=d;c[46339]=e;return a|0}e=c[i+4>>2]|0;if(e&2|0){a=0;return a|0}j=(e&-8)+d|0;if(j>>>0>>0){a=0;return a|0}k=j-b|0;f=e>>>3;do if(e>>>0<256){e=c[i+8>>2]|0;d=c[i+12>>2]|0;if((d|0)==(e|0)){c[46334]=c[46334]&~(1<>2]=d;c[d+8>>2]=e;break}}else{h=c[i+24>>2]|0;d=c[i+12>>2]|0;do if((d|0)==(i|0)){e=i+16|0;f=e+4|0;d=c[f>>2]|0;if(!d){d=c[e>>2]|0;if(!d){f=0;break}}else e=f;while(1){g=d+20|0;f=c[g>>2]|0;if(!f){g=d+16|0;f=c[g>>2]|0;if(!f)break;else{d=f;e=g}}else{d=f;e=g}}c[e>>2]=0;f=d}else{f=c[i+8>>2]|0;c[f+12>>2]=d;c[d+8>>2]=f;f=d}while(0);if(h|0){d=c[i+28>>2]|0;e=185640+(d<<2)|0;if((c[e>>2]|0)==(i|0)){c[e>>2]=f;if(!f){c[46335]=c[46335]&~(1<>2]|0)==(i|0)?g:h+20|0)>>2]=f;if(!f)break}c[f+24>>2]=h;d=i+16|0;e=c[d>>2]|0;if(e|0){c[f+16>>2]=e;c[e+24>>2]=f}d=c[d+4>>2]|0;if(d|0){c[f+20>>2]=d;c[d+24>>2]=f}}}while(0);if(k>>>0<16){c[l>>2]=m&1|j|2;m=a+j+4|0;c[m>>2]=c[m>>2]|1;return a|0}else{i=a+b|0;c[l>>2]=m&1|b|2;c[i+4>>2]=k|3;m=a+j+4|0;c[m>>2]=c[m>>2]|1;$U(i,k);return a|0}return 0}function $U(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){f=c[a>>2]|0;if(!(d&3))return;h=a+(0-f)|0;b=f+b|0;if((c[46339]|0)==(h|0)){a=i+4|0;d=c[a>>2]|0;if((d&3|0)!=3)break;c[46336]=b;c[a>>2]=d&-2;c[h+4>>2]=b|1;c[i>>2]=b;return}e=f>>>3;if(f>>>0<256){a=c[h+8>>2]|0;d=c[h+12>>2]|0;if((d|0)==(a|0)){c[46334]=c[46334]&~(1<>2]=d;c[d+8>>2]=a;break}}g=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){d=h+16|0;e=d+4|0;a=c[e>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}}else d=e;while(1){f=a+20|0;e=c[f>>2]|0;if(!e){f=a+16|0;e=c[f>>2]|0;if(!e)break;else{a=e;d=f}}else{a=e;d=f}}c[d>>2]=0}else{f=c[h+8>>2]|0;c[f+12>>2]=a;c[a+8>>2]=f}while(0);if(g){d=c[h+28>>2]|0;e=185640+(d<<2)|0;if((c[e>>2]|0)==(h|0)){c[e>>2]=a;if(!a){c[46335]=c[46335]&~(1<>2]|0)==(h|0)?f:g+20|0)>>2]=a;if(!a)break}c[a+24>>2]=g;d=h+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(d){c[a+20>>2]=d;c[d+24>>2]=a}}}else h=a;while(0);a=i+4|0;e=c[a>>2]|0;if(!(e&2)){if((c[46340]|0)==(i|0)){i=(c[46337]|0)+b|0;c[46337]=i;c[46340]=h;c[h+4>>2]=i|1;if((h|0)!=(c[46339]|0))return;c[46339]=0;c[46336]=0;return}if((c[46339]|0)==(i|0)){i=(c[46336]|0)+b|0;c[46336]=i;c[46339]=h;c[h+4>>2]=i|1;c[h+i>>2]=i;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){a=c[i+8>>2]|0;b=c[i+12>>2]|0;if((b|0)==(a|0)){c[46334]=c[46334]&~(1<>2]=b;c[b+8>>2]=a;break}}else{g=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+16|0;d=a+4|0;b=c[d>>2]|0;if(!b){b=c[a>>2]|0;if(!b){d=0;break}}else a=d;while(1){e=b+20|0;d=c[e>>2]|0;if(!d){e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}else{b=d;a=e}}c[a>>2]=0;d=b}else{d=c[i+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);if(g|0){b=c[i+28>>2]|0;a=185640+(b<<2)|0;if((c[a>>2]|0)==(i|0)){c[a>>2]=d;if(!d){c[46335]=c[46335]&~(1<>2]|0)==(i|0)?e:g+20|0)>>2]=d;if(!d)break}c[d+24>>2]=g;b=i+16|0;a=c[b>>2]|0;if(a|0){c[d+16>>2]=a;c[a+24>>2]=d}b=c[b+4>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}}while(0);c[h+4>>2]=f|1;c[h+f>>2]=f;if((h|0)==(c[46339]|0)){c[46336]=f;return}}else{c[a>>2]=e&-2;c[h+4>>2]=b|1;c[h+b>>2]=b;f=b}b=f>>>3;if(f>>>0<256){d=185376+(b<<1<<2)|0;a=c[46334]|0;b=1<>2]|0}c[a>>2]=h;c[b+12>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;return}b=f>>>8;if(b)if(f>>>0>16777215)e=31;else{g=(b+1048320|0)>>>16&8;i=b<>>16&4;i=i<>>16&2;e=14-(d|g|e)+(i<>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;b=185640+(e<<2)|0;c[h+28>>2]=e;c[h+20>>2]=0;c[h+16>>2]=0;a=c[46335]|0;d=1<>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;return}b=c[b>>2]|0;a:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(f|0)){b=a;break a}else{e=e<<1;b=a}}c[d>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;return}while(0);g=b+8|0;i=c[g>>2]|0;c[i+12>>2]=h;c[g>>2]=h;c[h+8>>2]=i;c[h+12>>2]=b;c[h+24>>2]=0;return}function aV(a,b){a=a|0;b=b|0;if(a>>>0<9){b=WU(b)|0;return b|0}else{b=bV(a,b)|0;return b|0}return 0}function bV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=a>>>0>16?a:16;if(!(d+-1&d))a=d;else{a=16;while(1)if(a>>>0>>0)a=a<<1;else break}if((-64-a|0)>>>0<=b>>>0){c[(WS()|0)>>2]=12;h=0;return h|0}g=b>>>0<11?16:b+11&-8;d=WU(g+12+a|0)|0;if(!d){h=0;return h|0}f=d+-8|0;do if(a+-1&d){e=(d+a+-1&0-a)+-8|0;b=f;e=(e-b|0)>>>0>15?e:e+a|0;b=e-b|0;a=d+-4|0;i=c[a>>2]|0;d=(i&-8)-b|0;if(!(i&3)){c[e>>2]=(c[f>>2]|0)+b;c[e+4>>2]=d;a=e;b=e;break}else{i=e+4|0;c[i>>2]=d|c[i>>2]&1|2;d=e+d+4|0;c[d>>2]=c[d>>2]|1;c[a>>2]=b|c[a>>2]&1|2;c[i>>2]=c[i>>2]|1;$U(f,b);a=e;b=e;break}}else{a=f;b=f}while(0);a=a+4|0;d=c[a>>2]|0;if(d&3|0?(h=d&-8,h>>>0>(g+16|0)>>>0):0){i=h-g|0;f=b+g|0;c[a>>2]=g|d&1|2;c[f+4>>2]=i|3;h=b+h+4|0;c[h>>2]=c[h>>2]|1;$U(f,i)}i=b+8|0;return i|0}function cV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;do if((b|0)!=8){e=b>>>2;if((b&3|0)!=0|(e|0)==0){a=22;return a|0}if(e+1073741823&e|0){a=22;return a|0}if((-64-b|0)>>>0>>0){a=12;return a|0}else{b=bV(b>>>0>16?b:16,d)|0;break}}else b=WU(d)|0;while(0);if(!b){a=12;return a|0}c[a>>2]=b;a=0;return a|0}function dV(a,b){a=a|0;b=b|0;return 0}function eV(a){a=a|0;return 0}function fV(a){a=a|0;return 0}function gV(a){a=a|0;return 0}function hV(a,b){a=a|0;b=b|0;if(!a){b=22;return b|0}b=WU(8)|0;c[b>>2]=0;c[b+4>>2]=38177486;c[a>>2]=b;b=0;return b|0}function iV(a){a=a|0;if((c[a+4>>2]|0)!=38177486){a=0;return a|0}a=c[a>>2]|0;return a|0}function jV(a,b){a=a|0;b=b|0;if((c[a+4>>2]|0)!=38177486){b=22;return b|0}c[a>>2]=b;b=0;return b|0}function kV(a,b){a=a|0;b=b|0;if((c[a>>2]|0)==324508639)return 0;md[b&7]();c[a>>2]=324508639;return 0}function lV(){ua(185848);return}function mV(){return 185832}function nV(){return 185840}function oV(){return 185844}function pV(){return 185848}function qV(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=WU(b)|0;if(a|0)break;a=FW()|0;if(!a){a=0;break}md[a&7]()}return a|0}function rV(a){a=a|0;XU(a);return}function sV(a,b){a=a|0;b=b|0;var d=0,e=0;e=dU(b)|0;d=qV(e+13|0)|0;c[d>>2]=e;c[d+4>>2]=e;c[d+8>>2]=0;d=tV(d)|0;XW(d|0,b|0,e+1|0)|0;c[a>>2]=d;return}function tV(a){a=a|0;return a+12|0}function uV(a,b){a=a|0;b=b|0;c[a>>2]=114156;sV(a+4|0,b);return}function vV(a){a=a|0;return 1}function wV(a){a=a|0;ub()}function xV(a){a=a|0;ub()}function yV(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=g;if(e>>>0>4294967279)wV(b);if(e>>>0<11)a[b+11>>0]=e;else{i=e+16&-16;h=qV(i)|0;c[b>>2]=h;c[b+8>>2]=i|-2147483648;c[b+4>>2]=e;b=h}zV(b,d,e)|0;a[f>>0]=0;AV(b+e|0,f);$c=g;return}function zV(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)XW(a|0,b|0,c|0)|0;return a|0}function AV(b,c){b=b|0;c=c|0;a[b>>0]=a[c>>0]|0;return}function BV(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)ZW(a|0,(CV(c)|0)&255|0,b|0)|0;return a|0}function CV(a){a=a|0;return a&255|0}function DV(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;g=a[d+11>>0]|0;h=g<<24>>24<0;g=h?c[d+4>>2]|0:g&255;if(g>>>0>>0)xV(b);else{g=g-e|0;yV(b,(h?c[d>>2]|0:d)+e|0,g>>>0>>0?g:f);return}}function EV(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;o=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);n=o;if((-18-d|0)>>>0>>0)wV(b);if((a[b+11>>0]|0)<0)m=c[b>>2]|0;else m=b;if(d>>>0<2147483623){k=e+d|0;l=d<<1;k=k>>>0>>0?l:k;k=k>>>0<11?11:k+16&-16}else k=-17;l=qV(k)|0;if(g|0)zV(l,m,g)|0;if(i|0)zV(l+g|0,j,i)|0;e=f-h|0;f=e-g|0;if(f|0)zV(l+g+i|0,m+g+h|0,f)|0;if((d|0)!=10)rV(m);c[b>>2]=l;c[b+8>>2]=k|-2147483648;i=e+i|0;c[b+4>>2]=i;a[n>>0]=0;AV(l+i|0,n);$c=o;return}function FV(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);g=j;h=b+11|0;f=a[h>>0]|0;i=f<<24>>24<0;if(i)f=c[b+4>>2]|0;else f=f&255;do if(f>>>0>=d>>>0)if(i){i=(c[b>>2]|0)+d|0;a[g>>0]=0;AV(i,g);c[b+4>>2]=d;break}else{a[g>>0]=0;AV(b+d|0,g);a[h>>0]=d;break}else GV(b,d-f|0,e)|0;while(0);$c=j;return}function GV(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);i=k;if(d|0){j=b+11|0;f=a[j>>0]|0;if(f<<24>>24<0){g=(c[b+8>>2]&2147483647)+-1|0;h=c[b+4>>2]|0}else{g=10;h=f&255}if((g-h|0)>>>0>>0){HV(b,g,h+d-g|0,h,h,0,0);f=a[j>>0]|0}if(f<<24>>24<0)g=c[b>>2]|0;else g=b;BV(g+h|0,d,e)|0;f=h+d|0;if((a[j>>0]|0)<0)c[b+4>>2]=f;else a[j>>0]=f;a[i>>0]=0;AV(g+f|0,i)}$c=k;return b|0}function HV(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((-17-d|0)>>>0>>0)wV(b);if((a[b+11>>0]|0)<0)l=c[b>>2]|0;else l=b;if(d>>>0<2147483623){j=e+d|0;k=d<<1;j=j>>>0>>0?k:j;j=j>>>0<11?11:j+16&-16}else j=-17;k=qV(j)|0;if(g|0)zV(k,l,g)|0;e=f-h-g|0;if(e|0)zV(k+g+i|0,l+g+h|0,e)|0;if((d|0)!=10)rV(l);c[b>>2]=k;c[b+8>>2]=j|-2147483648;return}function IV(b,d){b=b|0;d=d|0;var e=0,f=0;e=a[b+11>>0]|0;f=e<<24>>24<0;if(f)e=c[b+4>>2]|0;else e=e&255;if(e>>>0<=d>>>0)xV(b);if(f)b=c[b>>2]|0;return b+d|0}function JV(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);i=k;j=b+11|0;f=a[j>>0]|0;h=f<<24>>24<0;if(h){g=(c[b+8>>2]&2147483647)+-1|0;f=c[b+4>>2]|0}else{g=10;f=f&255}if((g-f|0)>>>0>=e>>>0){if(e|0){if(h)g=c[b>>2]|0;else g=b;zV(g+f|0,d,e)|0;f=f+e|0;if((a[j>>0]|0)<0)c[b+4>>2]=f;else a[j>>0]=f;a[i>>0]=0;AV(g+f|0,i)}}else EV(b,g,f+e-g|0,f,f,0,e,d);$c=k;return b|0}function KV(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0;a=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);h=a+32|0;d=a+24|0;i=a+16|0;g=a;e=a+36|0;a=LV()|0;if(a|0?(f=c[a>>2]|0,f|0):0){a=f+48|0;b=c[a>>2]|0;a=c[a+4>>2]|0;if(!((b&-256|0)==1126902528&(a|0)==1129074247)){c[d>>2]=180744;MV(180694,d)}if((b|0)==1126902529&(a|0)==1129074247)a=c[f+44>>2]|0;else a=f+80|0;c[e>>2]=a;f=c[f>>2]|0;a=c[f+4>>2]|0;if(id[c[(c[14622]|0)+16>>2]&15](58488,f,e)|0){i=c[e>>2]|0;i=fd[c[(c[i>>2]|0)+8>>2]&31](i)|0;c[g>>2]=180744;c[g+4>>2]=a;c[g+8>>2]=i;MV(180608,g)}else{c[i>>2]=180744;c[i+4>>2]=a;MV(180653,i)}}MV(180732,h)}function LV(){var a=0,b=0;a=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);if(!(kV(185852,6)|0)){b=iV(c[46464]|0)|0;$c=a;return b|0}else MV(180883,a);return 0}function MV(a,b){a=a|0;b=b|0;var d=0,e=0;d=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=d;c[e>>2]=b;d=c[28451]|0;uT(d,a,e)|0;RU(10,d)|0;ub()}function NV(a){a=a|0;return}function OV(a){a=a|0;NV(a);rV(a);return}function PV(a){a=a|0;return}function QV(a){a=a|0;return}function RV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=$c;$c=$c+64|0;if(($c|0)>=(ad|0))N(64);f=h;if(!(VV(a,b,0)|0))if((b|0)!=0?(g=ZV(b,58512,58496,0)|0,(g|0)!=0):0){b=f+4|0;e=b+52|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));c[f>>2]=g;c[f+8>>2]=a;c[f+12>>2]=-1;c[f+48>>2]=1;qd[c[(c[g>>2]|0)+28>>2]&255](g,f,c[d>>2]|0,1);if((c[f+24>>2]|0)==1){c[d>>2]=c[f+16>>2];b=1}else b=0}else b=0;else b=1;$c=h;return b|0}function SV(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(VV(a,c[b+8>>2]|0,g)|0)YV(0,b,d,e,f);return}function TV(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;do if(!(VV(b,c[d+8>>2]|0,g)|0)){if(VV(b,c[d>>2]|0,g)|0){if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;c[h>>2]=e;g=d+40|0;c[g>>2]=(c[g>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1;c[d+44>>2]=4;break}if((f|0)==1)c[d+32>>2]=1}}else XV(0,d,e,f);while(0);return}function UV(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(VV(a,c[b+8>>2]|0,0)|0)WV(0,b,d,e);return}function VV(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function WV(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;b=d+16|0;g=c[b>>2]|0;do if(g){if((g|0)!=(e|0)){f=d+36|0;c[f>>2]=(c[f>>2]|0)+1;c[d+24>>2]=2;a[d+54>>0]=1;break}b=d+24|0;if((c[b>>2]|0)==2)c[b>>2]=f}else{c[b>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1}while(0);return}function XV(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if((c[b+4>>2]|0)==(d|0)?(f=b+28|0,(c[f>>2]|0)!=1):0)c[f>>2]=e;return}function YV(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a[d+53>>0]=1;do if((c[d+4>>2]|0)==(f|0)){a[d+52>>0]=1;b=d+16|0;f=c[b>>2]|0;if(!f){c[b>>2]=e;c[d+24>>2]=g;c[d+36>>2]=1;if(!((g|0)==1?(c[d+48>>2]|0)==1:0))break;a[d+54>>0]=1;break}if((f|0)!=(e|0)){g=d+36|0;c[g>>2]=(c[g>>2]|0)+1;a[d+54>>0]=1;break}f=d+24|0;b=c[f>>2]|0;if((b|0)==2){c[f>>2]=g;b=g}if((b|0)==1?(c[d+48>>2]|0)==1:0)a[d+54>>0]=1}while(0);return}function ZV(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=$c;$c=$c+64|0;if(($c|0)>=(ad|0))N(64);n=p;m=c[d>>2]|0;o=d+(c[m+-8>>2]|0)|0;m=c[m+-4>>2]|0;c[n>>2]=f;c[n+4>>2]=d;c[n+8>>2]=e;c[n+12>>2]=g;d=n+16|0;e=n+20|0;g=n+24|0;h=n+28|0;i=n+32|0;j=n+40|0;k=d;l=k+36|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));b[d+36>>1]=0;a[d+38>>0]=0;a:do if(VV(m,f,0)|0){c[n+48>>2]=1;sd[c[(c[m>>2]|0)+20>>2]&63](m,n,o,o,1,0);d=(c[g>>2]|0)==1?o:0}else{rd[c[(c[m>>2]|0)+24>>2]&127](m,n,o,1,0);switch(c[n+36>>2]|0){case 0:{d=(c[j>>2]|0)==1&(c[h>>2]|0)==1&(c[i>>2]|0)==1?c[e>>2]|0:0;break a}case 1:break;default:{d=0;break a}}if((c[g>>2]|0)!=1?!((c[j>>2]|0)==0&(c[h>>2]|0)==1&(c[i>>2]|0)==1):0){d=0;break}d=c[d>>2]|0}while(0);$c=p;return d|0}function _V(a){a=a|0;NV(a);rV(a);return}function $V(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(VV(a,c[b+8>>2]|0,g)|0)YV(0,b,d,e,f);else{a=c[a+8>>2]|0;sd[c[(c[a>>2]|0)+20>>2]&63](a,b,d,e,f,g)}return}function aW(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;do if(!(VV(b,c[d+8>>2]|0,g)|0)){if(!(VV(b,c[d>>2]|0,g)|0)){i=c[b+8>>2]|0;rd[c[(c[i>>2]|0)+24>>2]&127](i,d,e,f,g);break}if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;i=d+44|0;if((c[i>>2]|0)==4)break;f=d+52|0;a[f>>0]=0;j=d+53|0;a[j>>0]=0;b=c[b+8>>2]|0;sd[c[(c[b>>2]|0)+20>>2]&63](b,d,e,e,1,g);if(a[j>>0]|0)if(!(a[f>>0]|0)){f=1;b=11}else b=15;else{f=0;b=11}do if((b|0)==11){c[h>>2]=e;j=d+40|0;c[j>>2]=(c[j>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0){a[d+54>>0]=1;if(f){b=15;break}else{f=4;break}}if(f)b=15;else f=4}while(0);if((b|0)==15)f=3;c[i>>2]=f;break}if((f|0)==1)c[d+32>>2]=1}else XV(0,d,e,f);while(0);return}function bW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(VV(a,c[b+8>>2]|0,0)|0)WV(0,b,d,e);else{a=c[a+8>>2]|0;qd[c[(c[a>>2]|0)+28>>2]&255](a,b,d,e)}return}function cW(a){a=a|0;return}function dW(){var a=0;a=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);if(!(hV(185856,33)|0)){$c=a;return}else MV(180932,a)}function eW(a){a=a|0;var b=0;b=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);XU(a);if(!(jV(c[46464]|0,0)|0)){$c=b;return}else MV(180982,b)}function fW(){var a=0,b=0;a=LV()|0;if((a|0?(b=c[a>>2]|0,b|0):0)?(a=b+48|0,(c[a>>2]&-256|0)==1126902528?(c[a+4>>2]|0)==1129074247:0):0)gW(c[b+12>>2]|0);gW(hW()|0)}function gW(a){a=a|0;var b=0;b=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);md[a&7]();MV(181035,b)}function hW(){var a=0;a=c[28516]|0;c[28516]=a+0;return a|0}function iW(a){a=a|0;return}function jW(a){a=a|0;c[a>>2]=114156;nW(a+4|0);return}function kW(a){a=a|0;jW(a);rV(a);return}function lW(a){a=a|0;return mW(a+4|0)|0}function mW(a){a=a|0;return c[a>>2]|0}function nW(a){a=a|0;var b=0,d=0;if(vV(a)|0?(b=oW(c[a>>2]|0)|0,d=b+8|0,a=c[d>>2]|0,c[d>>2]=a+-1,(a+-1|0)<0):0)rV(b);return}function oW(a){a=a|0;return a+-12|0}function pW(a){a=a|0;jW(a);rV(a);return}function qW(a){a=a|0;NV(a);rV(a);return}function rW(a,b,c){a=a|0;b=b|0;c=c|0;return VV(a,b,0)|0}function sW(a){a=a|0;NV(a);rV(a);return}function tW(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=$c;$c=$c+64|0;if(($c|0)>=(ad|0))N(64);h=j;c[d>>2]=c[c[d>>2]>>2];if(!(uW(a,b,0)|0))if(((b|0)!=0?(e=ZV(b,58512,58600,0)|0,(e|0)!=0):0)?(c[e+8>>2]&~c[a+8>>2]|0)==0:0){a=a+12|0;b=e+12|0;if(!(VV(c[a>>2]|0,c[b>>2]|0,0)|0)?!(VV(c[a>>2]|0,58632,0)|0):0){a=c[a>>2]|0;if((((a|0)!=0?(g=ZV(a,58512,58496,0)|0,(g|0)!=0):0)?(f=c[b>>2]|0,(f|0)!=0):0)?(i=ZV(f,58512,58496,0)|0,(i|0)!=0):0){a=h+4|0;b=a+52|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[h>>2]=i;c[h+8>>2]=g;c[h+12>>2]=-1;c[h+48>>2]=1;qd[c[(c[i>>2]|0)+28>>2]&255](i,h,c[d>>2]|0,1);if((c[h+24>>2]|0)==1){c[d>>2]=c[h+16>>2];a=1}else a=0}else a=0}else a=1}else a=0;else a=1;$c=j;return a|0}function uW(a,b,c){a=a|0;b=b|0;c=c|0;if(VV(a,b,0)|0)a=1;else a=VV(b,58640,0)|0;return a|0}function vW(a){a=a|0;NV(a);rV(a);return}function wW(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if(VV(b,c[d+8>>2]|0,h)|0)YV(0,d,e,f,g);else{p=d+52|0;i=a[p>>0]|0;j=d+53|0;k=a[j>>0]|0;o=c[b+12>>2]|0;l=b+16+(o<<3)|0;a[p>>0]=0;a[j>>0]=0;AW(b+16|0,d,e,f,g,h);a:do if((o|0)>1){m=d+24|0;n=b+8|0;o=d+54|0;b=b+24|0;do{if(a[o>>0]|0)break a;if(!(a[p>>0]|0)){if(a[j>>0]|0?(c[n>>2]&1|0)==0:0)break a}else{if((c[m>>2]|0)==1)break a;if(!(c[n>>2]&2))break a}a[p>>0]=0;a[j>>0]=0;AW(b,d,e,f,g,h);b=b+8|0}while(b>>>0>>0)}while(0);a[p>>0]=i;a[j>>0]=k}return}function xW(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;a:do if(!(VV(b,c[d+8>>2]|0,g)|0)){if(!(VV(b,c[d>>2]|0,g)|0)){q=c[b+12>>2]|0;k=b+16+(q<<3)|0;BW(b+16|0,d,e,f,g);h=b+24|0;if((q|0)<=1)break;b=c[b+8>>2]|0;if((b&2|0)==0?(j=d+36|0,(c[j>>2]|0)!=1):0){if(!(b&1)){b=d+54|0;while(1){if(a[b>>0]|0)break a;if((c[j>>2]|0)==1)break a;BW(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}b=d+24|0;i=d+54|0;while(1){if(a[i>>0]|0)break a;if((c[j>>2]|0)==1?(c[b>>2]|0)==1:0)break a;BW(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}b=d+54|0;while(1){if(a[b>>0]|0)break a;BW(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}if((c[d+16>>2]|0)!=(e|0)?(q=d+20|0,(c[q>>2]|0)!=(e|0)):0){c[d+32>>2]=f;p=d+44|0;if((c[p>>2]|0)==4)break;k=b+16+(c[b+12>>2]<<3)|0;f=d+52|0;l=d+53|0;n=d+54|0;m=b+8|0;o=d+24|0;h=0;i=b+16|0;j=0;b:while(1){if(i>>>0>=k>>>0){b=18;break}a[f>>0]=0;a[l>>0]=0;AW(i,d,e,e,1,g);if(a[n>>0]|0){b=18;break}do if(a[l>>0]|0){if(!(a[f>>0]|0))if(!(c[m>>2]&1)){h=1;b=18;break b}else{h=1;b=j;break}if((c[o>>2]|0)==1){b=23;break b}if(!(c[m>>2]&2)){b=23;break b}else{h=1;b=1}}else b=j;while(0);i=i+8|0;j=b}do if((b|0)==18){if((!j?(c[q>>2]=e,e=d+40|0,c[e>>2]=(c[e>>2]|0)+1,(c[d+36>>2]|0)==1):0)?(c[o>>2]|0)==2:0){a[n>>0]=1;if(h){b=23;break}else{h=4;break}}if(h)b=23;else h=4}while(0);if((b|0)==23)h=3;c[p>>2]=h;break}if((f|0)==1)c[d+32>>2]=1}else XV(0,d,e,f);while(0);return}function yW(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do if(!(VV(b,c[d+8>>2]|0,0)|0)){h=c[b+12>>2]|0;g=b+16+(h<<3)|0;zW(b+16|0,d,e,f);if((h|0)>1){h=d+54|0;b=b+24|0;do{zW(b,d,e,f);if(a[h>>0]|0)break a;b=b+8|0}while(b>>>0>>0)}}else WV(0,d,e,f);while(0);return}function zW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=c[a+4>>2]|0;f=g>>8;if(g&1)f=c[(c[d>>2]|0)+f>>2]|0;a=c[a>>2]|0;qd[c[(c[a>>2]|0)+28>>2]&255](a,b,d+f|0,(g&2|0)==0?2:e);return}function AW(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=c[a+4>>2]|0;h=i>>8;if(i&1)h=c[(c[e>>2]|0)+h>>2]|0;a=c[a>>2]|0;sd[c[(c[a>>2]|0)+20>>2]&63](a,b,d,e+h|0,(i&2|0)==0?2:f,g);return}function BW(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=c[a+4>>2]|0;g=h>>8;if(h&1)g=c[(c[d>>2]|0)+g>>2]|0;a=c[a>>2]|0;rd[c[(c[a>>2]|0)+24>>2]&127](a,b,d+g|0,(h&2|0)==0?2:e,f);return}function CW(b){b=b|0;if((a[b>>0]|0)==1)b=0;else{a[b>>0]=1;b=1}return b|0}function DW(a){a=a|0;return}function EW(a){a=a|0;return}function FW(){var a=0;a=c[46465]|0;c[46465]=a+0;return a|0}function GW(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=f;c[e>>2]=c[d>>2];a=id[c[(c[a>>2]|0)+16>>2]&15](a,b,e)|0;if(a)c[d>>2]=c[e>>2];$c=f;return a&1|0}function HW(a){a=a|0;if(!a)a=0;else a=(ZV(a,58512,58600,0)|0)!=0&1;return a|0}function IW(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|0),c|0)|0}function JW(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|0),a-c>>>0|0)|0}function KW(a){a=a|0;return (a?31-(J(a^a-1)|0)|0:32)|0}function LW(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (L(n|0),f)|0}else{if(!g){n=0;f=0;return (L(n|0),f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (L(n|0),f)|0}}g=(i|0)==0;do if(h){if(!g){g=(J(i|0)|0)-(J(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (L(n|0),f)|0}g=h-1|0;if(g&h|0){i=(J(h|0)|0)+33-(J(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (L(o|0),p)|0}else{p=KW(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (L(o|0),p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (L(o|0),p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (L(o|0),p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((KW(i|0)|0)>>>0);return (L(o|0),p)|0}g=(J(i|0)|0)-(J(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (L(o|0),p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=IW(m|0,l|0,-1,-1)|0;d=M()|0;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;JW(k|0,d|0,e|0,n|0)|0;p=M()|0;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=JW(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=M()|0;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (L(o|0),p)|0}function MW(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=JW(j^a|0,i^b|0,j|0,i|0)|0;g=M()|0;a=f^j;b=e^i;return JW((LW(h,g,JW(f^c|0,e^d|0,f|0,e|0)|0,M()|0,0)|0)^a|0,(M()|0)^b|0,a|0,b|0)|0}function NW(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=H(e,f)|0;d=a>>>16;a=(c>>>16)+(H(e,d)|0)|0;e=b>>>16;b=H(e,f)|0;return (L((a>>>16)+(H(e,d)|0)+(((a&65535)+b|0)>>>16)|0),a+b<<16|c&65535|0)|0}function OW(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=NW(e,f)|0;a=M()|0;return (L((H(b,f)|0)+(H(d,e)|0)+a|a&0|0),c|0|0)|0}function PW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=$c;$c=$c+16|0;i=f|0;h=b>>31|((b|0)<0?-1:0)<<1;g=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;k=e>>31|((e|0)<0?-1:0)<<1;j=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;a=JW(h^a|0,g^b|0,h|0,g|0)|0;b=M()|0;LW(a,b,JW(k^d|0,j^e|0,k|0,j|0)|0,M()|0,i)|0;e=JW(c[i>>2]^h|0,c[i+4>>2]^g|0,h|0,g|0)|0;d=M()|0;$c=f;return (L(d|0),e)|0}function QW(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return LW(a,b,c,d,0)|0}function RW(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){L(b>>c|0);return a>>>c|(b&(1<>c-32|0}function SW(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){L(b>>>c|0);return a>>>c|(b&(1<>>c-32|0}function TW(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){L(b<>>32-c|0);return a<>8&255|0}function VW(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function WW(a){a=+a;return a>=0.0?+t(a+.5):+G(a-.5)}function XW(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192){Fb(b|0,d|0,e|0)|0;return b|0}h=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return h|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}e=g&-4|0;f=e-64|0;while((b|0)<=(f|0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(e|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{e=g-4|0;while((b|0)<(e|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return h|0}function YW(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else XW(b,c,d)|0;return b|0}function ZW(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=b+e|0;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}f=h&-4|0;i=d|d<<8|d<<16|d<<24;g=f-64|0;while((b|0)<=(g|0)){c[b>>2]=i;c[b+4>>2]=i;c[b+8>>2]=i;c[b+12>>2]=i;c[b+16>>2]=i;c[b+20>>2]=i;c[b+24>>2]=i;c[b+28>>2]=i;c[b+32>>2]=i;c[b+36>>2]=i;c[b+40>>2]=i;c[b+44>>2]=i;c[b+48>>2]=i;c[b+52>>2]=i;c[b+56>>2]=i;c[b+60>>2]=i;b=b+64|0}while((b|0)<(f|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}return h-e|0}function _W(a){a=a|0;return 0}function $W(a){a=a|0;var b=0,d=0,e=0;e=Cb()|0;d=c[i>>2]|0;b=d+a|0;if((a|0)>0&(b|0)<(d|0)|(b|0)<0){ac(b|0)|0;Ea(12);return -1}if((b|0)>(e|0))if(!(Gb(b|0)|0)){Ea(12);return -1}c[i>>2]=b;return d|0}function aX(a,b){a=a|0;b=+b;return +cd[a&15](+b)}function bX(a,b,c){a=a|0;b=b|0;c=+c;return +dd[a&0](b|0,+c)}function cX(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;return +ed[a&0](b|0,+c,+d)}function dX(a,b){a=a|0;b=b|0;return fd[a&31](b|0)|0}function eX(a,b,c,d,e,f,g){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;return gd[a&1](b|0,+c,d|0,e|0,f|0,g|0)|0}function fX(a,b,c){a=a|0;b=b|0;c=c|0;return hd[a&15](b|0,c|0)|0}function gX(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return id[a&15](b|0,c|0,d|0)|0}function hX(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return jd[a&3](b|0,c|0,d|0,e|0)|0}function iX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return kd[a&63](b|0,c|0,d|0,e|0,f|0)|0}function jX(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 ld[a&7](b|0,c|0,d|0,e|0,f|0,g|0)|0}function kX(a){a=a|0;md[a&7]()}function lX(a,b){a=a|0;b=b|0;nd[a&63](b|0)}function mX(a,b,c){a=a|0;b=b|0;c=c|0;od[a&255](b|0,c|0)}function nX(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;pd[a&1023](b|0,c|0,d|0)}function oX(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;qd[a&255](b|0,c|0,d|0,e|0)}function pX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;rd[a&127](b|0,c|0,d|0,e|0,f|0)}function qX(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;sd[a&63](b|0,c|0,d|0,e|0,f|0,g|0)}function rX(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;td[a&31](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function sX(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;ud[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function tX(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;vd[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function uX(a){a=+a;O(0);return 0.0}function vX(a){a=+a;return +Yb(+a)}function wX(a){a=+a;return +zb(+a)}function xX(a){a=+a;return +_b(+a)}function yX(a){a=+a;return +xb(+a)}function zX(a){a=+a;return +wb(+a)}function AX(a){a=+a;return +vb(+a)}function BX(a){a=+a;return +Hb(+a)}function CX(a){a=+a;return +Qb(+a)}function DX(a){a=+a;return +Ib(+a)}function EX(a,b){a=a|0;b=+b;P(1);return 0.0}function FX(a,b,c){a=a|0;b=+b;c=+c;Q(2);return 0.0}function GX(a){a=a|0;R(3);return 0}function HX(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=d|0;e=e|0;f=f|0;S(4);return 0}function IX(a,b){a=a|0;b=b|0;T(5);return 0}function JX(a,b,c){a=a|0;b=b|0;c=c|0;U(6);return 0}function KX(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;V(7);return 0}function LX(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;W(8);return 0}function MX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;X(9);return 0}function NX(){Y(10)}function OX(){za()}function PX(a){a=a|0;Z(11)}function QX(a,b){a=a|0;b=b|0;_(12)}function RX(a,b,c){a=a|0;b=b|0;c=c|0;$(13)}function SX(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;aa(14)}function TX(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ba(15)}function UX(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(16)}function VX(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;da(17)}function WX(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;ea(18)}function XX(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;fa(19)} +function Sr(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;g=f>>1;s=((c|0)!=0)<<31>>31;A=e[a+(0-g<<1)>>1]|0;q=e[a+(1-g<<1)>>1]|0;u=((e[a+(s-g<<1)>>1]|0)+2+(A<<1)+q|0)>>>2;n=e[a+(2-g<<1)>>1]|0;A=A+2|0;r=(A+(q<<1)+n|0)>>>2;k=e[a+(3-g<<1)>>1]|0;q=(q+2+(n<<1)+k|0)>>>2;h=e[a+(4-g<<1)>>1]|0;n=(n+2+(k<<1)+h|0)>>>2;c=e[a+(5-g<<1)>>1]|0;k=(k+2+(h<<1)+c|0)>>>2;t=e[a+(6-g<<1)>>1]|0;h=(h+2+(c<<1)+t|0)>>>2;f=e[a+(7-g<<1)>>1]|0;c=(c+2+(t<<1)+f|0)>>>2;f=(t+2+(e[a+((d|0?8:7)-g<<1)>>1]|0)+(f<<1)|0)>>>2;s=e[a+((H(g,s)|0)+-1<<1)>>1]|0;t=e[a+-2>>1]|0;d=e[a+(g+-1<<1)>>1]|0;s=(s+2+(t<<1)+d|0)>>>2;i=g<<1;x=e[a+(i+-1<<1)>>1]|0;v=(t+2+(d<<1)+x|0)>>>2;j=g*3|0;w=e[a+(j+-1<<1)>>1]|0;d=(d+2+(x<<1)+w|0)>>>2;l=g<<2;z=e[a+(l+-1<<1)>>1]|0;x=(x+2+(w<<1)+z|0)>>>2;m=g*5|0;B=e[a+(m+-1<<1)>>1]|0;w=(w+2+(z<<1)+B|0)>>>2;o=g*6|0;y=e[a+(o+-1<<1)>>1]|0;z=(z+2+(B<<1)+y|0)>>>2;p=g*7|0;y=(B+2+(y<<1)+(e[a+(p+-1<<1)>>1]|0)|0)>>>2;t=(A+t+((e[a+(~g<<1)>>1]|0)<<1)|0)>>>2;b[a+(o<<1)>>1]=(x+2+(w<<1)+z|0)>>>2;b[a+(p<<1)>>1]=(w+2+(z<<1)+y|0)>>>2;y=(v+2+(d<<1)+x|0)>>>2&65535;b[a+((o|1)<<1)>>1]=y;b[a+(l<<1)>>1]=y;w=(d+2+(x<<1)+w|0)>>>2&65535;b[a+(p+1<<1)>>1]=w;b[a+(m<<1)>>1]=w;w=((s<<1)+2+v+t|0)>>>2&65535;b[a+(o+2<<1)>>1]=w;b[a+((l|1)<<1)>>1]=w;b[a+(i<<1)>>1]=w;d=(s+2+(v<<1)+d|0)>>>2&65535;b[a+(p+2<<1)>>1]=d;b[a+(m+1<<1)>>1]=d;b[a+(j<<1)>>1]=d;d=u+2|0;s=(d+s+(t<<1)|0)>>>2&65535;b[a+(p+3<<1)>>1]=s;b[a+(m+2<<1)>>1]=s;b[a+(j+1<<1)>>1]=s;b[a+(g<<1)>>1]=s;s=u+1|0;v=(s+t|0)>>>1&65535;b[a+(o+3<<1)>>1]=v;b[a+((l|2)<<1)>>1]=v;b[a+((i|1)<<1)>>1]=v;b[a>>1]=v;t=((u<<1)+2+r+t|0)>>>2&65535;b[a+(p+4<<1)>>1]=t;b[a+(m+3<<1)>>1]=t;b[a+(j+2<<1)>>1]=t;b[a+(g+1<<1)>>1]=t;s=(s+r|0)>>>1&65535;b[a+(o+4<<1)>>1]=s;b[a+((l|3)<<1)>>1]=s;b[a+(i+2<<1)>>1]=s;b[a+2>>1]=s;d=(d+(r<<1)+q|0)>>>2&65535;b[a+(p+5<<1)>>1]=d;b[a+(m+4<<1)>>1]=d;b[a+(j+3<<1)>>1]=d;b[a+(g+2<<1)>>1]=d;d=(r+1+q|0)>>>1&65535;b[a+(o+5<<1)>>1]=d;b[a+(l+4<<1)>>1]=d;b[a+(i+3<<1)>>1]=d;b[a+4>>1]=d;d=(r+2+(q<<1)+n|0)>>>2&65535;b[a+(p+6<<1)>>1]=d;b[a+(m+5<<1)>>1]=d;b[a+(j+4<<1)>>1]=d;b[a+(g+3<<1)>>1]=d;d=(q+1+n|0)>>>1&65535;b[a+(o+6<<1)>>1]=d;b[a+(l+5<<1)>>1]=d;b[a+(i+4<<1)>>1]=d;b[a+6>>1]=d;d=(q+2+(n<<1)+k|0)>>>2&65535;b[a+(p+7<<1)>>1]=d;b[a+(m+6<<1)>>1]=d;b[a+(j+5<<1)>>1]=d;b[a+(g+4<<1)>>1]=d;d=(n+1+k|0)>>>1&65535;b[a+(o+7<<1)>>1]=d;b[a+(l+6<<1)>>1]=d;b[a+(i+5<<1)>>1]=d;b[a+8>>1]=d;d=(n+2+(k<<1)+h|0)>>>2&65535;b[a+(m+7<<1)>>1]=d;b[a+(j+6<<1)>>1]=d;b[a+(g+5<<1)>>1]=d;d=(k+1+h|0)>>>1&65535;b[a+(l+7<<1)>>1]=d;b[a+(i+6<<1)>>1]=d;b[a+10>>1]=d;d=(k+2+(h<<1)+c|0)>>>2&65535;b[a+(j+7<<1)>>1]=d;b[a+(g+6<<1)>>1]=d;d=(h+1+c|0)>>>1&65535;b[a+(i+7<<1)>>1]=d;b[a+12>>1]=d;b[a+(g+7<<1)>>1]=(h+2+(c<<1)+f|0)>>>2;b[a+14>>1]=(c+1+f|0)>>>1;return}function Tr(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;i=f>>1;o=((c|0)!=0)<<31>>31;A=e[a+(0-i<<1)>>1]|0;h=e[a+(1-i<<1)>>1]|0;n=((e[a+(o-i<<1)>>1]|0)+2+(A<<1)+h|0)>>>2;g=e[a+(2-i<<1)>>1]|0;A=A+2|0;j=(A+(h<<1)+g|0)>>>2;c=e[a+(3-i<<1)>>1]|0;h=(h+2+(g<<1)+c|0)>>>2;d=e[a+(4-i<<1)>>1]|0;g=(g+2+(c<<1)+d|0)>>>2;m=e[a+(5-i<<1)>>1]|0;c=(c+2+(d<<1)+m|0)>>>2;f=e[a+(6-i<<1)>>1]|0;d=(d+2+(m<<1)+f|0)>>>2;f=(m+2+(f<<1)+(e[a+(7-i<<1)>>1]|0)|0)>>>2;o=e[a+((H(i,o)|0)+-1<<1)>>1]|0;m=e[a+-2>>1]|0;k=e[a+(i+-1<<1)>>1]|0;o=(o+2+(m<<1)+k|0)>>>2;l=i<<1;t=e[a+(l+-1<<1)>>1]|0;q=(m+2+(k<<1)+t|0)>>>2;p=i*3|0;v=e[a+(p+-1<<1)>>1]|0;k=(k+2+(t<<1)+v|0)>>>2;r=i<<2;x=e[a+(r+-1<<1)>>1]|0;t=(t+2+(v<<1)+x|0)>>>2;s=i*5|0;y=e[a+(s+-1<<1)>>1]|0;v=(v+2+(x<<1)+y|0)>>>2;u=i*6|0;B=e[a+(u+-1<<1)>>1]|0;x=(x+2+(y<<1)+B|0)>>>2;w=i*7|0;z=e[a+(w+-1<<1)>>1]|0;y=(y+2+(B<<1)+z|0)>>>2;z=(B+2+(z*3|0)|0)>>>2;m=(A+m+((e[a+(~i<<1)>>1]|0)<<1)|0)>>>2;b[a+(w<<1)>>1]=(z+1+y|0)>>>1;b[a+(w+1<<1)>>1]=(x+2+z+(y<<1)|0)>>>2;z=(x+1+y|0)>>>1&65535;b[a+(w+2<<1)>>1]=z;b[a+(u<<1)>>1]=z;y=(v+2+(x<<1)+y|0)>>>2&65535;b[a+(w+3<<1)>>1]=y;b[a+((u|1)<<1)>>1]=y;y=(v+1+x|0)>>>1&65535;b[a+(w+4<<1)>>1]=y;b[a+(u+2<<1)>>1]=y;b[a+(s<<1)>>1]=y;x=(t+2+(v<<1)+x|0)>>>2&65535;b[a+(w+5<<1)>>1]=x;b[a+(u+3<<1)>>1]=x;b[a+(s+1<<1)>>1]=x;x=(t+1+v|0)>>>1&65535;b[a+(w+6<<1)>>1]=x;b[a+(u+4<<1)>>1]=x;b[a+(s+2<<1)>>1]=x;b[a+(r<<1)>>1]=x;v=(k+2+(t<<1)+v|0)>>>2&65535;b[a+(w+7<<1)>>1]=v;b[a+(u+5<<1)>>1]=v;b[a+(s+3<<1)>>1]=v;b[a+((r|1)<<1)>>1]=v;v=(k+1+t|0)>>>1&65535;b[a+(u+6<<1)>>1]=v;b[a+(s+4<<1)>>1]=v;b[a+((r|2)<<1)>>1]=v;b[a+(p<<1)>>1]=v;t=(q+2+(k<<1)+t|0)>>>2&65535;b[a+(u+7<<1)>>1]=t;b[a+(s+5<<1)>>1]=t;b[a+((r|3)<<1)>>1]=t;b[a+(p+1<<1)>>1]=t;t=(q+1+k|0)>>>1&65535;b[a+(s+6<<1)>>1]=t;b[a+(r+4<<1)>>1]=t;b[a+(p+2<<1)>>1]=t;b[a+(l<<1)>>1]=t;k=(o+2+(q<<1)+k|0)>>>2&65535;b[a+(s+7<<1)>>1]=k;b[a+(r+5<<1)>>1]=k;b[a+(p+3<<1)>>1]=k;b[a+((l|1)<<1)>>1]=k;k=o+1|0;s=(k+q|0)>>>1&65535;b[a+(r+6<<1)>>1]=s;b[a+(p+4<<1)>>1]=s;b[a+(l+2<<1)>>1]=s;b[a+(i<<1)>>1]=s;q=((o<<1)+2+q+m|0)>>>2&65535;b[a+(r+7<<1)>>1]=q;b[a+(p+5<<1)>>1]=q;b[a+(l+3<<1)>>1]=q;b[a+(i+1<<1)>>1]=q;k=(k+m|0)>>>1&65535;b[a+(p+6<<1)>>1]=k;b[a+(l+4<<1)>>1]=k;b[a+(i+2<<1)>>1]=k;b[a>>1]=k;k=n+2|0;o=(k+o+(m<<1)|0)>>>2&65535;b[a+(p+7<<1)>>1]=o;b[a+(l+5<<1)>>1]=o;b[a+(i+3<<1)>>1]=o;b[a+2>>1]=o;m=((n<<1)+2+j+m|0)>>>2&65535;b[a+(l+6<<1)>>1]=m;b[a+(i+4<<1)>>1]=m;b[a+4>>1]=m;k=(k+(j<<1)+h|0)>>>2&65535;b[a+(l+7<<1)>>1]=k;b[a+(i+5<<1)>>1]=k;b[a+6>>1]=k;j=(j+2+(h<<1)+g|0)>>>2&65535;b[a+(i+6<<1)>>1]=j;b[a+8>>1]=j;h=(h+2+(g<<1)+c|0)>>>2&65535;b[a+(i+7<<1)>>1]=h;b[a+10>>1]=h;b[a+12>>1]=(g+2+(c<<1)+d|0)>>>2;b[a+14>>1]=(c+2+(d<<1)+f|0)>>>2;return}function Ur(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=f>>1;k=e[a+(0-q<<1)>>1]|0;l=e[a+(1-q<<1)>>1]|0;j=((e[a+((((c|0)!=0)<<31>>31)-q<<1)>>1]|0)+2+(k<<1)+l|0)>>>2;m=e[a+(2-q<<1)>>1]|0;k=(k+2+(l<<1)+m|0)>>>2;n=e[a+(3-q<<1)>>1]|0;l=(l+2+(m<<1)+n|0)>>>2;o=e[a+(4-q<<1)>>1]|0;m=(m+2+(n<<1)+o|0)>>>2;p=e[a+(5-q<<1)>>1]|0;n=(n+2+(o<<1)+p|0)>>>2;i=e[a+(6-q<<1)>>1]|0;o=(o+2+(p<<1)+i|0)>>>2;f=e[a+(7-q<<1)>>1]|0;p=(p+2+(i<<1)+f|0)>>>2;h=(d|0)!=0;i=(i+2+(e[a+((h?8:7)-q<<1)>>1]|0)+(f<<1)|0)>>>2;if(h){s=e[a+(8-q<<1)>>1]|0;r=e[a+(9-q<<1)>>1]|0;h=e[a+(10-q<<1)>>1]|0;g=e[a+(11-q<<1)>>1]|0;d=e[a+(12-q<<1)>>1]|0;c=(g+2+(d<<1)+(e[a+(13-q<<1)>>1]|0)|0)>>>2;d=(h+2+(g<<1)+d|0)>>>2;g=(r+2+(h<<1)+g|0)>>>2;h=(s+2+(r<<1)+h|0)>>>2;f=(f+2+(s<<1)+r|0)>>>2}else{c=f;d=f;g=f;h=f}b[a>>1]=(j+1+k|0)>>>1;b[a+(q<<1)>>1]=(j+2+(k<<1)+l|0)>>>2;s=(k+1+l|0)>>>1&65535;b[a+2>>1]=s;t=q<<1;b[a+(t<<1)>>1]=s;s=(k+2+(l<<1)+m|0)>>>2&65535;b[a+(q+1<<1)>>1]=s;j=q*3|0;b[a+(j<<1)>>1]=s;s=(l+1+m|0)>>>1&65535;b[a+4>>1]=s;b[a+((t|1)<<1)>>1]=s;k=q<<2;b[a+(k<<1)>>1]=s;s=(l+2+(m<<1)+n|0)>>>2&65535;b[a+(q+2<<1)>>1]=s;b[a+(j+1<<1)>>1]=s;l=q*5|0;b[a+(l<<1)>>1]=s;s=(m+1+n|0)>>>1&65535;b[a+6>>1]=s;b[a+(t+2<<1)>>1]=s;b[a+((k|1)<<1)>>1]=s;r=q*6|0;b[a+(r<<1)>>1]=s;m=(m+2+(n<<1)+o|0)>>>2&65535;b[a+(q+3<<1)>>1]=m;b[a+(j+2<<1)>>1]=m;b[a+(l+1<<1)>>1]=m;s=q*7|0;b[a+(s<<1)>>1]=m;m=(n+1+o|0)>>>1&65535;b[a+8>>1]=m;b[a+(t+3<<1)>>1]=m;b[a+((k|2)<<1)>>1]=m;b[a+((r|1)<<1)>>1]=m;n=(n+2+(o<<1)+p|0)>>>2&65535;b[a+(q+4<<1)>>1]=n;b[a+(j+3<<1)>>1]=n;b[a+(l+2<<1)>>1]=n;b[a+(s+1<<1)>>1]=n;n=(o+1+p|0)>>>1&65535;b[a+10>>1]=n;b[a+(t+4<<1)>>1]=n;b[a+((k|3)<<1)>>1]=n;b[a+(r+2<<1)>>1]=n;o=(o+2+(p<<1)+i|0)>>>2&65535;b[a+(q+5<<1)>>1]=o;b[a+(j+4<<1)>>1]=o;b[a+(l+3<<1)>>1]=o;b[a+(s+2<<1)>>1]=o;o=(p+1+i|0)>>>1&65535;b[a+12>>1]=o;b[a+(t+5<<1)>>1]=o;b[a+(k+4<<1)>>1]=o;b[a+(r+3<<1)>>1]=o;p=(p+2+(i<<1)+f|0)>>>2&65535;b[a+(q+6<<1)>>1]=p;b[a+(j+5<<1)>>1]=p;b[a+(l+4<<1)>>1]=p;b[a+(s+3<<1)>>1]=p;p=(i+1+f|0)>>>1&65535;b[a+14>>1]=p;b[a+(t+6<<1)>>1]=p;b[a+(k+5<<1)>>1]=p;b[a+(r+4<<1)>>1]=p;p=(i+2+(f<<1)+h|0)>>>2&65535;b[a+(q+7<<1)>>1]=p;b[a+(j+6<<1)>>1]=p;b[a+(l+5<<1)>>1]=p;b[a+(s+4<<1)>>1]=p;q=(f+1+h|0)>>>1&65535;b[a+(t+7<<1)>>1]=q;b[a+(k+6<<1)>>1]=q;b[a+(r+5<<1)>>1]=q;q=(f+2+(h<<1)+g|0)>>>2&65535;b[a+(j+7<<1)>>1]=q;b[a+(l+6<<1)>>1]=q;b[a+(s+5<<1)>>1]=q;q=(h+1+g|0)>>>1&65535;b[a+(k+7<<1)>>1]=q;b[a+(r+6<<1)>>1]=q;q=(h+2+(g<<1)+d|0)>>>2&65535;b[a+(l+7<<1)>>1]=q;b[a+(s+6<<1)>>1]=q;b[a+(r+7<<1)>>1]=(g+1+d|0)>>>1;b[a+(s+7<<1)>>1]=(g+2+(d<<1)+c|0)>>>2;return}function Vr(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=f>>1;r=e[a+((H(n,((c|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;q=e[a+-2>>1]|0;p=e[a+(n+-1<<1)>>1]|0;r=(r+2+(q<<1)+p|0)>>>2;l=n<<1;o=e[a+(l+-1<<1)>>1]|0;q=(q+2+(p<<1)+o|0)>>>2;j=n*3|0;m=e[a+(j+-1<<1)>>1]|0;p=(p+2+(o<<1)+m|0)>>>2;h=n<<2;k=e[a+(h+-1<<1)>>1]|0;o=(o+2+(m<<1)+k|0)>>>2;g=n*5|0;i=e[a+(g+-1<<1)>>1]|0;m=(m+2+(k<<1)+i|0)>>>2;c=n*6|0;s=e[a+(c+-1<<1)>>1]|0;k=(k+2+(i<<1)+s|0)>>>2;f=n*7|0;d=e[a+(f+-1<<1)>>1]|0;i=(i+2+(s<<1)+d|0)>>>2;d=(s+2+(d*3|0)|0)>>>2;b[a>>1]=(r+1+q|0)>>>1;b[a+2>>1]=(r+2+(q<<1)+p|0)>>>2;r=(q+1+p|0)>>>1&65535;b[a+4>>1]=r;b[a+(n<<1)>>1]=r;q=(q+2+(p<<1)+o|0)>>>2&65535;b[a+6>>1]=q;b[a+(n+1<<1)>>1]=q;q=(p+1+o|0)>>>1&65535;b[a+8>>1]=q;b[a+(n+2<<1)>>1]=q;b[a+(l<<1)>>1]=q;p=(p+2+(o<<1)+m|0)>>>2&65535;b[a+10>>1]=p;b[a+(n+3<<1)>>1]=p;b[a+((l|1)<<1)>>1]=p;p=(o+1+m|0)>>>1&65535;b[a+12>>1]=p;b[a+(n+4<<1)>>1]=p;b[a+(l+2<<1)>>1]=p;b[a+(j<<1)>>1]=p;o=(o+2+(m<<1)+k|0)>>>2&65535;b[a+14>>1]=o;b[a+(n+5<<1)>>1]=o;b[a+(l+3<<1)>>1]=o;b[a+(j+1<<1)>>1]=o;o=(m+1+k|0)>>>1&65535;b[a+(n+6<<1)>>1]=o;b[a+(l+4<<1)>>1]=o;b[a+(j+2<<1)>>1]=o;b[a+(h<<1)>>1]=o;m=(m+2+(k<<1)+i|0)>>>2&65535;b[a+(n+7<<1)>>1]=m;b[a+(l+5<<1)>>1]=m;b[a+(j+3<<1)>>1]=m;b[a+((h|1)<<1)>>1]=m;m=(k+1+i|0)>>>1&65535;b[a+(l+6<<1)>>1]=m;b[a+(j+4<<1)>>1]=m;b[a+((h|2)<<1)>>1]=m;b[a+(g<<1)>>1]=m;k=(k+2+d+(i<<1)|0)>>>2&65535;b[a+(l+7<<1)>>1]=k;b[a+(j+5<<1)>>1]=k;b[a+((h|3)<<1)>>1]=k;b[a+(g+1<<1)>>1]=k;k=(d+1+i|0)>>>1&65535;b[a+(j+6<<1)>>1]=k;b[a+(h+4<<1)>>1]=k;b[a+(g+2<<1)>>1]=k;b[a+(c<<1)>>1]=k;i=(i+2+(d*3|0)|0)>>>2&65535;b[a+(j+7<<1)>>1]=i;b[a+(h+5<<1)>>1]=i;b[a+(g+3<<1)>>1]=i;b[a+((c|1)<<1)>>1]=i;d=d&65535;b[a+(f+7<<1)>>1]=d;b[a+(c+7<<1)>>1]=d;b[a+(g+7<<1)>>1]=d;b[a+(h+7<<1)>>1]=d;b[a+(f+6<<1)>>1]=d;b[a+(c+6<<1)>>1]=d;b[a+(g+6<<1)>>1]=d;b[a+(h+6<<1)>>1]=d;b[a+(f+5<<1)>>1]=d;b[a+(c+5<<1)>>1]=d;b[a+(g+5<<1)>>1]=d;b[a+(f+4<<1)>>1]=d;b[a+(c+4<<1)>>1]=d;b[a+(g+4<<1)>>1]=d;b[a+(f+3<<1)>>1]=d;b[a+(c+3<<1)>>1]=d;b[a+(f+2<<1)>>1]=d;b[a+(c+2<<1)>>1]=d;b[a+(f+1<<1)>>1]=d;b[a+(f<<1)>>1]=d;return}function Wr(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=f>>1;m=e[a+((H(h,((b|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;l=e[a+-2>>1]|0;k=e[a+(h+-1<<1)>>1]|0;j=e[a+((h<<1)+-1<<1)>>1]|0;i=e[a+((h*3|0)+-1<<1)>>1]|0;d=e[a+((h<<2)+-1<<1)>>1]|0;f=e[a+((h*5|0)+-1<<1)>>1]|0;g=e[a+((h*6|0)+-1<<1)>>1]|0;b=e[a+((h*7|0)+-1<<1)>>1]|0;b=((m+2+(l<<1)+k|0)>>>2)+4+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+d|0)>>>2)+((i+2+(d<<1)+f|0)>>>2)+((d+2+(f<<1)+g|0)>>>2)+((f+2+(g<<1)+b|0)>>>2)+((g+2+(b*3|0)|0)>>>2)>>3;b=PW(b|0,((b|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;f=0;d=a;while(1){if((f|0)==8)break;m=d;c[m>>2]=b;c[m+4>>2]=g;m=d+8|0;c[m>>2]=b;c[m+4>>2]=g;f=f+1|0;d=d+(h<<1)|0}return}function Xr(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=f>>1;n=e[a+(0-h<<1)>>1]|0;m=e[a+(1-h<<1)>>1]|0;l=e[a+(2-h<<1)>>1]|0;k=e[a+(3-h<<1)>>1]|0;j=e[a+(4-h<<1)>>1]|0;i=e[a+(5-h<<1)>>1]|0;f=e[a+(6-h<<1)>>1]|0;g=e[a+(7-h<<1)>>1]|0;d=(((e[a+((((b|0)!=0)<<31>>31)-h<<1)>>1]|0)+2+(n<<1)+m|0)>>>2)+4+((n+2+(m<<1)+l|0)>>>2)+((m+2+(l<<1)+k|0)>>>2)+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+f|0)>>>2)+((i+2+(f<<1)+g|0)>>>2)+((f+2+(e[a+((d|0?8:7)-h<<1)>>1]|0)+(g<<1)|0)>>>2)>>3;d=PW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=0;f=a;while(1){if((b|0)==8)break;n=f;c[n>>2]=d;c[n+4>>2]=g;n=f+8|0;c[n>>2]=d;c[n+4>>2]=g;b=b+1|0;f=f+(h<<1)|0}return}function Yr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;d=e>>1;b=0;while(1){if((b|0)==8)break;e=a;c[e>>2]=536879104;c[e+4>>2]=536879104;e=a+8|0;c[e>>2]=536879104;c[e+4>>2]=536879104;b=b+1|0;a=a+(d<<1)|0}return}function Zr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=b>>1;f=a+(0-g<<1)|0;d=f;h=c[d>>2]|0;d=c[d+4>>2]|0;f=f+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;b=0;while(1){if((b|0)==8)break;i=a+((H(b,g)|0)<<1)|0;j=i;c[j>>2]=h;c[j+4>>2]=d;i=i+8|0;c[i>>2]=e;c[i+4>>2]=f;b=b+1|0}return}function _r(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=b>>1;f=a+(0-g<<1)|0;d=f;h=c[d>>2]|0;d=c[d+4>>2]|0;f=f+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;b=0;while(1){if((b|0)==16)break;i=a+((H(b,g)|0)<<1)|0;j=i;c[j>>2]=h;c[j+4>>2]=d;i=i+8|0;c[i>>2]=e;c[i+4>>2]=f;b=b+1|0}return}function $r(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==8)break;f=H(b,d)|0;h=PW(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;f=f+8|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function as(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==16)break;f=H(b,d)|0;h=PW(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;f=f+8|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function bs(a,c){a=a|0;c=c|0;var d=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=c>>1;h=0-q|0;i=a+6+(h<<1)|0;f=a+(q<<2<<1)+-2|0;p=q<<1;d=f+(0-p<<1)|0;o=a+((q*14|0)+-2)|0;p=a+(-2-p)|0;j=(e[f>>1]|0)-(e[d>>1]|0)|0;c=(e[i+2>>1]|0)-(e[i+-2>>1]|0)|0;g=2;while(1){if((g|0)==5)break;n=f+(q<<1)|0;m=d+(h<<1)|0;l=(H((e[i+(g<<1)>>1]|0)-(e[i+(0-g<<1)>>1]|0)|0,g)|0)+c|0;j=(H((e[n>>1]|0)-(e[m>>1]|0)|0,g)|0)+j|0;c=l;d=m;f=n;g=g+1|0}n=(c*17|0)+16>>5;g=(j*17|0)+16>>5;h=n<<1;i=n*3|0;j=n<<2;k=n*5|0;l=n*6|0;m=n*7|0;f=8;d=(H(g+n|0,-3)|0)+16+((e[p+16>>1]|0)+(e[o>>1]|0)<<4)|0;c=a;while(1){if((f|0)<=0)break;a=d>>5;b[c>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+n>>5;b[c+2>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+h>>5;b[c+4>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+i>>5;b[c+6>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+j>>5;b[c+8>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+k>>5;b[c+10>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+l>>5;b[c+12>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+m>>5;b[c+14>>1]=a>>>0<16384?a:0-a>>31&16383;f=f+-1|0;d=d+g|0;c=c+(q<<1)|0}return}function cs(a,c){a=a|0;c=c|0;var d=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=c>>1;l=0-q|0;h=a+6+(l<<1)|0;g=a+(q<<3<<1)+-2|0;f=g+(0-(q<<1)<<1)|0;j=a+((q*22|0)+-2)|0;i=a+((q*6|0)+-2)|0;c=2;d=(e[g>>1]|0)-(e[f>>1]|0)|0;k=(e[h+2>>1]|0)-(e[h+-2>>1]|0)|0;while(1){if((c|0)==5)break;p=g+(q<<1)|0;o=f+(l<<1)|0;n=(H((e[h+(c<<1)>>1]|0)-(e[h+(0-c<<1)>>1]|0)|0,c)|0)+k|0;m=(H((e[p>>1]|0)-(e[o>>1]|0)|0,c)|0)+d|0;c=c+1|0;d=m;k=n;f=o;g=p}c=5;while(1){if((c|0)>=9)break;p=j+(q<<1)|0;o=i+(l<<1)|0;d=(H((e[p>>1]|0)-(e[o>>1]|0)|0,c)|0)+d|0;c=c+1|0;i=o;j=p}p=(k*17|0)+16>>5;g=(d*5|0)+32>>6;h=p*3|0;k=p<<1;l=p<<2;m=p*5|0;n=p*6|0;o=p*7|0;f=16;d=16-h+(H(g,-7)|0)+((e[i+16>>1]|0)+(e[j>>1]|0)<<4)|0;c=a;while(1){if((f|0)<=0)break;a=d>>5;b[c>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+p>>5;b[c+2>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+k>>5;b[c+4>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+h>>5;b[c+6>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+l>>5;b[c+8>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+m>>5;b[c+10>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+n>>5;b[c+12>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+o>>5;b[c+14>>1]=a>>>0<16384?a:0-a>>31&16383;f=f+-1|0;d=d+g|0;c=c+(q<<1)|0}return}function ds(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=b>>1;b=0;d=0;f=0;g=0;while(1){if((b|0)==4)break;l=e[a+((H(b,n)|0)+-1<<1)>>1]|0;l=d+l+(e[a+(b-n<<1)>>1]|0)|0;m=b+4|0;b=b+1|0;d=l;f=f+(e[a+(m-n<<1)>>1]|0)|0;g=g+(e[a+((H(m,n)|0)+-1<<1)>>1]|0)|0}d=d+4>>3;d=PW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;h=M()|0;i=f+2>>2;i=PW(i|0,((i|0)<0)<<31>>31|0,65537,65537)|0;j=M()|0;k=g+2>>2;l=((k|0)<0)<<31>>31;f=g+4+f>>3;m=((f|0)<0)<<31>>31;b=0;while(1){if((b|0)==4)break;g=a+((H(b,n)|0)<<1)|0;o=g;c[o>>2]=d;c[o+4>>2]=h;g=g+8|0;c[g>>2]=i;c[g+4>>2]=j;b=b+1|0}g=PW(k|0,l|0,65537,65537)|0;h=M()|0;d=PW(f|0,m|0,65537,65537)|0;f=M()|0;b=4;while(1){if((b|0)==8)break;o=a+((H(b,n)|0)<<1)|0;m=o;c[m>>2]=g;c[m+4>>2]=h;o=o+8|0;c[o>>2]=d;c[o+4>>2]=f;b=b+1|0}return}function es(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;i=b>>1;b=0;d=0;f=0;while(1){if((b|0)==4)break;g=d+(e[a+((H(b,i)|0)+-1<<1)>>1]|0)|0;h=f+(e[a+((H(b+4|0,i)|0)+-1<<1)>>1]|0)|0;b=b+1|0;d=g;f=h}g=d+2>>2;g=PW(g|0,((g|0)<0)<<31>>31|0,65537,65537)|0;h=M()|0;d=f+2>>2;f=((d|0)<0)<<31>>31;b=0;while(1){if((b|0)==4)break;j=a+((H(b,i)|0)<<1)|0;k=j;c[k>>2]=g;c[k+4>>2]=h;j=j+8|0;c[j>>2]=g;c[j+4>>2]=h;b=b+1|0}d=PW(d|0,f|0,65537,65537)|0;f=M()|0;b=4;while(1){if((b|0)==8)break;k=a+((H(b,i)|0)<<1)|0;j=k;c[j>>2]=d;c[j+4>>2]=f;k=k+8|0;c[k>>2]=d;c[k+4>>2]=f;b=b+1|0}return}function fs(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;j=b>>1;f=4-j|0;b=0;d=0;g=0;while(1){if((b|0)==4)break;h=d+(e[a+(b-j<<1)>>1]|0)|0;i=g+(e[a+(f+b<<1)>>1]|0)|0;b=b+1|0;d=h;g=i}h=d+2>>2;h=PW(h|0,((h|0)<0)<<31>>31|0,65537,65537)|0;i=M()|0;d=g+2>>2;d=PW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;f=M()|0;b=0;while(1){if((b|0)==4){b=4;break}g=a+((H(b,j)|0)<<1)|0;k=g;c[k>>2]=h;c[k+4>>2]=i;g=g+8|0;c[g>>2]=d;c[g+4>>2]=f;b=b+1|0}while(1){if((b|0)==8)break;k=a+((H(b,j)|0)<<1)|0;g=k;c[g>>2]=h;c[g+4>>2]=i;k=k+8|0;c[k>>2]=d;c[k+4>>2]=f;b=b+1|0}return}function gs(a,b){a=a|0;b=b|0;fs(a,b);Br(a,0,b);return}function hs(a,b){a=a|0;b=b|0;ds(a,b);Lr(a,0,b);return}function is(a,b){a=a|0;b=b|0;es(a,b);a=a+(b<<2)|0;Mr(a,0,b);Mr(a+8|0,0,b);return}function js(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=b>>1;b=0;d=0;h=0;f=0;g=0;i=0;while(1){if((b|0)==4)break;t=e[a+((H(b,y)|0)+-1<<1)>>1]|0;t=d+t+(e[a+(b-y<<1)>>1]|0)|0;u=b+4|0;v=f+(e[a+((H(u,y)|0)+-1<<1)>>1]|0)|0;w=g+(e[a+((H(b+8|0,y)|0)+-1<<1)>>1]|0)|0;x=i+(e[a+((H(b+12|0,y)|0)+-1<<1)>>1]|0)|0;b=b+1|0;d=t;h=h+(e[a+(u-y<<1)>>1]|0)|0;f=v;g=w;i=x}d=d+4>>3;d=PW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;j=M()|0;k=h+2>>2;k=PW(k|0,((k|0)<0)<<31>>31|0,65537,65537)|0;l=M()|0;m=f+2>>2;n=((m|0)<0)<<31>>31;f=f+4+h>>3;o=((f|0)<0)<<31>>31;r=g+2>>2;s=((r|0)<0)<<31>>31;g=g+4+h>>3;t=((g|0)<0)<<31>>31;u=i+2>>2;v=((u|0)<0)<<31>>31;w=i+4+h>>3;x=((w|0)<0)<<31>>31;b=0;while(1){if((b|0)==4)break;q=a+((H(b,y)|0)<<1)|0;p=q;c[p>>2]=d;c[p+4>>2]=j;q=q+8|0;c[q>>2]=k;c[q+4>>2]=l;b=b+1|0}p=PW(m|0,n|0,65537,65537)|0;q=M()|0;m=PW(f|0,o|0,65537,65537)|0;n=M()|0;k=PW(r|0,s|0,65537,65537)|0;l=M()|0;i=PW(g|0,t|0,65537,65537)|0;j=M()|0;g=PW(u|0,v|0,65537,65537)|0;h=M()|0;d=PW(w|0,x|0,65537,65537)|0;f=M()|0;b=4;while(1){if((b|0)==8){b=8;break}x=a+((H(b,y)|0)<<1)|0;w=x;c[w>>2]=p;c[w+4>>2]=q;x=x+8|0;c[x>>2]=m;c[x+4>>2]=n;b=b+1|0}while(1){if((b|0)==12){b=12;break}x=a+((H(b,y)|0)<<1)|0;w=x;c[w>>2]=k;c[w+4>>2]=l;x=x+8|0;c[x>>2]=i;c[x+4>>2]=j;b=b+1|0}while(1){if((b|0)==16)break;x=a+((H(b,y)|0)<<1)|0;w=x;c[w>>2]=g;c[w+4>>2]=h;x=x+8|0;c[x>>2]=d;c[x+4>>2]=f;b=b+1|0}return}function ks(a,b){a=a|0;b=b|0;es(a,b);es(a+(b<<3)|0,b);return}function ls(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;j=b>>1;f=4-j|0;b=0;d=0;g=0;while(1){if((b|0)==4)break;h=d+(e[a+(b-j<<1)>>1]|0)|0;i=g+(e[a+(f+b<<1)>>1]|0)|0;b=b+1|0;d=h;g=i}h=d+2>>2;h=PW(h|0,((h|0)<0)<<31>>31|0,65537,65537)|0;i=M()|0;d=g+2>>2;d=PW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;f=M()|0;b=0;while(1){if((b|0)==16)break;g=a+((H(b,j)|0)<<1)|0;k=g;c[k>>2]=h;c[k+4>>2]=i;g=g+8|0;c[g>>2]=d;c[g+4>>2]=f;b=b+1|0}return}function ms(a,b){a=a|0;b=b|0;ls(a,b);Br(a,0,b);return}function ns(a,b){a=a|0;b=b|0;js(a,b);Lr(a,0,b);return}function os(a,b){a=a|0;b=b|0;ks(a,b);a=a+(b<<2)|0;Mr(a,0,b);Mr(a+8|0,0,b);return}function ps(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=536813567;c[f+4>>2]=536813567;e=e+8|0;c[e>>2]=536813567;c[e+4>>2]=536813567;b=b+1|0}return}function qs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=536944641;c[f+4>>2]=536944641;e=e+8|0;c[e>>2]=536944641;c[e+4>>2]=536944641;b=b+1|0}return}function rs(a,b){a=a|0;b=b|0;ks(a,b);Mr(a,0,b);Mr(a+8|0,0,b);return}function ss(a,b){a=a|0;b=b|0;es(a,b);Mr(a,0,b);Mr(a+8|0,0,b);return}function ts(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=536879104;c[f+4>>2]=536879104;e=e+8|0;c[e>>2]=536879104;c[e+4>>2]=536879104;b=b+1|0}return}function us(a,b){a=a|0;b=b|0;ts(a,b);ts(a+(b<<3)|0,b);return}function vs(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16){d=0;break}b=b+(e[a+((H(d,h)|0)+-1<<1)>>1]|0)|0;d=d+1|0}while(1){if((d|0)==16)break;b=b+(e[a+(d-h<<1)>>1]|0)|0;d=d+1|0}f=b+16>>5;f=PW(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function ws(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=b>>1;k=a+(0-g<<1)|0;d=k;l=c[d>>2]|0;d=c[d+4>>2]|0;f=k+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;i=k+16|0;h=c[i>>2]|0;i=c[i+4>>2]|0;k=k+24|0;j=c[k>>2]|0;k=c[k+4>>2]|0;b=0;while(1){if((b|0)==16)break;m=a+((H(b,g)|0)<<1)|0;n=m;c[n>>2]=l;c[n+4>>2]=d;n=m+8|0;c[n>>2]=e;c[n+4>>2]=f;n=m+16|0;c[n>>2]=h;c[n+4>>2]=i;m=m+24|0;c[m>>2]=j;c[m+4>>2]=k;b=b+1|0}return}function xs(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==16)break;f=H(b,d)|0;h=PW(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;i=f+8|0;c[i>>2]=h;c[i+4>>2]=g;i=f+16|0;c[i>>2]=h;c[i+4>>2]=g;f=f+24|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function ys(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=536813567;c[e+4>>2]=536813567;e=b+8|0;c[e>>2]=536813567;c[e+4>>2]=536813567;e=b+16|0;c[e>>2]=536813567;c[e+4>>2]=536813567;e=b+24|0;c[e>>2]=536813567;c[e+4>>2]=536813567;b=b+(d<<1)|0;a=a+1|0}return}function zs(a,b){a=a|0;b=b|0;mu(a,b);return}function As(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=536944641;c[e+4>>2]=536944641;e=b+8|0;c[e>>2]=536944641;c[e+4>>2]=536944641;e=b+16|0;c[e>>2]=536944641;c[e+4>>2]=536944641;e=b+24|0;c[e>>2]=536944641;c[e+4>>2]=536944641;b=b+(d<<1)|0;a=a+1|0}return}function Bs(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16)break;b=b+(e[a+((H(d,h)|0)+-1<<1)>>1]|0)|0;d=d+1|0}f=b+8>>4;f=PW(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function Cs(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16)break;b=b+(e[a+(d-h<<1)>>1]|0)|0;d=d+1|0}f=b+8>>4;f=PW(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function Ds(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=536879104;c[e+4>>2]=536879104;e=b+8|0;c[e>>2]=536879104;c[e+4>>2]=536879104;e=b+16|0;c[e>>2]=536879104;c[e+4>>2]=536879104;e=b+24|0;c[e>>2]=536879104;c[e+4>>2]=536879104;b=b+(d<<1)|0;a=a+1|0}return}function Es(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;h=f>>1;i=h<<1;j=h*3|0;k=h<<2;g=d;f=a+(0-h<<1)|0;a=0;while(1){if((a|0)==4)break;l=(c[g>>2]|0)+(e[f>>1]|0)|0;b[f+(h<<1)>>1]=l;l=(c[g+16>>2]|0)+l|0;b[f+(i<<1)>>1]=l;l=(c[g+32>>2]|0)+l|0;b[f+(j<<1)>>1]=l;b[f+(k<<1)>>1]=(c[g+48>>2]|0)+l;g=g+4|0;f=f+2|0;a=a+1|0}f=d+64|0;do{b[d>>1]=0;d=d+2|0}while((d|0)<(f|0));return}function Fs(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0;h=f>>1;g=d;f=a;a=0;while(1){if((a|0)==4)break;i=(c[g>>2]|0)+(e[f+-2>>1]|0)|0;b[f>>1]=i;i=(c[g+4>>2]|0)+i|0;b[f+2>>1]=i;i=(c[g+8>>2]|0)+i|0;b[f+4>>1]=i;b[f+6>>1]=(c[g+12>>2]|0)+i;g=g+16|0;f=f+(h<<1)|0;a=a+1|0}f=d+64|0;do{b[d>>1]=0;d=d+2|0}while((d|0)<(f|0));return}function Gs(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=f>>1;l=k<<1;m=k*3|0;n=k<<2;o=k*5|0;h=k*6|0;i=k*7|0;j=k<<3;g=d;f=a+(0-k<<1)|0;a=0;while(1){if((a|0)==8)break;p=(c[g>>2]|0)+(e[f>>1]|0)|0;b[f+(k<<1)>>1]=p;p=(c[g+32>>2]|0)+p|0;b[f+(l<<1)>>1]=p;p=(c[g+64>>2]|0)+p|0;b[f+(m<<1)>>1]=p;p=(c[g+96>>2]|0)+p|0;b[f+(n<<1)>>1]=p;p=(c[g+128>>2]|0)+p|0;b[f+(o<<1)>>1]=p;p=(c[g+160>>2]|0)+p|0;b[f+(h<<1)>>1]=p;p=(c[g+192>>2]|0)+p|0;b[f+(i<<1)>>1]=p;b[f+(j<<1)>>1]=(c[g+224>>2]|0)+p;g=g+4|0;f=f+2|0;a=a+1|0}_W(d|0,0,256)|0;return}function Hs(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0;h=f>>1;g=d;f=a;a=0;while(1){if((a|0)==8)break;i=(c[g>>2]|0)+(e[f+-2>>1]|0)|0;b[f>>1]=i;i=(c[g+4>>2]|0)+i|0;b[f+2>>1]=i;i=(c[g+8>>2]|0)+i|0;b[f+4>>1]=i;i=(c[g+12>>2]|0)+i|0;b[f+6>>1]=i;i=(c[g+16>>2]|0)+i|0;b[f+8>>1]=i;i=(c[g+20>>2]|0)+i|0;b[f+10>>1]=i;i=(c[g+24>>2]|0)+i|0;b[f+12>>1]=i;b[f+14>>1]=(c[g+28>>2]|0)+i;g=g+32|0;f=f+(h<<1)|0;a=a+1|0}_W(d|0,0,256)|0;return}function Is(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);p=q;o=h>>1;s=e[a+(0-o<<1)>>1]|0;r=e[a+(1-o<<1)>>1]|0;h=e[a+(2-o<<1)>>1]|0;n=e[a+(3-o<<1)>>1]|0;m=e[a+(4-o<<1)>>1]|0;l=e[a+(5-o<<1)>>1]|0;k=e[a+(6-o<<1)>>1]|0;j=e[a+(7-o<<1)>>1]|0;i=(k+2+(e[a+((g|0?8:7)-o<<1)>>1]|0)+(j<<1)|0)>>>2;b[p>>1]=((e[a+((((f|0)!=0)<<31>>31)-o<<1)>>1]|0)+2+(s<<1)+r|0)>>>2;b[p+2>>1]=(s+2+(r<<1)+h|0)>>>2;b[p+4>>1]=(r+2+(h<<1)+n|0)>>>2;b[p+6>>1]=(h+2+(n<<1)+m|0)>>>2;b[p+8>>1]=(n+2+(m<<1)+l|0)>>>2;b[p+10>>1]=(m+2+(l<<1)+k|0)>>>2;b[p+12>>1]=(l+2+(k<<1)+j|0)>>>2;b[p+14>>1]=i;i=o<<1;j=o*3|0;k=o<<2;l=o*5|0;m=o*6|0;n=o*7|0;g=0;h=a;f=d;while(1){if((g|0)==8)break;s=(c[f>>2]|0)+(e[p+(g<<1)>>1]|0)|0;b[h>>1]=s;s=(c[f+32>>2]|0)+s|0;b[h+(o<<1)>>1]=s;s=(c[f+64>>2]|0)+s|0;b[h+(i<<1)>>1]=s;s=(c[f+96>>2]|0)+s|0;b[h+(j<<1)>>1]=s;s=(c[f+128>>2]|0)+s|0;b[h+(k<<1)>>1]=s;s=(c[f+160>>2]|0)+s|0;b[h+(l<<1)>>1]=s;s=(c[f+192>>2]|0)+s|0;b[h+(m<<1)>>1]=s;b[h+(n<<1)>>1]=(c[f+224>>2]|0)+s;g=g+1|0;h=h+2|0;f=f+4|0}_W(d|0,0,256)|0;$c=q;return}function Js(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;k=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);j=k;i=h>>1;q=e[a+((H(i,((f|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;p=e[a+-2>>1]|0;o=e[a+(i+-1<<1)>>1]|0;n=e[a+((i<<1)+-1<<1)>>1]|0;m=e[a+((i*3|0)+-1<<1)>>1]|0;l=e[a+((i<<2)+-1<<1)>>1]|0;h=e[a+((i*5|0)+-1<<1)>>1]|0;g=e[a+((i*6|0)+-1<<1)>>1]|0;f=e[a+((i*7|0)+-1<<1)>>1]|0;b[j>>1]=(q+2+(p<<1)+o|0)>>>2;b[j+2>>1]=(p+2+(o<<1)+n|0)>>>2;b[j+4>>1]=(o+2+(n<<1)+m|0)>>>2;b[j+6>>1]=(n+2+(m<<1)+l|0)>>>2;b[j+8>>1]=(m+2+(l<<1)+h|0)>>>2;b[j+10>>1]=(l+2+(h<<1)+g|0)>>>2;b[j+12>>1]=(h+2+(g<<1)+f|0)>>>2;b[j+14>>1]=(g+2+(f*3|0)|0)>>>2;f=0;g=a;h=d;while(1){if((f|0)==8)break;q=(c[h>>2]|0)+(e[j+(f<<1)>>1]|0)|0;b[g>>1]=q;q=(c[h+4>>2]|0)+q|0;b[g+2>>1]=q;q=(c[h+8>>2]|0)+q|0;b[g+4>>1]=q;q=(c[h+12>>2]|0)+q|0;b[g+6>>1]=q;q=(c[h+16>>2]|0)+q|0;b[g+8>>1]=q;q=(c[h+20>>2]|0)+q|0;b[g+10>>1]=q;q=(c[h+24>>2]|0)+q|0;b[g+12>>1]=q;b[g+14>>1]=(c[h+28>>2]|0)+q;f=f+1|0;g=g+(i<<1)|0;h=h+32|0}_W(d|0,0,256)|0;$c=k;return}function Ks(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;Es(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function Ls(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4){f=4;break}Es(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}while(1){if((f|0)==8)break;Es(a+(c[b+(f+4<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function Ms(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;Fs(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function Ns(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4){f=4;break}Fs(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}while(1){if((f|0)==8)break;Fs(a+(c[b+(f+4<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function Os(a,b,d){a=a|0;b=b|0;d=d|0;b=c[a+(0-d)>>2]|0;c[a>>2]=b;c[a+d>>2]=b;c[a+(d<<1)>>2]=b;c[a+(d*3|0)>>2]=b;return}function Ps(a,b,e){a=a|0;b=b|0;e=e|0;c[a>>2]=H(d[a+-1>>0]|0,16843009)|0;c[a+e>>2]=H(d[a+(e+-1)>>0]|0,16843009)|0;b=e<<1;c[a+b>>2]=H(d[a+(b+-1)>>0]|0,16843009)|0;e=e*3|0;c[a+e>>2]=H(d[a+(e+-1)>>0]|0,16843009)|0;return}function Qs(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0;g=e<<1;b=e*3|0;f=H((d[a+(0-e)>>0]|0)+4+(d[a+(1-e)>>0]|0)+(d[a+(2-e)>>0]|0)+(d[a+(3-e)>>0]|0)+(d[a+-1>>0]|0)+(d[a+(e+-1)>>0]|0)+(d[a+(g+-1)>>0]|0)+(d[a+(b+-1)>>0]|0)>>3,16843009)|0;c[a>>2]=f;c[a+e>>2]=f;c[a+g>>2]=f;c[a+b>>2]=f;return}function Rs(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=d[b+(1-e)>>0]|0;h=d[b+(2-e)>>0]|0;k=d[b+(3-e)>>0]|0;j=d[c>>0]|0;i=d[c+1>>0]|0;g=d[c+2>>0]|0;f=d[c+3>>0]|0;a[b>>0]=((d[b+(0-e)>>0]|0)+2+h+(l<<1)|0)>>>2;c=(l+2+k+(h<<1)|0)>>>2&255;a[b+e>>0]=c;a[b+1>>0]=c;c=(h+2+j+(k<<1)|0)>>>2&255;h=e<<1;a[b+h>>0]=c;a[b+(e+1)>>0]=c;a[b+2>>0]=c;k=(k+2+i+(j<<1)|0)>>>2&255;c=e*3|0;a[b+c>>0]=k;a[b+(h|1)>>0]=k;a[b+(e+2)>>0]=k;a[b+3>>0]=k;j=(j+2+g+(i<<1)|0)>>>2&255;a[b+(c+1)>>0]=j;a[b+(h+2)>>0]=j;a[b+(e+3)>>0]=j;e=(i+2+f+(g<<1)|0)>>>2&255;a[b+(c+2)>>0]=e;a[b+(h+3)>>0]=e;a[b+(c+3)>>0]=(g+2+(f*3|0)|0)>>>2;return}function Ss(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=d[b+~e>>0]|0;h=d[b+(0-e)>>0]|0;g=d[b+(1-e)>>0]|0;f=d[b+(2-e)>>0]|0;c=d[b+(3-e)>>0]|0;k=d[b+-1>>0]|0;n=d[b+(e+-1)>>0]|0;j=e<<1;i=d[b+(j+-1)>>0]|0;l=e*3|0;a[b+l>>0]=(n+2+(d[b+(l+-1)>>0]|0)+(i<<1)|0)>>>2;i=(k+2+i+(n<<1)|0)>>>2&255;a[b+(l+1)>>0]=i;a[b+j>>0]=i;i=m+2|0;n=(i+n+(k<<1)|0)>>>2&255;a[b+(l+2)>>0]=n;a[b+(j|1)>>0]=n;a[b+e>>0]=n;k=((m<<1)+2+h+k|0)>>>2&255;a[b+(l+3)>>0]=k;a[b+(j+2)>>0]=k;a[b+(e+1)>>0]=k;a[b>>0]=k;i=(i+(h<<1)+g|0)>>>2&255;a[b+(j+3)>>0]=i;a[b+(e+2)>>0]=i;a[b+1>>0]=i;h=(h+2+(g<<1)+f|0)>>>2&255;a[b+(e+3)>>0]=h;a[b+2>>0]=h;a[b+3>>0]=(g+2+(f<<1)+c|0)>>>2;return}function Ts(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=d[b+~e>>0]|0;n=d[b+(0-e)>>0]|0;m=d[b+(1-e)>>0]|0;l=d[b+(2-e)>>0]|0;k=d[b+(3-e)>>0]|0;h=d[b+-1>>0]|0;g=d[b+(e+-1)>>0]|0;i=e<<1;f=d[b+(i+-1)>>0]|0;c=e*3|0;o=(j+1+n|0)>>>1&255;a[b+(i|1)>>0]=o;a[b>>0]=o;o=(n+1+m|0)>>>1&255;a[b+(i+2)>>0]=o;a[b+1>>0]=o;o=(m+1+l|0)>>>1&255;a[b+(i+3)>>0]=o;a[b+2>>0]=o;a[b+3>>0]=(l+1+k|0)>>>1;o=((j<<1)+2+n+h|0)>>>2&255;a[b+(c+1)>>0]=o;a[b+e>>0]=o;j=j+2|0;o=(j+(n<<1)+m|0)>>>2&255;a[b+(c+2)>>0]=o;a[b+(e+1)>>0]=o;n=(n+2+(m<<1)+l|0)>>>2&255;a[b+(c+3)>>0]=n;a[b+(e+2)>>0]=n;a[b+(e+3)>>0]=(m+2+(l<<1)+k|0)>>>2;a[b+i>>0]=(j+(h<<1)+g|0)>>>2;a[b+c>>0]=(h+2+(g<<1)+f|0)>>>2;return}function Us(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=d[b+~e>>0]|0;n=d[b+(0-e)>>0]|0;m=d[b+(1-e)>>0]|0;l=d[b+(2-e)>>0]|0;j=d[b+-1>>0]|0;h=d[b+(e+-1)>>0]|0;i=e<<1;g=d[b+(i+-1)>>0]|0;c=e*3|0;f=d[b+(c+-1)>>0]|0;o=(k+1+j|0)>>>1&255;a[b+(e+2)>>0]=o;a[b>>0]=o;o=((k<<1)+2+n+j|0)>>>2&255;a[b+(e+3)>>0]=o;a[b+1>>0]=o;k=k+2|0;a[b+2>>0]=(k+(n<<1)+m|0)>>>2;a[b+3>>0]=(n+2+(m<<1)+l|0)>>>2;l=(j+1+h|0)>>>1&255;a[b+(i+2)>>0]=l;a[b+e>>0]=l;k=(k+(j<<1)+h|0)>>>2&255;a[b+(i+3)>>0]=k;a[b+(e+1)>>0]=k;e=(h+1+g|0)>>>1&255;a[b+(c+2)>>0]=e;a[b+i>>0]=e;e=(j+2+(h<<1)+g|0)>>>2&255;a[b+(c+3)>>0]=e;a[b+(i|1)>>0]=e;a[b+c>>0]=(g+1+f|0)>>>1;a[b+(c+1)>>0]=(h+2+(g<<1)+f|0)>>>2;return}function Vs(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=d[b+(0-e)>>0]|0;k=d[b+(1-e)>>0]|0;j=d[b+(2-e)>>0]|0;i=d[b+(3-e)>>0]|0;h=d[c>>0]|0;g=d[c+1>>0]|0;f=d[c+2>>0]|0;a[b>>0]=(l+1+k|0)>>>1;m=(k+1+j|0)>>>1&255;c=e<<1;a[b+c>>0]=m;a[b+1>>0]=m;m=(j+1+i|0)>>>1&255;a[b+(c|1)>>0]=m;a[b+2>>0]=m;m=(i+1+h|0)>>>1&255;a[b+(c+2)>>0]=m;a[b+3>>0]=m;a[b+(c+3)>>0]=(h+1+g|0)>>>1;a[b+e>>0]=(l+2+(k<<1)+j|0)>>>2;k=(k+2+(j<<1)+i|0)>>>2&255;c=e*3|0;a[b+c>>0]=k;a[b+(e+1)>>0]=k;j=(j+2+(i<<1)+h|0)>>>2&255;a[b+(c+1)>>0]=j;a[b+(e+2)>>0]=j;i=(i+2+(h<<1)+g|0)>>>2&255;a[b+(c+2)>>0]=i;a[b+(e+3)>>0]=i;a[b+(c+3)>>0]=(h+2+(g<<1)+f|0)>>>2;return}function Ws(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=d[b+-1>>0]|0;j=d[b+(e+-1)>>0]|0;c=e<<1;i=d[b+(c+-1)>>0]|0;g=e*3|0;f=a[b+(g+-1)>>0]|0;h=f&255;a[b>>0]=(k+1+j|0)>>>1;a[b+1>>0]=(k+2+(j<<1)+i|0)>>>2;k=(j+1+i|0)>>>1&255;a[b+e>>0]=k;a[b+2>>0]=k;j=(j+2+(i<<1)+h|0)>>>2&255;a[b+(e+1)>>0]=j;a[b+3>>0]=j;j=(i+1+h|0)>>>1&255;a[b+c>>0]=j;a[b+(e+2)>>0]=j;h=(i+2+h+(h<<1)|0)>>>2&255;a[b+(c|1)>>0]=h;a[b+(e+3)>>0]=h;a[b+(g+3)>>0]=f;a[b+(g+2)>>0]=f;a[b+(c+2)>>0]=f;a[b+g>>0]=f;a[b+(g+1)>>0]=f;a[b+(c+3)>>0]=f;return}function Xs(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0;g=e<<1;b=e*3|0;f=H(((d[a+-1>>0]|0)+2+(d[a+(e+-1)>>0]|0)+(d[a+(g+-1)>>0]|0)+(d[a+(b+-1)>>0]|0)|0)>>>2,16843009)|0;c[a>>2]=f;c[a+e>>2]=f;c[a+g>>2]=f;c[a+b>>2]=f;return}function Ys(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=2139062143;c[a+d>>2]=2139062143;c[a+(d<<1)>>2]=2139062143;c[a+(d*3|0)>>2]=2139062143;return}function Zs(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=-2122219135;c[a+d>>2]=-2122219135;c[a+(d<<1)>>2]=-2122219135;c[a+(d*3|0)>>2]=-2122219135;return}function _s(a,b,e){a=a|0;b=b|0;e=e|0;b=H(((d[a+(0-e)>>0]|0)+2+(d[a+(1-e)>>0]|0)+(d[a+(2-e)>>0]|0)+(d[a+(3-e)>>0]|0)|0)>>>2,16843009)|0;c[a>>2]=b;c[a+e>>2]=b;c[a+(e<<1)>>2]=b;c[a+(e*3|0)>>2]=b;return}function $s(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=-2139062144;c[a+d>>2]=-2139062144;c[a+(d<<1)>>2]=-2139062144;c[a+(d*3|0)>>2]=-2139062144;return}function at(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=d[b+(0-g)>>0]|0;n=d[b+(1-g)>>0]|0;h=d[b+(2-g)>>0]|0;m=d[b+(3-g)>>0]|0;l=d[b+(4-g)>>0]|0;k=d[b+(5-g)>>0]|0;j=d[b+(6-g)>>0]|0;i=d[b+(7-g)>>0]|0;f=(j+2+(d[b+((f|0?8:7)-g)>>0]|0)+(i<<1)|0)>>>2;a[b>>0]=((d[b+((((e|0)!=0)<<31>>31)-g)>>0]|0)+2+(o<<1)+n|0)>>>2;a[b+1>>0]=(o+2+(n<<1)+h|0)>>>2;a[b+2>>0]=(n+2+(h<<1)+m|0)>>>2;a[b+3>>0]=(h+2+(m<<1)+l|0)>>>2;h=b+4|0;a[h>>0]=(m+2+(l<<1)+k|0)>>>2;a[b+5>>0]=(l+2+(k<<1)+j|0)>>>2;a[b+6>>0]=(k+2+(j<<1)+i|0)>>>2;a[b+7>>0]=f;f=c[b>>2]|0;h=c[h>>2]|0;e=1;while(1){if((e|0)==8)break;o=b+(H(e,g)|0)|0;c[o>>2]=f;c[o+4>>2]=h;e=e+1|0}return}function bt(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=d[a+((H(((b|0)!=0)<<31>>31,f)|0)+-1)>>0]|0;r=d[a+-1>>0]|0;p=d[a+(f+-1)>>0]|0;q=f<<1;n=d[a+(q+-1)>>0]|0;o=f*3|0;l=d[a+(o+-1)>>0]|0;m=f<<2;j=d[a+(m+-1)>>0]|0;k=f*5|0;h=d[a+(k+-1)>>0]|0;i=f*6|0;g=d[a+(i+-1)>>0]|0;b=f*7|0;e=d[a+(b+-1)>>0]|0;s=H((s+2+(r<<1)+p|0)>>>2,16843009)|0;c[a>>2]=s;c[a+4>>2]=s;r=H((r+2+(p<<1)+n|0)>>>2,16843009)|0;f=a+f|0;c[f>>2]=r;c[f+4>>2]=r;p=H((p+2+(n<<1)+l|0)>>>2,16843009)|0;f=a+q|0;c[f>>2]=p;c[f+4>>2]=p;n=H((n+2+(l<<1)+j|0)>>>2,16843009)|0;f=a+o|0;c[f>>2]=n;c[f+4>>2]=n;l=H((l+2+(j<<1)+h|0)>>>2,16843009)|0;f=a+m|0;c[f>>2]=l;c[f+4>>2]=l;j=H((j+2+(h<<1)+g|0)>>>2,16843009)|0;f=a+k|0;c[f>>2]=j;c[f+4>>2]=j;h=H((h+2+(g<<1)+e|0)>>>2,16843009)|0;f=a+i|0;c[f>>2]=h;c[f+4>>2]=h;e=H((g+2+(e*3|0)|0)>>>2,16843009)|0;f=a+b|0;c[f>>2]=e;c[f+4>>2]=e;return}function ct(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;n=((b|0)!=0)<<31>>31;w=d[a+((H(n,f)|0)+-1)>>0]|0;v=d[a+-1>>0]|0;u=d[a+(f+-1)>>0]|0;t=d[a+((f<<1)+-1)>>0]|0;s=d[a+((f*3|0)+-1)>>0]|0;r=d[a+((f<<2)+-1)>>0]|0;q=d[a+((f*5|0)+-1)>>0]|0;p=d[a+((f*6|0)+-1)>>0]|0;o=d[a+((f*7|0)+-1)>>0]|0;m=d[a+(0-f)>>0]|0;l=d[a+(1-f)>>0]|0;k=d[a+(2-f)>>0]|0;j=d[a+(3-f)>>0]|0;i=d[a+(4-f)>>0]|0;h=d[a+(5-f)>>0]|0;g=d[a+(6-f)>>0]|0;b=d[a+(7-f)>>0]|0;e=H(((w+2+(v<<1)+u|0)>>>2)+8+((v+2+(u<<1)+t|0)>>>2)+((u+2+(t<<1)+s|0)>>>2)+((t+2+(s<<1)+r|0)>>>2)+((s+2+(r<<1)+q|0)>>>2)+((r+2+(q<<1)+p|0)>>>2)+((q+2+(p<<1)+o|0)>>>2)+((p+2+(o*3|0)|0)>>>2)+(((d[a+(n-f)>>0]|0)+2+(m<<1)+l|0)>>>2)+((m+2+(l<<1)+k|0)>>>2)+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+h|0)>>>2)+((i+2+(h<<1)+g|0)>>>2)+((h+2+(g<<1)+b|0)>>>2)+((g+2+(d[a+((e|0?8:7)-f)>>0]|0)+(b<<1)|0)>>>2)>>4,16843009)|0;b=0;while(1){if((b|0)==8)break;c[a>>2]=e;c[a+4>>2]=e;b=b+1|0;a=a+f|0}return}function dt(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;p=d[b+(0-f)>>0]|0;q=d[b+(1-f)>>0]|0;t=d[b+(2-f)>>0]|0;r=(p+2+(q<<1)+t|0)>>>2;u=d[b+(3-f)>>0]|0;s=(q+2+(t<<1)+u|0)>>>2;v=d[b+(4-f)>>0]|0;t=(t+2+(u<<1)+v|0)>>>2;w=d[b+(5-f)>>0]|0;u=(u+2+(v<<1)+w|0)>>>2;o=d[b+(6-f)>>0]|0;v=(v+2+(w<<1)+o|0)>>>2;n=d[b+(7-f)>>0]|0;w=(w+2+(o<<1)+n|0)>>>2;m=(e|0)!=0;o=(o+2+(d[b+((m?8:7)-f)>>0]|0)+(n<<1)|0)>>>2;if(m){x=d[b+(8-f)>>0]|0;e=d[b+(9-f)>>0]|0;m=d[b+(10-f)>>0]|0;l=d[b+(11-f)>>0]|0;k=d[b+(12-f)>>0]|0;j=d[b+(13-f)>>0]|0;i=d[b+(14-f)>>0]|0;h=d[b+(15-f)>>0]|0;g=(i+2+(h*3|0)|0)>>>2;h=(j+2+(i<<1)+h|0)>>>2;i=(k+2+(j<<1)+i|0)>>>2;j=(l+2+(k<<1)+j|0)>>>2;k=(m+2+(l<<1)+k|0)>>>2;l=(e+2+(m<<1)+l|0)>>>2;m=(x+2+(e<<1)+m|0)>>>2;e=(n+2+(x<<1)+e|0)>>>2}else{g=n;h=n;i=n;j=n;k=n;l=n;m=n;e=n}a[b>>0]=((((d[b+((((c|0)!=0)<<31>>31)-f)>>0]|0)+2+(p<<1)+q|0)>>>2)+2+(r<<1)+s|0)>>>2;r=(r+2+(s<<1)+t|0)>>>2&255;a[b+1>>0]=r;a[b+f>>0]=r;s=(s+2+(t<<1)+u|0)>>>2&255;a[b+2>>0]=s;a[b+(f+1)>>0]=s;r=f<<1;a[b+r>>0]=s;t=(t+2+(u<<1)+v|0)>>>2&255;a[b+3>>0]=t;a[b+(f+2)>>0]=t;a[b+(r|1)>>0]=t;s=f*3|0;a[b+s>>0]=t;u=(u+2+(v<<1)+w|0)>>>2&255;a[b+4>>0]=u;a[b+(f+3)>>0]=u;a[b+(r+2)>>0]=u;a[b+(s+1)>>0]=u;t=f<<2;a[b+t>>0]=u;v=(v+2+(w<<1)+o|0)>>>2&255;a[b+5>>0]=v;a[b+(f+4)>>0]=v;a[b+(r+3)>>0]=v;a[b+(s+2)>>0]=v;a[b+(t|1)>>0]=v;u=f*5|0;a[b+u>>0]=v;w=(w+2+(o<<1)+e|0)>>>2&255;a[b+6>>0]=w;a[b+(f+5)>>0]=w;a[b+(r+4)>>0]=w;a[b+(s+3)>>0]=w;a[b+(t|2)>>0]=w;a[b+(u+1)>>0]=w;v=f*6|0;a[b+v>>0]=w;w=(o+2+(e<<1)+m|0)>>>2&255;a[b+7>>0]=w;a[b+(f+6)>>0]=w;a[b+(r+5)>>0]=w;a[b+(s+4)>>0]=w;a[b+(t|3)>>0]=w;a[b+(u+2)>>0]=w;a[b+(v|1)>>0]=w;x=f*7|0;a[b+x>>0]=w;w=(e+2+(m<<1)+l|0)>>>2&255;a[b+(f+7)>>0]=w;a[b+(r+6)>>0]=w;a[b+(s+5)>>0]=w;a[b+(t+4)>>0]=w;a[b+(u+3)>>0]=w;a[b+(v+2)>>0]=w;a[b+(x+1)>>0]=w;w=(m+2+(l<<1)+k|0)>>>2&255;a[b+(r+7)>>0]=w;a[b+(s+6)>>0]=w;a[b+(t+5)>>0]=w;a[b+(u+4)>>0]=w;a[b+(v+3)>>0]=w;a[b+(x+2)>>0]=w;w=(l+2+(k<<1)+j|0)>>>2&255;a[b+(s+7)>>0]=w;a[b+(t+6)>>0]=w;a[b+(u+5)>>0]=w;a[b+(v+4)>>0]=w;a[b+(x+3)>>0]=w;w=(k+2+(j<<1)+i|0)>>>2&255;a[b+(t+7)>>0]=w;a[b+(u+6)>>0]=w;a[b+(v+5)>>0]=w;a[b+(x+4)>>0]=w;w=(j+2+(i<<1)+h|0)>>>2&255;a[b+(u+7)>>0]=w;a[b+(v+6)>>0]=w;a[b+(x+5)>>0]=w;w=(i+2+(h<<1)+g|0)>>>2&255;a[b+(v+7)>>0]=w;a[b+(x+6)>>0]=w;a[b+(x+7)>>0]=(h+2+(g*3|0)|0)>>>2;return}function et(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;t=((c|0)!=0)<<31>>31;C=d[b+(0-f)>>0]|0;k=d[b+(1-f)>>0]|0;s=((d[b+(t-f)>>0]|0)+2+(C<<1)+k|0)>>>2;i=d[b+(2-f)>>0]|0;C=C+2|0;m=(C+(k<<1)+i|0)>>>2;h=d[b+(3-f)>>0]|0;k=(k+2+(i<<1)+h|0)>>>2;g=d[b+(4-f)>>0]|0;i=(i+2+(h<<1)+g|0)>>>2;c=d[b+(5-f)>>0]|0;h=(h+2+(g<<1)+c|0)>>>2;v=d[b+(6-f)>>0]|0;g=(g+2+(c<<1)+v|0)>>>2;q=d[b+(7-f)>>0]|0;c=(c+2+(v<<1)+q|0)>>>2;e=(v+2+(d[b+((e|0?8:7)-f)>>0]|0)+(q<<1)|0)>>>2;t=d[b+((H(t,f)|0)+-1)>>0]|0;q=d[b+-1>>0]|0;v=d[b+(f+-1)>>0]|0;t=(t+2+(q<<1)+v|0)>>>2;j=f<<1;w=d[b+(j+-1)>>0]|0;o=(q+2+(v<<1)+w|0)>>>2;l=f*3|0;x=d[b+(l+-1)>>0]|0;v=(v+2+(w<<1)+x|0)>>>2;n=f<<2;y=d[b+(n+-1)>>0]|0;w=(w+2+(x<<1)+y|0)>>>2;p=f*5|0;z=d[b+(p+-1)>>0]|0;x=(x+2+(y<<1)+z|0)>>>2;r=f*6|0;B=d[b+(r+-1)>>0]|0;y=(y+2+(z<<1)+B|0)>>>2;u=f*7|0;A=d[b+(u+-1)>>0]|0;z=(z+2+(B<<1)+A|0)>>>2;q=(C+q+((d[b+~f>>0]|0)<<1)|0)>>>2;a[b+u>>0]=(y+2+((B+2+(A*3|0)|0)>>>2)+(z<<1)|0)>>>2;z=(x+2+(y<<1)+z|0)>>>2&255;a[b+(u+1)>>0]=z;a[b+r>>0]=z;y=(w+2+(x<<1)+y|0)>>>2&255;a[b+(u+2)>>0]=y;a[b+(r|1)>>0]=y;a[b+p>>0]=y;x=(v+2+(w<<1)+x|0)>>>2&255;a[b+(u+3)>>0]=x;a[b+(r+2)>>0]=x;a[b+(p+1)>>0]=x;a[b+n>>0]=x;w=(o+2+(v<<1)+w|0)>>>2&255;a[b+(u+4)>>0]=w;a[b+(r+3)>>0]=w;a[b+(p+2)>>0]=w;a[b+(n|1)>>0]=w;a[b+l>>0]=w;v=(t+2+(o<<1)+v|0)>>>2&255;a[b+(u+5)>>0]=v;a[b+(r+4)>>0]=v;a[b+(p+3)>>0]=v;a[b+(n|2)>>0]=v;a[b+(l+1)>>0]=v;a[b+j>>0]=v;o=((t<<1)+2+o+q|0)>>>2&255;a[b+(u+6)>>0]=o;a[b+(r+5)>>0]=o;a[b+(p+4)>>0]=o;a[b+(n|3)>>0]=o;a[b+(l+2)>>0]=o;a[b+(j|1)>>0]=o;a[b+f>>0]=o;o=s+2|0;t=(o+t+(q<<1)|0)>>>2&255;a[b+(u+7)>>0]=t;a[b+(r+6)>>0]=t;a[b+(p+5)>>0]=t;a[b+(n+4)>>0]=t;a[b+(l+3)>>0]=t;a[b+(j+2)>>0]=t;a[b+(f+1)>>0]=t;a[b>>0]=t;q=((s<<1)+2+m+q|0)>>>2&255;a[b+(r+7)>>0]=q;a[b+(p+6)>>0]=q;a[b+(n+5)>>0]=q;a[b+(l+4)>>0]=q;a[b+(j+3)>>0]=q;a[b+(f+2)>>0]=q;a[b+1>>0]=q;o=(o+(m<<1)+k|0)>>>2&255;a[b+(p+7)>>0]=o;a[b+(n+6)>>0]=o;a[b+(l+5)>>0]=o;a[b+(j+4)>>0]=o;a[b+(f+3)>>0]=o;a[b+2>>0]=o;m=(m+2+(k<<1)+i|0)>>>2&255;a[b+(n+7)>>0]=m;a[b+(l+6)>>0]=m;a[b+(j+5)>>0]=m;a[b+(f+4)>>0]=m;a[b+3>>0]=m;k=(k+2+(i<<1)+h|0)>>>2&255;a[b+(l+7)>>0]=k;a[b+(j+6)>>0]=k;a[b+(f+5)>>0]=k;a[b+4>>0]=k;i=(i+2+(h<<1)+g|0)>>>2&255;a[b+(j+7)>>0]=i;a[b+(f+6)>>0]=i;a[b+5>>0]=i;h=(h+2+(g<<1)+c|0)>>>2&255;a[b+(f+7)>>0]=h;a[b+6>>0]=h;a[b+7>>0]=(g+2+(c<<1)+e|0)>>>2;return}function ft(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;s=((c|0)!=0)<<31>>31;A=d[b+(0-f)>>0]|0;n=d[b+(1-f)>>0]|0;u=((d[b+(s-f)>>0]|0)+2+(A<<1)+n|0)>>>2;k=d[b+(2-f)>>0]|0;A=A+2|0;q=(A+(n<<1)+k|0)>>>2;h=d[b+(3-f)>>0]|0;n=(n+2+(k<<1)+h|0)>>>2;g=d[b+(4-f)>>0]|0;k=(k+2+(h<<1)+g|0)>>>2;c=d[b+(5-f)>>0]|0;h=(h+2+(g<<1)+c|0)>>>2;r=d[b+(6-f)>>0]|0;g=(g+2+(c<<1)+r|0)>>>2;t=d[b+(7-f)>>0]|0;c=(c+2+(r<<1)+t|0)>>>2;e=(r+2+(d[b+((e|0?8:7)-f)>>0]|0)+(t<<1)|0)>>>2;s=d[b+((H(s,f)|0)+-1)>>0]|0;t=d[b+-1>>0]|0;r=d[b+(f+-1)>>0]|0;s=(s+2+(t<<1)+r|0)>>>2;i=f<<1;x=d[b+(i+-1)>>0]|0;v=(t+2+(r<<1)+x|0)>>>2;j=f*3|0;w=d[b+(j+-1)>>0]|0;r=(r+2+(x<<1)+w|0)>>>2;l=f<<2;z=d[b+(l+-1)>>0]|0;x=(x+2+(w<<1)+z|0)>>>2;m=f*5|0;B=d[b+(m+-1)>>0]|0;w=(w+2+(z<<1)+B|0)>>>2;o=f*6|0;y=d[b+(o+-1)>>0]|0;z=(z+2+(B<<1)+y|0)>>>2;p=f*7|0;y=(B+2+(y<<1)+(d[b+(p+-1)>>0]|0)|0)>>>2;t=(A+t+((d[b+~f>>0]|0)<<1)|0)>>>2;a[b+o>>0]=(x+2+(w<<1)+z|0)>>>2;a[b+p>>0]=(w+2+(z<<1)+y|0)>>>2;y=(v+2+(r<<1)+x|0)>>>2&255;a[b+(o|1)>>0]=y;a[b+l>>0]=y;w=(r+2+(x<<1)+w|0)>>>2&255;a[b+(p+1)>>0]=w;a[b+m>>0]=w;w=((s<<1)+2+v+t|0)>>>2&255;a[b+(o+2)>>0]=w;a[b+(l|1)>>0]=w;a[b+i>>0]=w;r=(s+2+(v<<1)+r|0)>>>2&255;a[b+(p+2)>>0]=r;a[b+(m+1)>>0]=r;a[b+j>>0]=r;r=u+2|0;s=(r+s+(t<<1)|0)>>>2&255;a[b+(p+3)>>0]=s;a[b+(m+2)>>0]=s;a[b+(j+1)>>0]=s;a[b+f>>0]=s;s=u+1|0;v=(s+t|0)>>>1&255;a[b+(o+3)>>0]=v;a[b+(l|2)>>0]=v;a[b+(i|1)>>0]=v;a[b>>0]=v;t=((u<<1)+2+q+t|0)>>>2&255;a[b+(p+4)>>0]=t;a[b+(m+3)>>0]=t;a[b+(j+2)>>0]=t;a[b+(f+1)>>0]=t;s=(s+q|0)>>>1&255;a[b+(o+4)>>0]=s;a[b+(l|3)>>0]=s;a[b+(i+2)>>0]=s;a[b+1>>0]=s;r=(r+(q<<1)+n|0)>>>2&255;a[b+(p+5)>>0]=r;a[b+(m+4)>>0]=r;a[b+(j+3)>>0]=r;a[b+(f+2)>>0]=r;r=(q+1+n|0)>>>1&255;a[b+(o+5)>>0]=r;a[b+(l+4)>>0]=r;a[b+(i+3)>>0]=r;a[b+2>>0]=r;q=(q+2+(n<<1)+k|0)>>>2&255;a[b+(p+6)>>0]=q;a[b+(m+5)>>0]=q;a[b+(j+4)>>0]=q;a[b+(f+3)>>0]=q;q=(n+1+k|0)>>>1&255;a[b+(o+6)>>0]=q;a[b+(l+5)>>0]=q;a[b+(i+4)>>0]=q;a[b+3>>0]=q;n=(n+2+(k<<1)+h|0)>>>2&255;a[b+(p+7)>>0]=n;a[b+(m+6)>>0]=n;a[b+(j+5)>>0]=n;a[b+(f+4)>>0]=n;n=(k+1+h|0)>>>1&255;a[b+(o+7)>>0]=n;a[b+(l+6)>>0]=n;a[b+(i+5)>>0]=n;a[b+4>>0]=n;k=(k+2+(h<<1)+g|0)>>>2&255;a[b+(m+7)>>0]=k;a[b+(j+6)>>0]=k;a[b+(f+5)>>0]=k;k=(h+1+g|0)>>>1&255;a[b+(l+7)>>0]=k;a[b+(i+6)>>0]=k;a[b+5>>0]=k;h=(h+2+(g<<1)+c|0)>>>2&255;a[b+(j+7)>>0]=h;a[b+(f+6)>>0]=h;h=(g+1+c|0)>>>1&255;a[b+(i+7)>>0]=h;a[b+6>>0]=h;a[b+(f+7)>>0]=(g+2+(c<<1)+e|0)>>>2;a[b+7>>0]=(c+1+e|0)>>>1;return}function gt(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;o=((c|0)!=0)<<31>>31;A=d[b+(0-f)>>0]|0;i=d[b+(1-f)>>0]|0;n=((d[b+(o-f)>>0]|0)+2+(A<<1)+i|0)>>>2;h=d[b+(2-f)>>0]|0;A=A+2|0;j=(A+(i<<1)+h|0)>>>2;g=d[b+(3-f)>>0]|0;i=(i+2+(h<<1)+g|0)>>>2;c=d[b+(4-f)>>0]|0;h=(h+2+(g<<1)+c|0)>>>2;m=d[b+(5-f)>>0]|0;g=(g+2+(c<<1)+m|0)>>>2;e=d[b+(6-f)>>0]|0;c=(c+2+(m<<1)+e|0)>>>2;e=(m+2+(e<<1)+(d[b+(7-f)>>0]|0)|0)>>>2;o=d[b+((H(o,f)|0)+-1)>>0]|0;m=d[b+-1>>0]|0;k=d[b+(f+-1)>>0]|0;o=(o+2+(m<<1)+k|0)>>>2;l=f<<1;t=d[b+(l+-1)>>0]|0;q=(m+2+(k<<1)+t|0)>>>2;p=f*3|0;v=d[b+(p+-1)>>0]|0;k=(k+2+(t<<1)+v|0)>>>2;r=f<<2;x=d[b+(r+-1)>>0]|0;t=(t+2+(v<<1)+x|0)>>>2;s=f*5|0;y=d[b+(s+-1)>>0]|0;v=(v+2+(x<<1)+y|0)>>>2;u=f*6|0;B=d[b+(u+-1)>>0]|0;x=(x+2+(y<<1)+B|0)>>>2;w=f*7|0;z=d[b+(w+-1)>>0]|0;y=(y+2+(B<<1)+z|0)>>>2;z=(B+2+(z*3|0)|0)>>>2;m=(A+m+((d[b+~f>>0]|0)<<1)|0)>>>2;a[b+w>>0]=(z+1+y|0)>>>1;a[b+(w+1)>>0]=(x+2+z+(y<<1)|0)>>>2;z=(x+1+y|0)>>>1&255;a[b+(w+2)>>0]=z;a[b+u>>0]=z;y=(v+2+(x<<1)+y|0)>>>2&255;a[b+(w+3)>>0]=y;a[b+(u|1)>>0]=y;y=(v+1+x|0)>>>1&255;a[b+(w+4)>>0]=y;a[b+(u+2)>>0]=y;a[b+s>>0]=y;x=(t+2+(v<<1)+x|0)>>>2&255;a[b+(w+5)>>0]=x;a[b+(u+3)>>0]=x;a[b+(s+1)>>0]=x;x=(t+1+v|0)>>>1&255;a[b+(w+6)>>0]=x;a[b+(u+4)>>0]=x;a[b+(s+2)>>0]=x;a[b+r>>0]=x;v=(k+2+(t<<1)+v|0)>>>2&255;a[b+(w+7)>>0]=v;a[b+(u+5)>>0]=v;a[b+(s+3)>>0]=v;a[b+(r|1)>>0]=v;v=(k+1+t|0)>>>1&255;a[b+(u+6)>>0]=v;a[b+(s+4)>>0]=v;a[b+(r|2)>>0]=v;a[b+p>>0]=v;t=(q+2+(k<<1)+t|0)>>>2&255;a[b+(u+7)>>0]=t;a[b+(s+5)>>0]=t;a[b+(r|3)>>0]=t;a[b+(p+1)>>0]=t;t=(q+1+k|0)>>>1&255;a[b+(s+6)>>0]=t;a[b+(r+4)>>0]=t;a[b+(p+2)>>0]=t;a[b+l>>0]=t;k=(o+2+(q<<1)+k|0)>>>2&255;a[b+(s+7)>>0]=k;a[b+(r+5)>>0]=k;a[b+(p+3)>>0]=k;a[b+(l|1)>>0]=k;k=o+1|0;s=(k+q|0)>>>1&255;a[b+(r+6)>>0]=s;a[b+(p+4)>>0]=s;a[b+(l+2)>>0]=s;a[b+f>>0]=s;q=((o<<1)+2+q+m|0)>>>2&255;a[b+(r+7)>>0]=q;a[b+(p+5)>>0]=q;a[b+(l+3)>>0]=q;a[b+(f+1)>>0]=q;k=(k+m|0)>>>1&255;a[b+(p+6)>>0]=k;a[b+(l+4)>>0]=k;a[b+(f+2)>>0]=k;a[b>>0]=k;k=n+2|0;o=(k+o+(m<<1)|0)>>>2&255;a[b+(p+7)>>0]=o;a[b+(l+5)>>0]=o;a[b+(f+3)>>0]=o;a[b+1>>0]=o;m=((n<<1)+2+j+m|0)>>>2&255;a[b+(l+6)>>0]=m;a[b+(f+4)>>0]=m;a[b+2>>0]=m;k=(k+(j<<1)+i|0)>>>2&255;a[b+(l+7)>>0]=k;a[b+(f+5)>>0]=k;a[b+3>>0]=k;j=(j+2+(i<<1)+h|0)>>>2&255;a[b+(f+6)>>0]=j;a[b+4>>0]=j;i=(i+2+(h<<1)+g|0)>>>2&255;a[b+(f+7)>>0]=i;a[b+5>>0]=i;a[b+6>>0]=(h+2+(g<<1)+c|0)>>>2;a[b+7>>0]=(g+2+(c<<1)+e|0)>>>2;return}function ht(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;l=d[b+(0-f)>>0]|0;m=d[b+(1-f)>>0]|0;k=((d[b+((((c|0)!=0)<<31>>31)-f)>>0]|0)+2+(l<<1)+m|0)>>>2;n=d[b+(2-f)>>0]|0;l=(l+2+(m<<1)+n|0)>>>2;o=d[b+(3-f)>>0]|0;m=(m+2+(n<<1)+o|0)>>>2;p=d[b+(4-f)>>0]|0;n=(n+2+(o<<1)+p|0)>>>2;q=d[b+(5-f)>>0]|0;o=(o+2+(p<<1)+q|0)>>>2;j=d[b+(6-f)>>0]|0;p=(p+2+(q<<1)+j|0)>>>2;c=d[b+(7-f)>>0]|0;q=(q+2+(j<<1)+c|0)>>>2;i=(e|0)!=0;j=(j+2+(d[b+((i?8:7)-f)>>0]|0)+(c<<1)|0)>>>2;if(i){s=d[b+(8-f)>>0]|0;r=d[b+(9-f)>>0]|0;i=d[b+(10-f)>>0]|0;h=d[b+(11-f)>>0]|0;g=d[b+(12-f)>>0]|0;e=(h+2+(g<<1)+(d[b+(13-f)>>0]|0)|0)>>>2;g=(i+2+(h<<1)+g|0)>>>2;h=(r+2+(i<<1)+h|0)>>>2;i=(s+2+(r<<1)+i|0)>>>2;c=(c+2+(s<<1)+r|0)>>>2}else{e=c;g=c;h=c;i=c}a[b>>0]=(k+1+l|0)>>>1;a[b+f>>0]=(k+2+(l<<1)+m|0)>>>2;s=(l+1+m|0)>>>1&255;a[b+1>>0]=s;t=f<<1;a[b+t>>0]=s;s=(l+2+(m<<1)+n|0)>>>2&255;a[b+(f+1)>>0]=s;k=f*3|0;a[b+k>>0]=s;s=(m+1+n|0)>>>1&255;a[b+2>>0]=s;a[b+(t|1)>>0]=s;l=f<<2;a[b+l>>0]=s;s=(m+2+(n<<1)+o|0)>>>2&255;a[b+(f+2)>>0]=s;a[b+(k+1)>>0]=s;m=f*5|0;a[b+m>>0]=s;s=(n+1+o|0)>>>1&255;a[b+3>>0]=s;a[b+(t+2)>>0]=s;a[b+(l|1)>>0]=s;r=f*6|0;a[b+r>>0]=s;n=(n+2+(o<<1)+p|0)>>>2&255;a[b+(f+3)>>0]=n;a[b+(k+2)>>0]=n;a[b+(m+1)>>0]=n;s=f*7|0;a[b+s>>0]=n;n=(o+1+p|0)>>>1&255;a[b+4>>0]=n;a[b+(t+3)>>0]=n;a[b+(l|2)>>0]=n;a[b+(r|1)>>0]=n;o=(o+2+(p<<1)+q|0)>>>2&255;a[b+(f+4)>>0]=o;a[b+(k+3)>>0]=o;a[b+(m+2)>>0]=o;a[b+(s+1)>>0]=o;o=(p+1+q|0)>>>1&255;a[b+5>>0]=o;a[b+(t+4)>>0]=o;a[b+(l|3)>>0]=o;a[b+(r+2)>>0]=o;p=(p+2+(q<<1)+j|0)>>>2&255;a[b+(f+5)>>0]=p;a[b+(k+4)>>0]=p;a[b+(m+3)>>0]=p;a[b+(s+2)>>0]=p;p=(q+1+j|0)>>>1&255;a[b+6>>0]=p;a[b+(t+5)>>0]=p;a[b+(l+4)>>0]=p;a[b+(r+3)>>0]=p;q=(q+2+(j<<1)+c|0)>>>2&255;a[b+(f+6)>>0]=q;a[b+(k+5)>>0]=q;a[b+(m+4)>>0]=q;a[b+(s+3)>>0]=q;q=(j+1+c|0)>>>1&255;a[b+7>>0]=q;a[b+(t+6)>>0]=q;a[b+(l+5)>>0]=q;a[b+(r+4)>>0]=q;q=(j+2+(c<<1)+i|0)>>>2&255;a[b+(f+7)>>0]=q;a[b+(k+6)>>0]=q;a[b+(m+5)>>0]=q;a[b+(s+4)>>0]=q;f=(c+1+i|0)>>>1&255;a[b+(t+7)>>0]=f;a[b+(l+6)>>0]=f;a[b+(r+5)>>0]=f;f=(c+2+(i<<1)+h|0)>>>2&255;a[b+(k+7)>>0]=f;a[b+(m+6)>>0]=f;a[b+(s+5)>>0]=f;f=(i+1+h|0)>>>1&255;a[b+(l+7)>>0]=f;a[b+(r+6)>>0]=f;f=(i+2+(h<<1)+g|0)>>>2&255;a[b+(m+7)>>0]=f;a[b+(s+6)>>0]=f;a[b+(r+7)>>0]=(h+1+g|0)>>>1;a[b+(s+7)>>0]=(h+2+(g<<1)+e|0)>>>2;return}function it(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=d[b+((H(((c|0)!=0)<<31>>31,f)|0)+-1)>>0]|0;q=d[b+-1>>0]|0;p=d[b+(f+-1)>>0]|0;r=(r+2+(q<<1)+p|0)>>>2;l=f<<1;o=d[b+(l+-1)>>0]|0;q=(q+2+(p<<1)+o|0)>>>2;j=f*3|0;n=d[b+(j+-1)>>0]|0;p=(p+2+(o<<1)+n|0)>>>2;h=f<<2;m=d[b+(h+-1)>>0]|0;o=(o+2+(n<<1)+m|0)>>>2;g=f*5|0;k=d[b+(g+-1)>>0]|0;n=(n+2+(m<<1)+k|0)>>>2;c=f*6|0;s=d[b+(c+-1)>>0]|0;m=(m+2+(k<<1)+s|0)>>>2;e=f*7|0;i=d[b+(e+-1)>>0]|0;k=(k+2+(s<<1)+i|0)>>>2;i=(s+2+(i*3|0)|0)>>>2;a[b>>0]=(r+1+q|0)>>>1;a[b+1>>0]=(r+2+(q<<1)+p|0)>>>2;r=(q+1+p|0)>>>1&255;a[b+2>>0]=r;a[b+f>>0]=r;q=(q+2+(p<<1)+o|0)>>>2&255;a[b+3>>0]=q;a[b+(f+1)>>0]=q;q=(p+1+o|0)>>>1&255;a[b+4>>0]=q;a[b+(f+2)>>0]=q;a[b+l>>0]=q;p=(p+2+(o<<1)+n|0)>>>2&255;a[b+5>>0]=p;a[b+(f+3)>>0]=p;a[b+(l|1)>>0]=p;p=(o+1+n|0)>>>1&255;a[b+6>>0]=p;a[b+(f+4)>>0]=p;a[b+(l+2)>>0]=p;a[b+j>>0]=p;o=(o+2+(n<<1)+m|0)>>>2&255;a[b+7>>0]=o;a[b+(f+5)>>0]=o;a[b+(l+3)>>0]=o;a[b+(j+1)>>0]=o;o=(n+1+m|0)>>>1&255;a[b+(f+6)>>0]=o;a[b+(l+4)>>0]=o;a[b+(j+2)>>0]=o;a[b+h>>0]=o;n=(n+2+(m<<1)+k|0)>>>2&255;a[b+(f+7)>>0]=n;a[b+(l+5)>>0]=n;a[b+(j+3)>>0]=n;a[b+(h|1)>>0]=n;f=(m+1+k|0)>>>1&255;a[b+(l+6)>>0]=f;a[b+(j+4)>>0]=f;a[b+(h|2)>>0]=f;a[b+g>>0]=f;f=(m+2+i+(k<<1)|0)>>>2&255;a[b+(l+7)>>0]=f;a[b+(j+5)>>0]=f;a[b+(h|3)>>0]=f;a[b+(g+1)>>0]=f;f=(i+1+k|0)>>>1&255;a[b+(j+6)>>0]=f;a[b+(h+4)>>0]=f;a[b+(g+2)>>0]=f;a[b+c>>0]=f;f=(k+2+(i*3|0)|0)>>>2&255;a[b+(j+7)>>0]=f;a[b+(h+5)>>0]=f;a[b+(g+3)>>0]=f;a[b+(c|1)>>0]=f;f=i&255;a[b+(e+7)>>0]=f;a[b+(c+7)>>0]=f;a[b+(g+7)>>0]=f;a[b+(h+7)>>0]=f;a[b+(e+6)>>0]=f;a[b+(c+6)>>0]=f;a[b+(g+6)>>0]=f;a[b+(h+6)>>0]=f;a[b+(e+5)>>0]=f;a[b+(c+5)>>0]=f;a[b+(g+5)>>0]=f;a[b+(e+4)>>0]=f;a[b+(c+4)>>0]=f;a[b+(g+4)>>0]=f;a[b+(e+3)>>0]=f;a[b+(c+3)>>0]=f;a[b+(e+2)>>0]=f;a[b+(c+2)>>0]=f;a[b+(e+1)>>0]=f;a[b+e>>0]=f;return}function jt(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=d[a+((H(((b|0)!=0)<<31>>31,f)|0)+-1)>>0]|0;l=d[a+-1>>0]|0;k=d[a+(f+-1)>>0]|0;j=d[a+((f<<1)+-1)>>0]|0;i=d[a+((f*3|0)+-1)>>0]|0;h=d[a+((f<<2)+-1)>>0]|0;g=d[a+((f*5|0)+-1)>>0]|0;b=d[a+((f*6|0)+-1)>>0]|0;e=d[a+((f*7|0)+-1)>>0]|0;e=H(((m+2+(l<<1)+k|0)>>>2)+4+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+h|0)>>>2)+((i+2+(h<<1)+g|0)>>>2)+((h+2+(g<<1)+b|0)>>>2)+((g+2+(b<<1)+e|0)>>>2)+((b+2+(e*3|0)|0)>>>2)>>3,16843009)|0;b=0;while(1){if((b|0)==8)break;c[a>>2]=e;c[a+4>>2]=e;b=b+1|0;a=a+f|0}return}function kt(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=d[a+(0-f)>>0]|0;m=d[a+(1-f)>>0]|0;l=d[a+(2-f)>>0]|0;k=d[a+(3-f)>>0]|0;j=d[a+(4-f)>>0]|0;i=d[a+(5-f)>>0]|0;h=d[a+(6-f)>>0]|0;g=d[a+(7-f)>>0]|0;e=H((((d[a+((((b|0)!=0)<<31>>31)-f)>>0]|0)+2+(n<<1)+m|0)>>>2)+4+((n+2+(m<<1)+l|0)>>>2)+((m+2+(l<<1)+k|0)>>>2)+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+h|0)>>>2)+((i+2+(h<<1)+g|0)>>>2)+((h+2+(d[a+((e|0?8:7)-f)>>0]|0)+(g<<1)|0)>>>2)>>3,16843009)|0;b=0;while(1){if((b|0)==8)break;c[a>>2]=e;c[a+4>>2]=e;b=b+1|0;a=a+f|0}return}function lt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=0;while(1){if((b|0)==8)break;c[a>>2]=-2139062144;c[a+4>>2]=-2139062144;b=b+1|0;a=a+e|0}return}function mt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=a+(0-b)|0;e=c[f>>2]|0;f=c[f+4>>2]|0;d=0;while(1){if((d|0)==8)break;g=a+(H(d,b)|0)|0;c[g>>2]=e;c[g+4>>2]=f;d=d+1|0}return}function nt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=a+(0-b)|0;e=c[f>>2]|0;f=c[f+4>>2]|0;d=0;while(1){if((d|0)==16)break;g=a+(H(d,b)|0)|0;c[g>>2]=e;c[g+4>>2]=f;d=d+1|0}return}function ot(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=0;while(1){if((e|0)==8)break;f=H(e,b)|0;g=H(d[a+(f+-1)>>0]|0,16843009)|0;f=a+f|0;c[f>>2]=g;c[f+4>>2]=g;e=e+1|0}return}function pt(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=0;while(1){if((e|0)==16)break;f=H(e,b)|0;g=H(d[a+(f+-1)>>0]|0,16843009)|0;f=a+f|0;c[f>>2]=g;c[f+4>>2]=g;e=e+1|0}return}function qt(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=0-c|0;j=b+3+i|0;g=b+(c<<2)+-1|0;f=g+(0-(c<<1))|0;p=(c*7|0)+-1|0;q=~c;k=(d[g>>0]|0)-(d[f>>0]|0)|0;e=(d[j+1>>0]|0)-(d[j+-1>>0]|0)|0;h=2;while(1){if((h|0)==5)break;o=g+c|0;n=f+i|0;m=(H((d[j+h>>0]|0)-(d[j+(0-h)>>0]|0)|0,h)|0)+e|0;k=(H((d[o>>0]|0)-(d[n>>0]|0)|0,h)|0)+k|0;e=m;f=n;g=o;h=h+1|0}o=(e*17|0)+16>>5;h=(k*17|0)+16>>5;i=o<<1;j=o*3|0;k=o<<2;l=o*5|0;m=o*6|0;n=o*7|0;g=8;f=(H(h+o|0,-3)|0)+16+((d[b+q+8>>0]|0)+(d[b+p>>0]|0)<<4)|0;e=b;while(1){if((g|0)<=0)break;b=f>>5;a[e>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+o>>5;a[e+1>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+i>>5;a[e+2>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+j>>5;a[e+3>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+k>>5;a[e+4>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+l>>5;a[e+5>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+m>>5;a[e+6>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+n>>5;a[e+7>>0]=b>>>0>255?(b^-2147483648)>>31:b;g=g+-1|0;f=f+h|0;e=e+c|0}return}function rt(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=0-c|0;i=b+3+m|0;h=b+(c<<3)+-1|0;g=h+(0-(c<<1))|0;k=(c*11|0)+-1|0;j=(c*3|0)+-1|0;e=2;f=(d[h>>0]|0)-(d[g>>0]|0)|0;l=(d[i+1>>0]|0)-(d[i+-1>>0]|0)|0;while(1){if((e|0)==5)break;q=h+c|0;p=g+m|0;o=(H((d[i+e>>0]|0)-(d[i+(0-e)>>0]|0)|0,e)|0)+l|0;n=(H((d[q>>0]|0)-(d[p>>0]|0)|0,e)|0)+f|0;e=e+1|0;f=n;l=o;g=p;h=q}e=5;q=b+j|0;p=b+k|0;while(1){if((e|0)>=9)break;o=p+c|0;n=q+m|0;f=(H((d[o>>0]|0)-(d[n>>0]|0)|0,e)|0)+f|0;e=e+1|0;q=n;p=o}o=(l*17|0)+16>>5;h=(f*5|0)+32>>6;i=o*3|0;j=o<<1;k=o<<2;l=o*5|0;m=o*6|0;n=o*7|0;g=16;f=16-i+(H(h,-7)|0)+((d[q+8>>0]|0)+(d[p>>0]|0)<<4)|0;e=b;while(1){if((g|0)<=0)break;b=f>>5;a[e>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+o>>5;a[e+1>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+j>>5;a[e+2>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+i>>5;a[e+3>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+k>>5;a[e+4>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+l>>5;a[e+5>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+m>>5;a[e+6>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+n>>5;a[e+7>>0]=b>>>0>255?(b^-2147483648)>>31:b;g=g+-1|0;f=f+h|0;e=e+c|0}return}function st(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=0;f=0;g=0;h=0;while(1){if((e|0)==4)break;j=d[a+((H(e,b)|0)+-1)>>0]|0;j=f+j+(d[a+(e-b)>>0]|0)|0;k=e+4|0;e=e+1|0;f=j;g=g+(d[a+(k-b)>>0]|0)|0;h=h+(d[a+((H(k,b)|0)+-1)>>0]|0)|0}i=H(f+4>>3,16843009)|0;j=H(g+2>>2,16843009)|0;k=h+2>>2;f=h+4+g>>3;e=0;while(1){if((e|0)==4)break;h=a+(H(e,b)|0)|0;c[h>>2]=i;c[h+4>>2]=j;e=e+1|0}g=H(k,16843009)|0;f=H(f,16843009)|0;e=4;while(1){if((e|0)==8)break;k=a+(H(e,b)|0)|0;c[k>>2]=g;c[k+4>>2]=f;e=e+1|0}return}function tt(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;e=0;f=0;g=0;while(1){if((e|0)==4)break;i=f+(d[a+((H(e,b)|0)+-1)>>0]|0)|0;h=g+(d[a+((H(e+4|0,b)|0)+-1)>>0]|0)|0;e=e+1|0;f=i;g=h}h=H(f+2>>2,16843009)|0;f=g+2>>2;e=0;while(1){if((e|0)==4)break;i=a+(H(e,b)|0)|0;c[i>>2]=h;c[i+4>>2]=h;e=e+1|0}f=H(f,16843009)|0;e=4;while(1){if((e|0)==8)break;i=a+(H(e,b)|0)|0;c[i>>2]=f;c[i+4>>2]=f;e=e+1|0}return}function ut(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=4-b|0;e=0;f=0;h=0;while(1){if((e|0)==4)break;j=f+(d[a+(e-b)>>0]|0)|0;i=h+(d[a+(g+e)>>0]|0)|0;e=e+1|0;f=j;h=i}g=H(f+2>>2,16843009)|0;f=H(h+2>>2,16843009)|0;e=0;while(1){if((e|0)==4){e=4;break}j=a+(H(e,b)|0)|0;c[j>>2]=g;c[j+4>>2]=f;e=e+1|0}while(1){if((e|0)==8)break;j=a+(H(e,b)|0)|0;c[j>>2]=g;c[j+4>>2]=f;e=e+1|0}return}function vt(a,b){a=a|0;b=b|0;ut(a,b);Qs(a,0,b);return}function wt(a,b){a=a|0;b=b|0;st(a,b);_s(a,0,b);return}function xt(a,b){a=a|0;b=b|0;tt(a,b);a=a+(b<<2)|0;$s(a,0,b);$s(a+4|0,0,b);return}function yt(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=0;f=0;i=0;g=0;h=0;j=0;while(1){if((e|0)==4)break;k=d[a+((H(e,b)|0)+-1)>>0]|0;k=f+k+(d[a+(e-b)>>0]|0)|0;l=e+4|0;m=g+(d[a+((H(l,b)|0)+-1)>>0]|0)|0;n=h+(d[a+((H(e+8|0,b)|0)+-1)>>0]|0)|0;o=j+(d[a+((H(e+12|0,b)|0)+-1)>>0]|0)|0;e=e+1|0;f=k;i=i+(d[a+(l-b)>>0]|0)|0;g=m;h=n;j=o}f=H(f+4>>3,16843009)|0;k=H(i+2>>2,16843009)|0;l=g+2>>2;g=g+4+i>>3;m=h+2>>2;h=h+4+i>>3;o=j+2>>2;n=j+4+i>>3;e=0;while(1){if((e|0)==4)break;j=a+(H(e,b)|0)|0;c[j>>2]=f;c[j+4>>2]=k;e=e+1|0}k=H(l,16843009)|0;i=H(g,16843009)|0;j=H(m,16843009)|0;g=H(h,16843009)|0;h=H(o,16843009)|0;f=H(n,16843009)|0;e=4;while(1){if((e|0)==8){e=8;break}o=a+(H(e,b)|0)|0;c[o>>2]=k;c[o+4>>2]=i;e=e+1|0}while(1){if((e|0)==12){e=12;break}o=a+(H(e,b)|0)|0;c[o>>2]=j;c[o+4>>2]=g;e=e+1|0}while(1){if((e|0)==16)break;o=a+(H(e,b)|0)|0;c[o>>2]=h;c[o+4>>2]=f;e=e+1|0}return}function zt(a,b){a=a|0;b=b|0;tt(a,b);tt(a+(b<<3)|0,b);return}function At(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=4-b|0;e=0;f=0;h=0;while(1){if((e|0)==4)break;j=f+(d[a+(e-b)>>0]|0)|0;i=h+(d[a+(g+e)>>0]|0)|0;e=e+1|0;f=j;h=i}g=H(f+2>>2,16843009)|0;f=H(h+2>>2,16843009)|0;e=0;while(1){if((e|0)==16)break;j=a+(H(e,b)|0)|0;c[j>>2]=g;c[j+4>>2]=f;e=e+1|0}return}function Bt(a,b){a=a|0;b=b|0;At(a,b);Qs(a,0,b);return}function Ct(a,b){a=a|0;b=b|0;yt(a,b);_s(a,0,b);return}function Dt(a,b){a=a|0;b=b|0;zt(a,b);a=a+(b<<2)|0;$s(a,0,b);$s(a+4|0,0,b);return}function Et(a,b){a=a|0;b=b|0;var d=0,e=0;d=0;while(1){if((d|0)==8)break;e=a+(H(d,b)|0)|0;c[e>>2]=2139062143;c[e+4>>2]=2139062143;d=d+1|0}return}function Ft(a,b){a=a|0;b=b|0;var d=0,e=0;d=0;while(1){if((d|0)==8)break;e=a+(H(d,b)|0)|0;c[e>>2]=-2122219135;c[e+4>>2]=-2122219135;d=d+1|0}return}function Gt(a,b){a=a|0;b=b|0;zt(a,b);$s(a,0,b);$s(a+4|0,0,b);return}function Ht(a,b){a=a|0;b=b|0;tt(a,b);$s(a,0,b);$s(a+4|0,0,b);return}function It(a,b){a=a|0;b=b|0;var d=0,e=0;d=0;while(1){if((d|0)==8)break;e=a+(H(d,b)|0)|0;c[e>>2]=-2139062144;c[e+4>>2]=-2139062144;d=d+1|0}return}function Jt(a,b){a=a|0;b=b|0;It(a,b);It(a+(b<<3)|0,b);return}function Kt(a,b){a=a|0;b=b|0;var e=0,f=0;e=0;f=0;while(1){if((f|0)==16){f=0;break}e=e+(d[a+((H(f,b)|0)+-1)>>0]|0)|0;f=f+1|0}while(1){if((f|0)==16)break;e=e+(d[a+(f-b)>>0]|0)|0;f=f+1|0}f=H(e+16>>5,16843009)|0;e=0;while(1){if((e|0)==16)break;c[a>>2]=f;c[a+4>>2]=f;c[a+8>>2]=f;c[a+12>>2]=f;a=a+b|0;e=e+1|0}return}function Lt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=a+(0-b)|0;f=c[e>>2]|0;g=c[e+4>>2]|0;h=c[e+8>>2]|0;e=c[e+12>>2]|0;d=0;while(1){if((d|0)==16)break;i=a+(H(d,b)|0)|0;c[i>>2]=f;c[i+4>>2]=g;c[i+8>>2]=h;c[i+12>>2]=e;d=d+1|0}return}function Mt(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=0;while(1){if((e|0)==16)break;f=H(e,b)|0;g=H(d[a+(f+-1)>>0]|0,16843009)|0;f=a+f|0;c[f>>2]=g;c[f+4>>2]=g;c[f+8>>2]=g;c[f+12>>2]=g;e=e+1|0}return}function Nt(a,b){a=a|0;b=b|0;var d=0;d=0;while(1){if((d|0)==16)break;c[a>>2]=2139062143;c[a+4>>2]=2139062143;c[a+8>>2]=2139062143;c[a+12>>2]=2139062143;a=a+b|0;d=d+1|0}return}function Ot(a,b){a=a|0;b=b|0;lu(a,b,0,0);return}function Pt(a,b){a=a|0;b=b|0;var d=0;d=0;while(1){if((d|0)==16)break;c[a>>2]=-2122219135;c[a+4>>2]=-2122219135;c[a+8>>2]=-2122219135;c[a+12>>2]=-2122219135;a=a+b|0;d=d+1|0}return}function Qt(a,b){a=a|0;b=b|0;var e=0,f=0;e=0;f=0;while(1){if((f|0)==16)break;e=e+(d[a+((H(f,b)|0)+-1)>>0]|0)|0;f=f+1|0}f=H(e+8>>4,16843009)|0;e=0;while(1){if((e|0)==16)break;c[a>>2]=f;c[a+4>>2]=f;c[a+8>>2]=f;c[a+12>>2]=f;a=a+b|0;e=e+1|0}return}function Rt(a,b){a=a|0;b=b|0;var e=0,f=0;e=0;f=0;while(1){if((f|0)==16)break;e=e+(d[a+(f-b)>>0]|0)|0;f=f+1|0}f=H(e+8>>4,16843009)|0;e=0;while(1){if((e|0)==16)break;c[a>>2]=f;c[a+4>>2]=f;c[a+8>>2]=f;c[a+12>>2]=f;a=a+b|0;e=e+1|0}return}function St(a,b){a=a|0;b=b|0;var d=0;d=0;while(1){if((d|0)==16)break;c[a>>2]=-2139062144;c[a+4>>2]=-2139062144;c[a+8>>2]=-2139062144;c[a+12>>2]=-2139062144;a=a+b|0;d=d+1|0}return}function Tt(c,f,g){c=c|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;j=g<<1;k=g*3|0;l=g<<2;i=f;c=c+(0-g)|0;h=0;while(1){if((h|0)==4)break;m=(e[i>>1]|0)+(d[c>>0]|0)|0;a[c+g>>0]=m;m=m+(e[i+8>>1]|0)|0;a[c+j>>0]=m;m=m+(e[i+16>>1]|0)|0;a[c+k>>0]=m;a[c+l>>0]=m+(e[i+24>>1]|0);i=i+2|0;c=c+1|0;h=h+1|0}c=f+32|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(c|0));return}function Ut(c,f,g){c=c|0;f=f|0;g=g|0;var h=0,i=0,j=0;i=f;h=0;while(1){if((h|0)==4)break;j=(e[i>>1]|0)+(d[c+-1>>0]|0)|0;a[c>>0]=j;j=j+(e[i+2>>1]|0)|0;a[c+1>>0]=j;j=j+(e[i+4>>1]|0)|0;a[c+2>>0]=j;a[c+3>>0]=j+(e[i+6>>1]|0);i=i+8|0;c=c+g|0;h=h+1|0}c=f+32|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(c|0));return}function Vt(c,f,g){c=c|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;l=g<<1;m=g*3|0;n=g<<2;o=g*5|0;p=g*6|0;j=g*7|0;k=g<<3;i=f;c=c+(0-g)|0;h=0;while(1){if((h|0)==8)break;q=(e[i>>1]|0)+(d[c>>0]|0)|0;a[c+g>>0]=q;q=q+(e[i+16>>1]|0)|0;a[c+l>>0]=q;q=q+(e[i+32>>1]|0)|0;a[c+m>>0]=q;q=q+(e[i+48>>1]|0)|0;a[c+n>>0]=q;q=q+(e[i+64>>1]|0)|0;a[c+o>>0]=q;q=q+(e[i+80>>1]|0)|0;a[c+p>>0]=q;q=q+(e[i+96>>1]|0)|0;a[c+j>>0]=q;a[c+k>>0]=q+(e[i+112>>1]|0);i=i+2|0;c=c+1|0;h=h+1|0}c=f+128|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(c|0));return}function Wt(c,f,g){c=c|0;f=f|0;g=g|0;var h=0,i=0,j=0;i=f;h=0;while(1){if((h|0)==8)break;j=(e[i>>1]|0)+(d[c+-1>>0]|0)|0;a[c>>0]=j;j=j+(e[i+2>>1]|0)|0;a[c+1>>0]=j;j=j+(e[i+4>>1]|0)|0;a[c+2>>0]=j;j=j+(e[i+6>>1]|0)|0;a[c+3>>0]=j;j=j+(e[i+8>>1]|0)|0;a[c+4>>0]=j;j=j+(e[i+10>>1]|0)|0;a[c+5>>0]=j;j=j+(e[i+12>>1]|0)|0;a[c+6>>0]=j;a[c+7>>0]=j+(e[i+14>>1]|0);i=i+16|0;c=c+g|0;h=h+1|0}c=f+128|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(c|0));return}function Xt(c,f,g,h,i){c=c|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);q=r;t=d[c+(0-i)>>0]|0;s=d[c+(1-i)>>0]|0;j=d[c+(2-i)>>0]|0;p=d[c+(3-i)>>0]|0;o=d[c+(4-i)>>0]|0;n=d[c+(5-i)>>0]|0;m=d[c+(6-i)>>0]|0;l=d[c+(7-i)>>0]|0;k=(m+2+(d[c+((h|0?8:7)-i)>>0]|0)+(l<<1)|0)>>>2;a[q>>0]=((d[c+((((g|0)!=0)<<31>>31)-i)>>0]|0)+2+(t<<1)+s|0)>>>2;a[q+1>>0]=(t+2+(s<<1)+j|0)>>>2;a[q+2>>0]=(s+2+(j<<1)+p|0)>>>2;a[q+3>>0]=(j+2+(p<<1)+o|0)>>>2;a[q+4>>0]=(p+2+(o<<1)+n|0)>>>2;a[q+5>>0]=(o+2+(n<<1)+m|0)>>>2;a[q+6>>0]=(n+2+(m<<1)+l|0)>>>2;a[q+7>>0]=k;k=i<<1;l=i*3|0;m=i<<2;n=i*5|0;o=i*6|0;p=i*7|0;j=0;g=c;h=f;while(1){if((j|0)==8)break;t=(e[h>>1]|0)+(d[q+j>>0]|0)|0;a[g>>0]=t;t=t+(e[h+16>>1]|0)|0;a[g+i>>0]=t;t=t+(e[h+32>>1]|0)|0;a[g+k>>0]=t;t=t+(e[h+48>>1]|0)|0;a[g+l>>0]=t;t=t+(e[h+64>>1]|0)|0;a[g+m>>0]=t;t=t+(e[h+80>>1]|0)|0;a[g+n>>0]=t;t=t+(e[h+96>>1]|0)|0;a[g+o>>0]=t;a[g+p>>0]=t+(e[h+112>>1]|0);j=j+1|0;g=g+1|0;h=h+2|0}g=f+128|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(g|0));$c=r;return}function Yt(c,f,g,h,i){c=c|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;l=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);k=l;r=d[c+((H(((g|0)!=0)<<31>>31,i)|0)+-1)>>0]|0;q=d[c+-1>>0]|0;p=d[c+(i+-1)>>0]|0;o=d[c+((i<<1)+-1)>>0]|0;n=d[c+((i*3|0)+-1)>>0]|0;m=d[c+((i<<2)+-1)>>0]|0;g=d[c+((i*5|0)+-1)>>0]|0;h=d[c+((i*6|0)+-1)>>0]|0;j=d[c+((i*7|0)+-1)>>0]|0;a[k>>0]=(r+2+(q<<1)+p|0)>>>2;a[k+1>>0]=(q+2+(p<<1)+o|0)>>>2;a[k+2>>0]=(p+2+(o<<1)+n|0)>>>2;a[k+3>>0]=(o+2+(n<<1)+m|0)>>>2;a[k+4>>0]=(n+2+(m<<1)+g|0)>>>2;a[k+5>>0]=(m+2+(g<<1)+h|0)>>>2;a[k+6>>0]=(g+2+(h<<1)+j|0)>>>2;a[k+7>>0]=(h+2+(j*3|0)|0)>>>2;j=0;h=c;g=f;while(1){if((j|0)==8)break;r=(e[g>>1]|0)+(d[k+j>>0]|0)|0;a[h>>0]=r;r=r+(e[g+2>>1]|0)|0;a[h+1>>0]=r;r=r+(e[g+4>>1]|0)|0;a[h+2>>0]=r;r=r+(e[g+6>>1]|0)|0;a[h+3>>0]=r;r=r+(e[g+8>>1]|0)|0;a[h+4>>0]=r;r=r+(e[g+10>>1]|0)|0;a[h+5>>0]=r;r=r+(e[g+12>>1]|0)|0;a[h+6>>0]=r;a[h+7>>0]=r+(e[g+14>>1]|0);j=j+1|0;h=h+i|0;g=g+16|0}h=f+128|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(h|0));$c=l;return}function Zt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;Tt(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<4<<1)|0,e);f=f+1|0}return}function _t(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4){f=4;break}Tt(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<4<<1)|0,e);f=f+1|0}while(1){if((f|0)==8)break;Tt(a+(c[b+(f+4<<2)>>2]|0)|0,d+(f<<4<<1)|0,e);f=f+1|0}return}function $t(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;Ut(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<4<<1)|0,e);f=f+1|0}return}function au(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4){f=4;break}Ut(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<4<<1)|0,e);f=f+1|0}while(1){if((f|0)==8)break;Ut(a+(c[b+(f+4<<2)>>2]|0)|0,d+(f<<4<<1)|0,e);f=f+1|0}return}function bu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==16)break;Tt(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<4<<1)|0,e);f=f+1|0}return}function cu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==16)break;Es(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function du(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==16)break;pr(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function eu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==16)break;aq(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function fu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==16)break;No(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function gu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==16)break;Ut(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<4<<1)|0,e);f=f+1|0}return}function hu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==16)break;Fs(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function iu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==16)break;qr(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function ju(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==16)break;bq(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function ku(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==16)break;Oo(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function lu(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;k=0-c|0;l=b+7+k|0;i=b+(c<<3)+-1|0;h=i+(0-(c<<1))|0;j=(c*15|0)+-1|0;m=~c;g=2;n=(d[i>>0]|0)-(d[h>>0]|0)|0;o=(d[l+1>>0]|0)-(d[l+-1>>0]|0)|0;while(1){if((g|0)==9)break;p=i+c|0;q=h+k|0;r=(H((d[l+g>>0]|0)-(d[l+(0-g)>>0]|0)|0,g)|0)+o|0;s=(H((d[p>>0]|0)-(d[q>>0]|0)|0,g)|0)+n|0;g=g+1|0;n=s;o=r;h=q;i=p}h=b+j|0;g=b+m|0;do if(!e)if(!f){f=(n*5|0)+32>>6;k=(o*5|0)+32>>6;break}else{f=(n>>2)+n>>4;k=(o>>2)+o>>4;break}else{f=(((o|0)/4|0)*5|0)/16|0;k=(((n|0)/4|0)*5|0)/16|0}while(0);l=k<<1;m=k*3|0;e=k<<2;i=(H(f+k|0,-7)|0)+16+((d[g+16>>0]|0)+(d[h>>0]|0)<<4)|0;j=16;while(1){if((j|0)>0){g=i;h=-16}else break;while(1){if((h|0)>=0)break;s=g>>5;a[b+(h+16)>>0]=s>>>0>255?(s^-2147483648)>>31:s;s=g+k>>5;a[b+(h+17)>>0]=s>>>0>255?(s^-2147483648)>>31:s;s=g+l>>5;a[b+(h+18)>>0]=s>>>0>255?(s^-2147483648)>>31:s;s=g+m>>5;a[b+(h+19)>>0]=s>>>0>255?(s^-2147483648)>>31:s;g=g+e|0;h=h+4|0}i=i+f|0;j=j+-1|0;b=b+c|0}return}function mu(a,c){a=a|0;c=c|0;var d=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;p=c>>1;h=0-p|0;i=a+14+(h<<1)|0;g=a+(p<<3<<1)+-2|0;o=p<<1;f=g+(0-o<<1)|0;n=a+((p*30|0)+-2)|0;o=a+(-2-o)|0;c=2;j=(e[g>>1]|0)-(e[f>>1]|0)|0;d=(e[i+2>>1]|0)-(e[i+-2>>1]|0)|0;while(1){if((c|0)==9)break;m=g+(p<<1)|0;l=f+(h<<1)|0;k=(H((e[i+(c<<1)>>1]|0)-(e[i+(0-c<<1)>>1]|0)|0,c)|0)+d|0;q=(H((e[m>>1]|0)-(e[l>>1]|0)|0,c)|0)+j|0;c=c+1|0;j=q;d=k;f=l;g=m}m=(d*5|0)+32>>6;i=(j*5|0)+32>>6;j=m<<1;k=m*3|0;l=m<<2;g=(H(i+m|0,-7)|0)+16+((e[o+32>>1]|0)+(e[n>>1]|0)<<4)|0;h=16;f=a;while(1){if((h|0)>0){c=g;d=-16}else break;while(1){if((d|0)>=0)break;q=c>>5;b[f+(d+16<<1)>>1]=q>>>0<16384?q:0-q>>31&16383;q=c+m>>5;b[f+(d+17<<1)>>1]=q>>>0<16384?q:0-q>>31&16383;q=c+j>>5;b[f+(d+18<<1)>>1]=q>>>0<16384?q:0-q>>31&16383;q=c+k>>5;b[f+(d+19<<1)>>1]=q>>>0<16384?q:0-q>>31&16383;c=c+l|0;d=d+4|0}g=g+i|0;h=h+-1|0;f=f+(p<<1)|0}return}function nu(a,c){a=a|0;c=c|0;var d=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;p=c>>1;h=0-p|0;i=a+14+(h<<1)|0;g=a+(p<<3<<1)+-2|0;o=p<<1;f=g+(0-o<<1)|0;n=a+((p*30|0)+-2)|0;o=a+(-2-o)|0;c=2;j=(e[g>>1]|0)-(e[f>>1]|0)|0;d=(e[i+2>>1]|0)-(e[i+-2>>1]|0)|0;while(1){if((c|0)==9)break;m=g+(p<<1)|0;l=f+(h<<1)|0;k=(H((e[i+(c<<1)>>1]|0)-(e[i+(0-c<<1)>>1]|0)|0,c)|0)+d|0;q=(H((e[m>>1]|0)-(e[l>>1]|0)|0,c)|0)+j|0;c=c+1|0;j=q;d=k;f=l;g=m}m=(d*5|0)+32>>6;i=(j*5|0)+32>>6;j=m<<1;k=m*3|0;l=m<<2;g=(H(i+m|0,-7)|0)+16+((e[o+32>>1]|0)+(e[n>>1]|0)<<4)|0;h=16;f=a;while(1){if((h|0)>0){c=g;d=-16}else break;while(1){if((d|0)>=0)break;q=c>>5;b[f+(d+16<<1)>>1]=q>>>0<4096?q:0-q>>31&4095;q=c+m>>5;b[f+(d+17<<1)>>1]=q>>>0<4096?q:0-q>>31&4095;q=c+j>>5;b[f+(d+18<<1)>>1]=q>>>0<4096?q:0-q>>31&4095;q=c+k>>5;b[f+(d+19<<1)>>1]=q>>>0<4096?q:0-q>>31&4095;c=c+l|0;d=d+4|0}g=g+i|0;h=h+-1|0;f=f+(p<<1)|0}return}function ou(a,c){a=a|0;c=c|0;var d=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;p=c>>1;h=0-p|0;i=a+14+(h<<1)|0;g=a+(p<<3<<1)+-2|0;o=p<<1;f=g+(0-o<<1)|0;n=a+((p*30|0)+-2)|0;o=a+(-2-o)|0;c=2;j=(e[g>>1]|0)-(e[f>>1]|0)|0;d=(e[i+2>>1]|0)-(e[i+-2>>1]|0)|0;while(1){if((c|0)==9)break;m=g+(p<<1)|0;l=f+(h<<1)|0;k=(H((e[i+(c<<1)>>1]|0)-(e[i+(0-c<<1)>>1]|0)|0,c)|0)+d|0;q=(H((e[m>>1]|0)-(e[l>>1]|0)|0,c)|0)+j|0;c=c+1|0;j=q;d=k;f=l;g=m}m=(d*5|0)+32>>6;i=(j*5|0)+32>>6;j=m<<1;k=m*3|0;l=m<<2;g=(H(i+m|0,-7)|0)+16+((e[o+32>>1]|0)+(e[n>>1]|0)<<4)|0;h=16;f=a;while(1){if((h|0)>0){c=g;d=-16}else break;while(1){if((d|0)>=0)break;q=c>>5;b[f+(d+16<<1)>>1]=q>>>0<1024?q:0-q>>31&1023;q=c+m>>5;b[f+(d+17<<1)>>1]=q>>>0<1024?q:0-q>>31&1023;q=c+j>>5;b[f+(d+18<<1)>>1]=q>>>0<1024?q:0-q>>31&1023;q=c+k>>5;b[f+(d+19<<1)>>1]=q>>>0<1024?q:0-q>>31&1023;c=c+l|0;d=d+4|0}g=g+i|0;h=h+-1|0;f=f+(p<<1)|0}return}function pu(a,c){a=a|0;c=c|0;var d=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;p=c>>1;h=0-p|0;i=a+14+(h<<1)|0;g=a+(p<<3<<1)+-2|0;o=p<<1;f=g+(0-o<<1)|0;n=a+((p*30|0)+-2)|0;o=a+(-2-o)|0;c=2;j=(e[g>>1]|0)-(e[f>>1]|0)|0;d=(e[i+2>>1]|0)-(e[i+-2>>1]|0)|0;while(1){if((c|0)==9)break;m=g+(p<<1)|0;l=f+(h<<1)|0;k=(H((e[i+(c<<1)>>1]|0)-(e[i+(0-c<<1)>>1]|0)|0,c)|0)+d|0;q=(H((e[m>>1]|0)-(e[l>>1]|0)|0,c)|0)+j|0;c=c+1|0;j=q;d=k;f=l;g=m}m=(d*5|0)+32>>6;i=(j*5|0)+32>>6;j=m<<1;k=m*3|0;l=m<<2;g=(H(i+m|0,-7)|0)+16+((e[o+32>>1]|0)+(e[n>>1]|0)<<4)|0;h=16;f=a;while(1){if((h|0)>0){c=g;d=-16}else break;while(1){if((d|0)>=0)break;q=c>>5;b[f+(d+16<<1)>>1]=q>>>0<512?q:0-q>>31&511;q=c+m>>5;b[f+(d+17<<1)>>1]=q>>>0<512?q:0-q>>31&511;q=c+j>>5;b[f+(d+18<<1)>>1]=q>>>0<512?q:0-q>>31&511;q=c+k>>5;b[f+(d+19<<1)>>1]=q>>>0<512?q:0-q>>31&511;c=c+l|0;d=d+4|0}g=g+i|0;h=h+-1|0;f=f+(p<<1)|0}return}function qu(b,c,e,f,g,h,i){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=d[b+(0-e)>>0]|0;n=d[b+(1-e)>>0]|0;m=d[b+(2-e)>>0]|0;l=d[b+(3-e)>>0]|0;k=d[c>>0]|0;j=d[c+1>>0]|0;c=d[c+2>>0]|0;o=n<<1;a[b>>0]=(f+4+h+o+(p+g<<1)|0)>>>3;q=(n+1+m|0)>>>1&255;f=e<<1;a[b+f>>0]=q;a[b+1>>0]=q;q=(m+1+l|0)>>>1&255;a[b+(f|1)>>0]=q;a[b+2>>0]=q;q=(l+1+k|0)>>>1&255;a[b+(f+2)>>0]=q;a[b+3>>0]=q;a[b+(f+3)>>0]=(k+1+j|0)>>>1;a[b+e>>0]=(g+4+(h<<1)+i+p+o+m|0)>>>3;h=(n+2+(m<<1)+l|0)>>>2&255;i=e*3|0;a[b+i>>0]=h;a[b+(e+1)>>0]=h;h=(m+2+(l<<1)+k|0)>>>2&255;a[b+(i+1)>>0]=h;a[b+(e+2)>>0]=h;h=(l+2+(k<<1)+j|0)>>>2&255;a[b+(i+2)>>0]=h;a[b+(e+3)>>0]=h;a[b+(i+3)>>0]=(k+2+(j<<1)+c|0)>>>2;return}function ru(a,b,c){a=a|0;b=b|0;c=c|0;rI(a,b,c);return}function su(a,b,c){a=a|0;b=b|0;c=c|0;qI(a,b,c);return}function tu(a,b,c){a=a|0;b=b|0;c=c|0;pI(a,b,c);return}function uu(a,b,c){a=a|0;b=b|0;c=c|0;oI(a,b,c);return}function vu(a,b,c){a=a|0;b=b|0;c=c|0;nI(a,b,c);return}function wu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+512|0;if(($c|0)>=(ad|0))N(512);e=d;LG(e,b,32,c);mI(a,b,e,c,c);$c=d;return}function xu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+512|0;if(($c|0)>=(ad|0))N(512);e=d;HG(e,b,32,c);lI(a,b,e,c,c);$c=d;return}function yu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+512|0;if(($c|0)>=(ad|0))N(512);e=d;DG(e,b,32,c);kI(a,b,e,c,c);$c=d;return}function zu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+256|0;if(($c|0)>=(ad|0))N(256);e=d;zG(e,b,16,c);jI(a,b,e,c,c);$c=d;return}function Au(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+512|0;if(($c|0)>=(ad|0))N(512);e=d;vG(e,b,32,c);iI(a,b,e,c,c);$c=d;return}function Bu(a,b,c){a=a|0;b=b|0;c=c|0;LG(a,b,c,c);return}function Cu(a,b,c){a=a|0;b=b|0;c=c|0;HG(a,b,c,c);return}function Du(a,b,c){a=a|0;b=b|0;c=c|0;DG(a,b,c,c);return}function Eu(a,b,c){a=a|0;b=b|0;c=c|0;zG(a,b,c,c);return}function Fu(a,b,c){a=a|0;b=b|0;c=c|0;vG(a,b,c,c);return}function Gu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+512|0;if(($c|0)>=(ad|0))N(512);e=d;LG(e,b,32,c);mI(a,b+2|0,e,c,c);$c=d;return}function Hu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+512|0;if(($c|0)>=(ad|0))N(512);e=d;HG(e,b,32,c);lI(a,b+2|0,e,c,c);$c=d;return}function Iu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+512|0;if(($c|0)>=(ad|0))N(512);e=d;DG(e,b,32,c);kI(a,b+2|0,e,c,c);$c=d;return}function Ju(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+256|0;if(($c|0)>=(ad|0))N(256);e=d;zG(e,b,16,c);jI(a,b+1|0,e,c,c);$c=d;return}function Ku(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+512|0;if(($c|0)>=(ad|0))N(512);e=d;vG(e,b,32,c);iI(a,b+2|0,e,c,c);$c=d;return}function Lu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1184|0;if(($c|0)>=(ad|0))N(1184);g=d+512|0;e=d;f=g+64|0;MG(g,b+(0-(c<<1))|0,c);NG(e,f,32);mI(a,f,e,c,32);$c=d;return}function Mu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1184|0;if(($c|0)>=(ad|0))N(1184);g=d+512|0;e=d;f=g+64|0;IG(g,b+(0-(c<<1))|0,c);JG(e,f,32);lI(a,f,e,c,32);$c=d;return}function Nu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1184|0;if(($c|0)>=(ad|0))N(1184);g=d+512|0;e=d;f=g+64|0;EG(g,b+(0-(c<<1))|0,c);FG(e,f,32);kI(a,f,e,c,32);$c=d;return}function Ou(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+592|0;if(($c|0)>=(ad|0))N(592);g=d+256|0;e=d;f=g+32|0;AG(g,b+(0-(c<<1))|0,c);BG(e,f,16);jI(a,f,e,c,16);$c=d;return}function Pu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1184|0;if(($c|0)>=(ad|0))N(1184);g=d+512|0;e=d;f=g+64|0;wG(g,b+(0-(c<<1))|0,c);xG(e,f,32);iI(a,f,e,c,32);$c=d;return}function Qu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1696|0;if(($c|0)>=(ad|0))N(1696);g=d+1024|0;f=d+512|0;e=d;LG(f,b,32,c);MG(g,b+(0-(c<<1))|0,c);NG(e,g+64|0,32);mI(a,f,e,c,32);$c=d;return}function Ru(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1696|0;if(($c|0)>=(ad|0))N(1696);g=d+1024|0;f=d+512|0;e=d;HG(f,b,32,c);IG(g,b+(0-(c<<1))|0,c);JG(e,g+64|0,32);lI(a,f,e,c,32);$c=d;return}function Su(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1696|0;if(($c|0)>=(ad|0))N(1696);g=d+1024|0;f=d+512|0;e=d;DG(f,b,32,c);EG(g,b+(0-(c<<1))|0,c);FG(e,g+64|0,32);kI(a,f,e,c,32);$c=d;return}function Tu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+848|0;if(($c|0)>=(ad|0))N(848);g=d+512|0;f=d+256|0;e=d;zG(f,b,16,c);AG(g,b+(0-(c<<1))|0,c);BG(e,g+32|0,16);jI(a,f,e,c,16);$c=d;return}function Uu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1696|0;if(($c|0)>=(ad|0))N(1696);g=d+1024|0;f=d+512|0;e=d;vG(f,b,32,c);wG(g,b+(0-(c<<1))|0,c);xG(e,g+64|0,32);iI(a,f,e,c,32);$c=d;return}function Vu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+3712|0;if(($c|0)>=(ad|0))N(3712);f=d+3200|0;e=d+2688|0;LG(f,b,32,c);TG(e,d,b,32,c);mI(a,f,e,c,32);$c=d;return}function Wu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+3712|0;if(($c|0)>=(ad|0))N(3712);f=d+3200|0;e=d+2688|0;HG(f,b,32,c);SG(e,d,b,32,c);lI(a,f,e,c,32);$c=d;return}function Xu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+2368|0;if(($c|0)>=(ad|0))N(2368);f=d+1856|0;e=d+1344|0;DG(f,b,32,c);RG(e,d,b,32,c);kI(a,f,e,c,32);$c=d;return}function Yu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+1184|0;if(($c|0)>=(ad|0))N(1184);f=d+928|0;e=d+672|0;zG(f,b,16,c);QG(e,d,b,16,c);jI(a,f,e,c,16);$c=d;return}function Zu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+2368|0;if(($c|0)>=(ad|0))N(2368);f=d+1856|0;e=d+1344|0;vG(f,b,32,c);PG(e,d,b,32,c);iI(a,f,e,c,32);$c=d;return}function _u(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1696|0;if(($c|0)>=(ad|0))N(1696);g=d+1024|0;f=d+512|0;e=d;LG(f,b,32,c);MG(g,b+(0-(c<<1))+2|0,c);NG(e,g+64|0,32);mI(a,f,e,c,32);$c=d;return}function $u(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1696|0;if(($c|0)>=(ad|0))N(1696);g=d+1024|0;f=d+512|0;e=d;HG(f,b,32,c);IG(g,b+(0-(c<<1))+2|0,c);JG(e,g+64|0,32);lI(a,f,e,c,32);$c=d;return}function av(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1696|0;if(($c|0)>=(ad|0))N(1696);g=d+1024|0;f=d+512|0;e=d;DG(f,b,32,c);EG(g,b+(0-(c<<1))+2|0,c);FG(e,g+64|0,32);kI(a,f,e,c,32);$c=d;return}function bv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+848|0;if(($c|0)>=(ad|0))N(848);g=d+512|0;f=d+256|0;e=d;zG(f,b,16,c);AG(g,b+(0-(c<<1))+1|0,c);BG(e,g+32|0,16);jI(a,f,e,c,16);$c=d;return}function cv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1696|0;if(($c|0)>=(ad|0))N(1696);g=d+1024|0;f=d+512|0;e=d;vG(f,b,32,c);wG(g,b+(0-(c<<1))+2|0,c);xG(e,g+64|0,32);iI(a,f,e,c,32);$c=d;return}function dv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+672|0;if(($c|0)>=(ad|0))N(672);e=d;MG(e,b+(0-(c<<1))|0,c);NG(a,e+64|0,c);$c=d;return}function ev(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+672|0;if(($c|0)>=(ad|0))N(672);e=d;IG(e,b+(0-(c<<1))|0,c);JG(a,e+64|0,c);$c=d;return}function fv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+672|0;if(($c|0)>=(ad|0))N(672);e=d;EG(e,b+(0-(c<<1))|0,c);FG(a,e+64|0,c);$c=d;return}function gv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+336|0;if(($c|0)>=(ad|0))N(336);e=d;AG(e,b+(0-(c<<1))|0,c);BG(a,e+32|0,c);$c=d;return}function hv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+672|0;if(($c|0)>=(ad|0))N(672);e=d;wG(e,b+(0-(c<<1))|0,c);xG(a,e+64|0,c);$c=d;return}function iv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+4384|0;if(($c|0)>=(ad|0))N(4384);g=d+3712|0;f=d+3200|0;e=d+2688|0;MG(g,b+(0-(c<<1))|0,c);NG(f,g+64|0,32);TG(e,d,b,32,c);mI(a,f,e,c,32);$c=d;return}function jv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+4384|0;if(($c|0)>=(ad|0))N(4384);g=d+3712|0;f=d+3200|0;e=d+2688|0;IG(g,b+(0-(c<<1))|0,c);JG(f,g+64|0,32);SG(e,d,b,32,c);lI(a,f,e,c,32);$c=d;return}function kv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+3040|0;if(($c|0)>=(ad|0))N(3040);g=d+2368|0;f=d+1856|0;e=d+1344|0;EG(g,b+(0-(c<<1))|0,c);FG(f,g+64|0,32);RG(e,d,b,32,c);kI(a,f,e,c,32);$c=d;return}function lv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1520|0;if(($c|0)>=(ad|0))N(1520);g=d+1184|0;f=d+928|0;e=d+672|0;AG(g,b+(0-(c<<1))|0,c);BG(f,g+32|0,16);QG(e,d,b,16,c);jI(a,f,e,c,16);$c=d;return}function mv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+3040|0;if(($c|0)>=(ad|0))N(3040);g=d+2368|0;f=d+1856|0;e=d+1344|0;wG(g,b+(0-(c<<1))|0,c);xG(f,g+64|0,32);PG(e,d,b,32,c);iI(a,f,e,c,32);$c=d;return}function nv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+2688|0;if(($c|0)>=(ad|0))N(2688);TG(a,d,b,c,c);$c=d;return}function ov(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+2688|0;if(($c|0)>=(ad|0))N(2688);SG(a,d,b,c,c);$c=d;return}function pv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+1344|0;if(($c|0)>=(ad|0))N(1344);RG(a,d,b,c,c);$c=d;return}function qv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+672|0;if(($c|0)>=(ad|0))N(672);QG(a,d,b,c,c);$c=d;return}function rv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+1344|0;if(($c|0)>=(ad|0))N(1344);PG(a,d,b,c,c);$c=d;return}function sv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+4384|0;if(($c|0)>=(ad|0))N(4384);g=d+3712|0;f=d+3200|0;e=d+2688|0;MG(g,b+(0-(c<<1))+2|0,c);NG(f,g+64|0,32);TG(e,d,b,32,c);mI(a,f,e,c,32);$c=d;return}function tv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+4384|0;if(($c|0)>=(ad|0))N(4384);g=d+3712|0;f=d+3200|0;e=d+2688|0;IG(g,b+(0-(c<<1))+2|0,c);JG(f,g+64|0,32);SG(e,d,b,32,c);lI(a,f,e,c,32);$c=d;return}function uv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+3040|0;if(($c|0)>=(ad|0))N(3040);g=d+2368|0;f=d+1856|0;e=d+1344|0;EG(g,b+(0-(c<<1))+2|0,c);FG(f,g+64|0,32);RG(e,d,b,32,c);kI(a,f,e,c,32);$c=d;return}function vv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1520|0;if(($c|0)>=(ad|0))N(1520);g=d+1184|0;f=d+928|0;e=d+672|0;AG(g,b+(0-(c<<1))+1|0,c);BG(f,g+32|0,16);QG(e,d,b,16,c);jI(a,f,e,c,16);$c=d;return}function wv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+3040|0;if(($c|0)>=(ad|0))N(3040);g=d+2368|0;f=d+1856|0;e=d+1344|0;wG(g,b+(0-(c<<1))+2|0,c);xG(f,g+64|0,32);PG(e,d,b,32,c);iI(a,f,e,c,32);$c=d;return}function xv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+1184|0;if(($c|0)>=(ad|0))N(1184);f=d+512|0;e=d;MG(f,b+(0-(c<<1))|0,c);NG(e,f+64|0,32);mI(a,f+96|0,e,c,32);$c=d;return}function yv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+1184|0;if(($c|0)>=(ad|0))N(1184);f=d+512|0;e=d;IG(f,b+(0-(c<<1))|0,c);JG(e,f+64|0,32);lI(a,f+96|0,e,c,32);$c=d;return}function zv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+1184|0;if(($c|0)>=(ad|0))N(1184);f=d+512|0;e=d;EG(f,b+(0-(c<<1))|0,c);FG(e,f+64|0,32);kI(a,f+96|0,e,c,32);$c=d;return}function Av(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+592|0;if(($c|0)>=(ad|0))N(592);f=d+256|0;e=d;AG(f,b+(0-(c<<1))|0,c);BG(e,f+32|0,16);jI(a,f+48|0,e,c,16);$c=d;return}function Bv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+1184|0;if(($c|0)>=(ad|0))N(1184);f=d+512|0;e=d;wG(f,b+(0-(c<<1))|0,c);xG(e,f+64|0,32);iI(a,f+96|0,e,c,32);$c=d;return}function Cv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1696|0;if(($c|0)>=(ad|0))N(1696);g=d+1024|0;f=d+512|0;e=d;LG(f,b+c|0,32,c);MG(g,b+(0-(c<<1))|0,c);NG(e,g+64|0,32);mI(a,f,e,c,32);$c=d;return}function Dv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1696|0;if(($c|0)>=(ad|0))N(1696);g=d+1024|0;f=d+512|0;e=d;HG(f,b+c|0,32,c);IG(g,b+(0-(c<<1))|0,c);JG(e,g+64|0,32);lI(a,f,e,c,32);$c=d;return}function Ev(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1696|0;if(($c|0)>=(ad|0))N(1696);g=d+1024|0;f=d+512|0;e=d;DG(f,b+c|0,32,c);EG(g,b+(0-(c<<1))|0,c);FG(e,g+64|0,32);kI(a,f,e,c,32);$c=d;return}function Fv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+848|0;if(($c|0)>=(ad|0))N(848);g=d+512|0;f=d+256|0;e=d;zG(f,b+c|0,16,c);AG(g,b+(0-(c<<1))|0,c);BG(e,g+32|0,16);jI(a,f,e,c,16);$c=d;return}function Gv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1696|0;if(($c|0)>=(ad|0))N(1696);g=d+1024|0;f=d+512|0;e=d;vG(f,b+c|0,32,c);wG(g,b+(0-(c<<1))|0,c);xG(e,g+64|0,32);iI(a,f,e,c,32);$c=d;return}function Hv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+3712|0;if(($c|0)>=(ad|0))N(3712);f=d+3200|0;e=d+2688|0;LG(f,b+c|0,32,c);TG(e,d,b,32,c);mI(a,f,e,c,32);$c=d;return}function Iv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+3712|0;if(($c|0)>=(ad|0))N(3712);f=d+3200|0;e=d+2688|0;HG(f,b+c|0,32,c);SG(e,d,b,32,c);lI(a,f,e,c,32);$c=d;return}function Jv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+2368|0;if(($c|0)>=(ad|0))N(2368);f=d+1856|0;e=d+1344|0;DG(f,b+c|0,32,c);RG(e,d,b,32,c);kI(a,f,e,c,32);$c=d;return}function Kv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+1184|0;if(($c|0)>=(ad|0))N(1184);f=d+928|0;e=d+672|0;zG(f,b+c|0,16,c);QG(e,d,b,16,c);jI(a,f,e,c,16);$c=d;return}function Lv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+2368|0;if(($c|0)>=(ad|0))N(2368);f=d+1856|0;e=d+1344|0;vG(f,b+c|0,32,c);PG(e,d,b,32,c);iI(a,f,e,c,32);$c=d;return}function Mv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1696|0;if(($c|0)>=(ad|0))N(1696);g=d+1024|0;f=d+512|0;e=d;LG(f,b+c|0,32,c);MG(g,b+(0-(c<<1))+2|0,c);NG(e,g+64|0,32);mI(a,f,e,c,32);$c=d;return}function Nv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1696|0;if(($c|0)>=(ad|0))N(1696);g=d+1024|0;f=d+512|0;e=d;HG(f,b+c|0,32,c);IG(g,b+(0-(c<<1))+2|0,c);JG(e,g+64|0,32);lI(a,f,e,c,32);$c=d;return}function Ov(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1696|0;if(($c|0)>=(ad|0))N(1696);g=d+1024|0;f=d+512|0;e=d;DG(f,b+c|0,32,c);EG(g,b+(0-(c<<1))+2|0,c);FG(e,g+64|0,32);kI(a,f,e,c,32);$c=d;return}function Pv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+848|0;if(($c|0)>=(ad|0))N(848);g=d+512|0;f=d+256|0;e=d;zG(f,b+c|0,16,c);AG(g,b+(0-(c<<1))+1|0,c);BG(e,g+32|0,16);jI(a,f,e,c,16);$c=d;return}function Qv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1696|0;if(($c|0)>=(ad|0))N(1696);g=d+1024|0;f=d+512|0;e=d;vG(f,b+c|0,32,c);wG(g,b+(0-(c<<1))+2|0,c);xG(e,g+64|0,32);iI(a,f,e,c,32);$c=d;return}function Rv(a,b,c){a=a|0;b=b|0;c=c|0;hI(a,b,c,8);return}function Sv(a,b,c){a=a|0;b=b|0;c=c|0;gI(a,b,c,8);return}function Tv(a,b,c){a=a|0;b=b|0;c=c|0;fI(a,b,c,8);return}function Uv(a,b,c){a=a|0;b=b|0;c=c|0;eI(a,b,c,8);return}function Vv(a,b,c){a=a|0;b=b|0;c=c|0;dI(a,b,c,8);return}function Wv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+128|0;if(($c|0)>=(ad|0))N(128);e=d;UF(e,b,16,c);cI(a,b,e,c,c,16,8);$c=d;return}function Xv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+128|0;if(($c|0)>=(ad|0))N(128);e=d;QF(e,b,16,c);bI(a,b,e,c,c,16,8);$c=d;return}function Yv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+128|0;if(($c|0)>=(ad|0))N(128);e=d;MF(e,b,16,c);aI(a,b,e,c,c,16,8);$c=d;return}function Zv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+64|0;if(($c|0)>=(ad|0))N(64);e=d;IF(e,b,8,c);$H(a,b,e,c,c,8,8);$c=d;return}function _v(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+128|0;if(($c|0)>=(ad|0))N(128);e=d;EF(e,b,16,c);_H(a,b,e,c,c,16,8);$c=d;return}function $v(a,b,c){a=a|0;b=b|0;c=c|0;UF(a,b,c,c);return}function aw(a,b,c){a=a|0;b=b|0;c=c|0;QF(a,b,c,c);return}function bw(a,b,c){a=a|0;b=b|0;c=c|0;MF(a,b,c,c);return}function cw(a,b,c){a=a|0;b=b|0;c=c|0;IF(a,b,c,c);return}function dw(a,b,c){a=a|0;b=b|0;c=c|0;EF(a,b,c,c);return}function ew(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+128|0;if(($c|0)>=(ad|0))N(128);e=d;UF(e,b,16,c);cI(a,b+2|0,e,c,c,16,8);$c=d;return}function fw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+128|0;if(($c|0)>=(ad|0))N(128);e=d;QF(e,b,16,c);bI(a,b+2|0,e,c,c,16,8);$c=d;return}function gw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+128|0;if(($c|0)>=(ad|0))N(128);e=d;MF(e,b,16,c);aI(a,b+2|0,e,c,c,16,8);$c=d;return}function hw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+64|0;if(($c|0)>=(ad|0))N(64);e=d;IF(e,b,8,c);$H(a,b+1|0,e,c,c,8,8);$c=d;return}function iw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+128|0;if(($c|0)>=(ad|0))N(128);e=d;EF(e,b,16,c);_H(a,b+2|0,e,c,c,16,8);$c=d;return}function jw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+336|0;if(($c|0)>=(ad|0))N(336);g=d+128|0;e=d;f=g+32|0;VF(g,b+(0-(c<<1))|0,c);WF(e,f,16,16);cI(a,f,e,c,16,16,8);$c=d;return}function kw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+336|0;if(($c|0)>=(ad|0))N(336);g=d+128|0;e=d;f=g+32|0;RF(g,b+(0-(c<<1))|0,c);SF(e,f,16,16);bI(a,f,e,c,16,16,8);$c=d;return}function lw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+336|0;if(($c|0)>=(ad|0))N(336);g=d+128|0;e=d;f=g+32|0;NF(g,b+(0-(c<<1))|0,c);OF(e,f,16,16);aI(a,f,e,c,16,16,8);$c=d;return}function mw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+176|0;if(($c|0)>=(ad|0))N(176);g=d+64|0;e=d;f=g+16|0;JF(g,b+(0-(c<<1))|0,c);KF(e,f,8,8);$H(a,f,e,c,8,8,8);$c=d;return}function nw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+336|0;if(($c|0)>=(ad|0))N(336);g=d+128|0;e=d;f=g+32|0;FF(g,b+(0-(c<<1))|0,c);GF(e,f,16,16);_H(a,f,e,c,16,16,8);$c=d;return}function ow(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+464|0;if(($c|0)>=(ad|0))N(464);g=d+256|0;f=d+128|0;e=d;UF(f,b,16,c);VF(g,b+(0-(c<<1))|0,c);WF(e,g+32|0,16,16);cI(a,f,e,c,16,16,8);$c=d;return}function pw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+464|0;if(($c|0)>=(ad|0))N(464);g=d+256|0;f=d+128|0;e=d;QF(f,b,16,c);RF(g,b+(0-(c<<1))|0,c);SF(e,g+32|0,16,16);bI(a,f,e,c,16,16,8);$c=d;return}function qw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+464|0;if(($c|0)>=(ad|0))N(464);g=d+256|0;f=d+128|0;e=d;MF(f,b,16,c);NF(g,b+(0-(c<<1))|0,c);OF(e,g+32|0,16,16);aI(a,f,e,c,16,16,8);$c=d;return}function rw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+240|0;if(($c|0)>=(ad|0))N(240);g=d+128|0;f=d+64|0;e=d;IF(f,b,8,c);JF(g,b+(0-(c<<1))|0,c);KF(e,g+16|0,8,8);$H(a,f,e,c,8,8,8);$c=d;return}function sw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+464|0;if(($c|0)>=(ad|0))N(464);g=d+256|0;f=d+128|0;e=d;EF(f,b,16,c);FF(g,b+(0-(c<<1))|0,c);GF(e,g+32|0,16,16);_H(a,f,e,c,16,16,8);$c=d;return}function tw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+1088|0;if(($c|0)>=(ad|0))N(1088);f=d+960|0;e=d+832|0;UF(f,b,16,c);aG(e,d,b,16,16,c);cI(a,f,e,c,16,16,8);$c=d;return}function uw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+1088|0;if(($c|0)>=(ad|0))N(1088);f=d+960|0;e=d+832|0;QF(f,b,16,c);$F(e,d,b,16,16,c);bI(a,f,e,c,16,16,8);$c=d;return}function vw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+672|0;if(($c|0)>=(ad|0))N(672);f=d+544|0;e=d+416|0;MF(f,b,16,c);_F(e,d,b,16,16,c);aI(a,f,e,c,16,16,8);$c=d;return}function ww(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+336|0;if(($c|0)>=(ad|0))N(336);f=d+272|0;e=d+208|0;IF(f,b,8,c);ZF(e,d,b,8,8,c);$H(a,f,e,c,8,8,8);$c=d;return}function xw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+672|0;if(($c|0)>=(ad|0))N(672);f=d+544|0;e=d+416|0;EF(f,b,16,c);YF(e,d,b,16,16,c);_H(a,f,e,c,16,16,8);$c=d;return}function yw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+464|0;if(($c|0)>=(ad|0))N(464);g=d+256|0;f=d+128|0;e=d;UF(f,b,16,c);VF(g,b+(0-(c<<1))+2|0,c);WF(e,g+32|0,16,16);cI(a,f,e,c,16,16,8);$c=d;return}function zw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+464|0;if(($c|0)>=(ad|0))N(464);g=d+256|0;f=d+128|0;e=d;QF(f,b,16,c);RF(g,b+(0-(c<<1))+2|0,c);SF(e,g+32|0,16,16);bI(a,f,e,c,16,16,8);$c=d;return}function Aw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+464|0;if(($c|0)>=(ad|0))N(464);g=d+256|0;f=d+128|0;e=d;MF(f,b,16,c);NF(g,b+(0-(c<<1))+2|0,c);OF(e,g+32|0,16,16);aI(a,f,e,c,16,16,8);$c=d;return}function Bw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+240|0;if(($c|0)>=(ad|0))N(240);g=d+128|0;f=d+64|0;e=d;IF(f,b,8,c);JF(g,b+(0-(c<<1))+1|0,c);KF(e,g+16|0,8,8);$H(a,f,e,c,8,8,8);$c=d;return}function Cw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+464|0;if(($c|0)>=(ad|0))N(464);g=d+256|0;f=d+128|0;e=d;EF(f,b,16,c);FF(g,b+(0-(c<<1))+2|0,c);GF(e,g+32|0,16,16);_H(a,f,e,c,16,16,8);$c=d;return}function Dw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+208|0;if(($c|0)>=(ad|0))N(208);e=d;VF(e,b+(0-(c<<1))|0,c);WF(a,e+32|0,c,16);$c=d;return}function Ew(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+208|0;if(($c|0)>=(ad|0))N(208);e=d;RF(e,b+(0-(c<<1))|0,c);SF(a,e+32|0,c,16);$c=d;return}function Fw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+208|0;if(($c|0)>=(ad|0))N(208);e=d;NF(e,b+(0-(c<<1))|0,c);OF(a,e+32|0,c,16);$c=d;return}function Gw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+112|0;if(($c|0)>=(ad|0))N(112);e=d;JF(e,b+(0-(c<<1))|0,c);KF(a,e+16|0,c,8);$c=d;return}function Hw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+208|0;if(($c|0)>=(ad|0))N(208);e=d;FF(e,b+(0-(c<<1))|0,c);GF(a,e+32|0,c,16);$c=d;return}function Iw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1296|0;if(($c|0)>=(ad|0))N(1296);g=d+1088|0;f=d+960|0;e=d+832|0;VF(g,b+(0-(c<<1))|0,c);WF(f,g+32|0,16,16);aG(e,d,b,16,16,c);cI(a,f,e,c,16,16,8);$c=d;return}function Jw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1296|0;if(($c|0)>=(ad|0))N(1296);g=d+1088|0;f=d+960|0;e=d+832|0;RF(g,b+(0-(c<<1))|0,c);SF(f,g+32|0,16,16);$F(e,d,b,16,16,c);bI(a,f,e,c,16,16,8);$c=d;return}function Kw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+880|0;if(($c|0)>=(ad|0))N(880);g=d+672|0;f=d+544|0;e=d+416|0;NF(g,b+(0-(c<<1))|0,c);OF(f,g+32|0,16,16);_F(e,d,b,16,16,c);aI(a,f,e,c,16,16,8);$c=d;return}function Lw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+448|0;if(($c|0)>=(ad|0))N(448);g=d+336|0;f=d+272|0;e=d+208|0;JF(g,b+(0-(c<<1))|0,c);KF(f,g+16|0,8,8);ZF(e,d,b,8,8,c);$H(a,f,e,c,8,8,8);$c=d;return}function Mw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+880|0;if(($c|0)>=(ad|0))N(880);g=d+672|0;f=d+544|0;e=d+416|0;FF(g,b+(0-(c<<1))|0,c);GF(f,g+32|0,16,16);YF(e,d,b,16,16,c);_H(a,f,e,c,16,16,8);$c=d;return}function Nw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+832|0;if(($c|0)>=(ad|0))N(832);aG(a,d,b,c,16,c);$c=d;return}function Ow(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+832|0;if(($c|0)>=(ad|0))N(832);$F(a,d,b,c,16,c);$c=d;return}function Pw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+416|0;if(($c|0)>=(ad|0))N(416);_F(a,d,b,c,16,c);$c=d;return}function Qw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+208|0;if(($c|0)>=(ad|0))N(208);ZF(a,d,b,c,8,c);$c=d;return}function Rw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+416|0;if(($c|0)>=(ad|0))N(416);YF(a,d,b,c,16,c);$c=d;return}function Sw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1296|0;if(($c|0)>=(ad|0))N(1296);g=d+1088|0;f=d+960|0;e=d+832|0;VF(g,b+(0-(c<<1))+2|0,c);WF(f,g+32|0,16,16);aG(e,d,b,16,16,c);cI(a,f,e,c,16,16,8);$c=d;return}function Tw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1296|0;if(($c|0)>=(ad|0))N(1296);g=d+1088|0;f=d+960|0;e=d+832|0;RF(g,b+(0-(c<<1))+2|0,c);SF(f,g+32|0,16,16);$F(e,d,b,16,16,c);bI(a,f,e,c,16,16,8);$c=d;return}function Uw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+880|0;if(($c|0)>=(ad|0))N(880);g=d+672|0;f=d+544|0;e=d+416|0;NF(g,b+(0-(c<<1))+2|0,c);OF(f,g+32|0,16,16);_F(e,d,b,16,16,c);aI(a,f,e,c,16,16,8);$c=d;return}function Vw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+448|0;if(($c|0)>=(ad|0))N(448);g=d+336|0;f=d+272|0;e=d+208|0;JF(g,b+(0-(c<<1))+1|0,c);KF(f,g+16|0,8,8);ZF(e,d,b,8,8,c);$H(a,f,e,c,8,8,8);$c=d;return}function Ww(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+880|0;if(($c|0)>=(ad|0))N(880);g=d+672|0;f=d+544|0;e=d+416|0;FF(g,b+(0-(c<<1))+2|0,c);GF(f,g+32|0,16,16);YF(e,d,b,16,16,c);_H(a,f,e,c,16,16,8);$c=d;return}function Xw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+336|0;if(($c|0)>=(ad|0))N(336);f=d+128|0;e=d;VF(f,b+(0-(c<<1))|0,c);WF(e,f+32|0,16,16);cI(a,f+48|0,e,c,16,16,8);$c=d;return}function Yw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+336|0;if(($c|0)>=(ad|0))N(336);f=d+128|0;e=d;RF(f,b+(0-(c<<1))|0,c);SF(e,f+32|0,16,16);bI(a,f+48|0,e,c,16,16,8);$c=d;return}function Zw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+336|0;if(($c|0)>=(ad|0))N(336);f=d+128|0;e=d;NF(f,b+(0-(c<<1))|0,c);OF(e,f+32|0,16,16);aI(a,f+48|0,e,c,16,16,8);$c=d;return}function _w(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+176|0;if(($c|0)>=(ad|0))N(176);f=d+64|0;e=d;JF(f,b+(0-(c<<1))|0,c);KF(e,f+16|0,8,8);$H(a,f+24|0,e,c,8,8,8);$c=d;return}function $w(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+336|0;if(($c|0)>=(ad|0))N(336);f=d+128|0;e=d;FF(f,b+(0-(c<<1))|0,c);GF(e,f+32|0,16,16);_H(a,f+48|0,e,c,16,16,8);$c=d;return}function ax(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+464|0;if(($c|0)>=(ad|0))N(464);g=d+256|0;f=d+128|0;e=d;UF(f,b+c|0,16,c);VF(g,b+(0-(c<<1))|0,c);WF(e,g+32|0,16,16);cI(a,f,e,c,16,16,8);$c=d;return}function bx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+464|0;if(($c|0)>=(ad|0))N(464);g=d+256|0;f=d+128|0;e=d;QF(f,b+c|0,16,c);RF(g,b+(0-(c<<1))|0,c);SF(e,g+32|0,16,16);bI(a,f,e,c,16,16,8);$c=d;return}function cx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+464|0;if(($c|0)>=(ad|0))N(464);g=d+256|0;f=d+128|0;e=d;MF(f,b+c|0,16,c);NF(g,b+(0-(c<<1))|0,c);OF(e,g+32|0,16,16);aI(a,f,e,c,16,16,8);$c=d;return}function dx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+240|0;if(($c|0)>=(ad|0))N(240);g=d+128|0;f=d+64|0;e=d;IF(f,b+c|0,8,c);JF(g,b+(0-(c<<1))|0,c);KF(e,g+16|0,8,8);$H(a,f,e,c,8,8,8);$c=d;return}function ex(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+464|0;if(($c|0)>=(ad|0))N(464);g=d+256|0;f=d+128|0;e=d;EF(f,b+c|0,16,c);FF(g,b+(0-(c<<1))|0,c);GF(e,g+32|0,16,16);_H(a,f,e,c,16,16,8);$c=d;return}function fx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+1088|0;if(($c|0)>=(ad|0))N(1088);f=d+960|0;e=d+832|0;UF(f,b+c|0,16,c);aG(e,d,b,16,16,c);cI(a,f,e,c,16,16,8);$c=d;return}function gx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+1088|0;if(($c|0)>=(ad|0))N(1088);f=d+960|0;e=d+832|0;QF(f,b+c|0,16,c);$F(e,d,b,16,16,c);bI(a,f,e,c,16,16,8);$c=d;return}function hx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+672|0;if(($c|0)>=(ad|0))N(672);f=d+544|0;e=d+416|0;MF(f,b+c|0,16,c);_F(e,d,b,16,16,c);aI(a,f,e,c,16,16,8);$c=d;return}function ix(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+336|0;if(($c|0)>=(ad|0))N(336);f=d+272|0;e=d+208|0;IF(f,b+c|0,8,c);ZF(e,d,b,8,8,c);$H(a,f,e,c,8,8,8);$c=d;return}function jx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+672|0;if(($c|0)>=(ad|0))N(672);f=d+544|0;e=d+416|0;EF(f,b+c|0,16,c);YF(e,d,b,16,16,c);_H(a,f,e,c,16,16,8);$c=d;return}function kx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+464|0;if(($c|0)>=(ad|0))N(464);g=d+256|0;f=d+128|0;e=d;UF(f,b+c|0,16,c);VF(g,b+(0-(c<<1))+2|0,c);WF(e,g+32|0,16,16);cI(a,f,e,c,16,16,8);$c=d;return}function lx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+464|0;if(($c|0)>=(ad|0))N(464);g=d+256|0;f=d+128|0;e=d;QF(f,b+c|0,16,c);RF(g,b+(0-(c<<1))+2|0,c);SF(e,g+32|0,16,16);bI(a,f,e,c,16,16,8);$c=d;return}function mx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+464|0;if(($c|0)>=(ad|0))N(464);g=d+256|0;f=d+128|0;e=d;MF(f,b+c|0,16,c);NF(g,b+(0-(c<<1))+2|0,c);OF(e,g+32|0,16,16);aI(a,f,e,c,16,16,8);$c=d;return}function nx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+240|0;if(($c|0)>=(ad|0))N(240);g=d+128|0;f=d+64|0;e=d;IF(f,b+c|0,8,c);JF(g,b+(0-(c<<1))+1|0,c);KF(e,g+16|0,8,8);$H(a,f,e,c,8,8,8);$c=d;return}function ox(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+464|0;if(($c|0)>=(ad|0))N(464);g=d+256|0;f=d+128|0;e=d;EF(f,b+c|0,16,c);FF(g,b+(0-(c<<1))+2|0,c);GF(e,g+32|0,16,16);_H(a,f,e,c,16,16,8);$c=d;return}function px(a,b,c){a=a|0;b=b|0;c=c|0;ZH(a,b,c);return}function qx(a,b,c){a=a|0;b=b|0;c=c|0;YH(a,b,c);return}function rx(a,b,c){a=a|0;b=b|0;c=c|0;XH(a,b,c);return}function sx(a,b,c){a=a|0;b=b|0;c=c|0;WH(a,b,c);return}function tx(a,b,c){a=a|0;b=b|0;c=c|0;VH(a,b,c);return}function ux(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);e=d;bF(e,b,8,c);UH(a,b,e,c,c);$c=d;return}function vx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);e=d;ZE(e,b,8,c);TH(a,b,e,c,c);$c=d;return}function wx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);e=d;VE(e,b,8,c);SH(a,b,e,c,c);$c=d;return}function xx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=d;QE(e,b,4,c);RH(a,b,e,c,c);$c=d;return}function yx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);e=d;LE(e,b,8,c);QH(a,b,e,c,c);$c=d;return}function zx(a,b,c){a=a|0;b=b|0;c=c|0;bF(a,b,c,c);return}function Ax(a,b,c){a=a|0;b=b|0;c=c|0;ZE(a,b,c,c);return}function Bx(a,b,c){a=a|0;b=b|0;c=c|0;VE(a,b,c,c);return}function Cx(a,b,c){a=a|0;b=b|0;c=c|0;QE(a,b,c,c);return}function Dx(a,b,c){a=a|0;b=b|0;c=c|0;LE(a,b,c,c);return}function Ex(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);e=d;bF(e,b,8,c);UH(a,b+2|0,e,c,c);$c=d;return}function Fx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);e=d;ZE(e,b,8,c);TH(a,b+2|0,e,c,c);$c=d;return}function Gx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);e=d;VE(e,b,8,c);SH(a,b+2|0,e,c,c);$c=d;return}function Hx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=d;QE(e,b,4,c);RH(a,b+1|0,e,c,c);$c=d;return}function Ix(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);e=d;LE(e,b,8,c);QH(a,b+2|0,e,c,c);$c=d;return}function Jx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+112|0;if(($c|0)>=(ad|0))N(112);g=d+32|0;e=d;f=g+16|0;cF(g,b+(0-(c<<1))|0,c);dF(e,f,8);UH(a,f,e,c,8);$c=d;return}function Kx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+112|0;if(($c|0)>=(ad|0))N(112);g=d+32|0;e=d;f=g+16|0;_E(g,b+(0-(c<<1))|0,c);$E(e,f,8);TH(a,f,e,c,8);$c=d;return}function Lx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+112|0;if(($c|0)>=(ad|0))N(112);g=d+32|0;e=d;f=g+16|0;WE(g,b+(0-(c<<1))|0,c);XE(e,f,8);SH(a,f,e,c,8);$c=d;return}function Mx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+64|0;if(($c|0)>=(ad|0))N(64);g=d+16|0;e=d;f=g+8|0;RE(g,b+(0-(c<<1))|0,c);SE(e,f,4);RH(a,f,e,c,4);$c=d;return}function Nx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+112|0;if(($c|0)>=(ad|0))N(112);g=d+32|0;e=d;f=g+16|0;ME(g,b+(0-(c<<1))|0,c);NE(e,f,8);QH(a,f,e,c,8);$c=d;return}function Ox(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+64|0;f=d+32|0;e=d;bF(f,b,8,c);cF(g,b+(0-(c<<1))|0,c);dF(e,g+16|0,8);UH(a,f,e,c,8);$c=d;return}function Px(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+64|0;f=d+32|0;e=d;ZE(f,b,8,c);_E(g,b+(0-(c<<1))|0,c);$E(e,g+16|0,8);TH(a,f,e,c,8);$c=d;return}function Qx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+64|0;f=d+32|0;e=d;VE(f,b,8,c);WE(g,b+(0-(c<<1))|0,c);XE(e,g+16|0,8);SH(a,f,e,c,8);$c=d;return}function Rx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+80|0;if(($c|0)>=(ad|0))N(80);g=d+32|0;f=d+16|0;e=d;QE(f,b,4,c);RE(g,b+(0-(c<<1))|0,c);SE(e,g+8|0,4);RH(a,f,e,c,4);$c=d;return}function Sx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+64|0;f=d+32|0;e=d;LE(f,b,8,c);ME(g,b+(0-(c<<1))|0,c);NE(e,g+16|0,8);QH(a,f,e,c,8);$c=d;return}function Tx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+352|0;if(($c|0)>=(ad|0))N(352);f=d+320|0;e=d+288|0;bF(f,b,8,c);jF(e,d,b,8,c);UH(a,f,e,c,8);$c=d;return}function Ux(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+352|0;if(($c|0)>=(ad|0))N(352);f=d+320|0;e=d+288|0;ZE(f,b,8,c);iF(e,d,b,8,c);TH(a,f,e,c,8);$c=d;return}function Vx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+208|0;if(($c|0)>=(ad|0))N(208);f=d+176|0;e=d+144|0;VE(f,b,8,c);hF(e,d,b,8,c);SH(a,f,e,c,8);$c=d;return}function Wx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+112|0;if(($c|0)>=(ad|0))N(112);f=d+88|0;e=d+72|0;QE(f,b,4,c);gF(e,d,b,4,c);RH(a,f,e,c,4);$c=d;return}function Xx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+208|0;if(($c|0)>=(ad|0))N(208);f=d+176|0;e=d+144|0;LE(f,b,8,c);fF(e,d,b,8,c);QH(a,f,e,c,8);$c=d;return}function Yx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+64|0;f=d+32|0;e=d;bF(f,b,8,c);cF(g,b+(0-(c<<1))+2|0,c);dF(e,g+16|0,8);UH(a,f,e,c,8);$c=d;return}function Zx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+64|0;f=d+32|0;e=d;ZE(f,b,8,c);_E(g,b+(0-(c<<1))+2|0,c);$E(e,g+16|0,8);TH(a,f,e,c,8);$c=d;return}function _x(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+64|0;f=d+32|0;e=d;VE(f,b,8,c);WE(g,b+(0-(c<<1))+2|0,c);XE(e,g+16|0,8);SH(a,f,e,c,8);$c=d;return}function $x(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+80|0;if(($c|0)>=(ad|0))N(80);g=d+32|0;f=d+16|0;e=d;QE(f,b,4,c);RE(g,b+(0-(c<<1))+1|0,c);SE(e,g+8|0,4);RH(a,f,e,c,4);$c=d;return}function ay(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+64|0;f=d+32|0;e=d;LE(f,b,8,c);ME(g,b+(0-(c<<1))+2|0,c);NE(e,g+16|0,8);QH(a,f,e,c,8);$c=d;return}function by(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+80|0;if(($c|0)>=(ad|0))N(80);e=d;cF(e,b+(0-(c<<1))|0,c);dF(a,e+16|0,c);$c=d;return}function cy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+80|0;if(($c|0)>=(ad|0))N(80);e=d;_E(e,b+(0-(c<<1))|0,c);$E(a,e+16|0,c);$c=d;return}function dy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+80|0;if(($c|0)>=(ad|0))N(80);e=d;WE(e,b+(0-(c<<1))|0,c);XE(a,e+16|0,c);$c=d;return}function ey(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);e=d;RE(e,b+(0-(c<<1))|0,c);SE(a,e+8|0,c);$c=d;return}function fy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+80|0;if(($c|0)>=(ad|0))N(80);e=d;ME(e,b+(0-(c<<1))|0,c);NE(a,e+16|0,c);$c=d;return}function gy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+432|0;if(($c|0)>=(ad|0))N(432);g=d+352|0;f=d+320|0;e=d+288|0;cF(g,b+(0-(c<<1))|0,c);dF(f,g+16|0,8);jF(e,d,b,8,c);UH(a,f,e,c,8);$c=d;return}function hy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+432|0;if(($c|0)>=(ad|0))N(432);g=d+352|0;f=d+320|0;e=d+288|0;_E(g,b+(0-(c<<1))|0,c);$E(f,g+16|0,8);iF(e,d,b,8,c);TH(a,f,e,c,8);$c=d;return}function iy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+288|0;if(($c|0)>=(ad|0))N(288);g=d+208|0;f=d+176|0;e=d+144|0;WE(g,b+(0-(c<<1))|0,c);XE(f,g+16|0,8);hF(e,d,b,8,c);SH(a,f,e,c,8);$c=d;return}function jy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+104|0;f=d+88|0;e=d+72|0;RE(g,b+(0-(c<<1))|0,c);SE(f,g+8|0,4);gF(e,d,b,4,c);RH(a,f,e,c,4);$c=d;return}function ky(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+288|0;if(($c|0)>=(ad|0))N(288);g=d+208|0;f=d+176|0;e=d+144|0;ME(g,b+(0-(c<<1))|0,c);NE(f,g+16|0,8);fF(e,d,b,8,c);QH(a,f,e,c,8);$c=d;return}function ly(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+288|0;if(($c|0)>=(ad|0))N(288);jF(a,d,b,c,c);$c=d;return}function my(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+288|0;if(($c|0)>=(ad|0))N(288);iF(a,d,b,c,c);$c=d;return}function ny(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);hF(a,d,b,c,c);$c=d;return}function oy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+80|0;if(($c|0)>=(ad|0))N(80);gF(a,d,b,c,c);$c=d;return}function py(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);fF(a,d,b,c,c);$c=d;return}function qy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+432|0;if(($c|0)>=(ad|0))N(432);g=d+352|0;f=d+320|0;e=d+288|0;cF(g,b+(0-(c<<1))+2|0,c);dF(f,g+16|0,8);jF(e,d,b,8,c);UH(a,f,e,c,8);$c=d;return}function ry(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+432|0;if(($c|0)>=(ad|0))N(432);g=d+352|0;f=d+320|0;e=d+288|0;_E(g,b+(0-(c<<1))+2|0,c);$E(f,g+16|0,8);iF(e,d,b,8,c);TH(a,f,e,c,8);$c=d;return}function sy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+288|0;if(($c|0)>=(ad|0))N(288);g=d+208|0;f=d+176|0;e=d+144|0;WE(g,b+(0-(c<<1))+2|0,c);XE(f,g+16|0,8);hF(e,d,b,8,c);SH(a,f,e,c,8);$c=d;return}function ty(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+104|0;f=d+88|0;e=d+72|0;RE(g,b+(0-(c<<1))+1|0,c);SE(f,g+8|0,4);gF(e,d,b,4,c);RH(a,f,e,c,4);$c=d;return}function uy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+288|0;if(($c|0)>=(ad|0))N(288);g=d+208|0;f=d+176|0;e=d+144|0;ME(g,b+(0-(c<<1))+2|0,c);NE(f,g+16|0,8);fF(e,d,b,8,c);QH(a,f,e,c,8);$c=d;return}function vy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+112|0;if(($c|0)>=(ad|0))N(112);f=d+32|0;e=d;cF(f,b+(0-(c<<1))|0,c);dF(e,f+16|0,8);UH(a,f+24|0,e,c,8);$c=d;return}function wy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+112|0;if(($c|0)>=(ad|0))N(112);f=d+32|0;e=d;_E(f,b+(0-(c<<1))|0,c);$E(e,f+16|0,8);TH(a,f+24|0,e,c,8);$c=d;return}function xy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+112|0;if(($c|0)>=(ad|0))N(112);f=d+32|0;e=d;WE(f,b+(0-(c<<1))|0,c);XE(e,f+16|0,8);SH(a,f+24|0,e,c,8);$c=d;return}function yy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+64|0;if(($c|0)>=(ad|0))N(64);f=d+16|0;e=d;RE(f,b+(0-(c<<1))|0,c);SE(e,f+8|0,4);RH(a,f+12|0,e,c,4);$c=d;return}function zy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+112|0;if(($c|0)>=(ad|0))N(112);f=d+32|0;e=d;ME(f,b+(0-(c<<1))|0,c);NE(e,f+16|0,8);QH(a,f+24|0,e,c,8);$c=d;return}function Ay(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+64|0;f=d+32|0;e=d;bF(f,b+c|0,8,c);cF(g,b+(0-(c<<1))|0,c);dF(e,g+16|0,8);UH(a,f,e,c,8);$c=d;return}function By(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+64|0;f=d+32|0;e=d;ZE(f,b+c|0,8,c);_E(g,b+(0-(c<<1))|0,c);$E(e,g+16|0,8);TH(a,f,e,c,8);$c=d;return}function Cy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+64|0;f=d+32|0;e=d;VE(f,b+c|0,8,c);WE(g,b+(0-(c<<1))|0,c);XE(e,g+16|0,8);SH(a,f,e,c,8);$c=d;return}function Dy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+80|0;if(($c|0)>=(ad|0))N(80);g=d+32|0;f=d+16|0;e=d;QE(f,b+c|0,4,c);RE(g,b+(0-(c<<1))|0,c);SE(e,g+8|0,4);RH(a,f,e,c,4);$c=d;return}function Ey(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+64|0;f=d+32|0;e=d;LE(f,b+c|0,8,c);ME(g,b+(0-(c<<1))|0,c);NE(e,g+16|0,8);QH(a,f,e,c,8);$c=d;return}function Fy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+352|0;if(($c|0)>=(ad|0))N(352);f=d+320|0;e=d+288|0;bF(f,b+c|0,8,c);jF(e,d,b,8,c);UH(a,f,e,c,8);$c=d;return}function Gy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+352|0;if(($c|0)>=(ad|0))N(352);f=d+320|0;e=d+288|0;ZE(f,b+c|0,8,c);iF(e,d,b,8,c);TH(a,f,e,c,8);$c=d;return}function Hy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+208|0;if(($c|0)>=(ad|0))N(208);f=d+176|0;e=d+144|0;VE(f,b+c|0,8,c);hF(e,d,b,8,c);SH(a,f,e,c,8);$c=d;return}function Iy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+112|0;if(($c|0)>=(ad|0))N(112);f=d+88|0;e=d+72|0;QE(f,b+c|0,4,c);gF(e,d,b,4,c);RH(a,f,e,c,4);$c=d;return}function Jy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+208|0;if(($c|0)>=(ad|0))N(208);f=d+176|0;e=d+144|0;LE(f,b+c|0,8,c);fF(e,d,b,8,c);QH(a,f,e,c,8);$c=d;return}function Ky(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+64|0;f=d+32|0;e=d;bF(f,b+c|0,8,c);cF(g,b+(0-(c<<1))+2|0,c);dF(e,g+16|0,8);UH(a,f,e,c,8);$c=d;return}function Ly(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+64|0;f=d+32|0;e=d;ZE(f,b+c|0,8,c);_E(g,b+(0-(c<<1))+2|0,c);$E(e,g+16|0,8);TH(a,f,e,c,8);$c=d;return}function My(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+64|0;f=d+32|0;e=d;VE(f,b+c|0,8,c);WE(g,b+(0-(c<<1))+2|0,c);XE(e,g+16|0,8);SH(a,f,e,c,8);$c=d;return}function Ny(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+80|0;if(($c|0)>=(ad|0))N(80);g=d+32|0;f=d+16|0;e=d;QE(f,b+c|0,4,c);RE(g,b+(0-(c<<1))+1|0,c);SE(e,g+8|0,4);RH(a,f,e,c,4);$c=d;return}function Oy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+64|0;f=d+32|0;e=d;LE(f,b+c|0,8,c);ME(g,b+(0-(c<<1))+2|0,c);NE(e,g+16|0,8);QH(a,f,e,c,8);$c=d;return}function Py(a,b,c){a=a|0;b=b|0;c=c|0;PH(a,b,c);return}function Qy(a,b,c){a=a|0;b=b|0;c=c|0;OH(a,b,c);return}function Ry(a,b,c){a=a|0;b=b|0;c=c|0;NH(a,b,c);return}function Sy(a,b,c){a=a|0;b=b|0;c=c|0;MH(a,b,c);return}function Ty(a,b,c){a=a|0;b=b|0;c=c|0;LH(a,b,c);return}function Uy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=d;CH(e,b,4,c);FH(a,b,e,c,c);$c=d;return}function Vy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=d;yH(e,b,4,c);BH(a,b,e,c,c);$c=d;return}function Wy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=d;uH(e,b,4,c);xH(a,b,e,c,c);$c=d;return}function Xy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=d;qH(e,b,2,c);tH(a,b,e,c,c);$c=d;return}function Yy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=d;mH(e,b,4,c);pH(a,b,e,c,c);$c=d;return}function Zy(a,b,c){a=a|0;b=b|0;c=c|0;CH(a,b,c,c);return}function _y(a,b,c){a=a|0;b=b|0;c=c|0;yH(a,b,c,c);return}function $y(a,b,c){a=a|0;b=b|0;c=c|0;uH(a,b,c,c);return}function az(a,b,c){a=a|0;b=b|0;c=c|0;qH(a,b,c,c);return}function bz(a,b,c){a=a|0;b=b|0;c=c|0;mH(a,b,c,c);return}function cz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=d;CH(e,b,4,c);FH(a,b+2|0,e,c,c);$c=d;return}function dz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=d;yH(e,b,4,c);BH(a,b+2|0,e,c,c);$c=d;return}function ez(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=d;uH(e,b,4,c);xH(a,b+2|0,e,c,c);$c=d;return}function fz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=d;qH(e,b,2,c);tH(a,b+1|0,e,c,c);$c=d;return}function gz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=d;mH(e,b,4,c);pH(a,b+2|0,e,c,c);$c=d;return}function hz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);g=d+8|0;e=d;f=g+8|0;DH(g,b+(0-(c<<1))|0,c);EH(e,f,4);FH(a,f,e,c,4);$c=d;return}function iz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);g=d+8|0;e=d;f=g+8|0;zH(g,b+(0-(c<<1))|0,c);AH(e,f,4);BH(a,f,e,c,4);$c=d;return}function jz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);g=d+8|0;e=d;f=g+8|0;vH(g,b+(0-(c<<1))|0,c);wH(e,f,4);xH(a,f,e,c,4);$c=d;return}function kz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);g=d+4|0;e=d;f=g+4|0;rH(g,b+(0-(c<<1))|0,c);sH(e,f,2);tH(a,f,e,c,2);$c=d;return}function lz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);g=d+8|0;e=d;f=g+8|0;nH(g,b+(0-(c<<1))|0,c);oH(e,f,4);pH(a,f,e,c,4);$c=d;return}function mz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);g=d+16|0;f=d+8|0;e=d;CH(f,b,4,c);DH(g,b+(0-(c<<1))|0,c);EH(e,g+8|0,4);FH(a,f,e,c,4);$c=d;return}function nz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);g=d+16|0;f=d+8|0;e=d;yH(f,b,4,c);zH(g,b+(0-(c<<1))|0,c);AH(e,g+8|0,4);BH(a,f,e,c,4);$c=d;return}function oz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);g=d+16|0;f=d+8|0;e=d;uH(f,b,4,c);vH(g,b+(0-(c<<1))|0,c);wH(e,g+8|0,4);xH(a,f,e,c,4);$c=d;return}function pz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);g=d+8|0;f=d+4|0;e=d;qH(f,b,2,c);rH(g,b+(0-(c<<1))|0,c);sH(e,g+4|0,2);tH(a,f,e,c,2);$c=d;return}function qz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);g=d+16|0;f=d+8|0;e=d;mH(f,b,4,c);nH(g,b+(0-(c<<1))|0,c);oH(e,g+8|0,4);pH(a,f,e,c,4);$c=d;return}function rz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+128|0;if(($c|0)>=(ad|0))N(128);f=d+120|0;e=d+112|0;CH(f,b,4,c);KH(e,d,b,4,c);FH(a,f,e,c,4);$c=d;return}function sz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+128|0;if(($c|0)>=(ad|0))N(128);f=d+120|0;e=d+112|0;yH(f,b,4,c);JH(e,d,b,4,c);BH(a,f,e,c,4);$c=d;return}function tz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+80|0;if(($c|0)>=(ad|0))N(80);f=d+64|0;e=d+56|0;uH(f,b,4,c);IH(e,d,b,4,c);xH(a,f,e,c,4);$c=d;return}function uz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);f=d+32|0;e=d+28|0;qH(f,b,2,c);HH(e,d,b,2,c);tH(a,f,e,c,2);$c=d;return}function vz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+80|0;if(($c|0)>=(ad|0))N(80);f=d+64|0;e=d+56|0;mH(f,b,4,c);GH(e,d,b,4,c);pH(a,f,e,c,4);$c=d;return}function wz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);g=d+16|0;f=d+8|0;e=d;CH(f,b,4,c);DH(g,b+(0-(c<<1))+2|0,c);EH(e,g+8|0,4);FH(a,f,e,c,4);$c=d;return}function xz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);g=d+16|0;f=d+8|0;e=d;yH(f,b,4,c);zH(g,b+(0-(c<<1))+2|0,c);AH(e,g+8|0,4);BH(a,f,e,c,4);$c=d;return}function yz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);g=d+16|0;f=d+8|0;e=d;uH(f,b,4,c);vH(g,b+(0-(c<<1))+2|0,c);wH(e,g+8|0,4);xH(a,f,e,c,4);$c=d;return}function zz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);g=d+8|0;f=d+4|0;e=d;qH(f,b,2,c);rH(g,b+(0-(c<<1))+1|0,c);sH(e,g+4|0,2);tH(a,f,e,c,2);$c=d;return}function Az(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);g=d+16|0;f=d+8|0;e=d;mH(f,b,4,c);nH(g,b+(0-(c<<1))+2|0,c);oH(e,g+8|0,4);pH(a,f,e,c,4);$c=d;return}function Bz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);e=d;DH(e,b+(0-(c<<1))|0,c);EH(a,e+8|0,c);$c=d;return}function Cz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);e=d;zH(e,b+(0-(c<<1))|0,c);AH(a,e+8|0,c);$c=d;return}function Dz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);e=d;vH(e,b+(0-(c<<1))|0,c);wH(a,e+8|0,c);$c=d;return}function Ez(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=d;rH(e,b+(0-(c<<1))|0,c);sH(a,e+4|0,c);$c=d;return}function Fz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);e=d;nH(e,b+(0-(c<<1))|0,c);oH(a,e+8|0,c);$c=d;return}function Gz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+160|0;if(($c|0)>=(ad|0))N(160);g=d+128|0;f=d+120|0;e=d+112|0;DH(g,b+(0-(c<<1))|0,c);EH(f,g+8|0,4);KH(e,d,b,4,c);FH(a,f,e,c,4);$c=d;return}function Hz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+160|0;if(($c|0)>=(ad|0))N(160);g=d+128|0;f=d+120|0;e=d+112|0;zH(g,b+(0-(c<<1))|0,c);AH(f,g+8|0,4);JH(e,d,b,4,c);BH(a,f,e,c,4);$c=d;return}function Iz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+112|0;if(($c|0)>=(ad|0))N(112);g=d+72|0;f=d+64|0;e=d+56|0;vH(g,b+(0-(c<<1))|0,c);wH(f,g+8|0,4);IH(e,d,b,4,c);xH(a,f,e,c,4);$c=d;return}function Jz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+64|0;if(($c|0)>=(ad|0))N(64);g=d+36|0;f=d+32|0;e=d+28|0;rH(g,b+(0-(c<<1))|0,c);sH(f,g+4|0,2);HH(e,d,b,2,c);tH(a,f,e,c,2);$c=d;return}function Kz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+112|0;if(($c|0)>=(ad|0))N(112);g=d+72|0;f=d+64|0;e=d+56|0;nH(g,b+(0-(c<<1))|0,c);oH(f,g+8|0,4);GH(e,d,b,4,c);pH(a,f,e,c,4);$c=d;return}function Lz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+112|0;if(($c|0)>=(ad|0))N(112);KH(a,d,b,c,c);$c=d;return}function Mz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+112|0;if(($c|0)>=(ad|0))N(112);JH(a,d,b,c,c);$c=d;return}function Nz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+64|0;if(($c|0)>=(ad|0))N(64);IH(a,d,b,c,c);$c=d;return}function Oz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);HH(a,d,b,c,c);$c=d;return}function Pz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+64|0;if(($c|0)>=(ad|0))N(64);GH(a,d,b,c,c);$c=d;return}function Qz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+160|0;if(($c|0)>=(ad|0))N(160);g=d+128|0;f=d+120|0;e=d+112|0;DH(g,b+(0-(c<<1))+2|0,c);EH(f,g+8|0,4);KH(e,d,b,4,c);FH(a,f,e,c,4);$c=d;return}function Rz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+160|0;if(($c|0)>=(ad|0))N(160);g=d+128|0;f=d+120|0;e=d+112|0;zH(g,b+(0-(c<<1))+2|0,c);AH(f,g+8|0,4);JH(e,d,b,4,c);BH(a,f,e,c,4);$c=d;return}function Sz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+112|0;if(($c|0)>=(ad|0))N(112);g=d+72|0;f=d+64|0;e=d+56|0;vH(g,b+(0-(c<<1))+2|0,c);wH(f,g+8|0,4);IH(e,d,b,4,c);xH(a,f,e,c,4);$c=d;return}function Tz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+64|0;if(($c|0)>=(ad|0))N(64);g=d+36|0;f=d+32|0;e=d+28|0;rH(g,b+(0-(c<<1))+1|0,c);sH(f,g+4|0,2);HH(e,d,b,2,c);tH(a,f,e,c,2);$c=d;return}function Uz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+112|0;if(($c|0)>=(ad|0))N(112);g=d+72|0;f=d+64|0;e=d+56|0;nH(g,b+(0-(c<<1))+2|0,c);oH(f,g+8|0,4);GH(e,d,b,4,c);pH(a,f,e,c,4);$c=d;return}function Vz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);f=d+8|0;e=d;DH(f,b+(0-(c<<1))|0,c);EH(e,f+8|0,4);FH(a,f+12|0,e,c,4);$c=d;return}function Wz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);f=d+8|0;e=d;zH(f,b+(0-(c<<1))|0,c);AH(e,f+8|0,4);BH(a,f+12|0,e,c,4);$c=d;return}function Xz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);f=d+8|0;e=d;vH(f,b+(0-(c<<1))|0,c);wH(e,f+8|0,4);xH(a,f+12|0,e,c,4);$c=d;return}function Yz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);f=d+4|0;e=d;rH(f,b+(0-(c<<1))|0,c);sH(e,f+4|0,2);tH(a,f+6|0,e,c,2);$c=d;return}function Zz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);f=d+8|0;e=d;nH(f,b+(0-(c<<1))|0,c);oH(e,f+8|0,4);pH(a,f+12|0,e,c,4);$c=d;return}function _z(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);g=d+16|0;f=d+8|0;e=d;CH(f,b+c|0,4,c);DH(g,b+(0-(c<<1))|0,c);EH(e,g+8|0,4);FH(a,f,e,c,4);$c=d;return}function $z(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);g=d+16|0;f=d+8|0;e=d;yH(f,b+c|0,4,c);zH(g,b+(0-(c<<1))|0,c);AH(e,g+8|0,4);BH(a,f,e,c,4);$c=d;return}function aA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);g=d+16|0;f=d+8|0;e=d;uH(f,b+c|0,4,c);vH(g,b+(0-(c<<1))|0,c);wH(e,g+8|0,4);xH(a,f,e,c,4);$c=d;return}function bA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);g=d+8|0;f=d+4|0;e=d;qH(f,b+c|0,2,c);rH(g,b+(0-(c<<1))|0,c);sH(e,g+4|0,2);tH(a,f,e,c,2);$c=d;return}function cA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);g=d+16|0;f=d+8|0;e=d;mH(f,b+c|0,4,c);nH(g,b+(0-(c<<1))|0,c);oH(e,g+8|0,4);pH(a,f,e,c,4);$c=d;return}function dA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+128|0;if(($c|0)>=(ad|0))N(128);f=d+120|0;e=d+112|0;CH(f,b+c|0,4,c);KH(e,d,b,4,c);FH(a,f,e,c,4);$c=d;return}function eA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+128|0;if(($c|0)>=(ad|0))N(128);f=d+120|0;e=d+112|0;yH(f,b+c|0,4,c);JH(e,d,b,4,c);BH(a,f,e,c,4);$c=d;return}function fA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+80|0;if(($c|0)>=(ad|0))N(80);f=d+64|0;e=d+56|0;uH(f,b+c|0,4,c);IH(e,d,b,4,c);xH(a,f,e,c,4);$c=d;return}function gA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);f=d+32|0;e=d+28|0;qH(f,b+c|0,2,c);HH(e,d,b,2,c);tH(a,f,e,c,2);$c=d;return}function hA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+80|0;if(($c|0)>=(ad|0))N(80);f=d+64|0;e=d+56|0;mH(f,b+c|0,4,c);GH(e,d,b,4,c);pH(a,f,e,c,4);$c=d;return}function iA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);g=d+16|0;f=d+8|0;e=d;CH(f,b+c|0,4,c);DH(g,b+(0-(c<<1))+2|0,c);EH(e,g+8|0,4);FH(a,f,e,c,4);$c=d;return}function jA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);g=d+16|0;f=d+8|0;e=d;yH(f,b+c|0,4,c);zH(g,b+(0-(c<<1))+2|0,c);AH(e,g+8|0,4);BH(a,f,e,c,4);$c=d;return}function kA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);g=d+16|0;f=d+8|0;e=d;uH(f,b+c|0,4,c);vH(g,b+(0-(c<<1))+2|0,c);wH(e,g+8|0,4);xH(a,f,e,c,4);$c=d;return}function lA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);g=d+8|0;f=d+4|0;e=d;qH(f,b+c|0,2,c);rH(g,b+(0-(c<<1))+1|0,c);sH(e,g+4|0,2);tH(a,f,e,c,2);$c=d;return}function mA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);g=d+16|0;f=d+8|0;e=d;mH(f,b+c|0,4,c);nH(g,b+(0-(c<<1))+2|0,c);oH(e,g+8|0,4);pH(a,f,e,c,4);$c=d;return}function nA(a,b,c){a=a|0;b=b|0;c=c|0;lH(a,b,c);return}function oA(a,b,c){a=a|0;b=b|0;c=c|0;kH(a,b,c);return}function pA(a,b,c){a=a|0;b=b|0;c=c|0;jH(a,b,c);return}function qA(a,b,c){a=a|0;b=b|0;c=c|0;iH(a,b,c);return}function rA(a,b,c){a=a|0;b=b|0;c=c|0;hH(a,b,c);return}function sA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+512|0;if(($c|0)>=(ad|0))N(512);e=d;LG(e,b,32,c);OG(a,b,e,c,c);$c=d;return}function tA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+512|0;if(($c|0)>=(ad|0))N(512);e=d;HG(e,b,32,c);KG(a,b,e,c,c);$c=d;return}function uA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+512|0;if(($c|0)>=(ad|0))N(512);e=d;DG(e,b,32,c);GG(a,b,e,c,c);$c=d;return}function vA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+256|0;if(($c|0)>=(ad|0))N(256);e=d;zG(e,b,16,c);CG(a,b,e,c,c);$c=d;return}function wA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+512|0;if(($c|0)>=(ad|0))N(512);e=d;vG(e,b,32,c);yG(a,b,e,c,c);$c=d;return}function xA(a,b,c){a=a|0;b=b|0;c=c|0;gH(a,b,c,c);return}function yA(a,b,c){a=a|0;b=b|0;c=c|0;fH(a,b,c,c);return}function zA(a,b,c){a=a|0;b=b|0;c=c|0;eH(a,b,c,c);return}function AA(a,b,c){a=a|0;b=b|0;c=c|0;dH(a,b,c,c);return}function BA(a,b,c){a=a|0;b=b|0;c=c|0;cH(a,b,c,c);return}function CA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+512|0;if(($c|0)>=(ad|0))N(512);e=d;LG(e,b,32,c);OG(a,b+2|0,e,c,c);$c=d;return}function DA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+512|0;if(($c|0)>=(ad|0))N(512);e=d;HG(e,b,32,c);KG(a,b+2|0,e,c,c);$c=d;return}function EA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+512|0;if(($c|0)>=(ad|0))N(512);e=d;DG(e,b,32,c);GG(a,b+2|0,e,c,c);$c=d;return}function FA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+256|0;if(($c|0)>=(ad|0))N(256);e=d;zG(e,b,16,c);CG(a,b+1|0,e,c,c);$c=d;return}function GA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+512|0;if(($c|0)>=(ad|0))N(512);e=d;vG(e,b,32,c);yG(a,b+2|0,e,c,c);$c=d;return}function HA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1184|0;if(($c|0)>=(ad|0))N(1184);g=d+512|0;e=d;f=g+64|0;MG(g,b+(0-(c<<1))|0,c);NG(e,f,32);OG(a,f,e,c,32);$c=d;return}function IA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1184|0;if(($c|0)>=(ad|0))N(1184);g=d+512|0;e=d;f=g+64|0;IG(g,b+(0-(c<<1))|0,c);JG(e,f,32);KG(a,f,e,c,32);$c=d;return}function JA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1184|0;if(($c|0)>=(ad|0))N(1184);g=d+512|0;e=d;f=g+64|0;EG(g,b+(0-(c<<1))|0,c);FG(e,f,32);GG(a,f,e,c,32);$c=d;return}function KA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+592|0;if(($c|0)>=(ad|0))N(592);g=d+256|0;e=d;f=g+32|0;AG(g,b+(0-(c<<1))|0,c);BG(e,f,16);CG(a,f,e,c,16);$c=d;return}function LA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1184|0;if(($c|0)>=(ad|0))N(1184);g=d+512|0;e=d;f=g+64|0;wG(g,b+(0-(c<<1))|0,c);xG(e,f,32);yG(a,f,e,c,32);$c=d;return}function MA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1696|0;if(($c|0)>=(ad|0))N(1696);g=d+1024|0;f=d+512|0;e=d;LG(f,b,32,c);MG(g,b+(0-(c<<1))|0,c);NG(e,g+64|0,32);OG(a,f,e,c,32);$c=d;return}function NA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1696|0;if(($c|0)>=(ad|0))N(1696);g=d+1024|0;f=d+512|0;e=d;HG(f,b,32,c);IG(g,b+(0-(c<<1))|0,c);JG(e,g+64|0,32);KG(a,f,e,c,32);$c=d;return}function OA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1696|0;if(($c|0)>=(ad|0))N(1696);g=d+1024|0;f=d+512|0;e=d;DG(f,b,32,c);EG(g,b+(0-(c<<1))|0,c);FG(e,g+64|0,32);GG(a,f,e,c,32);$c=d;return}function PA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+848|0;if(($c|0)>=(ad|0))N(848);g=d+512|0;f=d+256|0;e=d;zG(f,b,16,c);AG(g,b+(0-(c<<1))|0,c);BG(e,g+32|0,16);CG(a,f,e,c,16);$c=d;return}function QA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1696|0;if(($c|0)>=(ad|0))N(1696);g=d+1024|0;f=d+512|0;e=d;vG(f,b,32,c);wG(g,b+(0-(c<<1))|0,c);xG(e,g+64|0,32);yG(a,f,e,c,32);$c=d;return}function RA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+3712|0;if(($c|0)>=(ad|0))N(3712);f=d+3200|0;e=d+2688|0;LG(f,b,32,c);TG(e,d,b,32,c);OG(a,f,e,c,32);$c=d;return}function SA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+3712|0;if(($c|0)>=(ad|0))N(3712);f=d+3200|0;e=d+2688|0;HG(f,b,32,c);SG(e,d,b,32,c);KG(a,f,e,c,32);$c=d;return}function TA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+2368|0;if(($c|0)>=(ad|0))N(2368);f=d+1856|0;e=d+1344|0;DG(f,b,32,c);RG(e,d,b,32,c);GG(a,f,e,c,32);$c=d;return}function UA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+1184|0;if(($c|0)>=(ad|0))N(1184);f=d+928|0;e=d+672|0;zG(f,b,16,c);QG(e,d,b,16,c);CG(a,f,e,c,16);$c=d;return}function VA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+2368|0;if(($c|0)>=(ad|0))N(2368);f=d+1856|0;e=d+1344|0;vG(f,b,32,c);PG(e,d,b,32,c);yG(a,f,e,c,32);$c=d;return}function WA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1696|0;if(($c|0)>=(ad|0))N(1696);g=d+1024|0;f=d+512|0;e=d;LG(f,b,32,c);MG(g,b+(0-(c<<1))+2|0,c);NG(e,g+64|0,32);OG(a,f,e,c,32);$c=d;return}function XA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1696|0;if(($c|0)>=(ad|0))N(1696);g=d+1024|0;f=d+512|0;e=d;HG(f,b,32,c);IG(g,b+(0-(c<<1))+2|0,c);JG(e,g+64|0,32);KG(a,f,e,c,32);$c=d;return}function YA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1696|0;if(($c|0)>=(ad|0))N(1696);g=d+1024|0;f=d+512|0;e=d;DG(f,b,32,c);EG(g,b+(0-(c<<1))+2|0,c);FG(e,g+64|0,32);GG(a,f,e,c,32);$c=d;return}function ZA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+848|0;if(($c|0)>=(ad|0))N(848);g=d+512|0;f=d+256|0;e=d;zG(f,b,16,c);AG(g,b+(0-(c<<1))+1|0,c);BG(e,g+32|0,16);CG(a,f,e,c,16);$c=d;return}function _A(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1696|0;if(($c|0)>=(ad|0))N(1696);g=d+1024|0;f=d+512|0;e=d;vG(f,b,32,c);wG(g,b+(0-(c<<1))+2|0,c);xG(e,g+64|0,32);yG(a,f,e,c,32);$c=d;return}function $A(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+672|0;if(($c|0)>=(ad|0))N(672);e=d;MG(e,b+(0-(c<<1))|0,c);bH(a,e+64|0,c);$c=d;return}function aB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+672|0;if(($c|0)>=(ad|0))N(672);e=d;IG(e,b+(0-(c<<1))|0,c);aH(a,e+64|0,c);$c=d;return}function bB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+672|0;if(($c|0)>=(ad|0))N(672);e=d;EG(e,b+(0-(c<<1))|0,c);$G(a,e+64|0,c);$c=d;return}function cB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+336|0;if(($c|0)>=(ad|0))N(336);e=d;AG(e,b+(0-(c<<1))|0,c);_G(a,e+32|0,c);$c=d;return}function dB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+672|0;if(($c|0)>=(ad|0))N(672);e=d;wG(e,b+(0-(c<<1))|0,c);ZG(a,e+64|0,c);$c=d;return}function eB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+4384|0;if(($c|0)>=(ad|0))N(4384);g=d+3712|0;f=d+3200|0;e=d+2688|0;MG(g,b+(0-(c<<1))|0,c);NG(f,g+64|0,32);TG(e,d,b,32,c);OG(a,f,e,c,32);$c=d;return}function fB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+4384|0;if(($c|0)>=(ad|0))N(4384);g=d+3712|0;f=d+3200|0;e=d+2688|0;IG(g,b+(0-(c<<1))|0,c);JG(f,g+64|0,32);SG(e,d,b,32,c);KG(a,f,e,c,32);$c=d;return}function gB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+3040|0;if(($c|0)>=(ad|0))N(3040);g=d+2368|0;f=d+1856|0;e=d+1344|0;EG(g,b+(0-(c<<1))|0,c);FG(f,g+64|0,32);RG(e,d,b,32,c);GG(a,f,e,c,32);$c=d;return}function hB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1520|0;if(($c|0)>=(ad|0))N(1520);g=d+1184|0;f=d+928|0;e=d+672|0;AG(g,b+(0-(c<<1))|0,c);BG(f,g+32|0,16);QG(e,d,b,16,c);CG(a,f,e,c,16);$c=d;return}function iB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+3040|0;if(($c|0)>=(ad|0))N(3040);g=d+2368|0;f=d+1856|0;e=d+1344|0;wG(g,b+(0-(c<<1))|0,c);xG(f,g+64|0,32);PG(e,d,b,32,c);yG(a,f,e,c,32);$c=d;return}function jB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+2688|0;if(($c|0)>=(ad|0))N(2688);YG(a,d,b,c,c);$c=d;return}function kB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+2688|0;if(($c|0)>=(ad|0))N(2688);XG(a,d,b,c,c);$c=d;return}function lB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+1344|0;if(($c|0)>=(ad|0))N(1344);WG(a,d,b,c,c);$c=d;return}function mB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+672|0;if(($c|0)>=(ad|0))N(672);VG(a,d,b,c,c);$c=d;return}function nB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+1344|0;if(($c|0)>=(ad|0))N(1344);UG(a,d,b,c,c);$c=d;return}function oB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+4384|0;if(($c|0)>=(ad|0))N(4384);g=d+3712|0;f=d+3200|0;e=d+2688|0;MG(g,b+(0-(c<<1))+2|0,c);NG(f,g+64|0,32);TG(e,d,b,32,c);OG(a,f,e,c,32);$c=d;return}function pB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+4384|0;if(($c|0)>=(ad|0))N(4384);g=d+3712|0;f=d+3200|0;e=d+2688|0;IG(g,b+(0-(c<<1))+2|0,c);JG(f,g+64|0,32);SG(e,d,b,32,c);KG(a,f,e,c,32);$c=d;return}function qB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+3040|0;if(($c|0)>=(ad|0))N(3040);g=d+2368|0;f=d+1856|0;e=d+1344|0;EG(g,b+(0-(c<<1))+2|0,c);FG(f,g+64|0,32);RG(e,d,b,32,c);GG(a,f,e,c,32);$c=d;return}function rB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1520|0;if(($c|0)>=(ad|0))N(1520);g=d+1184|0;f=d+928|0;e=d+672|0;AG(g,b+(0-(c<<1))+1|0,c);BG(f,g+32|0,16);QG(e,d,b,16,c);CG(a,f,e,c,16);$c=d;return}function sB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+3040|0;if(($c|0)>=(ad|0))N(3040);g=d+2368|0;f=d+1856|0;e=d+1344|0;wG(g,b+(0-(c<<1))+2|0,c);xG(f,g+64|0,32);PG(e,d,b,32,c);yG(a,f,e,c,32);$c=d;return}function tB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+1184|0;if(($c|0)>=(ad|0))N(1184);f=d+512|0;e=d;MG(f,b+(0-(c<<1))|0,c);NG(e,f+64|0,32);OG(a,f+96|0,e,c,32);$c=d;return}function uB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+1184|0;if(($c|0)>=(ad|0))N(1184);f=d+512|0;e=d;IG(f,b+(0-(c<<1))|0,c);JG(e,f+64|0,32);KG(a,f+96|0,e,c,32);$c=d;return}function vB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+1184|0;if(($c|0)>=(ad|0))N(1184);f=d+512|0;e=d;EG(f,b+(0-(c<<1))|0,c);FG(e,f+64|0,32);GG(a,f+96|0,e,c,32);$c=d;return}function wB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+592|0;if(($c|0)>=(ad|0))N(592);f=d+256|0;e=d;AG(f,b+(0-(c<<1))|0,c);BG(e,f+32|0,16);CG(a,f+48|0,e,c,16);$c=d;return}function xB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+1184|0;if(($c|0)>=(ad|0))N(1184);f=d+512|0;e=d;wG(f,b+(0-(c<<1))|0,c);xG(e,f+64|0,32);yG(a,f+96|0,e,c,32);$c=d;return}function yB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1696|0;if(($c|0)>=(ad|0))N(1696);g=d+1024|0;f=d+512|0;e=d;LG(f,b+c|0,32,c);MG(g,b+(0-(c<<1))|0,c);NG(e,g+64|0,32);OG(a,f,e,c,32);$c=d;return}function zB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1696|0;if(($c|0)>=(ad|0))N(1696);g=d+1024|0;f=d+512|0;e=d;HG(f,b+c|0,32,c);IG(g,b+(0-(c<<1))|0,c);JG(e,g+64|0,32);KG(a,f,e,c,32);$c=d;return}function AB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1696|0;if(($c|0)>=(ad|0))N(1696);g=d+1024|0;f=d+512|0;e=d;DG(f,b+c|0,32,c);EG(g,b+(0-(c<<1))|0,c);FG(e,g+64|0,32);GG(a,f,e,c,32);$c=d;return}function BB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+848|0;if(($c|0)>=(ad|0))N(848);g=d+512|0;f=d+256|0;e=d;zG(f,b+c|0,16,c);AG(g,b+(0-(c<<1))|0,c);BG(e,g+32|0,16);CG(a,f,e,c,16);$c=d;return}function CB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1696|0;if(($c|0)>=(ad|0))N(1696);g=d+1024|0;f=d+512|0;e=d;vG(f,b+c|0,32,c);wG(g,b+(0-(c<<1))|0,c);xG(e,g+64|0,32);yG(a,f,e,c,32);$c=d;return}function DB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+3712|0;if(($c|0)>=(ad|0))N(3712);f=d+3200|0;e=d+2688|0;LG(f,b+c|0,32,c);TG(e,d,b,32,c);OG(a,f,e,c,32);$c=d;return}function EB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+3712|0;if(($c|0)>=(ad|0))N(3712);f=d+3200|0;e=d+2688|0;HG(f,b+c|0,32,c);SG(e,d,b,32,c);KG(a,f,e,c,32);$c=d;return}function FB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+2368|0;if(($c|0)>=(ad|0))N(2368);f=d+1856|0;e=d+1344|0;DG(f,b+c|0,32,c);RG(e,d,b,32,c);GG(a,f,e,c,32);$c=d;return}function GB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+1184|0;if(($c|0)>=(ad|0))N(1184);f=d+928|0;e=d+672|0;zG(f,b+c|0,16,c);QG(e,d,b,16,c);CG(a,f,e,c,16);$c=d;return}function HB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+2368|0;if(($c|0)>=(ad|0))N(2368);f=d+1856|0;e=d+1344|0;vG(f,b+c|0,32,c);PG(e,d,b,32,c);yG(a,f,e,c,32);$c=d;return}function IB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1696|0;if(($c|0)>=(ad|0))N(1696);g=d+1024|0;f=d+512|0;e=d;LG(f,b+c|0,32,c);MG(g,b+(0-(c<<1))+2|0,c);NG(e,g+64|0,32);OG(a,f,e,c,32);$c=d;return}function JB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1696|0;if(($c|0)>=(ad|0))N(1696);g=d+1024|0;f=d+512|0;e=d;HG(f,b+c|0,32,c);IG(g,b+(0-(c<<1))+2|0,c);JG(e,g+64|0,32);KG(a,f,e,c,32);$c=d;return}function KB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1696|0;if(($c|0)>=(ad|0))N(1696);g=d+1024|0;f=d+512|0;e=d;DG(f,b+c|0,32,c);EG(g,b+(0-(c<<1))+2|0,c);FG(e,g+64|0,32);GG(a,f,e,c,32);$c=d;return}function LB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+848|0;if(($c|0)>=(ad|0))N(848);g=d+512|0;f=d+256|0;e=d;zG(f,b+c|0,16,c);AG(g,b+(0-(c<<1))+1|0,c);BG(e,g+32|0,16);CG(a,f,e,c,16);$c=d;return}function MB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1696|0;if(($c|0)>=(ad|0))N(1696);g=d+1024|0;f=d+512|0;e=d;vG(f,b+c|0,32,c);wG(g,b+(0-(c<<1))+2|0,c);xG(e,g+64|0,32);yG(a,f,e,c,32);$c=d;return}function NB(a,b,c){a=a|0;b=b|0;c=c|0;uG(a,b,c,8);return}function OB(a,b,c){a=a|0;b=b|0;c=c|0;tG(a,b,c,8);return}function PB(a,b,c){a=a|0;b=b|0;c=c|0;sG(a,b,c,8);return}function QB(a,b,c){a=a|0;b=b|0;c=c|0;rG(a,b,c,8);return}function RB(a,b,c){a=a|0;b=b|0;c=c|0;qG(a,b,c,8);return}function SB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+128|0;if(($c|0)>=(ad|0))N(128);e=d;UF(e,b,16,c);XF(a,b,e,c,c,16,8);$c=d;return}function TB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+128|0;if(($c|0)>=(ad|0))N(128);e=d;QF(e,b,16,c);TF(a,b,e,c,c,16,8);$c=d;return}function UB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+128|0;if(($c|0)>=(ad|0))N(128);e=d;MF(e,b,16,c);PF(a,b,e,c,c,16,8);$c=d;return}function VB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+64|0;if(($c|0)>=(ad|0))N(64);e=d;IF(e,b,8,c);LF(a,b,e,c,c,8,8);$c=d;return}function WB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+128|0;if(($c|0)>=(ad|0))N(128);e=d;EF(e,b,16,c);HF(a,b,e,c,c,16,8);$c=d;return}function XB(a,b,c){a=a|0;b=b|0;c=c|0;pG(a,b,c,c);return}function YB(a,b,c){a=a|0;b=b|0;c=c|0;oG(a,b,c,c);return}function ZB(a,b,c){a=a|0;b=b|0;c=c|0;nG(a,b,c,c);return}function _B(a,b,c){a=a|0;b=b|0;c=c|0;mG(a,b,c,c);return}function $B(a,b,c){a=a|0;b=b|0;c=c|0;lG(a,b,c,c);return}function aC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+128|0;if(($c|0)>=(ad|0))N(128);e=d;UF(e,b,16,c);XF(a,b+2|0,e,c,c,16,8);$c=d;return}function bC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+128|0;if(($c|0)>=(ad|0))N(128);e=d;QF(e,b,16,c);TF(a,b+2|0,e,c,c,16,8);$c=d;return}function cC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+128|0;if(($c|0)>=(ad|0))N(128);e=d;MF(e,b,16,c);PF(a,b+2|0,e,c,c,16,8);$c=d;return}function dC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+64|0;if(($c|0)>=(ad|0))N(64);e=d;IF(e,b,8,c);LF(a,b+1|0,e,c,c,8,8);$c=d;return}function eC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+128|0;if(($c|0)>=(ad|0))N(128);e=d;EF(e,b,16,c);HF(a,b+2|0,e,c,c,16,8);$c=d;return}function fC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+336|0;if(($c|0)>=(ad|0))N(336);g=d+128|0;e=d;f=g+32|0;VF(g,b+(0-(c<<1))|0,c);WF(e,f,16,16);XF(a,f,e,c,16,16,8);$c=d;return}function gC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+336|0;if(($c|0)>=(ad|0))N(336);g=d+128|0;e=d;f=g+32|0;RF(g,b+(0-(c<<1))|0,c);SF(e,f,16,16);TF(a,f,e,c,16,16,8);$c=d;return}function hC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+336|0;if(($c|0)>=(ad|0))N(336);g=d+128|0;e=d;f=g+32|0;NF(g,b+(0-(c<<1))|0,c);OF(e,f,16,16);PF(a,f,e,c,16,16,8);$c=d;return}function iC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+176|0;if(($c|0)>=(ad|0))N(176);g=d+64|0;e=d;f=g+16|0;JF(g,b+(0-(c<<1))|0,c);KF(e,f,8,8);LF(a,f,e,c,8,8,8);$c=d;return}function jC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+336|0;if(($c|0)>=(ad|0))N(336);g=d+128|0;e=d;f=g+32|0;FF(g,b+(0-(c<<1))|0,c);GF(e,f,16,16);HF(a,f,e,c,16,16,8);$c=d;return}function kC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+464|0;if(($c|0)>=(ad|0))N(464);g=d+256|0;f=d+128|0;e=d;UF(f,b,16,c);VF(g,b+(0-(c<<1))|0,c);WF(e,g+32|0,16,16);XF(a,f,e,c,16,16,8);$c=d;return}function lC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+464|0;if(($c|0)>=(ad|0))N(464);g=d+256|0;f=d+128|0;e=d;QF(f,b,16,c);RF(g,b+(0-(c<<1))|0,c);SF(e,g+32|0,16,16);TF(a,f,e,c,16,16,8);$c=d;return}function mC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+464|0;if(($c|0)>=(ad|0))N(464);g=d+256|0;f=d+128|0;e=d;MF(f,b,16,c);NF(g,b+(0-(c<<1))|0,c);OF(e,g+32|0,16,16);PF(a,f,e,c,16,16,8);$c=d;return}function nC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+240|0;if(($c|0)>=(ad|0))N(240);g=d+128|0;f=d+64|0;e=d;IF(f,b,8,c);JF(g,b+(0-(c<<1))|0,c);KF(e,g+16|0,8,8);LF(a,f,e,c,8,8,8);$c=d;return}function oC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+464|0;if(($c|0)>=(ad|0))N(464);g=d+256|0;f=d+128|0;e=d;EF(f,b,16,c);FF(g,b+(0-(c<<1))|0,c);GF(e,g+32|0,16,16);HF(a,f,e,c,16,16,8);$c=d;return}function pC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+1088|0;if(($c|0)>=(ad|0))N(1088);f=d+960|0;e=d+832|0;UF(f,b,16,c);aG(e,d,b,16,16,c);XF(a,f,e,c,16,16,8);$c=d;return}function qC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+1088|0;if(($c|0)>=(ad|0))N(1088);f=d+960|0;e=d+832|0;QF(f,b,16,c);$F(e,d,b,16,16,c);TF(a,f,e,c,16,16,8);$c=d;return}function rC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+672|0;if(($c|0)>=(ad|0))N(672);f=d+544|0;e=d+416|0;MF(f,b,16,c);_F(e,d,b,16,16,c);PF(a,f,e,c,16,16,8);$c=d;return}function sC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+336|0;if(($c|0)>=(ad|0))N(336);f=d+272|0;e=d+208|0;IF(f,b,8,c);ZF(e,d,b,8,8,c);LF(a,f,e,c,8,8,8);$c=d;return}function tC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+672|0;if(($c|0)>=(ad|0))N(672);f=d+544|0;e=d+416|0;EF(f,b,16,c);YF(e,d,b,16,16,c);HF(a,f,e,c,16,16,8);$c=d;return}function uC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+464|0;if(($c|0)>=(ad|0))N(464);g=d+256|0;f=d+128|0;e=d;UF(f,b,16,c);VF(g,b+(0-(c<<1))+2|0,c);WF(e,g+32|0,16,16);XF(a,f,e,c,16,16,8);$c=d;return}function vC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+464|0;if(($c|0)>=(ad|0))N(464);g=d+256|0;f=d+128|0;e=d;QF(f,b,16,c);RF(g,b+(0-(c<<1))+2|0,c);SF(e,g+32|0,16,16);TF(a,f,e,c,16,16,8);$c=d;return}function wC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+464|0;if(($c|0)>=(ad|0))N(464);g=d+256|0;f=d+128|0;e=d;MF(f,b,16,c);NF(g,b+(0-(c<<1))+2|0,c);OF(e,g+32|0,16,16);PF(a,f,e,c,16,16,8);$c=d;return}function xC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+240|0;if(($c|0)>=(ad|0))N(240);g=d+128|0;f=d+64|0;e=d;IF(f,b,8,c);JF(g,b+(0-(c<<1))+1|0,c);KF(e,g+16|0,8,8);LF(a,f,e,c,8,8,8);$c=d;return}function yC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+464|0;if(($c|0)>=(ad|0))N(464);g=d+256|0;f=d+128|0;e=d;EF(f,b,16,c);FF(g,b+(0-(c<<1))+2|0,c);GF(e,g+32|0,16,16);HF(a,f,e,c,16,16,8);$c=d;return}function zC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+208|0;if(($c|0)>=(ad|0))N(208);e=d;VF(e,b+(0-(c<<1))|0,c);kG(a,e+32|0,c,16);$c=d;return}function AC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+208|0;if(($c|0)>=(ad|0))N(208);e=d;RF(e,b+(0-(c<<1))|0,c);jG(a,e+32|0,c,16);$c=d;return}function BC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+208|0;if(($c|0)>=(ad|0))N(208);e=d;NF(e,b+(0-(c<<1))|0,c);iG(a,e+32|0,c,16);$c=d;return}function CC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+112|0;if(($c|0)>=(ad|0))N(112);e=d;JF(e,b+(0-(c<<1))|0,c);hG(a,e+16|0,c,8);$c=d;return}function DC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+208|0;if(($c|0)>=(ad|0))N(208);e=d;FF(e,b+(0-(c<<1))|0,c);gG(a,e+32|0,c,16);$c=d;return}function EC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1296|0;if(($c|0)>=(ad|0))N(1296);g=d+1088|0;f=d+960|0;e=d+832|0;VF(g,b+(0-(c<<1))|0,c);WF(f,g+32|0,16,16);aG(e,d,b,16,16,c);XF(a,f,e,c,16,16,8);$c=d;return}function FC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1296|0;if(($c|0)>=(ad|0))N(1296);g=d+1088|0;f=d+960|0;e=d+832|0;RF(g,b+(0-(c<<1))|0,c);SF(f,g+32|0,16,16);$F(e,d,b,16,16,c);TF(a,f,e,c,16,16,8);$c=d;return}function GC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+880|0;if(($c|0)>=(ad|0))N(880);g=d+672|0;f=d+544|0;e=d+416|0;NF(g,b+(0-(c<<1))|0,c);OF(f,g+32|0,16,16);_F(e,d,b,16,16,c);PF(a,f,e,c,16,16,8);$c=d;return}function HC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+448|0;if(($c|0)>=(ad|0))N(448);g=d+336|0;f=d+272|0;e=d+208|0;JF(g,b+(0-(c<<1))|0,c);KF(f,g+16|0,8,8);ZF(e,d,b,8,8,c);LF(a,f,e,c,8,8,8);$c=d;return}function IC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+880|0;if(($c|0)>=(ad|0))N(880);g=d+672|0;f=d+544|0;e=d+416|0;FF(g,b+(0-(c<<1))|0,c);GF(f,g+32|0,16,16);YF(e,d,b,16,16,c);HF(a,f,e,c,16,16,8);$c=d;return}function JC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+832|0;if(($c|0)>=(ad|0))N(832);fG(a,d,b,c,16,c);$c=d;return}function KC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+832|0;if(($c|0)>=(ad|0))N(832);eG(a,d,b,c,16,c);$c=d;return}function LC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+416|0;if(($c|0)>=(ad|0))N(416);dG(a,d,b,c,16,c);$c=d;return}function MC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+208|0;if(($c|0)>=(ad|0))N(208);cG(a,d,b,c,8,c);$c=d;return}function NC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+416|0;if(($c|0)>=(ad|0))N(416);bG(a,d,b,c,16,c);$c=d;return}function OC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1296|0;if(($c|0)>=(ad|0))N(1296);g=d+1088|0;f=d+960|0;e=d+832|0;VF(g,b+(0-(c<<1))+2|0,c);WF(f,g+32|0,16,16);aG(e,d,b,16,16,c);XF(a,f,e,c,16,16,8);$c=d;return}function PC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+1296|0;if(($c|0)>=(ad|0))N(1296);g=d+1088|0;f=d+960|0;e=d+832|0;RF(g,b+(0-(c<<1))+2|0,c);SF(f,g+32|0,16,16);$F(e,d,b,16,16,c);TF(a,f,e,c,16,16,8);$c=d;return}function QC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+880|0;if(($c|0)>=(ad|0))N(880);g=d+672|0;f=d+544|0;e=d+416|0;NF(g,b+(0-(c<<1))+2|0,c);OF(f,g+32|0,16,16);_F(e,d,b,16,16,c);PF(a,f,e,c,16,16,8);$c=d;return}function RC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+448|0;if(($c|0)>=(ad|0))N(448);g=d+336|0;f=d+272|0;e=d+208|0;JF(g,b+(0-(c<<1))+1|0,c);KF(f,g+16|0,8,8);ZF(e,d,b,8,8,c);LF(a,f,e,c,8,8,8);$c=d;return}function SC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+880|0;if(($c|0)>=(ad|0))N(880);g=d+672|0;f=d+544|0;e=d+416|0;FF(g,b+(0-(c<<1))+2|0,c);GF(f,g+32|0,16,16);YF(e,d,b,16,16,c);HF(a,f,e,c,16,16,8);$c=d;return}function TC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+336|0;if(($c|0)>=(ad|0))N(336);f=d+128|0;e=d;VF(f,b+(0-(c<<1))|0,c);WF(e,f+32|0,16,16);XF(a,f+48|0,e,c,16,16,8);$c=d;return}function UC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+336|0;if(($c|0)>=(ad|0))N(336);f=d+128|0;e=d;RF(f,b+(0-(c<<1))|0,c);SF(e,f+32|0,16,16);TF(a,f+48|0,e,c,16,16,8);$c=d;return}function VC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+336|0;if(($c|0)>=(ad|0))N(336);f=d+128|0;e=d;NF(f,b+(0-(c<<1))|0,c);OF(e,f+32|0,16,16);PF(a,f+48|0,e,c,16,16,8);$c=d;return}function WC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+176|0;if(($c|0)>=(ad|0))N(176);f=d+64|0;e=d;JF(f,b+(0-(c<<1))|0,c);KF(e,f+16|0,8,8);LF(a,f+24|0,e,c,8,8,8);$c=d;return}function XC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+336|0;if(($c|0)>=(ad|0))N(336);f=d+128|0;e=d;FF(f,b+(0-(c<<1))|0,c);GF(e,f+32|0,16,16);HF(a,f+48|0,e,c,16,16,8);$c=d;return}function YC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+464|0;if(($c|0)>=(ad|0))N(464);g=d+256|0;f=d+128|0;e=d;UF(f,b+c|0,16,c);VF(g,b+(0-(c<<1))|0,c);WF(e,g+32|0,16,16);XF(a,f,e,c,16,16,8);$c=d;return}function ZC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+464|0;if(($c|0)>=(ad|0))N(464);g=d+256|0;f=d+128|0;e=d;QF(f,b+c|0,16,c);RF(g,b+(0-(c<<1))|0,c);SF(e,g+32|0,16,16);TF(a,f,e,c,16,16,8);$c=d;return}function _C(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+464|0;if(($c|0)>=(ad|0))N(464);g=d+256|0;f=d+128|0;e=d;MF(f,b+c|0,16,c);NF(g,b+(0-(c<<1))|0,c);OF(e,g+32|0,16,16);PF(a,f,e,c,16,16,8);$c=d;return}function $C(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+240|0;if(($c|0)>=(ad|0))N(240);g=d+128|0;f=d+64|0;e=d;IF(f,b+c|0,8,c);JF(g,b+(0-(c<<1))|0,c);KF(e,g+16|0,8,8);LF(a,f,e,c,8,8,8);$c=d;return}function aD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+464|0;if(($c|0)>=(ad|0))N(464);g=d+256|0;f=d+128|0;e=d;EF(f,b+c|0,16,c);FF(g,b+(0-(c<<1))|0,c);GF(e,g+32|0,16,16);HF(a,f,e,c,16,16,8);$c=d;return}function bD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+1088|0;if(($c|0)>=(ad|0))N(1088);f=d+960|0;e=d+832|0;UF(f,b+c|0,16,c);aG(e,d,b,16,16,c);XF(a,f,e,c,16,16,8);$c=d;return}function cD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+1088|0;if(($c|0)>=(ad|0))N(1088);f=d+960|0;e=d+832|0;QF(f,b+c|0,16,c);$F(e,d,b,16,16,c);TF(a,f,e,c,16,16,8);$c=d;return}function dD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+672|0;if(($c|0)>=(ad|0))N(672);f=d+544|0;e=d+416|0;MF(f,b+c|0,16,c);_F(e,d,b,16,16,c);PF(a,f,e,c,16,16,8);$c=d;return}function eD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+336|0;if(($c|0)>=(ad|0))N(336);f=d+272|0;e=d+208|0;IF(f,b+c|0,8,c);ZF(e,d,b,8,8,c);LF(a,f,e,c,8,8,8);$c=d;return}function fD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+672|0;if(($c|0)>=(ad|0))N(672);f=d+544|0;e=d+416|0;EF(f,b+c|0,16,c);YF(e,d,b,16,16,c);HF(a,f,e,c,16,16,8);$c=d;return}function gD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+464|0;if(($c|0)>=(ad|0))N(464);g=d+256|0;f=d+128|0;e=d;UF(f,b+c|0,16,c);VF(g,b+(0-(c<<1))+2|0,c);WF(e,g+32|0,16,16);XF(a,f,e,c,16,16,8);$c=d;return}function hD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+464|0;if(($c|0)>=(ad|0))N(464);g=d+256|0;f=d+128|0;e=d;QF(f,b+c|0,16,c);RF(g,b+(0-(c<<1))+2|0,c);SF(e,g+32|0,16,16);TF(a,f,e,c,16,16,8);$c=d;return}function iD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+464|0;if(($c|0)>=(ad|0))N(464);g=d+256|0;f=d+128|0;e=d;MF(f,b+c|0,16,c);NF(g,b+(0-(c<<1))+2|0,c);OF(e,g+32|0,16,16);PF(a,f,e,c,16,16,8);$c=d;return}function jD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+240|0;if(($c|0)>=(ad|0))N(240);g=d+128|0;f=d+64|0;e=d;IF(f,b+c|0,8,c);JF(g,b+(0-(c<<1))+1|0,c);KF(e,g+16|0,8,8);LF(a,f,e,c,8,8,8);$c=d;return}function kD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+464|0;if(($c|0)>=(ad|0))N(464);g=d+256|0;f=d+128|0;e=d;EF(f,b+c|0,16,c);FF(g,b+(0-(c<<1))+2|0,c);GF(e,g+32|0,16,16);HF(a,f,e,c,16,16,8);$c=d;return}function lD(a,b,c){a=a|0;b=b|0;c=c|0;DF(a,b,c);return}function mD(a,b,c){a=a|0;b=b|0;c=c|0;CF(a,b,c);return}function nD(a,b,c){a=a|0;b=b|0;c=c|0;BF(a,b,c);return}function oD(a,b,c){a=a|0;b=b|0;c=c|0;AF(a,b,c);return}function pD(a,b,c){a=a|0;b=b|0;c=c|0;zF(a,b,c);return}function qD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);e=d;bF(e,b,8,c);eF(a,b,e,c,c);$c=d;return}function rD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);e=d;ZE(e,b,8,c);aF(a,b,e,c,c);$c=d;return}function sD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);e=d;VE(e,b,8,c);YE(a,b,e,c,c);$c=d;return}function tD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=d;QE(e,b,4,c);TE(a,b,e,c,c);$c=d;return}function uD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);e=d;LE(e,b,8,c);OE(a,b,e,c,c);$c=d;return}function vD(a,b,c){a=a|0;b=b|0;c=c|0;yF(a,b,c,c);return}function wD(a,b,c){a=a|0;b=b|0;c=c|0;xF(a,b,c,c);return}function xD(a,b,c){a=a|0;b=b|0;c=c|0;wF(a,b,c,c);return}function yD(a,b,c){a=a|0;b=b|0;c=c|0;vF(a,b,c,c);return}function zD(a,b,c){a=a|0;b=b|0;c=c|0;uF(a,b,c,c);return}function AD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);e=d;bF(e,b,8,c);eF(a,b+2|0,e,c,c);$c=d;return}function BD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);e=d;ZE(e,b,8,c);aF(a,b+2|0,e,c,c);$c=d;return}function CD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);e=d;VE(e,b,8,c);YE(a,b+2|0,e,c,c);$c=d;return}function DD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=d;QE(e,b,4,c);TE(a,b+1|0,e,c,c);$c=d;return}function ED(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);e=d;LE(e,b,8,c);OE(a,b+2|0,e,c,c);$c=d;return}function FD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+112|0;if(($c|0)>=(ad|0))N(112);g=d+32|0;e=d;f=g+16|0;cF(g,b+(0-(c<<1))|0,c);dF(e,f,8);eF(a,f,e,c,8);$c=d;return}function GD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+112|0;if(($c|0)>=(ad|0))N(112);g=d+32|0;e=d;f=g+16|0;_E(g,b+(0-(c<<1))|0,c);$E(e,f,8);aF(a,f,e,c,8);$c=d;return}function HD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+112|0;if(($c|0)>=(ad|0))N(112);g=d+32|0;e=d;f=g+16|0;WE(g,b+(0-(c<<1))|0,c);XE(e,f,8);YE(a,f,e,c,8);$c=d;return}function ID(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+64|0;if(($c|0)>=(ad|0))N(64);g=d+16|0;e=d;f=g+8|0;RE(g,b+(0-(c<<1))|0,c);SE(e,f,4);TE(a,f,e,c,4);$c=d;return}function JD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+112|0;if(($c|0)>=(ad|0))N(112);g=d+32|0;e=d;f=g+16|0;ME(g,b+(0-(c<<1))|0,c);NE(e,f,8);OE(a,f,e,c,8);$c=d;return}function KD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+64|0;f=d+32|0;e=d;bF(f,b,8,c);cF(g,b+(0-(c<<1))|0,c);dF(e,g+16|0,8);eF(a,f,e,c,8);$c=d;return}function LD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+64|0;f=d+32|0;e=d;ZE(f,b,8,c);_E(g,b+(0-(c<<1))|0,c);$E(e,g+16|0,8);aF(a,f,e,c,8);$c=d;return}function MD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+64|0;f=d+32|0;e=d;VE(f,b,8,c);WE(g,b+(0-(c<<1))|0,c);XE(e,g+16|0,8);YE(a,f,e,c,8);$c=d;return}function ND(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+80|0;if(($c|0)>=(ad|0))N(80);g=d+32|0;f=d+16|0;e=d;QE(f,b,4,c);RE(g,b+(0-(c<<1))|0,c);SE(e,g+8|0,4);TE(a,f,e,c,4);$c=d;return}function OD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+64|0;f=d+32|0;e=d;LE(f,b,8,c);ME(g,b+(0-(c<<1))|0,c);NE(e,g+16|0,8);OE(a,f,e,c,8);$c=d;return}function PD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+352|0;if(($c|0)>=(ad|0))N(352);f=d+320|0;e=d+288|0;bF(f,b,8,c);jF(e,d,b,8,c);eF(a,f,e,c,8);$c=d;return}function QD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+352|0;if(($c|0)>=(ad|0))N(352);f=d+320|0;e=d+288|0;ZE(f,b,8,c);iF(e,d,b,8,c);aF(a,f,e,c,8);$c=d;return}function RD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+208|0;if(($c|0)>=(ad|0))N(208);f=d+176|0;e=d+144|0;VE(f,b,8,c);hF(e,d,b,8,c);YE(a,f,e,c,8);$c=d;return}function SD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+112|0;if(($c|0)>=(ad|0))N(112);f=d+88|0;e=d+72|0;QE(f,b,4,c);gF(e,d,b,4,c);TE(a,f,e,c,4);$c=d;return}function TD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+208|0;if(($c|0)>=(ad|0))N(208);f=d+176|0;e=d+144|0;LE(f,b,8,c);fF(e,d,b,8,c);OE(a,f,e,c,8);$c=d;return}function UD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+64|0;f=d+32|0;e=d;bF(f,b,8,c);cF(g,b+(0-(c<<1))+2|0,c);dF(e,g+16|0,8);eF(a,f,e,c,8);$c=d;return}function VD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+64|0;f=d+32|0;e=d;ZE(f,b,8,c);_E(g,b+(0-(c<<1))+2|0,c);$E(e,g+16|0,8);aF(a,f,e,c,8);$c=d;return}function WD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+64|0;f=d+32|0;e=d;VE(f,b,8,c);WE(g,b+(0-(c<<1))+2|0,c);XE(e,g+16|0,8);YE(a,f,e,c,8);$c=d;return} +function wd(){df();QS();mV()}function xd(a){a=a|0;var b=0;b=$c;$c=$c+a|0;$c=$c+15&-16;if(($c|0)>=(ad|0))N(a|0);return b|0}function yd(){return $c|0}function zd(a){a=a|0;$c=a}function Ad(a,b){a=a|0;b=b|0;$c=a;ad=b}function Bd(){Mb();return 0}function Cd(a){a=a|0;var b=0;Pa(9560,9568,9584,0,120219,13,120222,0,120222,0,119486,174178,27);b=rV(8)|0;c[b>>2]=3;c[b+4>>2]=0;Ra(9560,119495,3,58800,120224,4,b|0,0);b=rV(8)|0;c[b>>2]=4;c[b+4>>2]=0;Ra(9560,119501,3,58812,120224,5,b|0,0);b=rV(8)|0;c[b>>2]=28;c[b+4>>2]=0;Ra(9560,119508,2,58824,120229,5,b|0,0);b=rV(8)|0;c[b>>2]=29;c[b+4>>2]=0;Ra(9560,119515,2,58824,120229,5,b|0,0);b=rV(8)|0;c[b>>2]=6;c[b+4>>2]=0;a=rV(8)|0;c[a>>2]=7;c[a+4>>2]=0;Sa(9560,119533,9552,120233,5,b|0,9552,120224,6,a|0);a=rV(8)|0;c[a>>2]=8;c[a+4>>2]=0;b=rV(8)|0;c[b>>2]=9;c[b+4>>2]=0;Sa(9560,119543,9552,120233,5,a|0,9552,120224,6,b|0);b=rV(8)|0;c[b>>2]=10;c[b+4>>2]=0;a=rV(8)|0;c[a>>2]=11;c[a+4>>2]=0;Sa(9560,119551,9552,120233,5,b|0,9552,120224,6,a|0);a=rV(8)|0;c[a>>2]=12;c[a+4>>2]=0;b=rV(8)|0;c[b>>2]=13;c[b+4>>2]=0;Sa(9560,119563,9552,120233,5,a|0,9552,120224,6,b|0);b=rV(8)|0;c[b>>2]=14;c[b+4>>2]=0;a=rV(8)|0;c[a>>2]=15;c[a+4>>2]=0;Sa(9560,119575,9552,120233,5,b|0,9552,120224,6,a|0);a=rV(8)|0;c[a>>2]=16;c[a+4>>2]=0;Sa(9560,119579,9552,120233,5,a|0,0,0,0,0);Pa(9640,9656,9672,9560,120219,14,120219,15,120219,16,119590,174178,30);a=rV(4)|0;c[a>>2]=31;Ra(9640,120237,2,58832,120229,17,a|0,0);Qa(9560,120257,3,58840,120393,9,6);Qa(9560,120267,3,58964,120393,10,7);return}function Dd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);n=o+8|0;m=o;e=b+22832|0;l=b+4|0;if(a[e>>0]|0){f=c[l>>2]|0;if((a[182336]|0)==0?DW(182336)|0:0)c[45600]=hb(1,58760)|0;eb(c[45600]|0,f|0,119603,m|0)}a[e>>0]=1;g=c[l>>2]|0;j=mb(119609)|0;g=ib(g|0,j|0)|0;fb(j|0);j=Vd(g,119621)|0;fb(g|0);c[n>>2]=119629;c[n+4>>2]=j?119638:119643;Db(0,n|0);a[b+22764>>0]=j&1;j=d+11|0;g=a[j>>0]|0;h=g<<24>>24<0;f=h?c[d>>2]|0:d;k=d+4|0;g=h?c[k>>2]|0:g&255;h=f+g|0;e=h;i=f;a:do if((g|0)<4)g=h;else{while(1){g=g+-3|0;if(!g){g=h;break a}f=IT(f,46,g)|0;if(!f){g=h;break a}if(!(rT(f,119649,4)|0))break;f=f+1|0;g=e-f|0;if((g|0)<4){g=h;break a}}g=f;e=f}while(0);a[b+22833>>0]=(e-i|0)!=-1&(g|0)!=(h|0)&1;h=gb(119654)|0;e=a[j>>0]|0;if(e<<24>>24<0){f=c[k>>2]|0;g=XU(f+4|0)|0;c[g>>2]=f;e=c[d>>2]|0}else{f=e&255;g=XU(f+4|0)|0;c[g>>2]=f;e=d}YW(g+4|0,e|0,f|0)|0;c[n>>2]=g;c[m>>2]=lb(h|0,1,58768,n|0)|0;fb(h|0);Td(m,119664,119675);Ud(n,b,119501);k=c[m>>2]|0;d=mb(119687)|0;qb(k|0,d|0,c[n>>2]|0);fb(d|0);fb(c[n>>2]|0);c[b+22824>>2]=yb()|0;b=c[l>>2]|0;n=mb(119697)|0;qb(b|0,n|0,c[m>>2]|0);fb(n|0);fb(c[m>>2]|0);$c=o;return}function Ed(b,e){b=b|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=$c;$c=$c+64|0;if(($c|0)>=(ad|0))N(64);k=z+8|0;u=z;y=z+48|0;s=z+32|0;t=z+16|0;f=c[e>>2]|0;x=mb(119825)|0;c[s>>2]=ib(f|0,x|0)|0;fb(x|0);Yd(y,s);fb(c[s>>2]|0);x=y+11|0;f=a[x>>0]|0;j=y+4|0;e=b+22828|0;c[e>>2]=(c[e>>2]|0)+(f<<24>>24<0?c[j>>2]|0:f&255);f=yb()|0;h=b+22824|0;i=c[h>>2]|0;if((f|0)>(i|0)){g[b+22848>>3]=+(c[e>>2]|0)*1.0e3/+(f-i|0);c[h>>2]=f;c[e>>2]=0}a:do if(!(a[b+22833>>0]|0))switch(a[(JV(y,0)|0)>>0]|0){case 1:{EV(t,y,1,-1,y);c[s>>2]=c[t>>2];c[s+4>>2]=c[t+4>>2];c[s+8>>2]=c[t+8>>2];q=s+12|0;c[q>>2]=0;w=s+11|0;v=(a[w>>0]|0)<0?c[s>>2]|0:s;t=a[v+3>>0]|0;r=a[v+2>>0]|0;u=a[v+1>>0]|0;v=a[v>>0]|0;c[q>>2]=4;Zd(b,(r&255)<<8|t&255|(u&255)<<16|(v&255)<<24,s);if((a[w>>0]|0)<0)sV(c[s>>2]|0);break a}case 2:{EV(t,y,1,-1,y);c[s>>2]=c[t>>2];c[s+4>>2]=c[t+4>>2];c[s+8>>2]=c[t+8>>2];q=s+12|0;c[q>>2]=0;w=s+11|0;v=(a[w>>0]|0)<0?c[s>>2]|0:s;t=a[v+3>>0]|0;r=a[v+2>>0]|0;u=a[v+1>>0]|0;v=a[v>>0]|0;c[q>>2]=4;_d(b,(r&255)<<8|t&255|(u&255)<<16|(v&255)<<24,s);if((a[w>>0]|0)<0)sV(c[s>>2]|0);break a}default:{b=a[(JV(y,0)|0)>>0]|0;c[k>>2]=119846;c[k+4>>2]=b;Db(1,k|0);break a}}else{w=b+12|0;p=a[x>>0]|0;r=p<<24>>24<0;KV(w,r?c[y>>2]|0:y,r?c[j>>2]|0:p&255)|0;j=b+8|0;p=w+11|0;if(!(a[j>>0]|0)){e=a[p>>0]|0;f=e<<24>>24<0;if(f)h=c[b+16>>2]|0;else h=e&255;i=b+24|0;if((h-(c[i>>2]|0)|0)<=12)break;a[j>>0]=1;c[i>>2]=13;if(f){e=c[b+16>>2]|0;f=c[w>>2]|0}else{e=e&255;f=w}b=e+-13|0;ZW(f|0,f+13|0,b|0)|0;GV(w,b,0);c[i>>2]=0;break}l=b+16|0;q=b+24|0;m=t+11|0;n=t+4|0;o=s+11|0;while(1){i=a[p>>0]|0;j=i<<24>>24<0;if(j)e=c[l>>2]|0;else e=i&255;r=c[q>>2]|0;if((e-r|0)<=3)break;if(j)e=c[w>>2]|0;else e=w;h=r+1|0;k=a[e+r>>0]|0;c[q>>2]=h;h=e+h+3+-1|0;e=a[h>>0]|0;A=a[h+-1>>0]|0;h=a[h+-2>>0]|0;f=r+4|0;c[q>>2]=f;h=(A&255)<<8|e&255|(h&255)<<16;if(j)e=c[l>>2]|0;else e=i&255;if((e-f|0)>>>0<(h+11|0)>>>0){v=24;break}if(j)e=c[w>>2]|0;else e=w;e=e+f+3+-1|0;e=d[e+-1>>0]<<8|d[e>>0]|d[e+-2>>0]<<16;A=r+11|0;c[q>>2]=A;c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;c[s+12>>2]=0;EV(t,w,A,h,w);A=a[m>>0]|0;r=A<<24>>24<0;A=r?c[n>>2]|0:A&255;c[q>>2]=(c[q>>2]|0)+A;KV(s,r?c[t>>2]|0:t,A)|0;if((a[m>>0]|0)<0)sV(c[t>>2]|0);switch(k<<24>>24){case 8:{Zd(b,e,s);break}case 9:{_d(b,e,s);break}default:{c[u>>2]=119830;c[u+4>>2]=k&255;Db(0,u|0)}}c[q>>2]=(c[q>>2]|0)+4;if((a[o>>0]|0)<0)sV(c[s>>2]|0)}if((v|0)==24)c[q>>2]=r;if(j){e=c[l>>2]|0;f=c[w>>2]|0}else{e=i&255;f=w}A=e-r|0;ZW(f|0,f+r|0,A|0)|0;GV(w,A,0);c[q>>2]=0}while(0);if((a[x>>0]|0)>=0){$c=z;return}sV(c[y>>2]|0);$c=z;return}function Fd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);h=j;g=gb(120157)|0;f=b+22816|0;c[h>>2]=c[f>>2];fb(cb(g|0,1,58796,h|0)|0);fb(g|0);g=b+22788|0;qe(g);pe(g);h=c[b+22792>>2]|0;i=b+22796|0;d=c[i>>2]|0;if((d|0)!=(h|0))c[i>>2]=d+(~((d+-4-h|0)>>>2)<<2);re(g);c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;if((a[b+22764>>0]|0)==0?(e=c[b+22736>>2]|0,e|0):0)YU(e);$R(c[b+22772>>2]|0);i=b+22776|0;YU(c[(c[i>>2]|0)+68>>2]|0);WR(i);c[f>>2]=0;a[b+22820>>0]=1;a[b+22812>>0]=0;GV(b+12|0,0,0);c[b+24>>2]=0;a[b+8>>0]=0;$c=j;return}function Gd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);i=q+4|0;k=q;l=b+22808|0;a:do if(c[l>>2]|0){m=b+22792|0;n=b+22804|0;o=b+4|0;p=b+22840|0;j=b+22728|0;e=0;d=c[n>>2]|0;while(1){f=(d>>>0)/204|0;g=c[(c[m>>2]|0)+(f<<2)>>2]|0;f=d-(f*204|0)|0;if(e?(c[i>>2]=c[g+(f*20|0)>>2],h=ge(c[o>>2]|0,120148,i)|0,h=((c[p>>2]|0)*1e3|0)+h|0,c[k>>2]=h,(h|0)>0):0)break;h=g+(f*20|0)+4|0;d=a[h+11>>0]|0;if(d<<24>>24<0){d=c[g+(f*20|0)+16>>2]|0;e=c[g+(f*20|0)+8>>2]|0;f=d;d=(c[h>>2]|0)+d|0}else{g=c[g+(f*20|0)+16>>2]|0;e=d&255;f=g;d=h+g|0}pd[c[(c[j>>2]|0)+20>>2]&1023](j,d,e-f|0);d=c[n>>2]|0;e=(d>>>0)/204|0;e=(c[(c[m>>2]|0)+(e<<2)>>2]|0)+((d-(e*204|0)|0)*20|0)+4|0;if((a[e+11>>0]|0)<0){sV(c[e>>2]|0);d=c[n>>2]|0}e=(c[l>>2]|0)+-1|0;c[l>>2]=e;d=d+1|0;c[n>>2]=d;if(d>>>0>407){sV(c[c[m>>2]>>2]|0);c[m>>2]=(c[m>>2]|0)+4;d=(c[n>>2]|0)+-204|0;c[n>>2]=d;e=c[l>>2]|0}if(!e)break a;else e=1}a[b+22812>>0]=1;c[b+22816>>2]=he(c[o>>2]|0,120132,k)|0;$c=q;return}while(0);a[b+22812>>0]=0;$c=q;return}function Hd(a,b){a=a|0;b=b|0;var e=0,f=0;e=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=e;c[f>>2]=d[b+22832>>0];c[a>>2]=rb(58648,f|0)|0;$c=e;return}function Id(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0;e=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);g=e;f=+bb(c[d>>2]|0,58648,g|0);pb(c[g>>2]|0);a[b+22832>>0]=f!=0.0&1;$c=e;return}function Jd(a,b){a=a|0;b=b|0;var e=0,f=0;e=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=e;c[f>>2]=d[b+22833>>0];c[a>>2]=rb(58648,f|0)|0;$c=e;return}function Kd(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0;e=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);g=e;f=+bb(c[d>>2]|0,58648,g|0);pb(c[g>>2]|0);a[b+22833>>0]=f!=0.0&1;$c=e;return}function Ld(a,b){a=a|0;b=b|0;var d=0,e=0;d=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=d;c[e>>2]=c[b+22836>>2];c[a>>2]=rb(58696,e|0)|0;$c=d;return}function Md(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=d;e=+bb(c[b>>2]|0,58696,f|0);pb(c[f>>2]|0);c[a+22836>>2]=~~e;$c=d;return}function Nd(a,b){a=a|0;b=b|0;var d=0,e=0;d=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=d;c[e>>2]=c[b+22840>>2];c[a>>2]=rb(58696,e|0)|0;$c=d;return}function Od(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=d;e=+bb(c[b>>2]|0,58696,f|0);pb(c[f>>2]|0);c[a+22840>>2]=~~e;$c=d;return}function Pd(a,b){a=a|0;b=b|0;var d=0,e=0;d=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=d;g[e>>3]=+g[b+22848>>3];c[a>>2]=rb(58736,e|0)|0;$c=d;return}function Qd(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=d;e=+bb(c[b>>2]|0,58736,f|0);pb(c[f>>2]|0);g[a+22848>>3]=e;$c=d;return}function Rd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=d+4|0;f=d;c[e>>2]=nb()|0;i=b+22792|0;h=b+22804|0;j=c[h>>2]|0;g=(j>>>0)/204|0;te(e,120170,(c[(c[i>>2]|0)+(g<<2)>>2]|0)+((j-(g*204|0)|0)*20|0)|0);b=b+22808|0;h=(c[b>>2]|0)+-1+(c[h>>2]|0)|0;g=(h>>>0)/204|0;ue(e,120176,(c[(c[i>>2]|0)+(g<<2)>>2]|0)+((h-(g*204|0)|0)*20|0)|0);c[f>>2]=c[b>>2];ve(e,120181,f);b=c[e>>2]|0;c[a>>2]=b;jb(b|0);fb(c[e>>2]|0);$c=d;return}function Sd(a){a=a|0;fb(c[a>>2]|0);return}function Td(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a>>2]|0;b=mb(b|0)|0;d=mb(d|0)|0;qb(a|0,b|0,d|0);fb(d|0);fb(b|0);return}function Ud(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;b=b+4|0;f=c[b>>2]|0;e=mb(d|0)|0;d=ib(f|0,e|0)|0;fb(e|0);Xd(a,d,119801,b);fb(d|0);return}function Vd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0.0;g=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=g;f=g+8|0;if((a[182344]|0)==0?DW(182344)|0:0)c[45601]=hb(1,58764)|0;h=+db(c[45601]|0,b|0,d|0,f|0,e|0);pb(c[f>>2]|0);$c=g;return h!=0.0|0}function Wd(a){a=a|0;wa(a|0)|0;gW()}function Xd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0.0,k=0;i=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);g=i;h=i+8|0;if((a[182352]|0)==0?DW(182352)|0:0)c[45602]=hb(2,58772)|0;k=c[45602]|0;jb(c[f>>2]|0);c[g>>2]=c[f>>2];j=+db(k|0,d|0,e|0,h|0,g|0);h=c[h>>2]|0;c[b>>2]=~~j>>>0;pb(h|0);$c=i;return}function Yd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0.0,j=0;h=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=h;i=+bb(c[d>>2]|0,9528,e|0);e=c[e>>2]|0;g=~~i>>>0;f=g+4|0;g=c[g>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;if(g>>>0>4294967279)xV(b);if(g>>>0<11){a[b+11>>0]=g;if(!g){f=b;g=f+g|0;a[g>>0]=0;pb(e|0);$c=h;return}else d=b}else{j=g+16&-16;d=rV(j)|0;c[b>>2]=d;c[b+8>>2]=j|-2147483648;c[b+4>>2]=g}YW(d|0,f|0,g|0)|0;j=d;j=j+g|0;a[j>>0]=0;pb(e|0);$c=h;return}function Zd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);i=j;h=e+12|0;f=c[h>>2]|0;d=a[((a[e+11>>0]|0)<0?c[e>>2]|0:e)+f+1+-1>>0]|0;c[h>>2]=f+1;d=d&255;h=d>>>4;f=b+22821|0;if(a[f>>0]|0){g=(d&1)+1|0;d=d>>>2;switch(d&3){case 1:{d=11025;break}case 2:{d=22050;break}case 3:{d=44100;break}default:d=d&3}switch(h&15){case 10:{ae(b,c[b+22836>>2]<<10,d,g);break}case 11:{ae(b,16e3,16e3,g);break}case 2:{ae(b,(c[b+22836>>2]|0)*576|0,d,g);break}default:{}}if(a[f>>0]|0){$c=j;return}}g=b+28|0;if((h|0)!=2){$c=j;return}d=c[b+36>>2]|0;f=b+32|0;d=be(g,e,d+(c[f>>2]|0)|0,d+(c[g>>2]|0)|0)|0;if(!d){$c=j;return}h=(c[f>>2]|0)+d|0;e=(h|0)==(c[g>>2]|0);c[f>>2]=e?0:h;if(!e){$c=j;return}d=c[b+4>>2]|0;if((a[182336]|0)==0?DW(182336)|0:0)c[45600]=hb(1,58760)|0;eb(c[45600]|0,d|0,119929,i|0);$c=j;return}function _d(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);n=s+32|0;m=s+24|0;l=s+16|0;k=s+8|0;q=s;o=s+36|0;p=e+11|0;f=a[p>>0]|0;r=e+12|0;g=c[r>>2]|0;h=(f<<24>>24<0?c[e>>2]|0:e)+g|0;i=a[h+1>>0]|0;j=b+22820|0;if(a[j>>0]|0){g=a[h>>0]|0;f=g&15;switch(g&15){case 7:{c[k>>2]=119975;Db(0,k|0);break}case 12:{c[l>>2]=119990;Db(0,l|0);break}default:{c[m>>2]=120005;c[m+4>>2]=f;Db(0,m|0);$c=s;return}}if(!(i<<24>>24==0&(g&-16)<<24>>24==16)){$c=s;return}ee(b+22728|0,e,f);a[j>>0]=0;c[n>>2]=120065;Db(0,n|0);$c=s;return}if(i<<24>>24!=1){f=c[b+4>>2]|0;if((a[182336]|0)==0?DW(182336)|0:0)c[45600]=hb(1,58760)|0;eb(c[45600]|0,f|0,120081,q|0);$c=s;return}if(!d){$c=s;return}c[r>>2]=g+5;h=b+22840|0;a:do if(c[h>>2]|0){f=b+22812|0;do if(!(a[f>>0]|0)){c[q>>2]=d;g=b+4|0;q=ge(c[g>>2]|0,120148,q)|0;q=((c[h>>2]|0)*1e3|0)+q|0;c[o>>2]=q;if((q|0)>0){a[f>>0]=1;c[b+22816>>2]=he(c[g>>2]|0,120132,o)|0;break}else{f=a[p>>0]|0;break a}}while(0);j=b+22796|0;g=c[j>>2]|0;k=b+22792|0;f=c[k>>2]|0;q=g-f|0;i=b+22804|0;l=b+22808|0;h=(c[l>>2]|0)+(c[i>>2]|0)|0;if((((q|0)==0?0:((q>>2)*204|0)+-1|0)|0)==(h|0)){ie(b+22788|0);h=(c[i>>2]|0)+(c[l>>2]|0)|0;g=c[j>>2]|0;f=c[k>>2]|0}if((g|0)==(f|0))f=0;else{b=(h>>>0)/204|0;f=(c[f+(b<<2)>>2]|0)+((h-(b*204|0)|0)*20|0)|0}c[f>>2]=d;d=f+4|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[f+16>>2]=c[r>>2];c[l>>2]=(c[l>>2]|0)+1;$c=s;return}while(0);i=b+22728|0;if(f<<24>>24<0){f=c[r>>2]|0;g=c[e+4>>2]|0;h=f;f=(c[e>>2]|0)+f|0}else{r=c[r>>2]|0;g=f&255;h=r;f=e+r|0}pd[c[(c[i>>2]|0)+20>>2]&1023](i,f,g-h|0);$c=s;return}function $d(b){b=b|0;if((a[b+11>>0]|0)>=0)return;sV(c[b>>2]|0);return}function ae(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);h=i;a[b+22821>>0]=0;j=H(d<<1,f)|0;g=b+36|0;c[g>>2]=XU(c[b+28>>2]|0)|0;c[h>>2]=119949;c[h+4>>2]=j;Db(0,h|0);g=c[g>>2]>>1;b=c[b+4>>2]|0;if((a[182360]|0)==0?DW(182360)|0:0)c[45603]=hb(5,16)|0;j=c[45603]|0;c[h>>2]=d;c[h+8>>2]=e;c[h+16>>2]=f;c[h+24>>2]=g;eb(j|0,b|0,119939,h|0);$c=i;return}function be(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=d+12|0;i=d+22668|0;j=i+11|0;h=a[j>>0]|0;if(h<<24>>24<0)n=c[d+22672>>2]|0;else n=h&255;h=e+11|0;q=a[h>>0]|0;k=e+4|0;l=e+12|0;GV(i,n-(c[l>>2]|0)+(q<<24>>24<0?c[k>>2]|0:q&255)|0,0);if((a[j>>0]|0)<0)m=c[i>>2]|0;else m=i;h=a[h>>0]|0;if(h<<24>>24<0){h=c[l>>2]|0;i=c[k>>2]|0;j=h;h=(c[e>>2]|0)+h|0}else{q=c[l>>2]|0;i=h&255;j=q;h=e+q|0}YW(m+n|0,h|0,i-j|0)|0;if((ce(r)|0)==-1){r=0;return r|0}o=d+13448|0;p=d+13450|0;q=d+13452|0;n=d+18060|0;h=0;while(1){i=b[o>>1]|0;d=b[p>>1]|0;j=d&65535;h=(H((i&65535)<<1,j)|0)+h|0;e=j+-1|0;do if(d<<16>>16)if(i<<16>>16==2){m=j<<2;j=n;k=q;l=f;i=e;while(1){d=c[k>>2]|0;d=(d|0)>268431359?32767:(d|0)<-268439552?-32768:d+4096>>13;a[l>>0]=d;a[l+1>>0]=d>>>8;d=c[j>>2]|0;d=(d|0)>268431359?32767:(d|0)<-268439552?-32768:d+4096>>13;a[l+2>>0]=d;a[l+3>>0]=d>>>8;if(!i)break;else{j=j+4|0;k=k+4|0;l=l+4|0;i=i+-1|0}}f=f+m|0;break}else{l=j<<1;j=q;k=f;i=e;while(1){d=c[j>>2]|0;d=(d|0)>268431359?32767:(d|0)<-268439552?-32768:d+4096>>13;a[k>>0]=d;a[k+1>>0]=d>>>8;if(!i)break;else{j=j+4|0;k=k+2|0;i=i+-1|0}}f=f+l|0;break}while(0);if(f>>>0>=g>>>0){f=22;break}if((ce(r)|0)==-1){f=22;break}}if((f|0)==22)return h|0;return 0}function ce(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=$c;$c=$c+272|0;if(($c|0)>=(ad|0))N(272);t=u+256|0;s=u;k=u+248|0;l=u+244|0;q=d+22656|0;n=q+11|0;if((a[n>>0]|0)<0)e=c[q>>2]|0;else e=q;r=d+22668|0;i=e+(c[r>>2]|0)|0;j=de(d,i)|0;if((j|0)==-1){d=-1;$c=u;return d|0}f=c[r>>2]|0;g=f+j|0;c[r>>2]=g;e=a[n>>0]|0;if(e<<24>>24<0)e=c[d+22660>>2]|0;else e=e&255;if((e|0)==(g|0)){c[r>>2]=f;d=-1;$c=u;return d|0}e=d+9328|0;if((c[e>>2]|0)==0?(p=ZU(1152,4)|0,c[e>>2]=p,(p|0)==0):0){c[d+60>>2]=49;g=d+92|0;e=d+68|0}else{e=d+68|0;f=(c[e>>2]|0)==0;g=d+92|0;h=c[g>>2]|0;if(((h&16|0)!=0?(m=d+28|0,p=c[m+4>>2]|0,o=s,c[o>>2]=c[m>>2],c[o+4>>2]=p,o=d+88|0,p=b[o>>1]|0,c[t>>2]=c[s>>2],c[t+4>>2]=c[s+4>>2],p=vS(t,(h&4096|0)==0?(f?136:256):f?72:136,p)|0,b[o>>1]=p,p<<16>>16!=(b[d+90>>1]|0)):0)?(c[d+108>>2]&1|0)==0:0)c[d+60>>2]=513}p=d+64|0;o=(c[e>>2]|0)==0?1:2;f=d+28|0;ES(f,o,c[g>>2]&4096,s,l,k)|0;c[g>>2]=c[g>>2]|c[k>>2];g=d+96|0;c[g>>2]=c[g>>2]|c[s+4>>2];g=sS(f)|0;f=i-g+j|0;if((a[n>>0]|0)<0)e=c[q>>2]|0;else e=q;qS(t,e+(c[r>>2]|0)|0);e=uS(t,32)|0;if((e&-1703936|0)==-1966080){if(!(e&65536))tS(t,16);j=uS(t,e>>>19&1|8)|0}else j=0;m=d+22672|0;k=m+11|0;e=a[k>>0]|0;if(e<<24>>24<0)e=c[d+22676>>2]|0;else e=e&255;l=d+22684|0;i=e-(c[l>>2]|0)|0;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;GV(t,f,0);h=t+11|0;YW(((a[h>>0]|0)<0?c[t>>2]|0:t)+(c[t+12>>2]|0)|0,g|0,f|0)|0;g=a[h>>0]|0;f=g<<24>>24<0;KV(m,f?c[t>>2]|0:t,f?c[t+4>>2]|0:g&255)|0;if((a[h>>0]|0)<0)sV(c[t>>2]|0);e=a[n>>0]|0;if(e<<24>>24<0){e=c[r>>2]|0;f=c[q>>2]|0;g=e;e=(c[d+22660>>2]|0)-e|0}else{n=c[r>>2]|0;f=q;g=n;e=(e&255)-n|0}ZW(f|0,f+g|0,e|0)|0;GV(q,e,0);c[r>>2]=0;e=a[k>>0]|0;h=e<<24>>24<0;if(h)e=c[d+22676>>2]|0;else e=e&255;g=e-(c[l>>2]|0)|0;e=c[s>>2]|0;if(i>>>0>>0|g>>>0>>0)e=-1;else{f=i-e|0;c[l>>2]=f;if(h)e=c[m>>2]|0;else e=m;qS(t,e+f|0);FS(t,p,s,o)|0;zS(d+9332|0,p);g=g-j-f+(c[l>>2]|0)|0;c[l>>2]=g;e=a[k>>0]|0;if(e<<24>>24<0){e=c[d+22676>>2]|0;f=c[m>>2]|0}else{e=e&255;f=m}e=e-g|0;ZW(f|0,f+g|0,e|0)|0;GV(m,e,0);c[l>>2]=0;e=0}d=e;$c=u;return d|0}function de(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=a+64|0;qS(a+28|0,b);c[a+20>>2]=b;LS(h,a)|0;d=a+100|0;switch(c[h>>2]|0){case 1:{b=384;break}case 3:{b=(c[a+92>>2]&4096|0)==0?1152:576;f=3;break}default:{b=1152;f=3}}g=a+84|0;MS(d,0,b,c[g>>2]|0);d=a+80|0;e=c[d>>2]|0;if(!e){b=a+16|0;e=c[b>>2]|0;if(!((e|0)!=0?!(e>>>0>64e4&(c[h>>2]|0)==3):0))f=8;do if((f|0)==8)if((NS(a,h)|0)==-1){h=-1;return h|0}else{e=c[b>>2]|0;break}while(0);c[d>>2]=e;f=a+92|0;b=c[f>>2]|1024;c[f>>2]=b}else b=c[a+92>>2]|0;d=b>>>7&1;switch(c[h>>2]|0){case 1:{h=(((e*12|0)>>>0)/((c[g>>2]|0)>>>0)|0)+d<<2;return h|0}case 3:{b=(b&4096|0)==0?144:72;break}default:b=144}h=H(e,b)|0;h=((h>>>0)/((c[g>>2]|0)>>>0)|0)+d|0;return h|0}function ee(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;h=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);g=h+16|0;j=h;i=(e|0)==7;k=aR(i?27:173)|0;f=b+40|0;c[f>>2]=k;c[j>>2]=120095;c[j+4>>2]=e;c[j+8>>2]=k;Db(0,j|0);c[b+44>>2]=YR(c[(c[f>>2]|0)+12>>2]|0)|0;e=cR(c[f>>2]|0)|0;c[b+48>>2]=e;if(!i){$c=h;return}i=d+12|0;j=(c[i>>2]|0)+5|0;c[i>>2]=j;i=d+11|0;b=a[i>>0]|0;b=(b<<24>>24<0?c[d+4>>2]|0:b&255)-j|0;k=e+72|0;c[k>>2]=b;b=XU(b)|0;c[e+68>>2]=b;YW(b|0,((a[i>>0]|0)<0?c[d>>2]|0:d)+j|0,c[k>>2]|0)|0;k=kS(e,c[f>>2]|0,0)|0;c[g>>2]=120115;c[g+4>>2]=k;Db(0,g|0);$c=h;return}function fe(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[(c[b>>2]|0)+20>>2]|0;f=a[d+11>>0]|0;if(f<<24>>24<0){h=c[d+12>>2]|0;g=c[d+4>>2]|0;f=h;d=(c[d>>2]|0)+h|0;f=g-f|0;pd[e&1023](b,d,f);return}else{g=c[d+12>>2]|0;f=f&255;h=g;g=d+g|0;h=f-h|0;pd[e&1023](b,g,h);return}}function ge(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0.0,j=0;h=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=h;g=h+8|0;if((a[182368]|0)==0?DW(182368)|0:0)c[45604]=hb(2,58780)|0;j=c[45604]|0;c[f>>2]=c[e>>2];i=+db(j|0,b|0,d|0,g|0,f|0);pb(c[g>>2]|0);$c=h;return ~~i|0}function he(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0.0,j=0;h=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=h;g=h+8|0;if((a[182376]|0)==0?DW(182376)|0:0)c[45605]=hb(2,58788)|0;j=c[45605]|0;c[f>>2]=c[e>>2];i=+db(j|0,b|0,d|0,g|0,f|0);pb(c[g>>2]|0);$c=h;return ~~i|0}function ie(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);k=r+4|0;g=r;b=a+16|0;d=c[b>>2]|0;if(d>>>0>203){c[b>>2]=d+-204;o=a+4|0;m=c[o>>2]|0;q=c[m>>2]|0;m=m+4|0;c[o>>2]=m;p=a+8|0;b=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;e=l;do if((b|0)==(l|0)){i=m;d=c[a>>2]|0;f=d;if(m>>>0>d>>>0){e=((i-f>>2)+1|0)/-2|0;f=m+(e<<2)|0;d=b-i|0;if(!d)b=f;else{ZW(f|0,m|0,d|0)|0;b=(c[o>>2]|0)+(e<<2)|0}a=f+(d>>2<<2)|0;c[p>>2]=a;c[o>>2]=b;b=a;break}f=e-f|0;f=(f|0)==0?1:f>>1;g=f>>>2;do if(f)if(f>>>0>1073741823){r=va(8)|0;vV(r,119861);c[r>>2]=114176;Aa(r|0,58568,21)}else{h=rV(f<<2)|0;break}else h=0;while(0);k=h;e=h+(g<<2)|0;l=e;j=h+(f<<2)|0;if((m|0)==(b|0))b=l;else{f=((b+-4-i|0)>>>2)+1|0;d=m;while(1){c[e>>2]=c[d>>2];d=d+4|0;if((d|0)==(b|0))break;else e=e+4|0}b=h+(f+g<<2)|0;d=c[a>>2]|0}c[a>>2]=k;c[o>>2]=l;c[p>>2]=b;c[n>>2]=j;if(d){sV(d);b=c[p>>2]|0}}while(0);c[b>>2]=q;c[p>>2]=(c[p>>2]|0)+4;$c=r;return}q=a+8|0;b=c[q>>2]|0;p=a+4|0;f=b-(c[p>>2]|0)>>2;o=a+12|0;d=c[o>>2]|0;e=d-(c[a>>2]|0)|0;if(f>>>0>=e>>2>>>0){b=(e|0)==0?1:e>>1;i=k+12|0;c[i>>2]=0;c[k+16>>2]=a+12;do if(b)if(b>>>0>1073741823){r=va(8)|0;vV(r,119861);c[r>>2]=114176;Aa(r|0,58568,21)}else{d=rV(b<<2)|0;break}else d=0;while(0);c[k>>2]=d;n=d+(f<<2)|0;j=k+8|0;c[j>>2]=n;h=k+4|0;c[h>>2]=n;c[i>>2]=d+(b<<2);c[g>>2]=rV(4080)|0;le(k,g);b=c[q>>2]|0;d=c[p>>2]|0;if((b|0)!=(d|0)){do{b=b+-4|0;me(k,b);d=c[p>>2]|0}while((b|0)!=(d|0));b=c[q>>2]|0}e=d;f=c[a>>2]|0;c[a>>2]=c[k>>2];c[k>>2]=f;c[p>>2]=c[h>>2];c[h>>2]=e;c[q>>2]=c[j>>2];c[j>>2]=b;a=c[o>>2]|0;c[o>>2]=c[i>>2];c[i>>2]=a;if((d|0)!=(b|0))c[j>>2]=b+(~((b+-4-e|0)>>>2)<<2);if(f|0)sV(f);$c=r;return}if((d|0)!=(b|0)){c[k>>2]=rV(4080)|0;je(a,k);$c=r;return}c[k>>2]=rV(4080)|0;ke(a,k);m=c[p>>2]|0;n=c[m>>2]|0;m=m+4|0;c[p>>2]=m;b=c[q>>2]|0;l=c[o>>2]|0;e=l;do if((b|0)==(l|0)){j=m;d=c[a>>2]|0;f=d;if(m>>>0>d>>>0){e=((j-f>>2)+1|0)/-2|0;f=m+(e<<2)|0;d=b-j|0;if(!d)b=f;else{ZW(f|0,m|0,d|0)|0;b=(c[p>>2]|0)+(e<<2)|0}a=f+(d>>2<<2)|0;c[q>>2]=a;c[p>>2]=b;b=a;break}f=e-f|0;f=(f|0)==0?1:f>>1;g=f>>>2;do if(f)if(f>>>0>1073741823){r=va(8)|0;vV(r,119861);c[r>>2]=114176;Aa(r|0,58568,21)}else{h=rV(f<<2)|0;break}else h=0;while(0);k=h;e=h+(g<<2)|0;l=e;i=h+(f<<2)|0;if((m|0)==(b|0))b=l;else{f=((b+-4-j|0)>>>2)+1|0;d=m;while(1){c[e>>2]=c[d>>2];d=d+4|0;if((d|0)==(b|0))break;else e=e+4|0}b=h+(f+g<<2)|0;d=c[a>>2]|0}c[a>>2]=k;c[p>>2]=l;c[q>>2]=b;c[o>>2]=i;if(d){sV(d);b=c[q>>2]|0}}while(0);c[b>>2]=n;c[q>>2]=(c[q>>2]|0)+4;$c=r;return}function je(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+8|0;d=c[q>>2]|0;n=a+12|0;p=c[n>>2]|0;g=p;do if((d|0)==(p|0)){p=a+4|0;o=c[p>>2]|0;j=o;e=c[a>>2]|0;f=e;if(o>>>0>e>>>0){f=((j-f>>2)+1|0)/-2|0;g=o+(f<<2)|0;e=d-j|0;if(!e)d=g;else{ZW(g|0,o|0,e|0)|0;d=(c[p>>2]|0)+(f<<2)|0}o=g+(e>>2<<2)|0;c[q>>2]=o;c[p>>2]=d;d=o;break}g=g-f|0;g=(g|0)==0?1:g>>1;h=g>>>2;do if(g)if(g>>>0>1073741823){q=va(8)|0;vV(q,119861);c[q>>2]=114176;Aa(q|0,58568,21)}else{i=rV(g<<2)|0;break}else i=0;while(0);l=i;f=i+(h<<2)|0;m=f;k=i+(g<<2)|0;if((o|0)==(d|0))d=m;else{g=h+((d+-4-j|0)>>>2)+1|0;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(d|0))break;else f=f+4|0}d=i+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=l;c[p>>2]=m;c[q>>2]=d;c[n>>2]=k;if(e){sV(e);d=c[q>>2]|0}}while(0);c[d>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+4;return}function ke(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+4|0;o=c[q>>2]|0;j=o;p=c[a>>2]|0;e=p;do if((o|0)==(p|0)){p=a+8|0;m=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;d=l;if(m>>>0>>0){e=m;g=((d-e>>2)+1|0)/2|0;f=m+(g<<2)|0;e=e-j|0;d=f+(0-(e>>2)<<2)|0;if(!e){d=f;e=f}else{ZW(d|0,o|0,e|0)|0;e=(c[p>>2]|0)+(g<<2)|0}c[q>>2]=d;c[p>>2]=e;break}e=d-e|0;e=(e|0)==0?1:e>>1;f=(e+3|0)>>>2;do if(e)if(e>>>0>1073741823){q=va(8)|0;vV(q,119861);c[q>>2]=114176;Aa(q|0,58568,21)}else{h=rV(e<<2)|0;break}else h=0;while(0);k=h;d=h+(f<<2)|0;l=d;i=h+(e<<2)|0;if((o|0)==(m|0)){f=l;e=o}else{g=((m+-4-j|0)>>>2)+f+1|0;f=d;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(m|0))break;else f=f+4|0}f=h+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=k;c[q>>2]=l;c[p>>2]=f;c[n>>2]=i;if(e){sV(e);d=c[q>>2]|0}}else d=o;while(0);c[d+-4>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+-4;return}function le(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+8|0;d=c[q>>2]|0;n=a+12|0;p=c[n>>2]|0;g=p;do if((d|0)==(p|0)){p=a+4|0;o=c[p>>2]|0;j=o;e=c[a>>2]|0;f=e;if(o>>>0>e>>>0){f=((j-f>>2)+1|0)/-2|0;g=o+(f<<2)|0;e=d-j|0;if(!e)d=g;else{ZW(g|0,o|0,e|0)|0;d=(c[p>>2]|0)+(f<<2)|0}o=g+(e>>2<<2)|0;c[q>>2]=o;c[p>>2]=d;d=o;break}g=g-f|0;g=(g|0)==0?1:g>>1;h=g>>>2;do if(g)if(g>>>0>1073741823){q=va(8)|0;vV(q,119861);c[q>>2]=114176;Aa(q|0,58568,21)}else{i=rV(g<<2)|0;break}else i=0;while(0);l=i;f=i+(h<<2)|0;m=f;k=i+(g<<2)|0;if((o|0)==(d|0))d=m;else{g=h+((d+-4-j|0)>>>2)+1|0;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(d|0))break;else f=f+4|0}d=i+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=l;c[p>>2]=m;c[q>>2]=d;c[n>>2]=k;if(e){sV(e);d=c[q>>2]|0}}while(0);c[d>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+4;return}function me(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+4|0;o=c[q>>2]|0;j=o;p=c[a>>2]|0;e=p;do if((o|0)==(p|0)){p=a+8|0;m=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;d=l;if(m>>>0>>0){e=m;g=((d-e>>2)+1|0)/2|0;f=m+(g<<2)|0;e=e-j|0;d=f+(0-(e>>2)<<2)|0;if(!e){d=f;e=f}else{ZW(d|0,o|0,e|0)|0;e=(c[p>>2]|0)+(g<<2)|0}c[q>>2]=d;c[p>>2]=e;break}e=d-e|0;e=(e|0)==0?1:e>>1;f=(e+3|0)>>>2;do if(e)if(e>>>0>1073741823){q=va(8)|0;vV(q,119861);c[q>>2]=114176;Aa(q|0,58568,21)}else{h=rV(e<<2)|0;break}else h=0;while(0);k=h;d=h+(f<<2)|0;l=d;i=h+(e<<2)|0;if((o|0)==(m|0)){f=l;e=o}else{g=((m+-4-j|0)>>>2)+f+1|0;f=d;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(m|0))break;else f=f+4|0}f=h+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=k;c[q>>2]=l;c[p>>2]=f;c[n>>2]=i;if(e){sV(e);d=c[q>>2]|0}}else d=o;while(0);c[d+-4>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+-4;return}function ne(a){a=a|0;var b=0,d=0,e=0,f=0;qe(a);d=a+4|0;b=c[d>>2]|0;f=a+8|0;e=c[f>>2]|0;if((b|0)!=(e|0)){do{sV(c[b>>2]|0);b=b+4|0}while((b|0)!=(e|0));b=c[d>>2]|0;d=c[f>>2]|0;if((d|0)!=(b|0))c[f>>2]=d+(~((d+-4-b|0)>>>2)<<2)}b=c[a>>2]|0;if(!b)return;sV(b);return}function oe(b){b=b|0;var d=0;if((a[b+36>>0]|0)==0?(d=c[b+8>>2]|0,d|0):0)YU(d);$R(c[b+44>>2]|0);d=b+48|0;YU(c[(c[d>>2]|0)+68>>2]|0);WR(d);return}function pe(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=a+20|0;g=c[f>>2]|0;if(!g){d=a+8|0;b=c[d>>2]|0;e=a+4|0;if((b|0)!=(c[e>>2]|0))do{sV(c[b+-4>>2]|0);b=(c[d>>2]|0)+-4|0;c[d>>2]=b}while((c[e>>2]|0)!=(b|0));c[a+16>>2]=0;re(a);return}b=a+16|0;e=c[b>>2]|0;d=a+4|0;if(e>>>0>203){sV(c[c[d>>2]>>2]|0);h=(c[d>>2]|0)+4|0;c[d>>2]=h;e=(c[b>>2]|0)+-204|0;c[b>>2]=e;g=c[f>>2]|0}else h=c[d>>2]|0;b=a+8|0;d=c[b>>2]|0;h=d-h|0;if((((h|0)==0?0:((h>>2)*204|0)+-1|0)-(g+e)|0)>>>0<=203){re(a);return}sV(c[d+-4>>2]|0);c[b>>2]=(c[b>>2]|0)+-4;re(a);return}function qe(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=b+4|0;e=c[l>>2]|0;m=b+16|0;g=c[m>>2]|0;d=(g>>>0)/204|0;h=e+(d<<2)|0;j=b+8|0;n=c[j>>2]|0;f=n;i=e;if((n|0)!=(e|0)){d=(c[h>>2]|0)+((g-(d*204|0)|0)*20|0)|0;b=b+20|0;n=(c[b>>2]|0)+g|0;g=(n>>>0)/204|0;g=(c[e+(g<<2)>>2]|0)+((n-(g*204|0)|0)*20|0)|0;if((g|0)==(d|0)){d=b;k=5}else{f=h;while(1){e=d+4|0;if((a[e+11>>0]|0)<0)sV(c[e>>2]|0);d=d+20|0;if((d-(c[f>>2]|0)|0)==4080){d=f+4|0;e=d;d=c[d>>2]|0}else e=f;if((g|0)==(d|0))break;else f=e}e=c[l>>2]|0;g=j;f=c[j>>2]|0;d=e}}else{d=b+20|0;k=5}if((k|0)==5){g=j;b=d;d=i}c[b>>2]=0;d=f-d>>2;if(d>>>0>2)do{sV(c[e>>2]|0);e=(c[l>>2]|0)+4|0;c[l>>2]=e;d=(c[g>>2]|0)-e>>2}while(d>>>0>2);switch(d|0){case 1:{d=102;break}case 2:{d=204;break}default:return}c[m>>2]=d;return}function re(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;j=a+12|0;i=c[a>>2]|0;k=a+8|0;h=c[k>>2]|0;l=a+4|0;f=c[l>>2]|0;d=h-f|0;e=d>>2;b=i;if((c[j>>2]|0)-i>>2>>>0<=e>>>0)return;do if(d)if(e>>>0>1073741823){l=va(8)|0;vV(l,119861);c[l>>2]=114176;Aa(l|0,58568,21)}else{g=rV(d)|0;break}else g=0;while(0);i=g;e=g+(e<<2)|0;if((f|0)==(h|0))d=e;else{d=g;b=f;while(1){c[d>>2]=c[b>>2];b=b+4|0;if((b|0)==(h|0))break;else d=d+4|0}d=g+((c[k>>2]|0)-(c[l>>2]|0)>>2<<2)|0;b=c[a>>2]|0}c[a>>2]=i;c[l>>2]=i;c[k>>2]=d;c[j>>2]=e;if(!b)return;sV(b);return}function se(b){b=b|0;if(a[b+36>>0]|0)return;b=c[b+8>>2]|0;if(!b)return;YU(b);return}function te(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=e;a=c[a>>2]|0;b=mb(b|0)|0;c[f>>2]=c[d>>2];d=rb(58712,f|0)|0;qb(a|0,b|0,d|0);fb(d|0);fb(b|0);$c=e;return}function ue(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=e;a=c[a>>2]|0;b=mb(b|0)|0;c[f>>2]=c[d>>2];d=rb(58712,f|0)|0;qb(a|0,b|0,d|0);fb(d|0);fb(b|0);$c=e;return}function ve(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=e;a=c[a>>2]|0;b=mb(b|0)|0;c[f>>2]=c[d>>2];d=rb(58720,f|0)|0;qb(a|0,b|0,d|0);fb(d|0);fb(b|0);$c=e;return}function we(a){a=a|0;return c[(c[a>>2]|0)+-4>>2]|0}function xe(a){a=a|0;if(!a)return;nd[c[(c[a>>2]|0)+4>>2]&63](a);return}function ye(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);h=j;f=c[b>>2]|0;b=c[b+4>>2]|0;g=d+(b>>1)|0;if(b&1)f=c[(c[g>>2]|0)+f>>2]|0;d=e+4|0;e=c[e>>2]|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;if(e>>>0>4294967279)xV(h);if(e>>>0<11){a[h+11>>0]=e;if(!e)b=h;else{b=h;i=9}}else{i=e+16&-16;b=rV(i)|0;c[h>>2]=b;c[h+8>>2]=i|-2147483648;c[h+4>>2]=e;i=9}if((i|0)==9)YW(b|0,d|0,e|0)|0;a[b+e>>0]=0;od[f&255](g,h);if((a[h+11>>0]|0)>=0){$c=j;return}sV(c[h>>2]|0);$c=j;return}function ze(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=g;e=c[a>>2]|0;h=c[a+4>>2]|0;a=b+(h>>1)|0;if(h&1)e=c[(c[a>>2]|0)+e>>2]|0;c[f>>2]=d;od[e&255](a,f);fb(c[f>>2]|0);$c=g;return}function Ae(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a>>2]|0;e=c[a+4>>2]|0;a=b+(e>>1)|0;if(!(e&1)){e=d;nd[e&63](a);return}else{e=c[(c[a>>2]|0)+d>>2]|0;nd[e&63](a);return}}function Be(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=f;d=c[a>>2]|0;g=c[a+4>>2]|0;a=b+(g>>1)|0;if(g&1)d=c[(c[a>>2]|0)+d>>2]|0;od[d&255](e,a);jb(c[e>>2]|0);g=c[e>>2]|0;fb(g|0);$c=f;return g|0}function Ce(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=g;e=c[a>>2]|0;h=c[a+4>>2]|0;a=b+(h>>1)|0;if(h&1)e=c[(c[a>>2]|0)+e>>2]|0;c[f>>2]=d;od[e&255](a,f);fb(c[f>>2]|0);$c=g;return}function De(b,d){b=b|0;d=d|0;var e=0;e=rV(22864)|0;Oe(e,d);a[e+22856>>0]=0;c[e+22860>>2]=c[b>>2];c[b>>2]=0;c[e>>2]=58860;return e|0}function Ee(b,d,e){b=b|0;d=d|0;e=e|0;c[b>>2]=Na(((a[d+11>>0]|0)<0?c[d>>2]|0:d)|0,9640,c[e>>2]|0)|0;return}function Fe(a){a=a|0;return c[(c[a>>2]|0)+-4>>2]|0}function Ge(a){a=a|0;if(!a)return;nd[c[(c[a>>2]|0)+4>>2]&63](a);return}function He(a){a=a|0;return a|0}function Ie(a){a=a|0;return a|0}function Je(a,b){a=a|0;b=b|0;nd[c[a>>2]&63](b);return}function Ke(b){b=b|0;a[b+22856>>0]=1;return}function Le(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;d=hd[a&15](f,g)|0;fb(c[g>>2]|0);fb(c[f>>2]|0);$c=e;return d|0}function Me(b){b=b|0;var d=0,e=0,f=0,g=0;g=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=g;c[b>>2]=58876;d=b+22860|0;if(!(a[b+22856>>0]|0)){f=c[d>>2]|0;fb(f|0);Se(b);$c=g;return}f=c[d>>2]|0;if((a[182336]|0)==0?DW(182336)|0:0)c[45600]=hb(1,58760)|0;eb(c[45600]|0,f|0,120628,e|0);f=c[d>>2]|0;fb(f|0);Se(b);$c=g;return}function Ne(a){a=a|0;Me(a);sV(a);return}function Oe(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);h=f+8|0;i=f;c[d>>2]=58892;g=d+4|0;c[g>>2]=c[e>>2];c[e>>2]=0;a[d+8>>0]=0;e=d+12|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[d+32>>2]=0;e=d+22696|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;wS(d+40|0);xS(d+104|0);yS(d+9372|0);c[i>>2]=120413;Db(0,i|0);c[h>>2]=120398;c[h+4>>2]=d+28;Db(0,h|0);Qe(d+22728|0);e=d+22788|0;c[d+22816>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;a[e+24>>0]=0;a[d+22820>>0]=1;a[d+22821>>0]=1;e=d+22824|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;c[d+22836>>2]=12;c[d+22732>>2]=g;$c=f;return}function Pe(a){a=a|0;Me(a);sV(a);return}function Qe(b){b=b|0;var d=0,e=0;d=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=d;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+32>>2]=0;a[b+36>>0]=0;c[b>>2]=58908;c[b+48>>2]=0;c[b+52>>2]=Wg()|0;c[b+56>>2]=cP()|0;c[e>>2]=120423;Db(0,e|0);$c=d;return}function Re(b){b=b|0;var d=0,e=0,f=0;e=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);d=e+8|0;f=e;c[f>>2]=120560;Db(0,f|0);YU(c[b+8>>2]|0);c[d>>2]=120583;Db(0,d|0);AS(b+76|0);d=b+22684|0;if((a[d+11>>0]|0)<0)sV(c[d>>2]|0);b=b+22668|0;if((a[b+11>>0]|0)>=0){$c=e;return}sV(c[b>>2]|0);$c=e;return}function Se(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);g=i+8|0;d=i;c[b>>2]=58892;f=gb(120157)|0;c[d>>2]=c[b+22816>>2];fb(cb(f|0,1,58796,d|0)|0);fb(f|0);c[g>>2]=120607;Db(0,g|0);g=b+22788|0;qe(g);f=b+22792|0;d=c[f>>2]|0;h=b+22796|0;e=c[h>>2]|0;if((d|0)!=(e|0)){do{sV(c[d>>2]|0);d=d+4|0}while((d|0)!=(e|0));d=c[f>>2]|0;e=c[h>>2]|0;if((e|0)!=(d|0))c[h>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=c[g>>2]|0;if(d|0)sV(d);Ve(b+22728|0);Re(b+28|0);d=b+12|0;if((a[d+11>>0]|0)>=0){b=b+4|0;b=c[b>>2]|0;fb(b|0);$c=i;return}sV(c[d>>2]|0);b=b+4|0;b=c[b>>2]|0;fb(b|0);$c=i;return}function Te(a){a=a|0;Se(a);sV(a);return}function Ue(b){b=b|0;var d=0;AS(b+64|0);d=b+22672|0;if((a[d+11>>0]|0)<0)sV(c[d>>2]|0);b=b+22656|0;if((a[b+11>>0]|0)>=0)return;sV(c[b>>2]|0);return}function Ve(b){b=b|0;var d=0,e=0,f=0,g=0;f=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=f+8|0;g=f;c[b>>2]=58908;c[g>>2]=120493;Db(0,g|0);nd[c[(c[b>>2]|0)+8>>2]&63](b);Xg(b+52|0);Of(b+56|0);c[b>>2]=58940;if((a[b+36>>0]|0)==0?(d=c[b+8>>2]|0,d|0):0)YU(d);c[e>>2]=120469;Db(0,e|0);$c=f;return}function We(a){a=a|0;Ve(a);sV(a);return}function Xe(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);h=t+8|0;q=t;r=b+48|0;g=b+56|0;p=c[g>>2]|0;d=_R(c[b+44>>2]|0,c[r>>2]|0,p+24|0,p+28|0,d,e,0,-2147483648,0,-2147483648,0,0)|0;if((d|0)>-1?(f=c[g>>2]|0,c[f+28>>2]|0):0){if((LR(c[r>>2]|0,f)|0)<=-1){$c=t;return}f=b+52|0;g=b+20|0;h=b+24|0;i=b+28|0;j=b+12|0;k=b+16|0;l=b+36|0;m=b+20|0;n=b+8|0;o=b+4|0;a:while(1){p=UR(c[r>>2]|0,c[f>>2]|0)|0;if((p|0)<-11)switch(p|0){case -541478725:{s=17;break a}default:{}}else switch(p|0){case -11:{s=17;break a}default:{}}d=c[f>>2]|0;c[g>>2]=c[d>>2];c[h>>2]=c[d+4>>2];c[i>>2]=c[d+8>>2];e=c[d+68>>2]|0;if((c[j>>2]|0)==(e|0)){d=c[d+72>>2]|0;if((c[k>>2]|0)!=(d|0))s=9}else{d=c[d+72>>2]|0;s=9}if((s|0)==9){s=0;af(b,e,d)}if(!(a[l>>0]|0))bf(c[m>>2]|0,c[h>>2]|0,c[i>>2]|0,c[n>>2]|0,c[j>>2]|0,c[k>>2]|0);d=c[c[o>>2]>>2]|0;if((a[182336]|0)==0?DW(182336)|0:0)c[45600]=hb(1,58760)|0;eb(c[45600]|0,d|0,120555,q|0);if((p|0)<=-1){s=17;break}}if((s|0)==17){$c=t;return}}c[h>>2]=120508;c[h+4>>2]=d;Db(0,h|0);$c=t;return}function Ye(b){b=b|0;var d=0,e=0,f=0;f=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=f;c[b>>2]=58940;if((a[b+36>>0]|0)==0?(d=c[b+8>>2]|0,d|0):0)YU(d);c[e>>2]=120469;Db(0,e|0);$c=f;return}function Ze(a){a=a|0;Nb()}function _e(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);j=l;k=d+12|0;g=c[k>>2]|0;c[j>>2]=120458;c[j+4>>2]=e;Db(0,j|0);switch(e|0){case 7:{j=d+11|0;c[b+32>>2]=a[((a[j>>0]|0)<0?c[d>>2]|0:d)+(c[k>>2]|0)+9>>0]&3;n=g+11|0;c[k>>2]=n;f=a[j>>0]|0;e=c[d>>2]|0;i=f<<24>>24<0?e:d;n=i+n+2+-1|0;m=a[n>>0]|0;n=a[n+-1>>0]|0;h=g+13|0;c[k>>2]=h;g=(n&255)<<8|m&255;if(g){pd[c[(c[b>>2]|0)+20>>2]&1023](b,i+h|0,g);h=(c[k>>2]|0)+g|0;c[k>>2]=h;f=a[j>>0]|0;e=c[d>>2]|0}n=h+1|0;c[k>>2]=n;g=f<<24>>24<0?e:d;n=g+n+2+-1|0;e=a[n>>0]|0;n=a[n+-1>>0]|0;f=h+3|0;c[k>>2]=f;e=(n&255)<<8|e&255;if(!e){$c=l;return}pd[c[(c[b>>2]|0)+20>>2]&1023](b,g+f|0,e);$c=l;return}case 12:{j=d+11|0;c[b+32>>2]=a[((a[j>>0]|0)<0?c[d>>2]|0:d)+(c[k>>2]|0)+27>>0]&3;i=g+31|0;c[k>>2]=i;n=(a[j>>0]|0)<0?c[d>>2]|0:d;i=n+i+2+-1|0;m=a[i>>0]|0;i=a[i+-1>>0]|0;h=g+33|0;c[k>>2]=h;m=(i&255)<<8|m&255;pd[c[(c[b>>2]|0)+20>>2]&1023](b,n+h|0,m);m=(c[k>>2]|0)+m|0;h=m+3|0;c[k>>2]=h;n=(a[j>>0]|0)<0?c[d>>2]|0:d;h=n+h+2+-1|0;i=a[h>>0]|0;h=a[h+-1>>0]|0;m=m+5|0;c[k>>2]=m;i=(h&255)<<8|i&255;pd[c[(c[b>>2]|0)+20>>2]&1023](b,n+m|0,i);i=(c[k>>2]|0)+i|0;m=i+3|0;c[k>>2]=m;j=(a[j>>0]|0)<0?c[d>>2]|0:d;m=j+m+2+-1|0;n=a[m>>0]|0;m=a[m+-1>>0]|0;d=i+5|0;c[k>>2]=d;pd[c[(c[b>>2]|0)+20>>2]&1023](b,j+d|0,(m&255)<<8|n&255);$c=l;return}default:{$c=l;return}}}function $e(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=d+11|0;l=a[m>>0]|0;e=l<<24>>24<0;n=d+4|0;o=d+12|0;f=c[o>>2]|0;if(((e?c[n>>2]|0:l&255)-f|0)<=4)return;l=b+32|0;i=0;j=0;k=0;do{switch(c[l>>2]|0){case 3:{e=e?c[d>>2]|0:d;k=e+f+4+-1|0;g=4;h=k;i=a[k+-2>>0]|0;j=a[k+-3>>0]|0;k=a[k+-1>>0]|0;break}case 2:{e=e?c[d>>2]|0:d;k=e+f+3+-1|0;g=3;h=k;i=a[k+-2>>0]|0;k=a[k+-1>>0]|0;break}case 1:{e=e?c[d>>2]|0:d;k=e+f+2+-1|0;g=2;h=k;k=a[k+-1>>0]|0;break}default:{h=e?c[d>>2]|0:d;e=h;g=1;h=h+f+1+-1|0}}h=a[h>>0]|0;g=f+g|0;c[o>>2]=g;h=(i&255)<<16|(j&255)<<24|(k&255)<<8|h&255;pd[c[(c[b>>2]|0)+20>>2]&1023](b,e+g|0,h);f=(c[o>>2]|0)+h|0;c[o>>2]=f;h=a[m>>0]|0;e=h<<24>>24<0}while(((e?c[n>>2]|0:h&255)-f|0)>4);return}function af(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);h=i;f=b+12|0;c[f>>2]=d;g=b+16|0;c[g>>2]=e;c[h>>2]=120529;c[h+4>>2]=d;c[h+8>>2]=e;Db(0,h|0);if(!(a[b+36>>0]|0)){e=c[g>>2]|0;e=(H(e<<2,e)|0)+33554432|0;e=XU((e>>>0>16777216?e:16777216)+16777215&-16777216)|0;c[b+8>>2]=e;d=c[c[b+4>>2]>>2]|0;if((a[182384]|0)==0?DW(182384)|0:0)c[45606]=hb(4,48)|0;b=c[45606]|0;c[h>>2]=c[f>>2];c[h+8>>2]=c[g>>2];c[h+16>>2]=e;eb(b|0,d|0,120542,h|0);$c=i;return}else{e=b+20|0;c[b+8>>2]=e;e=e>>2;d=c[c[b+4>>2]>>2]|0;if((a[182384]|0)==0?DW(182384)|0:0)c[45606]=hb(4,48)|0;b=c[45606]|0;c[h>>2]=c[f>>2];c[h+8>>2]=c[g>>2];c[h+16>>2]=e;eb(b|0,d|0,120542,h|0);$c=i;return}}function bf(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0;E=g<<2;F=f+(H(E,h)|0)|0;if(!h)return;A=(g|0)==0;D=(g+-1|0)>>>1;B=(D<<3)+8|0;C=g+1&-2;D=D+1|0;j=0;z=0;k=0;i=0;l=0;while(1){if(!A){x=B+j|0;y=D+i|0;w=0;v=k;u=l;while(1){n=d[a+u>>0]|0;p=d[a+(u+g)>>0]|0;s=d[b+i>>0]|0;t=d[e+v>>0]|0;r=s<<8|t;o=F+(r|n<<16)|0;m=c[o>>2]|0;if(!m){J=(n*1192|0)+-19072|0;G=t+-128|0;m=s+-128|0;q=(G*1634|0)+J>>10;G=(H(m,-400)|0)+J+(H(G,-832)|0)>>10;J=(m*2066|0)+J>>10;m=(q|0)>0?q:0;n=(G|0)>0?G:0;I=(J|0)>0?J:0;m=((((J&255|0)==(J|0)?J:(I|0)<255?I:255)<<8)+16711680+((G&255|0)==(G|0)?G:(n|0)<255?n:255)<<8)+((q&255|0)==(q|0)?q:(m|0)<255?m:255)|0;c[o>>2]=m}c[f+j>>2]=m;n=F+(r|p<<16)|0;m=c[n>>2]|0;if(!m){p=(p*1192|0)+-19072|0;G=t+-128|0;m=s+-128|0;J=(G*1634|0)+p>>10;G=(H(m,-400)|0)+p+(H(G,-832)|0)>>10;p=(m*2066|0)+p>>10;m=(J|0)>0?J:0;I=(G|0)>0?G:0;q=(p|0)>0?p:0;m=((((p&255|0)==(p|0)?p:(q|0)<255?q:255)<<8)+16711680+((G&255|0)==(G|0)?G:(I|0)<255?I:255)<<8)+((J&255|0)==(J|0)?J:(m|0)<255?m:255)|0;c[n>>2]=m}c[f+(j+E)>>2]=m;q=j+4|0;p=u+1|0;n=d[a+p>>0]|0;p=d[a+(p+g)>>0]|0;o=F+(r|n<<16)|0;m=c[o>>2]|0;if(!m){m=(n*1192|0)+-19072|0;G=t+-128|0;K=s+-128|0;J=m+(G*1634|0)>>10;G=(H(G,-832)|0)+(H(K,-400)|0)+m>>10;K=m+(K*2066|0)>>10;m=(J|0)>0?J:0;I=(G|0)>0?G:0;n=(K|0)>0?K:0;m=((((K&255|0)==(K|0)?K:(n|0)<255?n:255)<<8)+16711680+((G&255|0)==(G|0)?G:(I|0)<255?I:255)<<8)+((J&255|0)==(J|0)?J:(m|0)<255?m:255)|0;c[o>>2]=m}c[f+q>>2]=m;n=F+(r|p<<16)|0;m=c[n>>2]|0;if(!m){m=(p*1192|0)+-19072|0;I=t+-128|0;t=s+-128|0;K=m+(I*1634|0)>>10;I=(H(I,-832)|0)+(H(t,-400)|0)+m>>10;t=m+(t*2066|0)>>10;m=(K|0)>0?K:0;J=(I|0)>0?I:0;G=(t|0)>0?t:0;m=((((t&255|0)==(t|0)?t:(G|0)<255?G:255)<<8)+16711680+((I&255|0)==(I|0)?I:(J|0)<255?J:255)<<8)+((K&255|0)==(K|0)?K:(m|0)<255?m:255)|0;c[n>>2]=m}c[f+(q+E)>>2]=m;w=w+2|0;if(w>>>0>=g>>>0)break;else{j=j+8|0;v=v+1|0;i=i+1|0;u=u+2|0}}l=C+l|0;j=x;k=D+k|0;i=y}z=z+2|0;if(z>>>0>=h>>>0)break;else{j=j+E|0;l=l+g|0}}return}function cf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);h=l+16|0;j=l+4|0;k=l;f=d+4|0;g=c[d>>2]|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;if(g>>>0>4294967279)xV(j);if(g>>>0<11){a[j+11>>0]=g;if(!g)d=j;else{d=j;i=6}}else{i=g+16&-16;d=rV(i)|0;c[j>>2]=d;c[j+8>>2]=i|-2147483648;c[j+4>>2]=g;i=6}if((i|0)==6)YW(d|0,f|0,g|0)|0;a[d+g>>0]=0;c[k>>2]=e;pd[b&1023](h,j,k);jb(c[h>>2]|0);d=c[h>>2]|0;fb(d|0);fb(c[k>>2]|0);if((a[j+11>>0]|0)>=0){$c=l;return d|0}sV(c[j>>2]|0);$c=l;return d|0}function df(){Cd(0);return}function ef(a){a=a|0;a=c[a>>2]|0;c[a+44>>2]=7;c[a+48>>2]=1;return 0}function ff(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);q=u+8|0;r=u;o=u+4|0;c[q>>2]=g;c[r>>2]=h;s=c[a>>2]|0;p=s+84|0;j=s+88|0;k=s+48|0;l=s+96|0;m=s+44|0;n=s+4|0;i=0;g=c[p>>2]|0;a:while(1){if((g|0)>(h|0)){g=-100;break}if(g){if(!(c[l>>2]|0)){t=5;break}}else g=0;while(1){if((g|0)>=(h|0)){g=-100;break a}v=j;v=UW(c[v>>2]|0,c[v+4>>2]|0,8)|0;h=M()|0;v=v|(d[(c[q>>2]|0)+g>>0]|0);w=j;c[w>>2]=v;c[w+4>>2]=h;h=kd[c[k>>2]&63](v,h,s,l,o)|0;if(h|0)break;g=g+1|0;h=c[r>>2]|0}if((h|0)<1){g=-100;break}w=j;c[w>>2]=0;c[w+4>>2]=0;g=g+1-(c[m>>2]|0)|0;c[p>>2]=h;if(c[o>>2]|0?((c[n>>2]|0)+g|0)>=1:0){i=1;break}g=h+g|0;c[p>>2]=g;i=1;h=c[r>>2]|0}if((t|0)==5)c[p>>2]=0;if((kf(s,g,q,r)|0)>=0){c[e>>2]=c[q>>2];c[f>>2]=c[r>>2];h=c[s+100>>2]|0;if(h|0)c[b+16>>2]=h;if(i){if((c[b+16>>2]|0)!=86018){c[b+344>>2]=c[s+56>>2];c[b+348>>2]=c[s+52>>2];t=s+72|0;v=c[t+4>>2]|0;w=b+376|0;c[w>>2]=c[t>>2];c[w+4>>2]=v;c[a+304>>2]=c[s+64>>2];c[b+392>>2]=c[s+80>>2]}v=c[s+60>>2]|0;w=b+40|0;c[w>>2]=v;c[w+4>>2]=((v|0)<0)<<31>>31}}else{w=c[p>>2]|0;g=c[r>>2]|0;c[p>>2]=w-((w|0)>(g|0)?g:w);c[e>>2]=0;c[f>>2]=0}$c=u;return g|0}function gf(a){a=a|0;hf(c[a>>2]|0);return}function hf(b){b=b|0;var c=0;c=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;a[b>>0]=0;a[b+1>>0]=0;a[b+2>>0]=0;a[b+3>>0]=0;jf(c);return}function jf(a){a=a|0;YU(a);return}function kf(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);l=p+24|0;i=p+8|0;j=p;n=b+24|0;k=b+28|0;o=b+4|0;h=c[n>>2]|0;while(1){if((h|0)<=0)break;m=c[b>>2]|0;q=c[k>>2]|0;c[k>>2]=q+1;q=a[m+q>>0]|0;h=c[o>>2]|0;c[o>>2]=h+1;a[m+h>>0]=q;h=(c[n>>2]|0)+-1|0;c[n>>2]=h}e=(e|0)==-100&(c[g>>2]|0)==0?0:e;h=c[o>>2]|0;m=b+8|0;c[m>>2]=h;a:do if((e|0)==-100){e=lf(c[b>>2]|0,b+12|0,(c[g>>2]|0)+64+h|0)|0;if(!e){c[j>>2]=(c[g>>2]|0)+64+(c[o>>2]|0);mf(0,16,121151,j);e=-12;h=0}else{c[b>>2]=e;YW(e+(c[o>>2]|0)|0,c[f>>2]|0,c[g>>2]|0)|0;e=-1;h=(c[o>>2]|0)+(c[g>>2]|0)|0}c[o>>2]=h}else{if((e|0)<=-1?(c[b>>2]|0)==0:0){c[i>>2]=121193;c[i+4>>2]=121217;c[i+8>>2]=356;mf(0,0,164250,i);ub()}h=h+e|0;c[k>>2]=h;c[g>>2]=h;h=c[o>>2]|0;if(h|0){i=e+64|0;h=lf(c[b>>2]|0,b+12|0,i+h|0)|0;if(!h){c[l>>2]=i+(c[o>>2]|0);mf(0,16,121151,l);c[o>>2]=0;c[k>>2]=0;e=-12;break}c[b>>2]=h;if((e|0)>-64){YW(h+(c[o>>2]|0)|0,c[f>>2]|0,i|0)|0;h=c[b>>2]|0}c[o>>2]=0;c[f>>2]=h}h=b+16|0;i=b+32|0;while(1){if((e|0)>=0){e=0;break a}f=(c[b>>2]|0)+((c[m>>2]|0)+e)|0;c[h>>2]=c[h>>2]<<8|(d[f>>0]|0);l=i;l=UW(c[l>>2]|0,c[l+4>>2]|0,8)|0;o=M()|0;q=i;c[q>>2]=l|(d[f>>0]|0);c[q+4>>2]=o;c[n>>2]=(c[n>>2]|0)+1;e=e+1|0}}while(0);$c=p;return e|0}function lf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((c[b>>2]|0)>>>0>>0){f=2147483647+-32|0;e=d+32+(d>>>4)|0;e=e>>>0>d>>>0?e:d;e=f>>>0>e>>>0?e:f;if(f>>>0>>0){e=0;a=0}else{a=tf(a,e)|0;e=(a|0)==0?0:e}c[b>>2]=e}return a|0}function mf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=i;if(a){h=c[a>>2]|0;c[f>>2]=e;if(((h|0)!=0?(c[h+12>>2]|0)>3280641:0)?(g=c[h+16>>2]|0,(b|0)>7&(g|0)!=0):0)b=(c[a+g>>2]|0)+b|0}else c[f>>2]=e;nf(a,b,d,f);$c=i;return}function nf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(4)of(a,b,c,d);return}function of(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=$c;$c=$c+5168|0;if(($c|0)>=(ad|0))N(5168);n=p+24|0;m=p+16|0;h=p;o=p+40|0;k=p+4136|0;l=p+32|0;i=(d|0)>-1;j=i?d&255:d;i=i?d>>>8&255:0;if((j|0)<=32){fV(182428)|0;pf(b,j,e,f,o,59024,l);e=o+1024|0;q=c[e>>2]|0;f=o+2048|0;b=c[f>>2]|0;g=o+3072|0;d=c[g>>2]|0;c[h>>2]=c[o>>2];c[h+4>>2]=q;c[h+8>>2]=b;c[h+12>>2]=d;nU(k,1024,121237,h)|0;d=c[45614]|0;if(!d){b=(WU(2)|0)!=0;b=b?1:-1;c[45614]=b}else b=d;if((!((c[14756]|0)==0|0==0)?(q=(qT(k,257496)|0)!=0,!(q|(a[k>>0]|0)==0)):0)?(a[k+((eU(k)|0)+-1)>>0]|0)!=13:0){d=(c[45615]|0)+1|0;c[45615]=d;if((b|0)==1){q=c[28451]|0;c[m>>2]=d;LU(q,121246,m)|0}}else{d=c[45615]|0;if((d|0)>0){q=c[28451]|0;c[n>>2]=d;LU(q,121282,n)|0;c[45615]=0}oU(257496,k)|0;qf(c[o>>2]|0);rf(c[l>>2]|0,0,c[o>>2]|0);qf(c[e>>2]|0);rf(c[l+4>>2]|0,0,c[e>>2]|0);qf(c[f>>2]|0);q=j>>3;q=(q|0)>0?((q|0)<7?q:7):0;rf(q,i,c[f>>2]|0);qf(c[g>>2]|0);rf(q,i,c[g>>2]|0)}sf(o+3072|0,0)|0;gV(182428)|0}$c=p;return}function pf(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);r=w+24|0;t=w+16|0;s=w+8|0;q=w;if(!b)l=0;else l=c[b>>2]|0;wf(g,0,1);p=g+1024|0;wf(p,0,1);j=g+2048|0;wf(j,0,1);v=g+3072|0;wf(v,0,65536);k=(i|0)!=0;if(k){c[i+4>>2]=16;c[i>>2]=16}if((l|0)!=0&(c[h>>2]|0)!=0){m=c[l+20>>2]|0;do if(((m|0)!=0?(n=c[b+m>>2]|0,(n|0)!=0):0)?(o=c[n>>2]|0,(o|0)!=0):0){c[q>>2]=fd[c[o+4>>2]&31](n)|0;c[q+4>>2]=n;xf(g,121473,q);if(k){c[i>>2]=yf(n)|0;u=11;break}else{c[t>>2]=fd[c[l+4>>2]&31](b)|0;c[t+4>>2]=b;xf(p,121473,t);break}}else u=11;while(0);if((u|0)==11?(c[s>>2]=fd[c[l+4>>2]&31](b)|0,c[s+4>>2]=b,xf(p,121473,s),k):0)c[i+4>>2]=yf(b)|0;if(0){c[r>>2]=zf(d)|0;xf(j,121484,r)}}Af(v,e,f);if(!((((a[c[g>>2]>>0]|0)==0?(a[c[p>>2]>>0]|0)==0:0)?(a[c[j>>2]>>0]|0)==0:0)?!(a[c[v>>2]>>0]|0):0)){b=c[g+3076>>2]|0;if((b|0)!=0?b>>>0<=(c[g+3080>>2]|0)>>>0:0)b=a[(c[v>>2]|0)+(b+-1)>>0]|0;else b=0;c[h>>2]=(b<<24>>24==10|b<<24>>24==13)&1}$c=w;return}function qf(b){b=b|0;var c=0;while(1){c=a[b>>0]|0;if(!(c<<24>>24))break;if((c&255)<8|(c+-14&255)<18)a[b>>0]=63;b=b+1|0}return}function rf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);j=k+32|0;i=k+16|0;h=k;do if(a[e>>0]|0){f=c[14757]|0;if((f|0)<0){vf();f=c[14757]|0}g=(b|0)==4?0:f;if((g|0)==1){j=c[28451]|0;b=c[59032+(b<<2)>>2]|0;c[h>>2]=b>>>4&15;c[h+4>>2]=b&15;c[h+8>>2]=e;LU(j,121318,h)|0;break}if((d|0)!=0&(f|0)==256){j=c[28451]|0;c[i>>2]=(c[59032+(b<<2)>>2]|0)>>>16&255;c[i+4>>2]=d;c[i+8>>2]=e;LU(j,121334,i)|0;break}f=c[28451]|0;if((g|0)==256){b=c[59032+(b<<2)>>2]|0;c[j>>2]=b>>>16&255;c[j+4>>2]=b>>>8&255;c[j+8>>2]=e;LU(f,121361,j)|0;break}else{vU(e,f)|0;break}}while(0);$c=k;return}function sf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=(c[a+4>>2]|0)+1|0;g=a+8|0;e=c[g>>2]|0;f=f>>>0>e>>>0?e:f;e=c[a>>2]|0;d=(e|0)!=(a+16|0);if(!b)if(d){hf(a);d=0}else d=0;else{if(!d){e=uf(f)|0;if(!e){d=-12;e=0}else{YW(e|0,c[a>>2]|0,f|0)|0;d=0}}else{e=tf(e,f)|0;if(!e)e=c[a>>2]|0;c[a>>2]=0;d=0}c[b>>2]=e}c[g>>2]=f;return d|0}function tf(a,b){a=a|0;b=b|0;if((2147483647+-32|0)>>>0>>0)a=0;else a=_U(a,((b|0)==0&1)+b|0)|0;return a|0}function uf(a){a=a|0;var b=0,d=0;d=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);b=d;c[b>>2]=0;do if((2147483647+-32|0)>>>0>=a>>>0){if(!a){a=uf(1)|0;c[b>>2]=a;break}if(!(dV(b,16,a)|0)){a=c[b>>2]|0;break}else{c[b>>2]=0;a=0;break}}else a=0;while(0);$c=d;return a|0}function vf(){var a=0,b=0,d=0;a=Jb(121388)|0;do if((Jb(121393)|0)==0?(Jb(121402)|0)==0:0){if(a|0?WU(2)|0:0){b=1;break}b=(Jb(121423)|0)!=0&1}else b=0;while(0);c[14757]=b;if(!(Jb(121442)|0)){if(a|0?MU(a,121464)|0:0)d=9}else d=9;if((d|0)==9)c[14757]=b<<8;return}function wf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=b+16|0;g=(e|0)==1?1008:e;c[b>>2]=f;c[b+4>>2]=0;e=g>>>0<1008?g:1008;c[b+8>>2]=e;c[b+12>>2]=g;a[f>>0]=0;if(e>>>0>>0)Bf(b,d+-1|0)|0;return}function xf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=k;g=a+8|0;h=a+4|0;while(1){i=c[g>>2]|0;e=c[h>>2]|0;i=i-(e>>>0>i>>>0?i:e)|0;if(!i)e=0;else e=(c[a>>2]|0)+e|0;c[f>>2]=d;e=uT(e,i,b,f)|0;if((e|0)<1)break;if(e>>>0>>0){j=7;break}if(Bf(a,e)|0){j=7;break}}if((j|0)==7)Cf(a,e);$c=k;return}function yf(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;do if(((b|0)!=0?(e=c[b+12>>2]|0,!((e|0)<3357440|(e&252)>>>0<100)):0)?(d=c[b+32>>2]|0,d>>>0<=45):0){b=c[b+36>>2]|0;if(!b){b=d+16|0;break}else{b=(fd[b&31](a)|0)+16|0;break}}else b=16;while(0);return b|0}function zf(a){a=a|0;a=a+8|0;switch(a>>>3|a<<29|0){case 0:{a=121529;break}case 7:{a=169271;break}case 6:{a=121521;break}case 5:{a=121516;break}case 4:{a=121508;break}case 3:{a=121502;break}case 2:{a=121496;break}case 1:{a=121490;break}default:a=262104}return a|0}function Af(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);g=k;h=a+8|0;i=a+4|0;while(1){f=c[h>>2]|0;e=c[i>>2]|0;f=f-(e>>>0>f>>>0?f:e)|0;if(!f)e=0;else e=(c[a>>2]|0)+e|0;c[g>>2]=c[d>>2];e=uT(e,f,b,g)|0;if((e|0)<1)break;if(e>>>0>>0){j=7;break}if(Bf(a,e)|0){j=7;break}}if((j|0)==7)Cf(a,e);$c=k;return}function Bf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=a+8|0;d=c[f>>2]|0;e=c[a+12>>2]|0;if((d|0)!=(e|0))if(Df(a)|0){g=a+4|0;i=c[g>>2]|0;h=-2-i|0;h=i+1+(h>>>0>b>>>0?b:h)|0;b=d>>>0>e>>>1>>>0?e:d<<1;b=b>>>0>>0?(e>>>0>h>>>0?h:e):b;d=c[a>>2]|0;d=(d|0)==(a+16|0)?0:d;e=tf(d,b)|0;if(!e)b=-12;else{if(!d)YW(e|0,c[a>>2]|0,(c[g>>2]|0)+1|0)|0;c[a>>2]=e;c[f>>2]=b;b=0}}else b=-1094995529;else b=-5;return b|0}function Cf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=b+4|0;e=c[f>>2]|0;g=-6-e|0;e=(g>>>0>>0?g:d)+e|0;c[f>>2]=e;f=c[b+8>>2]|0;d=f+-1|0;if(f|0)a[(c[b>>2]|0)+(e>>>0>d>>>0?d:e)>>0]=0;return}function Df(a){a=a|0;return (c[a+4>>2]|0)>>>0<(c[a+8>>2]|0)>>>0|0}function Ef(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;i=$c;$c=$c+112|0;if(($c|0)>=(ad|0))N(112);j=i+92|0;h=i+72|0;k=i;l=Ff(a,b)|0;b=M()|0;a=k;c[a>>2]=l;c[a+4>>2]=b;Gf(j,k+1|0);a=Hf(j,h)|0;if((a|0)<0)a=0;else{c[f>>2]=0;c[g>>2]=1;c[e+56>>2]=c[h>>2];c[e+52>>2]=d[121535+(d[h+15>>0]|0)>>0];c[e+64>>2]=c[h+4>>2];c[e+60>>2]=c[h+8>>2]}$c=i;return a|0}function Ff(a,b){a=a|0;b=b|0;a=WW(a|0)|0;b=WW(b|0)|0;L(a|0);return b|0}function Gf(a,b){a=a|0;b=b|0;var d=0;d=(b|0)==0?0:56;c[a>>2]=b;c[a+12>>2]=d;c[a+16>>2]=d+8;c[a+4>>2]=b+(d>>>3);c[a+8>>2]=0;return}function Hf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if((If(b,12)|0)==4095){Jf(b);Kf(b,2);g=Lf(b)|0;h=If(b,2)|0;i=If(b,4)|0;j=c[59280+(i<<2)>>2]|0;if(j){Jf(b);f=If(b,3)|0;Jf(b);Jf(b);Jf(b);Jf(b);e=If(b,13)|0;if((e|0)<7)e=-67308554;else{Kf(b,11);b=If(b,2)|0;a[d+13>>0]=h+1;a[d+15>>0]=f;a[d+12>>0]=g;h=b+1|0;a[d+16>>0]=h;a[d+14>>0]=i;c[d>>2]=j;i=h<<10;c[d+4>>2]=i;c[d+8>>2]=((H(e<<3,j)|0)>>>0)/(i>>>0)|0}}else e=-50531338}else e=-16976906;return e|0}function If(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=a+8|0;g=c[e>>2]|0;f=c[a+16>>2]|0;a=(c[a>>2]|0)+(g>>>3)|0;a=(WW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(g&7)>>>(32-b|0);b=g+b|0;c[e>>2]=f>>>0>b>>>0?b:f;return a|0}function Jf(a){a=a|0;Kf(a,1);return}function Kf(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=c[a+16>>2]|0;b=(c[d>>2]|0)+b|0;c[d>>2]=a>>>0>b>>>0?b:a;return}function Lf(a){a=a|0;var b=0,e=0,f=0;e=a+8|0;f=c[e>>2]|0;b=(d[(c[a>>2]|0)+(f>>>3)>>0]|0)<<(f&7)>>>7&1;c[e>>2]=f+((f|0)<(c[a+16>>2]|0)&1);return b|0}function Mf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(a|0?(g=c[a>>2]|0,g|0):0){b=g+4|0;d=c[b>>2]|0;e=c[d+24>>2]|0;if(e){nd[e&63](g);d=c[b>>2]|0}b=g+12|0;if(c[d+8>>2]|0?(f=c[b>>2]|0,f|0):0)Nf(f);Nf(g);f=g+8|0;Of(c[f>>2]|0);hf(f);hf(b);Pf(g+16|0);Pf(g+20|0);hf(a)}return}function Nf(a){a=a|0;var b=0;b=0;a:while(1){b=Wf(a,b)|0;if(!b)break;switch(c[b+12>>2]|0){case 7:case 5:{hf(a+(c[b+8>>2]|0)|0);continue a}case 8:{Xf(a+(c[b+8>>2]|0)|0);continue a}default:continue a}}return}function Of(a){a=a|0;var b=0;if(a|0?(b=c[a>>2]|0,b|0):0){Rf(b);hf(a)}return}function Pf(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){Qf(b);hf(a)}return}function Qf(a){a=a|0;var b=0,d=0;hf(a+12|0);b=a+8|0;d=b+128|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));c[a>>2]=-1;c[a+4>>2]=0;c[a+20>>2]=-1;c[a+64>>2]=0;c[a+68>>2]=0;c[a+72>>2]=2;c[a+76>>2]=2;c[a+80>>2]=2;c[a+84>>2]=0;c[a+56>>2]=0;c[a+60>>2]=1;c[a+40>>2]=-99;c[a+44>>2]=-99;return}function Rf(a){a=a|0;Sf(a);Tf(a);Uf(a);c[a+24>>2]=0;c[a+28>>2]=0;return}function Sf(a){a=a|0;var b=0,d=0;d=a+44|0;b=a+40|0;a=0;while(1){if((a|0)>=(c[d>>2]|0))break;hf((c[b>>2]|0)+(a*12|0)|0);a=a+1|0}hf(b);c[d>>2]=0;return}function Tf(a){a=a|0;if(a|0?c[a>>2]|0:0)Vf(a,0);return}function Uf(a){a=a|0;var b=0;b=a+8|0;c[b>>2]=0;c[b+4>>2]=-2147483648;b=a+16|0;c[b>>2]=0;c[b+4>>2]=-2147483648;b=a+56|0;c[b>>2]=-1;c[b+4>>2]=-1;b=a+64|0;c[b>>2]=0;c[b+4>>2]=0;b=a+32|0;c[a>>2]=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;return}function Vf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);d=g;e=c[a>>2]|0;f=c[e>>2]|0;c[d>>2]=f;if(!b)hf(a);else{a=c[b>>2]|0;c[e>>2]=c[a>>2];c[e+4>>2]=c[a+4>>2];c[e+8>>2]=c[a+8>>2];hf(b)}e=f+8|0;f=c[e>>2]|0;c[e>>2]=f+-1;if((f|0)==1){f=c[d>>2]|0;od[c[f+12>>2]&255](c[f+16>>2]|0,c[f>>2]|0);hf(d)}$c=g;return}function Wf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;do if(!a)d=0;else{a=c[a>>2]|0;e=(b|0)==0;if((e&(a|0)!=0?(f=c[a+8>>2]|0,f|0):0)?c[f>>2]|0:0){d=f;break}if(!e?(d=b+48|0,c[d>>2]|0):0)break;d=0}while(0);return d|0}function Xf(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a>>2]|0;if(b|0){d=b+4|0;while(1){f=c[b>>2]|0;e=f+-1|0;c[b>>2]=e;if(!f)break;hf((c[d>>2]|0)+(e<<3)|0);hf((c[d>>2]|0)+(c[b>>2]<<3)+4|0)}hf(d)}hf(a);return}function Yf(a,b){a=a|0;b=b|0;return hd[c[(c[a+4>>2]|0)+20>>2]&15](a,b)|0}function Zf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=g;do if(b){if((c[b+24>>2]|0)==0?(c[b+44>>2]|0)==0:0){f=4;break}d=c[a+8>>2]|0;if(c[d+4>>2]|0){mf(a,16,121543,e);a=-22;break}a=c[d>>2]|0;if((c[a+24>>2]|0)==0?(c[a+44>>2]|0)==0:0){_f(a,b);a=0}else a=-11}else f=4;while(0);if((f|0)==4){c[(c[a+8>>2]|0)+4>>2]=1;a=0}$c=g;return a|0}function _f(a,b){a=a|0;b=b|0;var d=0,e=0;d=b;e=a+72|0;do{c[a>>2]=c[d>>2];a=a+4|0;d=d+4|0}while((a|0)<(e|0));Uf(b);c[b+24>>2]=0;c[b+28>>2]=0;return}function $f(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;Qf(a);YW(a|0,b|0,136)|0;f=a+12|0;c[f>>2]=0;d=a+16|0;c[d>>2]=0;e=b+12|0;if(c[e>>2]|0){b=b+16|0;a=dg((c[b>>2]|0)+64|0)|0;c[f>>2]=a;if(!a)a=-12;else{f=c[b>>2]|0;YW(a|0,c[e>>2]|0,f|0)|0;c[d>>2]=f;a=0}}else a=0;return a|0}function ag(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);k=n+24|0;j=n+16|0;i=n;l=a+4|0;e=c[(c[l>>2]|0)+4>>2]|0;g=a+16|0;a:do if(!e)m=13;else{f=c[(c[g>>2]|0)+4>>2]|0;b=0;while(1){d=c[e+(b<<2)>>2]|0;if(!d)break;if((f|0)==(d|0)){m=13;break a}else b=b+1|0}b=bg(f)|0;if(!b)b=171299;else b=c[b+8>>2]|0;h=c[(c[g>>2]|0)+4>>2]|0;d=c[c[l>>2]>>2]|0;c[i>>2]=b;c[i+4>>2]=h;c[i+8>>2]=d;mf(a,16,121581,i);d=0;while(1){b=c[(c[(c[l>>2]|0)+4>>2]|0)+(d<<2)>>2]|0;if(!b)break;b=bg(b)|0;if(!b)b=171299;else b=c[b+8>>2]|0;i=c[(c[(c[l>>2]|0)+4>>2]|0)+(d<<2)>>2]|0;c[j>>2]=b;c[j+4>>2]=i;mf(a,16,121667,j);d=d+1|0}mf(a,16,133138,k);b=-22}while(0);do if((m|0)==13){b=$f(c[a+20>>2]|0,c[g>>2]|0)|0;if((b|0)>=0){k=a+24|0;m=c[k+4>>2]|0;b=a+32|0;c[b>>2]=c[k>>2];c[b+4>>2]=m;b=c[(c[l>>2]|0)+16>>2]|0;if(b|0?(h=fd[b&31](a)|0,(h|0)<0):0){b=h;break}b=0}}while(0);$c=n;return b|0}function bg(a){a=a|0;var b=0,d=0;b=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);d=b;c[d>>2]=a;a=VU(d,59344,436,28,7)|0;$c=b;return a|0}function cg(a,b){a=a|0;b=b|0;return (c[a>>2]|0)-(c[b>>2]|0)|0}function dg(a){a=a|0;var b=0;b=uf(a)|0;if(b|0)_W(b|0,0,a|0)|0;return b|0}function eg(a){a=a|0;var b=0;b=c[a+24>>2]|0;if(c[c[a+28>>2]>>2]|0){_W(b|0,0,46324)|0;a=eN(a,b)|0;if((a|0)>=0){c[b+25692>>2]=0;a=0}}else a=0;return a|0}function fg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);l=s;q=c[a+24>>2]|0;r=c[b+24>>2]|0;k=q+25692|0;a:do if((a|0)!=(b|0)){j=(c[k>>2]|0)!=0;do if(j){if((((((((c[q+25668>>2]|0)==(c[r+25668>>2]|0)?(c[q+25672>>2]|0)==(c[r+25672>>2]|0):0)?(c[q+27012>>2]|0)==(c[r+27012>>2]|0):0)?(c[q+27008>>2]|0)==(c[r+27008>>2]|0):0)?(d=c[q+28216>>2]|0,d|0):0)?(e=c[r+28216>>2]|0,(c[d+1184>>2]|0)==(c[e+1184>>2]|0)):0)?(c[d+12>>2]|0)==(c[e+12>>2]|0):0)?(c[d+128>>2]|0)==(c[e+128>>2]|0):0){g=0;break}g=1}else g=0;while(0);h=q+25976|0;i=r+25976|0;YW(h|0,i|0,384)|0;a=0;while(1){if(a>>>0>=32){a=0;break}b=q+27052+(a<<2)|0;Tf(b);d=c[r+27052+(a<<2)>>2]|0;if(d|0?(n=Vg(d)|0,c[b>>2]=n,(n|0)==0):0){a=-12;break a}a=a+1|0}while(1){if(a>>>0>=256)break;b=q+27180+(a<<2)|0;Tf(b);d=c[r+27180+(a<<2)>>2]|0;if(d|0?(n=Vg(d)|0,c[b>>2]=n,(n|0)==0):0){a=-12;break a}a=a+1|0}b=q+28204|0;Tf(b);e=q+28208|0;Tf(e);d=q+28212|0;c[d>>2]=0;f=q+28216|0;c[f>>2]=0;a=c[r+28204>>2]|0;if(a|0){a=Vg(a)|0;c[b>>2]=a;if(!a){a=-12;break}c[d>>2]=c[a+4>>2]}a=c[r+28208>>2]|0;if(a|0){a=Vg(a)|0;c[e>>2]=a;if(!a){a=-12;break}c[f>>2]=c[a+4>>2]}if(j&(g|0)==0)a=0;else{c[q+25668>>2]=c[r+25668>>2];c[q+25672>>2]=c[r+25672>>2];c[q+27008>>2]=c[r+27008>>2];c[q+27012>>2]=c[r+27012>>2];c[q+27020>>2]=c[r+27020>>2];c[q+27016>>2]=c[r+27016>>2];c[q+26368>>2]=c[r+26368>>2];if((c[k>>2]|0)==0?(c[r+25692>>2]|0)==0:0)a=0;else{a=_m(q)|0;if((a|0)<0){mf(c[q+4>>2]|0,16,155165,l);break}}YW(h|0,i|0,384)|0}n=c[r+4>>2]|0;f=c[q+4>>2]|0;c[f+104>>2]=c[n+104>>2];c[f+100>>2]=c[n+100>>2];c[f+92>>2]=c[n+92>>2];c[f+96>>2]=c[n+96>>2];c[q+29664>>2]=c[r+29664>>2];c[q+29668>>2]=c[r+29668>>2];c[q+25688>>2]=c[r+25688>>2];c[q+26384>>2]=c[r+26384>>2];c[q+26380>>2]=c[r+26380>>2];c[q+26376>>2]=c[r+26376>>2];f=r+25684|0;n=q+25684|0;c[n>>2]=c[f>>2];b=0;while(1){if((b|0)>=36)break;d=q+696+(b*656|0)|0;mg(q,d);e=r+696+(b*656|0)|0;if(c[(c[e>>2]|0)+248>>2]|0?(m=Ch(q,d,e)|0,(m|0)<0):0){a=m;break a}b=b+1|0}b=c[r+24312>>2]|0;if((b|0)!=0?(o=r+696|0,b>>>0>=o>>>0&b>>>0<(r+24312|0)>>>0):0)b=q+696+(((b-o|0)/656|0)*656|0)|0;else b=0;m=q+24312|0;c[m>>2]=b;b=q+24316|0;mg(q,b);d=r+24316|0;if(c[(c[d>>2]|0)+248>>2]|0?(p=Ch(q,b,d)|0,(p|0)<0):0){a=p;break}c[q+29672>>2]=c[r+29672>>2];c[q+25700>>2]=c[r+25700>>2];c[q+25704>>2]=c[r+25704>>2];c[n>>2]=c[f>>2];c[q+27036>>2]=c[r+27036>>2];c[q+27040>>2]=c[r+27040>>2];b=q+28224|0;j=b;k=r+28224|0;l=j+44|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));d=q+28348|0;e=r+28348|0;j=d;k=e;l=j+128|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));f=q+28476|0;g=r+28476|0;j=f;k=g;l=j+128|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));h=q+28604|0;i=r+28604|0;j=h;k=i;l=j+72|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=q+28676|0;k=r+28676|0;l=j+64|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c[q+28740>>2]=c[r+28740>>2];c[q+28744>>2]=c[r+28744>>2];YW(q+28748|0,r+28748|0,792)|0;c[q+29540>>2]=c[r+29540>>2];c[q+29544>>2]=c[r+29544>>2];c[q+29548>>2]=c[r+29548>>2];c[q+29552>>2]=c[r+29552>>2];c[q+29556>>2]=c[r+29556>>2];lN(d,e,32,q,r);lN(f,g,32,q,r);lN(h,i,18,q,r);c[q+29576>>2]=c[r+29576>>2];if(c[m>>2]|0){if(!(c[n>>2]|0)){a=Rh(q)|0;c[q+28248>>2]=c[q+28228>>2];c[q+28252>>2]=c[b>>2]}c[q+28260>>2]=c[q+28256>>2];c[q+28264>>2]=c[q+28244>>2];c[q+29572>>2]=c[r+29572>>2]}else a=0}else a=0;while(0);$c=s;return a|0}function gg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);l=m+8|0;d=m;i=c[a+24>>2]|0;b=eN(a,i)|0;do if((b|0)>=0){if(lV(183144,3)|0){mf(a,16,153281,d);b=-1313558101;break}f=a+84|0;do if((c[f>>2]|0)==1){b=c[i+4>>2]|0;d=b+80|0;e=c[d>>2]|0;if((e|0)<1073741823){c[d>>2]=e<<1;break}else{e=b+76|0;c[e>>2]=(c[e>>2]|0)/2|0;break}}while(0);c[f>>2]=2;b=c[a+72>>2]|0;if(((b|0)>0?(g=c[a+68>>2]|0,g|0):0)?(h=Kh(g,b,i+27052|0,i+27036|0,i+27040|0,c[a+580>>2]|0,a)|0,(h|0)<0):0){ig(a)|0;b=h;break}b=c[i+28216>>2]|0;if((b|0?c[b+660>>2]|0:0)?(j=(c[i+4>>2]|0)+140|0,k=c[b+664>>2]|0,(c[j>>2]|0)<(k|0)):0)c[j>>2]=k;c[(c[a+28>>2]|0)+4>>2]=1;kg(i);b=i+29672|0;d=c[b>>2]|0;if((d|0)<0){if(c[a+696>>2]&2|0){c[b>>2]=0;b=0;break}}else if(!d){b=0;break}if(!(c[a+696>>2]&2))b=0;else{mf(a,24,153306,l);b=0}}while(0);$c=m;return b|0}function hg(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);t=u+24|0;o=u+16|0;n=u;l=u+36|0;m=c[g+24>>2]|0;h=c[g+28>>2]|0;q=c[b+24>>2]|0;c[q+25696>>2]=c[b+60>>2];c[q+29588>>2]=0;c[q+25636>>2]=0;r=q+24972|0;mg(q,r);a:do if(h){i=q+27036|0;if((c[i>>2]|0?Ih(g,1,0)|0:0)?(j=Ih(g,1,l)|0,k=c[l>>2]|0,Jh(j,k)|0):0)Kh(j,k,q+27052|0,i,q+27040|0,c[b+580>>2]|0,b)|0;if(((((((h|0)>8&(c[i>>2]|0)!=0?(a[m>>0]|0)==1:0)?(a[m+2>>0]|0)==0:0)?(d[m+4>>0]|0)>251:0)?a[m+5>>0]&31:0)?(a[m+8>>0]|0)==103:0)?Jh(m,h)|0:0){h=Kh(m,h,q+27052|0,i,q+27040|0,c[b+580>>2]|0,b)|0;break}j=Lh(q,m,h)|0;if((j|0)<0)h=-1094995529;else{i=(c[q+24312>>2]|0)==0;if(i?(c[q+27028>>2]|0)==10:0)if((j|0)>(h|0)){c[n>>2]=131671;c[n+4>>2]=131693;c[n+8>>2]=998;mf(0,0,164250,n);ub()}else{h=Hh(q,e,f,j)|0;break}do if(c[b+64>>2]&32768){o=c[q+27008>>2]|0;if(!((o|0)==0?1:(c[q+27004>>2]|0)<(o|0)))p=30}else{if(!i?c[q+27032>>2]|0:0){p=30;break}if((c[b+732>>2]|0)>7)break a;if((h|0)>3?(rT(155382,m,4)|0)==0:0)break a;mf(b,16,131714,o);h=-1094995529;break a}while(0);if((p|0)==30){i=Mh(q,c[q+25628>>2]|0,0)|0;if((i|0)<0){h=i;break}i=c[q+28740>>2]|0;if(i|0?(s=Nh(q,e,i,f)|0,(s|0)<0):0){h=s;break}}if((c[e+248>>2]|0)==0?c[f>>2]|0:0){c[t>>2]=131725;c[t+4>>2]=131693;c[t+8>>2]=1023;mf(0,0,164250,t);ub()}mg(q,r);h=Oh(j,h)|0}}else h=Hh(q,e,f,0)|0;while(0);$c=u;return h|0}function ig(a){a=a|0;var b=0,d=0;d=c[a+24>>2]|0;Ah(d);ng(d);a=0;while(1){if((a|0)==36)break;b=d+696+(a*656|0)|0;mg(d,b);Xg(b);a=a+1|0}a=d+28604|0;b=a+72|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[d+24312>>2]=0;hf(d+25628|0);c[d+25632>>2]=0;lg(d+29676|0);Fh(d+27052|0);Gh(d+25640|0);b=d+24316|0;mg(d,b);Xg(b);b=d+24972|0;mg(d,b);Xg(b);return 0}function jg(a){a=a|0;var b=0,d=0;d=c[a+24>>2]|0;a=d+28604|0;b=a+72|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));kg(d);lg(d+29676|0);a=0;while(1){if((a|0)==36)break;mg(d,d+696+(a*656|0)|0);a=a+1|0}c[d+24312>>2]=0;mg(d,d+24316|0);c[d+27004>>2]=0;ng(d);c[d+25692>>2]=0;return}function kg(a){a=a|0;var b=0,d=0,e=0,f=0;c[a+28744>>2]=-2147483648;c[a+29564>>2]=1;zh(a);c[a+28264>>2]=-1;f=a+24312|0;b=c[f>>2]|0;if(b|0){c[b+640>>2]=0;b=0;e=0;while(1){d=c[a+28604+(e<<2)>>2]|0;if(!d)break;if((d|0)!=(c[f>>2]|0)){c[a+28604+(b<<2)>>2]=d;b=b+1|0}e=e+1|0}c[a+28604+(b<<2)>>2]=0}mg(a,a+24972|0);c[a+26384>>2]=0;c[a+29572>>2]=-1;c[a+29576>>2]=0;c[a+29560>>2]=0;c[a+29544>>2]=1;return}function lg(a){a=a|0;c[a+40>>2]=-1;c[a+12>>2]=0;c[a+16>>2]=-1;c[a>>2]=0;c[a+44>>2]=0;c[a+176>>2]=0;c[a+208>>2]=0;c[a+20>>2]=0;c[a+28>>2]=0;hf(a+32|0);return}function mg(a,b){a=a|0;b=b|0;var d=0;d=c[b>>2]|0;if(d|0?c[d+248>>2]|0:0){qg(c[a+4>>2]|0,b+4|0);Tf(b+52|0);d=b+20|0;Tf(d);Tf(b+44|0);a=0;while(1){if((a|0)==2)break;Tf(b+28+(a<<2)|0);Tf(b+60+(a<<2)|0);a=a+1|0}_W(d|0,0,636)|0}return}function ng(a){a=a|0;var b=0,d=0,e=0;hf(a+25732|0);hf(a+26396|0);hf(a+26392|0);hf(a+26400|0);hf(a+26404|0);hf(a+26408|0);hf(a+25972|0);hf(a+28220|0);c[a+26372>>2]=0;hf(a+26388|0);hf(a+26360|0);hf(a+26364|0);og(a+29924|0);og(a+29928|0);og(a+29932|0);og(a+29936|0);d=a+25632|0;b=a+25628|0;a=0;while(1){if((a|0)>=(c[d>>2]|0))break;e=c[b>>2]|0;hf(e+(a*34768|0)+27784|0);hf(e+(a*34768|0)+572|0);hf(e+(a*34768|0)+604|0);hf(e+(a*34768|0)+608|0);hf(e+(a*34768|0)+27788|0);hf(e+(a*34768|0)+27792|0);hf(e+(a*34768|0)+27796|0);hf(e+(a*34768|0)+27800|0);e=e+(a*34768|0)+27804|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;a=a+1|0}return}function og(a){a=a|0;var b=0,d=0;if((a|0?(b=c[a>>2]|0,b|0):0)?(c[a>>2]=0,d=b+32|0,a=c[d>>2]|0,c[d>>2]=a+-1,(a|0)==1):0)pg(b);return}function pg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=g+4|0;e=g;c[f>>2]=a;while(1){b=a+28|0;d=c[b>>2]|0;if(!d)break;c[e>>2]=d;c[b>>2]=c[d+16>>2];od[c[d+8>>2]&255](c[d+4>>2]|0,c[d>>2]|0);hf(e);a=c[f>>2]|0}hV(a)|0;b=c[a+52>>2]|0;if(b|0)nd[b&63](c[a+40>>2]|0);hf(f);$c=g;return}function qg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=i;h=c[(c[a+28>>2]|0)+20>>2]|0;if((c[a+696>>2]&1|0)!=0?(c[a+700>>2]|0)==0:0)d=(c[a+400>>2]|0)==11;else d=1;j=c[b>>2]|0;do if(j|0?c[j+248>>2]|0:0){if(c[a+576>>2]&32768|0){c[e>>2]=b;mf(a,48,129124,e)}Tf(b+12|0);c[b+8>>2]=0;c[b+4>>2]=0;if(d){sg(c[b>>2]|0);break}a=(c[h>>2]|0)+8|0;fV(a)|0;d=h+308|0;e=(c[d>>2]|0)+1|0;if(e>>>0<=5263439?(f=h+304|0,g=lf(c[f>>2]|0,h+312|0,e*408|0)|0,g|0):0){c[f>>2]=g;tg(g+((c[d>>2]|0)*408|0)|0,c[b>>2]|0);c[d>>2]=(c[d>>2]|0)+1}gV(a)|0}while(0);$c=i;return}function rg(a,b,d){a=a|0;b=b|0;d=d|0;d=c[a+860>>2]|0;a:do if(!d){d=yg(a,b)|0;if((d|0)>=0)switch(c[a+8>>2]|0){case 0:{d=zg(a,b)|0;break a}case 1:{d=Ag(a,b)|0;break a}default:{d=-1;break a}}}else{d=xg(d,b,0)|0;c[b+68>>2]=c[a+100>>2];c[b+72>>2]=c[a+104>>2]}while(0);return d|0}function sg(a){a=a|0;var b=0,d=0,e=0;if(a|0){vg(a);b=0;while(1){if((b|0)==8)break;Tf(a+248+(b<<2)|0);b=b+1|0}d=a+284|0;e=a+280|0;b=0;while(1){if((b|0)>=(c[d>>2]|0))break;Tf((c[e>>2]|0)+(b<<2)|0);b=b+1|0}hf(e);Xf(a+344|0);Tf(a+372|0);Tf(a+376|0);Tf(a+380|0);Tf(a+400|0);ug(a)}return}function tg(a,b){a=a|0;b=b|0;YW(a|0,b|0,408)|0;if((c[b+64>>2]|0)==(b|0))c[a+64>>2]=a;_W(b|0,0,408)|0;ug(b);return}function ug(a){a=a|0;var b=0,d=0;b=a+64|0;if((c[b>>2]|0)!=(a|0))hf(b);_W(a|0,0,408)|0;d=a+120|0;c[d>>2]=0;c[d+4>>2]=-2147483648;d=a+104|0;c[d>>2]=0;c[d+4>>2]=-2147483648;d=a+112|0;c[d>>2]=0;c[d+4>>2]=-2147483648;d=a+320|0;c[d>>2]=0;c[d+4>>2]=-2147483648;d=a+336|0;c[d>>2]=0;c[d+4>>2]=0;d=a+328|0;c[d>>2]=-1;c[d+4>>2]=-1;c[a+356>>2]=-1;c[a+84>>2]=1;c[a+92>>2]=0;c[a+96>>2]=1;c[a+80>>2]=-1;c[b>>2]=a;c[a+304>>2]=2;c[a+308>>2]=2;c[a+312>>2]=2;c[a+300>>2]=0;c[a+316>>2]=0;c[a+296>>2]=0;return}function vg(a){a=a|0;var b=0,d=0;d=a+292|0;b=a+288|0;a=0;while(1){if((a|0)>=(c[d>>2]|0))break;wg((c[b>>2]|0)+(a<<2)|0);a=a+1|0}c[d>>2]=0;hf(b);return}function wg(a){a=a|0;var b=0;b=c[a>>2]|0;Tf(b+16|0);Xf(b+12|0);hf(a);return}function xg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);h=j;f=j+4|0;i=c[a+4>>2]|0;g=i+4|0;d=c[g>>2]|0;if(!(c[d+12>>2]|0))if(c[(c[d>>2]|0)+60>>2]|0)if(c[i+28>>2]|0){h=Vg(a)|0;a=b+376|0;c[a>>2]=h;if(h){d=hd[c[(c[c[g>>2]>>2]|0)+60>>2]&15](i,b)|0;if((d|0)<0)Tf(a);else d=0}else d=-12}else d=-22;else d=-38;else{c[b+80>>2]=c[i+36>>2];a=Vg(a)|0;c[b+376>>2]=a;do if((a|0)!=0?(e=Wg()|0,c[f>>2]=e,(e|0)!=0):0){d=xg(c[(c[g>>2]|0)+12>>2]|0,e,0)|0;if((d|0)<0){Xg(f);break}d=Yg(b,e,c[(c[g>>2]|0)+16>>2]|0)|0;if(!d){Xg(f);d=0;break}else{c[h>>2]=d;mf(i,16,131199,h);Xg(f);break}}else d=-12;while(0)}$c=j;return d|0}function yg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=$c;$c=$c+80|0;if(($c|0)>=(ad|0))N(80);e=r;j=r+56|0;n=r+40|0;o=r+24|0;g=r+16|0;h=r+12|0;q=c[(c[a+28>>2]|0)+16>>2]|0;a:do switch(c[a+8>>2]|0){case 0:{c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;k=b+68|0;e=c[k>>2]|0;c[g>>2]=e;l=b+72|0;f=c[l>>2]|0;c[h>>2]=f;m=q+16|0;i=b+80|0;if(((c[m>>2]|0)==(c[i>>2]|0)?(c[q+20>>2]|0)==(e|0):0)?(c[q+24>>2]|0)==(f|0):0)d=0;else p=5;b:do if((p|0)==5){Kg(a,g,h,q+28|0);f=a+112|0;a=c[g>>2]|0;do{d=Lg(n,c[f>>2]|0,a)|0;if((d|0)<0)break b;a=c[g>>2]|0;a=(a&0-a)+a|0;c[g>>2]=a;d=0;e=0;while(1){if((d|0)==4)break;b=(c[n+(d<<2)>>2]|0)%(c[q+28+(d<<2)>>2]|0)|0|e;d=d+1|0;e=b}}while((e|0)!=0);f=Mg(j,c[f>>2]|0,c[h>>2]|0,0,n)|0;if((f|0)>=0){d=0;while(1){if((d|0)>=3)break;e=d+1|0;a=c[j+(e<<2)>>2]|0;if(!a)break;c[o+(d<<2)>>2]=a-(c[j+(d<<2)>>2]|0);d=e}c[o+(d<<2)>>2]=f-(c[j+(d<<2)>>2]|0)+(c[j>>2]|0);d=0;while(1){if((d|0)>=4){p=20;break}e=q+(d<<2)|0;og(e);c[q+60+(d<<2)>>2]=c[n+(d<<2)>>2];a=c[o+(d<<2)>>2]|0;if(a|0?(p=Og(a+23|0,17)|0,c[e>>2]=p,(p|0)==0):0){p=22;break}d=d+1|0}if((p|0)==20){c[m>>2]=c[i>>2];c[q+20>>2]=c[k>>2];c[q+24>>2]=c[l>>2];d=0;break a}else if((p|0)==22){d=-12;p=31;break a}}else d=-1}while(0);break}case 1:{f=c[b+352>>2]|0;g=b+80|0;h=(Pg(c[g>>2]|0)|0)!=0;h=h?f:1;i=q+16|0;if((((c[i>>2]|0)==(c[g>>2]|0)?(c[q+76>>2]|0)==(h|0):0)?(c[q+80>>2]|0)==(f|0):0)?(c[b+76>>2]|0)==(c[q+84>>2]|0):0){d=0;break a}og(q);a=q+60|0;e=b+76|0;d=Qg(a,f,c[e>>2]|0,c[g>>2]|0,0)|0;if((d|0)>=0){o=Og(c[a>>2]|0,0)|0;c[q>>2]=o;if(!o){d=-12;p=31}else{c[i>>2]=c[g>>2];c[q+76>>2]=h;c[q+80>>2]=f;c[q+84>>2]=c[e>>2];d=0}}else p=31;break}default:{c[e>>2]=170255;c[e+4>>2]=129192;c[e+8>>2]=1524;mf(0,0,164250,e);ub()}}while(0);if((p|0)==31){e=0;while(1){if((e|0)==4)break;og(q+(e<<2)|0);e=e+1|0}c[q+16>>2]=-1;c[q+84>>2]=0;c[q+80>>2]=0;c[q+76>>2]=0;c[q+24>>2]=0;c[q+20>>2]=0}$c=r;return d|0}function zg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);j=l+16|0;e=l+8|0;d=l;f=c[(c[a+28>>2]|0)+16>>2]|0;h=b+80|0;i=Hg(c[h>>2]|0)|0;do if((((c[b>>2]|0)==0?(g=b+4|0,(c[g>>2]|0)==0):0)?(c[b+8>>2]|0)==0:0)?(c[b+12>>2]|0)==0:0){if(!i){c[e>>2]=Ig(c[h>>2]|0)|0;mf(a,16,129300,e);d=-22;break};c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[b+64>>2]=b;d=0;while(1){if((d|0)>=4)break;e=c[f+(d<<2)>>2]|0;if(!e)break;c[b+32+(d<<2)>>2]=c[f+60+(d<<2)>>2];e=Cg(e)|0;c[b+248+(d<<2)>>2]=e;if(!e){k=19;break}c[b+(d<<2)>>2]=c[e+4>>2];d=d+1|0}if((k|0)==19){sg(b);d=-12;break}while(1){if((d|0)>=8)break;c[b+(d<<2)>>2]=0;c[b+32+(d<<2)>>2]=0;d=d+1|0}if(!(0==0?(c[i+8>>2]&66|0)==0:0))Jg(c[g>>2]|0,c[h>>2]|0)|0;if(!(c[a+576>>2]&32768))d=0;else{c[j>>2]=b;mf(a,48,129353,j);d=0}}else k=5;while(0);if((k|0)==5){mf(a,16,129250,d);d=-1}$c=l;return d|0}function Ag(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);l=m+16|0;f=m;k=c[(c[a+28>>2]|0)+16>>2]|0;h=c[k+76>>2]|0;c[b+32>>2]=c[k+60>>2];g=(h|0)>8;if(g){d=b+64|0;c[d>>2]=Bg(h,4)|0;i=h+-8|0;c[b+284>>2]=i;i=Bg(i,4)|0;e=b+280|0;c[e>>2]=i;if((i|0)==0|(c[d>>2]|0)==0){hf(d);hf(e);d=-12}else{i=d;j=5}}else{e=b+64|0;c[e>>2]=b;if(!(c[b+284>>2]|0)){i=e;j=5}else{c[f>>2]=129164;c[f+4>>2]=129192;c[f+8>>2]=1556;mf(0,0,164250,f);ub()}}a:do if((j|0)==5){e=g?8:h;d=0;while(1){if((d|0)>=(e|0)){j=8;break}f=Cg(c[k>>2]|0)|0;c[b+248+(d<<2)>>2]=f;if(!f)break;h=c[f+4>>2]|0;c[b+(d<<2)>>2]=h;c[(c[i>>2]|0)+(d<<2)>>2]=h;d=d+1|0}b:do if((j|0)==8){e=b+284|0;f=b+280|0;d=0;while(1){if((d|0)>=(c[e>>2]|0))break;g=Cg(c[k>>2]|0)|0;c[(c[f>>2]|0)+(d<<2)>>2]=g;g=c[(c[f>>2]|0)+(d<<2)>>2]|0;if(!g)break b;c[(c[i>>2]|0)+(d+8<<2)>>2]=c[g+4>>2];d=d+1|0}if(!(c[a+576>>2]&32768)){d=0;break a}c[l>>2]=b;mf(a,48,129212,l);d=0;break a}while(0);sg(b);d=-12}while(0);$c=m;return d|0}function Bg(a,b){a=a|0;b=b|0;if((b|0)!=0?(2147483647/(b>>>0)|0)>>>0>a>>>0:0)a=dg(H(b,a)|0)|0;else a=0;return a|0}function Cg(a){a=a|0;var b=0,d=0,e=0,f=0;fV(a)|0;d=a+28|0;e=c[d>>2]|0;do if(!e){b=Fg(a)|0;gV(a)|0;if(!b)b=0;else f=6}else{b=Eg(c[e>>2]|0,c[a+36>>2]|0,18,e,0)|0;if(!b){gV(a)|0;b=0;break}else{f=e+16|0;c[d>>2]=c[f>>2];c[f>>2]=0;gV(a)|0;f=6;break}}while(0);if((f|0)==6){f=a+32|0;c[f>>2]=(c[f>>2]|0)+1}return b|0}function Dg(a,b){a=a|0;b=b|0;var d=0;b=c[a+12>>2]|0;fV(b)|0;d=b+28|0;c[a+16>>2]=c[d>>2];c[d>>2]=a;gV(b)|0;d=b+32|0;a=c[d>>2]|0;c[d>>2]=a+-1;if((a|0)==1)pg(b);return}function Eg(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);h=j;g=dg(24)|0;c[h>>2]=g;i=g;do if(g){c[g>>2]=a;c[g+4>>2]=b;c[g+12>>2]=d|0?d:19;c[g+16>>2]=e;c[g+8>>2]=1;if(f&1|0){g=g+20|0;c[g>>2]=c[g>>2]|1}d=dg(12)|0;if(!d){hf(h);d=0;break}else{c[d>>2]=i;c[d+4>>2]=a;c[d+8>>2]=b;break}}else d=0;while(0);$c=j;return d|0}function Fg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=f;b=c[a+48>>2]|0;if(!b)b=fd[c[a+44>>2]&31](c[a+36>>2]|0)|0;else b=hd[b&15](c[a+40>>2]|0,c[a+36>>2]|0)|0;c[e>>2]=b;do if(b){d=dg(20)|0;if(!d){Tf(e);b=0;break}else{e=c[b>>2]|0;c[d>>2]=c[e>>2];g=e+16|0;c[d+4>>2]=c[g>>2];e=e+12|0;c[d+8>>2]=c[e>>2];c[d+12>>2]=a;c[g>>2]=d;c[e>>2]=18;break}}else b=0;while(0);$c=f;return b|0}function Gg(a,b){a=a|0;b=b|0;jf(b);return}function Hg(a){a=a|0;return (a>>>0>182?0:9712+(a*152|0)|0)|0}function Ig(a){a=a|0;if(a>>>0<183)a=c[9712+(a*152|0)>>2]|0;else a=0;return a|0}function Jg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=0;a:while(1){if((g|0)>=256){d=0;break}switch(b|0){case 20:{d=(g&3)*85|0;e=(g>>>2&7)*36|0;f=(g>>5)*36|0;break}case 17:{d=(g>>6)*85|0;e=(g>>>3&7)*36|0;f=(g&7)*36|0;break}case 22:{d=0-(g&1)&255;e=(g>>>1&3)*85|0;f=(g>>3)*255|0;break}case 19:{d=(g>>3)*255|0;e=(g>>>1&3)*85|0;f=0-(g&1)&255;break}case 8:{d=g;e=g;f=g;break}default:{d=-22;break a}}c[a+(g<<2)>>2]=(f<<16)+-16777216+(e<<8)+d;g=g+1|0}return d|0}function Kg(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=a+112|0;g=Hg(c[i>>2]|0)|0;if(!g){h=1;g=1}else{h=1<<(d[g+6>>0]|0);g=1<<(d[g+5>>0]|0)}a:do switch(c[i>>2]|0){case 114:case 115:case 163:case 164:case 78:case 79:case 138:case 139:case 136:case 137:case 76:case 77:case 74:case 75:case 98:case 99:case 92:case 93:case 86:case 87:case 52:case 51:case 134:case 135:case 132:case 133:case 69:case 70:case 67:case 68:case 157:case 156:case 155:case 154:case 96:case 97:case 90:case 91:case 84:case 85:case 50:case 49:case 130:case 131:case 128:case 129:case 65:case 66:case 71:case 72:case 94:case 95:case 88:case 89:case 82:case 83:case 48:case 47:case 126:case 127:case 124:case 125:case 63:case 64:case 61:case 62:case 81:case 80:case 33:case 14:case 32:case 13:case 12:case 30:case 29:case 8:case 113:case 73:case 5:case 31:case 4:case 15:case 110:case 1:case 0:{h=32;g=16;break}case 16:case 140:case 7:{h=32;g=32;break}case 6:{i=(c[a+16>>2]|0)==22;h=i?64:h;g=i?64:g;break}case 39:{j=c[a+16>>2]|0;i=(j|0)==42;j=(j|0)==39;h=j?8:i?4:h;g=j?8:i?4:g;break}case 20:case 17:case 11:{i=c[a+16>>2]|0;switch(i|0){case 43:case 49:{h=4;g=4;break}default:{}}switch(i|0){case 39:case 148:break;default:break a}h=8;g=8;break}case 3:{j=((c[a+16>>2]|0)+-53|0)>>>0<2;h=j?4:h;g=j?4:g;break}case 2:{j=(c[a+16>>2]|0)==43;h=j?4:h;g=j?4:g;break}default:{}}while(0);j=c[a+16>>2]|0;g=(j|0)==136?((g|0)>8?g:8):g;c[b>>2]=(c[b>>2]|0)+-1+g&0-g;g=h+-1+(c[e>>2]|0)&0-h;c[e>>2]=g;if((j|0)!=27?(c[a+680>>2]|0)==0:0)g=0;else{c[e>>2]=g+2;g=c[b>>2]|0;c[b>>2]=(g|0)>32?g:32;g=0}while(1){if((g|0)==4)break;c[f+(g<<2)>>2]=8;g=g+1|0}return}function Lg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);g=i+16|0;h=i;f=Hg(b)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;a:do if((f|0)!=0?(0==0?(c[f+8>>2]&8|0)==0:0):0){Tg(g,h,f);e=0;while(1){if((e|0)>=4){b=0;break a}b=Ug(d,c[g+(e<<2)>>2]|0,c[h+(e<<2)>>2]|0,f)|0;if((b|0)<0)break a;c[a+(e<<2)>>2]=b;e=e+1|0}}else b=-22;while(0);$c=i;return b|0}function Mg(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);m=n;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;j=Hg(b)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;a:do if(((j|0)!=0?(i=c[j+8>>2]|0,(i&8|0)==0&0==0):0)?(c[a>>2]=f,h=c[g>>2]|0,(h|0)<=(2147482623/(e|0)|0|0)):0){h=H(h,e)|0;if((i&66|0)==0&0==0)b=0;else{c[a+4>>2]=f+h;b=h+1024|0;break}while(1){if((b|0)==4)break;c[m+(c[j+16+(b<<5)>>2]<<2)>>2]=1;b=b+1|0}l=j+6|0;k=e+-1|0;b=h;e=1;j=f;while(1){if((e|0)>=4)break a;if(!(c[m+(e<<2)>>2]|0))break a;if((e+-1|0)>>>0<2)i=d[l>>0]|0;else i=0;j=j+h|0;c[a+(e<<2)>>2]=j;f=k+(1<>i;o=c[g+(e<<2)>>2]|0;h=H(f,o)|0;i=(b|0)>(2147483647-h|0);if((o|0)>(2147483647/(f|0)|0|0)){b=-22;break a}if(i){b=-22;break}else{b=(i?0:h)+b|0;e=e+1|0}}}else b=-22;while(0);$c=n;return b|0}function Ng(a){a=a|0;var b=0;b=Sg(a)|0;if(!b)b=0;else _W(c[b+4>>2]|0,0,a|0)|0;return b|0}function Og(a,b){a=a|0;b=b|0;var d=0;d=dg(56)|0;if(!d)d=0;else{eV(d,0)|0;c[d+36>>2]=a;c[d+44>>2]=b|0?b:18;c[d+32>>2]=1}return d|0}function Pg(a){a=a|0;if(a>>>0>11)a=0;else a=c[71876+(a*20|0)+12>>2]|0;return a|0}function Qg(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;h=Rg(e)|0;g=Pg(e)|0;do if(!((b|0)<1|((d|0)<1|(h|0)==0))){if(!f){if((d|0)>2147483616){e=-22;break}d=d+31&-32;e=1}else e=f;if((2147483647/(e|0)|0|0)>=(b|0)?(i=PW(d|0,((d|0)<0)<<31>>31|0,b|0,((b|0)<0)<<31>>31|0)|0,k=M()|0,f=(2147483647-(H(e,b)|0)|0)/(h|0)|0,j=((f|0)<0)<<31>>31,!((k|0)>(j|0)|(k|0)==(j|0)&i>>>0>f>>>0)):0){f=(g|0)!=0;e=e+-1+(H(H(f?1:b,h)|0,d)|0)&0-e;if(a|0)c[a>>2]=e;e=H(e,f?b:1)|0}else e=-22}else e=-22;while(0);return e|0}function Rg(a){a=a|0;if(a>>>0>11)a=0;else a=c[71876+(a*20|0)+8>>2]>>3;return a|0}function Sg(a){a=a|0;var b=0,d=0,e=0;e=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);d=e;b=uf(a)|0;c[d>>2]=b;if(b){a=Eg(b,a,19,0,0)|0;if(!a){hf(d);a=0}}else a=0;$c=e;return a|0}function Tg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;f=(b|0)!=0;if(f){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;e=0}else e=0;while(1){if((e|0)==4)break;g=c[d+16+(e<<5)+4>>2]|0;h=d+16+(e<<5)|0;i=a+(c[h>>2]<<2)|0;if((g|0)>(c[i>>2]|0)?(c[i>>2]=g,f):0)c[b+(c[h>>2]<<2)>>2]=e;e=e+1|0}return}function Ug(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;do if((a|0)<0|(f|0)==0)e=-22;else{if((e+-1|0)>>>0<2)e=d[f+5>>0]|0;else e=0;e=a+-1+(1<>e;if(e|0?(2147483647/(e|0)|0|0)<(b|0):0){e=-22;break}e=H(e,b)|0;e=(0==0?(c[f+8>>2]&4|0)==0:0)?e:e+7>>3}while(0);return e|0}function Vg(a){a=a|0;var b=0;b=dg(12)|0;if(!b)b=0;else{c[b>>2]=c[a>>2];c[b+4>>2]=c[a+4>>2];c[b+8>>2]=c[a+8>>2];a=(c[a>>2]|0)+8|0;c[a>>2]=(c[a>>2]|0)+1}return b|0}function Wg(){var a=0;a=dg(408)|0;if(!a)a=0;else{c[a+64>>2]=0;ug(a)}return a|0}function Xg(a){a=a|0;var b=0;if(a|0?(b=c[a>>2]|0,b|0):0){sg(b);hf(a)}return}function Yg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);l=q;h=c[b+376>>2]|0;i=a+376|0;a:do if(h){f=c[i>>2]|0;do if(f|0){k=c[h+4>>2]|0;f=c[f+4>>2]|0;if(!(((k|0)==(f|0)?(c[b+80>>2]|0)==(c[k+40>>2]|0):0)?(c[a+80>>2]|0)==(c[k+36>>2]|0):0)){g=c[(c[k+4>>2]|0)+12>>2]|0;if(!g)break;if((c[g+4>>2]|0)!=(f|0))break}e=c[b+248>>2]|0;if(!e){mf(k,16,131252,l);e=-22;break a}else{e=c[e+4>>2]|0;sg(a);e=Zg(a,c[e>>2]|0)|0;break a}}while(0);f=c[h+4>>2]|0;if(!(((c[f+36>>2]|0)==(c[b+80>>2]|0)?(j=c[(c[c[f+4>>2]>>2]|0)+80>>2]|0,(j|0)!=0):0)?(e=jd[j&3](f,a,b,d)|0,(e|0)!=-38):0))p=14}else p=14;while(0);do if((p|0)==14){e=c[i>>2]|0;if(((e|0?(m=c[e+4>>2]|0,(c[m+36>>2]|0)==(c[a+80>>2]|0)):0)?(n=c[(c[c[m+4>>2]>>2]|0)+76>>2]|0,n|0):0)?(o=jd[n&3](m,a,b,d)|0,(o|0)!=-38):0){e=o;break}e=-38}while(0);$c=q;return e|0}function Zg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;c[a+80>>2]=c[b+80>>2];c[a+68>>2]=c[b+68>>2];c[a+72>>2]=c[b+72>>2];h=b+352|0;c[a+352>>2]=c[h>>2];e=b+240|0;g=c[e+4>>2]|0;d=a+240|0;c[d>>2]=c[e>>2];c[d+4>>2]=g;c[a+76>>2]=c[b+76>>2];d=_g(a,b,0)|0;a:do if((d|0)>=0){if(!(c[b+248>>2]|0)){d=$g(a,32)|0;if((d|0)<0)break;d=ah(a,b)|0;if((d|0)>=0)break;sg(a);break}else d=0;while(1){if(d>>>0>=8){f=10;break}e=c[b+248+(d<<2)>>2]|0;if(e|0?(g=Vg(e)|0,c[a+248+(d<<2)>>2]=g,(g|0)==0):0){d=-12;break}d=d+1|0}b:do if((f|0)==10){e=b+280|0;c:do if(c[e>>2]|0){f=b+284|0;d=Bg(4,c[f>>2]|0)|0;g=a+280|0;c[g>>2]=d;if(!d){d=-12;break b}c[a+284>>2]=c[f>>2];d=0;while(1){if((d|0)>=(c[f>>2]|0))break c;i=Vg(c[(c[e>>2]|0)+(d<<2)>>2]|0)|0;c[(c[g>>2]|0)+(d<<2)>>2]=i;if(!(c[(c[g>>2]|0)+(d<<2)>>2]|0)){d=-12;break b}else d=d+1|0}}while(0);d=c[b+376>>2]|0;if(d|0?(i=Vg(d)|0,c[a+376>>2]=i,(i|0)==0):0){d=-12;break}f=b+64|0;if((c[f>>2]|0)==(b|0))c[a+64>>2]=a;else{d=c[h>>2]|0;if(!d){d=-22;break}e=bh(4,d)|0;c[a+64>>2]=e;if(!e){d=-12;break}YW(e|0,c[f>>2]|0,d<<2|0)|0};c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+20>>2]=c[b+20>>2];c[a+24>>2]=c[b+24>>2];c[a+28>>2]=c[b+28>>2];d=a+32|0;i=b+32|0;c[d>>2]=c[i>>2];c[d+4>>2]=c[i+4>>2];c[d+8>>2]=c[i+8>>2];c[d+12>>2]=c[i+12>>2];c[d+16>>2]=c[i+16>>2];c[d+20>>2]=c[i+20>>2];c[d+24>>2]=c[i+24>>2];c[d+28>>2]=c[i+28>>2];d=0;break a}while(0);sg(a)}while(0);return d|0}function _g(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);o=r;c[a+84>>2]=c[b+84>>2];c[a+88>>2]=c[b+88>>2];e=b+92|0;f=c[e+4>>2]|0;g=a+92|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;c[a+384>>2]=c[b+384>>2];c[a+388>>2]=c[b+388>>2];c[a+392>>2]=c[b+392>>2];c[a+396>>2]=c[b+396>>2];g=b+104|0;f=c[g+4>>2]|0;e=a+104|0;c[e>>2]=c[g>>2];c[e+4>>2]=f;c[a+208>>2]=c[b+208>>2];c[a+212>>2]=c[b+212>>2];c[a+216>>2]=c[b+216>>2];c[a+220>>2]=c[b+220>>2];c[a+232>>2]=c[b+232>>2];c[a+140>>2]=c[b+140>>2];e=b+112|0;f=c[e+4>>2]|0;g=a+112|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;g=b+120|0;f=c[g+4>>2]|0;e=a+120|0;c[e>>2]=c[g>>2];c[e+4>>2]=f;e=b+328|0;f=c[e+4>>2]|0;g=a+328|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;c[a+356>>2]=c[b+356>>2];g=b+336|0;f=c[g+4>>2]|0;e=a+336|0;c[e>>2]=c[g>>2];c[e+4>>2]=f;e=b+224|0;f=c[e+4>>2]|0;g=a+224|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;c[a+136>>2]=c[b+136>>2];g=b+320|0;f=c[g+4>>2]|0;e=a+320|0;c[e>>2]=c[g>>2];c[e+4>>2]=f;c[a+128>>2]=c[b+128>>2];c[a+132>>2]=c[b+132>>2];c[a+296>>2]=c[b+296>>2];c[a+348>>2]=c[b+348>>2];c[a+304>>2]=c[b+304>>2];c[a+308>>2]=c[b+308>>2];c[a+312>>2]=c[b+312>>2];c[a+300>>2]=c[b+300>>2];c[a+316>>2]=c[b+316>>2];qh(a+344|0,c[b+344>>2]|0,0)|0;e=a+144|0;f=b+144|0;g=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));i=b+292|0;j=b+288|0;k=b+68|0;l=a+68|0;m=b+72|0;n=a+72|0;d=(d|0)==0;g=0;while(1){if((g|0)>=(c[i>>2]|0)){p=15;break}h=c[(c[j>>2]|0)+(g<<2)>>2]|0;e=c[h>>2]|0;if(!e){if((c[k>>2]|0)==(c[l>>2]|0)?(c[m>>2]|0)==(c[n>>2]|0):0)p=6}else p=6;if((p|0)==6){p=0;if(d){e=Vg(c[h+16>>2]|0)|0;c[o>>2]=e;e=sh(a,c[h>>2]|0,e)|0;if(!e){p=12;break}}else{f=h+8|0;e=rh(a,e,c[f>>2]|0)|0;if(!e){p=8;break}YW(c[e+4>>2]|0,c[h+4>>2]|0,c[f>>2]|0)|0}qh(e+12|0,c[h+12>>2]|0,0)|0}g=g+1|0}do if((p|0)==8){vg(a);e=-12}else if((p|0)==12){Tf(o);vg(a);e=-12}else if((p|0)==15){e=a+360|0;c[e>>2]=0;f=a+364|0;c[f>>2]=0;g=a+368|0;c[g>>2]=0;d=a+372|0;Tf(d);h=c[b+372>>2]|0;if(h|0?(q=Vg(h)|0,c[d>>2]=q,q|0):0){c[e>>2]=c[q+4>>2];c[f>>2]=c[b+364>>2];c[g>>2]=c[b+368>>2]}f=a+380|0;Tf(f);g=a+400|0;Tf(g);e=c[b+380>>2]|0;if(e|0?(a=Vg(e)|0,c[f>>2]=a,(a|0)==0):0){e=-12;break}e=c[b+400>>2]|0;if(e|0?(b=Vg(e)|0,c[g>>2]=b,(b|0)==0):0){e=-12;break}e=0}while(0);$c=r;return e|0}function $g(a,b){a=a|0;b=b|0;var d=0;do if((c[a+80>>2]|0)>=0){if((c[a+68>>2]|0)>0?(c[a+72>>2]|0)>0:0){a=kh(a,b)|0;break}if((c[a+76>>2]|0)>0){d=a+240|0;if((c[d>>2]|0)==0&(c[d+4>>2]|0)==0?(c[a+352>>2]|0)<=0:0){a=-22;break}a=lh(a,b)|0}else a=-22}else a=-22;while(0);return a|0}function ah(a,b){a=a|0;b=b|0;var d=0;d=c[a+80>>2]|0;do if(!((d|0)<0?1:(d|0)!=(c[b+80>>2]|0))){if((c[a+68>>2]|0)>0?(c[a+72>>2]|0)>0:0){a=ch(a,b)|0;break}if((c[a+76>>2]|0)>0?(c[a+352>>2]|0)>0:0)a=dh(a,b)|0;else a=-22}else a=-22;while(0);return a|0}function bh(a,b){a=a|0;b=b|0;if((b|0)!=0?(2147483647/(b>>>0)|0)>>>0>a>>>0:0)a=uf(H(b,a)|0)|0;else a=0;return a|0}function ch(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);h=j;i=b+68|0;a:do if((c[a+68>>2]|0)>=(c[i>>2]|0)?(e=b+72|0,(c[a+72>>2]|0)>=(c[e>>2]|0)):0){f=a+80|0;g=fh(c[f>>2]|0)|0;d=0;while(1){if((d|0)>=(g|0))break;if(!(c[a+(d<<2)>>2]|0)){d=-22;break a}if(!(c[b+(d<<2)>>2]|0)){d=-22;break a}else d=d+1|0}c[h>>2]=c[b>>2];c[h+4>>2]=c[b+4>>2];c[h+8>>2]=c[b+8>>2];c[h+12>>2]=c[b+12>>2];gh(a,a+32|0,h,b+32|0,c[f>>2]|0,c[i>>2]|0,c[e>>2]|0);d=0}else d=-22;while(0);$c=j;return d|0}function dh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=a+80|0;h=Pg(c[f>>2]|0)|0;g=c[a+352>>2]|0;h=h|0?g:1;e=c[a+76>>2]|0;a:do if(((e|0)==(c[b+76>>2]|0)?(g|0)==(c[b+352>>2]|0):0)?(i=a+240|0,d=b+240|0,(c[i>>2]|0)==(c[d>>2]|0)?(c[i+4>>2]|0)==(c[d+4>>2]|0):0):0){d=c[a+64>>2]|0;b=b+64|0;a=0;while(1){if((a|0)>=(h|0))break;if(!(c[d+(a<<2)>>2]|0)){a=-22;break a}if(!(c[(c[b>>2]|0)+(a<<2)>>2]|0)){a=-22;break a}else a=a+1|0}eh(d,c[b>>2]|0,0,0,e,g,c[f>>2]|0)|0;a=0}else a=-22;while(0);return a|0}function eh(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;k=(Pg(h)|0)!=0;j=k?g:1;i=Rg(h)|0;g=H(k?1:g,i)|0;i=H(g,f)|0;h=H(g,d)|0;g=H(g,e)|0;d=c[a>>2]|0;f=c[b>>2]|0;e=d>>>0>>0;a:do if(((e?f:d)-(c[(e?a:b)>>2]|0)|0)<(i|0)){f=0;while(1){if((f|0)>=(j|0))break a;ZW((c[a+(f<<2)>>2]|0)+h|0,(c[b+(f<<2)>>2]|0)+g|0,i|0)|0;f=f+1|0}}else{f=0;while(1){if((f|0)>=(j|0))break a;YW((c[a+(f<<2)>>2]|0)+h|0,(c[b+(f<<2)>>2]|0)+g|0,i|0)|0;f=f+1|0}}while(0);return 0}function fh(a){a=a|0;var b=0,e=0,f=0,g=0;g=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=g;b=Hg(a)|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;a:do if(!b)a=-22;else{e=d[b+4>>0]|0;a=0;while(1){if((a|0)==(e|0)){a=0;b=0;break}c[f+(c[b+16+(a<<5)>>2]<<2)>>2]=1;a=a+1|0}while(1){if((b|0)==4)break a;a=(c[f+(b<<2)>>2]|0)+a|0;b=b+1|0}}while(0);$c=g;return a|0}function gh(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;l=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);j=l+16|0;k=l;i=0;while(1){if((i|0)==4)break;c[j+(i<<2)>>2]=c[b+(i<<2)>>2];c[k+(i<<2)>>2]=c[e+(i<<2)>>2];i=i+1|0}ih(a,j,d,k,f,g,h,4);$c=l;return}function hh(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;m=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);l=m+16|0;k=m;a:do if((a|0)!=0&(d|0)!=0){if((((e|0)>-1?e:0-e|0)|0)<(f|0)){c[k>>2]=131328;c[k+4>>2]=131359;c[k+8>>2]=314;mf(0,0,164250,k);ub()}if((((b|0)>-1?b:0-b|0)|0)<(f|0)){c[l>>2]=131380;c[l+4>>2]=131359;c[l+8>>2]=315;mf(0,0,164250,l);ub()}else{h=g;i=a;j=d}while(1){if((h|0)<=0)break a;YW(i|0,j|0,f|0)|0;h=h+-1|0;i=i+b|0;j=j+e|0}}while(0);$c=m;return}function ih(a,b,e,f,g,h,i,j){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);q=r;m=Hg(g)|0;a:do if(m|0?(k=c[m+8>>2]|0,(k&8|0)==0&0==0):0){if(!((k&66|0)==0&0==0)){sd[j&63](c[a>>2]|0,c[b>>2]|0,c[e>>2]|0,c[f>>2]|0,h,i);YW(c[a+4>>2]|0,c[e+4>>2]|0,1024)|0;break}l=d[m+4>>0]|0;p=0;k=0;while(1){if((k|0)==(l|0))break;o=(c[m+16+(k<<5)>>2]|0)+1|0;p=(p|0)>(o|0)?p:o;k=k+1|0}m=m+6|0;n=0-i|0;l=0;while(1){if((l|0)>=(p|0))break a;o=jh(g,h,l)|0;if((o|0)<0)break;if((l+-1|0)>>>0<2)k=0-(n>>(d[m>>0]|0))|0;else k=i;sd[j&63](c[a+(l<<2)>>2]|0,c[b+(l<<2)>>2]|0,c[e+(l<<2)>>2]|0,c[f+(l<<2)>>2]|0,o,k);l=l+1|0}mf(0,16,131298,q)}while(0);$c=r;return}function jh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);e=g+16|0;f=g;a=Hg(a)|0;if((a|0)!=0?(0==0?(c[a+8>>2]&8|0)==0:0):0){Tg(e,f,a);a=Ug(b,c[e+(d<<2)>>2]|0,c[f+(d<<2)>>2]|0,a)|0}else a=-22;$c=g;return a|0}function kh(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=a+80|0;k=Hg(c[h>>2]|0)|0;a:do if(k){i=a+68|0;l=a+72|0;e=nh(c[i>>2]|0,c[l>>2]|0,0,0)|0;if((e|0)>=0){g=a+32|0;b:do if(!(c[g>>2]|0)){b=(b|0)<1?32:b;j=b+-1|0;f=1;while(1){if((f|0)>(b|0))break;e=Lg(g,c[h>>2]|0,f+-1+(c[i>>2]|0)&0-f)|0;if((e|0)<0)break a;if(!(c[g>>2]&j))break;else f=f<<1}b=0-b|0;e=0;while(1){if((e|0)>=4)break b;f=a+32+(e<<2)|0;g=c[f>>2]|0;if(!g)break b;c[f>>2]=j+g&b;e=e+1|0}}while(0);g=k+6|0;f=0;while(1){if((f|0)>=4){m=19;break}b=c[a+32+(f<<2)>>2]|0;if(!b){m=19;break}e=(c[l>>2]|0)+31&-32;if((f+-1|0)>>>0<2)e=0-(0-e>>(d[g>>0]|0))|0;e=Sg((H(b,e)|0)+31|0)|0;c[a+248+(f<<2)>>2]=e;if(!e)break;c[a+(f<<2)>>2]=c[e+4>>2];f=f+1|0}do if((m|0)==19){if(!(0==0?(c[k+8>>2]&66|0)==0:0)){m=a+252|0;Tf(m);e=Sg(1024)|0;c[m>>2]=e;if(!e)break;c[a+4>>2]=c[e+4>>2]}c[a+64>>2]=a;e=0;break a}while(0);sg(a);e=-12}}else e=-22;while(0);return e|0}function lh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=a+80|0;g=Pg(c[h>>2]|0)|0;e=a+352|0;f=c[e>>2]|0;if(!f){f=a+240|0;f=mh(c[f>>2]|0,c[f+4>>2]|0)|0;c[e>>2]=f}i=g|0?f:1;j=a+32|0;if(!((c[j>>2]|0)==0?(d=Qg(j,f,c[a+76>>2]|0,c[h>>2]|0,b)|0,(d|0)<0):0))k=5;a:do if((k|0)==5){g=(i|0)>8;do if(g){d=a+64|0;c[d>>2]=Bg(i,4)|0;e=i+-8|0;h=Bg(e,4)|0;f=a+280|0;c[f>>2]=h;if((h|0)==0|(c[d>>2]|0)==0){hf(d);hf(f);d=-12;break a}else{c[a+284>>2]=e;b=d;break}}else{b=a+64|0;c[b>>2]=a}while(0);e=g?8:i;d=0;while(1){if((d|0)>=(e|0))break;f=Sg(c[j>>2]|0)|0;c[a+248+(d<<2)>>2]=f;if(!f){k=14;break}h=c[f+4>>2]|0;c[a+(d<<2)>>2]=h;c[(c[b>>2]|0)+(d<<2)>>2]=h;d=d+1|0}if((k|0)==14){sg(a);d=-12;break}e=i+-8|0;f=a+280|0;d=0;while(1){if((d|0)>=(e|0)){d=0;break a}g=Sg(c[j>>2]|0)|0;c[(c[f>>2]|0)+(d<<2)>>2]=g;g=c[(c[f>>2]|0)+(d<<2)>>2]|0;if(!g)break;c[(c[b>>2]|0)+(d+8<<2)>>2]=c[g+4>>2];d=d+1|0}sg(a);d=-12}while(0);return d|0}function mh(a,b){a=a|0;b=b|0;var c=0;c=a-(a>>>1&1431655765)|0;c=(c>>>2&858993459)+(c&858993459)|0;c=(c>>>4)+c&252645135;c=(c>>>8)+c|0;a=TW(a|0,b|0,33)|0;M()|0;b=b-(a&1431655765)|0;b=(b>>>2&858993459)+(b&858993459)|0;b=(b>>>4)+b&252645135;b=(b>>>8)+b|0;return ((c>>>16)+c&63)+((b>>>16)+b&63)|0}function nh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return oh(a,b,-1,2147483647,-1,c,d)|0}function oh(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;l=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);k=l+8|0;j=l;i=l+24|0;c[i>>2]=72116;c[i+4>>2]=g;c[i+8>>2]=h;g=jh(f,a,0)|0;m=(g|0)<1;f=UW(a|0,0,3)|0;h=M()|0;f=m?f:g;g=m?h:((g|0)<0)<<31>>31;if(!((a|0)<1|(b|0)<1|((g|0)>0|(g|0)==0&f>>>0>2147482622))?(m=JW(f|0,g|0,1024,0)|0,m=PW(m|0,M()|0,b+128|0,0)|0,h=M()|0,!(h>>>0>0|(h|0)==0&m>>>0>2147483646)):0)if(!((d|0)==-1&(e|0)==2147483647)?(m=PW(b|0,0,a|0,0)|0,j=M()|0,(j|0)>(e|0)|(j|0)==(e|0)&m>>>0>d>>>0):0){c[k>>2]=a;c[k+4>>2]=b;f=k+8|0;c[f>>2]=d;c[f+4>>2]=e;mf(i,16,131442,k);f=-22}else f=0;else{c[j>>2]=a;c[j+4>>2]=b;mf(i,16,131411,j);f=-22}$c=l;return f|0}function ph(a){a=a|0;return c[c[a>>2]>>2]|0}function qh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=0;do{f=th(b,262104,f,2)|0;if(!f){e=0;break}e=uh(a,c[f>>2]|0,c[f+4>>2]|0,d)|0}while((e|0)>=0);return e|0}function rh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=f;d=Sg(d)|0;c[e>>2]=d;a=sh(a,b,d)|0;if(!a)Tf(e);$c=f;return a|0}function sh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((((d|0)!=0?(g=a+292|0,h=c[g>>2]|0,h>>>0<=536870910):0)?(i=a+288|0,f=tf(c[i>>2]|0,(h<<2)+4|0)|0,(f|0)!=0):0)?(c[i>>2]=f,e=dg(20)|0,(e|0)!=0):0){c[e+16>>2]=d;c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e>>2]=b;h=c[i>>2]|0;i=c[g>>2]|0;c[g>>2]=i+1;c[h+(i<<2)>>2]=e}else e=0;return e|0}function th(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a:do if(!b)e=0;else{m=b+4|0;if(!e)e=0;else e=(e-(c[m>>2]|0)>>3)+1|0;k=c[b>>2]|0;l=(f&1|0)==0;j=(f&2|0)==0;while(1){if(e>>>0>=k>>>0){e=0;break a}i=c[m>>2]|0;h=c[i+(e<<3)>>2]|0;if(l){f=0;while(1){b=a[h+f>>0]|0;n=yh(b<<24>>24)|0;g=a[d+f>>0]|0;if(g<<24>>24==0|(n|0)!=(yh(g<<24>>24)|0))break;else f=f+1|0}}else{f=0;while(1){b=a[h+f>>0]|0;g=a[d+f>>0]|0;if(g<<24>>24==0?1:b<<24>>24!=g<<24>>24)break;else f=f+1|0}}if(!(g<<24>>24!=0|j&b<<24>>24!=0))break;e=e+1|0}e=i+(e<<3)|0}while(0);return e|0}function uh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);l=p+8|0;o=p+4|0;m=p;g=c[a>>2]|0;c[l>>2]=0;c[o>>2]=0;c[m>>2]=0;if(!(e&64))i=th(g,b,0,e)|0;else i=0;if(!(e&4))h=vh(b)|0;else h=b;c[o>>2]=h;j=h;if(!(e&8))if(!h)f=0;else{f=vh(d)|0;c[m>>2]=f}else{c[m>>2]=d;f=d}if(!g){g=dg(8)|0;c[a>>2]=g;if(!g)k=32;else{n=g;k=11}}else{n=g;k=11}a:do if((k|0)==11){do if((b|0)==0|(h|0)!=0){g=(f|0)!=0;if((d|0)==0|g){if(!i)if(g){g=n+4|0;b=tf(c[g>>2]|0,(c[n>>2]<<3)+8|0)|0;if(!b)break;c[g>>2]=b;k=23}else k=27;else{if(e&16|0){jf(h);jf(f);f=0;break a}g=c[i+4>>2]|0;if(!(e&32))jf(g);else c[l>>2]=g;jf(c[i>>2]|0);d=c[n+4>>2]|0;h=(c[n>>2]|0)+-1|0;c[n>>2]=h;h=d+(h<<3)|0;d=c[h+4>>2]|0;k=i;c[k>>2]=c[h>>2];c[k+4>>2]=d;if(!f)k=27;else k=23}if((k|0)==23){d=n+4|0;h=c[d>>2]|0;g=c[n>>2]|0;c[h+(g<<3)>>2]=j;f=c[m>>2]|0;c[h+(g<<3)+4>>2]=f;h=c[l>>2]|0;if((e&32|0)==0|(h|0)==0)f=g;else{g=eU(h)|0;g=g+1+(eU(f)|0)|0;b=dg(g)|0;if(!b)break;wh(b,h,g)|0;hf(l);wh(b,f,g)|0;c[(c[d>>2]|0)+(c[n>>2]<<3)+4>>2]=b;hf(m);f=c[n>>2]|0}f=f+1|0;c[n>>2]=f}else if((k|0)==27){hf(o);f=c[n>>2]|0}if(f|0){f=0;break a}hf(n+4|0);hf(a);f=0;break a}else f=0}while(0);if(!(c[n>>2]|0)){hf(n+4|0);hf(a);k=32}else k=32}while(0);if((k|0)==32){jf(c[o>>2]|0);jf(f);f=-12}$c=p;return f|0}function vh(a){a=a|0;var b=0,c=0;if((a|0)!=0?(c=(eU(a)|0)+1|0,b=tf(0,c)|0,(b|0)!=0):0)YW(b|0,a|0,c|0)|0;else b=0;return b|0}function wh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=eU(a)|0;if((d+1|0)>>>0>>0)a=xh(a+d|0,b,c-d|0)|0;else a=eU(b)|0;return a+d|0}function xh(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;g=0;while(1){e=g+1|0;if(e>>>0>=d>>>0)break;f=a[c>>0]|0;if(!(f<<24>>24))break;a[b>>0]=f;g=e;b=b+1|0;c=c+1|0}if(g>>>0>>0)a[b>>0]=0;return (eU(c)|0)+g|0}function yh(a){a=a|0;return ((a+-97|0)>>>0<26?a^32:a)|0}function zh(a){a=a|0;var b=0;Ah(a);c[a+28260>>2]=0;c[a+28264>>2]=0;c[a+28248>>2]=65536;c[a+28252>>2]=0;b=0;while(1){if((b|0)==16)break;c[a+28676+(b<<2)>>2]=-2147483648;b=b+1|0}return}function Ah(a){a=a|0;var b=0,d=0,e=0;b=0;while(1){if((b|0)==16)break;Bh(a,b,0);b=b+1|0}d=a+29556|0;if((c[d>>2]|0)!=0?(e=a+24972|0,(c[c[e>>2]>>2]|0)==0):0){mg(a,e);Ch(a,e,c[a+28348>>2]|0)|0;b=0}else b=0;while(1){if((b|0)>=(c[d>>2]|0))break;e=a+28348+(b<<2)|0;Dh(a,c[e>>2]|0,0)|0;c[e>>2]=0;b=b+1|0}c[d>>2]=0;b=a+28268|0;d=b+80|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));return}function Bh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;b=a+28476+(b<<2)|0;e=c[b>>2]|0;if(e|0?Dh(a,e,d)|0:0){c[(c[b>>2]|0)+100>>2]=0;c[b>>2]=0;d=a+29552|0;c[d>>2]=(c[d>>2]|0)+-1}return}function Ch(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);i=k+32|0;g=k+16|0;e=k;h=c[b>>2]|0;if(c[h+248>>2]|0){c[e>>2]=131560;c[e+4>>2]=131576;c[e+8>>2]=70;mf(0,0,164250,e);ub()}f=c[d>>2]|0;if(!(c[f+248>>2]|0)){c[g>>2]=131602;c[g+4>>2]=131576;c[g+8>>2]=71;mf(0,0,164250,g);ub()}e=d+4|0;if((c[e>>2]|0)!=(f|0)){c[i>>2]=131617;c[i+4>>2]=131576;c[i+8>>2]=72;mf(0,0,164250,i);ub()}i=b+4|0;c[i>>2]=h;e=Eh(i,e)|0;a:do if((e|0)>=0){i=b+20|0;c[i>>2]=Vg(c[d+20>>2]|0)|0;h=Vg(c[d+44>>2]|0)|0;c[b+44>>2]=h;if((h|0)==0|(c[i>>2]|0)==0){e=-12;j=19}else{c[b+24>>2]=c[d+24>>2];c[b+48>>2]=c[d+48>>2];e=0;while(1){if((e|0)>=2)break;i=b+28+(e<<2)|0;c[i>>2]=Vg(c[d+28+(e<<2)>>2]|0)|0;h=Vg(c[d+60+(e<<2)>>2]|0)|0;c[b+60+(e<<2)>>2]=h;if((h|0)==0|(c[i>>2]|0)==0){e=-12;j=19;break a}c[b+36+(e<<2)>>2]=c[d+36+(e<<2)>>2];c[b+68+(e<<2)>>2]=c[d+68+(e<<2)>>2];e=e+1|0}if(!(c[d+56>>2]|0))e=0;else{e=Vg(c[d+52>>2]|0)|0;c[b+52>>2]=e;if(!e){e=-12;j=19;break}c[b+56>>2]=c[e+4>>2];e=0}while(1){if((e|0)==2)break;c[b+76+(e<<2)>>2]=c[d+76+(e<<2)>>2];e=e+1|0}YW(b+104|0,d+104|0,512)|0;e=b+616|0;a=d+616|0;c[e>>2]=c[a>>2];c[e+4>>2]=c[a+4>>2];c[e+8>>2]=c[a+8>>2];c[e+12>>2]=c[a+12>>2];c[b+84>>2]=c[d+84>>2];c[b+88>>2]=c[d+88>>2];c[b+92>>2]=c[d+92>>2];c[b+100>>2]=c[d+100>>2];c[b+632>>2]=c[d+632>>2];c[b+636>>2]=c[d+636>>2];c[b+640>>2]=c[d+640>>2];c[b+644>>2]=c[d+644>>2];c[b+648>>2]=c[d+648>>2];c[b+652>>2]=c[d+652>>2];e=0}}else j=19;while(0);if((j|0)==19)mg(a,b);$c=k;return e|0}function Dh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=b+640|0;e=c[f>>2]&d;c[f>>2]=e;a:do if(!e){d=0;while(1){e=c[a+28604+(d<<2)>>2]|0;if(!e){d=1;break a}if((e|0)==(b|0))break;else d=d+1|0}c[f>>2]=4;d=1}else d=0;while(0);return d|0}function Eh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=h;g=a+4|0;c[g>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];d=Zg(c[a>>2]|0,c[b>>2]|0)|0;if((d|0)>=0){e=a+12|0;if(c[e>>2]|0){c[f>>2]=131637;c[f+4>>2]=131652;c[f+8>>2]=1792;mf(0,0,164250,f);ub()}d=c[b+12>>2]|0;if((d|0)!=0?(f=Vg(d)|0,c[e>>2]=f,(f|0)==0):0){qg(c[g>>2]|0,a);d=-12}else d=0}$c=h;return d|0}function Fh(a){a=a|0;var b=0;b=0;while(1){if((b|0)==32){b=0;break}Tf(a+(b<<2)|0);b=b+1|0}while(1){if((b|0)==256)break;Tf(a+128+(b<<2)|0);b=b+1|0}Tf(a+1156|0);Tf(a+1152|0);c[a+1160>>2]=0;c[a+1164>>2]=0;return}function Gh(a){a=a|0;var b=0,d=0;d=a+20|0;b=0;while(1){if((b|0)>=(c[d>>2]|0))break;hf((c[a>>2]|0)+(b*68|0)+60|0);b=b+1|0}hf(a);c[d>>2]=0;hf(a+4|0);c[a+12>>2]=0;c[a+8>>2]=0;return}function Hh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;i=c[a+28604>>2]|0;c[a+24312>>2]=0;c[a+26384>>2]=0;h=0;f=1;while(1){g=c[a+28604+(f<<2)>>2]|0;if(!g)break;if(c[(c[g>>2]|0)+84>>2]|0)break;if(c[g+92>>2]|0)break;k=(c[g+84>>2]|0)<(c[i+84>>2]|0);i=k?g:i;h=k?f:h;f=f+1|0}g=h;f=c[a+28604+(h<<2)>>2]|0;while(1){if(!f)break;k=g+1|0;f=c[a+28604+(k<<2)>>2]|0;c[a+28604+(g<<2)>>2]=f;g=k}if((i|0)!=0?(j=i+640|0,c[j>>2]=c[j>>2]&-5,j=Nh(a,b,i,d)|0,(j|0)<0):0)e=j;return e|0}function Ih(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=c[a+44>>2]|0;a=a+40|0;e=0;while(1){if((e|0)>=(f|0)){b=8;break}g=c[a>>2]|0;if((c[g+(e*12|0)+8>>2]|0)==(b|0)){b=4;break}e=e+1|0}if((b|0)==4){if(d|0)c[d>>2]=c[g+(e*12|0)+4>>2];a=c[g+(e*12|0)>>2]|0}else if((b|0)==8)if(!d)a=0;else{c[d>>2]=0;a=0}return a|0}function Jh(b,c){b=b|0;c=c|0;var e=0,f=0,g=0;g=b+c|0;e=a[b+5>>0]&31;b=b+6|0;while(1){if(!e){f=5;break}c=((VW(d[b>>0]|d[b+1>>0]<<8|0)|0)&65535)+2|0;if((c|0)>(g-b|0)){c=0;break}if((a[b+2>>0]&-97)<<24>>24==7){e=e+-1|0;b=b+c|0}else{c=0;break}}a:do if((f|0)==5){c=a[b>>0]|0;if(!(c<<24>>24))c=0;else{e=c&255;c=b+1|0;while(1){if(!e){c=1;break a}b=((VW(d[c>>0]|d[c+1>>0]<<8|0)|0)&65535)+2|0;if((b|0)>(g-c|0)){c=0;break a}if((a[c+2>>0]&-97)<<24>>24==8){e=e+-1|0;c=c+b|0}else{c=0;break}}}}while(0);return c|0}function Kh(b,e,f,g,h,i,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);r=s+16|0;o=s+8|0;k=s;a:do if((b|0)==0|(e|0)<1)e=-1;else do if((a[b>>0]|0)==1){c[g>>2]=1;if((e|0)<7){c[k>>2]=e;mf(j,16,153135,k);e=-1094995529;break a}k=a[b+5>>0]&31;q=b+e|0;n=b+6|0;g=0;while(1){if((g|0)>=(k|0))break;l=((VW(d[n>>0]|d[n+1>>0]<<8|0)|0)&65535)+2|0;if((l|0)>(q-n|0)){e=-1094995529;break a}m=cN(n,l,f,i,j)|0;if((m|0)<0){p=9;break}n=n+l|0;g=g+1|0}if((p|0)==9){c[o>>2]=g;mf(j,16,153154,o);e=m;break a}m=d[n>>0]|0;g=n+1|0;l=0;while(1){if((l|0)>=(m|0)){p=17;break}k=((VW(d[g>>0]|d[g+1>>0]<<8|0)|0)&65535)+2|0;if((k|0)>(q-g|0)){e=-1094995529;break a}n=cN(g,k,f,i,j)|0;if((n|0)<0){p=15;break}g=g+k|0;l=l+1|0}if((p|0)==15){c[r>>2]=l;mf(j,16,153188,r);e=n;break a}else if((p|0)==17){c[h>>2]=(a[b+4>>0]&3)+1&255;break}}else{c[g>>2]=0;g=dN(b,e,f,0,j)|0;if((g|0)<0){e=g;break a}}while(0);while(0);$c=s;return e|0}function Lh(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=$c;$c=$c+80|0;if(($c|0)>=(ad|0))N(80);O=X+48|0;S=X+40|0;R=X+32|0;Q=X+24|0;P=X+16|0;M=X+8|0;j=X;J=X+52|0;T=b+4|0;K=c[T>>2]|0;W=b+27032|0;c[W>>2]=0;L=b+27028|0;c[L>>2]=0;i=K+64|0;if(!(c[i>>2]&32768)){c[b+29560>>2]=0;if(!(c[b+26384>>2]|0))c[b+24312>>2]=0;lg(b+29676|0)}h=c[b+27040>>2]|0;do if((h|0)==4){if((f|0)>8){g=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if((g|0)==16777216){V=e+5|0;if((WW(d[V>>0]|d[V+1>>0]<<8|d[V+2>>0]<<16|d[V+3>>0]<<24|0)|0)>>>0>f>>>0){c[b+27036>>2]=0;break}else g=16777216}}else{if((f|0)<=3)break;g=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24}V=WW(g|0)|0;if(!(V>>>0<2|V>>>0>f>>>0))c[b+27036>>2]=1}while(0);D=b+25640|0;g=_h(D,e,f,K,c[b+27036>>2]|0,h,c[K+16>>2]|0,c[i>>2]&1)|0;do if((g|0)<0)mf(K,16,132695,j);else{A=K+696|0;if(c[A>>2]&1){g=$h(b)|0;if((g|0)<0)break}else g=0;n=b+25656|0;o=K+732|0;p=b+27024|0;B=b+29560|0;q=b+29580|0;r=b+29588|0;V=b+24312|0;s=K+592|0;t=b+25632|0;u=b+25636|0;C=b+25628|0;v=b+29676|0;w=b+27052|0;x=b+29716|0;y=K+576|0;z=b+29900|0;h=0;m=0;a:while(1){if((m|0)>=(c[n>>2]|0)){U=71;break}k=c[D>>2]|0;j=k+(m*68|0)|0;i=c[k+(m*68|0)+64>>2]|0;if((c[o>>2]|0)>7&(i|0)==0){if((c[k+(m*68|0)+44>>2]|0)==6){i=0;U=22}}else U=22;b:do if((U|0)==22){U=0;c[p>>2]=i;i=c[k+(m*68|0)+44>>2]|0;c[L>>2]=i;switch(i|0){case 19:case 13:case 12:case 11:case 10:case 9:break b;case 5:{if((a[(c[k+(m*68|0)+8>>2]|0)+1>>0]&-4)<<24>>24==-104){U=24;break a}if(!h){if(c[B>>2]|0?c[A>>2]&2|0:0){U=28;break a}zh(b)}c[q>>2]=1;h=1;break}case 1:break;case 4:case 3:case 2:{di(K,132846,Q);break b}case 6:{l=ei(v,k+(m*68|0)+24|0,w,K)|0;if(!(c[q>>2]|0))i=(c[x>>2]|0)!=-1;else i=1;c[q>>2]=i&1;if(c[y>>2]&8388608|0)fi(z,c[T>>2]|0);if((l|0)>=0)break b;if(!(c[(c[T>>2]|0)+580>>2]&8))break b;else break a}case 7:{i=k+(m*68|0)+24|0;c[J>>2]=c[i>>2];c[J+4>>2]=c[i+4>>2];c[J+8>>2]=c[i+8>>2];c[J+12>>2]=c[i+12>>2];c[J+16>>2]=c[i+16>>2];j=c[s>>2]|0;if((j|0?(F=c[j+28>>2]|0,F|0):0)?(G=jd[F&3](K,7,c[k+(m*68|0)+20>>2]|0,c[k+(m*68|0)+16>>2]|0)|0,(G|0)<0):0){U=61;break a}if((gi(J,K,w,0)|0)<=-1?(mf(c[T>>2]|0,48,132864,R),hi(J,(c[k+(m*68|0)+20>>2]|0)+1|0,(c[k+(m*68|0)+16>>2]|0)+-1|0)|0,(gi(J,K,w,0)|0)<=-1):0)gi(i,K,w,1)|0;break b}case 8:{i=c[s>>2]|0;if((i|0?(H=c[i+28>>2]|0,H|0):0)?(I=jd[H&3](K,8,c[k+(m*68|0)+20>>2]|0,c[k+(m*68|0)+16>>2]|0)|0,(I|0)<0):0){l=I;break a}l=ii(k+(m*68|0)+24|0,K,w,c[k+(m*68|0)+12>>2]|0)|0;if((l|0)>=0)break b;if(!(c[(c[T>>2]|0)+580>>2]&8))break b;else break a}default:{l=c[k+(m*68|0)+12>>2]|0;c[S>>2]=i;c[S+4>>2]=l;mf(K,48,132922,S);break b}}c[W>>2]=1;i=ai(b,j)|0;if(i|0){k=c[C>>2]|0;l=c[u>>2]|0;c[k+(l*34768|0)+23408>>2]=0;c[k+(l*34768|0)+23404>>2]=0;if((i|0)>=0)break;mf(c[T>>2]|0,16,132954,O);break}if((c[B>>2]|0)==1){if((!((m|0)<(g|0)|(c[A>>2]&1|0)==0)?(c[r>>2]|0)==0:0)?c[V>>2]|0:0){bi(K);c[r>>2]=1}i=c[T>>2]|0;j=c[i+592>>2]|0;if(j|0?(E=id[c[j+24>>2]&15](i,e,f)|0,(E|0)<0):0){l=E;break a}}i=c[s>>2]|0;if(!i)j=c[t>>2]|0;else j=1;if((c[u>>2]|0)==(j|0)){if(!(c[(c[T>>2]|0)+592>>2]|0))l=ci(b)|0;else{l=id[c[i+32>>2]&15](K,c[k+(m*68|0)+20>>2]|0,c[k+(m*68|0)+16>>2]|0)|0;c[u>>2]=0}if((l|0)<0?(c[(c[T>>2]|0)+580>>2]&8|0)!=0:0)break a}}while(0);m=m+1|0}do if((U|0)==24){mf(c[T>>2]|0,16,132738,M);c[b+28744>>2]=-2147483648;l=-1}else if((U|0)==28){mf(b,16,132763,P);l=-1094995529}else if((U|0)==61)l=G;else if((U|0)==71){g=ci(b)|0;if((g|0)<0?c[(c[T>>2]|0)+580>>2]&8|0:0){l=g;break}l=0}while(0);k=b+26380|0;if((((c[k>>2]|0)==3?c[B>>2]|0:0)?(c[b+28216>>2]|0)==(c[(c[b+27052+(c[c[b+28212>>2]>>2]<<2)>>2]|0)+4>>2]|0):0)?c[b+29672>>2]|0:0){h=c[C>>2]|0;g=b+24972|0;if(!(c[(c[g>>2]|0)+248>>2]|0))j=0;else j=(c[h+23404>>2]|0)==0;i=h+24|0;ji(h+696|0,c[V>>2]|0);do if(!j){g=h+728|0;if(!(c[h+23404>>2]|0)){ji(g,0);break}else{ji(g,c[h+23452>>2]|0);break}}else{ji(h+728|0,g);U=h+23416|0;c[h+23452>>2]=g;T=c[g>>2]|0;c[U>>2]=c[T>>2];c[U+4>>2]=c[T+4>>2];c[U+8>>2]=c[T+8>>2];U=h+23428|0;T=(c[g>>2]|0)+32|0;c[U>>2]=c[T>>2];c[U+4>>2]=c[T+4>>2];c[U+8>>2]=c[T+8>>2];c[h+23440>>2]=c[b+25612>>2]}while(0);if(c[h+23408>>2]|0)ji(h+760|0,c[h+25372>>2]|0);c[h+820>>2]=c[h+23404>>2];ki(i);if(j){g=h+23416|0;h=g+40|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0))}}g=c[V>>2]|0;if((g|0?(c[b+25684>>2]|0)==0:0)?c[W>>2]|0:0)Sh(g+4|0,2147483647,(c[k>>2]|0)==2&1);g=(l|0)<0?l:f}while(0);$c=X;return g|0}function Mh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);g=h;e=c[a+4>>2]|0;c[a+27004>>2]=0;f=(d|0)!=0;if(!f?(c[e+696>>2]&1|0)!=0:0)b=0;else{if(!(c[a+25684>>2]|0)){b=Rh(a)|0;c[a+28248>>2]=c[a+28228>>2];c[a+28252>>2]=c[a+28224>>2]}else b=0;c[a+28260>>2]=c[a+28256>>2];c[a+28264>>2]=c[a+28244>>2]}d=c[e+592>>2]|0;if(d){b=fd[c[d+36>>2]&31](e)|0;if((b|0)<0)mf(e,16,131973,g)}if(!f?(c[a+25684>>2]|0)==0:0)Sh((c[a+24312>>2]|0)+4|0,2147483647,(c[a+26380>>2]|0)==2&1);c[a+29560>>2]=0;$c=h;return b|0}function Nh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=$c;$c=$c+64|0;if(($c|0)>=(ad|0))N(64);g=m;j=m+40|0;k=m+24|0;l=m+8|0;f=c[a+4>>2]|0;if(((c[f+60>>2]&8|0)==0?(c[f+64>>2]&4194304|0)==0:0)?(c[d+644>>2]|0)==0:0)f=0;else{do if(!(c[f+592>>2]|0)){h=(c[d+76>>2]|0)==2147483647;if(!h?(c[d+80>>2]|0)!=2147483647:0)break;i=c[d>>2]|0;n=h&1;c[g>>2]=n;mf(f,48,131753,g);g=0-(n^1)|0;f=0;while(1){if((f|0)==4)break;o=i+(f<<2)|0;n=c[i+32+(f<<2)>>2]|0;c[j+(f<<2)>>2]=(c[o>>2]|0)+(n&g);c[l+(f<<2)>>2]=(c[o>>2]|0)+(h?n:0);c[k+(f<<2)>>2]=n<<1;f=f+1|0}gh(j,k,l,k,c[i+80>>2]|0,c[i+68>>2]|0,c[i+72>>2]>>1)}while(0);f=Ph(a,b,d)|0;if((f|0)>=0){c[e>>2]=1;f=0}}$c=m;return f|0}function Oh(a,b){a=a|0;b=b|0;a=(a|0)==0?1:a;return ((a+10|0)>(b|0)?b:a)|0}function Ph(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=Zg(b,c[d>>2]|0)|0;if((e|0)>=0){uh(b+344|0,131791,Qh(a+29852|0)|0,0)|0;if(!(c[d+652>>2]|0)){c[b+84>>2]=1;e=0}else e=0}return e|0}function Qh(a){a=a|0;a:do switch(c[a+8>>2]|0){case 0:switch(c[a+12>>2]|0){case 0:{a=(c[a+20>>2]|0)==2?131803:131819;break a}case 1:{a=(c[a+20>>2]|0)==2?131835:131854;break a}case 2:{a=(c[a+20>>2]|0)==2?131873:131892;break a}case 3:{a=(c[a+20>>2]|0)==2?131911:131922;break a}case 4:{a=(c[a+20>>2]|0)==2?131933:131944;break a}case 5:{a=(c[a+20>>2]|0)==2?131955:131964;break a}default:{a=160492;break a}}case 1:{a=160492;break}default:a=0}while(0);return a|0}function Rh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;L=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);C=L+112|0;B=L+104|0;A=L+96|0;u=L+80|0;t=L+72|0;s=L+64|0;r=L+56|0;x=L+48|0;w=L+40|0;v=L+24|0;e=L+16|0;n=L+128|0;J=L;p=L+124|0;E=J;c[E>>2]=0;c[E+4>>2]=0;E=a+28216|0;do if(c[E>>2]|0){if(!(c[a+29548>>2]|0))Th(a);o=c[a+29540>>2]|0;b=a+4|0;d=c[b>>2]|0;if((o|0)==0?(c[d+576>>2]&2048|0)!=0:0)mf(d,48,132059,e);H=a+29556|0;F=a+29552|0;z=a+28348|0;I=a+24312|0;G=a+26380|0;l=a+28244|0;m=a+29544|0;k=0;j=0;f=0;g=0;d=0;a:while(1){if((k|0)>=(o|0))break;e=c[b>>2]|0;if(!(c[e+576>>2]&2048))h=a+28748+(k*12|0)|0;else{h=a+28748+(k*12|0)|0;M=c[a+28748+(k*12|0)+4>>2]|0;i=c[a+28748+(k*12|0)+8>>2]|0;c[v>>2]=c[h>>2];c[v+4>>2]=M;c[v+8>>2]=i;mf(e,48,132073,v)}e=c[h>>2]|0;b:do switch(e|0){case 3:case 1:{f=Uh(a,c[a+28748+(k*12|0)+4>>2]|0,p)|0;g=Vh(a,f,n)|0;e=c[h>>2]|0;if(!g){if(((e|0)==3?(q=c[a+28476+(c[a+28748+(k*12|0)+8>>2]<<2)>>2]|0,q|0):0)?(c[q+88>>2]|0)==(f|0):0){h=j;e=0;break b}mf(c[b>>2]|0,c[H>>2]|0?16:48,132088,w);h=j;d=-1094995529;e=0}else{i=f;y=18}break}default:{i=f;y=18}}while(0);c:do if((y|0)==18){y=0;switch(e|0){case 1:{e=c[b>>2]|0;if(c[e+576>>2]&2048|0){M=c[H>>2]|0;c[x>>2]=c[a+28748+(k*12|0)+4>>2];c[x+4>>2]=M;mf(e,48,132115,x)}Wh(a,i,c[p>>2]^3)|0;h=j;f=i;e=g;break c}case 3:{e=a+28748+(k*12|0)+8|0;f=c[e>>2]|0;if((c[a+28476+(f<<2)>>2]|0)!=(g|0))Bh(a,f,0);Xh(a,c[n>>2]|0);c[a+28476+(c[e>>2]<<2)>>2]=g;e=c[a+28476+(c[e>>2]<<2)>>2]|0;if(!e){h=j;f=i;e=g;break c}c[e+100>>2]=1;c[F>>2]=(c[F>>2]|0)+1;h=j;f=i;e=g;break c}case 2:{e=Uh(a,c[a+28748+(k*12|0)+8>>2]|0,p)|0;c[n>>2]=e;g=c[a+28476+(e<<2)>>2]|0;if(g|0){Bh(a,e,c[p>>2]^3);h=j;f=i;e=g;break c}e=c[b>>2]|0;if(!(c[e+576>>2]&2048)){h=j;f=i;e=0;break c}mf(e,48,132146,r);h=j;f=i;e=0;break c}case 6:{e=c[I>>2]|0;if((c[z>>2]|0)==(e|0)){mf(c[b>>2]|0,16,132172,s);Xh(a,0);e=c[I>>2]|0}h=a+28748+(k*12|0)+8|0;if(c[e+100>>2]|0){e=0;while(1){if((e|0)==32)break;if((c[a+28476+(e<<2)>>2]|0)==(c[I>>2]|0)){if((e|0)!=(c[h>>2]|0))mf(c[b>>2]|0,16,132244,t);Bh(a,e,0)}e=e+1|0}c[n>>2]=32;e=c[I>>2]|0}f=c[h>>2]|0;if((c[a+28476+(f<<2)>>2]|0)!=(e|0)){if(c[e+100>>2]|0){y=42;break a}Bh(a,f,0);c[a+28476+(c[h>>2]<<2)>>2]=c[I>>2];c[(c[a+28476+(c[h>>2]<<2)>>2]|0)+100>>2]=1;c[F>>2]=(c[F>>2]|0)+1;e=c[I>>2]|0}h=e+640|0;c[h>>2]=c[h>>2]|c[G>>2];h=1;f=i;e=g;break c}case 4:{e=c[a+28748+(k*12|0)+8>>2]|0;while(1){if((e|0)>=16)break;Bh(a,e,0);e=e+1|0}c[n>>2]=e;h=j;f=i;e=g;break c}case 5:{while(1){if(!(c[H>>2]|0)){e=0;break}Wh(a,c[(c[z>>2]|0)+88>>2]|0,0)|0}while(1){if((e|0)==16)break;Bh(a,e,0);e=e+1|0}c[n>>2]=16;e=c[I>>2]|0;c[e+88>>2]=0;c[l>>2]=0;c[m>>2]=1;c[e+92>>2]=1;e=0;while(1){if((e|0)==16)break;c[a+28676+(e<<2)>>2]=-2147483648;e=e+1|0}c[n>>2]=16;h=j;f=i;e=g;break c}default:{h=j;f=i;e=g;break c}}}while(0);k=k+1|0;j=h;g=e}if((y|0)==42){c[u>>2]=132307;c[u+4>>2]=132333;c[u+8>>2]=702;mf(0,0,164250,u);ub()}do if(!j){if(c[H>>2]|0){f=c[z>>2]|0;e=c[I>>2]|0;if((f|0)==(e|0)){M=f+640|0;c[M>>2]=c[M>>2]|c[G>>2];break}}else e=c[I>>2]|0;if(c[e+100>>2]|0){mf(c[b>>2]|0,16,132356,A);d=-1094995529;break}if(Wh(a,c[e+88>>2]|0,0)|0){mf(c[b>>2]|0,16,132469,B);d=-1094995529}e=c[H>>2]|0;if(!e)e=1;else{ZW(a+28352|0,z|0,e<<2|0)|0;e=(c[H>>2]|0)+1|0}M=c[I>>2]|0;c[a+28348>>2]=M;c[H>>2]=e;M=M+640|0;c[M>>2]=c[M>>2]|c[G>>2]}while(0);e=c[F>>2]|0;f=c[H>>2]|0;g=c[(c[E>>2]|0)+48>>2]|0;do if((f+e|0)>(((g|0)>1?g:1)|0)){d=c[b>>2]|0;c[C>>2]=e;c[C+4>>2]=f;c[C+8>>2]=g;mf(d,16,132511,C);d=c[H>>2]|0;if((c[F>>2]|0)!=0&(d|0)==0)d=0;else{Wh(a,c[(c[a+28348+(d+-1<<2)>>2]|0)+88>>2]|0,0)|0;d=-1094995529;break}while(1){if((d|0)>=16)break;if(c[a+28476+(d<<2)>>2]|0)break;d=d+1|0}Bh(a,d,0);d=-1094995529}while(0);e=0;while(1){if((e|0)>=(c[H>>2]|0))break;f=c[a+28348+(e<<2)>>2]|0;if(c[f+648>>2]|0?(D=c[f+88>>2]|0,M=c[E>>2]|0,((1<>2])+-1&(c[(c[I>>2]|0)+88>>2]|0)-D|0)>(c[M+48>>2]|0)):0)Wh(a,D,0)|0;e=e+1|0}Yh(a);Zh(a);h=J+4|0;g=0;i=0;f=0;while(1){if((g|0)==256)break;e=c[a+27180+(g<<2)>>2]|0;if(!e)e=i;else{E=c[e+4>>2]|0;M=E+20|0;e=c[(i>>>0>(c[M>>2]|0)>>>0?J:M)>>2]|0;c[J>>2]=e;f=c[(f>>>0>(c[E+24>>2]|0)>>>0?J:M)+4>>2]|0;c[h>>2]=f}g=g+1|0;i=e}if((d|0)>-1?(c[F>>2]|0)==0:0){e=c[G>>2]|0;if((c[H>>2]|0)>=3?!((i|0)<=(((e|0)!=3?2:1)|0)&(f|0)<2):0)break;if(((i|0)<=((((c[a+29580>>2]|0)==0&1)<<1)+((e|0)!=3?3:2)|0)?(K=c[I>>2]|0,(c[(c[K>>2]|0)+88>>2]|0)==1):0)?(M=K+644|0,c[M>>2]=c[M>>2]|1,(c[(c[b>>2]|0)+140>>2]|0)==0):0){M=a+29576|0;c[M>>2]=c[M>>2]|2}}}else{b=a+4|0;mf(c[b>>2]|0,16,132045,L+8|0);d=-1094995529}while(0);$c=L;return (c[(c[b>>2]|0)+580>>2]&8|0?d:0)|0}function Sh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);h=i;e=c[a+12>>2]|0;if((e|0?(f=c[e+4>>2]|0,f|0):0)?(g=f+(d<<2)|0,(c[g>>2]|0)<(b|0)):0){a=a+4+(d<<2)|0;e=c[(c[(c[a>>2]|0)+28>>2]|0)+20>>2]|0;if(c[e+344>>2]|0){a=c[a>>2]|0;c[h>>2]=f;c[h+4>>2]=b;c[h+8>>2]=d;mf(a,48,132020,h)}h=e+184|0;fV(h)|0;c[g>>2]=b;$W(e+60|0)|0;gV(h)|0}$c=i;return}function Th(a){a=a|0;var b=0,d=0,e=0;b=c[a+29556>>2]|0;do if((b|0)!=0?((c[a+29552>>2]|0)+b|0)>=(c[(c[a+28216>>2]|0)+48>>2]|0):0){e=(c[a+26380>>2]|0)==3;if((!e?(c[a+26384>>2]|0)==0:0)?c[(c[a+24312>>2]|0)+640>>2]|0:0){b=0;break}c[a+28748>>2]=1;d=c[(c[a+28348+(b+-1<<2)>>2]|0)+88>>2]|0;b=a+28752|0;c[b>>2]=d;d=d<<1;if(e)b=1;else{c[b>>2]=d;c[a+28760>>2]=1;c[a+28764>>2]=d|1;b=2}}else b=0;while(0);c[a+29540>>2]=b;return}function Uh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=a+26380|0;a=c[e>>2]|0;c[d>>2]=a;if((c[e>>2]|0)!=3){if(!(b&1))c[d>>2]=a^3;b=b>>1}return b|0}function Vh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);j=l;h=a+29556|0;i=a+4|0;g=0;while(1){if((g|0)>=(c[h>>2]|0)){e=0;break}e=c[a+28348+(g<<2)>>2]|0;f=c[i>>2]|0;if(!(c[f+576>>2]&2048))f=e+88|0;else{m=e+88|0;n=c[m>>2]|0;c[j>>2]=g;c[j+4>>2]=n;c[j+8>>2]=e;mf(f,48,132685,j);f=m}if((c[f>>2]|0)==(b|0)){k=7;break}g=g+1|0}if((k|0)==7)c[d>>2]=g;$c=l;return e|0}function Wh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=h;g=h+8|0;e=c[a+4>>2]|0;if(c[e+576>>2]&2048|0){i=c[a+29556>>2]|0;c[f>>2]=b;c[f+4>>2]=i;mf(e,48,132659,f)}b=Vh(a,b,g)|0;if(b|0?Dh(a,b,d)|0:0)Xh(a,c[g>>2]|0);$c=h;return b|0}function Xh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+28348+(b<<2)|0;c[d>>2]=0;f=a+29556|0;e=(c[f>>2]|0)+-1|0;c[f>>2]=e;if(e|0)ZW(d|0,a+28348+(b+1<<2)|0,e-b<<2|0)|0;return}function Yh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);f=g+8|0;e=a+4|0;b=c[e>>2]|0;a:do if(c[b+576>>2]&2048|0){mf(b,48,132641,g);d=a+29556|0;b=0;while(1){if(b>>>0>=(c[d>>2]|0)>>>0)break a;i=c[a+28348+(b<<2)>>2]|0;h=c[e>>2]|0;k=c[i+88>>2]|0;j=c[i+84>>2]|0;i=c[c[i>>2]>>2]|0;c[f>>2]=b;c[f+4>>2]=k;c[f+8>>2]=j;c[f+12>>2]=i;mf(h,48,132621,f);b=b+1|0}}while(0);$c=g;return}function Zh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);f=g+8|0;e=a+4|0;b=c[e>>2]|0;a:do if(c[b+576>>2]&2048|0){mf(b,48,132604,g);b=0;while(1){if((b|0)==16)break a;d=c[a+28476+(b<<2)>>2]|0;if(d|0){h=c[e>>2]|0;j=c[d+88>>2]|0;i=c[d+84>>2]|0;d=c[c[d>>2]>>2]|0;c[f>>2]=b;c[f+4>>2]=j;c[f+8>>2]=i;c[f+12>>2]=d;mf(h,48,132621,f)}b=b+1|0}}while(0);$c=g;return}function _h(a,b,e,f,g,h,i,j){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);x=C+40|0;A=C+32|0;z=C+24|0;y=C+16|0;k=C;w=C+44|0;v=(g|0)!=0;if((e|0)<=-1){c[k>>2]=159778;c[k+4>>2]=159792;c[k+8>>2]=137;mf(0,0,164250,k);ub()}q=b;r=b+e|0;s=a+4|0;OM(s,a+8|0,(j|0?0:262144)+e|0);a:do if(c[s>>2]|0){c[a+12>>2]=0;t=a+16|0;c[t>>2]=0;u=a+20|0;p=(i|0)==173;l=v?0:e;g=q;b:while(1){e=b+l|0;while(1){i=r-g|0;if(i>>>0<=3){g=0;break a}k=g-q|0;if((k|0)==(l|0)){B=8;break}if((k|0)>(l|0))mf(f,24,152587,y);k=QM(g,e)|0;i=g+(i>>>0>k>>>0?k:i)|0;k=i;g=r-k|0;if(!g)break b;o=k-q|0;n=l-o|0;g=g>>>0>n>>>0?n:g;if((l|0)>(o|0)){o=g;break}else g=i+g|0}if((B|0)==8){B=0;c[w>>2]=0;k=g;g=PM(h,k,i,w,f)|0;k=k+(i>>>0>h>>>0?h:i)|0;if((g|0)<0)break a;else{o=g;l=k-q+g|0}}g=c[u>>2]|0;i=c[t>>2]|0;if((g|0)<=(i|0)){g=g+1|0;i=RM(c[a>>2]|0,g,68)|0;if(!i){g=-12;break a}c[a>>2]=i;e=c[u>>2]|0;_W(i+(e*68|0)|0,0,(g-e|0)*68|0)|0;e=c[a>>2]|0;m=c[t>>2]|0;c[e+(m*68|0)+56>>2]=1024;n=bh(1024,4)|0;c[e+(m*68|0)+60>>2]=n;if(!n){g=-12;break a}c[u>>2]=g;i=c[t>>2]|0}n=c[a>>2]|0;m=n+(i*68|0)|0;e=k;g=SM(e,o,s,m,j)|0;if((g|0)<0)break a;if(v?(o|0)!=0&(o|0)!=(g|0):0){c[A>>2]=g;c[A+4>>2]=o;mf(f,48,152655,A)}c[t>>2]=(c[t>>2]|0)+1;k=r-k|0;g=e+(k>>>0>g>>>0?g:k)|0;e=g;k=r-e|0;if(k>>>0>3){if((k|0)<4)g=0;else g=WW(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24|0)|0;g=(g|0)!=480&1}else g=1;g=TM(m,g)|0;c[n+(i*68|0)+12>>2]=g;g=UM(n+(i*68|0)+24|0,c[n+(i*68|0)+8>>2]|0,g)|0;if((g|0)<0)break a;if(p)g=VM(m,f)|0;else g=WM(m,f)|0;if((g|0)<1){if((g|0)<0){c[x>>2]=c[n+(i*68|0)+44>>2];mf(f,16,152700,x)}}else if((c[n+(i*68|0)+4>>2]|0)>=1){g=e;continue}c[t>>2]=(c[t>>2]|0)+-1;g=e}if((c[t>>2]|0)>0)g=0;else{mf(f,16,152630,z);g=-1094995529}}else g=-12;while(0);$c=C;return g|0}function $h(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);k=m;h=m+4|0;i=a+25656|0;j=a+25640|0;g=a+4|0;a=0;f=0;b=0;a:while(1){if((f|0)>=(c[i>>2]|0))break;d=c[j>>2]|0;e=d+(f*68|0)+44|0;b:do switch(c[e>>2]|0){case 8:case 7:{a=f;break}case 1:case 5:case 2:{d=hi(h,(c[d+(f*68|0)+8>>2]|0)+1|0,(c[d+(f*68|0)+4>>2]|0)+-1|0)|0;if((d|0)<0){mf(c[g>>2]|0,16,152554,k);if(!(c[(c[g>>2]|0)+580>>2]&8))break b;else{l=12;break a}}d=(b|0)!=0;if(!(d&(JM(h)|0)!=0?(b|0)==(c[e>>2]|0):0))a=f;if(!d)b=c[e>>2]|0;break}default:{}}while(0);f=f+1|0}if((l|0)==12)a=d;$c=m;return a|0}function ai(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=$c;$c=$c+34832|0;if(($c|0)>=(ad|0))N(34832);t=v+34824|0;s=v+34816|0;r=v+34808|0;q=v+34800|0;o=v+34784|0;j=v+34776|0;h=v+34768|0;i=v;m=a+25628|0;e=c[m>>2]|0;u=a+25636|0;g=c[u>>2]|0;f=e+(g*34768|0)|0;if(!g)l=(c[a+29560>>2]|0)==0;else l=0;p=l&1;d=e+(g*34768|0)+4|0;w=b+24|0;c[d>>2]=c[w>>2];c[d+4>>2]=c[w+4>>2];c[d+8>>2]=c[w+8>>2];c[d+12>>2]=c[w+12>>2];c[d+16>>2]=c[w+16>>2];d=kl(a,f,b)|0;a:do if((d|0)>=0){if((c[e+(g*34768|0)+21836>>2]|0)>0){c[e+(g*34768|0)+23408>>2]=0;c[e+(g*34768|0)+23404>>2]=0;d=0;break}d=(c[e+(g*34768|0)+21808>>2]|0)==0;if(!d?(c[a+29560>>2]|0)!=0:0)k=11;else{if(c[a+29588>>2]|0){mf(c[a+4>>2]|0,16,148854,h);d=-1094995529;break}if(d){h=a+29560|0;do if(c[h>>2]|0){if(c[u>>2]|0){d=ci(a)|0;if((d|0)<0?c[(c[a+4>>2]|0)+580>>2]&8|0:0)break a;w=c[m>>2]|0;YW(i|0,w|0,34768)|0;YW(w|0,f|0,34768)|0;YW(f|0,i|0,34768)|0;f=c[m>>2]|0}e=a+24312|0;if(!(c[e>>2]|0)){d=-1094995529;break a}g=a+26384|0;d=(c[g>>2]|0)==0;if((c[a+26380>>2]|0)!=3){if(d){d=-1094995529;break a}d=Mh(a,c[m>>2]|0,1)|0;if((d|0)<0)break a;else{d=g;break}}if(!d){d=-1094995529;break a}if((c[a+27028>>2]|0)!=5){d=-1094995529;break a}mf(a,24,148871,j);d=Mh(a,c[m>>2]|0,1)|0;Sh((c[e>>2]|0)+4|0,2147483647,0);Sh((c[e>>2]|0)+4|0,2147483647,1);c[e>>2]=0;if((d|0)<0)break a;else d=g}else d=a+26384|0;while(0);if(!(c[d>>2]|0)){d=a+24312|0;e=c[d>>2]|0;if(e|0?(c[a+25684>>2]|0)==0:0)Sh(e+4|0,2147483647,(c[a+26380>>2]|0)==2&1);c[d>>2]=0;g=f;d=h}else{g=f;d=h}}else k=11}if((k|0)==11){g=f;d=a+29560|0}f=c[d>>2]|0;e=(f|0)==0;do if(e){if((g|0)!=(c[m>>2]|0)){c[o>>2]=148897;c[o+4>>2]=138054;c[o+8>>2]=2090;mf(0,0,164250,o);ub()}if((c[a+26384>>2]|0)==0?(n=c[(c[a+4>>2]|0)+732>>2]|0,(n|0)>7):0){if(!(c[a+27024>>2]|0)){d=0;break a}if((n|0)>15){if((c[g+840>>2]|0)==3){d=0;break a}if((n|0)>23){if((c[g+840>>2]|0)!=1){d=0;break a}if((n|0)>31)if((c[a+27028>>2]|0)==5)if((n|0)>47){d=0;break a}else break;else if((c[a+29716>>2]|0)<0|(n|0)>47){d=0;break a}else break}}}}while(0);do if(!l){w=c[(c[a+27180+(c[g+27776>>2]<<2)>>2]|0)+4>>2]|0;o=c[a+28212>>2]|0;d=c[o>>2]|0;if((d|0)==(c[w>>2]|0)?(c[o+64>>2]|0)==(c[w+64>>2]|0):0){if((c[a+28216>>2]|0)==(c[(c[a+27052+(d<<2)>>2]|0)+4>>2]|0))break;mf(c[a+4>>2]|0,16,148944,r);d=-1094995529;break a}mf(c[a+4>>2]|0,16,148916,q);d=-1094995529;break a}while(0);do if(e){d=ll(a,g,b,p)|0;if((d|0)<0)break a}else{d=c[a+26380>>2]|0;e=c[g+21824>>2]|0;if((d|0)==(e|0)?(c[a+25684>>2]|0)==((c[b+64>>2]|0)==0|0):0){if(c[a+24312>>2]|0)break;d=c[a+4>>2]|0;c[t>>2]=f+1;mf(d,16,149046,t);d=-1094995529;break a}w=c[a+4>>2]|0;c[s>>2]=d;c[s+4>>2]=e;mf(w,16,148984,s);d=-1094995529;break a}while(0);d=ml(a,g,b)|0;if((d|0)>=0){c[u>>2]=(c[u>>2]|0)+1;d=0}}while(0);$c=v;return d|0}function bi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);g=h;f=c[(c[a+28>>2]|0)+20>>2]|0;if(c[a+696>>2]&1|0){e=a+592|0;b=c[e>>2]|0;do if(b|0){d=f+336|0;if(!(c[d>>2]|0)){fV((c[f>>2]|0)+36|0)|0;c[d>>2]=1;b=c[e>>2]|0;if(!b)break}if(!(c[b+60>>2]&1)){c[f+340>>2]=1;jl(c[f>>2]|0)}}while(0);b=f+184|0;fV(b)|0;d=f+300|0;if((c[d>>2]|0)==4)mf(a,24,148813,g);c[d>>2]=4;$W(f+60|0)|0;gV(b)|0}$c=h;return}function ci(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);e=u+16|0;d=u;i=c[a+4>>2]|0;t=a+25636|0;r=c[t>>2]|0;s=a+25628|0;j=c[s>>2]|0;b=j+21812|0;c[b>>2]=2147483647;if((r|0)<1|(c[i+592>>2]|0)!=0)b=0;else{k=r+-1|0;q=a+27008|0;h=c[q>>2]|0;if((c[j+(k*34768|0)+21792>>2]|0)>=(h|0)){c[d>>2]=137985;c[d+4>>2]=138054;c[d+8>>2]=2746;mf(0,0,164250,d);ub()}a:do if((r|0)!=1){if((r|0)<=0){c[e>>2]=138078;c[e+4>>2]=138054;c[e+8>>2]=2758;mf(0,0,164250,e);ub()}p=a+27012|0;b=0;while(1){if((b|0)==(r|0))break;f=c[p>>2]|0;e=H(h,f)|0;c[j+(b*34768|0)+596>>2]=0;g=H(f,c[j+(b*34768|0)+21792>>2]|0)|0;g=g+(c[j+(b*34768|0)+21788>>2]|0)|0;d=0;while(1){if((d|0)==(r|0))break;o=H(f,c[j+(d*34768|0)+21792>>2]|0)|0;o=o+(c[j+(d*34768|0)+21788>>2]|0)|0;o=(b|0)==(d|0)|(o|0)<(g|0)?e:(e|0)>(o|0)?o:e;d=d+1|0;e=o}c[j+(b*34768|0)+21812>>2]=e;b=b+1|0}ld[c[i+704>>2]&7](i,8,j,0,r,34768)|0;e=c[s>>2]|0;c[a+27004>>2]=c[e+(k*34768|0)+21792>>2];d=e+596|0;b=1;while(1){if((b|0)==(r|0))break;c[d>>2]=(c[d>>2]|0)+(c[e+(b*34768|0)+596>>2]|0);b=b+1|0}b=a+25708|0;if(!(c[b>>2]|0))b=0;else{c[b>>2]=0;g=a+26376|0;h=a+26380|0;f=0;while(1){if((f|0)==(r|0)){b=0;break a}o=c[s>>2]|0;i=o+(f*34768|0)|0;j=o+(f*34768|0)+21792|0;m=c[j>>2]|0;l=c[q>>2]|0;k=(m|0)<(l|0)?m+1|0:l;l=c[((m|0)>=(l|0)?p:o+(f*34768|0)+21788|0)>>2]|0;m=o+(f*34768|0)+21804|0;n=k+-1|0;o=o+(f*34768|0)+21800|0;e=c[m>>2]|0;while(1){if((e|0)>=(k|0))break;c[j>>2]=e;if((e|0)>(c[m>>2]|0))b=0;else b=c[o>>2]|0;if((e|0)==(n|0))d=l;else d=c[p>>2]|0;zj(a,i,b,d);if((c[g>>2]|0)==0?(c[h>>2]|0)==3:0)b=1;else b=2;e=b+e|0}f=f+1|0}}}else{c[b>>2]=H(c[a+27012>>2]|0,h)|0;c[a+25708>>2]=0;b=yj(i,j)|0;c[a+27004>>2]=c[(c[s>>2]|0)+21792>>2]}while(0);c[t>>2]=0}$c=u;return b|0}function di(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=e;c[f>>2]=d;Li(1,a,b,f);$c=e;return}function ei(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);s=u+16|0;r=u;l=a+36|0;m=a+40|0;n=a+44|0;o=a+176|0;p=a+208|0;q=a+224|0;k=a+240|0;i=0;a:while(1){if(($i(b)|0)<=16){f=i;break}if(!(aj(b,16)|0)){f=i;break}else h=0;while(1){if(($i(b)|0)<8){f=-1094995529;break a}h=(aj(b,8)|0)+h|0;if((bj(b,8)|0)!=255){g=0;break}}do{if(($i(b)|0)<8){f=-1094995529;break a}g=(aj(b,8)|0)+g|0}while((bj(b,8)|0)==255);f=$i(b)|0;if(g>>>0>((f|0)/8|0)>>>0){t=9;break}j=(cj(b)|0)+(g<<3)|0;do switch(h|0){case 1:{f=dj(a,b,d,e)|0;t=21;break}case 4:{f=ej(a,b,g)|0;t=21;break}case 5:{f=fj(l,b,g)|0;t=21;break}case 6:{gj(m,b);f=i;break}case 0:{f=hj(n,b,d,e)|0;t=21;break}case 45:{ij(o,b);f=i;break}case 47:{jj(p,b);f=i;break}case 56:{kj(q,b);f=i;break}case 147:{lj(k,b);f=i;break}default:{c[s>>2]=h;mf(e,48,137803,s);f=i}}while(0);if((t|0)==21){t=0;g=(f|0)<0;if(g&(f|0)!=-1397768184)break;else f=g?f:i}mj(b,j-(cj(b)|0)|0);nj(b);i=f}if((t|0)==9){c[r>>2]=h;c[r+4>>2]=g<<3;c[r+8>>2]=f;mf(e,16,137766,r);f=-1094995529}$c=u;return f|0}function fi(b,f){b=b|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0;n=$c;$c=$c+96|0;if(($c|0)>=(ad|0))N(96);j=n+80|0;i=n+72|0;h=n+40|0;m=n+32|0;l=n+24|0;k=n+16|0;o=n+8|0;mf(f,48,137511,n);c[o>>2]=d[b>>0];mf(f,48,137544,o);switch(a[b>>0]|0){case 0:{o=b+1|0;c[k>>2]=d[o>>0];mf(f,48,137571,k);switch(a[o>>0]|0){case 2:{c[l>>2]=e[b+2>>1];mf(f,48,137605,l);break}case 3:{c[m>>2]=e[b+4>>1];mf(f,48,137639,m);break}default:{}}r=+(d[b+7>>0]|0)/255.0;q=+(d[b+8>>0]|0)/255.0;p=+(d[b+9>>0]|0)/255.0;g[h>>3]=+(d[b+6>>0]|0)/255.0;g[h+8>>3]=r;g[h+16>>3]=q;g[h+24>>3]=p;mf(f,48,137674,h);break}case 1:{o=b+10|0;c[i>>2]=d[o>>0];mf(f,48,137719,i);if(!(a[o>>0]|0)){g[j>>3]=+(e[b+12>>1]|0)/100.0;mf(f,48,137742,j)}break}default:{}}$c=n;return}function gi(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0;Q=$c;$c=$c+240|0;if(($c|0)>=(ad|0))N(240);K=Q+152|0;G=Q+144|0;F=Q+120|0;D=Q+104|0;B=Q+96|0;y=Q+88|0;x=Q+80|0;u=Q+72|0;w=Q+64|0;v=Q+56|0;t=Q+48|0;r=Q+40|0;s=Q+32|0;q=Q+24|0;p=Q+16|0;o=Q+8|0;j=Q;L=Q+228|0;M=Ng(5300)|0;c[L>>2]=M;O=M;a:do if(!M)g=-12;else{P=M+4|0;J=c[P>>2]|0;h=c[a>>2]|0;g=(c[a+4>>2]|0)-h|0;i=J+5296|0;c[i>>2]=g;if(g>>>0>4096){mf(d,48,136652,j);c[i>>2]=4096;h=c[a>>2]|0;g=4096}YW(J+1200|0,h|0,g|0)|0;n=Ai(a,8)|0;g=zi(a)|0;h=zi(a)|0;i=zi(a)|0;j=zi(a)|0;k=zi(a)|0;l=zi(a)|0;Ni(a);m=Ai(a,8)|0;I=xi(a)|0;b:do if(I>>>0>31){c[o>>2]=I;mf(d,16,135739,o)}else{c[J>>2]=I;c[J+1164>>2]=24;E=J+4|0;c[E>>2]=n;c[J+1196>>2]=h<<1|g|i<<2|j<<3|k<<4|l<<5;C=J+8|0;c[C>>2]=m;c[J+112>>2]=-1;i=J+672|0;j=J+768|0;k=J+668|0;_W(i|0,16,480)|0;c[k>>2]=0;c[J+128>>2]=2;switch(n|0){case 144:case 138:case 128:case 118:case 86:case 83:case 44:case 244:case 122:case 110:case 100:{g=xi(a)|0;c[J+12>>2]=g;if(g>>>0>3){c[p>>2]=g;di(d,136685,p);break b}if((g|0)==3?(z=zi(a)|0,c[J+1192>>2]=z,z|0):0){mf(d,16,136706,q);break b}z=J+1184|0;c[z>>2]=(wi(a)|0)+8;g=wi(a)|0;h=g+8|0;c[J+1188>>2]=h;if((h|0)!=(c[z>>2]|0)){di(d,136747,s);break b}if(g>>>0>6){c[r>>2]=h;c[r+4>>2]=h;mf(d,16,136783,r);break b}c[J+16>>2]=zi(a)|0;g=Ei(a,J,0,1,i,j)|0;if((g|0)<0)break b;c[k>>2]=c[k>>2]|g;break}default:{c[J+12>>2]=1;c[J+1184>>2]=8;c[J+1188>>2]=8}}g=wi(a)|0;if(g>>>0>12){c[t>>2]=g;mf(d,16,136817,t);break}c[J+20>>2]=g+4;g=xi(a)|0;t=J+24|0;c[t>>2]=g;c:do switch(g|0){case 0:{g=wi(a)|0;if(g>>>0>12){c[v>>2]=g;mf(d,16,136868,v);break b}else{c[J+28>>2]=g+4;break c}}case 1:{c[J+32>>2]=zi(a)|0;c[J+36>>2]=Bi(a)|0;c[J+40>>2]=Bi(a)|0;g=wi(a)|0;i=J+44|0;c[i>>2]=g;if(g>>>0>255){c[w>>2]=g;mf(d,16,136907,w);break b}else h=0;while(1){if((h|0)>=(g|0))break c;b[J+148+(h<<1)>>1]=Bi(a)|0;h=h+1|0;g=c[i>>2]|0}}case 2:break;default:{c[u>>2]=g;mf(d,16,136937,u);break b}}while(0);g=xi(a)|0;r=J+48|0;c[r>>2]=g;w=(c[d+20>>2]|0)==844516691;z=(g|0)>2?g:2;c[r>>2]=w?z:g;g=w?z:g;if((g|0)>16){c[x>>2]=g;mf(d,16,136958,x);break}c[J+52>>2]=zi(a)|0;q=J+56|0;c[q>>2]=(wi(a)|0)+1;s=J+60|0;c[s>>2]=(wi(a)|0)+1;g=zi(a)|0;z=J+64|0;c[z>>2]=g;h=c[s>>2]|0;if(h>>>0>1073741822){mf(d,16,136988,y);break}c[s>>2]=H(h,2-g|0)|0;if(!g)g=zi(a)|0;else g=0;p=J+68|0;c[p>>2]=g;g=c[q>>2]|0;if((g>>>0<=134217726?(A=c[s>>2]|0,A>>>0<=134217726):0)?(nh(g<<4,A<<4,0,d)|0)==0:0){o=J+72|0;c[o>>2]=zi(a)|0;B=zi(a)|0;g=J+76|0;c[g>>2]=B;d:do if(!B){c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0}else{i=wi(a)|0;j=wi(a)|0;k=wi(a)|0;l=wi(a)|0;m=c[q>>2]<<4;n=c[s>>2]<<4;if(c[d+64>>2]&65536|0){c[D>>2]=i;c[D+4>>2]=j;c[D+8>>2]=k;c[D+12>>2]=l;mf(d,48,137031,D);F=J+80|0;c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;c[F+12>>2]=0;break}h=c[J+12>>2]|0;g=(h+-1|0)>>>0<2&1;h=2-(c[z>>2]|0)<<((h|0)==1&1);D=536870911>>>g;do if((!(i>>>0>D>>>0|j>>>0>D>>>0)?(D=536870911/(h>>>0)|0,!(k>>>0>D>>>0|l>>>0>D>>>0)):0)?j+i<>>0>>0:0){if((H(h,l+k|0)|0)>>>0>=n>>>0)break;c[J+80>>2]=i<>2]=j<>2]=H(h,k)|0;c[J+92>>2]=H(h,l)|0;break d}while(0);c[F>>2]=i;c[F+4>>2]=j;c[F+8>>2]=k;c[F+12>>2]=l;c[F+16>>2]=m;c[F+20>>2]=n;mf(d,16,137097,F);break b}while(0);F=zi(a)|0;i=J+96|0;c[i>>2]=F;if(F|0?(Oi(a,d,J)|0)<0:0)break;g=Pi(a)|0;if((g|0)<0?(f=(f|0)!=0,c[G>>2]=c[i>>2]|0?137138:152881,c[G+4>>2]=0-g,mf(d,f?24:16,137142,G),!f):0)break;y=(c[J+660>>2]|0)==0;e:do if(y){if((c[r>>2]|0)==0?(c[d+568>>2]|0)<=0:0)break;h=J+664|0;c[h>>2]=15;g=0;while(1){if(g>>>0>=16)break e;if((c[72176+(g<<3)>>2]|0)==(c[C>>2]|0))break;g=g+1|0}G=(c[72176+(g<<3)+4>>2]|0)/(H(c[s>>2]|0,c[q>>2]|0)|0)|0;c[h>>2]=(G|0)<15?G:15}while(0);g=J+104|0;if(!(c[g>>2]|0))c[g>>2]=1;if(c[d+576>>2]&1|0){x=c[E>>2]|0;w=c[C>>2]|0;v=c[t>>2]|0;u=c[r>>2]|0;t=c[q>>2]|0;s=c[s>>2]|0;if(!(c[z>>2]|0))r=c[p>>2]|0?137166:137173;else r=137181;m=c[o>>2]|0?137185:262104;n=c[J+80>>2]|0;o=c[J+84>>2]|0;p=c[J+88>>2]|0;q=c[J+92>>2]|0;h=c[i>>2]|0?137138:262104;i=137189+((c[J+12>>2]|0)*5|0)|0;if(!(c[J+132>>2]|0)){k=0;l=0}else{k=c[J+136>>2]|0;l=c[J+140>>2]|0}j=c[J+1184>>2]|0;if(y)g=-1;else g=c[J+664>>2]|0;c[K>>2]=I;c[K+4>>2]=x;c[K+8>>2]=w;c[K+12>>2]=v;c[K+16>>2]=u;c[K+20>>2]=t;c[K+24>>2]=s;c[K+28>>2]=r;c[K+32>>2]=m;c[K+36>>2]=n;c[K+40>>2]=o;c[K+44>>2]=p;c[K+48>>2]=q;c[K+52>>2]=h;c[K+56>>2]=i;c[K+60>>2]=k;c[K+64>>2]=l;c[K+68>>2]=j;c[K+72>>2]=g;mf(d,48,137209,K)}g=e+(I<<2)|0;h=c[g>>2]|0;do if(h|0){if(rT(c[h+4>>2]|0,c[P>>2]|0,c[M+8>>2]|0)|0)break;Tf(L);g=0;break a}while(0);Qi(e,I);c[g>>2]=O;g=0;break a}mf(d,16,137005,B)}while(0);Tf(L);g=-1094995529}while(0);$c=Q;return g|0}function hi(a,b,c){a=a|0;b=b|0;c=c|0;return Mi(a,b,c>>>0>268435455?-8:c<<3)|0}function ii(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=$c;$c=$c+128|0;if(($c|0)>=(ad|0))N(128);C=D+56|0;o=D+48|0;n=D+40|0;l=D+32|0;m=D+24|0;k=D+16|0;i=D+8|0;f=D;x=D+116|0;B=wi(a)|0;a:do if(B>>>0<=255){f=Ng(173836)|0;c[x>>2]=f;A=f;if(!f)f=-12;else{z=c[f+4>>2]|0;g=c[a>>2]|0;f=(c[a+4>>2]|0)-g|0;h=z+4824|0;c[h>>2]=f;if(f>>>0>4096){c[i>>2]=f;c[i+4>>2]=4096;mf(b,48,135694,i);c[h>>2]=4096;g=c[a>>2]|0;f=4096}YW(z+728|0,g|0,f|0)|0;f=xi(a)|0;c[z>>2]=f;b:do if(f>>>0<=31?(j=c[d+(f<<2)>>2]|0,(j|0)!=0):0){v=c[j+4>>2]|0;w=v+1184|0;f=c[w>>2]|0;if((f|0)>14){c[m>>2]=f;mf(b,16,135763,m);f=-1094995529;break}switch(f|0){case 13:case 11:{c[l>>2]=f;yi(b,135790,l);f=-1163346256;break b}default:{}}t=z+4|0;c[t>>2]=zi(a)|0;c[z+8>>2]=zi(a)|0;s=wi(a)|0;u=z+12|0;c[u>>2]=s+1;if((s|0)>0){c[z+16>>2]=wi(a)|0;mf(b,16,135822,n)}r=z+20|0;c[r>>2]=(wi(a)|0)+1;q=wi(a)|0;s=z+24|0;c[s>>2]=q+1;if(((c[r>>2]|0)+-1|q)>>>0>31){mf(b,16,135841,o);f=-1094995529;break}q=(c[w>>2]|0)*6|0;k=z+28|0;c[k>>2]=zi(a)|0;c[z+32>>2]=Ai(a,2)|0;q=q+-22|0;l=z+36|0;c[l>>2]=q+(Bi(a)|0);m=z+40|0;c[m>>2]=q+(Bi(a)|0);q=Bi(a)|0;j=z+44|0;c[j>>2]=q;if((q+12|0)>>>0>24)f=-1094995529;else{n=z+52|0;c[n>>2]=zi(a)|0;o=z+56|0;c[o>>2]=zi(a)|0;p=z+60|0;c[p>>2]=zi(a)|0;q=z+64|0;c[q>>2]=0;i=z+68|0;f=i;g=v+672|0;h=f+96|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));f=z+164|0;YW(f|0,v+768|0,384)|0;if((Ci(a)|0)<(e|0)?(Di(v,b)|0)!=0:0){c[q>>2]=zi(a)|0;f=Ei(a,v,z,0,i,f)|0;if((f|0)<0)break;a=Bi(a)|0;h=z+48|0;c[h>>2]=a;if((a+12|0)>>>0>24){f=-1094995529;break}f=c[j>>2]|0}else{f=c[j>>2]|0;h=z+48|0;c[h>>2]=f}Fi(z,0,f,c[w>>2]|0);Fi(z,1,c[h>>2]|0,c[w>>2]|0);Gi(z,v);g=c[j>>2]|0;f=c[h>>2]|0;if((g|0)!=(f|0))c[z+724>>2]=1;if(c[b+576>>2]&1|0){h=c[z>>2]|0;i=c[t>>2]|0?135867:135873;j=c[u>>2]|0;t=c[r>>2]|0;u=c[s>>2]|0;v=c[k>>2]|0?135879:262104;w=c[l>>2]|0;e=c[m>>2]|0;a=c[n>>2]|0?135888:262104;x=c[o>>2]|0?135893:262104;y=c[p>>2]|0?135900:262104;z=c[q>>2]|0?135905:262104;c[C>>2]=B;c[C+4>>2]=h;c[C+8>>2]=i;c[C+12>>2]=j;c[C+16>>2]=t;c[C+20>>2]=u;c[C+24>>2]=v;c[C+28>>2]=w;c[C+32>>2]=e;c[C+36>>2]=g;c[C+40>>2]=f;c[C+44>>2]=a;c[C+48>>2]=x;c[C+52>>2]=y;c[C+56>>2]=z;mf(b,48,135912,C)}Hi(d,B);c[d+128+(B<<2)>>2]=A;f=0;break a}}else y=8;while(0);if((y|0)==8){c[k>>2]=f;mf(b,16,135739,k);f=-1094995529}Tf(x)}}else{c[f>>2]=B;mf(b,16,155387,f);f=-1094995529}while(0);$c=D;return f|0}function ji(a,b){a=a|0;b=b|0;var d=0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;c[a+28>>2]=0;if(b|0){c[a>>2]=c[b>>2];c[a+4>>2]=b+4;d=0;while(1){if((d|0)==2)break;c[a+8+(d<<2)>>2]=c[b+36+(d<<2)>>2];c[a+16+(d<<2)>>2]=c[b+68+(d<<2)>>2];d=d+1|0}c[a+24>>2]=c[b+48>>2];c[a+28>>2]=c[b+636>>2]}return}function ki(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=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;Z=$c;$c=$c+80|0;if(($c|0)>=(ad|0))N(80);B=Z+64|0;t=Z+48|0;s=Z+40|0;r=Z+32|0;q=Z+24|0;p=Z+16|0;m=Z+8|0;l=Z;R=f+568|0;n=c[R>>2]|0;U=f+560|0;o=c[U>>2]|0;a:do if((((c[(c[f>>2]|0)+572>>2]|0?(k=f+572|0,c[k>>2]|0):0)?(c[(c[f>>2]|0)+680>>2]|0)==0:0)?li(f)|0:0)?(T=f+556|0,j=c[T>>2]|0,h=c[f>>2]|0,(c[k>>2]|0)!=(H(j*3|0,(c[h+272>>2]|0)+(c[h+268>>2]|0)|0)|0)):0){g=f+672|0;C=c[g>>2]|0;V=C+32|0;Y=f+580|0;W=f+564|0;i=0;while(1){if((i|0)>=(j|0))break;if((a[(c[Y>>2]|0)+((H((c[U>>2]|0)+-1|0,c[W>>2]|0)|0)+i)>>0]|0)!=127)break;i=i+1|0}if(((i|0)==(j|0)?(c[h+16>>2]|0)==2:0)?((c[h+96>>2]|0)+15&16|0)!=0:0){h=c[f>>2]|0;if((c[k>>2]|0)==(H((c[T>>2]|0)*3|0,(c[h+268>>2]|0)+1+(c[h+272>>2]|0)|0)|0)){mf(h,48,132981,l);break}}A=f+704|0;i=c[A>>2]|0;do if(i|0){P=c[g>>2]|0;if(((c[i+68>>2]|0)==(c[P+68>>2]|0)?(c[i+72>>2]|0)==(c[P+72>>2]|0):0)?(c[i+80>>2]|0)==(c[P+80>>2]|0):0)break;mf(h,24,133010,m);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[A+12>>2]=0;c[A+16>>2]=0;c[A+20>>2]=0;c[A+24>>2]=0;c[A+28>>2]=0}while(0);z=f+736|0;h=c[z>>2]|0;do if(h|0){P=c[g>>2]|0;if(((c[h+68>>2]|0)==(c[P+68>>2]|0)?(c[h+72>>2]|0)==(c[P+72>>2]|0):0)?(c[h+80>>2]|0)==(c[P+80>>2]|0):0)break;mf(c[f>>2]|0,24,133060,p);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;c[z+12>>2]=0;c[z+16>>2]=0;c[z+20>>2]=0;c[z+24>>2]=0;c[z+28>>2]=0}while(0);if(!((c[f+680>>2]|0)!=0?(c[f+688>>2]|0)!=0:0))S=27;b:do if((S|0)==27){mf(c[f>>2]|0,16,133106,q);i=(H(n<<3,o)|0)+16|0;h=0;while(1){if((h|0)>=2)break b;k=f+768+(h<<2)|0;c[k>>2]=Ng(H(c[W>>2]<<2,c[U>>2]|0)|0)|0;j=Ng(i)|0;c[f+776+(h<<2)>>2]=j;k=c[k>>2]|0;if((j|0)==0|(k|0)==0){g=0;break}c[f+688+(h<<2)>>2]=c[k+4>>2];c[f+680+(h<<2)>>2]=(c[j+4>>2]|0)+16;h=h+1|0}while(1){if((g|0)==2)break a;Tf(f+768+(g<<2)|0);Tf(f+776+(g<<2)|0);c[f+688+(g<<2)>>2]=0;c[f+680+(g<<2)>>2]=0;g=g+1|0}}while(0);c:do if(c[(c[f>>2]|0)+576>>2]&1024|0){h=0;while(1){if((h|0)<(c[U>>2]|0))i=0;else break c;while(1){if((i|0)>=(c[T>>2]|0))break;O=d[(c[Y>>2]|0)+((H(c[W>>2]|0,h)|0)+i)>>0]|0;P=c[f>>2]|0;c[r>>2]=O;mf(P,48,133133,r);i=i+1|0}mf(c[f>>2]|0,48,133138,s);h=h+1|0}}while(0);O=f+552|0;P=f+548|0;l=1;while(1){if((l|0)==4)break;n=9<>2]|0;while(1){m=h+-1|0;if((h|0)<=0)break;j=(c[Y>>2]|0)+(c[(c[P>>2]|0)+(m<<2)>>2]|0)|0;k=d[j>>0]|0;h=(n&k|0)==0?i:1;if(!h)a[j>>0]=o|k;i=(k&1|0)==0?h:0;h=m}l=l+1|0}M=f+792|0;d:do if(c[M>>2]|0){i=0;h=c[O>>2]|0;while(1){m=h+-1|0;if((h|0)<=0)break d;j=(c[Y>>2]|0)+(c[(c[P>>2]|0)+(m<<2)>>2]|0)|0;k=a[j>>0]|0;l=k&255;h=(l&98|0)==0?((l&16|0)==0?i:0):1;if(!h)a[j>>0]=k|2;i=(l&1|0)==0?h:0;h=m}}while(0);e:do if(c[(c[f>>2]|0)+580>>2]&8|0){h=1;l=(c[O>>2]|0)+-2|0;while(1){if((l|0)<((c[T>>2]|0)+100|0))break e;L=c[P>>2]|0;K=c[Y>>2]|0;i=K+(c[L+(l<<2)>>2]|0)|0;j=a[i>>0]|0;k=j&255;h=(k&1|0)==0?h:1;if(j<<24>>24!=127?(a[K+(c[L+(l+1<<2)>>2]|0)>>0]|0)==127:0){if((k&112|0)!=0|(h|0)==0)S=60}else if(!h)S=60;if((S|0)==60){S=0;a[i>>0]=j|14;h=0}l=l+-1|0}}while(0);L=f+600|0;h=9999999;l=1;while(1){if((l|0)==4){h=0;l=0;break}m=1<>2]|0;while(1){k=i+-1|0;if((i|0)<=0)break;K=c[(c[P>>2]|0)+(k<<2)>>2]|0;i=(c[Y>>2]|0)+K|0;j=d[i>>0]|0;J=c[L>>2]|0;if(!((J|0)!=0?(a[J+K>>0]|0)!=0:0))h=h+1|0;h=(m&j|0)==0?h:0;do if(!(c[M>>2]|0)){if((h|0)>=50)break;a[i>>0]=m|j}else{if((h|0)>=(c[n>>2]|0))break;a[i>>0]=m|j}while(0);h=(j&1|0)==0?h:9999999;i=k}l=l+1|0}while(1){j=c[O>>2]|0;if((l|0)>=(j|0))break;i=(c[Y>>2]|0)+(c[(c[P>>2]|0)+(l<<2)>>2]|0)|0;j=d[i>>0]|0;k=j&14;if(!(j&1)){a[i>>0]=h|j;h=k|h}else h=k;l=l+1|0}f:do if(!(c[M>>2]|0)){i=0;h=j;while(1){if((i|0)>=(h|0))break f;h=(c[Y>>2]|0)+(c[(c[P>>2]|0)+(i<<2)>>2]|0)|0;K=d[h>>0]|0;a[h>>0]=(K&14|0)==0?K:K|14;i=i+1|0;h=c[O>>2]|0}}else h=j;while(0);i=0;j=0;k=0;l=0;while(1){if((l|0)>=(h|0))break;K=d[(c[Y>>2]|0)+(c[(c[P>>2]|0)+(l<<2)>>2]|0)>>0]|0;i=(K>>>2&1)+i|0;j=(K>>>3&1)+j|0;k=(K>>>1&1)+k|0;l=l+1|0}K=c[f>>2]|0;J=(mi(c[(c[g>>2]|0)+88>>2]|0)|0)<<24>>24;c[t>>2]=i;c[t+4>>2]=k;c[t+8>>2]=j;c[t+12>>2]=J;mf(K,32,133140,t);j=(ni(f)|0)!=0;j=j?1:12296;K=f+696|0;i=0;while(1){h=c[O>>2]|0;if((i|0)>=(h|0))break;h=c[(c[P>>2]|0)+(i<<2)>>2]|0;if((a[(c[Y>>2]|0)+h>>0]&12)==12)c[(c[K>>2]|0)+(h<<2)>>2]=j;i=i+1|0}J=c[A>>2]|0;if(!((J|0)!=0?(c[J>>2]|0)!=0:0))S=92;g:do if((S|0)==92){J=c[z>>2]|0;if((J|0)!=0?(c[J>>2]|0)!=0:0)break;else j=0;while(1){if((j|0)>=(h|0))break g;i=(c[K>>2]|0)+(c[(c[P>>2]|0)+(j<<2)>>2]<<2)|0;if(!(c[i>>2]&7)){c[i>>2]=1;h=c[O>>2]|0}j=j+1|0}}while(0);u=f+608|0;v=f+612|0;w=f+800|0;x=f+804|0;y=f+608|0;p=0;while(1){h=c[U>>2]|0;if((p|0)>=(h|0))break;o=p<<1;n=0;while(1){if((n|0)>=(c[T>>2]|0))break;i=(H(c[W>>2]|0,p)|0)+n|0;j=c[(c[K>>2]|0)+(i<<2)>>2]|0;h=c[A>>2]|0;if(!h)h=0;else h=(c[h>>2]|0)!=0;k=(h^1)&1;m=h?1:2;J=d[(c[Y>>2]|0)+i>>0]|0;if(!((J&2|0)==0|(J&8|j&7|0)!=0)){h:do if(!(j&64)){J=f+680+(k<<2)|0;h=(H(c[R>>2]|0,o)|0)+(n<<1)|0;c[u>>2]=b[(c[J>>2]|0)+(h<<2)>>1];c[v>>2]=b[(c[J>>2]|0)+(h<<2)+2>>1];h=0}else{j=c[R>>2]|0;l=(H(j,p)|0)+n<<1;i=f+680+(k<<2)|0;h=0;while(1){if((h|0)==4){h=1;break h}I=h&1|l;G=h>>1;c[f+608+(h<<3)>>2]=b[(c[i>>2]|0)+((H(j,G)|0)+I<<2)>>1];J=c[R>>2]|0;c[f+608+(h<<3)+4>>2]=b[(c[i>>2]|0)+((H(J,G)|0)+I<<2)+2>>1];h=h+1|0;j=J}}while(0);ud[c[w>>2]&1](c[x>>2]|0,0,m,h,y,n,p,0,0)}n=n+1|0}p=p+1|0}i:do if((c[(c[g>>2]|0)+88>>2]|0)==3){o=f+784|0;p=f+640|0;q=f+644|0;r=f+786|0;s=f+740|0;t=f+744|0;n=0;j:while(1){if((n|0)>=(h|0)){Q=h;break i}m=n<<1;l=0;while(1){if((l|0)>=(c[T>>2]|0))break;k=(H(m,c[R>>2]|0)|0)+(l<<1)|0;J=(H(c[W>>2]|0,n)|0)+l|0;if(!((a[(c[Y>>2]|0)+J>>0]&10)!=10?1:(c[(c[K>>2]|0)+(J<<2)>>2]&7|0)!=0)){J=c[A>>2]|0;if((J|0)!=0?(c[J>>2]|0)!=0:0)h=3;else h=2;J=c[z>>2]|0;if(!((J|0)!=0?(c[J>>2]|0)!=0:0))h=h&1;i=b[o>>1]|0;if(!(i<<16>>16)){c[u>>2]=0;c[v>>2]=0;c[p>>2]=0;i=0}else{i=i&65535;j=e[r>>1]|0;if((c[(c[f>>2]|0)+16>>2]|0)==27)break j;oi(c[s>>2]|0,n,0);J=c[t>>2]|0;G=b[J+(k<<2)>>1]|0;c[u>>2]=(H(G,j)|0)/(i|0)|0;J=b[J+(k<<2)+2>>1]|0;c[v>>2]=(H(J,j)|0)/(i|0)|0;I=j-i|0;c[p>>2]=(H(I,G)|0)/(i|0)|0;i=(H(I,J)|0)/(i|0)|0}c[q>>2]=i;ud[c[w>>2]&1](c[x>>2]|0,0,h,0,y,l,n,0,0)}l=l+1|0}n=n+1|0;h=c[U>>2]|0}c[B>>2]=133191;c[B+4>>2]=133230;c[B+8>>2]=1212;mf(0,0,164250,B);ub()}else{pi(f);Q=c[U>>2]|0}while(0);J=C+36|0;I=C+40|0;z=f+588|0;A=f+592|0;B=f+596|0;x=0;while(1){if((x|0)>=(Q|0))break;C=x<<4;D=x<<3;y=0;while(1){if((y|0)>=(c[T>>2]|0))break;E=(H(c[W>>2]|0,x)|0)+y|0;if(!((c[(c[K>>2]|0)+(E<<2)>>2]&7|0)!=0?(c[M>>2]|0)!=0:0))S=140;do if((S|0)==140){S=0;w=c[g>>2]|0;l=c[V>>2]|0;m=(c[w>>2]|0)+(y<<4)+(H(C,l)|0)|0;n=c[w+4>>2]|0;u=y<<3;F=c[J>>2]|0;o=H(F,D)|0;w=c[w+8>>2]|0;G=c[I>>2]|0;v=H(G,D)|0;p=c[R>>2]|0;q=(c[z>>2]|0)+((H(p,x)|0)+y<<1<<1)|0;j=0;while(1){if((j|0)==4)break;r=j<<3&8;s=j>>>1<<3;k=0;h=0;while(1){if((k|0)==8)break;t=H(l,k+s|0)|0;i=0;while(1){if((i|0)==8)break;_=h+(d[m+(i+r+t)>>0]|0)|0;i=i+1|0;h=_}k=k+1|0}b[q+((H(p,j>>1)|0)+(j&1)<<1)>>1]=(h+4|0)>>>3;j=j+1|0}o=n+u+o|0;n=w+u+v|0;if(!w)break;else{h=0;i=0;k=0}while(1){if((k|0)==8)break;l=H(F,k)|0;m=H(G,k)|0;j=0;while(1){if((j|0)==8)break;_=i+(d[o+(l+j)>>0]|0)|0;w=h+(d[n+(m+j)>>0]|0)|0;j=j+1|0;h=w;i=_}k=k+1|0}b[(c[A>>2]|0)+(E<<1)>>1]=(i+4|0)>>>3;b[(c[B>>2]|0)+(E<<1)>>1]=(h+4|0)>>>3}while(0);y=y+1|0}x=x+1|0}qi(f,c[z>>2]|0,c[T>>2]<<1,Q<<1,c[R>>2]|0,1);qi(f,c[A>>2]|0,c[T>>2]|0,c[U>>2]|0,c[W>>2]|0,0);qi(f,c[B>>2]|0,c[T>>2]|0,c[U>>2]|0,c[W>>2]|0,0);ri(c[z>>2]|0,c[T>>2]<<1,c[U>>2]<<1,c[R>>2]|0);l=0;while(1){h=c[U>>2]|0;if((l|0)>=(h|0))break;i=l<<4;j=l<<3;h=0;while(1){if((h|0)>=(c[T>>2]|0))break;k=(H(c[W>>2]|0,l)|0)+h|0;do if(!(c[(c[K>>2]|0)+(k<<2)>>2]&120)){if(!(a[(c[Y>>2]|0)+k>>0]&2))break;S=c[g>>2]|0;Q=(c[S>>2]|0)+(h<<4)+(H(i,c[V>>2]|0)|0)|0;_=h<<3;R=(c[S+4>>2]|0)+_+(H(c[J>>2]|0,j)|0)|0;S=c[S+8>>2]|0;_=S+_+(H(c[I>>2]|0,j)|0)|0;S=(S|0)==0;si(f,Q,S?0:R,S?0:_,h,l)}while(0);h=h+1|0}l=l+1|0}if(c[(c[f>>2]|0)+572>>2]&2|0?(ti(f,c[c[g>>2]>>2]|0,c[T>>2]<<1,h<<1,c[V>>2]|0,1),ui(f,c[c[g>>2]>>2]|0,c[T>>2]<<1,c[U>>2]<<1,c[V>>2]|0,1),X=c[g>>2]|0,c[X+8>>2]|0):0){ti(f,c[X+4>>2]|0,c[T>>2]|0,c[U>>2]|0,c[J>>2]|0,0);ti(f,c[(c[g>>2]|0)+8>>2]|0,c[T>>2]|0,c[U>>2]|0,c[I>>2]|0,0);ui(f,c[(c[g>>2]|0)+4>>2]|0,c[T>>2]|0,c[U>>2]|0,c[J>>2]|0,0);ui(f,c[(c[g>>2]|0)+8>>2]|0,c[T>>2]|0,c[U>>2]|0,c[I>>2]|0,0)}j=f+604|0;i=0;while(1){if((i|0)>=(c[O>>2]|0)){h=0;break}k=c[(c[P>>2]|0)+(i<<2)>>2]|0;h=c[L>>2]|0;do if(h|0){if((a[(c[Y>>2]|0)+k>>0]&14)==0?1:(c[(c[g>>2]|0)+88>>2]|0)==3)break;a[h+k>>0]=0}while(0);h=c[j>>2]|0;if(h|0)a[h+k>>0]=1;i=i+1|0}while(1){if((h|0)==2)break;Tf(f+768+(h<<2)|0);Tf(f+776+(h<<2)|0);c[f+688+(h<<2)>>2]=0;c[f+680+(h<<2)>>2]=0;h=h+1|0}h=g+96|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0))}while(0);$c=Z;return}function li(a){a=a|0;var b=0,d=0;d=c[(c[a>>2]|0)+592>>2]|0;if(!((d|0)!=0?(c[d+32>>2]|0)!=0:0))b=3;if((b|0)==3?c[a+672>>2]|0:0)return (c[a+700>>2]|0)==0|0;return 0}function mi(a){a=a|0;switch(a|0){case 1:{a=73;break}case 2:{a=80;break}case 3:{a=66;break}case 4:{a=83;break}case 5:{a=105;break}case 6:{a=112;break}case 7:{a=98;break}default:a=63}return a|0}function ni(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=b+704|0;v=c[u>>2]|0;if((v|0)!=0?(c[v>>2]|0)!=0:0)if(!(c[(c[b>>2]|0)+572>>2]&256)){f=c[b+552>>2]|0;g=b+548|0;v=b+580|0;d=0;e=0;while(1){if((d|0)>=(f|0))break;t=e+((a[(c[v>>2]|0)+(c[(c[g>>2]|0)+(d<<2)>>2]|0)>>0]&12)!=12&1)|0;d=d+1|0;e=t}if((e|0)>=5){l=(e|0)>99?(e>>>0)/50|0:1;m=b+560|0;n=b+556|0;o=b+564|0;p=b+672|0;q=b+8|0;r=b+708|0;s=b+696|0;d=0;e=0;k=0;while(1){if((k|0)>=((c[m>>2]|0)+-1|0))break;t=k<<4;j=0;while(1){if((j|0)>=(c[n>>2]|0))break;f=(H(c[o>>2]|0,k)|0)+j|0;do if((a[(c[v>>2]|0)+f>>0]&12)!=12){e=e+1|0;if(!((e|0)%(l|0)|0)){g=c[p>>2]|0;if((c[g+88>>2]|0)!=1)if(!(c[(c[s>>2]|0)+(f<<2)>>2]&7)){d=d+-1|0;break}else{d=d+1|0;break}else{h=g+32|0;w=j<<4;f=c[h>>2]|0;i=H(f,t)|0;g=(c[g>>2]|0)+w+i|0;i=(c[c[u>>2]>>2]|0)+w+i|0;if((c[(c[b>>2]|0)+16>>2]|0)!=27){oi(c[r>>2]|0,k,0);f=c[h>>2]|0}w=(kd[c[q>>2]&63](0,i,g,f,16)|0)+d|0;d=c[h>>2]|0;d=w-(kd[c[q>>2]&63](0,i,i+(d<<4)|0,d,16)|0)|0;break}}}while(0);j=j+1|0}k=k+1|0}d=(d|0)>0&1}else d=0}else d=0;else d=1;return d|0}function oi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);h=j;e=c[a+12>>2]|0;if((e|0?(g=c[e+4>>2]|0,g|0):0)?(i=g+(d<<2)|0,(c[i>>2]|0)<(b|0)):0){a=a+4+(d<<2)|0;f=c[(c[(c[a>>2]|0)+28>>2]|0)+20>>2]|0;if(c[f+344>>2]|0){e=c[a>>2]|0;c[h>>2]=b;c[h+4>>2]=d;c[h+8>>2]=g;mf(e,48,135657,h)}e=f+184|0;fV(e)|0;a=f+60|0;while(1){if((c[i>>2]|0)>=(b|0))break;Vb(a|0,e|0)|0}gV(e)|0}$c=j;return} +function PO(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,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,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=$c;$c=$c+272|0;if(($c|0)>=(ad|0))N(272);X=Y+256|0;W=Y+248|0;V=Y+240|0;U=Y+232|0;T=Y+224|0;S=Y+216|0;R=Y+208|0;Q=Y+200|0;O=Y+192|0;M=Y+176|0;L=Y+168|0;K=Y+160|0;J=Y+152|0;F=Y+144|0;D=Y+136|0;C=Y+120|0;B=Y+112|0;A=Y+104|0;z=Y+96|0;y=Y+88|0;v=Y+80|0;u=Y+72|0;s=Y+64|0;r=Y+56|0;p=Y+40|0;o=Y+32|0;n=Y+24|0;m=Y+16|0;l=Y+8|0;k=Y;j=BO(e,4)|0;c[d>>2]=j;a:do if(j>>>0<=15){if(h|0?(c[h+(j<<2)>>2]|0)==0:0){c[l>>2]=j;mf(i,16,157201,l);h=-1094995529;break}h=(BO(e,3)|0)+1|0;t=d+68|0;c[t>>2]=h;if((h|0)>7){c[m>>2]=h;mf(i,16,157224,m);h=-1094995529;break}a[d+156>>0]=BO(e,1)|0;h=RO(e,i,d+300|0,c[t>>2]|0)|0;if((h|0)>=0){h=zO(e)|0;c[f>>2]=h;if(h>>>0>15){c[n>>2]=h;mf(i,16,156258,n);h=-1094995529;break}h=zO(e)|0;m=d+4|0;c[m>>2]=h;if(h>>>0>3){c[o>>2]=h;mf(i,16,157261,o);h=-1094995529;break}if((h|0)==3){h=(AO(e)|0)&255;a[d+8>>0]=h}else h=a[d+8>>0]|0;if(h<<24>>24)c[m>>2]=0;G=d+13376|0;c[G>>2]=zO(e)|0;h=zO(e)|0;I=d+13380|0;c[I>>2]=h;h=nh(c[G>>2]|0,h,0,i)|0;if((h|0)>=0){if(AO(e)|0){k=c[m>>2]|0;l=(k|0)<2?2:1;k=(k|0)<3?2:1;h=d+28|0;c[h>>2]=H(k,zO(e)|0)|0;j=d+32|0;c[j>>2]=H(zO(e)|0,k)|0;k=d+36|0;c[k>>2]=H(zO(e)|0,l)|0;l=H(zO(e)|0,l)|0;c[d+40>>2]=l;if(c[i+64>>2]&65536|0){x=c[j>>2]|0;E=c[k>>2]|0;c[p>>2]=c[h>>2];c[p+4>>2]=x;c[p+8>>2]=E;c[p+12>>2]=l;mf(i,48,157294,p);c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0}E=d+12|0;c[E>>2]=c[h>>2];c[E+4>>2]=c[h+4>>2];c[E+8>>2]=c[h+8>>2];c[E+12>>2]=c[h+12>>2]}E=d+44|0;c[E>>2]=(zO(e)|0)+8;h=(zO(e)|0)+8|0;if(c[m>>2]|0?(q=c[E>>2]|0,(h|0)!=(q|0)):0){c[r>>2]=q;c[r+4>>2]=h;mf(i,16,157370,r);h=-1094995529;break}c[d+48>>2]=h;h=SO(i,d)|0;if((h|0)>=0){h=zO(e)|0;x=h+4|0;w=d+60|0;c[w>>2]=x;if(x>>>0>16){c[s>>2]=h;mf(i,16,157453,s);h=-1094995529;break}m=(AO(e)|0)!=0;if(m)n=0;else n=(c[t>>2]|0)+-1|0;x=i+580|0;l=n;while(1){if((l|0)>=(c[t>>2]|0))break;f=d+72+(l*12|0)|0;c[f>>2]=(zO(e)|0)+1;j=d+72+(l*12|0)+4|0;c[j>>2]=zO(e)|0;c[d+72+(l*12|0)+8>>2]=(zO(e)|0)+-1;k=c[f>>2]|0;if(k>>>0>16){P=34;break}h=c[j>>2]|0;if((h|0)>=(k|0)){c[v>>2]=h;mf(i,24,157553,v);if(c[x>>2]&8|0){h=-1094995529;break a}h=c[j>>2]|0;if((h|0)>15){h=-1094995529;break a}c[f>>2]=h+1}l=l+1|0}if((P|0)==34){c[u>>2]=k+-1;mf(i,16,157502,u);h=-1094995529;break}b:do if(!m){j=d+72+(n*12|0)|0;k=d+72+(n*12|0)+4|0;l=d+72+(n*12|0)+8|0;h=0;while(1){if((h|0)>=(n|0))break b;c[d+72+(h*12|0)>>2]=c[j>>2];c[d+72+(h*12|0)+4>>2]=c[k>>2];c[d+72+(h*12|0)+8>>2]=c[l>>2];h=h+1|0}}while(0);p=d+13320|0;c[p>>2]=(zO(e)|0)+3;q=d+13324|0;c[q>>2]=zO(e)|0;r=d+13328|0;c[r>>2]=(zO(e)|0)+2;j=zO(e)|0;k=c[r>>2]|0;s=d+13332|0;c[s>>2]=k+j;l=c[p>>2]|0;if((l+-3|0)>>>0>27){c[y>>2]=l;mf(i,16,157596,y);h=-1094995529;break}h=c[q>>2]|0;if(h>>>0>30){c[z>>2]=h;mf(i,16,157634,z);h=-1094995529;break}if(k>>>0>=l>>>0|k>>>0<2){mf(i,16,157691,A);h=-1094995529;break}if(j>>>0>30){c[B>>2]=j;mf(i,16,157726,B);h=-1094995529;break}n=d+13344|0;c[n>>2]=zO(e)|0;o=d+13348|0;c[o>>2]=zO(e)|0;B=(AO(e)|0)&255;a[d+634>>0]=B;do if(B<<24>>24){h=d+635|0;DO(h);if(!(AO(e)|0))break;h=EO(e,i,h,d)|0;if((h|0)<0)break a}while(0);a[d+13196>>0]=AO(e)|0;a[d+13197>>0]=AO(e)|0;B=AO(e)|0;c[d+64>>2]=B;do if(B|0){h=d+13300|0;a[h>>0]=(BO(e,4)|0)+1;j=d+13301|0;a[j>>0]=(BO(e,4)|0)+1;k=(zO(e)|0)+3|0;c[d+13304>>2]=k;c[d+13308>>2]=(zO(e)|0)+k;h=a[h>>0]|0;j=a[j>>0]|0;k=c[E>>2]|0;if((k|0)<(((h&255)>(j&255)?h:j)&255|0)){c[C>>2]=h&255;c[C+4>>2]=j&255;c[C+8>>2]=k;mf(i,16,157786,C);h=-1094995529;break a}else{a[d+13312>>0]=AO(e)|0;break}}while(0);h=zO(e)|0;k=d+2184|0;c[k>>2]=h;if(h>>>0>64){c[D>>2]=h;mf(i,16,157848,D);h=-1094995529;break}else j=0;while(1){if(j>>>0>=h>>>0)break;h=TO(e,i,d+2188+(j*172|0)|0,d,0)|0;if((h|0)<0)break a;j=j+1|0;h=c[k>>2]|0}D=(AO(e)|0)&255;a[d+13198>>0]=D;c:do if(D<<24>>24){j=zO(e)|0;h=j&255;k=d+13296|0;a[k>>0]=h;j=j&255;if(j>>>0>32){c[F>>2]=j;mf(i,16,157878,F);h=-1094995529;break a}else j=0;while(1){if((j|0)>=(h&255|0))break c;b[d+13200+(j<<1)>>1]=BO(e,c[w>>2]|0)|0;a[d+13264+j>>0]=AO(e)|0;j=j+1|0;h=a[k>>0]|0}}while(0);a[d+13316>>0]=AO(e)|0;a[d+13317>>0]=AO(e)|0;c[d+160>>2]=0;c[d+164>>2]=1;if(AO(e)|0)UO(e,i,g,d);do if(AO(e)|0){h=0;j=0;while(1){if((h|0)==1)break;h=h+1|0;j=AO(e)|0}VO(e,7);if(!j)break;c[d+13352>>2]=AO(e)|0;c[d+13356>>2]=AO(e)|0;c[d+13360>>2]=AO(e)|0;c[d+13364>>2]=AO(e)|0;if(AO(e)|0)mf(i,24,157912,J);c[d+13368>>2]=AO(e)|0;if(AO(e)|0)mf(i,24,157968,K);c[d+13372>>2]=AO(e)|0;if(!(AO(e)|0))break;mf(i,24,158025,L)}while(0);if(!g){l=d+12|0;k=d+16|0;h=l;j=k;k=c[k>>2]|0;l=c[l>>2]|0}else{j=d+12|0;l=(c[j>>2]|0)+(c[d+224>>2]|0)|0;c[j>>2]=l;j=d+16|0;k=(c[j>>2]|0)+(c[d+228>>2]|0)|0;c[j>>2]=k;h=d+20|0;c[h>>2]=(c[h>>2]|0)+(c[d+232>>2]|0);h=d+24|0;c[h>>2]=(c[h>>2]|0)+(c[d+236>>2]|0);h=d+12|0}m=c[d+20>>2]|0;f=c[d+24>>2]|0;do if(l>>>0<(2147483647-k|0)>>>0&m>>>0<(2147483647-f|0)>>>0){if((k+l|0)>>>0>=(c[G>>2]|0)>>>0){P=87;break}if((f+m|0)>>>0>=(c[I>>2]|0)>>>0)P=87}else P=87;while(0);if((P|0)==87){P=c[j>>2]|0;c[M>>2]=l;c[M+4>>2]=P;c[M+8>>2]=m;c[M+12>>2]=f;mf(i,24,158082,M);if(c[x>>2]&8|0){h=-1094995529;break}mf(i,24,158121,O);c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;P=d+28|0;c[P>>2]=0;c[P+4>>2]=0;c[P+8>>2]=0;c[P+12>>2]=0}k=c[p>>2]|0;l=(c[q>>2]|0)+k|0;h=d+13336|0;c[h>>2]=l;j=k+-1|0;c[d+13340>>2]=j;if(l>>>0>6){c[Q>>2]=l;mf(i,16,158158,Q);h=-1094995529;break}if(l>>>0<4){c[R>>2]=l;mf(i,16,158187,R);c[S>>2]=c[h>>2];di(i,158250,S);h=-1094995529;break}R=c[G>>2]|0;P=1<>l;c[d+13384>>2]=Q;S=c[I>>2]|0;P=S+-1+P>>l;c[d+13388>>2]=P;c[d+13392>>2]=H(P,Q)|0;c[d+13396>>2]=R>>k;c[d+13400>>2]=S>>k;Q=c[r>>2]|0;c[d+13404>>2]=R>>Q;c[d+13408>>2]=S>>Q;c[d+13412>>2]=R>>j;c[d+13416>>2]=S>>j;j=l-Q|0;c[d+13420>>2]=(1<>2]=((c[E>>2]|0)*6|0)+-48;if((1<>2]|0;if(h>>>0>j>>>0){c[U>>2]=h;mf(i,16,158300,U);h=-1094995529;break}h=c[o>>2]|0;if(h>>>0>j>>>0){c[V>>2]=h;mf(i,16,158354,V);h=-1094995529;break}h=c[s>>2]|0;if(h>>>0>(l>>>0<5?l:5)>>>0){c[W>>2]=h;mf(i,16,158408,W);h=-1094995529;break}h=HO(e)|0;if((h|0)>=0){h=0;break}c[X>>2]=0-h;mf(i,16,158451,X);h=-1094995529}}}}else{c[k>>2]=j;mf(i,16,157176,k);h=-1094995529}while(0);$c=Y;return h|0}function QO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);g=h;e=a+64+(b<<2)|0;d=c[e>>2]|0;if(d|0){f=a+388|0;if((c[f>>2]|0)==(c[d+4>>2]|0)){c[f>>2]=0;d=0}else d=0;while(1){if((d|0)==64)break;i=c[a+128+(d<<2)>>2]|0;if(i|0?(c[c[i+4>>2]>>2]|0)==(b|0):0)IO(a,d);d=d+1|0}i=c[e>>2]|0;if(i|0?(c[f>>2]|0)==(c[i+4>>2]|0):0){c[g>>2]=157091;c[g+4>>2]=157155;c[g+8>>2]=92;mf(0,0,164250,g);ub()}}Tf(e);$c=h;return}function RO(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);k=m+16|0;j=m+8|0;g=m;a:do if((ZO(b,d,e)|0)>=0?(i=f+-1|0,h=(f|0)>1,(HO(b)|0)>=((h&1)<<4|8|0)):0){a[e+35>>0]=BO(b,8)|0;f=0;while(1){if((f|0)>=(i|0))break;a[e+320+f>>0]=AO(b)|0;a[e+327+f>>0]=AO(b)|0;f=f+1|0}b:do if(h){f=i;while(1){if((f|0)>=8){f=0;break b}VO(b,2);f=f+1|0}}else f=0;while(0);while(1){if((f|0)>=(i|0)){f=0;break a}if(a[e+320+f>>0]|0?(ZO(b,d,e+40+(f*40|0)|0)|0)<0:0){l=13;break}if(a[e+327+f>>0]|0){if((HO(b)|0)<8){l=16;break}a[e+40+(f*40|0)+35>>0]=BO(b,8)|0}f=f+1|0}if((l|0)==13){c[j>>2]=f;mf(d,16,159176,j);f=-1;break}else if((l|0)==16){c[k>>2]=f;mf(d,16,159219,k);f=-1;break}}else l=3;while(0);if((l|0)==3){mf(d,16,159149,g);f=-1}$c=m;return f|0}function SO(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;i=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=i;h=b+44|0;e=c[h>>2]|0;a:do switch(e|0){case 8:{switch(c[b+4>>2]|0){case 0:{a=8;break}case 1:{a=0;break}case 2:{c[b+56>>2]=4;g=23;break a}case 3:{c[b+56>>2]=5;g=23;break a}default:{g=23;break a}}c[b+56>>2]=a;g=23;break}case 9:{switch(c[b+4>>2]|0){case 0:{a=30;break}case 1:{a=62;break}case 2:{c[b+56>>2]=72;g=23;break a}case 3:{c[b+56>>2]=68;g=23;break a}default:{g=23;break a}}c[b+56>>2]=a;g=23;break}case 10:{switch(c[b+4>>2]|0){case 0:{a=171;break}case 1:{a=64;break}case 2:{c[b+56>>2]=66;g=23;break a}case 3:{c[b+56>>2]=70;g=23;break a}default:{g=23;break a}}c[b+56>>2]=a;g=23;break}case 12:{switch(c[b+4>>2]|0){case 0:{a=169;break}case 1:{a=125;break}case 2:{c[b+56>>2]=129;g=23;break a}case 3:{c[b+56>>2]=133;g=23;break a}default:{g=23;break a}}c[b+56>>2]=a;g=23;break}default:{c[f>>2]=c[b+4>>2];c[f+4>>2]=e;mf(a,16,159039,f);a=-1094995529}}while(0);if((g|0)==23){a=Hg(c[b+56>>2]|0)|0;if(!a)a=-22;else{c[b+13436>>2]=0;c[b+13424>>2]=0;g=d[a+5>>0]|0;c[b+13428>>2]=g;c[b+13432>>2]=g;a=d[a+6>>0]|0;c[b+13440>>2]=a;c[b+13444>>2]=a;c[b+52>>2]=(c[h>>2]|0)>8&1;a=0}}$c=i;return a|0}function TO(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);n=q+40|0;m=q+32|0;k=q+24|0;o=q+16|0;l=q+8|0;j=q;h=f+2188|0;a:do if(((h|0)!=(e|0)?(i=f+2184|0,(c[i>>2]|0)!=0):0)?((AO(b)|0)&255)<<24>>24!=0:0){do if(g){h=(zO(b)|0)+1|0;g=c[i>>2]|0;if(g>>>0>>0){c[j>>2]=h;c[j+4>>2]=g;mf(d,16,158849,j);g=-1094995529;break a}else{m=g-h|0;c[e+8>>2]=c[f+2188+(m*172|0)+4>>2];break}}else m=((e-h|0)/172|0)+-1|0;while(0);g=AO(b)|0;n=zO(b)|0;h=n+1|0;if(n>>>0>32767){c[l>>2]=h;mf(d,16,158907,l);g=-1094995529;break}k=H(1-(g<<1&510)|0,h)|0;l=f+2188+(m*172|0)+4|0;h=0;g=0;j=0;while(1){if((j|0)>(c[l>>2]|0))break;n=AO(b)|0;a[e+140+g>>0]=n;if(!((n&255|0)==0?((AO(b)|0)&255)<<24>>24==0:0)){if((j|0)<(c[l>>2]|0))i=(c[f+2188+(m*172|0)+12+(j<<2)>>2]|0)+k|0;else i=k;c[e+12+(g<<2)>>2]=i;g=g+1|0;h=(i>>>31)+h|0}j=j+1|0}if(g>>>0>31){c[o>>2]=g;mf(d,16,158943,o);g=-1094995529;break}n=e+4|0;c[n>>2]=g;c[e>>2]=h;if(g){m=1;while(1){if((m|0)>=(g|0))break;i=c[e+12+(m<<2)>>2]|0;j=a[e+140+m>>0]|0;h=m;while(1){g=h+-1|0;if((h|0)<=0)break;k=e+12+(g<<2)|0;l=c[k>>2]|0;if((i|0)>=(l|0)){h=g;continue}c[e+12+(h<<2)>>2]=l;d=e+140+g|0;a[e+140+h>>0]=a[d>>0]|0;c[k>>2]=i;a[d>>0]=j;h=g}m=m+1|0;g=c[n>>2]|0}h=c[e>>2]|0}if(h>>>0>1){i=0;g=h;while(1){g=g+-1|0;if(i>>>0>=h>>>1>>>0){g=0;break a}h=e+12+(i<<2)|0;o=c[h>>2]|0;f=e+140+i|0;d=a[f>>0]|0;b=e+12+(g<<2)|0;c[h>>2]=c[b>>2];h=e+140+g|0;a[f>>0]=a[h>>0]|0;c[b>>2]=o;a[h>>0]=d;i=i+1|0;h=c[e>>2]|0}}else g=0}else p=32;while(0);b:do if((p|0)==32){c[e>>2]=zO(b)|0;j=zO(b)|0;g=c[e>>2]|0;if((g|j)>>>0>15){mf(d,16,158971,k);g=-1094995529;break}o=g+j|0;c[e+4>>2]=o;if(!o)g=0;else{h=0;i=0;while(1){if(i>>>0>=g>>>0){h=0;i=0;break}o=zO(b)|0;g=o+1|0;if(o>>>0>32767){p=37;break}g=h-g|0;c[e+12+(i<<2)>>2]=g;a[e+140+i>>0]=AO(b)|0;h=g;i=i+1|0;g=c[e>>2]|0}if((p|0)==37){c[m>>2]=g;mf(d,16,159007,m);g=-1094995529;break}while(1){if(i>>>0>=j>>>0){g=0;break b}p=zO(b)|0;g=p+1|0;if(p>>>0>32767)break;p=g+h|0;c[e+12+((c[e>>2]|0)+i<<2)>>2]=p;o=(AO(b)|0)&255;a[(c[e>>2]|0)+i+(e+140)>>0]=o;h=p;i=i+1|0}c[n>>2]=g;mf(d,16,159007,n);g=-1094995529}}while(0);$c=q;return g|0}function UO(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=$c;$c=$c+240|0;if(($c|0)>=(ad|0))N(240);F=G+64|0;E=G+56|0;D=G+48|0;C=G+40|0;p=G+24|0;k=G+16|0;i=G+8|0;z=G+88|0;A=G+68|0;B=g+160|0;mf(e,48,158476,G);do if(AO(b)|0){h=(BO(b,8)|0)&255;if(h>>>0<17){w=75140+(h<<3)|0;x=c[w+4>>2]|0;y=B;c[y>>2]=c[w>>2];c[y+4>>2]=x;break}if((h|0)==255){c[B>>2]=BO(b,16)|0;c[g+164>>2]=BO(b,16)|0;break}else{c[i>>2]=h;mf(e,24,158490,i);break}}while(0);y=AO(b)|0;c[g+168>>2]=y;if(y|0)c[g+172>>2]=AO(b)|0;y=AO(b)|0;c[g+176>>2]=y;a:do if(y|0){c[g+180>>2]=BO(b,3)|0;y=g+184|0;c[y>>2]=AO(b)|0;h=AO(b)|0;c[g+188>>2]=h;if(c[y>>2]|0?(j=g+56|0,(c[j>>2]|0)==0):0)c[j>>2]=12;if(h|0){h=g+192|0;a[h>>0]=BO(b,8)|0;i=g+193|0;a[i>>0]=BO(b,8)|0;j=g+194|0;a[j>>0]=BO(b,8)|0;if(!(Ri(d[h>>0]|0)|0))a[h>>0]=2;if(!(Si(d[i>>0]|0)|0))a[i>>0]=2;if(!(Ti(d[j>>0]|0)|0)){a[j>>0]=2;break}if(!(a[j>>0]|0)){i=g+56|0;switch(c[i>>2]|0){case 5:{h=73;break}case 70:{h=77;break}case 133:{h=137;break}default:break a}c[i>>2]=h}}}while(0);y=AO(b)|0;c[g+196>>2]=y;if(y|0){c[g+200>>2]=zO(b)|0;c[g+204>>2]=zO(b)|0}c[g+208>>2]=AO(b)|0;c[g+212>>2]=AO(b)|0;c[g+216>>2]=AO(b)|0;c[A>>2]=c[b>>2];c[A+4>>2]=c[b+4>>2];c[A+8>>2]=c[b+8>>2];c[A+12>>2]=c[b+12>>2];c[A+16>>2]=c[b+16>>2];YW(z|0,B|0,140)|0;if((HO(b)|0)>67?(LO(b,21)|0)==1048576:0){h=g+220|0;c[h>>2]=0;mf(e,24,158514,k);h=c[h>>2]|0}else{h=AO(b)|0;c[g+220>>2]=h}if((h|0?(n=c[g+4>>2]|0,o=(n|0)<2?2:1,n=(n|0)<3?2:1,l=g+224|0,c[l>>2]=H(n,zO(b)|0)|0,m=g+228|0,c[m>>2]=H(zO(b)|0,n)|0,n=g+232|0,c[n>>2]=H(zO(b)|0,o)|0,o=H(zO(b)|0,o)|0,c[g+236>>2]=o,f|0):0)?c[e+64>>2]&65536|0:0){x=c[m>>2]|0;y=c[n>>2]|0;c[p>>2]=c[l>>2];c[p+4>>2]=x;c[p+8>>2]=y;c[p+12>>2]=o;mf(e,48,158546,p);c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0}l=g+240|0;m=g+264|0;n=g+268|0;o=g+272|0;f=g+276|0;p=g+280|0;q=g+284|0;r=g+288|0;s=g+292|0;t=g+296|0;u=g+244|0;v=g+248|0;w=g+252|0;x=g+260|0;y=g+68|0;i=g+256|0;h=0;b:while(1){g=AO(b)|0;c[l>>2]=g;if(g|0){j=(h|0)!=0;if(!(j|(HO(b)|0)>65)){mf(e,24,158626,C);YW(B|0,z|0,140)|0;c[b>>2]=c[A>>2];c[b+4>>2]=c[A+4>>2];c[b+8>>2]=c[A+8>>2];c[b+12>>2]=c[A+12>>2];c[b+16>>2]=c[A+16>>2];h=1;continue}c[u>>2]=NO(b,32)|0;k=NO(b,32)|0;c[v>>2]=k;if(j){g=c[u>>2]|0;c[D>>2]=k;c[D+4>>2]=g;mf(e,32,158671,D)}g=AO(b)|0;c[w>>2]=g;if(g|0)c[i>>2]=zO(b)|0;g=AO(b)|0;c[x>>2]=g;if(g|0)WO(b,1,c[y>>2]|0)}g=AO(b)|0;c[m>>2]=g;do if(g|0)if((h|0)!=0|(HO(b)|0)>7){c[n>>2]=AO(b)|0;c[o>>2]=AO(b)|0;c[f>>2]=AO(b)|0;c[p>>2]=zO(b)|0;c[q>>2]=zO(b)|0;c[r>>2]=zO(b)|0;c[s>>2]=zO(b)|0;c[t>>2]=zO(b)|0;break}else{mf(e,24,158692,E);YW(B|0,z|0,140)|0;c[b>>2]=c[A>>2];c[b+4>>2]=c[A+4>>2];c[b+8>>2]=c[A+8>>2];c[b+12>>2]=c[A+12>>2];c[b+16>>2]=c[A+16>>2];h=1;continue b}while(0);if((h|0)!=0|(HO(b)|0)>0)break;mf(e,24,158776,F);YW(B|0,z|0,140)|0;c[b>>2]=c[A>>2];c[b+4>>2]=c[A+4>>2];c[b+8>>2]=c[A+8>>2];c[b+12>>2]=c[A+12>>2];c[b+16>>2]=c[A+16>>2];h=1}$c=G;return}function VO(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=c[a+16>>2]|0;b=(c[d>>2]|0)+b|0;c[d>>2]=a>>>0>b>>>0?b:a;return}function WO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);i=k;if(b){b=AO(a)|0;f=AO(a)|0;if(!(f|b))e=0;else{e=AO(a)|0;if(!e){VO(a,4);VO(a,4)}else{VO(a,8);VO(a,5);VO(a,1);VO(a,5);VO(a,4);VO(a,4);VO(a,4)}VO(a,5);VO(a,5);VO(a,5)}}else{e=0;f=0;b=0}h=(b|0)==0;g=(f|0)==0;f=0;while(1){if((f|0)>=(d|0))break;if((AO(a)|0)==0?(AO(a)|0)==0:0)if(!(AO(a)|0))j=13;else b=1;else{zO(a)|0;j=13}if((j|0)==13){j=0;l=zO(a)|0;b=l+1|0;if(l>>>0>31){j=14;break}}if(!h)XO(a,b,e);if(!g)XO(a,b,e);f=f+1|0}if((j|0)==14){c[i>>2]=b;mf(0,16,158830,i)}$c=k;return}function XO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=(c|0)==0;c=0;while(1){if((c|0)==(b|0))break;zO(a)|0;zO(a)|0;if(!d){zO(a)|0;zO(a)|0}YO(a);c=c+1|0}return}function YO(a){a=a|0;VO(a,1);return}function ZO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);h=j+32|0;g=j+24|0;if((HO(b)|0)<88)d=-1;else{a[e>>0]=BO(b,2)|0;a[e+1>>0]=AO(b)|0;f=BO(b,5)|0;k=f&255;i=e+2|0;a[i>>0]=k;f=f&255;a:do switch(k<<24>>24){case 1:{mf(d,48,159262,j);d=0;break}case 2:{mf(d,48,159286,j+8|0);d=0;break}case 3:{mf(d,48,159313,j+16|0);d=0;break}default:if((f|0)==4){mf(d,48,159351,g);d=0;break a}else{c[h>>2]=f;mf(d,24,159386,h);d=0;break a}}while(0);while(1){f=AO(b)|0;g=f&255;if((d|0)==32)break;a[e+3+d>>0]=g;if(!((f&255|0)==0|((d|0)<1|(a[i>>0]|0)!=0)))a[i>>0]=d;d=d+1|0}a[e+36>>0]=g;a[e+37>>0]=AO(b)|0;a[e+38>>0]=AO(b)|0;a[e+39>>0]=AO(b)|0;VO(b,16);VO(b,16);VO(b,12);d=0}$c=j;return d|0}function _O(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+(b<<2)|0;d=c[f>>2]|0;a:do if(d|0){e=a+384|0;if((c[e>>2]|0)==(c[d+4>>2]|0)){c[e>>2]=0;d=0}else d=0;while(1){if((d|0)==16)break a;e=c[a+64+(d<<2)>>2]|0;if(e|0?(c[c[e+4>>2]>>2]|0)==(b|0):0)QO(a,d);d=d+1|0}}while(0);Tf(f);return}function $O(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0;n=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);l=n;m=n+8|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;a=_h(m,a,b,j,f,g,173,1)|0;a:do if((a|0)>=0){k=m+16|0;g=0;while(1){if((g|0)>=(c[k>>2]|0))break a;b=c[m>>2]|0;f=c[b+(g*68|0)+44>>2]|0;switch(f|0){case 32:{a=RN(b+(g*68|0)+24|0,j,d)|0;if((a|0)<0)break a;break}case 33:{a=SN(b+(g*68|0)+24|0,j,d,i)|0;if((a|0)<0)break a;break}case 34:{a=TN(b+(g*68|0)+24|0,j,d)|0;if((a|0)<0)break a;break}case 40:case 39:{a=UN(b+(g*68|0)+24|0,j,e,d,f)|0;if((a|0)<0)break a;break}default:{c[l>>2]=f;mf(j,40,159895,l)}}g=g+1|0}}while(0);Gh(m);$c=n;return ((h&8|0)==0?0:a)|0}function aP(a,b){a=a|0;b=b|0;var d=0,e=0;e=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);d=e;a=bP(a,d)|0;if((a|0)>=0){_f(b,c[d>>2]|0);Of(d);a=0}$c=e;return a|0}function bP(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=c[d>>2]|0;do if(!(c[a+4>>2]|0)){a=c[a>>2]|0;if((c[a+24>>2]|0)==0?(c[a+44>>2]|0)==0:0){a=-11;break}a=cP()|0;if(!a)a=-12;else{c[b>>2]=c[c[d>>2]>>2];c[c[d>>2]>>2]=a;a=0}}else a=-541478725;while(0);return a|0}function cP(){var a=0;a=dg(72)|0;if(a|0)Rf(a);return a|0}function dP(){var a=0,b=0;b=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);a=b;do if((eP(a,159930)|0)!=4)if((eP(a,159943)|0)==4){a=c[a>>2]|0;break}else{a=fP()|0;break}else a=c[a>>2]|0;while(0);$c=b;return a|0}function eP(a,b){a=a|0;b=b|0;var c=0;c=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);b=mP(b,0,c)|0;if((b|0)==-1)b=-1;else{a=uU(b,a,4)|0;TT(b)|0;b=a}$c=c;return b|0}function fP(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=$c;$c=$c+160|0;if(($c|0)>=(ad|0))N(160);a=l+120|0;h=l;i=l+132|0;k=182392;j=c[k>>2]|0;k=c[k+4>>2]|0;if((c[14744]|0)>>>0>=121){c[a>>2]=159955;c[a+4>>2]=159982;c[a+8>>2]=77;mf(0,0,164250,a);ub()}e=(j|0)==0&(k|0)==0;a=0;b=0;d=0;a:while(1){f=yb()|0;g=f-a|0;do if(((b<<1|1)+a|0)<(f|0)){a=182392;a=JW(c[a>>2]|0,c[a+4>>2]|0,1,0)|0;b=M()|0;m=182392;c[m>>2]=a;c[m+4>>2]=b;m=183152+((a&511)<<2)|0;c[m>>2]=(c[m>>2]|0)+(g>>>0<3294638521?g:g+1000328775|0);if((f-d|0)>31249){a=KW(a|0,b|0,j|0,k|0)|0;b=M()|0;if(e)if(b>>>0>0|(b|0)==0&a>>>0>64)break a;else break;else if(b>>>0>0|(b|0)==0&a>>>0>4)break a;else break}}else{m=183152+((c[45598]&511)<<2)|0;b=H(c[m>>2]|0,1664525)|0;c[m>>2]=(g>>>0<3294638521?g:g+1000328775|0)+1013904223+b}while(0);a=f;b=g;d=(d|0)==0?f:d}gP(h,160)|0;hP(h,183152,2048);iP(h,i);m=WW(c[i>>2]|0)|0;m=(WW(c[i+16>>2]|0)|0)+m|0;$c=l;return m|0}function gP(b,d){b=b|0;d=d|0;var e=0;a[b>>0]=d>>>5;switch(d|0){case 160:{c[b+80>>2]=1732584193;c[b+84>>2]=-271733879;c[b+88>>2]=-1732584194;c[b+92>>2]=271733878;c[b+96>>2]=-1009589776;d=204;e=5;break}case 224:{c[b+80>>2]=-1056596264;c[b+84>>2]=914150663;c[b+88>>2]=812702999;c[b+92>>2]=-150054599;c[b+96>>2]=-4191439;c[b+100>>2]=1750603025;c[b+104>>2]=1694076839;c[b+108>>2]=-1090891868;d=205;e=5;break}case 256:{c[b+80>>2]=1779033703;c[b+84>>2]=-1150833019;c[b+88>>2]=1013904242;c[b+92>>2]=-1521486534;c[b+96>>2]=1359893119;c[b+100>>2]=-1694144372;c[b+104>>2]=528734635;c[b+108>>2]=1541459225;d=205;e=5;break}default:d=-22}if((e|0)==5){c[b+112>>2]=d;d=b+8|0;c[d>>2]=0;c[d+4>>2]=0;d=0}return d|0}function hP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;i=b+8|0;k=i;f=c[k>>2]|0;k=JW(f|0,c[k+4>>2]|0,e|0,0)|0;j=M()|0;c[i>>2]=k;c[i+4>>2]=j;i=b+112|0;j=b+80|0;k=b+16|0;f=f&63;h=0;while(1){if((h|0)==(e|0))break;g=f+1|0;a[b+16+f>>0]=a[d+h>>0]|0;if((g|0)==64){od[c[i>>2]&255](j,k);f=0}else f=g;h=h+1|0}return}function iP(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;h=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=h;g=b+8|0;k=g;k=UW(c[k>>2]|0,c[k+4>>2]|0,3)|0;k=jP(k,M()|0)|0;j=M()|0;i=f;c[i>>2]=k;c[i+4>>2]=j;hP(b,160006,1);while(1){if(0==0?(c[g>>2]&63|0)==56:0)break;hP(b,262104,1)}hP(b,f,8);f=0;while(1){if((f|0)>=(d[b>>0]|0|0))break;j=WW(c[b+80+(f<<2)>>2]|0)|0;k=e+(f<<2)|0;a[k>>0]=j;a[k+1>>0]=j>>8;a[k+2>>0]=j>>16;a[k+3>>0]=j>>24;f=f+1|0}$c=h;return}function jP(a,b){a=a|0;b=b|0;a=WW(a|0)|0;b=WW(b|0)|0;L(a|0);return b|0}function kP(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;E=$c;$c=$c+256|0;if(($c|0)>=(ad|0))N(256);w=E;x=c[a>>2]|0;y=a+4|0;z=c[y>>2]|0;A=a+8|0;B=c[A>>2]|0;C=a+12|0;D=c[C>>2]|0;o=a+16|0;p=c[o>>2]|0;q=a+20|0;r=c[q>>2]|0;s=a+24|0;t=c[s>>2]|0;u=a+28|0;v=c[u>>2]|0;e=0;f=r;g=p;h=D;i=B;j=z;k=x;l=v;m=t;while(1){if((e|0)==64)break;if(e>>>0<16){n=b+(e<<2)|0;n=WW(d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24|0)|0}else{F=c[w+(e+-15<<2)>>2]|0;n=c[w+(e+-2<<2)>>2]|0;n=(c[w+(e+-7<<2)>>2]|0)+(c[w+(e+-16<<2)>>2]|0)+((F<<14|F>>>18)^F>>>3^(F<<25|F>>>7))+((n<<13|n>>>19)^n>>>10^(n<<15|n>>>17))|0}c[w+(e<<2)>>2]=n;J=((g<<26|g>>>6)^(g<<21|g>>>11)^(g<<7|g>>>25))+l+((m^f)&g^m)+n+(c[75304+(e<<2)>>2]|0)|0;I=m;H=k;G=j;n=i;F=g;e=e+1|0;g=J+h|0;k=((i|j)&k|i&j)+((k<<30|k>>>2)^(k<<19|k>>>13)^(k<<10|k>>>22))+J|0;m=f;l=I;j=H;i=G;h=n;f=F}c[a>>2]=x+k;c[y>>2]=z+j;c[A>>2]=B+i;c[C>>2]=D+h;c[o>>2]=p+g;c[q>>2]=r+f;c[s>>2]=t+m;c[u>>2]=v+l;$c=E;return}function lP(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;v=$c;$c=$c+320|0;if(($c|0)>=(ad|0))N(320);n=v;o=c[a>>2]|0;p=a+4|0;q=c[p>>2]|0;r=a+8|0;s=c[r>>2]|0;t=a+12|0;u=c[t>>2]|0;l=a+16|0;m=c[l>>2]|0;f=m;g=u;h=s;i=q;j=o;k=0;while(1){if((k|0)==80)break;if(k>>>0<16){e=b+(k<<2)|0;e=WW(d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24|0)|0}else{e=c[n+(k+-8<<2)>>2]^c[n+(k+-3<<2)>>2]^c[n+(k+-14<<2)>>2]^c[n+(k+-16<<2)>>2];e=e<<1|e>>>31}c[n+(k<<2)>>2]=e;f=f+(j<<5|j>>>27)+e|0;do if(k>>>0<40)if(k>>>0<20){e=((g^h)&i^g)+1518500249|0;break}else{e=(h^i^g)+1859775393|0;break}else if(k>>>0<60){e=((h|i)&g|h&i)+-1894007588|0;break}else{e=(h^i^g)+-899497514|0;break}while(0);y=j;x=h;w=g;h=i<<30|i>>>2;j=f+e|0;k=k+1|0;i=y;g=x;f=w}c[a>>2]=o+j;c[p>>2]=q+i;c[r>>2]=s+h;c[t>>2]=u+g;c[l>>2]=m+f;$c=v;return}function mP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);h=i+16|0;g=i+8|0;f=i;e=i+24|0;c[e>>2]=d;if(!(b&64))e=0;else{j=(c[e>>2]|0)+(4-1)&~(4-1);d=c[j>>2]|0;c[e>>2]=j+4;e=d}c[f>>2]=e;e=VT(a,b|524288,f)|0;if((e|0)!=-1?(c[g>>2]=1,(UT(e,2,g)|0)==-1):0)mf(0,48,160008,h);$c=i;return e|0}function nP(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=uf((eU(c[b>>2]|0)|0)+1|0)|0;f=c[b>>2]|0;if(!e)e=0;else{g=f+(RU(f,160037)|0)|0;k=e;f=e;a:while(1){b:while(1){h=a[g>>0]|0;if(!(h<<24>>24))break a;if(RU(g,d)|0)break a;i=g+1|0;switch(h<<24>>24){case 39:break b;case 92:{j=a[i>>0]|0;if(j<<24>>24){l=8;break b}break}default:{}}a[f>>0]=h;g=i;f=f+1|0}if((l|0)==8){l=0;i=f+1|0;a[f>>0]=j;g=g+2|0;k=i;f=i;continue}while(1){g=a[i>>0]|0;j=g<<24>>24==0;h=i+1|0;if(!(j^g<<24>>24!=39))break;a[f>>0]=g;i=h;f=f+1|0}g=j?i:h;k=j?k:f}do{a[f>>0]=0;f=f+-1|0;if(f>>>0>>0)break}while((RU(f,160037)|0)!=0);c[b>>2]=g}return e|0}function oP(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;e=b;while(1){d=pP(a[e>>0]|0)|0;b=pP(a[c>>0]|0)|0;d=d&255;if(!d){f=3;break}b=b&255;if((d|0)==(b|0)){e=e+1|0;c=c+1|0}else{c=d;break}}if((f|0)==3){c=0;b=b&255}return c-b|0}function pP(a){a=a|0;return ((a+-65|0)>>>0<26?a^32:a)|0}function qP(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;f=b+d|0;e=b;while(1){d=pP(a[e>>0]|0)|0;e=e+1|0;b=pP(a[c>>0]|0)|0;if(e>>>0>=f>>>0){g=3;break}d=d&255;b=b&255;if(!((d|0)!=0&(d|0)==(b|0)))break;else c=c+1|0}if((g|0)==3){b=b&255;d=d&255}return d-b|0}function rP(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;a:do if((b|0)!=0&(c|0)!=0){g=eU(b)|0;while(1){d=a[c>>0]|0;if(!(d<<24>>24)){c=0;break a}f=d<<24>>24==45;d=fU(c,44)|0;if(!d)d=c+(eU(c)|0)|0;c=c+(f&1)|0;e=d-c|0;if(!(qP(b,c,(e|0)>(g|0)?e:g)|0))break;if(!(sT(160042,c,(e|0)>3?e:3)|0))break;c=d+((a[d>>0]|0)==44&1)|0}c=(f^1)&1}else c=0;while(0);return c|0}function sP(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=d<<24>>24;a:while(1){if(!b){b=0;break}if(!(a[b>>0]|0)){b=0;break}else h=c;while(1){if(!h)break;e=a[h>>0]|0;if(!(e<<24>>24))break;else g=0;while(1){f=a[b+g>>0]|0;j=f<<24>>24;k=e<<24>>24;if(f<<24>>24!=e<<24>>24?!((H(k,j)|0)==0&(k+j|0)==(i|0)):0)break;if(g|0?(f<<24>>24==0?1:f<<24>>24==d<<24>>24):0){b=1;break a}e=g+1|0;g=e;e=a[h+e>>0]|0}k=fU(h,i)|0;h=k+((k|0)!=0&1)|0}k=fU(b,i)|0;b=k+((k|0)!=0&1)|0}return b|0}function tP(b,d,e){b=b|0;d=d|0;e=e|0;c[b>>2]=d;c[b+4>>2]=0;c[b+8>>2]=e;c[b+12>>2]=e;a[d>>0]=0;return}function uP(a){a=a|0;if(!(c[(c[a>>2]|0)+20>>2]&1))a=(c[(c[a>>2]|0)+8>>2]|0)==1&1;else a=0;return a|0}function vP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);h=i;g=c[a>>2]|0;do if(g){f=g+8|0;if((c[f>>2]|0)==(b|0))d=0;else{if((c[(c[g>>2]|0)+20>>2]&2|0?uP(g)|0:0)?(e=g+4|0,d=c[e>>2]|0,(d|0)==(c[c[g>>2]>>2]|0)):0){d=tf(d,b)|0;if(!d){d=-12;break}c[e>>2]=d;h=c[g>>2]|0;c[h>>2]=d;c[f>>2]=b;c[h+4>>2]=b;d=0;break}c[h>>2]=0;vP(h,b)|0;d=c[h>>2]|0;if(!d)d=-12;else{f=c[f>>2]|0;YW(c[d+4>>2]|0,c[g+4>>2]|0,((f|0)<(b|0)?f:b)|0)|0;Vf(a,h);d=0}}}else{d=tf(0,b)|0;c[h>>2]=d;do if(d){d=Eg(d,b,19,0,0)|0;if(!d){hf(h);d=-12;break}else{h=(c[d>>2]|0)+20|0;c[h>>2]=c[h>>2]|2;c[a>>2]=d;d=0;break}}else d=-12;while(0)}while(0);$c=i;return d|0}function wP(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=b+(eU(b)|0)|0;g=0;c=0;while(1){if(b>>>0>>0)d=b;else{b=g;break}a:while(1){if(d>>>0>=h>>>0)break;switch(a[d>>0]|0){case 124:case 43:break a;default:{}}d=d+1|0}e=xP(b,d-b|0)|0;f=M()|0;if((e|0)==0&(f|0)==0){c=0;b=0;break}b=d+1|0;g=e|g;c=f|c}L(c|0);return b|0}function xP(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);j=k;f=0;while(1){if(f>>>0>=28){e=0;i=7;break}e=c[37768+(f<<4)>>2]|0;if((eU(e)|0)==(d|0)?(rT(e,b,d)|0)==0:0){i=5;break}f=f+1|0}do if((i|0)==5){e=37768+(f<<4)+8|0;f=c[e+4>>2]|0;e=c[e>>2]|0}else if((i|0)==7){while(1){i=0;if(e>>>0>=36)break;if(((e+-18|0)>>>0>10?(g=c[75560+(e<<3)>>2]|0,(eU(g)|0)==(d|0)):0)?(rT(g,b,d)|0)==0:0){i=11;break}e=e+1|0;i=7}if((i|0)==11){e=UW(1,0,e|0)|0;f=M()|0;break}c[(XS()|0)>>2]=0;e=hT(b,j,10)|0;if(((c[(XS()|0)>>2]|0)==0?(h=c[j>>2]|0,(h+1-b|0)==(d|0)):0)?(a[h>>0]|0)==99:0){e=yP(e)|0;f=M()|0;break}c[(XS()|0)>>2]=0;g=fT(b,j,0)|0;e=M()|0;if(!(c[(XS()|0)>>2]|0)){j=((e|0)>0|(e|0)==0&g>>>0>0)&((c[j>>2]|0)-b|0)==(d|0);f=j?e:0;e=j?g:0}else{f=0;e=0}}while(0);L(f|0);$c=k;return e|0}function yP(a){a=a|0;var b=0,d=0;b=0;while(1){if(b>>>0>=28){b=0;a=0;break}if((c[37768+(b<<4)+4>>2]|0)==(a|0)){d=4;break}b=b+1|0}if((d|0)==4){a=37768+(b<<4)+8|0;b=c[a+4>>2]|0;a=c[a>>2]|0}L(b|0);return a|0}function zP(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);k=n+40|0;m=n+32|0;l=n+24|0;j=n+16|0;i=n+8|0;h=n;if((b|0)<1)b=mh(d,e)|0;f=0;while(1){if(f>>>0>=28){g=9;break}if((b|0)==(c[37768+(f<<4)+4>>2]|0)?(g=37768+(f<<4)+8|0,(c[g>>2]|0)==(d|0)?(c[g+4>>2]|0)==(e|0):0):0){g=7;break}f=f+1|0}if((g|0)==7){c[h>>2]=c[37768+(f<<4)>>2];xf(a,160704,h)}else if((g|0)==9?(c[i>>2]=b,xf(a,160707,i),!((d|0)==0&(e|0)==0)):0){xf(a,160719,j);b=0;g=0;while(1){if((g|0)==64)break;j=UW(1,0,g|0)|0;if(!((j&d|0)==0&((M()|0)&e|0)==0)){f=AP(g)|0;if(f|0){if((b|0)>0)xf(a,160722,l);c[m>>2]=f;xf(a,160704,m)}b=b+1|0}g=g+1|0}xf(a,160724,k)}$c=n;return}function AP(a){a=a|0;if(a>>>0>35)a=0;else a=c[75560+(a<<3)>>2]|0;return a|0}function BP(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;f=$c;$c=$c+1024|0;if(($c|0)>=(ad|0))N(1024);g=f;tP(g,a,b);zP(g,c,d,e);$c=f;return}function CP(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,H=0,J=0,K=0;K=$c;$c=$c+1072|0;if(($c|0)>=(ad|0))N(1072);J=K+792|0;H=K+784|0;F=K+528|0;j=K+1060|0;k=K+1056|0;D=K+520|0;E=K+512|0;B=K;C=K+800|0;c[F>>2]=j;c[F+4>>2]=k;c[F+8>>2]=K+1064;if(!((DU(f,160726,F)|0)==2?(i=c[j>>2]|0,i=DP(b,e,h,1.0,c[k>>2]|0,i,((i|0)<0)<<31>>31)|0,(i|0)>-1):0)){v=e+12|0;w=e+44|0;x=e+16|0;y=e+32|0;z=e+24|0;A=e+16|0;i=0;while(1){s=E;c[s>>2]=1;c[s+4>>2]=0;if(!(c[v>>2]|0)){j=a[f>>0]|0;switch(j<<24>>24){case 45:case 43:{l=j<<24>>24;j=f+1|0;break}default:{l=0;j=f}}f=0;a:while(1){if(f>>>0>=255)break;k=a[j+f>>0]|0;switch(k<<24>>24){case 45:case 43:case 0:break a;default:{}}a[F+f>>0]=k;f=f+1|0}a[F+f>>0]=0;r=f}else{l=0;r=0;j=f}q=(r|0)!=0;p=q?F:j;k=EP(d,p,c[w>>2]|0,0,0)|0;if((k|0)!=0?(c[k+12>>2]|0)==10:0){s=k+16|0;g[D>>3]=+((c[s>>2]|0)>>>0)+4294967296.0*+(c[s+4>>2]|0);s=30}else s=15;do if((s|0)==15){s=0;o=c[w>>2]|0;b:do if(!o){k=0;s=24}else{k=0;f=0;while(1){while(1){f=Wf(d,f)|0;if(!f){s=24;break b}if((c[f+12>>2]|0)!=10)continue;n=c[f+44>>2]|0;if(!n)continue;if(!(qT(n,o)|0))break}if((k+6|0)>>>0>63)break;c[C+(k<<2)>>2]=c[f>>2];n=f+16|0;g[B+(k<<3)>>3]=+((c[n>>2]|0)>>>0)+4294967296.0*+(c[n+4>>2]|0);k=k+1|0}c[H>>2]=o;mf(b,16,160740,H);i=-1163346256}while(0);if((s|0)==24){s=0;c[C+(k<<2)>>2]=172050;switch(c[v>>2]|0){case 1:case 0:case 10:case 9:case 2:{o=A;m=+((c[o>>2]|0)>>>0)+4294967296.0*+(c[o+4>>2]|0);break}default:m=+g[x>>3]}n=k+1|0;g[B+(k<<3)>>3]=m;c[C+(n<<2)>>2]=161040;o=k+2|0;g[B+(n<<3)>>3]=+g[y>>3];c[C+(o<<2)>>2]=161044;n=k+3|0;g[B+(o<<3)>>3]=+g[z>>3];c[C+(n<<2)>>2]=172028;o=k+4|0;g[B+(n<<3)>>3]=0.0;c[C+(o<<2)>>2]=172244;k=k+5|0;g[B+(o<<3)>>3]=-1.0;c[C+(k<<2)>>2]=0;g[B+(k<<3)>>3]=0.0;k=FP(D,p,C,B,0,0,0,0,0,0,b)|0;if((k|0)>=0){s=30;break}c[J>>2]=j;mf(b,16,160777,J);i=k}f=1}while(0);if((s|0)==30){c:do if(!(c[v>>2]|0)){GP(e,h,0,0,E)|0;switch(l|0){case 43:{s=E;m=+g[D>>3];g[D>>3]=+((c[s>>2]|~~m>>>0)>>>0)+4294967296.0*+(c[s+4>>2]|(+u(m)>=1.0?(m>0.0?~~+I(+t(m/4294967296.0),4294967295.0)>>>0:~~+G((m-+(~~m>>>0))/4294967296.0)>>>0):0)|0);break c}case 45:{s=E;m=+g[D>>3];g[D>>3]=+((c[s>>2]&~(~~m>>>0))>>>0)+4294967296.0*+(c[s+4>>2]&~(+u(m)>=1.0?(m>0.0?~~+I(+t(m/4294967296.0),4294967295.0)>>>0:~~+G((m-+(~~m>>>0))/4294967296.0)>>>0):0)|0);break c}default:break c}}while(0);k=DP(b,e,h,+g[D>>3],1,1,0)|0;if((k|0)>=0){j=j+r|0;if(q){s=(a[j>>0]|0)==0;f=s&1;i=s?0:i}else{f=1;i=0}}else{f=1;i=k}}if(!f)f=j;else break}}$c=K;return i|0}function DP(a,b,d,e,h,i,j){a=a|0;b=b|0;d=d|0;e=+e;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0.0,n=0.0,o=0.0,p=0,q=0,t=0,u=0;u=$c;$c=$c+64|0;if(($c|0)>=(ad|0))N(64);k=u+40|0;q=u+8|0;p=u;l=c[b+12>>2]|0;a:do if(!l){m=(+(i>>>0)+4294967296.0*+(j|0))*e/+(h|0);if(!(m<-1.5|m>4294967295.5)?(q=rU(m*256.0)|0,M()|0,(q&255|0)==0&0==0):0){t=14;break}d=c[b>>2]|0;g[k>>3]=m;c[k+8>>2]=d;mf(a,16,161295,k);k=-34}else{if(!h){n=e!=0.0&((i|0)!=0|(j|0)!=0)?s:r;m=+g[b+32>>3]}else{m=+g[b+32>>3];n=+(h|0);o=(+(i>>>0)+4294967296.0*+(j|0))*e;if(!(m*n>3]*n>o):0)switch(l|0){case 1:case 18:{t=14;break a}case 12:{k=PW(rU(e/+(h|0))|0,M()|0,i|0,j|0)|0;M()|0;c[d>>2]=k;k=0;break a}case 13:{k=PW(rU(e/+(h|0))|0,M()|0,i|0,j|0)|0;M()|0;c[d>>2]=k;k=0;break a}case 6:case 14:{m=(+(i>>>0)+4294967296.0*+(j|0))*e;if(+(~~e|0)==e){c[d>>2]=~~m;c[d+4>>2]=h;k=0;break a}else{bQ(p,m/+(h|0),16777216);i=p;j=c[i+4>>2]|0;k=d;c[k>>2]=c[i>>2];c[k+4>>2]=j;k=0;break a}}case 2:case 17:case 15:{m=e/+(h|0);if((i|0)==1&(j|0)==0&m==9223372036854775808.0){k=-1;l=2147483647}else{k=rU(m)|0;k=PW(k|0,M()|0,i|0,j|0)|0;l=M()|0}c[d>>2]=k;c[d+4>>2]=l;k=0;break a}case 9:{m=e/+(h|0);do if(!((i|0)==1&(j|0)==0&m==18446744073709551616.0))if(m>9223372036854775808.0){k=rU(m+-9223372036854775808.0)|0;k=PW(k|0,(M()|0)^-2147483648|0,i|0,j|0)|0;l=M()|0;break}else{k=rU(m)|0;k=PW(k|0,M()|0,i|0,j|0)|0;l=M()|0;break}else{k=-1;l=-1}while(0);c[d>>2]=k;c[d+4>>2]=l;k=0;break a}case 4:{f[d>>2]=(+(i>>>0)+4294967296.0*+(j|0))*e/+(h|0);k=0;break a}case 3:{g[d>>3]=(+(i>>>0)+4294967296.0*+(j|0))*e/+(h|0);k=0;break a}default:{k=-22;break a}}n=o/n}k=c[b>>2]|0;e=+g[b+24>>3];g[q>>3]=n;c[q+8>>2]=k;g[q+16>>3]=e;g[q+24>>3]=m;mf(a,16,161243,q);k=-34}while(0);if((t|0)==14){k=rU(e/+(h|0))|0;k=PW(k|0,M()|0,i|0,j|0)|0;M()|0;c[d>>2]=k;k=0}$c=u;return k|0}function EP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return _P(a,b,c,d,e,0)|0}function FP(a,b,d,e,f,h,i,j,k,l,m){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0;o=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);n=o;c[n>>2]=0;b=HP(n,b,d,f,h,i,j,l,m)|0;if((b|0)<0)g[a>>3]=r;else{b=c[n>>2]|0;g[a>>3]=+IP(b,e,k);JP(b);b=KP(+g[a>>3])|0;k=(M()|0)&2147483647;b=k>>>0>2146435072|(k|0)==2146435072&b>>>0>0?-22:0}$c=o;return b|0}function GP(a,b,d,e,h){a=a|0;b=b|0;d=d|0;e=e|0;h=h|0;switch(c[a+12>>2]|0){case 0:{a=h;c[a>>2]=c[b>>2];c[a+4>>2]=0;a=0;break}case 12:{e=c[b>>2]|0;a=h;c[a>>2]=e;c[a+4>>2]=((e|0)<0)<<31>>31;a=0;break}case 13:{e=c[b>>2]|0;a=h;c[a>>2]=e;c[a+4>>2]=((e|0)<0)<<31>>31;a=0;break}case 1:case 18:{e=c[b>>2]|0;a=h;c[a>>2]=e;c[a+4>>2]=((e|0)<0)<<31>>31;a=0;break}case 9:case 2:case 15:case 17:{d=b;e=c[d+4>>2]|0;a=h;c[a>>2]=c[d>>2];c[a+4>>2]=e;a=0;break}case 4:{g[d>>3]=+f[b>>2];a=0;break}case 3:{g[d>>3]=+g[b>>3];a=0;break}case 6:{d=c[b>>2]|0;a=h;c[a>>2]=d;c[a+4>>2]=((d|0)<0)<<31>>31;c[e>>2]=c[b+4>>2];a=0;break}case 10:{g[d>>3]=+g[a+16>>3];a=0;break}default:a=-22}return a|0}function HP(b,d,e,f,g,h,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=$c;$c=$c+64|0;if(($c|0)>=(ad|0))N(64);q=s;p=s+12|0;r=s+8|0;l=p;m=l+52|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(m|0));c[r>>2]=0;o=uf((eU(d)|0)+1|0)|0;if(!o)l=-12;else{n=o;l=d;a:while(1){do{m=a[l>>0]|0;if(!(m<<24>>24))break a;l=l+1|0}while((MP(m<<24>>24)|0)!=0);a[n>>0]=m;n=n+1|0}a[n>>0]=0;c[p>>2]=75848;c[p+4>>2]=100;m=p+8|0;c[m>>2]=o;c[p+16>>2]=e;c[p+20>>2]=g;c[p+24>>2]=f;c[p+28>>2]=i;c[p+32>>2]=h;c[p+40>>2]=j;c[p+44>>2]=k;l=NP(r,p)|0;do if((l|0)>=0){m=c[m>>2]|0;if(a[m>>0]|0){c[q>>2]=m;c[q+4>>2]=d;mf(p,16,160816,q);l=-22;break}m=c[r>>2]|0;if(OP(m)|0){q=dg(80)|0;c[m+32>>2]=q;if(!q)l=-12;else{c[b>>2]=m;c[r>>2]=0}}else l=-22}while(0);JP(c[r>>2]|0);jf(o)}$c=s;return l|0}function IP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0.0;g=$c;$c=$c+64|0;if(($c|0)>=(ad|0))N(64);e=g;f=e;h=f+48|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+48>>2]=c[a+32>>2];c[e+12>>2]=b;c[e+36>>2]=d;i=+LP(e,a);$c=g;return +i}function JP(a){a=a|0;var b=0,d=0;d=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);b=d;c[b>>2]=a;if(a|0){JP(c[a+20>>2]|0);JP(c[a+24>>2]|0);JP(c[a+28>>2]|0);hf(a+32|0);hf(b)}$c=d;return}function KP(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;L(c[h+4>>2]|0);return b|0}function LP(a,b){a=a|0;b=b|0;var e=0.0,f=0,h=0.0,i=0,j=0.0,k=0.0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0;q=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);i=q;a:do switch(c[b>>2]|0){case 0:{e=+g[b+8>>3];break}case 1:{e=+g[b+8>>3]*+g[(c[a+12>>2]|0)+(c[b+16>>2]<<3)>>3];break}case 2:{o=+g[b+8>>3];m=c[b+16>>2]|0;p=+LP(a,c[b+20>>2]|0);p=o*+cd[m&15](p);$c=q;return +p}case 3:{o=+g[b+8>>3];l=c[b+16>>2]|0;m=c[a+36>>2]|0;p=+LP(a,c[b+20>>2]|0);p=o*+dd[l&0](m,p);$c=q;return +p}case 4:{n=+g[b+8>>3];l=c[b+16>>2]|0;m=c[a+36>>2]|0;o=+LP(a,c[b+20>>2]|0);p=+LP(a,c[b+24>>2]|0);p=n*+ed[l&0](m,o,p);$c=q;return +p}case 5:{p=1.0/(+E(+(+LP(a,c[b+20>>2]|0)*4.0))+1.0);$c=q;return +p}case 6:{p=+LP(a,c[b+20>>2]|0);p=+E(+(p*p*-.5))/2.5066282746310002;$c=q;return +p}case 7:{p=+g[b+8>>3];m=c[a+48>>2]|0;a=~~+LP(a,c[b+20>>2]|0);$c=q;return +(p*+g[m+(((a|0)>0?((a|0)<9?a:9):0)<<3)>>3])}case 8:{p=+g[b+8>>3];a=KP(+LP(a,c[b+20>>2]|0))|0;b=(M()|0)&2147483647;$c=q;return +(p*+((b>>>0>2146435072|(b|0)==2146435072&a>>>0>0)&1))}case 9:{p=+g[b+8>>3]*+((KP(+LP(a,c[b+20>>2]|0))|0)==0&((M()|0)&2147483647|0)==2146435072&1);$c=q;return +p}case 27:{p=+g[b+8>>3]*+t(+(+LP(a,c[b+20>>2]|0)));$c=q;return +p}case 28:{p=+g[b+8>>3]*+G(+(+LP(a,c[b+20>>2]|0)));$c=q;return +p}case 29:{p=+g[b+8>>3]*+Ob(+(+LP(a,c[b+20>>2]|0)));$c=q;return +p}case 30:{p=+g[b+8>>3]*+XW(+(+LP(a,c[b+20>>2]|0)));$c=q;return +p}case 31:{p=+g[b+8>>3]*+v(+(+LP(a,c[b+20>>2]|0)));$c=q;return +p}case 32:{p=+g[b+8>>3]*+(+LP(a,c[b+20>>2]|0)==0.0&1);$c=q;return +p}case 36:{h=+g[b+8>>3];if(!(+LP(a,c[b+20>>2]|0)!=0.0)){f=c[b+28>>2]|0;if(!f)e=0.0;else m=22}else{f=c[b+24>>2]|0;m=22}if((m|0)==22)e=+LP(a,f);e=h*e;break}case 37:{h=+g[b+8>>3];if(+LP(a,c[b+20>>2]|0)!=0.0){f=c[b+28>>2]|0;if(!f)e=0.0;else m=27}else{f=c[b+24>>2]|0;m=27}if((m|0)==27)e=+LP(a,f);e=h*e;break}case 42:{f=b+20|0;e=+LP(a,c[f>>2]|0);h=+LP(a,c[b+24>>2]|0);j=+LP(a,c[b+28>>2]|0);m=KP(h)|0;l=(M()|0)&2147483647;if((!(l>>>0>2146435072|(l|0)==2146435072&m>>>0>0)?(m=KP(j)|0,l=(M()|0)&2147483647,!(l>>>0>2146435072|(l|0)==2146435072&m>>>0>0)):0)?(m=KP(e)|0,l=(M()|0)&2147483647,!(h>j|(l>>>0>2146435072|(l|0)==2146435072&m>>>0>0))):0){o=+g[b+8>>3];p=+LP(a,c[f>>2]|0);$c=q;return +(o*(pj?j:p))}else e=r;break}case 41:{e=+LP(a,c[b+20>>2]|0);h=+g[b+8>>3];if(!(e>=+LP(a,c[b+24>>2]|0)))e=0.0;else e=+(e<=+LP(a,c[b+28>>2]|0)&1);e=h*e;break}case 44:{p=+LP(a,c[b+20>>2]|0);p=p+(+LP(a,c[b+24>>2]|0)-p)*+LP(a,c[b+28>>2]|0);$c=q;return +p}case 38:{e=+LP(a,c[b+20>>2]|0);f=c[b+24>>2]|0;if(!f)f=32;else f=~~+LP(a,f);g[i>>3]=e;mf(a,f,160812,i);break}case 33:{m=~~+LP(a,c[b+20>>2]|0);a=(c[a+48>>2]|0)+(((m|0)>0?((m|0)<9?m:9):0)<<3)|0;p=+g[a>>3];m=KP(p)|0;l=(M()|0)&2147483647;p=+((JW(PW(~~p>>>0|0,(+u(p)>=1.0?(p>0.0?~~+I(+t(p/4294967296.0),4294967295.0)>>>0:~~+G((p-+(~~p>>>0))/4294967296.0)>>>0):0)|0,1664525,0)|0,M()|0,1013904223,0)|0)>>>0)+4294967296.0*+((M()|0)>>>0);p=l>>>0>2146435072|(l|0)==2146435072&m>>>0>0?1013904223.0:p;g[a>>3]=p;$c=q;return +(+g[b+8>>3]*(p*5.421010862427522e-20))}case 24:{i=b+20|0;f=b+24|0;e=r;while(1){if(!(+LP(a,c[i>>2]|0)!=0.0))break a;e=+LP(a,c[f>>2]|0)}}case 25:{k=+LP(a,c[b+24>>2]|0);f=c[b+28>>2]|0;if(!f)m=0;else{m=~~+LP(a,f);m=(m|0)>0?((m|0)<9?m:9):0}l=a+48|0;n=+g[(c[l>>2]|0)+(m<<3)>>3];i=b+20|0;h=1.0;e=0.0;f=0;while(1){if((f|0)>=1e3)break;g[(c[l>>2]|0)+(m<<3)>>3]=+(f|0);p=+LP(a,c[i>>2]|0);j=e+h*p;if(p!=0.0&e==j){e=j;break}b=f+1|0;h=h*(k/+(b|0));e=j;f=b}g[(c[l>>2]|0)+(m<<3)>>3]=n;break}case 26:{l=a+48|0;p=+g[c[l>>2]>>3];o=+LP(a,c[b+24>>2]|0);i=b+20|0;k=1797693134862315708145274.0e284;j=-1797693134862315708145274.0e284;h=-1.0;e=-1.0;f=-1;while(1){if((f|0)>=1024)break;if((f|0)<255)g[c[l>>2]>>3]=o*+(d[120895+(f&255)>>0]|0)/255.0;else{n=o*+w(.9,+(+(f+-255|0)));g[c[l>>2]>>3]=(f&2|0?e:h)+((f&1|0)==0?n:-n)}n=+LP(a,c[i>>2]|0);if(n<=0.0&n>j){j=n;e=+g[c[l>>2]>>3]}if(n>=0.0&n>2]>>3]}if(e>=0.0&h>=0.0){f=0;m=60;break}else f=f+1|0}b:do if((m|0)==60)while(1){if((f|0)>=1e3)break b;o=(e+h)*.5;g[c[l>>2]>>3]=o;if(e==o|h==o)break b;n=+LP(a,c[i>>2]|0);if(n<=0.0)e=+g[c[l>>2]>>3];if(n>=0.0)h=+g[c[l>>2]>>3];b=KP(n)|0;m=(M()|0)&2147483647;if(m>>>0>2146435072|(m|0)==2146435072&b>>>0>0){h=n;e=n;break}else{f=f+1|0;m=60}}while(0);g[c[l>>2]>>3]=p;e=k>-j?e:h;break}default:{e=+LP(a,c[b+20>>2]|0);h=+LP(a,c[b+24>>2]|0);do switch(c[b>>2]|0){case 10:{e=(e-h*+t(+(e/h)))*+g[b+8>>3];break a}case 35:{e=+g[b+8>>3]*(+((dM(~~e>>>0,+u(e)>=1.0?(e>0.0?~~+I(+t(e/4294967296.0),4294967295.0)>>>0:~~+G((e-+(~~e>>>0))/4294967296.0)>>>0):0,~~h>>>0,+u(h)>=1.0?(h>0.0?~~+I(+t(h/4294967296.0),4294967295.0)>>>0:~~+G((h-+(~~h>>>0))/4294967296.0)>>>0):0)|0)>>>0)+4294967296.0*+(M()|0));break a}case 11:{e=(e>h?e:h)*+g[b+8>>3];break a}case 12:{e=(e>3];break a}case 13:{e=(e==h?1.0:0.0)*+g[b+8>>3];break a}case 14:{e=(e>h?1.0:0.0)*+g[b+8>>3];break a}case 15:{e=(e>=h?1.0:0.0)*+g[b+8>>3];break a}case 17:{e=(e>3];break a}case 16:{e=(e<=h?1.0:0.0)*+g[b+8>>3];break a}case 18:{e=+w(+e,+h)*+g[b+8>>3];break a}case 19:{e=e*h*+g[b+8>>3];break a}case 20:{e=e/h*+g[b+8>>3];break a}case 21:{e=(e+h)*+g[b+8>>3];break a}case 22:{e=h*+g[b+8>>3];break a}case 23:{p=+g[b+8>>3];b=~~e;g[(c[a+48>>2]|0)+(((b|0)>0?((b|0)<9?b:9):0)<<3)>>3]=h;e=h*p;break a}case 34:{e=+g[b+8>>3]*+iT(e,h);break a}case 43:{e=+g[b+8>>3]*+D(+e,+h);break a}case 39:{a=KP(e)|0;m=(M()|0)&2147483647;if(m>>>0>2146435072|(m|0)==2146435072&a>>>0>0){e=r;break a}a=KP(h)|0;m=(M()|0)&2147483647;if(m>>>0>2146435072|(m|0)==2146435072&a>>>0>0){e=r;break a}e=+g[b+8>>3]*+(~~h&~~e|0);break a}case 40:{a=KP(e)|0;m=(M()|0)&2147483647;if(m>>>0>2146435072|(m|0)==2146435072&a>>>0>0){e=r;break a}a=KP(h)|0;m=(M()|0)&2147483647;if(m>>>0>2146435072|(m|0)==2146435072&a>>>0>0){e=r;break a}e=+g[b+8>>3]*+(~~h|~~e|0);break a}default:{e=r;break a}}while(0)}}while(0);$c=q;return +e}function MP(a){a=a|0;switch(a|0){case 9:case 10:case 12:case 13:case 32:{a=1;break}default:a=(a|0)==11&1}return a|0}function NP(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);j=l+4|0;i=l;k=d+4|0;e=c[k>>2]|0;do if((e|0)>=1){c[k>>2]=e+-1;e=PP(j,d)|0;if((e|0)>=0){f=d+8|0;h=c[j>>2]|0;while(1){e=c[f>>2]|0;if((a[e>>0]|0)!=59){f=9;break}c[f>>2]=e+1;e=PP(i,d)|0;if((e|0)<0){f=6;break}g=c[i>>2]|0;e=QP(22,h,g)|0;if(!e){f=8;break}else h=e}if((f|0)==6){c[j>>2]=h;JP(h);break}else if((f|0)==8){c[j>>2]=0;JP(h);JP(g);e=-12;break}else if((f|0)==9){c[j>>2]=h;c[k>>2]=(c[k>>2]|0)+1;c[b>>2]=h;e=0;break}}}else e=-22;while(0);$c=l;return e|0}function OP(a){a=a|0;a:do if(!a)a=0;else switch(c[a>>2]|0){case 1:case 0:{a=1;break a}case 33:case 32:case 31:case 30:case 29:case 28:case 27:case 9:case 8:case 6:case 7:case 5:case 3:case 2:{if(!(OP(c[a+20>>2]|0)|0)){a=0;break a}a=(c[a+24>>2]|0)==0;break a}case 38:{if(!(OP(c[a+20>>2]|0)|0)){a=0;break a}a=c[a+24>>2]|0;if(!a){a=1;break a}a=(OP(a)|0)!=0;break a}case 25:case 37:case 36:{if(!(OP(c[a+20>>2]|0)|0)){a=0;break a}if(!(OP(c[a+24>>2]|0)|0)){a=0;break a}a=c[a+28>>2]|0;if(!a){a=1;break a}a=(OP(a)|0)!=0;break a}case 44:case 42:case 41:{if(!(OP(c[a+20>>2]|0)|0)){a=0;break a}if(!(OP(c[a+24>>2]|0)|0)){a=0;break a}a=(OP(c[a+28>>2]|0)|0)!=0;break a}default:{if(!(OP(c[a+20>>2]|0)|0)){a=0;break a}if(!(OP(c[a+24>>2]|0)|0)){a=0;break a}a=(c[a+28>>2]|0)==0;break a}}while(0);return a&1|0}function PP(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);j=k+4|0;i=k;e=RP(j,d)|0;do if((e|0)>=0){f=d+8|0;h=c[j>>2]|0;a:while(1){switch(a[c[f>>2]>>0]|0){case 43:case 45:break;default:{f=8;break a}}e=RP(i,d)|0;if((e|0)<0){f=5;break}g=c[i>>2]|0;e=QP(21,h,g)|0;if(!e){f=7;break}else h=e}if((f|0)==5){c[j>>2]=h;JP(h);break}else if((f|0)==7){c[j>>2]=0;JP(h);JP(g);e=-12;break}else if((f|0)==8){c[j>>2]=h;c[b>>2]=h;e=0;break}}while(0);$c=k;return e|0}function QP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=dg(40)|0;if(!e)e=0;else{c[e>>2]=a;g[e+8>>3]=1.0;c[e+20>>2]=b;c[e+24>>2]=d}return e|0}function RP(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);k=l+4|0;j=l;e=SP(k,d)|0;do if((e|0)>=0){h=d+8|0;i=c[k>>2]|0;a:while(1){e=c[h>>2]|0;switch(a[e>>0]|0){case 47:case 42:break;default:{f=8;break a}}c[h>>2]=e+1;f=a[e>>0]|0;e=SP(j,d)|0;if((e|0)<0){f=5;break}g=c[j>>2]|0;e=QP(f<<24>>24==42?19:20,i,g)|0;if(!e){f=7;break}else i=e}if((f|0)==5){c[k>>2]=i;JP(i);break}else if((f|0)==7){c[k>>2]=0;JP(i);JP(g);e=-12;break}else if((f|0)==8){c[k>>2]=i;c[b>>2]=i;e=0;break}}while(0);$c=l;return e|0}function SP(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);l=n+12|0;j=n+8|0;k=n+4|0;m=n;e=TP(k,d,l)|0;do if((e|0)>=0){i=d+8|0;h=c[k>>2]|0;while(1){e=c[i>>2]|0;if((a[e>>0]|0)!=94){f=10;break}c[i>>2]=e+1;e=TP(m,d,j)|0;if((e|0)<0){f=5;break}f=QP(18,h,c[m>>2]|0)|0;c[k>>2]=f;if(!f){f=7;break}e=c[f+24>>2]|0;if(!e){h=f;continue}h=e+8|0;g[h>>3]=+g[h>>3]*+(c[j>>2]|1|0);h=f}if((f|0)==5){JP(h);break}else if((f|0)==7){JP(h);JP(c[m>>2]|0);e=-12;break}else if((f|0)==10){if(h|0){m=h+8|0;g[m>>3]=+g[m>>3]*+(c[l>>2]|1|0)}c[b>>2]=h;e=0;break}}while(0);$c=n;return e|0}function TP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=j;g=d+8|0;h=c[g>>2]|0;do if((a[h>>0]|0)==45){+TU(h,f);h=c[f>>2]|0;if(((h|0)!=(c[g>>2]|0)?(a[h>>0]|0)==100:0)?(a[h+1>>0]|0)==66:0){c[e>>2]=0;b=UP(b,d)|0;break}i=7}else i=7;while(0);if((i|0)==7)b=VP(b,d,e)|0;$c=j;return b|0}function UP(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);s=v+24|0;p=v+16|0;o=v+8|0;n=v;u=v+32|0;q=v+28|0;m=dg(40)|0;c[u>>2]=m;r=d+8|0;t=c[r>>2]|0;c[q>>2]=t;a:do if(!m)e=-12;else{j=m+8|0;g[j>>3]=+WP(t,q);l=c[q>>2]|0;i=m;if((l|0)!=(c[r>>2]|0)){c[m>>2]=0;c[r>>2]=l;c[b>>2]=i;e=0;break}g[j>>3]=1.0;f=c[d+16>>2]|0;b:do if(!f)e=0;else{e=0;while(1){h=c[f+(e<<2)>>2]|0;if(!h){e=0;break b}if(XP(l,h)|0)break;e=e+1|0}c[r>>2]=l+(eU(h)|0);c[m>>2]=1;c[m+16>>2]=e;c[b>>2]=i;e=0;break a}while(0);while(1){if(e>>>0>=4)break;f=c[38216+(e<<4)>>2]|0;if(XP(l,f)|0){k=11;break}e=e+1|0}if((k|0)==11){c[r>>2]=l+(eU(f)|0);c[m>>2]=0;g[j>>3]=+g[38216+(e<<4)+8>>3];c[b>>2]=i;e=0;break}e=fU(l,40)|0;c[r>>2]=e;if(!e){c[n>>2]=t;mf(d,16,160866,n);c[r>>2]=c[q>>2];JP(c[u>>2]|0);e=-22;break}c[r>>2]=e+1;if((a[l>>0]|0)==40){hf(u);e=NP(u,d)|0;if((e|0)<0)break;e=c[r>>2]|0;if((a[e>>0]|0)==41){c[r>>2]=e+1;c[b>>2]=c[u>>2];e=0;break}else{c[o>>2]=t;mf(d,16,160909,o);JP(c[u>>2]|0);e=-22;break}}e=NP(m+20|0,d)|0;if((e|0)<0){JP(c[u>>2]|0);break}f=c[r>>2]|0;e=a[f>>0]|0;if(e<<24>>24==44){c[r>>2]=f+1;NP((c[u>>2]|0)+24|0,d)|0;f=c[r>>2]|0;e=a[f>>0]|0;if(e<<24>>24==44){c[r>>2]=f+1;NP((c[u>>2]|0)+28|0,d)|0;f=c[r>>2]|0;e=a[f>>0]|0}}if(e<<24>>24!=41){c[p>>2]=t;mf(d,16,160930,p);JP(c[u>>2]|0);e=-22;break}c[r>>2]=f+1;k=c[u>>2]|0;c[k>>2]=2;i=c[q>>2]|0;j=k;do if(!(XP(i,160968)|0)){if(XP(i,160973)|0){c[k+16>>2]=2;break}if(XP(i,160978)|0){c[k+16>>2]=3;break}if(XP(i,160983)|0){c[k+16>>2]=4;break}if(XP(i,160987)|0){c[k+16>>2]=5;break}if(XP(i,160991)|0){c[k+16>>2]=6;break}if(XP(i,160995)|0){c[k+16>>2]=7;break}if(XP(i,161e3)|0){c[k+16>>2]=8;break}if(XP(i,161005)|0){c[k+16>>2]=9;break}if(XP(i,161010)|0){c[k+16>>2]=10;break}if(XP(i,173480)|0){c[k+16>>2]=11;break}if(XP(i,161014)|0){c[k+16>>2]=12;break}if(XP(i,161018)|0){c[k+16>>2]=13;break}if(XP(i,161023)|0){c[k>>2]=5;break}if(XP(i,161030)|0){c[k>>2]=6;break}if(XP(i,161036)|0){c[k>>2]=10;break}if(XP(i,161040)|0){c[k>>2]=11;break}if(XP(i,161044)|0){c[k>>2]=12;break}if(XP(i,161048)|0){c[k>>2]=13;break}if(XP(i,161051)|0){c[k>>2]=15;break}if(XP(i,161055)|0){c[k>>2]=14;break}if(XP(i,161058)|0){c[k>>2]=16;break}if(XP(i,161062)|0){c[k>>2]=17;break}if(XP(i,161065)|0){c[k>>2]=7;break}if(XP(i,161068)|0){c[k>>2]=8;break}if(XP(i,161074)|0){c[k>>2]=9;break}if(XP(i,161080)|0){c[k>>2]=23;break}if(XP(i,161083)|0){c[k>>2]=24;break}if(XP(i,161089)|0){c[k>>2]=25;break}if(XP(i,161096)|0){c[k>>2]=26;break}if(XP(i,161101)|0){c[k>>2]=27;break}if(XP(i,161107)|0){c[k>>2]=28;break}if(XP(i,167186)|0){c[k>>2]=29;break}if(XP(i,161112)|0){c[k>>2]=30;break}if(XP(i,161118)|0){c[k>>2]=31;break}if(XP(i,161123)|0){c[k>>2]=32;break}if(XP(i,161127)|0){c[k>>2]=18;break}if(XP(i,161131)|0){c[k>>2]=38;break}if(XP(i,161594)|0){c[k>>2]=33;break}if(XP(i,161137)|0){c[k>>2]=34;break}if(XP(i,161143)|0){c[k>>2]=35;break}if(XP(i,161147)|0){c[k>>2]=36;break}if(XP(i,161150)|0){c[k>>2]=37;break}if(XP(i,161156)|0){c[k>>2]=39;break}if(XP(i,161163)|0){c[k>>2]=40;break}if(XP(i,161169)|0){c[k>>2]=41;break}if(XP(i,161177)|0){c[k>>2]=42;break}if(XP(i,161182)|0){c[k>>2]=43;break}if(XP(i,161188)|0){c[k>>2]=44;break}f=c[d+24>>2]|0;c:do if(f|0){e=0;while(1){h=c[f+(e<<2)>>2]|0;if(!h)break c;if(XP(i,h)|0)break;e=e+1|0}c[k+16>>2]=c[(c[d+20>>2]|0)+(e<<2)>>2];c[k>>2]=3;c[b>>2]=j;e=0;break a}while(0);f=c[d+32>>2]|0;d:do if(f|0){e=0;while(1){h=c[f+(e<<2)>>2]|0;if(!h)break d;if(XP(i,h)|0)break;e=e+1|0}c[k+16>>2]=c[(c[d+28>>2]|0)+(e<<2)>>2];c[k>>2]=4;c[b>>2]=j;e=0;break a}while(0);c[s>>2]=t;mf(d,16,161193,s);JP(c[u>>2]|0);e=-22;break a}else c[k+16>>2]=1;while(0);c[b>>2]=j;e=0}while(0);$c=v;return e|0}function VP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=d+8|0;h=c[f>>2]|0;g=a[h>>0]|0;g=(g<<24>>24==43&1)-(g<<24>>24==45&1)|0;c[e>>2]=g;c[f>>2]=h+(g&1);return UP(b,d)|0}function WP(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0,i=0,j=0,k=0,l=0;l=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);k=l;if((a[b>>0]|0)==48?(a[b+1>>0]|32|0)==120:0)f=+((gT(b,k,16)|0)>>>0);else f=+TU(b,k);i=c[k>>2]|0;e=i;if((i|0)!=(b|0)){b=a[i>>0]|0;if(b<<24>>24==100)if((a[i+1>>0]|0)==66){f=+qU(f/20.0*3.321928094887362);b=i+2|0;c[k>>2]=b;e=b;j=14}else j=10;else if((b+-69&255)<54)j=10;else{h=b;b=i}do if((j|0)==10){b=(b<<24>>24)+-69|0;if(a[38280+(b*24|0)+16>>0]|0){h=i+1|0;if((a[h>>0]|0)==105){f=f*+g[38280+(b*24|0)>>3];b=i+2|0;c[k>>2]=b;e=b;j=14;break}else{f=f*+g[38280+(b*24|0)+8>>3];c[k>>2]=h;e=h;b=h;j=14;break}}else{b=i;j=14}}while(0);if((j|0)==14)h=a[b>>0]|0;if(h<<24>>24==66){e=b+1|0;c[k>>2]=e;f=f*8.0}}if(d|0)c[d>>2]=e;$c=l;return +f}function XP(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=0;while(1){e=a[c+d>>0]|0;f=a[b+d>>0]|0;if(!(e<<24>>24)){g=4;break}if(e<<24>>24==f<<24>>24)d=d+1|0;else{d=0;break}}if((g|0)==4){d=f<<24>>24;d=f<<24>>24!=95&((d+-48|0)>>>0>9&((d&-33)+-65|0)>>>0>25)&1}return d|0}function YP(a){a=+a;var b=0;b=ZP()|0;return +((+(b>>>0)+4294967296.0*+(M()|0))*1.0e-06)}function ZP(){var a=0,b=0,d=0,e=0;a=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);b=a;Kb(b|0,0)|0;e=c[b>>2]|0;e=PW(e|0,((e|0)<0)<<31>>31|0,1e6,0)|0;d=M()|0;b=c[b+4>>2]|0;b=JW(e|0,d|0,b|0,((b|0)<0)<<31>>31|0)|0;L(M()|0);$c=a;return b|0}function _P(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);i=k;a:do if((a|0)!=0?(j=c[a>>2]|0,(j|0)!=0):0){b:do if(f&1|0){if(!(f&2)){i=0;while(1){i=aQ(a,i)|0;if(!i)break b;h=_P(i,b,d,e,f,g)|0;if(h|0)break a}}c[i>>2]=0;h=0;while(1){h=$P(j,h)|0;c[i>>2]=h;if(!h){i=7;break}h=_P(i,b,d,e,f,0)|0;if(h|0){i=10;break}h=c[i>>2]|0}if((i|0)==7)break;else if((i|0)==10)break a}while(0);j=(d|0)==0;h=0;while(1){h=Wf(a,h)|0;if(!h){h=0;break a}if(qT(c[h>>2]|0,b)|0)continue;if((c[h+40>>2]&e|0)!=(e|0))continue;i=(c[h+12>>2]|0)==10;if(j)if(i)continue;else break;if(!i)continue;i=c[h+44>>2]|0;if(!i)continue;if(!(qT(i,d)|0))break}if(g)c[g>>2]=(f&2|0)==0?a:0}else h=0;while(0);$c=k;return h|0}function $P(a,b){a=a|0;b=b|0;a=c[a+28>>2]|0;if(!a)a=0;else a=fd[a&31](b)|0;return a|0}function aQ(a,b){a=a|0;b=b|0;var d=0;d=c[(c[a>>2]|0)+24>>2]|0;if(!d)a=0;else a=hd[d&15](a,b)|0;return a|0}function bQ(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0.0;l=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);j=l;e=l+8|0;i=cQ(b)|0;h=(M()|0)&2147483647;do if(h>>>0>2146435072|(h|0)==2146435072&i>>>0>0){c[a>>2]=0;c[a+4>>2]=0}else{if(+u(+b)>2147483650.0){c[a>>2]=b<0.0?-1:1;c[a+4>>2]=0;break}+RT(b,e);f=(c[e>>2]|0)+-1|0;f=(f|0)>0?f:0;c[e>>2]=f;e=UW(1,0,61-f|0)|0;f=M()|0;g=j+4|0;m=+t(+((+(e>>>0)+4294967296.0*+(f|0))*b+.5));h=~~m>>>0;i=+u(m)>=1.0?(m>0.0?~~+I(+t(m/4294967296.0),4294967295.0)>>>0:~~+G((m-+(~~m>>>0))/4294967296.0)>>>0):0;bn(j,g,h,i,e,f,d,((d|0)<0)<<31>>31)|0;if(!(c[j>>2]|0)){if((d|0)!=2147483647&(b!=0.0&(d|0)>0))k=8}else if((d|0)!=2147483647&((d|0)>0&(b!=0.0&(c[g>>2]|0)==0)))k=8;if((k|0)==8)bn(j,g,h,i,e,f,2147483647,0)|0;d=j;j=c[d+4>>2]|0;k=a;c[k>>2]=c[d>>2];c[k+4>>2]=j}while(0);$c=l;return}function cQ(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;L(c[h+4>>2]|0);return b|0}function dQ(){var a=0,b=0,d=0;d=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);b=d;a=Zb(84)|0;if(!(c[46300]|0)){c[b>>2]=a;mf(0,48,161366,b);c[46300]=1}$c=d;return a|0}function eQ(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);m=q;n=a+68|0;g=c[n>>2]|0;do if((g|0)>0?(o=a+72|0,h=c[o>>2]|0,(h|0)>0):0){p=a+392|0;e=c[p>>2]|0;j=a+396|0;f=c[j>>2]|0;if(e>>>0<(2147483647-f|0)>>>0?(k=a+384|0,r=c[k>>2]|0,l=a+388|0,i=c[l>>2]|0,(i+r|0)>>>0>>0&((f+e|0)>>>0>>0&r>>>0<(2147483647-i|0)>>>0)):0){i=Hg(c[a+80>>2]|0)|0;if(!i)e=-558323010;else{if(!(0==0?(c[i+8>>2]&12|0)==0:0)){c[n>>2]=(c[n>>2]|0)-(c[j>>2]|0);c[o>>2]=(c[o>>2]|0)-(c[l>>2]|0);c[j>>2]=0;c[l>>2]=0;e=0;break}fQ(m,a,i);if(!(b&1)){h=c[p>>2]|0;if(!h)b=2147483647;else b=d[161393+((H(h&0-h,125613361)|0)>>>27)>>0]|0;f=2147483647;g=0;while(1){if(!(c[a+(g<<2)>>2]|0))break;e=c[m+(g<<2)>>2]|0;if(!e)e=2147483647;else e=d[161393+((H(e&0-e,125613361)|0)>>>27)>>0]|0;f=(e|0)>(f|0)?f:e;g=g+1|0}if((b|0)<(f|0)){e=-558323010;break}if((f|0)<5){c[p>>2]=h&-1<>2]|0;if(!g)break;c[f>>2]=g+(c[m+(e<<2)>>2]|0);e=e+1|0}c[n>>2]=(c[n>>2]|0)-((c[j>>2]|0)+(c[p>>2]|0));c[o>>2]=(c[o>>2]|0)-((c[l>>2]|0)+(c[k>>2]|0));c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;e=0}}else e=-34}else e=-22;while(0);$c=q;return e|0}function fQ(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=e+5|0;k=e+6|0;m=e+8|0;n=e+4|0;o=b+384|0;p=b+392|0;f=0;a:while(1){if(!(c[b+(f<<2)>>2]|0))break;if((f+-1|0)>>>0<2){j=d[k>>0]|0;l=d[h>>0]|0}else{j=0;l=0}if((f|0)==1&((c[m>>2]&66|0)!=0|0!=0)){q=10;break}i=d[n>>0]|0;g=0;while(1){if((g|0)>=(i|0))break a;if((c[e+16+(g<<5)>>2]|0)==(f|0))break;g=g+1|0}j=H((c[o>>2]|0)>>>j,c[b+32+(f<<2)>>2]|0)|0;c[a+(f<<2)>>2]=(H((c[p>>2]|0)>>>l,c[e+16+(g<<5)+4>>2]|0)|0)+j;f=f+1|0}if((q|0)==10)c[a+4>>2]=0;return}function gQ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=c[d>>2]|0;g=c[e+4>>2]|0;h=PW(g|0,((g|0)<0)<<31>>31|0,h|0,((h|0)<0)<<31>>31|0)|0;g=M()|0;e=c[e>>2]|0;d=c[d+4>>2]|0;e=PW(d|0,((d|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0;f=Tm(a,b,h,g,e,M()|0,f)|0;L(M()|0);return f|0}function hQ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);g=f+8|0;h=f;c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];e=gQ(a,b,h,g,5)|0;L(M()|0);$c=f;return e|0}function iQ(a,b){a=a|0;b=b|0;if((b|0)!=0?(2147483647/(b>>>0)|0)>>>0>a>>>0:0)a=dg(H(b,a)|0)|0;else a=0;return a|0}function jQ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);g=l+16|0;k=l+8|0;i=l;j=l+32|0;h=l+24|0;f=_P(a,b,0,0,e,j)|0;e=c[j>>2]|0;a:do if((f|0)!=0&(e|0)!=0){b=(d|0)!=0;if(!b)switch(c[f+12>>2]|0){case 18:case 17:case 16:case 15:case 14:case 11:case 13:case 12:case 5:break;default:{b=-22;break a}}if(!(c[f+40>>2]&128)){j=e+(c[f+8>>2]|0)|0;do switch(c[f+12>>2]|0){case 18:{b=kQ(a,f,d,j)|0;break a}case 5:{b=lQ(d,j)|0;break a}case 7:{b=mQ(d,j)|0;break a}case 6:case 3:case 4:case 9:case 2:case 1:case 0:{b=CP(a,e,f,d,j)|0;break a}case 11:{b=nQ(a,d,j)|0;break a}case 14:{b=oQ(a,d,h)|0;if((b|0)>=0){b=c[h>>2]|0;b=DP(a,f,j,1.0,c[h+4>>2]|0,b,((b|0)<0)<<31>>31)|0}break a}case 12:{b=pQ(a,f,d,j)|0;break a}case 13:{b=qQ(a,f,d,j)|0;break a}case 15:{if(!b){b=j;c[b>>2]=0;c[b+4>>2]=0;b=0;break a}b=rQ(j,d,1)|0;if((b|0)>=0)break a;c[i>>2]=d;mf(a,16,161425,i);break a}case 16:{b=sQ(a,d,j)|0;break a}case 17:{if(b?qT(d,172028)|0:0){e=wP(d)|0;f=M()|0;if((e|0)==0&(f|0)==0){c[k>>2]=d;mf(a,16,161472,k);b=-22}else b=0;a=j;c[a>>2]=e;c[a+4>>2]=f;break a}d=j;c[d>>2]=0;c[d+4>>2]=0;break}default:{}}while(0);mf(a,16,161525,g);b=-22}else b=-22}else b=-1414549496;while(0);$c=l;return b|0}function kQ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0.0,j=0,k=0,l=0,m=0,n=0;m=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);k=m;j=m+4|0;do if(!d)f=0;else{if(qT(d,168465)|0)if(!(rP(d,163841)|0))if(!(rP(d,163870)|0)){c[j>>2]=0;h=hT(d,j,10)|0;n=d+(eU(d)|0)|0;if((n|0)==(c[j>>2]|0)){f=h;l=6}}else{f=0;l=6}else{f=1;l=6}else{f=-1;l=6}if(((l|0)==6?(i=+(f|0),!(+g[b+24>>3]>i)):0)?!(+g[b+32>>3]>2]=f;f=0;break}c[k>>2]=d;mf(a,16,163902,k);f=-22}while(0);$c=m;return f|0}function lQ(a,b){a=a|0;b=b|0;hf(b);a=vh(a)|0;c[b>>2]=a;return (a|0?0:-12)|0}function mQ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=d+4|0;hf(d);c[j>>2]=0;do if((b|0)!=0?(e=eU(b)|0,(e|0)!=0):0)if(!(e&1)){h=(e|0)/2|0;i=uf(h)|0;if(i){g=i;while(1){e=a[b>>0]|0;if(!(e<<24>>24)){b=9;break}e=IQ(e)|0;f=IQ(a[b+1>>0]|0)|0;if((f|e|0)<0){b=8;break}a[g>>0]=f|e<<4;b=b+2|0;g=g+1|0}if((b|0)==8){jf(i);e=-22;break}else if((b|0)==9){c[d>>2]=i;c[j>>2]=h;e=0;break}}else e=-12}else e=-22;else e=0;while(0);return e|0}function nQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=f;if((b|0)!=0?(qT(b,172028)|0)!=0:0){d=HQ(d,d+4|0,b)|0;if((d|0)<0){c[e>>2]=b;mf(a,16,163536,e)}}else{c[d+4>>2]=0;c[d>>2]=0;d=0}$c=f;return d|0}function oQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=g;if(b){d=FQ(d,b)|0;if((d|0)<0)f=3}else{d=-22;f=3}if((f|0)==3){c[e>>2]=b;mf(a,16,163438,e)}$c=g;return d|0}function pQ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return CQ(a,b,c,d,183,20,163399)|0}function qQ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return CQ(a,b,c,d,12,21,163282)|0}function rQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);m=q+132|0;n=q+88|0;o=q+44|0;p=q;f=n;g=f+44|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));j=b;c[j>>2]=0;c[j+4>>2]=-2147483648;j=(e|0)!=0;a:do if(j){g=(a[d>>0]|0)==45;d=g?d+1|0:d;g=g&1;f=vQ(d,163131,n)|0;if(!f){f=vQ(d,163140,n)|0;e=n+8|0;c[e>>2]=0;if(!f){c[n>>2]=hT(d,p,10)|0;f=c[p>>2]|0;if((f|0)==(d|0)){e=-22;break}else{c[n+4>>2]=0;c[e>>2]=0;e=g;d=0;k=18;break}}else{l=g;h=0;k=19}}else{l=g;h=0;k=19}}else{e=ZP()|0;f=M()|0;l=NW(e|0,f|0,1e6,0)|0;M()|0;c[m>>2]=l;if(!(oP(d,163127)|0)){c[b>>2]=e;c[b+4>>2]=f;e=0;break}else f=0;while(1){if(f>>>0>=2){e=0;break}e=vQ(d,c[77012+(f<<2)>>2]|0,n)|0;if(!e)f=f+1|0;else break}h=(e|0)==0;g=h?d:e;h=h&1;e=a[g>>0]|0;b:do switch(e<<24>>24){case 116:case 84:{d=g+1|0;break}default:{d=g;while(1){f=d+1|0;if(!(wQ(e<<24>>24)|0))break b;d=f;e=a[f>>0]|0}}}while(0);e=0;f=g;while(1){if(e>>>0>=2){e=0;d=h;k=18;break a}f=vQ(d,c[77020+(e<<2)>>2]|0,n)|0;if(!f){e=e+1|0;f=0}else{l=0;k=19;break}}}while(0);if((k|0)==18)if(!f)e=-22;else{l=e;h=d;k=19}c:do if((k|0)==19){e=a[f>>0]|0;if(e<<24>>24==46){g=1e5;d=0;while(1){f=f+1|0;if(!g)break;e=a[f>>0]|0;if(!(xQ(e)|0))break;i=(H(e+-48|0,g)|0)+d|0;g=(g>>>0)/10|0;d=i}while(1){e=a[f>>0]|0;if(!(xQ(e<<24>>24)|0)){i=f;g=e;break}else f=f+1|0}}else{d=0;i=f;g=e}d:do if(j){j=((c[n+4>>2]|0)*60|0)+((c[n+8>>2]|0)*3600|0)+(c[n>>2]|0)|0;e=((j|0)<0)<<31>>31;switch(g<<24>>24){case 109:{if((a[i+1>>0]|0)==115){i=i+2|0;d=(d|0)/1e3|0;g=1e3;h=0;f=j;break d}else k=28;break}case 117:{f=i+1|0;if((a[f>>0]|0)==115){i=i+2|0;d=0;g=1;h=0;f=j;break d}break}default:k=28}if((k|0)==28)f=i+1|0;i=g<<24>>24==115?f:i;g=1e6;h=0;f=j}else{j=(g|32)<<24>>24==122;e=j&1;i=i+e|0;h=(h|0)!=0;e:do if(h|j){f=0;g=0}else{switch(a[i>>0]|0){case 45:case 43:break;default:{f=0;g=0;break e}}f=p;g=f+44|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));g=(a[i>>0]|0)==43;f=i+1|0;i=f;e=0;while(1){if(e>>>0>=3){k=37;break}i=vQ(f,c[77028+(e<<2)>>2]|0,p)|0;if(!i){i=0;e=e+1|0}else break}if((k|0)==37)if(!i){e=-22;break c}g=H(g?-60:60,((c[p+8>>2]|0)*60|0)+(c[p+4>>2]|0)|0)|0;e=1;f=g;g=((g|0)<0)<<31>>31}while(0);if(h){if(!e){o=(Pb(m|0,o|0)|0)+12|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];c[p+16>>2]=c[o+16>>2];c[p+20>>2]=c[o+20>>2];c[p+24>>2]=c[o+24>>2];c[p+28>>2]=c[o+28>>2]}else{o=(Lb(m|0,o|0)|0)+12|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];c[p+16>>2]=c[o+16>>2];c[p+20>>2]=c[o+20>>2];c[p+24>>2]=c[o+24>>2];c[p+28>>2]=c[o+28>>2]}o=n+12|0;c[o>>2]=c[p>>2];c[o+4>>2]=c[p+4>>2];c[o+8>>2]=c[p+8>>2];c[o+12>>2]=c[p+12>>2];c[o+16>>2]=c[p+16>>2];c[o+20>>2]=c[p+20>>2];c[o+24>>2]=c[p+24>>2];c[o+28>>2]=c[p+28>>2]}p=(e|0)!=0;c[n+32>>2]=(p^1)<<31>>31;if(p)e=yQ(n)|0;else e=Rb(n|0)|0;f=JW(f|0,g|0,e|0,((e|0)<0)<<31>>31|0)|0;g=1e6;h=0;e=M()|0}while(0);p=(a[i>>0]|0)==0;e=PW(g|0,h|0,f|0,e|0)|0;e=JW(e|0,M()|0,d|0,((d|0)<0)<<31>>31|0)|0;f=M()|0;if(p){o=(l|0)!=0;n=KW(0,0,e|0,f|0)|0;p=M()|0;c[b>>2]=o?n:e;c[b+4>>2]=o?p:f;e=0}else e=-22}while(0);$c=q;return e|0}function sQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=f;if(b){d=tQ(d,b,-1,a)|0;if((d|0)<0){c[e>>2]=b;mf(a,16,161547,e)}}else d=0;$c=f;return d|0}function tQ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=$c;$c=$c+160|0;if(($c|0)>=(ad|0))N(160);r=s+16|0;n=s+8|0;m=s;q=s+28|0;o=s+32|0;l=s+24|0;if((a[d>>0]|0)==35)i=1;else{i=(sT(d,161591,2)|0)==0;i=i?2:0}if((e|0)<0)e=eU(d)|0;e=e-i+1|0;xh(o,d+i|0,e>>>0<128?e:128)|0;e=fU(o,64)|0;c[q>>2]=e;if(!e)k=0;else{k=e+1|0;c[q>>2]=k;a[e>>0]=0}h=eU(o)|0;j=b+3|0;a[j>>0]=-1;a:do if((oP(o,161594)|0)!=0?(oP(o,161601)|0)!=0:0){if((i|0)==0?(RU(o,161610)|0)!=(h|0):0){e=VU(o,75892,140,8,11)|0;if(!e){c[n>>2]=o;mf(f,16,161674,n);e=-22;break}else{p=e+4|0;a[b>>0]=a[p>>0]|0;a[b+1>>0]=a[p+1>>0]|0;a[b+2>>0]=a[p+2>>0]|0;p=20;break}}e=gT(o,l,16)|0;b:do if(!(a[c[l>>2]>>0]|0)){switch(h|0){case 8:{a[j>>0]=e;e=e>>>8;break}case 6:break;default:break b}a[b>>0]=e>>>16;a[b+1>>0]=e>>>8;a[b+2>>0]=e;p=20;break a}while(0);c[m>>2]=o;mf(f,16,161633,m);e=-22}else p=9;while(0);if((p|0)==9){o=dP()|0;a[b>>0]=o>>>24;a[b+1>>0]=o>>>16;a[b+2>>0]=o>>>8;a[j>>0]=o;p=20}do if((p|0)==20)if(!k)e=0;else{if(!(sT(k,161591,2)|0))g=+((gT(k,q,16)|0)>>>0);else{g=+TU(k,q);g=g<0.0|g>1.0?256.0:g*255.0}q=c[q>>2]|0;if((q|0)!=(k|0)?!(g<0.0|(g>255.0|(a[q>>0]|0)!=0)):0){a[j>>0]=~~g;e=0;break}c[r>>2]=k;c[r+4>>2]=d;mf(f,16,161698,r);e=-22}while(0);$c=s;return e|0}function uQ(a,b){a=a|0;b=b|0;return oP(a,c[b>>2]|0)|0}function vQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);m=o;c[m>>2]=b;h=e+8|0;i=e+4|0;j=e+20|0;k=e+16|0;l=e+12|0;a:while(1){g=d+1|0;f=a[d>>0]|0;switch(f<<24>>24){case 0:{n=27;break a}case 37:break;default:{d=(wQ(f<<24>>24)|0)==0;b=c[m>>2]|0;if(d){if((a[b>>0]|0)!=f<<24>>24){b=0;break a}c[m>>2]=b+1;d=g;continue a}while(1){d=a[b>>0]|0;if(!(d<<24>>24))break;if(!(wQ(d<<24>>24)|0))break;b=b+1|0}c[m>>2]=b;d=g;continue a}}d=d+2|0;b=a[g>>0]|0;switch(b<<24>>24|0){case 74:case 72:{b=zQ(m,0,b<<24>>24==72?23:2147483647,2)|0;if((b|0)==-1){b=0;break a}c[h>>2]=b;continue a}case 77:{b=zQ(m,0,59,2)|0;if((b|0)==-1){b=0;break a}c[i>>2]=b;continue a}case 83:{b=zQ(m,0,59,2)|0;if((b|0)==-1){b=0;break a}c[e>>2]=b;continue a}case 89:{b=zQ(m,0,9999,4)|0;if((b|0)==-1){b=0;break a}c[j>>2]=b+-1900;continue a}case 109:{b=zQ(m,1,12,2)|0;if((b|0)==-1){b=0;break a}c[k>>2]=b+-1;continue a}case 100:{b=zQ(m,1,31,2)|0;if((b|0)==-1){b=0;break a}c[l>>2]=b;continue a}case 84:{g=vQ(c[m>>2]|0,163160,e)|0;c[m>>2]=g;if(!g){b=0;break a}else continue a}case 104:case 66:case 98:{b=AQ(m)|0;if((b|0)==-1){b=0;break a}c[k>>2]=b;continue a}case 37:{g=c[m>>2]|0;c[m>>2]=g+1;if((a[g>>0]|0)==37)continue a;else{b=0;break a}}default:{b=0;break a}}}if((n|0)==27)b=c[m>>2]|0;$c=o;return b|0}function wQ(a){a=a|0;switch(a|0){case 9:case 10:case 12:case 13:case 32:{a=1;break}default:a=(a|0)==11&1}return a|0}function xQ(a){a=a|0;return (a+-48|0)>>>0<10|0}function yQ(a){a=a|0;var b=0,d=0,e=0;b=c[a+16>>2]|0;d=(b|0)<2;e=(d?1899:1900)+(c[a+20>>2]|0)|0;return ((c[a+8>>2]|0)*3600|0)+-2032579456+((c[a+4>>2]|0)*60|0)+(c[a>>2]|0)+(((e*365|0)+(c[a+12>>2]|0)+((e|0)/4|0)+((e|0)/-100|0)+((e|0)/400|0)+(((((d?13:1)+b|0)*153|0)+-457|0)/5|0)|0)*86400|0)|0}function zQ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;j=c[b>>2]|0;h=j;g=0;i=0;while(1){if((i|0)>=(f|0))break;k=a[h>>0]|0;if(!(xQ(k)|0))break;h=h+1|0;g=(g*10|0)+-48+k|0;i=i+1|0}if((h|0)!=(j|0)?!((g|0)<(d|0)|(g|0)>(e|0)):0)c[b>>2]=h;else g=-1;return g|0}function AQ(a){a=a|0;var b=0,d=0,e=0,f=0;b=0;while(1){if((b|0)>=12){b=-1;break}d=c[77040+(b<<2)>>2]|0;if(!(qP(c[a>>2]|0,d,3)|0)){e=4;break}b=b+1|0}if((e|0)==4){e=d+3|0;f=eU(e)|0;d=(c[a>>2]|0)+3|0;c[a>>2]=d;if((f|0)>0?(qP(d,e,f)|0)==0:0)c[a>>2]=(c[a>>2]|0)+f}return b|0}function BQ(a){a=a|0;var b=0;b=0;while(1){if((b|0)>=12){b=-1;break}if(!(qT(71876+(b*20|0)|0,a)|0))break;b=b+1|0}return b|0}function CQ(b,d,e,f,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0;p=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);o=p+8|0;m=p;l=p+28|0;do if((e|0)!=0?(qT(e,172028)|0)!=0:0){k=fd[i&31](e)|0;if((k|0)==-1){k=hT(e,l,0)|0;if(k>>>0>>0?(a[c[l>>2]>>0]|0)==0:0){n=7;break}else{c[m>>2]=e;c[m+4>>2]=j;mf(b,16,163296,m);i=-22;break}}else n=7}else{k=-1;n=7}while(0);do if((n|0)==7){q=+g[d+24>>3];e=~~(q>-1.0?q:-1.0);q=+g[d+32>>3];n=h+-1|0;r=+(n|0);i=~~(q>r?r:q);h=(i|e|0)==0;e=h?-1:e;i=h?n:i;if((k|0)<(e|0)|(k|0)>(i|0)){f=c[d>>2]|0;c[o>>2]=k;c[o+4>>2]=f;c[o+8>>2]=j;c[o+12>>2]=e;c[o+16>>2]=i;mf(b,16,163337,o);i=-34;break}else{c[f>>2]=k;i=0;break}}while(0);$c=p;return i|0}function DQ(a){a=a|0;var b=0,d=0,e=0,f=0;f=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);e=f;d=f+8|0;if(!(qT(a,163412)|0))b=129586;else{b=(qT(a,163418)|0)==0;b=b?129576:a}a=EQ(b)|0;if((a|0)==-1){c[e>>2]=b;c[e+4>>2]=163429;nU(d,32,163424,e)|0;a=EQ(d)|0;if((a|0)==-1){e=(qT(b,163432)|0)==0;$c=f;return (e?46:-1)|0}}$c=f;return a|0}function EQ(a){a=a|0;var b=0;b=0;while(1){if((b|0)>=183){b=-1;break}if(!(qT(c[9712+(b*152|0)>>2]|0,a)|0))break;if(rP(a,c[9712+(b*152|0)+144>>2]|0)|0)break;b=b+1|0}return b|0}function FQ(a,b){a=a|0;b=b|0;var d=0,e=0;d=0;while(1){if((d|0)>=8){e=6;break}if(!(qT(c[77088+(d*12|0)>>2]|0,b)|0)){e=4;break}d=d+1|0}if((e|0)==4){b=77088+(d*12|0)+4|0;e=c[b+4>>2]|0;d=a;c[d>>2]=c[b>>2];c[d+4>>2]=e;d=0}else if((e|0)==6){d=GQ(a,b,1001e3,64,0)|0;if((d|0)>=0)if((c[a>>2]|0)<1)d=-22;else return ((c[a+4>>2]|0)<1?-22:0)|0}return d|0}function GQ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0;k=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);j=k+8|0;i=k;h=a+4|0;c[j>>2]=a;c[j+4>>2]=h;c[j+8>>2]=k+20;do if((DU(b,163487,j)|0)!=2){b=FP(j,b,0,0,0,0,0,0,0,e,f)|0;if((b|0)<0)break;else{bQ(i,+g[j>>3],d);j=c[i+4>>2]|0;b=a;c[b>>2]=c[i>>2];c[b+4>>2]=j;b=0;break}}else{j=c[a>>2]|0;b=c[h>>2]|0;bn(a,h,j,((j|0)<0)<<31>>31,b,((b|0)<0)<<31>>31,d,((d|0)<0)<<31>>31)|0;b=0}while(0);$c=k;return b|0}function HQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);h=j;g=0;while(1){if((g|0)>=53){i=6;break}if(!(qT(c[77184+(g*12|0)>>2]|0,e)|0)){i=4;break}g=g+1|0}if((i|0)==4){f=c[77184+(g*12|0)+8>>2]|0;e=c[77184+(g*12|0)+4>>2]|0;i=10}else if((i|0)==6)if((g|0)==53){e=hT(e,h,10)|0;f=c[h>>2]|0;if(a[f>>0]|0){f=f+1|0;c[h>>2]=f}f=hT(f,h,10)|0;if(!(a[c[h>>2]>>0]|0))i=10;else e=-22}else e=-22;if((i|0)==10)if((e|0)<1|(f|0)<1)e=-22;else{c[b>>2]=e;c[d>>2]=f;e=0}$c=j;return e|0}function IQ(a){a=a|0;var b=0;b=a<<24>>24;if((a+-48&255)>=10)if((a+-97&255)<6)a=-87;else return ((a+-65&255)<6?b+-55|0:-1)|0;else a=-48;return a+b|0}function JQ(a){a=a|0;return (a>>>0>11?0:71876+(a*20|0)|0)|0}function KQ(a){a=a|0;LQ(a,0,0);return}function LQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0;l=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);k=l;j=l+8|0;i=j+4|0;e=0;a:while(1){e=Wf(a,e)|0;if(!e)break;h=a+(c[e+8>>2]|0)|0;f=c[e+40>>2]|0;if(!((f&b|0)==(d|0)&(f&128|0)==0))continue;f=c[e+12>>2]|0;switch(f|0){case 8:case 10:continue a;case 13:case 12:case 17:case 15:case 9:case 2:case 1:case 0:case 18:{f=e+16|0;DP(a,e,h,1.0,1,c[f>>2]|0,c[f+4>>2]|0)|0;continue a}case 4:case 3:{DP(a,e,h,+g[e+16>>3],1,1,0)|0;continue a}case 6:{bQ(j,+g[e+16>>3],2147483647);f=c[j>>2]|0;DP(a,e,h,1.0,c[i>>2]|0,f,((f|0)<0)<<31>>31)|0;continue a}case 16:{sQ(a,c[e+16>>2]|0,h)|0;continue a}case 5:{lQ(c[e+16>>2]|0,h)|0;continue a}case 11:{nQ(a,c[e+16>>2]|0,h)|0;continue a}case 14:{oQ(a,c[e+16>>2]|0,h)|0;continue a}case 7:{mQ(c[e+16>>2]|0,h)|0;continue a}default:{h=c[e>>2]|0;c[k>>2]=f;c[k+4>>2]=h;mf(a,48,163948,k);continue a}}}$c=l;return}function MQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);i=j;g=j+8|0;c[g>>2]=0;do if(b){f=0;while(1){f=th(c[b>>2]|0,262104,f,2)|0;if(!f){d=7;break}h=f+4|0;e=jQ(a,c[f>>2]|0,c[h>>2]|0,d)|0;if((e|0)==-1414549496)e=uh(g,c[f>>2]|0,c[h>>2]|0,0)|0;if((e|0)<0){d=6;break}}if((d|0)==6){h=c[h>>2]|0;c[i>>2]=c[f>>2];c[i+4>>2]=h;mf(a,16,163999,i);Xf(g);break}else if((d|0)==7){Xf(b);c[b>>2]=c[g>>2];e=0;break}}else e=0;while(0);$c=j;return e|0}function NQ(a,b){a=a|0;b=b|0;return MQ(a,b,0)|0}function OQ(a){a=a|0;if(a>>>0<=11){if(!(3040>>>a&1))a=c[71876+(a*20|0)+16>>2]|0}else a=-1;return a|0}function PQ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);g=m;if((f|0)<=-1){c[g>>2]=164037;c[g+4>>2]=164053;c[g+8>>2]=102;mf(0,0,164250,g);ub()}if(!f){f=dQ()|0;f=(f|0)>1?f+1|0:1}k=(e|0)==0;j=f+(k<<31>>31)|0;l=dg(120)|0;c[a>>2]=l;a:do if(!l)f=-12;else{if(j|0?(i=iQ(j,88)|0,c[l>>2]=i,(i|0)==0):0){hf(a);f=-12;break}c[l+108>>2]=b;c[l+112>>2]=d;c[l+116>>2]=e;b=l+4|0;c[b>>2]=f;g=l+8|0;c[l+104>>2]=0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;eV(l+24|0,0)|0;Tb(l+52|0,0)|0;c[l+100>>2]=0;g=0;while(1){if((g|0)>=(j|0))break a;n=c[l>>2]|0;i=n+(g*88|0)|0;c[i>>2]=l;d=n+(g*88|0)+4|0;eV(d,0)|0;e=n+(g*88|0)+32|0;Tb(e|0,0)|0;fV(d)|0;h=n+(g*88|0)+84|0;c[h>>2]=0;i=Wb(n+(g*88|0)+80|0,0,22,i|0)|0;if(i|0)break;while(1){if(c[h>>2]|0)break;Vb(e|0,d|0)|0}gV(d)|0;g=g+1|0}c[b>>2]=g+(k&1);gV(d)|0;Sb(e|0)|0;hV(d)|0;RQ(a);f=0-i|0}while(0);$c=m;return f|0}function QQ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=c[a>>2]|0;h=a+4|0;fV(h)|0;i=a+32|0;Ub(i|0)|0;j=g+104|0;a=a+84|0;b=g+24|0;d=g+100|0;e=g+52|0;while(1){c[a>>2]=1;f=1;while(1){if(!f)break;Vb(i|0,h|0)|0;f=c[a>>2]|0}if(c[j>>2]|0)break;if(!(SQ(g)|0))continue;fV(b)|0;c[d>>2]=1;Ub(e|0)|0;gV(b)|0}gV(h)|0;return 0}function RQ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(a|0?(e=c[a>>2]|0,e|0):0){d=(c[e+4>>2]|0)+(((c[e+116>>2]|0)==0)<<31>>31)|0;c[e+104>>2]=1;b=0;while(1){if((b|0)>=(d|0)){b=0;break}g=c[e>>2]|0;f=g+(b*88|0)+4|0;fV(f)|0;c[g+(b*88|0)+84>>2]=0;Ub(g+(b*88|0)+32|0)|0;gV(f)|0;b=b+1|0}while(1){if((b|0)>=(d|0))break;g=c[e>>2]|0;Xb(c[g+(b*88|0)+80>>2]|0,0)|0;Sb(g+(b*88|0)+32|0)|0;hV(g+(b*88|0)+4|0)|0;b=b+1|0}Sb(e+52|0)|0;hV(e+24|0)|0;hf(e);hf(a)}return}function SQ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;d=c[a+12>>2]|0;e=c[a+8>>2]|0;g=a+16|0;f=c[g>>2]|0;c[g>>2]=f+1;g=a+112|0;h=a+108|0;b=a+20|0;a=f;do{rd[c[g>>2]&127](c[h>>2]|0,a,f,d,e);a=c[b>>2]|0;c[b>>2]=a+1}while(a>>>0>>0);return (a|0)==(d+-1+e|0)|0}function TQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;h=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=h;if((b|0)<=0){c[e>>2]=164077;c[e+4>>2]=164053;c[e+8>>2]=168;mf(0,0,164250,e);ub()}c[a+12>>2]=b;f=c[a+4>>2]|0;e=a+8|0;c[e>>2]=(f|0)<(b|0)?f:b;c[a+16>>2]=0;c[a+20>>2]=c[e>>2];f=a+116|0;d=(d|0)!=0;b=(c[e>>2]|0)+((d&(c[f>>2]|0)!=0^1)<<31>>31)|0;e=0;while(1){if((e|0)>=(b|0))break;j=c[a>>2]|0;i=j+(e*88|0)+4|0;fV(i)|0;c[j+(e*88|0)+84>>2]=0;Ub(j+(e*88|0)+32|0)|0;gV(i)|0;e=e+1|0}b=c[f>>2]|0;if(!(d&(b|0)!=0)){if(!(SQ(a)|0))g=9}else{nd[b&63](c[a+108>>2]|0);g=9}if((g|0)==9){e=a+24|0;fV(e)|0;d=a+100|0;b=a+52|0;while(1){if(c[d>>2]|0)break;Vb(b|0,e|0)|0}c[d>>2]=0;gV(e)|0}$c=h;return}function UQ(a){a=a|0;var b=0,d=0;d=c[a>>2]|0;b=c[77820+(d<<2)>>2]|0;lV(185204,4)|0;if(!d)c[a>>2]=1;return b|0}function VQ(){var a=0,b=0;a=0;while(1){b=c[77820+(a<<2)>>2]|0;if(a|0)break;a=c[b+76>>2]|0;if(!a){a=1;continue}nd[a&63](b);a=1}return}function WQ(){var a=0,b=0,d=0,e=0;e=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);b=e;c[b>>2]=0;a=0;while(1){d=UQ(b)|0;if(!d)break;if(!a){a=d;continue}c[a+60>>2]=d;a=d}$c=e;return}function XQ(a){a=a|0;lV(185208,5)|0;if(!a)a=71704;else a=c[a+60>>2]|0;return a|0}function YQ(a){a=a|0;return _Q(a,23)|0}function ZQ(a){a=a|0;if(a)if((c[a+84>>2]|0)==0?(c[a+88>>2]|0)==0:0)a=(c[a+100>>2]|0)!=0&1;else a=1;else a=0;return a|0}function _Q(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=g;c[f>>2]=0;d=$Q(a)|0;a=0;a:while(1){while(1){e=UQ(f)|0;if(!e)break a;if(!(fd[b&31](e)|0))continue;if((c[e+12>>2]|0)==(d|0))break}if(a|0?1:(c[e+16>>2]&512|0)==0){a=e;break}else a=e}$c=g;return a|0}function $Q(a){a=a|0;return a|0}function aR(a){a=a|0;return _Q(a,24)|0}function bR(a){a=a|0;if(a)if(!(c[a+92>>2]|0))a=(c[a+108>>2]|0)!=0&1;else a=1;else a=0;return a|0}function cR(a){a=a|0;var b=0;b=uf(896)|0;if(b){if((nR(b,a)|0)<0){jf(b);b=0}}else b=0;return b|0}function dR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;if(a|0){if(eR(a)|0){f=a+28|0;b=c[f>>2]|0;e=c[b+16>>2]|0;if(c[b+20>>2]|0)fR(a);b=c[a+12>>2]|0;if(b|0?(d=c[b+96>>2]|0,d|0):0)fd[d&31](a)|0;b=c[f>>2]|0;c[b+48>>2]=0;hf(b+44|0);Xg((c[f>>2]|0)+12|0);Xg((c[f>>2]|0)+100|0);Xg((c[f>>2]|0)+76|0);Of((c[f>>2]|0)+68|0);Of((c[f>>2]|0)+40|0);Of((c[f>>2]|0)+24|0);b=0;while(1){if((b|0)==4)break;og(e+(b<<2)|0);b=b+1|0}hf((c[f>>2]|0)+16|0);b=c[a+592>>2]|0;if(b|0?(g=c[b+52>>2]|0,g|0):0)fd[g&31](a)|0;hf((c[f>>2]|0)+60|0);gR(a);hf(f)}d=a+856|0;e=a+852|0;b=0;while(1){if((b|0)>=(c[d>>2]|0))break;hf((c[e>>2]|0)+(b*12|0)|0);b=b+1|0}hf(e);c[d>>2]=0;Tf(a+860|0);Tf(a+880|0);d=a+24|0;e=c[d>>2]|0;b=a+12|0;if((e|0?(h=c[b>>2]|0,h|0):0)?c[h+44>>2]|0:0)Nf(e);Nf(a);hf(d);if(ZQ(c[b>>2]|0)|0){hf(a+68|0);Xg(a+684|0)}c[b>>2]=0;c[a+696>>2]=0}return 0}function eR(a){a=a|0;return (c[a+28>>2]|0)!=0|0}function fR(a){a=a|0;if(!(c[a+696>>2]&1))iR(a);else hR(a,c[a+688>>2]|0);return}function gR(a){a=a|0;var b=0,d=0;d=c[a+28>>2]|0;b=d+36|0;d=d+32|0;a=0;while(1){if((a|0)>=(c[b>>2]|0))break;Mf((c[d>>2]|0)+(a<<2)|0);a=a+1|0}hf(d);c[b>>2]=0;return}function hR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);h=p;k=a+28|0;l=c[(c[k>>2]|0)+20>>2]|0;n=a+12|0;e=c[n>>2]|0;jR(l,b);f=l+4|0;g=c[f>>2]|0;if((g|0?(d=c[l>>2]|0,(g|0)!=(d|0)):0)?(kR(c[d+212>>2]|0,c[g+212>>2]|0,0)|0)<0:0){mf(a,16,164089,h);h=c[(c[(c[l>>2]|0)+212>>2]|0)+28>>2]|0;c[c[(c[(c[f>>2]|0)+212>>2]|0)+28>>2]>>2]=c[h>>2];c[h>>2]=1}f=e+96|0;e=0;while(1){if((e|0)>=(b|0)){d=0;break}g=c[l>>2]|0;h=g+(e*352|0)|0;d=g+(e*352|0)+156|0;fV(d)|0;c[g+(e*352|0)+332>>2]=1;Ub(g+(e*352|0)+12|0)|0;gV(d)|0;d=g+(e*352|0)+8|0;if(c[d>>2]|0)Xb(c[g+(e*352|0)+4>>2]|0,0)|0;c[d>>2]=0;d=c[f>>2]|0;if(d|0?(i=c[g+(e*352|0)+212>>2]|0,i|0):0)fd[d&31](i)|0;lR(h);Xg(g+(e*352|0)+288|0);e=e+1|0}while(1){if((d|0)>=(b|0))break;e=c[l>>2]|0;hV(e+(d*352|0)+156|0)|0;hV(e+(d*352|0)+184|0)|0;Sb(e+(d*352|0)+12|0)|0;Sb(e+(d*352|0)+60|0)|0;Sb(e+(d*352|0)+108|0)|0;Rf(e+(d*352|0)+216|0);hf(e+(d*352|0)+304|0);e=e+(d*352|0)+212|0;if(d){f=c[e>>2]|0;if(f|0){hf(f+24|0);hf((c[e>>2]|0)+184|0);m=17}}else m=17;if((m|0)==17?(m=0,j=c[e>>2]|0,j|0):0){hf(j+28|0);Tf((c[e>>2]|0)+860|0)}hf(e);d=d+1|0}hf(l);hV(l+8|0)|0;hV(l+36|0)|0;hV(l+64|0)|0;Sb(l+92|0)|0;hf((c[k>>2]|0)+20|0);d=c[a+24>>2]|0;if((d|0?(o=c[n>>2]|0,o|0):0)?c[o+44>>2]|0:0)Nf(d);c[n>>2]=0;$c=p;return}function iR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=a+28|0;d=c[(c[b>>2]|0)+20>>2]|0;RQ(d);e=d+36|0;f=d+44|0;g=d+40|0;a=0;while(1){if((a|0)>=(c[e>>2]|0))break;hV((c[f>>2]|0)+(a*28|0)|0)|0;Sb((c[g>>2]|0)+(a*48|0)|0)|0;a=a+1|0}hf(d+28|0);hf(f);hf(g);hf((c[b>>2]|0)+20|0);return}function jR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;mR(a);d=0;while(1){if((d|0)>=(b|0))break;e=c[a>>2]|0;f=e+(d*352|0)+300|0;if(c[f>>2]|0){g=e+(d*352|0)+184|0;fV(g)|0;h=e+(d*352|0)+108|0;while(1){if(!(c[f>>2]|0))break;Vb(h|0,g|0)|0}gV(g)|0}c[e+(d*352|0)+292>>2]=0;d=d+1|0}jl(a);return}function kR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;do if((a|0)==(b|0))k=10;else{if((d|0)==0?c[(c[b+780>>2]|0)+16>>2]&1|0:0){k=12;break}e=b+76|0;f=c[e+4>>2]|0;g=a+76|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;g=b+760|0;f=c[g+4>>2]|0;e=a+760|0;c[e>>2]=c[g>>2];c[e+4>>2]=f;c[a+92>>2]=c[b+92>>2];c[a+96>>2]=c[b+96>>2];c[a+112>>2]=c[b+112>>2];c[a+768>>2]=c[b+768>>2];c[a+100>>2]=c[b+100>>2];c[a+104>>2]=c[b+104>>2];c[a+140>>2]=c[b+140>>2];c[a+668>>2]=c[b+668>>2];c[a+672>>2]=c[b+672>>2];e=b+188|0;f=c[e+4>>2]|0;g=a+188|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;c[a+716>>2]=c[b+716>>2];c[a+720>>2]=c[b+720>>2];c[a+676>>2]=c[b+676>>2];c[a+84>>2]=c[b+84>>2];c[a+316>>2]=c[b+316>>2];c[a+320>>2]=c[b+320>>2];c[a+324>>2]=c[b+324>>2];c[a+328>>2]=c[b+328>>2];c[a+332>>2]=c[b+332>>2];c[a+592>>2]=c[b+592>>2];c[a+596>>2]=c[b+596>>2];c[a+348>>2]=c[b+348>>2];c[a+344>>2]=c[b+344>>2];c[a+352>>2]=c[b+352>>2];g=b+376|0;f=c[g+4>>2]|0;e=a+376|0;c[e>>2]=c[g>>2];c[e+4>>2]=f;c[(c[a+28>>2]|0)+60>>2]=c[(c[b+28>>2]|0)+60>>2];e=a+860|0;f=c[e>>2]|0;g=(f|0)!=0;h=b+860|0;i=c[h>>2]|0;if(!(g^(i|0)!=0)){if(g?(c[f+4>>2]|0)!=(c[i+4>>2]|0):0)k=7}else k=7;if(((k|0)==7?(Tf(e),j=c[h>>2]|0,j|0):0)?(j=Vg(j)|0,c[e>>2]=j,(j|0)==0):0){e=-12;break}c[a+884>>2]=c[b+884>>2];k=10}while(0);if((k|0)==10)if(!d)k=12;else{c[a+88>>2]=(c[b+688>>2]|0)+-1;c[a+684>>2]=c[b+684>>2];e=0}if((k|0)==12){e=c[(c[a+12>>2]|0)+68>>2]|0;if(!e)e=0;else e=hd[e&15](a,b)|0}return e|0}function lR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=g;b=a+308|0;d=(c[a>>2]|0)+8|0;e=a+212|0;a=a+304|0;while(1){if((c[b>>2]|0)<=0){a=6;break}fV(d)|0;if((c[(c[e>>2]|0)+8>>2]|0)>>>0>=2){a=4;break}j=c[a>>2]|0;i=(c[b>>2]|0)+-1|0;c[b>>2]=i;h=j+(i*408|0)|0;c[j+(i*408|0)+64>>2]=h;sg(h);gV(d)|0}if((a|0)==4){c[f>>2]=164117;c[f+4>>2]=164206;c[f+8>>2]=371;mf(0,0,164250,f);ub()}else if((a|0)==6){$c=g;return}}function mR(a){a=a|0;var b=0,d=0,e=0,f=0;f=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=f;b=a+64|0;fV(b)|0;d=a+140|0;if(!(c[d>>2]|0)){c[e>>2]=164233;c[e+4>>2]=164206;c[e+8>>2]=155;mf(0,0,164250,e);ub()}else{c[d>>2]=0;$W(a+92|0)|0;gV(b)|0;$c=f;return}}function nR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);h=i;_W(a|0,0,896)|0;c[a>>2]=77828;e=(b|0)!=0;a:do if(e){d=c[b+8>>2]|0;c[a+8>>2]=d;c[a+12>>2]=b;c[a+16>>2]=c[b+12>>2];switch(d|0){case 1:{d=8;break a}case 0:{d=16;break a}case 3:{d=32;break a}default:{f=6;break a}}}else{c[a+8>>2]=-1;f=6}while(0);if((f|0)==6)d=0;LQ(a,d,d);c[a+76>>2]=0;c[a+80>>2]=1;c[a+760>>2]=0;c[a+764>>2]=1;c[a+772>>2]=0;c[a+776>>2]=1;c[a+400>>2]=11;c[a+120>>2]=10;c[a+704>>2]=4;c[a+708>>2]=41;c[a+188>>2]=0;c[a+192>>2]=1;c[a+112>>2]=-1;c[a+768>>2]=-1;c[a+352>>2]=-1;f=a+584|0;c[f>>2]=0;c[f+4>>2]=-2147483648;b:do if(e){e=c[b+56>>2]|0;if(e|0){f=a+24|0;d=c[f>>2]|0;if(!d){d=dg(e)|0;c[f>>2]=d;if(!d){g=-12;break}}e=c[b+44>>2]|0;if(e|0){c[d>>2]=e;KQ(c[f>>2]|0)}}d=c[b+72>>2]|0;if(d){while(1){e=c[d>>2]|0;if(!e){g=0;break b}if((jQ(a,e,c[d+4>>2]|0,0)|0)>-1)d=d+8|0;else break}c[h>>2]=164280;c[h+4>>2]=164289;c[h+8>>2]=142;mf(0,0,164250,h);ub()}else g=0}else g=0;while(0);$c=i;return g|0}function oR(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=(e|0)==0;h=0;while(1){if((h|0)>=(f|0))break;i=d+(H(h,g)|0)|0;i=hd[b&15](a,i)|0;if(!j)c[e+(h<<2)>>2]=i;h=h+1|0}return 0}function pR(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=(e|0)==0;g=0;while(1){if((g|0)>=(f|0))break;i=jd[b&3](a,d,g,0)|0;if(!h)c[e+(g<<2)>>2]=i;g=g+1|0}return 0}function qR(a){a=a|0;var b=0,d=0;if(!(((a|0)!=0?(d=c[a+12>>2]|0,(d|0)!=0):0)?(b=c[d>>2]|0,(b|0)!=0):0))b=175401;return b|0}function rR(a,b){a=a|0;b=b|0;var d=0,e=0;if(!((((b|0)==0?(e=c[a+12>>2]|0,(e|0)!=0):0)?(c[e+44>>2]|0)!=0:0)?(d=c[a+24>>2]|0,(d|0)!=0):0))d=0;return d|0}function sR(a){a=a|0;var b=0;a:do if(!a)a=0;else{b=0;while(1){b=XQ(b)|0;if(!b){a=0;break a}if((c[b+44>>2]|0)==(a|0)){a=b;break}}}while(0);do{a=XQ(a)|0;if(!a){b=0;break}b=c[a+44>>2]|0}while(!(b|0));return b|0}function tR(a){a=a|0;a=c[a+12>>2]|0;if((a|0)!=0?(c[a+92>>2]|0)!=0:0)a=6;else a=5;return a|0}function uR(b,d){b=b|0;d=d|0;var e=0;if(d>>>0<=2147483582){e=vP(b,d+64|0)|0;if((e|0)>=0){e=(c[(c[b>>2]|0)+4>>2]|0)+d|0;b=e+64|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(b|0));e=0}}else e=-22;return e|0}function vR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=a+44|0;j=c[i>>2]|0;h=a+40|0;a=0;while(1){if((a|0)>=(j|0)){g=6;break}f=c[h>>2]|0;if((c[f+(a*12|0)+8>>2]|0)==(b|0)){g=4;break}a=a+1|0}if((g|0)==4){j=f+(a*12|0)|0;jf(c[j>>2]|0);c[j>>2]=d;c[f+(a*12|0)+4>>2]=e;a=0}else if((g|0)==6){a=j+1|0;if(a>>>0<=24){a=tf(c[h>>2]|0,a*12|0)|0;if(!a)a=-12;else{c[h>>2]=a;c[a+(j*12|0)>>2]=d;c[a+(j*12|0)+4>>2]=e;c[a+(j*12|0)+8>>2]=b;c[i>>2]=(c[i>>2]|0)+1;a=0}}else a=-34}return a|0}function wR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=g;if(d>>>0<=2147483583?(e=dg(d+64|0)|0,c[f>>2]=e,(e|0)!=0):0){if((vR(a,b,e,d)|0)<0){hf(f);e=0}}else e=0;$c=g;return e|0}function xR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=b+8|0;d=c[g+4>>2]|0;h=a+8|0;c[h>>2]=c[g>>2];c[h+4>>2]=d;h=b+16|0;d=c[h+4>>2]|0;g=a+16|0;c[g>>2]=c[h>>2];c[g+4>>2]=d;g=b+56|0;d=c[g+4>>2]|0;h=a+56|0;c[h>>2]=c[g>>2];c[h+4>>2]=d;h=b+48|0;d=c[h+4>>2]|0;g=a+48|0;c[g>>2]=c[h>>2];c[g+4>>2]=d;g=b+64|0;d=c[g+4>>2]|0;h=a+64|0;c[h>>2]=c[g>>2];c[h+4>>2]=d;c[a+36>>2]=c[b+36>>2];c[a+32>>2]=c[b+32>>2];c[a+40>>2]=0;c[a+44>>2]=0;h=b+44|0;d=b+40|0;b=0;while(1){if((b|0)>=(c[h>>2]|0)){b=0;break}g=c[d>>2]|0;e=c[g+(b*12|0)+4>>2]|0;f=c[g+(b*12|0)>>2]|0;g=wR(a,c[g+(b*12|0)+8>>2]|0,e)|0;if(!g){i=4;break}YW(g|0,f|0,e|0)|0;b=b+1|0}if((i|0)==4){Sf(a);b=-12}return b|0}function yR(a,b){a=a|0;b=b|0;var d=0,e=0;d=xR(a,b)|0;do if((d|0)>=0){d=c[b>>2]|0;if(!d){e=b+28|0;d=uR(a,c[e>>2]|0)|0;if((d|0)<0)b=10;else{d=c[e>>2]|0;if(d|0)YW(c[(c[a>>2]|0)+4>>2]|0,c[b+24>>2]|0,d|0)|0;d=(c[a>>2]|0)+4|0;b=9}}else{e=Vg(d)|0;c[a>>2]=e;if(!e){d=-12;b=10}else{e=b+28|0;d=b+24|0;b=9}}if((b|0)==9){c[a+24>>2]=c[d>>2];c[a+28>>2]=c[e>>2];d=0;break}else if((b|0)==10){Sf(a);break}}while(0);return d|0}function zR(a){a=a|0;var b=0,d=0;d=c[a>>2]|0;b=c[77872+(d<<2)>>2]|0;if(!d)c[a>>2]=1;return b|0}function AR(a){a=a|0;var b=0,d=0,e=0;e=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);d=e;c[d>>2]=0;do{b=zR(d)|0;if(!b){b=0;break}}while((qT(c[b>>2]|0,a)|0)!=0);$c=e;return b|0}function BR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);h=j;e=dg(40)|0;c[h>>2]=e;a:do if(!e)d=-12;else{c[e>>2]=77880;c[e+4>>2]=a;f=e+16|0;c[f>>2]=DR()|0;k=DR()|0;c[e+20>>2]=k;do if((!((k|0)==0|(c[f>>2]|0)==0)?(k=dg(8)|0,d=e+8|0,c[d>>2]=k,k|0):0)?(g=cP()|0,c[c[d>>2]>>2]=g,g=c[h>>2]|0,i=g,c[c[g+8>>2]>>2]|0):0){KQ(g);d=c[a+12>>2]|0;if(d|0){f=dg(d)|0;e=g+12|0;c[e>>2]=f;if(!f)break;d=c[a+8>>2]|0;if(d|0){c[f>>2]=d;KQ(c[e>>2]|0)}}c[b>>2]=i;d=0;break a}while(0);Mf(h);d=-12}while(0);$c=j;return d|0}function CR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;Qf(a);e=c[b+8>>2]|0;c[a>>2]=e;c[a+4>>2]=c[b+16>>2];c[a+8>>2]=c[b+20>>2];g=b+40|0;f=c[g+4>>2]|0;d=a+24|0;c[d>>2]=c[g>>2];c[d+4>>2]=f;c[a+32>>2]=c[b+672>>2];c[a+36>>2]=c[b+676>>2];c[a+40>>2]=c[b+716>>2];c[a+44>>2]=c[b+720>>2];switch(e|0){case 0:{c[a+20>>2]=c[b+112>>2];c[a+48>>2]=c[b+92>>2];c[a+52>>2]=c[b+96>>2];c[a+64>>2]=c[b+340>>2];c[a+68>>2]=c[b+328>>2];c[a+72>>2]=c[b+316>>2];c[a+76>>2]=c[b+320>>2];c[a+80>>2]=c[b+324>>2];c[a+84>>2]=c[b+332>>2];e=b+188|0;f=c[e+4>>2]|0;g=a+56|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;c[a+88>>2]=c[b+140>>2];break}case 1:{c[a+20>>2]=c[b+352>>2];e=b+376|0;f=c[e+4>>2]|0;g=a+96|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;c[a+104>>2]=c[b+348>>2];c[a+108>>2]=c[b+344>>2];c[a+112>>2]=c[b+364>>2];c[a+116>>2]=c[b+356>>2];c[a+120>>2]=c[b+756>>2];c[a+124>>2]=c[b+868>>2];c[a+128>>2]=c[b+828>>2];break}case 3:{c[a+48>>2]=c[b+92>>2];c[a+52>>2]=c[b+96>>2];break}default:{}}e=b+68|0;if(c[e>>2]|0){b=b+72|0;d=dg((c[b>>2]|0)+64|0)|0;c[a+12>>2]=d;if(!d)b=-12;else{b=c[b>>2]|0;YW(d|0,c[e>>2]|0,b|0)|0;c[a+16>>2]=b;b=0}}else b=0;return b|0}function DR(){var a=0;a=dg(136)|0;if(!a)a=0;else Qf(a);return a|0}function ER(a,b){a=a|0;b=b|0;if((b|0)==0?(c[(c[a+4>>2]|0)+8>>2]|0)!=0:0)a=c[a+12>>2]|0;else a=0;return a|0}function FR(a){a=a|0;var b=0,d=0,e=0;e=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);d=e;c[d>>2]=0;a:do if(a|0)do{b=zR(d)|0;if(!b)break a}while((c[b+8>>2]|0)!=(a|0));while(0);do{a=zR(d)|0;if(!a){a=0;break}a=c[a+8>>2]|0}while(!(a|0));$c=e;return a|0}function GR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=a+28|0;g=c[e>>2]|0;f=g+64|0;do if(!(c[f>>2]|0)){d=HR(a,b)|0;if((d|0)==-541478725){c[f>>2]=1;d=-541478725;break}if((d|0)>=0){d=IR(c[e>>2]|0,b)|0;if((d|0)>=0){d=JR(a,b)|0;if((d|0)>=0){if(!(c[(c[a+12>>2]|0)+108>>2]|0)){d=0;break}d=g+92|0;c[d>>2]=(c[d>>2]|0)+(c[b+28>>2]|0);d=0;break}}Rf(b)}}else d=-541478725;while(0);return d|0}function HR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);i=k;h=c[a+28>>2]|0;g=h+36|0;h=h+32|0;f=(c[g>>2]|0)+-1|0;while(1){if((f|0)<=-1){d=-11;break}d=Yf(c[(c[h>>2]|0)+(f<<2)>>2]|0,b)|0;if((d|0)==-11){f=f+-1|0;continue}e=(d|0)<0;if(e&(d|0)!=-541478725)break;if((f|0)==((c[g>>2]|0)+-1|0))break;f=f+1|0;d=Zf(c[(c[h>>2]|0)+(f<<2)>>2]|0,e?0:b)|0;if((d|0)<0){j=8;break}}if((j|0)==8){mf(a,16,175624,i);Rf(b)}$c=k;return d|0}function IR(a,b){a=a|0;b=b|0;var d=0;d=a+40|0;Rf(c[d>>2]|0);if(b){a=xR(c[d>>2]|0,b)|0;if(!a){c[(c[d>>2]|0)+28>>2]=c[b+28>>2];a=0}}else a=0;return a|0}function JR(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);m=n+32|0;l=n+24|0;j=n+16|0;h=n+8|0;e=n;k=n+36|0;c[k>>2]=0;g=Ih(b,2,k)|0;a:do if(!g)b=0;else{b:do if(!(c[(c[a+12>>2]|0)+16>>2]&16384)){mf(a,16,175419,e);b=-22;e=a}else{f=c[k>>2]|0;c:do if((f|0)>=4){e=g+4|0;i=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;b=f+-4|0;c[k>>2]=b;do if(i&1){if((f|0)<8)break c;b=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if((b|0)<1){mf(a,16,175512,h);b=-1094995529;e=a;break b}else{c[a+348>>2]=b;b=f+-8|0;c[k>>2]=b;e=g+8|0;break}}while(0);if(i&2){if((b|0)<8)break;g=e;f=g;g=g+4|0;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;h=a+376|0;c[h>>2]=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;c[h+4>>2]=g;b=b+-8|0;c[k>>2]=b;e=e+8|0}do if(i&4){if((b|0)<4)break c;f=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if((f|0)<1){mf(a,16,175534,j);b=-1094995529;e=a;break b}else{c[a+344>>2]=f;b=b+-4|0;c[k>>2]=b;e=e+4|0;break}}while(0);if(!(i&8)){b=0;break a}if((b|0)>=8){l=e+4|0;j=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;c[a+92>>2]=j;l=d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24;c[a+96>>2]=l;c[k>>2]=b+-8;b=KR(a,j,l)|0;if((b|0)>=0){b=0;break a}e=a;break b}}while(0);mf(a,16,175554,l);b=-1094995529;e=a}while(0);mf(e,16,175589,m);b=(c[a+580>>2]&8|0)==0?0:b}while(0);$c=n;return b|0}function KR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=a+872|0;e=oh(b,d,c[e>>2]|0,c[e+4>>2]|0,-1,0,a)|0;g=(e|0)<0;f=g?0:d;b=g?0:b;c[a+100>>2]=b;c[a+104>>2]=f;d=c[a+680>>2]|0;c[a+92>>2]=0-(0-b>>d);c[a+96>>2]=0-(0-f>>d);return e|0}function LR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=a+28|0;g=c[d>>2]|0;a:do if((eR(a)|0)!=0?(bR(c[a+12>>2]|0)|0)!=0:0)if(!(c[(c[d>>2]|0)+64>>2]|0)){e=(b|0)!=0;if((e?(c[b+28>>2]|0)==0:0)?c[b+24>>2]|0:0){d=-22;break}d=MR(a)|0;if((d|0)>=0){f=g+68|0;Rf(c[f>>2]|0);do if(e){if((c[b+24>>2]|0)==0?(c[b+44>>2]|0)==0:0)break;d=yR(c[f>>2]|0,b)|0;if((d|0)<0)break a}while(0);d=Zf(c[c[g+32>>2]>>2]|0,c[f>>2]|0)|0;if((d|0)<0){Rf(c[f>>2]|0);break}d=c[g+76>>2]|0;b:do if((c[d+248>>2]|0)==0?(h=NR(a,d)|0,(h|0)<0):0)if((h|0)<-11)switch(h|0){case -541478725:break b;default:{d=h;break a}}else switch(h|0){case -11:break b;default:{d=h;break a}}while(0);d=0}}else d=-541478725;else d=-22;while(0);return d|0}function MR(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);k=m;h=m+8|0;i=m+4|0;d=c[b+28>>2]|0;j=d+36|0;a:do if(!(c[j>>2]|0)){f=c[(c[b+12>>2]|0)+120>>2]|0;f=(f|0)==0?176194:f;c[h>>2]=f;g=d+32|0;d=f;while(1){if(!d){d=0;break a}if(!(a[d>>0]|0)){d=0;break a}d=nP(h,176199)|0;c[i>>2]=d;if(!d){d=-12;break}d=AR(d)|0;if(!d){l=8;break}hf(i);e=RM(c[g>>2]|0,(c[j>>2]|0)+1|0,4)|0;if(!e){d=-12;break}c[g>>2]=e;f=c[j>>2]|0;c[j>>2]=f+1;d=BR(d,e+(f<<2)|0)|0;if((d|0)<0)break;d=c[j>>2]|0;e=c[g>>2]|0;f=c[e+(d+-1<<2)>>2]|0;if((d|0)==1){c[f+24>>2]=1;c[f+28>>2]=9e4;d=CR(c[(c[(c[g>>2]|0)+((c[j>>2]|0)+-1<<2)>>2]|0)+16>>2]|0,b)|0}else{e=(c[e+(d+-2<<2)>>2]|0)+32|0;d=c[e+4>>2]|0;f=f+24|0;c[f>>2]=c[e>>2];c[f+4>>2]=d;f=c[g>>2]|0;d=c[j>>2]|0;d=$f(c[(c[f+(d+-1<<2)>>2]|0)+16>>2]|0,c[(c[f+(d+-2<<2)>>2]|0)+20>>2]|0)|0}if((d|0)<0)break;d=ag(c[(c[g>>2]|0)+((c[j>>2]|0)+-1<<2)>>2]|0)|0;if((d|0)<0)break;d=c[h>>2]|0}if((l|0)==8){c[k>>2]=c[i>>2];mf(b,16,176201,k);hf(i);d=-558323010}gR(b)}else d=0;while(0);$c=m;return d|0}function NR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);g=i+16|0;d=i;e=c[a+28>>2]|0;if(c[b+248>>2]|0){c[d>>2]=175671;c[d+4>>2]=129192;c[d+8>>2]=607;mf(0,0,164250,d);ub()}f=a+12|0;d=c[(c[f>>2]|0)+108>>2]|0;if(!d)d=OR(a,b)|0;else d=hd[d&15](a,b)|0;a:do if((d|0)>=0){switch(d|0){case 0:break;default:{h=16;break a}}d=c[b+400>>2]|0;e=(d|0)==0;if(!(!e?(c[d+8>>2]|0)==20:0))h=10;do if((h|0)==10)if(!(c[(c[f>>2]|0)+16>>2]&2))if(e){d=0;h=16;break a}else break;else{c[g>>2]=175686;c[g+4>>2]=129192;c[g+8>>2]=621;mf(0,0,164250,g);ub()}while(0);d=c[c[d+4>>2]>>2]|0;if(d){d=hd[d&15](a,b)|0;if((d|0)<0)sg(b);else h=16}else{d=0;h=16}}else{switch(d|0){case -541478725:break;default:{h=16;break a}}c[e+80>>2]=1;d=-541478725;h=16}while(0);if((h|0)==16)Tf(b+400|0);$c=i;return d|0}function OR(a,b){a=a|0;b=b|0;var d=0,e=0;e=b+248|0;do{if(c[e>>2]|0){d=0;break}d=PR(a,b)|0}while((d|0)>=0);return d|0}function PR(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);K=X+128|0;J=X+120|0;W=X+64|0;R=X+56|0;G=X+48|0;E=X+40|0;B=X+32|0;x=X+24|0;r=X+16|0;o=X+8|0;j=X;U=X+96|0;i=X+76|0;q=X+112|0;A=X+104|0;O=X+88|0;P=X+80|0;Q=b+28|0;V=c[Q>>2]|0;S=c[V+24>>2]|0;T=S+24|0;if(!(((c[T>>2]|0)==0?(c[V+64>>2]|0)==0:0)?(Rf(S),f=GR(b,S)|0,(f|0)<0&(f|0)!=-541478725):0))k=4;do if((k|0)==4){L=V+80|0;if(!(c[L>>2]|0)){if(((c[T>>2]|0)==0?(c[(c[b+12>>2]|0)+16>>2]&32|0)==0:0)?(c[b+696>>2]&1|0)==0:0){f=-541478725;break}c[U>>2]=0;I=b+696|0;if(!(c[I>>2]&1)){h=b+12|0;f=jd[c[(c[h>>2]|0)+92>>2]&3](b,e,U,S)|0;g=c[h>>2]|0;if(!(c[g+116>>2]&4)){u=S+16|0;v=c[u+4>>2]|0;w=e+120|0;c[w>>2]=c[u>>2];c[w+4>>2]=v}if(!(c[g+8>>2]|0)){if(!(c[b+140>>2]|0)){u=S+56|0;v=c[u+4>>2]|0;w=e+328|0;c[w>>2]=c[u>>2];c[w+4>>2]=v}if(!(c[g+16>>2]&2)){g=e+92|0;if(!(c[g>>2]|0)){u=b+188|0;v=c[u+4>>2]|0;w=g;c[w>>2]=c[u>>2];c[w+4>>2]=v}g=e+68|0;if(!(c[g>>2]|0))c[g>>2]=c[b+92>>2];g=e+72|0;if(!(c[g>>2]|0))c[g>>2]=c[b+96>>2];g=e+80|0;if((c[g>>2]|0)==-1){c[g>>2]=c[b+112>>2];v=h}else v=h}else v=h}else v=h}else{f=QR(b,e,U,S)|0;v=b+12|0}w=c[U>>2]|0;a:do switch(c[(c[v>>2]|0)+8>>2]|0){case 0:{if(c[e+296>>2]&4|0){c[U>>2]=0;break a}if(w|0){D=e+104|0;C=e+120|0;C=RR(b,c[D>>2]|0,c[D+4>>2]|0,c[C>>2]|0,c[C+4>>2]|0)|0;D=M()|0;E=e+320|0;c[E>>2]=C;c[E+4>>2]=D}break}case 1:{if((f|0)>-1&(w|0)!=0){u=e+104|0;t=e+120|0;t=RR(b,c[u>>2]|0,c[u+4>>2]|0,c[t>>2]|0,c[t+4>>2]|0)|0;u=M()|0;g=e+320|0;c[g>>2]=t;c[g+4>>2]=u;g=e+80|0;if((c[g>>2]|0)==-1)c[g>>2]=c[b+352>>2];g=e+240|0;u=g;if((c[u>>2]|0)==0&(c[u+4>>2]|0)==0){s=b+376|0;t=c[s+4>>2]|0;u=g;c[u>>2]=c[s>>2];c[u+4>>2]=t}g=e+352|0;if(!(c[g>>2]|0))c[g>>2]=c[b+348>>2];g=e+232|0;if(!(c[g>>2]|0))c[g>>2]=c[b+344>>2]}g=Ih(c[V+40>>2]|0,11,i)|0;if((g|0)!=0&(c[i>>2]|0)>9){t=c[Q>>2]|0;u=H(c[t+108>>2]|0,d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24)|0;c[t+56>>2]=u;t=g+4|0;t=d[t>>0]|d[t+1>>0]<<8|d[t+2>>0]<<16|d[t+3>>0]<<24;c[j>>2]=u;c[j+4>>2]=t;mf(b,48,175806,j);u=a[g+8>>0]|0;s=a[g+9>>0]|0}else{t=0;u=0;s=0}g=c[U>>2]|0;if((g|0?(c[e+296>>2]&4|0)!=0:0)?(c[b+64>>2]&536870912|0)==0:0){l=(c[Q>>2]|0)+56|0;j=(c[l>>2]|0)-(c[e+76>>2]|0)|0;c[l>>2]=(j|0)>0?j:0;c[U>>2]=0}else k=43;do if(((k|0)==43?(m=(c[Q>>2]|0)+56|0,n=c[m>>2]|0,(n|0)>0&(g|0)!=0):0)?(c[b+64>>2]&536870912|0)==0:0){l=e+76|0;g=c[l>>2]|0;if((g|0)<=(n|0)){c[U>>2]=0;x=n-g|0;c[m>>2]=x;c[o>>2]=x;mf(b,48,175853,o);break}o=c[e+64>>2]|0;eh(o,o,0,n,g-n|0,c[b+348>>2]|0,c[e+80>>2]|0)|0;g=b+772|0;if((c[g>>2]|0)!=0?(p=c[b+344>>2]|0,(p|0)!=0):0){j=c[(c[Q>>2]|0)+56>>2]|0;c[q>>2]=1;c[q+4>>2]=p;c[J>>2]=c[q>>2];c[J+4>>2]=c[q+4>>2];c[K>>2]=c[g>>2];c[K+4>>2]=c[g+4>>2];j=hQ(j,((j|0)<0)<<31>>31,J,K)|0;k=M()|0;g=e+104|0;i=g;h=c[i>>2]|0;i=c[i+4>>2]|0;if(!((h|0)==0&(i|0)==-2147483648)){p=JW(h|0,i|0,j|0,k|0)|0;q=M()|0;r=g;c[r>>2]=p;c[r+4>>2]=q}g=e+112|0;i=g;h=c[i>>2]|0;i=c[i+4>>2]|0;if(!((h|0)==0&(i|0)==-2147483648)){p=JW(h|0,i|0,j|0,k|0)|0;q=M()|0;r=g;c[r>>2]=p;c[r+4>>2]=q}g=e+120|0;i=g;h=c[i>>2]|0;i=c[i+4>>2]|0;if(!((h|0)==0&(i|0)==-2147483648)){p=JW(h|0,i|0,j|0,k|0)|0;q=M()|0;r=g;c[r>>2]=p;c[r+4>>2]=q}g=e+336|0;i=g;h=c[i>>2]|0;i=c[i+4>>2]|0;if(!((i|0)<(k|0)|(i|0)==(k|0)&h>>>0>>0)){p=KW(h|0,i|0,j|0,k|0)|0;q=M()|0;r=g;c[r>>2]=p;c[r+4>>2]=q}}else mf(b,24,175886,r);r=c[l>>2]|0;c[x>>2]=c[(c[Q>>2]|0)+56>>2];c[x+4>>2]=r;mf(b,48,175936,x);x=(c[Q>>2]|0)+56|0;c[l>>2]=(c[l>>2]|0)-(c[x>>2]|0);c[x>>2]=0}while(0);do if((t|0?(C=e+76|0,y=c[C>>2]|0,y>>>0>=t>>>0&(c[U>>2]|0)!=0):0)?(c[b+64>>2]&536870912|0)==0:0){if((y|0)==(t|0)){c[U>>2]=0;break}g=b+772|0;if((c[g>>2]|0)!=0?(z=c[b+344>>2]|0,(z|0)!=0):0){c[A>>2]=1;c[A+4>>2]=z;c[J>>2]=c[A>>2];c[J+4>>2]=c[A+4>>2];c[K>>2]=c[g>>2];c[K+4>>2]=c[g+4>>2];A=hQ(y-t|0,0,J,K)|0;B=M()|0;g=e+336|0;c[g>>2]=A;c[g+4>>2]=B;g=b}else{mf(b,24,175956,B);g=b}B=c[C>>2]|0;c[E>>2]=t;c[E+4>>2]=B;mf(g,48,176008,E);c[C>>2]=(c[C>>2]|0)-t}while(0);if((c[U>>2]|0?(c[b+64>>2]&536870912|0)!=0:0)?(D=rh(e,9,10)|0,D|0):0){C=c[(c[Q>>2]|0)+56>>2]|0;E=D+4|0;D=c[E>>2]|0;a[D>>0]=C;a[D+1>>0]=C>>8;a[D+2>>0]=C>>16;a[D+3>>0]=C>>24;D=(c[E>>2]|0)+4|0;a[D>>0]=t;a[D+1>>0]=t>>8;a[D+2>>0]=t>>16;a[D+3>>0]=t>>24;a[(c[E>>2]|0)+8>>0]=u;a[(c[E>>2]|0)+9>>0]=s;c[(c[Q>>2]|0)+56>>2]=0}break}default:{}}while(0);g=c[v>>2]|0;if((((c[g+8>>2]|0)==1?(F=V+104|0,(f|0)>-1&(c[F>>2]|0)==0):0)?(f|0)!=(c[S+28>>2]|0):0)?(c[g+16>>2]&256|0)==0:0){mf(b,24,176031,G);c[F>>2]=1}if(!(c[U>>2]|0))sg(e);if(((f|0)>-1?(c[(c[v>>2]|0)+8>>2]|0)==0:0)?(c[b+60>>2]&65536|0)==0:0)f=c[S+28>>2]|0;g=b+760|0;if((c[g>>2]|0)>0?(c[b+764>>2]|0)>0:0){c[P>>2]=c[b+84>>2];c[P+4>>2]=1;c[J>>2]=c[g>>2];c[J+4>>2]=c[g+4>>2];c[K>>2]=c[P>>2];c[K+4>>2]=c[P+4>>2];tN(O,J,K);K=c[O>>2]|0;P=b+76|0;c[P>>2]=c[O+4>>2];c[P+4>>2]=K}do if(!(w|0?1:(c[(c[Q>>2]|0)+64>>2]|0)==0)){if((f|0)>=0){c[L>>2]=1;break}if(!(c[I>>2]&1))g=21;else g=(c[b+688>>2]|0)+20|0;P=V+112|0;Q=c[P>>2]|0;c[P>>2]=Q+1;if((Q|0)>=(g|0)){mf(b,16,176061,R);c[L>>2]=1;f=-558323010}}while(0);g=V+92|0;c[g>>2]=(c[g>>2]|0)+f;g=S+28|0;h=c[g>>2]|0;i=(f|0)<0;if(i|(h|0)<=(f|0))Rf(S);else{c[T>>2]=(c[T>>2]|0)+f;c[g>>2]=h-f;V=c[V+40>>2]|0;T=V+28|0;c[T>>2]=(c[T>>2]|0)-f;T=S+8|0;c[T>>2]=0;c[T+4>>2]=-2147483648;T=S+16|0;c[T>>2]=0;c[T+4>>2]=-2147483648;T=V+8|0;c[T>>2]=0;c[T+4>>2]=-2147483648;V=V+16|0;c[V>>2]=0;c[V+4>>2]=-2147483648}if(c[U>>2]|0?(c[e+248>>2]|0)==0:0){c[W>>2]=176137;c[W+4>>2]=129192;c[W+8>>2]=584;mf(0,0,164250,W);ub()}f=i?f:0}else f=-541478725}while(0);$c=X;return f|0}function QR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=c[(c[a+28>>2]|0)+20>>2]|0;o=p+148|0;h=c[o>>2]|0;mR(p);n=p+144|0;f=SR((c[p>>2]|0)+((c[n>>2]|0)*352|0)|0,a,e)|0;do if(!f){m=a+688|0;f=p+152|0;if((c[n>>2]|0)<=((c[m>>2]|0)+-1+(((c[a+16>>2]|0)==33)<<31>>31)|0))if(c[f>>2]|0){c[d>>2]=0;e=e+28|0;f=c[e>>2]|0;if(f)break}else g=5;else{c[f>>2]=0;g=5}if((g|0)==5)e=e+28|0;l=b+120|0;j=h;while(1){k=c[p>>2]|0;i=j+1|0;f=k+(j*352|0)+300|0;if(c[f>>2]|0){g=k+(j*352|0)+184|0;fV(g)|0;h=k+(j*352|0)+108|0;while(1){if(!(c[f>>2]|0))break;Vb(h|0,g|0)|0}gV(g)|0}tg(b,c[k+(j*352|0)+288>>2]|0);h=k+(j*352|0)+292|0;c[d>>2]=c[h>>2];q=k+(j*352|0)+232|0;f=c[q+4>>2]|0;g=l;c[g>>2]=c[q>>2];c[g+4>>2]=f;g=k+(j*352|0)+296|0;f=c[g>>2]|0;c[h>>2]=0;c[g>>2]=0;g=(i|0)<(c[m>>2]|0)?i:0;if(c[e>>2]|0)break;if(!((f|0)>-1&(c[d>>2]|0)==0))break;if((g|0)==(c[o>>2]|0))break;else j=g}kR(a,c[k+(j*352|0)+212>>2]|0,1)|0;if((c[n>>2]|0)>=(c[m>>2]|0))c[n>>2]=0;c[o>>2]=g;if((f|0)>-1)f=c[e>>2]|0}while(0);jl(p);return f|0}function RR(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=(e|0)==0&(f|0)==-2147483648;if(k)if((b|0)==0&(d|0)==-2147483648)g=0;else{l=a+808|0;c[l>>2]=b;c[l+4>>2]=d;l=6}else{l=a+808|0;h=l;i=c[h+4>>2]|0;j=a+792|0;g=j;h=JW(c[g>>2]|0,c[g+4>>2]|0,((i|0)>(f|0)|((i|0)==(f|0)?(c[h>>2]|0)>>>0>=e>>>0:0))&1|0,0)|0;i=M()|0;c[j>>2]=h;c[j+4>>2]=i;c[l>>2]=e;c[l+4>>2]=f;if((b|0)==0&(d|0)==-2147483648){h=a+800|0;g=0;i=e;j=f;l=7}else l=6}if((l|0)==6){h=a+800|0;j=h;i=c[j+4>>2]|0;g=a+784|0;m=g;j=JW(c[m>>2]|0,c[m+4>>2]|0,((i|0)>(d|0)|((i|0)==(d|0)?(c[j>>2]|0)>>>0>=b>>>0:0))&1|0,0)|0;i=M()|0;c[g>>2]=j;c[g+4>>2]=i;g=1;i=b;j=d;l=7}if((l|0)==7){m=h;c[m>>2]=i;c[m+4>>2]=j}l=a+784|0;j=c[l+4>>2]|0;m=a+792|0;a=c[m+4>>2]|0;m=g&(k|((j|0)<(a|0)|((j|0)==(a|0)?(c[l>>2]|0)>>>0<=(c[m>>2]|0)>>>0:0)));L((m?d:f)|0);return (m?b:e)|0}function SR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);h=o;k=c[a>>2]|0;l=k+4|0;g=c[l>>2]|0;m=a+212|0;if((c[d+28>>2]|0)==0?(c[(c[(c[m>>2]|0)+12>>2]|0)+16>>2]&32|0)==0:0)b=0;else n=3;do if((n|0)==3){i=a+156|0;fV(i)|0;b=TR(c[m>>2]|0,b)|0;if(b|0){gV(i)|0;break}c[a+344>>2]=(c[(c[m>>2]|0)+576>>2]|0)>>>16&1;lR(a);if(g|0){b=g+300|0;if((c[b>>2]|0)==1){e=g+184|0;fV(e)|0;f=g+60|0;while(1){if((c[b>>2]|0)!=1)break;Vb(f|0,e|0)|0}gV(e)|0}b=kR(c[m>>2]|0,c[g+212>>2]|0,0)|0;if(b|0){gV(i)|0;break}}b=a+216|0;Rf(b);b=yR(b,d)|0;if((b|0)<0){gV(i)|0;mf(c[m>>2]|0,16,176151,h);break}j=a+300|0;c[j>>2]=1;Ub(a+12|0)|0;gV(i)|0;b=c[m>>2]|0;a:do if(!(c[b+700>>2]|0)){if((c[b+120>>2]|0)==10?(c[b+400>>2]|0)==11:0)break;b=a+184|0;e=a+60|0;f=a+316|0;g=a+320|0;d=a+296|0;h=a+324|0;i=a+328|0;while(1){if((c[j>>2]|0)==4)break a;if(!(c[j>>2]|0))break a;fV(b)|0;while(1){if((c[j>>2]|0)!=1)break;Vb(e|0,b|0)|0}switch(c[j>>2]|0){case 2:{c[d>>2]=Lm(c[m>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;n=27;break}case 3:{c[i>>2]=gM(c[m>>2]|0,c[h>>2]|0)|0;n=27;break}default:{}}if((n|0)==27){n=0;c[j>>2]=1;Ub(e|0)|0}gV(b)|0}}while(0);c[l>>2]=a;b=k+144|0;c[b>>2]=(c[b>>2]|0)+1;b=0}while(0);$c=o;return b|0}function TR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;c[a+60>>2]=c[b+60>>2];c[a+116>>2]=c[b+116>>2];c[a+400>>2]=c[b+400>>2];c[a+32>>2]=c[b+32>>2];c[a+576>>2]=c[b+576>>2];c[a+832>>2]=c[b+832>>2];c[a+240>>2]=c[b+240>>2];c[a+64>>2]=c[b+64>>2];f=a+724|0;d=b+724|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[a+360>>2]=c[b+360>>2];f=b+584|0;d=c[f+4>>2]|0;g=a+584|0;c[g>>2]=c[f>>2];c[g+4>>2]=d;c[a+700>>2]=c[b+700>>2];g=b+176|0;d=c[g>>2]|0;do if(d){e=b+184|0;b=c[e>>2]|0;if(!b)h=7;else{f=a+184|0;if((c[a+176>>2]|0)<(d|0)){d=_M(f,d,4)|0;if((d|0)<=-1)break;d=c[g>>2]|0;b=c[e>>2]|0}YW(c[f>>2]|0,b|0,d<<2|0)|0;d=c[g>>2]|0;h=7}}else{d=0;h=7}while(0);if((h|0)==7){c[a+176>>2]=d;d=0}return d|0}function UR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=c[a+28>>2]|0;sg(b);do if((eR(a)|0)!=0?(bR(c[a+12>>2]|0)|0)!=0:0){d=MR(a)|0;if((d|0)>=0){d=c[e+76>>2]|0;if(!(c[d+248>>2]|0)){d=NR(a,b)|0;if((d|0)<0)break}else tg(b,d);if((c[a+8>>2]|0)==0?(f=VR(a,b)|0,(f|0)<0):0){sg(b);d=f;break}d=a+360|0;c[d>>2]=(c[d>>2]|0)+1;d=0}}else d=-22;while(0);return d|0}function VR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);l=m;f=b+392|0;g=c[f>>2]|0;h=b+396|0;i=c[h>>2]|0;j=b+384|0;k=c[j>>2]|0;d=b+388|0;e=c[d>>2]|0;if((g>>>0<(2147483647-i|0)>>>0&k>>>0<(2147483647-e|0)>>>0?(i+g|0)>>>0<(c[b+68>>2]|0)>>>0:0)?(e+k|0)>>>0<(c[b+72>>2]|0)>>>0:0)if(!(c[a+888>>2]|0))a=0;else a=eQ(b,c[a+60>>2]&1)|0;else{n=c[b+68>>2]|0;b=c[b+72>>2]|0;c[l>>2]=g;c[l+4>>2]=i;c[l+8>>2]=k;c[l+12>>2]=e;c[l+16>>2]=n;c[l+20>>2]=b;mf(a,24,176294,l);c[f>>2]=0;c[h>>2]=0;c[j>>2]=0;c[d>>2]=0;a=0}$c=m;return a|0}function WR(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){dR(b)|0;hf(b+68|0);hf(b+736|0);hf(b+248|0);hf(b+252|0);hf(b+436|0);hf(a)}return}function XR(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=c[77924+(b<<2)>>2]|0;if((b|0)!=3)c[a>>2]=b+1;return d|0}function YR(a){a=a|0;var b=0,d=0,e=0;e=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);b=e;c[b>>2]=0;a:do if(!a)a=0;else{do{d=XR(b)|0;if(!d){a=0;break a}if((c[d>>2]|0)==(a|0))break;if((c[d+4>>2]|0)==(a|0))break;if((c[d+8>>2]|0)==(a|0))break;if((c[d+12>>2]|0)==(a|0))break}while((c[d+16>>2]|0)!=(a|0));a=dg(344)|0;if(a|0){c[a+4>>2]=d;b=dg(c[d+20>>2]|0)|0;c[a>>2]=b;do if(b|0){c[a+72>>2]=1;c[a+32>>2]=1;b=c[d+24>>2]|0;if(b|0?fd[b&31](a)|0:0)break;c[a+224>>2]=-1;d=a+232|0;c[d>>2]=0;c[d+4>>2]=0;c[a+240>>2]=-2147483648;c[a+244>>2]=-2147483648;c[a+248>>2]=-2147483648;c[a+336>>2]=-1;break a}while(0);hf(a)}jf(a);a=0}while(0);$c=e;return a|0}function ZR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=(e|0)!=0;if(u){n=a+48|0;o=a+40|0;p=a+288|0;q=a+184|0}else{o=a+40|0;n=o;c[n>>2]=0;c[n+4>>2]=-2147483648;n=a+48|0;p=n;c[p>>2]=0;c[p+4>>2]=-2147483648;p=a+288|0;q=p;c[q>>2]=-1;c[q+4>>2]=-1;q=a+184|0;t=q;c[t>>2]=0;c[t+4>>2]=0}r=a+16|0;s=((b|0)<0)<<31>>31;t=a+8|0;l=(d|0)==0;m=a+24|0;k=0;a:while(1){if((k|0)>=4)break;e=r;d=c[e>>2]|0;e=c[e+4>>2]|0;i=JW(d|0,e|0,b|0,s|0)|0;h=M()|0;j=a+80+(k<<3)|0;g=j;f=c[g>>2]|0;g=c[g+4>>2]|0;do if(!((h|0)<(g|0)|(h|0)==(g|0)&i>>>0>>0)){i=t;h=c[i>>2]|0;i=c[i+4>>2]|0;if(!((i|0)<(g|0)|(i|0)==(g|0)&h>>>0>>0)){if(!((h|0)==0&(i|0)==0))break;i=m;if(!((c[i>>2]|0)==0&(c[i+4>>2]|0)==0))break}h=a+192+(k<<3)|0;i=h;if(!((c[i>>2]|0)==0&(c[i+4>>2]|0)==0)){g=a+144+(k<<3)|0;f=c[g>>2]|0;g=c[g+4>>2]|0;if(!(u&((f|0)==0&(g|0)==-2147483648))){i=n;c[i>>2]=f;c[i+4>>2]=g;g=a+112+(k<<3)|0;f=c[g+4>>2]|0;i=o;c[i>>2]=c[g>>2];c[i+4>>2]=f;i=a+256+(k<<3)|0;f=c[i+4>>2]|0;g=p;c[g>>2]=c[i>>2];c[g+4>>2]=f;g=m;f=j;f=KW(c[g>>2]|0,c[g+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;g=M()|0;i=q;c[i>>2]=f;c[i+4>>2]=g}if(!l){e=j;c[e>>2]=-1;c[e+4>>2]=2147483647;e=r;d=c[e>>2]|0;e=c[e+4>>2]|0}i=JW(d|0,e|0,b|0,s|0)|0;g=M()|0;j=h;h=c[j+4>>2]|0;if((g|0)<(h|0)|((g|0)==(h|0)?i>>>0<(c[j>>2]|0)>>>0:0))break a}}while(0);k=k+1|0}return}function _R(b,d,e,f,g,h,i,j,k,l,m,n){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=$c;$c=$c+80|0;if(($c|0)>=(ad|0))N(80);w=x;o=x+16|0;p=b+176|0;q=c[p>>2]|0;if(!(q&4)){t=b+16|0;c[t>>2]=m;c[t+4>>2]=n;t=b+24|0;c[t>>2]=m;c[t+4>>2]=n;c[p>>2]=q|4}if(h){p=b+16|0;o=c[p>>2]|0;p=c[p+4>>2]|0;q=JW(o|0,p|0,h|0,((h|0)<0)<<31>>31|0)|0;r=M()|0;s=b+76|0;t=c[s>>2]|0;y=b+192+(t<<3)|0;if((q|0)==(c[y>>2]|0)?(r|0)==(c[y+4>>2]|0):0)o=g;else{y=t+1&3;c[s>>2]=y;t=b+80+(y<<3)|0;c[t>>2]=o;c[t+4>>2]=p;o=b+192+(y<<3)|0;c[o>>2]=q;c[o+4>>2]=r;o=b+112+(y<<3)|0;c[o>>2]=i;c[o+4>>2]=j;o=b+144+(y<<3)|0;c[o>>2]=k;c[o+4>>2]=l;o=b+256+(y<<3)|0;c[o>>2]=m;c[o+4>>2]=n;o=g}}else{p=o;q=p+64|0;do{a[p>>0]=0;p=p+1|0}while((p|0)<(q|0))}p=b+72|0;if(c[p>>2]|0){c[p>>2]=0;k=b+40|0;l=c[k+4>>2]|0;y=b+56|0;c[y>>2]=c[k>>2];c[y+4>>2]=l;y=b+48|0;l=c[y+4>>2]|0;k=b+64|0;c[k>>2]=c[y>>2];c[k+4>>2]=l;k=b+288|0;l=c[k+4>>2]|0;y=b+296|0;c[y>>2]=c[k>>2];c[y+4>>2]=l;ZR(b,0,0,0)}r=ld[c[(c[b+4>>2]|0)+28>>2]&7](b,d,e,f,o,h)|0;if((r|0)<=-536870912){c[w>>2]=176410;c[w+4>>2]=121217;c[w+8>>2]=253;mf(0,0,164250,w);ub()}if(((c[d+8>>2]|0)==0?(u=c[b+308>>2]|0,u|0):0)?(v=d+340|0,(c[v>>2]|0)==0):0)c[v>>2]=u;if(!(c[f>>2]|0)){o=b+16|0;q=o;p=c[q>>2]|0;q=c[q+4>>2]|0}else{w=b+24|0;y=w;q=c[y+4>>2]|0;o=b+8|0;c[o>>2]=c[y>>2];c[o+4>>2]=q;o=b+16|0;q=o;y=c[q>>2]|0;q=c[q+4>>2]|0;v=JW(y|0,q|0,r|0,((r|0)<0)<<31>>31|0)|0;f=M()|0;c[w>>2]=v;c[w+4>>2]=f;c[p>>2]=1;p=y}y=(r|0)>0?r:0;v=JW(p|0,q|0,y|0,0)|0;f=M()|0;w=o;c[w>>2]=v;c[w+4>>2]=f;$c=x;return y|0}function $R(a){a=a|0;var b=0;if(a|0){b=c[(c[a+4>>2]|0)+32>>2]|0;if(b|0)nd[b&63](a);hf(a);jf(a)}return}function aS(a){a=a|0;var b=0;bS(a);b=c[a+696>>2]|0;if(!(b&2))if(!(b&1))a=0;else a=dS(a)|0;else a=cS(a)|0;return a|0}function bS(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;i=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);g=i;f=c[(c[a+12>>2]|0)+16>>2]|0;if((f&4096|0)!=0?(c[a+60>>2]&589824|0)==0:0)e=(c[a+64>>2]&32768|0)==0;else e=0;d=a+688|0;b=c[d>>2]|0;do if((b|0)!=1){if(e?c[a+692>>2]&1|0:0){d=1;h=11;break}if(f&8192|0?c[a+692>>2]&2|0:0){d=2;h=11;break}if(!(f&32768)){c[d>>2]=1;d=0;b=1;h=11}}else{d=0;b=1;h=11}while(0);if((h|0)==11)c[a+696>>2]=d;if((b|0)>16){c[g>>2]=b;c[g+4>>2]=16;mf(a,24,176548,g)}$c=i;return}function cS(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=a+688|0;b=c[i>>2]|0;h=a+12|0;if(((ZQ(c[h>>2]|0)|0)!=0?(c[a+16>>2]|0)==1:0)?(c[a+96>>2]|0)>2800:0){c[i>>2]=1;j=10}else j=5;a:do if((j|0)==5){if(!b){b=dQ()|0;d=c[a+96>>2]|0;if(d){g=(d+15|0)/16|0;b=(b|0)>(g|0)?g:b}e=b+1|0;e=(b|0)>1?((e|0)<16?e:16):1;c[i>>2]=e}else e=b;if((e|0)<2)j=10;else{f=dg(48)|0;g=a+28|0;b=c[g>>2]|0;c[b+20>>2]=f;d=c[(c[h>>2]|0)+116>>2]&32|0?32:0;c[46303]=d;do if(f){b=PQ(f,a,79,d,e)|0;if((b|0)<2){RQ(f);b=c[g>>2]|0;break}else{c[i>>2]=b;c[a+704>>2]=5;c[a+708>>2]=42;break a}}while(0);hf(b+20|0);c[i>>2]=1;c[a+696>>2]=0}}while(0);if((j|0)==10)c[a+696>>2]=0;return 0}function dS(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);r=t;b=a+688|0;d=c[b>>2]|0;e=c[a+12>>2]|0;if(!d){q=dQ()|0;d=q+1|0;d=(q|0)>1?((d|0)<16?d:16):1;c[b>>2]=d}a:do if((d|0)>=2){q=dg(156)|0;b=a+28|0;c[(c[b>>2]|0)+20>>2]=q;if(!q)b=-12;else{p=Bg(d,352)|0;c[q>>2]=p;if(!p){hf((c[b>>2]|0)+20|0);b=-12;break}eV(q+8|0,0)|0;eV(q+36|0,0)|0;eV(q+64|0,0)|0;Tb(q+92|0,0)|0;c[q+140>>2]=1;c[q+152>>2]=1;n=e+80|0;o=e+56|0;l=e+64|0;b=0;p=0;f=a;while(1){if((p|0)>=(d|0)){b=0;break a}c[r>>2]=uf(896)|0;m=c[q>>2]|0;j=m+(p*352|0)|0;eV(m+(p*352|0)+156|0,0)|0;eV(m+(p*352|0)+184|0,0)|0;Tb(m+(p*352|0)+12|0,0)|0;Tb(m+(p*352|0)+60|0,0)|0;Tb(m+(p*352|0)+108|0,0)|0;k=Wg()|0;c[m+(p*352|0)+288>>2]=k;if(!k){s=11;break}c[j>>2]=q;e=c[r>>2]|0;c[m+(p*352|0)+212>>2]=e;k=e;if(!e){b=-12;s=23;break}YW(e|0,f|0,896)|0;e=uf(116)|0;i=k+28|0;c[i>>2]=e;if(!e){s=14;break}g=c[f+28>>2]|0;h=e+116|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(h|0));h=c[i>>2]|0;c[h+20>>2]=j;c[h+40>>2]=m+(p*352|0)+216;if(p){e=uf(c[o>>2]|0)|0;c[k+24>>2]=e;if(!e){b=-12;s=23;break}YW(e|0,c[f+24>>2]|0,c[o>>2]|0)|0;c[c[i>>2]>>2]=1;e=c[l>>2]|0;if(e)b=fd[e&31](k)|0}else{e=c[n>>2]|0;if(e)b=fd[e&31](k)|0;kR(a,k,1)|0;f=k}if(b|0){s=23;break}c[m+(p*352|0)+344>>2]=(c[k+576>>2]|0)>>>16&1;k=Wb(m+(p*352|0)+4|0,0,25,j|0)|0;b=0-k|0;k=(k|0)==0;c[m+(p*352|0)+8>>2]=k&1;if(!k)break;p=p+1|0}if((s|0)==11){hf(r);b=-12;s=23}else if((s|0)==14){c[k+24>>2]=0;b=-12;s=23}hR(a,p+1|0)}}else{c[a+696>>2]=0;b=0}while(0);$c=t;return b|0}function eS(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);z=B+16|0;y=B;n=c[a+212>>2]|0;j=c[n+12>>2]|0;t=a+156|0;fV(t)|0;u=a+332|0;v=a+300|0;w=a+12|0;x=j+68|0;d=n+700|0;e=n+400|0;f=a+336|0;g=n+592|0;h=a+288|0;i=a+292|0;j=j+92|0;k=a+216|0;l=a+296|0;m=n+28|0;o=a+340|0;p=a+184|0;q=a+60|0;r=a+108|0;a:while(1){while(1){b=(c[u>>2]|0)==0;if(c[v>>2]|0)break;if(!b){A=28;break a}Vb(w|0,t|0)|0}if(!b){A=28;break}do if(!(c[x>>2]|0)){if((c[d>>2]|0)==0?(c[e>>2]|0)!=11:0)break;bi(n)}while(0);if(c[f>>2]|0){A=12;break}if(c[g>>2]|0){fV((c[a>>2]|0)+36|0)|0;c[f>>2]=1}sg(c[h>>2]|0);c[i>>2]=0;b=jd[c[j>>2]&3](n,c[h>>2]|0,i,k)|0;c[l>>2]=b;if(!((b|0)>=0?(c[i>>2]|0)!=0:0))A=17;if((A|0)==17?(A=0,s=c[h>>2]|0,c[s+248>>2]|0):0){if(!(c[(c[m>>2]|0)+4>>2]|0))b=s;else{mf(n,16,176454,z);b=c[h>>2]|0}sg(b)}if((c[v>>2]|0)==1)bi(n);if(c[f>>2]|0){c[f>>2]=0;gV((c[a>>2]|0)+36|0)|0}if(c[o>>2]|0){c[o>>2]=0;mR(c[a>>2]|0)}fV(p)|0;c[v>>2]=0;$W(q|0)|0;Ub(r|0)|0;gV(p)|0}if((A|0)==12){c[y>>2]=176430;c[y+4>>2]=164206;c[y+8>>2]=190;mf(0,0,164250,y);ub()}else if((A|0)==28){gV(t)|0;$c=B;return 0}return 0}function fS(a){a=a|0;fd[c[(c[(c[a+28>>2]|0)+20>>2]|0)+12>>2]&31](a)|0;return}function gS(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=c[(c[a+28>>2]|0)+20>>2]|0;e=c[g+4>>2]|0;if(!e)f=jd[c[g+8>>2]&3](a,c[g+16>>2]|0,b,d)|0;else{f=(c[g+16>>2]|0)+(H(c[g+24>>2]|0,b)|0)|0;f=hd[e&15](a,f)|0}e=c[g+20>>2]|0;if(e|0)c[e+(b<<2)>>2]=f;return}function hS(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=c[(c[a+28>>2]|0)+20>>2]|0;if((c[a+696>>2]&2|0)!=0?(c[a+688>>2]|0)>=2:0)if((f|0)<1)a=0;else{c[h+24>>2]=g;c[h+16>>2]=d;c[h+4>>2]=b;c[h+20>>2]=e;TQ(c[h>>2]|0,f,(c[h+12>>2]|0)!=0&1);a=0}else a=oR(a,b,d,e,f,g)|0;return a|0}function iS(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[(c[(c[a+28>>2]|0)+20>>2]|0)+8>>2]=b;return hS(a,0,d,e,f,0)|0}function jS(a){a=a|0;if((c[a+116>>2]&1|0)==0?c[a+80>>2]|0:0)gV(185216)|0;return}function kS(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;ha=$c;$c=$c+848|0;if(($c|0)>=(ad|0))N(848);Z=ha+336|0;Y=ha+328|0;ba=ha+288|0;X=ha+280|0;W=ha+272|0;V=ha+264|0;U=ha+248|0;R=ha+240|0;Q=ha+232|0;P=ha+224|0;L=ha+208|0;K=ha+192|0;J=ha+184|0;I=ha+176|0;H=ha+168|0;G=ha+152|0;E=ha+144|0;C=ha+136|0;A=ha+128|0;z=ha+120|0;y=ha+112|0;x=ha+104|0;w=ha+96|0;v=ha+88|0;r=ha+80|0;q=ha+72|0;p=ha+64|0;o=ha+48|0;aa=ha+40|0;n=ha+32|0;m=ha+24|0;l=ha+16|0;j=ha+8|0;i=ha;ga=ha+312|0;_=ha+320|0;$=ha+304|0;c[ga>>2]=0;do if(!(eR(a)|0)){fa=a+12|0;g=c[fa>>2]|0;h=(g|0)==0;if(!b)if(h){mf(a,16,176644,i);f=-22;break}else da=g;else if(h|(g|0)==(b|0))da=b;else{f=c[b>>2]|0;c[j>>2]=c[g>>2];c[j+4>>2]=f;mf(a,16,176682,j);f=-22;break}if((c[a+72>>2]|0)>>>0<=268435391){ea=(e|0)!=0;if(ea)qh(ga,c[e>>2]|0,0)|0;lS(da);T=dg(116)|0;ca=a+28|0;c[ca>>2]=T;a:do if(!T)f=-12;else{T=dg(88)|0;c[(c[ca>>2]|0)+16>>2]=T;b:do if(((((((T|0)!=0?(T=Wg()|0,c[(c[ca>>2]|0)+12>>2]=T,(T|0)!=0):0)?(T=Wg()|0,c[(c[ca>>2]|0)+100>>2]=T,(T|0)!=0):0)?(T=Wg()|0,c[(c[ca>>2]|0)+76>>2]=T,(T|0)!=0):0)?(T=cP()|0,c[(c[ca>>2]|0)+68>>2]=T,(T|0)!=0):0)?(T=cP()|0,c[(c[ca>>2]|0)+24>>2]=T,(T|0)!=0):0)?(T=cP()|0,k=c[ca>>2]|0,c[k+40>>2]=T,(T|0)!=0):0){c[k+108>>2]=1;S=da+56|0;b=c[S>>2]|0;T=a+24|0;do if((b|0)>0){if(!(c[T>>2]|0)){g=dg(b)|0;c[T>>2]=g;if(!g){f=-12;break a}b=da+44|0;h=c[b>>2]|0;if(!h)break;c[g>>2]=h;KQ(g)}else b=da+44|0;if(c[b>>2]|0?(f=NQ(c[T>>2]|0,ga)|0,(f|0)<0):0)break b}else c[T>>2]=0;while(0);f=NQ(a,ga)|0;if((f|0)>=0){b=a+844|0;g=c[b>>2]|0;if(g|0?(sP(c[da>>2]|0,g,44)|0)<1:0){f=c[b>>2]|0;c[l>>2]=c[da>>2];c[l+4>>2]=f;mf(a,16,176758,l);f=-22;break}i=a+100|0;b=c[i>>2]|0;c:do if(!b)O=37;else{g=c[a+104>>2]|0;if(!g){O=37;break}do if(c[a+92>>2]|0){if(!(c[a+96>>2]|0))break;switch(c[a+16>>2]|0){case 189:case 92:case 27:{O=43;break c}default:{}}}while(0);f=KR(a,b,g)|0;O=40}while(0);do if((O|0)==37){g=c[a+92>>2]|0;if(!g){O=42;break}h=c[a+96>>2]|0;if(!h){O=42;break}f=KR(a,g,h)|0;O=40}while(0);if((O|0)==40){if((f|0)<0)break;b=c[i>>2]|0;O=42}do if((O|0)==42){if(b|0){O=43;break}g=c[a+104>>2]|0;if(g|0){b=0;O=47;break}b=a+92|0;if(c[b>>2]|0){b=0;g=0;O=47;break}if(!(c[a+96>>2]|0))s=b;else{b=0;g=0;O=47}}while(0);if((O|0)==43){g=c[a+104>>2]|0;O=47}do if((O|0)==47){h=a+872|0;F=h;i=a+92|0;if((oh(b,g,c[F>>2]|0,c[F+4>>2]|0,-1,0,a)|0)>=0?(F=h,(oh(c[i>>2]|0,c[a+96>>2]|0,c[F>>2]|0,c[F+4>>2]|0,-1,0,a)|0)>=0):0){s=i;break}mf(a,24,176792,m);KR(a,0,0)|0;s=i}while(0);b=c[s>>2]|0;do if((b|0)>0){g=c[a+96>>2]|0;if((g|0)<=0)break;h=a+188|0;c[Z>>2]=c[h>>2];c[Z+4>>2]=c[h+4>>2];if((Sm(b,g,Z)|0)>=0)break;F=a+192|0;D=c[F>>2]|0;c[n>>2]=c[h>>2];c[n+4>>2]=D;mf(a,24,176830,n);c[a+188>>2]=0;c[F>>2]=1}while(0);if(bR(da)|0)hf(a+736|0);D=a+348|0;if((c[D>>2]|0)>>>0>64){f=-22;break}c[fa>>2]=da;F=a+8|0;h=c[F>>2]|0;do if((h|0)==-1)O=60;else{if((h|0)==(c[da+8>>2]|0)){O=60;break}g=a+16|0;l=g;g=c[g>>2]|0;b=h}while(0);do if((O|0)==60){b=a+16|0;g=c[b>>2]|0;if(g|0){l=b;b=h;break}B=c[da+8>>2]|0;c[F>>2]=B;g=c[da+12>>2]|0;c[b>>2]=g;l=b;b=B}while(0);h=da+12|0;do if((g|0)==(c[h>>2]|0)){if(!((b|0)==4?1:(b|0)==(c[da+8>>2]|0)))break;c[a+360>>2]=0;B=a+780|0;c[B>>2]=bg(g)|0;b=c[fa>>2]|0;do if(c[b+16>>2]&512|0){if((c[a+568>>2]|0)<=-2)break;b=(ZQ(da)|0)!=0;b=b?176888:176896;ba=c[da>>2]|0;c[o>>2]=b;c[o+4>>2]=ba;c[o+8>>2]=-2;mf(a,16,176904,o);ba=(ZQ(da)|0)==0;f=c[h>>2]|0;if(ba)f=aR(f)|0;else f=YQ(f)|0;if(c[f+16>>2]&512|0){f=-733130664;break b}f=c[f>>2]|0;c[p>>2]=b;c[p+4>>2]=f;mf(a,16,177014,p);f=-733130664;break b}while(0);do if((c[F>>2]|0)==1){h=a+76|0;g=a+80|0;if(c[h>>2]|0?c[g>>2]|0:0)break;c[h>>2]=1;c[g>>2]=c[a+344>>2]}while(0);if(!((c[(c[ca>>2]|0)+52>>2]|0)!=0?(c[a+696>>2]&1|0)!=0:0)){f=aS(a)|0;if((f|0)<0)break b;b=c[fa>>2]|0}g=d[b+40>>0]|0;h=a+680|0;if((c[h>>2]|0)>>>0>g>>>0){c[q>>2]=g;mf(a,24,177063,q);b=c[fa>>2]|0;c[h>>2]=d[b+40>>0]}d:do if(ZQ(b)|0){q=Wg()|0;c[a+684>>2]=q;if(!q){f=-12;break b}m=a+76|0;do if((c[m>>2]|0)>=1){n=a+80|0;if((c[n>>2]|0)<1)break;g=c[fa>>2]|0;b=c[g+32>>2]|0;e:do if(!b)j=g;else{k=a+352|0;j=0;while(1){h=c[b+(j<<2)>>2]|0;if((h|0)==-1)break;i=c[k>>2]|0;if((i|0)==(h|0)){j=g;break e}if((c[D>>2]|0)==1){r=OQ(i)|0;r=(r|0)==(OQ(c[(c[(c[fa>>2]|0)+32>>2]|0)+(j<<2)>>2]|0)|0);t=c[fa>>2]|0;u=c[t+32>>2]|0;if(r){O=94;break}else{g=t;b=u}}j=j+1|0}if((O|0)==94?(u=u+(j<<2)|0,c[k>>2]=c[u>>2],(c[u>>2]|0)!=-1):0){j=t;break}c[v>>2]=c[k>>2];nU(Z,128,177158,v)|0;c[w>>2]=mS(JQ(c[k>>2]|0)|0,Z)|0;mf(a,16,177161,w);f=-22;break b}while(0);g=c[j+24>>2]|0;f:do if(g|0){h=a+112|0;b=0;while(1){i=c[g+(b<<2)>>2]|0;if((i|0)==-1)break;if((c[h>>2]|0)==(i|0)){O=103;break}else b=b+1|0}if((O|0)==103){switch(i|0){case 14:case 32:case 13:case 140:case 12:break;default:break f}c[a+328>>2]=2;break}switch(c[l>>2]|0){case 9:case 7:{if((c[a+568>>2]|0)<0)break f;break}default:{}}c[x>>2]=c[h>>2];nU(Z,128,177158,x)|0;c[y>>2]=mS(Ig(c[h>>2]|0)|0,Z)|0;mf(a,16,177217,y);f=-22;break b}while(0);h=c[j+28>>2]|0;b=c[a+344>>2]|0;g:do if(h){g=0;while(1){i=c[h+(g<<2)>>2]|0;if(!i)break;if((b|0)==(i|0))break g;else g=g+1|0}c[z>>2]=b;mf(a,16,177272,z);f=-22;break b}while(0);if((b|0)<0){c[A>>2]=b;mf(a,16,177272,A);f=-22;break b}i=c[j+36>>2]|0;l=a+376|0;h:do if(i|0){k=l;j=c[k>>2]|0;k=c[k+4>>2]|0;if((j|0)==0&(k|0)==0){mf(a,24,177315,C);break}else b=0;while(1){h=i+(b<<3)|0;g=c[h>>2]|0;h=c[h+4>>2]|0;if((g|0)==0&(h|0)==0)break;if((j|0)==(g|0)&(k|0)==(h|0))break h;else b=b+1|0}BP(Z,512,-1,j,k);c[E>>2]=Z;mf(a,16,177345,E);f=-22;break b}while(0);h=l;g=c[h>>2]|0;h=c[h+4>>2]|0;b=c[D>>2]|0;do if(!((g|0)==0&(h|0)==0)){g=mh(g,h)|0;if(!b){c[D>>2]=g;b=g;break}if((g|0)==(c[D>>2]|0)){b=g;break}f=l;BP(Z,512,-1,c[f>>2]|0,c[f+4>>2]|0);f=c[D>>2]|0;c[G>>2]=Z;c[G+4>>2]=g;c[G+8>>2]=f;mf(a,16,177393,G);f=-22;break b}while(0);if((b|0)<0){c[H>>2]=b;mf(a,16,177478,H);f=-22;break b}b=c[F>>2]|0;i:do if(!b){b=Hg(c[a+112>>2]|0)|0;h=a+676|0;i=c[h>>2]|0;do if((i|0)>=0){if((i|0)<=8)break;b=b+32|0;g=c[b>>2]|0;if((g|0)<9)O=129}else{g=b+32|0;b=g;g=c[g>>2]|0;O=129}while(0);if((O|0)==129){c[I>>2]=i;c[I+4>>2]=g;mf(a,24,177528,I);c[h>>2]=c[b>>2]}do if((c[s>>2]|0)>=1){if((c[a+96>>2]|0)<1)break;b=c[F>>2]|0;break i}while(0);mf(a,16,177607,J);f=-22;break b}while(0);do if(b>>>0<2){g=a+40|0;b=c[g>>2]|0;g=c[g+4>>2]|0;J=JW(b|0,g|0,-1,-1)|0;I=M()|0;if(!(I>>>0<0|(I|0)==0&J>>>0<999))break;J=K;c[J>>2]=b;c[J+4>>2]=g;J=K+8|0;c[J>>2]=b;c[J+4>>2]=g;mf(a,24,177627,K)}while(0);b=a+464|0;if(!(c[b>>2]|0)){K=c[a+428>>2]|0;K=PW(K|0,((K|0)<0)<<31>>31|0,3,0)|0;K=NW(K|0,M()|0,4,0)|0;M()|0;c[b>>2]=K}g=c[a+84>>2]|0;do if(g|0){b=c[m>>2]|0;if(!b)break;if((g|0)<=(2147483647/(b|0)|0|0))break;ba=c[n>>2]|0;c[L>>2]=g;c[L+4>>2]=b;c[L+8>>2]=ba;mf(a,16,177680,L);break b}while(0);f=c[a+860>>2]|0;if(!f)break d;f=c[f+4>>2]|0;if((c[f+36>>2]|0)!=(c[a+112>>2]|0)){mf(a,16,177733,P);f=-22;break b}h=a+768|0;g=c[h>>2]|0;b=f+40|0;f=c[b>>2]|0;do if((g|0)!=-1){if((g|0)==(f|0)){f=g;break}ba=Ig(g)|0;f=Ig(c[b>>2]|0)|0;c[Q>>2]=ba;c[Q+4>>2]=f;mf(a,16,177798,Q);f=-22;break b}while(0);c[h>>2]=f;break d}while(0);mf(a,16,177124,r);f=-22;break b}while(0);Q=a+784|0;c[Q>>2]=0;c[Q+4>>2]=0;c[Q+8>>2]=0;c[Q+12>>2]=0;Q=a+808|0;c[Q>>2]=0;c[Q+4>>2]=-2147483648;Q=a+800|0;c[Q>>2]=0;c[Q+4>>2]=-2147483648;do if(c[a+60>>2]&8192|0){if(c[(c[B>>2]|0)+4>>2]|0)break;mf(a,24,177879,R)}while(0);f=c[fa>>2]|0;b=c[f+80>>2]|0;do if(b){if(c[a+696>>2]&1|0?(c[(c[ca>>2]|0)+52>>2]|0)==0:0)break;f=fd[b&31](a)|0;if((f|0)<0)break b;f=c[fa>>2]|0}while(0);do if(bR(f)|0){f=a+40|0;R=f;if((c[R>>2]|0)==0&(c[R+4>>2]|0)==0){P=nS(a)|0;Q=M()|0;R=f;c[R>>2]=P;c[R+4>>2]=Q}g=a+376|0;b=g;f=c[b>>2]|0;b=c[b+4>>2]|0;do if((f|0)==0&(b|0)==0)O=166;else{f=mh(f,b)|0;b=c[D>>2]|0;if(!b){c[D>>2]=f;break}if((f|0)==(b|0))break;O=g;BP(Z,512,-1,c[O>>2]|0,c[O+4>>2]|0);O=c[D>>2]|0;c[U>>2]=Z;c[U+4>>2]=f;c[U+8>>2]=O;mf(a,24,177942,U);O=g;c[O>>2]=0;c[O+4>>2]=0;O=166}while(0);if((O|0)==166)f=c[D>>2]|0;if(f>>>0>64){f=-22;break b}b=a+816|0;g=c[b>>2]|0;j:do if(g|0){if((c[F>>2]|0)!=3){mf(a,16,178062,V);f=-22;break b}f=c[B>>2]|0;if(c[f+16>>2]&65536|0){c[W>>2]=c[f+8>>2];mf(a,24,178122,W);c[a+820>>2]=-1;break}f=a+820|0;switch(c[f>>2]|0){case 0:{c[f>>2]=1;break}case 1:break;default:break j}if((hU(178196,g)|0)==(-1|0)){f=0-(c[(XS()|0)>>2]|0)|0;c[X>>2]=c[b>>2];mf(a,16,178202,X);break b}else break}while(0);f=a+760|0;if((c[f>>2]|0)<=0)break;if((c[a+764>>2]|0)<=0)break;c[$>>2]=c[a+84>>2];c[$+4>>2]=1;c[Y>>2]=c[f>>2];c[Y+4>>2]=c[f+4>>2];c[Z>>2]=c[$>>2];c[Z+4>>2]=c[$+4>>2];tN(_,Y,Z);Z=c[_>>2]|0;$=a+76|0;c[$>>2]=c[_+4>>2];c[$+4>>2]=Z}while(0);if((c[S>>2]|0)<=0){f=0;break a}f=c[T>>2]|0;if(!f){f=0;break a}b=c[da+44>>2]|0;if(!b){f=0;break a}if((c[f>>2]|0)==(b|0)){f=0;break a}c[ba>>2]=178267;c[ba+4>>2]=131652;c[ba+8>>2]=995;mf(0,0,164250,ba);ub()}while(0);mf(a,16,176859,aa);f=-22}}else f=-12;while(0);b=c[fa>>2]|0;if(b|0?c[b+116>>2]&2|0:0)fd[c[b+96>>2]&31](a)|0;if(c[da+44>>2]|0?c[da+56>>2]|0:0)Nf(c[a+24>>2]|0);Nf(a);Xg(a+684|0);Xf(ga);hf(a+24|0);b=c[ca>>2]|0;if(b|0){Xg(b+12|0);Xg((c[ca>>2]|0)+100|0);Xg((c[ca>>2]|0)+76|0);Of((c[ca>>2]|0)+68|0);Of((c[ca>>2]|0)+40|0);Of((c[ca>>2]|0)+24|0);hf((c[ca>>2]|0)+16|0)}hf(ca);c[fa>>2]=0}while(0);jS(da);if(ea){Xf(e);c[e>>2]=c[ga>>2]}}else f=-22}else f=0;while(0);$c=ha;return f|0}function lS(a){a=a|0;if((c[a+116>>2]&1|0)==0?c[a+80>>2]|0:0)fV(185216)|0;return}function mS(a,b){a=a|0;b=b|0;return (a|0?a:b)|0}function nS(a){a=a|0;var b=0,d=0;a:do switch(c[a+8>>2]|0){case 4:case 3:case 2:case 0:{b=a+40|0;a=c[b+4>>2]|0;b=c[b>>2]|0;break}case 1:{b=oS(c[a+16>>2]|0)|0;if(!b){b=a+40|0;a=c[b+4>>2]|0;b=c[b>>2]|0;break a}else{d=c[a+344>>2]|0;a=c[a+348>>2]|0;b=PW(d|0,((d|0)<0)<<31>>31|0,b|0,((b|0)<0)<<31>>31|0)|0;b=PW(b|0,M()|0,a|0,((a|0)<0)<<31>>31|0)|0;a=M()|0;break a}}default:{a=0;b=0}}while(0);L(a|0);return b|0}function oS(a){a=a|0;switch(a|0){case 69649:{a=2;break}case 69648:{a=3;break}case 69638:case 69645:case 69632:case 69633:case 69647:{a=4;break}default:a=pS(a)|0}return a|0}function pS(a){a=a|0;var b=0;a:do if((a|0)>=65563){if((a|0)<69655)switch(a|0){case 69646:case 69636:case 69644:{a=4;break a}case 65563:{b=2;break a}case 65566:{b=3;break a}case 65564:{b=4;break a}case 67586:case 67587:case 65565:{b=5;break a}case 67584:case 67585:{b=6;break a}default:{b=7;break a}}if((a|0)>=86070)switch(a|0){case 86071:case 86070:{a=4;break a}case 88072:case 88071:case 88070:case 88069:{b=2;break a}default:{b=7;break a}}if((a|0)<71681)switch(a|0){case 69660:case 69655:case 69661:{a=4;break a}default:{b=7;break a}}if((a|0)<71687)switch(a|0){case 71681:{a=4;break a}default:{b=7;break a}}if((a|0)<83968)switch(a|0){case 71687:{a=4;break a}default:{b=7;break a}}else switch(a|0){case 83968:{b=2;break a}default:{b=7;break a}}}else switch(a|0){case 65553:case 65541:case 65540:case 65542:case 65543:{b=2;break}case 65538:case 65539:case 65554:case 65536:case 65537:{b=3;break}case 65550:case 65551:case 65548:case 65549:case 65552:{b=4;break}case 65557:case 65556:case 65546:case 65547:case 65544:case 65545:{b=5;break}case 65559:case 65558:{b=6;break}default:b=7}while(0);if((b|0)==2)a=8;else if((b|0)==3)a=16;else if((b|0)==4)a=24;else if((b|0)==5)a=32;else if((b|0)==6)a=64;else if((b|0)==7)a=0;return a|0}function qS(a,d){a=a|0;d=d|0;c[a>>2]=d;b[a+4>>1]=0;b[a+6>>1]=8;return}function rS(a,b){a=a|0;b=b|0;return (e[a+6>>1]|0)+8-(e[b+6>>1]|0)+((c[b>>2]|0)-((c[a>>2]|0)+1)<<3)|0}function sS(a){a=a|0;var d=0;d=c[a>>2]|0;return ((b[a+6>>1]|0)==8?d:d+1|0)|0}function tS(a,f){a=a|0;f=f|0;var g=0,h=0,i=0;g=(c[a>>2]|0)+(f>>>3)|0;c[a>>2]=g;i=a+6|0;h=(e[i>>1]|0)-(f&7)|0;f=h&65535;b[i>>1]=f;if((h&65535)>>>0>8){g=g+1|0;c[a>>2]=g;f=h+8&65535;b[i>>1]=f}if((f&65535)>=8)return;b[a+4>>1]=d[g>>0]|0;return}function uS(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;l=e+6|0;g=b[l>>1]|0;if(g<<16>>16==8){h=d[c[e>>2]>>0]|0;k=e+4|0;b[k>>1]=h}else{k=e+4|0;h=b[k>>1]|0}j=g&65535;g=(1<>>0<=f>>>0){h=f-j|0;i=(c[e>>2]|0)+1|0;c[e>>2]=i;b[l>>1]=8;if(h>>>0>7){j=f-j|0;do{f=i;i=i+1|0;c[e>>2]=i;g=g<<8|(d[f>>0]|0);h=h+-8|0}while(h>>>0>7);h=j&7}if(!h){l=g;return l|0}else{e=a[i>>0]|0;b[k>>1]=e&255;k=8-h|0;g=(e&255)>>>k|g<>>h}while(0);b[l>>1]=h;l=g;return l|0}function vS(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;h=h&65535;if(g>>>0>31){q=f+6|0;p=f+4|0;n=b[q>>1]|0;o=g;while(1){if(n<<16>>16!=8){j=n&65535;i=(1<>1]|0);if((n&65535)>32){r=j+-32|0;j=r&65535;i=i>>>r;r=13}else r=7}else{i=a[c[f>>2]>>0]|0;b[p>>1]=i&255;i=(1<<(n&65535))+255&(i&255);j=8;r=7}if((r|0)==7){r=0;k=32-j|0;m=c[f>>2]|0;l=m+1|0;c[f>>2]=l;b[q>>1]=8;if(k>>>0>7){j=(24-j|0)>>>3;do{s=l;l=l+1|0;c[f>>2]=l;i=i<<8|(d[s>>0]|0);k=k+-8|0}while(k>>>0>7);j=m+2+j|0;k=0-n&7}else j=l;if(!k)j=8;else{s=a[j>>0]|0;b[p>>1]=s&255;r=8-k|0;j=r&65535;i=(s&255)>>>r|i<>1]=j}s=h<<8^(e[118974+((i>>>24^h>>>8&255)<<1)>>1]|0);s=s<<8^(e[118974+(((s>>>8^i>>>16)&255)<<1)>>1]|0);s=s<<8^(e[118974+(((s^i)>>>8&255)<<1)>>1]|0);h=s<<8^(e[118974+(((s>>>8^i)&255)<<1)>>1]|0);o=o+-32|0;if(o>>>0<=31)break;else n=j}g=g&31}switch(g>>>3&536870911|0){case 3:{q=h<<8;p=h>>>8;o=f+6|0;n=b[o>>1]|0;if(n<<16>>16!=8){i=f+4|0;j=n&65535;h=(1<>1]|0);if((n&65535)>8){r=j+-8|0;i=r&65535;h=h>>>r;r=29}else r=23}else{h=a[c[f>>2]>>0]|0;i=f+4|0;b[i>>1]=h&255;h=(1<<(n&65535))+255&(h&255);j=8;r=23}if((r|0)==23){k=8-j|0;l=c[f>>2]|0;j=l+1|0;c[f>>2]=j;b[o>>1]=8;if(k>>>0>7){m=((k+-8|0)>>>3)+2|0;do{s=j;j=j+1|0;c[f>>2]=j;h=h<<8|(d[s>>0]|0);k=k+-8|0}while(k>>>0>7);j=l+m|0;k=0-n&7}if(!k)i=8;else{s=a[j>>0]|0;b[i>>1]=s&255;r=8-k|0;i=r&65535;h=(s&255)>>>r|h<>1]=i;h=q^(e[118974+(((h^p)&255)<<1)>>1]|0);r=31;break}case 2:{o=f+6|0;i=b[o>>1]|0;r=31;break}case 1:{o=f+6|0;i=b[o>>1]|0;r=43;break}default:{}}if((r|0)==31){q=h<<8;p=h>>>8;if(i<<16>>16!=8){j=f+4|0;k=i&65535;h=(1<>1]|0);if((i&65535)>8){r=k+-8|0;i=r&65535;h=h>>>r;r=41}else r=35}else{h=a[c[f>>2]>>0]|0;j=f+4|0;b[j>>1]=h&255;h=(1<<(i&65535))+255&(h&255);k=8;r=35}if((r|0)==35){l=8-k|0;m=c[f>>2]|0;k=m+1|0;c[f>>2]=k;b[o>>1]=8;if(l>>>0>7){n=((l+-8|0)>>>3)+2|0;do{s=k;k=k+1|0;c[f>>2]=k;h=h<<8|(d[s>>0]|0);l=l+-8|0}while(l>>>0>7);k=m+n|0;l=0-i&7}if(!l)i=8;else{s=a[k>>0]|0;b[j>>1]=s&255;r=8-l|0;i=r&65535;h=(s&255)>>>r|h<>1]=i;h=q^(e[118974+(((h^p)&255)<<1)>>1]|0);r=43}if((r|0)==43){q=h<<8;p=h>>>8;if(i<<16>>16!=8){j=f+4|0;k=i&65535;h=(1<>1]|0);if((i&65535)>8){i=k+-8|0;h=h>>>i;r=53}else r=47}else{h=a[c[f>>2]>>0]|0;j=f+4|0;b[j>>1]=h&255;h=(1<<(i&65535))+255&(h&255);k=8;r=47}if((r|0)==47){l=8-k|0;m=c[f>>2]|0;k=m+1|0;c[f>>2]=k;b[o>>1]=8;if(l>>>0>7){n=((l+-8|0)>>>3)+2|0;do{s=k;k=k+1|0;c[f>>2]=k;h=h<<8|(d[s>>0]|0);l=l+-8|0}while(l>>>0>7);k=m+n|0;i=0-i&7}else i=l;if(i){s=a[k>>0]|0;b[j>>1]=s&255;r=8-i|0;h=(s&255)>>>r|h<>1]=i;h=q^(e[118974+(((h^p)&255)<<1)>>1]|0);g=g&7}if(!g){s=h;s=s&65535;return s|0}q=f+6|0;p=f+4|0;n=b[q>>1]|0;o=g;while(1){o=o+-1|0;if(n<<16>>16!=8){g=n&65535;i=(1<>1]|0);if((n&65535)<=1){k=1-g|0;m=c[f>>2]|0;j=m+1|0;c[f>>2]=j;b[q>>1]=8;if(k>>>0>7){l=(-7-g|0)>>>3;g=i;do{s=j;j=j+1|0;c[f>>2]=j;g=g<<8|(d[s>>0]|0);k=k+-8|0}while(k>>>0>7);j=m+2+l|0;k=1-n&7}else g=i;if(!k)i=8;else{s=a[j>>0]|0;b[p>>1]=s&255;r=8-k|0;j=r&65535;g=(s&255)>>>r|g<>2]>>0]|0;b[p>>1]=i&255;i=(1<<(n&65535))+255&(i&255);g=8;r=60}if((r|0)==60){g=g+-1|0;j=g&65535;g=i>>>g;r=67}if((r|0)==67){r=0;b[q>>1]=j;i=j}s=h<<1;h=((g^h>>>15)&1|0)==0?s:s^32773;if(!o)break;else n=i}s=h&65535;return s|0}function wS(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;qS(a+28|0,0);qS(a+36|0,0);a=a+44|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;return}function xS(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+36|0;d=a;e=d+36|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));f=185244;d=c[f+4>>2]|0;e=b;c[e>>2]=c[f>>2];c[e+4>>2]=d;c[a+44>>2]=0;c[a+9264>>2]=0;PS(a);return}function yS(a){a=a|0;OS(a);a=a+4096|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function zS(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=(c[d+4>>2]|0)==0?1:2;switch(c[d>>2]|0){case 1:{e=12;break}case 3:{e=(c[d+28>>2]&4096|0)==0?36:18;f=3;break}default:{e=36;f=3}}f=c[d+20>>2]|0;h=a+4100|0;c[h>>2]=f;b[a+4104>>1]=i;g=a+4106|0;b[g>>1]=e<<5;if(!(c[d+44>>2]&2))f=135;else{c[h>>2]=f>>>1;b[g>>1]=e<<4&32752;f=136}qd[f&255](a,d,i,e);a=a+4096|0;c[a>>2]=(c[a>>2]|0)+e&15;return}function AS(a){a=a|0;var b=0;b=a+9264|0;a=c[b>>2]|0;if(!a)return;YU(a);c[b>>2]=0;return}function BS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;if(!d)return;w=a+4096|0;n=(e|0)==0;m=0;s=a+1504|0;t=a+1472|0;while(1){if(!n){f=a+4108+(m*4608|0)|0;v=c[w>>2]|0;x=0;while(1){z=v&1;o=a+(m<<11)+(z<<9)|0;DS(b+48+(m*4608|0)+(x<<7)|0,v>>>1,o,a+(m<<11)+1024+(z<<9)|0);k=v&-2;u=v+15&14|1;l=z^1;q=78204+(u<<2)|0;A=78204+(k<<2)|0;G=H(c[A>>2]|0,c[o>>2]|0)|0;g=H(c[q>>2]|0,c[a+(m<<11)+(l<<9)>>2]|0)|0;i=H(c[q+56>>2]|0,c[a+(m<<11)+(l<<9)+4>>2]|0)|0;h=H(c[q+48>>2]|0,c[a+(m<<11)+(l<<9)+8>>2]|0)|0;p=H(c[q+40>>2]|0,c[a+(m<<11)+(l<<9)+12>>2]|0)|0;j=H(c[q+32>>2]|0,c[a+(m<<11)+(l<<9)+16>>2]|0)|0;y=H(c[q+24>>2]|0,c[a+(m<<11)+(l<<9)+20>>2]|0)|0;r=H(c[q+16>>2]|0,c[a+(m<<11)+(l<<9)+24>>2]|0)|0;q=H(c[q+8>>2]|0,c[a+(m<<11)+(l<<9)+28>>2]|0)|0;I=H(c[A+56>>2]|0,c[a+(m<<11)+(z<<9)+4>>2]|0)|0;F=H(c[A+48>>2]|0,c[a+(m<<11)+(z<<9)+8>>2]|0)|0;E=H(c[A+40>>2]|0,c[a+(m<<11)+(z<<9)+12>>2]|0)|0;D=H(c[A+32>>2]|0,c[a+(m<<11)+(z<<9)+16>>2]|0)|0;C=H(c[A+24>>2]|0,c[a+(m<<11)+(z<<9)+20>>2]|0)|0;B=H(c[A+16>>2]|0,c[a+(m<<11)+(z<<9)+24>>2]|0)|0;c[f>>2]=I+G+F+E+D+C+B+(H(c[A+8>>2]|0,c[a+(m<<11)+(z<<9)+28>>2]|0)|0)-(i+g+h+p+j+y+r+q)>>2;q=0-u|0;r=0-k|0;y=s+(l<<9)|0;j=78204;p=a+(m<<11)+1024+(l<<9)|0;h=f+4|0;g=f+60|0;i=1;while(1){f=o;o=o+32|0;if(!(i&1)){A=j+128+(u<<2)|0;z=p+4|0;J=p+8|0;K=p+12|0;L=p+16|0;M=p+20|0;N=p+24|0;O=p+28|0;W=j+128+(k<<2)|0;I=f+60|0;$=H(c[W+8>>2]|0,c[I>>2]|0)|0;U=H(c[A>>2]|0,c[p>>2]|0)|0;V=H(c[A+56>>2]|0,c[z>>2]|0)|0;T=H(c[A+48>>2]|0,c[J>>2]|0)|0;S=H(c[A+40>>2]|0,c[K>>2]|0)|0;R=H(c[A+32>>2]|0,c[L>>2]|0)|0;Q=H(c[A+24>>2]|0,c[M>>2]|0)|0;P=H(c[A+16>>2]|0,c[N>>2]|0)|0;A=H(c[A+8>>2]|0,c[O>>2]|0)|0;G=f+56|0;aa=H(c[W+16>>2]|0,c[G>>2]|0)|0;F=f+52|0;_=H(c[W+24>>2]|0,c[F>>2]|0)|0;E=f+48|0;Z=H(c[W+32>>2]|0,c[E>>2]|0)|0;D=f+44|0;Y=H(c[W+40>>2]|0,c[D>>2]|0)|0;C=f+40|0;X=H(c[W+48>>2]|0,c[C>>2]|0)|0;B=f+36|0;f=H(c[W+56>>2]|0,c[B>>2]|0)|0;c[h>>2]=aa+$+_+Z+Y+X+f+(H(c[W>>2]|0,c[o>>2]|0)|0)-(V+U+T+S+R+Q+P+A)>>2;A=j+128+(q<<2)|0;f=H(c[A+116>>2]|0,c[O>>2]|0)|0;f=(H(c[A+108>>2]|0,c[N>>2]|0)|0)+f|0;f=f+(H(c[A+100>>2]|0,c[M>>2]|0)|0)|0;f=f+(H(c[A+92>>2]|0,c[L>>2]|0)|0)|0;f=f+(H(c[A+84>>2]|0,c[K>>2]|0)|0)|0;f=f+(H(c[A+76>>2]|0,c[J>>2]|0)|0)|0;f=f+(H(c[A+68>>2]|0,c[z>>2]|0)|0)|0;A=f+(H(c[A+60>>2]|0,c[p>>2]|0)|0)|0;f=j+128+(r<<2)|0;A=A+(H(c[f+60>>2]|0,c[o>>2]|0)|0)|0;B=A+(H(c[f+68>>2]|0,c[B>>2]|0)|0)|0;C=B+(H(c[f+76>>2]|0,c[C>>2]|0)|0)|0;D=C+(H(c[f+84>>2]|0,c[D>>2]|0)|0)|0;E=D+(H(c[f+92>>2]|0,c[E>>2]|0)|0)|0;F=E+(H(c[f+100>>2]|0,c[F>>2]|0)|0)|0;G=F+(H(c[f+108>>2]|0,c[G>>2]|0)|0)|0;c[g>>2]=G+(H(c[f+116>>2]|0,c[I>>2]|0)|0)>>2;f=h+4|0;g=g+-4|0}else f=h;i=i+1|0;if((i|0)==16)break;else{j=j+128|0;p=p+32|0;h=f}}aa=80252+(u<<2)|0;$=H(c[aa>>2]|0,c[y>>2]|0)|0;$=$+(H(c[aa+56>>2]|0,c[t+(l<<9)+36>>2]|0)|0)|0;$=$+(H(c[aa+48>>2]|0,c[t+(l<<9)+40>>2]|0)|0)|0;$=$+(H(c[aa+40>>2]|0,c[t+(l<<9)+44>>2]|0)|0)|0;$=$+(H(c[aa+32>>2]|0,c[t+(l<<9)+48>>2]|0)|0)|0;$=$+(H(c[aa+24>>2]|0,c[t+(l<<9)+52>>2]|0)|0)|0;$=$+(H(c[aa+16>>2]|0,c[t+(l<<9)+56>>2]|0)|0)|0;c[f>>2]=0-($+(H(c[aa+8>>2]|0,c[t+(l<<9)+60>>2]|0)|0))>>2;x=x+1|0;if((x|0)==(e|0))break;else{f=f+32|0;v=v+1&15}}}m=m+1|0;if((m|0)==(d|0))break;else{s=s+2048|0;t=t+2048|0}}return}function CS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;if(!d)return;v=a+4096|0;j=(e|0)==0;i=0;o=a+1472|0;p=a+1504|0;while(1){if(!j){r=a+4108+(i*4608|0)|0;u=c[v>>2]|0;w=0;while(1){z=u&1;k=a+(i<<11)+(z<<9)|0;DS(b+48+(i*4608|0)+(w<<7)|0,u>>>1,k,a+(i<<11)+1024+(z<<9)|0);g=u&-2;q=u+15&14|1;h=z^1;m=78204+(q<<2)|0;A=78204+(g<<2)|0;G=H(c[A>>2]|0,c[k>>2]|0)|0;t=H(c[m>>2]|0,c[a+(i<<11)+(h<<9)>>2]|0)|0;x=H(c[m+56>>2]|0,c[a+(i<<11)+(h<<9)+4>>2]|0)|0;s=H(c[m+48>>2]|0,c[a+(i<<11)+(h<<9)+8>>2]|0)|0;l=H(c[m+40>>2]|0,c[a+(i<<11)+(h<<9)+12>>2]|0)|0;f=H(c[m+32>>2]|0,c[a+(i<<11)+(h<<9)+16>>2]|0)|0;y=H(c[m+24>>2]|0,c[a+(i<<11)+(h<<9)+20>>2]|0)|0;n=H(c[m+16>>2]|0,c[a+(i<<11)+(h<<9)+24>>2]|0)|0;m=H(c[m+8>>2]|0,c[a+(i<<11)+(h<<9)+28>>2]|0)|0;I=H(c[A+56>>2]|0,c[a+(i<<11)+(z<<9)+4>>2]|0)|0;F=H(c[A+48>>2]|0,c[a+(i<<11)+(z<<9)+8>>2]|0)|0;E=H(c[A+40>>2]|0,c[a+(i<<11)+(z<<9)+12>>2]|0)|0;D=H(c[A+32>>2]|0,c[a+(i<<11)+(z<<9)+16>>2]|0)|0;C=H(c[A+24>>2]|0,c[a+(i<<11)+(z<<9)+20>>2]|0)|0;B=H(c[A+16>>2]|0,c[a+(i<<11)+(z<<9)+24>>2]|0)|0;c[r>>2]=I+G+F+E+D+C+B+(H(c[A+8>>2]|0,c[a+(i<<11)+(z<<9)+28>>2]|0)|0)-(x+t+s+l+f+y+n+m)>>2;m=0-g|0;n=0-q|0;y=p+(h<<9)|0;f=78204;l=a+(i<<11)+1024+(h<<9)|0;s=r;t=r+124|0;x=1;while(1){s=s+4|0;I=f+128+(q<<2)|0;G=l+4|0;F=l+8|0;E=l+12|0;D=l+16|0;C=l+20|0;B=l+24|0;A=l+28|0;W=f+128+(g<<2)|0;z=k+60|0;aa=H(c[W+8>>2]|0,c[z>>2]|0)|0;U=H(c[I>>2]|0,c[l>>2]|0)|0;V=H(c[I+56>>2]|0,c[G>>2]|0)|0;T=H(c[I+48>>2]|0,c[F>>2]|0)|0;S=H(c[I+40>>2]|0,c[E>>2]|0)|0;R=H(c[I+32>>2]|0,c[D>>2]|0)|0;Q=H(c[I+24>>2]|0,c[C>>2]|0)|0;O=H(c[I+16>>2]|0,c[B>>2]|0)|0;I=H(c[I+8>>2]|0,c[A>>2]|0)|0;J=k+56|0;ba=H(c[W+16>>2]|0,c[J>>2]|0)|0;K=k+52|0;$=H(c[W+24>>2]|0,c[K>>2]|0)|0;L=k+48|0;_=H(c[W+32>>2]|0,c[L>>2]|0)|0;M=k+44|0;Z=H(c[W+40>>2]|0,c[M>>2]|0)|0;N=k+40|0;Y=H(c[W+48>>2]|0,c[N>>2]|0)|0;P=k+36|0;k=k+32|0;X=H(c[W+56>>2]|0,c[P>>2]|0)|0;c[s>>2]=ba+aa+$+_+Z+Y+X+(H(c[W>>2]|0,c[k>>2]|0)|0)-(V+U+T+S+R+Q+O+I)>>2;I=f+128+(m<<2)|0;O=H(c[I+60>>2]|0,c[k>>2]|0)|0;O=(H(c[I+68>>2]|0,c[P>>2]|0)|0)+O|0;N=O+(H(c[I+76>>2]|0,c[N>>2]|0)|0)|0;M=N+(H(c[I+84>>2]|0,c[M>>2]|0)|0)|0;L=M+(H(c[I+92>>2]|0,c[L>>2]|0)|0)|0;K=L+(H(c[I+100>>2]|0,c[K>>2]|0)|0)|0;J=K+(H(c[I+108>>2]|0,c[J>>2]|0)|0)|0;z=J+(H(c[I+116>>2]|0,c[z>>2]|0)|0)|0;I=f+128+(n<<2)|0;A=z+(H(c[I+116>>2]|0,c[A>>2]|0)|0)|0;B=A+(H(c[I+108>>2]|0,c[B>>2]|0)|0)|0;C=B+(H(c[I+100>>2]|0,c[C>>2]|0)|0)|0;D=C+(H(c[I+92>>2]|0,c[D>>2]|0)|0)|0;E=D+(H(c[I+84>>2]|0,c[E>>2]|0)|0)|0;F=E+(H(c[I+76>>2]|0,c[F>>2]|0)|0)|0;G=F+(H(c[I+68>>2]|0,c[G>>2]|0)|0)|0;c[t>>2]=G+(H(c[I+60>>2]|0,c[l>>2]|0)|0)>>2;x=x+1|0;if((x|0)==16)break;else{f=f+128|0;l=l+32|0;t=t+-4|0}}ba=80252+(q<<2)|0;aa=H(c[ba>>2]|0,c[y>>2]|0)|0;aa=aa+(H(c[ba+56>>2]|0,c[o+(h<<9)+36>>2]|0)|0)|0;aa=aa+(H(c[ba+48>>2]|0,c[o+(h<<9)+40>>2]|0)|0)|0;aa=aa+(H(c[ba+40>>2]|0,c[o+(h<<9)+44>>2]|0)|0)|0;aa=aa+(H(c[ba+32>>2]|0,c[o+(h<<9)+48>>2]|0)|0)|0;aa=aa+(H(c[ba+24>>2]|0,c[o+(h<<9)+52>>2]|0)|0)|0;aa=aa+(H(c[ba+16>>2]|0,c[o+(h<<9)+56>>2]|0)|0)|0;c[r+64>>2]=0-(aa+(H(c[ba+8>>2]|0,c[o+(h<<9)+60>>2]|0)|0))>>2;w=w+1|0;if((w|0)==(e|0))break;else{r=r+128|0;u=u+1&15}}}i=i+1|0;if((i|0)==(d|0))break;else{o=o+2048|0;p=p+2048|0}}return} +function GK(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<4;r=g<<4;p=d>>1;q=p<<1;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<4;o=f+-15|0;a:do if(m<<24>>24>=1){d=15-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<4096?m:0-m>>31&4095;t=l-t|0;b[g>>1]=t>>>0<4096?t:0-t>>31&4095}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function HK(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=c>>1;m=d<<4;j=f<<4;k=0-n|0;l=H(n,-2)|0;i=0;while(1){if((i|0)==8)break;h=a+(k<<1)|0;c=e[h>>1]|0;d=e[a+(l<<1)>>1]|0;f=e[a>>1]|0;g=e[a+(n<<1)>>1]|0;o=c-f|0;if(((((o|0)>-1?o:0-o|0)|0)<(m|0)?(o=d-c|0,(((o|0)>-1?o:0-o|0)|0)<(j|0)):0)?(o=g-f|0,(((o|0)>-1?o:0-o|0)|0)<(j|0)):0){b[h>>1]=(c+2+(d<<1)+g|0)>>>2;b[a>>1]=(d+2+f+(g<<1)|0)>>>2}i=i+1|0;a=a+2|0}return}function IK(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<4;j=f<<4;i=0;while(1){if((i|0)==8)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function JK(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<4;j=f<<4;i=0;while(1){if((i|0)==16)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function KK(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<4;j=f<<4;i=0;while(1){if((i|0)==4)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function LK(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<4;j=f<<4;i=0;while(1){if((i|0)==8)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function MK(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c[d>>2]=(c[d>>2]|0)+32;g=0;while(1){if((g|0)==4)break;o=d+(g<<2)|0;n=c[o>>2]|0;k=d+(g+8<<2)|0;m=c[k>>2]|0;j=m+n|0;m=n-m|0;n=d+(g+4<<2)|0;h=c[n>>2]|0;i=d+(g+12<<2)|0;p=c[i>>2]|0;l=(h>>1)-p|0;h=(p>>1)+h|0;c[o>>2]=h+j;c[n>>2]=l+m;c[k>>2]=m-l;c[i>>2]=j-h;g=g+1|0}f=f>>1;h=f<<1;i=f*3|0;g=0;while(1){if((g|0)==4)break;p=g<<2;o=c[d+(p<<2)>>2]|0;l=c[d+((p|2)<<2)>>2]|0;n=l+o|0;l=o-l|0;o=c[d+((p|1)<<2)>>2]|0;p=c[d+((p|3)<<2)>>2]|0;m=(o>>1)-p|0;o=(p>>1)+o|0;p=a+(g<<1)|0;k=(o+n>>6)+(e[p>>1]|0)|0;b[p>>1]=k>>>0<16384?k:0-k>>31&16383;p=a+(g+f<<1)|0;k=(m+l>>6)+(e[p>>1]|0)|0;b[p>>1]=k>>>0<16384?k:0-k>>31&16383;p=a+(g+h<<1)|0;m=(l-m>>6)+(e[p>>1]|0)|0;b[p>>1]=m>>>0<16384?m:0-m>>31&16383;p=a+(g+i<<1)|0;o=(n-o>>6)+(e[p>>1]|0)|0;b[p>>1]=o>>>0<16384?o:0-o>>31&16383;g=g+1|0}g=d+64|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(g|0));return}function NK(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;c[d>>2]=(c[d>>2]|0)+32;g=0;while(1){if((g|0)==8)break;w=d+(g<<2)|0;o=c[w>>2]|0;m=d+(g+32<<2)|0;l=c[m>>2]|0;j=l+o|0;l=o-l|0;o=d+(g+16<<2)|0;k=c[o>>2]|0;p=d+(g+48<<2)|0;v=c[p>>2]|0;n=(k>>1)-v|0;k=(v>>1)+k|0;v=k+j|0;r=n+l|0;n=l-n|0;k=j-k|0;j=d+(g+24<<2)|0;l=c[j>>2]|0;i=d+(g+40<<2)|0;h=c[i>>2]|0;t=d+(g+56<<2)|0;q=c[t>>2]|0;u=h-l-q-(q>>1)|0;s=d+(g+8<<2)|0;x=c[s>>2]|0;y=q-((l>>1)+l)+x|0;q=q+h+(h>>1)-x|0;x=h+l+x+(x>>1)|0;l=(x>>2)+u|0;h=(q>>2)+y|0;q=(y>>2)-q|0;u=x-(u>>2)|0;c[w>>2]=u+v;c[t>>2]=v-u;c[s>>2]=q+r;c[p>>2]=r-q;c[o>>2]=h+n;c[i>>2]=n-h;c[j>>2]=l+k;c[m>>2]=k-l;g=g+1|0}i=f>>1;j=i<<1;k=i*3|0;l=i<<2;m=i*5|0;f=i*6|0;h=i*7|0;g=0;while(1){if((g|0)==8)break;y=g<<3;q=c[d+(y<<2)>>2]|0;t=c[d+((y|4)<<2)>>2]|0;r=t+q|0;t=q-t|0;q=c[d+((y|2)<<2)>>2]|0;w=c[d+((y|6)<<2)>>2]|0;s=(q>>1)-w|0;q=(w>>1)+q|0;w=q+r|0;u=s+t|0;s=t-s|0;q=r-q|0;r=c[d+((y|3)<<2)>>2]|0;t=c[d+((y|5)<<2)>>2]|0;v=c[d+((y|7)<<2)>>2]|0;x=t-r-v-(v>>1)|0;y=c[d+((y|1)<<2)>>2]|0;p=v-((r>>1)+r)+y|0;v=v+t+(t>>1)-y|0;y=t+r+y+(y>>1)|0;r=(y>>2)+x|0;t=(v>>2)+p|0;v=(p>>2)-v|0;x=y-(x>>2)|0;y=a+(g<<1)|0;p=(x+w>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<16384?p:0-p>>31&16383;y=a+(g+i<<1)|0;p=(v+u>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<16384?p:0-p>>31&16383;y=a+(g+j<<1)|0;p=(t+s>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<16384?p:0-p>>31&16383;y=a+(g+k<<1)|0;p=(r+q>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<16384?p:0-p>>31&16383;y=a+(g+l<<1)|0;r=(q-r>>6)+(e[y>>1]|0)|0;b[y>>1]=r>>>0<16384?r:0-r>>31&16383;y=a+(g+m<<1)|0;t=(s-t>>6)+(e[y>>1]|0)|0;b[y>>1]=t>>>0<16384?t:0-t>>31&16383;y=a+(g+f<<1)|0;v=(u-v>>6)+(e[y>>1]|0)|0;b[y>>1]=v>>>0<16384?v:0-v>>31&16383;y=a+(g+h<<1)|0;x=(w-x>>6)+(e[y>>1]|0)|0;b[y>>1]=x>>>0<16384?x:0-x>>31&16383;g=g+1|0}_W(d|0,0,256)|0;return}function OK(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;h=(c[d>>2]|0)+32>>6;g=f>>>1;c[d>>2]=0;d=0;while(1){if((d|0)==4)break;else f=0;while(1){if((f|0)==4)break;i=a+(f<<1)|0;j=h+(e[i>>1]|0)|0;b[i>>1]=j>>>0<16384?j:0-j>>31&16383;f=f+1|0}a=a+(g<<1)|0;d=d+1|0}return}function PK(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;h=(c[d>>2]|0)+32>>6;c[d>>2]=0;g=f>>>1;f=a;a=0;while(1){if((a|0)==8)break;else d=0;while(1){if((d|0)==8)break;i=f+(d<<1)|0;j=h+(e[i>>1]|0)|0;b[i>>1]=j>>>0<16384?j:0-j>>31&16383;d=d+1|0}f=f+(g<<1)|0;a=a+1|0}return}function QK(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=0;while(1){if((i|0)==16)break;switch(a[h+(d[150841+i>>0]|0)>>0]|0){case 0:break;case 1:{if(!(c[f+(i<<4<<2)>>2]|0))j=6;else OK(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);break}default:j=6}if((j|0)==6){j=0;MK(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}i=i+1|0}return}function RK(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=0;while(1){if((i|0)>=16)break;switch(a[h+(d[150841+i>>0]|0)>>0]|0){case 0:break;case 1:{if(!(c[f+(i<<4<<2)>>2]|0))j=6;else PK(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);break}default:j=6}if((j|0)==6){j=0;NK(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}i=i+4|0}return}function SK(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;i=1;while(1){if((i|0)==3)break;j=i<<4;k=j|4;l=b+(i+-1<<2)|0;while(1){if((j|0)>=(k|0))break;if(!(a[h+(d[150841+j>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)OK((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else MK((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}return}function TK(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=1;while(1){if((i|0)==3){i=1;break}j=i<<4;k=j|4;l=b+(i+-1<<2)|0;while(1){if((j|0)>=(k|0))break;if(!(a[h+(d[150841+j>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)OK((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else MK((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}while(1){if((i|0)==3)break;j=i<<4;k=j|8;l=b+(i+-1<<2)|0;j=j|4;while(1){if((j|0)>=(k|0))break;m=j+4|0;if(!(a[h+(d[150841+m>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)OK((c[l>>2]|0)+(c[e+(m<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else MK((c[l>>2]|0)+(c[e+(m<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}return}function UK(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;i=0;while(1){if((i|0)==16)break;if(!(a[h+(d[150841+i>>0]|0)>>0]|0)){if(c[f+(i<<4<<2)>>2]|0)OK(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}else MK(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);i=i+1|0}return}function VK(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=$c;$c=$c+64|0;if(($c|0)>=(ad|0))N(64);g=h;f=0;while(1){if((f|0)==4)break;p=f<<2;l=c[b+(p<<2)>>2]|0;m=p|1;j=c[b+(m<<2)>>2]|0;o=j+l|0;j=l-j|0;l=p|2;n=c[b+(l<<2)>>2]|0;i=p|3;q=c[b+(i<<2)>>2]|0;k=n-q|0;n=q+n|0;c[g+(p<<2)>>2]=n+o;c[g+(m<<2)>>2]=o-n;c[g+(l<<2)>>2]=j-k;c[g+(i<<2)>>2]=k+j;f=f+1|0}f=0;while(1){if((f|0)==4)break;q=d[150837+f>>0]|0;p=c[g+(f<<2)>>2]|0;m=c[g+(f+8<<2)>>2]|0;o=m+p|0;m=p-m|0;p=c[g+(f+4<<2)>>2]|0;l=c[g+(f+12<<2)>>2]|0;n=p-l|0;p=l+p|0;c[a+(q<<2)>>2]=(H(p+o|0,e)|0)+128>>8;c[a+(q+16<<2)>>2]=(H(n+m|0,e)|0)+128>>8;c[a+(q+64<<2)>>2]=(H(m-n|0,e)|0)+128>>8;c[a+(q+80<<2)>>2]=(H(o-p|0,e)|0)+128>>8;f=f+1|0}$c=h;return}function WK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=c[a>>2]|0;j=a+64|0;e=c[j>>2]|0;g=a+128|0;h=c[g>>2]|0;d=a+192|0;k=c[d>>2]|0;f=i-e|0;i=e+i|0;e=h-k|0;h=k+h|0;c[a>>2]=(H(h+i|0,b)|0)>>7;c[j>>2]=(H(e+f|0,b)|0)>>7;c[g>>2]=(H(i-h|0,b)|0)>>7;c[d>>2]=(H(f-e|0,b)|0)>>7;return}function XK(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);f=g;e=0;while(1){if((e|0)==4){e=0;break}i=e<<5;j=c[a+(i<<2)>>2]|0;i=c[a+((i|16)<<2)>>2]|0;h=e<<1;c[f+(h<<2)>>2]=i+j;c[f+((h|1)<<2)>>2]=j-i;e=e+1|0}while(1){if((e|0)==2)break;j=d[150835+e>>0]|0;i=c[f+(e<<2)>>2]|0;l=c[f+(e+4<<2)>>2]|0;h=l+i|0;l=i-l|0;i=c[f+(e+2<<2)>>2]|0;m=c[f+(e+6<<2)>>2]|0;k=i-m|0;i=m+i|0;c[a+(j<<2)>>2]=(H(i+h|0,b)|0)+128>>8;c[a+(j+32<<2)>>2]=(H(k+l|0,b)|0)+128>>8;c[a+(j+64<<2)>>2]=(H(l-k|0,b)|0)+128>>8;c[a+(j+96<<2)>>2]=(H(h-i|0,b)|0)+128>>8;e=e+1|0}$c=g;return}function YK(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<16384?a:0-a>>31&16383;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+8|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+10|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+12|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+14|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+16|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+18|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+20|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+22|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+24|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+26|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+28|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+30|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;c=c+(j<<1)|0;h=h+1|0}return}function ZK(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<16384?a:0-a>>31&16383;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+8|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+10|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+12|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+14|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;c=c+(j<<1)|0;h=h+1|0}return}function _K(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<16384?a:0-a>>31&16383;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;c=c+(j<<1)|0;h=h+1|0}return}function $K(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<16384?a:0-a>>31&16383;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;c=c+(j<<1)|0;h=h+1|0}return}function aL(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<6|1)<=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<16384?m:0-m>>31&16383;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=H(e[c+8>>1]|0,i)|0;m=d+8|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=H(e[c+10>>1]|0,i)|0;a=d+10|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=H(e[c+12>>1]|0,i)|0;m=d+12|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=H(e[c+14>>1]|0,i)|0;a=d+14|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=H(e[c+16>>1]|0,i)|0;m=d+16|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=H(e[c+18>>1]|0,i)|0;a=d+18|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=H(e[c+20>>1]|0,i)|0;m=d+20|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=H(e[c+22>>1]|0,i)|0;a=d+22|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=H(e[c+24>>1]|0,i)|0;m=d+24|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=H(e[c+26>>1]|0,i)|0;a=d+26|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=H(e[c+28>>1]|0,i)|0;m=d+28|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=H(e[c+30>>1]|0,i)|0;a=d+30|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function bL(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<6|1)<=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<16384?m:0-m>>31&16383;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=H(e[c+8>>1]|0,i)|0;m=d+8|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=H(e[c+10>>1]|0,i)|0;a=d+10|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=H(e[c+12>>1]|0,i)|0;m=d+12|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=H(e[c+14>>1]|0,i)|0;a=d+14|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function cL(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<6|1)<=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<16384?m:0-m>>31&16383;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function dL(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<6|1)<=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<16384?m:0-m>>31&16383;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function eL(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=d>>1;B=f<<6;y=g<<6;z=0-C|0;A=H(C,-2)|0;w=H(C,-3)|0;x=C<<1;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<6;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==4)break a;p=l+(z<<1)|0;q=e[p>>1]|0;d=l+(A<<1)|0;r=e[d>>1]|0;f=e[l+(w<<1)>>1]|0;s=e[l>>1]|0;i=l+(C<<1)|0;t=e[i>>1]|0;j=e[l+(x<<1)>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(B|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(y|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(y|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(y|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(y|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<16384?r:0-r>>31&16383;t=s-t|0;b[l>>1]=t>>>0<16384?t:0-t>>31&16383}k=k+1|0;l=l+2|0}}while(0);c=c+8|0;u=u+1|0}return}function fL(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=d>>1;y=f<<6;w=g<<6;x=z<<2;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<6;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==4)break a;p=l+-2|0;q=e[p>>1]|0;d=l+-4|0;r=e[d>>1]|0;f=e[l+-6>>1]|0;s=e[l>>1]|0;i=l+2|0;t=e[i>>1]|0;j=e[l+4>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(y|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(w|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(w|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<16384?r:0-r>>31&16383;t=s-t|0;b[l>>1]=t>>>0<16384?t:0-t>>31&16383}k=k+1|0;l=l+(z<<1)|0}}while(0);c=c+(x<<1)|0;u=u+1|0}return}function gL(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=d>>1;y=f<<6;w=g<<6;x=z<<1;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<6;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==2)break a;p=l+-2|0;q=e[p>>1]|0;d=l+-4|0;r=e[d>>1]|0;f=e[l+-6>>1]|0;s=e[l>>1]|0;i=l+2|0;t=e[i>>1]|0;j=e[l+4>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(y|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(w|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(w|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<16384?r:0-r>>31&16383;t=s-t|0;b[l>>1]=t>>>0<16384?t:0-t>>31&16383}k=k+1|0;l=l+(z<<1)|0}}while(0);c=c+(x<<1)|0;u=u+1|0}return}function hL(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=c>>1;z=d<<6;v=f<<6;w=H(A,-3)|0;x=H(A,-2)|0;y=0-A|0;r=A<<1;s=z>>2|2;t=H(A,-4)|0;u=A*3|0;j=0;while(1){if((j|0)==16)break;c=a+(w<<1)|0;i=e[c>>1]|0;d=a+(x<<1)|0;k=e[d>>1]|0;f=a+(y<<1)|0;l=e[f>>1]|0;m=e[a>>1]|0;n=a+(A<<1)|0;o=e[n>>1]|0;p=a+(r<<1)|0;q=e[p>>1]|0;g=l-m|0;g=(g|0)>-1?g:0-g|0;do if(((g|0)<(z|0)?(h=k-l|0,(((h|0)>-1?h:0-h|0)|0)<(v|0)):0)?(h=o-m|0,(((h|0)>-1?h:0-h|0)|0)<(v|0)):0){if((g|0)>=(s|0)){b[f>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}h=i-l|0;if((((h|0)>-1?h:0-h|0)|0)<(v|0)){B=e[a+(t<<1)>>1]|0;b[f>>1]=(i+4+o+(l+k+m<<1)|0)>>>3;b[d>>1]=(i+2+k+l+m|0)>>>2;f=c;d=3;g=4;h=m;c=(i*3|0)+k+(B<<1)|0}else{d=2;g=2;h=o;c=k<<1}b[f>>1]=(c+l+h+g|0)>>>d;B=q-m|0;if((((B|0)>-1?B:0-B|0)|0)<(v|0)){B=e[a+(u<<1)>>1]|0;b[a>>1]=(k+4+q+(m+l+o<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(l+4+m+o+(q*3|0)+(B<<1)|0)>>>3;break}else{b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}}while(0);a=a+2|0;j=j+1|0}return}function iL(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=c>>1;t=d<<6;r=f<<6;s=t>>2|2;j=0;while(1){if((j|0)==16)break;g=a+-6|0;i=e[g>>1]|0;c=a+-4|0;k=e[c>>1]|0;d=a+-2|0;l=e[d>>1]|0;m=e[a>>1]|0;n=a+2|0;o=e[n>>1]|0;p=a+4|0;q=e[p>>1]|0;f=l-m|0;f=(f|0)>-1?f:0-f|0;do if(((f|0)<(t|0)?(h=k-l|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0)?(h=o-m|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0){if((f|0)>=(s|0)){b[d>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}h=i-l|0;if((((h|0)>-1?h:0-h|0)|0)<(r|0)){v=e[a+-8>>1]|0;b[d>>1]=(i+4+o+(l+k+m<<1)|0)>>>3;b[c>>1]=(i+2+k+l+m|0)>>>2;d=g;f=3;g=4;h=m;c=(i*3|0)+k+(v<<1)|0}else{f=2;g=2;h=o;c=k<<1}b[d>>1]=(c+l+h+g|0)>>>f;v=q-m|0;if((((v|0)>-1?v:0-v|0)|0)<(r|0)){v=e[a+6>>1]|0;b[a>>1]=(k+4+q+(m+l+o<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(l+4+m+o+(q*3|0)+(v<<1)|0)>>>3;break}else{b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}}while(0);a=a+(u<<1)|0;j=j+1|0}return}function jL(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=c>>1;t=d<<6;r=f<<6;s=t>>2|2;j=0;while(1){if((j|0)==8)break;g=a+-6|0;i=e[g>>1]|0;c=a+-4|0;k=e[c>>1]|0;d=a+-2|0;l=e[d>>1]|0;m=e[a>>1]|0;n=a+2|0;o=e[n>>1]|0;p=a+4|0;q=e[p>>1]|0;f=l-m|0;f=(f|0)>-1?f:0-f|0;do if(((f|0)<(t|0)?(h=k-l|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0)?(h=o-m|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0){if((f|0)>=(s|0)){b[d>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}h=i-l|0;if((((h|0)>-1?h:0-h|0)|0)<(r|0)){v=e[a+-8>>1]|0;b[d>>1]=(i+4+o+(l+k+m<<1)|0)>>>3;b[c>>1]=(i+2+k+l+m|0)>>>2;d=g;f=3;g=4;h=m;c=(i*3|0)+k+(v<<1)|0}else{f=2;g=2;h=o;c=k<<1}b[d>>1]=(c+l+h+g|0)>>>f;v=q-m|0;if((((v|0)>-1?v:0-v|0)|0)<(r|0)){v=e[a+6>>1]|0;b[a>>1]=(k+4+q+(m+l+o<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(l+4+m+o+(q*3|0)+(v<<1)|0)>>>3;break}else{b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}}while(0);a=a+(u<<1)|0;j=j+1|0}return}function kL(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=f<<6;s=g<<6;p=d>>1;q=0-p|0;r=H(p,-2)|0;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<6;o=f+-63|0;a:do if(m<<24>>24>=1){d=63-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+(q<<1)|0;j=e[i>>1]|0;k=e[g+(r<<1)>>1]|0;l=e[g>>1]|0;m=e[g+(p<<1)>>1]|0;u=j-l|0;if(((((u|0)>-1?u:0-u|0)|0)<(t|0)?(u=k-j|0,(((u|0)>-1?u:0-u|0)|0)<(s|0)):0)?(u=m-l|0,(((u|0)>-1?u:0-u|0)|0)<(s|0)):0){u=k+4-m+(l-j<<2)>>3;u=(u|0)<(d|0)?d:(u|0)>(o|0)?o:u;m=u+j|0;b[i>>1]=m>>>0<16384?m:0-m>>31&16383;u=l-u|0;b[g>>1]=u>>>0<16384?u:0-u>>31&16383}f=f+1|0;g=g+2|0}}while(0);c=c+4|0;n=n+1|0}return}function lL(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<6;r=g<<6;p=d>>1;q=p<<1;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<6;o=f+-63|0;a:do if(m<<24>>24>=1){d=63-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<16384?m:0-m>>31&16383;t=l-t|0;b[g>>1]=t>>>0<16384?t:0-t>>31&16383}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function mL(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<6;r=g<<6;p=d>>1;q=p<<2;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<6;o=f+-63|0;a:do if(m<<24>>24>=1){d=63-f|0;f=0;g=c;while(1){if((f|0)==4)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<16384?m:0-m>>31&16383;t=l-t|0;b[g>>1]=t>>>0<16384?t:0-t>>31&16383}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function nL(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=f<<6;q=g<<6;p=d>>1;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<6;o=f+-63|0;a:do if(m<<24>>24>=1){d=63-f|0;f=0;g=c;while(1){if((f|0)==1)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;s=j-l|0;if(((((s|0)>-1?s:0-s|0)|0)<(r|0)?(s=k-j|0,(((s|0)>-1?s:0-s|0)|0)<(q|0)):0)?(s=m-l|0,(((s|0)>-1?s:0-s|0)|0)<(q|0)):0){s=k+4-m+(l-j<<2)>>3;s=(s|0)<(d|0)?d:(s|0)>(o|0)?o:s;m=s+j|0;b[i>>1]=m>>>0<16384?m:0-m>>31&16383;s=l-s|0;b[g>>1]=s>>>0<16384?s:0-s>>31&16383}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(p<<1)|0;n=n+1|0}return}function oL(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<6;r=g<<6;p=d>>1;q=p<<1;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<6;o=f+-63|0;a:do if(m<<24>>24>=1){d=63-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<16384?m:0-m>>31&16383;t=l-t|0;b[g>>1]=t>>>0<16384?t:0-t>>31&16383}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function pL(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=c>>1;m=d<<6;j=f<<6;k=0-n|0;l=H(n,-2)|0;i=0;while(1){if((i|0)==8)break;h=a+(k<<1)|0;c=e[h>>1]|0;d=e[a+(l<<1)>>1]|0;f=e[a>>1]|0;g=e[a+(n<<1)>>1]|0;o=c-f|0;if(((((o|0)>-1?o:0-o|0)|0)<(m|0)?(o=d-c|0,(((o|0)>-1?o:0-o|0)|0)<(j|0)):0)?(o=g-f|0,(((o|0)>-1?o:0-o|0)|0)<(j|0)):0){b[h>>1]=(c+2+(d<<1)+g|0)>>>2;b[a>>1]=(d+2+f+(g<<1)|0)>>>2}i=i+1|0;a=a+2|0}return}function qL(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<6;j=f<<6;i=0;while(1){if((i|0)==8)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function rL(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<6;j=f<<6;i=0;while(1){if((i|0)==16)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function sL(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<6;j=f<<6;i=0;while(1){if((i|0)==4)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function tL(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<6;j=f<<6;i=0;while(1){if((i|0)==8)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function uL(c,f,g){c=c|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b[f>>1]=(e[f>>1]|0)+32;h=0;while(1){if((h|0)==4)break;p=f+(h<<1)|0;o=b[p>>1]|0;l=f+(h+8<<1)|0;n=b[l>>1]|0;k=n+o|0;n=o-n|0;o=f+(h+4<<1)|0;i=b[o>>1]|0;j=f+(h+12<<1)|0;q=b[j>>1]|0;m=(i>>1)-q|0;i=(q>>1)+i|0;b[p>>1]=i+k;b[o>>1]=m+n;b[l>>1]=n-m;b[j>>1]=k-i;h=h+1|0}i=g<<1;j=g*3|0;h=0;while(1){if((h|0)==4)break;q=h<<2;p=b[f+(q<<1)>>1]|0;m=b[f+((q|2)<<1)>>1]|0;o=m+p|0;m=p-m|0;p=b[f+((q|1)<<1)>>1]|0;q=b[f+((q|3)<<1)>>1]|0;n=(p>>1)-q|0;p=(q>>1)+p|0;q=c+h|0;l=(p+o>>6)+(d[q>>0]|0)|0;a[q>>0]=l>>>0>255?(l^-2147483648)>>31:l;q=c+(h+g)|0;l=(n+m>>6)+(d[q>>0]|0)|0;a[q>>0]=l>>>0>255?(l^-2147483648)>>31:l;q=c+(h+i)|0;n=(m-n>>6)+(d[q>>0]|0)|0;a[q>>0]=n>>>0>255?(n^-2147483648)>>31:n;q=c+(h+j)|0;p=(o-p>>6)+(d[q>>0]|0)|0;a[q>>0]=p>>>0>255?(p^-2147483648)>>31:p;h=h+1|0}h=f+32|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(h|0));return}function vL(c,f,g){c=c|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;b[f>>1]=(e[f>>1]|0)+32;h=0;while(1){if((h|0)==8)break;x=f+(h<<1)|0;p=b[x>>1]|0;n=f+(h+32<<1)|0;m=b[n>>1]|0;k=m+p|0;m=p-m|0;p=f+(h+16<<1)|0;l=b[p>>1]|0;q=f+(h+48<<1)|0;w=b[q>>1]|0;o=(l>>1)-w|0;l=(w>>1)+l|0;w=l+k|0;s=o+m|0;o=m-o|0;l=k-l|0;k=f+(h+24<<1)|0;m=b[k>>1]|0;j=f+(h+40<<1)|0;i=b[j>>1]|0;u=f+(h+56<<1)|0;r=b[u>>1]|0;v=i-m-r-(r>>1)|0;t=f+(h+8<<1)|0;y=b[t>>1]|0;z=r-((m>>1)+m)+y|0;r=r+i+(i>>1)-y|0;y=i+m+y+(y>>1)|0;m=(y>>2)+v|0;i=(r>>2)+z|0;r=(z>>2)-r|0;v=y-(v>>2)|0;b[x>>1]=v+w;b[u>>1]=w-v;b[t>>1]=r+s;b[q>>1]=s-r;b[p>>1]=i+o;b[j>>1]=o-i;b[k>>1]=m+l;b[n>>1]=l-m;h=h+1|0}l=g<<1;m=g*3|0;n=g<<2;i=g*5|0;j=g*6|0;k=g*7|0;h=0;while(1){if((h|0)==8)break;z=h<<3;r=b[f+(z<<1)>>1]|0;u=b[f+((z|4)<<1)>>1]|0;s=u+r|0;u=r-u|0;r=b[f+((z|2)<<1)>>1]|0;x=b[f+((z|6)<<1)>>1]|0;t=(r>>1)-x|0;r=(x>>1)+r|0;x=r+s|0;v=t+u|0;t=u-t|0;r=s-r|0;s=b[f+((z|3)<<1)>>1]|0;u=b[f+((z|5)<<1)>>1]|0;w=b[f+((z|7)<<1)>>1]|0;y=u-s-w-(w>>1)|0;z=b[f+((z|1)<<1)>>1]|0;q=w-((s>>1)+s)+z|0;w=w+u+(u>>1)-z|0;z=u+s+z+(z>>1)|0;s=(z>>2)+y|0;u=(w>>2)+q|0;w=(q>>2)-w|0;y=z-(y>>2)|0;z=c+h|0;q=(y+x>>6)+(d[z>>0]|0)|0;a[z>>0]=q>>>0>255?(q^-2147483648)>>31:q;z=c+(h+g)|0;q=(w+v>>6)+(d[z>>0]|0)|0;a[z>>0]=q>>>0>255?(q^-2147483648)>>31:q;z=c+(h+l)|0;q=(u+t>>6)+(d[z>>0]|0)|0;a[z>>0]=q>>>0>255?(q^-2147483648)>>31:q;z=c+(h+m)|0;q=(s+r>>6)+(d[z>>0]|0)|0;a[z>>0]=q>>>0>255?(q^-2147483648)>>31:q;z=c+(h+n)|0;s=(r-s>>6)+(d[z>>0]|0)|0;a[z>>0]=s>>>0>255?(s^-2147483648)>>31:s;z=c+(h+i)|0;u=(t-u>>6)+(d[z>>0]|0)|0;a[z>>0]=u>>>0>255?(u^-2147483648)>>31:u;z=c+(h+j)|0;w=(v-w>>6)+(d[z>>0]|0)|0;a[z>>0]=w>>>0>255?(w^-2147483648)>>31:w;z=c+(h+k)|0;y=(x-y>>6)+(d[z>>0]|0)|0;a[z>>0]=y>>>0>255?(y^-2147483648)>>31:y;h=h+1|0}h=f+128|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(h|0));return}function wL(c,e,f){c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;h=(b[e>>1]|0)+32>>6;b[e>>1]=0;g=0;while(1){if((g|0)==4)break;else e=0;while(1){if((e|0)==4)break;i=c+e|0;j=h+(d[i>>0]|0)|0;a[i>>0]=j>>>0>255?(j^-2147483648)>>31:j;e=e+1|0}c=c+f|0;g=g+1|0}return}function xL(c,e,f){c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;h=(b[e>>1]|0)+32>>6;b[e>>1]=0;g=0;while(1){if((g|0)==8)break;else e=0;while(1){if((e|0)==8)break;i=c+e|0;j=h+(d[i>>0]|0)|0;a[i>>0]=j>>>0>255?(j^-2147483648)>>31:j;e=e+1|0}c=c+f|0;g=g+1|0}return}function yL(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;k=0;while(1){if((k|0)==16)break;switch(a[i+(d[150841+k>>0]|0)>>0]|0){case 0:break;case 1:{j=g+(k<<4<<1)|0;if(!(b[j>>1]|0))l=7;else wL(e+(c[f+(k<<2)>>2]|0)|0,j,h);break}default:{j=g+(k<<4<<1)|0;l=7}}if((l|0)==7){l=0;uL(e+(c[f+(k<<2)>>2]|0)|0,j,h)}k=k+1|0}return}function zL(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;k=0;while(1){if((k|0)>=16)break;switch(a[i+(d[150841+k>>0]|0)>>0]|0){case 0:break;case 1:{j=g+(k<<4<<1)|0;if(!(b[j>>1]|0))l=7;else xL(e+(c[f+(k<<2)>>2]|0)|0,j,h);break}default:{j=g+(k<<4<<1)|0;l=7}}if((l|0)==7){l=0;vL(e+(c[f+(k<<2)>>2]|0)|0,j,h)}k=k+4|0}return}function AL(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0;j=1;while(1){if((j|0)==3)break;k=j<<4;m=k|4;n=e+(j+-1<<2)|0;while(1){if((k|0)>=(m|0))break;if(!(a[i+(d[150841+k>>0]|0)>>0]|0)){l=g+(k<<4<<1)|0;if(b[l>>1]|0)wL((c[n>>2]|0)+(c[f+(k<<2)>>2]|0)|0,l,h)}else uL((c[n>>2]|0)+(c[f+(k<<2)>>2]|0)|0,g+(k<<4<<1)|0,h);k=k+1|0}j=j+1|0}return}function BL(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;j=1;while(1){if((j|0)==3){j=1;break}k=j<<4;m=k|4;n=e+(j+-1<<2)|0;while(1){if((k|0)>=(m|0))break;if(!(a[i+(d[150841+k>>0]|0)>>0]|0)){l=g+(k<<4<<1)|0;if(b[l>>1]|0)wL((c[n>>2]|0)+(c[f+(k<<2)>>2]|0)|0,l,h)}else uL((c[n>>2]|0)+(c[f+(k<<2)>>2]|0)|0,g+(k<<4<<1)|0,h);k=k+1|0}j=j+1|0}while(1){if((j|0)==3)break;k=j<<4;l=k|8;m=e+(j+-1<<2)|0;k=k|4;while(1){if((k|0)>=(l|0))break;n=k+4|0;if(!(a[i+(d[150841+n>>0]|0)>>0]|0)){o=g+(k<<4<<1)|0;if(b[o>>1]|0)wL((c[m>>2]|0)+(c[f+(n<<2)>>2]|0)|0,o,h)}else uL((c[m>>2]|0)+(c[f+(n<<2)>>2]|0)|0,g+(k<<4<<1)|0,h);k=k+1|0}j=j+1|0}return}function CL(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;j=0;while(1){if((j|0)==16)break;if(!(a[i+(d[150841+j>>0]|0)>>0]|0)){k=g+(j<<4<<1)|0;if(b[k>>1]|0)wL(e+(c[f+(j<<2)>>2]|0)|0,k,h)}else uL(e+(c[f+(j<<2)>>2]|0)|0,g+(j<<4<<1)|0,h);j=j+1|0}return}function DL(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=$c;$c=$c+64|0;if(($c|0)>=(ad|0))N(64);h=i;g=0;while(1){if((g|0)==4){g=0;break}q=g<<2;m=b[e+(q<<1)>>1]|0;n=q|1;k=b[e+(n<<1)>>1]|0;p=k+m|0;k=m-k|0;m=q|2;o=b[e+(m<<1)>>1]|0;j=q|3;r=b[e+(j<<1)>>1]|0;l=o-r|0;o=r+o|0;c[h+(q<<2)>>2]=o+p;c[h+(n<<2)>>2]=p-o;c[h+(m<<2)>>2]=k-l;c[h+(j<<2)>>2]=l+k;g=g+1|0}while(1){if((g|0)==4)break;r=d[150837+g>>0]|0;q=c[h+(g<<2)>>2]|0;n=c[h+(g+8<<2)>>2]|0;p=n+q|0;n=q-n|0;q=c[h+(g+4<<2)>>2]|0;m=c[h+(g+12<<2)>>2]|0;o=q-m|0;q=m+q|0;b[a+(r<<1)>>1]=((H(q+p|0,f)|0)+128|0)>>>8;b[a+(r+16<<1)>>1]=((H(o+n|0,f)|0)+128|0)>>>8;b[a+(r+64<<1)>>1]=((H(n-o|0,f)|0)+128|0)>>>8;b[a+(r+80<<1)>>1]=((H(p-q|0,f)|0)+128|0)>>>8;g=g+1|0}$c=i;return}function EL(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=b[a>>1]|0;j=a+32|0;e=b[j>>1]|0;g=a+64|0;h=b[g>>1]|0;d=a+96|0;k=b[d>>1]|0;f=i-e|0;i=e+i|0;e=h-k|0;h=k+h|0;b[a>>1]=(H(h+i|0,c)|0)>>>7;b[j>>1]=(H(e+f|0,c)|0)>>>7;b[g>>1]=(H(i-h|0,c)|0)>>>7;b[d>>1]=(H(f-e|0,c)|0)>>>7;return}function FL(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);g=h;f=0;while(1){if((f|0)==4){f=0;break}j=f<<5;k=b[a+(j<<1)>>1]|0;j=b[a+((j|16)<<1)>>1]|0;i=f<<1;c[g+(i<<2)>>2]=j+k;c[g+((i|1)<<2)>>2]=k-j;f=f+1|0}while(1){if((f|0)==2)break;k=d[150835+f>>0]|0;j=c[g+(f<<2)>>2]|0;m=c[g+(f+4<<2)>>2]|0;i=m+j|0;m=j-m|0;j=c[g+(f+2<<2)>>2]|0;n=c[g+(f+6<<2)>>2]|0;l=j-n|0;j=n+j|0;b[a+(k<<1)>>1]=((H(j+i|0,e)|0)+128|0)>>>8;b[a+(k+32<<1)>>1]=((H(l+m|0,e)|0)+128|0)>>>8;b[a+(k+64<<1)>>1]=((H(m-l|0,e)|0)+128|0)>>>8;b[a+(k+96<<1)>>1]=((H(i-j|0,e)|0)+128|0)>>>8;f=f+1|0}$c=h;return}function GL(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;i=(h<=(e|0))break;j=(H(d[h>>0]|0,g)|0)+i>>f;a[h>>0]=j>>>0>255?(j^-2147483648)>>31:j;j=h+1|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+2|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+3|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+4|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+5|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+6|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+7|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+8|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+9|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+10|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+11|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+12|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+13|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+14|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+15|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;h=h+c|0;b=b+1|0}return}function HL(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;i=(h<=(e|0))break;j=(H(d[h>>0]|0,g)|0)+i>>f;a[h>>0]=j>>>0>255?(j^-2147483648)>>31:j;j=h+1|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+2|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+3|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+4|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+5|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+6|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+7|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;h=h+c|0;b=b+1|0}return}function IL(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;i=(h<=(e|0))break;j=(H(d[h>>0]|0,g)|0)+i>>f;a[h>>0]=j>>>0>255?(j^-2147483648)>>31:j;j=h+1|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+2|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+3|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;h=h+c|0;b=b+1|0}return}function JL(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;i=(h<=(e|0))break;j=(H(d[h>>0]|0,g)|0)+i>>f;a[h>>0]=j>>>0>255?(j^-2147483648)>>31:j;j=h+1|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;h=h+c|0;b=b+1|0}return}function KL(b,c,e,f,g,h,i,j){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=(j+1|1)<=(f|0))break;m=H(d[c>>0]|0,i)|0;m=m+l+(H(d[j>>0]|0,h)|0)>>k;a[j>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=H(d[c+1>>0]|0,i)|0;b=j+1|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=H(d[c+2>>0]|0,i)|0;m=j+2|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=H(d[c+3>>0]|0,i)|0;b=j+3|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=H(d[c+4>>0]|0,i)|0;m=j+4|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=H(d[c+5>>0]|0,i)|0;b=j+5|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=H(d[c+6>>0]|0,i)|0;m=j+6|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=H(d[c+7>>0]|0,i)|0;b=j+7|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=H(d[c+8>>0]|0,i)|0;m=j+8|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=H(d[c+9>>0]|0,i)|0;b=j+9|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=H(d[c+10>>0]|0,i)|0;m=j+10|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=H(d[c+11>>0]|0,i)|0;b=j+11|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=H(d[c+12>>0]|0,i)|0;m=j+12|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=H(d[c+13>>0]|0,i)|0;b=j+13|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=H(d[c+14>>0]|0,i)|0;m=j+14|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=H(d[c+15>>0]|0,i)|0;b=j+15|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;c=c+e|0;j=j+e|0;g=g+1|0}return}function LL(b,c,e,f,g,h,i,j){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=(j+1|1)<=(f|0))break;m=H(d[c>>0]|0,i)|0;m=m+l+(H(d[j>>0]|0,h)|0)>>k;a[j>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=H(d[c+1>>0]|0,i)|0;b=j+1|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=H(d[c+2>>0]|0,i)|0;m=j+2|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=H(d[c+3>>0]|0,i)|0;b=j+3|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=H(d[c+4>>0]|0,i)|0;m=j+4|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=H(d[c+5>>0]|0,i)|0;b=j+5|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=H(d[c+6>>0]|0,i)|0;m=j+6|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=H(d[c+7>>0]|0,i)|0;b=j+7|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;c=c+e|0;j=j+e|0;g=g+1|0}return}function ML(b,c,e,f,g,h,i,j){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=(j+1|1)<=(f|0))break;m=H(d[c>>0]|0,i)|0;m=m+l+(H(d[j>>0]|0,h)|0)>>k;a[j>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=H(d[c+1>>0]|0,i)|0;b=j+1|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=H(d[c+2>>0]|0,i)|0;m=j+2|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=H(d[c+3>>0]|0,i)|0;b=j+3|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;c=c+e|0;j=j+e|0;g=g+1|0}return}function NL(b,c,e,f,g,h,i,j){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=(j+1|1)<=(f|0))break;m=H(d[c>>0]|0,i)|0;m=m+l+(H(d[j>>0]|0,h)|0)>>k;a[j>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=H(d[c+1>>0]|0,i)|0;b=j+1|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;c=c+e|0;j=j+e|0;g=g+1|0}return}function OL(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;y=0-c|0;z=H(c,-2)|0;A=H(c,-3)|0;B=c<<1;w=0;while(1){if((w|0)==4)break;h=a[g+w>>0]|0;x=h<<24>>24;a:do if(h<<24>>24>=0){o=h<<24>>24==0;p=x+1|0;q=0-x|0;m=0;n=b;while(1){if((m|0)==4)break a;r=n+y|0;s=d[r>>0]|0;h=n+z|0;t=d[h>>0]|0;i=d[n+A>>0]|0;u=d[n>>0]|0;k=n+c|0;v=d[k>>0]|0;l=d[n+B>>0]|0;j=s-u|0;if(((((j|0)>-1?j:0-j|0)|0)<(e|0)?(j=t-s|0,(((j|0)>-1?j:0-j|0)|0)<(f|0)):0)?(j=v-u|0,(((j|0)>-1?j:0-j|0)|0)<(f|0)):0){j=i-s|0;j=(((j|0)>-1?j:0-j|0)|0)>=(f|0);if(o|j)h=j?x:p;else{j=((((s+1+u|0)>>>1)+i|0)>>>1)-t|0;a[h>>0]=((j|0)<(q|0)?q:(j|0)>(x|0)?x:j)+t;h=p}j=l-u|0;if((((j|0)>-1?j:0-j|0)|0)<(f|0)){if(!o){l=((((s+1+u|0)>>>1)+l|0)>>>1)-v|0;a[k>>0]=((l|0)<(q|0)?q:(l|0)>(x|0)?x:l)+v}h=h+1|0}v=t+4-v+(u-s<<2)>>3;t=0-h|0;v=(v|0)<(t|0)?t:(v|0)>(h|0)?h:v;t=v+s|0;a[r>>0]=t>>>0>255?(t^-2147483648)>>31:t;v=u-v|0;a[n>>0]=v>>>0>255?(v^-2147483648)>>31:v}m=m+1|0;n=n+1|0}}while(0);b=b+4|0;w=w+1|0}return}function PL(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=c<<2;w=0;while(1){if((w|0)==4)break;h=a[g+w>>0]|0;x=h<<24>>24;a:do if(h<<24>>24>=0){o=h<<24>>24==0;p=x+1|0;q=0-x|0;m=0;n=b;while(1){if((m|0)==4)break a;r=n+-1|0;s=d[r>>0]|0;h=n+-2|0;t=d[h>>0]|0;i=d[n+-3>>0]|0;u=d[n>>0]|0;k=n+1|0;v=d[k>>0]|0;l=d[n+2>>0]|0;j=s-u|0;if(((((j|0)>-1?j:0-j|0)|0)<(e|0)?(j=t-s|0,(((j|0)>-1?j:0-j|0)|0)<(f|0)):0)?(j=v-u|0,(((j|0)>-1?j:0-j|0)|0)<(f|0)):0){j=i-s|0;j=(((j|0)>-1?j:0-j|0)|0)>=(f|0);if(o|j)h=j?x:p;else{j=((((s+1+u|0)>>>1)+i|0)>>>1)-t|0;a[h>>0]=((j|0)<(q|0)?q:(j|0)>(x|0)?x:j)+t;h=p}j=l-u|0;if((((j|0)>-1?j:0-j|0)|0)<(f|0)){if(!o){l=((((s+1+u|0)>>>1)+l|0)>>>1)-v|0;a[k>>0]=((l|0)<(q|0)?q:(l|0)>(x|0)?x:l)+v}h=h+1|0}v=t+4-v+(u-s<<2)>>3;t=0-h|0;v=(v|0)<(t|0)?t:(v|0)>(h|0)?h:v;t=v+s|0;a[r>>0]=t>>>0>255?(t^-2147483648)>>31:t;v=u-v|0;a[n>>0]=v>>>0>255?(v^-2147483648)>>31:v}m=m+1|0;n=n+c|0}}while(0);b=b+y|0;w=w+1|0}return}function QL(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=c<<1;w=0;while(1){if((w|0)==4)break;h=a[g+w>>0]|0;x=h<<24>>24;a:do if(h<<24>>24>=0){o=h<<24>>24==0;p=x+1|0;q=0-x|0;m=0;n=b;while(1){if((m|0)==2)break a;r=n+-1|0;s=d[r>>0]|0;h=n+-2|0;t=d[h>>0]|0;i=d[n+-3>>0]|0;u=d[n>>0]|0;k=n+1|0;v=d[k>>0]|0;l=d[n+2>>0]|0;j=s-u|0;if(((((j|0)>-1?j:0-j|0)|0)<(e|0)?(j=t-s|0,(((j|0)>-1?j:0-j|0)|0)<(f|0)):0)?(j=v-u|0,(((j|0)>-1?j:0-j|0)|0)<(f|0)):0){j=i-s|0;j=(((j|0)>-1?j:0-j|0)|0)>=(f|0);if(o|j)h=j?x:p;else{j=((((s+1+u|0)>>>1)+i|0)>>>1)-t|0;a[h>>0]=((j|0)<(q|0)?q:(j|0)>(x|0)?x:j)+t;h=p}j=l-u|0;if((((j|0)>-1?j:0-j|0)|0)<(f|0)){if(!o){l=((((s+1+u|0)>>>1)+l|0)>>>1)-v|0;a[k>>0]=((l|0)<(q|0)?q:(l|0)>(x|0)?x:l)+v}h=h+1|0}v=t+4-v+(u-s<<2)>>3;t=0-h|0;v=(v|0)<(t|0)?t:(v|0)>(h|0)?h:v;t=v+s|0;a[r>>0]=t>>>0>255?(t^-2147483648)>>31:t;v=u-v|0;a[n>>0]=v>>>0>255?(v^-2147483648)>>31:v}m=m+1|0;n=n+c|0}}while(0);b=b+y|0;w=w+1|0}return}function RL(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;w=H(c,-3)|0;x=H(c,-2)|0;y=0-c|0;z=c<<1;A=(e>>2)+2|0;u=H(c,-4)|0;v=c*3|0;m=0;while(1){if((m|0)==16)break;g=b+w|0;l=d[g>>0]|0;h=b+x|0;n=d[h>>0]|0;i=b+y|0;o=d[i>>0]|0;p=d[b>>0]|0;q=b+c|0;r=d[q>>0]|0;s=b+z|0;t=d[s>>0]|0;j=o-p|0;j=(j|0)>-1?j:0-j|0;do if(((j|0)<(e|0)?(k=n-o|0,(((k|0)>-1?k:0-k|0)|0)<(f|0)):0)?(k=r-p|0,(((k|0)>-1?k:0-k|0)|0)<(f|0)):0){if((j|0)>=(A|0)){a[i>>0]=(o+2+(n<<1)+r|0)>>>2;a[b>>0]=(n+2+p+(r<<1)|0)>>>2;break}k=l-o|0;if((((k|0)>-1?k:0-k|0)|0)<(f|0)){B=d[b+u>>0]|0;a[i>>0]=(l+4+r+(o+n+p<<1)|0)>>>3;a[h>>0]=(l+2+n+o+p|0)>>>2;i=g;h=3;j=4;k=p;g=(l*3|0)+n+(B<<1)|0}else{h=2;j=2;k=r;g=n<<1}a[i>>0]=(g+o+k+j|0)>>>h;B=t-p|0;if((((B|0)>-1?B:0-B|0)|0)<(f|0)){B=d[b+v>>0]|0;a[b>>0]=(n+4+t+(p+o+r<<1)|0)>>>3;a[q>>0]=(o+2+p+r+t|0)>>>2;a[s>>0]=(o+4+p+r+(t*3|0)+(B<<1)|0)>>>3;break}else{a[b>>0]=(n+2+p+(r<<1)|0)>>>2;break}}while(0);b=b+1|0;m=m+1|0}return}function SL(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=(e>>2)+2|0;m=0;while(1){if((m|0)==16)break;i=b+-3|0;l=d[i>>0]|0;j=b+-2|0;n=d[j>>0]|0;g=b+-1|0;o=d[g>>0]|0;p=d[b>>0]|0;q=b+1|0;r=d[q>>0]|0;s=b+2|0;t=d[s>>0]|0;h=o-p|0;h=(h|0)>-1?h:0-h|0;do if(((h|0)<(e|0)?(k=n-o|0,(((k|0)>-1?k:0-k|0)|0)<(f|0)):0)?(k=r-p|0,(((k|0)>-1?k:0-k|0)|0)<(f|0)):0){if((h|0)>=(u|0)){a[g>>0]=(o+2+(n<<1)+r|0)>>>2;a[b>>0]=(n+2+p+(r<<1)|0)>>>2;break}k=l-o|0;if((((k|0)>-1?k:0-k|0)|0)<(f|0)){v=d[b+-4>>0]|0;a[g>>0]=(l+4+r+(o+n+p<<1)|0)>>>3;a[j>>0]=(l+2+n+o+p|0)>>>2;h=3;j=4;k=p;g=(l*3|0)+n+(v<<1)|0}else{i=g;h=2;j=2;k=r;g=n<<1}a[i>>0]=(g+o+k+j|0)>>>h;v=t-p|0;if((((v|0)>-1?v:0-v|0)|0)<(f|0)){v=d[b+3>>0]|0;a[b>>0]=(n+4+t+(p+o+r<<1)|0)>>>3;a[q>>0]=(o+2+p+r+t|0)>>>2;a[s>>0]=(o+4+p+r+(t*3|0)+(v<<1)|0)>>>3;break}else{a[b>>0]=(n+2+p+(r<<1)|0)>>>2;break}}while(0);b=b+c|0;m=m+1|0}return}function TL(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=(e>>2)+2|0;m=0;while(1){if((m|0)==8)break;i=b+-3|0;l=d[i>>0]|0;j=b+-2|0;n=d[j>>0]|0;g=b+-1|0;o=d[g>>0]|0;p=d[b>>0]|0;q=b+1|0;r=d[q>>0]|0;s=b+2|0;t=d[s>>0]|0;h=o-p|0;h=(h|0)>-1?h:0-h|0;do if(((h|0)<(e|0)?(k=n-o|0,(((k|0)>-1?k:0-k|0)|0)<(f|0)):0)?(k=r-p|0,(((k|0)>-1?k:0-k|0)|0)<(f|0)):0){if((h|0)>=(u|0)){a[g>>0]=(o+2+(n<<1)+r|0)>>>2;a[b>>0]=(n+2+p+(r<<1)|0)>>>2;break}k=l-o|0;if((((k|0)>-1?k:0-k|0)|0)<(f|0)){v=d[b+-4>>0]|0;a[g>>0]=(l+4+r+(o+n+p<<1)|0)>>>3;a[j>>0]=(l+2+n+o+p|0)>>>2;h=3;j=4;k=p;g=(l*3|0)+n+(v<<1)|0}else{i=g;h=2;j=2;k=r;g=n<<1}a[i>>0]=(g+o+k+j|0)>>>h;v=t-p|0;if((((v|0)>-1?v:0-v|0)|0)<(f|0)){v=d[b+3>>0]|0;a[b>>0]=(n+4+t+(p+o+r<<1)|0)>>>3;a[q>>0]=(o+2+p+r+t|0)>>>2;a[s>>0]=(o+4+p+r+(t*3|0)+(v<<1)|0)>>>3;break}else{a[b>>0]=(n+2+p+(r<<1)|0)>>>2;break}}while(0);b=b+c|0;m=m+1|0}return}function UL(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=0-c|0;s=H(c,-2)|0;h=0;while(1){if((h|0)==4)break;p=a[g+h>>0]|0;q=p<<24>>24;a:do if(p<<24>>24>=1){k=0-q|0;i=0;j=b;while(1){if((i|0)==2)break a;l=j+r|0;m=d[l>>0]|0;n=d[j+s>>0]|0;o=d[j>>0]|0;p=d[j+c>>0]|0;t=m-o|0;if(((((t|0)>-1?t:0-t|0)|0)<(e|0)?(t=n-m|0,(((t|0)>-1?t:0-t|0)|0)<(f|0)):0)?(t=p-o|0,(((t|0)>-1?t:0-t|0)|0)<(f|0)):0){t=n+4-p+(o-m<<2)>>3;t=(t|0)<(k|0)?k:(t|0)>(q|0)?q:t;p=t+m|0;a[l>>0]=p>>>0>255?(p^-2147483648)>>31:p;t=o-t|0;a[j>>0]=t>>>0>255?(t^-2147483648)>>31:t}i=i+1|0;j=j+1|0}}while(0);b=b+2|0;h=h+1|0}return}function VL(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=c<<1;h=0;while(1){if((h|0)==4)break;p=a[g+h>>0]|0;q=p<<24>>24;a:do if(p<<24>>24>=1){k=0-q|0;i=0;j=b;while(1){if((i|0)==2)break a;l=j+-1|0;m=d[l>>0]|0;n=d[j+-2>>0]|0;o=d[j>>0]|0;p=d[j+1>>0]|0;s=m-o|0;if(((((s|0)>-1?s:0-s|0)|0)<(e|0)?(s=n-m|0,(((s|0)>-1?s:0-s|0)|0)<(f|0)):0)?(s=p-o|0,(((s|0)>-1?s:0-s|0)|0)<(f|0)):0){s=n+4-p+(o-m<<2)>>3;s=(s|0)<(k|0)?k:(s|0)>(q|0)?q:s;p=s+m|0;a[l>>0]=p>>>0>255?(p^-2147483648)>>31:p;s=o-s|0;a[j>>0]=s>>>0>255?(s^-2147483648)>>31:s}i=i+1|0;j=j+c|0}}while(0);b=b+r|0;h=h+1|0}return}function WL(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=c<<2;h=0;while(1){if((h|0)==4)break;p=a[g+h>>0]|0;q=p<<24>>24;a:do if(p<<24>>24>=1){k=0-q|0;i=0;j=b;while(1){if((i|0)==4)break a;l=j+-1|0;m=d[l>>0]|0;n=d[j+-2>>0]|0;o=d[j>>0]|0;p=d[j+1>>0]|0;s=m-o|0;if(((((s|0)>-1?s:0-s|0)|0)<(e|0)?(s=n-m|0,(((s|0)>-1?s:0-s|0)|0)<(f|0)):0)?(s=p-o|0,(((s|0)>-1?s:0-s|0)|0)<(f|0)):0){s=n+4-p+(o-m<<2)>>3;s=(s|0)<(k|0)?k:(s|0)>(q|0)?q:s;p=s+m|0;a[l>>0]=p>>>0>255?(p^-2147483648)>>31:p;s=o-s|0;a[j>>0]=s>>>0>255?(s^-2147483648)>>31:s}i=i+1|0;j=j+c|0}}while(0);b=b+r|0;h=h+1|0}return}function XL(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;h=0;while(1){if((h|0)==4)break;q=a[g+h>>0]|0;p=q<<24>>24;a:do if(q<<24>>24>=1){q=0-p|0;i=0;j=b;while(1){if((i|0)==1)break a;k=j+-1|0;l=d[k>>0]|0;m=d[j+-2>>0]|0;n=d[j>>0]|0;o=d[j+1>>0]|0;r=l-n|0;if(((((r|0)>-1?r:0-r|0)|0)<(e|0)?(r=m-l|0,(((r|0)>-1?r:0-r|0)|0)<(f|0)):0)?(r=o-n|0,(((r|0)>-1?r:0-r|0)|0)<(f|0)):0){r=m+4-o+(n-l<<2)>>3;r=(r|0)<(q|0)?q:(r|0)>(p|0)?p:r;o=r+l|0;a[k>>0]=o>>>0>255?(o^-2147483648)>>31:o;r=n-r|0;a[j>>0]=r>>>0>255?(r^-2147483648)>>31:r}i=i+1|0;j=j+c|0}}while(0);b=b+c|0;h=h+1|0}return}function YL(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=c<<1;h=0;while(1){if((h|0)==4)break;p=a[g+h>>0]|0;q=p<<24>>24;a:do if(p<<24>>24>=1){k=0-q|0;i=0;j=b;while(1){if((i|0)==2)break a;l=j+-1|0;m=d[l>>0]|0;n=d[j+-2>>0]|0;o=d[j>>0]|0;p=d[j+1>>0]|0;s=m-o|0;if(((((s|0)>-1?s:0-s|0)|0)<(e|0)?(s=n-m|0,(((s|0)>-1?s:0-s|0)|0)<(f|0)):0)?(s=p-o|0,(((s|0)>-1?s:0-s|0)|0)<(f|0)):0){s=n+4-p+(o-m<<2)>>3;s=(s|0)<(k|0)?k:(s|0)>(q|0)?q:s;p=s+m|0;a[l>>0]=p>>>0>255?(p^-2147483648)>>31:p;s=o-s|0;a[j>>0]=s>>>0>255?(s^-2147483648)>>31:s}i=i+1|0;j=j+c|0}}while(0);b=b+r|0;h=h+1|0}return}function ZL(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=0-c|0;n=H(c,-2)|0;l=0;while(1){if((l|0)==8)break;j=b+m|0;k=d[j>>0]|0;g=d[b+n>>0]|0;h=d[b>>0]|0;i=d[b+c>>0]|0;o=k-h|0;if(((((o|0)>-1?o:0-o|0)|0)<(e|0)?(o=g-k|0,(((o|0)>-1?o:0-o|0)|0)<(f|0)):0)?(o=i-h|0,(((o|0)>-1?o:0-o|0)|0)<(f|0)):0){a[j>>0]=(k+2+(g<<1)+i|0)>>>2;a[b>>0]=(g+2+h+(i<<1)|0)>>>2}l=l+1|0;b=b+1|0}return}function _L(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=0;while(1){if((l|0)==8)break;i=b+-1|0;j=d[i>>0]|0;k=d[b+-2>>0]|0;g=d[b>>0]|0;h=d[b+1>>0]|0;m=j-g|0;if(((((m|0)>-1?m:0-m|0)|0)<(e|0)?(m=k-j|0,(((m|0)>-1?m:0-m|0)|0)<(f|0)):0)?(m=h-g|0,(((m|0)>-1?m:0-m|0)|0)<(f|0)):0){a[i>>0]=(j+2+(k<<1)+h|0)>>>2;a[b>>0]=(k+2+g+(h<<1)|0)>>>2}l=l+1|0;b=b+c|0}return}function $L(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=0;while(1){if((l|0)==16)break;i=b+-1|0;j=d[i>>0]|0;k=d[b+-2>>0]|0;g=d[b>>0]|0;h=d[b+1>>0]|0;m=j-g|0;if(((((m|0)>-1?m:0-m|0)|0)<(e|0)?(m=k-j|0,(((m|0)>-1?m:0-m|0)|0)<(f|0)):0)?(m=h-g|0,(((m|0)>-1?m:0-m|0)|0)<(f|0)):0){a[i>>0]=(j+2+(k<<1)+h|0)>>>2;a[b>>0]=(k+2+g+(h<<1)|0)>>>2}l=l+1|0;b=b+c|0}return}function aM(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=0;while(1){if((l|0)==4)break;i=b+-1|0;j=d[i>>0]|0;k=d[b+-2>>0]|0;g=d[b>>0]|0;h=d[b+1>>0]|0;m=j-g|0;if(((((m|0)>-1?m:0-m|0)|0)<(e|0)?(m=k-j|0,(((m|0)>-1?m:0-m|0)|0)<(f|0)):0)?(m=h-g|0,(((m|0)>-1?m:0-m|0)|0)<(f|0)):0){a[i>>0]=(j+2+(k<<1)+h|0)>>>2;a[b>>0]=(k+2+g+(h<<1)|0)>>>2}l=l+1|0;b=b+c|0}return}function bM(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=0;while(1){if((l|0)==8)break;i=b+-1|0;j=d[i>>0]|0;k=d[b+-2>>0]|0;g=d[b>>0]|0;h=d[b+1>>0]|0;m=j-g|0;if(((((m|0)>-1?m:0-m|0)|0)<(e|0)?(m=k-j|0,(((m|0)>-1?m:0-m|0)|0)<(f|0)):0)?(m=h-g|0,(((m|0)>-1?m:0-m|0)|0)<(f|0)):0){a[i>>0]=(j+2+(k<<1)+h|0)>>>2;a[b>>0]=(k+2+g+(h<<1)|0)>>>2}l=l+1|0;b=b+c|0}return}function cM(b,c){b=b|0;c=c|0;var d=0;d=0;while(1){if((d|0)>=(c|0))break;if(!(a[b+d>>0]|0))break;d=d+1|0}return d|0}function dM(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;if(!((b|0)==0&(c|0)==0)){if(!((e|0)==0&(f|0)==0)){o=KW(0,0,b|0,c|0)|0;o=PW(o&b|0,(M()|0)&c|0,-862635923,36691299)|0;o=TW(o|0,M()|0,58)|0;M()|0;o=a[151104+o>>0]|0;g=o&255;j=KW(0,0,e|0,f|0)|0;j=PW(j&e|0,(M()|0)&f|0,-862635923,36691299)|0;j=TW(j|0,M()|0,58)|0;M()|0;j=a[151104+j>>0]|0;h=j&255;i=g>>>0>h>>>0;o=SW(b|0,c|0,o&255|0)|0;m=M()|0;n=(m|0)>-1|(m|0)==-1&o>>>0>4294967295;b=KW(0,0,o|0,m|0)|0;l=M()|0;f=SW(e|0,f|0,j&255|0)|0;j=M()|0;k=(j|0)>-1|(j|0)==-1&f>>>0>4294967295;c=KW(0,0,f|0,j|0)|0;e=M()|0;b=n?o:b;c=k?f:c;f=n?m:l;e=k?j:e;while(1){if((b|0)==(c|0)&(f|0)==(e|0))break;k=(f|0)>(e|0)|(f|0)==(e|0)&b>>>0>c>>>0;m=k?c:b;o=k?e:f;k=KW((k?b:c)|0,(k?f:e)|0,m|0,o|0)|0;l=M()|0;n=KW(0,0,k|0,l|0)|0;n=PW(k&n|0,l&(M()|0)|0,-862635923,36691299)|0;n=TW(n|0,M()|0,58)|0;M()|0;n=SW(k|0,l|0,d[151104+n>>0]|0|0)|0;b=m;c=n;f=o;e=M()|0}b=UW(b|0,f|0,(i?h:g)|0)|0;c=M()|0}}else{c=f;b=e}L(c|0);return b|0}function eM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);d=h;f=c[(c[a+28>>2]|0)+20>>2]|0;do if(((c[a+696>>2]&1|0)!=0?(c[a+700>>2]|0)==0:0)?(c[a+120>>2]|0)!=10:0){e=f+300|0;if((c[e>>2]|0)!=1){mf(a,16,151306,d);a=-1;break}d=f+184|0;fV(d)|0;c[f+324>>2]=b;c[e>>2]=3;a=f+60|0;$W(a|0)|0;while(1){if((c[e>>2]|0)==1)break;Vb(a|0,d|0)|0}a=c[f+328>>2]|0;gV(d)|0}else g=4;while(0);if((g|0)==4)a=gM(a,b)|0;$c=h;return a|0}function fM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=c[a+880>>2]|0;a:do if((d|0)!=0?(i=c[(c[a+12>>2]|0)+124>>2]|0,(i|0)!=0):0){g=(c[d+4>>2]|0)+8|0;f=0;while(1){h=c[i+(f<<2)>>2]|0;if(!h){d=0;j=11;break a}b:do if(c[h+4>>2]&1|0?(c[g>>2]|0)==(c[h+8>>2]|0):0){e=0;while(1){d=c[b+(e<<2)>>2]|0;if((d|0)==-1)break b;if((c[h>>2]|0)==(d|0))break a;else e=e+1|0}}while(0);f=f+1|0}}else{d=0;j=11}while(0);c:do if((j|0)==11){while(1)if((c[b+(d<<2)>>2]|0)==-1)break;else{d=d+1|0;j=11}d=b+(d+-1<<2)|0;j=c[(Hg(c[d>>2]|0)|0)+8>>2]|0;if((j&8|0)==0&0==0){d=c[d>>2]|0;break}g=a+12|0;f=0;d:while(1){h=b+(f<<2)|0;if((c[h>>2]|0)==-1){d=-1;break c}else e=0;while(1){i=jM(c[g>>2]|0,e)|0;if(!i)break d;d=c[i>>2]|0;if((d|0)==(c[h>>2]|0))break;else e=e+1|0}if(!(c[i+4>>2]&4))f=f+1|0;else break c}d=c[h>>2]|0}while(0);return d|0}function gM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=$c;$c=$c+80|0;if(($c|0)>=(ad|0))N(80);t=z+72|0;s=z+64|0;r=z+56|0;q=z+48|0;p=z+40|0;w=z+32|0;v=z+24|0;u=z+16|0;d=z;x=z+76|0;f=0;while(1){e=f+1|0;if((c[b+(f<<2)>>2]|0)==-1)break;else f=e}if((f|0)<=0){c[d>>2]=151368;c[d+4>>2]=129192;c[d+8>>2]=1310;mf(0,0,164250,d);ub()}d=b+(f+-1<<2)|0;m=c[(Hg(c[d>>2]|0)|0)+8>>2]|0;if((m&8|0)==0&0==0)c[a+768>>2]=c[d>>2];d=bh(e,4)|0;c[x>>2]=d;if(!d)d=-1;else{YW(d|0,b|0,e<<2|0)|0;j=a+120|0;k=a+12|0;l=a+880|0;m=a+860|0;i=d;a:while(1){hM(a);d=hd[c[j>>2]&15](a,i)|0;if((d|0)==-1){d=-1;break}h=Hg(d)|0;if(!h){y=11;break}c[v>>2]=c[h>>2];mf(a,48,151426,v);b=0;while(1){if((b|0)>=(f|0))break;if((c[i+(b<<2)>>2]|0)==(d|0))break;b=b+1|0}if((b|0)==(f|0)){y=17;break}e=c[(c[k>>2]|0)+124>>2]|0;if(!e)break;else b=0;while(1){g=c[e+(b<<2)>>2]|0;if(!g)break a;if((c[g>>2]|0)==(d|0))break;else b=b+1|0}b=c[g+4>>2]|0;if((b&2|0)!=0?(n=c[m>>2]|0,(n|0)!=0):0)if((c[(c[n+4>>2]|0)+36>>2]|0)==(d|0))y=31;else{c[p>>2]=c[h>>2];mf(a,16,151521,p)}else y=25;do if((y|0)==25){y=0;if(b&1|0?(o=c[l>>2]|0,o|0):0){if((c[(c[o+4>>2]|0)+8>>2]|0)==(c[g+8>>2]|0)){y=31;break}c[q>>2]=c[h>>2];mf(a,16,151609,q);break}if(!(b&12)){c[r>>2]=c[h>>2];mf(a,16,151695,r)}else y=31}while(0);if((y|0)==31){y=0;if(!(c[g+12>>2]|0))break;c[s>>2]=c[h>>2];mf(a,48,151748,s);if((iM(a,g)|0)>=0)break}c[t>>2]=c[h>>2];mf(a,48,151792,t);b=0;while(1){if((b|0)>=(f|0)){d=b;break}if((c[i+(b<<2)>>2]|0)==(d|0)){d=b;break}b=b+1|0}while(1){b=d+1|0;if((b|0)>=(f|0))break;i=c[x>>2]|0;c[i+(d<<2)>>2]=c[i+(b<<2)>>2];d=b}f=f+-1|0;i=c[x>>2]|0}if((y|0)==11){mf(a,16,151375,u);d=-1}else if((y|0)==17){c[w>>2]=c[h>>2];mf(a,16,151461,w);d=0}hf(x)}$c=z;return d|0}function hM(a){a=a|0;var b=0,d=0,e=0;b=a+592|0;d=c[b>>2]|0;if(d|0?(e=c[d+52>>2]|0,e|0):0)fd[e&31](a)|0;hf((c[a+28>>2]|0)+60|0);c[b>>2]=0;Tf(a+860|0);return}function iM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);h=i+8|0;e=i;g=c[b+12>>2]|0;if((c[g+16>>2]&512|0)!=0?(c[a+568>>2]|0)>-2:0){c[e>>2]=c[g>>2];mf(a,24,151849,e);d=-1163346256}else f=4;do if((f|0)==4){e=c[g+56>>2]|0;if(e|0?(f=dg(e)|0,c[(c[a+28>>2]|0)+60>>2]=f,(f|0)==0):0){d=-12;break}f=a+592|0;c[f>>2]=g;e=c[g+48>>2]|0;if((e|0)!=0?(d=fd[e&31](a)|0,(d|0)<0):0){c[h>>2]=Ig(c[b>>2]|0)|0;mf(a,16,151884,h);hf((c[a+28>>2]|0)+60|0);c[f>>2]=0}else d=0}while(0);$c=i;return d|0}function jM(a,b){a=a|0;b=b|0;var d=0;d=c[a+124>>2]|0;a:do if((b|0)<0|(d|0)==0)a=0;else{a=0;while(1){if((a|0)>(b|0))break;if(!(c[d+(a<<2)>>2]|0)){a=0;break a}else a=a+1|0}a=c[d+(b<<2)>>2]|0}while(0);return a|0}function kM(a){a=a|0;var b=0,c=0,e=0;e=GM(a)|0;b=e>>>0>65535;e=b?e>>>16:e;b=b?16:0;c=(e&65280|0)==0;b=31-(d[120639+(c?e:e>>>8)>>0]|0)-(c?b:b|8)|0;HM(a,b);return (IM(a,b+1|0)|0)+-1|0}function lM(a){a=a|0;var b=0,e=0,f=0;b=a+8|0;f=c[b>>2]|0;e=c[a+16>>2]|0;a=(c[a>>2]|0)+(f>>>3)|0;a=(WW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(f&7)>>>23;f=f+(d[126608+a>>0]|0)|0;c[b>>2]=e>>>0>f>>>0?f:e;return d[127120+a>>0]|0|0}function mM(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);h=i;e=a+8|0;f=c[e>>2]|0;g=c[a+16>>2]|0;a=(c[a>>2]|0)+(f>>>3)|0;a=(WW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(f&7);do if(a>>>0<=134217727){k=a>>>0>65535;j=k?a>>>16:a;k=k?16:0;b=(j&65280|0)==0;j=(b?k:k|8)+(d[120639+(b?j:j>>>8)>>0]|0)|0;b=j<<1;f=63-b+f|0;c[e>>2]=g>>>0>f>>>0?f:g;if(j>>>0<19){mf(0,16,155998,h);a=-1094995529;break}else{a=(a>>>(b+-31|0))+-1|0;break}}else{a=a>>>23;k=f+(d[126608+a>>0]|0)|0;c[e>>2]=g>>>0>k>>>0?k:g;a=d[127120+a>>0]|0}while(0);$c=i;return a|0}function nM(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=a+8|0;g=c[e>>2]|0;f=c[a+16>>2]|0;a=(c[a>>2]|0)+(g>>>3)|0;a=(WW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(g&7)>>>(32-b|0);b=g+b|0;c[e>>2]=f>>>0>b>>>0?b:f;return a|0}function oM(a){a=a|0;var b=0,e=0,f=0;e=a+8|0;f=c[e>>2]|0;b=(d[(c[a>>2]|0)+(f>>>3)>>0]|0)<<(f&7)>>>7&1;c[e>>2]=f+((f|0)<(c[a+16>>2]|0)&1);return b|0}function pM(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+8|0;g=c[f>>2]|0;h=c[b+16>>2]|0;e=c[b>>2]|0;b=e+(g>>>3)|0;b=(WW(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24|0)|0)<<(g&7);if(b>>>0>134217727){b=b>>>23;g=g+(d[126608+b>>0]|0)|0;c[f>>2]=h>>>0>g>>>0?g:h;b=a[127632+b>>0]|0}else{j=b>>>0>65535;b=j?b>>>16:b;j=j?16:0;i=(b&65280|0)==0;b=(i?j:j|8)+(d[120639+(i?b:b>>>8)>>0]|0)|0;i=31-b+g|0;i=h>>>0>i>>>0?i:h;g=e+(i>>>3)|0;g=(WW(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24|0)|0)<<(i&7)>>>b;b=i+(32-b)|0;c[f>>2]=h>>>0>b>>>0?b:h;b=g&1;b=(g>>>1^0-b)+b|0}return b|0}function qM(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;m=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);k=m;c[b>>2]=c[e+20>>2];j=b+4|0;c[j>>2]=c[e+24>>2];do if((f|0)!=1){i=(g|0)==3?15:31;if(EM(d)|0){c[b>>2]=(DM(d)|0)+1;if((f|0)==3)e=(DM(d)|0)+1|0;else e=1;c[j>>2]=e}g=(c[b>>2]|0)+-1|0;e=c[j>>2]|0;if(g>>>0>i>>>0|(e+-1|0)>>>0>i>>>0){c[k>>2]=g;c[k+4>>2]=i;c[k+8>>2]=e+-1;c[k+12>>2]=i;mf(h,16,152515,k);c[a>>2]=0;c[b>>2]=0;c[j>>2]=0;e=-1094995529;break}else{e=(f|0)==3?2:1;l=9;break}}else{c[j>>2]=0;c[b>>2]=0;e=0;l=9}while(0);if((l|0)==9){c[a>>2]=e;e=0}$c=m;return e|0}function rM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);m=o+8|0;l=o;c[b+27768>>2]=0;c[b+27772>>2]=0;j=b+23412|0;k=b+4|0;f=0;a:while(1){if(f>>>0>=(c[j>>2]|0)>>>0){e=0;break}b:do if(vM(k)|0){g=b+23404+(f<<2)|0;h=b+27768+(f<<2)|0;e=0;while(1){i=wM(k)|0;if((i|0)==3)break b;if(e>>>0>=(c[g>>2]|0)>>>0){n=7;break a}if(i>>>0>2){n=9;break a}c[b+27256+(f<<8)+(e<<3)+4>>2]=xM(k)|0;a[b+27256+(f<<8)+(e<<3)>>0]=i;c[h>>2]=(c[h>>2]|0)+1;e=e+1|0}}while(0);f=f+1|0}if((n|0)==7){mf(d,16,152448,l);e=-1094995529}else if((n|0)==9){c[m>>2]=i;mf(d,16,152474,m);e=-1094995529}$c=o;return e|0}function sM(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);x=z+16|0;l=z+8|0;k=z;c[f>>2]=0;w=f+4|0;c[w>>2]=0;i=DM(a)|0;j=f+8|0;c[j>>2]=i;if(i>>>0>7){c[k>>2]=i;mf(h,16,152339,k);c[j>>2]=0;i=0}t=1<>2]|0))r=0;else{i=DM(a)|0;j=f+12|0;c[j>>2]=i;if(i>>>0>7){c[l>>2]=i;mf(h,16,152382,l);c[j>>2]=0;i=0}r=1<=2){y=35;break}n=f+16+(g<<2)|0;c[n>>2]=0;o=f+24+(g<<2)|0;c[o>>2]=0;p=d+(g<<2)|0;e=0;while(1){if((e|0)>=(c[p>>2]|0))break;if(EM(a)|0){j=f+32+(e<<4)+(g<<3)|0;c[j>>2]=FM(a)|0;i=FM(a)|0;c[f+32+(e<<4)+(g<<3)+4>>2]=i;j=c[j>>2]|0;if((j<<24>>24|0)!=(j|0)){y=38;break a}if((i<<24>>24|0)!=(i|0)){y=38;break a}if(!((i|0)==0&(j|0)==(t|0))){c[f>>2]=1;i=1;j=n;y=17}}else{c[f+32+(e<<4)+(g<<3)>>2]=t;i=0;j=f+32+(e<<4)+(g<<3)+4|0;y=17}if((y|0)==17){y=0;c[j>>2]=i}b:do if(c[s>>2]|0){if(!(EM(a)|0)){i=0;while(1){if((i|0)==2)break b;c[f+800+(e<<5)+(g<<4)+(i<<3)>>2]=r;c[f+800+(e<<5)+(g<<4)+(i<<3)+4>>2]=0;i=i+1|0}}else i=0;while(1){if((i|0)>=2)break b;j=f+800+(e<<5)+(g<<4)+(i<<3)|0;c[j>>2]=FM(a)|0;k=FM(a)|0;b=f+800+(e<<5)+(g<<4)+(i<<3)+4|0;c[b>>2]=k;l=c[j>>2]|0;if((l<<24>>24|0)!=(l|0)){y=26;break a}if((k<<24>>24|0)!=(k|0)){y=26;break a}if(!((k|0)==0&(l|0)==(r|0))){c[w>>2]=1;c[o>>2]=1}i=i+1|0}}while(0);c:do if(q?(l=c[f+32+(e<<4)+(g<<3)>>2]|0,v=e<<1,u=v+16|0,v=v+17|0,c[f+32+(v<<4)+(g<<3)>>2]=l,c[f+32+(u<<4)+(g<<3)>>2]=l,l=c[f+32+(e<<4)+(g<<3)+4>>2]|0,c[f+32+(v<<4)+(g<<3)+4>>2]=l,c[f+32+(u<<4)+(g<<3)+4>>2]=l,c[s>>2]|0):0){i=0;while(1){if((i|0)==2)break c;l=c[f+800+(e<<5)+(g<<4)+(i<<3)>>2]|0;c[f+800+(v<<5)+(g<<4)+(i<<3)>>2]=l;c[f+800+(u<<5)+(g<<4)+(i<<3)>>2]=l;l=c[f+800+(e<<5)+(g<<4)+(i<<3)+4>>2]|0;c[f+800+(v<<5)+(g<<4)+(i<<3)+4>>2]=l;c[f+800+(u<<5)+(g<<4)+(i<<3)+4>>2]=l;i=i+1|0}}while(0);e=e+1|0}if(m)g=g+1|0;else{y=35;break}}if((y|0)==26){c[j>>2]=r;c[b>>2]=0;y=38}else if((y|0)==35){if(!(c[f>>2]|0))i=(c[w>>2]|0)!=0&1;else i=1;c[f>>2]=i;i=0}if((y|0)==38){di(h,152427,x);i=-1094995529}$c=z;return i|0}function tM(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);l=n+8|0;m=n;a:do if((c[d+44>>2]|0)!=5){k=vM(b)|0;c[a+34728>>2]=k;if(k){f=a+34752|0;g=a+34756|0;h=a+21824|0;d=0;b:while(1){if((d|0)>=66){f=21;break a}k=wM(b)|0;c[a+33932+(d*12|0)>>2]=k;if((k|2|0)==3){j=c[f>>2]|0;j=j+-1-(xM(b)|0)|0;c[a+33932+(d*12|0)+4>>2]=j&(c[g>>2]|0)+-1}i=(k|0)==2;switch(k|0){case 2:case 3:case 4:case 6:{j=wM(b)|0;if(j>>>0>31){d=k;f=16;break b}if(!(j>>>0<16|(k|0)==4&(j|0)==16)){if(!i){d=k;f=16;break b}if((c[h>>2]|0)==3){d=2;f=16;break b}}c[a+33932+(d*12|0)+8>>2]=j;break}default:{if(k>>>0>6){f=18;break b}if(!k){f=21;break a}}}d=d+1|0}if((f|0)==16){c[m>>2]=d;mf(e,16,152279,m);d=-1;break}else if((f|0)==18){c[l>>2]=k;mf(e,16,155588,l);d=-1;break}}else{d=0;f=21}}else{uM(b);if(!(vM(b)|0))d=0;else{c[a+33932>>2]=6;c[a+33940>>2]=0;d=1}c[a+34728>>2]=1;f=21}while(0);if((f|0)==21){c[a+34724>>2]=d;d=0}$c=n;return d|0}function uM(a){a=a|0;CM(a);return}function vM(a){a=a|0;var b=0,e=0,f=0;e=a+8|0;f=c[e>>2]|0;b=(d[(c[a>>2]|0)+(f>>>3)>>0]|0)<<(f&7)>>>7&1;c[e>>2]=f+((f|0)<(c[a+16>>2]|0)&1);return b|0}function wM(a){a=a|0;var b=0,e=0,f=0;b=a+8|0;f=c[b>>2]|0;e=c[a+16>>2]|0;a=(c[a>>2]|0)+(f>>>3)|0;a=(WW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(f&7)>>>23;f=f+(d[126608+a>>0]|0)|0;c[b>>2]=e>>>0>f>>>0?f:e;return d[127120+a>>0]|0|0}function xM(a){a=a|0;var b=0,c=0,e=0;e=yM(a)|0;b=e>>>0>65535;e=b?e>>>16:e;b=b?16:0;c=(e&65280|0)==0;b=31-(d[120639+(c?e:e>>>8)>>0]|0)-(c?b:b|8)|0;zM(a,b);return (AM(a,b+1|0)|0)+-1|0}function yM(a){a=a|0;var b=0,d=0;b=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);d=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[d+16>>2]=c[a+16>>2];a=AM(d,32)|0;$c=b;return a|0}function zM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+8|0;e=c[d>>2]|0;f=0-e|0;a=(c[a+16>>2]|0)-e|0;c[d>>2]=((f|0)>(b|0)?f:(a|0)<(b|0)?a:b)+e;return}function AM(a,b){a=a|0;b=b|0;var c=0;do if(b)if((b|0)<26){a=BM(a,b)|0;break}else{b=b+-16|0;c=(BM(a,16)|0)<>2]|0;f=c[a+16>>2]|0;a=(c[a>>2]|0)+(g>>>3)|0;a=(WW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(g&7)>>>(32-b|0);b=g+b|0;c[e>>2]=f>>>0>b>>>0?b:f;return a|0}function CM(a){a=a|0;var b=0,d=0;b=a+8|0;a=c[a+16>>2]|0;d=(c[b>>2]|0)+1|0;c[b>>2]=a>>>0>d>>>0?d:a;return}function DM(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);h=i;e=a+8|0;f=c[e>>2]|0;g=c[a+16>>2]|0;a=(c[a>>2]|0)+(f>>>3)|0;a=(WW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(f&7);do if(a>>>0<=134217727){k=a>>>0>65535;j=k?a>>>16:a;k=k?16:0;b=(j&65280|0)==0;j=(b?k:k|8)+(d[120639+(b?j:j>>>8)>>0]|0)|0;b=j<<1;f=63-b+f|0;c[e>>2]=g>>>0>f>>>0?f:g;if(j>>>0<19){mf(0,16,155998,h);a=-1094995529;break}else{a=(a>>>(b+-31|0))+-1|0;break}}else{a=a>>>23;k=f+(d[126608+a>>0]|0)|0;c[e>>2]=g>>>0>k>>>0?k:g;a=d[127120+a>>0]|0}while(0);$c=i;return a|0}function EM(a){a=a|0;var b=0,e=0,f=0;e=a+8|0;f=c[e>>2]|0;b=(d[(c[a>>2]|0)+(f>>>3)>>0]|0)<<(f&7)>>>7&1;c[e>>2]=f+((f|0)<(c[a+16>>2]|0)&1);return b|0}function FM(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+8|0;g=c[f>>2]|0;h=c[b+16>>2]|0;e=c[b>>2]|0;b=e+(g>>>3)|0;b=(WW(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24|0)|0)<<(g&7);if(b>>>0>134217727){b=b>>>23;g=g+(d[126608+b>>0]|0)|0;c[f>>2]=h>>>0>g>>>0?g:h;b=a[127632+b>>0]|0}else{j=b>>>0>65535;b=j?b>>>16:b;j=j?16:0;i=(b&65280|0)==0;b=(i?j:j|8)+(d[120639+(i?b:b>>>8)>>0]|0)|0;i=31-b+g|0;i=h>>>0>i>>>0?i:h;g=e+(i>>>3)|0;g=(WW(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24|0)|0)<<(i&7)>>>b;b=i+(32-b)|0;c[f>>2]=h>>>0>b>>>0?b:h;b=g&1;b=(g>>>1^0-b)+b|0}return b|0}function GM(a){a=a|0;var b=0,d=0;b=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);d=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[d+16>>2]=c[a+16>>2];a=IM(d,32)|0;$c=b;return a|0}function HM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+8|0;e=c[d>>2]|0;f=0-e|0;a=(c[a+16>>2]|0)-e|0;c[d>>2]=((f|0)>(b|0)?f:(a|0)<(b|0)?a:b)+e;return}function IM(a,b){a=a|0;b=b|0;var c=0;do if(b)if((b|0)<26){a=nM(a,b)|0;break}else{b=b+-16|0;c=(nM(a,16)|0)<>>0>65535;e=b?e>>>16:e;b=b?16:0;c=(e&65280|0)==0;b=31-(d[120639+(c?e:e>>>8)>>0]|0)-(c?b:b|8)|0;LM(a,b);return (MM(a,b+1|0)|0)+-1|0}function KM(a){a=a|0;var b=0,d=0;b=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);d=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[d+16>>2]=c[a+16>>2];a=MM(d,32)|0;$c=b;return a|0}function LM(a,b){a=a|0;b=b|0;a=a+8|0;c[a>>2]=(c[a>>2]|0)+b;return}function MM(a,b){a=a|0;b=b|0;var c=0;do if(b)if((b|0)<26){a=NM(a,b)|0;break}else{b=b+-16|0;c=(NM(a,16)|0)<>2]|0;a=(c[a>>2]|0)+(f>>>3)|0;a=(WW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(f&7)>>>(32-b|0);c[e>>2]=f+b;return a|0}function OM(b,d,e){b=b|0;d=d|0;e=e|0;if(e>>>0<=4294967231){if(!(bN(b,d,e+64|0)|0)){b=(c[b>>2]|0)+e|0;d=b+64|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(d|0))}}else{hf(b);c[d>>2]=0}return}function PM(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;l=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);k=l;i=c[f>>2]|0;if((i|0)<(e-a|0)){h=0;j=0;while(1){if((j|0)>=(a|0))break;m=i+1|0;c[f>>2]=m;h=h<<8|(d[b+i>>0]|0);j=j+1|0;i=m}i=e-i|0;if((h|0)<1|(h|0)>(i|0)){c[k>>2]=h;c[k+4>>2]=i;mf(g,16,155636,k);h=-1094995529}}else h=-11;$c=l;return h|0}function QM(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;if((b+3|0)>>>0>>0){d=0;while(1){f=b+d|0;if((f+3|0)>>>0>=c>>>0)break;e=d+1|0;if(a[f>>0]|0){d=e;continue}if(a[b+e>>0]|0){d=e;continue}if((a[b+(d+2)>>0]|0)==1)break;else d=e}d=d+3|0}else d=c-b|0;return d|0}function RM(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)!=0?(2147483647/(c>>>0)|0)>>>0>b>>>0:0)a=tf(a,H(c,b)|0)|0;else a=0;return a|0}function SM(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);r=v;q=f+52|0;c[q>>2]=0;h=0;while(1){if((h+1|0)>=(d|0))break;if(!(a[b+h>>0]|0)){i=h+-1|0;if((h|0)>0)h=(a[b+i>>0]|0)==0?i:h;i=h+2|0;if(((i|0)<(d|0)?(a[b+(h+1)>>0]|0)==0:0)?(j=a[b+i>>0]|0,(j&255)<4):0){t=9;break}}h=h+2|0}a:do if((t|0)==9){switch(j<<24>>24){case 0:case 3:break a;default:{}}d=h}while(0);b:do if((g|0)!=0&(h|0)>=(d+-1|0)){c[f+20>>2]=b;c[f+8>>2]=b;c[f+16>>2]=d;c[f+4>>2]=d}else{i=(h|0)>(d|0)?d:h;p=e+8|0;o=(c[e>>2]|0)+(c[p>>2]|0)|0;c[f>>2]=o;YW(o|0,b|0,i|0)|0;m=f+60|0;n=f+56|0;h=i;while(1){j=i+2|0;if((j|0)>=(d|0)){t=30;break}e=b+j|0;g=a[e>>0]|0;if((g&255)<=3){j=a[b+i>>0]|0;if(!(j<<24>>24))if(g<<24>>24==0?1:(a[b+(i+1)>>0]|0)!=0)j=0;else{if(g<<24>>24!=3){u=h;s=i;break}l=h+1|0;a[o+h>>0]=0;h=h+2|0;a[o+l>>0]=0;i=i+3|0;j=c[m>>2]|0;if(!j)continue;k=c[q>>2]|0;g=k+1|0;c[q>>2]=g;e=c[n>>2]|0;if((e|0)<=(k|0)){j=e<<1;c[n>>2]=j;if((j|0)<=(k|0)){t=24;break}_M(m,j,4)|0;j=c[m>>2]|0;if(!j){t=27;break}g=c[q>>2]|0}c[j+(g+-1<<2)>>2]=l;continue}}else{a[o+h>>0]=a[b+i>>0]|0;a[o+(h+1)>>0]=a[b+(i+1)>>0]|0;h=h+2|0;i=j;j=a[e>>0]|0}a[o+h>>0]=j;h=h+1|0;i=i+1|0}c:do if((t|0)==24){c[r>>2]=153016;c[r+4>>2]=153066;c[r+8>>2]=114;mf(0,0,164250,r);ub()}else if((t|0)==27){c[n>>2]=0;d=-12;break b}else if((t|0)==30)while(1){if((i|0)>=(d|0)){u=h;s=i;break c}a[o+h>>0]=a[b+i>>0]|0;h=h+1|0;i=i+1|0;t=30}while(0);d=o+u|0;h=d+64|0;do{a[d>>0]=0;d=d+1|0}while((d|0)<(h|0));c[f+8>>2]=o;c[f+4>>2]=u;c[f+20>>2]=b;c[f+16>>2]=s;c[p>>2]=(c[p>>2]|0)+s;d=s}while(0);$c=v;return d|0}function TM(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;f=(e|0)!=0;g=b+8|0;h=c[b+4>>2]|0;while(1){if(!(f&(h|0)>0)){b=4;break}b=h+-1|0;e=a[(c[g>>2]|0)+b>>0]|0;if(!(e<<24>>24))h=b;else{f=e;b=6;break}}if((b|0)==4)if(!h)e=0;else{f=a[(c[g>>2]|0)+(h+-1)>>0]|0;b=6}if((b|0)==6){b=f&255;if((h|0)<=268435455){e=h<<3;if(f<<24>>24)e=e+-1-(d[161393+((H(0-b&b,125613361)|0)>>>27)>>0]|0)|0}else e=-34}return e|0}function UM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(b|0)!=0&d>>>0<2147483640;d=e?d:0;b=e?b:0;c[a>>2]=b;c[a+12>>2]=d;c[a+16>>2]=d+8;c[a+4>>2]=b+(d+7>>3);c[a+8>>2]=0;return (e?0:-1094995529)|0}function VM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);h=i;d=a+24|0;if((XM(d)|0)==0?(e=a+44|0,c[e>>2]=YM(d,6)|0,f=YM(d,6)|0,g=(YM(d,3)|0)+-1|0,c[a+48>>2]=g,(g|0)>=0):0){e=c[e>>2]|0;a=ZM(e)|0;c[h>>2]=e;c[h+4>>2]=a;c[h+8>>2]=f;c[h+12>>2]=g;mf(b,48,152768,h);a=(f|0)==0&1}else a=-1094995529;$c=i;return a|0}function WM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=f;d=a+24|0;if(!(XM(d)|0)){g=a+64|0;c[g>>2]=YM(d,2)|0;d=YM(d,5)|0;c[a+44>>2]=d;a=c[g>>2]|0;c[e>>2]=d;c[e+4>>2]=a;mf(b,48,152732,e);a=1}else a=-1094995529;$c=f;return a|0}function XM(a){a=a|0;var b=0,e=0,f=0;e=a+8|0;f=c[e>>2]|0;b=(d[(c[a>>2]|0)+(f>>>3)>>0]|0)<<(f&7)>>>7&1;c[e>>2]=f+((f|0)<(c[a+16>>2]|0)&1);return b|0}function YM(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=a+8|0;g=c[e>>2]|0;f=c[a+16>>2]|0;a=(c[a>>2]|0)+(g>>>3)|0;a=(WW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(g&7)>>>(32-b|0);b=g+b|0;c[e>>2]=f>>>0>b>>>0?b:f;return a|0}function ZM(a){a=a|0;do switch(a|0){case 0:{a=153008;break}case 1:{a=153e3;break}case 2:{a=152994;break}case 3:{a=152988;break}case 4:{a=152981;break}case 5:{a=152974;break}case 6:{a=152967;break}case 7:{a=152960;break}case 8:{a=152953;break}case 9:{a=152946;break}case 16:{a=152937;break}case 17:{a=152926;break}case 18:{a=152917;break}case 19:{a=152906;break}case 20:{a=152897;break}case 21:{a=152889;break}case 32:{a=152885;break}case 33:{a=152881;break}case 34:{a=152877;break}case 35:{a=152873;break}case 36:{a=152865;break}case 37:{a=152857;break}case 38:{a=152850;break}case 39:{a=152839;break}case 40:{a=152828;break}default:a=152826}while(0);return a|0}function _M(b,c,e){b=b|0;c=c|0;e=e|0;var f=0;f=$M(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24,c,e)|0;a[b>>0]=f;a[b+1>>0]=f>>8;a[b+2>>0]=f>>16;a[b+3>>0]=f>>24;return ((e|0)!=0&((c|0)!=0&(f|0)==0)?-12:0)|0}function $M(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=g;if(!((aN(d,b,f)|0)==0?(e=tf(a,c[f>>2]|0)|0,(e|0)!=0):0)){jf(a);e=0}$c=g;return e|0}function aN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=H(b,a)|0;if((a|0)!=0&(b|a)>>>0>65535?((e>>>0)/(a>>>0)|0|0)!=(b|0):0)a=-22;else{c[d>>2]=e;a=0}return a|0}function bN(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);h=i;if((c[e>>2]|0)>>>0>=f>>>0)if(f|0?(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24|0)==0:0){c[h>>2]=153091;c[h+4>>2]=153108;c[h+8>>2]=33;mf(0,0,164250,h);ub()}else g=0;else{g=f+32+(f>>>4)|0;g=g>>>0>f>>>0?g:f;hf(b);h=dg(g)|0;a[b>>0]=h;a[b+1>>0]=h>>8;a[b+2>>0]=h>>16;a[b+3>>0]=h>>24;c[e>>2]=(h|0)==0?0:g;g=1}$c=i;return g|0}function cN(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);l=s+24|0;j=s+8|0;q=s+36|0;do if((g&8|0)==0&(dN(b,e,f,1,h)|0)<0){mf(h,24,153222,s);if((e|0)<=21801){i=e*3|0;k=((i|0)/2|0)+64|0;g=dg(k)|0;c[q>>2]=g;if(!g)g=-12;else{if((e|0)<=-1){c[j>>2]=159778;c[j+4>>2]=159792;c[j+8>>2]=137;mf(0,0,164250,j);ub()}o=b+e|0;if((i|0)<=-130){c[l>>2]=159778;c[l+4>>2]=159792;c[l+8>>2]=147;mf(0,0,164250,l);ub()}n=g;m=g+k|0;g=n;i=b;e=0;a:while(1){k=m-g|0;l=(k|0)<1;while(1){j=o-i|0;if(!j)break a;b=i;if(j>>>0>2){if((j|0)<3)break;i=b+1|0;if(((d[i>>0]|0)<<8|(d[b>>0]|0)<<16|(d[b+2>>0]|0))>>>0<4)break}else i=b+1|0;if(!((e|0)!=0|l)){r=20;break}else e=1}if((r|0)==20){r=0;e=g;a[e>>0]=a[b>>0]|0;g=e+1|0;e=0;continue}if((e|0)==0?(p=g,(k|0)>2):0){a[p+2>>0]=3;a[p+1>>0]=0;a[p>>0]=0;g=p+3|0;e=0}else e=1;i=b+2|0}g=g-n|0;p=VW(g+65534&65535|0)|0;r=c[q>>2]|0;a[r>>0]=p;a[r+1>>0]=p>>8;dN(c[q>>2]|0,g,f,1,h)|0;hf(q);g=0;break}}else g=-34}else g=0;while(0);$c=s;return g|0}function dN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);i=k;j=k+8|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;c[j+20>>2]=0;a=_h(j,a,b,f,e,2,27,1)|0;a:do if((a|0)<0)a=0;else{h=j+16|0;g=0;while(1){if((g|0)>=(c[h>>2]|0))break a;b=c[j>>2]|0;e=c[b+(g*68|0)+44>>2]|0;switch(e|0){case 7:{a=gi(b+(g*68|0)+24|0,f,d,0)|0;if((a|0)<0)break a;break}case 8:{a=ii(b+(g*68|0)+24|0,f,d,c[b+(g*68|0)+12>>2]|0)|0;if((a|0)<0)break a;break}default:{c[i>>2]=e;mf(f,40,159895,i)}}g=g+1|0}}while(0);Gh(j);$c=k;return a|0}function eN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[b+4>>2]=a;c[b+29592>>2]=-1;c[b+29664>>2]=c[a+92>>2];c[b+29668>>2]=c[a+96>>2];c[b+26380>>2]=3;c[b+25700>>2]=c[a+564>>2];c[b+25696>>2]=c[a+60>>2];c[b+28248>>2]=65536;c[b+29572>>2]=-1;c[b+29576>>2]=0;c[b+28264>>2]=-1;c[b+29860>>2]=-1;c[b+29712>>2]=-1;c[b+28744>>2]=-2147483648;d=0;while(1){if((d|0)==16)break;c[b+28676+(d<<2)>>2]=-2147483648;d=d+1|0}lg(b+29676|0);c[a+332>>2]=1;if(!(c[a+696>>2]&2))d=1;else d=c[a+688>>2]|0;e=b+25632|0;c[e>>2]=d;a=Bg(d,34768)|0;f=b+25628|0;c[f>>2]=a;a:do if(a){d=0;while(1){a=Wg()|0;if((d|0)>=36)break;c[b+696+(d*656|0)>>2]=a;if(!a){d=-12;break a}else d=d+1|0}c[b+24316>>2]=a;if((a|0)!=0?(a=Wg()|0,c[b+24972>>2]=a,(a|0)!=0):0){a=c[e>>2]|0;d=0;while(1){if((d|0)>=(a|0)){d=0;break a}c[(c[f>>2]|0)+(d*34768|0)>>2]=b;d=d+1|0}}else d=-12}else{c[e>>2]=0;d=-12}while(0);return d|0}function fN(){var a=0,b=0,d=0;if(!(c[45787]|0)){c[45787]=1;c[45618]=185864;c[45620]=256;gN(182468,8,20,153423,1,1,153443,1,1,0,0,0,4)|0;c[45622]=186888;c[45624]=8192;gN(182484,13,36,153463,1,1,153499,1,1,0,0,0,4)|0;a=0;b=0;while(1){if((b|0)==4){a=0;break}c[182500+(b<<4)+4>>2]=219656+(a<<2);d=c[75036+(b<<2)>>2]|0;c[182500+(b<<4)+12>>2]=d;gN(182500+(b<<4)|0,8,68,153535+(b*68|0)|0,1,1,153807+(b*68|0)|0,1,1,0,0,0,4)|0;a=d+a|0;b=b+1|0}while(1){if((a|0)==3){a=0;break}d=a+1|0;c[182564+(d<<4)+4>>2]=225208+(a<<5);c[182564+(d<<4)+12>>2]=8;gN(182564+(d<<4)|0,3,4,154079+(a<<2)|0,1,1,154091+(a<<2)|0,1,1,0,0,0,4)|0;a=d}while(1){if((a|0)==7){a=0;break}d=a+1|0;c[182628+(d<<4)+4>>2]=225304+(a<<7);c[182628+(d<<4)+12>>2]=32;gN(182628+(d<<4)|0,5,8,154103+(a<<3)|0,1,1,154159+(a<<3)|0,1,1,0,0,0,4)|0;a=d}while(1){if((a|0)==15){a=0;break}d=a+1|0;c[182756+(d<<4)+4>>2]=226200+(a<<11);c[182756+(d<<4)+12>>2]=512;gN(182756+(d<<4)|0,9,16,154215+(a<<4)|0,1,1,154471+(a<<4)|0,1,1,0,0,0,4)|0;a=d}while(1){if((a|0)==6)break;d=a+1|0;c[183012+(d<<4)+4>>2]=256920+(a<<5);c[183012+(d<<4)+12>>2]=8;gN(183012+(d<<4)|0,3,7,154727+(a<<4)|0,1,1,154839+(a<<4)|0,1,1,0,0,0,4)|0;a=d}c[45782]=257112;c[45784]=96;gN(183124,6,16,154823,1,1,154935,1,1,0,0,0,4)|0;hN()}return}function gN(f,g,h,i,j,k,l,m,n,o,p,q,r){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var 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,I=0,J=0,K=0,L=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;U=$c;$c=$c+12624|0;if(($c|0)>=(ad|0))N(12624);T=U+72|0;S=U+64|0;O=U+56|0;L=U+48|0;z=U+40|0;A=U+32|0;v=U+16|0;t=U;s=U+616|0;u=U+600|0;F=U+88|0;c[f>>2]=g;Q=(r&4|0)!=0;do if(Q)if((h+1|0)>>>0<1501){c[u>>2]=c[f>>2];c[u+4>>2]=c[f+4>>2];c[u+8>>2]=c[f+8>>2];c[u+12>>2]=c[f+12>>2];c[u+8>>2]=0;K=u;P=6;break}else{c[t>>2]=154951;c[t+4>>2]=155010;c[t+8>>2]=282;mf(0,0,164250,t);ub()}else{c[f+4>>2]=0;c[f+12>>2]=0;c[f+8>>2]=0;s=bh(h+1|0,8)|0;if(!s)R=-12;else{K=f;P=6}}while(0);do if((P|0)==6){J=(o|0)!=0;if(J&(q|0)>2){c[v>>2]=155033;c[v+4>>2]=155010;c[v+8>>2]=298;mf(0,0,164250,v);ub()}G=g*3|0;I=(r&2|0)==0;y=0;t=0;while(1){if((y|0)>=(h|0)){P=41;break}u=i+(H(y,j)|0)|0;switch(k|0){case 1:{u=a[u>>0]|0;P=15;break}case 2:{u=b[u>>1]&255;P=15;break}case 4:{u=c[u>>2]&255;P=15;break}default:u=a[s+(t<<3)>>0]|0}if((P|0)==15){P=0;a[s+(t<<3)>>0]=u}x=u&255;if((x|0)>(g|0)){if((u&255)>32|(G|0)<(x|0)){P=18;break}v=l+(H(y,m)|0)|0;switch(n|0){case 1:{v=d[v>>0]|0;P=25;break}case 2:{v=e[v>>1]|0;P=25;break}case 4:{v=c[v>>2]|0;P=25;break}default:{v=s+(t<<3)+4|0;w=v;v=c[v>>2]|0}}if((P|0)==25){P=0;w=s+(t<<3)+4|0;c[w>>2]=v}E=UW(1,0,u&255|0)|0;D=M()|0;if(!((D|0)>0|(D|0)==0&E>>>0>v>>>0)){P=27;break}if(I)u=v<<32-x;else u=(d[120895+(v>>>8&255)>>0]|0)<<16|(d[120895+(v&255)>>0]|0)<<24|(d[120895+(v>>>16&255)>>0]|0)<<8|(d[120895+(v>>>24)>>0]|0);c[w>>2]=u;a:do if(J){u=o+(H(y,p)|0)|0;switch(q|0){case 1:{u=d[u>>0]|0;P=38;break a}case 2:{u=b[u>>1]|0;P=38;break a}case 4:{u=c[u>>2]&65535;P=38;break a}default:break a}}else{u=y&65535;P=38}while(0);if((P|0)==38){P=0;b[s+(t<<3)+2>>1]=u}t=t+1|0}y=y+1|0}if((P|0)==18){c[A>>2]=x;mf(0,16,155063,A);if(Q){R=-1;break}jf(s);R=-1;break}else if((P|0)==27){c[z>>2]=v;c[z+4>>2]=y;mf(0,16,155094,z);if(Q){R=-1;break}jf(s);R=-1;break}else if((P|0)==41){c[F>>2]=s;c[F+4>>2]=s+(t<<3)+-8;u=1;b:while(1){if(!u)break;u=u+-1|0;E=c[F+(u<<3)+4>>2]|0;v=c[F+(u<<3)>>2]|0;while(1){if(v>>>0>=E>>>0)continue b;z=E+-8|0;if(v>>>0>=z>>>0)break;w=E+-16|0;y=v+8|0;C=E;D=v;A=v+(C-D>>4<<3)|0;do if((iN(v,E)|0)>0)if((iN(E,A)|0)>0){B=A;V=c[B>>2]|0;B=c[B+4>>2]|0;X=v;W=c[X+4>>2]|0;x=A;c[x>>2]=c[X>>2];c[x+4>>2]=W;x=v;c[x>>2]=V;c[x+4>>2]=B;x=0;break}else{X=E;W=c[X>>2]|0;X=c[X+4>>2]|0;B=v;V=c[B+4>>2]|0;x=E;c[x>>2]=c[B>>2];c[x+4>>2]=V;x=v;c[x>>2]=W;c[x+4>>2]=X;x=0;break}else if((iN(v,A)|0)>0){X=A;W=c[X>>2]|0;X=c[X+4>>2]|0;B=v;V=c[B+4>>2]|0;x=A;c[x>>2]=c[B>>2];c[x+4>>2]=V;x=v;c[x>>2]=W;c[x+4>>2]=X;x=0}else x=1;while(0);if((iN(A,E)|0)>0){X=E;W=c[X>>2]|0;X=c[X+4>>2]|0;B=A;V=c[B+4>>2]|0;x=E;c[x>>2]=c[B>>2];c[x+4>>2]=V;x=A;c[x>>2]=W;c[x+4>>2]=X;x=0}if((v|0)==(w|0))continue b;X=A;W=c[X>>2]|0;X=c[X+4>>2]|0;Y=z;V=c[Y+4>>2]|0;B=A;c[B>>2]=c[Y>>2];c[B+4>>2]=V;B=z;c[B>>2]=W;c[B+4>>2]=X;B=y;c:while(1){if(B>>>0>w>>>0)break;else y=B;while(1){if(y>>>0>w>>>0)break;if((iN(y,z)|0)>=0)break;y=y+8|0}while(1){if(y>>>0>w>>>0){B=y;continue c}if((iN(w,z)|0)<=0)break;w=w+-8|0}Y=w;X=c[Y>>2]|0;Y=c[Y+4>>2]|0;V=y;W=c[V+4>>2]|0;B=w;c[B>>2]=c[V>>2];c[B+4>>2]=W;B=y;c[B>>2]=X;c[B+4>>2]=Y;B=y+8|0;w=w+-8|0}X=B;W=c[X>>2]|0;X=c[X+4>>2]|0;y=z;V=c[y+4>>2]|0;Y=B;c[Y>>2]=c[y>>2];c[Y+4>>2]=V;Y=z;c[Y>>2]=W;c[Y+4>>2]=X;if(x|0?(A|0)==(B|0)|(A|0)==(B+-8|0):0){x=v;while(1){if(x>>>0>=E>>>0)break;if((iN(x,x+8|0)|0)>=1)break;x=x+8|0}if((x|0)==(E|0))continue b}Y=B;if((C-Y|0)<(Y-D|0)){x=E;y=B+8|0}else{x=w;y=v;w=E;v=B+8|0}c[F+(u<<3)>>2]=v;c[F+(u<<3)+4>>2]=w;E=x;v=y;u=u+1|0}if((iN(v,E)|0)<=0)continue;X=E;W=c[X>>2]|0;X=c[X+4>>2]|0;D=v;V=c[D+4>>2]|0;Y=E;c[Y>>2]=c[D>>2];c[Y+4>>2]=V;Y=v;c[Y>>2]=W;c[Y+4>>2]=X}y=0;while(1){if((y|0)>=(h|0)){P=109;break}u=i+(H(y,j)|0)|0;switch(k|0){case 1:{u=a[u>>0]|0;P=83;break}case 2:{u=b[u>>1]&255;P=83;break}case 4:{u=c[u>>2]&255;P=83;break}default:u=a[s+(t<<3)>>0]|0}if((P|0)==83){P=0;a[s+(t<<3)>>0]=u}x=u&255;if(!(u<<24>>24==0|(x|0)>(g|0))){if((u&255)>32|(G|0)<(x|0)){P=86;break}v=l+(H(y,m)|0)|0;switch(n|0){case 1:{v=d[v>>0]|0;P=93;break}case 2:{v=e[v>>1]|0;P=93;break}case 4:{v=c[v>>2]|0;P=93;break}default:{v=s+(t<<3)+4|0;w=v;v=c[v>>2]|0}}if((P|0)==93){P=0;w=s+(t<<3)+4|0;c[w>>2]=v}Y=UW(1,0,u&255|0)|0;X=M()|0;if(!((X|0)>0|(X|0)==0&Y>>>0>v>>>0)){P=95;break}if(I)u=v<<32-x;else u=(d[120895+(v>>>8&255)>>0]|0)<<16|(d[120895+(v&255)>>0]|0)<<24|(d[120895+(v>>>16&255)>>0]|0)<<8|(d[120895+(v>>>24)>>0]|0);c[w>>2]=u;d:do if(J){u=o+(H(y,p)|0)|0;switch(q|0){case 1:{u=d[u>>0]|0;P=106;break d}case 2:{u=b[u>>1]|0;P=106;break d}case 4:{u=c[u>>2]&65535;P=106;break d}default:break d}}else{u=y&65535;P=106}while(0);if((P|0)==106){P=0;b[s+(t<<3)+2>>1]=u}t=t+1|0}y=y+1|0}if((P|0)==86){c[L>>2]=x;mf(0,16,155063,L);if(Q){R=-1;break}jf(s);R=-1;break}else if((P|0)==95){c[O>>2]=v;c[O+4>>2]=y;mf(0,16,155094,O);if(Q){R=-1;break}jf(s);R=-1;break}else if((P|0)==109){u=jN(K,g,t,s,r)|0;if(!Q){jf(s);if((u|0)>=0){R=0;break}hf(K+4|0);R=u;break}s=c[K+8>>2]|0;t=c[K+12>>2]|0;if((s|0)!=(t|0)){c[S>>2]=s;c[S+4>>2]=t;mf(0,16,155130,S)}if((u|0)>-1){c[f>>2]=c[K>>2];c[f+4>>2]=c[K+4>>2];c[f+8>>2]=c[K+8>>2];c[f+12>>2]=c[K+12>>2];R=0;break}else{c[T>>2]=164280;c[T+4>>2]=155010;c[T+8>>2]=341;mf(0,0,164250,T);ub()}}}}while(0);$c=U;return R|0}function hN(){var b=0,c=0,e=0,f=0,g=0,h=0,i=0;g=0;while(1){if((g|0)==7)break;i=-1<>>7&16777215)>>0]|0)|0;f=8-e|0;b=f+1|0;c=b+g|0;do if((c|0)>=9)if(!e){a[258520+(g<<9)+(h<<1)>>0]=108;b=8;break}else{a[258520+(g<<9)+(h<<1)>>0]=f+100;b=b&255;break}else{b=(h&65280|0)==0;f=(f<>>((b?0:8)-g+(d[120639+(b?h:h>>>8)>>0]|0)|0))|0;b=f&1;a[258520+(g<<9)+(h<<1)>>0]=((f+2|0)>>>1^0-b)+b;b=c&255}while(0);a[258520+(g<<9)+(h<<1)+1>>0]=b;h=h+1|0}g=g+1|0}return}function iN(a,b){a=a|0;b=b|0;return ((c[a+4>>2]|0)>>>1)-((c[b+4>>2]|0)>>>1)|0}function jN(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);w=B;x=B+4|0;y=1<>2]=(c[t>>2]|0)+(z<<2);u=32-f|0;v=(i&2|0)==0;j=0;b:while(1){if((j|0)>=(g|0)){j=0;break}s=h+(j<<3)|0;m=a[s>>0]|0;q=m&255;l=h+(j<<3)+4|0;n=c[l>>2]|0;r=b[h+(j<<3)+2>>1]|0;c:do if((q|0)>(f|0)){r=q-f|0;k=n>>>u;a[s>>0]=r;c[l>>2]=n<=(g|0))break;m=h+(q<<3)|0;n=(d[m>>0]|0)-f|0;if((n|0)<1)break;o=h+(q<<3)+4|0;p=c[o>>2]|0;if((p>>>u|0)!=(k|0))break;a[m>>0]=n;c[o>>2]=p<(n|0)?l:n;r=q}l=(l|0)>(f|0)?f:l;if(!v)k=(d[120895+(k>>>8&255)>>0]<<16|d[120895+(k&255)>>0]<<24|d[120895+(k>>>16&255)>>0]<<8|d[120895+(k>>>24)>>0])>>>u;b[(c[x>>2]|0)+(k<<2)+2>>1]=0-l;j=jN(e,l,q-j|0,s,i)|0;if((j|0)<0)break a;c[x>>2]=(c[t>>2]|0)+(z<<2);b[(c[x>>2]|0)+(k<<2)>>1]=j;j=r}else{p=1<>>u}else{o=1<>>8&255)>>0]<<16|d[120895+(n&255)>>0]<<24|d[120895+(n>>>16&255)>>0]<<8|d[120895+(n>>>24)>>0]}m=m&255;l=0;while(1){if((l|0)>=(p|0))break c;s=b[(c[x>>2]|0)+(k<<2)+2>>1]|0;if(!(s<<16>>16==0|(s<<16>>16|0)==(q|0))){A=11;break b}b[(c[x>>2]|0)+(k<<2)+2>>1]=m;b[(c[x>>2]|0)+(k<<2)>>1]=r;l=l+1|0;k=k+o|0}}while(0);j=j+1|0}if((A|0)==11){mf(0,16,155148,w);j=-1094995529;break}while(1){if((j|0)>=(y|0)){j=z;break a}if(!(b[(c[x>>2]|0)+(j<<2)+2>>1]|0))b[(c[x>>2]|0)+(j<<2)>>1]=-1;j=j+1|0}}}else j=-1;while(0);$c=B;return j|0}function kN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=a+8|0;e=c[g>>2]|0;h=e+b|0;c[g>>2]=h;f=a+12|0;b=c[f>>2]|0;do if((h|0)>(b|0)){if(d|0)ub();b=(1<>2])+b|0;c[f>>2]=b;h=a+4|0;b=$M(c[h>>2]|0,b,4)|0;c[h>>2]=b;if(!b){c[f>>2]=0;c[g>>2]=0;e=-12;break}else{h=c[a>>2]|0;_W(b+(c[f>>2]<<2)+(-1<=(d|0))break;f=c[b+(g<<2)>>2]|0;if((f|0)!=0?f>>>0>=j>>>0&f>>>0>>0:0)f=e+696+(((f-i|0)/656|0)*656|0)|0;else f=0;c[a+(g<<2)>>2]=f;g=g+1|0}return}function mN(a){a=a|0;var b=0;a=c[a>>2]|0;b=a+1672|0;c[b>>2]=0;c[b+4>>2]=-2147483648;c[a+1680>>2]=2147483647;en(a+1208|0,8,1);return 0}function nN(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);k=v+32|0;j=v+24|0;s=v+20|0;t=v+16|0;l=v+8|0;m=v;c[s>>2]=f;c[t>>2]=g;o=c[a>>2]|0;h=o+1644|0;if((c[h>>2]|0)==0?(c[h>>2]=1,i=c[b+72>>2]|0,i|0):0)Kh(c[b+68>>2]|0,i,o+40|0,o+1636|0,o+1640|0,c[b+580>>2]|0,b)|0;i=a+176|0;do if(!(c[i>>2]&1)){g=rN(o,f,g,b)|0;if((kf(o,g,s,t)|0)<0){c[d>>2]=0;c[e>>2]=0;g=c[t>>2]|0;break}if((g|0)<0&(g|0)!=-100){rN(o,(c[o>>2]|0)+((c[o+8>>2]|0)+g)|0,0-g|0,b)|0;u=9}else u=9}else u=9;while(0);if((u|0)==9){sN(a,b,c[s>>2]|0,c[t>>2]|0);h=b+760|0;if(c[h>>2]|0){c[m>>2]=c[b+84>>2];c[m+4>>2]=1;c[j>>2]=c[h>>2];c[j+4>>2]=c[h+4>>2];c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];tN(l,j,k);n=c[l>>2]|0;p=b+76|0;c[p>>2]=c[l+4>>2];c[p+4>>2]=n}h=c[o+1404>>2]|0;if((h|0)>-1){p=c[o+1432>>2]|0;k=h;n=c[o+1400>>2]|0}else{p=-2147483648;k=-2147483648;n=-2147483648}c[a+240>>2]=p;c[a+244>>2]=k;c[a+248>>2]=n;h=c[i>>2]|0;if(h&2|0)c[i>>2]=h&1;if((p|0)>-1?(q=c[b+80>>2]|0,r=c[b+772>>2]|0,q=PW(r|0,((r|0)<0)<<31>>31|0,q|0,((q|0)<0)<<31>>31|0)|0,r=M()|0,(r|0)>0|(r|0)==0&q>>>0>0):0){l=c[b+76>>2]|0;m=c[b+776>>2]|0;l=PW(m|0,((m|0)<0)<<31>>31|0,l|0,((l|0)<0)<<31>>31|0)|0;m=M()|0;j=a+48|0;h=j;i=c[h>>2]|0;h=c[h+4>>2]|0;if((i|0)==0&(h|0)==-2147483648){f=o+1672|0;i=f;h=c[i>>2]|0;i=c[i+4>>2]|0;if((h|0)==0&(i|0)==-2147483648){i=0;h=-2147483648}else{u=uN(k,((k|0)<0)<<31>>31,l,m,q,r)|0;i=JW(u|0,M()|0,h|0,i|0)|0;h=M()|0;u=j;c[u>>2]=i;c[u+4>>2]=h;u=21}}else{k=uN(k,((k|0)<0)<<31>>31,l,m,q,r)|0;k=KW(i|0,h|0,k|0,M()|0)|0;b=M()|0;f=o+1672|0;o=f;c[o>>2]=k;c[o+4>>2]=b;if(!((k|0)==0&(b|0)==-2147483648))u=21}if((u|0)==21){j=a+40|0;u=j;if((c[u>>2]|0)==0?(c[u+4>>2]|0)==-2147483648:0){q=uN(n,((n|0)<0)<<31>>31,l,m,q,r)|0;q=JW(q|0,M()|0,i|0,h|0)|0;r=M()|0;u=j;c[u>>2]=q;c[u+4>>2]=r}}if((p|0)>0){u=f;c[u>>2]=i;c[u+4>>2]=h}}c[d>>2]=c[s>>2];c[e>>2]=c[t>>2]}$c=v;return g|0}function oN(a){a=a|0;a=c[a>>2]|0;hf(a);lg(a+1388|0);Fh(a+40|0);return}function pN(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);k=m;c[k>>2]=-1;j=d+e|0;b=0;e=d;i=0;a:while(1)b:while(1){h=(b|0)!=0;while(1){if(e>>>0>=j>>>0){b=0;break a}e=qN(e,j,k)|0;g=c[k>>2]|0;if((g&-256|0)!=256){b=0;break a}f=g&31;switch(g&31){case 8:{i=1;continue a}case 7:{b=1;continue b}default:{}}if(h&((f|0)!=15&((f|4|0)!=13&(i|(f|0)!=6)))){l=8;break a}}}if((l|0)==8){while(1){b=e+-4|0;if(b>>>0<=d>>>0)break;if(!(a[e+-5>>0]|0)){e=e+-1|0;l=8}else break}b=b-d|0}$c=m;return b|0}function qN(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);g=i;if(b>>>0>e>>>0){c[g>>2]=155373;c[g+4>>2]=131652;c[g+8>>2]=1892;mf(0,0,164250,g);ub()}a:do if(b>>>0>>0){h=0;while(1){if((h|0)>=3)break;j=c[f>>2]<<8;g=b+1|0;c[f>>2]=j|d[b>>0];if((g|0)==(e|0)|(j|0)==256){e=g;break a}else{h=h+1|0;b=g}}while(1){if(b>>>0>=e>>>0)break;g=a[b+-1>>0]|0;if((g&255)>1){b=b+3|0;continue}if(!(a[b+-2>>0]|0)){h=b+1|0;if(!((g&255)+-1|d[b+-3>>0])){b=h;break}else{b=h;continue}}else{b=b+2|0;continue}}e=b>>>0>e>>>0?e:b;j=e+-4|0;c[f>>2]=WW(d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24|0)|0}while(0);$c=i;return e|0}function rN(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);s=x+8|0;h=x;r=x+16|0;v=b+1636|0;w=b+16|0;j=c[w>>2]|0;j=j>>>0>13?7:j;q=b+1640|0;if(c[v>>2]|0)if(!(c[q>>2]|0)){mf(g,16,155670,h);i=0}else i=0;else i=f;m=b+1340|0;n=b+1660|0;o=b+1664|0;p=b+1652|0;u=b+20|0;h=0;a:while(1){if((h|0)>=(f|0)){t=31;break}b:do if((i|0)>(h|0)){if((j|0)==7){j=(hd[c[m>>2]&15](e+h|0,i-h|0)|0)+h|0;l=i;h=j;j=(j|0)<(i|0)?2:7;break}if(j>>>0<3)switch(a[e+h>>0]|0){case 1:{l=i;j=j^5;break b}case 0:{l=i;j=j>>>1;break b}default:{l=i;j=7;break b}}k=a[e+h>>0]|0;if(j>>>0>=6){l=c[n>>2]|0;c[n>>2]=l+1;a[b+1652+l>>0]=k;k=c[n>>2]|0;if((k|0)>5){l=c[o>>2]|0;IN(r,p,k<<3)|0;c[n>>2]=0;k=AN(r)|0;c[o>>2]=k;if(c[u>>2]|0){if(k>>>0<=l>>>0){t=29;break a}}else c[u>>2]=1;l=i;j=7}else l=i}else{l=i;i=k;t=20}}else{j=c[q>>2]|0;h=0;k=0;while(1){if((h|0)>=(j|0))break;h=h+1|0;k=k<<8|d[e+i>>0];i=i+1|0}h=f-i|0;if((k|0)<1|(k|0)>(h|0)){t=12;break a}h=i;l=i+k|0;j=5;i=a[e+i>>0]|0;t=20}while(0);c:do if((t|0)==20){t=0;if(((i&31)+-6&255)<4){k=(c[u>>2]|0)==0;h=h+((k^1)&1)|0;if(k){j=7;break}else{i=l;f=j;t=32;break a}}switch(i&31){case 1:case 2:case 5:break;default:{j=7;break c}}j=j+8|0}while(0);h=h+1|0;i=l}if((t|0)==12){c[s>>2]=k;c[s+4>>2]=h;mf(g,16,155707,s);t=33}else if((t|0)==29){f=j;t=32}else if((t|0)==31){c[w>>2]=j;f=(c[v>>2]|0)==0?-100:i;t=33}if((t|0)==32){c[w>>2]=7;c[u>>2]=0;$c=x;return ((c[v>>2]|0)==0?h-(f&5)+(f>>>0>7?-5:0)|0:i)|0}else if((t|0)==33){$c=x;return f|0}return 0}function sN(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;J=$c;$c=$c+128|0;if(($c|0)>=(ad|0))N(128);u=J+24|0;z=J+16|0;w=J+8|0;v=J;I=J+112|0;s=J+44|0;t=J+40|0;F=J+32|0;H=c[b>>2]|0;c[I>>2]=0;c[I+4>>2]=0;c[I+8>>2]=0;h=s;i=h+68|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));if((g|0)>3)n=(rT(155382,f,4)|0)==0;else n=0;x=b+32|0;c[x>>2]=1;y=b+224|0;c[y>>2]=0;E=b+312|0;c[E>>2]=0;D=H+1388|0;lg(D);c[H+1572>>2]=-1;a:do if(g|0?(OM(I,I+4|0,g),c[I>>2]|0):0){c[t>>2]=0;A=s+24|0;m=s+8|0;o=s+4|0;C=s+64|0;B=s+44|0;p=H+40|0;q=s+12|0;r=H+1640|0;i=c[H+1636>>2]|0?0:g;h=0;b:while(1){while(1){if((h|0)>=(i|0)){G=8;break}h=wN(f,g,h,i)|0;if((h|0)>=(g|0)){G=103;break b}if((h|0)<(i|0)){G=12;break}}if((G|0)==8){G=0;c[t>>2]=h;h=vN(c[r>>2]|0,f,g,t,e)|0;if((h|0)<0){G=104;break}k=c[t>>2]|0;l=k+h|0;h=k}else if((G|0)==12){G=0;c[t>>2]=h;l=i}i=l-h|0;k=f+h|0;K=a[k>>0]|0;j=K&255;c:do switch(K&31){case 5:case 1:if((j&31|0)==5|(j&96|0)==0){i=(i|0)<60?i:60;break c}else{i=(i|0)<1e3?i:1e3;break c}default:{}}while(0);i=SM(k,i,I,s,1)|0;if((i|0)<0){G=104;break}h=h+i|0;c[t>>2]=h;if((xN(A,c[m>>2]|0,c[o>>2]|0)|0)<0)break;yN(A)|0;c[C>>2]=zN(A,2)|0;K=zN(A,5)|0;c[B>>2]=K;switch(K|0){case 5:{G=23;break b}case 1:{G=24;break b}case 7:{gi(A,e,p,0)|0;i=l;continue b}case 8:{ii(A,e,p,c[q>>2]|0)|0;i=l;continue b}case 6:{ei(D,A,p,e)|0;i=l;continue b}default:{i=l;continue b}}}if((G|0)==23){c[y>>2]=1;c[H+1384>>2]=0;c[H+1380>>2]=0;c[H+1372>>2]=0;c[H+1368>>2]=0;G=24}else if((G|0)==103){c[t>>2]=h;G=104}d:do if((G|0)==24){AN(A)|0;c[x>>2]=d[128144+(((BN(A)|0)>>>0)%5|0)>>0];if((c[H+1428>>2]|0)>-1)c[y>>2]=1;h=CN(A)|0;if(h>>>0>255){c[v>>2]=h;mf(e,16,155387,v);break}i=H+168+(h<<2)|0;if(!(c[i>>2]|0)){c[w>>2]=h;mf(e,16,155411,w);break}K=H+1192|0;Tf(K);j=H+1196|0;Tf(j);o=H+1200|0;c[o>>2]=0;k=H+1204|0;c[k>>2]=0;h=Vg(c[i>>2]|0)|0;c[K>>2]=h;if(h|0){h=c[h+4>>2]|0;c[o>>2]=h;h=c[h>>2]|0;i=c[H+40+(h<<2)>>2]|0;if(!i){c[z>>2]=h;mf(e,16,155443,z);break}h=Vg(i)|0;c[j>>2]=h;if(h|0){m=c[h+4>>2]|0;c[k>>2]=m;if(((c[m+48>>2]|0)<2?(c[(c[o>>2]|0)+20>>2]|0)>>>0<2:0)?(c[x>>2]|0)==1:0)c[y>>2]=1;l=H+1344|0;n=H+1364|0;c[n>>2]=zN(A,c[m+20>>2]|0)|0;h=c[m+56>>2]<<4;c[b+328>>2]=h;i=c[m+60>>2]<<4;c[b+332>>2]=i;K=h-(c[m+84>>2]|0)-(c[m+80>>2]|0)|0;j=b+320|0;c[j>>2]=K;z=i-(c[m+88>>2]|0)-(c[m+92>>2]|0)|0;k=b+324|0;c[k>>2]=z;if((z|0)<1|(K|0)<1){c[j>>2]=h;c[k>>2]=i}e:do switch(c[m+1184>>2]|0){case 9:{h=c[m+12>>2]|0;if((h|0)==3){c[b+336>>2]=68;break e}else{c[b+336>>2]=(h|0)==2?72:62;break e}}case 10:{h=c[m+12>>2]|0;if((h|0)==3){c[b+336>>2]=70;break e}else{c[b+336>>2]=(h|0)==2?66:64;break e}}case 8:{h=c[m+12>>2]|0;if((h|0)==3){c[b+336>>2]=5;break e}else{c[b+336>>2]=(h|0)==2?4:0;break e}}default:c[b+336>>2]=-1}while(0);c[e+716>>2]=Ym(m)|0;c[e+720>>2]=c[m+8>>2];if((c[m+64>>2]|0)==0?(yN(A)|0)!=0:0)h=(yN(A)|0)+1|0;else h=3;k=H+1648|0;c[k>>2]=h;if((c[B>>2]|0)==5)AN(A)|0;i=m+24|0;h=c[i>>2]|0;if(!h){c[l>>2]=zN(A,c[m+28>>2]|0)|0;if((c[(c[o>>2]|0)+8>>2]|0)==1?(c[k>>2]|0)==3:0)c[H+1352>>2]=DN(A)|0;h=c[i>>2]|0}do if(((h|0)==1?(c[m+32>>2]|0)==0:0)?(c[H+1356>>2]=DN(A)|0,(c[(c[o>>2]|0)+8>>2]|0)==1):0){if((c[k>>2]|0)!=3)break;c[H+1360>>2]=DN(A)|0}while(0);j=F+4|0;c[j>>2]=2147483647;c[F>>2]=2147483647;if((Fl(F,b+316|0,m,l,c[k>>2]|0,c[C>>2]|0)|0)>=0){do if((c[C>>2]|0)==0|(c[B>>2]|0)==5)G=70;else{h=EN(b,A,e)|0;if((h|0)<0)break d;if(!h){G=70;break}c[H+1384>>2]=0;h=0;i=1}while(0);if((G|0)==70){c[H+1384>>2]=c[n>>2];h=c[H+1376>>2]|0;i=0}c[H+1380>>2]=h;if(c[C>>2]|0){if(i){i=0;h=(c[k>>2]|0)==2?0:c[F>>2]|0}else{i=c[H+1348>>2]|0;h=c[l>>2]|0}c[H+1368>>2]=i;c[H+1372>>2]=h}i=(c[m+1160>>2]|0)==0;f:do if(i)G=85;else{if(!(c[D>>2]|0)){G=85;break}switch(c[H+1392>>2]|0){case 2:case 1:{h=0;break f}case 4:case 3:case 0:{h=1;break f}case 6:case 5:{h=2;break f}case 7:{h=3;break f}case 8:{h=5;break f}default:{h=(c[k>>2]|0)==3&1;break f}}}while(0);if((G|0)==85)h=(c[k>>2]|0)==3&1;c[b+36>>2]=h;h=c[k>>2]|0;g:do if((h|0)==3){c[E>>2]=3;do if(!i){if(!(c[D>>2]|0))break;switch(c[H+1392>>2]|0){case 5:case 3:{h=2;break}case 6:case 4:{h=3;break}default:h=1}c[b+308>>2]=h;break g}while(0);i=c[F>>2]|0;h=c[j>>2]|0;if((i|0)<(h|0)){c[b+308>>2]=2;break}else{c[b+308>>2]=(i|0)>(h|0)?3:1;break}}else{l=(h|0)==1?1:2;c[E>>2]=l;j=c[n>>2]|0;k=H+1680|0;h=H+1684|0;h:do if((j|0)==(c[k>>2]|0)){i=c[h>>2]|0;switch(i|0){case 3:case 0:{G=100;break h}default:{}}if((i|0)==(l|0)){G=100;break}c[b+308>>2]=(i|0)==1?2:3}else G=100;while(0);if((G|0)==100)c[b+308>>2]=0;c[h>>2]=l;c[k>>2]=j}while(0);hf(I);break a}}}}else if((G|0)==104)if(n){hf(I);break a}else{c[u>>2]=g;mf(e,16,155475,u);break}while(0);hf(I)}while(0);$c=J;return}function tN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=b+4|0;g=c[b>>2]|0;f=c[d>>2]|0;g=PW(f|0,((f|0)<0)<<31>>31|0,g|0,((g|0)<0)<<31>>31|0)|0;f=M()|0;e=c[h>>2]|0;d=c[d+4>>2]|0;e=PW(d|0,((d|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0;bn(b,h,g,f,e,M()|0,2147483647,0)|0;e=b;b=c[e+4>>2]|0;d=a;c[d>>2]=c[e>>2];c[d+4>>2]=b;return}function uN(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;f=Tm(a,b,c,d,e,f,5)|0;L(M()|0);return f|0}function vN(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;l=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);k=l;i=c[f>>2]|0;if((i|0)<(e-a|0)){h=0;j=0;while(1){if((j|0)>=(a|0))break;m=i+1|0;c[f>>2]=m;h=h<<8|(d[b+i>>0]|0);j=j+1|0;i=m}i=e-i|0;if((h|0)<1|(h|0)>(i|0)){c[k>>2]=h;c[k+4>>2]=i;mf(g,16,155636,k);h=-1094995529}}else h=-11;$c=l;return h|0}function wN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);g=f;c[g>>2]=-1;e=(qN(a+d|0,a+e+1|0,g)|0)-a+-1|0;$c=f;return ((e|0)>(b|0)?b:e)|0}function xN(a,b,c){a=a|0;b=b|0;c=c|0;return IN(a,b,c>>>0>268435455?-8:c<<3)|0}function yN(a){a=a|0;var b=0,e=0;b=a+8|0;e=c[b>>2]|0;a=(d[(c[a>>2]|0)+(e>>>3)>>0]|0)<<(e&7)>>>7&1;c[b>>2]=e+1;return a|0}function zN(a,b){a=a|0;b=b|0;var e=0,f=0;e=a+8|0;f=c[e>>2]|0;a=(c[a>>2]|0)+(f>>>3)|0;a=(WW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(f&7)>>>(32-b|0);c[e>>2]=f+b;return a|0}function AN(a){a=a|0;var b=0,c=0,e=0;e=FN(a)|0;b=e>>>0>65535;e=b?e>>>16:e;b=b?16:0;c=(e&65280|0)==0;b=31-(d[120639+(c?e:e>>>8)>>0]|0)-(c?b:b|8)|0;GN(a,b);return (HN(a,b+1|0)|0)+-1|0}function BN(a){a=a|0;var b=0,e=0;b=a+8|0;e=c[b>>2]|0;a=(c[a>>2]|0)+(e>>>3)|0;a=(WW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(e&7)>>>23;c[b>>2]=e+(d[126608+a>>0]|0);return d[127120+a>>0]|0|0}function CN(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0;h=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);g=h;e=a+8|0;f=c[e>>2]|0;b=(c[a>>2]|0)+(f>>>3)|0;b=(WW(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24|0)|0)<<(f&7);do if(b>>>0<=134217727){j=b>>>0>65535;i=j?b>>>16:b;j=j?16:0;a=(i&65280|0)==0;i=(a?j:j|8)+(d[120639+(a?i:i>>>8)>>0]|0)|0;a=i<<1;c[e>>2]=f+63-a;if(i>>>0<19){mf(0,16,155998,g);a=-1094995529;break}else{a=(b>>>(a+-31|0))+-1|0;break}}else{a=b>>>23;c[e>>2]=f+(d[126608+a>>0]|0);a=d[127120+a>>0]|0}while(0);$c=h;return a|0}function DN(b){b=b|0;var e=0,f=0,g=0,h=0,i=0;f=b+8|0;g=c[f>>2]|0;b=c[b>>2]|0;e=b+(g>>>3)|0;e=(WW(d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24|0)|0)<<(g&7);if(e>>>0>134217727){b=e>>>23;c[f>>2]=g+(d[126608+b>>0]|0);b=a[127632+b>>0]|0}else{i=e>>>0>65535;h=i?e>>>16:e;i=i?16:0;e=(h&65280|0)==0;h=(e?i:i|8)+(d[120639+(e?h:h>>>8)>>0]|0)|0;e=31-h+g|0;g=b+(e>>>3)|0;g=(WW(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24|0)|0)<<(e&7)>>>h;c[f>>2]=32-h+e;b=g&1;b=(g>>>1^0-b)+b|0}return b|0}function EN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=$c;$c=$c+20816|0;if(($c|0)>=(ad|0))N(20816);r=s+16|0;k=s+8|0;j=s;o=s+40|0;i=s+32|0;p=s+24|0;q=c[a+32>>2]&3;n=c[a>>2]|0;g=n+1200|0;if(c[(c[g>>2]|0)+60>>2]|0)CN(b)|0;l=(q|0)==3;if(l)yN(b)|0;m=n+1648|0;a:do if((qM(i,p,b,c[g>>2]|0,q,c[m>>2]|0,d)|0)>=0){if((q|0)!=1){f=0;while(1){if((f|0)>=(c[i>>2]|0))break;b:do if(yN(b)|0){h=p+(f<<2)|0;e=0;c:while(1){a=BN(b)|0;if(a>>>0<3){AN(b)|0;if((e|0)<(c[h>>2]|0))a=0;else{c[k>>2]=e;mf(d,16,155559,k);a=1}}else if((a|0)==3)a=5;else{c[j>>2]=a;mf(d,16,155520,j);a=1}switch(a&7){case 5:break b;case 0:break;default:break c}e=e+1|0}if(a|0){a=-1094995529;break a}}while(0);f=f+1|0}a=c[g>>2]|0;if((q|0)==2&(c[a+28>>2]|0)!=0)f=22;else f=21}else{a=c[g>>2]|0;f=21}if((f|0)==21?l&(c[a+32>>2]|0)==1:0)f=22;if((f|0)==22)sM(b,c[n+1204>>2]|0,p,q,o,c[m>>2]|0,d)|0;if(yN(b)|0){a=0;d:while(1){if((a|0)>=66){f=33;break}e=BN(b)|0;if(e>>>0>6){f=26;break}switch(e|0){case 5:{a=1;break a}case 0:{f=33;break d}default:{}}if((e|2|0)==3)AN(b)|0;switch(e|0){case 2:case 3:case 4:case 6:{BN(b)|0;break}default:{}}a=a+1|0}if((f|0)==26){c[r>>2]=e;mf(d,16,155588,r);a=-1094995529;break}else if((f|0)==33){a=0;break}}else a=0}else a=-1094995529;while(0);$c=s;return a|0}function FN(a){a=a|0;var b=0,d=0;b=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);d=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[d+16>>2]=c[a+16>>2];a=HN(d,32)|0;$c=b;return a|0}function GN(a,b){a=a|0;b=b|0;a=a+8|0;c[a>>2]=(c[a>>2]|0)+b;return}function HN(a,b){a=a|0;b=b|0;var c=0;do if(b)if((b|0)<26){a=zN(a,b)|0;break}else{b=b+-16|0;c=(zN(a,16)|0)<>>0<2147483640;d=e?d:0;b=e?b:0;c[a>>2]=b;c[a+12>>2]=d;c[a+16>>2]=d+8;c[a+4>>2]=b+(d+7>>3);c[a+8>>2]=0;return (e?0:-1094995529)|0}function JN(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);k=n+4|0;l=n;c[k>>2]=f;c[l>>2]=g;j=c[a>>2]|0;h=c[b+68>>2]|0;if(h|0?(i=j+1708|0,(c[i>>2]|0)==0):0){ON(h,c[b+72>>2]|0,j+64|0,j+460|0,j+1700|0,j+1704|0,c[b+580>>2]|0,1,b)|0;c[i>>2]=1}do if(!(c[a+176>>2]&1)){h=PN(a,f,g)|0;if((kf(j,h,k,l)|0)<0){c[d>>2]=0;c[e>>2]=0;h=c[l>>2]|0;break}else{f=c[k>>2]|0;i=c[l>>2]|0;m=8;break}}else{h=g;i=g;m=8}while(0);if((m|0)==8){QN(a,f,i,b);c[d>>2]=c[k>>2];c[e>>2]=c[l>>2]}$c=n;return h|0}function KN(a){a=a|0;a=c[a>>2]|0;MN(a+64|0);Gh(a+40|0);NN(a+460|0);hf(a);return}function LN(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);l=n;k=d+e|0;c[l>>2]=-1;b=0;f=0;j=0;e=d;a:while(1)b:while(1){i=j&(f|0)!=0;c:while(1){h=(b|0)!=0;while(1){if(e>>>0>=k>>>0){b=0;break a}e=qN(e,k,l)|0;g=c[l>>2]|0;if((g&-256|0)!=256){b=0;break a}o=g>>>1;g=o&63;switch(o&63){case 32:{j=1;continue a}case 33:{f=1;continue b}case 34:{b=1;continue c}default:{}}if((g|0)!=35&(h|(g|0)!=39)&i){m=9;break a}}}}if((m|0)==9){while(1){b=e+-4|0;if(b>>>0<=d>>>0)break;if(!(a[e+-5>>0]|0)){e=e+-1|0;m=9}else break}b=b-d|0}$c=n;return b|0}function MN(a){a=a|0;var b=0;b=0;while(1){if((b|0)==16){b=0;break}Tf(a+(b<<2)|0);b=b+1|0}while(1){if((b|0)==16){b=0;break}Tf(a+64+(b<<2)|0);b=b+1|0}while(1){if((b|0)==64)break;Tf(a+128+(b<<2)|0);b=b+1|0}c[a+388>>2]=0;c[a+392>>2]=0;c[a+384>>2]=0;return}function NN(a){a=a|0;c[a+92>>2]=0;hf(a+96|0);return}function ON(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);w=x+24|0;v=x+16|0;m=x;if((e|0)<=-1){c[m>>2]=159778;c[m+4>>2]=159792;c[m+8>>2]=137;mf(0,0,164250,m);ub()}u=b+e|0;do if((e|0)>3){if(((a[b>>0]|0)==0?(a[b+1>>0]|0)==0:0)?(d[b+2>>0]|0)<=1:0){n=28;break}c[h>>2]=1;t=e>>>0<21?e:21;m=b+t|0;if((e-t|0)<1){t=1;m=u}else{t=(a[m>>0]&3)+1&255;m=m+1|0}b=m;if((u-m|0)<1){r=0;b=u}else{r=d[b>>0]|0;b=b+1|0}c[i>>2]=2;m=0;s=0;a:while(1){if((s|0)>=(r|0)){n=27;break}e=b;if((u-b|0)<1){q=0;b=u}else{q=a[e>>0]&63;b=e+1|0}if((u-b|0)<2){p=0;b=u}else{p=b;p=(VW(d[p>>0]|d[p+1>>0]<<8|0)|0)&65535;b=b+2|0}o=0;while(1){if((o|0)>=(p|0))break;e=b;n=u-b|0;if((n|0)<2)m=0;else{m=b;m=(VW(d[m>>0]|d[m+1>>0]<<8|0)|0)&65535}b=m+2|0;if(n>>>0>>0){n=22;break a}m=$O(e,b,f,g,c[h>>2]|0,c[i>>2]|0,j,k,l)|0;if((m|0)<0){n=24;break a}o=o+1|0;b=e+(n>>>0>b>>>0?b:n)|0}s=s+1|0}if((n|0)==22){mf(l,16,159816,v);m=-1094995529;break}else if((n|0)==24){c[w>>2]=q;c[w+4>>2]=s;mf(l,16,159853,w);break}else if((n|0)==27){c[i>>2]=t;break}}else n=28;while(0);if((n|0)==28){c[h>>2]=0;m=$O(b,e,f,g,0,c[i>>2]|0,j,k,l)|0}$c=x;return m|0}function PN(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=c[b>>2]|0;j=k+32|0;k=k+20|0;h=0;a:while(1){if((h|0)>=(f|0)){b=-100;break}b=j;g=c[b>>2]|0;b=c[b+4>>2]|0;o=UW(g|0,b|0,8)|0;n=M()|0;i=e+h|0;m=j;c[m>>2]=o|d[i>>0];c[m+4>>2]=n;b:do if((g&-65536|0)==65536&(b&255|0)==0){b=TW(g|0,b|0,9)|0;M()|0;g=b&63;switch(b&63){case 32:case 33:case 34:case 35:case 36:case 37:case 39:break;default:if(!((b&56|0)==48|(g+-41|0)>>>0<4)){if(!(g>>>0<10|(g+-16|0)>>>0<6))break b;if((a[i>>0]|0)>=0)break b;if(c[k>>2]|0){l=12;break a}c[k>>2]=1;break b}}if(c[k>>2]|0){l=12;break a}}while(0);h=h+1|0}if((l|0)==12){c[k>>2]=0;b=h+-5|0}return b|0}function QN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);l=m;f=c[a>>2]|0;j=f+64|0;k=f+460|0;c[a+32>>2]=1;c[a+224>>2]=0;c[a+312>>2]=0;NN(k);i=f+40|0;a:do if((_h(i,b,d,e,c[f+1700>>2]|0,c[f+1704>>2]|0,173,1)|0)>=0){d=f+56|0;b=0;while(1){if((b|0)>=(c[d>>2]|0))break;f=c[i>>2]|0;g=f+(b*68|0)+24|0;h=c[f+(b*68|0)+44>>2]|0;switch(h|0){case 32:{RN(g,e,j)|0;break}case 33:{SN(g,e,j,1)|0;break}case 34:{TN(g,e,j)|0;break}case 40:case 39:{UN(g,e,k,j,h)|0;break}case 9:case 8:case 7:case 6:case 21:case 20:case 19:case 18:case 17:case 16:case 5:case 4:case 3:case 2:case 1:case 0:{if(VN(a,f+(b*68|0)|0,e)|0)break a;break}default:{}}b=b+1|0}mf(e,16,155905,l)}while(0);$c=m;return}function RN(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=$c;$c=$c+96|0;if(($c|0)>=(ad|0))N(96);v=A+80|0;t=A+72|0;q=A+64|0;o=A+56|0;n=A+48|0;m=A+40|0;l=A+32|0;k=A+24|0;j=A+16|0;i=A+8|0;y=A+84|0;w=Ng(4568)|0;c[y>>2]=w;z=w;a:do if(!w)f=-12;else{x=w+4|0;s=c[x>>2]|0;mf(d,48,159412,A);f=c[b>>2]|0;g=(c[b+4>>2]|0)-f|0;if(g>>>0>4096){c[i>>2]=g;c[i+4>>2]=4096;mf(d,24,159426,i);g=4096;f=c[b>>2]|0}c[s+4564>>2]=g;YW(s+468|0,f|0,g|0)|0;u=BO(b,4)|0;b:do if((u|0)<=15){if((BO(b,2)|0)!=3){mf(d,16,159471,k);break}c[s+4>>2]=(BO(b,6)|0)+1;r=s+8|0;c[r>>2]=(BO(b,3)|0)+1;a[s>>0]=AO(b)|0;if((BO(b,16)|0)!=65535){mf(d,16,159510,l);break}f=c[r>>2]|0;if((f|0)>7){c[m>>2]=f;mf(d,16,159550,m);break}if((RO(b,d,s+12|0,f)|0)>=0){m=AO(b)|0;c[s+348>>2]=m;if(!m)f=(c[r>>2]|0)+-1|0;else f=0;j=d+580|0;while(1){if((f|0)>=(c[r>>2]|0))break;i=s+352+(f<<2)|0;c[i>>2]=(zO(b)|0)+1;g=s+380+(f<<2)|0;c[g>>2]=zO(b)|0;c[s+408+(f<<2)>>2]=(zO(b)|0)+-1;i=(c[i>>2]|0)+-1|0;if(i>>>0>15){p=18;break}g=c[g>>2]|0;if(g>>>0>i>>>0?(c[o>>2]=g,mf(d,24,159638,o),c[j>>2]&8|0):0)break b;f=f+1|0}if((p|0)==18){c[n>>2]=i;mf(d,16,159587,n);break}j=s+436|0;c[j>>2]=BO(b,6)|0;p=zO(b)|0;f=p+1|0;k=s+440|0;c[k>>2]=f;if(p>>>0<=1023?(m=JW(f|0,((f|0)<0)<<31>>31|0,-1,-1)|0,o=M()|0,h=c[j>>2]|0,p=JW(h|0,((h|0)<0)<<31>>31|0,1,0)|0,o=PW(p|0,M()|0,m|0,o|0)|0,m=M()|0,p=HO(b)|0,n=((p|0)<0)<<31>>31,!((m|0)>(n|0)|(m|0)==(n|0)&o>>>0>p>>>0)):0){i=1;while(1){if((i|0)<(f|0)){g=0;f=h}else break;while(1){if((g|0)>(f|0))break;VO(b,1);g=g+1|0;f=c[j>>2]|0}i=i+1|0;h=f;f=c[k>>2]|0}q=(AO(b)|0)&255;a[s+444>>0]=q;c:do if(q<<24>>24){c[s+448>>2]=NO(b,32)|0;c[s+452>>2]=NO(b,32)|0;q=(AO(b)|0)&255;a[s+456>>0]=q;if(q<<24>>24)c[s+460>>2]=(zO(b)|0)+1;f=zO(b)|0;h=s+464|0;c[h>>2]=f;if(f>>>0>(c[k>>2]|0)>>>0){c[t>>2]=f;mf(d,16,159715,t);break b}else g=0;while(1){if((g|0)>=(f|0))break c;zO(b)|0;if(!g)f=1;else f=AO(b)|0;WO(b,f,c[r>>2]|0);g=g+1|0;f=c[h>>2]|0}}while(0);AO(b)|0;f=HO(b)|0;if((f|0)<0){c[v>>2]=0-f;mf(d,16,159753,v);f=e+(u<<2)|0;if(c[f>>2]|0)break}else{f=e+(u<<2)|0;g=c[f>>2]|0;if((g|0)!=0?(rT(c[g+4>>2]|0,c[x>>2]|0,c[w+8>>2]|0)|0)==0:0){Tf(y);f=0;break a}}_O(e,u);c[f>>2]=z;f=0;break a}mf(d,16,159681,q)}}else{c[j>>2]=u;mf(d,16,157176,j)}while(0);Tf(y);f=-1094995529}while(0);$c=A;return f|0}function SN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);k=p+16|0;h=p+8|0;l=p+44|0;i=p+40|0;m=Ng(17552)|0;c[l>>2]=m;n=m;do if(!m)f=-12;else{o=m+4|0;j=c[o>>2]|0;mf(b,48,156961,p);f=c[a>>2]|0;g=(c[a+4>>2]|0)-f|0;if(g>>>0>4096){c[h>>2]=g;c[h+4>>2]=4096;mf(b,24,156975,h);g=4096;f=c[a>>2]|0}c[j+17548>>2]=g;YW(j+13452|0,f|0,g|0)|0;f=PO(j,a,i,e,d,b)|0;if((f|0)<0){Tf(l);break}h=c[i>>2]|0;if(c[b+576>>2]&4|0){g=c[j+13376>>2]|0;a=c[j+13380>>2]|0;e=g-(c[j+12>>2]|0)-(c[j+16>>2]|0)|0;i=a-(c[j+20>>2]|0)-(c[j+24>>2]|0)|0;j=Ig(c[j+56>>2]|0)|0;c[k>>2]=h;c[k+4>>2]=g;c[k+8>>2]=a;c[k+12>>2]=e;c[k+16>>2]=i;c[k+20>>2]=j;mf(b,48,157020,k)}f=d+64+(h<<2)|0;g=c[f>>2]|0;if(g|0?(rT(c[g+4>>2]|0,c[o>>2]|0,c[m+8>>2]|0)|0)==0:0){Tf(l);f=0;break}QO(d,h);c[f>>2]=n;f=0}while(0);$c=p;return f|0}function TN(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);F=H+120|0;D=H+112|0;B=H+104|0;A=H+96|0;y=H+88|0;w=H+80|0;u=H+72|0;t=H+64|0;r=H+56|0;q=H+48|0;p=H+40|0;m=H+32|0;l=H+24|0;k=H+16|0;j=H+8|0;h=H;G=H+128|0;v=H+124|0;g=dg(5792)|0;c[v>>2]=g;a:do if(!g)f=-12;else{z=Eg(g,5792,203,0,0)|0;c[G>>2]=z;E=z;if(!z){hf(v);f=-12;break}mf(d,48,156174,h);h=c[b>>2]|0;i=(c[b+4>>2]|0)-h|0;if(i>>>0>4096){c[j>>2]=i;c[j+4>>2]=4096;mf(d,24,156188,j);i=4096;h=c[b>>2]|0}c[g+5788>>2]=i;YW(g+1692|0,h|0,i|0)|0;a[g+53>>0]=1;s=g+44|0;c[s>>2]=1;n=g+48|0;c[n>>2]=1;o=g+52|0;a[o>>0]=1;a[g+57>>0]=0;c[g+60>>2]=0;c[g+64>>2]=0;a[g+1629>>0]=2;z=zO(b)|0;b:do if(z>>>0<=63){i=zO(b)|0;c[g>>2]=i;if(i>>>0>15){c[l>>2]=i;mf(d,16,156258,l);f=-1094995529;break}h=c[e+64+(i<<2)>>2]|0;if(!h){c[m>>2]=i;mf(d,16,156283,m);f=-1094995529;break}x=c[h+4>>2]|0;a[g+41>>0]=AO(b)|0;a[g+39>>0]=AO(b)|0;c[g+1624>>2]=BO(b,3)|0;a[g+4>>0]=AO(b)|0;a[g+5>>0]=AO(b)|0;c[g+8>>2]=(zO(b)|0)+1;c[g+12>>2]=(zO(b)|0)+1;c[g+16>>2]=CO(b)|0;a[g+20>>0]=AO(b)|0;a[g+21>>0]=AO(b)|0;m=(AO(b)|0)&255;a[g+22>>0]=m;h=g+24|0;c[h>>2]=0;do if(m<<24>>24){i=zO(b)|0;c[h>>2]=i;if((i|0)>=0?i>>>0<=(c[x+13324>>2]|0)>>>0:0)break;c[p>>2]=i;mf(d,16,156307,p);f=-1094995529;break b}while(0);h=CO(b)|0;c[g+28>>2]=h;if((h+12|0)>>>0>24){c[q>>2]=h;mf(d,16,156345,q);f=-1094995529;break}h=CO(b)|0;c[g+32>>2]=h;if((h+12|0)>>>0>24){c[r>>2]=h;mf(d,16,156380,r);f=-1094995529;break}a[g+36>>0]=AO(b)|0;a[g+37>>0]=AO(b)|0;a[g+38>>0]=AO(b)|0;a[g+40>>0]=AO(b)|0;r=g+42|0;a[r>>0]=AO(b)|0;a[g+43>>0]=AO(b)|0;do if(a[r>>0]|0){c[s>>2]=(zO(b)|0)+1;h=zO(b)|0;i=h+1|0;c[n>>2]=i;j=c[s>>2]|0;if((j|0)>=1?(j|0)<(c[x+13376>>2]|0):0){if((i|0)>=1?(i|0)<(c[x+13380>>2]|0):0){l=g+1648|0;c[l>>2]=bh(j,4)|0;u=bh(c[n>>2]|0,4)|0;c[g+1652>>2]=u;if((c[l>>2]|0)==0|(u|0)==0){f=-12;break b}u=(AO(b)|0)&255;a[o>>0]=u;do if(!(u<<24>>24)){g=0;j=0;k=0;while(1){i=(c[s>>2]|0)+-1|0;if((g|0)>=(i|0))break;u=(zO(b)|0)+1|0;c[(c[l>>2]|0)+(g<<2)>>2]=u;u=JW(j|0,k|0,u|0,0)|0;g=g+1|0;j=u;k=M()|0}g=c[x+13384>>2]|0;h=((g|0)<0)<<31>>31;if(!(k>>>0>>0|(k|0)==(h|0)&j>>>0>>0)){mf(d,16,156496,w);f=-1094995529;break b}g=KW(g|0,h|0,j|0,k|0)|0;M()|0;c[(c[l>>2]|0)+(i<<2)>>2]=g;g=c[v>>2]|0;i=g+48|0;j=g+1652|0;h=0;l=0;m=0;while(1){k=(c[i>>2]|0)+-1|0;if((h|0)>=(k|0))break;w=(zO(b)|0)+1|0;c[(c[j>>2]|0)+(h<<2)>>2]=w;w=JW(l|0,m|0,w|0,0)|0;h=h+1|0;l=w;m=M()|0}h=c[x+13388>>2]|0;i=((h|0)<0)<<31>>31;if(m>>>0>>0|(m|0)==(i|0)&l>>>0>>0){y=KW(h|0,i|0,l|0,m|0)|0;M()|0;c[(c[j>>2]|0)+(k<<2)>>2]=y;break}else{mf(d,16,156518,y);f=-1094995529;break b}}while(0);a[g+53>>0]=AO(b)|0;break}c[u>>2]=h;mf(d,16,156457,u);f=-1094995529;break b}c[t>>2]=j+-1;mf(d,16,156415,t);f=-1094995529;break b}while(0);a[g+54>>0]=AO(b)|0;y=(AO(b)|0)&255;a[g+55>>0]=y;do if(y<<24>>24?(a[g+56>>0]=AO(b)|0,y=(AO(b)|0)&255,a[g+57>>0]=y,y<<24>>24==0):0){h=CO(b)|0;i=CO(b)|0;if((h+6|0)>>>0>12){c[A>>2]=h;mf(d,16,156541,A);f=-1094995529;break b}if((i+6|0)>>>0>12){c[B>>2]=i;mf(d,16,156580,B);f=-1094995529;break b}else{c[g+60>>2]=h<<1;c[g+64>>2]=i<<1;break}}while(0);B=(AO(b)|0)&255;a[g+68>>0]=B;if(B<<24>>24?(DO(g+69|0),f=EO(b,d,g+69|0,x)|0,(f|0)<0):0)break;a[g+1617>>0]=AO(b)|0;f=zO(b)|0;if(f>>>0>(c[x+13336>>2]|0)>>>0){c[D>>2]=f;mf(d,16,156617,D);f=-1094995529;break}c[g+1620>>2]=f+2;a[g+1628>>0]=AO(b)|0;if((AO(b)|0?(D=AO(b)|0,BO(b,7)|0,(D|0)!=0&(a[x+302>>0]|0)==4):0)?(C=FO(b,d,g,x)|0,(C|0)<0):0){f=C;break}f=GO(g,x)|0;if((f|0)>=0){g=HO(b)|0;if((g|0)<0){c[F>>2]=0-g;mf(d,16,156668,F);break}else{IO(e,z);c[e+128+(z<<2)>>2]=E;f=0;break a}}}else{c[k>>2]=z;mf(d,16,156233,k);f=-1094995529}while(0);Tf(G)}while(0);$c=H;return f|0}function UN(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;while(1){f=$N(a,b,c,d,e)|0;if((f|0)<0)break;if(!(aO(a)|0)){f=1;break}}return f|0}function VN(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);u=y+24|0;s=y+16|0;j=y+8|0;i=y;w=c[b>>2]|0;t=e+24|0;o=w+628|0;a[o>>0]=WN(t)|0;v=c[w+548>>2]|0;c[b+312>>2]=v;c[b+308>>2]=v;v=e+44|0;if((c[v>>2]&-8|0)==16){c[b+224>>2]=1;a[w+1242>>0]=WN(t)|0}g=XN(t)|0;c[w+608>>2]=g;a:do if(g>>>0<=63?(h=c[w+192+(g<<2)>>2]|0,(h|0)!=0):0){g=c[h+4>>2]|0;r=w+456|0;c[r>>2]=g;g=c[g>>2]|0;if(g>>>0<=15?(k=c[w+128+(g<<2)>>2]|0,k|0):0){q=w+452|0;h=c[q>>2]|0;g=c[k+4>>2]|0;if((h|0)==(g|0)){g=h;h=c[w+448>>2]|0}else{c[q>>2]=g;h=c[(c[w+64+(c[g>>2]<<2)>>2]|0)+4>>2]|0;c[w+448>>2]=h}j=c[g+13376>>2]|0;c[b+328>>2]=j;k=c[g+13380>>2]|0;c[b+332>>2]=k;c[b+320>>2]=j-(c[g+12>>2]|0)-(c[g+16>>2]|0);c[b+324>>2]=k-(c[g+20>>2]|0)-(c[g+24>>2]|0);c[b+336>>2]=c[g+56>>2];c[f+716>>2]=d[g+302>>0];c[f+720>>2]=d[g+335>>0];if(!(a[h+444>>0]|0)){if(c[g+240>>2]|0){m=g+244|0;n=g+248|0;x=16}}else{m=h+448|0;n=h+452|0;x=16}if((x|0)==16?(l=c[m>>2]|0,p=c[n>>2]|0,(l|0)!=0&(p|0)!=0):0)bn(f+764|0,f+760|0,l,((l|0)<0)<<31>>31,p,((p|0)<0)<<31>>31,1073741824,0)|0;do if(!(a[o>>0]|0)){if(!(a[(c[r>>2]|0)+41>>0]|0))g=0;else g=(WN(t)|0)&255;k=w+629|0;a[k>>0]=g;h=c[q>>2]|0;i=c[h+13384>>2]|0;h=c[h+13388>>2]|0;g=(H(i<<1,h)|0)+-2|0;o=g>>>0>65535;g=o?g>>>16:g;o=o?16:0;p=(g&65280|0)==0;g=(p?o:o|8)+(d[120639+(p?g:g>>>8)>>0]|0)|0;if(!g){j=0;g=i}else{j=YN(t,g)|0;g=c[q>>2]|0;h=c[g+13388>>2]|0;g=c[g+13384>>2]|0}c[w+612>>2]=j;if(j>>>0<(H(h,g)|0)>>>0)if(!(a[k>>0]|0)){g=0;break}else{g=0;break a}else{c[s>>2]=j;mf(f,16,155937,s);g=-1094995529;break a}}else{a[w+629>>0]=0;g=0}while(0);while(1){if((g|0)>=(c[(c[r>>2]|0)+1624>>2]|0))break;ZN(t);g=g+1|0}g=XN(t)|0;c[w+620>>2]=g;if(g>>>0>=3){c[u>>2]=g;mf(f,16,155973,u);g=-1094995529;break}c[b+32>>2]=(g|0)==0?3:(g|0)==1?2:1;if(a[(c[r>>2]|0)+39>>0]|0)a[w+630>>0]=WN(t)|0;if(a[(c[q>>2]|0)+8>>0]|0)a[w+631>>0]=YN(t,2)|0;if(((c[v>>2]|0)+-19|0)>>>0<2)g=0;else{g=YN(t,c[(c[q>>2]|0)+60>>2]|0)|0;c[w+624>>2]=g;g=_N(c[q>>2]|0,c[w+1716>>2]|0,g,c[v>>2]|0)|0}c[w+1712>>2]=g;c[b+316>>2]=g;if(c[e+48>>2]|0){g=1;break}switch(c[v>>2]|0){case 9:case 7:case 8:case 6:case 4:case 2:case 0:{g=1;break a}default:{}}c[w+1716>>2]=g;g=1;break}c[j>>2]=g;mf(f,16,156258,j);g=-1094995529}else x=5;while(0);if((x|0)==5){c[i>>2]=g;mf(f,16,156233,i);g=-1094995529}$c=y;return g|0}function WN(a){a=a|0;var b=0,e=0,f=0;e=a+8|0;f=c[e>>2]|0;b=(d[(c[a>>2]|0)+(f>>>3)>>0]|0)<<(f&7)>>>7&1;c[e>>2]=f+((f|0)<(c[a+16>>2]|0)&1);return b|0}function XN(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);h=i;e=a+8|0;f=c[e>>2]|0;g=c[a+16>>2]|0;a=(c[a>>2]|0)+(f>>>3)|0;a=(WW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(f&7);do if(a>>>0<=134217727){k=a>>>0>65535;j=k?a>>>16:a;k=k?16:0;b=(j&65280|0)==0;j=(b?k:k|8)+(d[120639+(b?j:j>>>8)>>0]|0)|0;b=j<<1;f=63-b+f|0;c[e>>2]=g>>>0>f>>>0?f:g;if(j>>>0<19){mf(0,16,155998,h);a=-1094995529;break}else{a=(a>>>(b+-31|0))+-1|0;break}}else{a=a>>>23;k=f+(d[126608+a>>0]|0)|0;c[e>>2]=g>>>0>k>>>0?k:g;a=d[127120+a>>0]|0}while(0);$c=i;return a|0}function YN(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=a+8|0;g=c[e>>2]|0;f=c[a+16>>2]|0;a=(c[a>>2]|0)+(g>>>3)|0;a=(WW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(g&7)>>>(32-b|0);b=g+b|0;c[e>>2]=f>>>0>b>>>0?b:f;return a|0}function ZN(a){a=a|0;var b=0,d=0;b=a+8|0;a=c[a+16>>2]|0;d=(c[b>>2]|0)+1|0;c[b>>2]=a>>>0>d>>>0?d:a;return}function _N(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=1<>2];g=(b|0)%(f|0)|0;a=b-g|0;if((g|0)>(d|0)?(g-d|0)>=((f|0)/2|0|0):0)a=a+f|0;else if((g|0)<(d|0))a=a-((d-g|0)>((f|0)/2|0|0)?f:0)|0;return ((e+-16|0)>>>0<3?0:a)+d|0}function $N(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,k=0,l=0;j=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);mf(b,48,156022,j);f=255;h=0;while(1){if((f|0)!=255){f=0;g=255;i=5;break}if((h|0)>2147483392|(bO(a)|0)<16){f=-1094995529;break}g=eO(a,8)|0;f=g;h=g+h|0}a:do if((i|0)==5){while(1){if((g|0)!=255)break;i=bO(a)|0;k=((i|0)<0)<<31>>31;g=UW(f|0,((f|0)<0)<<31>>31|0,3)|0;g=JW(g|0,M()|0,8,0)|0;l=M()|0;if((l|0)>(k|0)|(l|0)==(k|0)&g>>>0>i>>>0){f=-1094995529;break a}g=eO(a,8)|0;f=g+f|0;i=5}if((e|0)==39){f=fO(a,b,c,d,h,f)|0;break}else{gO(a,b,c,h,f);f=0;break}}while(0);$c=j;return f|0}function aO(a){a=a|0;if((bO(a)|0)>0)a=(cO(a)|0)!=128&1;else a=0;return a|0}function bO(a){a=a|0;var b=0;b=c[a+12>>2]|0;return b-(dO(a)|0)|0}function cO(a){a=a|0;var b=0;b=c[a+8>>2]|0;a=(c[a>>2]|0)+(b>>>3)|0;return (WW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(b&7)>>>24|0}function dO(a){a=a|0;return c[a+8>>2]|0}function eO(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=a+8|0;g=c[e>>2]|0;f=c[a+16>>2]|0;a=(c[a>>2]|0)+(g>>>3)|0;a=(WW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(g&7)>>>(32-b|0);b=g+b|0;c[e>>2]=f>>>0>b>>>0?b:f;return a|0}function fO(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);h=i;do switch(f|0){case 256:{hO(d,a);a=0;break}case 45:{kO(d+52|0,a);a=0;break}case 47:{lO(d+72|0,a);a=0;break}case 1:{a=mO(d,a,e,b,g)|0;break}case 137:{nO(d+100|0,a);a=0;break}case 144:{oO(d+128|0,a);a=0;break}case 129:{a=pO(d,a,b)|0;break}case 4:{a=qO(d,a,g)|0;break}case 147:{rO(d+140|0,a);a=0;break}default:{c[h>>2]=f;mf(b,48,156059,h);iO(a,g<<3);a=0}}while(0);$c=i;return a|0}function gO(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);g=h;if((e|0)==132)hO(d,a);else{c[g>>2]=e;mf(b,48,156036,g);iO(a,f<<3)}$c=h;return}function hO(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=(eO(c,8)|0)&255;f=b+48|0;d=0;while(1){if((d|0)==3)break;a:do switch(g<<24>>24){case 0:{a[f>>0]=1;e=0;while(1){if((e|0)==16)break a;a[b+(d<<4)+e>>0]=eO(c,8)|0;e=e+1|0}}case 1:{jO(c,16);break}case 2:{jO(c,32);break}default:{}}while(0);d=d+1|0}return}function iO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+8|0;e=c[d>>2]|0;f=0-e|0;a=(c[a+16>>2]|0)-e|0;c[d>>2]=((f|0)>(b|0)?f:(a|0)<(b|0)?a:b)+e;return}function jO(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=c[a+16>>2]|0;b=(c[d>>2]|0)+b|0;c[d>>2]=a>>>0>b>>>0?b:a;return}function kO(a,b){a=a|0;b=b|0;var d=0,e=0;uO(b)|0;d=(xO(b)|0)==0;c[a>>2]=d&1;if(d){d=a+4|0;c[d>>2]=eO(b,7)|0;e=a+12|0;c[e>>2]=xO(b)|0;c[a+8>>2]=eO(b,6)|0;jO(b,3);c[a+16>>2]=xO(b)|0;jO(b,2);if((c[e>>2]|0)==0?(c[d>>2]|0)!=5:0)jO(b,16);jO(b,8);wO(b)}wO(b);return}function lO(a,b){a=a|0;b=b|0;var d=0;d=(xO(b)|0)==0;c[a>>2]=d&1;if(d){c[a+8>>2]=xO(b)|0;c[a+12>>2]=xO(b)|0;c[a+4>>2]=eO(b,16)|0;wO(b)}return}function mO(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);h=j+8|0;g=j;d=c[d+64+(c[a+136>>2]<<2)>>2]|0;if(!d)f=-12;else{if(c[(c[d+4>>2]|0)+216>>2]|0){d=eO(b,4)|0;a=a+88|0;c[a>>2]=0;switch(d|0){case 2:case 10:case 12:{mf(e,48,156149,g);d=2;i=6;break}case 1:case 9:case 11:{mf(e,48,156163,h);d=1;i=6;break}default:{}}if((i|0)==6)c[a>>2]=d;eO(b,2)|0;eO(b,1)|0;wO(b);f=f+-1|0}iO(b,f<<3);f=0}$c=j;return f|0}function nO(a,d){a=a|0;d=d|0;var e=0,f=0;e=0;while(1){f=(eO(d,16)|0)&65535;if((e|0)==3)break;b[a+4+(e<<2)>>1]=f;b[a+4+(e<<2)+2>>1]=eO(d,16)|0;e=e+1|0}b[a+16>>1]=f;b[a+18>>1]=eO(d,16)|0;c[a+20>>2]=sO(d,32)|0;c[a+24>>2]=sO(d,32)|0;c[a>>2]=2;return}function oO(a,d){a=a|0;d=d|0;b[a+4>>1]=sO(d,16)|0;b[a+6>>1]=sO(d,16)|0;c[a>>2]=2;return}function pO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=h+8|0;e=h;eO(b,4)|0;eO(b,1)|0;eO(b,1)|0;g=uO(b)|0;a:do if(g>>>0>15){c[e>>2]=g;mf(d,16,156082,e);e=-1094995529}else{e=uO(b)|0;if(e>>>0>15){c[f>>2]=e;mf(d,16,156113,f);e=-1094995529;break}c[a+136>>2]=e;e=1;while(1){if((e|0)>(g|0)){e=0;break a}uO(b)|0;e=e+1|0}}while(0);$c=h;return e|0}function qO(a,b,c){a=a|0;b=b|0;c=c|0;do if((c|0)>=7){if((eO(b,8)|0)==255){jO(b,8);c=c+-8|0}else c=c+-7|0;jO(b,8);jO(b,8);if((sO(b,32)|0)==1195456820){c=tO(a+92|0,b,c)|0;break}else{iO(b,c<<3);c=0;break}}else c=-22;while(0);return c|0}function rO(a,b){a=a|0;b=b|0;c[a>>2]=1;c[a+4>>2]=eO(b,8)|0;return}function sO(a,b){a=a|0;b=b|0;var c=0;do if(b)if((b|0)<26){a=eO(a,b)|0;break}else{b=b+-16|0;c=(eO(a,16)|0)<=3){if((eO(d,8)|0)!=3){f=e+-1|0;e=0;while(1){if((e|0)==(f|0)){e=0;break a}jO(d,8);e=e+1|0}}jO(d,1);if(((eO(d,1)|0)!=0?(jO(d,1),g=eO(d,5)|0,jO(d,8),(g|0)!=0):0)?(e+-2|0)>=(g*3|0):0){e=c[b>>2]|0;f=PW(g|0,((g|0)<0)<<31>>31|0,3,0)|0;e=JW(f|0,M()|0,e|0,((e|0)<0)<<31>>31|0)|0;f=M()|0;if(!(f>>>0>0|(f|0)==0&e>>>0>2147483647)){f=b+4|0;e=xj(f,e)|0;if((e|0)>=0){e=0;while(1){if((e|0)>=(g|0))break;j=(eO(d,8)|0)&255;i=c[f>>2]|0;h=c[b>>2]|0;c[b>>2]=h+1;a[i+h>>0]=j;h=(eO(d,8)|0)&255;i=c[f>>2]|0;j=c[b>>2]|0;c[b>>2]=j+1;a[i+j>>0]=h;j=(eO(d,8)|0)&255;i=c[f>>2]|0;h=c[b>>2]|0;c[b>>2]=h+1;a[i+h>>0]=j;e=e+1|0}jO(d,8);e=0}}else e=-22}else e=0}else e=-22;while(0);return e|0}function uO(a){a=a|0;var b=0,c=0,e=0;e=vO(a)|0;b=e>>>0>65535;e=b?e>>>16:e;b=b?16:0;c=(e&65280|0)==0;b=31-(d[120639+(c?e:e>>>8)>>0]|0)-(c?b:b|8)|0;iO(a,b);return (sO(a,b+1|0)|0)+-1|0}function vO(a){a=a|0;var b=0,d=0;b=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);d=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[d+16>>2]=c[a+16>>2];a=sO(d,32)|0;$c=b;return a|0}function wO(a){a=a|0;jO(a,1);return}function xO(a){a=a|0;var b=0,e=0,f=0;e=a+8|0;f=c[e>>2]|0;b=(d[(c[a>>2]|0)+(f>>>3)>>0]|0)<<(f&7)>>>7&1;c[e>>2]=f+((f|0)<(c[a+16>>2]|0)&1);return b|0}function yO(a,b){a=a|0;b=b|0;var d=0;a=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);d=a;c[d>>2]=b;hf(b+1648|0);hf(b+1652|0);hf(b+1656|0);hf(b+1660|0);hf(b+1664|0);hf(b+1668|0);hf(b+1672|0);hf(b+1680|0);hf(b+1676|0);hf(b+1688|0);hf(d);$c=a;return}function zO(a){a=a|0;var b=0,c=0,e=0;e=LO(a,32)|0;b=e>>>0>65535;e=b?e>>>16:e;b=b?16:0;c=(e&65280|0)==0;b=31-(d[120639+(c?e:e>>>8)>>0]|0)-(c?b:b|8)|0;MO(a,b);return (NO(a,b+1|0)|0)+-1|0}function AO(a){a=a|0;var b=0,e=0,f=0;e=a+8|0;f=c[e>>2]|0;b=(d[(c[a>>2]|0)+(f>>>3)>>0]|0)<<(f&7)>>>7&1;c[e>>2]=f+((f|0)<(c[a+16>>2]|0)&1);return b|0}function BO(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=a+8|0;g=c[e>>2]|0;f=c[a+16>>2]|0;a=(c[a>>2]|0)+(g>>>3)|0;a=(WW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(g&7)>>>(32-b|0);b=g+b|0;c[e>>2]=f>>>0>b>>>0?b:f;return a|0}function CO(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+8|0;g=c[f>>2]|0;h=c[b+16>>2]|0;e=c[b>>2]|0;b=e+(g>>>3)|0;b=(WW(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24|0)|0)<<(g&7);if(b>>>0>134217727){b=b>>>23;g=g+(d[126608+b>>0]|0)|0;c[f>>2]=h>>>0>g>>>0?g:h;b=a[127632+b>>0]|0}else{j=b>>>0>65535;b=j?b>>>16:b;j=j?16:0;i=(b&65280|0)==0;b=(i?j:j|8)+(d[120639+(i?b:b>>>8)>>0]|0)|0;i=31-b+g|0;i=h>>>0>i>>>0?i:h;g=e+(i>>>3)|0;g=(WW(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24|0)|0)<<(i&7)>>>b;b=i+(32-b)|0;c[f>>2]=h>>>0>b>>>0?b:h;b=g&1;b=(g>>>1^0-b)+b|0}return b|0}function DO(b){b=b|0;var c=0,d=0,e=0;c=0;while(1){if((c|0)==6)break;d=b+(c<<6)|0;e=d+16|0;do{a[d>>0]=16;d=d+1|0}while((d|0)<(e|0));a[b+1536+c>>0]=16;a[b+1542+c>>0]=16;c=c+1|0}d=b+384|0;c=156833;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+448|0;c=156833;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+512|0;c=156833;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+576|0;c=156897;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+640|0;c=156897;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+704|0;c=156897;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+768|0;c=156833;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+832|0;c=156833;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+896|0;c=156833;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+960|0;c=156897;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+1024|0;c=156897;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+1088|0;c=156897;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+1152|0;c=156833;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+1216|0;c=156833;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+1280|0;c=156833;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+1344|0;c=156897;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+1408|0;c=156897;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+1472|0;c=156897;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));return}function EO(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);t=u;m=0;a:while(1){if((m|0)>=4){i=20;break}q=(m|0)==3?3:1;r=(m|0)>0?64:16;s=(m|0)>1;o=m+-2|0;l=1<<(m<<1)+4;l=(l|0)<64?l:64;p=(m|0)==0;n=0;while(1){if((n|0)>=6)break;b:do if(!(((AO(b)|0)&255)<<24>>24)){h=zO(b)|0;if(h|0){h=H(h,q)|0;if(n>>>0>>0){i=8;break a}h=n-h|0;YW(f+(m*384|0)+(n<<6)|0,f+(m*384|0)+(h<<6)|0,r|0)|0;if(s)a[f+1536+(o*6|0)+n>>0]=a[f+1536+(o*6|0)+h>>0]|0}}else{if(s){i=(CO(b)|0)+8|0;a[f+1536+(o*6|0)+n>>0]=i;h=0}else{h=0;i=8}while(1){if((h|0)>=(l|0))break b;if(p){j=(d[155761+h>>0]|0)<<2;k=155745+h|0}else{j=(d[155841+h>>0]|0)<<3;k=155777+h|0}j=j+(d[k>>0]|0)|0;k=(CO(b)|0)+i|0;a[f+(m*384|0)+(n<<6)+j>>0]=k;h=h+1|0;i=k&255}}while(0);n=n+q|0}m=m+1|0}if((i|0)==8){c[t>>2]=h;mf(e,16,156792,t);h=-1094995529}else if((i|0)==20)if((c[g+4>>2]|0)==3){h=0;while(1){if((h|0)==64)break;a[f+1216+h>>0]=a[f+832+h>>0]|0;a[f+1280+h>>0]=a[f+896+h>>0]|0;a[f+1408+h>>0]=a[f+1024+h>>0]|0;a[f+1472+h>>0]=a[f+1088+h>>0]|0;h=h+1|0}a[f+1543>>0]=a[f+1537>>0]|0;a[f+1544>>0]=a[f+1538>>0]|0;a[f+1546>>0]=a[f+1540>>0]|0;a[f+1547>>0]=a[f+1541>>0]|0;h=0}else h=0;$c=u;return h|0}function FO(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);n=o+16|0;m=o+8|0;i=o;if(a[f+21>>0]|0)a[f+1629>>0]=(zO(b)|0)+2;a[f+1630>>0]=AO(b)|0;k=(AO(b)|0)&255;a[f+1631>>0]=k;a:do if(!(k<<24>>24))j=12;else{a[f+1632>>0]=zO(b)|0;p=zO(b)|0;h=p&255;k=f+1633|0;a[k>>0]=h;if((p&254)>>>0>5){mf(e,16,156693,i);break}else i=0;while(1){if((i|0)>(h&255|0)){j=12;break a}p=(KO(b)|0)&255;a[f+1634+i>>0]=p;if(p<<24>>24)mf(e,24,156757,m);p=(KO(b)|0)&255;a[f+1640+i>>0]=p;if(p<<24>>24)mf(e,24,156757,n);i=i+1|0;h=a[k>>0]|0}}while(0);if((j|0)==12?(p=f+1646|0,a[p>>0]=zO(b)|0,l=zO(b)|0,a[f+1647>>0]=l,n=c[g+44>>2]|0,(((n|0)>10?n+-10|0:0)|0)>=(d[p>>0]|0)):0){p=c[g+48>>2]|0;$c=o;return ((((p|0)>10?p+-10|0:0)|0)<(l&255|0)?-1094995529:0)|0}$c=o;return -1094995529}function GO(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=b+44|0;x=b+1656|0;c[x>>2]=bh((c[w>>2]|0)+1|0,4)|0;y=b+48|0;v=b+1660|0;c[v>>2]=bh((c[y>>2]|0)+1|0,4)|0;z=d+13384|0;t=bh(c[z>>2]|0,4)|0;i=b+1664|0;c[i>>2]=t;e=c[x>>2]|0;a:do if((e|0)!=0?!((t|0)==0|(c[v>>2]|0)==0):0){q=b+1648|0;if(a[b+52>>0]|0){e=c[q>>2]|0;if(!e){c[q>>2]=bh(c[w>>2]|0,4)|0;f=bh(c[y>>2]|0,4)|0;c[b+1652>>2]=f;e=c[q>>2]|0;if(!e){e=-12;break}}else f=c[b+1652>>2]|0;if(!f){e=-12;break}else g=0;while(1){h=c[w>>2]|0;if((g|0)>=(h|0))break;t=g+1|0;s=c[z>>2]|0;c[e+(g<<2)>>2]=((H(s,t)|0)/(h|0)|0)-((H(s,g)|0)/(h|0)|0);g=t}g=d+13388|0;e=0;while(1){h=c[y>>2]|0;if((e|0)>=(h|0))break;t=e+1|0;s=c[g>>2]|0;c[f+(e<<2)>>2]=((H(s,t)|0)/(h|0)|0)-((H(s,e)|0)/(h|0)|0);e=t}e=c[x>>2]|0}c[e>>2]=0;f=0;g=0;while(1){if((f|0)>=(c[w>>2]|0))break;t=(c[(c[q>>2]|0)+(f<<2)>>2]|0)+g|0;s=f+1|0;c[e+(s<<2)>>2]=t;f=s;g=t}g=c[v>>2]|0;c[g>>2]=0;n=b+1652|0;f=0;h=0;while(1){if((f|0)>=(c[y>>2]|0)){f=0;g=0;break}t=(c[(c[n>>2]|0)+(f<<2)>>2]|0)+h|0;s=f+1|0;c[g+(s<<2)>>2]=t;f=s;h=t}while(1){h=c[z>>2]|0;if((g|0)>=(h|0))break;t=f+(g>>>0>(c[e+(f<<2)>>2]|0)>>>0&1)|0;c[(c[i>>2]|0)+(g<<2)>>2]=t;f=t;g=g+1|0}m=H(c[d+13388>>2]|0,h)|0;s=b+1668|0;c[s>>2]=bh(m,4)|0;e=b+1672|0;c[e>>2]=bh(m,4)|0;f=b+1676|0;c[f>>2]=bh(m,4)|0;t=d+13420|0;g=(c[t>>2]|0)+2|0;g=bh(H(g,g)|0,4)|0;p=b+1688|0;c[p>>2]=g;o=c[s>>2]|0;if(((o|0)!=0?(r=c[e>>2]|0,(r|0)!=0):0)?(u=c[f>>2]|0,!((g|0)==0|(u|0)==0)):0){i=0;while(1){if((i|0)>=(m|0)){e=0;l=0;break}j=c[z>>2]|0;k=(i|0)%(j|0)|0;l=(i|0)/(j|0)|0;f=c[w>>2]|0;e=0;while(1){if((e|0)>=(f|0)){e=0;break}g=e+1|0;if(k>>>0<(c[(c[x>>2]|0)+(g<<2)>>2]|0)>>>0)break;else e=g}g=c[y>>2]|0;f=0;while(1){if((f|0)>=(g|0)){h=0;break}h=f+1|0;if(l>>>0<(c[(c[v>>2]|0)+(h<<2)>>2]|0)>>>0){h=f;break}else f=h}f=0;g=0;while(1){if((g|0)>=(e|0)){g=0;break}f=(H(c[(c[q>>2]|0)+(g<<2)>>2]|0,c[(c[n>>2]|0)+(h<<2)>>2]|0)|0)+f|0;g=g+1|0}while(1){if((g|0)>=(h|0))break;f=(H(c[(c[n>>2]|0)+(g<<2)>>2]|0,j)|0)+f|0;g=g+1|0}l=H(c[(c[q>>2]|0)+(e<<2)>>2]|0,l-(c[(c[v>>2]|0)+(h<<2)>>2]|0)|0)|0;l=f+k+l-(c[(c[x>>2]|0)+(e<<2)>>2]|0)|0;c[o+(i<<2)>>2]=l;c[r+(l<<2)>>2]=i;i=i+1|0}b:while(1){if((l|0)>=(c[y>>2]|0))break;m=l+1|0;h=0;while(1){if((h|0)>=(c[w>>2]|0)){l=m;continue b}g=c[v>>2]|0;i=g+(m<<2)|0;j=h+1|0;g=c[g+(l<<2)>>2]|0;while(1){if(g>>>0>=(c[i>>2]|0)>>>0)break;f=c[x>>2]|0;k=f+(j<<2)|0;f=c[f+(h<<2)>>2]|0;while(1){if(f>>>0>=(c[k>>2]|0)>>>0)break;c[u+(c[o+((H(c[z>>2]|0,g)|0)+f<<2)>>2]<<2)>>2]=e;f=f+1|0}g=g+1|0}e=e+1|0;h=j}}g=bh(e,4)|0;c[b+1680>>2]=g;if(g){f=0;while(1){if((f|0)<(c[y>>2]|0))e=0;else break;while(1){h=c[w>>2]|0;if((e|0)>=(h|0))break;u=H(c[z>>2]|0,c[(c[v>>2]|0)+(f<<2)>>2]|0)|0;c[g+((H(h,f)|0)+e<<2)>>2]=(c[(c[x>>2]|0)+(e<<2)>>2]|0)+u;e=e+1|0}f=f+1|0}i=c[d+13336>>2]|0;h=c[d+13328>>2]|0;g=c[p>>2]|0;j=c[t>>2]|0;n=g+(j+3<<2)|0;c[b+1684>>2]=n;e=0;while(1){f=j+2|0;if((e|0)>=(f|0))break;c[g+((H(f,e)|0)<<2)>>2]=-1;c[g+(e<<2)>>2]=-1;e=e+1|0;j=c[t>>2]|0}l=i-h|0;m=l<<1;k=0;e=j;while(1){if((k|0)>(e|0)){e=0;break a}i=k>>l;h=0;while(1){if((h|0)>(e|0))break;f=(H(c[z>>2]|0,i)|0)+(h>>l)|0;f=c[(c[s>>2]|0)+(f<<2)>>2]<=(l|0))break;b=1<>2]=f;h=h+1|0;e=c[t>>2]|0}k=k+1|0}}else e=-12}else e=-12}else e=-12;while(0);return e|0}function HO(a){a=a|0;var b=0;b=c[a+12>>2]|0;return b-(JO(a)|0)|0}function IO(a,b){a=a|0;b=b|0;var d=0,e=0;b=a+128+(b<<2)|0;d=c[b>>2]|0;if(d|0?(e=a+392|0,(c[e>>2]|0)==(c[d+4>>2]|0)):0)c[e>>2]=0;Tf(b);return}function JO(a){a=a|0;return c[a+8>>2]|0}function KO(a){a=a|0;a=zO(a)|0;return ((a&1)+-1^a>>>1)+1|0}function LO(a,b){a=a|0;b=b|0;var d=0,e=0;e=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);d=e;if((b|0)<26)a=OO(a,b)|0;else{c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[d+16>>2]=c[a+16>>2];a=NO(d,b)|0}$c=e;return a|0}function MO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+8|0;e=c[d>>2]|0;f=0-e|0;a=(c[a+16>>2]|0)-e|0;c[d>>2]=((f|0)>(b|0)?f:(a|0)<(b|0)?a:b)+e;return}function NO(a,b){a=a|0;b=b|0;var c=0;do if(b)if((b|0)<26){a=BO(a,b)|0;break}else{b=b+-16|0;c=(BO(a,16)|0)<>2]|0;a=(c[a>>2]|0)+(e>>>3)|0;return (WW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(e&7)>>>(32-b|0)|0} +function Al(a,b){a=a|0;b=b|0;var d=0;d=c[b>>2]|0;b=c[c[a+24312>>2]>>2]|0;if((c[b+68>>2]|0)==(c[d+68>>2]|0)?(c[b+72>>2]|0)==(c[d+72>>2]|0):0)b=(c[b+80>>2]|0)!=(c[d+80>>2]|0)&1;else b=1;return b|0}function Bl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(c[b+640>>2]&d|0?(ul(a,b),(d|0)!=3):0){vl(a,d);d=a+32|0;c[d>>2]=(c[d>>2]<<1)+e}return}function Cl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=$c;$c=$c+64|0;if(($c|0)>=(ad|0))N(64);m=r+56|0;l=r+48|0;q=r+40|0;p=r+24|0;o=r;k=(d|0)!=0;if(k){i=a+28204|0;Tf(i);f=a+28212|0;c[f>>2]=0;d=Vg(c[a+27180+(c[b+27776>>2]<<2)>>2]|0)|0;c[i>>2]=d;if(!d)d=-12;else{d=c[d+4>>2]|0;c[f>>2]=d;g=5}}else{d=a+28212|0;f=d;d=c[d>>2]|0;g=5}a:do if((g|0)==5){h=a+28216|0;g=c[h>>2]|0;do if((g|0)==(c[(c[a+27052+(c[d>>2]<<2)>>2]|0)+4>>2]|0))d=0;else{i=a+28208|0;Tf(i);c[h>>2]=0;d=Vg(c[a+27052+(c[c[f>>2]>>2]<<2)>>2]|0)|0;c[i>>2]=d;if(!d){d=-12;break a}g=c[d+4>>2]|0;c[h>>2]=g;if((((c[a+27012>>2]|0)==(c[g+56>>2]|0)?(c[a+27008>>2]|0)==(c[g+60>>2]|0):0)?(e=c[a+29596>>2]|0,(e|0)==(c[g+1184>>2]|0)):0)?(c[a+29592>>2]|0)==(c[g+12>>2]|0):0)d=0;else{d=1;e=c[g+1184>>2]|0}if((c[a+27044>>2]|0)==(e|0)?(c[a+27048>>2]|0)==(c[g+12>>2]|0):0)break;d=1}while(0);i=a+25692|0;if(c[i>>2]|0){f=c[g+56>>2]|0;h=a+4|0;e=c[h>>2]|0;if(((((f<<4|0)==(c[e+100>>2]|0)?(j=c[g+60>>2]|0,(j<<4|0)==(c[e+104>>2]|0)):0)?(c[a+29596>>2]|0)==(c[g+1184>>2]|0):0)?(c[a+29592>>2]|0)==(c[g+12>>2]|0):0)?(c[a+27012>>2]|0)==(f|0):0)f=(c[a+27008>>2]|0)!=(j|0)&1;else f=1}else{e=a+4|0;h=e;f=0;e=c[e>>2]|0}e=c[e+112>>2]|0;if(!((e|0)!=-1?(j=Vm(e)|0,(j|0)==(Vm(Wm(a,0)|0)|0)):0))f=1;if(k){j=g+100|0;k=(c[h>>2]|0)+188|0;c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];m=(Xm(l,m)|0)==0;f=m?f:1}if(((c[a+29588>>2]|0)==0?(m=Ym(g)|0,l=c[h>>2]|0,c[l+716>>2]=m,c[l+720>>2]=c[g+8>>2],c[l+300>>2]=c[g+48>>2],l=c[g+56>>2]|0,c[a+27012>>2]=l,m=c[g+60>>2]|0,c[a+27008>>2]=m,c[a+27020>>2]=H(m,l)|0,c[a+27016>>2]=l+1,c[a+26368>>2]=l<<2,c[a+25680>>2]=(c[g+12>>2]|0)<2&1,c[a+25668>>2]=l<<4,c[a+25672>>2]=m<<4,Zm(a),(c[g+108>>2]|0)!=0):0)?(n=c[h>>2]|0,c[n+328>>2]=(c[g+112>>2]|0)>0?2:1,(c[g+116>>2]|0)!=0):0){m=n+324|0;l=c[g+128>>2]|0;d=(c[m>>2]|0)==(l|0)?d:1;c[n+316>>2]=c[g+120>>2];c[n+320>>2]=c[g+124>>2];c[m>>2]=l}e=(c[i>>2]|0)==0;if((d|f|0)!=0|e){c[i>>2]=0;if((c[a+25628>>2]|0)!=(b|0)){d=c[h>>2]|0;n=c[d+100>>2]|0;b=c[a+25672>>2]|0;p=c[d+104>>2]|0;q=(c[a+29560>>2]|0)+1|0;c[o>>2]=c[a+25668>>2];c[o+4>>2]=n;c[o+8>>2]=b;c[o+12>>2]=p;c[o+16>>2]=q;mf(d,16,150486,o);d=-1094995529;break}if(!e)kg(a);d=Wm(a,1)|0;if((d|0)>=0){o=c[h>>2]|0;c[o+112>>2]=d;n=c[a+25668>>2]|0;b=c[a+25672>>2]|0;d=Ig(d)|0;c[p>>2]=n;c[p+4>>2]=b;c[p+8>>2]=d;mf(o,40,150541,p);d=_m(a)|0;if((d|0)<0)mf(c[h>>2]|0,16,150579,q);else d=0}}else d=0}while(0);$c=r;return d|0}function Dl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);e=n+8|0;f=n+16|0;l=c[b+25664>>2]|0;m=b+28216|0;g=c[m>>2]|0;c[f>>2]=1<<(c[g+1184>>2]|0)+-1;g=1<<(c[g+1188>>2]|0)+-1;c[f+4>>2]=g;c[f+8>>2]=g;c[f+12>>2]=-1;g=b+4|0;do if(Ll(c[g>>2]|0)|0){El(b,1);k=b+24312|0;c[k>>2]=0;d=Ml(b)|0;if((d|0)<0){mf(c[g>>2]|0,16,150046,e);break}i=b+696+(d*656|0)|0;j=b+26380|0;h=c[j>>2]|0;c[b+696+(d*656|0)+640>>2]=(c[b+25684>>2]|0)==0?h:0;e=b+25688|0;o=c[e>>2]|0;c[e>>2]=o+1;e=c[i>>2]|0;c[e+128>>2]=o;c[b+696+(d*656|0)+636>>2]=(h|0)!=3&1;c[b+696+(d*656|0)+88>>2]=c[b+28244>>2];c[e+84>>2]=0;c[b+696+(d*656|0)+92>>2]=0;c[b+696+(d*656|0)+644>>2]=0;c[b+696+(d*656|0)+648>>2]=0;c[b+696+(d*656|0)+652>>2]=c[b+29716>>2];h=b+25628|0;c[e+88>>2]=c[(c[h>>2]|0)+836>>2];c[e+392>>2]=c[b+25716>>2];c[e+396>>2]=c[b+25720>>2];c[e+384>>2]=c[b+25724>>2];c[e+388>>2]=c[b+25728>>2];d=Nl(b,i)|0;if((d|0)>=0){if((c[b+29576>>2]|0)==0?(c[(c[g>>2]|0)+592>>2]|0)==0:0)Ol(c[i>>2]|0,f);c[k>>2]=i;d=b+24316|0;mg(b,d);ji((c[h>>2]|0)+696|0,0);d=Ch(b,d,c[k>>2]|0)|0;if((d|0)>=0){e=c[b+25632>>2]|0;d=0;while(1){if((d|0)>=(e|0))break;g=c[c[k>>2]>>2]|0;o=c[h>>2]|0;c[o+(d*34768|0)+21772>>2]=c[g+32>>2];c[o+(d*34768|0)+21776>>2]=c[g+36>>2];d=d+1|0}if(!(c[b+29672>>2]|0))d=0;else{Pl((c[h>>2]|0)+24|0);ji((c[h>>2]|0)+728|0,0);ji((c[h>>2]|0)+760|0,0);d=0}while(1){if((d|0)==16){d=0;break}o=a[150841+d>>0]|0;h=((o<<2&255)+16&28)<>3;c[b+25976+(d<<2)>>2]=h+(H(c[(c[i>>2]|0)+32>>2]<<2,o)|0);c[b+25976+(d+48<<2)>>2]=h+(H(c[(c[i>>2]|0)+32>>2]<<3,o)|0);d=d+1|0}while(1){if((d|0)==16)break;o=a[150841+d>>0]|0;h=((o<<2&255)+16&28)<>3;g=h+(H(c[(c[i>>2]|0)+36>>2]<<2,o)|0)|0;c[b+25976+(d+32<<2)>>2]=g;c[b+25976+(d+16<<2)>>2]=g;o=h+(H(c[(c[i>>2]|0)+36>>2]<<3,o)|0)|0;c[b+25976+(d+80<<2)>>2]=o;c[b+25976+(d+64<<2)>>2]=o;d=d+1|0}o=c[k>>2]|0;c[o+640>>2]=0;c[o+80>>2]=2147483647;c[o+76>>2]=2147483647;c[b+28740>>2]=0;c[b+25708>>2]=0;if(!(c[(c[m>>2]|0)+68>>2]|0))d=0;else d=(c[j>>2]|0)==3&1;c[b+26376>>2]=d;d=c[b+29712>>2]|0;if((d|0)>-1){c[b+25704>>2]=d;d=0}else d=0}}}else{mf(c[g>>2]|0,16,15e4,n);d=-1}while(0);$c=n;return d|0}function El(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=(b|0)==0;e=a+24312|0;b=0;while(1){if((b|0)==36)break;f=a+696+(b*656|0)|0;do if(c[(c[f>>2]|0)+248>>2]|0?(c[a+696+(b*656|0)+640>>2]|0)==0:0){if(d?(f|0)==(c[e>>2]|0):0)break;mg(a,f)}while(0);b=b+1|0}return}function Fl(a,d,e,f,g,h){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;k=c[e+20>>2]|0;i=c[f+36>>2]|0;j=f+32|0;c[j>>2]=i;l=c[f+20>>2]|0;if((l|0)<(c[f+40>>2]|0)){i=i+(1<>2]=i}switch(c[e+24>>2]|0){case 0:{i=1<>2];k=c[f>>2]|0;j=c[f+28>>2]|0;if((j|0)>(k|0)?(j-k|0)>=((i|0)/2|0|0):0)i=(c[f+24>>2]|0)+i|0;else m=7;do if((m|0)==7){if((j|0)<(k|0)?(j-k|0)<((i|0)/-2|0|0):0){i=(c[f+24>>2]|0)-i|0;break}i=c[f+24>>2]|0}while(0);c[f+4>>2]=i;j=k+i|0;l=((j|0)<0)<<31>>31;if((g|0)==3){k=c[f+8>>2]|0;k=JW(k|0,((k|0)<0)<<31>>31|0,j|0,l|0)|0;i=j;h=l;j=M()|0}else{i=j;h=l;k=j;j=l}break}case 1:{m=c[e+44>>2]|0;k=(m|0)==0?0:l+i|0;h=(h|0)==0;j=(h&(k|0)>0)<<31>>31;i=0;l=0;while(1){if((i|0)>=(m|0))break;n=l+(b[e+148+(i<<1)>>1]|0)|0;i=i+1|0;l=n}i=k+j|0;a:do if((i|0)>0){i=i+-1|0;k=(i|0)%(m|0)|0;i=H((i|0)/(m|0)|0,l)|0;j=0;while(1){if((j|0)>(k|0))break a;i=i+(b[e+148+(j<<1)>>1]|0)|0;j=j+1|0}}else i=0;while(0);if(h)i=(c[e+36>>2]|0)+i|0;i=(c[f+12>>2]|0)+i|0;l=((i|0)<0)<<31>>31;k=c[e+40>>2]|0;k=JW(i|0,l|0,k|0,((k|0)<0)<<31>>31|0)|0;j=M()|0;if((g|0)==3){h=c[f+16>>2]|0;k=JW(k|0,j|0,h|0,((h|0)<0)<<31>>31|0)|0;h=l;j=M()|0}else h=l;break}default:{k=(l+i<<1)+(((h|0)==0)<<31>>31)|0;j=((k|0)<0)<<31>>31;i=k;h=j}}if((i|0)==(i|0)&(h|0)==(((i|0)<0)<<31>>31|0)?(k|0)==(k|0)&(j|0)==(((k|0)<0)<<31>>31|0):0){if((g|0)!=2?(c[a>>2]=i,(g|0)==1):0)j=a+4|0;else{j=a+4|0;c[j>>2]=k;i=c[a>>2]|0}c[d>>2]=c[a+(((i|0)>(c[j>>2]|0)&1)<<2)>>2];i=0}else i=-1094995529;return i|0}function Gl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=c[b+28216>>2]|0;q=c[b+24312>>2]|0;j=c[q>>2]|0;g=j+212|0;c[g>>2]=0;d=j+208|0;c[d>>2]=0;i=(c[i+1160>>2]|0)==0;if(!i?(c[b+29676>>2]|0)!=0:0){f=c[b+29680>>2]|0;switch(f|0){case 8:{c[d>>2]=4;d=0;break}case 2:case 1:{c[g>>2]=1;d=1;break}case 4:case 3:{if((c[b+26376>>2]|0)==0?(c[b+26380>>2]|0)==3:0)d=c[b+29564>>2]|0;else d=1;c[g>>2]=d;break}case 6:case 5:{c[d>>2]=1;d=0;break}case 7:{c[d>>2]=2;d=0;break}default:d=0}e=c[b+29684>>2]|0;if((e&3|0)!=0&f>>>0<5){d=e>>>1&1;h=17}}else{if(!(c[b+26376>>2]|0))d=(c[b+26380>>2]|0)!=3;else d=1;d=d&1;h=17}if((h|0)==17)c[g>>2]=d;c[b+29564>>2]=d;e=c[q+76>>2]|0;f=c[q+80>>2]|0;do if((e|0)==(f|0)){if(!i?c[b+29676>>2]|0:0){switch(c[b+29680>>2]|0){case 5:case 3:{d=1;break}default:d=0}c[j+216>>2]=d;break}c[j+216>>2]=(d|0)!=0&1}else c[j+216>>2]=(e|0)<(f|0)&1;while(0);if(((c[b+29852>>2]|0?(k=b+29864|0,(c[k>>2]|0)>>>0<7):0)?(l=b+29872|0,((c[l>>2]|0)+-1|0)>>>0<2):0)?(m=Il(j)|0,m|0):0){switch(c[k>>2]|0){case 0:{c[m>>2]=4;break}case 1:{c[m>>2]=7;break}case 2:{c[m>>2]=6;break}case 3:{c[m>>2]=c[b+29876>>2]|0?5:1;break}case 4:{c[m>>2]=2;break}case 5:{c[m>>2]=3;break}case 6:{c[m>>2]=0;break}default:{}}if((c[l>>2]|0)==2)c[m+4>>2]=1;if((c[k>>2]|0)==5)c[m+8>>2]=c[b+29880>>2]|0?1:2}do if(c[b+29884>>2]|0){d=c[b+29888>>2]|0;if(((d|0)==0?(c[b+29892>>2]|0)==0:0)?(c[b+29896>>2]|0)==0:0)break;e=rh(c[q>>2]|0,6,36)|0;if(e|0){m=e+4|0;Jl(c[m>>2]|0,+(d*360|0)*.0000152587890625);Kl(c[m>>2]|0,c[b+29892>>2]|0,c[b+29896>>2]|0)}}while(0);d=b+29696|0;if(c[d>>2]|0?(n=rh(c[q>>2]|0,7,1)|0,n|0):0){a[c[n+4>>2]>>0]=a[b+29700>>0]|0;c[d>>2]=0}d=b+29708|0;if(c[d>>2]|0){e=b+29704|0;f=rh(c[q>>2]|0,1,c[e>>2]|0)|0;if(f|0)YW(c[f+4>>2]|0,c[d>>2]|0,c[e>>2]|0)|0;hf(d);c[e>>2]=0;n=(c[b+4>>2]|0)+848|0;c[n>>2]=c[n>>2]|2}if((c[b+29916>>2]|0?(o=b+29920|0,Si(c[o>>2]|0)|0):0)?(p=c[o>>2]|0,(p|0)!=2):0){c[(c[q>>2]|0)+308>>2]=p;c[(c[b+4>>2]|0)+320>>2]=p}return}function Hl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);p=q+32|0;m=q+16|0;k=q+8|0;h=q;d=c[a+28216>>2]|0;l=c[a+24312>>2]|0;j=a+29544|0;i=l+92|0;c[i>>2]=c[j>>2];c[j>>2]=0;j=d+660|0;b=c[a+4>>2]|0;if(!((c[j>>2]|0)==0?(c[b+568>>2]|0)<=0:0)){n=b+140|0;f=c[n>>2]|0;g=c[d+664>>2]|0;c[n>>2]=(f|0)>(g|0)?f:g}g=l+84|0;b=0;while(1){f=c[g>>2]|0;if((b|0)==16){b=16;n=8;break}d=c[a+28676+(b<<2)>>2]|0;e=(b|0)==0;if((f|0)<(d|0)){n=7;break}if(!e)c[a+28676+(b+-1<<2)>>2]=d;b=b+1|0}if((n|0)==7)if(e)b=0;else n=8;if((n|0)==8)c[a+28676+(b+-1<<2)>>2]=f;e=16-b|0;if((c[(c[l>>2]|0)+88>>2]|0)==3)if((e|0)>1)n=17;else n=16;else{n=c[a+28732>>2]|0;if((n|0)!=-2147483648?!((e|0)>1?1:((c[a+28736>>2]|0)-n|0)<3):0)n=16;else n=17}if((n|0)==16){b=a+4|0;e=1;d=c[b>>2]|0;n=22}else if((n|0)==17){f=a+4|0;d=c[f>>2]|0;if(!b){e=a+28676|0;b=c[e>>2]|0;c[h>>2]=c[g>>2];c[h+4>>2]=b;mf(d,40,149918,h);b=1;while(1){if((b|0)==16)break;c[a+28676+(b<<2)>>2]=-2147483648;b=b+1|0}c[e>>2]=c[g>>2];c[i>>2]=1;h=f}else{b=f;n=22}}if((n|0)==22)if((c[d+140>>2]|0)<(e|0)?(c[j>>2]|0)==0:0){h=(c[d+360>>2]|0)>1?24:40;c[k>>2]=e;mf(d,h,149937,k);c[(c[b>>2]|0)+140>>2]=e;h=b}else h=b;k=0;while(1){b=a+28604+(k<<2)|0;if(!(c[b>>2]|0))break;else k=k+1|0}if((k|0)>=17){c[m>>2]=149970;c[m+4>>2]=138054;c[m+8>>2]=1337;mf(0,0,164250,m);ub()}c[b>>2]=l;b=l+640|0;if(!(c[b>>2]|0))c[b>>2]=4;j=a+28604|0;f=c[j>>2]|0;l=f;i=0;b=1;while(1){d=c[a+28604+(b<<2)>>2]|0;if(!d)break;if(c[(c[d>>2]|0)+84>>2]|0)break;if(c[d+92>>2]|0)break;n=(c[d+84>>2]|0)<(c[l+84>>2]|0);l=n?d:l;i=n?b:i;b=b+1|0}b=c[h>>2]|0;e=c[b+140>>2]|0;do if(!e){if((c[(c[f>>2]|0)+84>>2]|0)==0?(c[f+92>>2]|0)==0:0)break;c[a+28744>>2]=-2147483648}while(0);d=c[l+84>>2]|0;g=a+28744|0;f=(d|0)<(c[g>>2]|0);do if(!((k|0)<(e|0)&(f^1))){b=l+640|0;c[b>>2]=c[b>>2]&-5;b=i;e=c[a+28604+(i<<2)>>2]|0;while(1){if(!e)break;n=b+1|0;e=c[a+28604+(n<<2)>>2]|0;c[a+28604+(b<<2)>>2]=e;b=n}if(f){b=c[h>>2]|0;n=61;break}else{e=c[h>>2]|0;b=e;e=c[e+140>>2]|0;n=47;break}}else n=47;while(0);do if((n|0)==47){if((k|0)<(e|0)){n=61;break}h=a+28740|0;c[h>>2]=l;if((i|0)==0?(o=c[j>>2]|0,(o|0)!=0):0)if((c[(c[o>>2]|0)+84>>2]|0)==0?(c[o+92>>2]|0)==0:0)n=53;else d=-2147483648;else n=53;c[g>>2]=d;f=l+644|0;g=c[f>>2]|0;e=a+29576|0;d=c[e>>2]|0;if(g){d=d|2;c[e>>2]=d}a=d>>>1&1|g;c[f>>2]=a;if(!a){if((c[b+60>>2]&8|0)==0?(c[b+64>>2]&4194304|0)==0:0){c[h>>2]=0;break}a=(c[l>>2]|0)+296|0;c[a>>2]=c[a>>2]|1}}while(0);if((n|0)==61){c[p>>2]=f?149981:262104;mf(b,48,149985,p)}$c=q;return}function Il(b){b=b|0;var d=0,e=0;b=rh(b,2,12)|0;if(!b)b=0;else{b=b+4|0;d=c[b>>2]|0;e=d+12|0;do{a[d>>0]=0;d=d+1|0}while((d|0)<(e|0));b=c[b>>2]|0}return b|0}function Jl(a,b){a=a|0;b=+b;var d=0,e=0.0;b=b*-3.141592653589793/180.0;e=+x(+b);b=+y(+b);d=a+8|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;d=~~(e*65536.0);c[a>>2]=d;c[a+4>>2]=~~(b*-65536.0);c[a+12>>2]=~~(b*65536.0);c[a+16>>2]=d;c[a+32>>2]=1073741824;return}function Kl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=f;c[e>>2]=1-(((b|0)!=0&1)<<1);c[e+4>>2]=1-(((d|0)!=0&1)<<1);c[e+8>>2]=1;a:do if(d|b|0){b=0;while(1){if((b|0)==9)break a;d=a+(b<<2)|0;c[d>>2]=H(c[d>>2]|0,c[e+(((b|0)%3|0)<<2)>>2]|0)|0;b=b+1|0}}while(0);$c=f;return}function Ll(a){a=a|0;var b=0;if((c[a+696>>2]&1|0)!=0?(c[(c[(c[a+28>>2]|0)+20>>2]|0)+300>>2]|0)!=1:0)if(!(c[(c[a+12>>2]|0)+68>>2]|0))if((c[a+700>>2]|0)==0?(c[a+400>>2]|0)!=11:0)a=0;else b=6;else a=0;else b=6;if((b|0)==6)a=1;return a|0}function Ml(a){a=a|0;var b=0;b=0;while(1){if((b|0)>=36){b=-1094995529;break}if(!(c[(c[a+696+(b*656|0)>>2]|0)+248>>2]|0))break;b=b+1|0}return b|0}function Nl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);g=k+16|0;e=k;d=c[b>>2]|0;if(c[d>>2]|0){c[e>>2]=150096;c[e+4>>2]=138054;c[e+8>>2]=192;mf(0,0,164250,e);ub()}i=b+4|0;c[i>>2]=d;e=a+4|0;d=Im(c[e>>2]|0,i,(c[b+640>>2]|0)!=0&1)|0;a:do if((d|0)>=0){e=c[(c[e>>2]|0)+592>>2]|0;if(e|0){f=b+56|0;if(c[f>>2]|0){c[g>>2]=150113;c[g+4>>2]=138054;c[g+8>>2]=202;mf(0,0,164250,g);ub()}e=c[e+40>>2]|0;if(e|0){e=Ng(e)|0;c[b+52>>2]=e;if(!e){d=-12;break}c[f>>2]=c[e+4>>2]}}f=a+29924|0;e=c[f>>2]|0;if(!e){d=Jm(a)|0;if((d|0)<0){j=18;break}e=c[f>>2]|0}f=b+20|0;c[f>>2]=Cg(e)|0;e=Cg(c[a+29928>>2]|0)|0;c[b+44>>2]=e;f=c[f>>2]|0;if((e|0)==0|(f|0)==0)j=18;else{g=c[a+27016>>2]<<1;c[b+48>>2]=(c[e+4>>2]|0)+(g<<2)+4;c[b+24>>2]=(c[f+4>>2]|0)+g+1;f=a+29932|0;g=a+29936|0;e=0;while(1){if((e|0)>=2){d=0;break a}i=b+28+(e<<2)|0;c[i>>2]=Cg(c[f>>2]|0)|0;h=Cg(c[g>>2]|0)|0;c[b+60+(e<<2)>>2]=h;i=c[i>>2]|0;if((h|0)==0|(i|0)==0){j=18;break a}c[b+36+(e<<2)>>2]=(c[i+4>>2]|0)+16;c[b+68+(e<<2)>>2]=c[h+4>>2];e=e+1|0}}}else j=18;while(0);if((j|0)==18){mg(a,b);d=(d|0)<0?d:-12}$c=k;return d|0}function Ol(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=t;g=Hg(c[a+80>>2]|0)|0;if(0==0?(c[g+8>>2]&16|0)==0:0){c[f>>2]=150073;c[f+4>>2]=131652;c[f+8>>2]=410;mf(0,0,164250,f);ub()}o=g+4|0;p=a+68|0;q=g+5|0;r=a+72|0;s=g+6|0;m=g+32|0;l=0;while(1){if((l|0)>=(d[o>>0]|0|0))break;f=c[p>>2]|0;if((l+-1|0)>>>0<2){n=0-(0-(c[r>>2]|0)>>(d[s>>0]|0))|0;f=0-(0-f>>(d[q>>0]|0))|0}else n=c[r>>2]|0;j=a+32+(l<<2)|0;k=e+(l<<2)|0;g=0;i=c[a+(l<<2)>>2]|0;while(1){if((g|0)>=(n|0))break;a:do if((c[m>>2]|0)>8){h=0;while(1){if((h|0)>=(f|0))break a;b[i+(h<<1)>>1]=c[k>>2];h=h+1|0}}else _W(i|0,c[k>>2]&255|0,f|0)|0;while(0);g=g+1|0;i=i+(c[j>>2]|0)|0}l=l+1|0}$c=t;return}function Pl(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if(c[b+572>>2]|0){d=a+544|0;if(!(c[d>>2]|0)){Ql(a+4|0,b);c[d>>2]=1}_W(c[a+580>>2]|0,127,H(c[a+560>>2]|0,c[a+564>>2]|0)|0)|0;c[a+572>>2]=(c[a+552>>2]|0)*3;c[a+576>>2]=0}return}function Ql(a,b){a=a|0;b=b|0;c[a>>2]=19;c[a+484>>2]=2;c[a+488>>2]=3;c[a+492>>2]=4;c[a+496>>2]=5;c[a+500>>2]=6;c[a+504>>2]=7;c[a+508>>2]=8;c[a+512>>2]=9;c[a+52>>2]=10;c[a+56>>2]=11;c[a+68>>2]=12;c[a+72>>2]=13;c[a+76>>2]=14;c[a+80>>2]=15;c[a+292>>2]=16;c[a+296>>2]=17;c[a+316>>2]=18;c[a+320>>2]=19;c[a+4>>2]=2;c[a+8>>2]=6;c[a+28>>2]=20;c[a+32>>2]=21;c[a+36>>2]=22;c[a+100>>2]=23;c[a+104>>2]=24;c[a+148>>2]=25;c[a+152>>2]=26;c[a+124>>2]=27;c[a+128>>2]=28;c[a+172>>2]=29;c[a+176>>2]=30;c[a+188>>2]=31;c[a+192>>2]=32;c[a+196>>2]=33;c[a+200>>2]=34;c[a+212>>2]=35;c[a+216>>2]=36;c[a+220>>2]=37;c[a+224>>2]=38;c[a+516>>2]=39;c[a+520>>2]=40;return}function Rl(a){a=a|0;var c=0,d=0,e=0,f=0;c=0;d=0;while(1){if((c|0)==64)break;f=b[a+(c<<1)>>1]|0;e=f<<16>>16;c=c+1|0;d=(f<<16>>16>-1?e:0-e|0)+d|0}return d|0}function Sl(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;g=0;h=0;a=c;while(1){if((g|0)>=(f|0))break;w=(d[b>>0]|0)-(d[a>>0]|0)|0;v=(d[b+1>>0]|0)-(d[a+1>>0]|0)|0;u=(d[b+2>>0]|0)-(d[a+2>>0]|0)|0;t=(d[b+3>>0]|0)-(d[a+3>>0]|0)|0;s=(d[b+4>>0]|0)-(d[a+4>>0]|0)|0;r=(d[b+5>>0]|0)-(d[a+5>>0]|0)|0;q=(d[b+6>>0]|0)-(d[a+6>>0]|0)|0;p=(d[b+7>>0]|0)-(d[a+7>>0]|0)|0;o=(d[b+8>>0]|0)-(d[a+8>>0]|0)|0;n=(d[b+9>>0]|0)-(d[a+9>>0]|0)|0;m=(d[b+10>>0]|0)-(d[a+10>>0]|0)|0;l=(d[b+11>>0]|0)-(d[a+11>>0]|0)|0;k=(d[b+12>>0]|0)-(d[a+12>>0]|0)|0;j=(d[b+13>>0]|0)-(d[a+13>>0]|0)|0;i=(d[b+14>>0]|0)-(d[a+14>>0]|0)|0;c=(d[b+15>>0]|0)-(d[a+15>>0]|0)|0;g=g+1|0;h=((w|0)>-1?w:0-w|0)+h+((v|0)>-1?v:0-v|0)+((u|0)>-1?u:0-u|0)+((t|0)>-1?t:0-t|0)+((s|0)>-1?s:0-s|0)+((r|0)>-1?r:0-r|0)+((q|0)>-1?q:0-q|0)+((p|0)>-1?p:0-p|0)+((o|0)>-1?o:0-o|0)+((n|0)>-1?n:0-n|0)+((m|0)>-1?m:0-m|0)+((l|0)>-1?l:0-l|0)+((k|0)>-1?k:0-k|0)+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)+((c|0)>-1?c:0-c|0)|0;b=b+e|0;a=a+e|0}return h|0}function Tl(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;g=0;h=0;a=c;while(1){if((g|0)>=(f|0))break;v=d[a+1>>0]|0;w=(d[b>>0]|0)-(((d[a>>0]|0)+1+v|0)>>>1)|0;u=d[a+2>>0]|0;v=(d[b+1>>0]|0)-((v+1+u|0)>>>1)|0;t=d[a+3>>0]|0;u=(d[b+2>>0]|0)-((u+1+t|0)>>>1)|0;s=d[a+4>>0]|0;t=(d[b+3>>0]|0)-((t+1+s|0)>>>1)|0;r=d[a+5>>0]|0;s=(d[b+4>>0]|0)-((s+1+r|0)>>>1)|0;q=d[a+6>>0]|0;r=(d[b+5>>0]|0)-((r+1+q|0)>>>1)|0;p=d[a+7>>0]|0;q=(d[b+6>>0]|0)-((q+1+p|0)>>>1)|0;o=d[a+8>>0]|0;p=(d[b+7>>0]|0)-((p+1+o|0)>>>1)|0;n=d[a+9>>0]|0;o=(d[b+8>>0]|0)-((o+1+n|0)>>>1)|0;m=d[a+10>>0]|0;n=(d[b+9>>0]|0)-((n+1+m|0)>>>1)|0;l=d[a+11>>0]|0;m=(d[b+10>>0]|0)-((m+1+l|0)>>>1)|0;k=d[a+12>>0]|0;l=(d[b+11>>0]|0)-((l+1+k|0)>>>1)|0;j=d[a+13>>0]|0;k=(d[b+12>>0]|0)-((k+1+j|0)>>>1)|0;i=d[a+14>>0]|0;j=(d[b+13>>0]|0)-((j+1+i|0)>>>1)|0;c=d[a+15>>0]|0;i=(d[b+14>>0]|0)-((i+1+c|0)>>>1)|0;c=(d[b+15>>0]|0)-((c+1+(d[a+16>>0]|0)|0)>>>1)|0;g=g+1|0;h=((w|0)>-1?w:0-w|0)+h+((v|0)>-1?v:0-v|0)+((u|0)>-1?u:0-u|0)+((t|0)>-1?t:0-t|0)+((s|0)>-1?s:0-s|0)+((r|0)>-1?r:0-r|0)+((q|0)>-1?q:0-q|0)+((p|0)>-1?p:0-p|0)+((o|0)>-1?o:0-o|0)+((n|0)>-1?n:0-n|0)+((m|0)>-1?m:0-m|0)+((l|0)>-1?l:0-l|0)+((k|0)>-1?k:0-k|0)+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)+((c|0)>-1?c:0-c|0)|0;b=b+e|0;a=a+e|0}return h|0}function Ul(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;g=0;h=0;a=c;while(1){c=a+e|0;if((g|0)>=(f|0))break;x=(d[b>>0]|0)-(((d[a>>0]|0)+1+(d[c>>0]|0)|0)>>>1)|0;w=(d[b+1>>0]|0)-(((d[a+1>>0]|0)+1+(d[c+1>>0]|0)|0)>>>1)|0;v=(d[b+2>>0]|0)-(((d[a+2>>0]|0)+1+(d[c+2>>0]|0)|0)>>>1)|0;u=(d[b+3>>0]|0)-(((d[a+3>>0]|0)+1+(d[c+3>>0]|0)|0)>>>1)|0;t=(d[b+4>>0]|0)-(((d[a+4>>0]|0)+1+(d[c+4>>0]|0)|0)>>>1)|0;s=(d[b+5>>0]|0)-(((d[a+5>>0]|0)+1+(d[c+5>>0]|0)|0)>>>1)|0;r=(d[b+6>>0]|0)-(((d[a+6>>0]|0)+1+(d[c+6>>0]|0)|0)>>>1)|0;q=(d[b+7>>0]|0)-(((d[a+7>>0]|0)+1+(d[c+7>>0]|0)|0)>>>1)|0;p=(d[b+8>>0]|0)-(((d[a+8>>0]|0)+1+(d[c+8>>0]|0)|0)>>>1)|0;o=(d[b+9>>0]|0)-(((d[a+9>>0]|0)+1+(d[c+9>>0]|0)|0)>>>1)|0;n=(d[b+10>>0]|0)-(((d[a+10>>0]|0)+1+(d[c+10>>0]|0)|0)>>>1)|0;m=(d[b+11>>0]|0)-(((d[a+11>>0]|0)+1+(d[c+11>>0]|0)|0)>>>1)|0;l=(d[b+12>>0]|0)-(((d[a+12>>0]|0)+1+(d[c+12>>0]|0)|0)>>>1)|0;k=(d[b+13>>0]|0)-(((d[a+13>>0]|0)+1+(d[c+13>>0]|0)|0)>>>1)|0;j=(d[b+14>>0]|0)-(((d[a+14>>0]|0)+1+(d[c+14>>0]|0)|0)>>>1)|0;i=(d[b+15>>0]|0)-(((d[a+15>>0]|0)+1+(d[c+15>>0]|0)|0)>>>1)|0;g=g+1|0;h=((x|0)>-1?x:0-x|0)+h+((w|0)>-1?w:0-w|0)+((v|0)>-1?v:0-v|0)+((u|0)>-1?u:0-u|0)+((t|0)>-1?t:0-t|0)+((s|0)>-1?s:0-s|0)+((r|0)>-1?r:0-r|0)+((q|0)>-1?q:0-q|0)+((p|0)>-1?p:0-p|0)+((o|0)>-1?o:0-o|0)+((n|0)>-1?n:0-n|0)+((m|0)>-1?m:0-m|0)+((l|0)>-1?l:0-l|0)+((k|0)>-1?k:0-k|0)+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)|0;b=b+e|0;a=c}return h|0}function Vl(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;g=0;h=0;a=c;while(1){c=a+e|0;if((g|0)>=(f|0))break;y=d[a+1>>0]|0;w=d[c+1>>0]|0;x=(d[b>>0]|0)-(((d[a>>0]|0)+2+y+(d[c>>0]|0)+w|0)>>>2)|0;z=d[a+2>>0]|0;v=d[c+2>>0]|0;w=(d[b+1>>0]|0)-((y+2+w+z+v|0)>>>2)|0;y=d[a+3>>0]|0;u=d[c+3>>0]|0;v=(d[b+2>>0]|0)-((z+2+v+y+u|0)>>>2)|0;z=d[a+4>>0]|0;t=d[c+4>>0]|0;u=(d[b+3>>0]|0)-((y+2+u+z+t|0)>>>2)|0;y=d[a+5>>0]|0;s=d[c+5>>0]|0;t=(d[b+4>>0]|0)-((z+2+t+y+s|0)>>>2)|0;z=d[a+6>>0]|0;r=d[c+6>>0]|0;s=(d[b+5>>0]|0)-((y+2+s+z+r|0)>>>2)|0;y=d[a+7>>0]|0;q=d[c+7>>0]|0;r=(d[b+6>>0]|0)-((z+2+r+y+q|0)>>>2)|0;z=d[a+8>>0]|0;p=d[c+8>>0]|0;q=(d[b+7>>0]|0)-((y+2+q+z+p|0)>>>2)|0;y=d[a+9>>0]|0;o=d[c+9>>0]|0;p=(d[b+8>>0]|0)-((z+2+p+y+o|0)>>>2)|0;z=d[a+10>>0]|0;n=d[c+10>>0]|0;o=(d[b+9>>0]|0)-((y+2+o+z+n|0)>>>2)|0;y=d[a+11>>0]|0;m=d[c+11>>0]|0;n=(d[b+10>>0]|0)-((z+2+n+y+m|0)>>>2)|0;z=d[a+12>>0]|0;l=d[c+12>>0]|0;m=(d[b+11>>0]|0)-((y+2+m+z+l|0)>>>2)|0;y=d[a+13>>0]|0;k=d[c+13>>0]|0;l=(d[b+12>>0]|0)-((z+2+l+y+k|0)>>>2)|0;z=d[a+14>>0]|0;j=d[c+14>>0]|0;k=(d[b+13>>0]|0)-((y+2+k+z+j|0)>>>2)|0;y=d[a+15>>0]|0;i=d[c+15>>0]|0;j=(d[b+14>>0]|0)-((z+2+j+y+i|0)>>>2)|0;i=(d[b+15>>0]|0)-((y+2+i+(d[a+16>>0]|0)+(d[c+16>>0]|0)|0)>>>2)|0;g=g+1|0;h=((x|0)>-1?x:0-x|0)+h+((w|0)>-1?w:0-w|0)+((v|0)>-1?v:0-v|0)+((u|0)>-1?u:0-u|0)+((t|0)>-1?t:0-t|0)+((s|0)>-1?s:0-s|0)+((r|0)>-1?r:0-r|0)+((q|0)>-1?q:0-q|0)+((p|0)>-1?p:0-p|0)+((o|0)>-1?o:0-o|0)+((n|0)>-1?n:0-n|0)+((m|0)>-1?m:0-m|0)+((l|0)>-1?l:0-l|0)+((k|0)>-1?k:0-k|0)+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)|0;b=b+e|0;a=c}return h|0}function Wl(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=0;h=0;a=c;while(1){if((g|0)>=(f|0))break;o=(d[b>>0]|0)-(d[a>>0]|0)|0;n=(d[b+1>>0]|0)-(d[a+1>>0]|0)|0;m=(d[b+2>>0]|0)-(d[a+2>>0]|0)|0;l=(d[b+3>>0]|0)-(d[a+3>>0]|0)|0;k=(d[b+4>>0]|0)-(d[a+4>>0]|0)|0;j=(d[b+5>>0]|0)-(d[a+5>>0]|0)|0;i=(d[b+6>>0]|0)-(d[a+6>>0]|0)|0;c=(d[b+7>>0]|0)-(d[a+7>>0]|0)|0;g=g+1|0;h=((o|0)>-1?o:0-o|0)+h+((n|0)>-1?n:0-n|0)+((m|0)>-1?m:0-m|0)+((l|0)>-1?l:0-l|0)+((k|0)>-1?k:0-k|0)+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)+((c|0)>-1?c:0-c|0)|0;b=b+e|0;a=a+e|0}return h|0}function Xl(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=0;h=0;a=c;while(1){if((g|0)>=(f|0))break;n=d[a+1>>0]|0;o=(d[b>>0]|0)-(((d[a>>0]|0)+1+n|0)>>>1)|0;m=d[a+2>>0]|0;n=(d[b+1>>0]|0)-((n+1+m|0)>>>1)|0;l=d[a+3>>0]|0;m=(d[b+2>>0]|0)-((m+1+l|0)>>>1)|0;k=d[a+4>>0]|0;l=(d[b+3>>0]|0)-((l+1+k|0)>>>1)|0;j=d[a+5>>0]|0;k=(d[b+4>>0]|0)-((k+1+j|0)>>>1)|0;i=d[a+6>>0]|0;j=(d[b+5>>0]|0)-((j+1+i|0)>>>1)|0;c=d[a+7>>0]|0;i=(d[b+6>>0]|0)-((i+1+c|0)>>>1)|0;c=(d[b+7>>0]|0)-((c+1+(d[a+8>>0]|0)|0)>>>1)|0;g=g+1|0;h=((o|0)>-1?o:0-o|0)+h+((n|0)>-1?n:0-n|0)+((m|0)>-1?m:0-m|0)+((l|0)>-1?l:0-l|0)+((k|0)>-1?k:0-k|0)+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)+((c|0)>-1?c:0-c|0)|0;b=b+e|0;a=a+e|0}return h|0}function Yl(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=0;h=0;a=c;while(1){c=a+e|0;if((g|0)>=(f|0))break;p=(d[b>>0]|0)-(((d[a>>0]|0)+1+(d[c>>0]|0)|0)>>>1)|0;o=(d[b+1>>0]|0)-(((d[a+1>>0]|0)+1+(d[c+1>>0]|0)|0)>>>1)|0;n=(d[b+2>>0]|0)-(((d[a+2>>0]|0)+1+(d[c+2>>0]|0)|0)>>>1)|0;m=(d[b+3>>0]|0)-(((d[a+3>>0]|0)+1+(d[c+3>>0]|0)|0)>>>1)|0;l=(d[b+4>>0]|0)-(((d[a+4>>0]|0)+1+(d[c+4>>0]|0)|0)>>>1)|0;k=(d[b+5>>0]|0)-(((d[a+5>>0]|0)+1+(d[c+5>>0]|0)|0)>>>1)|0;j=(d[b+6>>0]|0)-(((d[a+6>>0]|0)+1+(d[c+6>>0]|0)|0)>>>1)|0;i=(d[b+7>>0]|0)-(((d[a+7>>0]|0)+1+(d[c+7>>0]|0)|0)>>>1)|0;g=g+1|0;h=((p|0)>-1?p:0-p|0)+h+((o|0)>-1?o:0-o|0)+((n|0)>-1?n:0-n|0)+((m|0)>-1?m:0-m|0)+((l|0)>-1?l:0-l|0)+((k|0)>-1?k:0-k|0)+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)|0;b=b+e|0;a=c}return h|0}function Zl(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=0;h=0;a=c;while(1){c=a+e|0;if((g|0)>=(f|0))break;q=d[a+1>>0]|0;o=d[c+1>>0]|0;p=(d[b>>0]|0)-(((d[a>>0]|0)+2+q+(d[c>>0]|0)+o|0)>>>2)|0;r=d[a+2>>0]|0;n=d[c+2>>0]|0;o=(d[b+1>>0]|0)-((q+2+o+r+n|0)>>>2)|0;q=d[a+3>>0]|0;m=d[c+3>>0]|0;n=(d[b+2>>0]|0)-((r+2+n+q+m|0)>>>2)|0;r=d[a+4>>0]|0;l=d[c+4>>0]|0;m=(d[b+3>>0]|0)-((q+2+m+r+l|0)>>>2)|0;q=d[a+5>>0]|0;k=d[c+5>>0]|0;l=(d[b+4>>0]|0)-((r+2+l+q+k|0)>>>2)|0;r=d[a+6>>0]|0;j=d[c+6>>0]|0;k=(d[b+5>>0]|0)-((q+2+k+r+j|0)>>>2)|0;q=d[a+7>>0]|0;i=d[c+7>>0]|0;j=(d[b+6>>0]|0)-((r+2+j+q+i|0)>>>2)|0;i=(d[b+7>>0]|0)-((q+2+i+(d[a+8>>0]|0)+(d[c+8>>0]|0)|0)>>>2)|0;g=g+1|0;h=((p|0)>-1?p:0-p|0)+h+((o|0)>-1?o:0-o|0)+((n|0)>-1?n:0-n|0)+((m|0)>-1?m:0-m|0)+((l|0)>-1?l:0-l|0)+((k|0)>-1?k:0-k|0)+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)|0;b=b+e|0;a=c}return h|0}function _l(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;f=$l(a,b,c,d,8)|0;f=($l(a,b+8|0,c+8|0,d,8)|0)+f|0;h=d<<3;g=b+h|0;b=c+h|0;if((e|0)==16){f=($l(a,g,b,d,8)|0)+f|0;f=f+($l(a,g+8|0,b+8|0,d,8)|0)|0}return f|0}function $l(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;i=$c;$c=$c+256|0;if(($c|0)>=(ad|0))N(256);h=i;a=0;while(1){if((a|0)==8){a=0;g=0;break}j=H(a,f)|0;p=j+1|0;r=d[e+p>>0]|0;p=d[b+p>>0]|0;k=(d[e+j>>0]|0)-(d[b+j>>0]|0)|0;o=k+r-p|0;g=a<<3;p=k-r+p|0;r=j+2|0;k=j+3|0;q=d[e+k>>0]|0;k=d[b+k>>0]|0;r=(d[e+r>>0]|0)-(d[b+r>>0]|0)|0;m=r+q-k|0;k=r-q+k|0;q=j+4|0;r=j+5|0;s=d[e+r>>0]|0;r=d[b+r>>0]|0;q=(d[e+q>>0]|0)-(d[b+q>>0]|0)|0;n=q+s-r|0;r=q-s+r|0;s=j+6|0;j=j+7|0;q=d[e+j>>0]|0;j=d[b+j>>0]|0;s=(d[e+s>>0]|0)-(d[b+s>>0]|0)|0;l=s+q-j|0;j=s-q+j|0;q=m+o|0;m=o-m|0;o=k+p|0;k=p-k|0;p=l+n|0;l=n-l|0;n=j+r|0;j=r-j|0;c[h+(g<<2)>>2]=p+q;c[h+((g|4)<<2)>>2]=q-p;c[h+((g|1)<<2)>>2]=n+o;c[h+((g|5)<<2)>>2]=o-n;c[h+((g|2)<<2)>>2]=l+m;c[h+((g|6)<<2)>>2]=m-l;c[h+((g|3)<<2)>>2]=j+k;c[h+((g|7)<<2)>>2]=k-j;a=a+1|0}while(1){if((g|0)==8)break;w=h+(g<<2)|0;q=c[w>>2]|0;u=h+(g+8<<2)|0;t=c[u>>2]|0;v=t+q|0;t=q-t|0;q=h+(g+16<<2)|0;b=c[q>>2]|0;l=h+(g+24<<2)|0;k=c[l>>2]|0;s=k+b|0;k=b-k|0;b=h+(g+32<<2)|0;n=c[b>>2]|0;f=h+(g+40<<2)|0;j=c[f>>2]|0;e=j+n|0;j=n-j|0;n=h+(g+48<<2)|0;o=c[n>>2]|0;m=h+(g+56<<2)|0;r=c[m>>2]|0;p=r+o|0;r=o-r|0;o=s+v|0;c[w>>2]=o;s=v-s|0;c[q>>2]=s;q=k+t|0;c[u>>2]=q;k=t-k|0;c[l>>2]=k;l=p+e|0;c[b>>2]=l;p=e-p|0;c[n>>2]=p;n=r+j|0;c[f>>2]=n;r=j-r|0;c[m>>2]=r;m=l+o|0;l=o-l|0;o=n+q|0;n=q-n|0;q=p+s|0;p=s-p|0;s=k+r|0;r=k-r|0;a=((l|0)>-1?l:0-l|0)+a+((m|0)>-1?m:0-m|0)+((n|0)>-1?n:0-n|0)+((o|0)>-1?o:0-o|0)+((p|0)>-1?p:0-p|0)+((q|0)>-1?q:0-q|0)+((r|0)>-1?r:0-r|0)+((s|0)>-1?s:0-s|0)|0;g=g+1|0}$c=i;return a|0}function am(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;f=bm(a,b,c,d,8)|0;f=(bm(a,b+8|0,c+8|0,d,8)|0)+f|0;h=d<<3;g=b+h|0;b=c+h|0;if((e|0)==16){f=(bm(a,g,b,d,8)|0)+f|0;f=f+(bm(a,g+8|0,b+8|0,d,8)|0)|0}return f|0}function bm(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;h=$c;$c=$c+256|0;if(($c|0)>=(ad|0))N(256);g=h;a=0;while(1){if((a|0)==8){a=0;e=0;break}i=H(a,f)|0;p=d[b+i>>0]|0;o=d[b+(i+1)>>0]|0;n=o+p|0;e=a<<3;o=p-o|0;p=d[b+(i+2)>>0]|0;j=d[b+(i+3)>>0]|0;l=j+p|0;j=p-j|0;p=d[b+(i+4)>>0]|0;q=d[b+(i+5)>>0]|0;m=q+p|0;q=p-q|0;p=d[b+(i+6)>>0]|0;i=d[b+(i+7)>>0]|0;k=i+p|0;i=p-i|0;p=l+n|0;l=n-l|0;n=j+o|0;j=o-j|0;o=k+m|0;k=m-k|0;m=i+q|0;i=q-i|0;c[g+(e<<2)>>2]=o+p;c[g+((e|4)<<2)>>2]=p-o;c[g+((e|1)<<2)>>2]=m+n;c[g+((e|5)<<2)>>2]=n-m;c[g+((e|2)<<2)>>2]=k+l;c[g+((e|6)<<2)>>2]=l-k;c[g+((e|3)<<2)>>2]=i+j;c[g+((e|7)<<2)>>2]=j-i;a=a+1|0}while(1){if((e|0)==8)break;w=g+(e<<2)|0;o=c[w>>2]|0;u=g+(e+8<<2)|0;t=c[u>>2]|0;v=t+o|0;t=o-t|0;o=g+(e+16<<2)|0;s=c[o>>2]|0;j=g+(e+24<<2)|0;i=c[j>>2]|0;q=i+s|0;i=s-i|0;s=g+(e+32<<2)|0;l=c[s>>2]|0;b=g+(e+40<<2)|0;f=c[b>>2]|0;r=f+l|0;f=l-f|0;l=g+(e+48<<2)|0;m=c[l>>2]|0;k=g+(e+56<<2)|0;p=c[k>>2]|0;n=p+m|0;p=m-p|0;m=q+v|0;c[w>>2]=m;q=v-q|0;c[o>>2]=q;o=i+t|0;c[u>>2]=o;i=t-i|0;c[j>>2]=i;j=n+r|0;c[s>>2]=j;n=r-n|0;c[l>>2]=n;l=p+f|0;c[b>>2]=l;p=f-p|0;c[k>>2]=p;k=j+m|0;j=m-j|0;m=l+o|0;l=o-l|0;o=n+q|0;n=q-n|0;q=i+p|0;p=i-p|0;a=((j|0)>-1?j:0-j|0)+a+((k|0)>-1?k:0-k|0)+((l|0)>-1?l:0-l|0)+((m|0)>-1?m:0-m|0)+((n|0)>-1?n:0-n|0)+((o|0)>-1?o:0-o|0)+((p|0)>-1?p:0-p|0)+((q|0)>-1?q:0-q|0)|0;e=e+1|0}w=(c[g+128>>2]|0)+(c[g>>2]|0)|0;$c=h;return a-((w|0)>-1?w:0-w|0)|0}function cm(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;f=dm(a,b,c,d,8)|0;f=(dm(a,b+8|0,c+8|0,d,8)|0)+f|0;h=d<<3;g=b+h|0;b=c+h|0;if((e|0)==16){f=(dm(a,g,b,d,8)|0)+f|0;f=f+(dm(a,g+8|0,b+8|0,d,8)|0)|0}return f|0}function dm(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;f=$c;$c=$c+128|0;if(($c|0)>=(ad|0))N(128);g=f;qd[c[a+2964>>2]&255](g,b,d,e);nd[c[a+2032>>2]&63](g);e=fd[c[a+2372>>2]&31](g)|0;$c=f;return e|0}function em(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;f=fm(a,b,c,d,8)|0;f=(fm(a,b+8|0,c+8|0,d,8)|0)+f|0;h=d<<3;g=b+h|0;b=c+h|0;if((e|0)==16){f=(fm(a,g,b,d,8)|0)+f|0;f=f+(fm(a,g+8|0,b+8|0,d,8)|0)|0}return f|0}function fm(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=$c;$c=$c+128|0;if(($c|0)>=(ad|0))N(128);h=i;qd[c[a+2964>>2]&255](h,d,e,f);nd[c[a+2032>>2]&63](h);g=0;a=0;while(1){if((g|0)==64)break;e=b[h+(g<<1)>>1]|0;f=e<<16>>16;f=e<<16>>16>-1?f:0-f|0;g=g+1|0;a=(a|0)>(f|0)?a:f}$c=i;return a|0}function gm(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;f=hm(a,b,c,d,8)|0;f=(hm(a,b+8|0,c+8|0,d,8)|0)+f|0;h=d<<3;g=b+h|0;b=c+h|0;if((e|0)==16){f=(hm(a,g,b,d,8)|0)+f|0;f=f+(hm(a,g+8|0,b+8|0,d,8)|0)|0}return f|0}function hm(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;i=$c;$c=$c+128|0;if(($c|0)>=(ad|0))N(128);h=i;qd[c[a+2964>>2]&255](h,d,e,f);g=0;while(1){if((g|0)==8){g=0;a=0;break}u=h+(g<<4)|0;y=b[u>>1]|0;f=h+(g<<4)+14|0;n=b[f>>1]|0;A=n+y|0;t=h+(g<<4)+2|0;x=b[t>>1]|0;a=h+(g<<4)+12|0;w=b[a>>1]|0;z=w+x|0;s=h+(g<<4)+4|0;m=b[s>>1]|0;l=h+(g<<4)+10|0;v=b[l>>1]|0;j=v+m|0;r=h+(g<<4)+6|0;d=b[r>>1]|0;o=h+(g<<4)+8|0;e=b[o>>1]|0;k=e+d|0;q=k+A|0;p=j+z|0;k=A-k|0;j=z-j|0;n=y-n|0;w=x-w|0;v=m-v|0;e=d-e|0;d=(n>>1)+n+w+v|0;m=n-e-((v>>1)+v)|0;n=n-w-(w>>1)+e|0;e=e+(w-v)+(e>>1)|0;b[u>>1]=q+p;b[t>>1]=(e>>>2)+d;b[s>>1]=k+(j>>>1);b[r>>1]=m+(n>>>2);b[o>>1]=q-p;b[l>>1]=n-(m>>>2);b[a>>1]=(k>>>1)-j;b[f>>1]=(d>>>2)-e;g=g+1|0}while(1){if((a|0)==8)break;w=b[h+(a<<1)>>1]|0;q=b[h+112+(a<<1)>>1]|0;n=q+w|0;u=b[h+16+(a<<1)>>1]|0;A=b[h+96+(a<<1)>>1]|0;o=A+u|0;y=b[h+32+(a<<1)>>1]|0;t=b[h+80+(a<<1)>>1]|0;x=t+y|0;s=b[h+48+(a<<1)>>1]|0;z=b[h+64+(a<<1)>>1]|0;r=z+s|0;p=r+n|0;v=x+o|0;r=n-r|0;x=o-x|0;q=w-q|0;A=u-A|0;t=y-t|0;z=s-z|0;s=(q>>1)+q+A+t|0;y=q-z-((t>>1)+t)|0;q=q-A-(A>>1)+z|0;z=z+(A-t)+(z>>1)|0;t=p+v|0;A=(z>>2)+s|0;u=r+(x>>1)|0;w=y+(q>>2)|0;v=p-v|0;y=q-(y>>2)|0;x=(r>>1)-x|0;z=(s>>2)-z|0;g=((t|0)>-1?t:0-t|0)+g+((u|0)>-1?u:0-u|0)+((v|0)>-1?v:0-v|0)+((w|0)>-1?w:0-w|0)+((x|0)>-1?x:0-x|0)+((y|0)>-1?y:0-y|0)+((z|0)>-1?z:0-z|0)+((A|0)>-1?A:0-A|0)|0;a=a+1|0}$c=i;return g|0}function im(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=0;i=0;a=e;while(1){if((h|0)>=(g|0))break;e=(c[73948+((d[b>>0]|0)-(d[a>>0]|0)<<2)>>2]|0)+i+(c[73948+((d[b+1>>0]|0)-(d[a+1>>0]|0)<<2)>>2]|0)+(c[73948+((d[b+2>>0]|0)-(d[a+2>>0]|0)<<2)>>2]|0)+(c[73948+((d[b+3>>0]|0)-(d[a+3>>0]|0)<<2)>>2]|0)+(c[73948+((d[b+4>>0]|0)-(d[a+4>>0]|0)<<2)>>2]|0)+(c[73948+((d[b+5>>0]|0)-(d[a+5>>0]|0)<<2)>>2]|0)+(c[73948+((d[b+6>>0]|0)-(d[a+6>>0]|0)<<2)>>2]|0)+(c[73948+((d[b+7>>0]|0)-(d[a+7>>0]|0)<<2)>>2]|0)+(c[73948+((d[b+8>>0]|0)-(d[a+8>>0]|0)<<2)>>2]|0)+(c[73948+((d[b+9>>0]|0)-(d[a+9>>0]|0)<<2)>>2]|0)+(c[73948+((d[b+10>>0]|0)-(d[a+10>>0]|0)<<2)>>2]|0)+(c[73948+((d[b+11>>0]|0)-(d[a+11>>0]|0)<<2)>>2]|0)+(c[73948+((d[b+12>>0]|0)-(d[a+12>>0]|0)<<2)>>2]|0)+(c[73948+((d[b+13>>0]|0)-(d[a+13>>0]|0)<<2)>>2]|0)+(c[73948+((d[b+14>>0]|0)-(d[a+14>>0]|0)<<2)>>2]|0)+(c[73948+((d[b+15>>0]|0)-(d[a+15>>0]|0)<<2)>>2]|0)|0;b=b+f|0;h=h+1|0;i=e;a=a+f|0}return i|0}function jm(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=0;i=0;a=e;while(1){if((h|0)>=(g|0))break;e=(c[73948+((d[b>>0]|0)-(d[a>>0]|0)<<2)>>2]|0)+i+(c[73948+((d[b+1>>0]|0)-(d[a+1>>0]|0)<<2)>>2]|0)+(c[73948+((d[b+2>>0]|0)-(d[a+2>>0]|0)<<2)>>2]|0)+(c[73948+((d[b+3>>0]|0)-(d[a+3>>0]|0)<<2)>>2]|0)+(c[73948+((d[b+4>>0]|0)-(d[a+4>>0]|0)<<2)>>2]|0)+(c[73948+((d[b+5>>0]|0)-(d[a+5>>0]|0)<<2)>>2]|0)+(c[73948+((d[b+6>>0]|0)-(d[a+6>>0]|0)<<2)>>2]|0)+(c[73948+((d[b+7>>0]|0)-(d[a+7>>0]|0)<<2)>>2]|0)|0;b=b+f|0;h=h+1|0;i=e;a=a+f|0}return i|0}function km(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=0;i=0;a=e;while(1){if((h|0)>=(g|0))break;e=(c[73948+((d[b>>0]|0)-(d[a>>0]|0)<<2)>>2]|0)+i+(c[73948+((d[b+1>>0]|0)-(d[a+1>>0]|0)<<2)>>2]|0)+(c[73948+((d[b+2>>0]|0)-(d[a+2>>0]|0)<<2)>>2]|0)+(c[73948+((d[b+3>>0]|0)-(d[a+3>>0]|0)<<2)>>2]|0)|0;b=b+f|0;h=h+1|0;i=e;a=a+f|0}return i|0}function lm(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;f=mm(a,b,c,d,8)|0;f=(mm(a,b+8|0,c+8|0,d,8)|0)+f|0;h=d<<3;g=b+h|0;b=c+h|0;if((e|0)==16){f=(mm(a,g,b,d,8)|0)+f|0;f=f+(mm(a,g+8|0,b+8|0,d,8)|0)|0}return f|0}function mm(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=$c;$c=$c+272|0;if(($c|0)>=(ad|0))N(272);i=k;h=k+256|0;j=i+128|0;c[a+4304>>2]=0;qd[c[a+2964>>2]&255](i,d,e,f);g=j;d=i;e=g+128|0;do{c[g>>2]=c[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(e|0));g=a+1920|0;c[a+16>>2]=kd[c[a+6244>>2]&63](a,i,0,c[g>>2]|0,h)|0;qd[c[a+6236>>2]&255](a,i,0,c[g>>2]|0);Fm(i);g=0;d=0;while(1){if((d|0)==64)break;a=(b[i+(d<<1)>>1]|0)-(b[j+(d<<1)>>1]|0)|0;g=(H(a,a)|0)+g|0;d=d+1|0}$c=k;return g|0}function nm(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;f=om(a,b,c,d,8)|0;f=(om(a,b+8|0,c+8|0,d,8)|0)+f|0;h=d<<3;g=b+h|0;b=c+h|0;if((e|0)==16){f=(om(a,g,b,d,8)|0)+f|0;f=f+(om(a,g+8|0,b+8|0,d,8)|0)|0}return f|0}function om(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=$c;$c=$c+272|0;if(($c|0)>=(ad|0))N(272);p=s+128|0;q=s+64|0;r=s;n=s+256|0;o=c[a+4908>>2]|0;Em(q,e,g);Em(r,f,g);qd[c[a+2960>>2]&255](p,q,r,8);k=a+1920|0;l=kd[c[a+6244>>2]&63](a,p,0,c[k>>2]|0,n)|0;c[a+16>>2]=l;m=(c[a+4304>>2]|0)==0;if(m){g=0;e=a+4932|0;f=a+4928|0;h=0}else{g=1;e=a+4916|0;f=a+4912|0;h=d[(c[a+4936>>2]|0)+((b[p>>1]|0)+256)>>0]|0}j=c[e>>2]|0;i=c[f>>2]|0;do if((l|0)>=(g|0)){f=0;while(1){c[n>>2]=g;if((g|0)>=(l|0))break;e=b[p+(d[a+204+g>>0]<<1)>>1]|0;if(!(e<<16>>16))f=f+1|0;else{e=(e<<16>>16)+64|0;if(e>>>0<128)e=d[i+(e+(f<<7))>>0]|0;else e=o;f=0;h=e+h|0}g=g+1|0}e=d[a+204+l>>0]|0;c[n>>2]=e;e=(b[p+(e<<1)>>1]|0)+64|0;if(e>>>0<128){h=h+(d[j+(e+(f<<7))>>0]|0)|0;break}else{h=h+o|0;break}}while(0);do if((l|0)>-1)if(m){qd[c[a+6236>>2]&255](a,p,0,c[k>>2]|0);break}else{qd[c[a+6232>>2]&255](a,p,0,c[k>>2]|0);break}while(0);pd[c[a+2300>>2]&1023](r,8,p);a=kd[c[a+2404>>2]&63](0,r,q,8,8)|0;r=c[k>>2]|0;a=((H(H(h*109|0,r)|0,r)|0)+64>>7)+a|0;$c=s;return a|0}function pm(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;f=qm(a,b,c,d,8)|0;f=(qm(a,b+8|0,c+8|0,d,8)|0)+f|0;h=d<<3;g=b+h|0;b=c+h|0;if((e|0)==16){f=(qm(a,g,b,d,8)|0)+f|0;f=f+(qm(a,g+8|0,b+8|0,d,8)|0)|0}return f|0}function qm(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);l=o;m=o+128|0;n=c[a+4908>>2]|0;qd[c[a+2964>>2]&255](l,e,f,g);k=kd[c[a+6244>>2]&63](a,l,0,c[a+1920>>2]|0,m)|0;c[a+16>>2]=k;if(!(c[a+4304>>2]|0)){e=a+4932|0;f=a+4928|0;h=0;g=0}else{e=a+4916|0;f=a+4912|0;h=d[(c[a+4936>>2]|0)+((b[l>>1]|0)+256)>>0]|0;g=1}j=c[e>>2]|0;i=c[f>>2]|0;do if((k|0)>=(g|0)){f=0;while(1){c[m>>2]=g;if((g|0)>=(k|0))break;e=b[l+(d[a+204+g>>0]<<1)>>1]|0;if(!(e<<16>>16))f=f+1|0;else{e=(e<<16>>16)+64|0;if(e>>>0<128)e=d[i+(e+(f<<7))>>0]|0;else e=n;f=0;h=e+h|0}g=g+1|0}e=d[a+204+k>>0]|0;c[m>>2]=e;e=(b[l+(e<<1)>>1]|0)+64|0;if(e>>>0<128){h=h+(d[j+(e+(f<<7))>>0]|0)|0;break}else{h=h+n|0;break}}while(0);$c=o;return h|0}function rm(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=1;a=0;while(1){if((h|0)<(f|0))g=0;else break;while(1){if((g|0)==16)break;i=g+e|0;i=(d[b+g>>0]|0)-(d[c+g>>0]|0)-(d[b+i>>0]|0)+(d[c+i>>0]|0)|0;g=g+1|0;a=((i|0)>-1?i:0-i|0)+a|0}h=h+1|0;b=b+e|0;c=c+e|0}return a|0}function sm(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=1;a=0;while(1){if((h|0)<(f|0))g=0;else break;while(1){if((g|0)==8)break;i=g+e|0;i=(d[b+g>>0]|0)-(d[c+g>>0]|0)-(d[b+i>>0]|0)+(d[c+i>>0]|0)|0;g=g+1|0;a=((i|0)>-1?i:0-i|0)+a|0}h=h+1|0;b=b+e|0;c=c+e|0}return a|0}function tm(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=1;a=0;while(1){if((g|0)<(f|0))c=0;else break;while(1){if((c|0)>=16)break;j=c+e|0;k=(d[b+c>>0]|0)-(d[b+j>>0]|0)|0;j=(d[b+(c|1)>>0]|0)-(d[b+(j+1)>>0]|0)|0;i=c|2;i=(d[b+i>>0]|0)-(d[b+(i+e)>>0]|0)|0;h=c|3;h=(d[b+h>>0]|0)-(d[b+(h+e)>>0]|0)|0;c=c+4|0;a=((k|0)>-1?k:0-k|0)+a+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)+((h|0)>-1?h:0-h|0)|0}g=g+1|0;b=b+e|0}return a|0}function um(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=1;a=0;while(1){if((g|0)<(f|0))c=0;else break;while(1){if((c|0)>=8)break;j=c+e|0;k=(d[b+c>>0]|0)-(d[b+j>>0]|0)|0;j=(d[b+(c|1)>>0]|0)-(d[b+(j+1)>>0]|0)|0;i=c|2;i=(d[b+i>>0]|0)-(d[b+(i+e)>>0]|0)|0;h=c|3;h=(d[b+h>>0]|0)-(d[b+(h+e)>>0]|0)|0;c=c+4|0;a=((k|0)>-1?k:0-k|0)+a+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)+((h|0)>-1?h:0-h|0)|0}g=g+1|0;b=b+e|0}return a|0}function vm(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=1;a=0;while(1){if((h|0)<(f|0))g=0;else break;while(1){if((g|0)==16)break;i=g+e|0;i=(d[b+g>>0]|0)-(d[c+g>>0]|0)-(d[b+i>>0]|0)+(d[c+i>>0]|0)|0;g=g+1|0;a=(H(i,i)|0)+a|0}h=h+1|0;b=b+e|0;c=c+e|0}return a|0}function wm(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=1;a=0;while(1){if((h|0)<(f|0))g=0;else break;while(1){if((g|0)==8)break;i=g+e|0;i=(d[b+g>>0]|0)-(d[c+g>>0]|0)-(d[b+i>>0]|0)+(d[c+i>>0]|0)|0;g=g+1|0;a=(H(i,i)|0)+a|0}h=h+1|0;b=b+e|0;c=c+e|0}return a|0}function xm(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=1;a=0;while(1){if((g|0)<(f|0))c=0;else break;while(1){if((c|0)>=16)break;h=c+e|0;k=(d[b+c>>0]|0)-(d[b+h>>0]|0)|0;k=H(k,k)|0;j=(d[b+(c|1)>>0]|0)-(d[b+(h+1)>>0]|0)|0;j=H(j,j)|0;i=(d[b+(c|2)>>0]|0)-(d[b+(h+2)>>0]|0)|0;i=H(i,i)|0;h=(d[b+(c|3)>>0]|0)-(d[b+(h+3)>>0]|0)|0;c=c+4|0;a=k+a+j+i+(H(h,h)|0)|0}g=g+1|0;b=b+e|0}return a|0}function ym(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=1;a=0;while(1){if((g|0)<(f|0))c=0;else break;while(1){if((c|0)>=8)break;h=c+e|0;k=(d[b+c>>0]|0)-(d[b+h>>0]|0)|0;k=H(k,k)|0;j=(d[b+(c|1)>>0]|0)-(d[b+(h+1)>>0]|0)|0;j=H(j,j)|0;i=(d[b+(c|2)>>0]|0)-(d[b+(h+2)>>0]|0)|0;i=H(i,i)|0;h=(d[b+(c|3)>>0]|0)-(d[b+(h+3)>>0]|0)|0;c=c+4|0;a=k+a+j+i+(H(h,h)|0)|0}g=g+1|0;b=b+e|0}return a|0}function zm(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=0;h=0;k=0;while(1){if((j|0)<(g|0))i=0;else break;while(1){if((i|0)==16)break;l=(d[b+i>>0]|0)-(d[e+i>>0]|0)|0;i=i+1|0;k=(H(l,l)|0)+k|0}j=j+1|0;a:do if((j|0)<(g|0)){i=0;while(1){if((i|0)==15)break a;o=i+f|0;n=i+1|0;l=o+1|0;m=(d[b+i>>0]|0)-(d[b+o>>0]|0)-(d[b+n>>0]|0)+(d[b+l>>0]|0)|0;l=(d[e+i>>0]|0)-(d[e+o>>0]|0)-(d[e+n>>0]|0)+(d[e+l>>0]|0)|0;i=n;h=((m|0)>-1?m:0-m|0)+h-((l|0)>-1?l:0-l|0)|0}}while(0);b=b+f|0;e=e+f|0}b=(h|0)>-1?h:0-h|0;if(!a)b=b<<3;else b=H(c[(c[a+596>>2]|0)+712>>2]|0,b)|0;return b+k|0}function Am(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=0;h=0;k=0;while(1){if((j|0)<(g|0))i=0;else break;while(1){if((i|0)==8)break;l=(d[b+i>>0]|0)-(d[e+i>>0]|0)|0;i=i+1|0;k=(H(l,l)|0)+k|0}j=j+1|0;a:do if((j|0)<(g|0)){i=0;while(1){if((i|0)==7)break a;o=i+f|0;n=i+1|0;l=o+1|0;m=(d[b+i>>0]|0)-(d[b+o>>0]|0)-(d[b+n>>0]|0)+(d[b+l>>0]|0)|0;l=(d[e+i>>0]|0)-(d[e+o>>0]|0)-(d[e+n>>0]|0)+(d[e+l>>0]|0)|0;i=n;h=((m|0)>-1?m:0-m|0)+h-((l|0)>-1?l:0-l|0)|0}}while(0);b=b+f|0;e=e+f|0}b=(h|0)>-1?h:0-h|0;if(!a)b=b<<3;else b=H(c[(c[a+596>>2]|0)+712>>2]|0,b)|0;return b+k|0}function Bm(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=(d[c>>0]|0)-(d[e>>0]|0)|0;u=(d[c+1>>0]|0)-(d[e+1>>0]|0)|0;w=u-v|0;t=(d[c+2>>0]|0)-(d[e+2>>0]|0)|0;u=t-u|0;s=(d[c+3>>0]|0)-(d[e+3>>0]|0)|0;t=s-t|0;r=(d[c+4>>0]|0)-(d[e+4>>0]|0)|0;s=r-s|0;q=(d[c+5>>0]|0)-(d[e+5>>0]|0)|0;r=q-r|0;p=(d[c+6>>0]|0)-(d[e+6>>0]|0)|0;q=p-q|0;o=(d[c+7>>0]|0)-(d[e+7>>0]|0)|0;p=o-p|0;n=(d[c+8>>0]|0)-(d[e+8>>0]|0)|0;o=n-o|0;h=(d[c+9>>0]|0)-(d[e+9>>0]|0)|0;n=h-n|0;i=(d[c+10>>0]|0)-(d[e+10>>0]|0)|0;h=i-h|0;j=(d[c+11>>0]|0)-(d[e+11>>0]|0)|0;i=j-i|0;k=(d[c+12>>0]|0)-(d[e+12>>0]|0)|0;j=k-j|0;l=(d[c+13>>0]|0)-(d[e+13>>0]|0)|0;k=l-k|0;b=(d[c+14>>0]|0)-(d[e+14>>0]|0)|0;l=b-l|0;b=(d[c+15>>0]|0)-(d[e+15>>0]|0)-b|0;m=1;b=((w|0)>-1?w:0-w|0)+((v|0)>-1?v:0-v|0)+((u|0)>-1?u:0-u|0)+((t|0)>-1?t:0-t|0)+((s|0)>-1?s:0-s|0)+((r|0)>-1?r:0-r|0)+((q|0)>-1?q:0-q|0)+((p|0)>-1?p:0-p|0)+((o|0)>-1?o:0-o|0)+((n|0)>-1?n:0-n|0)+((h|0)>-1?h:0-h|0)+((i|0)>-1?i:0-i|0)+((j|0)>-1?j:0-j|0)+((k|0)>-1?k:0-k|0)+((l|0)>-1?l:0-l|0)+((b|0)>-1?b:0-b|0)|0;while(1){k=c+f|0;l=e+f|0;if((m|0)>=(g|0))break;h=a[k>>0]|0;i=a[l>>0]|0;w=(d[e>>0]|0)-(d[c>>0]|0)+((h&255)-(i&255))|0;j=1;b=((w|0)>-1?w:0-w|0)+b|0;while(1){if((j|0)==16)break;v=a[k+j>>0]|0;w=a[l+j>>0]|0;t=(d[c+j>>0]|0)-(d[e+j>>0]|0)|0;s=(h&255)-(i&255)|0;u=j-f+-1|0;u=(v&255)-(w&255)-(Dm(t,s,s+t-(d[k+u>>0]|0)+(d[l+u>>0]|0)|0)|0)|0;j=j+1|0;b=((u|0)>-1?u:0-u|0)+b|0;h=v;i=w}m=m+1|0;e=l;c=k}return b|0}function Cm(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;b=a[c>>0]|0;h=a[e>>0]|0;p=(b&255)-(h&255)|0;j=(d[c+1>>0]|0)-(d[e+1>>0]|0)|0;q=j-p|0;k=(d[c+2>>0]|0)-(d[e+2>>0]|0)|0;j=k-j|0;l=(d[c+3>>0]|0)-(d[e+3>>0]|0)|0;k=l-k|0;m=(d[c+4>>0]|0)-(d[e+4>>0]|0)|0;l=m-l|0;n=(d[c+5>>0]|0)-(d[e+5>>0]|0)|0;m=n-m|0;i=(d[c+6>>0]|0)-(d[e+6>>0]|0)|0;n=i-n|0;i=(d[c+7>>0]|0)-(d[e+7>>0]|0)-i|0;o=1;i=((q|0)>-1?q:0-q|0)+((p|0)>-1?p:0-p|0)+((j|0)>-1?j:0-j|0)+((k|0)>-1?k:0-k|0)+((l|0)>-1?l:0-l|0)+((m|0)>-1?m:0-m|0)+((n|0)>-1?n:0-n|0)+((i|0)>-1?i:0-i|0)|0;while(1){k=c+f|0;l=e+f|0;if((o|0)>=(g|0))break;m=a[k>>0]|0;n=a[l>>0]|0;b=(h&255)-(b&255)+((m&255)-(n&255))|0;j=1;b=((b|0)>-1?b:0-b|0)+i|0;h=m;i=n;while(1){if((j|0)==8)break;p=a[k+j>>0]|0;q=a[l+j>>0]|0;s=(d[c+j>>0]|0)-(d[e+j>>0]|0)|0;t=(h&255)-(i&255)|0;r=j-f+-1|0;r=(p&255)-(q&255)-(Dm(s,t,t+s-(d[k+r>>0]|0)+(d[l+r>>0]|0)|0)|0)|0;j=j+1|0;b=((r|0)>-1?r:0-r|0)+b|0;h=p;i=q}o=o+1|0;i=b;e=l;c=k;b=m;h=n}return i|0}function Dm(a,b,c){a=a|0;b=b|0;c=c|0;if((a|0)>(b|0))return ((c|0)>(b|0)?((c|0)>(a|0)?a:c):b)|0;else return ((b|0)>(c|0)?((c|0)>(a|0)?c:a):b)|0;return 0}function Em(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==8)break;h=c;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;c=c+e|0;b=b+8|0}return}function Fm(a){a=a|0;var b=0;b=0;while(1){if((b|0)==8){b=0;break}Gm(a+(b<<3<<1)|0);b=b+1|0}while(1){if((b|0)==8)break;Hm(a+(b<<1)|0);b=b+1|0}return}function Gm(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;p=a+4|0;e=c[p>>2]|0;q=a+8|0;r=a+12|0;l=c[r>>2]|0;s=a+2|0;f=b[s>>1]|0;d=b[a>>1]|0;if(!(c[q>>2]|e|l|f)){s=d<<3&65528|d<<19;c[a>>2]=s;c[p>>2]=s;c[q>>2]=s;c[r>>2]=s}else{o=(d*16383|0)+1024|0;h=e<<16>>16;j=h*21407|0;d=j+o|0;h=h*8867|0;g=h+o|0;h=o-h|0;j=o-j|0;o=a+6|0;e=b[o>>1]|0;m=(e*19266|0)+(f*22725|0)|0;k=(H(e,-4520)|0)+(f*19266|0)|0;i=(H(e,-22725)|0)+(f*12873|0)|0;e=(H(e,-12873)|0)+(f*4520|0)|0;n=q;f=c[n>>2]|0;if((f|0)==0&(c[n+4>>2]|0)==0){n=e;l=m;e=a+10|0;f=a+14|0}else{x=f<<16>>16;v=x*16383|0;w=l<<16>>16;u=w*8867|0;x=H(x,-16383)|0;w=w*21407|0;t=a+10|0;y=b[t>>1]|0;f=a+14|0;l=b[f>>1]|0;n=(y*19266|0)+e+(H(l,-22725)|0)|0;i=(y*4520|0)+i+(l*19266|0)|0;k=(H(y,-22725)|0)+k+(H(l,-12873)|0)|0;l=(y*12873|0)+m+(l*4520|0)|0;j=v+j-u|0;h=x+h+w|0;g=x+g-w|0;d=v+d+u|0;e=t}b[a>>1]=(l+d|0)>>>11;b[f>>1]=(d-l|0)>>>11;b[s>>1]=(k+g|0)>>>11;b[r>>1]=(g-k|0)>>>11;b[p>>1]=(i+h|0)>>>11;b[e>>1]=(h-i|0)>>>11;b[o>>1]=(n+j|0)>>>11;b[q>>1]=(j-n|0)>>>11}return}function Hm(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=((b[a>>1]|0)*16383|0)+524256|0;s=a+32|0;j=b[s>>1]|0;d=n+(H(j,-8867)|0)|0;r=n+(H(j,-21407)|0)|0;o=a+16|0;c=b[o>>1]|0;p=a+48|0;q=b[p>>1]|0;f=(q*19266|0)+(c*22725|0)|0;e=(H(q,-4520)|0)+(c*19266|0)|0;g=(H(q,-22725)|0)+(c*12873|0)|0;c=(H(q,-12873)|0)+(c*4520|0)|0;q=a+64|0;h=b[q>>1]|0;m=h<<16>>16==0;h=h<<16>>16;i=H(h,-16383)|0;h=m?0:h*16383|0;l=n+(j*21407|0)+h|0;i=m?0:i;j=n+(j*8867|0)+i|0;i=d+i|0;h=r+h|0;r=a+80|0;d=b[r>>1]|0;if(!(d<<16>>16)){m=f;d=g}else{d=d<<16>>16;c=(d*19266|0)+c|0;e=(H(d,-22725)|0)+e|0;m=(d*12873|0)+f|0;d=(d*4520|0)+g|0}n=a+96|0;f=b[n>>1]|0;if(!(f<<16>>16)){k=i;g=l}else{g=f<<16>>16;h=(H(g,-8867)|0)+h|0;k=(g*21407|0)+i|0;j=(H(g,-21407)|0)+j|0;g=(g*8867|0)+l|0}i=a+112|0;f=b[i>>1]|0;if(!(f<<16>>16))f=m;else{l=f<<16>>16;c=(H(l,-22725)|0)+c|0;e=(H(l,-12873)|0)+e|0;f=(l*4520|0)+m|0;d=(l*19266|0)+d|0}b[a>>1]=f+g>>20;b[o>>1]=e+j>>20;b[s>>1]=d+k>>20;b[p>>1]=c+h>>20;b[q>>1]=h-c>>20;b[r>>1]=k-d>>20;b[n>>1]=j-e>>20;b[i>>1]=g-f>>20;return}function Im(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);b=Km(a,b,c)|0;if((b|0)<0)mf(a,16,150143,d);$c=d;return b|0}function Jm(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;i=a+27016|0;g=c[i>>2]|0;f=c[a+27008>>2]|0;e=(H(f+1|0,g)|0)+1|0;h=H(f<<4,c[a+27012>>2]<<2|1)|0;b=a+29924|0;c[b>>2]=Og(e+g|0,17)|0;d=a+29928|0;c[d>>2]=Og((c[i>>2]|0)+e<<2,17)|0;e=a+29932|0;c[e>>2]=Og(h+16|0,17)|0;f=Og(H(g<<2,f)|0,17)|0;a=a+29936|0;c[a>>2]=f;if(((c[b>>2]|0)!=0?(c[d>>2]|0)!=0:0)?!((f|0)==0|(c[e>>2]|0)==0):0)a=0;else{og(b);og(d);og(e);og(a);a=-12}return a|0}function Km(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=j;e=a+28|0;i=c[(c[e>>2]|0)+20>>2]|0;c[b+8>>2]=a;c[b+4>>2]=a;a:do if(!(c[a+696>>2]&1))e=Lm(a,c[b>>2]|0,d)|0;else{h=i+300|0;do if((c[h>>2]|0)!=1){if(!(c[(c[a+12>>2]|0)+68>>2]|0)){if(c[a+700>>2]|0)break;if((c[a+400>>2]|0)==11)break}mf(a,16,150171,f);e=-1;break a}while(0);if(c[(c[e>>2]|0)+4>>2]|0){e=Sg(8)|0;c[b+12>>2]=e;if(!e){e=-12;break}g=c[e+4>>2]|0;c[g>>2]=-1;c[g+4>>2]=-1}fV((c[i>>2]|0)+8|0)|0;g=a+700|0;if((c[g>>2]|0)==0?(c[a+400>>2]|0)!=11:0){f=i+184|0;fV(f)|0;c[i+316>>2]=c[b>>2];c[i+320>>2]=d;c[h>>2]=2;e=i+60|0;$W(e|0)|0;while(1){if((c[h>>2]|0)==1)break;Vb(e|0,f|0)|0}e=c[i+296>>2]|0;gV(f)|0}else e=Lm(a,c[b>>2]|0,d)|0;if(((c[g>>2]|0)==0?(c[a+400>>2]|0)!=11:0)?(c[(c[a+12>>2]|0)+68>>2]|0)==0:0)bi(a);if(e|0)Tf(b+12|0);gV((c[i>>2]|0)+8|0)|0}while(0);$c=j;return e|0}function Lm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);d=Mm(a,b,d)|0;if((d|0)<0){mf(a,16,150233,e);c[b+72>>2]=0;c[b+68>>2]=0}$c=e;return d|0}function Mm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);i=m+8|0;e=m;j=c[a+592>>2]|0;k=a+8|0;do if(!(c[k>>2]|0)){h=a+92|0;g=a+96|0;f=a+872|0;if((oh(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0,c[f+4>>2]|0,-1,0,a)|0)>=0?(c[a+112>>2]|0)>=0:0){f=b+68|0;e=b+72|0;if((c[f>>2]|0)>=1?(c[e>>2]|0)>=1:0)e=1;else{o=c[h>>2]|0;h=c[a+680>>2]|0;n=0-(0-(c[a+100>>2]|0)>>h)|0;c[f>>2]=(o|0)>(n|0)?o:n;g=c[g>>2]|0;h=0-(0-(c[a+104>>2]|0)>>h)|0;c[e>>2]=(g|0)>(h|0)?g:h;e=0}if((((c[b>>2]|0)==0?(c[b+4>>2]|0)==0:0)?(c[b+8>>2]|0)==0:0)?(c[b+12>>2]|0)==0:0){f=e;l=13;break}mf(a,16,150298,i);e=-22;break}mf(a,16,150254,e);e=-22}else{f=1;l=13}while(0);if((l|0)==13){e=Nm(a,b)|0;if((e|0)>=0){if(j){e=c[j+20>>2]|0;if(!e)l=18;else e=hd[e&15](a,b)|0}else{c[a+768>>2]=c[a+112>>2];l=18}if((l|0)==18){e=id[c[a+400>>2]&15](a,b,d)|0;if((e|0)>=0){Om(a,b);e=Pm(b)|0}}if((c[k>>2]|f|0)==0?(c[(c[a+12>>2]|0)+116>>2]&16|0)==0:0){c[b+68>>2]=c[a+92>>2];c[b+72>>2]=c[a+96>>2]}if((e|0)<0)sg(b)}}$c=m;return e|0}function Nm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);h=l+24|0;k=l+16|0;j=l+8|0;i=l;g=c[(c[a+28>>2]|0)+40>>2]|0;do if(g){f=g+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;d=b+104|0;c[d>>2]=e;c[d+4>>2]=f;d=b+112|0;c[d>>2]=e;c[d+4>>2]=f;d=g+56|0;f=c[d+4>>2]|0;e=b+328|0;c[e>>2]=c[d>>2];c[e+4>>2]=f;e=g+48|0;f=c[e+4>>2]|0;d=b+336|0;c[d>>2]=c[e>>2];c[d+4>>2]=f;c[b+356>>2]=c[g+28>>2];d=0;while(1){if(d>>>0>=8){e=9;break}e=Ih(g,c[74972+(d<<3)>>2]|0,h)|0;if(e|0){f=rh(b,c[74972+(d<<3)+4>>2]|0,c[h>>2]|0)|0;if(!f){e=7;break}YW(c[f+4>>2]|0,e|0,c[h>>2]|0)|0}d=d+1|0}if((e|0)==7){d=-12;break}else if((e|0)==9){Rm(g,b);f=b+296|0;d=c[f>>2]|0;c[f>>2]=(c[g+36>>2]&4|0)==0?d&-5:d|4;e=10;break}}else e=10;while(0);a:do if((e|0)==10){f=a+584|0;g=c[f+4>>2]|0;d=b+224|0;c[d>>2]=c[f>>2];c[d+4>>2]=g;d=b+304|0;if((c[d>>2]|0)==2)c[d>>2]=c[a+316>>2];d=b+308|0;if((c[d>>2]|0)==2)c[d>>2]=c[a+320>>2];d=b+312|0;if((c[d>>2]|0)==2)c[d>>2]=c[a+324>>2];d=b+300|0;if(!(c[d>>2]|0))c[d>>2]=c[a+328>>2];d=b+316|0;if(!(c[d>>2]|0))c[d>>2]=c[a+332>>2];switch(c[(c[a+12>>2]|0)+8>>2]|0){case 0:{c[b+80>>2]=c[a+112>>2];d=b+92|0;if(!(c[d>>2]|0)){g=a+188|0;j=c[g+4>>2]|0;k=d;c[k>>2]=c[g>>2];c[k+4>>2]=j}e=c[b+68>>2]|0;if(!e){d=0;break a}f=c[b+72>>2]|0;if(!f){d=0;break a};c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];if((Sm(e,f,h)|0)>=0){d=0;break a}k=b+96|0;j=c[k>>2]|0;c[i>>2]=c[d>>2];c[i+4>>2]=j;mf(a,24,176830,i);c[b+92>>2]=0;c[k>>2]=1;d=0;break a}case 1:break;default:{d=0;break a}}d=b+232|0;if(!(c[d>>2]|0))c[d>>2]=c[a+344>>2];d=b+80|0;if((c[d>>2]|0)<0)c[d>>2]=c[a+352>>2];f=b+240|0;i=f;do if((c[i>>2]|0)==0&(c[i+4>>2]|0)==0){g=a+376|0;e=g;d=c[e>>2]|0;e=c[e+4>>2]|0;if((d|0)==0&(e|0)==0){d=c[a+348>>2]|0;if(d>>>0<=64)break;c[k>>2]=d;mf(a,16,150462,k);d=-38;break a}d=mh(d,e)|0;if((d|0)==(c[a+348>>2]|0)){j=g;k=c[j+4>>2]|0;a=f;c[a>>2]=c[j>>2];c[a+4>>2]=k;break}else{mf(a,16,150425,j);d=-22;break a}}else d=c[a+348>>2]|0;while(0);c[b+352>>2]=d;d=0}while(0);$c=l;return d|0}function Om(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);i=j+16|0;g=j;a:do if(!(c[a+8>>2]|0)){d=b+80|0;e=fh(c[d>>2]|0)|0;d=Hg(c[d>>2]|0)|0;if(!d)f=0;else f=c[d+8>>2]|0;e=(e|0)!=1|(f&2|0)==0?e:2;d=0;while(1){if((d|0)>=(e|0))break;if(!(c[b+(d<<2)>>2]|0)){h=7;break}else d=d+1|0}if((h|0)==7){c[g>>2]=150341;c[g+4>>2]=129192;c[g+8>>2]=1782;mf(0,0,164250,g);ub()}d=(f&64|0)==0|(e|0)!=1?e:2;e=(d|0)>0;while(1){if(!(e&d>>>0<8))break a;f=b+(d<<2)|0;if(c[f>>2]|0)mf(a,16,150356,i);c[f>>2]=0;d=d+1|0}}while(0);$c=j;return}function Pm(a){a=a|0;var b=0,d=0,e=0;e=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);d=e;b=a+400|0;Tf(b);a=dg(20)|0;c[d>>2]=a;do if(a){a=Eg(a,20,20,0,1)|0;if(!a){hf(d);a=-12;break}else{c[b>>2]=a;a=0;break}}else a=-12;while(0);$c=e;return a|0}function Qm(a,b){a=a|0;b=b|0;var d=0,e=0;e=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);d=e;c[d>>2]=b;a=c[b+8>>2]|0;if(a|0)nd[a&63](c[b+4>>2]|0);a=c[b+16>>2]|0;if(a|0)nd[a&63](c[b+12>>2]|0);hf(d);$c=e;return}function Rm(a,b){a=a|0;b=b|0;var d=0,e=0;d=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=d;a=Ih(a,13,e)|0;Um(a,c[e>>2]|0,b+344|0)|0;$c=d;return}function Sm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=c[d+4>>2]|0;if((e|0)>=1?(f=c[d>>2]|0,(f|0)>=0):0){d=(f|0)<(e|0);if((f|0)==0|(f|0)==(e|0))d=0;else{g=d?e:f;f=d?f:e;d=Tm(d?a:b,0,f,((f|0)<0)<<31>>31,g,((g|0)<0)<<31>>31,0)|0;f=M()|0;d=(f|0)>0|(f|0)==0&d>>>0>0?0:-22}}else d=-22;return d|0}function Tm(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;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;do if(!((d|0)<0|((f|0)<0|(f|0)==0&e>>>0<1))?(j=g&-8193,!(j>>>0>5|(j|0)==4)):0){if(g&8192){j=JW(a|0,b|0,1,-2147483648)|0;i=M()|0;if(i>>>0<0|(i|0)==0&j>>>0<2)break;g=g+-8192|0}if((b|0)<0){j=(b|0)>-2147483648|(b|0)==-2147483648&a>>>0>1;j=KW(0,0,(j?a:1)|0,(j?b:-2147483648)|0)|0;f=Tm(j,M()|0,c,d,e,f,g>>>1&1^g)|0;f=KW(0,0,f|0,M()|0)|0;L(M()|0);return f|0}if((g|0)==5){g=NW(e|0,f|0,2,0)|0;h=M()|0}else{j=(g&1|0)==0;g=JW(e|0,f|0,-1,-1)|0;h=M()|0;g=j?0:g;h=j?0:h}if(!(((d|0)<0|(d|0)==0&c>>>0<2147483648)&((f|0)<0|(f|0)==0&e>>>0<2147483648))){l=SW(c|0,d|0,32)|0;k=M()|0;j=PW(l|0,k|0,a|0,0)|0;d=M()|0;i=PW(c|0,0,b|0,0)|0;i=JW(j|0,d|0,i|0,M()|0)|0;d=M()|0;c=PW(c|0,0,a|0,0)|0;c=JW(0,i|0,c|0,M()|0)|0;j=M()|0;a=PW(l|0,k|0,b|0,0)|0;a=JW(d|0,0,a|0,M()|0)|0;a=JW(a|0,M()|0,(j>>>0>>0|(j|0)==(i|0)&c>>>0<0)&1|0,0)|0;b=M()|0;j=JW(g|0,h|0,c|0,j|0)|0;c=M()|0;b=JW(a|0,b|0,(c>>>0>>0|(c|0)==(h|0)&j>>>0>>0)&1|0,0)|0;a=63;g=M()|0;h=d;while(1){if((a|0)<=-1)break;d=TW(j|0,c|0,a|0)|0;M()|0;n=UW(b|0,g|0,1)|0;m=M()|0;n=d&1|n;d=UW(i|0,h|0,1)|0;l=M()|0;k=m>>>0>>0|(m|0)==(f|0)&n>>>0>>0;m=KW(n|0,m|0,(k?0:e)|0,(k?0:f)|0)|0;a=a+-1|0;b=m;g=M()|0;i=d|(k^1)&1;h=l}a=(h|0)<0;b=a?-2147483648:h;a=a?0:i;break}if((b|0)<0|(b|0)==0&a>>>0<2147483648){a=PW(c|0,d|0,a|0,b|0)|0;a=JW(g|0,h|0,a|0,M()|0)|0;a=NW(a|0,M()|0,e|0,f|0)|0;b=M()|0;break}i=NW(a|0,b|0,e|0,f|0)|0;j=M()|0;a=QW(a|0,b|0,e|0,f|0)|0;a=PW(a|0,M()|0,c|0,d|0)|0;a=JW(a|0,M()|0,g|0,h|0)|0;a=NW(a|0,M()|0,e|0,f|0)|0;b=M()|0;if(((c|0)!=0|(d|0)!=0)&((j|0)>0|(j|0)==0&i>>>0>2147483646)?(n=KW(-1,2147483647,a|0,b|0)|0,n=NW(n|0,M()|0,c|0,d|0)|0,m=M()|0,(j|0)>(m|0)|(j|0)==(m|0)&i>>>0>n>>>0):0){b=-2147483648;a=0;break}n=PW(i|0,j|0,c|0,d|0)|0;a=JW(a|0,b|0,n|0,M()|0)|0;b=M()|0}else{b=-2147483648;a=0}while(0);L(b|0);return a|0}function Um(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;f=b+c|0;a:do if((c|0)!=0&((b|0)!=0&(d|0)!=0))if(!(a[f+-1>>0]|0)){e=b;b=0;while(1){if(e>>>0>=f>>>0)break a;c=e+(eU(e)|0)+1|0;if(c>>>0>=f>>>0){b=-1094995529;break a}if(!(a[e>>0]|0)){b=-1094995529;break a}b=uh(d,e,c,0)|0;if((b|0)<0)break a;e=c+(eU(c)|0)+1|0}}else b=-1094995529;else b=0;while(0);return b|0}function Vm(a){a=a|0;switch(a|0){case 12:{a=0;break}case 13:{a=4;break}case 14:{a=5;break}default:{}}return a|0}function Wm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=j;h=j+8|0;d=c[a+28216>>2]|0;e=c[d+1184>>2]|0;a:do switch(e|0){case 9:{d=c[d+12>>2]|0;if((d|0)==3){e=h+4|0;d=(c[(c[a+4>>2]|0)+324>>2]|0)==0?75:68;g=23;break a}else{e=h+4|0;d=(d|0)==2?72:62;g=23;break a}}case 10:{d=c[d+12>>2]|0;if((d|0)==3){e=h+4|0;d=(c[(c[a+4>>2]|0)+324>>2]|0)==0?77:70;g=23;break a}else{e=h+4|0;d=(d|0)==2?66:64;g=23;break a}}case 12:{d=c[d+12>>2]|0;if((d|0)==3){e=h+4|0;d=(c[(c[a+4>>2]|0)+324>>2]|0)==0?137:133;g=23;break a}else{e=h+4|0;d=(d|0)==2?129:125;g=23;break a}}case 14:{d=c[d+12>>2]|0;if((d|0)==3){e=h+4|0;d=(c[(c[a+4>>2]|0)+324>>2]|0)==0?139:135;g=23;break a}else{e=h+4|0;d=(d|0)==2?131:127;g=23;break a}}case 8:{e=c[d+12>>2]|0;if((e|0)==3){d=c[a+4>>2]|0;if(!(c[d+324>>2]|0)){e=h+4|0;d=73;g=23;break a}else{e=h+4|0;d=(c[d+328>>2]|0)==2?14:5;g=23;break a}}d=a+4|0;f=c[d>>2]|0;if((e|0)==2){e=h+4|0;d=(c[f+328>>2]|0)==2?13:4;g=23;break a}e=c[(c[f+12>>2]|0)+24>>2]|0;if(!e){e=h+4|0;d=(c[f+328>>2]|0)==2?12:0;g=23}else{i=e;e=h;g=24}break}default:{d=c[a+4>>2]|0;c[f>>2]=e;mf(d,16,150639,f);d=-1094995529}}while(0);if((g|0)==23){c[h>>2]=d;i=h;d=a+4|0;g=24}b:do if((g|0)==24){c[e>>2]=-1;g=c[d>>2]|0;h=g+112|0;f=(b|0)!=0;e=0;while(1){d=c[i+(e<<2)>>2]|0;if((d|0)==-1)break;if(f|(d|0)!=(c[h>>2]|0))e=e+1|0;else break b}d=eM(g,i)|0}while(0);$c=j;return d|0}function Xm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[a>>2]|0;g=c[b+4>>2]|0;h=PW(g|0,((g|0)<0)<<31>>31|0,f|0,((f|0)<0)<<31>>31|0)|0;d=M()|0;e=c[b>>2]|0;b=c[a+4>>2]|0;a=PW(b|0,((b|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0;a=KW(h|0,d|0,a|0,M()|0)|0;d=M()|0;if((a|0)==0&(d|0)==0)if((g|0)==0|(b|0)==0)if(!f)b=-2147483648;else return ((e|0)==0?-2147483648:(f>>31)-(e>>31)|0)|0;else b=0;else{b=b^g;b=SW(a^b|0,d^((b|0)<0)<<31>>31|0,63)|0;M()|0;b=b|1}return b|0}function Ym(a){a=a|0;var b=0,d=0,e=0;b=c[a+4>>2]|0;switch(b|0){case 66:{d=512;e=3;break}case 244:case 122:case 110:{d=2048;e=3;break}default:{}}if((e|0)==3)b=c[a+1196>>2]<<8&d|b;return b|0}function Zm(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);i=o+16|0;h=o;f=c[a+28216>>2]|0;b=c[f+84>>2]|0;d=c[f+80>>2]|0;e=c[f+88>>2]|0;f=c[f+92>>2]|0;m=c[a+25668>>2]|0;p=d+b|0;k=m-p|0;n=c[a+25672>>2]|0;g=f+e|0;j=n-g|0;if(m>>>0<=p>>>0){c[h>>2]=151197;c[h+4>>2]=138054;c[h+8>>2]=878;mf(0,0,164250,h);ub()}if(n>>>0<=g>>>0){c[i>>2]=151251;c[i+4>>2]=138054;c[i+8>>2]=879;mf(0,0,164250,i);ub()}g=a+29664|0;i=c[g>>2]|0;h=a+29668|0;if((((i|0)>0?(l=c[h>>2]|0,(e|d|0)==0&(l|0)>0):0)?(i+15^k+15)>>>0<16:0)?!((l|0)>(j|0)|((i|0)>(k|0)|(l+15^j+15)>>>0>15)):0){h=l;g=i;f=n-l|0;e=0;d=0;b=m-i|0}else{c[g>>2]=0;c[h>>2]=0;h=j;g=k}p=c[a+4>>2]|0;c[p+100>>2]=m;c[p+104>>2]=n;c[p+92>>2]=g;c[p+96>>2]=h;c[a+25720>>2]=b;c[a+25716>>2]=d;c[a+25724>>2]=e;c[a+25728>>2]=f;$c=o;return}function _m(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);j=n+32|0;k=n+24|0;g=n+16|0;f=n+8|0;e=c[a+28216>>2]|0;l=a+4|0;i=c[l>>2]|0;h=e+100|0;c[j>>2]=c[h>>2];c[j+4>>2]=c[h+4>>2];$m(i,j)|0;an(c[(c[l>>2]|0)+112>>2]|0,a+25676|0,a+25680|0)|0;if(c[e+132>>2]|0){i=UW(c[e+140>>2]|0,0,(c[a+25704>>2]|0)>>>0<44|0)|0;j=M()|0;h=c[l>>2]|0;bn(h+764|0,h+760|0,H(c[h+84>>2]|0,c[e+136>>2]|0)|0,0,i,j,1073741824,0)|0}ng(a);c[a+26384>>2]=0;c[a+29564>>2]=1;cn(a);b=dn(a)|0;a:do if((b|0)<0){mf(c[l>>2]|0,16,150612,n);m=15}else{b=e+1184|0;d=c[b>>2]|0;b:do if((d+-8|0)>>>0<=6){switch(d|0){case 11:case 13:break b;default:{}}c[(c[l>>2]|0)+676>>2]=d;c[a+29596>>2]=d;j=e+12|0;i=c[j>>2]|0;c[a+29592>>2]=i;c[a+25664>>2]=(d|0)>8&1;c[a+27048>>2]=i;c[a+27044>>2]=d;en(a+16|0,d,i);fn(a+152|0,c[e+1188>>2]|0);gn(a+184|0,c[b>>2]|0);hn(a+25736|0,c[(c[l>>2]|0)+16>>2]|0,c[b>>2]|0,c[j>>2]|0);jn(a+8|0,c[b>>2]|0);if(!(c[(c[l>>2]|0)+696>>2]&2)){b=kn(a,c[a+25628>>2]|0)|0;if((b|0)>=0){b=0;d=1;break a}mf(c[l>>2]|0,16,150665,g);m=15;break a}e=a+25632|0;f=a+25628|0;g=a+25732|0;h=a+27016|0;i=a+26400|0;j=a+26404|0;d=0;while(1){if((d|0)>=(c[e>>2]|0)){b=0;d=1;break a}o=c[f>>2]|0;b=o+(d*34768|0)|0;c[b>>2]=a;p=H(c[h>>2]|0,d<<4)|0;c[o+(d*34768|0)+21704>>2]=(c[g>>2]|0)+p;c[o+(d*34768|0)+32848>>2]=(c[i>>2]|0)+(p<<1);c[o+(d*34768|0)+32852>>2]=(c[j>>2]|0)+(p<<1);b=kn(a,b)|0;if((b|0)<0)break;else d=d+1|0}mf(c[l>>2]|0,16,150665,k);m=15;break a}while(0);b=c[l>>2]|0;c[f>>2]=d;mf(b,16,150639,f);b=-1094995529;m=15}while(0);if((m|0)==15){ng(a);d=0}c[a+25692>>2]=d;$c=n;return b|0}function $m(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);d=f+8|0;e=f;h=c[a+92>>2]|0;g=c[a+96>>2]|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];d=Sm(h,g,d)|0;if((d|0)<0){h=c[b+4>>2]|0;c[e>>2]=c[b>>2];c[e+4>>2]=h;mf(a,24,151168,e);c[a+188>>2]=0;c[a+192>>2]=1}else{g=b;h=c[g+4>>2]|0;d=a+188|0;c[d>>2]=c[g>>2];c[d+4>>2]=h;d=0}$c=f;return d|0}function an(a,b,e){a=a|0;b=b|0;e=e|0;a=Hg(a)|0;if(!a)a=-38;else{c[b>>2]=d[a+5>>0];c[e>>2]=d[a+6>>0];a=0}return a|0}function bn(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;x=g^e;n=(e|0)>-1|(e|0)==-1&d>>>0>4294967295;j=KW(0,0,d|0,e|0)|0;k=M()|0;j=n?d:j;k=n?e:k;n=(g|0)>-1|(g|0)==-1&f>>>0>4294967295;l=KW(0,0,f|0,g|0)|0;m=M()|0;l=n?f:l;m=n?g:m;n=dM(j,k,l,m)|0;o=M()|0;if(!((n|0)==0&(o|0)==0)){d=NW(j|0,k|0,n|0,o|0)|0;e=M()|0;f=NW(l|0,m|0,n|0,o|0)|0;g=M()|0}w=(e|0)>(i|0)|(e|0)==(i|0)&d>>>0>h>>>0;v=(g|0)>(i|0)|(g|0)==(i|0)&f>>>0>h>>>0;j=v|w;k=j?1:d;j=j?0:f;a:do if(!((f|0)==0&(g|0)==0|(v|w)^1)){w=0;v=1;while(1){m=NW(d|0,e|0,f|0,g|0)|0;l=M()|0;n=PW(m|0,l|0,f|0,g|0)|0;n=KW(d|0,e|0,n|0,M()|0)|0;o=M()|0;r=((k|0)<0)<<31>>31;p=PW(m|0,l|0,k|0,r|0)|0;s=((w|0)<0)<<31>>31;p=JW(p|0,M()|0,w|0,s|0)|0;z=M()|0;t=((j|0)<0)<<31>>31;q=PW(m|0,l|0,j|0,t|0)|0;u=((v|0)<0)<<31>>31;q=JW(q|0,M()|0,v|0,u|0)|0;y=M()|0;if((z|0)>(i|0)|(z|0)==(i|0)&p>>>0>h>>>0|((y|0)>(i|0)|(y|0)==(i|0)&q>>>0>h>>>0))break;if((n|0)==0&(o|0)==0){k=p;j=q;f=0;g=0;break a}else{e=g;d=f;v=j;w=k;k=p;j=q;f=n;g=o}}if(k){m=KW(h|0,i|0,w|0,s|0)|0;m=NW(m|0,M()|0,k|0,r|0)|0;l=M()|0}if(j){i=KW(h|0,i|0,v|0,u|0)|0;i=NW(i|0,M()|0,j|0,t|0)|0;z=M()|0;y=l>>>0>z>>>0|(l|0)==(z|0)&m>>>0>i>>>0;m=y?i:m;l=y?z:l}y=UW(j|0,t|0,1)|0;y=PW(y|0,M()|0,m|0,l|0)|0;y=JW(y|0,M()|0,v|0,u|0)|0;y=PW(y|0,M()|0,f|0,g|0)|0;h=M()|0;z=PW(d|0,e|0,j|0,t|0)|0;i=M()|0;if(h>>>0>i>>>0|(h|0)==(i|0)&y>>>0>z>>>0){j=PW(m|0,l|0,j|0,t|0)|0;j=JW(j|0,M()|0,v|0,u|0)|0;M()|0;k=PW(m|0,l|0,k|0,r|0)|0;k=JW(k|0,M()|0,w|0,s|0)|0;M()|0}}else{f=0;g=0}while(0);c[a>>2]=(x|0)<0?0-k|0:k;c[b>>2]=j;return (f|0)==0&(g|0)==0&1|0}function cn(b){b=b|0;var e=0,f=0,g=0;e=0;while(1){if((e|0)==16){e=0;break}g=d[136146+e>>0]|0;a[b+26428+e>>0]=g<<2&12|g>>>2;g=d[150892+e>>0]|0;a[b+26572+e>>0]=g<<2&12|g>>>2;e=e+1|0}while(1){if((e|0)==64)break;g=d[136163+e>>0]|0;a[b+26444+e>>0]=g<<3&56|g>>>3;g=d[150909+e>>0]|0;a[b+26508+e>>0]=g<<3&56|g>>>3;g=d[150974+e>>0]|0;a[b+26588+e>>0]=g<<3&56|g>>>3;g=d[151039+e>>0]|0;a[b+26652+e>>0]=g<<3&56|g>>>3;e=e+1|0}e=b+26716|0;if(!(c[(c[b+28216>>2]|0)+16>>2]|0)){f=b+26428|0;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];e=b+26732|0;f=b+26444|0;g=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));e=b+26796|0;f=b+26508|0;g=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));e=b+26860|0;f=b+26572|0;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];e=b+26876|0;f=b+26588|0;g=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));e=b+26940|0;f=b+26652|0;g=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0))}else{f=136146;g=e+16|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));e=b+26732|0;f=136163;g=e+64|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));e=b+26796|0;f=150909;g=e+64|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));e=b+26860|0;f=150892;g=e+16|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));e=b+26876|0;f=150974;g=e+64|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));e=b+26940|0;f=151039;g=e+64|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0))}return}function dn(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=$c;$c=$c+96|0;if(($c|0)>=(ad|0))N(96);r=v+80|0;q=v+72|0;p=v+64|0;o=v+56|0;l=v+48|0;i=v+40|0;g=v+32|0;f=v+24|0;e=v+16|0;d=v+8|0;s=a+27016|0;h=c[s>>2]|0;t=a+27008|0;n=H((c[t>>2]|0)+1|0,h)|0;b=c[a+25632>>2]|0;h=H((b|0)>1?b:1,h<<1)|0;b=Bg(h,8)|0;c[a+25732>>2]=b;a:do if(!b){mf(c[a+4>>2]|0,16,150689,v);u=29}else{j=a+25628|0;c[(c[j>>2]|0)+21704>>2]=b;k=dg(n*48|0)|0;c[a+25972>>2]=k;m=(n|0)==0;if(!(m|(k|0)!=0)){mf(c[a+4>>2]|0,16,150689,d);u=29;break}d=dg((c[s>>2]|0)+n<<1)|0;k=a+28220|0;c[k>>2]=d;if((d|0)==0?(c[s>>2]|0)+n&2147483647|0:0){mf(c[a+4>>2]|0,16,150689,e);u=29;break}d=n<<1;e=dg(d)|0;c[a+26392>>2]=e;if(!((d|0)==0|(e|0)!=0)){mf(c[a+4>>2]|0,16,150689,f);u=29;break}f=dg(n)|0;c[a+26396>>2]=f;if(!(m|(f|0)!=0)){mf(c[a+4>>2]|0,16,150689,g);u=29;break}g=Bg(h,16)|0;d=a+26400|0;c[d>>2]=g;if(!g){mf(c[a+4>>2]|0,16,150689,i);u=29;break}i=Bg(h,16)|0;b=a+26404|0;c[b>>2]=i;if(!i){mf(c[a+4>>2]|0,16,150689,l);u=29;break}c[(c[j>>2]|0)+32848>>2]=c[d>>2];c[(c[j>>2]|0)+32852>>2]=c[b>>2];b=n<<2;l=dg(b)|0;c[a+26408>>2]=l;d=(b|0)==0;if(!(d|(l|0)!=0)){mf(c[a+4>>2]|0,16,150689,o);u=29;break}o=dg(n)|0;c[a+26388>>2]=o;if(!(m|(o|0)!=0)){mf(c[a+4>>2]|0,16,150689,p);u=29;break}_W(c[k>>2]|0,-1,(c[s>>2]|0)+n<<1|0)|0;c[a+26372>>2]=(c[k>>2]|0)+(c[s>>2]<<1<<1)+2;p=dg(b)|0;h=a+26360|0;c[h>>2]=p;if(!(d|(p|0)!=0)){mf(c[a+4>>2]|0,16,150689,q);u=29;break}g=dg(b)|0;c[a+26364>>2]=g;if(!(d|(g|0)!=0)){mf(c[a+4>>2]|0,16,150689,r);u=29;break}f=a+27012|0;e=a+26368|0;d=0;while(1){if((d|0)<(c[t>>2]|0))b=0;else{b=0;break a}while(1){if((b|0)>=(c[f>>2]|0))break;a=(H(c[s>>2]|0,d)|0)+b|0;r=(H(c[e>>2]|0,d)|0)+b<<2;c[(c[h>>2]|0)+(a<<2)>>2]=r;c[g+(a<<2)>>2]=((a|0)%(c[s>>2]<<1|0)|0)<<3;b=b+1|0}d=d+1|0}}while(0);if((u|0)==29){ng(a);b=-12}$c=v;return b|0}function en(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=g;h=(b+-9|0)>>>0<8;c[a+128>>2]=h?9:8;c[a+124>>2]=h?11:10;a:do switch(b|0){case 9:{c[a+84>>2]=12;c[a+88>>2]=13;c[a+92>>2]=14;c[a+96>>2]=15;c[a+100>>2]=4;c[a+104>>2]=5;e=(d|0)<2;c[a+108>>2]=e?7:6;c[a+112>>2]=8;c[a+116>>2]=16;c[a+120>>2]=e?22:21;c[a>>2]=5;c[a+4>>2]=6;c[a+8>>2]=7;c[a+12>>2]=8;c[a+16>>2]=1;c[a+20>>2]=2;c[a+24>>2]=3;c[a+28>>2]=4;c[a+32>>2]=9;c[a+36>>2]=10;c[a+40>>2]=11;c[a+44>>2]=5;c[a+48>>2]=6;c[a+52>>2]=7;c[a+56>>2]=12;c[a+60>>2]=e?14:13;c[a+64>>2]=e?16:15;c[a+68>>2]=8;c[a+72>>2]=e?10:9;e=e?12:11;break}case 10:{c[a+84>>2]=17;c[a+88>>2]=18;c[a+92>>2]=19;c[a+96>>2]=20;c[a+100>>2]=17;c[a+104>>2]=18;e=(d|0)<2;c[a+108>>2]=e?20:19;c[a+112>>2]=21;c[a+116>>2]=21;c[a+120>>2]=e?24:23;c[a>>2]=9;c[a+4>>2]=10;c[a+8>>2]=11;c[a+12>>2]=12;c[a+16>>2]=5;c[a+20>>2]=6;c[a+24>>2]=7;c[a+28>>2]=8;c[a+32>>2]=22;c[a+36>>2]=23;c[a+40>>2]=24;c[a+44>>2]=13;c[a+48>>2]=14;c[a+52>>2]=15;c[a+56>>2]=25;c[a+60>>2]=e?27:26;c[a+64>>2]=e?29:28;c[a+68>>2]=16;c[a+72>>2]=e?18:17;e=e?20:19;break}case 12:{c[a+84>>2]=22;c[a+88>>2]=23;c[a+92>>2]=24;c[a+96>>2]=25;c[a+100>>2]=30;c[a+104>>2]=31;e=(d|0)<2;c[a+108>>2]=e?33:32;c[a+112>>2]=34;c[a+116>>2]=26;c[a+120>>2]=e?26:25;c[a>>2]=13;c[a+4>>2]=14;c[a+8>>2]=15;c[a+12>>2]=16;c[a+16>>2]=9;c[a+20>>2]=10;c[a+24>>2]=11;c[a+28>>2]=12;c[a+32>>2]=35;c[a+36>>2]=36;c[a+40>>2]=37;c[a+44>>2]=21;c[a+48>>2]=22;c[a+52>>2]=23;c[a+56>>2]=38;c[a+60>>2]=e?40:39;c[a+64>>2]=e?42:41;c[a+68>>2]=24;c[a+72>>2]=e?26:25;e=e?28:27;break}case 14:{c[a+84>>2]=27;c[a+88>>2]=28;c[a+92>>2]=29;c[a+96>>2]=30;c[a+100>>2]=43;c[a+104>>2]=44;e=(d|0)<2;c[a+108>>2]=e?46:45;c[a+112>>2]=47;c[a+116>>2]=31;c[a+120>>2]=e?28:27;c[a>>2]=17;c[a+4>>2]=18;c[a+8>>2]=19;c[a+12>>2]=20;c[a+16>>2]=13;c[a+20>>2]=14;c[a+24>>2]=15;c[a+28>>2]=16;c[a+32>>2]=48;c[a+36>>2]=49;c[a+40>>2]=50;c[a+44>>2]=29;c[a+48>>2]=30;c[a+52>>2]=31;c[a+56>>2]=51;c[a+60>>2]=e?53:52;c[a+64>>2]=e?55:54;c[a+68>>2]=32;c[a+72>>2]=e?34:33;e=e?36:35;break}default:if((b|0)<9){c[a+84>>2]=32;c[a+88>>2]=33;c[a+92>>2]=34;c[a+96>>2]=35;c[a+100>>2]=56;c[a+104>>2]=57;e=(d|0)<2;c[a+108>>2]=e?59:58;c[a+112>>2]=60;c[a+116>>2]=36;c[a+120>>2]=e?30:29;c[a>>2]=21;c[a+4>>2]=22;c[a+8>>2]=23;c[a+12>>2]=24;c[a+16>>2]=17;c[a+20>>2]=18;c[a+24>>2]=19;c[a+28>>2]=20;c[a+32>>2]=61;c[a+36>>2]=62;c[a+40>>2]=63;c[a+44>>2]=37;c[a+48>>2]=38;c[a+52>>2]=39;c[a+56>>2]=64;c[a+60>>2]=e?66:65;c[a+64>>2]=e?68:67;c[a+68>>2]=40;c[a+72>>2]=e?42:41;e=e?44:43;break a}else{c[f>>2]=150801;c[f+4>>2]=150814;c[f+8>>2]=150;mf(0,0,164250,f);ub()}}while(0);c[a+76>>2]=e;c[a+80>>2]=0;c[a+132>>2]=9;$c=g;return}function fn(a,b){a=a|0;b=b|0;b=(b+-9|0)>>>0<8;c[a>>2]=b?26:25;c[a+4>>2]=b?28:27;c[a+8>>2]=b?30:29;c[a+12>>2]=b?32:31;c[a+16>>2]=b?34:33;c[a+20>>2]=b?36:35;c[a+24>>2]=b?38:37;c[a+28>>2]=b?40:39;return}function gn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,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;switch(b|0){case 9:{b=101;d=105;e=109;f=113;g=102;h=106;i=110;j=114;k=103;l=107;m=111;n=115;o=104;p=108;q=112;r=116;s=133;t=137;u=141;v=145;w=134;x=138;y=142;z=146;A=135;B=139;C=143;D=147;E=136;F=140;G=144;H=148;I=117;J=121;K=125;L=129;M=118;N=122;O=126;P=130;Q=119;R=123;S=127;T=131;U=120;V=124;W=128;X=132;Y=37;Z=41;_=45;$=49;aa=38;ba=42;ca=46;da=50;ea=39;fa=43;ga=47;ha=51;ia=40;ja=44;ka=48;la=52;ma=85;na=89;oa=93;pa=97;qa=86;ra=90;sa=94;ta=98;ua=87;va=91;wa=95;xa=99;ya=88;za=92;Aa=96;Ba=100;Ca=69;Da=73;Ea=77;Fa=81;Ga=70;Ha=74;Ia=78;Ja=82;Ka=71;La=75;Ma=79;Na=83;Oa=72;Pa=76;Qa=80;Ra=84;Sa=53;Ta=57;Ua=61;Va=65;Wa=54;Xa=58;Ya=62;Za=66;_a=55;$a=59;ab=63;bb=67;cb=56;db=60;eb=64;fb=68;break}case 10:{b=325;d=329;e=333;f=337;g=326;h=330;i=334;j=338;k=327;l=331;m=335;n=339;o=328;p=332;q=336;r=340;s=357;t=361;u=365;v=369;w=358;x=362;y=366;z=370;A=359;B=363;C=367;D=371;E=360;F=364;G=368;H=372;I=341;J=345;K=349;L=353;M=342;N=346;O=350;P=354;Q=343;R=347;S=351;T=355;U=344;V=348;W=352;X=356;Y=261;Z=265;_=269;$=273;aa=262;ba=266;ca=270;da=274;ea=263;fa=267;ga=271;ha=275;ia=264;ja=268;ka=272;la=276;ma=309;na=313;oa=317;pa=321;qa=310;ra=314;sa=318;ta=322;ua=311;va=315;wa=319;xa=323;ya=312;za=316;Aa=320;Ba=324;Ca=293;Da=297;Ea=301;Fa=305;Ga=294;Ha=298;Ia=302;Ja=306;Ka=295;La=299;Ma=303;Na=307;Oa=296;Pa=300;Qa=304;Ra=308;Sa=277;Ta=281;Ua=285;Va=289;Wa=278;Xa=282;Ya=286;Za=290;_a=279;$a=283;ab=287;bb=291;cb=280;db=284;eb=288;fb=292;break}case 12:{b=437;d=441;e=445;f=449;g=438;h=442;i=446;j=450;k=439;l=443;m=447;n=451;o=440;p=444;q=448;r=452;s=469;t=473;u=477;v=481;w=470;x=474;y=478;z=482;A=471;B=475;C=479;D=483;E=472;F=476;G=480;H=484;I=453;J=457;K=461;L=465;M=454;N=458;O=462;P=466;Q=455;R=459;S=463;T=467;U=456;V=460;W=464;X=468;Y=373;Z=377;_=381;$=385;aa=374;ba=378;ca=382;da=386;ea=375;fa=379;ga=383;ha=387;ia=376;ja=380;ka=384;la=388;ma=421;na=425;oa=429;pa=433;qa=422;ra=426;sa=430;ta=434;ua=423;va=427;wa=431;xa=435;ya=424;za=428;Aa=432;Ba=436;Ca=405;Da=409;Ea=413;Fa=417;Ga=406;Ha=410;Ia=414;Ja=418;Ka=407;La=411;Ma=415;Na=419;Oa=408;Pa=412;Qa=416;Ra=420;Sa=389;Ta=393;Ua=397;Va=401;Wa=390;Xa=394;Ya=398;Za=402;_a=391;$a=395;ab=399;bb=403;cb=392;db=396;eb=400;fb=404;break}case 14:{b=549;d=553;e=557;f=561;g=550;h=554;i=558;j=562;k=551;l=555;m=559;n=563;o=552;p=556;q=560;r=564;s=581;t=585;u=589;v=593;w=582;x=586;y=590;z=594;A=583;B=587;C=591;D=595;E=584;F=588;G=592;H=596;I=565;J=569;K=573;L=577;M=566;N=570;O=574;P=578;Q=567;R=571;S=575;T=579;U=568;V=572;W=576;X=580;Y=485;Z=489;_=493;$=497;aa=486;ba=490;ca=494;da=498;ea=487;fa=491;ga=495;ha=499;ia=488;ja=492;ka=496;la=500;ma=533;na=537;oa=541;pa=545;qa=534;ra=538;sa=542;ta=546;ua=535;va=539;wa=543;xa=547;ya=536;za=540;Aa=544;Ba=548;Ca=517;Da=521;Ea=525;Fa=529;Ga=518;Ha=522;Ia=526;Ja=530;Ka=519;La=523;Ma=527;Na=531;Oa=520;Pa=524;Qa=528;Ra=532;Sa=501;Ta=505;Ua=509;Va=513;Wa=502;Xa=506;Ya=510;Za=514;_a=503;$a=507;ab=511;bb=515;cb=504;db=508;eb=512;fb=516;break}default:{b=213;d=217;e=221;f=225;g=214;h=218;i=222;j=226;k=215;l=219;m=223;n=227;o=216;p=220;q=224;r=228;s=245;t=249;u=253;v=257;w=246;x=250;y=254;z=258;A=247;B=251;C=255;D=259;E=248;F=252;G=256;H=260;I=229;J=233;K=237;L=241;M=230;N=234;O=238;P=242;Q=231;R=235;S=239;T=243;U=232;V=236;W=240;X=244;Y=149;Z=153;_=157;$=161;aa=150;ba=154;ca=158;da=162;ea=151;fa=155;ga=159;ha=163;ia=152;ja=156;ka=160;la=164;ma=197;na=201;oa=205;pa=209;qa=198;ra=202;sa=206;ta=210;ua=199;va=203;wa=207;xa=211;ya=200;za=204;Aa=208;Ba=212;Ca=181;Da=185;Ea=189;Fa=193;Ga=182;Ha=186;Ia=190;Ja=194;Ka=183;La=187;Ma=191;Na=195;Oa=184;Pa=188;Qa=192;Ra=196;Sa=165;Ta=169;Ua=173;Va=177;Wa=166;Xa=170;Ya=174;Za=178;_a=167;$a=171;ab=175;bb=179;cb=168;db=172;eb=176;fb=180}}c[a>>2]=Y;c[a+4>>2]=aa;c[a+8>>2]=ea;c[a+12>>2]=ia;c[a+16>>2]=Z;c[a+20>>2]=ba;c[a+24>>2]=fa;c[a+28>>2]=ja;c[a+32>>2]=_;c[a+36>>2]=ca;c[a+40>>2]=ga;c[a+44>>2]=ka;c[a+48>>2]=$;c[a+52>>2]=da;c[a+56>>2]=ha;c[a+60>>2]=la;c[a+64>>2]=Sa;c[a+68>>2]=Wa;c[a+72>>2]=_a;c[a+76>>2]=cb;c[a+80>>2]=Ta;c[a+84>>2]=Xa;c[a+88>>2]=$a;c[a+92>>2]=db;c[a+96>>2]=Ua;c[a+100>>2]=Ya;c[a+104>>2]=ab;c[a+108>>2]=eb;c[a+112>>2]=Va;c[a+116>>2]=Za;c[a+120>>2]=bb;c[a+124>>2]=fb;c[a+128>>2]=Ca;c[a+132>>2]=Ga;c[a+136>>2]=Ka;c[a+140>>2]=Oa;c[a+144>>2]=Da;c[a+148>>2]=Ha;c[a+152>>2]=La;c[a+156>>2]=Pa;c[a+160>>2]=Ea;c[a+164>>2]=Ia;c[a+168>>2]=Ma;c[a+172>>2]=Qa;c[a+176>>2]=Fa;c[a+180>>2]=Ja;c[a+184>>2]=Na;c[a+188>>2]=Ra;c[a+192>>2]=ma;c[a+196>>2]=qa;c[a+200>>2]=ua;c[a+204>>2]=ya;c[a+208>>2]=na;c[a+212>>2]=ra;c[a+216>>2]=va;c[a+220>>2]=za;c[a+224>>2]=oa;c[a+228>>2]=sa;c[a+232>>2]=wa;c[a+236>>2]=Aa;c[a+240>>2]=pa;c[a+244>>2]=ta;c[a+248>>2]=xa;c[a+252>>2]=Ba;c[a+256>>2]=b;c[a+260>>2]=g;c[a+264>>2]=k;c[a+268>>2]=o;c[a+272>>2]=d;c[a+276>>2]=h;c[a+280>>2]=l;c[a+284>>2]=p;c[a+288>>2]=e;c[a+292>>2]=i;c[a+296>>2]=m;c[a+300>>2]=q;c[a+304>>2]=f;c[a+308>>2]=j;c[a+312>>2]=n;c[a+316>>2]=r;c[a+320>>2]=I;c[a+324>>2]=M;c[a+328>>2]=Q;c[a+332>>2]=U;c[a+336>>2]=J;c[a+340>>2]=N;c[a+344>>2]=R;c[a+348>>2]=V;c[a+352>>2]=K;c[a+356>>2]=O;c[a+360>>2]=S;c[a+364>>2]=W;c[a+368>>2]=L;c[a+372>>2]=P;c[a+376>>2]=T;c[a+380>>2]=X;c[a+384>>2]=s;c[a+388>>2]=w;c[a+392>>2]=A;c[a+396>>2]=E;c[a+400>>2]=t;c[a+404>>2]=x;c[a+408>>2]=B;c[a+412>>2]=F;c[a+416>>2]=u;c[a+420>>2]=y;c[a+424>>2]=C;c[a+428>>2]=G;c[a+432>>2]=v;c[a+436>>2]=z;c[a+440>>2]=D;c[a+444>>2]=H;return}function hn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=j;switch(d|0){case 9:{if((b|0)!=69){h=(b|0)==139;d=(b|0)==179|h;switch(b|0){case 139:case 179:{f=696;g=695;break}default:{f=611;g=610}}c[a>>2]=g;c[a+4>>2]=f;c[a+8>>2]=597;c[a+12>>2]=(b|0)==23?599:598;c[a+16>>2]=600;c[a+20>>2]=601;c[a+24>>2]=602;c[a+28>>2]=d?604:603;c[a+32>>2]=605;d=a+36|0;switch(b|0){case 139:case 179:{c[d>>2]=607;c[a+48>>2]=608;c[a+52>>2]=609;c[a+40>>2]=610;d=14;f=611;break}default:{c[d>>2]=606;d=10;f=615}}c[a+(d<<2)>>2]=f;if(!h){d=11;f=616;i=10}}else{c[a>>2]=610;c[a+4>>2]=611;c[a+8>>2]=597;c[a+12>>2]=612;c[a+16>>2]=600;c[a+20>>2]=601;c[a+24>>2]=602;c[a+28>>2]=613;c[a+32>>2]=614;c[a+36>>2]=606;c[a+40>>2]=615;c[a+44>>2]=616;c[a+48>>2]=617;c[a+52>>2]=618;d=14;f=697;i=10}if((i|0)==10)c[a+(d<<2)>>2]=f;c[a+60>>2]=45;c[a+64>>2]=46;c[a+68>>2]=47;c[a+72>>2]=48;c[a+76>>2]=49;c[a+80>>2]=50;c[a+84>>2]=51;c[a+88>>2]=52;c[a+92>>2]=53;c[a+96>>2]=54;c[a+100>>2]=55;c[a+104>>2]=56;e=(e|0)<2;d=a+108|0;c[a+116>>2]=e?32:31;c[a+112>>2]=e?34:33;switch(b|0){case 139:case 179:{c[a+120>>2]=37;break}default:c[a+120>>2]=e?36:35}a:do switch(b|0){case 69:case 139:case 179:{c[d>>2]=50;c[a+124>>2]=51;c[a+128>>2]=52;switch(b|0){case 139:case 179:break;default:break a}c[a+136>>2]=53;d=8;f=178;i=20;break}default:if(e){c[d>>2]=38;c[a+124>>2]=39;c[a+128>>2]=40;c[a+136>>2]=41;c[a+140>>2]=42;c[a+144>>2]=43;d=10;f=176;i=20;break a}else{c[d>>2]=44;c[a+124>>2]=45;c[a+128>>2]=46;c[a+136>>2]=47;c[a+140>>2]=48;c[a+144>>2]=49;d=10;f=177;i=20;break a}}while(0);if((i|0)==20)c[a+108+(d<<2)>>2]=f;c[a+132>>2]=e?55:54;c[a+152>>2]=56;c[a+160>>2]=57;c[a+156>>2]=58;switch(b|0){case 23:{d=3;f=179;break}case 69:{d=3;f=180;break}case 139:case 179:{c[a+164>>2]=59;c[a+180>>2]=60;d=8;f=181;break}default:{d=3;f=182}}c[a+152+(d<<2)>>2]=f;c[a+168>>2]=61;c[a+172>>2]=62;c[a+176>>2]=63;c[a+188>>2]=619;c[a+192>>2]=620;c[a+196>>2]=621;c[a+200>>2]=622;c[a+204>>2]=69;c[a+208>>2]=70;f=126;g=125;h=e?60:59;d=e?58:57;break}case 10:{if((b|0)!=69){h=(b|0)==139;d=(b|0)==179|h;switch(b|0){case 139:case 179:{f=696;g=695;break}default:{f=634;g=633}}c[a>>2]=g;c[a+4>>2]=f;c[a+8>>2]=623;c[a+12>>2]=(b|0)==23?599:624;c[a+16>>2]=625;c[a+20>>2]=626;c[a+24>>2]=627;c[a+28>>2]=d?604:628;c[a+32>>2]=629;d=a+36|0;switch(b|0){case 139:case 179:{c[d>>2]=607;c[a+48>>2]=631;c[a+52>>2]=632;c[a+40>>2]=633;d=14;f=634;break}default:{c[d>>2]=630;d=10;f=635}}c[a+(d<<2)>>2]=f;if(!h){d=11;f=636;i=34}}else{c[a>>2]=633;c[a+4>>2]=634;c[a+8>>2]=623;c[a+12>>2]=612;c[a+16>>2]=625;c[a+20>>2]=626;c[a+24>>2]=627;c[a+28>>2]=613;c[a+32>>2]=614;c[a+36>>2]=630;c[a+40>>2]=635;c[a+44>>2]=636;c[a+48>>2]=617;c[a+52>>2]=618;d=14;f=697;i=34}if((i|0)==34)c[a+(d<<2)>>2]=f;c[a+60>>2]=61;c[a+64>>2]=62;c[a+68>>2]=63;c[a+72>>2]=64;c[a+76>>2]=65;c[a+80>>2]=66;c[a+84>>2]=67;c[a+88>>2]=68;c[a+92>>2]=69;c[a+96>>2]=70;c[a+100>>2]=71;c[a+104>>2]=72;e=(e|0)<2;d=a+108|0;c[a+116>>2]=e?65:64;c[a+112>>2]=e?67:66;switch(b|0){case 139:case 179:{c[a+120>>2]=37;break}default:c[a+120>>2]=e?69:68}b:do switch(b|0){case 69:case 139:case 179:{c[d>>2]=50;c[a+124>>2]=51;c[a+128>>2]=52;switch(b|0){case 139:case 179:break;default:break b}c[a+136>>2]=82;d=8;f=185;i=44;break}default:if(e){c[d>>2]=70;c[a+124>>2]=71;c[a+128>>2]=72;c[a+136>>2]=73;c[a+140>>2]=74;c[a+144>>2]=75;d=10;f=183;i=44;break b}else{c[d>>2]=76;c[a+124>>2]=77;c[a+128>>2]=78;c[a+136>>2]=79;c[a+140>>2]=80;c[a+144>>2]=81;d=10;f=184;i=44;break b}}while(0);if((i|0)==44)c[a+108+(d<<2)>>2]=f;c[a+132>>2]=e?84:83;c[a+152>>2]=85;c[a+160>>2]=86;c[a+156>>2]=87;switch(b|0){case 23:{d=3;f=179;break}case 69:{d=3;f=180;break}case 139:case 179:{c[a+164>>2]=59;c[a+180>>2]=88;d=8;f=186;break}default:{d=3;f=187}}c[a+152+(d<<2)>>2]=f;c[a+168>>2]=89;c[a+172>>2]=90;c[a+176>>2]=91;c[a+188>>2]=637;c[a+192>>2]=638;c[a+196>>2]=639;c[a+200>>2]=640;c[a+204>>2]=71;c[a+208>>2]=72;f=128;g=127;h=e?76:75;d=e?74:73;break}case 12:{if((b|0)!=69){h=(b|0)==139;d=(b|0)==179|h;switch(b|0){case 139:case 179:{f=696;g=695;break}default:{f=652;g=651}}c[a>>2]=g;c[a+4>>2]=f;c[a+8>>2]=641;c[a+12>>2]=(b|0)==23?599:642;c[a+16>>2]=643;c[a+20>>2]=644;c[a+24>>2]=645;c[a+28>>2]=d?604:646;c[a+32>>2]=647;d=a+36|0;switch(b|0){case 139:case 179:{c[d>>2]=607;c[a+48>>2]=649;c[a+52>>2]=650;c[a+40>>2]=651;d=14;f=652;break}default:{c[d>>2]=648;d=10;f=653}}c[a+(d<<2)>>2]=f;if(!h){d=11;f=654;i=58}}else{c[a>>2]=651;c[a+4>>2]=652;c[a+8>>2]=641;c[a+12>>2]=612;c[a+16>>2]=643;c[a+20>>2]=644;c[a+24>>2]=645;c[a+28>>2]=613;c[a+32>>2]=614;c[a+36>>2]=648;c[a+40>>2]=653;c[a+44>>2]=654;c[a+48>>2]=617;c[a+52>>2]=618;d=14;f=697;i=58}if((i|0)==58)c[a+(d<<2)>>2]=f;c[a+60>>2]=77;c[a+64>>2]=78;c[a+68>>2]=79;c[a+72>>2]=80;c[a+76>>2]=81;c[a+80>>2]=82;c[a+84>>2]=83;c[a+88>>2]=84;c[a+92>>2]=85;c[a+96>>2]=86;c[a+100>>2]=87;c[a+104>>2]=88;e=(e|0)<2;d=a+108|0;c[a+116>>2]=e?93:92;c[a+112>>2]=e?95:94;switch(b|0){case 139:case 179:{c[a+120>>2]=37;break}default:c[a+120>>2]=e?97:96}c:do switch(b|0){case 69:case 139:case 179:{c[d>>2]=50;c[a+124>>2]=51;c[a+128>>2]=52;switch(b|0){case 139:case 179:break;default:break c}c[a+136>>2]=110;d=8;f=190;i=68;break}default:if(e){c[d>>2]=98;c[a+124>>2]=99;c[a+128>>2]=100;c[a+136>>2]=101;c[a+140>>2]=102;c[a+144>>2]=103;d=10;f=188;i=68;break c}else{c[d>>2]=104;c[a+124>>2]=105;c[a+128>>2]=106;c[a+136>>2]=107;c[a+140>>2]=108;c[a+144>>2]=109;d=10;f=189;i=68;break c}}while(0);if((i|0)==68)c[a+108+(d<<2)>>2]=f;c[a+132>>2]=e?112:111;c[a+152>>2]=113;c[a+160>>2]=114;c[a+156>>2]=115;switch(b|0){case 23:{d=3;f=179;break}case 69:{d=3;f=180;break}case 139:case 179:{c[a+164>>2]=59;c[a+180>>2]=116;d=8;f=191;break}default:{d=3;f=192}}c[a+152+(d<<2)>>2]=f;c[a+168>>2]=117;c[a+172>>2]=118;c[a+176>>2]=119;c[a+188>>2]=655;c[a+192>>2]=656;c[a+196>>2]=657;c[a+200>>2]=658;c[a+204>>2]=73;c[a+208>>2]=74;f=130;g=129;h=e?92:91;d=e?90:89;break}case 14:{if((b|0)!=69){h=(b|0)==139;d=(b|0)==179|h;switch(b|0){case 139:case 179:{f=696;g=695;break}default:{f=670;g=669}}c[a>>2]=g;c[a+4>>2]=f;c[a+8>>2]=659;c[a+12>>2]=(b|0)==23?599:660;c[a+16>>2]=661;c[a+20>>2]=662;c[a+24>>2]=663;c[a+28>>2]=d?604:664;c[a+32>>2]=665;d=a+36|0;switch(b|0){case 139:case 179:{c[d>>2]=607;c[a+48>>2]=667;c[a+52>>2]=668;c[a+40>>2]=669;d=14;f=670;break}default:{c[d>>2]=666;d=10;f=671}}c[a+(d<<2)>>2]=f;if(!h){d=11;f=672;i=82}}else{c[a>>2]=669;c[a+4>>2]=670;c[a+8>>2]=659;c[a+12>>2]=612;c[a+16>>2]=661;c[a+20>>2]=662;c[a+24>>2]=663;c[a+28>>2]=613;c[a+32>>2]=614;c[a+36>>2]=666;c[a+40>>2]=671;c[a+44>>2]=672;c[a+48>>2]=617;c[a+52>>2]=618;d=14;f=697;i=82}if((i|0)==82)c[a+(d<<2)>>2]=f;c[a+60>>2]=93;c[a+64>>2]=94;c[a+68>>2]=95;c[a+72>>2]=96;c[a+76>>2]=97;c[a+80>>2]=98;c[a+84>>2]=99;c[a+88>>2]=100;c[a+92>>2]=101;c[a+96>>2]=102;c[a+100>>2]=103;c[a+104>>2]=104;e=(e|0)<2;d=a+108|0;c[a+116>>2]=e?121:120;c[a+112>>2]=e?123:122;switch(b|0){case 139:case 179:{c[a+120>>2]=37;break}default:c[a+120>>2]=e?125:124}d:do switch(b|0){case 69:case 139:case 179:{c[d>>2]=50;c[a+124>>2]=51;c[a+128>>2]=52;switch(b|0){case 139:case 179:break;default:break d}c[a+136>>2]=138;d=8;f=195;i=92;break}default:if(e){c[d>>2]=126;c[a+124>>2]=127;c[a+128>>2]=128;c[a+136>>2]=129;c[a+140>>2]=130;c[a+144>>2]=131;d=10;f=193;i=92;break d}else{c[d>>2]=132;c[a+124>>2]=133;c[a+128>>2]=134;c[a+136>>2]=135;c[a+140>>2]=136;c[a+144>>2]=137;d=10;f=194;i=92;break d}}while(0);if((i|0)==92)c[a+108+(d<<2)>>2]=f;c[a+132>>2]=e?140:139;c[a+152>>2]=141;c[a+160>>2]=142;c[a+156>>2]=143;switch(b|0){case 23:{d=3;f=179;break}case 69:{d=3;f=180;break}case 139:case 179:{c[a+164>>2]=59;c[a+180>>2]=144;d=8;f=196;break}default:{d=3;f=197}}c[a+152+(d<<2)>>2]=f;c[a+168>>2]=145;c[a+172>>2]=146;c[a+176>>2]=147;c[a+188>>2]=673;c[a+192>>2]=674;c[a+196>>2]=675;c[a+200>>2]=676;c[a+204>>2]=75;c[a+208>>2]=76;f=132;g=131;h=e?108:107;d=e?106:105;break}default:{if((d|0)>=9){c[f>>2]=150801;c[f+4>>2]=150779;c[f+8>>2]=590;mf(0,0,164250,f);ub()}if((b|0)!=69){h=(b|0)==139;d=(b|0)==179|h;switch(b|0){case 139:case 179:{f=696;g=695;break}default:{f=688;g=687}}c[a>>2]=g;c[a+4>>2]=f;c[a+8>>2]=677;c[a+12>>2]=(b|0)==23?599:678;c[a+16>>2]=679;c[a+20>>2]=680;c[a+24>>2]=681;c[a+28>>2]=d?604:682;c[a+32>>2]=683;d=a+36|0;switch(b|0){case 139:case 179:{c[d>>2]=607;c[a+48>>2]=685;c[a+52>>2]=686;c[a+40>>2]=687;d=14;f=688;break}default:{c[d>>2]=684;d=10;f=689}}c[a+(d<<2)>>2]=f;if(!h){d=11;f=690;i=108}}else{c[a>>2]=687;c[a+4>>2]=688;c[a+8>>2]=677;c[a+12>>2]=612;c[a+16>>2]=679;c[a+20>>2]=680;c[a+24>>2]=681;c[a+28>>2]=613;c[a+32>>2]=614;c[a+36>>2]=684;c[a+40>>2]=689;c[a+44>>2]=690;c[a+48>>2]=617;c[a+52>>2]=618;d=14;f=697;i=108}if((i|0)==108)c[a+(d<<2)>>2]=f;c[a+60>>2]=109;c[a+64>>2]=110;c[a+68>>2]=111;c[a+72>>2]=112;c[a+76>>2]=113;c[a+80>>2]=114;c[a+84>>2]=115;c[a+88>>2]=116;c[a+92>>2]=117;c[a+96>>2]=118;c[a+100>>2]=119;c[a+104>>2]=120;e=(e|0)<2;d=a+108|0;c[a+116>>2]=e?149:148;c[a+112>>2]=e?151:150;switch(b|0){case 139:case 179:{c[a+120>>2]=37;break}default:c[a+120>>2]=e?153:152}e:do switch(b|0){case 69:case 139:case 179:{c[d>>2]=50;c[a+124>>2]=51;c[a+128>>2]=52;switch(b|0){case 139:case 179:break;default:break e}c[a+136>>2]=166;d=8;f=200;i=118;break}default:if(e){c[d>>2]=154;c[a+124>>2]=155;c[a+128>>2]=156;c[a+136>>2]=157;c[a+140>>2]=158;c[a+144>>2]=159;d=10;f=198;i=118;break e}else{c[d>>2]=160;c[a+124>>2]=161;c[a+128>>2]=162;c[a+136>>2]=163;c[a+140>>2]=164;c[a+144>>2]=165;d=10;f=199;i=118;break e}}while(0);if((i|0)==118)c[a+108+(d<<2)>>2]=f;c[a+132>>2]=e?168:167;c[a+152>>2]=169;c[a+160>>2]=170;c[a+156>>2]=171;switch(b|0){case 23:{d=3;f=179;break}case 69:{d=3;f=180;break}case 139:case 179:{c[a+164>>2]=59;c[a+180>>2]=172;d=8;f=201;break}default:{d=3;f=202}}c[a+152+(d<<2)>>2]=f;c[a+168>>2]=173;c[a+172>>2]=174;c[a+176>>2]=175;c[a+188>>2]=691;c[a+192>>2]=692;c[a+196>>2]=693;c[a+200>>2]=694;c[a+204>>2]=77;c[a+208>>2]=78;f=134;g=133;h=e?124:123;d=e?122:121}}c[a+220>>2]=d;c[a+216>>2]=h;c[a+232>>2]=g;c[a+228>>2]=f;$c=j;return}function jn(a,b){a=a|0;b=b|0;c[a+4>>2]=698;c[a>>2]=(b|0)<9?2:1;return}function kn(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);t=v+24|0;n=v+16|0;m=v+8|0;g=v;f=e+24|0;k=d+27008|0;p=c[k>>2]|0;r=d+27016|0;u=c[r>>2]|0;l=H(u,p)|0;s=d+27012|0;o=H(c[s>>2]<<1|1,p<<1|1)|0;p=H(u,p+1|0)|0;u=o+(p<<1)|0;a[e+28344>>0]=-2;a[e+28336>>0]=-2;a[e+28328>>0]=-2;a[e+28304>>0]=-2;a[e+28296>>0]=-2;a[e+28288>>0]=-2;a:do if((c[d+25628>>2]|0)==(e|0)){q=d+4|0;c[f>>2]=c[q>>2];c[e+824>>2]=1;c[e+828>>2]=d;c[e+812>>2]=1;i=d+27020|0;j=c[i>>2]|0;c[e+576>>2]=j;h=c[s>>2]|0;c[e+580>>2]=h;c[e+584>>2]=c[k>>2];c[e+588>>2]=c[r>>2];c[e+592>>2]=h<<1|1;j=dg((j<<2)+4|0)|0;c[e+572>>2]=j;if((j|0)==0?(c[i>>2]&1073741823|0)!=1073741823:0){mf(c[q>>2]|0,16,150689,g);d=-12;break}g=c[k>>2]|0;d=0;while(1){if((d|0)>=(g|0))break;h=c[s>>2]|0;i=H(h,d)|0;f=0;while(1){if((f|0)>=(h|0))break;c[j+(i+f<<2)>>2]=(H(c[r>>2]|0,d)|0)+f;f=f+1|0}d=d+1|0}h=H(c[r>>2]|0,g+-1|0)|0;i=c[s>>2]|0;c[j+((H(i,g)|0)<<2)>>2]=h+i;j=dg(l)|0;c[e+604>>2]=j;if(!((l|0)==0|(j|0)!=0)){mf(c[q>>2]|0,16,150689,m);d=-12;break}m=uf(H((c[k>>2]|0)*17|0,c[r>>2]|0)|0)|0;c[e+608>>2]=m;if((m|0)==0?H((c[k>>2]|0)*17|0,c[r>>2]|0)|0:0){mf(c[q>>2]|0,16,150689,n);d=-12;break}n=u<<1;f=dg(n)|0;c[e+27784>>2]=f;if(!((n|0)==0|(f|0)!=0)){mf(c[q>>2]|0,16,150689,t);d=-12;break}c[e+612>>2]=f+(c[s>>2]<<1<<1)+4;d=f+(o<<1)+(c[r>>2]<<1)+2|0;c[e+616>>2]=d;c[e+620>>2]=d+(p<<1);d=0;while(1){if((d|0)>=(u|0)){d=0;break a}b[f+(d<<1)>>1]=1024;d=d+1|0}}else{_W(f|0,0,808)|0;d=0}while(0);$c=v;return d|0}function ln(a,d,e,f,g,h,i,j,k){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0;o=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);n=o+8|0;j=o;m=a+25628|0;k=c[m>>2]|0;c[k+21788>>2]=h;c[k+21792>>2]=i;l=k+21796|0;c[l>>2]=(H(c[a+27016>>2]|0,i)|0)+h;e=k+27824|0;f=e+120|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));e=(c[k+23404>>2]|0)>>>0>d>>>0?d:0;if(!(c[k+23416+(e*40|0)>>2]|0)){mf(c[a+4>>2]|0,48,150714,j);e=0}if((c[k+23416+(e*40|0)+24>>2]&3|0)==3){d=(c[a+24384>>2]|0)+(c[l>>2]<<2)|0;n=e*257&65535;b[d>>1]=n;b[d+2>>1]=n;d=H(e,16843009)|0;c[k+28284>>2]=d;c[k+28292>>2]=d;c[k+28300>>2]=d;c[k+28308>>2]=d;g=c[g+4>>2]<<16|c[g>>2]&65535;c[k+28e3>>2]=g;c[k+28004>>2]=g;c[k+28008>>2]=g;c[k+28012>>2]=g;c[k+28032>>2]=g;c[k+28036>>2]=g;c[k+28040>>2]=g;c[k+28044>>2]=g;c[k+28064>>2]=g;c[k+28068>>2]=g;c[k+28072>>2]=g;c[k+28076>>2]=g;c[k+28096>>2]=g;c[k+28100>>2]=g;c[k+28104>>2]=g;c[k+28108>>2]=g;c[k+21828>>2]=0;c[k+21832>>2]=0;Mj(a,c[m>>2]|0)}else mf(c[a+4>>2]|0,48,150760,n);$c=o;return}function mn(a,b,c){a=a|0;b=b|0;c=c|0;return}function nn(b,c,d,e,f,g,h,i,j,k){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0;a:do if((j|0)!=0&(k|0)!=0){if((i|0)<(k|0)){o=(0-g|0)<(i|0);p=1-g|0;n=c+(H(0-e|0,i)|0)+(H(p,e)|0)|0;c=o?c:n;i=o?i:p}else{p=k+-1|0;c=c+(H(0-e|0,i)|0)+(H(p,e)|0)|0;i=p}if((h|0)<(j|0)){o=(0-f|0)<(h|0);p=1-f|0;l=o?h:p;h=o?c:c+(p-h)|0}else{p=j+-1|0;l=p;h=c+(p-h)|0}c=0-i|0;c=(c|0)>0?c:0;p=0-l|0;p=(p|0)>0?p:0;m=k-i|0;n=(m|0)<(g|0);o=j-l|0;o=(o|0)<(f|0)?o:f;j=o-p|0;i=h+(p+(H(c,e)|0))|0;k=p+(H(c,d)|0)|0;h=b+p|0;l=0;while(1){if((l|0)>=(c|0))break;YW(h|0,i|0,j|0)|0;h=h+d|0;l=l+1|0}l=n?m:g;h=b+k|0;while(1){if((c|0)>=(l|0))break;YW(h|0,i|0,j|0)|0;h=h+d|0;c=c+1|0;i=i+e|0}i=i+(0-e)|0;while(1){if((c|0)>=(g|0))break;YW(h|0,i|0,j|0)|0;h=h+d|0;c=c+1|0}k=o+-1|0;c=g;h=h+(0-((H(g,d)|0)+p))|0;while(1){l=c+-1|0;if(!c)break a;i=h+p|0;c=0;while(1){if((c|0)>=(p|0))break;a[h+c>>0]=a[i>>0]|0;c=c+1|0}i=h+k|0;c=o;while(1){if((c|0)>=(f|0))break;a[h+c>>0]=a[i>>0]|0;c=c+1|0}c=l;h=h+d|0}}while(0);return}function on(a,c,d,e,f,g,h,i,j,k){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0;a:do if((j|0)!=0&(k|0)!=0){if((i|0)<(k|0)){p=(0-g|0)<(i|0);q=1-g|0;o=c+(H(0-e|0,i)|0)+(H(q,e)|0)|0;c=p?c:o;i=p?i:q}else{q=k+-1|0;c=c+(H(0-e|0,i)|0)+(H(q,e)|0)|0;i=q}if((h|0)<(j|0)){p=(0-f|0)<(h|0);q=1-f|0;l=p?h:q;h=p?c:c+(q-h<<1)|0}else{q=j+-1|0;l=q;h=c+(q-h<<1)|0}c=0-i|0;c=(c|0)>0?c:0;q=0-l|0;q=(q|0)>0?q:0;m=k-i|0;n=(m|0)<(g|0);p=j-l|0;p=(p|0)<(f|0)?p:f;o=q<<1;i=h+(o+(H(c,e)|0))|0;j=p-q<<1;k=(H(c,d)|0)+o|0;h=a+o|0;l=0;while(1){if((l|0)>=(c|0))break;YW(h|0,i|0,j|0)|0;h=h+d|0;l=l+1|0}l=n?m:g;h=a+k|0;while(1){if((c|0)>=(l|0))break;YW(h|0,i|0,j|0)|0;h=h+d|0;c=c+1|0;i=i+e|0}i=i+(0-e)|0;while(1){if((c|0)>=(g|0))break;YW(h|0,i|0,j|0)|0;h=h+d|0;c=c+1|0}k=p+-1|0;c=g;h=h+(0-((H(g,d)|0)+o))|0;while(1){l=c+-1|0;if(!c)break a;i=h+(q<<1)|0;c=0;while(1){if((c|0)>=(q|0))break;b[h+(c<<1)>>1]=b[i>>1]|0;c=c+1|0}i=h+(k<<1)|0;c=p;while(1){if((c|0)>=(f|0))break;b[h+(c<<1)>>1]=b[i>>1]|0;c=c+1|0}c=l;h=h+d|0}}while(0);return}function pn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;d=d>>1;b=a+(0-d<<1)|0;e=c[b>>2]|0;b=c[b+4>>2]|0;f=a;c[f>>2]=e;c[f+4>>2]=b;f=a+(d<<1)|0;c[f>>2]=e;c[f+4>>2]=b;f=a+(d<<1<<1)|0;c[f>>2]=e;c[f+4>>2]=b;d=a+(d*3<<1)|0;c[d>>2]=e;c[d+4>>2]=b;return}function qn(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;i=d[a+(0-e)>>0]|0;h=d[a+(1-e)>>0]|0;g=d[a+(2-e)>>0]|0;f=d[a+(3-e)>>0]|0;b=(i+2+(h<<1)+g|0)>>>2<<8|((d[a+~e>>0]|0)+2+(i<<1)+h|0)>>>2|(h+2+(g<<1)+f|0)>>>2<<16|(g+2+(f<<1)+(d[b>>0]|0)|0)>>>2<<24;c[a>>2]=b;c[a+e>>2]=b;c[a+(e<<1)>>2]=b;c[a+(e*3|0)>>2]=b;return}function rn(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0;d=d>>1;f=PW(e[a+-2>>1]|0|0,0,65537,65537)|0;g=M()|0;b=a;c[b>>2]=f;c[b+4>>2]=g;b=PW(e[a+(d+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(d<<1)|0;c[f>>2]=b;c[f+4>>2]=g;f=d<<1;g=PW(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;b=M()|0;f=a+(f<<1)|0;c[f>>2]=g;c[f+4>>2]=b;d=d*3|0;f=PW(e[a+(d+-1<<1)>>1]|0|0,0,65537,65537)|0;b=M()|0;d=a+(d<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function sn(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=d[a+-1>>0]|0;i=d[a+(e+-1)>>0]|0;h=e<<1;g=d[a+(h+-1)>>0]|0;b=e*3|0;f=d[a+(b+-1)>>0]|0;c[a>>2]=H(((d[a+~e>>0]|0)+2+(j<<1)+i|0)>>>2,16843009)|0;c[a+e>>2]=H((j+2+(i<<1)+g|0)>>>2,16843009)|0;c[a+h>>2]=H((i+2+(g<<1)+f|0)>>>2,16843009)|0;c[a+b>>2]=H((g+2+f+(f<<1)|0)>>>2,16843009)|0;return}function tn(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0;h=d>>1;g=h<<1;d=h*3|0;f=(e[a+(0-h<<1)>>1]|0)+4+(e[a+(1-h<<1)>>1]|0)+(e[a+(2-h<<1)>>1]|0)+(e[a+(3-h<<1)>>1]|0)+(e[a+-2>>1]|0)+(e[a+(h+-1<<1)>>1]|0)+(e[a+(g+-1<<1)>>1]|0)+(e[a+(d+-1<<1)>>1]|0)>>3;f=PW(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;b=M()|0;i=a;c[i>>2]=f;c[i+4>>2]=b;h=a+(h<<1)|0;c[h>>2]=f;c[h+4>>2]=b;g=a+(g<<1)|0;c[g>>2]=f;c[g+4>>2]=b;d=a+(d<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function un(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=d[b+(2-e)>>0]|0;c=d[b+(3-e)>>0]|0;f=e<<1;j=d[b+(f+-1)>>0]|0;g=e*3|0;h=d[b+(g+-1)>>0]|0;a[b>>0]=((d[b+(e+-1)>>0]|0)+(d[b+(1-e)>>0]|0)|0)>>>1;i=(j+i|0)>>>1&255;a[b+e>>0]=i;a[b+1>>0]=i;c=(h+c|0)>>>1&255;a[b+(g+3)>>0]=c;a[b+(g+2)>>0]=c;a[b+(f+3)>>0]=c;a[b+(g+1)>>0]=c;a[b+(f+2)>>0]=c;a[b+(e+3)>>0]=c;a[b+g>>0]=c;a[b+(f|1)>>0]=c;a[b+(e+2)>>0]=c;a[b+3>>0]=c;a[b+f>>0]=c;a[b+(e+1)>>0]=c;a[b+2>>0]=c;return}function vn(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;i=d>>1;g=e[a+(1-i<<1)>>1]|0;d=e[a+(2-i<<1)>>1]|0;k=e[a+(3-i<<1)>>1]|0;j=e[c>>1]|0;h=e[c+2>>1]|0;f=e[c+4>>1]|0;c=e[c+6>>1]|0;b[a>>1]=((e[a+(0-i<<1)>>1]|0)+2+d+(g<<1)|0)>>>2;g=(g+2+k+(d<<1)|0)>>>2&65535;b[a+(i<<1)>>1]=g;b[a+2>>1]=g;d=(d+2+j+(k<<1)|0)>>>2&65535;g=i<<1;b[a+(g<<1)>>1]=d;b[a+(i+1<<1)>>1]=d;b[a+4>>1]=d;k=(k+2+h+(j<<1)|0)>>>2&65535;d=i*3|0;b[a+(d<<1)>>1]=k;b[a+((g|1)<<1)>>1]=k;b[a+(i+2<<1)>>1]=k;b[a+6>>1]=k;j=(j+2+f+(h<<1)|0)>>>2&65535;b[a+(d+1<<1)>>1]=j;b[a+(g+2<<1)>>1]=j;b[a+(i+3<<1)>>1]=j;h=(h+2+c+(f<<1)|0)>>>2&65535;b[a+(d+2<<1)>>1]=h;b[a+(g+3<<1)>>1]=h;b[a+(d+3<<1)>>1]=(f+2+(c*3|0)|0)>>>2;return}function wn(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;m=e[a+(~h<<1)>>1]|0;g=e[a+(0-h<<1)>>1]|0;f=e[a+(1-h<<1)>>1]|0;c=e[a+(2-h<<1)>>1]|0;d=e[a+(3-h<<1)>>1]|0;k=e[a+-2>>1]|0;n=e[a+(h+-1<<1)>>1]|0;j=h<<1;i=e[a+(j+-1<<1)>>1]|0;l=h*3|0;b[a+(l<<1)>>1]=(n+2+(e[a+(l+-1<<1)>>1]|0)+(i<<1)|0)>>>2;i=(k+2+i+(n<<1)|0)>>>2&65535;b[a+(l+1<<1)>>1]=i;b[a+(j<<1)>>1]=i;i=m+2|0;n=(i+n+(k<<1)|0)>>>2&65535;b[a+(l+2<<1)>>1]=n;b[a+((j|1)<<1)>>1]=n;b[a+(h<<1)>>1]=n;k=((m<<1)+2+g+k|0)>>>2&65535;b[a+(l+3<<1)>>1]=k;b[a+(j+2<<1)>>1]=k;b[a+(h+1<<1)>>1]=k;b[a>>1]=k;i=(i+(g<<1)+f|0)>>>2&65535;b[a+(j+3<<1)>>1]=i;b[a+(h+2<<1)>>1]=i;b[a+2>>1]=i;g=(g+2+(f<<1)+c|0)>>>2&65535;b[a+(h+3<<1)>>1]=g;b[a+4>>1]=g;b[a+6>>1]=(f+2+(c<<1)+d|0)>>>2;return}function xn(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=d>>1;i=e[a+(~j<<1)>>1]|0;n=e[a+(0-j<<1)>>1]|0;m=e[a+(1-j<<1)>>1]|0;l=e[a+(2-j<<1)>>1]|0;k=e[a+(3-j<<1)>>1]|0;g=e[a+-2>>1]|0;f=e[a+(j+-1<<1)>>1]|0;h=j<<1;c=e[a+(h+-1<<1)>>1]|0;d=j*3|0;o=(i+1+n|0)>>>1&65535;b[a+((h|1)<<1)>>1]=o;b[a>>1]=o;o=(n+1+m|0)>>>1&65535;b[a+(h+2<<1)>>1]=o;b[a+2>>1]=o;o=(m+1+l|0)>>>1&65535;b[a+(h+3<<1)>>1]=o;b[a+4>>1]=o;b[a+6>>1]=(l+1+k|0)>>>1;o=((i<<1)+2+n+g|0)>>>2&65535;b[a+(d+1<<1)>>1]=o;b[a+(j<<1)>>1]=o;i=i+2|0;o=(i+(n<<1)+m|0)>>>2&65535;b[a+(d+2<<1)>>1]=o;b[a+(j+1<<1)>>1]=o;n=(n+2+(m<<1)+l|0)>>>2&65535;b[a+(d+3<<1)>>1]=n;b[a+(j+2<<1)>>1]=n;b[a+(j+3<<1)>>1]=(m+2+(l<<1)+k|0)>>>2;b[a+(h<<1)>>1]=(i+(g<<1)+f|0)>>>2;b[a+(d<<1)>>1]=(g+2+(f<<1)+c|0)>>>2;return}function yn(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=d>>1;k=e[a+(~j<<1)>>1]|0;n=e[a+(0-j<<1)>>1]|0;m=e[a+(1-j<<1)>>1]|0;l=e[a+(2-j<<1)>>1]|0;i=e[a+-2>>1]|0;g=e[a+(j+-1<<1)>>1]|0;h=j<<1;f=e[a+(h+-1<<1)>>1]|0;d=j*3|0;c=e[a+(d+-1<<1)>>1]|0;o=(k+1+i|0)>>>1&65535;b[a+(j+2<<1)>>1]=o;b[a>>1]=o;o=((k<<1)+2+n+i|0)>>>2&65535;b[a+(j+3<<1)>>1]=o;b[a+2>>1]=o;k=k+2|0;b[a+4>>1]=(k+(n<<1)+m|0)>>>2;b[a+6>>1]=(n+2+(m<<1)+l|0)>>>2;l=(i+1+g|0)>>>1&65535;b[a+(h+2<<1)>>1]=l;b[a+(j<<1)>>1]=l;k=(k+(i<<1)+g|0)>>>2&65535;b[a+(h+3<<1)>>1]=k;b[a+(j+1<<1)>>1]=k;j=(g+1+f|0)>>>1&65535;b[a+(d+2<<1)>>1]=j;b[a+(h<<1)>>1]=j;i=(i+2+(g<<1)+f|0)>>>2&65535;b[a+(d+3<<1)>>1]=i;b[a+((h|1)<<1)>>1]=i;b[a+(d<<1)>>1]=(f+1+c|0)>>>1;b[a+(d+1<<1)>>1]=(g+2+(f<<1)+c|0)>>>2;return}function zn(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=d[b+(0-e)>>0]|0;m=d[b+(1-e)>>0]|0;l=d[b+(2-e)>>0]|0;k=d[b+(3-e)>>0]|0;j=d[c>>0]|0;h=d[c+1>>0]|0;g=d[c+2>>0]|0;f=d[c+3>>0]|0;a[b>>0]=(n+1+m|0)>>>1;c=(m+1+l|0)>>>1&255;i=e<<1;a[b+i>>0]=c;a[b+1>>0]=c;c=(l+1+k|0)>>>1&255;a[b+(i|1)>>0]=c;a[b+2>>0]=c;c=(k+1+j|0)>>>1&255;a[b+(i+2)>>0]=c;a[b+3>>0]=c;a[b+e>>0]=(n+2+(m<<1)+l|0)>>>2;m=(m+2+(l<<1)+k|0)>>>2&255;c=e*3|0;a[b+c>>0]=m;a[b+(e+1)>>0]=m;l=(l+2+(k<<1)+j|0)>>>2&255;a[b+(c+1)>>0]=l;a[b+(e+2)>>0]=l;k=(k+2+(j<<1)+h|0)>>>2&255;a[b+(c+2)>>0]=k;a[b+(e+3)>>0]=k;a[b+(i+3)>>0]=(j+2+(h<<1)+g|0)>>>2;a[b+(c+3)>>0]=(h+2+(g<<1)+f|0)>>>2;return}function An(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=d>>1;d=e[a+(0-h<<1)>>1]|0;k=e[a+(1-h<<1)>>1]|0;j=e[a+(2-h<<1)>>1]|0;i=e[a+(3-h<<1)>>1]|0;g=e[c>>1]|0;f=e[c+2>>1]|0;c=e[c+4>>1]|0;b[a>>1]=(d+1+k|0)>>>1;m=(k+1+j|0)>>>1&65535;l=h<<1;b[a+(l<<1)>>1]=m;b[a+2>>1]=m;m=(j+1+i|0)>>>1&65535;b[a+((l|1)<<1)>>1]=m;b[a+4>>1]=m;m=(i+1+g|0)>>>1&65535;b[a+(l+2<<1)>>1]=m;b[a+6>>1]=m;b[a+(l+3<<1)>>1]=(g+1+f|0)>>>1;b[a+(h<<1)>>1]=(d+2+(k<<1)+j|0)>>>2;k=(k+2+(j<<1)+i|0)>>>2&65535;d=h*3|0;b[a+(d<<1)>>1]=k;b[a+(h+1<<1)>>1]=k;j=(j+2+(i<<1)+g|0)>>>2&65535;b[a+(d+1<<1)>>1]=j;b[a+(h+2<<1)>>1]=j;i=(i+2+(g<<1)+f|0)>>>2&65535;b[a+(d+2<<1)>>1]=i;b[a+(h+3<<1)>>1]=i;b[a+(d+3<<1)>>1]=(g+2+(f<<1)+c|0)>>>2;return}function Bn(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;g=d>>1;k=e[a+-2>>1]|0;j=e[a+(g+-1<<1)>>1]|0;d=g<<1;i=e[a+(d+-1<<1)>>1]|0;f=g*3|0;c=b[a+(f+-1<<1)>>1]|0;h=c&65535;b[a>>1]=(k+1+j|0)>>>1;b[a+2>>1]=(k+2+(j<<1)+i|0)>>>2;k=(j+1+i|0)>>>1&65535;b[a+(g<<1)>>1]=k;b[a+4>>1]=k;j=(j+2+(i<<1)+h|0)>>>2&65535;b[a+(g+1<<1)>>1]=j;b[a+6>>1]=j;j=(i+1+h|0)>>>1&65535;b[a+(d<<1)>>1]=j;b[a+(g+2<<1)>>1]=j;h=(i+2+h+(h<<1)|0)>>>2&65535;b[a+((d|1)<<1)>>1]=h;b[a+(g+3<<1)>>1]=h;b[a+(f+3<<1)>>1]=c;b[a+(f+2<<1)>>1]=c;b[a+(d+2<<1)>>1]=c;b[a+(f<<1)>>1]=c;b[a+(f+1<<1)>>1]=c;b[a+(d+3<<1)>>1]=c;return}function Cn(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0;h=d>>1;g=h<<1;d=h*3|0;f=PW(((e[a+-2>>1]|0)+2+(e[a+(h+-1<<1)>>1]|0)+(e[a+(g+-1<<1)>>1]|0)+(e[a+(d+-1<<1)>>1]|0)|0)>>>2|0,0,65537,65537)|0;b=M()|0;i=a;c[i>>2]=f;c[i+4>>2]=b;h=a+(h<<1)|0;c[h>>2]=f;c[h+4>>2]=b;g=a+(g<<1)|0;c[g>>2]=f;c[g+4>>2]=b;d=a+(d<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function Dn(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=134284+(0-(d[b+~e>>0]|0))|0;f=b+(0-e)|0;g=f+1|0;h=f+2|0;i=f+3|0;c=b;b=0;while(1){if((b|0)==4)break;k=j+(d[c+-1>>0]|0)|0;a[c>>0]=a[k+(d[f>>0]|0)>>0]|0;a[c+1>>0]=a[k+(d[g>>0]|0)>>0]|0;a[c+2>>0]=a[k+(d[h>>0]|0)>>0]|0;a[c+3>>0]=a[k+(d[i>>0]|0)>>0]|0;c=c+e|0;b=b+1|0}return}function En(a,b,d){a=a|0;b=b|0;d=d|0;d=d>>1;b=a;c[b>>2]=16711935;c[b+4>>2]=16711935;b=a+(d<<1)|0;c[b>>2]=16711935;c[b+4>>2]=16711935;b=a+(d<<1<<1)|0;c[b>>2]=16711935;c[b+4>>2]=16711935;d=a+(d*3<<1)|0;c[d>>2]=16711935;c[d+4>>2]=16711935;return}function Fn(a,b,d){a=a|0;b=b|0;d=d|0;d=d>>1;b=a;c[b>>2]=16843009;c[b+4>>2]=16843009;b=a+(d<<1)|0;c[b>>2]=16843009;c[b+4>>2]=16843009;b=a+(d<<1<<1)|0;c[b>>2]=16843009;c[b+4>>2]=16843009;d=a+(d*3<<1)|0;c[d>>2]=16843009;c[d+4>>2]=16843009;return}function Gn(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0;d=d>>1;f=PW(((e[a+(0-d<<1)>>1]|0)+2+(e[a+(1-d<<1)>>1]|0)+(e[a+(2-d<<1)>>1]|0)+(e[a+(3-d<<1)>>1]|0)|0)>>>2|0,0,65537,65537)|0;b=M()|0;g=a;c[g>>2]=f;c[g+4>>2]=b;g=a+(d<<1)|0;c[g>>2]=f;c[g+4>>2]=b;g=a+(d<<1<<1)|0;c[g>>2]=f;c[g+4>>2]=b;d=a+(d*3<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function Hn(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=d[b+(1-e)>>0]|0;r=d[b+(2-e)>>0]|0;p=d[b+(3-e)>>0]|0;n=d[c>>0]|0;l=d[c+1>>0]|0;i=d[c+2>>0]|0;h=d[c+3>>0]|0;s=d[b+(e+-1)>>0]|0;j=e<<1;q=d[b+(j+-1)>>0]|0;c=e*3|0;o=d[b+(c+-1)>>0]|0;m=d[b+((e<<2)+-1)>>0]|0;k=d[b+((e*5|0)+-1)>>0]|0;g=d[b+((e*6|0)+-1)>>0]|0;f=d[b+((e*7|0)+-1)>>0]|0;a[b>>0]=((d[b+(0-e)>>0]|0)+4+r+(d[b+-1>>0]|0)+q+(s+t<<1)|0)>>>3;s=(t+4+p+s+o+(q+r<<1)|0)>>>3&255;a[b+e>>0]=s;a[b+1>>0]=s;q=(r+4+n+q+m+(o+p<<1)|0)>>>3&255;a[b+j>>0]=q;a[b+(e+1)>>0]=q;a[b+2>>0]=q;o=(p+4+l+o+k+(m+n<<1)|0)>>>3&255;a[b+c>>0]=o;a[b+(j|1)>>0]=o;a[b+(e+2)>>0]=o;a[b+3>>0]=o;m=(n+4+i+m+g+(k+l<<1)|0)>>>3&255;a[b+(c+1)>>0]=m;a[b+(j+2)>>0]=m;a[b+(e+3)>>0]=m;e=(l+4+h+k+f+(g+i<<1)|0)>>>3&255;a[b+(c+2)>>0]=e;a[b+(j+3)>>0]=e;a[b+(c+3)>>0]=(i+2+h+g+f|0)>>>2;return}function In(a,b,c){a=a|0;b=b|0;c=c|0;qu(a,b,c,d[a+(c+-1)>>0]|0,d[a+((c<<1)+-1)>>0]|0,d[a+((c*3|0)+-1)>>0]|0,d[a+((c<<2)+-1)>>0]|0);return}function Jn(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=d[b+-1>>0]|0;q=d[b+(e+-1)>>0]|0;j=e<<1;m=d[b+(j+-1)>>0]|0;f=e*3|0;l=d[b+(f+-1)>>0]|0;i=d[b+((e<<2)+-1)>>0]|0;h=d[b+((e*5|0)+-1)>>0]|0;g=d[b+((e*6|0)+-1)>>0]|0;o=d[b+(2-e)>>0]|0;r=d[b+(3-e)>>0]|0;p=d[c>>0]|0;n=d[c+1>>0]|0;k=d[c+2>>0]|0;c=d[c+3>>0]|0;t=q<<1;s=t+4|0;a[b>>0]=(s+(d[b+(1-e)>>0]|0)+r+(o+u<<1)|0)>>>3;a[b+1>>0]=(u+4+t+m+o+(r<<1)+p|0)>>>3;o=m<<1;r=(s+o+r+(p<<1)+n|0)>>>3&255;a[b+e>>0]=r;a[b+2>>0]=r;p=(q+4+o+l+p+(n<<1)+k|0)>>>3&255;a[b+(e+1)>>0]=p;a[b+3>>0]=p;n=(o+4+n+c+(k+l<<1)|0)>>>3&255;a[b+j>>0]=n;a[b+(e+2)>>0]=n;m=(m+4+k+((c+l|0)*3|0)|0)>>>3&255;a[b+(j|1)>>0]=m;a[b+(e+3)>>0]=m;e=l+2|0;l=(e+(i<<1)+h|0)>>>2&255;a[b+(f+1)>>0]=l;a[b+(j+3)>>0]=l;e=(e+i+k+c|0)>>>2&255;a[b+(j+2)>>0]=e;a[b+f>>0]=e;a[b+(f+2)>>0]=(i+1+h|0)>>>1;a[b+(f+3)>>0]=(i+2+(h<<1)+g|0)>>>2;return}function Kn(a,b,d){a=a|0;b=b|0;d=d|0;d=d>>1;b=a;c[b>>2]=16777472;c[b+4>>2]=16777472;b=a+(d<<1)|0;c[b>>2]=16777472;c[b+4>>2]=16777472;b=a+(d<<1<<1)|0;c[b>>2]=16777472;c[b+4>>2]=16777472;d=a+(d*3<<1)|0;c[d>>2]=16777472;c[d+4>>2]=16777472;return}function Ln(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=d[b+(1-e)>>0]|0;n=d[b+(2-e)>>0]|0;m=d[b+(3-e)>>0]|0;l=d[c>>0]|0;k=d[c+1>>0]|0;h=d[c+2>>0]|0;g=d[c+3>>0]|0;o=d[b+(e+-1)>>0]|0;i=e<<1;j=d[b+(i+-1)>>0]|0;c=e*3|0;f=d[b+(c+-1)>>0]|0;a[b>>0]=((d[b+(0-e)>>0]|0)+4+n+(d[b+-1>>0]|0)+j+(o+p<<1)|0)>>>3;o=(p+4+m+o+f+(j+n<<1)|0)>>>3&255;a[b+e>>0]=o;a[b+1>>0]=o;j=(n+4+l+(m<<1)+j+(f*3|0)|0)>>>3&255;a[b+i>>0]=j;a[b+(e+1)>>0]=j;a[b+2>>0]=j;j=f<<2;m=(m+4+k+(l<<1)+j|0)>>>3&255;a[b+c>>0]=m;a[b+(i|1)>>0]=m;a[b+(e+2)>>0]=m;a[b+3>>0]=m;l=(l+4+h+(k<<1)+j|0)>>>3&255;a[b+(c+1)>>0]=l;a[b+(i+2)>>0]=l;a[b+(e+3)>>0]=l;e=(k+4+g+(h<<1)+j|0)>>>3&255;a[b+(c+2)>>0]=e;a[b+(i+3)>>0]=e;a[b+(c+3)>>0]=(h+2+g+(f<<1)|0)>>>2;return}function Mn(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=d[b+-1>>0]|0;o=d[b+(e+-1)>>0]|0;h=e<<1;l=d[b+(h+-1)>>0]|0;f=e*3|0;g=a[b+(f+-1)>>0]|0;k=g&255;n=d[b+(2-e)>>0]|0;p=d[b+(3-e)>>0]|0;j=d[c>>0]|0;m=d[c+1>>0]|0;i=d[c+2>>0]|0;c=d[c+3>>0]|0;r=o<<1;q=r+4|0;a[b>>0]=(q+(d[b+(1-e)>>0]|0)+p+(n+s<<1)|0)>>>3;a[b+1>>0]=(s+4+r+l+n+(p<<1)+j|0)>>>3;n=l<<1;p=(q+n+p+(j<<1)+m|0)>>>3&255;a[b+e>>0]=p;a[b+2>>0]=p;j=(o+4+n+k+j+(m<<1)+i|0)>>>3&255;a[b+(e+1)>>0]=j;a[b+3>>0]=j;j=k<<1;m=(n+4+j+m+(i<<1)+c|0)>>>3&255;a[b+h>>0]=m;a[b+(e+2)>>0]=m;k=(l+4+i+((c+k|0)*3|0)|0)>>>3&255;a[b+(h|1)>>0]=k;a[b+(e+3)>>0]=k;a[b+(f+1)>>0]=g;a[b+(h+3)>>0]=g;e=(j+2+i+c|0)>>>2&255;a[b+(h+2)>>0]=e;a[b+f>>0]=e;a[b+(f+3)>>0]=g;a[b+(f+2)>>0]=g;return}function Nn(a,b,c){a=a|0;b=b|0;c=c|0;var e=0;e=d[a+((c*3|0)+-1)>>0]|0;qu(a,b,c,d[a+(c+-1)>>0]|0,d[a+((c<<1)+-1)>>0]|0,e,e);return}function On(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=g>>1;o=e[a+(0-j<<1)>>1]|0;n=e[a+(1-j<<1)>>1]|0;i=e[a+(2-j<<1)>>1]|0;m=e[a+(3-j<<1)>>1]|0;l=e[a+(4-j<<1)>>1]|0;k=e[a+(5-j<<1)>>1]|0;g=e[a+(6-j<<1)>>1]|0;h=e[a+(7-j<<1)>>1]|0;f=(g+2+(e[a+((f|0?8:7)-j<<1)>>1]|0)+(h<<1)|0)>>>2;b[a>>1]=((e[a+((((d|0)!=0)<<31>>31)-j<<1)>>1]|0)+2+(o<<1)+n|0)>>>2;b[a+2>>1]=(o+2+(n<<1)+i|0)>>>2;b[a+4>>1]=(n+2+(i<<1)+m|0)>>>2;b[a+6>>1]=(i+2+(m<<1)+l|0)>>>2;i=a+8|0;b[i>>1]=(m+2+(l<<1)+k|0)>>>2;b[a+10>>1]=(l+2+(k<<1)+g|0)>>>2;b[a+12>>1]=(k+2+(g<<1)+h|0)>>>2;b[a+14>>1]=f;f=a;d=c[f>>2]|0;f=c[f+4>>2]|0;h=c[i>>2]|0;i=c[i+4>>2]|0;g=1;while(1){if((g|0)==8)break;o=a+((H(g,j)|0)<<1)|0;n=o;c[n>>2]=d;c[n+4>>2]=f;o=o+8|0;c[o>>2]=h;c[o+4>>2]=i;g=g+1|0}return}function Pn(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;p=f>>1;u=e[a+((H(p,((b|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;s=e[a+-2>>1]|0;q=e[a+(p+-1<<1)>>1]|0;n=p<<1;o=e[a+(n+-1<<1)>>1]|0;l=p*3|0;m=e[a+(l+-1<<1)>>1]|0;j=p<<2;k=e[a+(j+-1<<1)>>1]|0;h=p*5|0;i=e[a+(h+-1<<1)>>1]|0;g=p*6|0;d=e[a+(g+-1<<1)>>1]|0;f=p*7|0;b=e[a+(f+-1<<1)>>1]|0;u=PW((u+2+(s<<1)+q|0)>>>2|0,0,65537,65537)|0;t=M()|0;r=a;c[r>>2]=u;c[r+4>>2]=t;r=a+8|0;c[r>>2]=u;c[r+4>>2]=t;s=PW((s+2+(q<<1)+o|0)>>>2|0,0,65537,65537)|0;r=M()|0;p=a+(p<<1)|0;t=p;c[t>>2]=s;c[t+4>>2]=r;p=p+8|0;c[p>>2]=s;c[p+4>>2]=r;q=PW((q+2+(o<<1)+m|0)>>>2|0,0,65537,65537)|0;p=M()|0;n=a+(n<<1)|0;r=n;c[r>>2]=q;c[r+4>>2]=p;n=n+8|0;c[n>>2]=q;c[n+4>>2]=p;o=PW((o+2+(m<<1)+k|0)>>>2|0,0,65537,65537)|0;n=M()|0;l=a+(l<<1)|0;p=l;c[p>>2]=o;c[p+4>>2]=n;l=l+8|0;c[l>>2]=o;c[l+4>>2]=n;m=PW((m+2+(k<<1)+i|0)>>>2|0,0,65537,65537)|0;l=M()|0;j=a+(j<<1)|0;n=j;c[n>>2]=m;c[n+4>>2]=l;j=j+8|0;c[j>>2]=m;c[j+4>>2]=l;k=PW((k+2+(i<<1)+d|0)>>>2|0,0,65537,65537)|0;j=M()|0;h=a+(h<<1)|0;l=h;c[l>>2]=k;c[l+4>>2]=j;h=h+8|0;c[h>>2]=k;c[h+4>>2]=j;i=PW((i+2+(d<<1)+b|0)>>>2|0,0,65537,65537)|0;h=M()|0;g=a+(g<<1)|0;j=g;c[j>>2]=i;c[j+4>>2]=h;g=g+8|0;c[g>>2]=i;c[g+4>>2]=h;b=PW((d+2+(b*3|0)|0)>>>2|0,0,65537,65537)|0;d=M()|0;f=a+(f<<1)|0;a=f;c[a>>2]=b;c[a+4>>2]=d;f=f+8|0;c[f>>2]=b;c[f+4>>2]=d;return}function Qn(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;h=f>>1;n=((b|0)!=0)<<31>>31;w=e[a+((H(h,n)|0)+-1<<1)>>1]|0;v=e[a+-2>>1]|0;u=e[a+(h+-1<<1)>>1]|0;t=e[a+((h<<1)+-1<<1)>>1]|0;s=e[a+((h*3|0)+-1<<1)>>1]|0;r=e[a+((h<<2)+-1<<1)>>1]|0;q=e[a+((h*5|0)+-1<<1)>>1]|0;p=e[a+((h*6|0)+-1<<1)>>1]|0;o=e[a+((h*7|0)+-1<<1)>>1]|0;m=e[a+(0-h<<1)>>1]|0;l=e[a+(1-h<<1)>>1]|0;k=e[a+(2-h<<1)>>1]|0;j=e[a+(3-h<<1)>>1]|0;i=e[a+(4-h<<1)>>1]|0;f=e[a+(5-h<<1)>>1]|0;b=e[a+(6-h<<1)>>1]|0;g=e[a+(7-h<<1)>>1]|0;d=((w+2+(v<<1)+u|0)>>>2)+8+((v+2+(u<<1)+t|0)>>>2)+((u+2+(t<<1)+s|0)>>>2)+((t+2+(s<<1)+r|0)>>>2)+((s+2+(r<<1)+q|0)>>>2)+((r+2+(q<<1)+p|0)>>>2)+((q+2+(p<<1)+o|0)>>>2)+((p+2+(o*3|0)|0)>>>2)+(((e[a+(n-h<<1)>>1]|0)+2+(m<<1)+l|0)>>>2)+((m+2+(l<<1)+k|0)>>>2)+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+f|0)>>>2)+((i+2+(f<<1)+b|0)>>>2)+((f+2+(b<<1)+g|0)>>>2)+((b+2+(e[a+((d|0?8:7)-h<<1)>>1]|0)+(g<<1)|0)>>>2)>>4;d=PW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=0;f=a;while(1){if((b|0)==8)break;w=f;c[w>>2]=d;c[w+4>>2]=g;w=f+8|0;c[w>>2]=d;c[w+4>>2]=g;b=b+1|0;f=f+(h<<1)|0}return}function Rn(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;q=f>>1;n=e[a+(0-q<<1)>>1]|0;o=e[a+(1-q<<1)>>1]|0;s=e[a+(2-q<<1)>>1]|0;p=(n+2+(o<<1)+s|0)>>>2;t=e[a+(3-q<<1)>>1]|0;r=(o+2+(s<<1)+t|0)>>>2;u=e[a+(4-q<<1)>>1]|0;s=(s+2+(t<<1)+u|0)>>>2;v=e[a+(5-q<<1)>>1]|0;t=(t+2+(u<<1)+v|0)>>>2;m=e[a+(6-q<<1)>>1]|0;u=(u+2+(v<<1)+m|0)>>>2;f=e[a+(7-q<<1)>>1]|0;v=(v+2+(m<<1)+f|0)>>>2;l=(d|0)!=0;m=(m+2+(e[a+((l?8:7)-q<<1)>>1]|0)+(f<<1)|0)>>>2;if(l){x=e[a+(8-q<<1)>>1]|0;w=e[a+(9-q<<1)>>1]|0;l=e[a+(10-q<<1)>>1]|0;k=e[a+(11-q<<1)>>1]|0;j=e[a+(12-q<<1)>>1]|0;i=e[a+(13-q<<1)>>1]|0;h=e[a+(14-q<<1)>>1]|0;g=e[a+(15-q<<1)>>1]|0;d=(h+2+(g*3|0)|0)>>>2;g=(i+2+(h<<1)+g|0)>>>2;h=(j+2+(i<<1)+h|0)>>>2;i=(k+2+(j<<1)+i|0)>>>2;j=(l+2+(k<<1)+j|0)>>>2;k=(w+2+(l<<1)+k|0)>>>2;l=(x+2+(w<<1)+l|0)>>>2;f=(f+2+(x<<1)+w|0)>>>2}else{d=f;g=f;h=f;i=f;j=f;k=f;l=f}b[a>>1]=((((e[a+((((c|0)!=0)<<31>>31)-q<<1)>>1]|0)+2+(n<<1)+o|0)>>>2)+2+(p<<1)+r|0)>>>2;w=(p+2+(r<<1)+s|0)>>>2&65535;b[a+2>>1]=w;b[a+(q<<1)>>1]=w;w=(r+2+(s<<1)+t|0)>>>2&65535;b[a+4>>1]=w;b[a+(q+1<<1)>>1]=w;r=q<<1;b[a+(r<<1)>>1]=w;w=(s+2+(t<<1)+u|0)>>>2&65535;b[a+6>>1]=w;b[a+(q+2<<1)>>1]=w;b[a+((r|1)<<1)>>1]=w;s=q*3|0;b[a+(s<<1)>>1]=w;w=(t+2+(u<<1)+v|0)>>>2&65535;b[a+8>>1]=w;b[a+(q+3<<1)>>1]=w;b[a+(r+2<<1)>>1]=w;b[a+(s+1<<1)>>1]=w;t=q<<2;b[a+(t<<1)>>1]=w;w=(u+2+(v<<1)+m|0)>>>2&65535;b[a+10>>1]=w;b[a+(q+4<<1)>>1]=w;b[a+(r+3<<1)>>1]=w;b[a+(s+2<<1)>>1]=w;b[a+((t|1)<<1)>>1]=w;u=q*5|0;b[a+(u<<1)>>1]=w;w=(v+2+(m<<1)+f|0)>>>2&65535;b[a+12>>1]=w;b[a+(q+5<<1)>>1]=w;b[a+(r+4<<1)>>1]=w;b[a+(s+3<<1)>>1]=w;b[a+((t|2)<<1)>>1]=w;b[a+(u+1<<1)>>1]=w;c=q*6|0;b[a+(c<<1)>>1]=w;w=(m+2+(f<<1)+l|0)>>>2&65535;b[a+14>>1]=w;b[a+(q+6<<1)>>1]=w;b[a+(r+5<<1)>>1]=w;b[a+(s+4<<1)>>1]=w;b[a+((t|3)<<1)>>1]=w;b[a+(u+2<<1)>>1]=w;b[a+((c|1)<<1)>>1]=w;x=q*7|0;b[a+(x<<1)>>1]=w;w=(f+2+(l<<1)+k|0)>>>2&65535;b[a+(q+7<<1)>>1]=w;b[a+(r+6<<1)>>1]=w;b[a+(s+5<<1)>>1]=w;b[a+(t+4<<1)>>1]=w;b[a+(u+3<<1)>>1]=w;b[a+(c+2<<1)>>1]=w;b[a+(x+1<<1)>>1]=w;w=(l+2+(k<<1)+j|0)>>>2&65535;b[a+(r+7<<1)>>1]=w;b[a+(s+6<<1)>>1]=w;b[a+(t+5<<1)>>1]=w;b[a+(u+4<<1)>>1]=w;b[a+(c+3<<1)>>1]=w;b[a+(x+2<<1)>>1]=w;w=(k+2+(j<<1)+i|0)>>>2&65535;b[a+(s+7<<1)>>1]=w;b[a+(t+6<<1)>>1]=w;b[a+(u+5<<1)>>1]=w;b[a+(c+4<<1)>>1]=w;b[a+(x+3<<1)>>1]=w;w=(j+2+(i<<1)+h|0)>>>2&65535;b[a+(t+7<<1)>>1]=w;b[a+(u+6<<1)>>1]=w;b[a+(c+5<<1)>>1]=w;b[a+(x+4<<1)>>1]=w;w=(i+2+(h<<1)+g|0)>>>2&65535;b[a+(u+7<<1)>>1]=w;b[a+(c+6<<1)>>1]=w;b[a+(x+5<<1)>>1]=w;w=(h+2+(g<<1)+d|0)>>>2&65535;b[a+(c+7<<1)>>1]=w;b[a+(x+6<<1)>>1]=w;b[a+(x+7<<1)>>1]=(g+2+(d*3|0)|0)>>>2;return}function Sn(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;h=f>>1;t=((c|0)!=0)<<31>>31;C=e[a+(0-h<<1)>>1]|0;m=e[a+(1-h<<1)>>1]|0;s=((e[a+(t-h<<1)>>1]|0)+2+(C<<1)+m|0)>>>2;k=e[a+(2-h<<1)>>1]|0;C=C+2|0;o=(C+(m<<1)+k|0)>>>2;i=e[a+(3-h<<1)>>1]|0;m=(m+2+(k<<1)+i|0)>>>2;g=e[a+(4-h<<1)>>1]|0;k=(k+2+(i<<1)+g|0)>>>2;c=e[a+(5-h<<1)>>1]|0;i=(i+2+(g<<1)+c|0)>>>2;q=e[a+(6-h<<1)>>1]|0;g=(g+2+(c<<1)+q|0)>>>2;f=e[a+(7-h<<1)>>1]|0;c=(c+2+(q<<1)+f|0)>>>2;f=(q+2+(e[a+((d|0?8:7)-h<<1)>>1]|0)+(f<<1)|0)>>>2;t=e[a+((H(h,t)|0)+-1<<1)>>1]|0;q=e[a+-2>>1]|0;v=e[a+(h+-1<<1)>>1]|0;t=(t+2+(q<<1)+v|0)>>>2;j=h<<1;w=e[a+(j+-1<<1)>>1]|0;d=(q+2+(v<<1)+w|0)>>>2;l=h*3|0;x=e[a+(l+-1<<1)>>1]|0;v=(v+2+(w<<1)+x|0)>>>2;n=h<<2;y=e[a+(n+-1<<1)>>1]|0;w=(w+2+(x<<1)+y|0)>>>2;p=h*5|0;z=e[a+(p+-1<<1)>>1]|0;x=(x+2+(y<<1)+z|0)>>>2;r=h*6|0;B=e[a+(r+-1<<1)>>1]|0;y=(y+2+(z<<1)+B|0)>>>2;u=h*7|0;A=e[a+(u+-1<<1)>>1]|0;z=(z+2+(B<<1)+A|0)>>>2;q=(C+q+((e[a+(~h<<1)>>1]|0)<<1)|0)>>>2;b[a+(u<<1)>>1]=(y+2+((B+2+(A*3|0)|0)>>>2)+(z<<1)|0)>>>2;z=(x+2+(y<<1)+z|0)>>>2&65535;b[a+(u+1<<1)>>1]=z;b[a+(r<<1)>>1]=z;y=(w+2+(x<<1)+y|0)>>>2&65535;b[a+(u+2<<1)>>1]=y;b[a+((r|1)<<1)>>1]=y;b[a+(p<<1)>>1]=y;x=(v+2+(w<<1)+x|0)>>>2&65535;b[a+(u+3<<1)>>1]=x;b[a+(r+2<<1)>>1]=x;b[a+(p+1<<1)>>1]=x;b[a+(n<<1)>>1]=x;w=(d+2+(v<<1)+w|0)>>>2&65535;b[a+(u+4<<1)>>1]=w;b[a+(r+3<<1)>>1]=w;b[a+(p+2<<1)>>1]=w;b[a+((n|1)<<1)>>1]=w;b[a+(l<<1)>>1]=w;v=(t+2+(d<<1)+v|0)>>>2&65535;b[a+(u+5<<1)>>1]=v;b[a+(r+4<<1)>>1]=v;b[a+(p+3<<1)>>1]=v;b[a+((n|2)<<1)>>1]=v;b[a+(l+1<<1)>>1]=v;b[a+(j<<1)>>1]=v;d=((t<<1)+2+d+q|0)>>>2&65535;b[a+(u+6<<1)>>1]=d;b[a+(r+5<<1)>>1]=d;b[a+(p+4<<1)>>1]=d;b[a+((n|3)<<1)>>1]=d;b[a+(l+2<<1)>>1]=d;b[a+((j|1)<<1)>>1]=d;b[a+(h<<1)>>1]=d;d=s+2|0;t=(d+t+(q<<1)|0)>>>2&65535;b[a+(u+7<<1)>>1]=t;b[a+(r+6<<1)>>1]=t;b[a+(p+5<<1)>>1]=t;b[a+(n+4<<1)>>1]=t;b[a+(l+3<<1)>>1]=t;b[a+(j+2<<1)>>1]=t;b[a+(h+1<<1)>>1]=t;b[a>>1]=t;q=((s<<1)+2+o+q|0)>>>2&65535;b[a+(r+7<<1)>>1]=q;b[a+(p+6<<1)>>1]=q;b[a+(n+5<<1)>>1]=q;b[a+(l+4<<1)>>1]=q;b[a+(j+3<<1)>>1]=q;b[a+(h+2<<1)>>1]=q;b[a+2>>1]=q;d=(d+(o<<1)+m|0)>>>2&65535;b[a+(p+7<<1)>>1]=d;b[a+(n+6<<1)>>1]=d;b[a+(l+5<<1)>>1]=d;b[a+(j+4<<1)>>1]=d;b[a+(h+3<<1)>>1]=d;b[a+4>>1]=d;d=(o+2+(m<<1)+k|0)>>>2&65535;b[a+(n+7<<1)>>1]=d;b[a+(l+6<<1)>>1]=d;b[a+(j+5<<1)>>1]=d;b[a+(h+4<<1)>>1]=d;b[a+6>>1]=d;d=(m+2+(k<<1)+i|0)>>>2&65535;b[a+(l+7<<1)>>1]=d;b[a+(j+6<<1)>>1]=d;b[a+(h+5<<1)>>1]=d;b[a+8>>1]=d;d=(k+2+(i<<1)+g|0)>>>2&65535;b[a+(j+7<<1)>>1]=d;b[a+(h+6<<1)>>1]=d;b[a+10>>1]=d;d=(i+2+(g<<1)+c|0)>>>2&65535;b[a+(h+7<<1)>>1]=d;b[a+12>>1]=d;b[a+14>>1]=(g+2+(c<<1)+f|0)>>>2;return}function Tn(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;g=f>>1;s=((c|0)!=0)<<31>>31;A=e[a+(0-g<<1)>>1]|0;q=e[a+(1-g<<1)>>1]|0;u=((e[a+(s-g<<1)>>1]|0)+2+(A<<1)+q|0)>>>2;n=e[a+(2-g<<1)>>1]|0;A=A+2|0;r=(A+(q<<1)+n|0)>>>2;k=e[a+(3-g<<1)>>1]|0;q=(q+2+(n<<1)+k|0)>>>2;h=e[a+(4-g<<1)>>1]|0;n=(n+2+(k<<1)+h|0)>>>2;c=e[a+(5-g<<1)>>1]|0;k=(k+2+(h<<1)+c|0)>>>2;t=e[a+(6-g<<1)>>1]|0;h=(h+2+(c<<1)+t|0)>>>2;f=e[a+(7-g<<1)>>1]|0;c=(c+2+(t<<1)+f|0)>>>2;f=(t+2+(e[a+((d|0?8:7)-g<<1)>>1]|0)+(f<<1)|0)>>>2;s=e[a+((H(g,s)|0)+-1<<1)>>1]|0;t=e[a+-2>>1]|0;d=e[a+(g+-1<<1)>>1]|0;s=(s+2+(t<<1)+d|0)>>>2;i=g<<1;x=e[a+(i+-1<<1)>>1]|0;v=(t+2+(d<<1)+x|0)>>>2;j=g*3|0;w=e[a+(j+-1<<1)>>1]|0;d=(d+2+(x<<1)+w|0)>>>2;l=g<<2;z=e[a+(l+-1<<1)>>1]|0;x=(x+2+(w<<1)+z|0)>>>2;m=g*5|0;B=e[a+(m+-1<<1)>>1]|0;w=(w+2+(z<<1)+B|0)>>>2;o=g*6|0;y=e[a+(o+-1<<1)>>1]|0;z=(z+2+(B<<1)+y|0)>>>2;p=g*7|0;y=(B+2+(y<<1)+(e[a+(p+-1<<1)>>1]|0)|0)>>>2;t=(A+t+((e[a+(~g<<1)>>1]|0)<<1)|0)>>>2;b[a+(o<<1)>>1]=(x+2+(w<<1)+z|0)>>>2;b[a+(p<<1)>>1]=(w+2+(z<<1)+y|0)>>>2;y=(v+2+(d<<1)+x|0)>>>2&65535;b[a+((o|1)<<1)>>1]=y;b[a+(l<<1)>>1]=y;w=(d+2+(x<<1)+w|0)>>>2&65535;b[a+(p+1<<1)>>1]=w;b[a+(m<<1)>>1]=w;w=((s<<1)+2+v+t|0)>>>2&65535;b[a+(o+2<<1)>>1]=w;b[a+((l|1)<<1)>>1]=w;b[a+(i<<1)>>1]=w;d=(s+2+(v<<1)+d|0)>>>2&65535;b[a+(p+2<<1)>>1]=d;b[a+(m+1<<1)>>1]=d;b[a+(j<<1)>>1]=d;d=u+2|0;s=(d+s+(t<<1)|0)>>>2&65535;b[a+(p+3<<1)>>1]=s;b[a+(m+2<<1)>>1]=s;b[a+(j+1<<1)>>1]=s;b[a+(g<<1)>>1]=s;s=u+1|0;v=(s+t|0)>>>1&65535;b[a+(o+3<<1)>>1]=v;b[a+((l|2)<<1)>>1]=v;b[a+((i|1)<<1)>>1]=v;b[a>>1]=v;t=((u<<1)+2+r+t|0)>>>2&65535;b[a+(p+4<<1)>>1]=t;b[a+(m+3<<1)>>1]=t;b[a+(j+2<<1)>>1]=t;b[a+(g+1<<1)>>1]=t;s=(s+r|0)>>>1&65535;b[a+(o+4<<1)>>1]=s;b[a+((l|3)<<1)>>1]=s;b[a+(i+2<<1)>>1]=s;b[a+2>>1]=s;d=(d+(r<<1)+q|0)>>>2&65535;b[a+(p+5<<1)>>1]=d;b[a+(m+4<<1)>>1]=d;b[a+(j+3<<1)>>1]=d;b[a+(g+2<<1)>>1]=d;d=(r+1+q|0)>>>1&65535;b[a+(o+5<<1)>>1]=d;b[a+(l+4<<1)>>1]=d;b[a+(i+3<<1)>>1]=d;b[a+4>>1]=d;d=(r+2+(q<<1)+n|0)>>>2&65535;b[a+(p+6<<1)>>1]=d;b[a+(m+5<<1)>>1]=d;b[a+(j+4<<1)>>1]=d;b[a+(g+3<<1)>>1]=d;d=(q+1+n|0)>>>1&65535;b[a+(o+6<<1)>>1]=d;b[a+(l+5<<1)>>1]=d;b[a+(i+4<<1)>>1]=d;b[a+6>>1]=d;d=(q+2+(n<<1)+k|0)>>>2&65535;b[a+(p+7<<1)>>1]=d;b[a+(m+6<<1)>>1]=d;b[a+(j+5<<1)>>1]=d;b[a+(g+4<<1)>>1]=d;d=(n+1+k|0)>>>1&65535;b[a+(o+7<<1)>>1]=d;b[a+(l+6<<1)>>1]=d;b[a+(i+5<<1)>>1]=d;b[a+8>>1]=d;d=(n+2+(k<<1)+h|0)>>>2&65535;b[a+(m+7<<1)>>1]=d;b[a+(j+6<<1)>>1]=d;b[a+(g+5<<1)>>1]=d;d=(k+1+h|0)>>>1&65535;b[a+(l+7<<1)>>1]=d;b[a+(i+6<<1)>>1]=d;b[a+10>>1]=d;d=(k+2+(h<<1)+c|0)>>>2&65535;b[a+(j+7<<1)>>1]=d;b[a+(g+6<<1)>>1]=d;d=(h+1+c|0)>>>1&65535;b[a+(i+7<<1)>>1]=d;b[a+12>>1]=d;b[a+(g+7<<1)>>1]=(h+2+(c<<1)+f|0)>>>2;b[a+14>>1]=(c+1+f|0)>>>1;return}function Un(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;i=f>>1;o=((c|0)!=0)<<31>>31;A=e[a+(0-i<<1)>>1]|0;h=e[a+(1-i<<1)>>1]|0;n=((e[a+(o-i<<1)>>1]|0)+2+(A<<1)+h|0)>>>2;g=e[a+(2-i<<1)>>1]|0;A=A+2|0;j=(A+(h<<1)+g|0)>>>2;c=e[a+(3-i<<1)>>1]|0;h=(h+2+(g<<1)+c|0)>>>2;d=e[a+(4-i<<1)>>1]|0;g=(g+2+(c<<1)+d|0)>>>2;m=e[a+(5-i<<1)>>1]|0;c=(c+2+(d<<1)+m|0)>>>2;f=e[a+(6-i<<1)>>1]|0;d=(d+2+(m<<1)+f|0)>>>2;f=(m+2+(f<<1)+(e[a+(7-i<<1)>>1]|0)|0)>>>2;o=e[a+((H(i,o)|0)+-1<<1)>>1]|0;m=e[a+-2>>1]|0;k=e[a+(i+-1<<1)>>1]|0;o=(o+2+(m<<1)+k|0)>>>2;l=i<<1;t=e[a+(l+-1<<1)>>1]|0;q=(m+2+(k<<1)+t|0)>>>2;p=i*3|0;v=e[a+(p+-1<<1)>>1]|0;k=(k+2+(t<<1)+v|0)>>>2;r=i<<2;x=e[a+(r+-1<<1)>>1]|0;t=(t+2+(v<<1)+x|0)>>>2;s=i*5|0;y=e[a+(s+-1<<1)>>1]|0;v=(v+2+(x<<1)+y|0)>>>2;u=i*6|0;B=e[a+(u+-1<<1)>>1]|0;x=(x+2+(y<<1)+B|0)>>>2;w=i*7|0;z=e[a+(w+-1<<1)>>1]|0;y=(y+2+(B<<1)+z|0)>>>2;z=(B+2+(z*3|0)|0)>>>2;m=(A+m+((e[a+(~i<<1)>>1]|0)<<1)|0)>>>2;b[a+(w<<1)>>1]=(z+1+y|0)>>>1;b[a+(w+1<<1)>>1]=(x+2+z+(y<<1)|0)>>>2;z=(x+1+y|0)>>>1&65535;b[a+(w+2<<1)>>1]=z;b[a+(u<<1)>>1]=z;y=(v+2+(x<<1)+y|0)>>>2&65535;b[a+(w+3<<1)>>1]=y;b[a+((u|1)<<1)>>1]=y;y=(v+1+x|0)>>>1&65535;b[a+(w+4<<1)>>1]=y;b[a+(u+2<<1)>>1]=y;b[a+(s<<1)>>1]=y;x=(t+2+(v<<1)+x|0)>>>2&65535;b[a+(w+5<<1)>>1]=x;b[a+(u+3<<1)>>1]=x;b[a+(s+1<<1)>>1]=x;x=(t+1+v|0)>>>1&65535;b[a+(w+6<<1)>>1]=x;b[a+(u+4<<1)>>1]=x;b[a+(s+2<<1)>>1]=x;b[a+(r<<1)>>1]=x;v=(k+2+(t<<1)+v|0)>>>2&65535;b[a+(w+7<<1)>>1]=v;b[a+(u+5<<1)>>1]=v;b[a+(s+3<<1)>>1]=v;b[a+((r|1)<<1)>>1]=v;v=(k+1+t|0)>>>1&65535;b[a+(u+6<<1)>>1]=v;b[a+(s+4<<1)>>1]=v;b[a+((r|2)<<1)>>1]=v;b[a+(p<<1)>>1]=v;t=(q+2+(k<<1)+t|0)>>>2&65535;b[a+(u+7<<1)>>1]=t;b[a+(s+5<<1)>>1]=t;b[a+((r|3)<<1)>>1]=t;b[a+(p+1<<1)>>1]=t;t=(q+1+k|0)>>>1&65535;b[a+(s+6<<1)>>1]=t;b[a+(r+4<<1)>>1]=t;b[a+(p+2<<1)>>1]=t;b[a+(l<<1)>>1]=t;k=(o+2+(q<<1)+k|0)>>>2&65535;b[a+(s+7<<1)>>1]=k;b[a+(r+5<<1)>>1]=k;b[a+(p+3<<1)>>1]=k;b[a+((l|1)<<1)>>1]=k;k=o+1|0;s=(k+q|0)>>>1&65535;b[a+(r+6<<1)>>1]=s;b[a+(p+4<<1)>>1]=s;b[a+(l+2<<1)>>1]=s;b[a+(i<<1)>>1]=s;q=((o<<1)+2+q+m|0)>>>2&65535;b[a+(r+7<<1)>>1]=q;b[a+(p+5<<1)>>1]=q;b[a+(l+3<<1)>>1]=q;b[a+(i+1<<1)>>1]=q;k=(k+m|0)>>>1&65535;b[a+(p+6<<1)>>1]=k;b[a+(l+4<<1)>>1]=k;b[a+(i+2<<1)>>1]=k;b[a>>1]=k;k=n+2|0;o=(k+o+(m<<1)|0)>>>2&65535;b[a+(p+7<<1)>>1]=o;b[a+(l+5<<1)>>1]=o;b[a+(i+3<<1)>>1]=o;b[a+2>>1]=o;m=((n<<1)+2+j+m|0)>>>2&65535;b[a+(l+6<<1)>>1]=m;b[a+(i+4<<1)>>1]=m;b[a+4>>1]=m;k=(k+(j<<1)+h|0)>>>2&65535;b[a+(l+7<<1)>>1]=k;b[a+(i+5<<1)>>1]=k;b[a+6>>1]=k;j=(j+2+(h<<1)+g|0)>>>2&65535;b[a+(i+6<<1)>>1]=j;b[a+8>>1]=j;h=(h+2+(g<<1)+c|0)>>>2&65535;b[a+(i+7<<1)>>1]=h;b[a+10>>1]=h;b[a+12>>1]=(g+2+(c<<1)+d|0)>>>2;b[a+14>>1]=(c+2+(d<<1)+f|0)>>>2;return}function Vn(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=f>>1;k=e[a+(0-q<<1)>>1]|0;l=e[a+(1-q<<1)>>1]|0;j=((e[a+((((c|0)!=0)<<31>>31)-q<<1)>>1]|0)+2+(k<<1)+l|0)>>>2;m=e[a+(2-q<<1)>>1]|0;k=(k+2+(l<<1)+m|0)>>>2;n=e[a+(3-q<<1)>>1]|0;l=(l+2+(m<<1)+n|0)>>>2;o=e[a+(4-q<<1)>>1]|0;m=(m+2+(n<<1)+o|0)>>>2;p=e[a+(5-q<<1)>>1]|0;n=(n+2+(o<<1)+p|0)>>>2;i=e[a+(6-q<<1)>>1]|0;o=(o+2+(p<<1)+i|0)>>>2;f=e[a+(7-q<<1)>>1]|0;p=(p+2+(i<<1)+f|0)>>>2;h=(d|0)!=0;i=(i+2+(e[a+((h?8:7)-q<<1)>>1]|0)+(f<<1)|0)>>>2;if(h){s=e[a+(8-q<<1)>>1]|0;r=e[a+(9-q<<1)>>1]|0;h=e[a+(10-q<<1)>>1]|0;g=e[a+(11-q<<1)>>1]|0;d=e[a+(12-q<<1)>>1]|0;c=(g+2+(d<<1)+(e[a+(13-q<<1)>>1]|0)|0)>>>2;d=(h+2+(g<<1)+d|0)>>>2;g=(r+2+(h<<1)+g|0)>>>2;h=(s+2+(r<<1)+h|0)>>>2;f=(f+2+(s<<1)+r|0)>>>2}else{c=f;d=f;g=f;h=f}b[a>>1]=(j+1+k|0)>>>1;b[a+(q<<1)>>1]=(j+2+(k<<1)+l|0)>>>2;s=(k+1+l|0)>>>1&65535;b[a+2>>1]=s;t=q<<1;b[a+(t<<1)>>1]=s;s=(k+2+(l<<1)+m|0)>>>2&65535;b[a+(q+1<<1)>>1]=s;j=q*3|0;b[a+(j<<1)>>1]=s;s=(l+1+m|0)>>>1&65535;b[a+4>>1]=s;b[a+((t|1)<<1)>>1]=s;k=q<<2;b[a+(k<<1)>>1]=s;s=(l+2+(m<<1)+n|0)>>>2&65535;b[a+(q+2<<1)>>1]=s;b[a+(j+1<<1)>>1]=s;l=q*5|0;b[a+(l<<1)>>1]=s;s=(m+1+n|0)>>>1&65535;b[a+6>>1]=s;b[a+(t+2<<1)>>1]=s;b[a+((k|1)<<1)>>1]=s;r=q*6|0;b[a+(r<<1)>>1]=s;m=(m+2+(n<<1)+o|0)>>>2&65535;b[a+(q+3<<1)>>1]=m;b[a+(j+2<<1)>>1]=m;b[a+(l+1<<1)>>1]=m;s=q*7|0;b[a+(s<<1)>>1]=m;m=(n+1+o|0)>>>1&65535;b[a+8>>1]=m;b[a+(t+3<<1)>>1]=m;b[a+((k|2)<<1)>>1]=m;b[a+((r|1)<<1)>>1]=m;n=(n+2+(o<<1)+p|0)>>>2&65535;b[a+(q+4<<1)>>1]=n;b[a+(j+3<<1)>>1]=n;b[a+(l+2<<1)>>1]=n;b[a+(s+1<<1)>>1]=n;n=(o+1+p|0)>>>1&65535;b[a+10>>1]=n;b[a+(t+4<<1)>>1]=n;b[a+((k|3)<<1)>>1]=n;b[a+(r+2<<1)>>1]=n;o=(o+2+(p<<1)+i|0)>>>2&65535;b[a+(q+5<<1)>>1]=o;b[a+(j+4<<1)>>1]=o;b[a+(l+3<<1)>>1]=o;b[a+(s+2<<1)>>1]=o;o=(p+1+i|0)>>>1&65535;b[a+12>>1]=o;b[a+(t+5<<1)>>1]=o;b[a+(k+4<<1)>>1]=o;b[a+(r+3<<1)>>1]=o;p=(p+2+(i<<1)+f|0)>>>2&65535;b[a+(q+6<<1)>>1]=p;b[a+(j+5<<1)>>1]=p;b[a+(l+4<<1)>>1]=p;b[a+(s+3<<1)>>1]=p;p=(i+1+f|0)>>>1&65535;b[a+14>>1]=p;b[a+(t+6<<1)>>1]=p;b[a+(k+5<<1)>>1]=p;b[a+(r+4<<1)>>1]=p;p=(i+2+(f<<1)+h|0)>>>2&65535;b[a+(q+7<<1)>>1]=p;b[a+(j+6<<1)>>1]=p;b[a+(l+5<<1)>>1]=p;b[a+(s+4<<1)>>1]=p;q=(f+1+h|0)>>>1&65535;b[a+(t+7<<1)>>1]=q;b[a+(k+6<<1)>>1]=q;b[a+(r+5<<1)>>1]=q;q=(f+2+(h<<1)+g|0)>>>2&65535;b[a+(j+7<<1)>>1]=q;b[a+(l+6<<1)>>1]=q;b[a+(s+5<<1)>>1]=q;q=(h+1+g|0)>>>1&65535;b[a+(k+7<<1)>>1]=q;b[a+(r+6<<1)>>1]=q;q=(h+2+(g<<1)+d|0)>>>2&65535;b[a+(l+7<<1)>>1]=q;b[a+(s+6<<1)>>1]=q;b[a+(r+7<<1)>>1]=(g+1+d|0)>>>1;b[a+(s+7<<1)>>1]=(g+2+(d<<1)+c|0)>>>2;return}function Wn(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=f>>1;r=e[a+((H(n,((c|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;q=e[a+-2>>1]|0;p=e[a+(n+-1<<1)>>1]|0;r=(r+2+(q<<1)+p|0)>>>2;l=n<<1;o=e[a+(l+-1<<1)>>1]|0;q=(q+2+(p<<1)+o|0)>>>2;j=n*3|0;m=e[a+(j+-1<<1)>>1]|0;p=(p+2+(o<<1)+m|0)>>>2;h=n<<2;k=e[a+(h+-1<<1)>>1]|0;o=(o+2+(m<<1)+k|0)>>>2;g=n*5|0;i=e[a+(g+-1<<1)>>1]|0;m=(m+2+(k<<1)+i|0)>>>2;c=n*6|0;s=e[a+(c+-1<<1)>>1]|0;k=(k+2+(i<<1)+s|0)>>>2;f=n*7|0;d=e[a+(f+-1<<1)>>1]|0;i=(i+2+(s<<1)+d|0)>>>2;d=(s+2+(d*3|0)|0)>>>2;b[a>>1]=(r+1+q|0)>>>1;b[a+2>>1]=(r+2+(q<<1)+p|0)>>>2;r=(q+1+p|0)>>>1&65535;b[a+4>>1]=r;b[a+(n<<1)>>1]=r;q=(q+2+(p<<1)+o|0)>>>2&65535;b[a+6>>1]=q;b[a+(n+1<<1)>>1]=q;q=(p+1+o|0)>>>1&65535;b[a+8>>1]=q;b[a+(n+2<<1)>>1]=q;b[a+(l<<1)>>1]=q;p=(p+2+(o<<1)+m|0)>>>2&65535;b[a+10>>1]=p;b[a+(n+3<<1)>>1]=p;b[a+((l|1)<<1)>>1]=p;p=(o+1+m|0)>>>1&65535;b[a+12>>1]=p;b[a+(n+4<<1)>>1]=p;b[a+(l+2<<1)>>1]=p;b[a+(j<<1)>>1]=p;o=(o+2+(m<<1)+k|0)>>>2&65535;b[a+14>>1]=o;b[a+(n+5<<1)>>1]=o;b[a+(l+3<<1)>>1]=o;b[a+(j+1<<1)>>1]=o;o=(m+1+k|0)>>>1&65535;b[a+(n+6<<1)>>1]=o;b[a+(l+4<<1)>>1]=o;b[a+(j+2<<1)>>1]=o;b[a+(h<<1)>>1]=o;m=(m+2+(k<<1)+i|0)>>>2&65535;b[a+(n+7<<1)>>1]=m;b[a+(l+5<<1)>>1]=m;b[a+(j+3<<1)>>1]=m;b[a+((h|1)<<1)>>1]=m;m=(k+1+i|0)>>>1&65535;b[a+(l+6<<1)>>1]=m;b[a+(j+4<<1)>>1]=m;b[a+((h|2)<<1)>>1]=m;b[a+(g<<1)>>1]=m;k=(k+2+d+(i<<1)|0)>>>2&65535;b[a+(l+7<<1)>>1]=k;b[a+(j+5<<1)>>1]=k;b[a+((h|3)<<1)>>1]=k;b[a+(g+1<<1)>>1]=k;k=(d+1+i|0)>>>1&65535;b[a+(j+6<<1)>>1]=k;b[a+(h+4<<1)>>1]=k;b[a+(g+2<<1)>>1]=k;b[a+(c<<1)>>1]=k;i=(i+2+(d*3|0)|0)>>>2&65535;b[a+(j+7<<1)>>1]=i;b[a+(h+5<<1)>>1]=i;b[a+(g+3<<1)>>1]=i;b[a+((c|1)<<1)>>1]=i;d=d&65535;b[a+(f+7<<1)>>1]=d;b[a+(c+7<<1)>>1]=d;b[a+(g+7<<1)>>1]=d;b[a+(h+7<<1)>>1]=d;b[a+(f+6<<1)>>1]=d;b[a+(c+6<<1)>>1]=d;b[a+(g+6<<1)>>1]=d;b[a+(h+6<<1)>>1]=d;b[a+(f+5<<1)>>1]=d;b[a+(c+5<<1)>>1]=d;b[a+(g+5<<1)>>1]=d;b[a+(f+4<<1)>>1]=d;b[a+(c+4<<1)>>1]=d;b[a+(g+4<<1)>>1]=d;b[a+(f+3<<1)>>1]=d;b[a+(c+3<<1)>>1]=d;b[a+(f+2<<1)>>1]=d;b[a+(c+2<<1)>>1]=d;b[a+(f+1<<1)>>1]=d;b[a+(f<<1)>>1]=d;return}function Xn(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=f>>1;m=e[a+((H(h,((b|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;l=e[a+-2>>1]|0;k=e[a+(h+-1<<1)>>1]|0;j=e[a+((h<<1)+-1<<1)>>1]|0;i=e[a+((h*3|0)+-1<<1)>>1]|0;d=e[a+((h<<2)+-1<<1)>>1]|0;f=e[a+((h*5|0)+-1<<1)>>1]|0;g=e[a+((h*6|0)+-1<<1)>>1]|0;b=e[a+((h*7|0)+-1<<1)>>1]|0;b=((m+2+(l<<1)+k|0)>>>2)+4+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+d|0)>>>2)+((i+2+(d<<1)+f|0)>>>2)+((d+2+(f<<1)+g|0)>>>2)+((f+2+(g<<1)+b|0)>>>2)+((g+2+(b*3|0)|0)>>>2)>>3;b=PW(b|0,((b|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;f=0;d=a;while(1){if((f|0)==8)break;m=d;c[m>>2]=b;c[m+4>>2]=g;m=d+8|0;c[m>>2]=b;c[m+4>>2]=g;f=f+1|0;d=d+(h<<1)|0}return}function Yn(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=f>>1;n=e[a+(0-h<<1)>>1]|0;m=e[a+(1-h<<1)>>1]|0;l=e[a+(2-h<<1)>>1]|0;k=e[a+(3-h<<1)>>1]|0;j=e[a+(4-h<<1)>>1]|0;i=e[a+(5-h<<1)>>1]|0;f=e[a+(6-h<<1)>>1]|0;g=e[a+(7-h<<1)>>1]|0;d=(((e[a+((((b|0)!=0)<<31>>31)-h<<1)>>1]|0)+2+(n<<1)+m|0)>>>2)+4+((n+2+(m<<1)+l|0)>>>2)+((m+2+(l<<1)+k|0)>>>2)+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+f|0)>>>2)+((i+2+(f<<1)+g|0)>>>2)+((f+2+(e[a+((d|0?8:7)-h<<1)>>1]|0)+(g<<1)|0)>>>2)>>3;d=PW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=0;f=a;while(1){if((b|0)==8)break;n=f;c[n>>2]=d;c[n+4>>2]=g;n=f+8|0;c[n>>2]=d;c[n+4>>2]=g;b=b+1|0;f=f+(h<<1)|0}return}function Zn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;d=e>>1;b=0;while(1){if((b|0)==8)break;e=a;c[e>>2]=16777472;c[e+4>>2]=16777472;e=a+8|0;c[e>>2]=16777472;c[e+4>>2]=16777472;b=b+1|0;a=a+(d<<1)|0}return}function _n(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=b>>1;f=a+(0-g<<1)|0;d=f;h=c[d>>2]|0;d=c[d+4>>2]|0;f=f+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;b=0;while(1){if((b|0)==8)break;i=a+((H(b,g)|0)<<1)|0;j=i;c[j>>2]=h;c[j+4>>2]=d;i=i+8|0;c[i>>2]=e;c[i+4>>2]=f;b=b+1|0}return}function $n(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=b>>1;f=a+(0-g<<1)|0;d=f;h=c[d>>2]|0;d=c[d+4>>2]|0;f=f+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;b=0;while(1){if((b|0)==16)break;i=a+((H(b,g)|0)<<1)|0;j=i;c[j>>2]=h;c[j+4>>2]=d;i=i+8|0;c[i>>2]=e;c[i+4>>2]=f;b=b+1|0}return}function ao(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==8)break;f=H(b,d)|0;h=PW(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;f=f+8|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function bo(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==16)break;f=H(b,d)|0;h=PW(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;f=f+8|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return} +function uk(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0;ia=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);Y=ia+20|0;W=ia;ha=ia+8|0;aa=g+21788|0;k=c[aa>>2]|0;_=g+21792|0;o=c[_>>2]|0;Z=g+21796|0;l=c[Z>>2]|0;ba=c[(c[f+24364>>2]|0)+(l<<2)>>2]|0;n=f+25976|0;V=g+848|0;if(!(c[V>>2]|0))fa=(c[(c[f+28216>>2]|0)+16>>2]|0)!=0;else fa=0;i=f+24316|0;ga=f+25664|0;m=g+21772|0;j=f+12|0;h=0;while(1){if((h|0)==3)break;X=c[ga>>2]|0;da=c[m>>2]|0;U=(c[(c[i>>2]|0)+(h<<2)>>2]|0)+((H(da,o)|0)+(k<>2]=U;X=U+(H(c[aa>>2]<<2&12,da)|0)+(64<>2]&1023](X,da,4);h=h+1|0}p=g+23412|0;a[(c[f+26388>>2]|0)+l>>0]=c[p>>2];X=g+21828|0;h=c[m>>2]|0;a:do if(c[X>>2]|0){m=h<<1;c[g+21784>>2]=m;c[g+21780>>2]=m;n=f+26168|0;b:do if(o&1|0){i=H(h,-15)|0;h=0;while(1){if((h|0)==3)break b;da=ha+(h<<2)|0;c[da>>2]=(c[da>>2]|0)+i;h=h+1|0}}while(0);if(!(c[f+26376>>2]|0))da=m;else{j=(ba&8|0)==0;i=0;while(1){if(i>>>0>=(c[p>>2]|0)>>>0){da=m;break a}c:do if(12288<<(i<<1)&ba|0){if(j)h=0;else{U=g+28272+(i*40|0)+12|0;da=H((a[U>>0]|0)+16^c[_>>2]&1,16843009)|0;c[U>>2]=da;c[g+28272+(i*40|0)+20>>2]=da;c[g+28272+(i*40|0)+28>>2]=da;c[g+28272+(i*40|0)+36>>2]=da;break}while(1){if((h|0)>=16)break c;k=(d[150841+h>>0]|0)+(g+28272+(i*40|0))|0;l=a[k>>0]|0;if(l<<24>>24>-1){da=(c[_>>2]&1^(l<<24>>24)+16)*257&65535;b[k>>1]=da;b[k+8>>1]=da}h=h+4|0}}while(0);i=i+1|0}}}else{c[g+21784>>2]=h;c[g+21780>>2]=h;da=h}while(0);d:do if(!(ba&4)){e:do if(ba&7){U=g+868|0;i=c[U>>2]|0;f:do if(i|0){j=c[ha>>2]|0;k=c[ha+4>>2]|0;l=c[ha+8>>2]|0;y=c[ga>>2]|0;do if(c[f+26376>>2]|0){h=(c[g+21832>>2]|0)!=0;if(c[_>>2]&1)if(h){h=1;break}else break f;else{h=(h^1)&1;break}}else h=1;while(0);if((i|0)==2){s=(c[g+832>>2]|0)==(e[(c[f+26372>>2]|0)+((c[Z>>2]|0)+-1-(c[f+27016>>2]|0)<<1)>>1]|0);i=c[g+21732>>2]|0;u=c[aa>>2]|0}else{u=c[aa>>2]|0;s=(u|0)>0;i=(c[_>>2]|0)>((c[X>>2]|0)!=0|0)&1}w=0-(da+1+y)|0;q=j+w|0;v=k+w|0;w=l+w|0;x=g+27796+(h<<2)|0;t=c[x>>2]|0;r=u+-1|0;k=t+(u*96|0)|0;if(i|0){l=(y|0)==0;do if(s){h=(8<>2]|0;S=c[S+4>>2]|0;i=q+(-7<>2]|0;T=h;c[T>>2]=c[P>>2];c[T+4>>2]=Q;T=i;c[T>>2]=R;c[T+4>>2]=S;if(l){h=k;i=q+1|0;o=0;j=c[h>>2]|0;h=c[h+4>>2]|0;l=1;break}else{S=h+8|0;l=S;j=c[l>>2]|0;l=c[l+4>>2]|0;h=i+8|0;T=h;ca=c[T+4>>2]|0;i=S;c[i>>2]=c[T>>2];c[i+4>>2]=ca;c[h>>2]=j;c[h+4>>2]=l;h=k;l=1<>2]|0;h=c[h+4>>2]|0;ca=56;break}}else{h=k;j=c[h>>2]|0;h=c[h+4>>2]|0;m=1<>2]|0;c[k>>2]=c[ca>>2];c[k+4>>2]=o;k=i;c[k>>2]=j;c[k+4>>2]=h;k=t+(u*96|0)+8|0;h=k;i=q+l+8|0;o=1;j=c[h>>2]|0;h=c[h+4>>2]|0}m=i;S=c[m+4>>2]|0;T=k;c[T>>2]=c[m>>2];c[T+4>>2]=S;T=i;c[T>>2]=j;c[T+4>>2]=h;h=(8<>2]|0;T=c[T+4>>2]|0;m=9<>2]|0;ca=h;c[ca>>2]=c[Q>>2];c[ca+4>>2]=R;ca=i;c[ca>>2]=S;c[ca+4>>2]=T;if(o){R=h+8|0;T=R;S=c[T>>2]|0;T=c[T+4>>2]|0;ca=i+8|0;P=ca;Q=c[P+4>>2]|0;c[R>>2]=c[P>>2];c[R+4>>2]=Q;c[ca>>2]=S;c[ca+4>>2]=T}h=(c[aa>>2]|0)+1|0;p=f+27012|0;if((h|0)<(c[p>>2]|0)?(ca=(c[x>>2]|0)+(h*96|0)|0,T=ca,S=c[T>>2]|0,T=c[T+4>>2]|0,z=q+(17<>2]|0,ca,c[ca>>2]=c[Q>>2],c[ca+4>>2]=R,ca=z,c[ca>>2]=S,c[ca+4>>2]=T,o):0){R=(c[x>>2]|0)+(((c[aa>>2]|0)+1|0)*96|0)+8|0;T=R;S=c[T>>2]|0;T=c[T+4>>2]|0;ca=z+8|0;P=ca;Q=c[P+4>>2]|0;c[R>>2]=c[P>>2];c[R+4>>2]=Q;c[ca>>2]=S;c[ca+4>>2]=T}if(s){h=(24<>2]|0;T=c[T+4>>2]|0;j=-7<>2]|0;ca=h;c[ca>>2]=c[Q>>2];c[ca+4>>2]=R;ca=i;c[ca>>2]=S;c[ca+4>>2]=T;if(o){R=h+8|0;T=R;S=c[T>>2]|0;T=c[T+4>>2]|0;ca=i+8|0;P=ca;Q=c[P+4>>2]|0;c[R>>2]=c[P>>2];c[R+4>>2]=Q;c[ca>>2]=S;c[ca+4>>2]=T}i=(40<>2]|0;T=c[T+4>>2]|0;h=w+j|0;Q=h;R=c[Q+4>>2]|0;ca=i;c[ca>>2]=c[Q>>2];c[ca+4>>2]=R;ca=h;c[ca>>2]=S;c[ca+4>>2]=T;if(o){R=i+8|0;T=R;S=c[T>>2]|0;T=c[T+4>>2]|0;ca=h+8|0;P=ca;Q=c[P+4>>2]|0;c[R>>2]=c[P>>2];c[R+4>>2]=Q;c[ca>>2]=S;c[ca+4>>2]=T;ca=68}else ca=69}else if(o)ca=68;else ca=69;if((ca|0)==68){i=(16<>2]|0;T=c[T+4>>2]|0;h=v+l|0;Q=h;R=c[Q+4>>2]|0;k=i;c[k>>2]=c[Q>>2];c[k+4>>2]=R;k=h;c[k>>2]=S;c[k+4>>2]=T;h=h+8|0;i=i+8|0;k=1}else if((ca|0)==69){h=v+l|0;i=(16<>2]|0;S=c[S+4>>2]|0;Q=h;P=c[Q+4>>2]|0;c[i>>2]=c[Q>>2];c[i+4>>2]=P;c[h>>2]=R;c[h+4>>2]=S;h=(24<>2]|0;S=c[S+4>>2]|0;i=v+m|0;P=i;Q=c[P+4>>2]|0;T=h;c[T>>2]=c[P>>2];c[T+4>>2]=Q;T=i;c[T>>2]=R;c[T+4>>2]=S;if(k){h=h+8|0;S=h;R=c[S>>2]|0;S=c[S+4>>2]|0;i=i+8|0;Q=i;P=c[Q+4>>2]|0;c[h>>2]=c[Q>>2];c[h+4>>2]=P;c[i>>2]=R;c[i+4>>2]=S;i=(32<>2]|0;S=c[S+4>>2]|0;h=w+l|0;P=h;Q=c[P+4>>2]|0;T=i;c[T>>2]=c[P>>2];c[T+4>>2]=Q;T=h;c[T>>2]=R;c[T+4>>2]=S;h=h+8|0;i=i+8|0}else{h=w+l|0;i=(32<>2]|0;S=c[S+4>>2]|0;Q=h;P=c[Q+4>>2]|0;c[i>>2]=c[Q>>2];c[i+4>>2]=P;i=h;c[i>>2]=R;c[i+4>>2]=S;i=(40<>2]|0;S=c[S+4>>2]|0;h=w+m|0;P=h;Q=c[P+4>>2]|0;T=i;c[T>>2]=c[P>>2];c[T+4>>2]=Q;T=h;c[T>>2]=R;c[T+4>>2]=S;if(k){Q=i+8|0;S=Q;R=c[S>>2]|0;S=c[S+4>>2]|0;T=h+8|0;O=T;P=c[O+4>>2]|0;c[Q>>2]=c[O>>2];c[Q+4>>2]=P;c[T>>2]=R;c[T+4>>2]=S}h=(c[aa>>2]|0)+1|0;if((h|0)<(c[p>>2]|0)){i=16<>2]|0)+(h*96|0)+i|0;S=T;R=c[S>>2]|0;S=c[S+4>>2]|0;j=17<>2]|0;c[T>>2]=c[P>>2];c[T+4>>2]=Q;T=h;c[T>>2]=R;c[T+4>>2]=S;if(k){Q=(c[x>>2]|0)+(((c[aa>>2]|0)+1|0)*96|0)+i+8|0;S=Q;R=c[S>>2]|0;S=c[S+4>>2]|0;T=h+8|0;O=T;P=c[O+4>>2]|0;c[Q>>2]=c[O>>2];c[Q+4>>2]=P;c[T>>2]=R;c[T+4>>2]=S}i=32<>2]|0)+(((c[aa>>2]|0)+1|0)*96|0)+i|0;S=T;R=c[S>>2]|0;S=c[S+4>>2]|0;h=w+j|0;P=h;Q=c[P+4>>2]|0;c[T>>2]=c[P>>2];c[T+4>>2]=Q;T=h;c[T>>2]=R;c[T+4>>2]=S;if(k){Q=(c[x>>2]|0)+(((c[aa>>2]|0)+1|0)*96|0)+i+8|0;S=Q;R=c[S>>2]|0;S=c[S+4>>2]|0;T=h+8|0;O=T;P=c[O+4>>2]|0;c[Q>>2]=c[O>>2];c[Q+4>>2]=P;c[T>>2]=R;c[T+4>>2]=S}}}}while(0);h=ba&1;x=(h|0)==0;C=g+21660|0;y=f+132|0;z=f+28212|0;S=ba&16777216;A=(S|0)==0;E=f+144|0;D=f+28216|0;F=g+21764|0;G=3-da|0;I=3-((da|0)/2|0)|0;J=0-da|0;B=g+28560|0;K=f+108|0;L=f+100|0;T=f+140|0;O=f+25704|0;P=g+21756|0;Q=f+112|0;R=f+104|0;w=0;while(1){if((w|0)==3)break;v=c[ga>>2]|0;s=c[ha+(w<<2)>>2]|0;i=c[((w|0)==0?V:g+852+(w+-1<<2)|0)>>2]|0;t=w<<4;u=n+(t<<2)|0;g:do if(x){od[c[f+25888+(c[C>>2]<<2)>>2]&255](s,da);if(a[(d[150841+(w+48)>>0]|0)+(g+27824)>>0]|0){if(!fa){pd[c[y>>2]&1023](g+28560+(w<<8<>2]|0)+173788+(w<<2)>>2]|0)+(i<<6)>>2]|0);break}m=g+28560+(w<<8<>0]|0;if(j)b[m+(l<<1)>>1]=b[g+31632+(w<<6)+(i<<1)>>1]|0;else c[m+(l<<2)>>2]=c[k+(i<<2)>>2];i=i+1|0}}}else{if(!A){if(fa){l=c[T>>2]|0;k=l}else{k=c[R>>2]|0;l=c[Q>>2]|0}o=w<<8;p=(v|0)==0;m=0;while(1){if((m|0)>=16)break g;q=s+(c[u+(m<<2)>>2]|0)|0;r=a[(d[150841+m>>0]|0)+(g+21664)>>0]|0;i=r<<24>>24;do if(fa?(r<<24>>24<2?(c[(c[D>>2]|0)+4>>2]|0)==244:0):0)if((c[O>>2]|0)>>>0<151){pd[c[f+25932+(i<<2)>>2]&1023](q,g+28560+((m<<4)+o<>2]&127](q,g+28560+((m<<4)+o<>2]<>2]<>0]|0)+(g+27824)>>0]|0;qd[c[f+25796+(i<<2)>>2]&255](q,c[P>>2]<>2]<>24){case 0:break h;case 1:{i=(m<<4)+o|0;if(p)j=e[g+28560+(i<<1)>>1]|0;else j=c[B+(i<<2)>>2]|0;if(!j)break i;pd[l&1023](q,g+28560+(i<>2]|0;k=l}else{k=c[L>>2]|0;l=c[K>>2]|0}o=w<<8;p=(v|0)==0;q=4<>2]|0)|0;i=a[(d[150841+m>>0]|0)+(g+21664)>>0]|0;j=i<<24>>24;if(fa?(i<<24>>24<2?(c[(c[D>>2]|0)+4>>2]|0)==244:0):0)pd[c[f+25924+(j<<2)>>2]&1023](r,g+28560+((m<<4)+o<>24==7){if(c[F>>2]&32768>>>m|0){i=r+q+J|0;break}if(p){c[Y>>2]=H(d[r+G>>0]|0,16843009)|0;i=Y;break}else{ka=PW(e[r+(I<<1)>>1]|0,0,65537,65537)|0;ja=M()|0;i=W;c[i>>2]=ka;c[i+4>>2]=ja;i=W;break}}else i=0;while(0);pd[c[f+25736+(j<<2)>>2]&1023](r,i,da);j:do switch(a[(d[150841+(m+t)>>0]|0)+(g+27824)>>0]|0){case 0:break;case 1:{i=(m<<4)+o|0;if(p)j=e[g+28560+(i<<1)>>1]|0;else j=c[B+(i<<2)>>2]|0;if(!j){ca=124;break j}pd[l&1023](r,g+28560+(i<>2]|0;if(j){k=c[ha>>2]|0;l=c[ha+4>>2]|0;o=c[ha+8>>2]|0;y=c[ga>>2]|0;do if(c[f+26376>>2]|0){i=(c[g+21832>>2]|0)!=0;if(c[_>>2]&1)if(i){m=1;break}else{j=S;i=T;break e}else{m=(i^1)&1;break}}else m=1;while(0);if((j|0)==2){s=(c[g+832>>2]|0)==(e[(c[f+26372>>2]|0)+((c[Z>>2]|0)+-1-(c[f+27016>>2]|0)<<1)>>1]|0);i=c[g+21732>>2]|0;u=c[aa>>2]|0}else{u=c[aa>>2]|0;s=(u|0)>0;i=(c[_>>2]|0)>((c[X>>2]|0)!=0|0)&1}w=0-(da+1+y)|0;q=k+w|0;v=l+w|0;w=o+w|0;x=g+27796+(m<<2)|0;t=c[x>>2]|0;r=u+-1|0;k=t+(u*96|0)|0;if(i){l=(y|0)==0;do if(s){i=(8<>2]|0;ja=c[ja+4>>2]|0;j=q+(-7<>2]|0;ka=i;c[ka>>2]=c[Y>>2];c[ka+4>>2]=Z;ka=j;c[ka>>2]=_;c[ka+4>>2]=ja;if(l){i=k;j=q+1|0;k=c[i>>2]|0;i=c[i+4>>2]|0;m=1;l=0;break}else{_=i+8|0;m=_;ca=c[m>>2]|0;m=c[m+4>>2]|0;i=j+8|0;ja=i;ka=c[ja+4>>2]|0;j=_;c[j>>2]=c[ja>>2];c[j+4>>2]=ka;c[i>>2]=ca;c[i+4>>2]=m;i=k;m=1<>2]|0;i=c[i+4>>2]|0;ca=151;break}}else{i=k;k=c[i>>2]|0;i=c[i+4>>2]|0;m=1<>2]=k;c[j+4>>2]=i;i=t+(u*96|0)+8|0;j=q+m+8|0;k=c[i>>2]|0;i=c[i+4>>2]|0;l=1}ja=j;c[ja>>2]=k;c[ja+4>>2]=i;i=(8<>2]|0;ja=c[ja+4>>2]|0;o=9<>2]|0;ka=i;c[ka>>2]=c[Z>>2];c[ka+4>>2]=_;ka=j;c[ka>>2]=ca;c[ka+4>>2]=ja;if(l){_=i+8|0;ja=_;ca=c[ja>>2]|0;ja=c[ja+4>>2]|0;ka=j+8|0;Y=ka;Z=c[Y+4>>2]|0;c[_>>2]=c[Y>>2];c[_+4>>2]=Z;c[ka>>2]=ca;c[ka+4>>2]=ja}i=(c[aa>>2]|0)+1|0;p=f+27012|0;if((i|0)<(c[p>>2]|0)?(ka=(c[x>>2]|0)+(i*96|0)|0,ja=ka,ca=c[ja>>2]|0,ja=c[ja+4>>2]|0,$=q+(17<>2]|0,ka,c[ka>>2]=c[Z>>2],c[ka+4>>2]=_,ka=$,c[ka>>2]=ca,c[ka+4>>2]=ja,l):0){Y=(c[x>>2]|0)+(((c[aa>>2]|0)+1|0)*96|0)+8|0;ja=Y;ca=c[ja>>2]|0;ja=c[ja+4>>2]|0;ka=$+8|0;Z=ka;_=c[Z+4>>2]|0;$=Y;c[$>>2]=c[Z>>2];c[$+4>>2]=_;c[ka>>2]=ca;c[ka+4>>2]=ja}if(s){i=(24<>2]|0;ja=c[ja+4>>2]|0;k=-7<>2]|0;ka=i;c[ka>>2]=c[_>>2];c[ka+4>>2]=$;ka=j;c[ka>>2]=ca;c[ka+4>>2]=ja;if(l){$=i+8|0;ja=$;ca=c[ja>>2]|0;ja=c[ja+4>>2]|0;ka=j+8|0;Z=ka;_=c[Z+4>>2]|0;c[$>>2]=c[Z>>2];c[$+4>>2]=_;c[ka>>2]=ca;c[ka+4>>2]=ja}j=(40<>2]|0;ja=c[ja+4>>2]|0;i=w+k|0;_=i;$=c[_+4>>2]|0;ka=j;c[ka>>2]=c[_>>2];c[ka+4>>2]=$;ka=i;c[ka>>2]=ca;c[ka+4>>2]=ja;if(l){$=j+8|0;ka=$;ja=c[ka>>2]|0;ka=c[ka+4>>2]|0;ca=i+8|0;Z=ca;_=c[Z+4>>2]|0;c[$>>2]=c[Z>>2];c[$+4>>2]=_;c[ca>>2]=ja;c[ca+4>>2]=ka;ca=163}else ca=164}else if(l)ca=163;else ca=164;if((ca|0)==163){j=(16<>2]|0;i=v+m|0;l=i;c[l>>2]=c[ja>>2];c[l+4>>2]=ka;i=i+8|0;j=j+8|0;l=1}else if((ca|0)==164){i=v+m|0;j=(16<>2]|0;c[i>>2]=c[$>>2];c[i+4>>2]=ja;i=(24<>2]|0;ja=c[ja+4>>2]|0;j=v+o|0;Z=j;_=c[Z+4>>2]|0;ka=i;c[ka>>2]=c[Z>>2];c[ka+4>>2]=_;ka=j;c[ka>>2]=$;c[ka+4>>2]=ja;if(l){i=i+8|0;$=i;ja=c[$>>2]|0;$=c[$+4>>2]|0;j=j+8|0;_=j;ka=c[_+4>>2]|0;c[i>>2]=c[_>>2];c[i+4>>2]=ka;c[j>>2]=ja;c[j+4>>2]=$;j=(32<>2]|0;i=w+m|0;ka=i;c[ka>>2]=c[$>>2];c[ka+4>>2]=ja;i=i+8|0;j=j+8|0}else{i=w+m|0;j=(32<>2]|0;j=i;c[j>>2]=c[$>>2];c[j+4>>2]=ja;j=(40<>2]|0;ja=c[ja+4>>2]|0;i=w+o|0;Z=i;_=c[Z+4>>2]|0;ka=j;c[ka>>2]=c[Z>>2];c[ka+4>>2]=_;ka=i;c[ka>>2]=$;c[ka+4>>2]=ja;if(l){_=j+8|0;ja=_;$=c[ja>>2]|0;ja=c[ja+4>>2]|0;ka=i+8|0;Y=ka;Z=c[Y+4>>2]|0;c[_>>2]=c[Y>>2];c[_+4>>2]=Z;c[ka>>2]=$;c[ka+4>>2]=ja}i=(c[aa>>2]|0)+1|0;if((i|0)<(c[p>>2]|0)){j=16<>2]|0)+(i*96|0)+j|0;ja=ka;$=c[ja>>2]|0;ja=c[ja+4>>2]|0;k=17<>2]|0;c[ka>>2]=c[Z>>2];c[ka+4>>2]=_;ka=i;c[ka>>2]=$;c[ka+4>>2]=ja;if(l){_=(c[x>>2]|0)+(((c[aa>>2]|0)+1|0)*96|0)+j+8|0;ja=_;$=c[ja>>2]|0;ja=c[ja+4>>2]|0;ka=i+8|0;Y=ka;Z=c[Y+4>>2]|0;c[_>>2]=c[Y>>2];c[_+4>>2]=Z;c[ka>>2]=$;c[ka+4>>2]=ja}j=32<>2]|0)+(((c[aa>>2]|0)+1|0)*96|0)+j|0;ja=ka;$=c[ja>>2]|0;ja=c[ja+4>>2]|0;i=w+k|0;Z=i;_=c[Z+4>>2]|0;c[ka>>2]=c[Z>>2];c[ka+4>>2]=_;ka=i;c[ka>>2]=$;c[ka+4>>2]=ja;if(l){_=(c[x>>2]|0)+(((c[aa>>2]|0)+1|0)*96|0)+j+8|0;ka=_;ja=c[ka>>2]|0;ka=c[ka+4>>2]|0;j=i+8|0;$=j;aa=c[$+4>>2]|0;i=_;c[i>>2]=c[$>>2];c[i+4>>2]=aa;c[j>>2]=ja;c[j+4>>2]=ka;j=S;i=T}else{j=S;i=T}}else{j=S;i=T}}else{j=S;i=T}}else{j=S;i=T}}else{Fk(f,g,c[ha>>2]|0,c[ha+4>>2]|0,c[ha+8>>2]|0,f+184|0,f+152|0,f+440|0,f+168|0,f+16|0,f+32|0);j=ba&16777216;E=f+144|0;i=f+140|0;D=f+28216|0;C=g+21660|0;B=g+28560|0;h=ba&1}while(0);A=(h|0)==0;x=(ba&2|0)==0;y=g+21856|0;w=(j|0)!=0;z=w?4:1;w=w?i:E;o=(j|0)==0;p=f+116|0;q=f+120|0;r=f+128|0;m=0;while(1){if((m|0)==3)break d;s=c[ga>>2]|0;t=c[ha+(m<<2)>>2]|0;u=m<<4;v=n+(u<<2)|0;k:do if(A){if(x){if(!(c[y>>2]&15))break;if(!fa)if(o){rd[c[p>>2]&127](t,v,g+28560+(m<<8<>2]&127](t,v,g+28560+(m<<8<>2]|0;j=m<<8;h=0;while(1){if((h|0)>=16)break k;if(a[(d[150841+(h+u)>>0]|0)+(g+27824)>>0]|0)pd[i&1023](t+(c[v+(h<<2)>>2]|0)|0,g+28560+((h<<4)+j<>2]&127](t,v,g+28560+(m<<8<>2]|0)+4>>2]|0)==244?(ea=c[C>>2]|0,(ea+-1|0)>>>0<2):0){qd[c[f+25960+(ea<<2)>>2]&255](t,v,g+28560+(m<<8<>0]|0)+(g+27824)>>0]|0)){if(k)i=e[g+28560+(l<<1)>>1]|0;else i=c[B+(l<<2)>>2]|0;if(i|0)ca=191}else ca=191;if((ca|0)==191){ca=0;pd[c[E>>2]&1023](t+(c[v+(h<<2)>>2]|0)|0,g+28560+(l<>2]|0)){j=g+27780|0;i=0;while(1){if((i|0)==3)break d;k=ha+(i<<2)|0;l=i<<8;h=0;while(1){if((h|0)==16)break;m=(c[k>>2]|0)+(H(h,da)|0)|0;n=(c[j>>2]|0)+l+(h<<4)|0;o=m+16|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));h=h+1|0}i=i+1|0}}m=c[(c[f+28216>>2]|0)+1184>>2]|0;wk(Y,c[g+27780>>2]|0,m*768|0);j=0;while(1){if((j|0)==3)break;k=ha+(j<<2)|0;i=0;while(1){if((i|0)==16)break;l=(c[k>>2]|0)+(H(i,da)|0)|0;h=0;while(1){if((h|0)==16)break;b[l+(h<<1)>>1]=xk(Y,m)|0;h=h+1|0}i=i+1|0}j=j+1|0}}while(0);$c=ia;return}function vk(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;Z=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);Y=Z+8|0;A=Z;F=g+21788|0;i=c[F>>2]|0;D=g+21792|0;k=c[D>>2]|0;C=g+21796|0;j=c[C>>2]|0;I=c[(c[f+24364>>2]|0)+(j<<2)>>2]|0;y=g+848|0;T=f+28216|0;h=c[T>>2]|0;if(!(c[y>>2]|0))Q=(c[h+16>>2]|0)!=0;else Q=0;t=16>>>(c[f+25680>>2]|0);U=(c[h+12>>2]|0)==2;R=c[f+24316>>2]|0;W=f+25664|0;S=c[W>>2]|0;B=i<>2]|0;l=(c[R>>2]|0)+((H(r,k)|0)+B<<4)|0;B=B<<3;h=g+21776|0;m=H(H(t,k)|0,c[h>>2]|0)|0;o=(c[R+4>>2]|0)+B+m|0;m=(c[R+8>>2]|0)+B+m|0;B=f+12|0;i=l+(H(i<<2&12,r)|0)+(64<>2]&1023](i,r,4);r=o+(H(c[F>>2]&7,c[h>>2]|0)|0)|0;pd[c[B>>2]&1023](r+(64<>2])|0,m-o|0,2);r=g+23412|0;a[(c[f+26388>>2]|0)+j>>0]=c[r>>2];B=g+21828|0;i=c[X>>2]|0;a:do if(c[B>>2]|0){p=i<<1;c[g+21780>>2]=p;h=c[h>>2]|0;q=h<<1;c[g+21784>>2]=q;s=f+26168|0;if(!(k&1))n=l;else{X=H(1-t|0,h)|0;n=l+(H(i,-15)|0)|0;o=o+X|0;m=m+X|0}if(!(c[f+26376>>2]|0)){L=p;X=q;R=s;K=n;S=m}else{j=(I&8|0)==0;i=0;while(1){if(i>>>0>=(c[r>>2]|0)>>>0){L=p;X=q;R=s;K=n;S=m;break a}b:do if(12288<<(i<<1)&I|0){if(j)h=0;else{S=g+28272+(i*40|0)+12|0;X=H((a[S>>0]|0)+16^c[D>>2]&1,16843009)|0;c[S>>2]=X;c[g+28272+(i*40|0)+20>>2]=X;c[g+28272+(i*40|0)+28>>2]=X;c[g+28272+(i*40|0)+36>>2]=X;break}while(1){if((h|0)>=16)break b;k=(d[150841+h>>0]|0)+(g+28272+(i*40|0))|0;l=a[k>>0]|0;if(l<<24>>24>-1){X=(c[D>>2]&1^(l<<24>>24)+16)*257&65535;b[k>>1]=X;b[k+8>>1]=X}h=h+4|0}}while(0);i=i+1|0}}}else{c[g+21780>>2]=i;X=c[h>>2]|0;c[g+21784>>2]=X;L=i;R=f+25976|0;K=l;S=m}while(0);c:do if(!(I&4)){G=(I&7|0)!=0;d:do if(G){z=g+868|0;i=c[z>>2]|0;e:do if(i|0){w=c[W>>2]|0;do if(c[f+26376>>2]|0){h=(c[g+21832>>2]|0)!=0;if(c[D>>2]&1)if(h){h=1;break}else break e;else{h=(h^1)&1;break}}else h=1;while(0);if((i|0)==2){q=(c[g+832>>2]|0)==(e[(c[f+26372>>2]|0)+((c[C>>2]|0)+-1-(c[f+27016>>2]|0)<<1)>>1]|0);i=c[g+21732>>2]|0;u=c[F>>2]|0}else{u=c[F>>2]|0;q=(u|0)>0;i=(c[D>>2]|0)>((c[B>>2]|0)!=0|0)&1}p=K+(0-(L+1+w))|0;v=0-(X+1+w)|0;s=o+v|0;v=S+v|0;n=g+27796+(h<<2)|0;t=c[n>>2]|0;r=u+-1|0;l=t+(u*96|0)|0;if(i|0){j=(w|0)==0;do if(q){h=(8<>2]|0;k=c[k+4>>2]|0;i=p+(-7<>2]|0;m=h;c[m>>2]=c[aa>>2];c[m+4>>2]=$;m=i;c[m>>2]=_;c[m+4>>2]=k;if(j){h=l;i=p+1|0;j=0;k=c[h>>2]|0;h=c[h+4>>2]|0;break}else{$=h+8|0;m=$;j=c[m>>2]|0;m=c[m+4>>2]|0;h=i+8|0;aa=h;V=c[aa+4>>2]|0;i=$;c[i>>2]=c[aa>>2];c[i+4>>2]=V;c[h>>2]=j;c[h+4>>2]=m;h=l;m=1<>2]|0;h=c[h+4>>2]|0;V=69;break}}else{h=l;k=c[h>>2]|0;h=c[h+4>>2]|0;m=1<>2]|0;c[l>>2]=c[aa>>2];c[l+4>>2]=k;l=i;c[l>>2]=j;c[l+4>>2]=h;l=t+(u*96|0)+8|0;h=l;i=p+m+8|0;j=1;k=c[h>>2]|0;h=c[h+4>>2]|0}m=i;_=c[m+4>>2]|0;$=l;c[$>>2]=c[m>>2];c[$+4>>2]=_;$=i;c[$>>2]=k;c[$+4>>2]=h;h=(8<>2]|0;$=c[$+4>>2]|0;i=p+(9<>2]|0;aa=h;c[aa>>2]=c[l>>2];c[aa+4>>2]=m;aa=i;c[aa>>2]=_;c[aa+4>>2]=$;if(j){m=h+8|0;$=m;_=c[$>>2]|0;$=c[$+4>>2]|0;aa=i+8|0;k=aa;l=c[k+4>>2]|0;c[m>>2]=c[k>>2];c[m+4>>2]=l;c[aa>>2]=_;c[aa+4>>2]=$}h=(c[F>>2]|0)+1|0;if((h|0)<(c[f+27012>>2]|0)?(aa=(c[n>>2]|0)+(h*96|0)|0,$=aa,_=c[$>>2]|0,$=c[$+4>>2]|0,x=p+(17<>2]|0,aa,c[aa>>2]=c[m>>2],c[aa+4>>2]=p,aa=x,c[aa>>2]=_,c[aa+4>>2]=$,j):0){m=(c[n>>2]|0)+(((c[F>>2]|0)+1|0)*96|0)+8|0;$=m;_=c[$>>2]|0;$=c[$+4>>2]|0;aa=x+8|0;n=aa;p=c[n+4>>2]|0;x=m;c[x>>2]=c[n>>2];c[x+4>>2]=p;c[aa>>2]=_;c[aa+4>>2]=$}l=16<>2]|0;$=c[$+4>>2]|0;k=-7<>2]|0;aa=h;c[aa>>2]=c[q>>2];c[aa+4>>2]=x;aa=i;c[aa>>2]=_;c[aa+4>>2]=$;if(j){x=h+8|0;$=x;_=c[$>>2]|0;$=c[$+4>>2]|0;aa=i+8|0;p=aa;q=c[p+4>>2]|0;c[x>>2]=c[p>>2];c[x+4>>2]=q;c[aa>>2]=_;c[aa+4>>2]=$}i=(24<>2]|0;$=c[$+4>>2]|0;h=v+k|0;r=h;x=c[r+4>>2]|0;aa=i;c[aa>>2]=c[r>>2];c[aa+4>>2]=x;aa=h;c[aa>>2]=_;c[aa+4>>2]=$;if(j){_=i+8|0;aa=_;$=c[aa>>2]|0;aa=c[aa+4>>2]|0;j=h+8|0;r=j;x=c[r+4>>2]|0;c[_>>2]=c[r>>2];c[_+4>>2]=x;c[j>>2]=$;c[j+4>>2]=aa;j=1}else j=0}i=t+(u*96|0)+l|0;$=i;_=c[$>>2]|0;$=c[$+4>>2]|0;h=s+1+w|0;s=h;x=c[s+4>>2]|0;aa=i;c[aa>>2]=c[s>>2];c[aa+4>>2]=x;aa=h;c[aa>>2]=_;c[aa+4>>2]=$;if(j){x=i+8|0;$=x;_=c[$>>2]|0;$=c[$+4>>2]|0;aa=h+8|0;r=aa;s=c[r+4>>2]|0;c[x>>2]=c[r>>2];c[x+4>>2]=s;c[aa>>2]=_;c[aa+4>>2]=$}i=(24<>2]|0;$=c[$+4>>2]|0;h=v+1+w|0;w=h;x=c[w+4>>2]|0;aa=i;c[aa>>2]=c[w>>2];c[aa+4>>2]=x;aa=h;c[aa>>2]=_;c[aa+4>>2]=$;if(j){x=i+8|0;$=x;_=c[$>>2]|0;$=c[$+4>>2]|0;aa=h+8|0;v=aa;w=c[v+4>>2]|0;c[x>>2]=c[v>>2];c[x+4>>2]=w;c[aa>>2]=_;c[aa+4>>2]=$}}}while(0);w=g+21656|0;od[c[f+25844+(c[w>>2]<<2)>>2]&255](o,X);od[c[f+25844+(c[w>>2]<<2)>>2]&255](S,X);w=c[W>>2]|0;h=c[y>>2]|0;f:do if(!(I&1)){od[c[f+25888+(c[g+21660>>2]<<2)>>2]&255](K,L);if(a[g+27824>>0]|0){if(!Q){pd[c[f+132>>2]&1023](g+28560|0,g+31632|0,c[(c[(c[f+28212>>2]|0)+173788>>2]|0)+(h<<6)>>2]|0);break}l=g+28560|0;i=(w|0)==0;j=g+31632|0;h=0;while(1){if((h|0)==16)break f;k=d[140128+h>>0]|0;if(i)b[g+28560+(k<<1)>>1]=b[g+31632+(h<<1)>>1]|0;else c[l+(k<<2)>>2]=c[j+(h<<2)>>2];h=h+1|0}}}else{if(I&16777216|0){if(Q){k=c[f+140>>2]|0;j=k}else{j=c[f+104>>2]|0;k=c[f+112>>2]|0}m=f+25704|0;n=g+21756|0;p=g+21764|0;q=(w|0)==0;r=g+28560|0;l=0;while(1){if((l|0)>=16)break f;s=K+(c[R+(l<<2)>>2]|0)|0;h=d[150841+l>>0]|0;aa=a[g+21664+h>>0]|0;i=aa<<24>>24;do if(Q?(aa<<24>>24<2?(c[(c[T>>2]|0)+4>>2]|0)==244:0):0)if((c[m>>2]|0)>>>0<151){pd[c[f+25932+(i<<2)>>2]&1023](s,g+28560+(l<<4<>2]&127](s,g+28560+(l<<4<>2]<>2]<>0]|0;qd[c[f+25796+(i<<2)>>2]&255](s,c[n>>2]<>2]<>24){case 0:break g;case 1:{h=l<<4;if(q)i=e[g+28560+(h<<1)>>1]|0;else i=c[r+(h<<2)>>2]|0;if(i){pd[k&1023](s,g+28560+(h<>2]|0;k=l}else{k=c[f+100>>2]|0;l=c[f+108>>2]|0}n=g+21764|0;p=(w|0)==0;q=3-L|0;r=3-((L|0)/2|0)|0;s=4<>2]|0)|0;i=d[150841+m>>0]|0;h=a[g+21664+i>>0]|0;j=h<<24>>24;if(Q?(h<<24>>24<2?(c[(c[T>>2]|0)+4>>2]|0)==244:0):0)pd[c[f+25924+(j<<2)>>2]&1023](v,g+28560+(m<<4<>24==7){if(c[n>>2]&32768>>>m|0){h=v+s+t|0;break}if(p){c[Y>>2]=H(d[v+q>>0]|0,16843009)|0;h=Y;break}else{$=PW(e[v+(r<<1)>>1]|0,0,65537,65537)|0;aa=M()|0;h=A;c[h>>2]=$;c[h+4>>2]=aa;h=A;break}}else h=0;while(0);pd[c[f+25736+(j<<2)>>2]&1023](v,h,L);switch(a[g+27824+i>>0]|0){case 0:break;case 1:{h=m<<4;if(p)i=e[g+28560+(h<<1)>>1]|0;else i=c[u+(h<<2)>>2]|0;if(!i)V=126;else pd[l&1023](v,g+28560+(h<>2]|0;if(i|0){v=c[W>>2]|0;do if(c[f+26376>>2]|0){h=(c[g+21832>>2]|0)!=0;if(c[D>>2]&1)if(h){j=1;break}else break d;else{j=(h^1)&1;break}}else j=1;while(0);if((i|0)==2){p=(c[g+832>>2]|0)==(e[(c[f+26372>>2]|0)+((c[C>>2]|0)+-1-(c[f+27016>>2]|0)<<1)>>1]|0);h=c[g+21732>>2]|0;t=c[F>>2]|0}else{t=c[F>>2]|0;p=(t|0)>0;h=(c[D>>2]|0)>((c[B>>2]|0)!=0|0)&1}n=K+(0-(L+1+v))|0;u=0-(X+1+v)|0;r=o+u|0;u=S+u|0;m=g+27796+(j<<2)|0;s=c[m>>2]|0;q=t+-1|0;j=s+(t*96|0)|0;if(h|0){l=(v|0)==0;do if(p){h=(8<>2]|0;$=c[$+4>>2]|0;i=n+(-7<>2]|0;aa=h;c[aa>>2]=c[C>>2];c[aa+4>>2]=D;aa=i;c[aa>>2]=_;c[aa+4>>2]=$;if(l){h=j;k=n+1|0;i=c[h>>2]|0;h=c[h+4>>2]|0;j=0;break}else{V=h+8|0;k=V;h=c[k>>2]|0;k=c[k+4>>2]|0;i=i+8|0;$=i;aa=c[$+4>>2]|0;c[V>>2]=c[$>>2];c[V+4>>2]=aa;c[i>>2]=h;c[i+4>>2]=k;i=j;k=1<>2]|0;i=c[i>>2]|0;V=152;break}}else{h=j;i=c[h>>2]|0;h=c[h+4>>2]|0;k=1<>2]=i;c[j+4>>2]=h;h=s+(t*96|0)+8|0;k=n+k+8|0;i=c[h>>2]|0;h=c[h+4>>2]|0;j=1}$=k;c[$>>2]=i;c[$+4>>2]=h;h=(8<>2]|0;$=c[$+4>>2]|0;i=n+(9<>2]|0;aa=h;c[aa>>2]=c[C>>2];c[aa+4>>2]=D;aa=i;c[aa>>2]=_;c[aa+4>>2]=$;if(j){D=h+8|0;$=D;_=c[$>>2]|0;$=c[$+4>>2]|0;aa=i+8|0;B=aa;C=c[B+4>>2]|0;c[D>>2]=c[B>>2];c[D+4>>2]=C;c[aa>>2]=_;c[aa+4>>2]=$}h=(c[F>>2]|0)+1|0;if((h|0)<(c[f+27012>>2]|0)?(aa=(c[m>>2]|0)+(h*96|0)|0,$=aa,_=c[$>>2]|0,$=c[$+4>>2]|0,E=n+(17<>2]|0,aa,c[aa>>2]=c[C>>2],c[aa+4>>2]=D,aa=E,c[aa>>2]=_,c[aa+4>>2]=$,j):0){F=(c[m>>2]|0)+(((c[F>>2]|0)+1|0)*96|0)+8|0;$=F;_=c[$>>2]|0;$=c[$+4>>2]|0;aa=E+8|0;D=aa;E=c[D+4>>2]|0;c[F>>2]=c[D>>2];c[F+4>>2]=E;c[aa>>2]=_;c[aa+4>>2]=$}l=16<>2]|0;$=c[$+4>>2]|0;k=-7<>2]|0;aa=h;c[aa>>2]=c[E>>2];c[aa+4>>2]=F;aa=i;c[aa>>2]=_;c[aa+4>>2]=$;if(j){F=h+8|0;$=F;_=c[$>>2]|0;$=c[$+4>>2]|0;aa=i+8|0;D=aa;E=c[D+4>>2]|0;c[F>>2]=c[D>>2];c[F+4>>2]=E;c[aa>>2]=_;c[aa+4>>2]=$}i=(24<>2]|0;$=c[$+4>>2]|0;h=u+k|0;E=h;F=c[E+4>>2]|0;aa=i;c[aa>>2]=c[E>>2];c[aa+4>>2]=F;aa=h;c[aa>>2]=_;c[aa+4>>2]=$;if(j){_=i+8|0;aa=_;$=c[aa>>2]|0;aa=c[aa+4>>2]|0;j=h+8|0;E=j;F=c[E+4>>2]|0;c[_>>2]=c[E>>2];c[_+4>>2]=F;c[j>>2]=$;c[j+4>>2]=aa;j=1}else j=0}i=s+(t*96|0)+l|0;$=i;_=c[$>>2]|0;$=c[$+4>>2]|0;h=r+1+v|0;E=h;F=c[E+4>>2]|0;aa=i;c[aa>>2]=c[E>>2];c[aa+4>>2]=F;aa=h;c[aa>>2]=_;c[aa+4>>2]=$;if(j){F=i+8|0;$=F;_=c[$>>2]|0;$=c[$+4>>2]|0;aa=h+8|0;D=aa;E=c[D+4>>2]|0;c[F>>2]=c[D>>2];c[F+4>>2]=E;c[aa>>2]=_;c[aa+4>>2]=$}i=(24<>2]|0;$=c[$+4>>2]|0;h=u+1+v|0;E=h;F=c[E+4>>2]|0;aa=i;c[aa>>2]=c[E>>2];c[aa+4>>2]=F;aa=h;c[aa>>2]=_;c[aa+4>>2]=$;if(j){F=i+8|0;$=F;_=c[$>>2]|0;$=c[$+4>>2]|0;aa=h+8|0;D=aa;E=c[D+4>>2]|0;c[F>>2]=c[D>>2];c[F+4>>2]=E;c[aa>>2]=_;c[aa+4>>2]=$}}}}else{h=f+184|0;i=f+152|0;j=f+440|0;k=f+168|0;l=f+16|0;m=f+32|0;if(U){yk(f,g,K,o,S,h,i,j,k,l,m);break}else{zk(f,g,K,o,S,h,i,j,k,l,m);break}}while(0);n=c[W>>2]|0;h:do if(!(I&1)){if(!(I&2)){if(!(c[g+21856>>2]&15))break;h=I&16777216;if(!Q)if(!h){rd[c[f+116>>2]&127](K,R,g+28560|0,L,g+27824|0);break}else{rd[c[f+120>>2]&127](K,R,g+28560|0,L,g+27824|0);break}j=(h|0)!=0;i=j?4:1;j=c[(j?f+140|0:f+144|0)>>2]|0;h=0;while(1){if((h|0)>=16)break h;if(a[(d[150841+h>>0]|0)+(g+27824)>>0]|0)pd[j&1023](K+(c[R+(h<<2)>>2]|0)|0,g+28560+(h<<4<>2]&127](K,R,g+28560|0,L,g+27824|0);break}if((c[(c[T>>2]|0)+4>>2]|0)==244?(J=c[g+21660>>2]|0,(J+-1|0)>>>0<2):0){qd[c[f+25960+(J<<2)>>2]&255](K,R,g+28560|0,L);break}j=(n|0)==0;k=g+28560|0;l=f+144|0;i=0;while(1){if((i|0)==16)break h;m=i<<4;if(!(a[(d[150841+i>>0]|0)+(g+27824)>>0]|0)){if(j)h=e[g+28560+(m<<1)>>1]|0;else h=c[k+(m<<2)>>2]|0;if(h|0)V=183}else V=183;if((V|0)==183){V=0;pd[c[l>>2]&1023](K+(c[R+(i<<2)>>2]|0)|0,g+28560+(m<>2]&48|0){c[Y>>2]=o;h=Y+4|0;c[h>>2]=S;i:do if(Q){if((G?(c[(c[T>>2]|0)+4>>2]|0)==244:0)?(O=g+21656|0,P=c[O>>2]|0,(P+-1|0)>>>0<2):0){qd[c[f+25948+(P<<2)>>2]&255](o,R+64|0,g+28560+(256<>2]<<1)|0,X);qd[c[f+25948+(c[O>>2]<<2)>>2]&255](c[h>>2]|0,R+128|0,g+28560+(512<>2]<<1)|0,X);break}p=c[f+144>>2]|0;q=g+28560|0;o=1;while(1){if((o|0)==3)break i;j=o<<4;m=j|4;r=Y+(o+-1<<2)|0;i=j;while(1){if((i|0)>=(m|0))break;k=c[W>>2]|0;l=i<<4;if(!(a[(d[150841+i>>0]|0)+(g+27824)>>0]|0)){if(!k)h=e[g+28560+(l<<1)>>1]|0;else h=c[q+(l<<2)>>2]|0;if(h|0)V=211}else V=211;if((V|0)==211){V=0;pd[p&1023]((c[r>>2]|0)+(c[R+(i<<2)>>2]|0)|0,g+28560+(l<=(n|0))break j;j=i+4|0;k=c[W>>2]|0;l=i<<4;if(!(a[(d[150841+j>>0]|0)+(g+27824)>>0]|0)){if(!k)h=e[g+28560+(l<<1)>>1]|0;else h=c[q+(l<<2)>>2]|0;if(h|0)V=221}else V=221;if((V|0)==221){V=0;pd[p&1023]((c[r>>2]|0)+(c[R+(j<<2)>>2]|0)|0,g+28560+(l<>2]|0;if(U){i=(c[g+856>>2]|0)+3|0;h=h+3|0}else i=c[g+856>>2]|0;if(a[g+27864>>0]|0)od[c[f+136>>2]&255](g+28560+(256<>2]<<1)|0,c[(c[(c[f+28212>>2]|0)+173788+((G?1:4)<<2)>>2]|0)+(h<<6)>>2]|0);if(a[g+27904>>0]|0)od[c[f+136>>2]&255](g+28560+(512<>2]<<1)|0,c[(c[(c[f+28212>>2]|0)+173788+((G?2:5)<<2)>>2]|0)+(i<<6)>>2]|0);rd[c[f+124>>2]&127](Y,R,g+28560|0,X,g+27824|0)}while(0)}}else{h=c[T>>2]|0;m=c[h+1184>>2]|0;if(!(c[W>>2]|0)){i=g+27780|0;h=0;while(1){if((h|0)==16)break;j=K+(H(h,L)|0)|0;k=(c[i>>2]|0)+(h<<4)|0;l=j+16|0;do{a[j>>0]=a[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));h=h+1|0}if(!(c[(c[T>>2]|0)+12>>2]|0)){i=1<>2]|0)+256|0;j=i+(t<<3)|0;h=0;while(1){if((h|0)>=(t|0))break c;aa=H(h,X)|0;$=h<<3;_=i+$|0;W=_;W=d[W>>0]|d[W+1>>0]<<8|d[W+2>>0]<<16|d[W+3>>0]<<24;_=_+4|0;_=d[_>>0]|d[_+1>>0]<<8|d[_+2>>0]<<16|d[_+3>>0]<<24;Y=o+aa|0;g=Y;a[g>>0]=W;a[g+1>>0]=W>>8;a[g+2>>0]=W>>16;a[g+3>>0]=W>>24;Y=Y+4|0;a[Y>>0]=_;a[Y+1>>0]=_>>8;a[Y+2>>0]=_>>16;a[Y+3>>0]=_>>24;$=j+$|0;Y=$;Y=d[Y>>0]|d[Y+1>>0]<<8|d[Y+2>>0]<<16|d[Y+3>>0]<<24;$=$+4|0;$=d[$>>0]|d[$+1>>0]<<8|d[$+2>>0]<<16|d[$+3>>0]<<24;aa=S+aa|0;_=aa;a[_>>0]=Y;a[_+1>>0]=Y>>8;a[_+2>>0]=Y>>16;a[_+3>>0]=Y>>24;aa=aa+4|0;a[aa>>0]=$;a[aa+1>>0]=$>>8;a[aa+2>>0]=$>>16;a[aa+3>>0]=$>>24;h=h+1|0}}}wk(Y,c[g+27780>>2]|0,H(m,e[114568+(c[h+12>>2]<<1)>>1]|0)|0);i=0;while(1){if((i|0)==16)break;j=K+(H(i,L)|0)|0;h=0;while(1){if((h|0)==16)break;b[j+(h<<1)>>1]=xk(Y,m)|0;h=h+1|0}i=i+1|0}k:do if(!(c[(c[T>>2]|0)+12>>2]|0)){j=1<=(t|0))break k;l=H(i,X)|0;k=o+l|0;l=S+l|0;h=0;while(1){if((h|0)==8)break;b[l+(h<<1)>>1]=j;b[k+(h<<1)>>1]=j;h=h+1|0}i=i+1|0}}else{i=0;while(1){if((i|0)>=(t|0)){i=0;break}j=o+(H(i,X)|0)|0;h=0;while(1){if((h|0)==8)break;b[j+(h<<1)>>1]=xk(Y,m)|0;h=h+1|0}i=i+1|0}while(1){if((i|0)>=(t|0))break k;j=S+(H(i,X)|0)|0;h=0;while(1){if((h|0)==8)break;b[j+(h<<1)>>1]=xk(Y,m)|0;h=h+1|0}i=i+1|0}}while(0)}while(0);$c=Z;return}function wk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(b|0)!=0&d>>>0<2147483640;d=e?d:0;b=e?b:0;c[a>>2]=b;c[a+12>>2]=d;c[a+16>>2]=d+8;c[a+4>>2]=b+(d+7>>3);c[a+8>>2]=0;return}function xk(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=a+8|0;g=c[e>>2]|0;f=c[a+16>>2]|0;a=(c[a>>2]|0)+(g>>>3)|0;a=(WW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(g&7)>>>(32-b|0);b=g+b|0;c[e>>2]=f>>>0>b>>>0?b:f;return a|0}function yk(d,f,g,h,i,j,k,l,m,n,o){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var 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;D=c[(c[d+24364>>2]|0)+(c[f+21796>>2]<<2)>>2]|0;if(c[(c[d+4>>2]|0)+696>>2]&1|0)Ak(d,f);G=d+25664|0;p=c[G>>2]|0;q=a[f+28284>>0]|0;if(q<<24>>24>-1){B=q<<24>>24;y=f+21788|0;x=c[y>>2]|0;A=(x<<4|8)+(b[f+28e3>>1]>>2)|0;C=(b[f+28002>>1]>>2)+(c[f+21792>>2]<<4)|0;x=(A<>2]|0)|0)|0;z=d+12|0;pd[c[z>>2]&1023]((c[f+23416+(B*40|0)>>2]|0)+x|0,c[f+21772>>2]|0,4);A=(H((c[y>>2]&7)+(C>>1)|0,c[f+21776>>2]|0)|0)+((A>>1)+64<>2]|0;pd[c[z>>2]&1023](C+A|0,(c[f+23416+(B*40|0)+8>>2]|0)-C|0,2)}a:do if(!(D&8)){if(D&16|0){B=j+64|0;C=l+64|0;Ek(d,f,0,0,8,8<>2],g,h,i,0,0,B,c[k>>2]|0,C,c[m>>2]|0,n,o,D&4096,D&16384);Ek(d,f,8,0,8,8<>2],g,h,i,0,4,B,c[k>>2]|0,C,c[m>>2]|0,n,o,D&8192,D&32768);break}w=f+21780|0;if(D&32|0){x=j+64|0;y=k+4|0;z=l+64|0;A=m+4|0;B=n+4|0;C=o+4|0;Ek(d,f,0,0,16,c[w>>2]<<3,g,h,i,0,0,x,c[y>>2]|0,z,c[A>>2]|0,B,C,D&4096,D&16384);Ek(d,f,4,0,16,c[w>>2]<<3,g,h,i,4,0,x,c[y>>2]|0,z,c[A>>2]|0,B,C,D&8192,D&32768);break}x=j+128|0;y=k+8|0;z=l+128|0;A=m+8|0;B=n+8|0;C=o+8|0;v=k+4|0;u=m+4|0;t=n+4|0;s=o+4|0;r=j+64|0;m=l+64|0;k=0;while(1){if((k|0)==4)break a;p=e[f+28552+(k<<1)>>1]|0;n=k<<2;o=n&4;j=k<<1&4;b:do if(!(p&8)){if(p&16|0){q=p&4096;l=p&16384;Ek(d,f,n,0,4,4<>2],g,h,i,o,j,x,c[v>>2]|0,z,c[u>>2]|0,t,s,q,l);Ek(d,f,n|2,0,4,4<>2],g,h,i,o,j|2,x,c[v>>2]|0,z,c[u>>2]|0,t,s,q,l);break}if(p&32|0){q=p&4096;l=p&16384;Ek(d,f,n,0,8,c[w>>2]<<2,g,h,i,o,j,x,c[y>>2]|0,z,c[A>>2]|0,B,C,q,l);Ek(d,f,n|1,0,8,c[w>>2]<<2,g,h,i,o|2,j,x,c[y>>2]|0,z,c[A>>2]|0,B,C,q,l);break}l=p&4096;q=p&16384;p=0;while(1){if((p|0)==4)break b;Ek(d,f,p+n|0,1,4,0,g,h,i,p<<1&2|o,p&2|j,x,c[y>>2]|0,z,c[A>>2]|0,B,C,l,q);p=p+1|0}}else Ek(d,f,n,1,8,0,g,h,i,o,j,r,c[v>>2]|0,m,c[u>>2]|0,t,s,p&4096,p&16384);while(0);k=k+1|0}}else Ek(d,f,0,1,16,0,g,h,i,0,0,j,c[k>>2]|0,l,c[m>>2]|0,n,o,D&4096,D&16384);while(0);if(D&49152|0?(E=c[G>>2]|0,F=a[f+28324>>0]|0,F<<24>>24>-1):0){h=F<<24>>24;F=f+21788|0;D=c[F>>2]|0;G=(D<<4|8)+(b[f+28160>>1]>>2)|0;i=(b[f+28162>>1]>>2)+(c[f+21792>>2]<<4)|0;D=(G<>2]|0)|0)|0;g=d+12|0;pd[c[g>>2]&1023]((c[f+25336+(h*40|0)>>2]|0)+D|0,c[f+21772>>2]|0,4);G=(H((c[F>>2]&7)+(i>>1)|0,c[f+21776>>2]|0)|0)+((G>>1)+64<>2]|0;pd[c[g>>2]&1023](i+G|0,(c[f+25336+(h*40|0)+8>>2]|0)-i|0,2)}return}function zk(d,f,g,h,i,j,k,l,m,n,o){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var 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;D=c[(c[d+24364>>2]|0)+(c[f+21796>>2]<<2)>>2]|0;if(c[(c[d+4>>2]|0)+696>>2]&1|0)Ak(d,f);G=d+25664|0;p=c[G>>2]|0;q=a[f+28284>>0]|0;if(q<<24>>24>-1){B=q<<24>>24;y=f+21788|0;x=c[y>>2]|0;A=(x<<4|8)+(b[f+28e3>>1]>>2)|0;C=(b[f+28002>>1]>>2)+(c[f+21792>>2]<<4)|0;x=(A<>2]|0)|0)|0;z=d+12|0;pd[c[z>>2]&1023]((c[f+23416+(B*40|0)>>2]|0)+x|0,c[f+21772>>2]|0,4);A=(H((c[y>>2]&7)+(C>>1)|0,c[f+21776>>2]|0)|0)+((A>>1)+64<>2]|0;pd[c[z>>2]&1023](C+A|0,(c[f+23416+(B*40|0)+8>>2]|0)-C|0,2)}a:do if(!(D&8)){if(D&16|0){B=j+64|0;C=l+64|0;Bk(d,f,0,0,8,8<>2],g,h,i,0,0,B,c[k>>2]|0,C,c[m>>2]|0,n,o,D&4096,D&16384);Bk(d,f,8,0,8,8<>2],g,h,i,0,4,B,c[k>>2]|0,C,c[m>>2]|0,n,o,D&8192,D&32768);break}w=f+21780|0;if(D&32|0){x=j+64|0;y=k+4|0;z=l+64|0;A=m+4|0;B=n+4|0;C=o+4|0;Bk(d,f,0,0,16,c[w>>2]<<3,g,h,i,0,0,x,c[y>>2]|0,z,c[A>>2]|0,B,C,D&4096,D&16384);Bk(d,f,4,0,16,c[w>>2]<<3,g,h,i,4,0,x,c[y>>2]|0,z,c[A>>2]|0,B,C,D&8192,D&32768);break}x=j+128|0;y=k+8|0;z=l+128|0;A=m+8|0;B=n+8|0;C=o+8|0;v=k+4|0;u=m+4|0;t=n+4|0;s=o+4|0;r=j+64|0;m=l+64|0;k=0;while(1){if((k|0)==4)break a;p=e[f+28552+(k<<1)>>1]|0;n=k<<2;o=n&4;j=k<<1&4;b:do if(!(p&8)){if(p&16|0){q=p&4096;l=p&16384;Bk(d,f,n,0,4,4<>2],g,h,i,o,j,x,c[v>>2]|0,z,c[u>>2]|0,t,s,q,l);Bk(d,f,n|2,0,4,4<>2],g,h,i,o,j|2,x,c[v>>2]|0,z,c[u>>2]|0,t,s,q,l);break}if(p&32|0){q=p&4096;l=p&16384;Bk(d,f,n,0,8,c[w>>2]<<2,g,h,i,o,j,x,c[y>>2]|0,z,c[A>>2]|0,B,C,q,l);Bk(d,f,n|1,0,8,c[w>>2]<<2,g,h,i,o|2,j,x,c[y>>2]|0,z,c[A>>2]|0,B,C,q,l);break}l=p&4096;q=p&16384;p=0;while(1){if((p|0)==4)break b;Bk(d,f,p+n|0,1,4,0,g,h,i,p<<1&2|o,p&2|j,x,c[y>>2]|0,z,c[A>>2]|0,B,C,l,q);p=p+1|0}}else Bk(d,f,n,1,8,0,g,h,i,o,j,r,c[v>>2]|0,m,c[u>>2]|0,t,s,p&4096,p&16384);while(0);k=k+1|0}}else Bk(d,f,0,1,16,0,g,h,i,0,0,j,c[k>>2]|0,l,c[m>>2]|0,n,o,D&4096,D&16384);while(0);if(D&49152|0?(E=c[G>>2]|0,F=a[f+28324>>0]|0,F<<24>>24>-1):0){h=F<<24>>24;F=f+21788|0;D=c[F>>2]|0;G=(D<<4|8)+(b[f+28160>>1]>>2)|0;i=(b[f+28162>>1]>>2)+(c[f+21792>>2]<<4)|0;D=(G<>2]|0)|0)|0;g=d+12|0;pd[c[g>>2]&1023]((c[f+25336+(h*40|0)>>2]|0)+D|0,c[f+21772>>2]|0,4);G=(H((c[F>>2]&7)+(i>>1)|0,c[f+21776>>2]|0)|0)+((G>>1)+64<>2]|0;pd[c[g>>2]&1023](i+G|0,(c[f+25336+(h*40|0)+8>>2]|0)-i|0,2)}return}function Ak(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=$c;$c=$c+208|0;if(($c|0)>=(ad|0))N(208);s=u+8|0;t=u;f=c[(c[a+24364>>2]|0)+(c[d+21796>>2]<<2)>>2]|0;r=t;c[r>>2]=0;c[r+4>>2]=0;_W(s|0,-1,192)|0;a:do if(!(f&8)){if(f&16|0){Ck(a,d,s,0,8,0,f&4096,f&16384,t);Ck(a,d,s,8,8,8,f&8192,f&32768,t);break}if(f&32|0){Ck(a,d,s,0,16,0,f&4096,f&16384,t);Ck(a,d,s,4,16,0,f&8192,f&32768,t);break}g=0;while(1){if((g|0)==4)break a;f=e[d+28552+(g<<1)>>1]|0;h=g<<2;i=h&8;b:do if(!(f&8)){if(f&16|0){q=f&4096;r=f&16384;Ck(a,d,s,h,4,i,q,r,t);Ck(a,d,s,h|2,4,i|4,q,r,t);break}j=f&4096;k=f&16384;if(!(f&32))f=0;else{Ck(a,d,s,h,8,i,j,k,t);Ck(a,d,s,h|1,8,i,j,k,t);break}while(1){if((f|0)==4)break b;Ck(a,d,s,f+h|0,4,f<<1&4|i,j,k,t);f=f+1|0}}else Ck(a,d,s,h,8,i,f&4096,f&16384,t);while(0);g=g+1|0}}else Ck(a,d,s,0,16,0,f&4096,f&16384,t);while(0);q=a+27008|0;r=d+21832|0;p=a+26380|0;f=c[d+23412>>2]|0;c:while(1){f=f+-1|0;if((f|0)<=-1)break;n=t+(f<<2)|0;m=0;while(1){if((m|0)>=48)continue c;h=c[n>>2]|0;if(!h)continue c;g=b[s+(f*96|0)+(m<<1)>>1]|0;do if(g<<16>>16>-1){o=(c[d+23416+(f*1920|0)+(m*40|0)+24>>2]|0)+-1|0;i=d+23416+(f*1920|0)+(m*40|0)+36|0;j=c[i>>2]|0;v=c[j+636>>2]|0;l=c[q>>2]<<4>>v;k=g<<16>>16<>2];c[n>>2]=h+-1;a=(c[p>>2]|0)==3;g=(v|0)!=0;if(g&a){v=k>>1;a=v-(k&1^1)|0;o=l+-1|0;oi(j+4|0,(a|0)<(l|0)?a:o,1);oi((c[i>>2]|0)+4|0,(v|0)>(o|0)?o:v,0);break}h=j+4|0;if(!(g|a)){v=(k<<1)+o|0;oi(h,(v|0)<(l|0)?v:l+-1|0,0);break}g=l+-1|0;g=(k|0)>(g|0)?g:k;if(a){oi(h,g,0);break}else{oi(h,g,o);break}}while(0);m=m+1|0}}$c=u;return}function Bk(e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;var x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;N=f+880|0;x=c[N>>2]|0;z=(v|0)!=0;A=(w|0)!=0;if(A&(z&(x|0)==2)){V=d[150841+g>>0]|0;x=f+21792|0;y=c[x>>2]|0;if((c[f+3216+((a[f+28272+V>>0]|0)*384|0)+(a[f+28312+V>>0]<<3)+((y&1)<<2)>>2]|0)==32)x=44;else{P=x;x=5}}else if((x|0)==1){y=f+21792|0;P=y;y=c[y>>2]|0;x=5}else x=44;do if((x|0)==5){D=c[t>>2]|0;C=c[t+4>>2]|0;L=c[u>>2]|0;K=c[u+4>>2]|0;O=c[e+25664>>2]|0;V=f+21780|0;s=c[V>>2]|0;S=k+((H(o<<1,s)|0)+(n<<1<>1;U=f+21784|0;x=c[U>>2]|0;Q=(H(x,o)|0)+(n<>2]<<3)+n|0;M=f+21828|0;n=c[M>>2]|0;y=(y>>n<<3)+o|0;if(!(z&A)){B=A&1;z=d[150841+g>>0]|0;o=a[f+28272+(B*40|0)+z>>0]|0;k=(t<<3)+(b[f+27952+(B*160|0)+(z<<2)>>1]|0)|0;z=(y<<3)+(b[f+27952+(B*160|0)+(z<<2)+2>>1]|0)|0;v=z<<2&12|k&3;x=k>>2;y=z>>2;t=(H(y,s)|0)+(x<>2]|0)+t|0;m=c[e+27012>>2]|0;u=m<<4;A=c[e+27008>>2]<<4>>n;n=k&7;N=(n|0)==0?0:-3;g=(z&7|0)==0?0:-3;if((!((x|0)<(0-N|0)|(y|0)<(0-g|0))?(x+16|0)<=(N+u|0):0)?(y+16|0)<=(A+g|0):0){l=0;y=s}else{g=f+27792|0;l=2<>2]&3](c[g>>2]|0,t+(0-l)+(0-(s<<1))|0,s,s,21,21,x+-2|0,y+-2|0,u,A);y=c[V>>2]|0;t=(c[g>>2]|0)+l+(y<<1)|0;l=1}x=p+(v<<2)|0;pd[c[x>>2]&1023](S,t,y);if(!h)pd[c[x>>2]&1023](S+j|0,t+j|0,c[V>>2]|0);if(c[M>>2]|0){z=(1-(c[f+23416+(B*1920|0)+(o*40|0)+24>>2]|0)+(c[P>>2]&1)<<1)+z|0;j=z>>3;l=j>>>31|l|(j+8|0)>=(A>>1|0)}k=k>>3;v=k<>3;t=c[U>>2]|0;x=H(t,y)|0;u=(c[f+23416+(B*1920|0)+(o*40|0)+4>>2]|0)+v+x|0;x=(c[f+23416+(B*1920|0)+(o*40|0)+8>>2]|0)+v+x|0;v=f+27792|0;if(!l){y=z&7;sd[q&63](R,u,t,T,n,y)}else{j=A>>1;h=m<<3;O=e+8|0;vd[c[O>>2]&3](c[v>>2]|0,u,t,t,9,9,k,y,h,j);e=z&7;sd[q&63](R,c[v>>2]|0,c[U>>2]|0,T,n,e);P=c[U>>2]|0;vd[c[O>>2]&3](c[v>>2]|0,x,P,P,9,9,k,y,h,j);x=c[v>>2]|0;y=e}sd[q&63](Q,x,c[U>>2]|0,T,n,y);sd[D&63](S,c[V>>2]|0,i,c[f+888>>2]|0,c[f+912+(o<<4)+(B<<3)>>2]|0,c[f+912+(o<<4)+(B<<3)+4>>2]|0);if(!(c[f+884>>2]|0))break;i=f+892|0;sd[C&63](R,c[U>>2]|0,T,c[i>>2]|0,c[f+1680+(o<<5)+(B<<4)>>2]|0,c[f+1680+(o<<5)+(B<<4)+4>>2]|0);sd[C&63](Q,c[U>>2]|0,T,c[i>>2]|0,c[f+1680+(o<<5)+(B<<4)+8>>2]|0,c[f+1680+(o<<5)+(B<<4)+12>>2]|0);break}I=c[f+27788>>2]|0;J=I+(16<>0]|0;w=a[f+28272+C>>0]|0;F=a[f+28312+C>>0]|0;o=t<<3;z=o+(b[f+27952+(C<<2)>>1]|0)|0;B=y<<3;l=B+(b[f+27952+(C<<2)+2>>1]|0)|0;v=l<<2&12|z&3;x=z>>2;y=l>>2;t=(H(y,s)|0)+(x<>2]|0)+t|0;E=e+27012|0;m=c[E>>2]|0;u=m<<4;r=e+27008|0;A=c[r>>2]<<4>>n;n=z&7;D=(n|0)==0?0:-3;g=(l&7|0)==0?0:-3;if((!((x|0)<(0-D|0)|(y|0)<(0-g|0))?(x+16|0)<=(D+u|0):0)?(y+16|0)<=(A+g|0):0){k=0;y=s}else{g=f+27792|0;k=2<>2]&3](c[g>>2]|0,t+(0-k)+(0-(s<<1))|0,s,s,21,21,x+-2|0,y+-2|0,u,A);y=c[V>>2]|0;t=(c[g>>2]|0)+k+(y<<1)|0;k=1}x=p+(v<<2)|0;pd[c[x>>2]&1023](S,t,y);D=(h|0)!=0;if(!D)pd[c[x>>2]&1023](S+j|0,t+j|0,c[V>>2]|0);if(c[M>>2]|0){l=(1-(c[f+23416+(w*40|0)+24>>2]|0)+(c[P>>2]&1)<<1)+l|0;h=l>>3;k=h>>>31|k|(h+8|0)>=(A>>1|0)}y=z>>3;s=y<>3;u=c[U>>2]|0;x=H(u,t)|0;v=(c[f+23416+(w*40|0)+4>>2]|0)+s+x|0;x=(c[f+23416+(w*40|0)+8>>2]|0)+s+x|0;s=f+27792|0;if(!k){y=l&7;sd[q&63](R,v,u,T,n,y)}else{g=A>>1;m=m<<3;z=e+8|0;vd[c[z>>2]&3](c[s>>2]|0,v,u,u,9,9,y,t,m,g);h=l&7;sd[q&63](R,c[s>>2]|0,c[U>>2]|0,T,n,h);A=c[U>>2]|0;vd[c[z>>2]&3](c[s>>2]|0,x,A,A,9,9,y,t,m,g);x=c[s>>2]|0;y=h}sd[q&63](Q,x,c[U>>2]|0,T,n,y);A=o+(b[f+28112+(C<<2)>>1]|0)|0;l=B+(b[f+28112+(C<<2)+2>>1]|0)|0;z=l<<2&12|A&3;u=A>>2;v=l>>2;y=c[V>>2]|0;t=(H(v,y)|0)+(u<>2]|0)+t|0;n=c[E>>2]|0;x=n<<4;m=c[r>>2]<<4>>c[M>>2];o=A&7;g=(o|0)==0?0:-3;h=(l&7|0)==0?0:-3;if((!((u|0)<(0-g|0)|(v|0)<(0-h|0))?(u+16|0)<=(x+g|0):0)?(v+16|0)<=(m+h|0):0)k=0;else{k=2<>2]&3](c[s>>2]|0,t+(0-k)+(0-(y<<1))|0,y,y,21,21,u+-2|0,v+-2|0,x,m);y=c[V>>2]|0;t=(c[s>>2]|0)+k+(y<<1)|0;k=1}x=p+(z<<2)|0;pd[c[x>>2]&1023](G,t,y);if(!D)pd[c[x>>2]&1023](G+j|0,t+j|0,c[V>>2]|0);if(c[M>>2]|0){l=(1-(c[f+25336+(F*40|0)+24>>2]|0)+(c[P>>2]&1)<<1)+l|0;j=l>>3;k=j>>>31|k|(j+8|0)>=(m>>1|0)}v=A>>3;j=v<>3;t=c[U>>2]|0;x=H(t,y)|0;u=(c[f+25336+(F*40|0)+4>>2]|0)+j+x|0;x=(c[f+25336+(F*40|0)+8>>2]|0)+j+x|0;if(!k){y=l&7;sd[q&63](I,u,t,T,o,y)}else{j=m>>1;h=n<<3;g=e+8|0;vd[c[g>>2]&3](c[s>>2]|0,u,t,t,9,9,v,y,h,j);e=l&7;sd[q&63](I,c[s>>2]|0,c[U>>2]|0,T,o,e);O=c[U>>2]|0;vd[c[g>>2]&3](c[s>>2]|0,x,O,O,9,9,v,y,h,j);x=c[s>>2]|0;y=e}sd[q&63](J,x,c[U>>2]|0,T,o,y);if((c[N>>2]|0)==2){e=c[f+3216+(w*384|0)+(F<<3)+((c[P>>2]&1)<<2)>>2]|0;f=64-e|0;td[L&31](S,G,c[V>>2]|0,i,5,e,f,0);td[K&31](R,I,c[U>>2]|0,T,5,e,f,0);td[K&31](Q,J,c[U>>2]|0,T,5,e,f,0);break}else{td[L&31](S,G,c[V>>2]|0,i,c[f+888>>2]|0,c[f+912+(w<<4)>>2]|0,c[f+912+(F<<4)+8>>2]|0,(c[f+912+(F<<4)+12>>2]|0)+(c[f+912+(w<<4)+4>>2]|0)|0);i=f+892|0;td[K&31](R,I,c[U>>2]|0,T,c[i>>2]|0,c[f+1680+(w<<5)>>2]|0,c[f+1680+(F<<5)+16>>2]|0,(c[f+1680+(F<<5)+20>>2]|0)+(c[f+1680+(w<<5)+4>>2]|0)|0);td[K&31](Q,J,c[U>>2]|0,T,c[i>>2]|0,c[f+1680+(w<<5)+8>>2]|0,c[f+1680+(F<<5)+24>>2]|0,(c[f+1680+(F<<5)+28>>2]|0)+(c[f+1680+(w<<5)+12>>2]|0)|0);break}}else if((x|0)==44){K=c[e+25664>>2]|0;J=f+21780|0;y=c[J>>2]|0;I=k+((H(o<<1,y)|0)+(n<<1<>2]|0,o)|0)+(n<>2]<<3)+n|0;F=f+21792|0;G=f+21828|0;x=c[G>>2]|0;E=(c[F>>2]>>x<<3)+o|0;if(v){z=d[150841+g>>0]|0;n=a[f+28272+z>>0]|0;m=(D<<3)+(b[f+27952+(z<<2)>>1]|0)|0;z=(E<<3)+(b[f+27952+(z<<2)+2>>1]|0)|0;A=z<<2&12|m&3;u=m>>2;v=z>>2;t=(H(v,y)|0)+(u<>2]|0)+t|0;B=c[e+27012>>2]|0;k=B<<4;o=c[e+27008>>2]<<4>>x;C=m&7;U=(C|0)==0?0:-3;V=(z&7|0)==0?0:-3;if((!((u|0)<(0-U|0)|(v|0)<(0-V|0))?(u+16|0)<=(U+k|0):0)?(v+16|0)<=(o+V|0):0)l=0;else{V=f+27792|0;l=2<>2]&3](c[V>>2]|0,t+(0-l)+(0-(y<<1))|0,y,y,21,21,u+-2|0,v+-2|0,k,o);y=c[J>>2]|0;t=(c[V>>2]|0)+l+(y<<1)|0;l=1}x=p+(A<<2)|0;pd[c[x>>2]&1023](I,t,y);if(!h)pd[c[x>>2]&1023](I+j|0,t+j|0,c[J>>2]|0);if(c[G>>2]|0){z=(1-(c[f+23416+(n*40|0)+24>>2]|0)+(c[F>>2]&1)<<1)+z|0;V=z>>3;l=V>>>31|l|(V+8|0)>=(o>>1|0)}t=m>>3;y=t<>3;v=c[N>>2]|0;x=H(v,u)|0;k=(c[f+23416+(n*40|0)+4>>2]|0)+y+x|0;x=(c[f+23416+(n*40|0)+8>>2]|0)+y+x|0;y=f+27792|0;if(!l){y=i>>1;t=z&7;sd[q&63](L,k,v,y,C,t)}else{T=o>>1;S=B<<3;Q=e+8|0;vd[c[Q>>2]&3](c[y>>2]|0,k,v,v,9,9,t,u,S,T);U=i>>1;V=z&7;sd[q&63](L,c[y>>2]|0,c[N>>2]|0,U,C,V);R=c[N>>2]|0;vd[c[Q>>2]&3](c[y>>2]|0,x,R,R,9,9,t,u,S,T);x=c[y>>2]|0;y=U;t=V}sd[q&63](M,x,c[N>>2]|0,y,C,t);q=s;p=r}if(w|0){z=d[150841+g>>0]|0;m=a[f+28312+z>>0]|0;A=(D<<3)+(b[f+28112+(z<<2)>>1]|0)|0;z=(E<<3)+(b[f+28112+(z<<2)+2>>1]|0)|0;k=z<<2&12|A&3;x=A>>2;u=z>>2;y=c[J>>2]|0;t=(H(u,y)|0)+(x<>2]|0)+t|0;n=c[e+27012>>2]|0;v=n<<4;o=c[e+27008>>2]<<4>>c[G>>2];B=A&7;U=(B|0)==0?0:-3;V=(z&7|0)==0?0:-3;if((!((x|0)<(0-U|0)|(u|0)<(0-V|0))?(x+16|0)<=(v+U|0):0)?(u+16|0)<=(o+V|0):0)l=0;else{V=f+27792|0;l=2<>2]&3](c[V>>2]|0,t+(0-l)+(0-(y<<1))|0,y,y,21,21,x+-2|0,u+-2|0,v,o);y=c[J>>2]|0;t=(c[V>>2]|0)+l+(y<<1)|0;l=1}x=p+(k<<2)|0;pd[c[x>>2]&1023](I,t,y);if(!h)pd[c[x>>2]&1023](I+j|0,t+j|0,c[J>>2]|0);if(c[G>>2]|0){z=(1-(c[f+25336+(m*40|0)+24>>2]|0)+(c[F>>2]&1)<<1)+z|0;j=z>>3;l=j>>>31|l|(j+8|0)>=(o>>1|0)}k=A>>3;y=k<>3;u=c[N>>2]|0;x=H(u,t)|0;v=(c[f+25336+(m*40|0)+4>>2]|0)+y+x|0;x=(c[f+25336+(m*40|0)+8>>2]|0)+y+x|0;y=f+27792|0;if(!l){y=i>>1;t=z&7;sd[q&63](L,v,u,y,B,t)}else{j=o>>1;h=n<<3;V=e+8|0;vd[c[V>>2]&3](c[y>>2]|0,v,u,u,9,9,k,t,h,j);f=i>>1;i=z&7;sd[q&63](L,c[y>>2]|0,c[N>>2]|0,f,B,i);e=c[N>>2]|0;vd[c[V>>2]&3](c[y>>2]|0,x,e,e,9,9,k,t,h,j);x=c[y>>2]|0;y=f;t=i}sd[q&63](M,x,c[N>>2]|0,y,B,t)}}while(0);return}function Ck(e,f,g,h,i,j,k,l,m){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0;o=(c[f+21792>>2]>>c[f+21828>>2]<<4)+j|0;do if(k|0){j=a[(d[150841+h>>0]|0)+(f+28272)>>0]|0;if((c[(c[(c[f+23416+(j*40|0)+36>>2]|0)+16>>2]|0)+4>>2]|0)==(c[(c[e+24332>>2]|0)+4>>2]|0)?(c[f+23416+(j*40|0)+24>>2]&3|0)==(c[e+26380>>2]|0):0)break;n=Dk(f,h,i,o,0)|0;j=g+(j<<1)|0;k=b[j>>1]|0;if(k<<16>>16<0)c[m>>2]=(c[m>>2]|0)+1;k=k<<16>>16;b[j>>1]=(n|0)<(k|0)?k:n}while(0);do if(l|0){j=a[(d[150841+h>>0]|0)+(f+28312)>>0]|0;if((c[(c[(c[f+25336+(j*40|0)+36>>2]|0)+16>>2]|0)+4>>2]|0)==(c[(c[e+24332>>2]|0)+4>>2]|0)?(c[f+25336+(j*40|0)+24>>2]&3|0)==(c[e+26380>>2]|0):0)break;n=Dk(f,h,i,o,1)|0;j=g+96+(j<<1)|0;k=b[j>>1]|0;if(k<<16>>16<0){m=m+4|0;c[m>>2]=(c[m>>2]|0)+1}m=k<<16>>16;b[j>>1]=(n|0)<(m|0)?m:n}while(0);return}function Dk(a,c,e,f,g){a=a|0;c=c|0;e=e|0;f=f|0;g=g|0;g=b[a+27952+(g*160|0)+(d[150841+c>>0]<<2)+2>>1]|0;g=f+e+(g>>2)+(g&3|0?3:0)|0;return ((g|0)>0?g:0)|0}function Ek(e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;var x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;O=f+880|0;x=c[O>>2]|0;z=(v|0)!=0;A=(w|0)!=0;if(A&(z&(x|0)==2)){U=d[150841+g>>0]|0;x=f+21792|0;y=c[x>>2]|0;if((c[f+3216+((a[f+28272+U>>0]|0)*384|0)+(a[f+28312+U>>0]<<3)+((y&1)<<2)>>2]|0)==32)x=38;else{N=x;x=5}}else if((x|0)==1){y=f+21792|0;N=y;y=c[y>>2]|0;x=5}else x=38;do if((x|0)==5){D=c[t>>2]|0;C=c[t+4>>2]|0;M=c[u>>2]|0;L=c[u+4>>2]|0;P=c[e+25664>>2]|0;Q=o<<1;U=f+21780|0;E=c[U>>2]|0;S=k+((H(E,Q)|0)+(n<<1<>2]|0;Q=(H(x,Q)|0)+(n<>2]<<3)+n|0;r=f+21828|0;l=c[r>>2]|0;y=(y>>l<<3)+o|0;if(!(z&A)){B=A&1;z=d[150841+g>>0]|0;o=a[f+28272+(B*40|0)+z>>0]|0;v=(t<<3)+(b[f+27952+(B*160|0)+(z<<2)>>1]|0)|0;z=(y<<3)+(b[f+27952+(B*160|0)+(z<<2)+2>>1]|0)|0;u=z<<2&12|v&3;x=v>>2;A=z>>2;t=(H(A,E)|0)+(x<>2]|0)+t|0;m=c[e+27012>>2]|0;y=m<<4;l=c[e+27008>>2]<<4>>l;n=v&7;N=(n|0)==0?0:-3;O=(z&7|0)==0?0:-3;if((!((x|0)<(0-N|0)|(A|0)<(0-O|0))?(x+16|0)<=(N+y|0):0)?(A+16|0)<=(l+O|0):0){k=0;y=E}else{O=f+27792|0;k=2<>2]&3](c[O>>2]|0,t+(0-k)+(0-(E<<1))|0,E,E,21,21,x+-2|0,A+-2|0,y,l);y=c[U>>2]|0;t=(c[O>>2]|0)+k+(y<<1)|0;k=1}x=p+(u<<2)|0;pd[c[x>>2]&1023](S,t,y);if(!h)pd[c[x>>2]&1023](S+j|0,t+j|0,c[U>>2]|0);v=v>>3;u=v<>2]|0;x=H(y,A)|0;t=(c[f+23416+(B*1920|0)+(o*40|0)+4>>2]|0)+u+x|0;x=(c[f+23416+(B*1920|0)+(o*40|0)+8>>2]|0)+u+x|0;u=f+27792|0;if(!k){e=z<<1&6;sd[q&63](R,t,y,i,n,e);y=e}else{j=m<<3;h=e+8|0;vd[c[h>>2]&3](c[u>>2]|0,t,y,y,9,17,v,A,j,l);y=z<<1&6;sd[q&63](R,c[u>>2]|0,c[T>>2]|0,i,n,y);e=c[T>>2]|0;vd[c[h>>2]&3](c[u>>2]|0,x,e,e,9,17,v,A,j,l);x=c[u>>2]|0}sd[q&63](Q,x,c[T>>2]|0,i,n,y);sd[D&63](S,c[U>>2]|0,i,c[f+888>>2]|0,c[f+912+(o<<4)+(B<<3)>>2]|0,c[f+912+(o<<4)+(B<<3)+4>>2]|0);if(!(c[f+884>>2]|0))break;e=f+892|0;sd[C&63](R,c[T>>2]|0,i,c[e>>2]|0,c[f+1680+(o<<5)+(B<<4)>>2]|0,c[f+1680+(o<<5)+(B<<4)+4>>2]|0);sd[C&63](Q,c[T>>2]|0,i,c[e>>2]|0,c[f+1680+(o<<5)+(B<<4)+8>>2]|0,c[f+1680+(o<<5)+(B<<4)+12>>2]|0);break}J=c[f+27788>>2]|0;K=J+(16<>0]|0;w=a[f+28272+C>>0]|0;G=a[f+28312+C>>0]|0;o=t<<3;k=o+(b[f+27952+(C<<2)>>1]|0)|0;B=y<<3;m=B+(b[f+27952+(C<<2)+2>>1]|0)|0;u=m<<2&12|k&3;x=k>>2;z=m>>2;y=(H(z,E)|0)+(x<>2]|0)+y|0;D=e+27012|0;A=c[D>>2]|0;t=A<<4;s=e+27008|0;l=c[s>>2]<<4>>l;n=k&7;F=(n|0)==0?0:-3;g=(m&7|0)==0?0:-3;if((!((x|0)<(0-F|0)|(z|0)<(0-g|0))?(x+16|0)<=(F+t|0):0)?(z+16|0)<=(l+g|0):0){t=y;v=0;y=E}else{g=f+27792|0;v=2<>2]&3](c[g>>2]|0,y+(0-v)+(0-(E<<1))|0,E,E,21,21,x+-2|0,z+-2|0,t,l);y=c[U>>2]|0;t=(c[g>>2]|0)+v+(y<<1)|0;v=1}x=p+(u<<2)|0;pd[c[x>>2]&1023](S,t,y);E=(h|0)!=0;if(!E)pd[c[x>>2]&1023](S+j|0,t+j|0,c[U>>2]|0);y=k>>3;F=y<>2]|0;x=H(t,z)|0;u=(c[f+23416+(w*40|0)+4>>2]|0)+F+x|0;x=(c[f+23416+(w*40|0)+8>>2]|0)+F+x|0;F=f+27792|0;if(!v){y=m<<1&6;sd[q&63](R,u,t,i,n,y)}else{g=A<<3;A=e+8|0;vd[c[A>>2]&3](c[F>>2]|0,u,t,t,9,17,y,z,g,l);h=m<<1&6;sd[q&63](R,c[F>>2]|0,c[T>>2]|0,i,n,h);m=c[T>>2]|0;vd[c[A>>2]&3](c[F>>2]|0,x,m,m,9,17,y,z,g,l);x=c[F>>2]|0;y=h}sd[q&63](Q,x,c[T>>2]|0,i,n,y);z=o+(b[f+28112+(C<<2)>>1]|0)|0;n=B+(b[f+28112+(C<<2)+2>>1]|0)|0;k=n<<2&12|z&3;u=z>>2;o=n>>2;y=c[U>>2]|0;t=(H(o,y)|0)+(u<>2]|0)+t|0;A=c[D>>2]|0;x=A<<4;l=c[s>>2]<<4>>c[r>>2];m=z&7;g=(m|0)==0?0:-3;h=(n&7|0)==0?0:-3;if((!((u|0)<(0-g|0)|(o|0)<(0-h|0))?(u+16|0)<=(x+g|0):0)?(o+16|0)<=(l+h|0):0)v=0;else{v=2<>2]&3](c[F>>2]|0,t+(0-v)+(0-(y<<1))|0,y,y,21,21,u+-2|0,o+-2|0,x,l);y=c[U>>2]|0;t=(c[F>>2]|0)+v+(y<<1)|0;v=1}x=p+(k<<2)|0;pd[c[x>>2]&1023](I,t,y);if(!E)pd[c[x>>2]&1023](I+j|0,t+j|0,c[U>>2]|0);u=z>>3;j=u<>2]|0;x=H(y,o)|0;t=(c[f+25336+(G*40|0)+4>>2]|0)+j+x|0;x=(c[f+25336+(G*40|0)+8>>2]|0)+j+x|0;if(!v){e=n<<1&6;sd[q&63](J,t,y,i,m,e);y=e}else{j=A<<3;h=e+8|0;vd[c[h>>2]&3](c[F>>2]|0,t,y,y,9,17,u,o,j,l);y=n<<1&6;sd[q&63](J,c[F>>2]|0,c[T>>2]|0,i,m,y);e=c[T>>2]|0;vd[c[h>>2]&3](c[F>>2]|0,x,e,e,9,17,u,o,j,l);x=c[F>>2]|0}sd[q&63](K,x,c[T>>2]|0,i,m,y);if((c[O>>2]|0)==2){e=c[f+3216+(w*384|0)+(G<<3)+((c[N>>2]&1)<<2)>>2]|0;f=64-e|0;td[M&31](S,I,c[U>>2]|0,i,5,e,f,0);td[L&31](R,J,c[T>>2]|0,i,5,e,f,0);td[L&31](Q,K,c[T>>2]|0,i,5,e,f,0);break}else{td[M&31](S,I,c[U>>2]|0,i,c[f+888>>2]|0,c[f+912+(w<<4)>>2]|0,c[f+912+(G<<4)+8>>2]|0,(c[f+912+(G<<4)+12>>2]|0)+(c[f+912+(w<<4)+4>>2]|0)|0);e=f+892|0;td[L&31](R,J,c[T>>2]|0,i,c[e>>2]|0,c[f+1680+(w<<5)>>2]|0,c[f+1680+(G<<5)+16>>2]|0,(c[f+1680+(G<<5)+20>>2]|0)+(c[f+1680+(w<<5)+4>>2]|0)|0);td[L&31](Q,K,c[T>>2]|0,i,c[e>>2]|0,c[f+1680+(w<<5)+8>>2]|0,c[f+1680+(G<<5)+24>>2]|0,(c[f+1680+(G<<5)+28>>2]|0)+(c[f+1680+(w<<5)+12>>2]|0)|0);break}}else if((x|0)==38){J=c[e+25664>>2]|0;L=o<<1;I=f+21780|0;y=c[I>>2]|0;G=k+((H(y,L)|0)+(n<<1<>2]|0,L)|0)+(n<>2]<<3)+n|0;F=f+21828|0;x=c[F>>2]|0;E=(c[f+21792>>2]>>x<<3)+o|0;if(v){n=d[150841+g>>0]|0;A=a[f+28272+n>>0]|0;l=(D<<3)+(b[f+27952+(n<<2)>>1]|0)|0;n=(E<<3)+(b[f+27952+(n<<2)+2>>1]|0)|0;k=n<<2&12|l&3;u=l>>2;o=n>>2;t=(H(o,y)|0)+(u<>2]|0)+t|0;B=c[e+27012>>2]|0;v=B<<4;m=c[e+27008>>2]<<4>>x;C=l&7;T=(C|0)==0?0:-3;U=(n&7|0)==0?0:-3;if((!((u|0)<(0-T|0)|(o|0)<(0-U|0))?(u+16|0)<=(T+v|0):0)?(o+16|0)<=(m+U|0):0)z=0;else{U=f+27792|0;z=2<>2]&3](c[U>>2]|0,t+(0-z)+(0-(y<<1))|0,y,y,21,21,u+-2|0,o+-2|0,v,m);y=c[I>>2]|0;t=(c[U>>2]|0)+z+(y<<1)|0;z=1}x=p+(k<<2)|0;pd[c[x>>2]&1023](G,t,y);if(!h)pd[c[x>>2]&1023](G+j|0,t+j|0,c[I>>2]|0);t=l>>3;y=t<>2]|0;x=H(u,o)|0;v=(c[f+23416+(A*40|0)+4>>2]|0)+y+x|0;x=(c[f+23416+(A*40|0)+8>>2]|0)+y+x|0;y=f+27792|0;if(!z){y=n<<1&6;sd[q&63](K,v,u,i,C,y)}else{T=B<<3;R=e+8|0;vd[c[R>>2]&3](c[y>>2]|0,v,u,u,9,17,t,o,T,m);U=n<<1&6;sd[q&63](K,c[y>>2]|0,c[M>>2]|0,i,C,U);S=c[M>>2]|0;vd[c[R>>2]&3](c[y>>2]|0,x,S,S,9,17,t,o,T,m);x=c[y>>2]|0;y=U}sd[q&63](L,x,c[M>>2]|0,i,C,y);q=s;p=r}if(w|0){m=d[150841+g>>0]|0;A=a[f+28312+m>>0]|0;l=(D<<3)+(b[f+28112+(m<<2)>>1]|0)|0;m=(E<<3)+(b[f+28112+(m<<2)+2>>1]|0)|0;v=m<<2&12|l&3;x=l>>2;n=m>>2;y=c[I>>2]|0;t=(H(n,y)|0)+(x<>2]|0)+t|0;o=c[e+27012>>2]|0;u=o<<4;z=c[e+27008>>2]<<4>>c[F>>2];B=l&7;T=(B|0)==0?0:-3;U=(m&7|0)==0?0:-3;if((!((x|0)<(0-T|0)|(n|0)<(0-U|0))?(x+16|0)<=(u+T|0):0)?(n+16|0)<=(z+U|0):0)k=0;else{U=f+27792|0;k=2<>2]&3](c[U>>2]|0,t+(0-k)+(0-(y<<1))|0,y,y,21,21,x+-2|0,n+-2|0,u,z);y=c[I>>2]|0;t=(c[U>>2]|0)+k+(y<<1)|0;k=1}x=p+(v<<2)|0;pd[c[x>>2]&1023](G,t,y);if(!h)pd[c[x>>2]&1023](G+j|0,t+j|0,c[I>>2]|0);v=l>>3;y=v<>2]|0;x=H(t,n)|0;u=(c[f+25336+(A*40|0)+4>>2]|0)+y+x|0;x=(c[f+25336+(A*40|0)+8>>2]|0)+y+x|0;y=f+27792|0;if(!k){y=m<<1&6;sd[q&63](K,u,t,i,B,y)}else{j=o<<3;h=e+8|0;vd[c[h>>2]&3](c[y>>2]|0,u,t,t,9,17,v,n,j,z);f=m<<1&6;sd[q&63](K,c[y>>2]|0,c[M>>2]|0,i,B,f);e=c[M>>2]|0;vd[c[h>>2]&3](c[y>>2]|0,x,e,e,9,17,v,n,j,z);x=c[y>>2]|0;y=f}sd[q&63](L,x,c[M>>2]|0,i,B,y)}}while(0);return}function Fk(d,f,g,h,i,j,k,l,m,n,o){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var 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;D=c[(c[d+24364>>2]|0)+(c[f+21796>>2]<<2)>>2]|0;if(c[(c[d+4>>2]|0)+696>>2]&1|0)Ak(d,f);G=d+25664|0;p=c[G>>2]|0;q=a[f+28284>>0]|0;if(q<<24>>24>-1){A=q<<24>>24;B=c[f+21788>>2]|0;B=((B<<4|8)+(b[f+28e3>>1]>>2)<>2]<<4|B<<2&12)+(b[f+28002>>1]>>2)|0,c[f+21780>>2]|0)|0)|0;z=d+12|0;C=f+21772|0;pd[c[z>>2]&1023]((c[f+23416+(A*40|0)>>2]|0)+B|0,c[C>>2]|0,4);pd[c[z>>2]&1023]((c[f+23416+(A*40|0)+4>>2]|0)+B|0,c[C>>2]|0,4);pd[c[z>>2]&1023]((c[f+23416+(A*40|0)+8>>2]|0)+B|0,c[C>>2]|0,4)}a:do if(!(D&8)){if(D&16|0){B=j+64|0;C=l+64|0;Gk(d,f,0,0,8,8<>2],g,h,i,0,0,B,c[k>>2]|0,C,c[m>>2]|0,n,o,D&4096,D&16384);Gk(d,f,8,0,8,8<>2],g,h,i,0,4,B,c[k>>2]|0,C,c[m>>2]|0,n,o,D&8192,D&32768);break}A=f+21780|0;if(D&32|0){w=j+64|0;x=k+4|0;y=l+64|0;z=m+4|0;B=n+4|0;C=o+4|0;Gk(d,f,0,0,16,c[A>>2]<<3,g,h,i,0,0,w,c[x>>2]|0,y,c[z>>2]|0,B,C,D&4096,D&16384);Gk(d,f,4,0,16,c[A>>2]<<3,g,h,i,4,0,w,c[x>>2]|0,y,c[z>>2]|0,B,C,D&8192,D&32768);break}B=j+128|0;C=k+8|0;w=l+128|0;x=m+8|0;y=n+8|0;z=o+8|0;v=k+4|0;u=m+4|0;t=n+4|0;s=o+4|0;r=j+64|0;m=l+64|0;k=0;while(1){if((k|0)==4)break a;p=e[f+28552+(k<<1)>>1]|0;n=k<<2;o=n&4;j=k<<1&4;b:do if(!(p&8)){if(p&16|0){q=p&4096;l=p&16384;Gk(d,f,n,0,4,4<>2],g,h,i,o,j,B,c[v>>2]|0,w,c[u>>2]|0,t,s,q,l);Gk(d,f,n|2,0,4,4<>2],g,h,i,o,j|2,B,c[v>>2]|0,w,c[u>>2]|0,t,s,q,l);break}if(p&32|0){q=p&4096;l=p&16384;Gk(d,f,n,0,8,c[A>>2]<<2,g,h,i,o,j,B,c[C>>2]|0,w,c[x>>2]|0,y,z,q,l);Gk(d,f,n|1,0,8,c[A>>2]<<2,g,h,i,o|2,j,B,c[C>>2]|0,w,c[x>>2]|0,y,z,q,l);break}l=p&4096;q=p&16384;p=0;while(1){if((p|0)==4)break b;Gk(d,f,p+n|0,1,4,0,g,h,i,p<<1&2|o,p&2|j,B,c[C>>2]|0,w,c[x>>2]|0,y,z,l,q);p=p+1|0}}else Gk(d,f,n,1,8,0,g,h,i,o,j,r,c[v>>2]|0,m,c[u>>2]|0,t,s,p&4096,p&16384);while(0);k=k+1|0}}else Gk(d,f,0,1,16,0,g,h,i,0,0,j,c[k>>2]|0,l,c[m>>2]|0,n,o,D&4096,D&16384);while(0);if(D&49152|0?(E=c[G>>2]|0,F=a[f+28324>>0]|0,F<<24>>24>-1):0){G=F<<24>>24;h=c[f+21788>>2]|0;h=((h<<4|8)+(b[f+28160>>1]>>2)<>2]<<4|h<<2&12)+(b[f+28162>>1]>>2)|0,c[f+21780>>2]|0)|0)|0;g=d+12|0;i=f+21772|0;pd[c[g>>2]&1023]((c[f+25336+(G*40|0)>>2]|0)+h|0,c[i>>2]|0,4);pd[c[g>>2]&1023]((c[f+25336+(G*40|0)+4>>2]|0)+h|0,c[i>>2]|0,4);pd[c[g>>2]&1023]((c[f+25336+(G*40|0)+8>>2]|0)+h|0,c[i>>2]|0,4)}return}function Gk(e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;var x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;L=f+880|0;q=c[L>>2]|0;x=(v|0)!=0;y=(w|0)!=0;if(y&(x&(q|0)==2)){Q=d[150841+g>>0]|0;q=f+21792|0;s=c[q>>2]|0;if((c[f+3216+((a[f+28272+Q>>0]|0)*384|0)+(a[f+28312+Q>>0]<<3)+((s&1)<<2)>>2]|0)==32)q=59;else{K=q;q=5}}else if((q|0)==1){s=f+21792|0;K=s;s=c[s>>2]|0;q=5}else q=59;do if((q|0)==5){z=c[t>>2]|0;J=c[u>>2]|0;M=c[e+25664>>2]|0;Q=f+21780|0;w=c[Q>>2]|0;N=(H(o<<1,w)|0)+(n<<1<>2]<<3)+n|0;B=f+21828|0;u=c[B>>2]|0;q=(s>>u<<3)+o|0;if(!(x&y)){o=y&1;L=d[150841+g>>0]|0;n=a[f+28272+(o*40|0)+L>>0]|0;K=(t<<3)+(b[f+27952+(o*160|0)+(L<<2)>>1]|0)|0;L=(q<<3)+(b[f+27952+(o*160|0)+(L<<2)+2>>1]|0)|0;t=L<<2&12|K&3;y=K>>2;l=L>>2;v=(H(l,w)|0)+(y<>2]|0)+v|0;m=c[e+27012>>2]<<4;k=c[e+27008>>2]<<4>>u;K=(K&7|0)==0?0:-3;L=(L&7|0)==0?0:-3;if((!((y|0)<(0-K|0)|(l|0)<(0-L|0))?(y+16|0)<=(K+m|0):0)?(l+16|0)<=(k+L|0):0){u=0;s=w}else{L=f+27792|0;u=2<>2]&3](c[L>>2]|0,q+(0-u)+(0-(w<<1))|0,w,w,21,21,y+-2|0,l+-2|0,m,k);s=c[Q>>2]|0;q=(c[L>>2]|0)+u+(s<<1)|0;u=1}x=p+(t<<2)|0;pd[c[x>>2]&1023](P,q,s);p=(h|0)!=0;if(!p)pd[c[x>>2]&1023](P+j|0,q+j|0,c[Q>>2]|0);q=(c[f+23416+(o*1920|0)+(n*40|0)+4>>2]|0)+v|0;t=(u|0)!=0;if(t){L=f+27792|0;h=2<>2]|0;vd[c[e+8>>2]&3](c[L>>2]|0,q+(0-h)+(0-(s<<1))|0,s,s,21,21,y+-2|0,l+-2|0,m,k);s=c[Q>>2]|0;q=(c[L>>2]|0)+h+(s<<1)|0}else s=c[Q>>2]|0;pd[c[x>>2]&1023](O,q,s);if(!p)pd[c[x>>2]&1023](O+j|0,q+j|0,c[Q>>2]|0);q=(c[f+23416+(o*1920|0)+(n*40|0)+8>>2]|0)+v|0;if(t){L=f+27792|0;h=2<>2]|0;vd[c[e+8>>2]&3](c[L>>2]|0,q+(0-h)+(0-(s<<1))|0,s,s,21,21,y+-2|0,l+-2|0,m,k);s=c[Q>>2]|0;q=(c[L>>2]|0)+h+(s<<1)|0}else s=c[Q>>2]|0;pd[c[x>>2]&1023](N,q,s);if(!p)pd[c[x>>2]&1023](N+j|0,q+j|0,c[Q>>2]|0);sd[z&63](P,c[Q>>2]|0,i,c[f+888>>2]|0,c[f+912+(n<<4)+(o<<3)>>2]|0,c[f+912+(n<<4)+(o<<3)+4>>2]|0);if(!(c[f+884>>2]|0))break;e=f+21784|0;j=f+892|0;sd[z&63](O,c[e>>2]|0,i,c[j>>2]|0,c[f+1680+(n<<5)+(o<<4)>>2]|0,c[f+1680+(n<<5)+(o<<4)+4>>2]|0);sd[z&63](N,c[e>>2]|0,i,c[j>>2]|0,c[f+1680+(n<<5)+(o<<4)+8>>2]|0,c[f+1680+(n<<5)+(o<<4)+12>>2]|0);break}E=c[f+27788>>2]|0;F=E+(16<>2]<<4)|0;z=d[150841+g>>0]|0;C=a[f+28272+z>>0]|0;D=a[f+28312+z>>0]|0;o=t<<3;x=o+(b[f+27952+(z<<2)>>1]|0)|0;n=q<<3;g=n+(b[f+27952+(z<<2)+2>>1]|0)|0;t=g<<2&12|x&3;l=x>>2;m=g>>2;k=(H(m,w)|0)+(l<>2]|0)+k|0;A=e+27012|0;y=c[A>>2]<<4;r=e+27008|0;v=c[r>>2]<<4>>u;x=(x&7|0)==0?0:-3;g=(g&7|0)==0?0:-3;if((!((l|0)<(0-x|0)|(m|0)<(0-g|0))?(l+16|0)<=(x+y|0):0)?(m+16|0)<=(v+g|0):0){u=0;s=w}else{g=f+27792|0;u=2<>2]&3](c[g>>2]|0,q+(0-u)+(0-(w<<1))|0,w,w,21,21,l+-2|0,m+-2|0,y,v);s=c[Q>>2]|0;q=(c[g>>2]|0)+u+(s<<1)|0;u=1}x=p+(t<<2)|0;pd[c[x>>2]&1023](P,q,s);w=(h|0)!=0;if(!w)pd[c[x>>2]&1023](P+j|0,q+j|0,c[Q>>2]|0);q=(c[f+23416+(C*40|0)+4>>2]|0)+k|0;t=(u|0)!=0;if(t){g=f+27792|0;h=2<>2]|0;vd[c[e+8>>2]&3](c[g>>2]|0,q+(0-h)+(0-(s<<1))|0,s,s,21,21,l+-2|0,m+-2|0,y,v);s=c[Q>>2]|0;q=(c[g>>2]|0)+h+(s<<1)|0}else s=c[Q>>2]|0;pd[c[x>>2]&1023](O,q,s);if(!w)pd[c[x>>2]&1023](O+j|0,q+j|0,c[Q>>2]|0);q=(c[f+23416+(C*40|0)+8>>2]|0)+k|0;if(t){g=f+27792|0;h=2<>2]|0;vd[c[e+8>>2]&3](c[g>>2]|0,q+(0-h)+(0-(s<<1))|0,s,s,21,21,l+-2|0,m+-2|0,y,v);s=c[Q>>2]|0;q=(c[g>>2]|0)+h+(s<<1)|0}else s=c[Q>>2]|0;pd[c[x>>2]&1023](N,q,s);if(!w)pd[c[x>>2]&1023](N+j|0,q+j|0,c[Q>>2]|0);g=o+(b[f+28112+(z<<2)>>1]|0)|0;h=n+(b[f+28112+(z<<2)+2>>1]|0)|0;u=h<<2&12|g&3;y=g>>2;l=h>>2;q=c[Q>>2]|0;v=(H(l,q)|0)+(y<>2]|0)+v|0;k=c[A>>2]<<4;x=c[r>>2]<<4>>c[B>>2];g=(g&7|0)==0?0:-3;h=(h&7|0)==0?0:-3;if((!((y|0)<(0-g|0)|(l|0)<(0-h|0))?(y+16|0)<=(k+g|0):0)?(l+16|0)<=(x+h|0):0)t=0;else{h=f+27792|0;t=2<>2]&3](c[h>>2]|0,s+(0-t)+(0-(q<<1))|0,q,q,21,21,y+-2|0,l+-2|0,k,x);q=c[Q>>2]|0;s=(c[h>>2]|0)+t+(q<<1)|0;t=1}u=p+(u<<2)|0;pd[c[u>>2]&1023](I,s,q);if(!w)pd[c[u>>2]&1023](I+j|0,s+j|0,c[Q>>2]|0);q=(c[f+25336+(D*40|0)+4>>2]|0)+v|0;t=(t|0)!=0;if(t){g=f+27792|0;h=2<>2]|0;vd[c[e+8>>2]&3](c[g>>2]|0,q+(0-h)+(0-(s<<1))|0,s,s,21,21,y+-2|0,l+-2|0,k,x);s=c[Q>>2]|0;q=(c[g>>2]|0)+h+(s<<1)|0}else s=c[Q>>2]|0;pd[c[u>>2]&1023](E,q,s);if(!w)pd[c[u>>2]&1023](E+j|0,q+j|0,c[Q>>2]|0);q=(c[f+25336+(D*40|0)+8>>2]|0)+v|0;if(t){g=f+27792|0;h=2<>2]|0;vd[c[e+8>>2]&3](c[g>>2]|0,q+(0-h)+(0-(s<<1))|0,s,s,21,21,y+-2|0,l+-2|0,k,x);s=c[Q>>2]|0;q=(c[g>>2]|0)+h+(s<<1)|0}else s=c[Q>>2]|0;pd[c[u>>2]&1023](F,q,s);if(!w)pd[c[u>>2]&1023](F+j|0,q+j|0,c[Q>>2]|0);if((c[L>>2]|0)==2){f=c[f+3216+(C*384|0)+(D<<3)+((c[K>>2]&1)<<2)>>2]|0;j=64-f|0;td[J&31](P,I,c[Q>>2]|0,i,5,f,j,0);td[J&31](O,E,c[G>>2]|0,i,5,f,j,0);td[J&31](N,F,c[G>>2]|0,i,5,f,j,0);break}else{td[J&31](P,I,c[Q>>2]|0,i,c[f+888>>2]|0,c[f+912+(C<<4)>>2]|0,c[f+912+(D<<4)+8>>2]|0,(c[f+912+(D<<4)+12>>2]|0)+(c[f+912+(C<<4)+4>>2]|0)|0);j=f+892|0;td[J&31](O,E,c[G>>2]|0,i,c[j>>2]|0,c[f+1680+(C<<5)>>2]|0,c[f+1680+(D<<5)+16>>2]|0,(c[f+1680+(D<<5)+20>>2]|0)+(c[f+1680+(C<<5)+4>>2]|0)|0);td[J&31](N,F,c[G>>2]|0,i,c[j>>2]|0,c[f+1680+(C<<5)+8>>2]|0,c[f+1680+(D<<5)+24>>2]|0,(c[f+1680+(D<<5)+28>>2]|0)+(c[f+1680+(C<<5)+12>>2]|0)|0);break}}else if((q|0)==59){E=c[e+25664>>2]|0;F=f+21780|0;x=c[F>>2]|0;D=(H(o<<1,x)|0)+(n<<1<>2]<<3)+n|0;A=f+21828|0;s=c[A>>2]|0;o=(c[f+21792>>2]>>s<<3)+o|0;if(v){i=d[150841+g>>0]|0;v=a[f+28272+i>>0]|0;Q=(z<<3)+(b[f+27952+(i<<2)>>1]|0)|0;i=(o<<3)+(b[f+27952+(i<<2)+2>>1]|0)|0;t=i<<2&12|Q&3;l=Q>>2;m=i>>2;k=(H(m,x)|0)+(l<>2]|0)+k|0;n=c[e+27012>>2]<<4;y=c[e+27008>>2]<<4>>s;Q=(Q&7|0)==0?0:-3;i=(i&7|0)==0?0:-3;if((!((l|0)<(0-Q|0)|(m|0)<(0-i|0))?(l+16|0)<=(Q+n|0):0)?(m+16|0)<=(y+i|0):0){u=0;s=x}else{i=f+27792|0;u=2<>2]&3](c[i>>2]|0,q+(0-u)+(0-(x<<1))|0,x,x,21,21,l+-2|0,m+-2|0,n,y);s=c[F>>2]|0;q=(c[i>>2]|0)+u+(s<<1)|0;u=1}x=p+(t<<2)|0;pd[c[x>>2]&1023](B,q,s);p=(h|0)!=0;if(!p)pd[c[x>>2]&1023](B+j|0,q+j|0,c[F>>2]|0);q=(c[f+23416+(v*40|0)+4>>2]|0)+k|0;t=(u|0)!=0;if(t){Q=f+27792|0;i=2<>2]|0;vd[c[e+8>>2]&3](c[Q>>2]|0,q+(0-i)+(0-(s<<1))|0,s,s,21,21,l+-2|0,m+-2|0,n,y);s=c[F>>2]|0;q=(c[Q>>2]|0)+i+(s<<1)|0}else s=c[F>>2]|0;pd[c[x>>2]&1023](C,q,s);if(!p)pd[c[x>>2]&1023](C+j|0,q+j|0,c[F>>2]|0);q=(c[f+23416+(v*40|0)+8>>2]|0)+k|0;if(t){Q=f+27792|0;i=2<>2]|0;vd[c[e+8>>2]&3](c[Q>>2]|0,q+(0-i)+(0-(s<<1))|0,s,s,21,21,l+-2|0,m+-2|0,n,y);s=c[F>>2]|0;q=(c[Q>>2]|0)+i+(s<<1)|0}else s=c[F>>2]|0;pd[c[x>>2]&1023](D,q,s);if(p)p=r;else{pd[c[x>>2]&1023](D+j|0,q+j|0,c[F>>2]|0);p=r}}if(w|0){i=d[150841+g>>0]|0;n=a[f+28312+i>>0]|0;Q=(z<<3)+(b[f+28112+(i<<2)>>1]|0)|0;i=(o<<3)+(b[f+28112+(i<<2)+2>>1]|0)|0;t=i<<2&12|Q&3;y=Q>>2;l=i>>2;s=c[F>>2]|0;v=(H(l,s)|0)+(y<>2]|0)+v|0;m=c[e+27012>>2]<<4;k=c[e+27008>>2]<<4>>c[A>>2];Q=(Q&7|0)==0?0:-3;i=(i&7|0)==0?0:-3;if((!((y|0)<(0-Q|0)|(l|0)<(0-i|0))?(y+16|0)<=(m+Q|0):0)?(l+16|0)<=(k+i|0):0)u=0;else{i=f+27792|0;u=2<>2]&3](c[i>>2]|0,q+(0-u)+(0-(s<<1))|0,s,s,21,21,y+-2|0,l+-2|0,m,k);s=c[F>>2]|0;q=(c[i>>2]|0)+u+(s<<1)|0;u=1}x=p+(t<<2)|0;pd[c[x>>2]&1023](B,q,s);p=(h|0)!=0;if(!p)pd[c[x>>2]&1023](B+j|0,q+j|0,c[F>>2]|0);q=(c[f+25336+(n*40|0)+4>>2]|0)+v|0;t=(u|0)!=0;if(t){i=f+27792|0;h=2<>2]|0;vd[c[e+8>>2]&3](c[i>>2]|0,q+(0-h)+(0-(s<<1))|0,s,s,21,21,y+-2|0,l+-2|0,m,k);s=c[F>>2]|0;q=(c[i>>2]|0)+h+(s<<1)|0}else s=c[F>>2]|0;pd[c[x>>2]&1023](C,q,s);if(!p)pd[c[x>>2]&1023](C+j|0,q+j|0,c[F>>2]|0);q=(c[f+25336+(n*40|0)+8>>2]|0)+v|0;if(t){h=f+27792|0;f=2<>2]|0;vd[c[e+8>>2]&3](c[h>>2]|0,q+(0-f)+(0-(s<<1))|0,s,s,21,21,y+-2|0,l+-2|0,m,k);s=c[F>>2]|0;q=(c[h>>2]|0)+f+(s<<1)|0}else s=c[F>>2]|0;pd[c[x>>2]&1023](D,q,s);if(!p)pd[c[x>>2]&1023](D+j|0,q+j|0,c[F>>2]|0)}}while(0);return}function Hk(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;do if(c[a+26376>>2]|0){j=c[a+27016>>2]|0;h=(H(j,f&-2)|0)+d|0;g=h+-1|0;i=(f&1|0)!=0;if(i?(c[b+832>>2]|0)==(e[(c[a+26372>>2]|0)+(g<<1)>>1]|0|0):0)g=((c[b+21828>>2]|0)==((c[(c[a+24364>>2]|0)+(g<<2)>>2]|0)>>>7&1|0)?j:0)+g|0;if(!(c[b+21828>>2]|0)){h=(H(j,f+-1|0)|0)+d|0;break}h=h-j|0;if(!i?(c[b+832>>2]|0)==(e[(c[a+26372>>2]|0)+(h<<1)>>1]|0|0):0)h=h-((c[(c[a+24364>>2]|0)+(h<<2)>>2]&128|0)==0?0:j)|0}else{h=c[b+21796>>2]|0;g=h+-1|0;h=h-(c[a+27016>>2]<<((c[a+26380>>2]|0)!=3&1))|0}while(0);i=c[a+26372>>2]|0;d=c[b+832>>2]|0;if((d|0)==(e[i+(g<<1)>>1]|0|0))g=(c[(c[a+24364>>2]|0)+(g<<2)>>2]|0)>>>11&1^1;else g=0;if((d|0)==(e[i+(h<<1)>>1]|0|0))g=((c[(c[a+24364>>2]|0)+(h<<2)>>2]|0)>>>11&1^1)+g|0;return Lk(b+32856|0,((c[b+840>>2]|0)==3?g+13|0:g)+11+(b+32904)|0)|0}function Ik(a,b){a=a|0;b=b|0;var d=0;d=(c[b+21796>>2]|0)-(c[a+27016>>2]<<1)|0;return Lk(b+32856|0,b+32974+(((c[(c[a+24364>>2]|0)+(d<<2)>>2]|0)>>>7&(c[b+832>>2]|0)==(e[(c[a+26372>>2]|0)+(d<<1)>>1]|0|0))+(c[b+21828>>2]&(c[b+21788>>2]|0)!=0))|0)|0}function Jk(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);w=B+4|0;y=B;z=g+21796|0;A=c[z>>2]|0;c[y>>2]=0;h=(c[f+25972>>2]|0)+(A*48|0)|0;i=h+48|0;do{a[h>>0]=0;h=h+1|0}while((h|0)<(i|0));v=g+21828|0;if(!(c[v>>2]|0))h=0;else{c[y>>2]=128;h=128}x=g+840|0;if((c[x>>2]|0)==3){h=h|63744;c[y>>2]=h;if(c[g+21844>>2]|0){Kk(f,g,h);Nk(f,g,h)}ck(f,g,y);k=c[y>>2]|2048;c[y>>2]=k;h=f+26368|0}else{k=h|14344;c[y>>2]=k;Kk(f,g,k);p=c[f+24384>>2]|0;q=c[f+24352>>2]|0;h=f+26368|0;r=c[h>>2]|0;c[g+28284>>2]=0;c[g+28292>>2]=0;c[g+28300>>2]=0;c[g+28308>>2]=0;l=c[g+21740>>2]|0;if(!(l&12288))if(!l)i=0;else{u=183140;s=-1;m=16}else{i=c[g+21720>>2]|0;u=d[c[g+21748>>2]>>0]|0;j=a[p+((u&254)+(i<<2|1))>>0]|0;i=q+((H(r,u)|0)+3+(c[(c[f+26360>>2]|0)+(i<<2)>>2]|0)<<2)|0;do if(c[f+26376>>2]|0){l=(l&128|0)!=0;if(!(c[v>>2]|0)){if(!l)break;i=c[i>>2]|0;c[w>>2]=i;b[w+2>>1]=i>>16<<1;i=w;j=j>>1;break}else{if(l)break;i=c[i>>2]|0;c[w>>2]=i;b[w+2>>1]=((i>>>16&65535)<<16>>16)/2|0;i=w;j=j<<1;break}}while(0);if(!(c[i>>2]|j))i=0;else{u=i;s=j;m=16}}do if((m|0)==16){l=c[g+21732>>2]|0;if(!(l&12288))if(!l){i=0;break}else{n=-1;o=183140}else{j=c[g+21712>>2]|0;i=a[p+(j<<2|2)>>0]|0;j=q+((c[(c[f+26360>>2]|0)+(j<<2)>>2]|0)+(r*3|0)<<2)|0;do if(c[f+26376>>2]|0){l=(l&128|0)!=0;if(!(c[v>>2]|0)){if(!l)break;o=c[j>>2]|0;j=w+4|0;c[j>>2]=o;b[w+6>>1]=o>>16<<1;i=i>>1;break}else{if(l)break;o=c[j>>2]|0;j=w+4|0;c[j>>2]=o;b[w+6>>1]=((o>>>16&65535)<<16>>16)/2|0;i=i<<1;break}}while(0);if(!(c[j>>2]|i)){i=0;break}else{n=i;o=j}}j=c[g+21736>>2]|0;do if(!(j&12288))if((j|0)==0?(t=c[g+21728>>2]|0,(t&12288|0)!=0):0){l=c[g+21708>>2]|0;m=c[g+21752>>2]|0;i=a[p+(l<<2|m&2|1)>>0]|0;l=q+(r+3+(m&r<<1)+(c[(c[f+26360>>2]|0)+(l<<2)>>2]|0)<<2)|0;if(c[f+26376>>2]|0){j=(t&128|0)!=0;if(!(c[v>>2]|0)){if(!j){m=l;break}v=c[l>>2]|0;m=w+8|0;c[m>>2]=v;b[w+10>>1]=v>>16<<1;i=i>>1;break}else{if(j){m=l;break}v=c[l>>2]|0;m=w+8|0;c[m>>2]=v;b[w+10>>1]=((v>>>16&65535)<<16>>16)/2|0;i=i<<1;break}}else m=l}else{m=183140;i=-1}else{l=c[g+21716>>2]|0;i=a[p+(l<<2|2)>>0]|0;l=q+((c[(c[f+26360>>2]|0)+(l<<2)>>2]|0)+(r*3|0)<<2)|0;if(c[f+26376>>2]|0){j=(j&128|0)!=0;if(!(c[v>>2]|0)){if(!j){m=l;break}v=c[l>>2]|0;m=w+8|0;c[m>>2]=v;b[w+10>>1]=v>>16<<1;i=i>>1;break}else{if(j){m=l;break}v=c[l>>2]|0;m=w+8|0;c[m>>2]=v;b[w+10>>1]=((v>>>16&65535)<<16>>16)/2|0;i=i<<1;break}}else m=l}while(0);l=(n|0)!=0;j=(s|0)!=0;i=((l^1)&1)+((j^1)&1)+((i|0)==0&1)|0;do if(i>>>0<=1){if((i|0)!=1){i=Tk(b[u>>1]|0,b[o>>1]|0,b[m>>1]|0)|0;j=Tk(b[u+2>>1]|0,b[o+2>>1]|0,b[m+2>>1]|0)|0;break}if(!j){j=b[u+2>>1]|0;i=b[u>>1]|0;break}if(l){j=b[m+2>>1]|0;i=b[m>>1]|0;break}else{j=b[o+2>>1]|0;i=b[o>>1]|0;break}}else{i=Tk(b[u>>1]|0,b[o>>1]|0,b[m>>1]|0)|0;j=Tk(b[u+2>>1]|0,b[o+2>>1]|0,b[m+2>>1]|0)|0}while(0);i=j<<16|i&65535}while(0);c[g+28e3>>2]=i;c[g+28004>>2]=i;c[g+28008>>2]=i;c[g+28012>>2]=i;c[g+28032>>2]=i;c[g+28036>>2]=i;c[g+28040>>2]=i;c[g+28044>>2]=i;c[g+28064>>2]=i;c[g+28068>>2]=i;c[g+28072>>2]=i;c[g+28076>>2]=i;c[g+28096>>2]=i;c[g+28100>>2]=i;c[g+28104>>2]=i;c[g+28108>>2]=i}h=c[h>>2]|0;i=(H(h<<2,c[g+21792>>2]|0)|0)+(c[g+21788>>2]<<2)|0;j=c[z>>2]<<2;if(!(k&12288)){w=(c[f+24384>>2]|0)+j|0;b[w>>1]=-1;b[w+2>>1]=-1}else{w=(c[f+24352>>2]|0)+(i<<2)|0;u=g+28e3|0;v=c[u+4>>2]|0;s=w;c[s>>2]=c[u>>2];c[s+4>>2]=v;s=g+28008|0;v=c[s+4>>2]|0;u=w+8|0;c[u>>2]=c[s>>2];c[u+4>>2]=v;u=g+28032|0;v=c[u+4>>2]|0;s=w+(h<<2)|0;t=s;c[t>>2]=c[u>>2];c[t+4>>2]=v;t=g+28040|0;v=c[t+4>>2]|0;s=s+8|0;c[s>>2]=c[t>>2];c[s+4>>2]=v;s=g+28064|0;v=c[s+4>>2]|0;t=w+(h<<1<<2)|0;u=t;c[u>>2]=c[s>>2];c[u+4>>2]=v;u=g+28072|0;v=c[u+4>>2]|0;t=t+8|0;c[t>>2]=c[u>>2];c[t+4>>2]=v;t=g+28096|0;v=c[t+4>>2]|0;w=w+(h*3<<2)|0;u=w;c[u>>2]=c[t>>2];c[u+4>>2]=v;u=g+28104|0;v=c[u+4>>2]|0;w=w+8|0;c[w>>2]=c[u>>2];c[w+4>>2]=v;w=(c[g+32848>>2]|0)+(c[(c[f+26364>>2]|0)+(c[z>>2]<<2)>>2]<<1)|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;w=(c[f+24384>>2]|0)+j|0;a[w>>0]=a[g+28284>>0]|0;a[w+1>>0]=a[g+28286>>0]|0;a[w+2>>0]=a[g+28300>>0]|0;a[w+3>>0]=a[g+28302>>0]|0}if(k&49152|0){w=(c[f+24356>>2]|0)+(i<<2)|0;u=g+28160|0;v=c[u+4>>2]|0;s=w;c[s>>2]=c[u>>2];c[s+4>>2]=v;s=g+28168|0;v=c[s+4>>2]|0;u=w+8|0;c[u>>2]=c[s>>2];c[u+4>>2]=v;u=g+28192|0;v=c[u+4>>2]|0;s=w+(h<<2)|0;t=s;c[t>>2]=c[u>>2];c[t+4>>2]=v;t=g+28200|0;v=c[t+4>>2]|0;s=s+8|0;c[s>>2]=c[t>>2];c[s+4>>2]=v;s=g+28224|0;v=c[s+4>>2]|0;t=w+(h<<1<<2)|0;u=t;c[u>>2]=c[s>>2];c[u+4>>2]=v;u=g+28232|0;v=c[u+4>>2]|0;t=t+8|0;c[t>>2]=c[u>>2];c[t+4>>2]=v;t=g+28256|0;v=c[t+4>>2]|0;w=w+(h*3<<2)|0;u=w;c[u>>2]=c[t>>2];c[u+4>>2]=v;u=g+28264|0;v=c[u+4>>2]|0;w=w+8|0;c[w>>2]=c[u>>2];c[w+4>>2]=v;w=(c[g+32852>>2]|0)+(c[(c[f+26364>>2]|0)+(c[z>>2]<<2)>>2]<<1)|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;w=(c[f+24388>>2]|0)+j|0;a[w>>0]=a[g+28324>>0]|0;a[w+1>>0]=a[g+28326>>0]|0;a[w+2>>0]=a[g+28340>>0]|0;a[w+3>>0]=a[g+28342>>0]|0}if(!((k&64|0)==0|(c[x>>2]|0)!=3)){z=(c[f+26408>>2]|0)+(c[z>>2]<<2)|0;a[z+1>>0]=(e[g+28554>>1]|0)>>>1;a[z+2>>0]=(e[g+28556>>1]|0)>>>1;a[z+3>>0]=(e[g+28558>>1]|0)>>>1}c[(c[f+24364>>2]|0)+(A<<2)>>2]=c[y>>2];a[(c[f+24340>>2]|0)+A>>0]=c[g+848>>2];b[(c[f+26372>>2]|0)+(A<<1)>>1]=c[g+832>>2];c[g+21648>>2]=1;$c=B;return}function Kk(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=c[b+21796>>2]|0;j=b+21752|0;c[j>>2]=-1;o=c[a+27016>>2]|0;m=i-(o<>2])|0;f=m+-1|0;g=m+1|0;h=i+-1|0;n=b+21748|0;c[n>>2]=140428;q=c[a+24364>>2]|0;do if(c[a+26376>>2]|0){k=c[q+(h<<2)>>2]&128;l=d&128;if(!(c[b+21792>>2]&1)){i=(l|0)!=0;if(i){d=(((c[q+(m<<2)>>2]|0)>>>7&1)+-1&o)+m|0;g=(((c[q+(g<<2)>>2]|0)>>>7&1)+-1&o)+g|0;f=(((c[q+(f<<2)>>2]|0)>>>7&1)+-1&o)+f|0}else d=m;if((k|0)==(l|0)){p=d;n=f;m=h;d=h;break}c[n>>2]=i?140524:140492;p=d;n=f;m=h;d=h+(i?o:0)|0;break}else{if((k|0)==(l|0)){p=m;n=f;m=h;d=h;break}i=i-o+-1|0;if(!l){c[j>>2]=0;f=o+f|0;d=140460;h=i}else d=140524;c[n>>2]=d;p=m;n=f;m=i;d=h;break}}else{p=m;n=f;m=h;d=h}while(0);c[b+21708>>2]=n;c[b+21712>>2]=p;c[b+21716>>2]=g;c[b+21720>>2]=m;c[b+21724>>2]=d;h=b+21728|0;c[h>>2]=c[q+(n<<2)>>2];i=b+21732|0;c[i>>2]=c[q+(p<<2)>>2];j=b+21736|0;c[j>>2]=c[q+(g<<2)>>2];k=b+21740|0;c[k>>2]=c[q+(m<<2)>>2];l=b+21744|0;c[l>>2]=c[q+(d<<2)>>2];f=c[a+26372>>2]|0;d=c[b+832>>2]|0;if((d|0)!=(e[f+(n<<1)>>1]|0|0)){c[h>>2]=0;if((d|0)!=(e[f+(p<<1)>>1]|0|0))c[i>>2]=0;if((d|0)!=(e[f+(m<<1)>>1]|0|0)){c[l>>2]=0;c[k>>2]=0}}if((d|0)!=(e[f+(g<<1)>>1]|0|0))c[j>>2]=0;return}function Lk(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=d[e>>0]|0;g=b+4|0;i=c[g>>2]|0;j=d[125777+((i<<1&384)+f)>>0]|0;i=i-j|0;k=i<<17;l=c[b>>2]|0;h=k-l>>31;c[b>>2]=l-(h&k);c[g>>2]=(h&j-i)+i;f=h^f;a[e>>0]=a[126417+f>>0]|0;h=c[g>>2]|0;e=d[125265+h>>0]|0;c[g>>2]=h<>2]<>2]=e;if(!(e&65535))bl(b);return f&1|0}function Mk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=a+32904+b|0;if(!d){b=a+32856|0;if(!(Lk(b,f)|0))b=0;else{e=b;g=4}}else{b=(c[a+21740>>2]&6|0)!=0;e=a+32856|0;if(!(Lk(e,f+((c[a+21732>>2]&6|0)==0?b&1:b?2:1)|0)|0))b=0;else{f=f+2|0;g=4}}if((g|0)==4)if(!(cl(e)|0)){b=(Lk(e,f+1|0)|0)*12|1;if(Lk(e,f+2|0)|0)b=b+4+((Lk(e,f+(d+2)|0)|0)<<2)|0;b=((Lk(e,f+(d+3)|0)|0)<<1)+b|0;b=b+(Lk(e,f+((d<<1)+3)|0)|0)|0}else b=25;return b|0}function Nk(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,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;Ha=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);xa=Ha+8|0;ya=Ha;za=c[g+21748>>2]|0;Fa=c[g+21708>>2]|0;oa=c[g+21712>>2]|0;pa=c[g+21716>>2]|0;qa=c[g+21720>>2]|0;c[xa>>2]=qa;ra=c[g+21724>>2]|0;c[xa+4>>2]=ra;sa=c[g+21728>>2]|0;ta=c[g+21732>>2]|0;ua=c[g+21736>>2]|0;va=c[g+21740>>2]|0;c[ya>>2]=va;wa=c[g+21744>>2]|0;c[ya+4>>2]=wa;if(!(h&2048)){t=(h&7|0)!=0;a:do if(t){p=c[(c[f+28212>>2]|0)+56>>2]|0?7:-1;k=g+21768|0;c[k>>2]=65535;i=g+21760|0;c[i>>2]=65535;m=g+21756|0;c[m>>2]=65535;n=g+21764|0;c[n>>2]=61162;o=(p&ta|0)!=0;if(o){i=65535;l=60138}else{c[m>>2]=46079;c[i>>2]=13311;c[n>>2]=9962;i=46079;l=8938}j=h&128;do if((j|0)==(va&128|0)){if(!(va&p)){i=i&57183;c[m>>2]=i;c[k>>2]=24415}}else{if(!j){if(!((va&p|0)==0?1:(c[(c[f+24364>>2]|0)+((c[f+27016>>2]|0)+qa<<2)>>2]&p|0)==0))break;i=i&57183;c[m>>2]=i;c[k>>2]=24415;break}if(!(va&p)){i=i&57343;c[m>>2]=i;c[k>>2]=24575;j=24415}else j=65375;if(!(wa&p)){i=i&65375;c[m>>2]=i;c[k>>2]=j}}while(0);if(!(p&sa))c[m>>2]=i&32767;if(!(p&ua))c[n>>2]=l;if(h&1|0){if(!(ta&1)){_W(g+21668|0,(o?2:-1)|0,4)|0;l=g+21704|0;m=f+26364|0}else{l=g+21704|0;m=f+26364|0;c[g+21668>>2]=c[(c[l>>2]|0)+(c[(c[m>>2]|0)+(oa<<2)>>2]|0)>>2]}k=0;while(1){if((k|0)==2)break a;i=c[ya+(k<<2)>>2]|0;if(!(i&1)){i=(i&p|0)==0?-1:2;j=k<<4;a[j+19+(g+21664)>>0]=i;j=j|11}else{na=(c[l>>2]|0)+(c[(c[m>>2]|0)+(c[xa+(k<<2)>>2]<<2)>>2]|0)|0;i=k<<1;j=k<<4;a[(j|11)+(g+21664)>>0]=a[na+(6-(d[za+i>>0]|0))>>0]|0;i=a[na+(6-(d[za+(i|1)>>0]|0))>>0]|0;j=j+19|0}a[g+21664+j>>0]=i;k=k+1|0}}}while(0);s=(ta|0)!=0;if(s){r=f+25972|0;i=c[r>>2]|0;c[g+27828>>2]=c[i+(oa*48|0)+12>>2];na=(c[f+25680>>2]|0)==0;c[g+27868>>2]=c[(na?28:20)+(i+(oa*48|0))>>2];i=c[(na?44:36)+(i+(oa*48|0))>>2]|0}else{i=t?1077952576:0;c[g+27828>>2]=i;c[g+27868>>2]=i;r=f+25972|0}c[g+27908>>2]=i;p=t?64:0;q=f+28216|0;o=0;while(1){if((o|0)==2)break;if(!(c[ya+(o<<2)>>2]|0)){j=o<<4;a[j+99+(g+27824)>>0]=p;a[j+91+(g+27824)>>0]=p;a[j+59+(g+27824)>>0]=p;a[j+51+(g+27824)>>0]=p;a[j+19+(g+27824)>>0]=p;j=j|11;i=p}else{m=c[r>>2]|0;n=c[xa+(o<<2)>>2]|0;i=o<<1;k=za+(i+8)|0;j=o<<4;a[(j|11)+(g+27824)>>0]=a[(d[k>>0]|0)+(m+(n*48|0))>>0]|0;l=za+(i+9)|0;a[j+19+(g+27824)>>0]=a[(d[l>>0]|0)+(m+(n*48|0))>>0]|0;switch(c[(c[q>>2]|0)+12>>2]|0){case 3:{a[j+51+(g+27824)>>0]=a[(d[k>>0]|0)+16+(m+(n*48|0))>>0]|0;a[j+59+(g+27824)>>0]=a[(d[l>>0]|0)+16+(m+(n*48|0))>>0]|0;a[j+91+(g+27824)>>0]=a[(d[k>>0]|0)+32+(m+(n*48|0))>>0]|0;l=(d[l>>0]|0)+32|0;i=j+99|0;break}case 2:{a[j+51+(g+27824)>>0]=a[(d[k>>0]|0)+14+(m+(n*48|0))>>0]|0;a[j+59+(g+27824)>>0]=a[(d[l>>0]|0)+14+(m+(n*48|0))>>0]|0;a[j+91+(g+27824)>>0]=a[(d[k>>0]|0)+30+(m+(n*48|0))>>0]|0;i=(d[l>>0]|0)+30|0;k=99;u=39;break}default:{j=o<<3;a[j+51+(g+27824)>>0]=a[(d[za+(i+12)>>0]|0)+(m+(n*48|0))>>0]|0;i=d[za+(i+13)>>0]|0;k=91;u=39}}if((u|0)==39){u=0;l=i;i=k+j|0}j=i;i=a[m+(n*48|0)+l>>0]|0}a[g+27824+j>>0]=i;o=o+1|0}if(s)i=e[(c[f+26392>>2]|0)+(oa<<1)>>1]|0;else i=t?1999:15;c[g+21860>>2]=i;if(!va)i=t?1999:15;else{i=c[f+26392>>2]|0;na=e[i+(qa<<1)>>1]|0;i=na>>>(a[za>>0]&-2&255)&2|na&2032|(e[i+(ra<<1)>>1]|0)>>>(a[za+2>>0]&-2&255)<<2&8}c[g+21864>>2]=i}if(!(h&120)){if(h&256|0?c[g+21844>>2]|0:0)u=53}else u=53;b:do if((u|0)==53){w=c[f+26368>>2]|0;x=g+23412|0;y=f+26360|0;z=w*3|0;B=oa<<2;A=B|2;B=B|3;C=(h&80|0)==0;D=va|0?-1:-2;E=qa<<2|1;F=ua|0?-1:-2;G=sa|0?-1:-2;I=g+21752|0;J=w<<1;K=w+3|0;L=Fa<<2;M=(h&2304|0)==0;O=f+26364|0;P=g+840|0;Q=g+28524|0;R=f+26408|0;S=g+28532|0;T=g+28548|0;U=g+28540|0;V=(ta&256|0)==0;W=(ta&64|0)==0;X=g+28516|0;Y=g+28518|0;Z=g+28523|0;_=ra<<2|1;$=za+2|0;aa=g+28539|0;ba=za+3|0;ca=za+1|0;da=f+26376|0;ea=g+21828|0;fa=(sa&128|0)!=0;ga=(ta&128|0)==0;ha=(ua&128|0)==0;ia=(va&128|0)==0;ja=(wa&128|0)==0;ka=pa<<2|2;la=ta|0?-1:-16843010;ma=(va&320|0)==64;u=va&256|0?-128:4;na=(wa&320|0)==64;v=wa&256|0?-128:4;t=0;while(1){if(t>>>0>=(c[x>>2]|0)>>>0)break b;n=g+28272+(t*40|0)+12|0;p=c[f+24384+(t<<2)>>2]|0;o=g+27952+(t*160|0)+48|0;q=c[f+24352+(t<<2)>>2]|0;s=12288<<(t<<1);do if(s&h|0){r=(s&ta|0)!=0;if(r){k=(c[(c[y>>2]|0)+(oa<<2)>>2]|0)+z|0;j=q+(k<<2)|0;m=c[j+4>>2]|0;l=g+27952+(t*160|0)+16|0;c[l>>2]=c[j>>2];c[l+4>>2]=m;k=q+(k<<2)+8|0;l=c[k+4>>2]|0;m=g+27952+(t*160|0)+24|0;c[m>>2]=c[k>>2];c[m+4>>2]=l;m=a[p+A>>0]|0;a[g+28272+(t*40|0)+5>>0]=m;a[g+28272+(t*40|0)+4>>0]=m;m=a[p+B>>0]|0;a[g+28272+(t*40|0)+7>>0]=m;a[g+28272+(t*40|0)+6>>0]=m}else{m=g+27952+(t*160|0)+16|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[g+28272+(t*40|0)+4>>2]=la}c:do if(C){if(!(va&s)){c[g+27952+(t*160|0)+44>>2]=0;i=D}else{c[g+27952+(t*160|0)+44>>2]=c[q+((c[(c[y>>2]|0)+(qa<<2)>>2]|0)+3+(H(w,d[za>>0]|0)|0)<<2)>>2];i=a[p+(E+(a[za>>0]&-2&255))>>0]|0}a[g+28272+(t*40|0)+11>>0]=i}else{m=0;while(1){if((m|0)==2)break c;j=m<<1;k=m<<4;i=k+-1|0;l=c[ya+(m<<2)>>2]|0;if(!(l&s)){c[o+(i<<2)>>2]=0;k=k|7;c[o+(k<<2)>>2]=0;j=l|0?-1:-2;a[n+k>>0]=j}else{Ia=c[xa+(m<<2)>>2]|0;Ka=(c[(c[y>>2]|0)+(Ia<<2)>>2]|0)+3|0;Ia=Ia<<2|1;Ja=za+j|0;c[o+(i<<2)>>2]=c[q+((H(w,d[Ja>>0]|0)|0)+Ka<<2)>>2];j=za+(j|1)|0;l=k|7;c[o+(l<<2)>>2]=c[q+((H(w,d[j>>0]|0)|0)+Ka<<2)>>2];a[n+i>>0]=a[p+(Ia+(a[Ja>>0]&-2&255))>>0]|0;j=a[p+(Ia+(a[j>>0]&-2&255))>>0]|0;i=l}a[n+i>>0]=j;m=m+1|0}}while(0);if(!(s&ua)){c[g+27952+(t*160|0)+32>>2]=0;i=F}else{c[g+27952+(t*160|0)+32>>2]=c[q+((c[(c[y>>2]|0)+(pa<<2)>>2]|0)+z<<2)>>2];i=a[p+ka>>0]|0}m=g+28272+(t*40|0)+8|0;a[m>>0]=i;l=g+28272+(t*40|0)+6|0;if((a[l>>0]|i)<<24>>24<0){if(!(s&sa)){c[g+27952+(t*160|0)+12>>2]=0;i=G}else{i=c[I>>2]|0;c[g+27952+(t*160|0)+12>>2]=c[q+(K+(c[(c[y>>2]|0)+(Fa<<2)>>2]|0)+(i&J)<<2)>>2];i=a[p+(L|i&2|1)>>0]|0}a[g+28272+(t*40|0)+3>>0]=i}if(M){k=c[g+32848+(t<<2)>>2]|0;a[g+28272+(t*40|0)+30>>0]=-2;a[g+28272+(t*40|0)+14>>0]=-2;c[g+27952+(t*160|0)+56>>2]=0;c[g+27952+(t*160|0)+120>>2]=0;if(r){j=k+(c[(c[O>>2]|0)+(oa<<2)>>2]<<1)|0;i=c[j>>2]|0;j=c[j+4>>2]|0}else{i=0;j=0}Ka=g+28352+(t*80|0)+8|0;c[Ka>>2]=i;c[Ka+4>>2]=j;if(!(va&s)){b[g+28352+(t*80|0)+22>>1]=0;i=0}else{i=(c[(c[O>>2]|0)+(qa<<2)>>2]|0)+6|0;b[g+28352+(t*80|0)+22>>1]=b[k+(i-(d[za>>0]|0)<<1)>>1]|0;i=b[k+(i-(d[ca>>0]|0)<<1)>>1]|0}b[g+28352+(t*80|0)+38>>1]=i;if(!(wa&s)){b[g+28352+(t*80|0)+54>>1]=0;i=0}else{i=(c[(c[O>>2]|0)+(ra<<2)>>2]|0)+6|0;b[g+28352+(t*80|0)+54>>1]=b[k+(i-(d[$>>0]|0)<<1)>>1]|0;i=b[k+(i-(d[ba>>0]|0)<<1)>>1]|0}b[g+28352+(t*80|0)+70>>1]=i;b[g+28352+(t*80|0)+28>>1]=0;b[g+28352+(t*80|0)+60>>1]=0;if((c[P>>2]|0)==3){j=c[R>>2]|0;c[Q>>2]=67372036;c[S>>2]=67372036;c[U>>2]=67372036;c[T>>2]=67372036;do if(V)if(W){c[X>>2]=67372036;break}else{a[X>>0]=a[j+A>>0]|0;a[Y>>0]=a[j+B>>0]|0;break}else c[X>>2]=-2139062144;while(0);if(ma)i=a[j+(E+(a[za>>0]&-2&255))>>0]|0;else i=u;a[Z>>0]=i;if(na)i=a[j+(_+(a[$>>0]&-2&255))>>0]|0;else i=v;a[aa>>0]=i}if(!(c[da>>2]|0))break}else if(!(c[da>>2]|0))break;if(!(c[ea>>2]|0)){if(fa?(Da=g+28272+(t*40|0)+3|0,Ea=a[Da>>0]|0,Ea<<24>>24>-1):0){a[Da>>0]=(Ea&255)>>>1;Ka=g+27952+(t*160|0)+14|0;b[Ka>>1]=b[Ka>>1]<<1;Ka=g+28352+(t*80|0)+7|0;a[Ka>>0]=d[Ka>>0]<<1}do if(!ga){i=g+28272+(t*40|0)+4|0;j=a[i>>0]|0;if(j<<24>>24>-1){a[i>>0]=(j&255)>>>1;Ka=g+27952+(t*160|0)+18|0;b[Ka>>1]=b[Ka>>1]<<1;Ka=g+28352+(t*80|0)+9|0;a[Ka>>0]=d[Ka>>0]<<1}i=g+28272+(t*40|0)+5|0;j=a[i>>0]|0;if(j<<24>>24>-1){a[i>>0]=(j&255)>>>1;Ka=g+27952+(t*160|0)+22|0;b[Ka>>1]=b[Ka>>1]<<1;Ka=g+28352+(t*80|0)+11|0;a[Ka>>0]=d[Ka>>0]<<1}i=a[l>>0]|0;if(i<<24>>24>-1){a[l>>0]=(i&255)>>>1;Ka=g+27952+(t*160|0)+26|0;b[Ka>>1]=b[Ka>>1]<<1;Ka=g+28352+(t*80|0)+13|0;a[Ka>>0]=d[Ka>>0]<<1}i=g+28272+(t*40|0)+7|0;j=a[i>>0]|0;if(j<<24>>24<=-1)break;a[i>>0]=(j&255)>>>1;Ka=g+27952+(t*160|0)+30|0;b[Ka>>1]=b[Ka>>1]<<1;Ka=g+28352+(t*80|0)+15|0;a[Ka>>0]=d[Ka>>0]<<1}while(0);if(!ha?(Ga=a[m>>0]|0,Ga<<24>>24>-1):0){a[m>>0]=(Ga&255)>>>1;Ka=g+27952+(t*160|0)+34|0;b[Ka>>1]=b[Ka>>1]<<1;Ka=g+28352+(t*80|0)+17|0;a[Ka>>0]=d[Ka>>0]<<1}do if(!ia){i=g+28272+(t*40|0)+11|0;j=a[i>>0]|0;if(j<<24>>24>-1){a[i>>0]=(j&255)>>>1;Ka=g+27952+(t*160|0)+46|0;b[Ka>>1]=b[Ka>>1]<<1;Ka=g+28352+(t*80|0)+23|0;a[Ka>>0]=d[Ka>>0]<<1}i=g+28272+(t*40|0)+19|0;j=a[i>>0]|0;if(j<<24>>24<=-1)break;a[i>>0]=(j&255)>>>1;Ka=g+27952+(t*160|0)+78|0;b[Ka>>1]=b[Ka>>1]<<1;Ka=g+28352+(t*80|0)+39|0;a[Ka>>0]=d[Ka>>0]<<1}while(0);if(ja)break;i=g+28272+(t*40|0)+27|0;j=a[i>>0]|0;if(j<<24>>24>-1){a[i>>0]=(j&255)>>>1;Ka=g+27952+(t*160|0)+110|0;b[Ka>>1]=b[Ka>>1]<<1;Ka=g+28352+(t*80|0)+55|0;a[Ka>>0]=d[Ka>>0]<<1}i=g+28272+(t*40|0)+35|0;j=a[i>>0]|0;if(j<<24>>24<=-1)break;a[i>>0]=(j&255)>>>1;Ka=g+27952+(t*160|0)+142|0;b[Ka>>1]=b[Ka>>1]<<1;Ka=g+28352+(t*80|0)+71|0;a[Ka>>0]=d[Ka>>0]<<1;break}else{if(!fa?(Aa=g+28272+(t*40|0)+3|0,Ba=a[Aa>>0]|0,Ba<<24>>24>-1):0){a[Aa>>0]=Ba<<24>>24<<1;Ka=g+27952+(t*160|0)+14|0;b[Ka>>1]=(b[Ka>>1]|0)/2|0;Ka=g+28352+(t*80|0)+7|0;a[Ka>>0]=(d[Ka>>0]|0)>>>1}do if(ga){i=g+28272+(t*40|0)+4|0;j=a[i>>0]|0;if(j<<24>>24>-1){a[i>>0]=j<<24>>24<<1;Ka=g+27952+(t*160|0)+18|0;b[Ka>>1]=(b[Ka>>1]|0)/2|0;Ka=g+28352+(t*80|0)+9|0;a[Ka>>0]=(d[Ka>>0]|0)>>>1}i=g+28272+(t*40|0)+5|0;j=a[i>>0]|0;if(j<<24>>24>-1){a[i>>0]=j<<24>>24<<1;Ka=g+27952+(t*160|0)+22|0;b[Ka>>1]=(b[Ka>>1]|0)/2|0;Ka=g+28352+(t*80|0)+11|0;a[Ka>>0]=(d[Ka>>0]|0)>>>1}i=a[l>>0]|0;if(i<<24>>24>-1){a[l>>0]=i<<24>>24<<1;Ka=g+27952+(t*160|0)+26|0;b[Ka>>1]=(b[Ka>>1]|0)/2|0;Ka=g+28352+(t*80|0)+13|0;a[Ka>>0]=(d[Ka>>0]|0)>>>1}i=g+28272+(t*40|0)+7|0;j=a[i>>0]|0;if(j<<24>>24<=-1)break;a[i>>0]=j<<24>>24<<1;Ka=g+27952+(t*160|0)+30|0;b[Ka>>1]=(b[Ka>>1]|0)/2|0;Ka=g+28352+(t*80|0)+15|0;a[Ka>>0]=(d[Ka>>0]|0)>>>1}while(0);if(ha?(Ca=a[m>>0]|0,Ca<<24>>24>-1):0){a[m>>0]=Ca<<24>>24<<1;Ka=g+27952+(t*160|0)+34|0;b[Ka>>1]=(b[Ka>>1]|0)/2|0;Ka=g+28352+(t*80|0)+17|0;a[Ka>>0]=(d[Ka>>0]|0)>>>1}do if(ia){i=g+28272+(t*40|0)+11|0;j=a[i>>0]|0;if(j<<24>>24>-1){a[i>>0]=j<<24>>24<<1;Ka=g+27952+(t*160|0)+46|0;b[Ka>>1]=(b[Ka>>1]|0)/2|0;Ka=g+28352+(t*80|0)+23|0;a[Ka>>0]=(d[Ka>>0]|0)>>>1}i=g+28272+(t*40|0)+19|0;j=a[i>>0]|0;if(j<<24>>24<=-1)break;a[i>>0]=j<<24>>24<<1;Ka=g+27952+(t*160|0)+78|0;b[Ka>>1]=(b[Ka>>1]|0)/2|0;Ka=g+28352+(t*80|0)+39|0;a[Ka>>0]=(d[Ka>>0]|0)>>>1}while(0);if(!ja)break;i=g+28272+(t*40|0)+27|0;j=a[i>>0]|0;if(j<<24>>24>-1){a[i>>0]=j<<24>>24<<1;Ka=g+27952+(t*160|0)+110|0;b[Ka>>1]=(b[Ka>>1]|0)/2|0;Ka=g+28352+(t*80|0)+55|0;a[Ka>>0]=(d[Ka>>0]|0)>>>1}i=g+28272+(t*40|0)+35|0;j=a[i>>0]|0;if(j<<24>>24<=-1)break;a[i>>0]=j<<24>>24<<1;Ka=g+27952+(t*160|0)+142|0;b[Ka>>1]=(b[Ka>>1]|0)/2|0;Ka=g+28352+(t*80|0)+71|0;a[Ka>>0]=(d[Ka>>0]|0)>>>1;break}}while(0);t=t+1|0}}while(0);c[g+21840>>2]=(va>>>24&1)+(ta>>>24&1);$c=Ha;return}function Ok(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+32856|0;if(!(Xk(c,a+32972|0)|0)){a=a+32973|0;d=Xk(c,a)|0;d=((Xk(c,a)|0)<<1)+d|0;c=d+((Xk(c,a)|0)<<2)|0;b=c+((c|0)>=(b|0)&1)|0}return b|0}function Pk(b,d){b=b|0;d=d|0;var e=0;if(!(c[d+21740>>2]|0))e=0;else e=(a[(c[b+26396>>2]|0)+(c[d+21720>>2]|0)>>0]|0)!=0&1;if(c[d+21732>>2]|0)e=e+((a[(c[b+26396>>2]|0)+(c[d+21712>>2]|0)>>0]|0)!=0&1)|0;b=d+32856|0;if(Lk(b,e+64+(d+32904)|0)|0){e=d+32971|0;if(!(Lk(b,e)|0))e=1;else{e=(Lk(b,e)|0)==0;e=e?2:3}}else e=0;return e|0}function Qk(a){a=a|0;var b=0,c=0,d=0;d=a+32856|0;if(!(Xk(d,a+32940|0)|0))a=0;else{do if(!(Xk(d,a+32941|0)|0)){b=Xk(d,a+32943|0)|0;a=1}else{c=a+32943|0;if(Xk(d,a+32942|0)|0)if(!(Xk(d,c)|0))a=7;else{b=Xk(d,c)|0;a=11;break}else a=3;b=((Xk(d,c)|0)<<1)+a|0;a=Xk(d,c)|0}while(0);a=b+a|0}return a|0}function Rk(a){a=a|0;var b=0;b=a+32856|0;if(!(Xk(b,a+32925|0)|0))if(!(Xk(b,a+32926|0)|0))a=1;else{a=(Xk(b,a+32927|0)|0)==0;a=a?3:2}else a=0;return a|0}function Sk(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=d[150841+f>>0]|0;g=i+-1|0;i=i+-8|0;h=a[b+28272+(e*40|0)+i>>0]|0;f=(a[b+28272+(e*40|0)+g>>0]|0)>0;if((c[b+840>>2]|0)==3){if(f)f=((d[b+28512+g>>0]|0)>>>7^1)&255;else f=0;if(h<<24>>24>0)e=(a[b+28512+i>>0]|0)<0?f:f|2;else e=f}else{e=f&1;e=h<<24>>24>0?e|2:e}g=b+32856|0;f=0;while(1){if(!(Xk(g,e+54+(b+32904)|0)|0))break;if((f|0)>30){f=-1;break}else{f=f+1|0;e=(e>>2)+4|0}}return f|0}function Tk(a,b,c){a=a|0;b=b|0;c=c|0;if((a|0)>(b|0))return ((c|0)>(b|0)?((c|0)>(a|0)?a:c):b)|0;else return ((b|0)>(c|0)?((c|0)>(a|0)?c:a):b)|0;return 0}function Uk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);g=j;i=a+32856|0;do if(!(Xk(i,b+2+(d+-3>>31)+(d+-33>>31)+(a+32904)|0)|0)){c[e>>2]=0;d=0}else{f=1;d=b+3|0;while(1){if((f|0)>=9){d=3;h=7;break}if(!(Xk(i,a+32904+d|0)|0)){b=f;d=f;break}b=d+((f|0)<4&1)|0;f=f+1|0;d=b}if((h|0)==7){while(1){h=0;if(!(al(i)|0)){b=d;break}f=(1<23){h=12;break}else{d=d+1|0;h=7}}if((h|0)==12){mf(c[(c[a>>2]|0)+4>>2]|0,16,140395,g);d=-2147483648;break}while(1){d=b+-1|0;if(!b)break;b=d;f=((al(i)|0)<>2]=d;d=c[i>>2]<<1;c[i>>2]=d;if(!(d&65534)){$k(i);d=c[i>>2]|0}e=c[a+32860>>2]<<17;a=d-e|0;d=a>>31;c[i>>2]=(d&e)+a;d=(d^0-b)-d|0}while(0);$c=j;return d|0}function Vk(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+21864>>2]|0;f=c[a+21860>>2]|0;d=a+32856|0;e=Lk(d,76-(f>>>1&2|b>>>1&1)+(a+32904)|0)|0;e=((Lk(d,76-(f>>>2&2|e&1)+(a+32904)|0)|0)<<1)+e|0;b=e+((Lk(d,76-(e<<1&2|b>>>3&1)+(a+32904)|0)|0)<<2)|0;return b+((Lk(d,76-(b>>>2&1|b&2)+(a+32904)|0)|0)<<3)|0}function Wk(a){a=a|0;var b=0,d=0,e=0,f=0;b=(c[a+21864>>2]|0)>>>4&3;e=(c[a+21860>>2]|0)>>>4&3;f=(b|0)!=0&1;d=a+32856|0;f=(Lk(d,((e|0)==0?f:f|2)+77+(a+32904)|0)|0)==0;b=(b|0)==2?5:4;if(f)b=0;else b=(Lk(d,((e|0)==2?b|2:b)+77+(a+32904)|0)|0)+1|0;return b|0}function Xk(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=d[e>>0]|0;g=b+4|0;i=c[g>>2]|0;j=d[125777+((i<<1&384)+f)>>0]|0;i=i-j|0;k=i<<17;l=c[b>>2]|0;h=k-l>>31;c[b>>2]=l-(h&k);c[g>>2]=(h&j-i)+i;f=h^f;a[e>>0]=a[126417+f>>0]|0;h=c[g>>2]|0;e=d[125265+h>>0]|0;c[g>>2]=h<>2]<>2]=e;if(!(e&65535))bl(b);return f&1|0}function Yk(f,g,h,i,j,k,l){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=$c;$c=$c+304|0;if(($c|0)>=(ad|0))N(304);t=A+48|0;u=A;z=g+32860|0;r=u+4|0;c[r>>2]=c[z>>2];w=g+32856|0;c[u>>2]=c[w>>2];x=g+32872|0;y=u+16|0;c[y>>2]=c[x>>2];q=c[g+21828>>2]|0;p=(c[72644+(q*56|0)+(i<<2)>>2]|0)+(g+32904)|0;q=(c[72756+(q*56|0)+(i<<2)>>2]|0)+(g+32904)|0;s=(c[72868+(i<<2)>>2]|0)+(g+32904)|0;o=l+-1|0;n=0;m=0;while(1){if((n|0)>=(o|0)){v=6;break}if(Xk(u,p+n|0)|0){l=m+1|0;c[t+(m<<2)>>2]=n;if(!(Xk(u,q+n|0)|0))m=l;else{m=l;break}}n=n+1|0}if((v|0)==6)if((n|0)==(o|0)){c[t+(m<<2)>>2]=o;m=m+1|0}q=(i|0)==3;i=(c[f+26392>>2]|0)+(c[g+21796>>2]<<1)|0;b[i>>1]=(q?64:256)<<(q?-49:-48)+j|(e[i>>1]|0);a[(d[150841+j>>0]|0)+(g+27824)>>0]=m;if(!(c[f+25664>>2]|0)){q=m;l=0;while(1){q=q+-1|0;f=d[k+(c[t+(q<<2)>>2]|0)>>0]|0;if(!(Xk(u,s+(d[140229+l>>0]|0)|0)|0)){m=d[140237+l>>0]|0;l=c[u>>2]<<1;c[u>>2]=l;if(!(l&65534)){$k(u);l=c[u>>2]|0}j=c[r>>2]|0;p=j<<17;l=l-p|0;o=l>>31;l=(o&p)+l|0;c[u>>2]=l;p=m;n=~o;m=j}else{m=s+(d[140253+l>>0]|0)|0;p=d[140245+l>>0]|0;l=2;while(1){if(l>>>0>=15){l=0;v=34;break}if(!(Xk(u,m)|0))break;l=l+1|0}if((v|0)==34){while(1){v=0;if((l|0)<23&(al(u)|0)!=0){l=l+1|0;v=34}else{m=1;break}}while(1){if(!l)break;l=l+-1|0;m=(al(u)|0)+(m<<1)|0}l=m+14|0}m=c[u>>2]<<1;c[u>>2]=m;if(!(m&65534)){$k(u);m=c[u>>2]|0}j=c[r>>2]|0;n=j<<17;m=m-n|0;o=m>>31;m=(o&n)+m|0;c[u>>2]=m;n=o^0-l;l=m;m=j}b[h+(f<<1)>>1]=n-o;if(!q)break;else l=p}}else{l=0;q=m;while(1){q=q+-1|0;f=d[k+(c[t+(q<<2)>>2]|0)>>0]|0;if(!(Xk(u,s+(d[140229+l>>0]|0)|0)|0)){m=d[140237+l>>0]|0;l=c[u>>2]<<1;c[u>>2]=l;if(!(l&65534)){$k(u);l=c[u>>2]|0}j=c[r>>2]|0;p=j<<17;l=l-p|0;o=l>>31;l=(o&p)+l|0;c[u>>2]=l;p=m;n=~o;m=j}else{m=s+(d[140253+l>>0]|0)|0;p=d[140245+l>>0]|0;l=2;while(1){if(l>>>0>=15){l=0;v=18;break}if(!(Xk(u,m)|0))break;l=l+1|0}if((v|0)==18){while(1){v=0;if((l|0)<23&(al(u)|0)!=0){l=l+1|0;v=18}else{m=1;break}}while(1){if(!l)break;l=l+-1|0;m=(al(u)|0)+(m<<1)|0}l=m+14|0}m=c[u>>2]<<1;c[u>>2]=m;if(!(m&65534)){$k(u);m=c[u>>2]|0}j=c[r>>2]|0;n=j<<17;m=m-n|0;o=m>>31;m=(o&n)+m|0;c[u>>2]=m;n=o^0-l;l=m;m=j}c[h+(f<<2)>>2]=n-o;if(!q)break;else l=p}}c[z>>2]=m;c[w>>2]=l;c[x>>2]=c[y>>2];$c=A;return}function Zk(e,f,g,h,i,j,k,l){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=$c;$c=$c+304|0;if(($c|0)>=(ad|0))N(304);t=A+48|0;u=A;w=f+32860|0;s=u+4|0;c[s>>2]=c[w>>2];x=f+32856|0;c[u>>2]=c[x>>2];y=f+32872|0;z=u+16|0;c[z>>2]=c[y>>2];n=c[f+21828>>2]|0;o=(c[72644+(n*56|0)+(h<<2)>>2]|0)+(f+32904)|0;p=(c[72756+(n*56|0)+(h<<2)>>2]|0)+(f+32904)|0;r=(c[72868+(h<<2)>>2]|0)+(f+32904)|0;q=(l|0)==64;a:do if(q){m=0;l=0;while(1){if((m|0)>=63)break;if(Xk(u,o+(d[140269+(n*63|0)+m>>0]|0)|0)|0){B=p+(d[126545+m>>0]|0)|0;h=l+1|0;c[t+(l<<2)>>2]=m;if(!(Xk(u,B)|0))l=h;else{l=h;break a}}m=m+1|0}if((m|0)==63){c[t+(l<<2)>>2]=63;l=l+1|0}}else{n=l+-1|0;m=0;l=0;while(1){if((m|0)>=(n|0))break;if(Xk(u,o+m|0)|0){h=l+1|0;c[t+(l<<2)>>2]=m;if(!(Xk(u,p+m|0)|0))l=h;else{l=h;break a}}m=m+1|0}if((m|0)==(n|0)){c[t+(l<<2)>>2]=n;l=l+1|0}}while(0);if(q){B=(d[150841+i>>0]|0)+(f+27824)|0;i=l*257&65535;b[B>>1]=i;b[B+8>>1]=i}else a[(d[150841+i>>0]|0)+(f+27824)>>0]=l;if(!(c[e+25664>>2]|0)){o=l;h=0;while(1){o=o+-1|0;p=d[j+(c[t+(o<<2)>>2]|0)>>0]|0;if(!(Xk(u,r+(d[140229+h>>0]|0)|0)|0)){l=d[140237+h>>0]|0;m=0-(c[k+(p<<2)>>2]|0)|0;h=c[u>>2]<<1;c[u>>2]=h;if(!(h&65534)){$k(u);h=c[u>>2]|0}B=c[s>>2]|0;n=B<<17;f=h-n|0;i=f>>31;h=(i&n)+f|0;c[u>>2]=h;n=l;m=(f>>>31|32)+(i^m)|0;l=B}else{l=r+(d[140253+h>>0]|0)|0;n=d[140245+h>>0]|0;h=2;while(1){if(h>>>0>=15){h=0;v=44;break}if(!(Xk(u,l)|0))break;h=h+1|0}if((v|0)==44){while(1){v=0;if((h|0)<23&(al(u)|0)!=0){h=h+1|0;v=44}else{l=1;break}}while(1){if(!h)break;h=h+-1|0;l=(al(u)|0)+(l<<1)|0}h=l+14|0}l=c[u>>2]<<1;c[u>>2]=l;if(!(l&65534)){$k(u);l=c[u>>2]|0}B=c[s>>2]|0;i=B<<17;l=l-i|0;m=l>>31;l=(m&i)+l|0;c[u>>2]=l;m=(H((m^0-h)-m|0,c[k+(p<<2)>>2]|0)|0)+32|0;h=l;l=B}b[g+(p<<1)>>1]=m>>>6;if(!o)break;else h=n}}else{h=0;o=l;while(1){o=o+-1|0;p=d[j+(c[t+(o<<2)>>2]|0)>>0]|0;if(!(Xk(u,r+(d[140229+h>>0]|0)|0)|0)){l=d[140237+h>>0]|0;m=0-(c[k+(p<<2)>>2]|0)|0;h=c[u>>2]<<1;c[u>>2]=h;if(!(h&65534)){$k(u);h=c[u>>2]|0}B=c[s>>2]|0;n=B<<17;f=h-n|0;i=f>>31;h=(i&n)+f|0;c[u>>2]=h;n=l;m=(f>>>31|32)+(i^m)|0;l=B}else{l=r+(d[140253+h>>0]|0)|0;n=d[140245+h>>0]|0;h=2;while(1){if(h>>>0>=15){h=0;v=28;break}if(!(Xk(u,l)|0))break;h=h+1|0}if((v|0)==28){while(1){v=0;if((h|0)<23&(al(u)|0)!=0){h=h+1|0;v=28}else{l=1;break}}while(1){if(!h)break;h=h+-1|0;l=(al(u)|0)+(l<<1)|0}h=l+14|0}l=c[u>>2]<<1;c[u>>2]=l;if(!(l&65534)){$k(u);l=c[u>>2]|0}B=c[s>>2]|0;i=B<<17;l=l-i|0;m=l>>31;l=(m&i)+l|0;c[u>>2]=l;m=(H((m^0-h)-m|0,c[k+(p<<2)>>2]|0)|0)+32|0;h=l;l=B}c[g+(p<<2)>>2]=m>>6;if(!o)break;else h=n}}c[w>>2]=l;c[x>>2]=h;c[y>>2]=c[z>>2];$c=A;return}function _k(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=$c;$c=$c+304|0;if(($c|0)>=(ad|0))N(304);q=y+48|0;r=y;w=g+32860|0;s=r+4|0;c[s>>2]=c[w>>2];x=g+32856|0;c[r>>2]=c[x>>2];u=g+32872|0;v=r+16|0;c[v>>2]=c[u>>2];o=c[g+21828>>2]|0;n=(c[72644+(o*56|0)+12>>2]|0)+(g+32904)|0;o=(c[72756+(o*56|0)+12>>2]|0)+(g+32904)|0;p=g+33161|0;m=0;k=0;while(1){if((m|0)>=7){t=6;break}j=d[140222+m>>0]|0;if(Xk(r,n+j|0)|0){l=k+1|0;c[q+(k<<2)>>2]=m;if(!(Xk(r,o+j|0)|0))k=l;else{k=l;break}}m=m+1|0}if((t|0)==6)if((m|0)==7){c[q+(k<<2)>>2]=7;k=k+1|0}o=(c[f+26392>>2]|0)+(c[g+21796>>2]<<1)|0;b[o>>1]=64<>1]|0);a[(d[150841+i>>0]|0)+(g+27824)>>0]=k;if(!(c[f+25664>>2]|0)){o=k;j=0;while(1){o=o+-1|0;f=d[128249+(c[q+(o<<2)>>2]|0)>>0]|0;if(!(Xk(r,p+(d[140229+j>>0]|0)|0)|0)){k=d[140237+j>>0]|0;j=c[r>>2]<<1;c[r>>2]=j;if(!(j&65534)){$k(r);j=c[r>>2]|0}i=c[s>>2]|0;n=i<<17;j=j-n|0;m=j>>31;j=(m&n)+j|0;c[r>>2]=j;n=k;l=~m;k=i}else{k=p+(d[140261+j>>0]|0)|0;n=d[140245+j>>0]|0;j=2;while(1){if(j>>>0>=15){j=0;t=34;break}if(!(Xk(r,k)|0))break;j=j+1|0}if((t|0)==34){while(1){t=0;if((j|0)<23&(al(r)|0)!=0){j=j+1|0;t=34}else{k=1;break}}while(1){if(!j)break;j=j+-1|0;k=(al(r)|0)+(k<<1)|0}j=k+14|0}k=c[r>>2]<<1;c[r>>2]=k;if(!(k&65534)){$k(r);k=c[r>>2]|0}i=c[s>>2]|0;l=i<<17;k=k-l|0;m=k>>31;k=(m&l)+k|0;c[r>>2]=k;l=m^0-j;j=k;k=i}b[h+(f<<1)>>1]=l-m;if(!o)break;else j=n}}else{j=0;o=k;while(1){o=o+-1|0;f=d[128249+(c[q+(o<<2)>>2]|0)>>0]|0;if(!(Xk(r,p+(d[140229+j>>0]|0)|0)|0)){k=d[140237+j>>0]|0;j=c[r>>2]<<1;c[r>>2]=j;if(!(j&65534)){$k(r);j=c[r>>2]|0}i=c[s>>2]|0;n=i<<17;j=j-n|0;m=j>>31;j=(m&n)+j|0;c[r>>2]=j;n=k;l=~m;k=i}else{k=p+(d[140261+j>>0]|0)|0;n=d[140245+j>>0]|0;j=2;while(1){if(j>>>0>=15){j=0;t=18;break}if(!(Xk(r,k)|0))break;j=j+1|0}if((t|0)==18){while(1){t=0;if((j|0)<23&(al(r)|0)!=0){j=j+1|0;t=18}else{k=1;break}}while(1){if(!j)break;j=j+-1|0;k=(al(r)|0)+(k<<1)|0}j=k+14|0}k=c[r>>2]<<1;c[r>>2]=k;if(!(k&65534)){$k(r);k=c[r>>2]|0}i=c[s>>2]|0;l=i<<17;k=k-l|0;m=k>>31;k=(m&l)+k|0;c[r>>2]=k;l=m^0-j;j=k;k=i}c[h+(f<<2)>>2]=l-m;if(!o)break;else j=n}}c[w>>2]=k;c[x>>2]=j;c[u>>2]=c[v>>2];$c=y;return}function $k(a){a=a|0;var b=0,e=0;b=a+16|0;e=c[b>>2]|0;c[a>>2]=(c[a>>2]|0)+-65535+((d[e+1>>0]|0)<<1|(d[e>>0]|0)<<9);c[b>>2]=e+2;return}function al(a){a=a|0;var b=0,d=0;b=c[a>>2]<<1;c[a>>2]=b;if(!(b&65534)){$k(a);b=c[a>>2]|0}d=c[a+4>>2]<<17;if((b|0)<(d|0))b=0;else{c[a>>2]=b-d;b=1}return b|0}function bl(a){a=a|0;var b=0,e=0,f=0;f=c[a>>2]|0;b=a+16|0;e=c[b>>2]|0;c[a>>2]=(((d[e+1>>0]|0)<<1|(d[e>>0]|0)<<9)+-65535<<7-(d[125265+((f+-1^f)>>>15)>>0]|0))+f;c[b>>2]=e+2;return}function cl(a){a=a|0;var b=0,d=0;d=a+4|0;b=(c[d>>2]|0)+-2|0;c[d>>2]=b;if((c[a>>2]|0)<(b<<17|0)){dl(a);a=0}else a=(c[a+16>>2]|0)-(c[a+12>>2]|0)|0;return a|0}function dl(a){a=a|0;var b=0,d=0,e=0;d=a+4|0;e=c[d>>2]|0;b=(e+-256|0)>>>31;c[d>>2]=e<>2]<>2]=b;if(!(b&65535))$k(a);return}function el(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);j=s;q=b+556|0;n=c[q>>2]|0;o=(H(n,f)|0)+e|0;p=b+552|0;l=c[p>>2]|0;m=l+-1|0;o=(o|0)<0?0:(o|0)>(m|0)?m:o;h=(H(n,h)|0)+g|0;h=(h|0)<0?0:(h|0)>(l|0)?l:h;l=b+548|0;n=c[l>>2]|0;m=c[n+(o<<2)>>2]|0;n=c[n+(h<<2)>>2]|0;e=c[b>>2]|0;g=c[e+592>>2]|0;if(!((g|0)!=0?(c[g+32>>2]|0)!=0:0))k=3;do if((k|0)==3){if((n|0)<(m|0)|(o|0)>(h|0)){mf(e,16,140556,j);break}if(c[e+572>>2]|0){if(!(i&18))e=-2;else{e=b+572|0;c[e>>2]=(c[e>>2]|0)+(o+~h);e=-20}if(i&36){k=b+572|0;c[k>>2]=(c[k>>2]|0)+(o+~h);e=e&-38}if(i&72){k=b+572|0;c[k>>2]=(c[k>>2]|0)+(o+~h);e=e&-73}if(i&14|0){c[b+576>>2]=1;c[b+572>>2]=2147483647}g=b+580|0;a:do if((e|0)==-128)_W((c[g>>2]|0)+m|0,0,n-m|0)|0;else{f=m;while(1){if((f|0)>=(n|0))break a;k=(c[g>>2]|0)+f|0;a[k>>0]=e&(d[k>>0]|0);f=f+1|0}}while(0);if((h|0)==(c[p>>2]|0))c[b+572>>2]=2147483647;else{p=(c[g>>2]|0)+n|0;a[p>>0]=e&(d[p>>0]|0);p=(c[g>>2]|0)+n|0;a[p>>0]=d[p>>0]|0|i}i=(c[g>>2]|0)+m|0;a[i>>0]=a[i>>0]|1;if(((((m|0)>0?(r=c[b>>2]|0,(c[r+696>>2]&2|0)==0):0)?li(b)|0:0)?(H(c[q>>2]|0,c[r+268>>2]|0)|0)<(o|0):0)?(a[(c[g>>2]|0)+(c[(c[l>>2]|0)+(o+-1<<2)>>2]|0)>>0]&-2)<<24>>24!=112:0){c[b+576>>2]=1;c[b+572>>2]=2147483647}}}while(0);$c=s;return}function fl(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=c[a+16>>2]|0;b=(c[d>>2]|0)+b|0;c[d>>2]=a>>>0>b>>>0?b:a;return}function gl(a,b,c){a=a|0;b=b|0;c=c|0;il(a,b,c,0);return}function hl(a,b,c){a=a|0;b=b|0;c=c|0;il(a,b,c,1);return}function il(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);h=i;if((c[e>>2]|0)>>>0>=f>>>0){if(f|0?(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24|0)==0:0){c[h>>2]=153091;c[h+4>>2]=148788;c[h+8>>2]=33;mf(0,0,164250,h);ub()}}else{h=f+32+(f>>>4)|0;h=h>>>0>f>>>0?h:f;hf(b);if(!g)f=uf(h)|0;else f=dg(h)|0;a[b>>0]=f;a[b+1>>0]=f>>8;a[b+2>>0]=f>>16;a[b+3>>0]=f>>24;c[e>>2]=(f|0)==0?0:h}$c=i;return}function jl(a){a=a|0;var b=0,d=0;b=a+64|0;fV(b)|0;d=a+140|0;a=a+92|0;while(1){if(!(c[d>>2]|0))break;Vb(a|0,b|0)|0}c[d>>2]=1;gV(b)|0;return}function kl(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=$c;$c=$c+112|0;if(($c|0)>=(ad|0))N(112);C=D+96|0;B=D+88|0;z=D+80|0;y=D+72|0;q=D+64|0;p=D+56|0;m=D+48|0;l=D+40|0;k=D+32|0;j=D+24|0;i=D+16|0;g=D;if((c[b+25628>>2]|0)==(e|0)?(c[b+29560>>2]|0)==0:0)if(!(c[b+29588>>2]|0))n=1;else{c[g>>2]=151952;c[g+4>>2]=138054;c[g+8>>2]=1681;mf(0,0,164250,g);ub()}else n=0;A=e+4|0;g=e+21808|0;c[g>>2]=kM(A)|0;h=lM(A)|0;a:do if(h>>>0<=9){i=h>>>0>4;c[e+844>>2]=i&1;i=a[128144+(i?h+-5|0:h)>>0]|0;u=i&255;v=e+836|0;c[v>>2]=u;u=u&3;s=e+840|0;c[s>>2]=u;r=f+44|0;if(!((u|0)==1|(c[r>>2]|0)!=5)){mf(c[b+4>>2]|0,16,152002,j);g=-1094995529;break}h=mM(A)|0;c[e+27776>>2]=h;if(h>>>0>255){g=c[b+4>>2]|0;c[k>>2]=h;mf(g,16,155387,k);g=-1094995529;break}g=c[b+27180+(h<<2)>>2]|0;if(!g){g=c[b+4>>2]|0;c[l>>2]=h;mf(g,16,155411,l);g=-1094995529;break}u=c[g+4>>2]|0;g=c[u>>2]|0;h=c[b+27052+(g<<2)>>2]|0;if(!h){C=c[b+4>>2]|0;c[m>>2]=g;mf(C,16,155443,m);g=-1094995529;break}m=c[h+4>>2]|0;j=m+20|0;g=nM(A,c[j>>2]|0)|0;h=e+34732|0;c[h>>2]=g;if(!n?(o=c[b+28244>>2]|0,(o|0)!=(g|0)):0){C=c[b+4>>2]|0;c[p>>2]=o;c[p+4>>2]=g;mf(C,16,152041,p);g=-1094995529;break}c[e+21832>>2]=0;if(!(c[m+64>>2]|0)){if(i<<24>>24==3&(c[m+72>>2]|0)==0){mf(c[b+4>>2]|0,16,152073,q);g=-1;break}if(oM(A)|0)l=(oM(A)|0)+1|0;else l=3}else l=3;c[e+21824>>2]=l;c[e+21828>>2]=(l|0)!=3&1;i=(l|0)==3;g=c[h>>2]|0;if(i)h=c[j>>2]|0;else{h=(c[j>>2]|0)+1|0;g=g<<1|1}c[e+34752>>2]=g;c[e+34756>>2]=1<>2]|0)==5)kM(A)|0;h=m+24|0;g=c[h>>2]|0;if(!g){c[e+34736>>2]=nM(A,c[m+28>>2]|0)|0;if(i&(c[u+8>>2]|0)==1)c[e+34740>>2]=pM(A)|0;g=c[h>>2]|0}if(((g|0)==1?(c[m+32>>2]|0)==0:0)?(c[e+34744>>2]=pM(A)|0,i&(c[u+8>>2]|0)==1):0)c[e+34748>>2]=pM(A)|0;g=e+21836|0;c[g>>2]=0;if(c[u+60>>2]|0)c[g>>2]=mM(A)|0;g=c[s>>2]|0;if((g|0)==3){c[e+21844>>2]=oM(A)|0;g=c[s>>2]|0}i=e+23404|0;k=b+4|0;g=qM(e+23412|0,i,A,u,g,l,c[k>>2]|0)|0;if((g|0)>=0){if((c[s>>2]|0)!=1?(t=rM(e,c[k>>2]|0)|0,(t|0)<0):0){c[i>>2]=0;c[e+23408>>2]=0;g=t;break}h=e+880|0;c[h>>2]=0;g=0;while(1){if((g|0)==2)break;c[e+896+(g<<2)>>2]=0;c[e+904+(g<<2)>>2]=0;g=g+1|0}if((c[u+28>>2]|0)!=0?(c[s>>2]|0)==2:0){w=2;g=51}else g=49;if(((g|0)==49?(c[u+32>>2]|0)==1:0)?(c[s>>2]|0)==3:0){w=3;g=51}if((g|0)==51?(x=sM(A,m,i,w,h,l,c[k>>2]|0)|0,(x|0)<0):0){g=x;break}c[e+34728>>2]=0;do if(c[f+64>>2]|0){if((tM(e,A,f,c[k>>2]|0)|0)>=0)break;if(c[(c[k>>2]|0)+580>>2]&8|0){g=-1094995529;break a}}while(0);do if((c[s>>2]|0)!=1){if(!(c[u+4>>2]|0))break;g=lM(A)|0;if(g>>>0>2){C=c[k>>2]|0;c[y>>2]=g;mf(C,16,152143,y);g=-1094995529;break a}else{c[e+33928>>2]=g;break}}while(0);c[e+864>>2]=0;g=c[u+36>>2]|0;g=(pM(A)|0)+g|0;if(g>>>0>(((c[m+1184>>2]|0)*6|0)+3|0)>>>0){C=c[k>>2]|0;c[z>>2]=g;mf(C,16,152171,z);g=-1094995529;break}c[e+848>>2]=g;c[e+852>>2]=d[u+548+g>>0];c[e+856>>2]=d[u+636+g>>0];g=c[v>>2]|0;if((g|0)==6){oM(A)|0;g=c[v>>2]|0}if((g+-5|0)>>>0<2)pM(A)|0;h=e+868|0;c[h>>2]=1;j=e+872|0;c[j>>2]=0;i=e+876|0;c[i>>2]=0;if(!(c[u+52>>2]|0)){g=0;break}g=lM(A)|0;if(g>>>0>2){C=c[k>>2]|0;c[B>>2]=g;mf(C,16,152191,B);g=-1094995529;break}B=(g|0)==2?2:g^1;c[h>>2]=B;if(!B){g=0;break}h=pM(A)|0;g=pM(A)|0;if((h+6|0)>>>0>12|(g+6|0)>>>0>12){B=c[k>>2]|0;c[C>>2]=h;c[C+4>>2]=g;mf(B,16,152230,C);g=-1094995529;break}else{c[j>>2]=h<<1;c[i>>2]=g<<1;g=0;break}}}else{C=c[b+4>>2]|0;g=c[g>>2]|0;c[i>>2]=h;c[i+4>>2]=g;mf(C,16,151971,i);g=-1094995529}while(0);$c=D;return g|0}function ll(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=$c;$c=$c+96|0;if(($c|0)>=(ad|0))N(96);x=E+72|0;w=E+56|0;u=E+48|0;o=E+40|0;p=E+32|0;l=E+16|0;k=E;e=Cl(a,b,e)|0;a:do if((e|0)>=0){z=a+28216|0;q=c[z>>2]|0;m=a+25684|0;n=c[m>>2]|0;D=a+26380|0;v=c[D>>2]|0;B=d+64|0;c[m>>2]=(c[B>>2]|0)==0&1;e=c[b+21824>>2]|0;c[D>>2]=e;f=c[b+34732>>2]|0;y=a+28224|0;C=a+28244|0;c[C>>2]=f;c[y>>2]=c[b+34736>>2];c[a+28232>>2]=c[b+34740>>2];c[a+28236>>2]=c[b+34744>>2];c[a+28240>>2]=c[b+34748>>2];r=a+28264|0;g=c[r>>2]|0;if((f|0)!=(g|0)?(h=1<>2],A=c[q+48>>2]|0,i=f-A|0,(f-g+((f|0)<(g|0)?h:0)|0)>(A|0)):0)c[r>>2]=i+-1+((i|0)<1?h:0);A=a+26384|0;do if(c[A>>2]|0){i=(v|0)==2;f=i&1;j=a+24312|0;g=c[j>>2]|0;if(!g){c[k>>2]=149752;c[k+4>>2]=138054;c[k+8>>2]=1446;mf(0,0,164250,k);ub()}if(!(c[(c[g>>2]|0)+248>>2]|0)){c[l>>2]=149767;c[l+4>>2]=138054;c[l+8>>2]=1447;mf(0,0,164250,l);ub()}h=a+4|0;if((c[g+8+(f<<2)>>2]|0)==(c[h>>2]|0)){Sh(g+4|0,2147483647,f);e=c[D>>2]|0}if((e|0)==3|(e|0)==(v|0)){if((v|0)==3){n=j;break}Sh((c[j>>2]|0)+4|0,2147483647,(v|0)==1&1);n=j;break}f=c[j>>2]|0;if((c[f+88>>2]|0)!=(c[C>>2]|0)){if((v|0)==3){n=j;break}Sh(f+4|0,2147483647,(v|0)==1&1);n=j;break}if(!((v|0)==1&(e|0)==2|i&(e|0)==1)){a=c[h>>2]|0;c[p>>2]=v;c[p+4>>2]=e;mf(a,16,149793,p);c[D>>2]=v;c[m>>2]=n;e=-1094995529;break a}if((n|0)==(c[m>>2]|0))n=j;else{di(c[h>>2]|0,149831,o);c[D>>2]=v;c[m>>2]=n;e=-1163346256;break a}}else{h=a+4|0;n=a+24312|0}while(0);k=q+20|0;l=a+29556|0;g=q+52|0;m=a+29548|0;j=a+28348|0;while(1){i=c[C>>2]|0;e=c[r>>2]|0;f=(c[A>>2]|0)==0;if((i|0)==(e|0)){g=45;break}if(!f){g=46;break}if((i|0)==((e+1|0)%(1<>2]|0)|0|0)){g=57;break}if(!(c[l>>2]|0))f=0;else f=c[j>>2]|0;q=c[h>>2]|0;c[u>>2]=i;c[u+4>>2]=e;mf(q,48,149897,u);b:do if(!(c[g>>2]|0)){e=0;while(1){if((e|0)==16)break b;c[a+28676+(e<<2)>>2]=-2147483648;e=e+1|0}}while(0);e=Dl(a)|0;if((e|0)<0){g=33;break}q=((c[r>>2]|0)+1|0)%(1<>2]|0)|0;c[r>>2]=q;e=c[n>>2]|0;c[e+88>>2]=q;c[e+648>>2]=(c[g>>2]|0)==0&1;Sh(e+4|0,2147483647,0);Sh((c[n>>2]|0)+4|0,2147483647,1);c[m>>2]=0;e=Rh(a)|0;if((e|0)<0?c[(c[h>>2]|0)+580>>2]&8|0:0)break a;if(!(c[l>>2]|0))continue;e=c[j>>2]|0;if((((f|0)!=0?(s=c[e>>2]|0,t=c[f>>2]|0,(c[s+68>>2]|0)==(c[t+68>>2]|0)):0)?(c[s+72>>2]|0)==(c[t+72>>2]|0):0)?(c[s+80>>2]|0)==(c[t+80>>2]|0):0){e=f+4|0;oi(e,2147483647,0);if(c[f+636>>2]|0)oi(e,2147483647,1);q=c[c[j>>2]>>2]|0;e=c[f>>2]|0;gh(q,q+32|0,e,e+32|0,c[e+80>>2]|0,c[e+68>>2]|0,c[e+72>>2]|0);e=c[j>>2]|0;c[e+84>>2]=(c[f+84>>2]|0)+2}c[e+88>>2]=c[r>>2]}if((g|0)==33){c[A>>2]=0;break}else if((g|0)==45)if(f)g=57;else g=46;do if((g|0)==46){g=c[n>>2]|0;if(!g){c[w>>2]=149752;c[w+4>>2]=138054;c[w+8>>2]=1553;mf(0,0,164250,w);ub()}if(!(c[(c[g>>2]|0)+248>>2]|0)){c[x>>2]=149767;c[x+4>>2]=138054;c[x+8>>2]=1554;mf(0,0,164250,x);ub()}e=c[D>>2]|0;f=a+29584|0;if((e|0)==3|(e|0)==(v|0)){c[f>>2]=(c[f>>2]|0)+1;c[n>>2]=0;f=(e|0)!=3&1;c[A>>2]=f;break}c[f>>2]=0;if((c[g+88>>2]|0)!=(i|0)){Sh(g+4|0,2147483647,(e|0)==2&1);c[A>>2]=1;c[n>>2]=0;e=c[D>>2]|0;f=1;break}if(!(c[g+640>>2]&4)){c[A>>2]=0;f=0;break}else{c[A>>2]=1;c[n>>2]=0;f=1;break}}else if((g|0)==57){e=c[D>>2]|0;f=(e|0)!=3&1;c[A>>2]=f}while(0);if(!((e|0)!=3&(f|0)==0)){if((Dl(a)|0)<0){c[A>>2]=0;e=-1094995529;break}}else{El(a,0);c[(c[n>>2]|0)+8+(((e|0)==2&1)<<2)>>2]=c[h>>2]}e=c[D>>2]|0;c:do if((e|0)==3)_W(c[a+26372>>2]|0,-1,(H(c[a+27008>>2]<<1,c[a+27016>>2]|0)|0)+-2|0)|0;else{g=a+27008|0;h=a+26372|0;i=a+27016|0;e=(e|0)==2&1;while(1){f=c[g>>2]|0;if((e|0)>=(f|0))break c;w=c[i>>2]|0;x=e+1|0;_W((c[h>>2]|0)+((H(w,e)|0)<<1)|0,-1,w-((x|0)==(f|0)&1)<<1|0)|0;e=x}}while(0);e=c[n>>2]|0;e=Fl(e+76|0,e+84|0,c[z>>2]|0,y,c[D>>2]|0,c[B>>2]|0)|0;if((e|0)>=0){k=b+34724|0;YW(a+28748|0,b+33932|0,(c[k>>2]|0)*12|0)|0;c[a+29540>>2]=c[k>>2];c[m>>2]=c[b+34728>>2];k=(c[d+44>>2]|0)==5;j=k&1;c[a+25712>>2]=j;h=c[a+29716>>2]|0;do if((h|0)>-1){i=c[C>>2]|0;if(!((i|0)==(h|0)?(c[b+840>>2]|0)==1:0))c[a+29568>>2]=1;g=a+29572|0;f=c[g>>2]|0;if((f|0)>=0){e=c[(c[z>>2]|0)+20>>2]|0;if(((1<>>0<=h>>>0)break}else e=c[(c[z>>2]|0)+20>>2]|0;z=(1<>2]=z;c[g>>2]=(c[a+29568>>2]|0)==0?i:z}while(0);f=c[n>>2]|0;e=(c[f>>2]|0)+84|0;c[e>>2]=c[e>>2]|j;e=a+29572|0;if(k){c[e>>2]=-1;c[f+644>>2]=1;C=a+29576|0;e=c[C>>2]|1;c[C>>2]=e}else{if((c[e>>2]|0)==(c[C>>2]|0)?c[B>>2]|0:0){c[e>>2]=-1;c[f+644>>2]=1}e=c[a+29576>>2]|0}C=f+644|0;c[C>>2]=c[C>>2]|e;if(((c[D>>2]|0)!=3?c[A>>2]|0:0)?(c[a+29584>>2]|0)<=1:0){e=0;break}Gl(a);Hl(a);e=0}}while(0);$c=E;return e|0}function ml(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=$c;$c=$c+160|0;if(($c|0)>=(ad|0))N(160);D=E+24|0;m=E+16|0;g=E+8|0;f=E;v=E+96|0;if((c[a+25712>>2]|0)!=0?(c[e+44>>2]|0)!=5:0){mf(c[a+4>>2]|0,16,149077,f);f=-1094995529}else w=4;do if((w|0)==4){h=c[d+21808>>2]|0;j=a+26376|0;i=(c[j>>2]|0)==0;if(i)f=(c[a+26380>>2]|0)!=3;else f=1;C=c[a+27020>>2]|0;if(!(h<<(f&1)>>>0>>0&h>>>0>>0)){mf(c[a+4>>2]|0,16,149116,g);f=-1094995529;break}y=a+27012|0;f=c[y>>2]|0;u=(h>>>0)%(f>>>0)|0;z=d+21788|0;c[z>>2]=u;c[d+21800>>2]=u;u=a+26380|0;C=c[u>>2]|0;f=((h>>>0)/(f>>>0)|0)<<(((C|0)!=3|i^1)&1);t=d+21792|0;c[t>>2]=f;l=d+21804|0;c[l>>2]=f;if((C|0)==2){C=f+1|0;c[t>>2]=C;c[l>>2]=C}f=nl(a,d)|0;if((f|0)>=0){h=a+28212|0;g=d+840|0;if((c[(c[h>>2]|0)+32>>2]|0)==2){if((c[g>>2]|0)==3){ol(a,d,-1);if(!(c[j>>2]|0))w=15;else{ol(a,d,0);ol(a,d,1);w=15}}}else w=15;if(((w|0)==15?(c[g>>2]|0)==3:0)?(c[d+21844>>2]|0)==0:0)pl(a,d);if(!(c[a+29588>>2]|0))ql(a,d);s=a+4|0;k=c[s>>2]|0;f=c[k+724>>2]|0;a:do if((f|0)<=47){do if((f|0)>31)if((c[a+27028>>2]|0)==5)w=24;else{w=29;break a}else if((f|0)<=23)if((f|0)>15)if((c[g>>2]|0)==3){w=29;break a}else break;else if((f|0)>7)break;else break a;else w=24;while(0);if((w|0)==24?(c[g>>2]|0)!=1:0){w=29;break}if(!(c[e+64>>2]|0))w=29}else w=29;while(0);if((w|0)==29)c[d+868>>2]=0;A=d+868|0;do if((c[A>>2]|0)==1?(c[a+25632>>2]|0)>1:0)if(!(c[k+64>>2]&1)){c[a+25708>>2]=1;break}else{c[A>>2]=2;break}while(0);B=d+872|0;i=c[B>>2]|0;C=d+876|0;j=c[C>>2]|0;g=c[h>>2]|0;f=g+44|0;h=c[f>>2]|0;x=(h|0)<0;g=g+48|0;h=((x?0:h)|0)<=(c[g>>2]|0);if(h|x^1)f=c[(h?g:f)>>2]|0;else f=0;c[d+860>>2]=-33-((i|0)>(j|0)?j:i)-f+((c[(c[a+28216>>2]|0)+1184>>2]|0)*6|0);r=a+29560|0;g=c[r>>2]|0;h=g+1|0;c[r>>2]=h;r=d+832|0;c[r>>2]=h;if(!h)f=c[l>>2]|0;else{f=c[l>>2]|0;b[a+29600+((g&31)<<1)>>1]=f}x=b[a+29600+((h&31)<<1)>>1]|0;if((g|0)>30&((f|0)>=(x|0)&(x+3|0)>=(f|0))){c[m>>2]=h;c[m+4>>2]=32;mf(k,24,149144,m)}n=d+23412|0;o=a+29556|0;p=a+29552|0;m=0;while(1){if((m|0)==2)break;q=c[r>>2]&31;k=d+23404+(m<<2)|0;j=0;while(1){if((j|0)==16)break;l=v+(j<<2)|0;c[l>>2]=60;b:do if(m>>>0<(c[n>>2]|0)>>>0?j>>>0<(c[k>>2]|0)>>>0:0){f=c[(c[c[d+23416+(m*1920|0)+(j*40|0)+36>>2]>>2]|0)+248>>2]|0;if(!f)break;h=c[f>>2]|0;i=c[o>>2]|0;f=0;while(1){if((f|0)>=(i|0))break;if((c[c[(c[c[a+28348+(f<<2)>>2]>>2]|0)+248>>2]>>2]|0)==(h|0)){w=53;break}f=f+1|0}if((w|0)==53){w=0;c[l>>2]=f}g=c[p>>2]|0;f=0;while(1){if((f|0)>=(g|0))break b;x=c[a+28476+(f<<2)>>2]|0;if(x|0?(c[c[(c[x>>2]|0)+248>>2]>>2]|0)==(h|0):0)break;f=f+1|0}c[l>>2]=i+f}while(0);j=j+1|0}c[a+29940+(q<<9)+(m<<8)+4>>2]=-1;c[a+29940+(q<<9)+(m<<8)>>2]=-1;f=0;while(1){if((f|0)==16)break;c[a+29940+(q<<9)+(m<<8)+(f+2<<2)>>2]=c[d+23416+(m*1920|0)+(f*40|0)+24>>2]&3|c[v+(f<<2)>>2]<<2;f=f+1|0}c[a+29940+(q<<9)+(m<<8)+76>>2]=-1;c[a+29940+(q<<9)+(m<<8)+72>>2]=-1;f=16;while(1){if((f|0)==48)break;c[a+29940+(q<<9)+(m<<8)+(f+4<<2)>>2]=c[d+23416+(m*1920|0)+(f*40|0)+24>>2]&3|c[v+(f+-16>>1<<2)>>2]<<2;f=f+1|0}m=m+1|0}x=c[s>>2]|0;if(!(c[x+576>>2]&1))f=0;else{w=c[r>>2]|0;v=c[u>>2]|0;s=H(c[y>>2]|0,c[t>>2]|0)|0;s=s+(c[z>>2]|0)|0;f=d+836|0;t=(mi(c[f>>2]|0)|0)<<24>>24;u=c[d+844>>2]|0?149245:262104;q=(c[e+44>>2]|0)==5?149250:262104;r=c[a+28244>>2]|0;m=c[a+24312>>2]|0;l=c[m+76>>2]|0;m=c[m+80>>2]|0;n=c[d+23404>>2]|0;o=c[d+23408>>2]|0;p=c[d+848>>2]|0;k=c[A>>2]|0;j=c[B>>2]|0;g=c[C>>2]|0;h=c[d+880>>2]|0;if((h|0)==1)i=c[d+884>>2]|0?149255:262104;else i=262104;if((c[f>>2]|0)==3)f=c[d+21844>>2]|0?149257:149262;else f=262104;c[D>>2]=w;c[D+4>>2]=(v|0)==3?149243:(v|0)==1?149239:149241;c[D+8>>2]=s;c[D+12>>2]=t;c[D+16>>2]=u;c[D+20>>2]=q;c[D+24>>2]=r;c[D+28>>2]=l;c[D+32>>2]=m;c[D+36>>2]=n;c[D+40>>2]=o;c[D+44>>2]=p;c[D+48>>2]=k;c[D+52>>2]=j;c[D+56>>2]=g;c[D+60>>2]=h;c[D+64>>2]=i;c[D+68>>2]=f;mf(x,48,149267,D);f=0}}}while(0);$c=E;return f|0}function nl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,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=$c;$c=$c+64|0;if(($c|0)>=(ad|0))N(64);G=I+48|0;H=I+40|0;C=I+32|0;B=I+16|0;A=I+8|0;z=I;u=I+60|0;Yh(b);Zh(b);tl(b,d);D=d+23412|0;v=d+34752|0;x=d+34756|0;y=b+29556|0;E=b+4|0;F=b+26380|0;s=0;a:while(1){e=c[D>>2]|0;if(s>>>0>=e>>>0){n=0;p=29;break}q=d+27768+(s<<2)|0;r=d+23404+(s<<2)|0;n=0;e=c[v>>2]|0;while(1){if((n|0)>=(c[q>>2]|0))break;f=a[d+27256+(s<<8)+(n<<3)>>0]|0;i=c[d+27256+(s<<8)+(n<<3)+4>>2]|0;b:do switch(f<<24>>24){case 1:case 0:{g=i+1|0;h=c[x>>2]|0;if(g>>>0>h>>>0){p=11;break a}e=h+-1&(f<<24>>24==0?~i:g)+e;g=Uh(b,e,u)|0;i=c[u>>2]|0;f=c[y>>2]|0;while(1){p=f;f=f+-1|0;if((p|0)<=0){p=18;break b}h=c[b+28348+(f<<2)>>2]|0;if((c[h+88>>2]|0)!=(g|0))continue;if(i&c[h+640>>2]|0){m=e;p=15;break}}break}case 2:{f=Uh(b,i,u)|0;if(f>>>0>31){p=16;break a}f=c[b+28476+(f<<2)>>2]|0;if((f|0)!=0?(w=c[u>>2]|0,(w&c[f+640>>2]|0)!=0):0){m=e;h=f;e=i;i=w;p=15}else p=18;break}default:{p=17;break a}}while(0);if((p|0)==15){c[h+96>>2]=e;f=h+96|0;g=c[r>>2]|0;j=h+100|0;e=n;while(1){k=e+1|0;if(k>>>0>=g>>>0)break;l=c[d+23416+(s*1920|0)+(e*40|0)+36>>2]|0;if(!l){e=k;continue}if((c[j>>2]|0)!=(c[l+100>>2]|0)){e=k;continue}if((c[f>>2]|0)==(c[d+23416+(s*1920|0)+(e*40|0)+32>>2]|0))break;else e=k}while(1){if((e|0)<=(n|0))break;g=e+-1|0;f=d+23416+(s*1920|0)+(e*40|0)|0;e=d+23416+(s*1920|0)+(g*40|0)|0;o=f+40|0;do{c[f>>2]=c[e>>2];f=f+4|0;e=e+4|0}while((f|0)<(o|0));e=g}e=d+23416+(s*1920|0)+(n*40|0)|0;ul(e,h);if((c[F>>2]|0)==3)e=m;else{vl(e,i);e=m}}else if((p|0)==18){mf(c[E>>2]|0,16,149535,C);f=d+23416+(s*1920|0)+(n*40|0)|0;o=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(o|0))}n=n+1|0}s=s+1|0}c:do if((p|0)==11){mf(c[E>>2]|0,16,149480,z);t=-1094995529}else if((p|0)==16){mf(c[E>>2]|0,16,149507,A);t=-1094995529}else if((p|0)==17){c[B>>2]=170255;c[B+4>>2]=132333;c[B+8>>2]=373;mf(0,0,164250,B);ub()}else if((p|0)==29){d:while(1){p=0;if(n>>>0>=e>>>0)break;i=d+23404+(n<<2)|0;j=b+28268+(n*40|0)|0;k=b+28268+(n*40|0)+28|0;l=b+28268+(n*40|0)+36|0;m=b+28268+(n*40|0)+24|0;h=0;while(1){if(h>>>0>=(c[i>>2]|0)>>>0)break;f=d+23416+(n*1920|0)+(h*40|0)|0;g=d+23416+(n*1920|0)+(h*40|0)+36|0;e=c[g>>2]|0;if(e){if((c[F>>2]|0)==3?(c[d+23416+(n*1920|0)+(h*40|0)+24>>2]&3|0)!=3:0)p=35}else p=35;if((p|0)==35){p=0;e=c[E>>2]|0;c[H>>2]=c[k>>2];mf(e,16,149577,H);e=0;while(1){if((e|0)==16)break;c[b+28676+(e<<2)>>2]=-2147483648;e=e+1|0}if(!(c[l>>2]|0)){t=-1;break c}if((c[F>>2]|0)==3?(c[m>>2]&3|0)!=3:0){t=-1;break c}e=j;o=f+40|0;do{c[f>>2]=c[e>>2];f=f+4|0;e=e+4|0}while((f|0)<(o|0));e=c[g>>2]|0}if((wl(c[(c[e>>2]|0)+248>>2]|0)|0)>0)h=h+1|0;else{p=43;break d}}n=n+1|0;e=c[D>>2]|0;p=29}if((p|0)==43){c[G>>2]=149619;c[G+4>>2]=132333;c[G+8>>2]=411;mf(0,0,164250,G);ub()}if(!(c[b+26376>>2]|0))t=0;else{xl(d);t=0}}while(0);$c=I;return t|0}function ol(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=0;while(1){if((e|0)==2)break;c[b+896+(e<<2)>>2]=0;c[b+904+(e<<2)>>2]=0;e=e+1|0}n=(d|0)<0;if(n){g=c[a+26380>>2]|0;e=c[a+24312>>2]|0;g=c[((g|0)==3?e+84|0:e+76+(g+-1<<2)|0)>>2]|0;e=c[b+23404>>2]|0;f=c[b+23408>>2]|0;if((e|0)==1)if((f|0)==1)if((c[a+26376>>2]|0)==0?(l=c[b+23444>>2]|0,m=c[b+25364>>2]|0,l=JW(m|0,((m|0)<0)<<31>>31|0,l|0,((l|0)<0)<<31>>31|0)|0,m=g<<1,(l|0)==(m|0)&(M()|0)==(((m|0)<0)<<31>>31|0)):0){c[b+880>>2]=0;c[b+884>>2]=0}else{m=0;e=1;f=1;h=11}else{m=0;e=1;h=11}else{m=0;h=11}}else{m=16;e=(c[b+23404>>2]<<1)+16|0;f=(c[b+23408>>2]<<1)+16|0;g=c[(c[a+24312>>2]|0)+76+(d<<2)>>2]|0;h=11}a:do if((h|0)==11){c[b+880>>2]=2;c[b+884>>2]=2;c[b+888>>2]=5;c[b+892>>2]=5;a=m;while(1){if((a|0)>=(e|0))break a;j=c[b+23416+(a*40|0)+28>>2]|0;k=b+23416+(a*40|0)+36|0;l=g-j|0;l=((l+128|0)>>>0>255?l>>31^127:l)<<24>>24;h=m;while(1){if((h|0)>=(f|0))break;if(((c[(c[k>>2]|0)+100>>2]|0)==0?(c[(c[b+25336+(h*40|0)+36>>2]|0)+100>>2]|0)==0:0)?(p=(c[b+25336+(h*40|0)+28>>2]|0)-j|0,p=(p+128|0)>>>0>255?p>>31^127:p,o=p&255,p=p<<24>>24,o<<24>>24!=0):0){i=(H((((o<<24>>24>-1?p:0-p|0)>>1)+16384|0)/(p|0)|0,l)|0)+32>>8;i=(i+64|0)>>>0<193?64-i|0:32}else i=32;if(n){c[b+3216+(a*384|0)+(h<<3)+4>>2]=i;c[b+3216+(a*384|0)+(h<<3)>>2]=i}else c[b+3216+(a*384|0)+(h<<3)+(d<<2)>>2]=i;h=h+1|0}a=a+1|0}}while(0);return}function pl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=c[a+26380>>2]|0;i=a+24312|0;k=c[i>>2]|0;j=c[((j|0)==3?k+84|0:k+76+(((j|0)==2&1)<<2)|0)>>2]|0;k=c[b+25364>>2]|0;a:do if(!(c[a+26376>>2]|0))d=b+23404|0;else{f=b+25372|0;d=b+23404|0;e=0;while(1){if((e|0)==2)break a;g=c[(c[i>>2]|0)+76+(e<<2)>>2]|0;h=c[(c[f>>2]|0)+76+(e<<2)>>2]|0;a=0;while(1){if(a>>>0>=c[d>>2]<<1>>>0)break;c[b+21996+(e<<7)+((a^e)<<2)>>2]=sl(b,g,h,a+16|0)|0;a=a+1|0}e=e+1|0}}while(0);a=0;while(1){if(a>>>0>=(c[d>>2]|0)>>>0)break;c[b+21868+(a<<2)>>2]=sl(b,j,k,a)|0;a=a+1|0}return}function ql(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);p=q+16|0;j=q;m=a+24312|0;h=c[m>>2]|0;l=a+26380|0;o=c[l>>2]&1^1;n=b+25360|0;f=c[n>>2]&1;k=b+23412|0;d=0;while(1){if(d>>>0>=(c[k>>2]|0)>>>0)break;g=b+23404+(d<<2)|0;c[h+616+(o<<3)+(d<<2)>>2]=c[g>>2];e=0;while(1){if(e>>>0>=(c[g>>2]|0)>>>0)break;c[h+104+(o<<8)+(d<<7)+(e<<2)>>2]=c[b+23416+(d*1920|0)+(e*40|0)+24>>2]&3|c[(c[b+23416+(d*1920|0)+(e*40|0)+36>>2]|0)+88>>2]<<2;e=e+1|0}d=d+1|0}i=f^1;if((c[l>>2]|0)==3){e=h+616|0;f=c[e+4>>2]|0;g=h+624|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;YW(h+360|0,h+104|0,256)|0}if(c[a+29560>>2]|0){if((c[h+632>>2]|0)!=(c[a+26376>>2]|0)){c[j>>2]=149357;c[j+4>>2]=149389;c[j+8>>2]=144;mf(0,0,164250,j);ub()}}else c[h+632>>2]=c[a+26376>>2];f=b+21852|0;c[f>>2]=0;a:do if((c[k>>2]|0)==2?c[b+23408>>2]|0:0){e=c[l>>2]|0;if((e|0)!=3){d=c[n>>2]|0;if((d&e|0)==0?(c[(c[b+25372>>2]|0)+632>>2]|0)==0:0){c[f>>2]=(d<<1)+-3;d=o}else d=o}else{d=c[(c[m>>2]|0)+84>>2]|0;f=c[b+25372>>2]|0;e=c[f+76>>2]|0;f=c[f+80>>2]|0;if((e|0)==2147483647&(f|0)==2147483647){mf(c[a+4>>2]|0,16,149414,p);d=1}else{p=e-d|0;d=f-d|0;d=(((p|0)>-1?p:0-p|0)|0)>=(((d|0)>-1?d:0-d|0)|0)&1}c[b+21848>>2]=d;i=d}if((c[b+840>>2]|0)==3?(c[b+21844>>2]|0)==0:0){g=b+22252|0;h=a+26376|0;f=0;while(1){if((f|0)==2)break a;rl(a,b,g,f,d,i,0);b:do if(c[h>>2]|0){e=0;while(1){if((e|0)==2)break b;rl(a,b,b+22636+(e*384|0)|0,f,e,e,1);e=e+1|0}}while(0);f=f+1|0}}}while(0);$c=q;return}function rl(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=c[b+25372>>2]|0;r=(h|0)!=0;p=r?16:0;q=c[b+23404>>2]|0;q=r?(q<<1)+16|0:q;if(r)n=1;else n=(c[a+26380>>2]|0)!=3;_W(d+(e*192|0)|0,0,192)|0;k=s+616+(g<<3)+(e<<2)|0;l=s+632|0;h=0;a:while(1){if((h|0)==2)break;m=h+1|0;o=n&(h|0)!=(f|0);j=(h^f)+16|0;i=0;while(1){if((i|0)>=(c[k>>2]|0)){h=m;continue a}h=c[s+104+(g<<8)+(e<<7)+(i<<2)>>2]|0;if(n)a=(h&3|0)==3?m+(h&-4)|0:h;else a=h|3;h=p;while(1){if((h|0)>=(q|0))break;if((c[b+23416+(h*40|0)+24>>2]&3|c[(c[b+23416+(h*40|0)+36>>2]|0)+88>>2]<<2|0)==(a|0)){t=13;break}h=h+1|0}if((t|0)==13){t=0;h=r?h+-16^f:h;if(c[l>>2]|0)c[d+(e*192|0)+(j+(i<<1)<<2)>>2]=h;if(!o)c[d+(e*192|0)+(i<<2)>>2]=h}i=i+1|0}}return}function sl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);j=k+8|0;h=c[a+23416+(e*40|0)+28>>2]|0;i=((h|0)<0)<<31>>31;d=KW(d|0,((d|0)<0)<<31>>31|0,h|0,i|0)|0;l=M()|0;g=(d+128|0)>>>0>255?d>>31^127:d;f=g&255;g=g<<24>>24;if(!((d|0)==(d|0)&(l|0)==(((d|0)<0)<<31>>31|0)))di(c[(c[a>>2]|0)+4>>2]|0,149443,k);if(f<<24>>24!=0?(c[(c[a+23416+(e*40|0)+36>>2]|0)+100>>2]|0)==0:0){d=KW(b|0,((b|0)<0)<<31>>31|0,h|0,i|0)|0;l=M()|0;if(!((d|0)==(d|0)&(l|0)==(((d|0)<0)<<31>>31|0)))mf(c[(c[a>>2]|0)+4>>2]|0,48,149461,j);l=(H((((f<<24>>24>-1?g:0-g|0)>>1)+16384|0)/(g|0)|0,((d+128|0)>>>0>255?d>>31^127:d)<<24>>24)|0)+32|0;d=l>>6;d=(d+1024|0)>>>0>2047?l>>31^1023:d}else d=256;$c=k;return d|0}function tl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=$c;$c=$c+240|0;if(($c|0)>=(ad|0))N(240);r=s+48|0;d=s+32|0;n=s+16|0;m=s;l=s+104|0;o=s+96|0;p=s+56|0;q=b+840|0;do if((c[q>>2]|0)==3){k=a+26380|0;g=c[k>>2]|0;h=c[a+24312>>2]|0;g=c[((g|0)==3?h+84|0:h+76+(((g|0)==2&1)<<2)|0)>>2]|0;h=a+28348|0;i=a+29556|0;j=a+28476|0;f=0;while(1){if((f|0)>=2){d=11;break}d=yl(l,h,c[i>>2]|0,g,f^1)|0;d=(yl(l+(d<<2)|0,h,c[i>>2]|0,g,f)|0)+d|0;if((d|0)>=33){d=5;break}d=zl(b+23416+(f*1920|0)|0,48,l,d,0,c[k>>2]|0)|0;d=(zl(b+23416+(f*1920|0)+(d*40|0)|0,48-d|0,j,16,1,c[k>>2]|0)|0)+d|0;if((d|0)>=33){d=7;break}e=c[b+23404+(f<<2)>>2]|0;if(e>>>0>d>>>0)_W(b+23416+(f*1920|0)+(d*40|0)|0,0,(e-d|0)*40|0)|0;c[o+(f<<2)>>2]=d;f=f+1|0}if((d|0)==5){c[m>>2]=149692;c[m+4>>2]=132333;c[m+8>>2]=153;mf(0,0,164250,m);ub()}else if((d|0)==7){c[n>>2]=149692;c[n+4>>2]=132333;c[n+8>>2]=160;mf(0,0,164250,n);ub()}else if((d|0)==11){e=c[o>>2]|0;o=c[o+4>>2]|0;if((e|0)==(o|0)&(o|0)>1){d=0;while(1){if((d|0)>=(e|0))break;if((c[c[(c[c[b+23416+(d*40|0)+36>>2]>>2]|0)+248>>2]>>2]|0)!=(c[c[(c[c[b+25336+(d*40|0)+36>>2]>>2]|0)+248>>2]>>2]|0))break;d=d+1|0}if((d|0)==(e|0)){d=b+25376|0;j=p;f=d;k=j+40|0;do{c[j>>2]=c[f>>2];j=j+4|0;f=f+4|0}while((j|0)<(k|0));e=b+25336|0;j=d;f=e;k=j+40|0;do{c[j>>2]=c[f>>2];j=j+4|0;f=f+4|0}while((j|0)<(k|0));j=e;f=p;k=j+40|0;do{c[j>>2]=c[f>>2];j=j+4|0;f=f+4|0}while((j|0)<(k|0))}}break}}else{p=a+26380|0;e=zl(b+23416|0,48,a+28348|0,c[a+29556>>2]|0,0,c[p>>2]|0)|0;e=(zl(b+23416+(e*40|0)|0,48-e|0,a+28476|0,16,1,c[p>>2]|0)|0)+e|0;if((e|0)>=33){c[d>>2]=149692;c[d+4>>2]=132333;c[d+8>>2]=181;mf(0,0,164250,d);ub()}d=c[b+23404>>2]|0;if(d>>>0>e>>>0)_W(b+23416+(e*40|0)|0,0,(d-e|0)*40|0)|0}while(0);h=a+4|0;f=0;while(1){if((f|0)>=(((c[q>>2]|0)==3?2:1)|0))break;i=b+23404+(f<<2)|0;g=0;while(1){if(g>>>0>=(c[i>>2]|0)>>>0)break;e=b+23416+(f*1920|0)+(g*40|0)|0;d=c[b+23416+(f*1920|0)+(g*40|0)+36>>2]|0;if(d|0?Al(a,d)|0:0){mf(c[h>>2]|0,16,149702,r);j=e;k=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0))}g=g+1|0}f=f+1|0}e=b+23412|0;d=0;while(1){if(d>>>0>=(c[e>>2]|0)>>>0)break;j=a+28268+(d*40|0)|0;f=b+23416+(d*1920|0)|0;k=j+40|0;do{c[j>>2]=c[f>>2];j=j+4|0;f=f+4|0}while((j|0)<(k|0));d=d+1|0}$c=s;return}function ul(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[b>>2]|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];d=a+12|0;e=(c[b>>2]|0)+32|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[a+24>>2]=c[b+640>>2];c[a+28>>2]=c[b+84>>2];c[a+32>>2]=c[b+96>>2];c[a+36>>2]=b;return}function vl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=(b|0)==2;f=a+24|0;d=0;while(1){if((d|0)==3)break;g=a+(d<<2)|0;h=a+12+(d<<2)|0;if(e)c[g>>2]=(c[g>>2]|0)+(c[h>>2]|0);c[f>>2]=b;c[h>>2]=c[h>>2]<<1;d=d+1|0}c[a+28>>2]=c[(c[a+36>>2]|0)+76+((e&1)<<2)>>2];return}function wl(a){a=a|0;return c[(c[a>>2]|0)+8>>2]|0}function xl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=a+23412|0;g=0;while(1){if(g>>>0>=(c[i>>2]|0)>>>0)break;k=a+23404+(g<<2)|0;h=0;while(1){if(h>>>0>=(c[k>>2]|0)>>>0)break;f=(h<<1)+16|0;j=a+23416+(g*1920|0)+(f*40|0)|0;b=j;d=a+23416+(g*1920|0)+(h*40|0)|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=0;while(1){if((b|0)==3)break;e=a+23416+(g*1920|0)+(f*40|0)+12+(b<<2)|0;c[e>>2]=c[e>>2]<<1;b=b+1|0}c[a+23416+(g*1920|0)+(f*40|0)+24>>2]=1;c[a+23416+(g*1920|0)+(f*40|0)+28>>2]=c[(c[a+23416+(g*1920|0)+(f*40|0)+36>>2]|0)+76>>2];b=j+40|0;d=j;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));d=a+23416+(g*1920|0)+(h*40|0)+36|0;b=0;while(1){if((b|0)==3)break;f=j+40+(b<<2)|0;c[f>>2]=(c[f>>2]|0)+(c[(c[c[d>>2]>>2]|0)+32+(b<<2)>>2]|0);b=b+1|0}c[j+64>>2]=2;c[j+68>>2]=c[(c[j+76>>2]|0)+80>>2];h=h+1|0}g=g+1|0}return}function yl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=f|0?-2147483648:2147483647;j=0;while(1){l=a+(j<<2)|0;g=m;k=0;while(1){if((k|0)>=(d|0))break;h=c[b+(k<<2)>>2]|0;i=c[h+84>>2]|0;if(((i|0)>(e|0)|0)!=(f|0)?((i|0)<(g|0)|0)!=(f|0):0){c[l>>2]=h;g=i}k=k+1|0}if((g|0)==(m|0))break;e=(c[(c[l>>2]|0)+84>>2]|0)-f|0;j=j+1|0}return j|0}function zl(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);p=q+16|0;o=q;n=g^3;m=(f|0)==0;j=0;f=0;h=0;while(1){if(!((f|0)<(e|0)|(h|0)<(e|0))){f=24;break}while(1){if((f|0)>=(e|0)){i=0;break}l=c[d+(f<<2)>>2]|0;if(l|0?c[l+640>>2]&g|0:0){i=1;break}f=f+1|0}l=h;while(1){if((l|0)>=(e|0)){k=0;break}k=c[d+(l<<2)>>2]|0;if(k|0?c[k+640>>2]&n|0:0){k=1;break}l=l+1|0}if(i){if((j|0)>=(b|0)){f=14;break}i=c[d+(f<<2)>>2]|0;if(m)h=c[i+88>>2]|0;else h=f;c[i+96>>2]=h;Bl(a+(j*40|0)|0,i,g,1);j=j+1|0;f=f+1|0}if(!k){h=l;continue}if((j|0)>=(b|0)){f=20;break}i=c[d+(l<<2)>>2]|0;if(m)h=c[i+88>>2]|0;else h=l;c[i+96>>2]=h;Bl(a+(j*40|0)|0,i,n,0);j=j+1|0;h=l+1|0}if((f|0)==14){c[o>>2]=149736;c[o+4>>2]=132333;c[o+8>>2]=90;mf(0,0,164250,o);ub()}else if((f|0)==20){c[p>>2]=149736;c[p+4>>2]=132333;c[p+8>>2]=95;mf(0,0,164250,p);ub()}else if((f|0)==24){$c=q;return j|0}return 0} +function co(a,c){a=a|0;c=c|0;var d=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=c>>1;h=0-q|0;i=a+6+(h<<1)|0;f=a+(q<<2<<1)+-2|0;p=q<<1;d=f+(0-p<<1)|0;o=a+((q*14|0)+-2)|0;p=a+(-2-p)|0;j=(e[f>>1]|0)-(e[d>>1]|0)|0;c=(e[i+2>>1]|0)-(e[i+-2>>1]|0)|0;g=2;while(1){if((g|0)==5)break;n=f+(q<<1)|0;m=d+(h<<1)|0;l=(H((e[i+(g<<1)>>1]|0)-(e[i+(0-g<<1)>>1]|0)|0,g)|0)+c|0;j=(H((e[n>>1]|0)-(e[m>>1]|0)|0,g)|0)+j|0;c=l;d=m;f=n;g=g+1|0}n=(c*17|0)+16>>5;g=(j*17|0)+16>>5;h=n<<1;i=n*3|0;j=n<<2;k=n*5|0;l=n*6|0;m=n*7|0;f=8;d=(H(g+n|0,-3)|0)+16+((e[p+16>>1]|0)+(e[o>>1]|0)<<4)|0;c=a;while(1){if((f|0)<=0)break;a=d>>5;b[c>>1]=a>>>0<512?a:0-a>>31&511;a=d+n>>5;b[c+2>>1]=a>>>0<512?a:0-a>>31&511;a=d+h>>5;b[c+4>>1]=a>>>0<512?a:0-a>>31&511;a=d+i>>5;b[c+6>>1]=a>>>0<512?a:0-a>>31&511;a=d+j>>5;b[c+8>>1]=a>>>0<512?a:0-a>>31&511;a=d+k>>5;b[c+10>>1]=a>>>0<512?a:0-a>>31&511;a=d+l>>5;b[c+12>>1]=a>>>0<512?a:0-a>>31&511;a=d+m>>5;b[c+14>>1]=a>>>0<512?a:0-a>>31&511;f=f+-1|0;d=d+g|0;c=c+(q<<1)|0}return}function eo(a,c){a=a|0;c=c|0;var d=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=c>>1;l=0-q|0;h=a+6+(l<<1)|0;g=a+(q<<3<<1)+-2|0;f=g+(0-(q<<1)<<1)|0;j=a+((q*22|0)+-2)|0;i=a+((q*6|0)+-2)|0;c=2;d=(e[g>>1]|0)-(e[f>>1]|0)|0;k=(e[h+2>>1]|0)-(e[h+-2>>1]|0)|0;while(1){if((c|0)==5)break;p=g+(q<<1)|0;o=f+(l<<1)|0;n=(H((e[h+(c<<1)>>1]|0)-(e[h+(0-c<<1)>>1]|0)|0,c)|0)+k|0;m=(H((e[p>>1]|0)-(e[o>>1]|0)|0,c)|0)+d|0;c=c+1|0;d=m;k=n;f=o;g=p}c=5;while(1){if((c|0)>=9)break;p=j+(q<<1)|0;o=i+(l<<1)|0;d=(H((e[p>>1]|0)-(e[o>>1]|0)|0,c)|0)+d|0;c=c+1|0;i=o;j=p}p=(k*17|0)+16>>5;g=(d*5|0)+32>>6;h=p*3|0;k=p<<1;l=p<<2;m=p*5|0;n=p*6|0;o=p*7|0;f=16;d=16-h+(H(g,-7)|0)+((e[i+16>>1]|0)+(e[j>>1]|0)<<4)|0;c=a;while(1){if((f|0)<=0)break;a=d>>5;b[c>>1]=a>>>0<512?a:0-a>>31&511;a=d+p>>5;b[c+2>>1]=a>>>0<512?a:0-a>>31&511;a=d+k>>5;b[c+4>>1]=a>>>0<512?a:0-a>>31&511;a=d+h>>5;b[c+6>>1]=a>>>0<512?a:0-a>>31&511;a=d+l>>5;b[c+8>>1]=a>>>0<512?a:0-a>>31&511;a=d+m>>5;b[c+10>>1]=a>>>0<512?a:0-a>>31&511;a=d+n>>5;b[c+12>>1]=a>>>0<512?a:0-a>>31&511;a=d+o>>5;b[c+14>>1]=a>>>0<512?a:0-a>>31&511;f=f+-1|0;d=d+g|0;c=c+(q<<1)|0}return}function fo(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=134284+(0-(d[b+~c>>0]|0))|0;n=b+(0-c)|0;f=n+1|0;g=n+2|0;h=n+3|0;i=n+4|0;j=n+5|0;k=n+6|0;l=n+7|0;e=0;while(1){if((e|0)==8)break;o=m+(d[b+-1>>0]|0)|0;a[b>>0]=a[o+(d[n>>0]|0)>>0]|0;a[b+1>>0]=a[o+(d[f>>0]|0)>>0]|0;a[b+2>>0]=a[o+(d[g>>0]|0)>>0]|0;a[b+3>>0]=a[o+(d[h>>0]|0)>>0]|0;a[b+4>>0]=a[o+(d[i>>0]|0)>>0]|0;a[b+5>>0]=a[o+(d[j>>0]|0)>>0]|0;a[b+6>>0]=a[o+(d[k>>0]|0)>>0]|0;a[b+7>>0]=a[o+(d[l>>0]|0)>>0]|0;b=b+c|0;e=e+1|0}return}function go(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=b>>1;b=0;d=0;f=0;g=0;while(1){if((b|0)==4)break;l=e[a+((H(b,n)|0)+-1<<1)>>1]|0;l=d+l+(e[a+(b-n<<1)>>1]|0)|0;m=b+4|0;b=b+1|0;d=l;f=f+(e[a+(m-n<<1)>>1]|0)|0;g=g+(e[a+((H(m,n)|0)+-1<<1)>>1]|0)|0}d=d+4>>3;d=PW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;h=M()|0;i=f+2>>2;i=PW(i|0,((i|0)<0)<<31>>31|0,65537,65537)|0;j=M()|0;k=g+2>>2;l=((k|0)<0)<<31>>31;f=g+4+f>>3;m=((f|0)<0)<<31>>31;b=0;while(1){if((b|0)==4)break;g=a+((H(b,n)|0)<<1)|0;o=g;c[o>>2]=d;c[o+4>>2]=h;g=g+8|0;c[g>>2]=i;c[g+4>>2]=j;b=b+1|0}g=PW(k|0,l|0,65537,65537)|0;h=M()|0;d=PW(f|0,m|0,65537,65537)|0;f=M()|0;b=4;while(1){if((b|0)==8)break;o=a+((H(b,n)|0)<<1)|0;m=o;c[m>>2]=g;c[m+4>>2]=h;o=o+8|0;c[o>>2]=d;c[o+4>>2]=f;b=b+1|0}return}function ho(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;i=b>>1;b=0;d=0;f=0;while(1){if((b|0)==4)break;g=d+(e[a+((H(b,i)|0)+-1<<1)>>1]|0)|0;h=f+(e[a+((H(b+4|0,i)|0)+-1<<1)>>1]|0)|0;b=b+1|0;d=g;f=h}g=d+2>>2;g=PW(g|0,((g|0)<0)<<31>>31|0,65537,65537)|0;h=M()|0;d=f+2>>2;f=((d|0)<0)<<31>>31;b=0;while(1){if((b|0)==4)break;j=a+((H(b,i)|0)<<1)|0;k=j;c[k>>2]=g;c[k+4>>2]=h;j=j+8|0;c[j>>2]=g;c[j+4>>2]=h;b=b+1|0}d=PW(d|0,f|0,65537,65537)|0;f=M()|0;b=4;while(1){if((b|0)==8)break;k=a+((H(b,i)|0)<<1)|0;j=k;c[j>>2]=d;c[j+4>>2]=f;k=k+8|0;c[k>>2]=d;c[k+4>>2]=f;b=b+1|0}return}function io(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;j=b>>1;f=4-j|0;b=0;d=0;g=0;while(1){if((b|0)==4)break;h=d+(e[a+(b-j<<1)>>1]|0)|0;i=g+(e[a+(f+b<<1)>>1]|0)|0;b=b+1|0;d=h;g=i}h=d+2>>2;h=PW(h|0,((h|0)<0)<<31>>31|0,65537,65537)|0;i=M()|0;d=g+2>>2;d=PW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;f=M()|0;b=0;while(1){if((b|0)==4){b=4;break}g=a+((H(b,j)|0)<<1)|0;k=g;c[k>>2]=h;c[k+4>>2]=i;g=g+8|0;c[g>>2]=d;c[g+4>>2]=f;b=b+1|0}while(1){if((b|0)==8)break;k=a+((H(b,j)|0)<<1)|0;g=k;c[g>>2]=h;c[g+4>>2]=i;k=k+8|0;c[k>>2]=d;c[k+4>>2]=f;b=b+1|0}return}function jo(a,b){a=a|0;b=b|0;io(a,b);tn(a,0,b);return}function ko(a,b){a=a|0;b=b|0;go(a,b);Gn(a,0,b);return}function lo(a,b){a=a|0;b=b|0;ho(a,b);a=a+(b<<2)|0;Kn(a,0,b);Kn(a+8|0,0,b);return}function mo(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=b>>1;b=0;d=0;h=0;f=0;g=0;i=0;while(1){if((b|0)==4)break;t=e[a+((H(b,y)|0)+-1<<1)>>1]|0;t=d+t+(e[a+(b-y<<1)>>1]|0)|0;u=b+4|0;v=f+(e[a+((H(u,y)|0)+-1<<1)>>1]|0)|0;w=g+(e[a+((H(b+8|0,y)|0)+-1<<1)>>1]|0)|0;x=i+(e[a+((H(b+12|0,y)|0)+-1<<1)>>1]|0)|0;b=b+1|0;d=t;h=h+(e[a+(u-y<<1)>>1]|0)|0;f=v;g=w;i=x}d=d+4>>3;d=PW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;j=M()|0;k=h+2>>2;k=PW(k|0,((k|0)<0)<<31>>31|0,65537,65537)|0;l=M()|0;m=f+2>>2;n=((m|0)<0)<<31>>31;f=f+4+h>>3;o=((f|0)<0)<<31>>31;r=g+2>>2;s=((r|0)<0)<<31>>31;g=g+4+h>>3;t=((g|0)<0)<<31>>31;u=i+2>>2;v=((u|0)<0)<<31>>31;w=i+4+h>>3;x=((w|0)<0)<<31>>31;b=0;while(1){if((b|0)==4)break;q=a+((H(b,y)|0)<<1)|0;p=q;c[p>>2]=d;c[p+4>>2]=j;q=q+8|0;c[q>>2]=k;c[q+4>>2]=l;b=b+1|0}p=PW(m|0,n|0,65537,65537)|0;q=M()|0;m=PW(f|0,o|0,65537,65537)|0;n=M()|0;k=PW(r|0,s|0,65537,65537)|0;l=M()|0;i=PW(g|0,t|0,65537,65537)|0;j=M()|0;g=PW(u|0,v|0,65537,65537)|0;h=M()|0;d=PW(w|0,x|0,65537,65537)|0;f=M()|0;b=4;while(1){if((b|0)==8){b=8;break}x=a+((H(b,y)|0)<<1)|0;w=x;c[w>>2]=p;c[w+4>>2]=q;x=x+8|0;c[x>>2]=m;c[x+4>>2]=n;b=b+1|0}while(1){if((b|0)==12){b=12;break}x=a+((H(b,y)|0)<<1)|0;w=x;c[w>>2]=k;c[w+4>>2]=l;x=x+8|0;c[x>>2]=i;c[x+4>>2]=j;b=b+1|0}while(1){if((b|0)==16)break;x=a+((H(b,y)|0)<<1)|0;w=x;c[w>>2]=g;c[w+4>>2]=h;x=x+8|0;c[x>>2]=d;c[x+4>>2]=f;b=b+1|0}return}function no(a,b){a=a|0;b=b|0;ho(a,b);ho(a+(b<<3)|0,b);return}function oo(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;j=b>>1;f=4-j|0;b=0;d=0;g=0;while(1){if((b|0)==4)break;h=d+(e[a+(b-j<<1)>>1]|0)|0;i=g+(e[a+(f+b<<1)>>1]|0)|0;b=b+1|0;d=h;g=i}h=d+2>>2;h=PW(h|0,((h|0)<0)<<31>>31|0,65537,65537)|0;i=M()|0;d=g+2>>2;d=PW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;f=M()|0;b=0;while(1){if((b|0)==16)break;g=a+((H(b,j)|0)<<1)|0;k=g;c[k>>2]=h;c[k+4>>2]=i;g=g+8|0;c[g>>2]=d;c[g+4>>2]=f;b=b+1|0}return}function po(a,b){a=a|0;b=b|0;oo(a,b);tn(a,0,b);return}function qo(a,b){a=a|0;b=b|0;mo(a,b);Gn(a,0,b);return}function ro(a,b){a=a|0;b=b|0;no(a,b);a=a+(b<<2)|0;Kn(a,0,b);Kn(a+8|0,0,b);return}function so(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;e=0;f=0;while(1){if((f|0)==4)break;h=d[a+((H(f,b)|0)+-1)>>0]|0;g=f+4|0;e=e+h+(d[a+(f-b)>>0]|0)+(d[a+(g-b)>>0]|0)+(d[a+((H(g,b)|0)+-1)>>0]|0)|0;f=f+1|0}f=H((e+8|0)>>>4,16843009)|0;e=0;while(1){if((e|0)==4){e=4;break}h=a+(H(e,b)|0)|0;c[h>>2]=f;c[h+4>>2]=f;e=e+1|0}while(1){if((e|0)==8)break;h=a+(H(e,b)|0)|0;c[h>>2]=f;c[h+4>>2]=f;e=e+1|0}return}function to(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=0;f=0;while(1){if((f|0)==8)break;e=e+(d[a+((H(f,b)|0)+-1)>>0]|0)|0;f=f+1|0}f=H((e+4|0)>>>3,16843009)|0;e=0;while(1){if((e|0)==8)break;g=a+(H(e,b)|0)|0;c[g+4>>2]=f;c[g>>2]=f;e=e+1|0}return}function uo(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=0;f=0;while(1){if((f|0)==8)break;e=e+(d[a+(f-b)>>0]|0)|0;f=f+1|0}f=H((e+4|0)>>>3,16843009)|0;e=0;while(1){if((e|0)==8)break;g=a+(H(e,b)|0)|0;c[g+4>>2]=f;c[g>>2]=f;e=e+1|0}return}function vo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=16711935;c[f+4>>2]=16711935;e=e+8|0;c[e>>2]=16711935;c[e+4>>2]=16711935;b=b+1|0}return}function wo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=16843009;c[f+4>>2]=16843009;e=e+8|0;c[e>>2]=16843009;c[e+4>>2]=16843009;b=b+1|0}return}function xo(a,b){a=a|0;b=b|0;no(a,b);Kn(a,0,b);Kn(a+8|0,0,b);return}function yo(a,b){a=a|0;b=b|0;ho(a,b);Kn(a,0,b);Kn(a+8|0,0,b);return}function zo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=16777472;c[f+4>>2]=16777472;e=e+8|0;c[e>>2]=16777472;c[e+4>>2]=16777472;b=b+1|0}return}function Ao(a,b){a=a|0;b=b|0;zo(a,b);zo(a+(b<<3)|0,b);return}function Bo(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16){d=0;break}b=b+(e[a+((H(d,h)|0)+-1<<1)>>1]|0)|0;d=d+1|0}while(1){if((d|0)==16)break;b=b+(e[a+(d-h<<1)>>1]|0)|0;d=d+1|0}f=b+16>>5;f=PW(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function Co(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=b>>1;k=a+(0-g<<1)|0;d=k;l=c[d>>2]|0;d=c[d+4>>2]|0;f=k+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;i=k+16|0;h=c[i>>2]|0;i=c[i+4>>2]|0;k=k+24|0;j=c[k>>2]|0;k=c[k+4>>2]|0;b=0;while(1){if((b|0)==16)break;m=a+((H(b,g)|0)<<1)|0;n=m;c[n>>2]=l;c[n+4>>2]=d;n=m+8|0;c[n>>2]=e;c[n+4>>2]=f;n=m+16|0;c[n>>2]=h;c[n+4>>2]=i;m=m+24|0;c[m>>2]=j;c[m+4>>2]=k;b=b+1|0}return}function Do(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==16)break;f=H(b,d)|0;h=PW(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;i=f+8|0;c[i>>2]=h;c[i+4>>2]=g;i=f+16|0;c[i>>2]=h;c[i+4>>2]=g;f=f+24|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function Eo(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=134284+(0-(d[b+~c>>0]|0))|0;v=b+(0-c)|0;f=v+1|0;g=v+2|0;h=v+3|0;i=v+4|0;j=v+5|0;k=v+6|0;l=v+7|0;m=v+8|0;n=v+9|0;o=v+10|0;p=v+11|0;q=v+12|0;r=v+13|0;s=v+14|0;t=v+15|0;e=0;while(1){if((e|0)==16)break;w=u+(d[b+-1>>0]|0)|0;a[b>>0]=a[w+(d[v>>0]|0)>>0]|0;a[b+1>>0]=a[w+(d[f>>0]|0)>>0]|0;a[b+2>>0]=a[w+(d[g>>0]|0)>>0]|0;a[b+3>>0]=a[w+(d[h>>0]|0)>>0]|0;a[b+4>>0]=a[w+(d[i>>0]|0)>>0]|0;a[b+5>>0]=a[w+(d[j>>0]|0)>>0]|0;a[b+6>>0]=a[w+(d[k>>0]|0)>>0]|0;a[b+7>>0]=a[w+(d[l>>0]|0)>>0]|0;a[b+8>>0]=a[w+(d[m>>0]|0)>>0]|0;a[b+9>>0]=a[w+(d[n>>0]|0)>>0]|0;a[b+10>>0]=a[w+(d[o>>0]|0)>>0]|0;a[b+11>>0]=a[w+(d[p>>0]|0)>>0]|0;a[b+12>>0]=a[w+(d[q>>0]|0)>>0]|0;a[b+13>>0]=a[w+(d[r>>0]|0)>>0]|0;a[b+14>>0]=a[w+(d[s>>0]|0)>>0]|0;a[b+15>>0]=a[w+(d[t>>0]|0)>>0]|0;b=b+c|0;e=e+1|0}return}function Fo(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=16711935;c[e+4>>2]=16711935;e=b+8|0;c[e>>2]=16711935;c[e+4>>2]=16711935;e=b+16|0;c[e>>2]=16711935;c[e+4>>2]=16711935;e=b+24|0;c[e>>2]=16711935;c[e+4>>2]=16711935;b=b+(d<<1)|0;a=a+1|0}return}function Go(a,b){a=a|0;b=b|0;pu(a,b);return}function Ho(a,b){a=a|0;b=b|0;var d=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;c[b>>2]=16843009;c[b+4>>2]=16843009;c[b+8>>2]=16843009;c[b+12>>2]=16843009;c[b+16>>2]=16843009;c[b+20>>2]=16843009;c[b+24>>2]=16843009;c[b+28>>2]=16843009;b=b+(d<<1)|0;a=a+1|0}return}function Io(a,b){a=a|0;b=b|0;lu(a,b,0,1);return}function Jo(a,b){a=a|0;b=b|0;lu(a,b,1,0);return}function Ko(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16)break;b=b+(e[a+((H(d,h)|0)+-1<<1)>>1]|0)|0;d=d+1|0}f=b+8>>4;f=PW(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function Lo(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16)break;b=b+(e[a+(d-h<<1)>>1]|0)|0;d=d+1|0}f=b+8>>4;f=PW(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function Mo(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=16777472;c[e+4>>2]=16777472;e=b+8|0;c[e>>2]=16777472;c[e+4>>2]=16777472;e=b+16|0;c[e>>2]=16777472;c[e+4>>2]=16777472;e=b+24|0;c[e>>2]=16777472;c[e+4>>2]=16777472;b=b+(d<<1)|0;a=a+1|0}return}function No(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;h=f>>1;i=h<<1;j=h*3|0;k=h<<2;g=d;f=a+(0-h<<1)|0;a=0;while(1){if((a|0)==4)break;l=(c[g>>2]|0)+(e[f>>1]|0)|0;b[f+(h<<1)>>1]=l;l=(c[g+16>>2]|0)+l|0;b[f+(i<<1)>>1]=l;l=(c[g+32>>2]|0)+l|0;b[f+(j<<1)>>1]=l;b[f+(k<<1)>>1]=(c[g+48>>2]|0)+l;g=g+4|0;f=f+2|0;a=a+1|0}f=d+64|0;do{b[d>>1]=0;d=d+2|0}while((d|0)<(f|0));return}function Oo(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0;h=f>>1;g=d;f=a;a=0;while(1){if((a|0)==4)break;i=(c[g>>2]|0)+(e[f+-2>>1]|0)|0;b[f>>1]=i;i=(c[g+4>>2]|0)+i|0;b[f+2>>1]=i;i=(c[g+8>>2]|0)+i|0;b[f+4>>1]=i;b[f+6>>1]=(c[g+12>>2]|0)+i;g=g+16|0;f=f+(h<<1)|0;a=a+1|0}f=d+64|0;do{b[d>>1]=0;d=d+2|0}while((d|0)<(f|0));return}function Po(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=f>>1;l=k<<1;m=k*3|0;n=k<<2;o=k*5|0;h=k*6|0;i=k*7|0;j=k<<3;g=d;f=a+(0-k<<1)|0;a=0;while(1){if((a|0)==8)break;p=(c[g>>2]|0)+(e[f>>1]|0)|0;b[f+(k<<1)>>1]=p;p=(c[g+32>>2]|0)+p|0;b[f+(l<<1)>>1]=p;p=(c[g+64>>2]|0)+p|0;b[f+(m<<1)>>1]=p;p=(c[g+96>>2]|0)+p|0;b[f+(n<<1)>>1]=p;p=(c[g+128>>2]|0)+p|0;b[f+(o<<1)>>1]=p;p=(c[g+160>>2]|0)+p|0;b[f+(h<<1)>>1]=p;p=(c[g+192>>2]|0)+p|0;b[f+(i<<1)>>1]=p;b[f+(j<<1)>>1]=(c[g+224>>2]|0)+p;g=g+4|0;f=f+2|0;a=a+1|0}_W(d|0,0,256)|0;return}function Qo(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0;h=f>>1;g=d;f=a;a=0;while(1){if((a|0)==8)break;i=(c[g>>2]|0)+(e[f+-2>>1]|0)|0;b[f>>1]=i;i=(c[g+4>>2]|0)+i|0;b[f+2>>1]=i;i=(c[g+8>>2]|0)+i|0;b[f+4>>1]=i;i=(c[g+12>>2]|0)+i|0;b[f+6>>1]=i;i=(c[g+16>>2]|0)+i|0;b[f+8>>1]=i;i=(c[g+20>>2]|0)+i|0;b[f+10>>1]=i;i=(c[g+24>>2]|0)+i|0;b[f+12>>1]=i;b[f+14>>1]=(c[g+28>>2]|0)+i;g=g+32|0;f=f+(h<<1)|0;a=a+1|0}_W(d|0,0,256)|0;return}function Ro(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);p=q;o=h>>1;s=e[a+(0-o<<1)>>1]|0;r=e[a+(1-o<<1)>>1]|0;h=e[a+(2-o<<1)>>1]|0;n=e[a+(3-o<<1)>>1]|0;m=e[a+(4-o<<1)>>1]|0;l=e[a+(5-o<<1)>>1]|0;k=e[a+(6-o<<1)>>1]|0;j=e[a+(7-o<<1)>>1]|0;i=(k+2+(e[a+((g|0?8:7)-o<<1)>>1]|0)+(j<<1)|0)>>>2;b[p>>1]=((e[a+((((f|0)!=0)<<31>>31)-o<<1)>>1]|0)+2+(s<<1)+r|0)>>>2;b[p+2>>1]=(s+2+(r<<1)+h|0)>>>2;b[p+4>>1]=(r+2+(h<<1)+n|0)>>>2;b[p+6>>1]=(h+2+(n<<1)+m|0)>>>2;b[p+8>>1]=(n+2+(m<<1)+l|0)>>>2;b[p+10>>1]=(m+2+(l<<1)+k|0)>>>2;b[p+12>>1]=(l+2+(k<<1)+j|0)>>>2;b[p+14>>1]=i;i=o<<1;j=o*3|0;k=o<<2;l=o*5|0;m=o*6|0;n=o*7|0;g=0;h=a;f=d;while(1){if((g|0)==8)break;s=(c[f>>2]|0)+(e[p+(g<<1)>>1]|0)|0;b[h>>1]=s;s=(c[f+32>>2]|0)+s|0;b[h+(o<<1)>>1]=s;s=(c[f+64>>2]|0)+s|0;b[h+(i<<1)>>1]=s;s=(c[f+96>>2]|0)+s|0;b[h+(j<<1)>>1]=s;s=(c[f+128>>2]|0)+s|0;b[h+(k<<1)>>1]=s;s=(c[f+160>>2]|0)+s|0;b[h+(l<<1)>>1]=s;s=(c[f+192>>2]|0)+s|0;b[h+(m<<1)>>1]=s;b[h+(n<<1)>>1]=(c[f+224>>2]|0)+s;g=g+1|0;h=h+2|0;f=f+4|0}_W(d|0,0,256)|0;$c=q;return}function So(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;k=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);j=k;i=h>>1;q=e[a+((H(i,((f|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;p=e[a+-2>>1]|0;o=e[a+(i+-1<<1)>>1]|0;n=e[a+((i<<1)+-1<<1)>>1]|0;m=e[a+((i*3|0)+-1<<1)>>1]|0;l=e[a+((i<<2)+-1<<1)>>1]|0;h=e[a+((i*5|0)+-1<<1)>>1]|0;g=e[a+((i*6|0)+-1<<1)>>1]|0;f=e[a+((i*7|0)+-1<<1)>>1]|0;b[j>>1]=(q+2+(p<<1)+o|0)>>>2;b[j+2>>1]=(p+2+(o<<1)+n|0)>>>2;b[j+4>>1]=(o+2+(n<<1)+m|0)>>>2;b[j+6>>1]=(n+2+(m<<1)+l|0)>>>2;b[j+8>>1]=(m+2+(l<<1)+h|0)>>>2;b[j+10>>1]=(l+2+(h<<1)+g|0)>>>2;b[j+12>>1]=(h+2+(g<<1)+f|0)>>>2;b[j+14>>1]=(g+2+(f*3|0)|0)>>>2;f=0;g=a;h=d;while(1){if((f|0)==8)break;q=(c[h>>2]|0)+(e[j+(f<<1)>>1]|0)|0;b[g>>1]=q;q=(c[h+4>>2]|0)+q|0;b[g+2>>1]=q;q=(c[h+8>>2]|0)+q|0;b[g+4>>1]=q;q=(c[h+12>>2]|0)+q|0;b[g+6>>1]=q;q=(c[h+16>>2]|0)+q|0;b[g+8>>1]=q;q=(c[h+20>>2]|0)+q|0;b[g+10>>1]=q;q=(c[h+24>>2]|0)+q|0;b[g+12>>1]=q;b[g+14>>1]=(c[h+28>>2]|0)+q;f=f+1|0;g=g+(i<<1)|0;h=h+32|0}_W(d|0,0,256)|0;$c=k;return}function To(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;No(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function Uo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4){f=4;break}No(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}while(1){if((f|0)==8)break;No(a+(c[b+(f+4<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function Vo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;Oo(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function Wo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4){f=4;break}Oo(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}while(1){if((f|0)==8)break;Oo(a+(c[b+(f+4<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function Xo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;d=d>>1;b=a+(0-d<<1)|0;e=c[b>>2]|0;b=c[b+4>>2]|0;f=a;c[f>>2]=e;c[f+4>>2]=b;f=a+(d<<1)|0;c[f>>2]=e;c[f+4>>2]=b;f=a+(d<<1<<1)|0;c[f>>2]=e;c[f+4>>2]=b;d=a+(d*3<<1)|0;c[d>>2]=e;c[d+4>>2]=b;return}function Yo(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0;d=d>>1;f=PW(e[a+-2>>1]|0|0,0,65537,65537)|0;g=M()|0;b=a;c[b>>2]=f;c[b+4>>2]=g;b=PW(e[a+(d+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(d<<1)|0;c[f>>2]=b;c[f+4>>2]=g;f=d<<1;g=PW(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;b=M()|0;f=a+(f<<1)|0;c[f>>2]=g;c[f+4>>2]=b;d=d*3|0;f=PW(e[a+(d+-1<<1)>>1]|0|0,0,65537,65537)|0;b=M()|0;d=a+(d<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function Zo(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0;h=d>>1;g=h<<1;d=h*3|0;f=(e[a+(0-h<<1)>>1]|0)+4+(e[a+(1-h<<1)>>1]|0)+(e[a+(2-h<<1)>>1]|0)+(e[a+(3-h<<1)>>1]|0)+(e[a+-2>>1]|0)+(e[a+(h+-1<<1)>>1]|0)+(e[a+(g+-1<<1)>>1]|0)+(e[a+(d+-1<<1)>>1]|0)>>3;f=PW(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;b=M()|0;i=a;c[i>>2]=f;c[i+4>>2]=b;h=a+(h<<1)|0;c[h>>2]=f;c[h+4>>2]=b;g=a+(g<<1)|0;c[g>>2]=f;c[g+4>>2]=b;d=a+(d<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function _o(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;i=d>>1;g=e[a+(1-i<<1)>>1]|0;d=e[a+(2-i<<1)>>1]|0;k=e[a+(3-i<<1)>>1]|0;j=e[c>>1]|0;h=e[c+2>>1]|0;f=e[c+4>>1]|0;c=e[c+6>>1]|0;b[a>>1]=((e[a+(0-i<<1)>>1]|0)+2+d+(g<<1)|0)>>>2;g=(g+2+k+(d<<1)|0)>>>2&65535;b[a+(i<<1)>>1]=g;b[a+2>>1]=g;d=(d+2+j+(k<<1)|0)>>>2&65535;g=i<<1;b[a+(g<<1)>>1]=d;b[a+(i+1<<1)>>1]=d;b[a+4>>1]=d;k=(k+2+h+(j<<1)|0)>>>2&65535;d=i*3|0;b[a+(d<<1)>>1]=k;b[a+((g|1)<<1)>>1]=k;b[a+(i+2<<1)>>1]=k;b[a+6>>1]=k;j=(j+2+f+(h<<1)|0)>>>2&65535;b[a+(d+1<<1)>>1]=j;b[a+(g+2<<1)>>1]=j;b[a+(i+3<<1)>>1]=j;h=(h+2+c+(f<<1)|0)>>>2&65535;b[a+(d+2<<1)>>1]=h;b[a+(g+3<<1)>>1]=h;b[a+(d+3<<1)>>1]=(f+2+(c*3|0)|0)>>>2;return}function $o(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;m=e[a+(~h<<1)>>1]|0;g=e[a+(0-h<<1)>>1]|0;f=e[a+(1-h<<1)>>1]|0;c=e[a+(2-h<<1)>>1]|0;d=e[a+(3-h<<1)>>1]|0;k=e[a+-2>>1]|0;n=e[a+(h+-1<<1)>>1]|0;j=h<<1;i=e[a+(j+-1<<1)>>1]|0;l=h*3|0;b[a+(l<<1)>>1]=(n+2+(e[a+(l+-1<<1)>>1]|0)+(i<<1)|0)>>>2;i=(k+2+i+(n<<1)|0)>>>2&65535;b[a+(l+1<<1)>>1]=i;b[a+(j<<1)>>1]=i;i=m+2|0;n=(i+n+(k<<1)|0)>>>2&65535;b[a+(l+2<<1)>>1]=n;b[a+((j|1)<<1)>>1]=n;b[a+(h<<1)>>1]=n;k=((m<<1)+2+g+k|0)>>>2&65535;b[a+(l+3<<1)>>1]=k;b[a+(j+2<<1)>>1]=k;b[a+(h+1<<1)>>1]=k;b[a>>1]=k;i=(i+(g<<1)+f|0)>>>2&65535;b[a+(j+3<<1)>>1]=i;b[a+(h+2<<1)>>1]=i;b[a+2>>1]=i;g=(g+2+(f<<1)+c|0)>>>2&65535;b[a+(h+3<<1)>>1]=g;b[a+4>>1]=g;b[a+6>>1]=(f+2+(c<<1)+d|0)>>>2;return}function ap(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=d>>1;i=e[a+(~j<<1)>>1]|0;n=e[a+(0-j<<1)>>1]|0;m=e[a+(1-j<<1)>>1]|0;l=e[a+(2-j<<1)>>1]|0;k=e[a+(3-j<<1)>>1]|0;g=e[a+-2>>1]|0;f=e[a+(j+-1<<1)>>1]|0;h=j<<1;c=e[a+(h+-1<<1)>>1]|0;d=j*3|0;o=(i+1+n|0)>>>1&65535;b[a+((h|1)<<1)>>1]=o;b[a>>1]=o;o=(n+1+m|0)>>>1&65535;b[a+(h+2<<1)>>1]=o;b[a+2>>1]=o;o=(m+1+l|0)>>>1&65535;b[a+(h+3<<1)>>1]=o;b[a+4>>1]=o;b[a+6>>1]=(l+1+k|0)>>>1;o=((i<<1)+2+n+g|0)>>>2&65535;b[a+(d+1<<1)>>1]=o;b[a+(j<<1)>>1]=o;i=i+2|0;o=(i+(n<<1)+m|0)>>>2&65535;b[a+(d+2<<1)>>1]=o;b[a+(j+1<<1)>>1]=o;n=(n+2+(m<<1)+l|0)>>>2&65535;b[a+(d+3<<1)>>1]=n;b[a+(j+2<<1)>>1]=n;b[a+(j+3<<1)>>1]=(m+2+(l<<1)+k|0)>>>2;b[a+(h<<1)>>1]=(i+(g<<1)+f|0)>>>2;b[a+(d<<1)>>1]=(g+2+(f<<1)+c|0)>>>2;return}function bp(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=d>>1;k=e[a+(~j<<1)>>1]|0;n=e[a+(0-j<<1)>>1]|0;m=e[a+(1-j<<1)>>1]|0;l=e[a+(2-j<<1)>>1]|0;i=e[a+-2>>1]|0;g=e[a+(j+-1<<1)>>1]|0;h=j<<1;f=e[a+(h+-1<<1)>>1]|0;d=j*3|0;c=e[a+(d+-1<<1)>>1]|0;o=(k+1+i|0)>>>1&65535;b[a+(j+2<<1)>>1]=o;b[a>>1]=o;o=((k<<1)+2+n+i|0)>>>2&65535;b[a+(j+3<<1)>>1]=o;b[a+2>>1]=o;k=k+2|0;b[a+4>>1]=(k+(n<<1)+m|0)>>>2;b[a+6>>1]=(n+2+(m<<1)+l|0)>>>2;l=(i+1+g|0)>>>1&65535;b[a+(h+2<<1)>>1]=l;b[a+(j<<1)>>1]=l;k=(k+(i<<1)+g|0)>>>2&65535;b[a+(h+3<<1)>>1]=k;b[a+(j+1<<1)>>1]=k;j=(g+1+f|0)>>>1&65535;b[a+(d+2<<1)>>1]=j;b[a+(h<<1)>>1]=j;i=(i+2+(g<<1)+f|0)>>>2&65535;b[a+(d+3<<1)>>1]=i;b[a+((h|1)<<1)>>1]=i;b[a+(d<<1)>>1]=(f+1+c|0)>>>1;b[a+(d+1<<1)>>1]=(g+2+(f<<1)+c|0)>>>2;return}function cp(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=d>>1;d=e[a+(0-h<<1)>>1]|0;k=e[a+(1-h<<1)>>1]|0;j=e[a+(2-h<<1)>>1]|0;i=e[a+(3-h<<1)>>1]|0;g=e[c>>1]|0;f=e[c+2>>1]|0;c=e[c+4>>1]|0;b[a>>1]=(d+1+k|0)>>>1;m=(k+1+j|0)>>>1&65535;l=h<<1;b[a+(l<<1)>>1]=m;b[a+2>>1]=m;m=(j+1+i|0)>>>1&65535;b[a+((l|1)<<1)>>1]=m;b[a+4>>1]=m;m=(i+1+g|0)>>>1&65535;b[a+(l+2<<1)>>1]=m;b[a+6>>1]=m;b[a+(l+3<<1)>>1]=(g+1+f|0)>>>1;b[a+(h<<1)>>1]=(d+2+(k<<1)+j|0)>>>2;k=(k+2+(j<<1)+i|0)>>>2&65535;d=h*3|0;b[a+(d<<1)>>1]=k;b[a+(h+1<<1)>>1]=k;j=(j+2+(i<<1)+g|0)>>>2&65535;b[a+(d+1<<1)>>1]=j;b[a+(h+2<<1)>>1]=j;i=(i+2+(g<<1)+f|0)>>>2&65535;b[a+(d+2<<1)>>1]=i;b[a+(h+3<<1)>>1]=i;b[a+(d+3<<1)>>1]=(g+2+(f<<1)+c|0)>>>2;return}function dp(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;g=d>>1;k=e[a+-2>>1]|0;j=e[a+(g+-1<<1)>>1]|0;d=g<<1;i=e[a+(d+-1<<1)>>1]|0;f=g*3|0;c=b[a+(f+-1<<1)>>1]|0;h=c&65535;b[a>>1]=(k+1+j|0)>>>1;b[a+2>>1]=(k+2+(j<<1)+i|0)>>>2;k=(j+1+i|0)>>>1&65535;b[a+(g<<1)>>1]=k;b[a+4>>1]=k;j=(j+2+(i<<1)+h|0)>>>2&65535;b[a+(g+1<<1)>>1]=j;b[a+6>>1]=j;j=(i+1+h|0)>>>1&65535;b[a+(d<<1)>>1]=j;b[a+(g+2<<1)>>1]=j;h=(i+2+h+(h<<1)|0)>>>2&65535;b[a+((d|1)<<1)>>1]=h;b[a+(g+3<<1)>>1]=h;b[a+(f+3<<1)>>1]=c;b[a+(f+2<<1)>>1]=c;b[a+(d+2<<1)>>1]=c;b[a+(f<<1)>>1]=c;b[a+(f+1<<1)>>1]=c;b[a+(d+3<<1)>>1]=c;return}function ep(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0;h=d>>1;g=h<<1;d=h*3|0;f=PW(((e[a+-2>>1]|0)+2+(e[a+(h+-1<<1)>>1]|0)+(e[a+(g+-1<<1)>>1]|0)+(e[a+(d+-1<<1)>>1]|0)|0)>>>2|0,0,65537,65537)|0;b=M()|0;i=a;c[i>>2]=f;c[i+4>>2]=b;h=a+(h<<1)|0;c[h>>2]=f;c[h+4>>2]=b;g=a+(g<<1)|0;c[g>>2]=f;c[g+4>>2]=b;d=a+(d<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function fp(a,b,d){a=a|0;b=b|0;d=d|0;d=d>>1;b=a;c[b>>2]=33489407;c[b+4>>2]=33489407;b=a+(d<<1)|0;c[b>>2]=33489407;c[b+4>>2]=33489407;b=a+(d<<1<<1)|0;c[b>>2]=33489407;c[b+4>>2]=33489407;d=a+(d*3<<1)|0;c[d>>2]=33489407;c[d+4>>2]=33489407;return}function gp(a,b,d){a=a|0;b=b|0;d=d|0;d=d>>1;b=a;c[b>>2]=33620481;c[b+4>>2]=33620481;b=a+(d<<1)|0;c[b>>2]=33620481;c[b+4>>2]=33620481;b=a+(d<<1<<1)|0;c[b>>2]=33620481;c[b+4>>2]=33620481;d=a+(d*3<<1)|0;c[d>>2]=33620481;c[d+4>>2]=33620481;return}function hp(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0;d=d>>1;f=PW(((e[a+(0-d<<1)>>1]|0)+2+(e[a+(1-d<<1)>>1]|0)+(e[a+(2-d<<1)>>1]|0)+(e[a+(3-d<<1)>>1]|0)|0)>>>2|0,0,65537,65537)|0;b=M()|0;g=a;c[g>>2]=f;c[g+4>>2]=b;g=a+(d<<1)|0;c[g>>2]=f;c[g+4>>2]=b;g=a+(d<<1<<1)|0;c[g>>2]=f;c[g+4>>2]=b;d=a+(d*3<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function ip(a,b,d){a=a|0;b=b|0;d=d|0;d=d>>1;b=a;c[b>>2]=33554944;c[b+4>>2]=33554944;b=a+(d<<1)|0;c[b>>2]=33554944;c[b+4>>2]=33554944;b=a+(d<<1<<1)|0;c[b>>2]=33554944;c[b+4>>2]=33554944;d=a+(d*3<<1)|0;c[d>>2]=33554944;c[d+4>>2]=33554944;return}function jp(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=g>>1;o=e[a+(0-j<<1)>>1]|0;n=e[a+(1-j<<1)>>1]|0;i=e[a+(2-j<<1)>>1]|0;m=e[a+(3-j<<1)>>1]|0;l=e[a+(4-j<<1)>>1]|0;k=e[a+(5-j<<1)>>1]|0;g=e[a+(6-j<<1)>>1]|0;h=e[a+(7-j<<1)>>1]|0;f=(g+2+(e[a+((f|0?8:7)-j<<1)>>1]|0)+(h<<1)|0)>>>2;b[a>>1]=((e[a+((((d|0)!=0)<<31>>31)-j<<1)>>1]|0)+2+(o<<1)+n|0)>>>2;b[a+2>>1]=(o+2+(n<<1)+i|0)>>>2;b[a+4>>1]=(n+2+(i<<1)+m|0)>>>2;b[a+6>>1]=(i+2+(m<<1)+l|0)>>>2;i=a+8|0;b[i>>1]=(m+2+(l<<1)+k|0)>>>2;b[a+10>>1]=(l+2+(k<<1)+g|0)>>>2;b[a+12>>1]=(k+2+(g<<1)+h|0)>>>2;b[a+14>>1]=f;f=a;d=c[f>>2]|0;f=c[f+4>>2]|0;h=c[i>>2]|0;i=c[i+4>>2]|0;g=1;while(1){if((g|0)==8)break;o=a+((H(g,j)|0)<<1)|0;n=o;c[n>>2]=d;c[n+4>>2]=f;o=o+8|0;c[o>>2]=h;c[o+4>>2]=i;g=g+1|0}return}function kp(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;p=f>>1;u=e[a+((H(p,((b|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;s=e[a+-2>>1]|0;q=e[a+(p+-1<<1)>>1]|0;n=p<<1;o=e[a+(n+-1<<1)>>1]|0;l=p*3|0;m=e[a+(l+-1<<1)>>1]|0;j=p<<2;k=e[a+(j+-1<<1)>>1]|0;h=p*5|0;i=e[a+(h+-1<<1)>>1]|0;g=p*6|0;d=e[a+(g+-1<<1)>>1]|0;f=p*7|0;b=e[a+(f+-1<<1)>>1]|0;u=PW((u+2+(s<<1)+q|0)>>>2|0,0,65537,65537)|0;t=M()|0;r=a;c[r>>2]=u;c[r+4>>2]=t;r=a+8|0;c[r>>2]=u;c[r+4>>2]=t;s=PW((s+2+(q<<1)+o|0)>>>2|0,0,65537,65537)|0;r=M()|0;p=a+(p<<1)|0;t=p;c[t>>2]=s;c[t+4>>2]=r;p=p+8|0;c[p>>2]=s;c[p+4>>2]=r;q=PW((q+2+(o<<1)+m|0)>>>2|0,0,65537,65537)|0;p=M()|0;n=a+(n<<1)|0;r=n;c[r>>2]=q;c[r+4>>2]=p;n=n+8|0;c[n>>2]=q;c[n+4>>2]=p;o=PW((o+2+(m<<1)+k|0)>>>2|0,0,65537,65537)|0;n=M()|0;l=a+(l<<1)|0;p=l;c[p>>2]=o;c[p+4>>2]=n;l=l+8|0;c[l>>2]=o;c[l+4>>2]=n;m=PW((m+2+(k<<1)+i|0)>>>2|0,0,65537,65537)|0;l=M()|0;j=a+(j<<1)|0;n=j;c[n>>2]=m;c[n+4>>2]=l;j=j+8|0;c[j>>2]=m;c[j+4>>2]=l;k=PW((k+2+(i<<1)+d|0)>>>2|0,0,65537,65537)|0;j=M()|0;h=a+(h<<1)|0;l=h;c[l>>2]=k;c[l+4>>2]=j;h=h+8|0;c[h>>2]=k;c[h+4>>2]=j;i=PW((i+2+(d<<1)+b|0)>>>2|0,0,65537,65537)|0;h=M()|0;g=a+(g<<1)|0;j=g;c[j>>2]=i;c[j+4>>2]=h;g=g+8|0;c[g>>2]=i;c[g+4>>2]=h;b=PW((d+2+(b*3|0)|0)>>>2|0,0,65537,65537)|0;d=M()|0;f=a+(f<<1)|0;a=f;c[a>>2]=b;c[a+4>>2]=d;f=f+8|0;c[f>>2]=b;c[f+4>>2]=d;return}function lp(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;h=f>>1;n=((b|0)!=0)<<31>>31;w=e[a+((H(h,n)|0)+-1<<1)>>1]|0;v=e[a+-2>>1]|0;u=e[a+(h+-1<<1)>>1]|0;t=e[a+((h<<1)+-1<<1)>>1]|0;s=e[a+((h*3|0)+-1<<1)>>1]|0;r=e[a+((h<<2)+-1<<1)>>1]|0;q=e[a+((h*5|0)+-1<<1)>>1]|0;p=e[a+((h*6|0)+-1<<1)>>1]|0;o=e[a+((h*7|0)+-1<<1)>>1]|0;m=e[a+(0-h<<1)>>1]|0;l=e[a+(1-h<<1)>>1]|0;k=e[a+(2-h<<1)>>1]|0;j=e[a+(3-h<<1)>>1]|0;i=e[a+(4-h<<1)>>1]|0;f=e[a+(5-h<<1)>>1]|0;b=e[a+(6-h<<1)>>1]|0;g=e[a+(7-h<<1)>>1]|0;d=((w+2+(v<<1)+u|0)>>>2)+8+((v+2+(u<<1)+t|0)>>>2)+((u+2+(t<<1)+s|0)>>>2)+((t+2+(s<<1)+r|0)>>>2)+((s+2+(r<<1)+q|0)>>>2)+((r+2+(q<<1)+p|0)>>>2)+((q+2+(p<<1)+o|0)>>>2)+((p+2+(o*3|0)|0)>>>2)+(((e[a+(n-h<<1)>>1]|0)+2+(m<<1)+l|0)>>>2)+((m+2+(l<<1)+k|0)>>>2)+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+f|0)>>>2)+((i+2+(f<<1)+b|0)>>>2)+((f+2+(b<<1)+g|0)>>>2)+((b+2+(e[a+((d|0?8:7)-h<<1)>>1]|0)+(g<<1)|0)>>>2)>>4;d=PW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=0;f=a;while(1){if((b|0)==8)break;w=f;c[w>>2]=d;c[w+4>>2]=g;w=f+8|0;c[w>>2]=d;c[w+4>>2]=g;b=b+1|0;f=f+(h<<1)|0}return}function mp(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;q=f>>1;n=e[a+(0-q<<1)>>1]|0;o=e[a+(1-q<<1)>>1]|0;s=e[a+(2-q<<1)>>1]|0;p=(n+2+(o<<1)+s|0)>>>2;t=e[a+(3-q<<1)>>1]|0;r=(o+2+(s<<1)+t|0)>>>2;u=e[a+(4-q<<1)>>1]|0;s=(s+2+(t<<1)+u|0)>>>2;v=e[a+(5-q<<1)>>1]|0;t=(t+2+(u<<1)+v|0)>>>2;m=e[a+(6-q<<1)>>1]|0;u=(u+2+(v<<1)+m|0)>>>2;f=e[a+(7-q<<1)>>1]|0;v=(v+2+(m<<1)+f|0)>>>2;l=(d|0)!=0;m=(m+2+(e[a+((l?8:7)-q<<1)>>1]|0)+(f<<1)|0)>>>2;if(l){x=e[a+(8-q<<1)>>1]|0;w=e[a+(9-q<<1)>>1]|0;l=e[a+(10-q<<1)>>1]|0;k=e[a+(11-q<<1)>>1]|0;j=e[a+(12-q<<1)>>1]|0;i=e[a+(13-q<<1)>>1]|0;h=e[a+(14-q<<1)>>1]|0;g=e[a+(15-q<<1)>>1]|0;d=(h+2+(g*3|0)|0)>>>2;g=(i+2+(h<<1)+g|0)>>>2;h=(j+2+(i<<1)+h|0)>>>2;i=(k+2+(j<<1)+i|0)>>>2;j=(l+2+(k<<1)+j|0)>>>2;k=(w+2+(l<<1)+k|0)>>>2;l=(x+2+(w<<1)+l|0)>>>2;f=(f+2+(x<<1)+w|0)>>>2}else{d=f;g=f;h=f;i=f;j=f;k=f;l=f}b[a>>1]=((((e[a+((((c|0)!=0)<<31>>31)-q<<1)>>1]|0)+2+(n<<1)+o|0)>>>2)+2+(p<<1)+r|0)>>>2;w=(p+2+(r<<1)+s|0)>>>2&65535;b[a+2>>1]=w;b[a+(q<<1)>>1]=w;w=(r+2+(s<<1)+t|0)>>>2&65535;b[a+4>>1]=w;b[a+(q+1<<1)>>1]=w;r=q<<1;b[a+(r<<1)>>1]=w;w=(s+2+(t<<1)+u|0)>>>2&65535;b[a+6>>1]=w;b[a+(q+2<<1)>>1]=w;b[a+((r|1)<<1)>>1]=w;s=q*3|0;b[a+(s<<1)>>1]=w;w=(t+2+(u<<1)+v|0)>>>2&65535;b[a+8>>1]=w;b[a+(q+3<<1)>>1]=w;b[a+(r+2<<1)>>1]=w;b[a+(s+1<<1)>>1]=w;t=q<<2;b[a+(t<<1)>>1]=w;w=(u+2+(v<<1)+m|0)>>>2&65535;b[a+10>>1]=w;b[a+(q+4<<1)>>1]=w;b[a+(r+3<<1)>>1]=w;b[a+(s+2<<1)>>1]=w;b[a+((t|1)<<1)>>1]=w;u=q*5|0;b[a+(u<<1)>>1]=w;w=(v+2+(m<<1)+f|0)>>>2&65535;b[a+12>>1]=w;b[a+(q+5<<1)>>1]=w;b[a+(r+4<<1)>>1]=w;b[a+(s+3<<1)>>1]=w;b[a+((t|2)<<1)>>1]=w;b[a+(u+1<<1)>>1]=w;c=q*6|0;b[a+(c<<1)>>1]=w;w=(m+2+(f<<1)+l|0)>>>2&65535;b[a+14>>1]=w;b[a+(q+6<<1)>>1]=w;b[a+(r+5<<1)>>1]=w;b[a+(s+4<<1)>>1]=w;b[a+((t|3)<<1)>>1]=w;b[a+(u+2<<1)>>1]=w;b[a+((c|1)<<1)>>1]=w;x=q*7|0;b[a+(x<<1)>>1]=w;w=(f+2+(l<<1)+k|0)>>>2&65535;b[a+(q+7<<1)>>1]=w;b[a+(r+6<<1)>>1]=w;b[a+(s+5<<1)>>1]=w;b[a+(t+4<<1)>>1]=w;b[a+(u+3<<1)>>1]=w;b[a+(c+2<<1)>>1]=w;b[a+(x+1<<1)>>1]=w;w=(l+2+(k<<1)+j|0)>>>2&65535;b[a+(r+7<<1)>>1]=w;b[a+(s+6<<1)>>1]=w;b[a+(t+5<<1)>>1]=w;b[a+(u+4<<1)>>1]=w;b[a+(c+3<<1)>>1]=w;b[a+(x+2<<1)>>1]=w;w=(k+2+(j<<1)+i|0)>>>2&65535;b[a+(s+7<<1)>>1]=w;b[a+(t+6<<1)>>1]=w;b[a+(u+5<<1)>>1]=w;b[a+(c+4<<1)>>1]=w;b[a+(x+3<<1)>>1]=w;w=(j+2+(i<<1)+h|0)>>>2&65535;b[a+(t+7<<1)>>1]=w;b[a+(u+6<<1)>>1]=w;b[a+(c+5<<1)>>1]=w;b[a+(x+4<<1)>>1]=w;w=(i+2+(h<<1)+g|0)>>>2&65535;b[a+(u+7<<1)>>1]=w;b[a+(c+6<<1)>>1]=w;b[a+(x+5<<1)>>1]=w;w=(h+2+(g<<1)+d|0)>>>2&65535;b[a+(c+7<<1)>>1]=w;b[a+(x+6<<1)>>1]=w;b[a+(x+7<<1)>>1]=(g+2+(d*3|0)|0)>>>2;return}function np(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;h=f>>1;t=((c|0)!=0)<<31>>31;C=e[a+(0-h<<1)>>1]|0;m=e[a+(1-h<<1)>>1]|0;s=((e[a+(t-h<<1)>>1]|0)+2+(C<<1)+m|0)>>>2;k=e[a+(2-h<<1)>>1]|0;C=C+2|0;o=(C+(m<<1)+k|0)>>>2;i=e[a+(3-h<<1)>>1]|0;m=(m+2+(k<<1)+i|0)>>>2;g=e[a+(4-h<<1)>>1]|0;k=(k+2+(i<<1)+g|0)>>>2;c=e[a+(5-h<<1)>>1]|0;i=(i+2+(g<<1)+c|0)>>>2;q=e[a+(6-h<<1)>>1]|0;g=(g+2+(c<<1)+q|0)>>>2;f=e[a+(7-h<<1)>>1]|0;c=(c+2+(q<<1)+f|0)>>>2;f=(q+2+(e[a+((d|0?8:7)-h<<1)>>1]|0)+(f<<1)|0)>>>2;t=e[a+((H(h,t)|0)+-1<<1)>>1]|0;q=e[a+-2>>1]|0;v=e[a+(h+-1<<1)>>1]|0;t=(t+2+(q<<1)+v|0)>>>2;j=h<<1;w=e[a+(j+-1<<1)>>1]|0;d=(q+2+(v<<1)+w|0)>>>2;l=h*3|0;x=e[a+(l+-1<<1)>>1]|0;v=(v+2+(w<<1)+x|0)>>>2;n=h<<2;y=e[a+(n+-1<<1)>>1]|0;w=(w+2+(x<<1)+y|0)>>>2;p=h*5|0;z=e[a+(p+-1<<1)>>1]|0;x=(x+2+(y<<1)+z|0)>>>2;r=h*6|0;B=e[a+(r+-1<<1)>>1]|0;y=(y+2+(z<<1)+B|0)>>>2;u=h*7|0;A=e[a+(u+-1<<1)>>1]|0;z=(z+2+(B<<1)+A|0)>>>2;q=(C+q+((e[a+(~h<<1)>>1]|0)<<1)|0)>>>2;b[a+(u<<1)>>1]=(y+2+((B+2+(A*3|0)|0)>>>2)+(z<<1)|0)>>>2;z=(x+2+(y<<1)+z|0)>>>2&65535;b[a+(u+1<<1)>>1]=z;b[a+(r<<1)>>1]=z;y=(w+2+(x<<1)+y|0)>>>2&65535;b[a+(u+2<<1)>>1]=y;b[a+((r|1)<<1)>>1]=y;b[a+(p<<1)>>1]=y;x=(v+2+(w<<1)+x|0)>>>2&65535;b[a+(u+3<<1)>>1]=x;b[a+(r+2<<1)>>1]=x;b[a+(p+1<<1)>>1]=x;b[a+(n<<1)>>1]=x;w=(d+2+(v<<1)+w|0)>>>2&65535;b[a+(u+4<<1)>>1]=w;b[a+(r+3<<1)>>1]=w;b[a+(p+2<<1)>>1]=w;b[a+((n|1)<<1)>>1]=w;b[a+(l<<1)>>1]=w;v=(t+2+(d<<1)+v|0)>>>2&65535;b[a+(u+5<<1)>>1]=v;b[a+(r+4<<1)>>1]=v;b[a+(p+3<<1)>>1]=v;b[a+((n|2)<<1)>>1]=v;b[a+(l+1<<1)>>1]=v;b[a+(j<<1)>>1]=v;d=((t<<1)+2+d+q|0)>>>2&65535;b[a+(u+6<<1)>>1]=d;b[a+(r+5<<1)>>1]=d;b[a+(p+4<<1)>>1]=d;b[a+((n|3)<<1)>>1]=d;b[a+(l+2<<1)>>1]=d;b[a+((j|1)<<1)>>1]=d;b[a+(h<<1)>>1]=d;d=s+2|0;t=(d+t+(q<<1)|0)>>>2&65535;b[a+(u+7<<1)>>1]=t;b[a+(r+6<<1)>>1]=t;b[a+(p+5<<1)>>1]=t;b[a+(n+4<<1)>>1]=t;b[a+(l+3<<1)>>1]=t;b[a+(j+2<<1)>>1]=t;b[a+(h+1<<1)>>1]=t;b[a>>1]=t;q=((s<<1)+2+o+q|0)>>>2&65535;b[a+(r+7<<1)>>1]=q;b[a+(p+6<<1)>>1]=q;b[a+(n+5<<1)>>1]=q;b[a+(l+4<<1)>>1]=q;b[a+(j+3<<1)>>1]=q;b[a+(h+2<<1)>>1]=q;b[a+2>>1]=q;d=(d+(o<<1)+m|0)>>>2&65535;b[a+(p+7<<1)>>1]=d;b[a+(n+6<<1)>>1]=d;b[a+(l+5<<1)>>1]=d;b[a+(j+4<<1)>>1]=d;b[a+(h+3<<1)>>1]=d;b[a+4>>1]=d;d=(o+2+(m<<1)+k|0)>>>2&65535;b[a+(n+7<<1)>>1]=d;b[a+(l+6<<1)>>1]=d;b[a+(j+5<<1)>>1]=d;b[a+(h+4<<1)>>1]=d;b[a+6>>1]=d;d=(m+2+(k<<1)+i|0)>>>2&65535;b[a+(l+7<<1)>>1]=d;b[a+(j+6<<1)>>1]=d;b[a+(h+5<<1)>>1]=d;b[a+8>>1]=d;d=(k+2+(i<<1)+g|0)>>>2&65535;b[a+(j+7<<1)>>1]=d;b[a+(h+6<<1)>>1]=d;b[a+10>>1]=d;d=(i+2+(g<<1)+c|0)>>>2&65535;b[a+(h+7<<1)>>1]=d;b[a+12>>1]=d;b[a+14>>1]=(g+2+(c<<1)+f|0)>>>2;return}function op(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;g=f>>1;s=((c|0)!=0)<<31>>31;A=e[a+(0-g<<1)>>1]|0;q=e[a+(1-g<<1)>>1]|0;u=((e[a+(s-g<<1)>>1]|0)+2+(A<<1)+q|0)>>>2;n=e[a+(2-g<<1)>>1]|0;A=A+2|0;r=(A+(q<<1)+n|0)>>>2;k=e[a+(3-g<<1)>>1]|0;q=(q+2+(n<<1)+k|0)>>>2;h=e[a+(4-g<<1)>>1]|0;n=(n+2+(k<<1)+h|0)>>>2;c=e[a+(5-g<<1)>>1]|0;k=(k+2+(h<<1)+c|0)>>>2;t=e[a+(6-g<<1)>>1]|0;h=(h+2+(c<<1)+t|0)>>>2;f=e[a+(7-g<<1)>>1]|0;c=(c+2+(t<<1)+f|0)>>>2;f=(t+2+(e[a+((d|0?8:7)-g<<1)>>1]|0)+(f<<1)|0)>>>2;s=e[a+((H(g,s)|0)+-1<<1)>>1]|0;t=e[a+-2>>1]|0;d=e[a+(g+-1<<1)>>1]|0;s=(s+2+(t<<1)+d|0)>>>2;i=g<<1;x=e[a+(i+-1<<1)>>1]|0;v=(t+2+(d<<1)+x|0)>>>2;j=g*3|0;w=e[a+(j+-1<<1)>>1]|0;d=(d+2+(x<<1)+w|0)>>>2;l=g<<2;z=e[a+(l+-1<<1)>>1]|0;x=(x+2+(w<<1)+z|0)>>>2;m=g*5|0;B=e[a+(m+-1<<1)>>1]|0;w=(w+2+(z<<1)+B|0)>>>2;o=g*6|0;y=e[a+(o+-1<<1)>>1]|0;z=(z+2+(B<<1)+y|0)>>>2;p=g*7|0;y=(B+2+(y<<1)+(e[a+(p+-1<<1)>>1]|0)|0)>>>2;t=(A+t+((e[a+(~g<<1)>>1]|0)<<1)|0)>>>2;b[a+(o<<1)>>1]=(x+2+(w<<1)+z|0)>>>2;b[a+(p<<1)>>1]=(w+2+(z<<1)+y|0)>>>2;y=(v+2+(d<<1)+x|0)>>>2&65535;b[a+((o|1)<<1)>>1]=y;b[a+(l<<1)>>1]=y;w=(d+2+(x<<1)+w|0)>>>2&65535;b[a+(p+1<<1)>>1]=w;b[a+(m<<1)>>1]=w;w=((s<<1)+2+v+t|0)>>>2&65535;b[a+(o+2<<1)>>1]=w;b[a+((l|1)<<1)>>1]=w;b[a+(i<<1)>>1]=w;d=(s+2+(v<<1)+d|0)>>>2&65535;b[a+(p+2<<1)>>1]=d;b[a+(m+1<<1)>>1]=d;b[a+(j<<1)>>1]=d;d=u+2|0;s=(d+s+(t<<1)|0)>>>2&65535;b[a+(p+3<<1)>>1]=s;b[a+(m+2<<1)>>1]=s;b[a+(j+1<<1)>>1]=s;b[a+(g<<1)>>1]=s;s=u+1|0;v=(s+t|0)>>>1&65535;b[a+(o+3<<1)>>1]=v;b[a+((l|2)<<1)>>1]=v;b[a+((i|1)<<1)>>1]=v;b[a>>1]=v;t=((u<<1)+2+r+t|0)>>>2&65535;b[a+(p+4<<1)>>1]=t;b[a+(m+3<<1)>>1]=t;b[a+(j+2<<1)>>1]=t;b[a+(g+1<<1)>>1]=t;s=(s+r|0)>>>1&65535;b[a+(o+4<<1)>>1]=s;b[a+((l|3)<<1)>>1]=s;b[a+(i+2<<1)>>1]=s;b[a+2>>1]=s;d=(d+(r<<1)+q|0)>>>2&65535;b[a+(p+5<<1)>>1]=d;b[a+(m+4<<1)>>1]=d;b[a+(j+3<<1)>>1]=d;b[a+(g+2<<1)>>1]=d;d=(r+1+q|0)>>>1&65535;b[a+(o+5<<1)>>1]=d;b[a+(l+4<<1)>>1]=d;b[a+(i+3<<1)>>1]=d;b[a+4>>1]=d;d=(r+2+(q<<1)+n|0)>>>2&65535;b[a+(p+6<<1)>>1]=d;b[a+(m+5<<1)>>1]=d;b[a+(j+4<<1)>>1]=d;b[a+(g+3<<1)>>1]=d;d=(q+1+n|0)>>>1&65535;b[a+(o+6<<1)>>1]=d;b[a+(l+5<<1)>>1]=d;b[a+(i+4<<1)>>1]=d;b[a+6>>1]=d;d=(q+2+(n<<1)+k|0)>>>2&65535;b[a+(p+7<<1)>>1]=d;b[a+(m+6<<1)>>1]=d;b[a+(j+5<<1)>>1]=d;b[a+(g+4<<1)>>1]=d;d=(n+1+k|0)>>>1&65535;b[a+(o+7<<1)>>1]=d;b[a+(l+6<<1)>>1]=d;b[a+(i+5<<1)>>1]=d;b[a+8>>1]=d;d=(n+2+(k<<1)+h|0)>>>2&65535;b[a+(m+7<<1)>>1]=d;b[a+(j+6<<1)>>1]=d;b[a+(g+5<<1)>>1]=d;d=(k+1+h|0)>>>1&65535;b[a+(l+7<<1)>>1]=d;b[a+(i+6<<1)>>1]=d;b[a+10>>1]=d;d=(k+2+(h<<1)+c|0)>>>2&65535;b[a+(j+7<<1)>>1]=d;b[a+(g+6<<1)>>1]=d;d=(h+1+c|0)>>>1&65535;b[a+(i+7<<1)>>1]=d;b[a+12>>1]=d;b[a+(g+7<<1)>>1]=(h+2+(c<<1)+f|0)>>>2;b[a+14>>1]=(c+1+f|0)>>>1;return}function pp(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;i=f>>1;o=((c|0)!=0)<<31>>31;A=e[a+(0-i<<1)>>1]|0;h=e[a+(1-i<<1)>>1]|0;n=((e[a+(o-i<<1)>>1]|0)+2+(A<<1)+h|0)>>>2;g=e[a+(2-i<<1)>>1]|0;A=A+2|0;j=(A+(h<<1)+g|0)>>>2;c=e[a+(3-i<<1)>>1]|0;h=(h+2+(g<<1)+c|0)>>>2;d=e[a+(4-i<<1)>>1]|0;g=(g+2+(c<<1)+d|0)>>>2;m=e[a+(5-i<<1)>>1]|0;c=(c+2+(d<<1)+m|0)>>>2;f=e[a+(6-i<<1)>>1]|0;d=(d+2+(m<<1)+f|0)>>>2;f=(m+2+(f<<1)+(e[a+(7-i<<1)>>1]|0)|0)>>>2;o=e[a+((H(i,o)|0)+-1<<1)>>1]|0;m=e[a+-2>>1]|0;k=e[a+(i+-1<<1)>>1]|0;o=(o+2+(m<<1)+k|0)>>>2;l=i<<1;t=e[a+(l+-1<<1)>>1]|0;q=(m+2+(k<<1)+t|0)>>>2;p=i*3|0;v=e[a+(p+-1<<1)>>1]|0;k=(k+2+(t<<1)+v|0)>>>2;r=i<<2;x=e[a+(r+-1<<1)>>1]|0;t=(t+2+(v<<1)+x|0)>>>2;s=i*5|0;y=e[a+(s+-1<<1)>>1]|0;v=(v+2+(x<<1)+y|0)>>>2;u=i*6|0;B=e[a+(u+-1<<1)>>1]|0;x=(x+2+(y<<1)+B|0)>>>2;w=i*7|0;z=e[a+(w+-1<<1)>>1]|0;y=(y+2+(B<<1)+z|0)>>>2;z=(B+2+(z*3|0)|0)>>>2;m=(A+m+((e[a+(~i<<1)>>1]|0)<<1)|0)>>>2;b[a+(w<<1)>>1]=(z+1+y|0)>>>1;b[a+(w+1<<1)>>1]=(x+2+z+(y<<1)|0)>>>2;z=(x+1+y|0)>>>1&65535;b[a+(w+2<<1)>>1]=z;b[a+(u<<1)>>1]=z;y=(v+2+(x<<1)+y|0)>>>2&65535;b[a+(w+3<<1)>>1]=y;b[a+((u|1)<<1)>>1]=y;y=(v+1+x|0)>>>1&65535;b[a+(w+4<<1)>>1]=y;b[a+(u+2<<1)>>1]=y;b[a+(s<<1)>>1]=y;x=(t+2+(v<<1)+x|0)>>>2&65535;b[a+(w+5<<1)>>1]=x;b[a+(u+3<<1)>>1]=x;b[a+(s+1<<1)>>1]=x;x=(t+1+v|0)>>>1&65535;b[a+(w+6<<1)>>1]=x;b[a+(u+4<<1)>>1]=x;b[a+(s+2<<1)>>1]=x;b[a+(r<<1)>>1]=x;v=(k+2+(t<<1)+v|0)>>>2&65535;b[a+(w+7<<1)>>1]=v;b[a+(u+5<<1)>>1]=v;b[a+(s+3<<1)>>1]=v;b[a+((r|1)<<1)>>1]=v;v=(k+1+t|0)>>>1&65535;b[a+(u+6<<1)>>1]=v;b[a+(s+4<<1)>>1]=v;b[a+((r|2)<<1)>>1]=v;b[a+(p<<1)>>1]=v;t=(q+2+(k<<1)+t|0)>>>2&65535;b[a+(u+7<<1)>>1]=t;b[a+(s+5<<1)>>1]=t;b[a+((r|3)<<1)>>1]=t;b[a+(p+1<<1)>>1]=t;t=(q+1+k|0)>>>1&65535;b[a+(s+6<<1)>>1]=t;b[a+(r+4<<1)>>1]=t;b[a+(p+2<<1)>>1]=t;b[a+(l<<1)>>1]=t;k=(o+2+(q<<1)+k|0)>>>2&65535;b[a+(s+7<<1)>>1]=k;b[a+(r+5<<1)>>1]=k;b[a+(p+3<<1)>>1]=k;b[a+((l|1)<<1)>>1]=k;k=o+1|0;s=(k+q|0)>>>1&65535;b[a+(r+6<<1)>>1]=s;b[a+(p+4<<1)>>1]=s;b[a+(l+2<<1)>>1]=s;b[a+(i<<1)>>1]=s;q=((o<<1)+2+q+m|0)>>>2&65535;b[a+(r+7<<1)>>1]=q;b[a+(p+5<<1)>>1]=q;b[a+(l+3<<1)>>1]=q;b[a+(i+1<<1)>>1]=q;k=(k+m|0)>>>1&65535;b[a+(p+6<<1)>>1]=k;b[a+(l+4<<1)>>1]=k;b[a+(i+2<<1)>>1]=k;b[a>>1]=k;k=n+2|0;o=(k+o+(m<<1)|0)>>>2&65535;b[a+(p+7<<1)>>1]=o;b[a+(l+5<<1)>>1]=o;b[a+(i+3<<1)>>1]=o;b[a+2>>1]=o;m=((n<<1)+2+j+m|0)>>>2&65535;b[a+(l+6<<1)>>1]=m;b[a+(i+4<<1)>>1]=m;b[a+4>>1]=m;k=(k+(j<<1)+h|0)>>>2&65535;b[a+(l+7<<1)>>1]=k;b[a+(i+5<<1)>>1]=k;b[a+6>>1]=k;j=(j+2+(h<<1)+g|0)>>>2&65535;b[a+(i+6<<1)>>1]=j;b[a+8>>1]=j;h=(h+2+(g<<1)+c|0)>>>2&65535;b[a+(i+7<<1)>>1]=h;b[a+10>>1]=h;b[a+12>>1]=(g+2+(c<<1)+d|0)>>>2;b[a+14>>1]=(c+2+(d<<1)+f|0)>>>2;return}function qp(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=f>>1;k=e[a+(0-q<<1)>>1]|0;l=e[a+(1-q<<1)>>1]|0;j=((e[a+((((c|0)!=0)<<31>>31)-q<<1)>>1]|0)+2+(k<<1)+l|0)>>>2;m=e[a+(2-q<<1)>>1]|0;k=(k+2+(l<<1)+m|0)>>>2;n=e[a+(3-q<<1)>>1]|0;l=(l+2+(m<<1)+n|0)>>>2;o=e[a+(4-q<<1)>>1]|0;m=(m+2+(n<<1)+o|0)>>>2;p=e[a+(5-q<<1)>>1]|0;n=(n+2+(o<<1)+p|0)>>>2;i=e[a+(6-q<<1)>>1]|0;o=(o+2+(p<<1)+i|0)>>>2;f=e[a+(7-q<<1)>>1]|0;p=(p+2+(i<<1)+f|0)>>>2;h=(d|0)!=0;i=(i+2+(e[a+((h?8:7)-q<<1)>>1]|0)+(f<<1)|0)>>>2;if(h){s=e[a+(8-q<<1)>>1]|0;r=e[a+(9-q<<1)>>1]|0;h=e[a+(10-q<<1)>>1]|0;g=e[a+(11-q<<1)>>1]|0;d=e[a+(12-q<<1)>>1]|0;c=(g+2+(d<<1)+(e[a+(13-q<<1)>>1]|0)|0)>>>2;d=(h+2+(g<<1)+d|0)>>>2;g=(r+2+(h<<1)+g|0)>>>2;h=(s+2+(r<<1)+h|0)>>>2;f=(f+2+(s<<1)+r|0)>>>2}else{c=f;d=f;g=f;h=f}b[a>>1]=(j+1+k|0)>>>1;b[a+(q<<1)>>1]=(j+2+(k<<1)+l|0)>>>2;s=(k+1+l|0)>>>1&65535;b[a+2>>1]=s;t=q<<1;b[a+(t<<1)>>1]=s;s=(k+2+(l<<1)+m|0)>>>2&65535;b[a+(q+1<<1)>>1]=s;j=q*3|0;b[a+(j<<1)>>1]=s;s=(l+1+m|0)>>>1&65535;b[a+4>>1]=s;b[a+((t|1)<<1)>>1]=s;k=q<<2;b[a+(k<<1)>>1]=s;s=(l+2+(m<<1)+n|0)>>>2&65535;b[a+(q+2<<1)>>1]=s;b[a+(j+1<<1)>>1]=s;l=q*5|0;b[a+(l<<1)>>1]=s;s=(m+1+n|0)>>>1&65535;b[a+6>>1]=s;b[a+(t+2<<1)>>1]=s;b[a+((k|1)<<1)>>1]=s;r=q*6|0;b[a+(r<<1)>>1]=s;m=(m+2+(n<<1)+o|0)>>>2&65535;b[a+(q+3<<1)>>1]=m;b[a+(j+2<<1)>>1]=m;b[a+(l+1<<1)>>1]=m;s=q*7|0;b[a+(s<<1)>>1]=m;m=(n+1+o|0)>>>1&65535;b[a+8>>1]=m;b[a+(t+3<<1)>>1]=m;b[a+((k|2)<<1)>>1]=m;b[a+((r|1)<<1)>>1]=m;n=(n+2+(o<<1)+p|0)>>>2&65535;b[a+(q+4<<1)>>1]=n;b[a+(j+3<<1)>>1]=n;b[a+(l+2<<1)>>1]=n;b[a+(s+1<<1)>>1]=n;n=(o+1+p|0)>>>1&65535;b[a+10>>1]=n;b[a+(t+4<<1)>>1]=n;b[a+((k|3)<<1)>>1]=n;b[a+(r+2<<1)>>1]=n;o=(o+2+(p<<1)+i|0)>>>2&65535;b[a+(q+5<<1)>>1]=o;b[a+(j+4<<1)>>1]=o;b[a+(l+3<<1)>>1]=o;b[a+(s+2<<1)>>1]=o;o=(p+1+i|0)>>>1&65535;b[a+12>>1]=o;b[a+(t+5<<1)>>1]=o;b[a+(k+4<<1)>>1]=o;b[a+(r+3<<1)>>1]=o;p=(p+2+(i<<1)+f|0)>>>2&65535;b[a+(q+6<<1)>>1]=p;b[a+(j+5<<1)>>1]=p;b[a+(l+4<<1)>>1]=p;b[a+(s+3<<1)>>1]=p;p=(i+1+f|0)>>>1&65535;b[a+14>>1]=p;b[a+(t+6<<1)>>1]=p;b[a+(k+5<<1)>>1]=p;b[a+(r+4<<1)>>1]=p;p=(i+2+(f<<1)+h|0)>>>2&65535;b[a+(q+7<<1)>>1]=p;b[a+(j+6<<1)>>1]=p;b[a+(l+5<<1)>>1]=p;b[a+(s+4<<1)>>1]=p;q=(f+1+h|0)>>>1&65535;b[a+(t+7<<1)>>1]=q;b[a+(k+6<<1)>>1]=q;b[a+(r+5<<1)>>1]=q;q=(f+2+(h<<1)+g|0)>>>2&65535;b[a+(j+7<<1)>>1]=q;b[a+(l+6<<1)>>1]=q;b[a+(s+5<<1)>>1]=q;q=(h+1+g|0)>>>1&65535;b[a+(k+7<<1)>>1]=q;b[a+(r+6<<1)>>1]=q;q=(h+2+(g<<1)+d|0)>>>2&65535;b[a+(l+7<<1)>>1]=q;b[a+(s+6<<1)>>1]=q;b[a+(r+7<<1)>>1]=(g+1+d|0)>>>1;b[a+(s+7<<1)>>1]=(g+2+(d<<1)+c|0)>>>2;return}function rp(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=f>>1;r=e[a+((H(n,((c|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;q=e[a+-2>>1]|0;p=e[a+(n+-1<<1)>>1]|0;r=(r+2+(q<<1)+p|0)>>>2;l=n<<1;o=e[a+(l+-1<<1)>>1]|0;q=(q+2+(p<<1)+o|0)>>>2;j=n*3|0;m=e[a+(j+-1<<1)>>1]|0;p=(p+2+(o<<1)+m|0)>>>2;h=n<<2;k=e[a+(h+-1<<1)>>1]|0;o=(o+2+(m<<1)+k|0)>>>2;g=n*5|0;i=e[a+(g+-1<<1)>>1]|0;m=(m+2+(k<<1)+i|0)>>>2;c=n*6|0;s=e[a+(c+-1<<1)>>1]|0;k=(k+2+(i<<1)+s|0)>>>2;f=n*7|0;d=e[a+(f+-1<<1)>>1]|0;i=(i+2+(s<<1)+d|0)>>>2;d=(s+2+(d*3|0)|0)>>>2;b[a>>1]=(r+1+q|0)>>>1;b[a+2>>1]=(r+2+(q<<1)+p|0)>>>2;r=(q+1+p|0)>>>1&65535;b[a+4>>1]=r;b[a+(n<<1)>>1]=r;q=(q+2+(p<<1)+o|0)>>>2&65535;b[a+6>>1]=q;b[a+(n+1<<1)>>1]=q;q=(p+1+o|0)>>>1&65535;b[a+8>>1]=q;b[a+(n+2<<1)>>1]=q;b[a+(l<<1)>>1]=q;p=(p+2+(o<<1)+m|0)>>>2&65535;b[a+10>>1]=p;b[a+(n+3<<1)>>1]=p;b[a+((l|1)<<1)>>1]=p;p=(o+1+m|0)>>>1&65535;b[a+12>>1]=p;b[a+(n+4<<1)>>1]=p;b[a+(l+2<<1)>>1]=p;b[a+(j<<1)>>1]=p;o=(o+2+(m<<1)+k|0)>>>2&65535;b[a+14>>1]=o;b[a+(n+5<<1)>>1]=o;b[a+(l+3<<1)>>1]=o;b[a+(j+1<<1)>>1]=o;o=(m+1+k|0)>>>1&65535;b[a+(n+6<<1)>>1]=o;b[a+(l+4<<1)>>1]=o;b[a+(j+2<<1)>>1]=o;b[a+(h<<1)>>1]=o;m=(m+2+(k<<1)+i|0)>>>2&65535;b[a+(n+7<<1)>>1]=m;b[a+(l+5<<1)>>1]=m;b[a+(j+3<<1)>>1]=m;b[a+((h|1)<<1)>>1]=m;m=(k+1+i|0)>>>1&65535;b[a+(l+6<<1)>>1]=m;b[a+(j+4<<1)>>1]=m;b[a+((h|2)<<1)>>1]=m;b[a+(g<<1)>>1]=m;k=(k+2+d+(i<<1)|0)>>>2&65535;b[a+(l+7<<1)>>1]=k;b[a+(j+5<<1)>>1]=k;b[a+((h|3)<<1)>>1]=k;b[a+(g+1<<1)>>1]=k;k=(d+1+i|0)>>>1&65535;b[a+(j+6<<1)>>1]=k;b[a+(h+4<<1)>>1]=k;b[a+(g+2<<1)>>1]=k;b[a+(c<<1)>>1]=k;i=(i+2+(d*3|0)|0)>>>2&65535;b[a+(j+7<<1)>>1]=i;b[a+(h+5<<1)>>1]=i;b[a+(g+3<<1)>>1]=i;b[a+((c|1)<<1)>>1]=i;d=d&65535;b[a+(f+7<<1)>>1]=d;b[a+(c+7<<1)>>1]=d;b[a+(g+7<<1)>>1]=d;b[a+(h+7<<1)>>1]=d;b[a+(f+6<<1)>>1]=d;b[a+(c+6<<1)>>1]=d;b[a+(g+6<<1)>>1]=d;b[a+(h+6<<1)>>1]=d;b[a+(f+5<<1)>>1]=d;b[a+(c+5<<1)>>1]=d;b[a+(g+5<<1)>>1]=d;b[a+(f+4<<1)>>1]=d;b[a+(c+4<<1)>>1]=d;b[a+(g+4<<1)>>1]=d;b[a+(f+3<<1)>>1]=d;b[a+(c+3<<1)>>1]=d;b[a+(f+2<<1)>>1]=d;b[a+(c+2<<1)>>1]=d;b[a+(f+1<<1)>>1]=d;b[a+(f<<1)>>1]=d;return}function sp(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=f>>1;m=e[a+((H(h,((b|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;l=e[a+-2>>1]|0;k=e[a+(h+-1<<1)>>1]|0;j=e[a+((h<<1)+-1<<1)>>1]|0;i=e[a+((h*3|0)+-1<<1)>>1]|0;d=e[a+((h<<2)+-1<<1)>>1]|0;f=e[a+((h*5|0)+-1<<1)>>1]|0;g=e[a+((h*6|0)+-1<<1)>>1]|0;b=e[a+((h*7|0)+-1<<1)>>1]|0;b=((m+2+(l<<1)+k|0)>>>2)+4+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+d|0)>>>2)+((i+2+(d<<1)+f|0)>>>2)+((d+2+(f<<1)+g|0)>>>2)+((f+2+(g<<1)+b|0)>>>2)+((g+2+(b*3|0)|0)>>>2)>>3;b=PW(b|0,((b|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;f=0;d=a;while(1){if((f|0)==8)break;m=d;c[m>>2]=b;c[m+4>>2]=g;m=d+8|0;c[m>>2]=b;c[m+4>>2]=g;f=f+1|0;d=d+(h<<1)|0}return}function tp(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=f>>1;n=e[a+(0-h<<1)>>1]|0;m=e[a+(1-h<<1)>>1]|0;l=e[a+(2-h<<1)>>1]|0;k=e[a+(3-h<<1)>>1]|0;j=e[a+(4-h<<1)>>1]|0;i=e[a+(5-h<<1)>>1]|0;f=e[a+(6-h<<1)>>1]|0;g=e[a+(7-h<<1)>>1]|0;d=(((e[a+((((b|0)!=0)<<31>>31)-h<<1)>>1]|0)+2+(n<<1)+m|0)>>>2)+4+((n+2+(m<<1)+l|0)>>>2)+((m+2+(l<<1)+k|0)>>>2)+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+f|0)>>>2)+((i+2+(f<<1)+g|0)>>>2)+((f+2+(e[a+((d|0?8:7)-h<<1)>>1]|0)+(g<<1)|0)>>>2)>>3;d=PW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=0;f=a;while(1){if((b|0)==8)break;n=f;c[n>>2]=d;c[n+4>>2]=g;n=f+8|0;c[n>>2]=d;c[n+4>>2]=g;b=b+1|0;f=f+(h<<1)|0}return}function up(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;d=e>>1;b=0;while(1){if((b|0)==8)break;e=a;c[e>>2]=33554944;c[e+4>>2]=33554944;e=a+8|0;c[e>>2]=33554944;c[e+4>>2]=33554944;b=b+1|0;a=a+(d<<1)|0}return}function vp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=b>>1;f=a+(0-g<<1)|0;d=f;h=c[d>>2]|0;d=c[d+4>>2]|0;f=f+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;b=0;while(1){if((b|0)==8)break;i=a+((H(b,g)|0)<<1)|0;j=i;c[j>>2]=h;c[j+4>>2]=d;i=i+8|0;c[i>>2]=e;c[i+4>>2]=f;b=b+1|0}return}function wp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=b>>1;f=a+(0-g<<1)|0;d=f;h=c[d>>2]|0;d=c[d+4>>2]|0;f=f+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;b=0;while(1){if((b|0)==16)break;i=a+((H(b,g)|0)<<1)|0;j=i;c[j>>2]=h;c[j+4>>2]=d;i=i+8|0;c[i>>2]=e;c[i+4>>2]=f;b=b+1|0}return}function xp(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==8)break;f=H(b,d)|0;h=PW(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;f=f+8|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function yp(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==16)break;f=H(b,d)|0;h=PW(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;f=f+8|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function zp(a,c){a=a|0;c=c|0;var d=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=c>>1;h=0-q|0;i=a+6+(h<<1)|0;f=a+(q<<2<<1)+-2|0;p=q<<1;d=f+(0-p<<1)|0;o=a+((q*14|0)+-2)|0;p=a+(-2-p)|0;j=(e[f>>1]|0)-(e[d>>1]|0)|0;c=(e[i+2>>1]|0)-(e[i+-2>>1]|0)|0;g=2;while(1){if((g|0)==5)break;n=f+(q<<1)|0;m=d+(h<<1)|0;l=(H((e[i+(g<<1)>>1]|0)-(e[i+(0-g<<1)>>1]|0)|0,g)|0)+c|0;j=(H((e[n>>1]|0)-(e[m>>1]|0)|0,g)|0)+j|0;c=l;d=m;f=n;g=g+1|0}n=(c*17|0)+16>>5;g=(j*17|0)+16>>5;h=n<<1;i=n*3|0;j=n<<2;k=n*5|0;l=n*6|0;m=n*7|0;f=8;d=(H(g+n|0,-3)|0)+16+((e[p+16>>1]|0)+(e[o>>1]|0)<<4)|0;c=a;while(1){if((f|0)<=0)break;a=d>>5;b[c>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+n>>5;b[c+2>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+h>>5;b[c+4>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+i>>5;b[c+6>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+j>>5;b[c+8>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+k>>5;b[c+10>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+l>>5;b[c+12>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+m>>5;b[c+14>>1]=a>>>0<1024?a:0-a>>31&1023;f=f+-1|0;d=d+g|0;c=c+(q<<1)|0}return}function Ap(a,c){a=a|0;c=c|0;var d=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=c>>1;l=0-q|0;h=a+6+(l<<1)|0;g=a+(q<<3<<1)+-2|0;f=g+(0-(q<<1)<<1)|0;j=a+((q*22|0)+-2)|0;i=a+((q*6|0)+-2)|0;c=2;d=(e[g>>1]|0)-(e[f>>1]|0)|0;k=(e[h+2>>1]|0)-(e[h+-2>>1]|0)|0;while(1){if((c|0)==5)break;p=g+(q<<1)|0;o=f+(l<<1)|0;n=(H((e[h+(c<<1)>>1]|0)-(e[h+(0-c<<1)>>1]|0)|0,c)|0)+k|0;m=(H((e[p>>1]|0)-(e[o>>1]|0)|0,c)|0)+d|0;c=c+1|0;d=m;k=n;f=o;g=p}c=5;while(1){if((c|0)>=9)break;p=j+(q<<1)|0;o=i+(l<<1)|0;d=(H((e[p>>1]|0)-(e[o>>1]|0)|0,c)|0)+d|0;c=c+1|0;i=o;j=p}p=(k*17|0)+16>>5;g=(d*5|0)+32>>6;h=p*3|0;k=p<<1;l=p<<2;m=p*5|0;n=p*6|0;o=p*7|0;f=16;d=16-h+(H(g,-7)|0)+((e[i+16>>1]|0)+(e[j>>1]|0)<<4)|0;c=a;while(1){if((f|0)<=0)break;a=d>>5;b[c>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+p>>5;b[c+2>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+k>>5;b[c+4>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+h>>5;b[c+6>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+l>>5;b[c+8>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+m>>5;b[c+10>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+n>>5;b[c+12>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+o>>5;b[c+14>>1]=a>>>0<1024?a:0-a>>31&1023;f=f+-1|0;d=d+g|0;c=c+(q<<1)|0}return}function Bp(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=b>>1;b=0;d=0;f=0;g=0;while(1){if((b|0)==4)break;l=e[a+((H(b,n)|0)+-1<<1)>>1]|0;l=d+l+(e[a+(b-n<<1)>>1]|0)|0;m=b+4|0;b=b+1|0;d=l;f=f+(e[a+(m-n<<1)>>1]|0)|0;g=g+(e[a+((H(m,n)|0)+-1<<1)>>1]|0)|0}d=d+4>>3;d=PW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;h=M()|0;i=f+2>>2;i=PW(i|0,((i|0)<0)<<31>>31|0,65537,65537)|0;j=M()|0;k=g+2>>2;l=((k|0)<0)<<31>>31;f=g+4+f>>3;m=((f|0)<0)<<31>>31;b=0;while(1){if((b|0)==4)break;g=a+((H(b,n)|0)<<1)|0;o=g;c[o>>2]=d;c[o+4>>2]=h;g=g+8|0;c[g>>2]=i;c[g+4>>2]=j;b=b+1|0}g=PW(k|0,l|0,65537,65537)|0;h=M()|0;d=PW(f|0,m|0,65537,65537)|0;f=M()|0;b=4;while(1){if((b|0)==8)break;o=a+((H(b,n)|0)<<1)|0;m=o;c[m>>2]=g;c[m+4>>2]=h;o=o+8|0;c[o>>2]=d;c[o+4>>2]=f;b=b+1|0}return}function Cp(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;i=b>>1;b=0;d=0;f=0;while(1){if((b|0)==4)break;g=d+(e[a+((H(b,i)|0)+-1<<1)>>1]|0)|0;h=f+(e[a+((H(b+4|0,i)|0)+-1<<1)>>1]|0)|0;b=b+1|0;d=g;f=h}g=d+2>>2;g=PW(g|0,((g|0)<0)<<31>>31|0,65537,65537)|0;h=M()|0;d=f+2>>2;f=((d|0)<0)<<31>>31;b=0;while(1){if((b|0)==4)break;j=a+((H(b,i)|0)<<1)|0;k=j;c[k>>2]=g;c[k+4>>2]=h;j=j+8|0;c[j>>2]=g;c[j+4>>2]=h;b=b+1|0}d=PW(d|0,f|0,65537,65537)|0;f=M()|0;b=4;while(1){if((b|0)==8)break;k=a+((H(b,i)|0)<<1)|0;j=k;c[j>>2]=d;c[j+4>>2]=f;k=k+8|0;c[k>>2]=d;c[k+4>>2]=f;b=b+1|0}return}function Dp(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;j=b>>1;f=4-j|0;b=0;d=0;g=0;while(1){if((b|0)==4)break;h=d+(e[a+(b-j<<1)>>1]|0)|0;i=g+(e[a+(f+b<<1)>>1]|0)|0;b=b+1|0;d=h;g=i}h=d+2>>2;h=PW(h|0,((h|0)<0)<<31>>31|0,65537,65537)|0;i=M()|0;d=g+2>>2;d=PW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;f=M()|0;b=0;while(1){if((b|0)==4){b=4;break}g=a+((H(b,j)|0)<<1)|0;k=g;c[k>>2]=h;c[k+4>>2]=i;g=g+8|0;c[g>>2]=d;c[g+4>>2]=f;b=b+1|0}while(1){if((b|0)==8)break;k=a+((H(b,j)|0)<<1)|0;g=k;c[g>>2]=h;c[g+4>>2]=i;k=k+8|0;c[k>>2]=d;c[k+4>>2]=f;b=b+1|0}return}function Ep(a,b){a=a|0;b=b|0;Dp(a,b);Zo(a,0,b);return}function Fp(a,b){a=a|0;b=b|0;Bp(a,b);hp(a,0,b);return}function Gp(a,b){a=a|0;b=b|0;Cp(a,b);a=a+(b<<2)|0;ip(a,0,b);ip(a+8|0,0,b);return}function Hp(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=b>>1;b=0;d=0;h=0;f=0;g=0;i=0;while(1){if((b|0)==4)break;t=e[a+((H(b,y)|0)+-1<<1)>>1]|0;t=d+t+(e[a+(b-y<<1)>>1]|0)|0;u=b+4|0;v=f+(e[a+((H(u,y)|0)+-1<<1)>>1]|0)|0;w=g+(e[a+((H(b+8|0,y)|0)+-1<<1)>>1]|0)|0;x=i+(e[a+((H(b+12|0,y)|0)+-1<<1)>>1]|0)|0;b=b+1|0;d=t;h=h+(e[a+(u-y<<1)>>1]|0)|0;f=v;g=w;i=x}d=d+4>>3;d=PW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;j=M()|0;k=h+2>>2;k=PW(k|0,((k|0)<0)<<31>>31|0,65537,65537)|0;l=M()|0;m=f+2>>2;n=((m|0)<0)<<31>>31;f=f+4+h>>3;o=((f|0)<0)<<31>>31;r=g+2>>2;s=((r|0)<0)<<31>>31;g=g+4+h>>3;t=((g|0)<0)<<31>>31;u=i+2>>2;v=((u|0)<0)<<31>>31;w=i+4+h>>3;x=((w|0)<0)<<31>>31;b=0;while(1){if((b|0)==4)break;q=a+((H(b,y)|0)<<1)|0;p=q;c[p>>2]=d;c[p+4>>2]=j;q=q+8|0;c[q>>2]=k;c[q+4>>2]=l;b=b+1|0}p=PW(m|0,n|0,65537,65537)|0;q=M()|0;m=PW(f|0,o|0,65537,65537)|0;n=M()|0;k=PW(r|0,s|0,65537,65537)|0;l=M()|0;i=PW(g|0,t|0,65537,65537)|0;j=M()|0;g=PW(u|0,v|0,65537,65537)|0;h=M()|0;d=PW(w|0,x|0,65537,65537)|0;f=M()|0;b=4;while(1){if((b|0)==8){b=8;break}x=a+((H(b,y)|0)<<1)|0;w=x;c[w>>2]=p;c[w+4>>2]=q;x=x+8|0;c[x>>2]=m;c[x+4>>2]=n;b=b+1|0}while(1){if((b|0)==12){b=12;break}x=a+((H(b,y)|0)<<1)|0;w=x;c[w>>2]=k;c[w+4>>2]=l;x=x+8|0;c[x>>2]=i;c[x+4>>2]=j;b=b+1|0}while(1){if((b|0)==16)break;x=a+((H(b,y)|0)<<1)|0;w=x;c[w>>2]=g;c[w+4>>2]=h;x=x+8|0;c[x>>2]=d;c[x+4>>2]=f;b=b+1|0}return}function Ip(a,b){a=a|0;b=b|0;Cp(a,b);Cp(a+(b<<3)|0,b);return}function Jp(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;j=b>>1;f=4-j|0;b=0;d=0;g=0;while(1){if((b|0)==4)break;h=d+(e[a+(b-j<<1)>>1]|0)|0;i=g+(e[a+(f+b<<1)>>1]|0)|0;b=b+1|0;d=h;g=i}h=d+2>>2;h=PW(h|0,((h|0)<0)<<31>>31|0,65537,65537)|0;i=M()|0;d=g+2>>2;d=PW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;f=M()|0;b=0;while(1){if((b|0)==16)break;g=a+((H(b,j)|0)<<1)|0;k=g;c[k>>2]=h;c[k+4>>2]=i;g=g+8|0;c[g>>2]=d;c[g+4>>2]=f;b=b+1|0}return}function Kp(a,b){a=a|0;b=b|0;Jp(a,b);Zo(a,0,b);return}function Lp(a,b){a=a|0;b=b|0;Hp(a,b);hp(a,0,b);return}function Mp(a,b){a=a|0;b=b|0;Ip(a,b);a=a+(b<<2)|0;ip(a,0,b);ip(a+8|0,0,b);return}function Np(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=33489407;c[f+4>>2]=33489407;e=e+8|0;c[e>>2]=33489407;c[e+4>>2]=33489407;b=b+1|0}return}function Op(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=33620481;c[f+4>>2]=33620481;e=e+8|0;c[e>>2]=33620481;c[e+4>>2]=33620481;b=b+1|0}return}function Pp(a,b){a=a|0;b=b|0;Ip(a,b);ip(a,0,b);ip(a+8|0,0,b);return}function Qp(a,b){a=a|0;b=b|0;Cp(a,b);ip(a,0,b);ip(a+8|0,0,b);return}function Rp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=33554944;c[f+4>>2]=33554944;e=e+8|0;c[e>>2]=33554944;c[e+4>>2]=33554944;b=b+1|0}return}function Sp(a,b){a=a|0;b=b|0;Rp(a,b);Rp(a+(b<<3)|0,b);return}function Tp(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16){d=0;break}b=b+(e[a+((H(d,h)|0)+-1<<1)>>1]|0)|0;d=d+1|0}while(1){if((d|0)==16)break;b=b+(e[a+(d-h<<1)>>1]|0)|0;d=d+1|0}f=b+16>>5;f=PW(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function Up(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=b>>1;k=a+(0-g<<1)|0;d=k;l=c[d>>2]|0;d=c[d+4>>2]|0;f=k+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;i=k+16|0;h=c[i>>2]|0;i=c[i+4>>2]|0;k=k+24|0;j=c[k>>2]|0;k=c[k+4>>2]|0;b=0;while(1){if((b|0)==16)break;m=a+((H(b,g)|0)<<1)|0;n=m;c[n>>2]=l;c[n+4>>2]=d;n=m+8|0;c[n>>2]=e;c[n+4>>2]=f;n=m+16|0;c[n>>2]=h;c[n+4>>2]=i;m=m+24|0;c[m>>2]=j;c[m+4>>2]=k;b=b+1|0}return}function Vp(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==16)break;f=H(b,d)|0;h=PW(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;i=f+8|0;c[i>>2]=h;c[i+4>>2]=g;i=f+16|0;c[i>>2]=h;c[i+4>>2]=g;f=f+24|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function Wp(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=33489407;c[e+4>>2]=33489407;e=b+8|0;c[e>>2]=33489407;c[e+4>>2]=33489407;e=b+16|0;c[e>>2]=33489407;c[e+4>>2]=33489407;e=b+24|0;c[e>>2]=33489407;c[e+4>>2]=33489407;b=b+(d<<1)|0;a=a+1|0}return}function Xp(a,b){a=a|0;b=b|0;ou(a,b);return}function Yp(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=33620481;c[e+4>>2]=33620481;e=b+8|0;c[e>>2]=33620481;c[e+4>>2]=33620481;e=b+16|0;c[e>>2]=33620481;c[e+4>>2]=33620481;e=b+24|0;c[e>>2]=33620481;c[e+4>>2]=33620481;b=b+(d<<1)|0;a=a+1|0}return}function Zp(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16)break;b=b+(e[a+((H(d,h)|0)+-1<<1)>>1]|0)|0;d=d+1|0}f=b+8>>4;f=PW(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function _p(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16)break;b=b+(e[a+(d-h<<1)>>1]|0)|0;d=d+1|0}f=b+8>>4;f=PW(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function $p(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=33554944;c[e+4>>2]=33554944;e=b+8|0;c[e>>2]=33554944;c[e+4>>2]=33554944;e=b+16|0;c[e>>2]=33554944;c[e+4>>2]=33554944;e=b+24|0;c[e>>2]=33554944;c[e+4>>2]=33554944;b=b+(d<<1)|0;a=a+1|0}return}function aq(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;h=f>>1;i=h<<1;j=h*3|0;k=h<<2;g=d;f=a+(0-h<<1)|0;a=0;while(1){if((a|0)==4)break;l=(c[g>>2]|0)+(e[f>>1]|0)|0;b[f+(h<<1)>>1]=l;l=(c[g+16>>2]|0)+l|0;b[f+(i<<1)>>1]=l;l=(c[g+32>>2]|0)+l|0;b[f+(j<<1)>>1]=l;b[f+(k<<1)>>1]=(c[g+48>>2]|0)+l;g=g+4|0;f=f+2|0;a=a+1|0}f=d+64|0;do{b[d>>1]=0;d=d+2|0}while((d|0)<(f|0));return}function bq(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0;h=f>>1;g=d;f=a;a=0;while(1){if((a|0)==4)break;i=(c[g>>2]|0)+(e[f+-2>>1]|0)|0;b[f>>1]=i;i=(c[g+4>>2]|0)+i|0;b[f+2>>1]=i;i=(c[g+8>>2]|0)+i|0;b[f+4>>1]=i;b[f+6>>1]=(c[g+12>>2]|0)+i;g=g+16|0;f=f+(h<<1)|0;a=a+1|0}f=d+64|0;do{b[d>>1]=0;d=d+2|0}while((d|0)<(f|0));return}function cq(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=f>>1;l=k<<1;m=k*3|0;n=k<<2;o=k*5|0;h=k*6|0;i=k*7|0;j=k<<3;g=d;f=a+(0-k<<1)|0;a=0;while(1){if((a|0)==8)break;p=(c[g>>2]|0)+(e[f>>1]|0)|0;b[f+(k<<1)>>1]=p;p=(c[g+32>>2]|0)+p|0;b[f+(l<<1)>>1]=p;p=(c[g+64>>2]|0)+p|0;b[f+(m<<1)>>1]=p;p=(c[g+96>>2]|0)+p|0;b[f+(n<<1)>>1]=p;p=(c[g+128>>2]|0)+p|0;b[f+(o<<1)>>1]=p;p=(c[g+160>>2]|0)+p|0;b[f+(h<<1)>>1]=p;p=(c[g+192>>2]|0)+p|0;b[f+(i<<1)>>1]=p;b[f+(j<<1)>>1]=(c[g+224>>2]|0)+p;g=g+4|0;f=f+2|0;a=a+1|0}_W(d|0,0,256)|0;return}function dq(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0;h=f>>1;g=d;f=a;a=0;while(1){if((a|0)==8)break;i=(c[g>>2]|0)+(e[f+-2>>1]|0)|0;b[f>>1]=i;i=(c[g+4>>2]|0)+i|0;b[f+2>>1]=i;i=(c[g+8>>2]|0)+i|0;b[f+4>>1]=i;i=(c[g+12>>2]|0)+i|0;b[f+6>>1]=i;i=(c[g+16>>2]|0)+i|0;b[f+8>>1]=i;i=(c[g+20>>2]|0)+i|0;b[f+10>>1]=i;i=(c[g+24>>2]|0)+i|0;b[f+12>>1]=i;b[f+14>>1]=(c[g+28>>2]|0)+i;g=g+32|0;f=f+(h<<1)|0;a=a+1|0}_W(d|0,0,256)|0;return}function eq(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);p=q;o=h>>1;s=e[a+(0-o<<1)>>1]|0;r=e[a+(1-o<<1)>>1]|0;h=e[a+(2-o<<1)>>1]|0;n=e[a+(3-o<<1)>>1]|0;m=e[a+(4-o<<1)>>1]|0;l=e[a+(5-o<<1)>>1]|0;k=e[a+(6-o<<1)>>1]|0;j=e[a+(7-o<<1)>>1]|0;i=(k+2+(e[a+((g|0?8:7)-o<<1)>>1]|0)+(j<<1)|0)>>>2;b[p>>1]=((e[a+((((f|0)!=0)<<31>>31)-o<<1)>>1]|0)+2+(s<<1)+r|0)>>>2;b[p+2>>1]=(s+2+(r<<1)+h|0)>>>2;b[p+4>>1]=(r+2+(h<<1)+n|0)>>>2;b[p+6>>1]=(h+2+(n<<1)+m|0)>>>2;b[p+8>>1]=(n+2+(m<<1)+l|0)>>>2;b[p+10>>1]=(m+2+(l<<1)+k|0)>>>2;b[p+12>>1]=(l+2+(k<<1)+j|0)>>>2;b[p+14>>1]=i;i=o<<1;j=o*3|0;k=o<<2;l=o*5|0;m=o*6|0;n=o*7|0;g=0;h=a;f=d;while(1){if((g|0)==8)break;s=(c[f>>2]|0)+(e[p+(g<<1)>>1]|0)|0;b[h>>1]=s;s=(c[f+32>>2]|0)+s|0;b[h+(o<<1)>>1]=s;s=(c[f+64>>2]|0)+s|0;b[h+(i<<1)>>1]=s;s=(c[f+96>>2]|0)+s|0;b[h+(j<<1)>>1]=s;s=(c[f+128>>2]|0)+s|0;b[h+(k<<1)>>1]=s;s=(c[f+160>>2]|0)+s|0;b[h+(l<<1)>>1]=s;s=(c[f+192>>2]|0)+s|0;b[h+(m<<1)>>1]=s;b[h+(n<<1)>>1]=(c[f+224>>2]|0)+s;g=g+1|0;h=h+2|0;f=f+4|0}_W(d|0,0,256)|0;$c=q;return}function fq(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;k=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);j=k;i=h>>1;q=e[a+((H(i,((f|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;p=e[a+-2>>1]|0;o=e[a+(i+-1<<1)>>1]|0;n=e[a+((i<<1)+-1<<1)>>1]|0;m=e[a+((i*3|0)+-1<<1)>>1]|0;l=e[a+((i<<2)+-1<<1)>>1]|0;h=e[a+((i*5|0)+-1<<1)>>1]|0;g=e[a+((i*6|0)+-1<<1)>>1]|0;f=e[a+((i*7|0)+-1<<1)>>1]|0;b[j>>1]=(q+2+(p<<1)+o|0)>>>2;b[j+2>>1]=(p+2+(o<<1)+n|0)>>>2;b[j+4>>1]=(o+2+(n<<1)+m|0)>>>2;b[j+6>>1]=(n+2+(m<<1)+l|0)>>>2;b[j+8>>1]=(m+2+(l<<1)+h|0)>>>2;b[j+10>>1]=(l+2+(h<<1)+g|0)>>>2;b[j+12>>1]=(h+2+(g<<1)+f|0)>>>2;b[j+14>>1]=(g+2+(f*3|0)|0)>>>2;f=0;g=a;h=d;while(1){if((f|0)==8)break;q=(c[h>>2]|0)+(e[j+(f<<1)>>1]|0)|0;b[g>>1]=q;q=(c[h+4>>2]|0)+q|0;b[g+2>>1]=q;q=(c[h+8>>2]|0)+q|0;b[g+4>>1]=q;q=(c[h+12>>2]|0)+q|0;b[g+6>>1]=q;q=(c[h+16>>2]|0)+q|0;b[g+8>>1]=q;q=(c[h+20>>2]|0)+q|0;b[g+10>>1]=q;q=(c[h+24>>2]|0)+q|0;b[g+12>>1]=q;b[g+14>>1]=(c[h+28>>2]|0)+q;f=f+1|0;g=g+(i<<1)|0;h=h+32|0}_W(d|0,0,256)|0;$c=k;return}function gq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;aq(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function hq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4){f=4;break}aq(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}while(1){if((f|0)==8)break;aq(a+(c[b+(f+4<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function iq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;bq(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function jq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4){f=4;break}bq(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}while(1){if((f|0)==8)break;bq(a+(c[b+(f+4<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function kq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;d=d>>1;b=a+(0-d<<1)|0;e=c[b>>2]|0;b=c[b+4>>2]|0;f=a;c[f>>2]=e;c[f+4>>2]=b;f=a+(d<<1)|0;c[f>>2]=e;c[f+4>>2]=b;f=a+(d<<1<<1)|0;c[f>>2]=e;c[f+4>>2]=b;d=a+(d*3<<1)|0;c[d>>2]=e;c[d+4>>2]=b;return}function lq(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0;d=d>>1;f=PW(e[a+-2>>1]|0|0,0,65537,65537)|0;g=M()|0;b=a;c[b>>2]=f;c[b+4>>2]=g;b=PW(e[a+(d+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(d<<1)|0;c[f>>2]=b;c[f+4>>2]=g;f=d<<1;g=PW(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;b=M()|0;f=a+(f<<1)|0;c[f>>2]=g;c[f+4>>2]=b;d=d*3|0;f=PW(e[a+(d+-1<<1)>>1]|0|0,0,65537,65537)|0;b=M()|0;d=a+(d<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function mq(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0;h=d>>1;g=h<<1;d=h*3|0;f=(e[a+(0-h<<1)>>1]|0)+4+(e[a+(1-h<<1)>>1]|0)+(e[a+(2-h<<1)>>1]|0)+(e[a+(3-h<<1)>>1]|0)+(e[a+-2>>1]|0)+(e[a+(h+-1<<1)>>1]|0)+(e[a+(g+-1<<1)>>1]|0)+(e[a+(d+-1<<1)>>1]|0)>>3;f=PW(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;b=M()|0;i=a;c[i>>2]=f;c[i+4>>2]=b;h=a+(h<<1)|0;c[h>>2]=f;c[h+4>>2]=b;g=a+(g<<1)|0;c[g>>2]=f;c[g+4>>2]=b;d=a+(d<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function nq(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;i=d>>1;g=e[a+(1-i<<1)>>1]|0;d=e[a+(2-i<<1)>>1]|0;k=e[a+(3-i<<1)>>1]|0;j=e[c>>1]|0;h=e[c+2>>1]|0;f=e[c+4>>1]|0;c=e[c+6>>1]|0;b[a>>1]=((e[a+(0-i<<1)>>1]|0)+2+d+(g<<1)|0)>>>2;g=(g+2+k+(d<<1)|0)>>>2&65535;b[a+(i<<1)>>1]=g;b[a+2>>1]=g;d=(d+2+j+(k<<1)|0)>>>2&65535;g=i<<1;b[a+(g<<1)>>1]=d;b[a+(i+1<<1)>>1]=d;b[a+4>>1]=d;k=(k+2+h+(j<<1)|0)>>>2&65535;d=i*3|0;b[a+(d<<1)>>1]=k;b[a+((g|1)<<1)>>1]=k;b[a+(i+2<<1)>>1]=k;b[a+6>>1]=k;j=(j+2+f+(h<<1)|0)>>>2&65535;b[a+(d+1<<1)>>1]=j;b[a+(g+2<<1)>>1]=j;b[a+(i+3<<1)>>1]=j;h=(h+2+c+(f<<1)|0)>>>2&65535;b[a+(d+2<<1)>>1]=h;b[a+(g+3<<1)>>1]=h;b[a+(d+3<<1)>>1]=(f+2+(c*3|0)|0)>>>2;return}function oq(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;m=e[a+(~h<<1)>>1]|0;g=e[a+(0-h<<1)>>1]|0;f=e[a+(1-h<<1)>>1]|0;c=e[a+(2-h<<1)>>1]|0;d=e[a+(3-h<<1)>>1]|0;k=e[a+-2>>1]|0;n=e[a+(h+-1<<1)>>1]|0;j=h<<1;i=e[a+(j+-1<<1)>>1]|0;l=h*3|0;b[a+(l<<1)>>1]=(n+2+(e[a+(l+-1<<1)>>1]|0)+(i<<1)|0)>>>2;i=(k+2+i+(n<<1)|0)>>>2&65535;b[a+(l+1<<1)>>1]=i;b[a+(j<<1)>>1]=i;i=m+2|0;n=(i+n+(k<<1)|0)>>>2&65535;b[a+(l+2<<1)>>1]=n;b[a+((j|1)<<1)>>1]=n;b[a+(h<<1)>>1]=n;k=((m<<1)+2+g+k|0)>>>2&65535;b[a+(l+3<<1)>>1]=k;b[a+(j+2<<1)>>1]=k;b[a+(h+1<<1)>>1]=k;b[a>>1]=k;i=(i+(g<<1)+f|0)>>>2&65535;b[a+(j+3<<1)>>1]=i;b[a+(h+2<<1)>>1]=i;b[a+2>>1]=i;g=(g+2+(f<<1)+c|0)>>>2&65535;b[a+(h+3<<1)>>1]=g;b[a+4>>1]=g;b[a+6>>1]=(f+2+(c<<1)+d|0)>>>2;return}function pq(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=d>>1;i=e[a+(~j<<1)>>1]|0;n=e[a+(0-j<<1)>>1]|0;m=e[a+(1-j<<1)>>1]|0;l=e[a+(2-j<<1)>>1]|0;k=e[a+(3-j<<1)>>1]|0;g=e[a+-2>>1]|0;f=e[a+(j+-1<<1)>>1]|0;h=j<<1;c=e[a+(h+-1<<1)>>1]|0;d=j*3|0;o=(i+1+n|0)>>>1&65535;b[a+((h|1)<<1)>>1]=o;b[a>>1]=o;o=(n+1+m|0)>>>1&65535;b[a+(h+2<<1)>>1]=o;b[a+2>>1]=o;o=(m+1+l|0)>>>1&65535;b[a+(h+3<<1)>>1]=o;b[a+4>>1]=o;b[a+6>>1]=(l+1+k|0)>>>1;o=((i<<1)+2+n+g|0)>>>2&65535;b[a+(d+1<<1)>>1]=o;b[a+(j<<1)>>1]=o;i=i+2|0;o=(i+(n<<1)+m|0)>>>2&65535;b[a+(d+2<<1)>>1]=o;b[a+(j+1<<1)>>1]=o;n=(n+2+(m<<1)+l|0)>>>2&65535;b[a+(d+3<<1)>>1]=n;b[a+(j+2<<1)>>1]=n;b[a+(j+3<<1)>>1]=(m+2+(l<<1)+k|0)>>>2;b[a+(h<<1)>>1]=(i+(g<<1)+f|0)>>>2;b[a+(d<<1)>>1]=(g+2+(f<<1)+c|0)>>>2;return}function qq(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=d>>1;k=e[a+(~j<<1)>>1]|0;n=e[a+(0-j<<1)>>1]|0;m=e[a+(1-j<<1)>>1]|0;l=e[a+(2-j<<1)>>1]|0;i=e[a+-2>>1]|0;g=e[a+(j+-1<<1)>>1]|0;h=j<<1;f=e[a+(h+-1<<1)>>1]|0;d=j*3|0;c=e[a+(d+-1<<1)>>1]|0;o=(k+1+i|0)>>>1&65535;b[a+(j+2<<1)>>1]=o;b[a>>1]=o;o=((k<<1)+2+n+i|0)>>>2&65535;b[a+(j+3<<1)>>1]=o;b[a+2>>1]=o;k=k+2|0;b[a+4>>1]=(k+(n<<1)+m|0)>>>2;b[a+6>>1]=(n+2+(m<<1)+l|0)>>>2;l=(i+1+g|0)>>>1&65535;b[a+(h+2<<1)>>1]=l;b[a+(j<<1)>>1]=l;k=(k+(i<<1)+g|0)>>>2&65535;b[a+(h+3<<1)>>1]=k;b[a+(j+1<<1)>>1]=k;j=(g+1+f|0)>>>1&65535;b[a+(d+2<<1)>>1]=j;b[a+(h<<1)>>1]=j;i=(i+2+(g<<1)+f|0)>>>2&65535;b[a+(d+3<<1)>>1]=i;b[a+((h|1)<<1)>>1]=i;b[a+(d<<1)>>1]=(f+1+c|0)>>>1;b[a+(d+1<<1)>>1]=(g+2+(f<<1)+c|0)>>>2;return}function rq(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=d>>1;d=e[a+(0-h<<1)>>1]|0;k=e[a+(1-h<<1)>>1]|0;j=e[a+(2-h<<1)>>1]|0;i=e[a+(3-h<<1)>>1]|0;g=e[c>>1]|0;f=e[c+2>>1]|0;c=e[c+4>>1]|0;b[a>>1]=(d+1+k|0)>>>1;m=(k+1+j|0)>>>1&65535;l=h<<1;b[a+(l<<1)>>1]=m;b[a+2>>1]=m;m=(j+1+i|0)>>>1&65535;b[a+((l|1)<<1)>>1]=m;b[a+4>>1]=m;m=(i+1+g|0)>>>1&65535;b[a+(l+2<<1)>>1]=m;b[a+6>>1]=m;b[a+(l+3<<1)>>1]=(g+1+f|0)>>>1;b[a+(h<<1)>>1]=(d+2+(k<<1)+j|0)>>>2;k=(k+2+(j<<1)+i|0)>>>2&65535;d=h*3|0;b[a+(d<<1)>>1]=k;b[a+(h+1<<1)>>1]=k;j=(j+2+(i<<1)+g|0)>>>2&65535;b[a+(d+1<<1)>>1]=j;b[a+(h+2<<1)>>1]=j;i=(i+2+(g<<1)+f|0)>>>2&65535;b[a+(d+2<<1)>>1]=i;b[a+(h+3<<1)>>1]=i;b[a+(d+3<<1)>>1]=(g+2+(f<<1)+c|0)>>>2;return}function sq(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;g=d>>1;k=e[a+-2>>1]|0;j=e[a+(g+-1<<1)>>1]|0;d=g<<1;i=e[a+(d+-1<<1)>>1]|0;f=g*3|0;c=b[a+(f+-1<<1)>>1]|0;h=c&65535;b[a>>1]=(k+1+j|0)>>>1;b[a+2>>1]=(k+2+(j<<1)+i|0)>>>2;k=(j+1+i|0)>>>1&65535;b[a+(g<<1)>>1]=k;b[a+4>>1]=k;j=(j+2+(i<<1)+h|0)>>>2&65535;b[a+(g+1<<1)>>1]=j;b[a+6>>1]=j;j=(i+1+h|0)>>>1&65535;b[a+(d<<1)>>1]=j;b[a+(g+2<<1)>>1]=j;h=(i+2+h+(h<<1)|0)>>>2&65535;b[a+((d|1)<<1)>>1]=h;b[a+(g+3<<1)>>1]=h;b[a+(f+3<<1)>>1]=c;b[a+(f+2<<1)>>1]=c;b[a+(d+2<<1)>>1]=c;b[a+(f<<1)>>1]=c;b[a+(f+1<<1)>>1]=c;b[a+(d+3<<1)>>1]=c;return}function tq(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0;h=d>>1;g=h<<1;d=h*3|0;f=PW(((e[a+-2>>1]|0)+2+(e[a+(h+-1<<1)>>1]|0)+(e[a+(g+-1<<1)>>1]|0)+(e[a+(d+-1<<1)>>1]|0)|0)>>>2|0,0,65537,65537)|0;b=M()|0;i=a;c[i>>2]=f;c[i+4>>2]=b;h=a+(h<<1)|0;c[h>>2]=f;c[h+4>>2]=b;g=a+(g<<1)|0;c[g>>2]=f;c[g+4>>2]=b;d=a+(d<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function uq(a,b,d){a=a|0;b=b|0;d=d|0;d=d>>1;b=a;c[b>>2]=134154239;c[b+4>>2]=134154239;b=a+(d<<1)|0;c[b>>2]=134154239;c[b+4>>2]=134154239;b=a+(d<<1<<1)|0;c[b>>2]=134154239;c[b+4>>2]=134154239;d=a+(d*3<<1)|0;c[d>>2]=134154239;c[d+4>>2]=134154239;return}function vq(a,b,d){a=a|0;b=b|0;d=d|0;d=d>>1;b=a;c[b>>2]=134285313;c[b+4>>2]=134285313;b=a+(d<<1)|0;c[b>>2]=134285313;c[b+4>>2]=134285313;b=a+(d<<1<<1)|0;c[b>>2]=134285313;c[b+4>>2]=134285313;d=a+(d*3<<1)|0;c[d>>2]=134285313;c[d+4>>2]=134285313;return}function wq(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0;d=d>>1;f=PW(((e[a+(0-d<<1)>>1]|0)+2+(e[a+(1-d<<1)>>1]|0)+(e[a+(2-d<<1)>>1]|0)+(e[a+(3-d<<1)>>1]|0)|0)>>>2|0,0,65537,65537)|0;b=M()|0;g=a;c[g>>2]=f;c[g+4>>2]=b;g=a+(d<<1)|0;c[g>>2]=f;c[g+4>>2]=b;g=a+(d<<1<<1)|0;c[g>>2]=f;c[g+4>>2]=b;d=a+(d*3<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function xq(a,b,d){a=a|0;b=b|0;d=d|0;d=d>>1;b=a;c[b>>2]=134219776;c[b+4>>2]=134219776;b=a+(d<<1)|0;c[b>>2]=134219776;c[b+4>>2]=134219776;b=a+(d<<1<<1)|0;c[b>>2]=134219776;c[b+4>>2]=134219776;d=a+(d*3<<1)|0;c[d>>2]=134219776;c[d+4>>2]=134219776;return}function yq(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=g>>1;o=e[a+(0-j<<1)>>1]|0;n=e[a+(1-j<<1)>>1]|0;i=e[a+(2-j<<1)>>1]|0;m=e[a+(3-j<<1)>>1]|0;l=e[a+(4-j<<1)>>1]|0;k=e[a+(5-j<<1)>>1]|0;g=e[a+(6-j<<1)>>1]|0;h=e[a+(7-j<<1)>>1]|0;f=(g+2+(e[a+((f|0?8:7)-j<<1)>>1]|0)+(h<<1)|0)>>>2;b[a>>1]=((e[a+((((d|0)!=0)<<31>>31)-j<<1)>>1]|0)+2+(o<<1)+n|0)>>>2;b[a+2>>1]=(o+2+(n<<1)+i|0)>>>2;b[a+4>>1]=(n+2+(i<<1)+m|0)>>>2;b[a+6>>1]=(i+2+(m<<1)+l|0)>>>2;i=a+8|0;b[i>>1]=(m+2+(l<<1)+k|0)>>>2;b[a+10>>1]=(l+2+(k<<1)+g|0)>>>2;b[a+12>>1]=(k+2+(g<<1)+h|0)>>>2;b[a+14>>1]=f;f=a;d=c[f>>2]|0;f=c[f+4>>2]|0;h=c[i>>2]|0;i=c[i+4>>2]|0;g=1;while(1){if((g|0)==8)break;o=a+((H(g,j)|0)<<1)|0;n=o;c[n>>2]=d;c[n+4>>2]=f;o=o+8|0;c[o>>2]=h;c[o+4>>2]=i;g=g+1|0}return}function zq(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;p=f>>1;u=e[a+((H(p,((b|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;s=e[a+-2>>1]|0;q=e[a+(p+-1<<1)>>1]|0;n=p<<1;o=e[a+(n+-1<<1)>>1]|0;l=p*3|0;m=e[a+(l+-1<<1)>>1]|0;j=p<<2;k=e[a+(j+-1<<1)>>1]|0;h=p*5|0;i=e[a+(h+-1<<1)>>1]|0;g=p*6|0;d=e[a+(g+-1<<1)>>1]|0;f=p*7|0;b=e[a+(f+-1<<1)>>1]|0;u=PW((u+2+(s<<1)+q|0)>>>2|0,0,65537,65537)|0;t=M()|0;r=a;c[r>>2]=u;c[r+4>>2]=t;r=a+8|0;c[r>>2]=u;c[r+4>>2]=t;s=PW((s+2+(q<<1)+o|0)>>>2|0,0,65537,65537)|0;r=M()|0;p=a+(p<<1)|0;t=p;c[t>>2]=s;c[t+4>>2]=r;p=p+8|0;c[p>>2]=s;c[p+4>>2]=r;q=PW((q+2+(o<<1)+m|0)>>>2|0,0,65537,65537)|0;p=M()|0;n=a+(n<<1)|0;r=n;c[r>>2]=q;c[r+4>>2]=p;n=n+8|0;c[n>>2]=q;c[n+4>>2]=p;o=PW((o+2+(m<<1)+k|0)>>>2|0,0,65537,65537)|0;n=M()|0;l=a+(l<<1)|0;p=l;c[p>>2]=o;c[p+4>>2]=n;l=l+8|0;c[l>>2]=o;c[l+4>>2]=n;m=PW((m+2+(k<<1)+i|0)>>>2|0,0,65537,65537)|0;l=M()|0;j=a+(j<<1)|0;n=j;c[n>>2]=m;c[n+4>>2]=l;j=j+8|0;c[j>>2]=m;c[j+4>>2]=l;k=PW((k+2+(i<<1)+d|0)>>>2|0,0,65537,65537)|0;j=M()|0;h=a+(h<<1)|0;l=h;c[l>>2]=k;c[l+4>>2]=j;h=h+8|0;c[h>>2]=k;c[h+4>>2]=j;i=PW((i+2+(d<<1)+b|0)>>>2|0,0,65537,65537)|0;h=M()|0;g=a+(g<<1)|0;j=g;c[j>>2]=i;c[j+4>>2]=h;g=g+8|0;c[g>>2]=i;c[g+4>>2]=h;b=PW((d+2+(b*3|0)|0)>>>2|0,0,65537,65537)|0;d=M()|0;f=a+(f<<1)|0;a=f;c[a>>2]=b;c[a+4>>2]=d;f=f+8|0;c[f>>2]=b;c[f+4>>2]=d;return}function Aq(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;h=f>>1;n=((b|0)!=0)<<31>>31;w=e[a+((H(h,n)|0)+-1<<1)>>1]|0;v=e[a+-2>>1]|0;u=e[a+(h+-1<<1)>>1]|0;t=e[a+((h<<1)+-1<<1)>>1]|0;s=e[a+((h*3|0)+-1<<1)>>1]|0;r=e[a+((h<<2)+-1<<1)>>1]|0;q=e[a+((h*5|0)+-1<<1)>>1]|0;p=e[a+((h*6|0)+-1<<1)>>1]|0;o=e[a+((h*7|0)+-1<<1)>>1]|0;m=e[a+(0-h<<1)>>1]|0;l=e[a+(1-h<<1)>>1]|0;k=e[a+(2-h<<1)>>1]|0;j=e[a+(3-h<<1)>>1]|0;i=e[a+(4-h<<1)>>1]|0;f=e[a+(5-h<<1)>>1]|0;b=e[a+(6-h<<1)>>1]|0;g=e[a+(7-h<<1)>>1]|0;d=((w+2+(v<<1)+u|0)>>>2)+8+((v+2+(u<<1)+t|0)>>>2)+((u+2+(t<<1)+s|0)>>>2)+((t+2+(s<<1)+r|0)>>>2)+((s+2+(r<<1)+q|0)>>>2)+((r+2+(q<<1)+p|0)>>>2)+((q+2+(p<<1)+o|0)>>>2)+((p+2+(o*3|0)|0)>>>2)+(((e[a+(n-h<<1)>>1]|0)+2+(m<<1)+l|0)>>>2)+((m+2+(l<<1)+k|0)>>>2)+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+f|0)>>>2)+((i+2+(f<<1)+b|0)>>>2)+((f+2+(b<<1)+g|0)>>>2)+((b+2+(e[a+((d|0?8:7)-h<<1)>>1]|0)+(g<<1)|0)>>>2)>>4;d=PW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=0;f=a;while(1){if((b|0)==8)break;w=f;c[w>>2]=d;c[w+4>>2]=g;w=f+8|0;c[w>>2]=d;c[w+4>>2]=g;b=b+1|0;f=f+(h<<1)|0}return}function Bq(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;q=f>>1;n=e[a+(0-q<<1)>>1]|0;o=e[a+(1-q<<1)>>1]|0;s=e[a+(2-q<<1)>>1]|0;p=(n+2+(o<<1)+s|0)>>>2;t=e[a+(3-q<<1)>>1]|0;r=(o+2+(s<<1)+t|0)>>>2;u=e[a+(4-q<<1)>>1]|0;s=(s+2+(t<<1)+u|0)>>>2;v=e[a+(5-q<<1)>>1]|0;t=(t+2+(u<<1)+v|0)>>>2;m=e[a+(6-q<<1)>>1]|0;u=(u+2+(v<<1)+m|0)>>>2;f=e[a+(7-q<<1)>>1]|0;v=(v+2+(m<<1)+f|0)>>>2;l=(d|0)!=0;m=(m+2+(e[a+((l?8:7)-q<<1)>>1]|0)+(f<<1)|0)>>>2;if(l){x=e[a+(8-q<<1)>>1]|0;w=e[a+(9-q<<1)>>1]|0;l=e[a+(10-q<<1)>>1]|0;k=e[a+(11-q<<1)>>1]|0;j=e[a+(12-q<<1)>>1]|0;i=e[a+(13-q<<1)>>1]|0;h=e[a+(14-q<<1)>>1]|0;g=e[a+(15-q<<1)>>1]|0;d=(h+2+(g*3|0)|0)>>>2;g=(i+2+(h<<1)+g|0)>>>2;h=(j+2+(i<<1)+h|0)>>>2;i=(k+2+(j<<1)+i|0)>>>2;j=(l+2+(k<<1)+j|0)>>>2;k=(w+2+(l<<1)+k|0)>>>2;l=(x+2+(w<<1)+l|0)>>>2;f=(f+2+(x<<1)+w|0)>>>2}else{d=f;g=f;h=f;i=f;j=f;k=f;l=f}b[a>>1]=((((e[a+((((c|0)!=0)<<31>>31)-q<<1)>>1]|0)+2+(n<<1)+o|0)>>>2)+2+(p<<1)+r|0)>>>2;w=(p+2+(r<<1)+s|0)>>>2&65535;b[a+2>>1]=w;b[a+(q<<1)>>1]=w;w=(r+2+(s<<1)+t|0)>>>2&65535;b[a+4>>1]=w;b[a+(q+1<<1)>>1]=w;r=q<<1;b[a+(r<<1)>>1]=w;w=(s+2+(t<<1)+u|0)>>>2&65535;b[a+6>>1]=w;b[a+(q+2<<1)>>1]=w;b[a+((r|1)<<1)>>1]=w;s=q*3|0;b[a+(s<<1)>>1]=w;w=(t+2+(u<<1)+v|0)>>>2&65535;b[a+8>>1]=w;b[a+(q+3<<1)>>1]=w;b[a+(r+2<<1)>>1]=w;b[a+(s+1<<1)>>1]=w;t=q<<2;b[a+(t<<1)>>1]=w;w=(u+2+(v<<1)+m|0)>>>2&65535;b[a+10>>1]=w;b[a+(q+4<<1)>>1]=w;b[a+(r+3<<1)>>1]=w;b[a+(s+2<<1)>>1]=w;b[a+((t|1)<<1)>>1]=w;u=q*5|0;b[a+(u<<1)>>1]=w;w=(v+2+(m<<1)+f|0)>>>2&65535;b[a+12>>1]=w;b[a+(q+5<<1)>>1]=w;b[a+(r+4<<1)>>1]=w;b[a+(s+3<<1)>>1]=w;b[a+((t|2)<<1)>>1]=w;b[a+(u+1<<1)>>1]=w;c=q*6|0;b[a+(c<<1)>>1]=w;w=(m+2+(f<<1)+l|0)>>>2&65535;b[a+14>>1]=w;b[a+(q+6<<1)>>1]=w;b[a+(r+5<<1)>>1]=w;b[a+(s+4<<1)>>1]=w;b[a+((t|3)<<1)>>1]=w;b[a+(u+2<<1)>>1]=w;b[a+((c|1)<<1)>>1]=w;x=q*7|0;b[a+(x<<1)>>1]=w;w=(f+2+(l<<1)+k|0)>>>2&65535;b[a+(q+7<<1)>>1]=w;b[a+(r+6<<1)>>1]=w;b[a+(s+5<<1)>>1]=w;b[a+(t+4<<1)>>1]=w;b[a+(u+3<<1)>>1]=w;b[a+(c+2<<1)>>1]=w;b[a+(x+1<<1)>>1]=w;w=(l+2+(k<<1)+j|0)>>>2&65535;b[a+(r+7<<1)>>1]=w;b[a+(s+6<<1)>>1]=w;b[a+(t+5<<1)>>1]=w;b[a+(u+4<<1)>>1]=w;b[a+(c+3<<1)>>1]=w;b[a+(x+2<<1)>>1]=w;w=(k+2+(j<<1)+i|0)>>>2&65535;b[a+(s+7<<1)>>1]=w;b[a+(t+6<<1)>>1]=w;b[a+(u+5<<1)>>1]=w;b[a+(c+4<<1)>>1]=w;b[a+(x+3<<1)>>1]=w;w=(j+2+(i<<1)+h|0)>>>2&65535;b[a+(t+7<<1)>>1]=w;b[a+(u+6<<1)>>1]=w;b[a+(c+5<<1)>>1]=w;b[a+(x+4<<1)>>1]=w;w=(i+2+(h<<1)+g|0)>>>2&65535;b[a+(u+7<<1)>>1]=w;b[a+(c+6<<1)>>1]=w;b[a+(x+5<<1)>>1]=w;w=(h+2+(g<<1)+d|0)>>>2&65535;b[a+(c+7<<1)>>1]=w;b[a+(x+6<<1)>>1]=w;b[a+(x+7<<1)>>1]=(g+2+(d*3|0)|0)>>>2;return}function Cq(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;h=f>>1;t=((c|0)!=0)<<31>>31;C=e[a+(0-h<<1)>>1]|0;m=e[a+(1-h<<1)>>1]|0;s=((e[a+(t-h<<1)>>1]|0)+2+(C<<1)+m|0)>>>2;k=e[a+(2-h<<1)>>1]|0;C=C+2|0;o=(C+(m<<1)+k|0)>>>2;i=e[a+(3-h<<1)>>1]|0;m=(m+2+(k<<1)+i|0)>>>2;g=e[a+(4-h<<1)>>1]|0;k=(k+2+(i<<1)+g|0)>>>2;c=e[a+(5-h<<1)>>1]|0;i=(i+2+(g<<1)+c|0)>>>2;q=e[a+(6-h<<1)>>1]|0;g=(g+2+(c<<1)+q|0)>>>2;f=e[a+(7-h<<1)>>1]|0;c=(c+2+(q<<1)+f|0)>>>2;f=(q+2+(e[a+((d|0?8:7)-h<<1)>>1]|0)+(f<<1)|0)>>>2;t=e[a+((H(h,t)|0)+-1<<1)>>1]|0;q=e[a+-2>>1]|0;v=e[a+(h+-1<<1)>>1]|0;t=(t+2+(q<<1)+v|0)>>>2;j=h<<1;w=e[a+(j+-1<<1)>>1]|0;d=(q+2+(v<<1)+w|0)>>>2;l=h*3|0;x=e[a+(l+-1<<1)>>1]|0;v=(v+2+(w<<1)+x|0)>>>2;n=h<<2;y=e[a+(n+-1<<1)>>1]|0;w=(w+2+(x<<1)+y|0)>>>2;p=h*5|0;z=e[a+(p+-1<<1)>>1]|0;x=(x+2+(y<<1)+z|0)>>>2;r=h*6|0;B=e[a+(r+-1<<1)>>1]|0;y=(y+2+(z<<1)+B|0)>>>2;u=h*7|0;A=e[a+(u+-1<<1)>>1]|0;z=(z+2+(B<<1)+A|0)>>>2;q=(C+q+((e[a+(~h<<1)>>1]|0)<<1)|0)>>>2;b[a+(u<<1)>>1]=(y+2+((B+2+(A*3|0)|0)>>>2)+(z<<1)|0)>>>2;z=(x+2+(y<<1)+z|0)>>>2&65535;b[a+(u+1<<1)>>1]=z;b[a+(r<<1)>>1]=z;y=(w+2+(x<<1)+y|0)>>>2&65535;b[a+(u+2<<1)>>1]=y;b[a+((r|1)<<1)>>1]=y;b[a+(p<<1)>>1]=y;x=(v+2+(w<<1)+x|0)>>>2&65535;b[a+(u+3<<1)>>1]=x;b[a+(r+2<<1)>>1]=x;b[a+(p+1<<1)>>1]=x;b[a+(n<<1)>>1]=x;w=(d+2+(v<<1)+w|0)>>>2&65535;b[a+(u+4<<1)>>1]=w;b[a+(r+3<<1)>>1]=w;b[a+(p+2<<1)>>1]=w;b[a+((n|1)<<1)>>1]=w;b[a+(l<<1)>>1]=w;v=(t+2+(d<<1)+v|0)>>>2&65535;b[a+(u+5<<1)>>1]=v;b[a+(r+4<<1)>>1]=v;b[a+(p+3<<1)>>1]=v;b[a+((n|2)<<1)>>1]=v;b[a+(l+1<<1)>>1]=v;b[a+(j<<1)>>1]=v;d=((t<<1)+2+d+q|0)>>>2&65535;b[a+(u+6<<1)>>1]=d;b[a+(r+5<<1)>>1]=d;b[a+(p+4<<1)>>1]=d;b[a+((n|3)<<1)>>1]=d;b[a+(l+2<<1)>>1]=d;b[a+((j|1)<<1)>>1]=d;b[a+(h<<1)>>1]=d;d=s+2|0;t=(d+t+(q<<1)|0)>>>2&65535;b[a+(u+7<<1)>>1]=t;b[a+(r+6<<1)>>1]=t;b[a+(p+5<<1)>>1]=t;b[a+(n+4<<1)>>1]=t;b[a+(l+3<<1)>>1]=t;b[a+(j+2<<1)>>1]=t;b[a+(h+1<<1)>>1]=t;b[a>>1]=t;q=((s<<1)+2+o+q|0)>>>2&65535;b[a+(r+7<<1)>>1]=q;b[a+(p+6<<1)>>1]=q;b[a+(n+5<<1)>>1]=q;b[a+(l+4<<1)>>1]=q;b[a+(j+3<<1)>>1]=q;b[a+(h+2<<1)>>1]=q;b[a+2>>1]=q;d=(d+(o<<1)+m|0)>>>2&65535;b[a+(p+7<<1)>>1]=d;b[a+(n+6<<1)>>1]=d;b[a+(l+5<<1)>>1]=d;b[a+(j+4<<1)>>1]=d;b[a+(h+3<<1)>>1]=d;b[a+4>>1]=d;d=(o+2+(m<<1)+k|0)>>>2&65535;b[a+(n+7<<1)>>1]=d;b[a+(l+6<<1)>>1]=d;b[a+(j+5<<1)>>1]=d;b[a+(h+4<<1)>>1]=d;b[a+6>>1]=d;d=(m+2+(k<<1)+i|0)>>>2&65535;b[a+(l+7<<1)>>1]=d;b[a+(j+6<<1)>>1]=d;b[a+(h+5<<1)>>1]=d;b[a+8>>1]=d;d=(k+2+(i<<1)+g|0)>>>2&65535;b[a+(j+7<<1)>>1]=d;b[a+(h+6<<1)>>1]=d;b[a+10>>1]=d;d=(i+2+(g<<1)+c|0)>>>2&65535;b[a+(h+7<<1)>>1]=d;b[a+12>>1]=d;b[a+14>>1]=(g+2+(c<<1)+f|0)>>>2;return}function Dq(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;g=f>>1;s=((c|0)!=0)<<31>>31;A=e[a+(0-g<<1)>>1]|0;q=e[a+(1-g<<1)>>1]|0;u=((e[a+(s-g<<1)>>1]|0)+2+(A<<1)+q|0)>>>2;n=e[a+(2-g<<1)>>1]|0;A=A+2|0;r=(A+(q<<1)+n|0)>>>2;k=e[a+(3-g<<1)>>1]|0;q=(q+2+(n<<1)+k|0)>>>2;h=e[a+(4-g<<1)>>1]|0;n=(n+2+(k<<1)+h|0)>>>2;c=e[a+(5-g<<1)>>1]|0;k=(k+2+(h<<1)+c|0)>>>2;t=e[a+(6-g<<1)>>1]|0;h=(h+2+(c<<1)+t|0)>>>2;f=e[a+(7-g<<1)>>1]|0;c=(c+2+(t<<1)+f|0)>>>2;f=(t+2+(e[a+((d|0?8:7)-g<<1)>>1]|0)+(f<<1)|0)>>>2;s=e[a+((H(g,s)|0)+-1<<1)>>1]|0;t=e[a+-2>>1]|0;d=e[a+(g+-1<<1)>>1]|0;s=(s+2+(t<<1)+d|0)>>>2;i=g<<1;x=e[a+(i+-1<<1)>>1]|0;v=(t+2+(d<<1)+x|0)>>>2;j=g*3|0;w=e[a+(j+-1<<1)>>1]|0;d=(d+2+(x<<1)+w|0)>>>2;l=g<<2;z=e[a+(l+-1<<1)>>1]|0;x=(x+2+(w<<1)+z|0)>>>2;m=g*5|0;B=e[a+(m+-1<<1)>>1]|0;w=(w+2+(z<<1)+B|0)>>>2;o=g*6|0;y=e[a+(o+-1<<1)>>1]|0;z=(z+2+(B<<1)+y|0)>>>2;p=g*7|0;y=(B+2+(y<<1)+(e[a+(p+-1<<1)>>1]|0)|0)>>>2;t=(A+t+((e[a+(~g<<1)>>1]|0)<<1)|0)>>>2;b[a+(o<<1)>>1]=(x+2+(w<<1)+z|0)>>>2;b[a+(p<<1)>>1]=(w+2+(z<<1)+y|0)>>>2;y=(v+2+(d<<1)+x|0)>>>2&65535;b[a+((o|1)<<1)>>1]=y;b[a+(l<<1)>>1]=y;w=(d+2+(x<<1)+w|0)>>>2&65535;b[a+(p+1<<1)>>1]=w;b[a+(m<<1)>>1]=w;w=((s<<1)+2+v+t|0)>>>2&65535;b[a+(o+2<<1)>>1]=w;b[a+((l|1)<<1)>>1]=w;b[a+(i<<1)>>1]=w;d=(s+2+(v<<1)+d|0)>>>2&65535;b[a+(p+2<<1)>>1]=d;b[a+(m+1<<1)>>1]=d;b[a+(j<<1)>>1]=d;d=u+2|0;s=(d+s+(t<<1)|0)>>>2&65535;b[a+(p+3<<1)>>1]=s;b[a+(m+2<<1)>>1]=s;b[a+(j+1<<1)>>1]=s;b[a+(g<<1)>>1]=s;s=u+1|0;v=(s+t|0)>>>1&65535;b[a+(o+3<<1)>>1]=v;b[a+((l|2)<<1)>>1]=v;b[a+((i|1)<<1)>>1]=v;b[a>>1]=v;t=((u<<1)+2+r+t|0)>>>2&65535;b[a+(p+4<<1)>>1]=t;b[a+(m+3<<1)>>1]=t;b[a+(j+2<<1)>>1]=t;b[a+(g+1<<1)>>1]=t;s=(s+r|0)>>>1&65535;b[a+(o+4<<1)>>1]=s;b[a+((l|3)<<1)>>1]=s;b[a+(i+2<<1)>>1]=s;b[a+2>>1]=s;d=(d+(r<<1)+q|0)>>>2&65535;b[a+(p+5<<1)>>1]=d;b[a+(m+4<<1)>>1]=d;b[a+(j+3<<1)>>1]=d;b[a+(g+2<<1)>>1]=d;d=(r+1+q|0)>>>1&65535;b[a+(o+5<<1)>>1]=d;b[a+(l+4<<1)>>1]=d;b[a+(i+3<<1)>>1]=d;b[a+4>>1]=d;d=(r+2+(q<<1)+n|0)>>>2&65535;b[a+(p+6<<1)>>1]=d;b[a+(m+5<<1)>>1]=d;b[a+(j+4<<1)>>1]=d;b[a+(g+3<<1)>>1]=d;d=(q+1+n|0)>>>1&65535;b[a+(o+6<<1)>>1]=d;b[a+(l+5<<1)>>1]=d;b[a+(i+4<<1)>>1]=d;b[a+6>>1]=d;d=(q+2+(n<<1)+k|0)>>>2&65535;b[a+(p+7<<1)>>1]=d;b[a+(m+6<<1)>>1]=d;b[a+(j+5<<1)>>1]=d;b[a+(g+4<<1)>>1]=d;d=(n+1+k|0)>>>1&65535;b[a+(o+7<<1)>>1]=d;b[a+(l+6<<1)>>1]=d;b[a+(i+5<<1)>>1]=d;b[a+8>>1]=d;d=(n+2+(k<<1)+h|0)>>>2&65535;b[a+(m+7<<1)>>1]=d;b[a+(j+6<<1)>>1]=d;b[a+(g+5<<1)>>1]=d;d=(k+1+h|0)>>>1&65535;b[a+(l+7<<1)>>1]=d;b[a+(i+6<<1)>>1]=d;b[a+10>>1]=d;d=(k+2+(h<<1)+c|0)>>>2&65535;b[a+(j+7<<1)>>1]=d;b[a+(g+6<<1)>>1]=d;d=(h+1+c|0)>>>1&65535;b[a+(i+7<<1)>>1]=d;b[a+12>>1]=d;b[a+(g+7<<1)>>1]=(h+2+(c<<1)+f|0)>>>2;b[a+14>>1]=(c+1+f|0)>>>1;return}function Eq(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;i=f>>1;o=((c|0)!=0)<<31>>31;A=e[a+(0-i<<1)>>1]|0;h=e[a+(1-i<<1)>>1]|0;n=((e[a+(o-i<<1)>>1]|0)+2+(A<<1)+h|0)>>>2;g=e[a+(2-i<<1)>>1]|0;A=A+2|0;j=(A+(h<<1)+g|0)>>>2;c=e[a+(3-i<<1)>>1]|0;h=(h+2+(g<<1)+c|0)>>>2;d=e[a+(4-i<<1)>>1]|0;g=(g+2+(c<<1)+d|0)>>>2;m=e[a+(5-i<<1)>>1]|0;c=(c+2+(d<<1)+m|0)>>>2;f=e[a+(6-i<<1)>>1]|0;d=(d+2+(m<<1)+f|0)>>>2;f=(m+2+(f<<1)+(e[a+(7-i<<1)>>1]|0)|0)>>>2;o=e[a+((H(i,o)|0)+-1<<1)>>1]|0;m=e[a+-2>>1]|0;k=e[a+(i+-1<<1)>>1]|0;o=(o+2+(m<<1)+k|0)>>>2;l=i<<1;t=e[a+(l+-1<<1)>>1]|0;q=(m+2+(k<<1)+t|0)>>>2;p=i*3|0;v=e[a+(p+-1<<1)>>1]|0;k=(k+2+(t<<1)+v|0)>>>2;r=i<<2;x=e[a+(r+-1<<1)>>1]|0;t=(t+2+(v<<1)+x|0)>>>2;s=i*5|0;y=e[a+(s+-1<<1)>>1]|0;v=(v+2+(x<<1)+y|0)>>>2;u=i*6|0;B=e[a+(u+-1<<1)>>1]|0;x=(x+2+(y<<1)+B|0)>>>2;w=i*7|0;z=e[a+(w+-1<<1)>>1]|0;y=(y+2+(B<<1)+z|0)>>>2;z=(B+2+(z*3|0)|0)>>>2;m=(A+m+((e[a+(~i<<1)>>1]|0)<<1)|0)>>>2;b[a+(w<<1)>>1]=(z+1+y|0)>>>1;b[a+(w+1<<1)>>1]=(x+2+z+(y<<1)|0)>>>2;z=(x+1+y|0)>>>1&65535;b[a+(w+2<<1)>>1]=z;b[a+(u<<1)>>1]=z;y=(v+2+(x<<1)+y|0)>>>2&65535;b[a+(w+3<<1)>>1]=y;b[a+((u|1)<<1)>>1]=y;y=(v+1+x|0)>>>1&65535;b[a+(w+4<<1)>>1]=y;b[a+(u+2<<1)>>1]=y;b[a+(s<<1)>>1]=y;x=(t+2+(v<<1)+x|0)>>>2&65535;b[a+(w+5<<1)>>1]=x;b[a+(u+3<<1)>>1]=x;b[a+(s+1<<1)>>1]=x;x=(t+1+v|0)>>>1&65535;b[a+(w+6<<1)>>1]=x;b[a+(u+4<<1)>>1]=x;b[a+(s+2<<1)>>1]=x;b[a+(r<<1)>>1]=x;v=(k+2+(t<<1)+v|0)>>>2&65535;b[a+(w+7<<1)>>1]=v;b[a+(u+5<<1)>>1]=v;b[a+(s+3<<1)>>1]=v;b[a+((r|1)<<1)>>1]=v;v=(k+1+t|0)>>>1&65535;b[a+(u+6<<1)>>1]=v;b[a+(s+4<<1)>>1]=v;b[a+((r|2)<<1)>>1]=v;b[a+(p<<1)>>1]=v;t=(q+2+(k<<1)+t|0)>>>2&65535;b[a+(u+7<<1)>>1]=t;b[a+(s+5<<1)>>1]=t;b[a+((r|3)<<1)>>1]=t;b[a+(p+1<<1)>>1]=t;t=(q+1+k|0)>>>1&65535;b[a+(s+6<<1)>>1]=t;b[a+(r+4<<1)>>1]=t;b[a+(p+2<<1)>>1]=t;b[a+(l<<1)>>1]=t;k=(o+2+(q<<1)+k|0)>>>2&65535;b[a+(s+7<<1)>>1]=k;b[a+(r+5<<1)>>1]=k;b[a+(p+3<<1)>>1]=k;b[a+((l|1)<<1)>>1]=k;k=o+1|0;s=(k+q|0)>>>1&65535;b[a+(r+6<<1)>>1]=s;b[a+(p+4<<1)>>1]=s;b[a+(l+2<<1)>>1]=s;b[a+(i<<1)>>1]=s;q=((o<<1)+2+q+m|0)>>>2&65535;b[a+(r+7<<1)>>1]=q;b[a+(p+5<<1)>>1]=q;b[a+(l+3<<1)>>1]=q;b[a+(i+1<<1)>>1]=q;k=(k+m|0)>>>1&65535;b[a+(p+6<<1)>>1]=k;b[a+(l+4<<1)>>1]=k;b[a+(i+2<<1)>>1]=k;b[a>>1]=k;k=n+2|0;o=(k+o+(m<<1)|0)>>>2&65535;b[a+(p+7<<1)>>1]=o;b[a+(l+5<<1)>>1]=o;b[a+(i+3<<1)>>1]=o;b[a+2>>1]=o;m=((n<<1)+2+j+m|0)>>>2&65535;b[a+(l+6<<1)>>1]=m;b[a+(i+4<<1)>>1]=m;b[a+4>>1]=m;k=(k+(j<<1)+h|0)>>>2&65535;b[a+(l+7<<1)>>1]=k;b[a+(i+5<<1)>>1]=k;b[a+6>>1]=k;j=(j+2+(h<<1)+g|0)>>>2&65535;b[a+(i+6<<1)>>1]=j;b[a+8>>1]=j;h=(h+2+(g<<1)+c|0)>>>2&65535;b[a+(i+7<<1)>>1]=h;b[a+10>>1]=h;b[a+12>>1]=(g+2+(c<<1)+d|0)>>>2;b[a+14>>1]=(c+2+(d<<1)+f|0)>>>2;return}function Fq(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=f>>1;k=e[a+(0-q<<1)>>1]|0;l=e[a+(1-q<<1)>>1]|0;j=((e[a+((((c|0)!=0)<<31>>31)-q<<1)>>1]|0)+2+(k<<1)+l|0)>>>2;m=e[a+(2-q<<1)>>1]|0;k=(k+2+(l<<1)+m|0)>>>2;n=e[a+(3-q<<1)>>1]|0;l=(l+2+(m<<1)+n|0)>>>2;o=e[a+(4-q<<1)>>1]|0;m=(m+2+(n<<1)+o|0)>>>2;p=e[a+(5-q<<1)>>1]|0;n=(n+2+(o<<1)+p|0)>>>2;i=e[a+(6-q<<1)>>1]|0;o=(o+2+(p<<1)+i|0)>>>2;f=e[a+(7-q<<1)>>1]|0;p=(p+2+(i<<1)+f|0)>>>2;h=(d|0)!=0;i=(i+2+(e[a+((h?8:7)-q<<1)>>1]|0)+(f<<1)|0)>>>2;if(h){s=e[a+(8-q<<1)>>1]|0;r=e[a+(9-q<<1)>>1]|0;h=e[a+(10-q<<1)>>1]|0;g=e[a+(11-q<<1)>>1]|0;d=e[a+(12-q<<1)>>1]|0;c=(g+2+(d<<1)+(e[a+(13-q<<1)>>1]|0)|0)>>>2;d=(h+2+(g<<1)+d|0)>>>2;g=(r+2+(h<<1)+g|0)>>>2;h=(s+2+(r<<1)+h|0)>>>2;f=(f+2+(s<<1)+r|0)>>>2}else{c=f;d=f;g=f;h=f}b[a>>1]=(j+1+k|0)>>>1;b[a+(q<<1)>>1]=(j+2+(k<<1)+l|0)>>>2;s=(k+1+l|0)>>>1&65535;b[a+2>>1]=s;t=q<<1;b[a+(t<<1)>>1]=s;s=(k+2+(l<<1)+m|0)>>>2&65535;b[a+(q+1<<1)>>1]=s;j=q*3|0;b[a+(j<<1)>>1]=s;s=(l+1+m|0)>>>1&65535;b[a+4>>1]=s;b[a+((t|1)<<1)>>1]=s;k=q<<2;b[a+(k<<1)>>1]=s;s=(l+2+(m<<1)+n|0)>>>2&65535;b[a+(q+2<<1)>>1]=s;b[a+(j+1<<1)>>1]=s;l=q*5|0;b[a+(l<<1)>>1]=s;s=(m+1+n|0)>>>1&65535;b[a+6>>1]=s;b[a+(t+2<<1)>>1]=s;b[a+((k|1)<<1)>>1]=s;r=q*6|0;b[a+(r<<1)>>1]=s;m=(m+2+(n<<1)+o|0)>>>2&65535;b[a+(q+3<<1)>>1]=m;b[a+(j+2<<1)>>1]=m;b[a+(l+1<<1)>>1]=m;s=q*7|0;b[a+(s<<1)>>1]=m;m=(n+1+o|0)>>>1&65535;b[a+8>>1]=m;b[a+(t+3<<1)>>1]=m;b[a+((k|2)<<1)>>1]=m;b[a+((r|1)<<1)>>1]=m;n=(n+2+(o<<1)+p|0)>>>2&65535;b[a+(q+4<<1)>>1]=n;b[a+(j+3<<1)>>1]=n;b[a+(l+2<<1)>>1]=n;b[a+(s+1<<1)>>1]=n;n=(o+1+p|0)>>>1&65535;b[a+10>>1]=n;b[a+(t+4<<1)>>1]=n;b[a+((k|3)<<1)>>1]=n;b[a+(r+2<<1)>>1]=n;o=(o+2+(p<<1)+i|0)>>>2&65535;b[a+(q+5<<1)>>1]=o;b[a+(j+4<<1)>>1]=o;b[a+(l+3<<1)>>1]=o;b[a+(s+2<<1)>>1]=o;o=(p+1+i|0)>>>1&65535;b[a+12>>1]=o;b[a+(t+5<<1)>>1]=o;b[a+(k+4<<1)>>1]=o;b[a+(r+3<<1)>>1]=o;p=(p+2+(i<<1)+f|0)>>>2&65535;b[a+(q+6<<1)>>1]=p;b[a+(j+5<<1)>>1]=p;b[a+(l+4<<1)>>1]=p;b[a+(s+3<<1)>>1]=p;p=(i+1+f|0)>>>1&65535;b[a+14>>1]=p;b[a+(t+6<<1)>>1]=p;b[a+(k+5<<1)>>1]=p;b[a+(r+4<<1)>>1]=p;p=(i+2+(f<<1)+h|0)>>>2&65535;b[a+(q+7<<1)>>1]=p;b[a+(j+6<<1)>>1]=p;b[a+(l+5<<1)>>1]=p;b[a+(s+4<<1)>>1]=p;q=(f+1+h|0)>>>1&65535;b[a+(t+7<<1)>>1]=q;b[a+(k+6<<1)>>1]=q;b[a+(r+5<<1)>>1]=q;q=(f+2+(h<<1)+g|0)>>>2&65535;b[a+(j+7<<1)>>1]=q;b[a+(l+6<<1)>>1]=q;b[a+(s+5<<1)>>1]=q;q=(h+1+g|0)>>>1&65535;b[a+(k+7<<1)>>1]=q;b[a+(r+6<<1)>>1]=q;q=(h+2+(g<<1)+d|0)>>>2&65535;b[a+(l+7<<1)>>1]=q;b[a+(s+6<<1)>>1]=q;b[a+(r+7<<1)>>1]=(g+1+d|0)>>>1;b[a+(s+7<<1)>>1]=(g+2+(d<<1)+c|0)>>>2;return}function Gq(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=f>>1;r=e[a+((H(n,((c|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;q=e[a+-2>>1]|0;p=e[a+(n+-1<<1)>>1]|0;r=(r+2+(q<<1)+p|0)>>>2;l=n<<1;o=e[a+(l+-1<<1)>>1]|0;q=(q+2+(p<<1)+o|0)>>>2;j=n*3|0;m=e[a+(j+-1<<1)>>1]|0;p=(p+2+(o<<1)+m|0)>>>2;h=n<<2;k=e[a+(h+-1<<1)>>1]|0;o=(o+2+(m<<1)+k|0)>>>2;g=n*5|0;i=e[a+(g+-1<<1)>>1]|0;m=(m+2+(k<<1)+i|0)>>>2;c=n*6|0;s=e[a+(c+-1<<1)>>1]|0;k=(k+2+(i<<1)+s|0)>>>2;f=n*7|0;d=e[a+(f+-1<<1)>>1]|0;i=(i+2+(s<<1)+d|0)>>>2;d=(s+2+(d*3|0)|0)>>>2;b[a>>1]=(r+1+q|0)>>>1;b[a+2>>1]=(r+2+(q<<1)+p|0)>>>2;r=(q+1+p|0)>>>1&65535;b[a+4>>1]=r;b[a+(n<<1)>>1]=r;q=(q+2+(p<<1)+o|0)>>>2&65535;b[a+6>>1]=q;b[a+(n+1<<1)>>1]=q;q=(p+1+o|0)>>>1&65535;b[a+8>>1]=q;b[a+(n+2<<1)>>1]=q;b[a+(l<<1)>>1]=q;p=(p+2+(o<<1)+m|0)>>>2&65535;b[a+10>>1]=p;b[a+(n+3<<1)>>1]=p;b[a+((l|1)<<1)>>1]=p;p=(o+1+m|0)>>>1&65535;b[a+12>>1]=p;b[a+(n+4<<1)>>1]=p;b[a+(l+2<<1)>>1]=p;b[a+(j<<1)>>1]=p;o=(o+2+(m<<1)+k|0)>>>2&65535;b[a+14>>1]=o;b[a+(n+5<<1)>>1]=o;b[a+(l+3<<1)>>1]=o;b[a+(j+1<<1)>>1]=o;o=(m+1+k|0)>>>1&65535;b[a+(n+6<<1)>>1]=o;b[a+(l+4<<1)>>1]=o;b[a+(j+2<<1)>>1]=o;b[a+(h<<1)>>1]=o;m=(m+2+(k<<1)+i|0)>>>2&65535;b[a+(n+7<<1)>>1]=m;b[a+(l+5<<1)>>1]=m;b[a+(j+3<<1)>>1]=m;b[a+((h|1)<<1)>>1]=m;m=(k+1+i|0)>>>1&65535;b[a+(l+6<<1)>>1]=m;b[a+(j+4<<1)>>1]=m;b[a+((h|2)<<1)>>1]=m;b[a+(g<<1)>>1]=m;k=(k+2+d+(i<<1)|0)>>>2&65535;b[a+(l+7<<1)>>1]=k;b[a+(j+5<<1)>>1]=k;b[a+((h|3)<<1)>>1]=k;b[a+(g+1<<1)>>1]=k;k=(d+1+i|0)>>>1&65535;b[a+(j+6<<1)>>1]=k;b[a+(h+4<<1)>>1]=k;b[a+(g+2<<1)>>1]=k;b[a+(c<<1)>>1]=k;i=(i+2+(d*3|0)|0)>>>2&65535;b[a+(j+7<<1)>>1]=i;b[a+(h+5<<1)>>1]=i;b[a+(g+3<<1)>>1]=i;b[a+((c|1)<<1)>>1]=i;d=d&65535;b[a+(f+7<<1)>>1]=d;b[a+(c+7<<1)>>1]=d;b[a+(g+7<<1)>>1]=d;b[a+(h+7<<1)>>1]=d;b[a+(f+6<<1)>>1]=d;b[a+(c+6<<1)>>1]=d;b[a+(g+6<<1)>>1]=d;b[a+(h+6<<1)>>1]=d;b[a+(f+5<<1)>>1]=d;b[a+(c+5<<1)>>1]=d;b[a+(g+5<<1)>>1]=d;b[a+(f+4<<1)>>1]=d;b[a+(c+4<<1)>>1]=d;b[a+(g+4<<1)>>1]=d;b[a+(f+3<<1)>>1]=d;b[a+(c+3<<1)>>1]=d;b[a+(f+2<<1)>>1]=d;b[a+(c+2<<1)>>1]=d;b[a+(f+1<<1)>>1]=d;b[a+(f<<1)>>1]=d;return}function Hq(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=f>>1;m=e[a+((H(h,((b|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;l=e[a+-2>>1]|0;k=e[a+(h+-1<<1)>>1]|0;j=e[a+((h<<1)+-1<<1)>>1]|0;i=e[a+((h*3|0)+-1<<1)>>1]|0;d=e[a+((h<<2)+-1<<1)>>1]|0;f=e[a+((h*5|0)+-1<<1)>>1]|0;g=e[a+((h*6|0)+-1<<1)>>1]|0;b=e[a+((h*7|0)+-1<<1)>>1]|0;b=((m+2+(l<<1)+k|0)>>>2)+4+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+d|0)>>>2)+((i+2+(d<<1)+f|0)>>>2)+((d+2+(f<<1)+g|0)>>>2)+((f+2+(g<<1)+b|0)>>>2)+((g+2+(b*3|0)|0)>>>2)>>3;b=PW(b|0,((b|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;f=0;d=a;while(1){if((f|0)==8)break;m=d;c[m>>2]=b;c[m+4>>2]=g;m=d+8|0;c[m>>2]=b;c[m+4>>2]=g;f=f+1|0;d=d+(h<<1)|0}return}function Iq(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=f>>1;n=e[a+(0-h<<1)>>1]|0;m=e[a+(1-h<<1)>>1]|0;l=e[a+(2-h<<1)>>1]|0;k=e[a+(3-h<<1)>>1]|0;j=e[a+(4-h<<1)>>1]|0;i=e[a+(5-h<<1)>>1]|0;f=e[a+(6-h<<1)>>1]|0;g=e[a+(7-h<<1)>>1]|0;d=(((e[a+((((b|0)!=0)<<31>>31)-h<<1)>>1]|0)+2+(n<<1)+m|0)>>>2)+4+((n+2+(m<<1)+l|0)>>>2)+((m+2+(l<<1)+k|0)>>>2)+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+f|0)>>>2)+((i+2+(f<<1)+g|0)>>>2)+((f+2+(e[a+((d|0?8:7)-h<<1)>>1]|0)+(g<<1)|0)>>>2)>>3;d=PW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=0;f=a;while(1){if((b|0)==8)break;n=f;c[n>>2]=d;c[n+4>>2]=g;n=f+8|0;c[n>>2]=d;c[n+4>>2]=g;b=b+1|0;f=f+(h<<1)|0}return}function Jq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;d=e>>1;b=0;while(1){if((b|0)==8)break;e=a;c[e>>2]=134219776;c[e+4>>2]=134219776;e=a+8|0;c[e>>2]=134219776;c[e+4>>2]=134219776;b=b+1|0;a=a+(d<<1)|0}return}function Kq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=b>>1;f=a+(0-g<<1)|0;d=f;h=c[d>>2]|0;d=c[d+4>>2]|0;f=f+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;b=0;while(1){if((b|0)==8)break;i=a+((H(b,g)|0)<<1)|0;j=i;c[j>>2]=h;c[j+4>>2]=d;i=i+8|0;c[i>>2]=e;c[i+4>>2]=f;b=b+1|0}return}function Lq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=b>>1;f=a+(0-g<<1)|0;d=f;h=c[d>>2]|0;d=c[d+4>>2]|0;f=f+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;b=0;while(1){if((b|0)==16)break;i=a+((H(b,g)|0)<<1)|0;j=i;c[j>>2]=h;c[j+4>>2]=d;i=i+8|0;c[i>>2]=e;c[i+4>>2]=f;b=b+1|0}return}function Mq(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==8)break;f=H(b,d)|0;h=PW(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;f=f+8|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function Nq(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==16)break;f=H(b,d)|0;h=PW(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;f=f+8|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function Oq(a,c){a=a|0;c=c|0;var d=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=c>>1;h=0-q|0;i=a+6+(h<<1)|0;f=a+(q<<2<<1)+-2|0;p=q<<1;d=f+(0-p<<1)|0;o=a+((q*14|0)+-2)|0;p=a+(-2-p)|0;j=(e[f>>1]|0)-(e[d>>1]|0)|0;c=(e[i+2>>1]|0)-(e[i+-2>>1]|0)|0;g=2;while(1){if((g|0)==5)break;n=f+(q<<1)|0;m=d+(h<<1)|0;l=(H((e[i+(g<<1)>>1]|0)-(e[i+(0-g<<1)>>1]|0)|0,g)|0)+c|0;j=(H((e[n>>1]|0)-(e[m>>1]|0)|0,g)|0)+j|0;c=l;d=m;f=n;g=g+1|0}n=(c*17|0)+16>>5;g=(j*17|0)+16>>5;h=n<<1;i=n*3|0;j=n<<2;k=n*5|0;l=n*6|0;m=n*7|0;f=8;d=(H(g+n|0,-3)|0)+16+((e[p+16>>1]|0)+(e[o>>1]|0)<<4)|0;c=a;while(1){if((f|0)<=0)break;a=d>>5;b[c>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+n>>5;b[c+2>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+h>>5;b[c+4>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+i>>5;b[c+6>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+j>>5;b[c+8>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+k>>5;b[c+10>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+l>>5;b[c+12>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+m>>5;b[c+14>>1]=a>>>0<4096?a:0-a>>31&4095;f=f+-1|0;d=d+g|0;c=c+(q<<1)|0}return}function Pq(a,c){a=a|0;c=c|0;var d=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=c>>1;l=0-q|0;h=a+6+(l<<1)|0;g=a+(q<<3<<1)+-2|0;f=g+(0-(q<<1)<<1)|0;j=a+((q*22|0)+-2)|0;i=a+((q*6|0)+-2)|0;c=2;d=(e[g>>1]|0)-(e[f>>1]|0)|0;k=(e[h+2>>1]|0)-(e[h+-2>>1]|0)|0;while(1){if((c|0)==5)break;p=g+(q<<1)|0;o=f+(l<<1)|0;n=(H((e[h+(c<<1)>>1]|0)-(e[h+(0-c<<1)>>1]|0)|0,c)|0)+k|0;m=(H((e[p>>1]|0)-(e[o>>1]|0)|0,c)|0)+d|0;c=c+1|0;d=m;k=n;f=o;g=p}c=5;while(1){if((c|0)>=9)break;p=j+(q<<1)|0;o=i+(l<<1)|0;d=(H((e[p>>1]|0)-(e[o>>1]|0)|0,c)|0)+d|0;c=c+1|0;i=o;j=p}p=(k*17|0)+16>>5;g=(d*5|0)+32>>6;h=p*3|0;k=p<<1;l=p<<2;m=p*5|0;n=p*6|0;o=p*7|0;f=16;d=16-h+(H(g,-7)|0)+((e[i+16>>1]|0)+(e[j>>1]|0)<<4)|0;c=a;while(1){if((f|0)<=0)break;a=d>>5;b[c>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+p>>5;b[c+2>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+k>>5;b[c+4>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+h>>5;b[c+6>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+l>>5;b[c+8>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+m>>5;b[c+10>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+n>>5;b[c+12>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+o>>5;b[c+14>>1]=a>>>0<4096?a:0-a>>31&4095;f=f+-1|0;d=d+g|0;c=c+(q<<1)|0}return}function Qq(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=b>>1;b=0;d=0;f=0;g=0;while(1){if((b|0)==4)break;l=e[a+((H(b,n)|0)+-1<<1)>>1]|0;l=d+l+(e[a+(b-n<<1)>>1]|0)|0;m=b+4|0;b=b+1|0;d=l;f=f+(e[a+(m-n<<1)>>1]|0)|0;g=g+(e[a+((H(m,n)|0)+-1<<1)>>1]|0)|0}d=d+4>>3;d=PW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;h=M()|0;i=f+2>>2;i=PW(i|0,((i|0)<0)<<31>>31|0,65537,65537)|0;j=M()|0;k=g+2>>2;l=((k|0)<0)<<31>>31;f=g+4+f>>3;m=((f|0)<0)<<31>>31;b=0;while(1){if((b|0)==4)break;g=a+((H(b,n)|0)<<1)|0;o=g;c[o>>2]=d;c[o+4>>2]=h;g=g+8|0;c[g>>2]=i;c[g+4>>2]=j;b=b+1|0}g=PW(k|0,l|0,65537,65537)|0;h=M()|0;d=PW(f|0,m|0,65537,65537)|0;f=M()|0;b=4;while(1){if((b|0)==8)break;o=a+((H(b,n)|0)<<1)|0;m=o;c[m>>2]=g;c[m+4>>2]=h;o=o+8|0;c[o>>2]=d;c[o+4>>2]=f;b=b+1|0}return}function Rq(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;i=b>>1;b=0;d=0;f=0;while(1){if((b|0)==4)break;g=d+(e[a+((H(b,i)|0)+-1<<1)>>1]|0)|0;h=f+(e[a+((H(b+4|0,i)|0)+-1<<1)>>1]|0)|0;b=b+1|0;d=g;f=h}g=d+2>>2;g=PW(g|0,((g|0)<0)<<31>>31|0,65537,65537)|0;h=M()|0;d=f+2>>2;f=((d|0)<0)<<31>>31;b=0;while(1){if((b|0)==4)break;j=a+((H(b,i)|0)<<1)|0;k=j;c[k>>2]=g;c[k+4>>2]=h;j=j+8|0;c[j>>2]=g;c[j+4>>2]=h;b=b+1|0}d=PW(d|0,f|0,65537,65537)|0;f=M()|0;b=4;while(1){if((b|0)==8)break;k=a+((H(b,i)|0)<<1)|0;j=k;c[j>>2]=d;c[j+4>>2]=f;k=k+8|0;c[k>>2]=d;c[k+4>>2]=f;b=b+1|0}return}function Sq(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;j=b>>1;f=4-j|0;b=0;d=0;g=0;while(1){if((b|0)==4)break;h=d+(e[a+(b-j<<1)>>1]|0)|0;i=g+(e[a+(f+b<<1)>>1]|0)|0;b=b+1|0;d=h;g=i}h=d+2>>2;h=PW(h|0,((h|0)<0)<<31>>31|0,65537,65537)|0;i=M()|0;d=g+2>>2;d=PW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;f=M()|0;b=0;while(1){if((b|0)==4){b=4;break}g=a+((H(b,j)|0)<<1)|0;k=g;c[k>>2]=h;c[k+4>>2]=i;g=g+8|0;c[g>>2]=d;c[g+4>>2]=f;b=b+1|0}while(1){if((b|0)==8)break;k=a+((H(b,j)|0)<<1)|0;g=k;c[g>>2]=h;c[g+4>>2]=i;k=k+8|0;c[k>>2]=d;c[k+4>>2]=f;b=b+1|0}return}function Tq(a,b){a=a|0;b=b|0;Sq(a,b);mq(a,0,b);return}function Uq(a,b){a=a|0;b=b|0;Qq(a,b);wq(a,0,b);return}function Vq(a,b){a=a|0;b=b|0;Rq(a,b);a=a+(b<<2)|0;xq(a,0,b);xq(a+8|0,0,b);return}function Wq(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=b>>1;b=0;d=0;h=0;f=0;g=0;i=0;while(1){if((b|0)==4)break;t=e[a+((H(b,y)|0)+-1<<1)>>1]|0;t=d+t+(e[a+(b-y<<1)>>1]|0)|0;u=b+4|0;v=f+(e[a+((H(u,y)|0)+-1<<1)>>1]|0)|0;w=g+(e[a+((H(b+8|0,y)|0)+-1<<1)>>1]|0)|0;x=i+(e[a+((H(b+12|0,y)|0)+-1<<1)>>1]|0)|0;b=b+1|0;d=t;h=h+(e[a+(u-y<<1)>>1]|0)|0;f=v;g=w;i=x}d=d+4>>3;d=PW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;j=M()|0;k=h+2>>2;k=PW(k|0,((k|0)<0)<<31>>31|0,65537,65537)|0;l=M()|0;m=f+2>>2;n=((m|0)<0)<<31>>31;f=f+4+h>>3;o=((f|0)<0)<<31>>31;r=g+2>>2;s=((r|0)<0)<<31>>31;g=g+4+h>>3;t=((g|0)<0)<<31>>31;u=i+2>>2;v=((u|0)<0)<<31>>31;w=i+4+h>>3;x=((w|0)<0)<<31>>31;b=0;while(1){if((b|0)==4)break;q=a+((H(b,y)|0)<<1)|0;p=q;c[p>>2]=d;c[p+4>>2]=j;q=q+8|0;c[q>>2]=k;c[q+4>>2]=l;b=b+1|0}p=PW(m|0,n|0,65537,65537)|0;q=M()|0;m=PW(f|0,o|0,65537,65537)|0;n=M()|0;k=PW(r|0,s|0,65537,65537)|0;l=M()|0;i=PW(g|0,t|0,65537,65537)|0;j=M()|0;g=PW(u|0,v|0,65537,65537)|0;h=M()|0;d=PW(w|0,x|0,65537,65537)|0;f=M()|0;b=4;while(1){if((b|0)==8){b=8;break}x=a+((H(b,y)|0)<<1)|0;w=x;c[w>>2]=p;c[w+4>>2]=q;x=x+8|0;c[x>>2]=m;c[x+4>>2]=n;b=b+1|0}while(1){if((b|0)==12){b=12;break}x=a+((H(b,y)|0)<<1)|0;w=x;c[w>>2]=k;c[w+4>>2]=l;x=x+8|0;c[x>>2]=i;c[x+4>>2]=j;b=b+1|0}while(1){if((b|0)==16)break;x=a+((H(b,y)|0)<<1)|0;w=x;c[w>>2]=g;c[w+4>>2]=h;x=x+8|0;c[x>>2]=d;c[x+4>>2]=f;b=b+1|0}return}function Xq(a,b){a=a|0;b=b|0;Rq(a,b);Rq(a+(b<<3)|0,b);return}function Yq(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;j=b>>1;f=4-j|0;b=0;d=0;g=0;while(1){if((b|0)==4)break;h=d+(e[a+(b-j<<1)>>1]|0)|0;i=g+(e[a+(f+b<<1)>>1]|0)|0;b=b+1|0;d=h;g=i}h=d+2>>2;h=PW(h|0,((h|0)<0)<<31>>31|0,65537,65537)|0;i=M()|0;d=g+2>>2;d=PW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;f=M()|0;b=0;while(1){if((b|0)==16)break;g=a+((H(b,j)|0)<<1)|0;k=g;c[k>>2]=h;c[k+4>>2]=i;g=g+8|0;c[g>>2]=d;c[g+4>>2]=f;b=b+1|0}return}function Zq(a,b){a=a|0;b=b|0;Yq(a,b);mq(a,0,b);return}function _q(a,b){a=a|0;b=b|0;Wq(a,b);wq(a,0,b);return}function $q(a,b){a=a|0;b=b|0;Xq(a,b);a=a+(b<<2)|0;xq(a,0,b);xq(a+8|0,0,b);return}function ar(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=134154239;c[f+4>>2]=134154239;e=e+8|0;c[e>>2]=134154239;c[e+4>>2]=134154239;b=b+1|0}return}function br(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=134285313;c[f+4>>2]=134285313;e=e+8|0;c[e>>2]=134285313;c[e+4>>2]=134285313;b=b+1|0}return}function cr(a,b){a=a|0;b=b|0;Xq(a,b);xq(a,0,b);xq(a+8|0,0,b);return}function dr(a,b){a=a|0;b=b|0;Rq(a,b);xq(a,0,b);xq(a+8|0,0,b);return}function er(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=134219776;c[f+4>>2]=134219776;e=e+8|0;c[e>>2]=134219776;c[e+4>>2]=134219776;b=b+1|0}return}function fr(a,b){a=a|0;b=b|0;er(a,b);er(a+(b<<3)|0,b);return}function gr(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16){d=0;break}b=b+(e[a+((H(d,h)|0)+-1<<1)>>1]|0)|0;d=d+1|0}while(1){if((d|0)==16)break;b=b+(e[a+(d-h<<1)>>1]|0)|0;d=d+1|0}f=b+16>>5;f=PW(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function hr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=b>>1;k=a+(0-g<<1)|0;d=k;l=c[d>>2]|0;d=c[d+4>>2]|0;f=k+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;i=k+16|0;h=c[i>>2]|0;i=c[i+4>>2]|0;k=k+24|0;j=c[k>>2]|0;k=c[k+4>>2]|0;b=0;while(1){if((b|0)==16)break;m=a+((H(b,g)|0)<<1)|0;n=m;c[n>>2]=l;c[n+4>>2]=d;n=m+8|0;c[n>>2]=e;c[n+4>>2]=f;n=m+16|0;c[n>>2]=h;c[n+4>>2]=i;m=m+24|0;c[m>>2]=j;c[m+4>>2]=k;b=b+1|0}return}function ir(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==16)break;f=H(b,d)|0;h=PW(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;i=f+8|0;c[i>>2]=h;c[i+4>>2]=g;i=f+16|0;c[i>>2]=h;c[i+4>>2]=g;f=f+24|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function jr(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=134154239;c[e+4>>2]=134154239;e=b+8|0;c[e>>2]=134154239;c[e+4>>2]=134154239;e=b+16|0;c[e>>2]=134154239;c[e+4>>2]=134154239;e=b+24|0;c[e>>2]=134154239;c[e+4>>2]=134154239;b=b+(d<<1)|0;a=a+1|0}return}function kr(a,b){a=a|0;b=b|0;nu(a,b);return}function lr(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=134285313;c[e+4>>2]=134285313;e=b+8|0;c[e>>2]=134285313;c[e+4>>2]=134285313;e=b+16|0;c[e>>2]=134285313;c[e+4>>2]=134285313;e=b+24|0;c[e>>2]=134285313;c[e+4>>2]=134285313;b=b+(d<<1)|0;a=a+1|0}return}function mr(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16)break;b=b+(e[a+((H(d,h)|0)+-1<<1)>>1]|0)|0;d=d+1|0}f=b+8>>4;f=PW(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function nr(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16)break;b=b+(e[a+(d-h<<1)>>1]|0)|0;d=d+1|0}f=b+8>>4;f=PW(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function or(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=134219776;c[e+4>>2]=134219776;e=b+8|0;c[e>>2]=134219776;c[e+4>>2]=134219776;e=b+16|0;c[e>>2]=134219776;c[e+4>>2]=134219776;e=b+24|0;c[e>>2]=134219776;c[e+4>>2]=134219776;b=b+(d<<1)|0;a=a+1|0}return}function pr(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;h=f>>1;i=h<<1;j=h*3|0;k=h<<2;g=d;f=a+(0-h<<1)|0;a=0;while(1){if((a|0)==4)break;l=(c[g>>2]|0)+(e[f>>1]|0)|0;b[f+(h<<1)>>1]=l;l=(c[g+16>>2]|0)+l|0;b[f+(i<<1)>>1]=l;l=(c[g+32>>2]|0)+l|0;b[f+(j<<1)>>1]=l;b[f+(k<<1)>>1]=(c[g+48>>2]|0)+l;g=g+4|0;f=f+2|0;a=a+1|0}f=d+64|0;do{b[d>>1]=0;d=d+2|0}while((d|0)<(f|0));return}function qr(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0;h=f>>1;g=d;f=a;a=0;while(1){if((a|0)==4)break;i=(c[g>>2]|0)+(e[f+-2>>1]|0)|0;b[f>>1]=i;i=(c[g+4>>2]|0)+i|0;b[f+2>>1]=i;i=(c[g+8>>2]|0)+i|0;b[f+4>>1]=i;b[f+6>>1]=(c[g+12>>2]|0)+i;g=g+16|0;f=f+(h<<1)|0;a=a+1|0}f=d+64|0;do{b[d>>1]=0;d=d+2|0}while((d|0)<(f|0));return}function rr(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=f>>1;l=k<<1;m=k*3|0;n=k<<2;o=k*5|0;h=k*6|0;i=k*7|0;j=k<<3;g=d;f=a+(0-k<<1)|0;a=0;while(1){if((a|0)==8)break;p=(c[g>>2]|0)+(e[f>>1]|0)|0;b[f+(k<<1)>>1]=p;p=(c[g+32>>2]|0)+p|0;b[f+(l<<1)>>1]=p;p=(c[g+64>>2]|0)+p|0;b[f+(m<<1)>>1]=p;p=(c[g+96>>2]|0)+p|0;b[f+(n<<1)>>1]=p;p=(c[g+128>>2]|0)+p|0;b[f+(o<<1)>>1]=p;p=(c[g+160>>2]|0)+p|0;b[f+(h<<1)>>1]=p;p=(c[g+192>>2]|0)+p|0;b[f+(i<<1)>>1]=p;b[f+(j<<1)>>1]=(c[g+224>>2]|0)+p;g=g+4|0;f=f+2|0;a=a+1|0}_W(d|0,0,256)|0;return}function sr(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0;h=f>>1;g=d;f=a;a=0;while(1){if((a|0)==8)break;i=(c[g>>2]|0)+(e[f+-2>>1]|0)|0;b[f>>1]=i;i=(c[g+4>>2]|0)+i|0;b[f+2>>1]=i;i=(c[g+8>>2]|0)+i|0;b[f+4>>1]=i;i=(c[g+12>>2]|0)+i|0;b[f+6>>1]=i;i=(c[g+16>>2]|0)+i|0;b[f+8>>1]=i;i=(c[g+20>>2]|0)+i|0;b[f+10>>1]=i;i=(c[g+24>>2]|0)+i|0;b[f+12>>1]=i;b[f+14>>1]=(c[g+28>>2]|0)+i;g=g+32|0;f=f+(h<<1)|0;a=a+1|0}_W(d|0,0,256)|0;return}function tr(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);p=q;o=h>>1;s=e[a+(0-o<<1)>>1]|0;r=e[a+(1-o<<1)>>1]|0;h=e[a+(2-o<<1)>>1]|0;n=e[a+(3-o<<1)>>1]|0;m=e[a+(4-o<<1)>>1]|0;l=e[a+(5-o<<1)>>1]|0;k=e[a+(6-o<<1)>>1]|0;j=e[a+(7-o<<1)>>1]|0;i=(k+2+(e[a+((g|0?8:7)-o<<1)>>1]|0)+(j<<1)|0)>>>2;b[p>>1]=((e[a+((((f|0)!=0)<<31>>31)-o<<1)>>1]|0)+2+(s<<1)+r|0)>>>2;b[p+2>>1]=(s+2+(r<<1)+h|0)>>>2;b[p+4>>1]=(r+2+(h<<1)+n|0)>>>2;b[p+6>>1]=(h+2+(n<<1)+m|0)>>>2;b[p+8>>1]=(n+2+(m<<1)+l|0)>>>2;b[p+10>>1]=(m+2+(l<<1)+k|0)>>>2;b[p+12>>1]=(l+2+(k<<1)+j|0)>>>2;b[p+14>>1]=i;i=o<<1;j=o*3|0;k=o<<2;l=o*5|0;m=o*6|0;n=o*7|0;g=0;h=a;f=d;while(1){if((g|0)==8)break;s=(c[f>>2]|0)+(e[p+(g<<1)>>1]|0)|0;b[h>>1]=s;s=(c[f+32>>2]|0)+s|0;b[h+(o<<1)>>1]=s;s=(c[f+64>>2]|0)+s|0;b[h+(i<<1)>>1]=s;s=(c[f+96>>2]|0)+s|0;b[h+(j<<1)>>1]=s;s=(c[f+128>>2]|0)+s|0;b[h+(k<<1)>>1]=s;s=(c[f+160>>2]|0)+s|0;b[h+(l<<1)>>1]=s;s=(c[f+192>>2]|0)+s|0;b[h+(m<<1)>>1]=s;b[h+(n<<1)>>1]=(c[f+224>>2]|0)+s;g=g+1|0;h=h+2|0;f=f+4|0}_W(d|0,0,256)|0;$c=q;return}function ur(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;k=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);j=k;i=h>>1;q=e[a+((H(i,((f|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;p=e[a+-2>>1]|0;o=e[a+(i+-1<<1)>>1]|0;n=e[a+((i<<1)+-1<<1)>>1]|0;m=e[a+((i*3|0)+-1<<1)>>1]|0;l=e[a+((i<<2)+-1<<1)>>1]|0;h=e[a+((i*5|0)+-1<<1)>>1]|0;g=e[a+((i*6|0)+-1<<1)>>1]|0;f=e[a+((i*7|0)+-1<<1)>>1]|0;b[j>>1]=(q+2+(p<<1)+o|0)>>>2;b[j+2>>1]=(p+2+(o<<1)+n|0)>>>2;b[j+4>>1]=(o+2+(n<<1)+m|0)>>>2;b[j+6>>1]=(n+2+(m<<1)+l|0)>>>2;b[j+8>>1]=(m+2+(l<<1)+h|0)>>>2;b[j+10>>1]=(l+2+(h<<1)+g|0)>>>2;b[j+12>>1]=(h+2+(g<<1)+f|0)>>>2;b[j+14>>1]=(g+2+(f*3|0)|0)>>>2;f=0;g=a;h=d;while(1){if((f|0)==8)break;q=(c[h>>2]|0)+(e[j+(f<<1)>>1]|0)|0;b[g>>1]=q;q=(c[h+4>>2]|0)+q|0;b[g+2>>1]=q;q=(c[h+8>>2]|0)+q|0;b[g+4>>1]=q;q=(c[h+12>>2]|0)+q|0;b[g+6>>1]=q;q=(c[h+16>>2]|0)+q|0;b[g+8>>1]=q;q=(c[h+20>>2]|0)+q|0;b[g+10>>1]=q;q=(c[h+24>>2]|0)+q|0;b[g+12>>1]=q;b[g+14>>1]=(c[h+28>>2]|0)+q;f=f+1|0;g=g+(i<<1)|0;h=h+32|0}_W(d|0,0,256)|0;$c=k;return}function vr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;pr(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function wr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4){f=4;break}pr(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}while(1){if((f|0)==8)break;pr(a+(c[b+(f+4<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function xr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;qr(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function yr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4){f=4;break}qr(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}while(1){if((f|0)==8)break;qr(a+(c[b+(f+4<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function zr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;d=d>>1;b=a+(0-d<<1)|0;e=c[b>>2]|0;b=c[b+4>>2]|0;f=a;c[f>>2]=e;c[f+4>>2]=b;f=a+(d<<1)|0;c[f>>2]=e;c[f+4>>2]=b;f=a+(d<<1<<1)|0;c[f>>2]=e;c[f+4>>2]=b;d=a+(d*3<<1)|0;c[d>>2]=e;c[d+4>>2]=b;return}function Ar(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0;d=d>>1;f=PW(e[a+-2>>1]|0|0,0,65537,65537)|0;g=M()|0;b=a;c[b>>2]=f;c[b+4>>2]=g;b=PW(e[a+(d+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(d<<1)|0;c[f>>2]=b;c[f+4>>2]=g;f=d<<1;g=PW(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;b=M()|0;f=a+(f<<1)|0;c[f>>2]=g;c[f+4>>2]=b;d=d*3|0;f=PW(e[a+(d+-1<<1)>>1]|0|0,0,65537,65537)|0;b=M()|0;d=a+(d<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function Br(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0;h=d>>1;g=h<<1;d=h*3|0;f=(e[a+(0-h<<1)>>1]|0)+4+(e[a+(1-h<<1)>>1]|0)+(e[a+(2-h<<1)>>1]|0)+(e[a+(3-h<<1)>>1]|0)+(e[a+-2>>1]|0)+(e[a+(h+-1<<1)>>1]|0)+(e[a+(g+-1<<1)>>1]|0)+(e[a+(d+-1<<1)>>1]|0)>>3;f=PW(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;b=M()|0;i=a;c[i>>2]=f;c[i+4>>2]=b;h=a+(h<<1)|0;c[h>>2]=f;c[h+4>>2]=b;g=a+(g<<1)|0;c[g>>2]=f;c[g+4>>2]=b;d=a+(d<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function Cr(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;i=d>>1;g=e[a+(1-i<<1)>>1]|0;d=e[a+(2-i<<1)>>1]|0;k=e[a+(3-i<<1)>>1]|0;j=e[c>>1]|0;h=e[c+2>>1]|0;f=e[c+4>>1]|0;c=e[c+6>>1]|0;b[a>>1]=((e[a+(0-i<<1)>>1]|0)+2+d+(g<<1)|0)>>>2;g=(g+2+k+(d<<1)|0)>>>2&65535;b[a+(i<<1)>>1]=g;b[a+2>>1]=g;d=(d+2+j+(k<<1)|0)>>>2&65535;g=i<<1;b[a+(g<<1)>>1]=d;b[a+(i+1<<1)>>1]=d;b[a+4>>1]=d;k=(k+2+h+(j<<1)|0)>>>2&65535;d=i*3|0;b[a+(d<<1)>>1]=k;b[a+((g|1)<<1)>>1]=k;b[a+(i+2<<1)>>1]=k;b[a+6>>1]=k;j=(j+2+f+(h<<1)|0)>>>2&65535;b[a+(d+1<<1)>>1]=j;b[a+(g+2<<1)>>1]=j;b[a+(i+3<<1)>>1]=j;h=(h+2+c+(f<<1)|0)>>>2&65535;b[a+(d+2<<1)>>1]=h;b[a+(g+3<<1)>>1]=h;b[a+(d+3<<1)>>1]=(f+2+(c*3|0)|0)>>>2;return}function Dr(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;m=e[a+(~h<<1)>>1]|0;g=e[a+(0-h<<1)>>1]|0;f=e[a+(1-h<<1)>>1]|0;c=e[a+(2-h<<1)>>1]|0;d=e[a+(3-h<<1)>>1]|0;k=e[a+-2>>1]|0;n=e[a+(h+-1<<1)>>1]|0;j=h<<1;i=e[a+(j+-1<<1)>>1]|0;l=h*3|0;b[a+(l<<1)>>1]=(n+2+(e[a+(l+-1<<1)>>1]|0)+(i<<1)|0)>>>2;i=(k+2+i+(n<<1)|0)>>>2&65535;b[a+(l+1<<1)>>1]=i;b[a+(j<<1)>>1]=i;i=m+2|0;n=(i+n+(k<<1)|0)>>>2&65535;b[a+(l+2<<1)>>1]=n;b[a+((j|1)<<1)>>1]=n;b[a+(h<<1)>>1]=n;k=((m<<1)+2+g+k|0)>>>2&65535;b[a+(l+3<<1)>>1]=k;b[a+(j+2<<1)>>1]=k;b[a+(h+1<<1)>>1]=k;b[a>>1]=k;i=(i+(g<<1)+f|0)>>>2&65535;b[a+(j+3<<1)>>1]=i;b[a+(h+2<<1)>>1]=i;b[a+2>>1]=i;g=(g+2+(f<<1)+c|0)>>>2&65535;b[a+(h+3<<1)>>1]=g;b[a+4>>1]=g;b[a+6>>1]=(f+2+(c<<1)+d|0)>>>2;return}function Er(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=d>>1;i=e[a+(~j<<1)>>1]|0;n=e[a+(0-j<<1)>>1]|0;m=e[a+(1-j<<1)>>1]|0;l=e[a+(2-j<<1)>>1]|0;k=e[a+(3-j<<1)>>1]|0;g=e[a+-2>>1]|0;f=e[a+(j+-1<<1)>>1]|0;h=j<<1;c=e[a+(h+-1<<1)>>1]|0;d=j*3|0;o=(i+1+n|0)>>>1&65535;b[a+((h|1)<<1)>>1]=o;b[a>>1]=o;o=(n+1+m|0)>>>1&65535;b[a+(h+2<<1)>>1]=o;b[a+2>>1]=o;o=(m+1+l|0)>>>1&65535;b[a+(h+3<<1)>>1]=o;b[a+4>>1]=o;b[a+6>>1]=(l+1+k|0)>>>1;o=((i<<1)+2+n+g|0)>>>2&65535;b[a+(d+1<<1)>>1]=o;b[a+(j<<1)>>1]=o;i=i+2|0;o=(i+(n<<1)+m|0)>>>2&65535;b[a+(d+2<<1)>>1]=o;b[a+(j+1<<1)>>1]=o;n=(n+2+(m<<1)+l|0)>>>2&65535;b[a+(d+3<<1)>>1]=n;b[a+(j+2<<1)>>1]=n;b[a+(j+3<<1)>>1]=(m+2+(l<<1)+k|0)>>>2;b[a+(h<<1)>>1]=(i+(g<<1)+f|0)>>>2;b[a+(d<<1)>>1]=(g+2+(f<<1)+c|0)>>>2;return}function Fr(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=d>>1;k=e[a+(~j<<1)>>1]|0;n=e[a+(0-j<<1)>>1]|0;m=e[a+(1-j<<1)>>1]|0;l=e[a+(2-j<<1)>>1]|0;i=e[a+-2>>1]|0;g=e[a+(j+-1<<1)>>1]|0;h=j<<1;f=e[a+(h+-1<<1)>>1]|0;d=j*3|0;c=e[a+(d+-1<<1)>>1]|0;o=(k+1+i|0)>>>1&65535;b[a+(j+2<<1)>>1]=o;b[a>>1]=o;o=((k<<1)+2+n+i|0)>>>2&65535;b[a+(j+3<<1)>>1]=o;b[a+2>>1]=o;k=k+2|0;b[a+4>>1]=(k+(n<<1)+m|0)>>>2;b[a+6>>1]=(n+2+(m<<1)+l|0)>>>2;l=(i+1+g|0)>>>1&65535;b[a+(h+2<<1)>>1]=l;b[a+(j<<1)>>1]=l;k=(k+(i<<1)+g|0)>>>2&65535;b[a+(h+3<<1)>>1]=k;b[a+(j+1<<1)>>1]=k;j=(g+1+f|0)>>>1&65535;b[a+(d+2<<1)>>1]=j;b[a+(h<<1)>>1]=j;i=(i+2+(g<<1)+f|0)>>>2&65535;b[a+(d+3<<1)>>1]=i;b[a+((h|1)<<1)>>1]=i;b[a+(d<<1)>>1]=(f+1+c|0)>>>1;b[a+(d+1<<1)>>1]=(g+2+(f<<1)+c|0)>>>2;return}function Gr(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=d>>1;d=e[a+(0-h<<1)>>1]|0;k=e[a+(1-h<<1)>>1]|0;j=e[a+(2-h<<1)>>1]|0;i=e[a+(3-h<<1)>>1]|0;g=e[c>>1]|0;f=e[c+2>>1]|0;c=e[c+4>>1]|0;b[a>>1]=(d+1+k|0)>>>1;m=(k+1+j|0)>>>1&65535;l=h<<1;b[a+(l<<1)>>1]=m;b[a+2>>1]=m;m=(j+1+i|0)>>>1&65535;b[a+((l|1)<<1)>>1]=m;b[a+4>>1]=m;m=(i+1+g|0)>>>1&65535;b[a+(l+2<<1)>>1]=m;b[a+6>>1]=m;b[a+(l+3<<1)>>1]=(g+1+f|0)>>>1;b[a+(h<<1)>>1]=(d+2+(k<<1)+j|0)>>>2;k=(k+2+(j<<1)+i|0)>>>2&65535;d=h*3|0;b[a+(d<<1)>>1]=k;b[a+(h+1<<1)>>1]=k;j=(j+2+(i<<1)+g|0)>>>2&65535;b[a+(d+1<<1)>>1]=j;b[a+(h+2<<1)>>1]=j;i=(i+2+(g<<1)+f|0)>>>2&65535;b[a+(d+2<<1)>>1]=i;b[a+(h+3<<1)>>1]=i;b[a+(d+3<<1)>>1]=(g+2+(f<<1)+c|0)>>>2;return}function Hr(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;g=d>>1;k=e[a+-2>>1]|0;j=e[a+(g+-1<<1)>>1]|0;d=g<<1;i=e[a+(d+-1<<1)>>1]|0;f=g*3|0;c=b[a+(f+-1<<1)>>1]|0;h=c&65535;b[a>>1]=(k+1+j|0)>>>1;b[a+2>>1]=(k+2+(j<<1)+i|0)>>>2;k=(j+1+i|0)>>>1&65535;b[a+(g<<1)>>1]=k;b[a+4>>1]=k;j=(j+2+(i<<1)+h|0)>>>2&65535;b[a+(g+1<<1)>>1]=j;b[a+6>>1]=j;j=(i+1+h|0)>>>1&65535;b[a+(d<<1)>>1]=j;b[a+(g+2<<1)>>1]=j;h=(i+2+h+(h<<1)|0)>>>2&65535;b[a+((d|1)<<1)>>1]=h;b[a+(g+3<<1)>>1]=h;b[a+(f+3<<1)>>1]=c;b[a+(f+2<<1)>>1]=c;b[a+(d+2<<1)>>1]=c;b[a+(f<<1)>>1]=c;b[a+(f+1<<1)>>1]=c;b[a+(d+3<<1)>>1]=c;return}function Ir(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0;h=d>>1;g=h<<1;d=h*3|0;f=PW(((e[a+-2>>1]|0)+2+(e[a+(h+-1<<1)>>1]|0)+(e[a+(g+-1<<1)>>1]|0)+(e[a+(d+-1<<1)>>1]|0)|0)>>>2|0,0,65537,65537)|0;b=M()|0;i=a;c[i>>2]=f;c[i+4>>2]=b;h=a+(h<<1)|0;c[h>>2]=f;c[h+4>>2]=b;g=a+(g<<1)|0;c[g>>2]=f;c[g+4>>2]=b;d=a+(d<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function Jr(a,b,d){a=a|0;b=b|0;d=d|0;d=d>>1;b=a;c[b>>2]=536813567;c[b+4>>2]=536813567;b=a+(d<<1)|0;c[b>>2]=536813567;c[b+4>>2]=536813567;b=a+(d<<1<<1)|0;c[b>>2]=536813567;c[b+4>>2]=536813567;d=a+(d*3<<1)|0;c[d>>2]=536813567;c[d+4>>2]=536813567;return}function Kr(a,b,d){a=a|0;b=b|0;d=d|0;d=d>>1;b=a;c[b>>2]=536944641;c[b+4>>2]=536944641;b=a+(d<<1)|0;c[b>>2]=536944641;c[b+4>>2]=536944641;b=a+(d<<1<<1)|0;c[b>>2]=536944641;c[b+4>>2]=536944641;d=a+(d*3<<1)|0;c[d>>2]=536944641;c[d+4>>2]=536944641;return}function Lr(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0;d=d>>1;f=PW(((e[a+(0-d<<1)>>1]|0)+2+(e[a+(1-d<<1)>>1]|0)+(e[a+(2-d<<1)>>1]|0)+(e[a+(3-d<<1)>>1]|0)|0)>>>2|0,0,65537,65537)|0;b=M()|0;g=a;c[g>>2]=f;c[g+4>>2]=b;g=a+(d<<1)|0;c[g>>2]=f;c[g+4>>2]=b;g=a+(d<<1<<1)|0;c[g>>2]=f;c[g+4>>2]=b;d=a+(d*3<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function Mr(a,b,d){a=a|0;b=b|0;d=d|0;d=d>>1;b=a;c[b>>2]=536879104;c[b+4>>2]=536879104;b=a+(d<<1)|0;c[b>>2]=536879104;c[b+4>>2]=536879104;b=a+(d<<1<<1)|0;c[b>>2]=536879104;c[b+4>>2]=536879104;d=a+(d*3<<1)|0;c[d>>2]=536879104;c[d+4>>2]=536879104;return}function Nr(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=g>>1;o=e[a+(0-j<<1)>>1]|0;n=e[a+(1-j<<1)>>1]|0;i=e[a+(2-j<<1)>>1]|0;m=e[a+(3-j<<1)>>1]|0;l=e[a+(4-j<<1)>>1]|0;k=e[a+(5-j<<1)>>1]|0;g=e[a+(6-j<<1)>>1]|0;h=e[a+(7-j<<1)>>1]|0;f=(g+2+(e[a+((f|0?8:7)-j<<1)>>1]|0)+(h<<1)|0)>>>2;b[a>>1]=((e[a+((((d|0)!=0)<<31>>31)-j<<1)>>1]|0)+2+(o<<1)+n|0)>>>2;b[a+2>>1]=(o+2+(n<<1)+i|0)>>>2;b[a+4>>1]=(n+2+(i<<1)+m|0)>>>2;b[a+6>>1]=(i+2+(m<<1)+l|0)>>>2;i=a+8|0;b[i>>1]=(m+2+(l<<1)+k|0)>>>2;b[a+10>>1]=(l+2+(k<<1)+g|0)>>>2;b[a+12>>1]=(k+2+(g<<1)+h|0)>>>2;b[a+14>>1]=f;f=a;d=c[f>>2]|0;f=c[f+4>>2]|0;h=c[i>>2]|0;i=c[i+4>>2]|0;g=1;while(1){if((g|0)==8)break;o=a+((H(g,j)|0)<<1)|0;n=o;c[n>>2]=d;c[n+4>>2]=f;o=o+8|0;c[o>>2]=h;c[o+4>>2]=i;g=g+1|0}return}function Or(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;p=f>>1;u=e[a+((H(p,((b|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;s=e[a+-2>>1]|0;q=e[a+(p+-1<<1)>>1]|0;n=p<<1;o=e[a+(n+-1<<1)>>1]|0;l=p*3|0;m=e[a+(l+-1<<1)>>1]|0;j=p<<2;k=e[a+(j+-1<<1)>>1]|0;h=p*5|0;i=e[a+(h+-1<<1)>>1]|0;g=p*6|0;d=e[a+(g+-1<<1)>>1]|0;f=p*7|0;b=e[a+(f+-1<<1)>>1]|0;u=PW((u+2+(s<<1)+q|0)>>>2|0,0,65537,65537)|0;t=M()|0;r=a;c[r>>2]=u;c[r+4>>2]=t;r=a+8|0;c[r>>2]=u;c[r+4>>2]=t;s=PW((s+2+(q<<1)+o|0)>>>2|0,0,65537,65537)|0;r=M()|0;p=a+(p<<1)|0;t=p;c[t>>2]=s;c[t+4>>2]=r;p=p+8|0;c[p>>2]=s;c[p+4>>2]=r;q=PW((q+2+(o<<1)+m|0)>>>2|0,0,65537,65537)|0;p=M()|0;n=a+(n<<1)|0;r=n;c[r>>2]=q;c[r+4>>2]=p;n=n+8|0;c[n>>2]=q;c[n+4>>2]=p;o=PW((o+2+(m<<1)+k|0)>>>2|0,0,65537,65537)|0;n=M()|0;l=a+(l<<1)|0;p=l;c[p>>2]=o;c[p+4>>2]=n;l=l+8|0;c[l>>2]=o;c[l+4>>2]=n;m=PW((m+2+(k<<1)+i|0)>>>2|0,0,65537,65537)|0;l=M()|0;j=a+(j<<1)|0;n=j;c[n>>2]=m;c[n+4>>2]=l;j=j+8|0;c[j>>2]=m;c[j+4>>2]=l;k=PW((k+2+(i<<1)+d|0)>>>2|0,0,65537,65537)|0;j=M()|0;h=a+(h<<1)|0;l=h;c[l>>2]=k;c[l+4>>2]=j;h=h+8|0;c[h>>2]=k;c[h+4>>2]=j;i=PW((i+2+(d<<1)+b|0)>>>2|0,0,65537,65537)|0;h=M()|0;g=a+(g<<1)|0;j=g;c[j>>2]=i;c[j+4>>2]=h;g=g+8|0;c[g>>2]=i;c[g+4>>2]=h;b=PW((d+2+(b*3|0)|0)>>>2|0,0,65537,65537)|0;d=M()|0;f=a+(f<<1)|0;a=f;c[a>>2]=b;c[a+4>>2]=d;f=f+8|0;c[f>>2]=b;c[f+4>>2]=d;return}function Pr(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;h=f>>1;n=((b|0)!=0)<<31>>31;w=e[a+((H(h,n)|0)+-1<<1)>>1]|0;v=e[a+-2>>1]|0;u=e[a+(h+-1<<1)>>1]|0;t=e[a+((h<<1)+-1<<1)>>1]|0;s=e[a+((h*3|0)+-1<<1)>>1]|0;r=e[a+((h<<2)+-1<<1)>>1]|0;q=e[a+((h*5|0)+-1<<1)>>1]|0;p=e[a+((h*6|0)+-1<<1)>>1]|0;o=e[a+((h*7|0)+-1<<1)>>1]|0;m=e[a+(0-h<<1)>>1]|0;l=e[a+(1-h<<1)>>1]|0;k=e[a+(2-h<<1)>>1]|0;j=e[a+(3-h<<1)>>1]|0;i=e[a+(4-h<<1)>>1]|0;f=e[a+(5-h<<1)>>1]|0;b=e[a+(6-h<<1)>>1]|0;g=e[a+(7-h<<1)>>1]|0;d=((w+2+(v<<1)+u|0)>>>2)+8+((v+2+(u<<1)+t|0)>>>2)+((u+2+(t<<1)+s|0)>>>2)+((t+2+(s<<1)+r|0)>>>2)+((s+2+(r<<1)+q|0)>>>2)+((r+2+(q<<1)+p|0)>>>2)+((q+2+(p<<1)+o|0)>>>2)+((p+2+(o*3|0)|0)>>>2)+(((e[a+(n-h<<1)>>1]|0)+2+(m<<1)+l|0)>>>2)+((m+2+(l<<1)+k|0)>>>2)+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+f|0)>>>2)+((i+2+(f<<1)+b|0)>>>2)+((f+2+(b<<1)+g|0)>>>2)+((b+2+(e[a+((d|0?8:7)-h<<1)>>1]|0)+(g<<1)|0)>>>2)>>4;d=PW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=0;f=a;while(1){if((b|0)==8)break;w=f;c[w>>2]=d;c[w+4>>2]=g;w=f+8|0;c[w>>2]=d;c[w+4>>2]=g;b=b+1|0;f=f+(h<<1)|0}return}function Qr(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;q=f>>1;n=e[a+(0-q<<1)>>1]|0;o=e[a+(1-q<<1)>>1]|0;s=e[a+(2-q<<1)>>1]|0;p=(n+2+(o<<1)+s|0)>>>2;t=e[a+(3-q<<1)>>1]|0;r=(o+2+(s<<1)+t|0)>>>2;u=e[a+(4-q<<1)>>1]|0;s=(s+2+(t<<1)+u|0)>>>2;v=e[a+(5-q<<1)>>1]|0;t=(t+2+(u<<1)+v|0)>>>2;m=e[a+(6-q<<1)>>1]|0;u=(u+2+(v<<1)+m|0)>>>2;f=e[a+(7-q<<1)>>1]|0;v=(v+2+(m<<1)+f|0)>>>2;l=(d|0)!=0;m=(m+2+(e[a+((l?8:7)-q<<1)>>1]|0)+(f<<1)|0)>>>2;if(l){x=e[a+(8-q<<1)>>1]|0;w=e[a+(9-q<<1)>>1]|0;l=e[a+(10-q<<1)>>1]|0;k=e[a+(11-q<<1)>>1]|0;j=e[a+(12-q<<1)>>1]|0;i=e[a+(13-q<<1)>>1]|0;h=e[a+(14-q<<1)>>1]|0;g=e[a+(15-q<<1)>>1]|0;d=(h+2+(g*3|0)|0)>>>2;g=(i+2+(h<<1)+g|0)>>>2;h=(j+2+(i<<1)+h|0)>>>2;i=(k+2+(j<<1)+i|0)>>>2;j=(l+2+(k<<1)+j|0)>>>2;k=(w+2+(l<<1)+k|0)>>>2;l=(x+2+(w<<1)+l|0)>>>2;f=(f+2+(x<<1)+w|0)>>>2}else{d=f;g=f;h=f;i=f;j=f;k=f;l=f}b[a>>1]=((((e[a+((((c|0)!=0)<<31>>31)-q<<1)>>1]|0)+2+(n<<1)+o|0)>>>2)+2+(p<<1)+r|0)>>>2;w=(p+2+(r<<1)+s|0)>>>2&65535;b[a+2>>1]=w;b[a+(q<<1)>>1]=w;w=(r+2+(s<<1)+t|0)>>>2&65535;b[a+4>>1]=w;b[a+(q+1<<1)>>1]=w;r=q<<1;b[a+(r<<1)>>1]=w;w=(s+2+(t<<1)+u|0)>>>2&65535;b[a+6>>1]=w;b[a+(q+2<<1)>>1]=w;b[a+((r|1)<<1)>>1]=w;s=q*3|0;b[a+(s<<1)>>1]=w;w=(t+2+(u<<1)+v|0)>>>2&65535;b[a+8>>1]=w;b[a+(q+3<<1)>>1]=w;b[a+(r+2<<1)>>1]=w;b[a+(s+1<<1)>>1]=w;t=q<<2;b[a+(t<<1)>>1]=w;w=(u+2+(v<<1)+m|0)>>>2&65535;b[a+10>>1]=w;b[a+(q+4<<1)>>1]=w;b[a+(r+3<<1)>>1]=w;b[a+(s+2<<1)>>1]=w;b[a+((t|1)<<1)>>1]=w;u=q*5|0;b[a+(u<<1)>>1]=w;w=(v+2+(m<<1)+f|0)>>>2&65535;b[a+12>>1]=w;b[a+(q+5<<1)>>1]=w;b[a+(r+4<<1)>>1]=w;b[a+(s+3<<1)>>1]=w;b[a+((t|2)<<1)>>1]=w;b[a+(u+1<<1)>>1]=w;c=q*6|0;b[a+(c<<1)>>1]=w;w=(m+2+(f<<1)+l|0)>>>2&65535;b[a+14>>1]=w;b[a+(q+6<<1)>>1]=w;b[a+(r+5<<1)>>1]=w;b[a+(s+4<<1)>>1]=w;b[a+((t|3)<<1)>>1]=w;b[a+(u+2<<1)>>1]=w;b[a+((c|1)<<1)>>1]=w;x=q*7|0;b[a+(x<<1)>>1]=w;w=(f+2+(l<<1)+k|0)>>>2&65535;b[a+(q+7<<1)>>1]=w;b[a+(r+6<<1)>>1]=w;b[a+(s+5<<1)>>1]=w;b[a+(t+4<<1)>>1]=w;b[a+(u+3<<1)>>1]=w;b[a+(c+2<<1)>>1]=w;b[a+(x+1<<1)>>1]=w;w=(l+2+(k<<1)+j|0)>>>2&65535;b[a+(r+7<<1)>>1]=w;b[a+(s+6<<1)>>1]=w;b[a+(t+5<<1)>>1]=w;b[a+(u+4<<1)>>1]=w;b[a+(c+3<<1)>>1]=w;b[a+(x+2<<1)>>1]=w;w=(k+2+(j<<1)+i|0)>>>2&65535;b[a+(s+7<<1)>>1]=w;b[a+(t+6<<1)>>1]=w;b[a+(u+5<<1)>>1]=w;b[a+(c+4<<1)>>1]=w;b[a+(x+3<<1)>>1]=w;w=(j+2+(i<<1)+h|0)>>>2&65535;b[a+(t+7<<1)>>1]=w;b[a+(u+6<<1)>>1]=w;b[a+(c+5<<1)>>1]=w;b[a+(x+4<<1)>>1]=w;w=(i+2+(h<<1)+g|0)>>>2&65535;b[a+(u+7<<1)>>1]=w;b[a+(c+6<<1)>>1]=w;b[a+(x+5<<1)>>1]=w;w=(h+2+(g<<1)+d|0)>>>2&65535;b[a+(c+7<<1)>>1]=w;b[a+(x+6<<1)>>1]=w;b[a+(x+7<<1)>>1]=(g+2+(d*3|0)|0)>>>2;return}function Rr(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;h=f>>1;t=((c|0)!=0)<<31>>31;C=e[a+(0-h<<1)>>1]|0;m=e[a+(1-h<<1)>>1]|0;s=((e[a+(t-h<<1)>>1]|0)+2+(C<<1)+m|0)>>>2;k=e[a+(2-h<<1)>>1]|0;C=C+2|0;o=(C+(m<<1)+k|0)>>>2;i=e[a+(3-h<<1)>>1]|0;m=(m+2+(k<<1)+i|0)>>>2;g=e[a+(4-h<<1)>>1]|0;k=(k+2+(i<<1)+g|0)>>>2;c=e[a+(5-h<<1)>>1]|0;i=(i+2+(g<<1)+c|0)>>>2;q=e[a+(6-h<<1)>>1]|0;g=(g+2+(c<<1)+q|0)>>>2;f=e[a+(7-h<<1)>>1]|0;c=(c+2+(q<<1)+f|0)>>>2;f=(q+2+(e[a+((d|0?8:7)-h<<1)>>1]|0)+(f<<1)|0)>>>2;t=e[a+((H(h,t)|0)+-1<<1)>>1]|0;q=e[a+-2>>1]|0;v=e[a+(h+-1<<1)>>1]|0;t=(t+2+(q<<1)+v|0)>>>2;j=h<<1;w=e[a+(j+-1<<1)>>1]|0;d=(q+2+(v<<1)+w|0)>>>2;l=h*3|0;x=e[a+(l+-1<<1)>>1]|0;v=(v+2+(w<<1)+x|0)>>>2;n=h<<2;y=e[a+(n+-1<<1)>>1]|0;w=(w+2+(x<<1)+y|0)>>>2;p=h*5|0;z=e[a+(p+-1<<1)>>1]|0;x=(x+2+(y<<1)+z|0)>>>2;r=h*6|0;B=e[a+(r+-1<<1)>>1]|0;y=(y+2+(z<<1)+B|0)>>>2;u=h*7|0;A=e[a+(u+-1<<1)>>1]|0;z=(z+2+(B<<1)+A|0)>>>2;q=(C+q+((e[a+(~h<<1)>>1]|0)<<1)|0)>>>2;b[a+(u<<1)>>1]=(y+2+((B+2+(A*3|0)|0)>>>2)+(z<<1)|0)>>>2;z=(x+2+(y<<1)+z|0)>>>2&65535;b[a+(u+1<<1)>>1]=z;b[a+(r<<1)>>1]=z;y=(w+2+(x<<1)+y|0)>>>2&65535;b[a+(u+2<<1)>>1]=y;b[a+((r|1)<<1)>>1]=y;b[a+(p<<1)>>1]=y;x=(v+2+(w<<1)+x|0)>>>2&65535;b[a+(u+3<<1)>>1]=x;b[a+(r+2<<1)>>1]=x;b[a+(p+1<<1)>>1]=x;b[a+(n<<1)>>1]=x;w=(d+2+(v<<1)+w|0)>>>2&65535;b[a+(u+4<<1)>>1]=w;b[a+(r+3<<1)>>1]=w;b[a+(p+2<<1)>>1]=w;b[a+((n|1)<<1)>>1]=w;b[a+(l<<1)>>1]=w;v=(t+2+(d<<1)+v|0)>>>2&65535;b[a+(u+5<<1)>>1]=v;b[a+(r+4<<1)>>1]=v;b[a+(p+3<<1)>>1]=v;b[a+((n|2)<<1)>>1]=v;b[a+(l+1<<1)>>1]=v;b[a+(j<<1)>>1]=v;d=((t<<1)+2+d+q|0)>>>2&65535;b[a+(u+6<<1)>>1]=d;b[a+(r+5<<1)>>1]=d;b[a+(p+4<<1)>>1]=d;b[a+((n|3)<<1)>>1]=d;b[a+(l+2<<1)>>1]=d;b[a+((j|1)<<1)>>1]=d;b[a+(h<<1)>>1]=d;d=s+2|0;t=(d+t+(q<<1)|0)>>>2&65535;b[a+(u+7<<1)>>1]=t;b[a+(r+6<<1)>>1]=t;b[a+(p+5<<1)>>1]=t;b[a+(n+4<<1)>>1]=t;b[a+(l+3<<1)>>1]=t;b[a+(j+2<<1)>>1]=t;b[a+(h+1<<1)>>1]=t;b[a>>1]=t;q=((s<<1)+2+o+q|0)>>>2&65535;b[a+(r+7<<1)>>1]=q;b[a+(p+6<<1)>>1]=q;b[a+(n+5<<1)>>1]=q;b[a+(l+4<<1)>>1]=q;b[a+(j+3<<1)>>1]=q;b[a+(h+2<<1)>>1]=q;b[a+2>>1]=q;d=(d+(o<<1)+m|0)>>>2&65535;b[a+(p+7<<1)>>1]=d;b[a+(n+6<<1)>>1]=d;b[a+(l+5<<1)>>1]=d;b[a+(j+4<<1)>>1]=d;b[a+(h+3<<1)>>1]=d;b[a+4>>1]=d;d=(o+2+(m<<1)+k|0)>>>2&65535;b[a+(n+7<<1)>>1]=d;b[a+(l+6<<1)>>1]=d;b[a+(j+5<<1)>>1]=d;b[a+(h+4<<1)>>1]=d;b[a+6>>1]=d;d=(m+2+(k<<1)+i|0)>>>2&65535;b[a+(l+7<<1)>>1]=d;b[a+(j+6<<1)>>1]=d;b[a+(h+5<<1)>>1]=d;b[a+8>>1]=d;d=(k+2+(i<<1)+g|0)>>>2&65535;b[a+(j+7<<1)>>1]=d;b[a+(h+6<<1)>>1]=d;b[a+10>>1]=d;d=(i+2+(g<<1)+c|0)>>>2&65535;b[a+(h+7<<1)>>1]=d;b[a+12>>1]=d;b[a+14>>1]=(g+2+(c<<1)+f|0)>>>2;return} +function XD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+80|0;if(($c|0)>=(ad|0))N(80);g=d+32|0;f=d+16|0;e=d;QE(f,b,4,c);RE(g,b+(0-(c<<1))+1|0,c);SE(e,g+8|0,4);TE(a,f,e,c,4);$c=d;return}function YD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+64|0;f=d+32|0;e=d;LE(f,b,8,c);ME(g,b+(0-(c<<1))+2|0,c);NE(e,g+16|0,8);OE(a,f,e,c,8);$c=d;return}function ZD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+80|0;if(($c|0)>=(ad|0))N(80);e=d;cF(e,b+(0-(c<<1))|0,c);tF(a,e+16|0,c);$c=d;return}function _D(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+80|0;if(($c|0)>=(ad|0))N(80);e=d;_E(e,b+(0-(c<<1))|0,c);sF(a,e+16|0,c);$c=d;return}function $D(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+80|0;if(($c|0)>=(ad|0))N(80);e=d;WE(e,b+(0-(c<<1))|0,c);rF(a,e+16|0,c);$c=d;return}function aE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);e=d;RE(e,b+(0-(c<<1))|0,c);qF(a,e+8|0,c);$c=d;return}function bE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=$c;$c=$c+80|0;if(($c|0)>=(ad|0))N(80);e=d;ME(e,b+(0-(c<<1))|0,c);pF(a,e+16|0,c);$c=d;return}function cE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+432|0;if(($c|0)>=(ad|0))N(432);g=d+352|0;f=d+320|0;e=d+288|0;cF(g,b+(0-(c<<1))|0,c);dF(f,g+16|0,8);jF(e,d,b,8,c);eF(a,f,e,c,8);$c=d;return}function dE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+432|0;if(($c|0)>=(ad|0))N(432);g=d+352|0;f=d+320|0;e=d+288|0;_E(g,b+(0-(c<<1))|0,c);$E(f,g+16|0,8);iF(e,d,b,8,c);aF(a,f,e,c,8);$c=d;return}function eE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+288|0;if(($c|0)>=(ad|0))N(288);g=d+208|0;f=d+176|0;e=d+144|0;WE(g,b+(0-(c<<1))|0,c);XE(f,g+16|0,8);hF(e,d,b,8,c);YE(a,f,e,c,8);$c=d;return}function fE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+104|0;f=d+88|0;e=d+72|0;RE(g,b+(0-(c<<1))|0,c);SE(f,g+8|0,4);gF(e,d,b,4,c);TE(a,f,e,c,4);$c=d;return}function gE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+288|0;if(($c|0)>=(ad|0))N(288);g=d+208|0;f=d+176|0;e=d+144|0;ME(g,b+(0-(c<<1))|0,c);NE(f,g+16|0,8);fF(e,d,b,8,c);OE(a,f,e,c,8);$c=d;return}function hE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+288|0;if(($c|0)>=(ad|0))N(288);oF(a,d,b,c,c);$c=d;return}function iE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+288|0;if(($c|0)>=(ad|0))N(288);nF(a,d,b,c,c);$c=d;return}function jE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);mF(a,d,b,c,c);$c=d;return}function kE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+80|0;if(($c|0)>=(ad|0))N(80);lF(a,d,b,c,c);$c=d;return}function lE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);kF(a,d,b,c,c);$c=d;return}function mE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+432|0;if(($c|0)>=(ad|0))N(432);g=d+352|0;f=d+320|0;e=d+288|0;cF(g,b+(0-(c<<1))+2|0,c);dF(f,g+16|0,8);jF(e,d,b,8,c);eF(a,f,e,c,8);$c=d;return}function nE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+432|0;if(($c|0)>=(ad|0))N(432);g=d+352|0;f=d+320|0;e=d+288|0;_E(g,b+(0-(c<<1))+2|0,c);$E(f,g+16|0,8);iF(e,d,b,8,c);aF(a,f,e,c,8);$c=d;return}function oE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+288|0;if(($c|0)>=(ad|0))N(288);g=d+208|0;f=d+176|0;e=d+144|0;WE(g,b+(0-(c<<1))+2|0,c);XE(f,g+16|0,8);hF(e,d,b,8,c);YE(a,f,e,c,8);$c=d;return}function pE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+104|0;f=d+88|0;e=d+72|0;RE(g,b+(0-(c<<1))+1|0,c);SE(f,g+8|0,4);gF(e,d,b,4,c);TE(a,f,e,c,4);$c=d;return}function qE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+288|0;if(($c|0)>=(ad|0))N(288);g=d+208|0;f=d+176|0;e=d+144|0;ME(g,b+(0-(c<<1))+2|0,c);NE(f,g+16|0,8);fF(e,d,b,8,c);OE(a,f,e,c,8);$c=d;return}function rE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+112|0;if(($c|0)>=(ad|0))N(112);f=d+32|0;e=d;cF(f,b+(0-(c<<1))|0,c);dF(e,f+16|0,8);eF(a,f+24|0,e,c,8);$c=d;return}function sE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+112|0;if(($c|0)>=(ad|0))N(112);f=d+32|0;e=d;_E(f,b+(0-(c<<1))|0,c);$E(e,f+16|0,8);aF(a,f+24|0,e,c,8);$c=d;return}function tE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+112|0;if(($c|0)>=(ad|0))N(112);f=d+32|0;e=d;WE(f,b+(0-(c<<1))|0,c);XE(e,f+16|0,8);YE(a,f+24|0,e,c,8);$c=d;return}function uE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+64|0;if(($c|0)>=(ad|0))N(64);f=d+16|0;e=d;RE(f,b+(0-(c<<1))|0,c);SE(e,f+8|0,4);TE(a,f+12|0,e,c,4);$c=d;return}function vE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+112|0;if(($c|0)>=(ad|0))N(112);f=d+32|0;e=d;ME(f,b+(0-(c<<1))|0,c);NE(e,f+16|0,8);OE(a,f+24|0,e,c,8);$c=d;return}function wE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+64|0;f=d+32|0;e=d;bF(f,b+c|0,8,c);cF(g,b+(0-(c<<1))|0,c);dF(e,g+16|0,8);eF(a,f,e,c,8);$c=d;return}function xE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+64|0;f=d+32|0;e=d;ZE(f,b+c|0,8,c);_E(g,b+(0-(c<<1))|0,c);$E(e,g+16|0,8);aF(a,f,e,c,8);$c=d;return}function yE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+64|0;f=d+32|0;e=d;VE(f,b+c|0,8,c);WE(g,b+(0-(c<<1))|0,c);XE(e,g+16|0,8);YE(a,f,e,c,8);$c=d;return}function zE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+80|0;if(($c|0)>=(ad|0))N(80);g=d+32|0;f=d+16|0;e=d;QE(f,b+c|0,4,c);RE(g,b+(0-(c<<1))|0,c);SE(e,g+8|0,4);TE(a,f,e,c,4);$c=d;return}function AE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+64|0;f=d+32|0;e=d;LE(f,b+c|0,8,c);ME(g,b+(0-(c<<1))|0,c);NE(e,g+16|0,8);OE(a,f,e,c,8);$c=d;return}function BE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+352|0;if(($c|0)>=(ad|0))N(352);f=d+320|0;e=d+288|0;bF(f,b+c|0,8,c);jF(e,d,b,8,c);eF(a,f,e,c,8);$c=d;return}function CE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+352|0;if(($c|0)>=(ad|0))N(352);f=d+320|0;e=d+288|0;ZE(f,b+c|0,8,c);iF(e,d,b,8,c);aF(a,f,e,c,8);$c=d;return}function DE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+208|0;if(($c|0)>=(ad|0))N(208);f=d+176|0;e=d+144|0;VE(f,b+c|0,8,c);hF(e,d,b,8,c);YE(a,f,e,c,8);$c=d;return}function EE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+112|0;if(($c|0)>=(ad|0))N(112);f=d+88|0;e=d+72|0;QE(f,b+c|0,4,c);gF(e,d,b,4,c);TE(a,f,e,c,4);$c=d;return}function FE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=$c;$c=$c+208|0;if(($c|0)>=(ad|0))N(208);f=d+176|0;e=d+144|0;LE(f,b+c|0,8,c);fF(e,d,b,8,c);OE(a,f,e,c,8);$c=d;return}function GE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+64|0;f=d+32|0;e=d;bF(f,b+c|0,8,c);cF(g,b+(0-(c<<1))+2|0,c);dF(e,g+16|0,8);eF(a,f,e,c,8);$c=d;return}function HE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+64|0;f=d+32|0;e=d;ZE(f,b+c|0,8,c);_E(g,b+(0-(c<<1))+2|0,c);$E(e,g+16|0,8);aF(a,f,e,c,8);$c=d;return}function IE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+64|0;f=d+32|0;e=d;VE(f,b+c|0,8,c);WE(g,b+(0-(c<<1))+2|0,c);XE(e,g+16|0,8);YE(a,f,e,c,8);$c=d;return}function JE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+80|0;if(($c|0)>=(ad|0))N(80);g=d+32|0;f=d+16|0;e=d;QE(f,b+c|0,4,c);RE(g,b+(0-(c<<1))+1|0,c);SE(e,g+8|0,4);TE(a,f,e,c,4);$c=d;return}function KE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);g=d+64|0;f=d+32|0;e=d;LE(f,b+c|0,8,c);ME(g,b+(0-(c<<1))+2|0,c);NE(e,g+16|0,8);OE(a,f,e,c,8);$c=d;return}function LE(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==4)break;i=c+2|0;l=c+-2|0;a=c+4|0;m=H((e[a>>1]|0)+(e[l>>1]|0)|0,-5)|0;j=c+6|0;m=(((e[i>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+m+(e[j>>1]|0)>>5;b[d>>1]=m>>>0<512?m:0-m>>31&511;m=H((e[j>>1]|0)+(e[c>>1]|0)|0,-5)|0;k=c+8|0;m=(((e[a>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+m+(e[k>>1]|0)>>5;b[d+2>>1]=m>>>0<512?m:0-m>>31&511;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+10|0;m=(((e[j>>1]|0)+(e[a>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+m+(e[l>>1]|0)>>5;b[d+4>>1]=m>>>0<512?m:0-m>>31&511;a=H((e[l>>1]|0)+(e[a>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+12>>1]|0)>>5;b[d+6>>1]=a>>>0<512?a:0-a>>31&511;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function ME(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==9)break;h=c;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;c=c+e|0;b=b+8|0}return}function NE(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=d>>1;h=g<<1;i=g*3|0;f=0;d=c;while(1){if((f|0)==4)break;p=e[d+-8>>1]|0;o=e[d>>1]|0;n=e[d+8>>1]|0;c=e[d+16>>1]|0;k=e[d+24>>1]|0;l=e[d+32>>1]|0;j=e[d+40>>1]|0;m=e[d+48>>1]|0;q=(e[d+-16>>1]|0)+16+k+((n+o|0)*20|0)+(H(c+p|0,-5)|0)>>5;b[a>>1]=q>>>0<512?q:0-q>>31&511;p=p+16+l+((c+n|0)*20|0)+(H(k+o|0,-5)|0)>>5;b[a+(g<<1)>>1]=p>>>0<512?p:0-p>>31&511;o=o+16+j+((k+c|0)*20|0)+(H(l+n|0,-5)|0)>>5;b[a+(h<<1)>>1]=o>>>0<512?o:0-o>>31&511;c=n+16+m+((l+k|0)*20|0)+(H(j+c|0,-5)|0)>>5;b[a+(i<<1)>>1]=c>>>0<512?c:0-c>>31&511;f=f+1|0;a=a+2|0;d=d+2|0}return}function OE(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=0;while(1){if((h|0)==4)break;n=b+(H(h,g)|0)|0;o=n;n=n+4|0;k=e+(h<<3)|0;m=k;k=k+4|0;i=a+(H(h,f)|0)|0;j=i;l=c[j>>2]|0;j=c[j+4>>2]|0;k=PE(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24)|0;k=PE(l,j,k,M()|0)|0;j=M()|0;c[i>>2]=k;c[i+4>>2]=j;h=h+1|0}return}function PE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=TW(c^a|0,d^b|0,1)|0;d=KW(c|a|0,d|b|0,e&2147450879|0,(M()|0)&2147450879|0)|0;L(M()|0);return d|0}function QE(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=0;while(1){if((g|0)==4)break;i=c+1|0;l=c+-1|0;h=c+2|0;m=H((d[h>>0]|0)+(d[l>>0]|0)|0,-5)|0;j=c+3|0;m=(((d[i>>0]|0)+(d[c>>0]|0)|0)*20|0)+16+(d[c+-2>>0]|0)+m+(d[j>>0]|0)>>5;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=H((d[j>>0]|0)+(d[c>>0]|0)|0,-5)|0;k=c+4|0;m=(((d[h>>0]|0)+(d[i>>0]|0)|0)*20|0)+16+(d[l>>0]|0)+m+(d[k>>0]|0)>>5;a[b+1>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=H((d[k>>0]|0)+(d[i>>0]|0)|0,-5)|0;l=c+5|0;m=(((d[j>>0]|0)+(d[h>>0]|0)|0)*20|0)+16+(d[c>>0]|0)+m+(d[l>>0]|0)>>5;a[b+2>>0]=m>>>0>255?(m^-2147483648)>>31:m;h=H((d[l>>0]|0)+(d[h>>0]|0)|0,-5)|0;h=(((d[k>>0]|0)+(d[j>>0]|0)|0)*20|0)+16+(d[i>>0]|0)+h+(d[c+6>>0]|0)>>5;a[b+3>>0]=h>>>0>255?(h^-2147483648)>>31:h;c=c+f|0;b=b+e|0;g=g+1|0}return}function RE(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;f=0;while(1){if((f|0)==9)break;g=d[c>>0]|d[c+1>>0]<<8|d[c+2>>0]<<16|d[c+3>>0]<<24;a[b>>0]=g;a[b+1>>0]=g>>8;a[b+2>>0]=g>>16;a[b+3>>0]=g>>24;f=f+1|0;c=c+e|0;b=b+4|0}return}function SE(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=e<<1;h=e*3|0;f=0;while(1){if((f|0)==4)break;p=d[c+-4>>0]|0;o=d[c>>0]|0;n=d[c+4>>0]|0;i=d[c+8>>0]|0;k=d[c+12>>0]|0;l=d[c+16>>0]|0;j=d[c+20>>0]|0;m=d[c+24>>0]|0;q=(d[c+-8>>0]|0)+16+k+((n+o|0)*20|0)+(H(i+p|0,-5)|0)>>5;a[b>>0]=q>>>0>255?(q^-2147483648)>>31:q;p=p+16+l+((i+n|0)*20|0)+(H(k+o|0,-5)|0)>>5;a[b+e>>0]=p>>>0>255?(p^-2147483648)>>31:p;o=o+16+j+((k+i|0)*20|0)+(H(l+n|0,-5)|0)>>5;a[b+g>>0]=o>>>0>255?(o^-2147483648)>>31:o;i=n+16+m+((l+k|0)*20|0)+(H(j+i|0,-5)|0)>>5;a[b+h>>0]=i>>>0>255?(i^-2147483648)>>31:i;f=f+1|0;b=b+1|0;c=c+1|0}return}function TE(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=0;while(1){if((h|0)==4)break;k=b+(H(h,g)|0)|0;j=e+(h<<2)|0;i=a+(H(h,f)|0)|0;l=c[i>>2]|0;c[i>>2]=UE(l,UE(d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)|0)|0;h=h+1|0}return}function UE(a,b){a=a|0;b=b|0;return (b|a)-((b^a)>>>1&2139062143)|0}function VE(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==4)break;i=c+2|0;l=c+-2|0;a=c+4|0;m=H((e[a>>1]|0)+(e[l>>1]|0)|0,-5)|0;j=c+6|0;m=(((e[i>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+m+(e[j>>1]|0)>>5;b[d>>1]=m>>>0<1024?m:0-m>>31&1023;m=H((e[j>>1]|0)+(e[c>>1]|0)|0,-5)|0;k=c+8|0;m=(((e[a>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+m+(e[k>>1]|0)>>5;b[d+2>>1]=m>>>0<1024?m:0-m>>31&1023;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+10|0;m=(((e[j>>1]|0)+(e[a>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+m+(e[l>>1]|0)>>5;b[d+4>>1]=m>>>0<1024?m:0-m>>31&1023;a=H((e[l>>1]|0)+(e[a>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+12>>1]|0)>>5;b[d+6>>1]=a>>>0<1024?a:0-a>>31&1023;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function WE(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==9)break;h=c;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;c=c+e|0;b=b+8|0}return}function XE(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=d>>1;h=g<<1;i=g*3|0;f=0;d=c;while(1){if((f|0)==4)break;p=e[d+-8>>1]|0;o=e[d>>1]|0;n=e[d+8>>1]|0;c=e[d+16>>1]|0;k=e[d+24>>1]|0;l=e[d+32>>1]|0;j=e[d+40>>1]|0;m=e[d+48>>1]|0;q=(e[d+-16>>1]|0)+16+k+((n+o|0)*20|0)+(H(c+p|0,-5)|0)>>5;b[a>>1]=q>>>0<1024?q:0-q>>31&1023;p=p+16+l+((c+n|0)*20|0)+(H(k+o|0,-5)|0)>>5;b[a+(g<<1)>>1]=p>>>0<1024?p:0-p>>31&1023;o=o+16+j+((k+c|0)*20|0)+(H(l+n|0,-5)|0)>>5;b[a+(h<<1)>>1]=o>>>0<1024?o:0-o>>31&1023;c=n+16+m+((l+k|0)*20|0)+(H(j+c|0,-5)|0)>>5;b[a+(i<<1)>>1]=c>>>0<1024?c:0-c>>31&1023;f=f+1|0;a=a+2|0;d=d+2|0}return}function YE(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=0;while(1){if((h|0)==4)break;n=b+(H(h,g)|0)|0;o=n;n=n+4|0;k=e+(h<<3)|0;m=k;k=k+4|0;i=a+(H(h,f)|0)|0;j=i;l=c[j>>2]|0;j=c[j+4>>2]|0;k=PE(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24)|0;k=PE(l,j,k,M()|0)|0;j=M()|0;c[i>>2]=k;c[i+4>>2]=j;h=h+1|0}return}function ZE(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==4)break;i=c+2|0;l=c+-2|0;a=c+4|0;m=H((e[a>>1]|0)+(e[l>>1]|0)|0,-5)|0;j=c+6|0;m=(((e[i>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+m+(e[j>>1]|0)>>5;b[d>>1]=m>>>0<4096?m:0-m>>31&4095;m=H((e[j>>1]|0)+(e[c>>1]|0)|0,-5)|0;k=c+8|0;m=(((e[a>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+m+(e[k>>1]|0)>>5;b[d+2>>1]=m>>>0<4096?m:0-m>>31&4095;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+10|0;m=(((e[j>>1]|0)+(e[a>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+m+(e[l>>1]|0)>>5;b[d+4>>1]=m>>>0<4096?m:0-m>>31&4095;a=H((e[l>>1]|0)+(e[a>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+12>>1]|0)>>5;b[d+6>>1]=a>>>0<4096?a:0-a>>31&4095;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function _E(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==9)break;h=c;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;c=c+e|0;b=b+8|0}return}function $E(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=d>>1;h=g<<1;i=g*3|0;f=0;d=c;while(1){if((f|0)==4)break;p=e[d+-8>>1]|0;o=e[d>>1]|0;n=e[d+8>>1]|0;c=e[d+16>>1]|0;k=e[d+24>>1]|0;l=e[d+32>>1]|0;j=e[d+40>>1]|0;m=e[d+48>>1]|0;q=(e[d+-16>>1]|0)+16+k+((n+o|0)*20|0)+(H(c+p|0,-5)|0)>>5;b[a>>1]=q>>>0<4096?q:0-q>>31&4095;p=p+16+l+((c+n|0)*20|0)+(H(k+o|0,-5)|0)>>5;b[a+(g<<1)>>1]=p>>>0<4096?p:0-p>>31&4095;o=o+16+j+((k+c|0)*20|0)+(H(l+n|0,-5)|0)>>5;b[a+(h<<1)>>1]=o>>>0<4096?o:0-o>>31&4095;c=n+16+m+((l+k|0)*20|0)+(H(j+c|0,-5)|0)>>5;b[a+(i<<1)>>1]=c>>>0<4096?c:0-c>>31&4095;f=f+1|0;a=a+2|0;d=d+2|0}return}function aF(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=0;while(1){if((h|0)==4)break;n=b+(H(h,g)|0)|0;o=n;n=n+4|0;k=e+(h<<3)|0;m=k;k=k+4|0;i=a+(H(h,f)|0)|0;j=i;l=c[j>>2]|0;j=c[j+4>>2]|0;k=PE(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24)|0;k=PE(l,j,k,M()|0)|0;j=M()|0;c[i>>2]=k;c[i+4>>2]=j;h=h+1|0}return}function bF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==4)break;i=c+2|0;l=c+-2|0;a=c+4|0;m=H((e[a>>1]|0)+(e[l>>1]|0)|0,-5)|0;j=c+6|0;m=(((e[i>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+m+(e[j>>1]|0)>>5;b[d>>1]=m>>>0<16384?m:0-m>>31&16383;m=H((e[j>>1]|0)+(e[c>>1]|0)|0,-5)|0;k=c+8|0;m=(((e[a>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+m+(e[k>>1]|0)>>5;b[d+2>>1]=m>>>0<16384?m:0-m>>31&16383;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+10|0;m=(((e[j>>1]|0)+(e[a>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+m+(e[l>>1]|0)>>5;b[d+4>>1]=m>>>0<16384?m:0-m>>31&16383;a=H((e[l>>1]|0)+(e[a>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+12>>1]|0)>>5;b[d+6>>1]=a>>>0<16384?a:0-a>>31&16383;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function cF(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==9)break;h=c;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;c=c+e|0;b=b+8|0}return}function dF(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=d>>1;h=g<<1;i=g*3|0;f=0;d=c;while(1){if((f|0)==4)break;p=e[d+-8>>1]|0;o=e[d>>1]|0;n=e[d+8>>1]|0;c=e[d+16>>1]|0;k=e[d+24>>1]|0;l=e[d+32>>1]|0;j=e[d+40>>1]|0;m=e[d+48>>1]|0;q=(e[d+-16>>1]|0)+16+k+((n+o|0)*20|0)+(H(c+p|0,-5)|0)>>5;b[a>>1]=q>>>0<16384?q:0-q>>31&16383;p=p+16+l+((c+n|0)*20|0)+(H(k+o|0,-5)|0)>>5;b[a+(g<<1)>>1]=p>>>0<16384?p:0-p>>31&16383;o=o+16+j+((k+c|0)*20|0)+(H(l+n|0,-5)|0)>>5;b[a+(h<<1)>>1]=o>>>0<16384?o:0-o>>31&16383;c=n+16+m+((l+k|0)*20|0)+(H(j+c|0,-5)|0)>>5;b[a+(i<<1)>>1]=c>>>0<16384?c:0-c>>31&16383;f=f+1|0;a=a+2|0;d=d+2|0}return}function eF(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=0;while(1){if((h|0)==4)break;n=b+(H(h,g)|0)|0;o=n;n=n+4|0;k=e+(h<<3)|0;m=k;k=k+4|0;i=a+(H(h,f)|0)|0;j=i;l=c[j>>2]|0;j=c[j+4>>2]|0;k=PE(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24)|0;k=PE(l,j,k,M()|0)|0;j=M()|0;c[i>>2]=k;c[i+4>>2]=j;h=h+1|0}return}function fF(a,c,d,f,g){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=g>>1;h=c;i=0;g=d+(0-(j<<1)<<1)|0;while(1){if((i|0)==9)break;k=g+2|0;n=g+-2|0;d=g+4|0;o=H((e[d>>1]|0)+(e[n>>1]|0)|0,-5)|0;l=g+6|0;b[h>>1]=(((e[k>>1]|0)+(e[g>>1]|0)|0)*20|0)+(e[g+-4>>1]|0)+o+(e[l>>1]|0);o=H((e[l>>1]|0)+(e[g>>1]|0)|0,-5)|0;m=g+8|0;b[h+2>>1]=(((e[d>>1]|0)+(e[k>>1]|0)|0)*20|0)+(e[n>>1]|0)+o+(e[m>>1]|0);o=H((e[m>>1]|0)+(e[k>>1]|0)|0,-5)|0;n=g+10|0;b[h+4>>1]=(((e[l>>1]|0)+(e[d>>1]|0)|0)*20|0)+(e[g>>1]|0)+o+(e[n>>1]|0);d=H((e[n>>1]|0)+(e[d>>1]|0)|0,-5)|0;b[h+6>>1]=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+(e[k>>1]|0)+d+(e[g+12>>1]|0);h=h+16|0;i=i+1|0;g=g+(j<<1)|0}i=f>>1;d=i<<1;j=i*3|0;g=c+32|0;h=0;while(1){if((h|0)==4)break;p=b[g+-16>>1]|0;f=b[g>>1]|0;c=b[g+16>>1]|0;o=b[g+32>>1]|0;m=b[g+48>>1]|0;l=b[g+64>>1]|0;n=b[g+80>>1]|0;k=b[g+96>>1]|0;q=(b[g+-32>>1]|0)+512+m+((c+f|0)*20|0)+(H(o+p|0,-5)|0)>>10;b[a>>1]=q>>>0<512?q:0-q>>31&511;p=p+512+l+((o+c|0)*20|0)+(H(m+f|0,-5)|0)>>10;b[a+(i<<1)>>1]=p>>>0<512?p:0-p>>31&511;f=f+512+n+((m+o|0)*20|0)+(H(l+c|0,-5)|0)>>10;b[a+(d<<1)>>1]=f>>>0<512?f:0-f>>31&511;o=c+512+k+((l+m|0)*20|0)+(H(n+o|0,-5)|0)>>10;b[a+(j<<1)>>1]=o>>>0<512?o:0-o>>31&511;a=a+2|0;g=g+2|0;h=h+1|0}return}function gF(c,e,f,g,h){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=e;j=0;f=f+(0-(h<<1))|0;while(1){if((j|0)==9)break;l=f+1|0;o=f+-1|0;k=f+2|0;p=H((d[k>>0]|0)+(d[o>>0]|0)|0,-5)|0;m=f+3|0;b[i>>1]=(((d[l>>0]|0)+(d[f>>0]|0)|0)*20|0)+(d[f+-2>>0]|0)+p+(d[m>>0]|0);p=H((d[m>>0]|0)+(d[f>>0]|0)|0,-5)|0;n=f+4|0;b[i+2>>1]=(((d[k>>0]|0)+(d[l>>0]|0)|0)*20|0)+(d[o>>0]|0)+p+(d[n>>0]|0);p=H((d[n>>0]|0)+(d[l>>0]|0)|0,-5)|0;o=f+5|0;b[i+4>>1]=(((d[m>>0]|0)+(d[k>>0]|0)|0)*20|0)+(d[f>>0]|0)+p+(d[o>>0]|0);k=H((d[o>>0]|0)+(d[k>>0]|0)|0,-5)|0;b[i+6>>1]=(((d[n>>0]|0)+(d[m>>0]|0)|0)*20|0)+(d[l>>0]|0)+k+(d[f+6>>0]|0);i=i+8|0;j=j+1|0;f=f+h|0}j=g<<1;h=g*3|0;f=e+16|0;i=0;while(1){if((i|0)==4)break;q=b[f+-8>>1]|0;e=b[f>>1]|0;k=b[f+8>>1]|0;p=b[f+16>>1]|0;n=b[f+24>>1]|0;m=b[f+32>>1]|0;o=b[f+40>>1]|0;l=b[f+48>>1]|0;r=(b[f+-16>>1]|0)+512+n+((k+e|0)*20|0)+(H(p+q|0,-5)|0)>>10;a[c>>0]=r>>>0>255?(r^-2147483648)>>31:r;q=q+512+m+((p+k|0)*20|0)+(H(n+e|0,-5)|0)>>10;a[c+g>>0]=q>>>0>255?(q^-2147483648)>>31:q;e=e+512+o+((n+p|0)*20|0)+(H(m+k|0,-5)|0)>>10;a[c+j>>0]=e>>>0>255?(e^-2147483648)>>31:e;p=k+512+l+((m+n|0)*20|0)+(H(o+p|0,-5)|0)>>10;a[c+h>>0]=p>>>0>255?(p^-2147483648)>>31:p;c=c+1|0;f=f+2|0;i=i+1|0}return}function hF(a,c,d,f,g){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;j=g>>1;h=c;i=0;g=d+(0-(j<<1)<<1)|0;while(1){if((i|0)==9)break;k=g+2|0;n=g+-2|0;d=g+4|0;o=H((e[d>>1]|0)+(e[n>>1]|0)|0,-5)|0;l=g+6|0;b[h>>1]=(((e[k>>1]|0)+(e[g>>1]|0)|0)*20|0)+55306+(e[g+-4>>1]|0)+o+(e[l>>1]|0);o=H((e[l>>1]|0)+(e[g>>1]|0)|0,-5)|0;m=g+8|0;b[h+2>>1]=(((e[d>>1]|0)+(e[k>>1]|0)|0)*20|0)+55306+(e[n>>1]|0)+o+(e[m>>1]|0);o=H((e[m>>1]|0)+(e[k>>1]|0)|0,-5)|0;n=g+10|0;b[h+4>>1]=(((e[l>>1]|0)+(e[d>>1]|0)|0)*20|0)+55306+(e[g>>1]|0)+o+(e[n>>1]|0);d=H((e[n>>1]|0)+(e[d>>1]|0)|0,-5)|0;b[h+6>>1]=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+55306+(e[k>>1]|0)+d+(e[g+12>>1]|0);h=h+16|0;i=i+1|0;g=g+(j<<1)|0}i=f>>1;d=i<<1;j=i*3|0;g=c+32|0;h=0;while(1){if((h|0)==4)break;r=b[g+-16>>1]|0;p=b[g>>1]|0;q=p+10230|0;c=b[g+16>>1]|0;f=c+10230|0;o=(b[g+32>>1]|0)+10230|0;m=(b[g+48>>1]|0)+10230|0;l=(b[g+64>>1]|0)+10230|0;n=(b[g+80>>1]|0)+10230|0;k=b[g+96>>1]|0;s=(b[g+-32>>1]|0)+10742+m+((f+q|0)*20|0)+(H(o+(r+10230)|0,-5)|0)>>10;b[a>>1]=s>>>0<1024?s:0-s>>31&1023;q=r+10742+l+((o+f|0)*20|0)+(H(m+q|0,-5)|0)>>10;b[a+(i<<1)>>1]=q>>>0<1024?q:0-q>>31&1023;f=p+10742+n+((m+o|0)*20|0)+(H(l+f|0,-5)|0)>>10;b[a+(d<<1)>>1]=f>>>0<1024?f:0-f>>31&1023;o=c+20972+k+((l+m|0)*20|0)+(H(n+o|0,-5)|0)>>10;b[a+(j<<1)>>1]=o>>>0<1024?o:0-o>>31&1023;a=a+2|0;g=g+2|0;h=h+1|0}return}function iF(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=h>>1;i=d;j=0;h=f+(0-(k<<1)<<1)|0;while(1){if((j|0)==9)break;q=e[h>>1]|0;l=e[h+2>>1]|0;o=e[h+-2>>1]|0;f=e[h+4>>1]|0;p=H(f+o|0,-5)|0;m=e[h+6>>1]|0;c[i>>2]=((l+q|0)*20|0)+(e[h+-4>>1]|0)+p+m;p=H(m+q|0,-5)|0;n=e[h+8>>1]|0;c[i+4>>2]=((f+l|0)*20|0)+o+p+n;p=H(n+l|0,-5)|0;o=e[h+10>>1]|0;c[i+8>>2]=((m+f|0)*20|0)+q+p+o;f=H(o+f|0,-5)|0;c[i+12>>2]=((n+m|0)*20|0)+l+f+(e[h+12>>1]|0);i=i+32|0;j=j+1|0;h=h+(k<<1)|0}j=g>>1;f=j<<1;k=j*3|0;h=d+64|0;i=0;while(1){if((i|0)==4)break;g=c[h+-32>>2]|0;d=c[h>>2]|0;l=c[h+32>>2]|0;q=c[h+64>>2]|0;o=c[h+96>>2]|0;n=c[h+128>>2]|0;p=c[h+160>>2]|0;m=c[h+192>>2]|0;r=(c[h+-64>>2]|0)+512+o+((l+d|0)*20|0)+(H(q+g|0,-5)|0)>>10;b[a>>1]=r>>>0<4096?r:0-r>>31&4095;g=g+512+n+((q+l|0)*20|0)+(H(o+d|0,-5)|0)>>10;b[a+(j<<1)>>1]=g>>>0<4096?g:0-g>>31&4095;d=d+512+p+((o+q|0)*20|0)+(H(n+l|0,-5)|0)>>10;b[a+(f<<1)>>1]=d>>>0<4096?d:0-d>>31&4095;q=l+512+m+((n+o|0)*20|0)+(H(p+q|0,-5)|0)>>10;b[a+(k<<1)>>1]=q>>>0<4096?q:0-q>>31&4095;a=a+2|0;h=h+4|0;i=i+1|0}return}function jF(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=h>>1;i=d;j=0;h=f+(0-(k<<1)<<1)|0;while(1){if((j|0)==9)break;q=e[h>>1]|0;l=e[h+2>>1]|0;o=e[h+-2>>1]|0;f=e[h+4>>1]|0;p=H(f+o|0,-5)|0;m=e[h+6>>1]|0;c[i>>2]=((l+q|0)*20|0)+(e[h+-4>>1]|0)+p+m;p=H(m+q|0,-5)|0;n=e[h+8>>1]|0;c[i+4>>2]=((f+l|0)*20|0)+o+p+n;p=H(n+l|0,-5)|0;o=e[h+10>>1]|0;c[i+8>>2]=((m+f|0)*20|0)+q+p+o;f=H(o+f|0,-5)|0;c[i+12>>2]=((n+m|0)*20|0)+l+f+(e[h+12>>1]|0);i=i+32|0;j=j+1|0;h=h+(k<<1)|0}j=g>>1;f=j<<1;k=j*3|0;h=d+64|0;i=0;while(1){if((i|0)==4)break;g=c[h+-32>>2]|0;d=c[h>>2]|0;l=c[h+32>>2]|0;q=c[h+64>>2]|0;o=c[h+96>>2]|0;n=c[h+128>>2]|0;p=c[h+160>>2]|0;m=c[h+192>>2]|0;r=(c[h+-64>>2]|0)+512+o+((l+d|0)*20|0)+(H(q+g|0,-5)|0)>>10;b[a>>1]=r>>>0<16384?r:0-r>>31&16383;g=g+512+n+((q+l|0)*20|0)+(H(o+d|0,-5)|0)>>10;b[a+(j<<1)>>1]=g>>>0<16384?g:0-g>>31&16383;d=d+512+p+((o+q|0)*20|0)+(H(n+l|0,-5)|0)>>10;b[a+(f<<1)>>1]=d>>>0<16384?d:0-d>>31&16383;q=l+512+m+((n+o|0)*20|0)+(H(p+q|0,-5)|0)>>10;b[a+(k<<1)>>1]=q>>>0<16384?q:0-q>>31&16383;a=a+2|0;h=h+4|0;i=i+1|0}return}function kF(a,c,d,f,g){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=g>>1;h=c;i=0;g=d+(0-(j<<1)<<1)|0;while(1){if((i|0)==9)break;k=g+2|0;n=g+-2|0;d=g+4|0;o=H((e[d>>1]|0)+(e[n>>1]|0)|0,-5)|0;l=g+6|0;b[h>>1]=(((e[k>>1]|0)+(e[g>>1]|0)|0)*20|0)+(e[g+-4>>1]|0)+o+(e[l>>1]|0);o=H((e[l>>1]|0)+(e[g>>1]|0)|0,-5)|0;m=g+8|0;b[h+2>>1]=(((e[d>>1]|0)+(e[k>>1]|0)|0)*20|0)+(e[n>>1]|0)+o+(e[m>>1]|0);o=H((e[m>>1]|0)+(e[k>>1]|0)|0,-5)|0;n=g+10|0;b[h+4>>1]=(((e[l>>1]|0)+(e[d>>1]|0)|0)*20|0)+(e[g>>1]|0)+o+(e[n>>1]|0);d=H((e[n>>1]|0)+(e[d>>1]|0)|0,-5)|0;b[h+6>>1]=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+(e[k>>1]|0)+d+(e[g+12>>1]|0);h=h+16|0;i=i+1|0;g=g+(j<<1)|0}i=f>>1;d=i<<1;j=i*3|0;g=c+32|0;h=0;while(1){if((h|0)==4)break;q=b[g+-16>>1]|0;p=b[g>>1]|0;f=b[g+16>>1]|0;n=b[g+32>>1]|0;l=b[g+48>>1]|0;k=b[g+64>>1]|0;m=b[g+80>>1]|0;c=b[g+96>>1]|0;o=(b[g+-32>>1]|0)+512+l+((f+p|0)*20|0)+(H(n+q|0,-5)|0)>>10;b[a>>1]=((e[a>>1]|0)+1+(o>>>0<512?o:0-o>>31&511)|0)>>>1;o=a+(i<<1)|0;q=q+512+k+((n+f|0)*20|0)+(H(l+p|0,-5)|0)>>10;b[o>>1]=((e[o>>1]|0)+1+(q>>>0<512?q:0-q>>31&511)|0)>>>1;o=a+(d<<1)|0;p=p+512+m+((l+n|0)*20|0)+(H(k+f|0,-5)|0)>>10;b[o>>1]=((e[o>>1]|0)+1+(p>>>0<512?p:0-p>>31&511)|0)>>>1;o=a+(j<<1)|0;n=f+512+c+((k+l|0)*20|0)+(H(m+n|0,-5)|0)>>10;b[o>>1]=((e[o>>1]|0)+1+(n>>>0<512?n:0-n>>31&511)|0)>>>1;a=a+2|0;g=g+2|0;h=h+1|0}return}function lF(c,e,f,g,h){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=e;j=0;f=f+(0-(h<<1))|0;while(1){if((j|0)==9)break;l=f+1|0;o=f+-1|0;k=f+2|0;p=H((d[k>>0]|0)+(d[o>>0]|0)|0,-5)|0;m=f+3|0;b[i>>1]=(((d[l>>0]|0)+(d[f>>0]|0)|0)*20|0)+(d[f+-2>>0]|0)+p+(d[m>>0]|0);p=H((d[m>>0]|0)+(d[f>>0]|0)|0,-5)|0;n=f+4|0;b[i+2>>1]=(((d[k>>0]|0)+(d[l>>0]|0)|0)*20|0)+(d[o>>0]|0)+p+(d[n>>0]|0);p=H((d[n>>0]|0)+(d[l>>0]|0)|0,-5)|0;o=f+5|0;b[i+4>>1]=(((d[m>>0]|0)+(d[k>>0]|0)|0)*20|0)+(d[f>>0]|0)+p+(d[o>>0]|0);k=H((d[o>>0]|0)+(d[k>>0]|0)|0,-5)|0;b[i+6>>1]=(((d[n>>0]|0)+(d[m>>0]|0)|0)*20|0)+(d[l>>0]|0)+k+(d[f+6>>0]|0);i=i+8|0;j=j+1|0;f=f+h|0}j=g<<1;h=g*3|0;f=e+16|0;i=0;while(1){if((i|0)==4)break;r=b[f+-8>>1]|0;q=b[f>>1]|0;e=b[f+8>>1]|0;o=b[f+16>>1]|0;m=b[f+24>>1]|0;l=b[f+32>>1]|0;n=b[f+40>>1]|0;k=b[f+48>>1]|0;p=(b[f+-16>>1]|0)+512+m+((e+q|0)*20|0)+(H(o+r|0,-5)|0)>>10;a[c>>0]=((d[c>>0]|0)+1+((p>>>0>255?(p^-2147483648)>>31:p)&255)|0)>>>1;p=c+g|0;r=r+512+l+((o+e|0)*20|0)+(H(m+q|0,-5)|0)>>10;a[p>>0]=((d[p>>0]|0)+1+((r>>>0>255?(r^-2147483648)>>31:r)&255)|0)>>>1;p=c+j|0;q=q+512+n+((m+o|0)*20|0)+(H(l+e|0,-5)|0)>>10;a[p>>0]=((d[p>>0]|0)+1+((q>>>0>255?(q^-2147483648)>>31:q)&255)|0)>>>1;p=c+h|0;o=e+512+k+((l+m|0)*20|0)+(H(n+o|0,-5)|0)>>10;a[p>>0]=((d[p>>0]|0)+1+((o>>>0>255?(o^-2147483648)>>31:o)&255)|0)>>>1;c=c+1|0;f=f+2|0;i=i+1|0}return}function mF(a,c,d,f,g){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;j=g>>1;h=c;i=0;g=d+(0-(j<<1)<<1)|0;while(1){if((i|0)==9)break;k=g+2|0;n=g+-2|0;d=g+4|0;o=H((e[d>>1]|0)+(e[n>>1]|0)|0,-5)|0;l=g+6|0;b[h>>1]=(((e[k>>1]|0)+(e[g>>1]|0)|0)*20|0)+55306+(e[g+-4>>1]|0)+o+(e[l>>1]|0);o=H((e[l>>1]|0)+(e[g>>1]|0)|0,-5)|0;m=g+8|0;b[h+2>>1]=(((e[d>>1]|0)+(e[k>>1]|0)|0)*20|0)+55306+(e[n>>1]|0)+o+(e[m>>1]|0);o=H((e[m>>1]|0)+(e[k>>1]|0)|0,-5)|0;n=g+10|0;b[h+4>>1]=(((e[l>>1]|0)+(e[d>>1]|0)|0)*20|0)+55306+(e[g>>1]|0)+o+(e[n>>1]|0);d=H((e[n>>1]|0)+(e[d>>1]|0)|0,-5)|0;b[h+6>>1]=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+55306+(e[k>>1]|0)+d+(e[g+12>>1]|0);h=h+16|0;i=i+1|0;g=g+(j<<1)|0}i=f>>1;d=i<<1;j=i*3|0;g=c+32|0;h=0;while(1){if((h|0)==4)break;s=b[g+-16>>1]|0;q=b[g>>1]|0;r=q+10230|0;f=b[g+16>>1]|0;p=f+10230|0;n=(b[g+32>>1]|0)+10230|0;l=(b[g+48>>1]|0)+10230|0;k=(b[g+64>>1]|0)+10230|0;m=(b[g+80>>1]|0)+10230|0;c=b[g+96>>1]|0;o=(b[g+-32>>1]|0)+10742+l+((p+r|0)*20|0)+(H(n+(s+10230)|0,-5)|0)>>10;b[a>>1]=((e[a>>1]|0)+1+(o>>>0<1024?o:0-o>>31&1023)|0)>>>1;o=a+(i<<1)|0;r=s+10742+k+((n+p|0)*20|0)+(H(l+r|0,-5)|0)>>10;b[o>>1]=((e[o>>1]|0)+1+(r>>>0<1024?r:0-r>>31&1023)|0)>>>1;o=a+(d<<1)|0;p=q+10742+m+((l+n|0)*20|0)+(H(k+p|0,-5)|0)>>10;b[o>>1]=((e[o>>1]|0)+1+(p>>>0<1024?p:0-p>>31&1023)|0)>>>1;o=a+(j<<1)|0;n=f+20972+c+((k+l|0)*20|0)+(H(m+n|0,-5)|0)>>10;b[o>>1]=((e[o>>1]|0)+1+(n>>>0<1024?n:0-n>>31&1023)|0)>>>1;a=a+2|0;g=g+2|0;h=h+1|0}return}function nF(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=h>>1;i=d;j=0;h=f+(0-(k<<1)<<1)|0;while(1){if((j|0)==9)break;q=e[h>>1]|0;l=e[h+2>>1]|0;o=e[h+-2>>1]|0;f=e[h+4>>1]|0;p=H(f+o|0,-5)|0;m=e[h+6>>1]|0;c[i>>2]=((l+q|0)*20|0)+(e[h+-4>>1]|0)+p+m;p=H(m+q|0,-5)|0;n=e[h+8>>1]|0;c[i+4>>2]=((f+l|0)*20|0)+o+p+n;p=H(n+l|0,-5)|0;o=e[h+10>>1]|0;c[i+8>>2]=((m+f|0)*20|0)+q+p+o;f=H(o+f|0,-5)|0;c[i+12>>2]=((n+m|0)*20|0)+l+f+(e[h+12>>1]|0);i=i+32|0;j=j+1|0;h=h+(k<<1)|0}j=g>>1;f=j<<1;k=j*3|0;h=d+64|0;i=0;while(1){if((i|0)==4)break;r=c[h+-32>>2]|0;g=c[h>>2]|0;d=c[h+32>>2]|0;p=c[h+64>>2]|0;n=c[h+96>>2]|0;m=c[h+128>>2]|0;o=c[h+160>>2]|0;l=c[h+192>>2]|0;q=(c[h+-64>>2]|0)+512+n+((d+g|0)*20|0)+(H(p+r|0,-5)|0)>>10;b[a>>1]=((e[a>>1]|0)+1+(q>>>0<4096?q:0-q>>31&4095)|0)>>>1;q=a+(j<<1)|0;r=r+512+m+((p+d|0)*20|0)+(H(n+g|0,-5)|0)>>10;b[q>>1]=((e[q>>1]|0)+1+(r>>>0<4096?r:0-r>>31&4095)|0)>>>1;q=a+(f<<1)|0;g=g+512+o+((n+p|0)*20|0)+(H(m+d|0,-5)|0)>>10;b[q>>1]=((e[q>>1]|0)+1+(g>>>0<4096?g:0-g>>31&4095)|0)>>>1;q=a+(k<<1)|0;p=d+512+l+((m+n|0)*20|0)+(H(o+p|0,-5)|0)>>10;b[q>>1]=((e[q>>1]|0)+1+(p>>>0<4096?p:0-p>>31&4095)|0)>>>1;a=a+2|0;h=h+4|0;i=i+1|0}return}function oF(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=h>>1;i=d;j=0;h=f+(0-(k<<1)<<1)|0;while(1){if((j|0)==9)break;q=e[h>>1]|0;l=e[h+2>>1]|0;o=e[h+-2>>1]|0;f=e[h+4>>1]|0;p=H(f+o|0,-5)|0;m=e[h+6>>1]|0;c[i>>2]=((l+q|0)*20|0)+(e[h+-4>>1]|0)+p+m;p=H(m+q|0,-5)|0;n=e[h+8>>1]|0;c[i+4>>2]=((f+l|0)*20|0)+o+p+n;p=H(n+l|0,-5)|0;o=e[h+10>>1]|0;c[i+8>>2]=((m+f|0)*20|0)+q+p+o;f=H(o+f|0,-5)|0;c[i+12>>2]=((n+m|0)*20|0)+l+f+(e[h+12>>1]|0);i=i+32|0;j=j+1|0;h=h+(k<<1)|0}j=g>>1;f=j<<1;k=j*3|0;h=d+64|0;i=0;while(1){if((i|0)==4)break;r=c[h+-32>>2]|0;g=c[h>>2]|0;d=c[h+32>>2]|0;p=c[h+64>>2]|0;n=c[h+96>>2]|0;m=c[h+128>>2]|0;o=c[h+160>>2]|0;l=c[h+192>>2]|0;q=(c[h+-64>>2]|0)+512+n+((d+g|0)*20|0)+(H(p+r|0,-5)|0)>>10;b[a>>1]=((e[a>>1]|0)+1+(q>>>0<16384?q:0-q>>31&16383)|0)>>>1;q=a+(j<<1)|0;r=r+512+m+((p+d|0)*20|0)+(H(n+g|0,-5)|0)>>10;b[q>>1]=((e[q>>1]|0)+1+(r>>>0<16384?r:0-r>>31&16383)|0)>>>1;q=a+(f<<1)|0;g=g+512+o+((n+p|0)*20|0)+(H(m+d|0,-5)|0)>>10;b[q>>1]=((e[q>>1]|0)+1+(g>>>0<16384?g:0-g>>31&16383)|0)>>>1;q=a+(k<<1)|0;p=d+512+l+((m+n|0)*20|0)+(H(o+p|0,-5)|0)>>10;b[q>>1]=((e[q>>1]|0)+1+(p>>>0<16384?p:0-p>>31&16383)|0)>>>1;a=a+2|0;h=h+4|0;i=i+1|0}return}function pF(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=d>>1;h=g<<1;i=g*3|0;f=0;d=c;while(1){if((f|0)==4)break;q=e[d+-8>>1]|0;p=e[d>>1]|0;o=e[d+8>>1]|0;j=e[d+16>>1]|0;l=e[d+24>>1]|0;m=e[d+32>>1]|0;k=e[d+40>>1]|0;n=e[d+48>>1]|0;c=(e[d+-16>>1]|0)+16+l+((o+p|0)*20|0)+(H(j+q|0,-5)|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(c>>>0<512?c:0-c>>31&511)|0)>>>1;c=a+(g<<1)|0;q=q+16+m+((j+o|0)*20|0)+(H(l+p|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(q>>>0<512?q:0-q>>31&511)|0)>>>1;c=a+(h<<1)|0;p=p+16+k+((l+j|0)*20|0)+(H(m+o|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(p>>>0<512?p:0-p>>31&511)|0)>>>1;c=a+(i<<1)|0;j=o+16+n+((m+l|0)*20|0)+(H(k+j|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(j>>>0<512?j:0-j>>31&511)|0)>>>1;f=f+1|0;a=a+2|0;d=d+2|0}return}function qF(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=e<<1;h=e*3|0;f=0;while(1){if((f|0)==4)break;q=d[c+-4>>0]|0;p=d[c>>0]|0;o=d[c+4>>0]|0;j=d[c+8>>0]|0;l=d[c+12>>0]|0;m=d[c+16>>0]|0;k=d[c+20>>0]|0;n=d[c+24>>0]|0;i=(d[c+-8>>0]|0)+16+l+((o+p|0)*20|0)+(H(j+q|0,-5)|0)>>5;a[b>>0]=((d[b>>0]|0)+1+((i>>>0>255?(i^-2147483648)>>31:i)&255)|0)>>>1;i=b+e|0;q=q+16+m+((j+o|0)*20|0)+(H(l+p|0,-5)|0)>>5;a[i>>0]=((d[i>>0]|0)+1+((q>>>0>255?(q^-2147483648)>>31:q)&255)|0)>>>1;i=b+g|0;p=p+16+k+((l+j|0)*20|0)+(H(m+o|0,-5)|0)>>5;a[i>>0]=((d[i>>0]|0)+1+((p>>>0>255?(p^-2147483648)>>31:p)&255)|0)>>>1;i=b+h|0;j=o+16+n+((m+l|0)*20|0)+(H(k+j|0,-5)|0)>>5;a[i>>0]=((d[i>>0]|0)+1+((j>>>0>255?(j^-2147483648)>>31:j)&255)|0)>>>1;f=f+1|0;b=b+1|0;c=c+1|0}return}function rF(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=d>>1;h=g<<1;i=g*3|0;f=0;d=c;while(1){if((f|0)==4)break;q=e[d+-8>>1]|0;p=e[d>>1]|0;o=e[d+8>>1]|0;j=e[d+16>>1]|0;l=e[d+24>>1]|0;m=e[d+32>>1]|0;k=e[d+40>>1]|0;n=e[d+48>>1]|0;c=(e[d+-16>>1]|0)+16+l+((o+p|0)*20|0)+(H(j+q|0,-5)|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(c>>>0<1024?c:0-c>>31&1023)|0)>>>1;c=a+(g<<1)|0;q=q+16+m+((j+o|0)*20|0)+(H(l+p|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(q>>>0<1024?q:0-q>>31&1023)|0)>>>1;c=a+(h<<1)|0;p=p+16+k+((l+j|0)*20|0)+(H(m+o|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(p>>>0<1024?p:0-p>>31&1023)|0)>>>1;c=a+(i<<1)|0;j=o+16+n+((m+l|0)*20|0)+(H(k+j|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(j>>>0<1024?j:0-j>>31&1023)|0)>>>1;f=f+1|0;a=a+2|0;d=d+2|0}return}function sF(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=d>>1;h=g<<1;i=g*3|0;f=0;d=c;while(1){if((f|0)==4)break;q=e[d+-8>>1]|0;p=e[d>>1]|0;o=e[d+8>>1]|0;j=e[d+16>>1]|0;l=e[d+24>>1]|0;m=e[d+32>>1]|0;k=e[d+40>>1]|0;n=e[d+48>>1]|0;c=(e[d+-16>>1]|0)+16+l+((o+p|0)*20|0)+(H(j+q|0,-5)|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(c>>>0<4096?c:0-c>>31&4095)|0)>>>1;c=a+(g<<1)|0;q=q+16+m+((j+o|0)*20|0)+(H(l+p|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(q>>>0<4096?q:0-q>>31&4095)|0)>>>1;c=a+(h<<1)|0;p=p+16+k+((l+j|0)*20|0)+(H(m+o|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(p>>>0<4096?p:0-p>>31&4095)|0)>>>1;c=a+(i<<1)|0;j=o+16+n+((m+l|0)*20|0)+(H(k+j|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(j>>>0<4096?j:0-j>>31&4095)|0)>>>1;f=f+1|0;a=a+2|0;d=d+2|0}return}function tF(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=d>>1;h=g<<1;i=g*3|0;f=0;d=c;while(1){if((f|0)==4)break;q=e[d+-8>>1]|0;p=e[d>>1]|0;o=e[d+8>>1]|0;j=e[d+16>>1]|0;l=e[d+24>>1]|0;m=e[d+32>>1]|0;k=e[d+40>>1]|0;n=e[d+48>>1]|0;c=(e[d+-16>>1]|0)+16+l+((o+p|0)*20|0)+(H(j+q|0,-5)|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(c>>>0<16384?c:0-c>>31&16383)|0)>>>1;c=a+(g<<1)|0;q=q+16+m+((j+o|0)*20|0)+(H(l+p|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(q>>>0<16384?q:0-q>>31&16383)|0)>>>1;c=a+(h<<1)|0;p=p+16+k+((l+j|0)*20|0)+(H(m+o|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(p>>>0<16384?p:0-p>>31&16383)|0)>>>1;c=a+(i<<1)|0;j=o+16+n+((m+l|0)*20|0)+(H(k+j|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(j>>>0<16384?j:0-j>>31&16383)|0)>>>1;f=f+1|0;a=a+2|0;d=d+2|0}return}function uF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==4)break;j=c+2|0;m=c+-2|0;i=c+4|0;a=H((e[i>>1]|0)+(e[m>>1]|0)|0,-5)|0;k=c+6|0;a=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+a+(e[k>>1]|0)>>5;b[d>>1]=((e[d>>1]|0)+1+(a>>>0<512?a:0-a>>31&511)|0)>>>1;a=d+2|0;n=H((e[k>>1]|0)+(e[c>>1]|0)|0,-5)|0;l=c+8|0;n=(((e[i>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[m>>1]|0)+n+(e[l>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<512?n:0-n>>31&511)|0)>>>1;a=d+4|0;n=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+10|0;n=(((e[k>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+n+(e[m>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<512?n:0-n>>31&511)|0)>>>1;a=d+6|0;i=H((e[m>>1]|0)+(e[i>>1]|0)|0,-5)|0;i=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+i+(e[c+12>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(i>>>0<512?i:0-i>>31&511)|0)>>>1;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function vF(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=0;while(1){if((g|0)==4)break;j=c+1|0;m=c+-1|0;i=c+2|0;h=H((d[i>>0]|0)+(d[m>>0]|0)|0,-5)|0;k=c+3|0;h=(((d[j>>0]|0)+(d[c>>0]|0)|0)*20|0)+16+(d[c+-2>>0]|0)+h+(d[k>>0]|0)>>5;a[b>>0]=((d[b>>0]|0)+1+((h>>>0>255?(h^-2147483648)>>31:h)&255)|0)>>>1;h=b+1|0;n=H((d[k>>0]|0)+(d[c>>0]|0)|0,-5)|0;l=c+4|0;n=(((d[i>>0]|0)+(d[j>>0]|0)|0)*20|0)+16+(d[m>>0]|0)+n+(d[l>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((n>>>0>255?(n^-2147483648)>>31:n)&255)|0)>>>1;h=b+2|0;n=H((d[l>>0]|0)+(d[j>>0]|0)|0,-5)|0;m=c+5|0;n=(((d[k>>0]|0)+(d[i>>0]|0)|0)*20|0)+16+(d[c>>0]|0)+n+(d[m>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((n>>>0>255?(n^-2147483648)>>31:n)&255)|0)>>>1;h=b+3|0;i=H((d[m>>0]|0)+(d[i>>0]|0)|0,-5)|0;i=(((d[l>>0]|0)+(d[k>>0]|0)|0)*20|0)+16+(d[j>>0]|0)+i+(d[c+6>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((i>>>0>255?(i^-2147483648)>>31:i)&255)|0)>>>1;c=c+f|0;b=b+e|0;g=g+1|0}return}function wF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==4)break;j=c+2|0;m=c+-2|0;i=c+4|0;a=H((e[i>>1]|0)+(e[m>>1]|0)|0,-5)|0;k=c+6|0;a=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+a+(e[k>>1]|0)>>5;b[d>>1]=((e[d>>1]|0)+1+(a>>>0<1024?a:0-a>>31&1023)|0)>>>1;a=d+2|0;n=H((e[k>>1]|0)+(e[c>>1]|0)|0,-5)|0;l=c+8|0;n=(((e[i>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[m>>1]|0)+n+(e[l>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<1024?n:0-n>>31&1023)|0)>>>1;a=d+4|0;n=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+10|0;n=(((e[k>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+n+(e[m>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<1024?n:0-n>>31&1023)|0)>>>1;a=d+6|0;i=H((e[m>>1]|0)+(e[i>>1]|0)|0,-5)|0;i=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+i+(e[c+12>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(i>>>0<1024?i:0-i>>31&1023)|0)>>>1;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function xF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==4)break;j=c+2|0;m=c+-2|0;i=c+4|0;a=H((e[i>>1]|0)+(e[m>>1]|0)|0,-5)|0;k=c+6|0;a=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+a+(e[k>>1]|0)>>5;b[d>>1]=((e[d>>1]|0)+1+(a>>>0<4096?a:0-a>>31&4095)|0)>>>1;a=d+2|0;n=H((e[k>>1]|0)+(e[c>>1]|0)|0,-5)|0;l=c+8|0;n=(((e[i>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[m>>1]|0)+n+(e[l>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<4096?n:0-n>>31&4095)|0)>>>1;a=d+4|0;n=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+10|0;n=(((e[k>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+n+(e[m>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<4096?n:0-n>>31&4095)|0)>>>1;a=d+6|0;i=H((e[m>>1]|0)+(e[i>>1]|0)|0,-5)|0;i=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+i+(e[c+12>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(i>>>0<4096?i:0-i>>31&4095)|0)>>>1;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function yF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==4)break;j=c+2|0;m=c+-2|0;i=c+4|0;a=H((e[i>>1]|0)+(e[m>>1]|0)|0,-5)|0;k=c+6|0;a=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+a+(e[k>>1]|0)>>5;b[d>>1]=((e[d>>1]|0)+1+(a>>>0<16384?a:0-a>>31&16383)|0)>>>1;a=d+2|0;n=H((e[k>>1]|0)+(e[c>>1]|0)|0,-5)|0;l=c+8|0;n=(((e[i>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[m>>1]|0)+n+(e[l>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<16384?n:0-n>>31&16383)|0)>>>1;a=d+4|0;n=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+10|0;n=(((e[k>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+n+(e[m>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<16384?n:0-n>>31&16383)|0)>>>1;a=d+6|0;i=H((e[m>>1]|0)+(e[i>>1]|0)|0,-5)|0;i=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+i+(e[c+12>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(i>>>0<16384?i:0-i>>31&16383)|0)>>>1;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function zF(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;f=0;while(1){if((f|0)==4)break;g=a;i=b;h=i;i=i+4|0;i=PE(c[g>>2]|0,c[g+4>>2]|0,d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24)|0;h=M()|0;g=a;c[g>>2]=i;c[g+4>>2]=h;f=f+1|0;a=a+e|0;b=b+e|0}return}function AF(a,b,e){a=a|0;b=b|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;c[a>>2]=UE(c[a>>2]|0,d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24)|0;f=f+1|0;a=a+e|0;b=b+e|0}return}function BF(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;f=0;while(1){if((f|0)==4)break;g=a;i=b;h=i;i=i+4|0;i=PE(c[g>>2]|0,c[g+4>>2]|0,d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24)|0;h=M()|0;g=a;c[g>>2]=i;c[g+4>>2]=h;f=f+1|0;a=a+e|0;b=b+e|0}return}function CF(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;f=0;while(1){if((f|0)==4)break;g=a;i=b;h=i;i=i+4|0;i=PE(c[g>>2]|0,c[g+4>>2]|0,d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24)|0;h=M()|0;g=a;c[g>>2]=i;c[g+4>>2]=h;f=f+1|0;a=a+e|0;b=b+e|0}return}function DF(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;f=0;while(1){if((f|0)==4)break;g=a;i=b;h=i;i=i+4|0;i=PE(c[g>>2]|0,c[g+4>>2]|0,d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24)|0;h=M()|0;g=a;c[g>>2]=i;c[g+4>>2]=h;f=f+1|0;a=a+e|0;b=b+e|0}return}function EF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==8)break;j=c+2|0;i=c+-2|0;k=c+4|0;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+6|0;m=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+m+(e[l>>1]|0)>>5;b[d>>1]=m>>>0<512?m:0-m>>31&511;m=H((e[l>>1]|0)+(e[c>>1]|0)|0,-5)|0;n=c+8|0;m=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+m+(e[n>>1]|0)>>5;b[d+2>>1]=m>>>0<512?m:0-m>>31&511;m=H((e[n>>1]|0)+(e[j>>1]|0)|0,-5)|0;i=c+10|0;m=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+m+(e[i>>1]|0)>>5;b[d+4>>1]=m>>>0<512?m:0-m>>31&511;m=H((e[i>>1]|0)+(e[k>>1]|0)|0,-5)|0;a=c+12|0;m=(((e[n>>1]|0)+(e[l>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+m+(e[a>>1]|0)>>5;b[d+6>>1]=m>>>0<512?m:0-m>>31&511;m=H((e[a>>1]|0)+(e[l>>1]|0)|0,-5)|0;j=c+14|0;m=(((e[i>>1]|0)+(e[n>>1]|0)|0)*20|0)+16+(e[k>>1]|0)+m+(e[j>>1]|0)>>5;b[d+8>>1]=m>>>0<512?m:0-m>>31&511;m=H((e[j>>1]|0)+(e[n>>1]|0)|0,-5)|0;k=c+16|0;m=(((e[a>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+m+(e[k>>1]|0)>>5;b[d+10>>1]=m>>>0<512?m:0-m>>31&511;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+18|0;m=(((e[j>>1]|0)+(e[a>>1]|0)|0)*20|0)+16+(e[n>>1]|0)+m+(e[l>>1]|0)>>5;b[d+12>>1]=m>>>0<512?m:0-m>>31&511;a=H((e[l>>1]|0)+(e[a>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+20>>1]|0)>>5;b[d+14>>1]=a>>>0<512?a:0-a>>31&511;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function FF(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==13)break;j=c;i=j;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=b;g=h;a[g>>0]=i;a[g+1>>0]=i>>8;a[g+2>>0]=i>>16;a[g+3>>0]=i>>24;h=h+4|0;a[h>>0]=j;a[h+1>>0]=j>>8;a[h+2>>0]=j>>16;a[h+3>>0]=j>>24;h=c+8|0;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+8|0;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;b=b+16|0;c=c+e|0}return}function GF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0;z=d>>1;u=f>>1;v=H(u,-2)|0;w=0-u|0;x=u<<1;y=u*3|0;h=u<<2;i=u*5|0;j=u*6|0;k=u*7|0;l=u<<3;m=u*9|0;n=u*10|0;o=z<<1;p=z*3|0;q=z<<2;r=z*5|0;s=z*6|0;t=z*7|0;g=0;f=a;d=c;while(1){if((g|0)==8)break;K=e[d+(w<<1)>>1]|0;J=e[d>>1]|0;I=e[d+(u<<1)>>1]|0;G=e[d+(x<<1)>>1]|0;F=e[d+(y<<1)>>1]|0;E=e[d+(h<<1)>>1]|0;D=e[d+(i<<1)>>1]|0;c=e[d+(j<<1)>>1]|0;A=e[d+(k<<1)>>1]|0;B=e[d+(l<<1)>>1]|0;a=e[d+(m<<1)>>1]|0;C=e[d+(n<<1)>>1]|0;L=(e[d+(v<<1)>>1]|0)+16+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>5;b[f>>1]=L>>>0<512?L:0-L>>31&511;K=K+16+E+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>5;b[f+(z<<1)>>1]=K>>>0<512?K:0-K>>31&511;J=J+16+D+((F+G|0)*20|0)+(H(E+I|0,-5)|0)>>5;b[f+(o<<1)>>1]=J>>>0<512?J:0-J>>31&511;I=I+16+c+((E+F|0)*20|0)+(H(D+G|0,-5)|0)>>5;b[f+(p<<1)>>1]=I>>>0<512?I:0-I>>31&511;G=G+16+A+((D+E|0)*20|0)+(H(c+F|0,-5)|0)>>5;b[f+(q<<1)>>1]=G>>>0<512?G:0-G>>31&511;F=F+16+B+((c+D|0)*20|0)+(H(A+E|0,-5)|0)>>5;b[f+(r<<1)>>1]=F>>>0<512?F:0-F>>31&511;E=E+16+a+((A+c|0)*20|0)+(H(B+D|0,-5)|0)>>5;b[f+(s<<1)>>1]=E>>>0<512?E:0-E>>31&511;c=D+16+C+((B+A|0)*20|0)+(H(a+c|0,-5)|0)>>5;b[f+(t<<1)>>1]=c>>>0<512?c:0-c>>31&511;g=g+1|0;f=f+2|0;d=d+2|0}return}function HF(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;j=0;while(1){if((j|0)>=(i|0))break;p=H(j,g)|0;s=b+p|0;t=s;s=s+4|0;m=H(j,h)|0;l=e+m|0;r=l;l=l+4|0;k=H(j,f)|0;q=a+k|0;o=q;n=c[o>>2]|0;o=c[o+4>>2]|0;l=PE(d[t>>0]|d[t+1>>0]<<8|d[t+2>>0]<<16|d[t+3>>0]<<24,d[s>>0]|d[s+1>>0]<<8|d[s+2>>0]<<16|d[s+3>>0]<<24,d[r>>0]|d[r+1>>0]<<8|d[r+2>>0]<<16|d[r+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24)|0;l=PE(n,o,l,M()|0)|0;o=M()|0;c[q>>2]=l;c[q+4>>2]=o;p=b+(p+8)|0;q=p;p=p+4|0;m=e+(m+8)|0;o=m;m=m+4|0;k=a+(k+8)|0;l=k;n=c[l>>2]|0;l=c[l+4>>2]|0;m=PE(d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24,d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24,d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24)|0;m=PE(n,l,m,M()|0)|0;l=M()|0;c[k>>2]=m;c[k+4>>2]=l;j=j+1|0}return}function IF(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=0;while(1){if((g|0)==8)break;j=c+1|0;i=c+-1|0;k=c+2|0;m=H((d[k>>0]|0)+(d[i>>0]|0)|0,-5)|0;l=c+3|0;m=(((d[j>>0]|0)+(d[c>>0]|0)|0)*20|0)+16+(d[c+-2>>0]|0)+m+(d[l>>0]|0)>>5;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=H((d[l>>0]|0)+(d[c>>0]|0)|0,-5)|0;n=c+4|0;m=(((d[k>>0]|0)+(d[j>>0]|0)|0)*20|0)+16+(d[i>>0]|0)+m+(d[n>>0]|0)>>5;a[b+1>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=H((d[n>>0]|0)+(d[j>>0]|0)|0,-5)|0;i=c+5|0;m=(((d[l>>0]|0)+(d[k>>0]|0)|0)*20|0)+16+(d[c>>0]|0)+m+(d[i>>0]|0)>>5;a[b+2>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=H((d[i>>0]|0)+(d[k>>0]|0)|0,-5)|0;h=c+6|0;m=(((d[n>>0]|0)+(d[l>>0]|0)|0)*20|0)+16+(d[j>>0]|0)+m+(d[h>>0]|0)>>5;a[b+3>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=H((d[h>>0]|0)+(d[l>>0]|0)|0,-5)|0;j=c+7|0;m=(((d[i>>0]|0)+(d[n>>0]|0)|0)*20|0)+16+(d[k>>0]|0)+m+(d[j>>0]|0)>>5;a[b+4>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=H((d[j>>0]|0)+(d[n>>0]|0)|0,-5)|0;k=c+8|0;m=(((d[h>>0]|0)+(d[i>>0]|0)|0)*20|0)+16+(d[l>>0]|0)+m+(d[k>>0]|0)>>5;a[b+5>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=H((d[k>>0]|0)+(d[i>>0]|0)|0,-5)|0;l=c+9|0;m=(((d[j>>0]|0)+(d[h>>0]|0)|0)*20|0)+16+(d[n>>0]|0)+m+(d[l>>0]|0)>>5;a[b+6>>0]=m>>>0>255?(m^-2147483648)>>31:m;h=H((d[l>>0]|0)+(d[h>>0]|0)|0,-5)|0;h=(((d[k>>0]|0)+(d[j>>0]|0)|0)*20|0)+16+(d[i>>0]|0)+h+(d[c+10>>0]|0)>>5;a[b+7>>0]=h>>>0>255?(h^-2147483648)>>31:h;c=c+f|0;b=b+e|0;g=g+1|0}return}function JF(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0;f=0;while(1){if((f|0)==13)break;h=d[c>>0]|d[c+1>>0]<<8|d[c+2>>0]<<16|d[c+3>>0]<<24;a[b>>0]=h;a[b+1>>0]=h>>8;a[b+2>>0]=h>>16;a[b+3>>0]=h>>24;h=c+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;b=b+8|0;c=c+e|0}return}function KF(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0;s=H(f,-2)|0;t=0-f|0;u=f<<1;v=f*3|0;w=f<<2;x=f*5|0;h=f*6|0;i=f*7|0;j=f<<3;k=f*9|0;l=f*10|0;m=e<<1;n=e*3|0;o=e<<2;p=e*5|0;q=e*6|0;r=e*7|0;g=0;while(1){if((g|0)==8)break;K=d[c+t>>0]|0;J=d[c>>0]|0;I=d[c+f>>0]|0;G=d[c+u>>0]|0;F=d[c+v>>0]|0;E=d[c+w>>0]|0;D=d[c+x>>0]|0;y=d[c+h>>0]|0;A=d[c+i>>0]|0;B=d[c+j>>0]|0;z=d[c+k>>0]|0;C=d[c+l>>0]|0;L=(d[c+s>>0]|0)+16+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>5;a[b>>0]=L>>>0>255?(L^-2147483648)>>31:L;K=K+16+E+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>5;a[b+e>>0]=K>>>0>255?(K^-2147483648)>>31:K;J=J+16+D+((F+G|0)*20|0)+(H(E+I|0,-5)|0)>>5;a[b+m>>0]=J>>>0>255?(J^-2147483648)>>31:J;I=I+16+y+((E+F|0)*20|0)+(H(D+G|0,-5)|0)>>5;a[b+n>>0]=I>>>0>255?(I^-2147483648)>>31:I;G=G+16+A+((D+E|0)*20|0)+(H(y+F|0,-5)|0)>>5;a[b+o>>0]=G>>>0>255?(G^-2147483648)>>31:G;F=F+16+B+((y+D|0)*20|0)+(H(A+E|0,-5)|0)>>5;a[b+p>>0]=F>>>0>255?(F^-2147483648)>>31:F;E=E+16+z+((A+y|0)*20|0)+(H(B+D|0,-5)|0)>>5;a[b+q>>0]=E>>>0>255?(E^-2147483648)>>31:E;y=D+16+C+((B+A|0)*20|0)+(H(z+y|0,-5)|0)>>5;a[b+r>>0]=y>>>0>255?(y^-2147483648)>>31:y;g=g+1|0;b=b+1|0;c=c+1|0}return}function LF(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=0;while(1){if((j|0)>=(i|0))break;m=H(j,g)|0;p=b+m|0;l=H(j,h)|0;o=e+l|0;k=H(j,f)|0;n=a+k|0;q=c[n>>2]|0;c[n>>2]=UE(q,UE(d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24,d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24)|0)|0;m=b+(m+4)|0;l=e+(l+4)|0;k=a+(k+4)|0;n=c[k>>2]|0;c[k>>2]=UE(n,UE(d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24)|0)|0;j=j+1|0}return}function MF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==8)break;j=c+2|0;i=c+-2|0;k=c+4|0;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+6|0;m=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+m+(e[l>>1]|0)>>5;b[d>>1]=m>>>0<1024?m:0-m>>31&1023;m=H((e[l>>1]|0)+(e[c>>1]|0)|0,-5)|0;n=c+8|0;m=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+m+(e[n>>1]|0)>>5;b[d+2>>1]=m>>>0<1024?m:0-m>>31&1023;m=H((e[n>>1]|0)+(e[j>>1]|0)|0,-5)|0;i=c+10|0;m=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+m+(e[i>>1]|0)>>5;b[d+4>>1]=m>>>0<1024?m:0-m>>31&1023;m=H((e[i>>1]|0)+(e[k>>1]|0)|0,-5)|0;a=c+12|0;m=(((e[n>>1]|0)+(e[l>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+m+(e[a>>1]|0)>>5;b[d+6>>1]=m>>>0<1024?m:0-m>>31&1023;m=H((e[a>>1]|0)+(e[l>>1]|0)|0,-5)|0;j=c+14|0;m=(((e[i>>1]|0)+(e[n>>1]|0)|0)*20|0)+16+(e[k>>1]|0)+m+(e[j>>1]|0)>>5;b[d+8>>1]=m>>>0<1024?m:0-m>>31&1023;m=H((e[j>>1]|0)+(e[n>>1]|0)|0,-5)|0;k=c+16|0;m=(((e[a>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+m+(e[k>>1]|0)>>5;b[d+10>>1]=m>>>0<1024?m:0-m>>31&1023;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+18|0;m=(((e[j>>1]|0)+(e[a>>1]|0)|0)*20|0)+16+(e[n>>1]|0)+m+(e[l>>1]|0)>>5;b[d+12>>1]=m>>>0<1024?m:0-m>>31&1023;a=H((e[l>>1]|0)+(e[a>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+20>>1]|0)>>5;b[d+14>>1]=a>>>0<1024?a:0-a>>31&1023;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function NF(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==13)break;j=c;i=j;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=b;g=h;a[g>>0]=i;a[g+1>>0]=i>>8;a[g+2>>0]=i>>16;a[g+3>>0]=i>>24;h=h+4|0;a[h>>0]=j;a[h+1>>0]=j>>8;a[h+2>>0]=j>>16;a[h+3>>0]=j>>24;h=c+8|0;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+8|0;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;b=b+16|0;c=c+e|0}return}function OF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0;z=d>>1;u=f>>1;v=H(u,-2)|0;w=0-u|0;x=u<<1;y=u*3|0;h=u<<2;i=u*5|0;j=u*6|0;k=u*7|0;l=u<<3;m=u*9|0;n=u*10|0;o=z<<1;p=z*3|0;q=z<<2;r=z*5|0;s=z*6|0;t=z*7|0;g=0;f=a;d=c;while(1){if((g|0)==8)break;K=e[d+(w<<1)>>1]|0;J=e[d>>1]|0;I=e[d+(u<<1)>>1]|0;G=e[d+(x<<1)>>1]|0;F=e[d+(y<<1)>>1]|0;E=e[d+(h<<1)>>1]|0;D=e[d+(i<<1)>>1]|0;c=e[d+(j<<1)>>1]|0;A=e[d+(k<<1)>>1]|0;B=e[d+(l<<1)>>1]|0;a=e[d+(m<<1)>>1]|0;C=e[d+(n<<1)>>1]|0;L=(e[d+(v<<1)>>1]|0)+16+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>5;b[f>>1]=L>>>0<1024?L:0-L>>31&1023;K=K+16+E+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>5;b[f+(z<<1)>>1]=K>>>0<1024?K:0-K>>31&1023;J=J+16+D+((F+G|0)*20|0)+(H(E+I|0,-5)|0)>>5;b[f+(o<<1)>>1]=J>>>0<1024?J:0-J>>31&1023;I=I+16+c+((E+F|0)*20|0)+(H(D+G|0,-5)|0)>>5;b[f+(p<<1)>>1]=I>>>0<1024?I:0-I>>31&1023;G=G+16+A+((D+E|0)*20|0)+(H(c+F|0,-5)|0)>>5;b[f+(q<<1)>>1]=G>>>0<1024?G:0-G>>31&1023;F=F+16+B+((c+D|0)*20|0)+(H(A+E|0,-5)|0)>>5;b[f+(r<<1)>>1]=F>>>0<1024?F:0-F>>31&1023;E=E+16+a+((A+c|0)*20|0)+(H(B+D|0,-5)|0)>>5;b[f+(s<<1)>>1]=E>>>0<1024?E:0-E>>31&1023;c=D+16+C+((B+A|0)*20|0)+(H(a+c|0,-5)|0)>>5;b[f+(t<<1)>>1]=c>>>0<1024?c:0-c>>31&1023;g=g+1|0;f=f+2|0;d=d+2|0}return}function PF(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;j=0;while(1){if((j|0)>=(i|0))break;p=H(j,g)|0;s=b+p|0;t=s;s=s+4|0;m=H(j,h)|0;l=e+m|0;r=l;l=l+4|0;k=H(j,f)|0;q=a+k|0;o=q;n=c[o>>2]|0;o=c[o+4>>2]|0;l=PE(d[t>>0]|d[t+1>>0]<<8|d[t+2>>0]<<16|d[t+3>>0]<<24,d[s>>0]|d[s+1>>0]<<8|d[s+2>>0]<<16|d[s+3>>0]<<24,d[r>>0]|d[r+1>>0]<<8|d[r+2>>0]<<16|d[r+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24)|0;l=PE(n,o,l,M()|0)|0;o=M()|0;c[q>>2]=l;c[q+4>>2]=o;p=b+(p+8)|0;q=p;p=p+4|0;m=e+(m+8)|0;o=m;m=m+4|0;k=a+(k+8)|0;l=k;n=c[l>>2]|0;l=c[l+4>>2]|0;m=PE(d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24,d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24,d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24)|0;m=PE(n,l,m,M()|0)|0;l=M()|0;c[k>>2]=m;c[k+4>>2]=l;j=j+1|0}return}function QF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==8)break;j=c+2|0;i=c+-2|0;k=c+4|0;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+6|0;m=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+m+(e[l>>1]|0)>>5;b[d>>1]=m>>>0<4096?m:0-m>>31&4095;m=H((e[l>>1]|0)+(e[c>>1]|0)|0,-5)|0;n=c+8|0;m=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+m+(e[n>>1]|0)>>5;b[d+2>>1]=m>>>0<4096?m:0-m>>31&4095;m=H((e[n>>1]|0)+(e[j>>1]|0)|0,-5)|0;i=c+10|0;m=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+m+(e[i>>1]|0)>>5;b[d+4>>1]=m>>>0<4096?m:0-m>>31&4095;m=H((e[i>>1]|0)+(e[k>>1]|0)|0,-5)|0;a=c+12|0;m=(((e[n>>1]|0)+(e[l>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+m+(e[a>>1]|0)>>5;b[d+6>>1]=m>>>0<4096?m:0-m>>31&4095;m=H((e[a>>1]|0)+(e[l>>1]|0)|0,-5)|0;j=c+14|0;m=(((e[i>>1]|0)+(e[n>>1]|0)|0)*20|0)+16+(e[k>>1]|0)+m+(e[j>>1]|0)>>5;b[d+8>>1]=m>>>0<4096?m:0-m>>31&4095;m=H((e[j>>1]|0)+(e[n>>1]|0)|0,-5)|0;k=c+16|0;m=(((e[a>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+m+(e[k>>1]|0)>>5;b[d+10>>1]=m>>>0<4096?m:0-m>>31&4095;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+18|0;m=(((e[j>>1]|0)+(e[a>>1]|0)|0)*20|0)+16+(e[n>>1]|0)+m+(e[l>>1]|0)>>5;b[d+12>>1]=m>>>0<4096?m:0-m>>31&4095;a=H((e[l>>1]|0)+(e[a>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+20>>1]|0)>>5;b[d+14>>1]=a>>>0<4096?a:0-a>>31&4095;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function RF(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==13)break;j=c;i=j;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=b;g=h;a[g>>0]=i;a[g+1>>0]=i>>8;a[g+2>>0]=i>>16;a[g+3>>0]=i>>24;h=h+4|0;a[h>>0]=j;a[h+1>>0]=j>>8;a[h+2>>0]=j>>16;a[h+3>>0]=j>>24;h=c+8|0;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+8|0;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;b=b+16|0;c=c+e|0}return}function SF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0;z=d>>1;u=f>>1;v=H(u,-2)|0;w=0-u|0;x=u<<1;y=u*3|0;h=u<<2;i=u*5|0;j=u*6|0;k=u*7|0;l=u<<3;m=u*9|0;n=u*10|0;o=z<<1;p=z*3|0;q=z<<2;r=z*5|0;s=z*6|0;t=z*7|0;g=0;f=a;d=c;while(1){if((g|0)==8)break;K=e[d+(w<<1)>>1]|0;J=e[d>>1]|0;I=e[d+(u<<1)>>1]|0;G=e[d+(x<<1)>>1]|0;F=e[d+(y<<1)>>1]|0;E=e[d+(h<<1)>>1]|0;D=e[d+(i<<1)>>1]|0;c=e[d+(j<<1)>>1]|0;A=e[d+(k<<1)>>1]|0;B=e[d+(l<<1)>>1]|0;a=e[d+(m<<1)>>1]|0;C=e[d+(n<<1)>>1]|0;L=(e[d+(v<<1)>>1]|0)+16+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>5;b[f>>1]=L>>>0<4096?L:0-L>>31&4095;K=K+16+E+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>5;b[f+(z<<1)>>1]=K>>>0<4096?K:0-K>>31&4095;J=J+16+D+((F+G|0)*20|0)+(H(E+I|0,-5)|0)>>5;b[f+(o<<1)>>1]=J>>>0<4096?J:0-J>>31&4095;I=I+16+c+((E+F|0)*20|0)+(H(D+G|0,-5)|0)>>5;b[f+(p<<1)>>1]=I>>>0<4096?I:0-I>>31&4095;G=G+16+A+((D+E|0)*20|0)+(H(c+F|0,-5)|0)>>5;b[f+(q<<1)>>1]=G>>>0<4096?G:0-G>>31&4095;F=F+16+B+((c+D|0)*20|0)+(H(A+E|0,-5)|0)>>5;b[f+(r<<1)>>1]=F>>>0<4096?F:0-F>>31&4095;E=E+16+a+((A+c|0)*20|0)+(H(B+D|0,-5)|0)>>5;b[f+(s<<1)>>1]=E>>>0<4096?E:0-E>>31&4095;c=D+16+C+((B+A|0)*20|0)+(H(a+c|0,-5)|0)>>5;b[f+(t<<1)>>1]=c>>>0<4096?c:0-c>>31&4095;g=g+1|0;f=f+2|0;d=d+2|0}return}function TF(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;j=0;while(1){if((j|0)>=(i|0))break;p=H(j,g)|0;s=b+p|0;t=s;s=s+4|0;m=H(j,h)|0;l=e+m|0;r=l;l=l+4|0;k=H(j,f)|0;q=a+k|0;o=q;n=c[o>>2]|0;o=c[o+4>>2]|0;l=PE(d[t>>0]|d[t+1>>0]<<8|d[t+2>>0]<<16|d[t+3>>0]<<24,d[s>>0]|d[s+1>>0]<<8|d[s+2>>0]<<16|d[s+3>>0]<<24,d[r>>0]|d[r+1>>0]<<8|d[r+2>>0]<<16|d[r+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24)|0;l=PE(n,o,l,M()|0)|0;o=M()|0;c[q>>2]=l;c[q+4>>2]=o;p=b+(p+8)|0;q=p;p=p+4|0;m=e+(m+8)|0;o=m;m=m+4|0;k=a+(k+8)|0;l=k;n=c[l>>2]|0;l=c[l+4>>2]|0;m=PE(d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24,d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24,d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24)|0;m=PE(n,l,m,M()|0)|0;l=M()|0;c[k>>2]=m;c[k+4>>2]=l;j=j+1|0}return}function UF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==8)break;j=c+2|0;i=c+-2|0;k=c+4|0;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+6|0;m=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+m+(e[l>>1]|0)>>5;b[d>>1]=m>>>0<16384?m:0-m>>31&16383;m=H((e[l>>1]|0)+(e[c>>1]|0)|0,-5)|0;n=c+8|0;m=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+m+(e[n>>1]|0)>>5;b[d+2>>1]=m>>>0<16384?m:0-m>>31&16383;m=H((e[n>>1]|0)+(e[j>>1]|0)|0,-5)|0;i=c+10|0;m=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+m+(e[i>>1]|0)>>5;b[d+4>>1]=m>>>0<16384?m:0-m>>31&16383;m=H((e[i>>1]|0)+(e[k>>1]|0)|0,-5)|0;a=c+12|0;m=(((e[n>>1]|0)+(e[l>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+m+(e[a>>1]|0)>>5;b[d+6>>1]=m>>>0<16384?m:0-m>>31&16383;m=H((e[a>>1]|0)+(e[l>>1]|0)|0,-5)|0;j=c+14|0;m=(((e[i>>1]|0)+(e[n>>1]|0)|0)*20|0)+16+(e[k>>1]|0)+m+(e[j>>1]|0)>>5;b[d+8>>1]=m>>>0<16384?m:0-m>>31&16383;m=H((e[j>>1]|0)+(e[n>>1]|0)|0,-5)|0;k=c+16|0;m=(((e[a>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+m+(e[k>>1]|0)>>5;b[d+10>>1]=m>>>0<16384?m:0-m>>31&16383;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+18|0;m=(((e[j>>1]|0)+(e[a>>1]|0)|0)*20|0)+16+(e[n>>1]|0)+m+(e[l>>1]|0)>>5;b[d+12>>1]=m>>>0<16384?m:0-m>>31&16383;a=H((e[l>>1]|0)+(e[a>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+20>>1]|0)>>5;b[d+14>>1]=a>>>0<16384?a:0-a>>31&16383;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function VF(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==13)break;j=c;i=j;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=b;g=h;a[g>>0]=i;a[g+1>>0]=i>>8;a[g+2>>0]=i>>16;a[g+3>>0]=i>>24;h=h+4|0;a[h>>0]=j;a[h+1>>0]=j>>8;a[h+2>>0]=j>>16;a[h+3>>0]=j>>24;h=c+8|0;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+8|0;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;b=b+16|0;c=c+e|0}return}function WF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0;z=d>>1;u=f>>1;v=H(u,-2)|0;w=0-u|0;x=u<<1;y=u*3|0;h=u<<2;i=u*5|0;j=u*6|0;k=u*7|0;l=u<<3;m=u*9|0;n=u*10|0;o=z<<1;p=z*3|0;q=z<<2;r=z*5|0;s=z*6|0;t=z*7|0;g=0;f=a;d=c;while(1){if((g|0)==8)break;K=e[d+(w<<1)>>1]|0;J=e[d>>1]|0;I=e[d+(u<<1)>>1]|0;G=e[d+(x<<1)>>1]|0;F=e[d+(y<<1)>>1]|0;E=e[d+(h<<1)>>1]|0;D=e[d+(i<<1)>>1]|0;c=e[d+(j<<1)>>1]|0;A=e[d+(k<<1)>>1]|0;B=e[d+(l<<1)>>1]|0;a=e[d+(m<<1)>>1]|0;C=e[d+(n<<1)>>1]|0;L=(e[d+(v<<1)>>1]|0)+16+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>5;b[f>>1]=L>>>0<16384?L:0-L>>31&16383;K=K+16+E+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>5;b[f+(z<<1)>>1]=K>>>0<16384?K:0-K>>31&16383;J=J+16+D+((F+G|0)*20|0)+(H(E+I|0,-5)|0)>>5;b[f+(o<<1)>>1]=J>>>0<16384?J:0-J>>31&16383;I=I+16+c+((E+F|0)*20|0)+(H(D+G|0,-5)|0)>>5;b[f+(p<<1)>>1]=I>>>0<16384?I:0-I>>31&16383;G=G+16+A+((D+E|0)*20|0)+(H(c+F|0,-5)|0)>>5;b[f+(q<<1)>>1]=G>>>0<16384?G:0-G>>31&16383;F=F+16+B+((c+D|0)*20|0)+(H(A+E|0,-5)|0)>>5;b[f+(r<<1)>>1]=F>>>0<16384?F:0-F>>31&16383;E=E+16+a+((A+c|0)*20|0)+(H(B+D|0,-5)|0)>>5;b[f+(s<<1)>>1]=E>>>0<16384?E:0-E>>31&16383;c=D+16+C+((B+A|0)*20|0)+(H(a+c|0,-5)|0)>>5;b[f+(t<<1)>>1]=c>>>0<16384?c:0-c>>31&16383;g=g+1|0;f=f+2|0;d=d+2|0}return}function XF(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;j=0;while(1){if((j|0)>=(i|0))break;p=H(j,g)|0;s=b+p|0;t=s;s=s+4|0;m=H(j,h)|0;l=e+m|0;r=l;l=l+4|0;k=H(j,f)|0;q=a+k|0;o=q;n=c[o>>2]|0;o=c[o+4>>2]|0;l=PE(d[t>>0]|d[t+1>>0]<<8|d[t+2>>0]<<16|d[t+3>>0]<<24,d[s>>0]|d[s+1>>0]<<8|d[s+2>>0]<<16|d[s+3>>0]<<24,d[r>>0]|d[r+1>>0]<<8|d[r+2>>0]<<16|d[r+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24)|0;l=PE(n,o,l,M()|0)|0;o=M()|0;c[q>>2]=l;c[q+4>>2]=o;p=b+(p+8)|0;q=p;p=p+4|0;m=e+(m+8)|0;o=m;m=m+4|0;k=a+(k+8)|0;l=k;n=c[l>>2]|0;l=c[l+4>>2]|0;m=PE(d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24,d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24,d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24)|0;m=PE(n,l,m,M()|0)|0;l=M()|0;c[k>>2]=m;c[k+4>>2]=l;j=j+1|0}return}function YF(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0;k=h>>1;A=g*13|0;i=c;j=0;h=d+(0-(k<<1)<<1)|0;while(1){if((j|0)==13)break;x=h+2|0;y=h+-2|0;w=h+4|0;u=H((e[w>>1]|0)+(e[y>>1]|0)|0,-5)|0;v=h+6|0;b[i>>1]=(((e[x>>1]|0)+(e[h>>1]|0)|0)*20|0)+(e[h+-4>>1]|0)+u+(e[v>>1]|0);u=H((e[v>>1]|0)+(e[h>>1]|0)|0,-5)|0;t=h+8|0;b[i+2>>1]=(((e[w>>1]|0)+(e[x>>1]|0)|0)*20|0)+(e[y>>1]|0)+u+(e[t>>1]|0);u=H((e[t>>1]|0)+(e[x>>1]|0)|0,-5)|0;y=h+10|0;b[i+4>>1]=(((e[v>>1]|0)+(e[w>>1]|0)|0)*20|0)+(e[h>>1]|0)+u+(e[y>>1]|0);u=H((e[y>>1]|0)+(e[w>>1]|0)|0,-5)|0;z=h+12|0;b[i+6>>1]=(((e[t>>1]|0)+(e[v>>1]|0)|0)*20|0)+(e[x>>1]|0)+u+(e[z>>1]|0);u=H((e[z>>1]|0)+(e[v>>1]|0)|0,-5)|0;x=h+14|0;b[i+8>>1]=(((e[y>>1]|0)+(e[t>>1]|0)|0)*20|0)+(e[w>>1]|0)+u+(e[x>>1]|0);u=H((e[x>>1]|0)+(e[t>>1]|0)|0,-5)|0;w=h+16|0;b[i+10>>1]=(((e[z>>1]|0)+(e[y>>1]|0)|0)*20|0)+(e[v>>1]|0)+u+(e[w>>1]|0);u=H((e[w>>1]|0)+(e[y>>1]|0)|0,-5)|0;v=h+18|0;b[i+12>>1]=(((e[x>>1]|0)+(e[z>>1]|0)|0)*20|0)+(e[t>>1]|0)+u+(e[v>>1]|0);z=H((e[v>>1]|0)+(e[z>>1]|0)|0,-5)|0;b[i+14>>1]=(((e[w>>1]|0)+(e[x>>1]|0)|0)*20|0)+(e[y>>1]|0)+z+(e[h+20>>1]|0);i=i+(g<<1)|0;j=j+1|0;h=h+(k<<1)|0}d=f>>1;k=H(g,-2)|0;f=0-g|0;l=g<<1;m=g*3|0;n=g<<2;o=g*5|0;p=g*6|0;q=g*7|0;r=g<<3;s=g*9|0;t=g*10|0;u=d<<1;v=d*3|0;w=d<<2;x=d*5|0;y=d*6|0;z=d*7|0;j=a;h=c+(A<<1)+((H(g,-11)|0)<<1)|0;i=0;while(1){if((i|0)==8)break;K=b[h+(f<<1)>>1]|0;J=b[h>>1]|0;I=b[h+(g<<1)>>1]|0;G=b[h+(l<<1)>>1]|0;F=b[h+(m<<1)>>1]|0;E=b[h+(n<<1)>>1]|0;D=b[h+(o<<1)>>1]|0;c=b[h+(p<<1)>>1]|0;a=b[h+(q<<1)>>1]|0;B=b[h+(r<<1)>>1]|0;A=b[h+(s<<1)>>1]|0;C=b[h+(t<<1)>>1]|0;L=(b[h+(k<<1)>>1]|0)+512+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>10;b[j>>1]=L>>>0<512?L:0-L>>31&511;K=K+512+E+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>10;b[j+(d<<1)>>1]=K>>>0<512?K:0-K>>31&511;J=J+512+D+((F+G|0)*20|0)+(H(E+I|0,-5)|0)>>10;b[j+(u<<1)>>1]=J>>>0<512?J:0-J>>31&511;I=I+512+c+((E+F|0)*20|0)+(H(D+G|0,-5)|0)>>10;b[j+(v<<1)>>1]=I>>>0<512?I:0-I>>31&511;G=G+512+a+((D+E|0)*20|0)+(H(c+F|0,-5)|0)>>10;b[j+(w<<1)>>1]=G>>>0<512?G:0-G>>31&511;F=F+512+B+((c+D|0)*20|0)+(H(a+E|0,-5)|0)>>10;b[j+(x<<1)>>1]=F>>>0<512?F:0-F>>31&511;E=E+512+A+((a+c|0)*20|0)+(H(B+D|0,-5)|0)>>10;b[j+(y<<1)>>1]=E>>>0<512?E:0-E>>31&511;c=D+512+C+((B+a|0)*20|0)+(H(A+c|0,-5)|0)>>10;b[j+(z<<1)>>1]=c>>>0<512?c:0-c>>31&511;j=j+2|0;h=h+2|0;i=i+1|0}return}function ZF(c,e,f,g,h,i){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0;B=h*13|0;j=e;k=0;f=f+(0-(i<<1))|0;while(1){if((k|0)==13)break;y=f+1|0;z=f+-1|0;x=f+2|0;v=H((d[x>>0]|0)+(d[z>>0]|0)|0,-5)|0;w=f+3|0;b[j>>1]=(((d[y>>0]|0)+(d[f>>0]|0)|0)*20|0)+(d[f+-2>>0]|0)+v+(d[w>>0]|0);v=H((d[w>>0]|0)+(d[f>>0]|0)|0,-5)|0;u=f+4|0;b[j+2>>1]=(((d[x>>0]|0)+(d[y>>0]|0)|0)*20|0)+(d[z>>0]|0)+v+(d[u>>0]|0);v=H((d[u>>0]|0)+(d[y>>0]|0)|0,-5)|0;z=f+5|0;b[j+4>>1]=(((d[w>>0]|0)+(d[x>>0]|0)|0)*20|0)+(d[f>>0]|0)+v+(d[z>>0]|0);v=H((d[z>>0]|0)+(d[x>>0]|0)|0,-5)|0;A=f+6|0;b[j+6>>1]=(((d[u>>0]|0)+(d[w>>0]|0)|0)*20|0)+(d[y>>0]|0)+v+(d[A>>0]|0);v=H((d[A>>0]|0)+(d[w>>0]|0)|0,-5)|0;y=f+7|0;b[j+8>>1]=(((d[z>>0]|0)+(d[u>>0]|0)|0)*20|0)+(d[x>>0]|0)+v+(d[y>>0]|0);v=H((d[y>>0]|0)+(d[u>>0]|0)|0,-5)|0;x=f+8|0;b[j+10>>1]=(((d[A>>0]|0)+(d[z>>0]|0)|0)*20|0)+(d[w>>0]|0)+v+(d[x>>0]|0);v=H((d[x>>0]|0)+(d[z>>0]|0)|0,-5)|0;w=f+9|0;b[j+12>>1]=(((d[y>>0]|0)+(d[A>>0]|0)|0)*20|0)+(d[u>>0]|0)+v+(d[w>>0]|0);A=H((d[w>>0]|0)+(d[A>>0]|0)|0,-5)|0;b[j+14>>1]=(((d[x>>0]|0)+(d[y>>0]|0)|0)*20|0)+(d[z>>0]|0)+A+(d[f+10>>0]|0);j=j+(h<<1)|0;k=k+1|0;f=f+i|0}i=H(h,-2)|0;l=0-h|0;m=h<<1;n=h*3|0;o=h<<2;p=h*5|0;q=h*6|0;r=h*7|0;s=h<<3;t=h*9|0;u=h*10|0;v=g<<1;w=g*3|0;x=g<<2;y=g*5|0;z=g*6|0;A=g*7|0;k=c;f=e+(B<<1)+((H(h,-11)|0)<<1)|0;j=0;while(1){if((j|0)==8)break;L=b[f+(l<<1)>>1]|0;K=b[f>>1]|0;J=b[f+(h<<1)>>1]|0;I=b[f+(m<<1)>>1]|0;G=b[f+(n<<1)>>1]|0;F=b[f+(o<<1)>>1]|0;E=b[f+(p<<1)>>1]|0;B=b[f+(q<<1)>>1]|0;c=b[f+(r<<1)>>1]|0;C=b[f+(s<<1)>>1]|0;e=b[f+(t<<1)>>1]|0;D=b[f+(u<<1)>>1]|0;M=(b[f+(i<<1)>>1]|0)+512+G+((J+K|0)*20|0)+(H(I+L|0,-5)|0)>>10;a[k>>0]=M>>>0>255?(M^-2147483648)>>31:M;L=L+512+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>10;a[k+g>>0]=L>>>0>255?(L^-2147483648)>>31:L;K=K+512+E+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>10;a[k+v>>0]=K>>>0>255?(K^-2147483648)>>31:K;J=J+512+B+((F+G|0)*20|0)+(H(E+I|0,-5)|0)>>10;a[k+w>>0]=J>>>0>255?(J^-2147483648)>>31:J;I=I+512+c+((E+F|0)*20|0)+(H(B+G|0,-5)|0)>>10;a[k+x>>0]=I>>>0>255?(I^-2147483648)>>31:I;G=G+512+C+((B+E|0)*20|0)+(H(c+F|0,-5)|0)>>10;a[k+y>>0]=G>>>0>255?(G^-2147483648)>>31:G;F=F+512+e+((c+B|0)*20|0)+(H(C+E|0,-5)|0)>>10;a[k+z>>0]=F>>>0>255?(F^-2147483648)>>31:F;B=E+512+D+((C+c|0)*20|0)+(H(e+B|0,-5)|0)>>10;a[k+A>>0]=B>>>0>255?(B^-2147483648)>>31:B;k=k+1|0;f=f+2|0;j=j+1|0}return}function _F(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;k=h>>1;A=g*13|0;i=c;j=0;h=d+(0-(k<<1)<<1)|0;while(1){if((j|0)==13)break;x=h+2|0;y=h+-2|0;w=h+4|0;u=H((e[w>>1]|0)+(e[y>>1]|0)|0,-5)|0;v=h+6|0;b[i>>1]=(((e[x>>1]|0)+(e[h>>1]|0)|0)*20|0)+55306+(e[h+-4>>1]|0)+u+(e[v>>1]|0);u=H((e[v>>1]|0)+(e[h>>1]|0)|0,-5)|0;t=h+8|0;b[i+2>>1]=(((e[w>>1]|0)+(e[x>>1]|0)|0)*20|0)+55306+(e[y>>1]|0)+u+(e[t>>1]|0);u=H((e[t>>1]|0)+(e[x>>1]|0)|0,-5)|0;y=h+10|0;b[i+4>>1]=(((e[v>>1]|0)+(e[w>>1]|0)|0)*20|0)+55306+(e[h>>1]|0)+u+(e[y>>1]|0);u=H((e[y>>1]|0)+(e[w>>1]|0)|0,-5)|0;z=h+12|0;b[i+6>>1]=(((e[t>>1]|0)+(e[v>>1]|0)|0)*20|0)+55306+(e[x>>1]|0)+u+(e[z>>1]|0);u=H((e[z>>1]|0)+(e[v>>1]|0)|0,-5)|0;x=h+14|0;b[i+8>>1]=(((e[y>>1]|0)+(e[t>>1]|0)|0)*20|0)+55306+(e[w>>1]|0)+u+(e[x>>1]|0);u=H((e[x>>1]|0)+(e[t>>1]|0)|0,-5)|0;w=h+16|0;b[i+10>>1]=(((e[z>>1]|0)+(e[y>>1]|0)|0)*20|0)+55306+(e[v>>1]|0)+u+(e[w>>1]|0);u=H((e[w>>1]|0)+(e[y>>1]|0)|0,-5)|0;v=h+18|0;b[i+12>>1]=(((e[x>>1]|0)+(e[z>>1]|0)|0)*20|0)+55306+(e[t>>1]|0)+u+(e[v>>1]|0);z=H((e[v>>1]|0)+(e[z>>1]|0)|0,-5)|0;b[i+14>>1]=(((e[w>>1]|0)+(e[x>>1]|0)|0)*20|0)+55306+(e[y>>1]|0)+z+(e[h+20>>1]|0);i=i+(g<<1)|0;j=j+1|0;h=h+(k<<1)|0}d=f>>1;k=H(g,-2)|0;f=0-g|0;l=g<<1;m=g*3|0;n=g<<2;o=g*5|0;p=g*6|0;q=g*7|0;r=g<<3;s=g*9|0;t=g*10|0;u=d<<1;v=d*3|0;w=d<<2;x=d*5|0;y=d*6|0;z=d*7|0;j=a;h=c+(A<<1)+((H(g,-11)|0)<<1)|0;i=0;while(1){if((i|0)==8)break;Q=b[h+(f<<1)>>1]|0;O=b[h>>1]|0;P=O+10230|0;M=b[h+(g<<1)>>1]|0;N=M+10230|0;K=b[h+(l<<1)>>1]|0;L=K+10230|0;I=b[h+(m<<1)>>1]|0;J=I+10230|0;F=b[h+(n<<1)>>1]|0;G=F+10230|0;D=b[h+(o<<1)>>1]|0;E=D+10230|0;c=(b[h+(p<<1)>>1]|0)+10230|0;a=(b[h+(q<<1)>>1]|0)+10230|0;B=(b[h+(r<<1)>>1]|0)+10230|0;A=(b[h+(s<<1)>>1]|0)+10230|0;C=b[h+(t<<1)>>1]|0;R=(b[h+(k<<1)>>1]|0)+10742+J+((N+P|0)*20|0)+(H(L+(Q+10230)|0,-5)|0)>>10;b[j>>1]=R>>>0<1024?R:0-R>>31&1023;P=Q+10742+G+((L+N|0)*20|0)+(H(J+P|0,-5)|0)>>10;b[j+(d<<1)>>1]=P>>>0<1024?P:0-P>>31&1023;N=O+10742+E+((J+L|0)*20|0)+(H(G+N|0,-5)|0)>>10;b[j+(u<<1)>>1]=N>>>0<1024?N:0-N>>31&1023;L=M+10742+c+((G+J|0)*20|0)+(H(E+L|0,-5)|0)>>10;b[j+(v<<1)>>1]=L>>>0<1024?L:0-L>>31&1023;J=K+10742+a+((E+G|0)*20|0)+(H(c+J|0,-5)|0)>>10;b[j+(w<<1)>>1]=J>>>0<1024?J:0-J>>31&1023;G=I+10742+B+((c+E|0)*20|0)+(H(a+G|0,-5)|0)>>10;b[j+(x<<1)>>1]=G>>>0<1024?G:0-G>>31&1023;E=F+10742+A+((a+c|0)*20|0)+(H(B+E|0,-5)|0)>>10;b[j+(y<<1)>>1]=E>>>0<1024?E:0-E>>31&1023;c=D+20972+C+((B+a|0)*20|0)+(H(A+c|0,-5)|0)>>10;b[j+(z<<1)>>1]=c>>>0<1024?c:0-c>>31&1023;j=j+2|0;h=h+2|0;i=i+1|0}return}function $F(a,d,f,g,h,i){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0;l=i>>1;B=h*13|0;j=d;k=0;i=f+(0-(l<<1)<<1)|0;while(1){if((k|0)==13)break;A=e[i>>1]|0;y=e[i+2>>1]|0;z=e[i+-2>>1]|0;x=e[i+4>>1]|0;v=H(x+z|0,-5)|0;w=e[i+6>>1]|0;c[j>>2]=((y+A|0)*20|0)+(e[i+-4>>1]|0)+v+w;v=H(w+A|0,-5)|0;u=e[i+8>>1]|0;c[j+4>>2]=((x+y|0)*20|0)+z+v+u;v=H(u+y|0,-5)|0;z=e[i+10>>1]|0;c[j+8>>2]=((w+x|0)*20|0)+A+v+z;v=H(z+x|0,-5)|0;A=e[i+12>>1]|0;c[j+12>>2]=((u+w|0)*20|0)+y+v+A;v=H(A+w|0,-5)|0;y=e[i+14>>1]|0;c[j+16>>2]=((z+u|0)*20|0)+x+v+y;v=H(y+u|0,-5)|0;x=e[i+16>>1]|0;c[j+20>>2]=((A+z|0)*20|0)+w+v+x;v=H(x+z|0,-5)|0;w=e[i+18>>1]|0;c[j+24>>2]=((y+A|0)*20|0)+u+v+w;A=H(w+A|0,-5)|0;c[j+28>>2]=((x+y|0)*20|0)+z+A+(e[i+20>>1]|0);j=j+(h<<2)|0;k=k+1|0;i=i+(l<<1)|0}f=g>>1;l=H(h,-2)|0;g=0-h|0;m=h<<1;n=h*3|0;o=h<<2;p=h*5|0;q=h*6|0;r=h*7|0;s=h<<3;t=h*9|0;u=h*10|0;v=f<<1;w=f*3|0;x=f<<2;y=f*5|0;z=f*6|0;A=f*7|0;k=a;i=d+(B<<2)+((H(h,-11)|0)<<2)|0;j=0;while(1){if((j|0)==8)break;L=c[i+(g<<2)>>2]|0;K=c[i>>2]|0;J=c[i+(h<<2)>>2]|0;I=c[i+(m<<2)>>2]|0;G=c[i+(n<<2)>>2]|0;F=c[i+(o<<2)>>2]|0;E=c[i+(p<<2)>>2]|0;d=c[i+(q<<2)>>2]|0;a=c[i+(r<<2)>>2]|0;C=c[i+(s<<2)>>2]|0;B=c[i+(t<<2)>>2]|0;D=c[i+(u<<2)>>2]|0;M=(c[i+(l<<2)>>2]|0)+512+G+((J+K|0)*20|0)+(H(I+L|0,-5)|0)>>10;b[k>>1]=M>>>0<4096?M:0-M>>31&4095;L=L+512+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>10;b[k+(f<<1)>>1]=L>>>0<4096?L:0-L>>31&4095;K=K+512+E+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>10;b[k+(v<<1)>>1]=K>>>0<4096?K:0-K>>31&4095;J=J+512+d+((F+G|0)*20|0)+(H(E+I|0,-5)|0)>>10;b[k+(w<<1)>>1]=J>>>0<4096?J:0-J>>31&4095;I=I+512+a+((E+F|0)*20|0)+(H(d+G|0,-5)|0)>>10;b[k+(x<<1)>>1]=I>>>0<4096?I:0-I>>31&4095;G=G+512+C+((d+E|0)*20|0)+(H(a+F|0,-5)|0)>>10;b[k+(y<<1)>>1]=G>>>0<4096?G:0-G>>31&4095;F=F+512+B+((a+d|0)*20|0)+(H(C+E|0,-5)|0)>>10;b[k+(z<<1)>>1]=F>>>0<4096?F:0-F>>31&4095;d=E+512+D+((C+a|0)*20|0)+(H(B+d|0,-5)|0)>>10;b[k+(A<<1)>>1]=d>>>0<4096?d:0-d>>31&4095;k=k+2|0;i=i+4|0;j=j+1|0}return}function aG(a,d,f,g,h,i){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0;l=i>>1;B=h*13|0;j=d;k=0;i=f+(0-(l<<1)<<1)|0;while(1){if((k|0)==13)break;A=e[i>>1]|0;y=e[i+2>>1]|0;z=e[i+-2>>1]|0;x=e[i+4>>1]|0;v=H(x+z|0,-5)|0;w=e[i+6>>1]|0;c[j>>2]=((y+A|0)*20|0)+(e[i+-4>>1]|0)+v+w;v=H(w+A|0,-5)|0;u=e[i+8>>1]|0;c[j+4>>2]=((x+y|0)*20|0)+z+v+u;v=H(u+y|0,-5)|0;z=e[i+10>>1]|0;c[j+8>>2]=((w+x|0)*20|0)+A+v+z;v=H(z+x|0,-5)|0;A=e[i+12>>1]|0;c[j+12>>2]=((u+w|0)*20|0)+y+v+A;v=H(A+w|0,-5)|0;y=e[i+14>>1]|0;c[j+16>>2]=((z+u|0)*20|0)+x+v+y;v=H(y+u|0,-5)|0;x=e[i+16>>1]|0;c[j+20>>2]=((A+z|0)*20|0)+w+v+x;v=H(x+z|0,-5)|0;w=e[i+18>>1]|0;c[j+24>>2]=((y+A|0)*20|0)+u+v+w;A=H(w+A|0,-5)|0;c[j+28>>2]=((x+y|0)*20|0)+z+A+(e[i+20>>1]|0);j=j+(h<<2)|0;k=k+1|0;i=i+(l<<1)|0}f=g>>1;l=H(h,-2)|0;g=0-h|0;m=h<<1;n=h*3|0;o=h<<2;p=h*5|0;q=h*6|0;r=h*7|0;s=h<<3;t=h*9|0;u=h*10|0;v=f<<1;w=f*3|0;x=f<<2;y=f*5|0;z=f*6|0;A=f*7|0;k=a;i=d+(B<<2)+((H(h,-11)|0)<<2)|0;j=0;while(1){if((j|0)==8)break;L=c[i+(g<<2)>>2]|0;K=c[i>>2]|0;J=c[i+(h<<2)>>2]|0;I=c[i+(m<<2)>>2]|0;G=c[i+(n<<2)>>2]|0;F=c[i+(o<<2)>>2]|0;E=c[i+(p<<2)>>2]|0;d=c[i+(q<<2)>>2]|0;a=c[i+(r<<2)>>2]|0;C=c[i+(s<<2)>>2]|0;B=c[i+(t<<2)>>2]|0;D=c[i+(u<<2)>>2]|0;M=(c[i+(l<<2)>>2]|0)+512+G+((J+K|0)*20|0)+(H(I+L|0,-5)|0)>>10;b[k>>1]=M>>>0<16384?M:0-M>>31&16383;L=L+512+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>10;b[k+(f<<1)>>1]=L>>>0<16384?L:0-L>>31&16383;K=K+512+E+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>10;b[k+(v<<1)>>1]=K>>>0<16384?K:0-K>>31&16383;J=J+512+d+((F+G|0)*20|0)+(H(E+I|0,-5)|0)>>10;b[k+(w<<1)>>1]=J>>>0<16384?J:0-J>>31&16383;I=I+512+a+((E+F|0)*20|0)+(H(d+G|0,-5)|0)>>10;b[k+(x<<1)>>1]=I>>>0<16384?I:0-I>>31&16383;G=G+512+C+((d+E|0)*20|0)+(H(a+F|0,-5)|0)>>10;b[k+(y<<1)>>1]=G>>>0<16384?G:0-G>>31&16383;F=F+512+B+((a+d|0)*20|0)+(H(C+E|0,-5)|0)>>10;b[k+(z<<1)>>1]=F>>>0<16384?F:0-F>>31&16383;d=E+512+D+((C+a|0)*20|0)+(H(B+d|0,-5)|0)>>10;b[k+(A<<1)>>1]=d>>>0<16384?d:0-d>>31&16383;k=k+2|0;i=i+4|0;j=j+1|0}return}function bG(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0;k=h>>1;A=g*13|0;i=c;j=0;h=d+(0-(k<<1)<<1)|0;while(1){if((j|0)==13)break;x=h+2|0;y=h+-2|0;w=h+4|0;u=H((e[w>>1]|0)+(e[y>>1]|0)|0,-5)|0;v=h+6|0;b[i>>1]=(((e[x>>1]|0)+(e[h>>1]|0)|0)*20|0)+(e[h+-4>>1]|0)+u+(e[v>>1]|0);u=H((e[v>>1]|0)+(e[h>>1]|0)|0,-5)|0;t=h+8|0;b[i+2>>1]=(((e[w>>1]|0)+(e[x>>1]|0)|0)*20|0)+(e[y>>1]|0)+u+(e[t>>1]|0);u=H((e[t>>1]|0)+(e[x>>1]|0)|0,-5)|0;y=h+10|0;b[i+4>>1]=(((e[v>>1]|0)+(e[w>>1]|0)|0)*20|0)+(e[h>>1]|0)+u+(e[y>>1]|0);u=H((e[y>>1]|0)+(e[w>>1]|0)|0,-5)|0;z=h+12|0;b[i+6>>1]=(((e[t>>1]|0)+(e[v>>1]|0)|0)*20|0)+(e[x>>1]|0)+u+(e[z>>1]|0);u=H((e[z>>1]|0)+(e[v>>1]|0)|0,-5)|0;x=h+14|0;b[i+8>>1]=(((e[y>>1]|0)+(e[t>>1]|0)|0)*20|0)+(e[w>>1]|0)+u+(e[x>>1]|0);u=H((e[x>>1]|0)+(e[t>>1]|0)|0,-5)|0;w=h+16|0;b[i+10>>1]=(((e[z>>1]|0)+(e[y>>1]|0)|0)*20|0)+(e[v>>1]|0)+u+(e[w>>1]|0);u=H((e[w>>1]|0)+(e[y>>1]|0)|0,-5)|0;v=h+18|0;b[i+12>>1]=(((e[x>>1]|0)+(e[z>>1]|0)|0)*20|0)+(e[t>>1]|0)+u+(e[v>>1]|0);z=H((e[v>>1]|0)+(e[z>>1]|0)|0,-5)|0;b[i+14>>1]=(((e[w>>1]|0)+(e[x>>1]|0)|0)*20|0)+(e[y>>1]|0)+z+(e[h+20>>1]|0);i=i+(g<<1)|0;j=j+1|0;h=h+(k<<1)|0}d=f>>1;k=H(g,-2)|0;f=0-g|0;l=g<<1;m=g*3|0;n=g<<2;o=g*5|0;p=g*6|0;q=g*7|0;r=g<<3;s=g*9|0;t=g*10|0;u=d<<1;v=d*3|0;w=d<<2;x=d*5|0;y=d*6|0;z=d*7|0;j=a;h=c+(A<<1)+((H(g,-11)|0)<<1)|0;i=0;while(1){if((i|0)==8)break;L=b[h+(f<<1)>>1]|0;K=b[h>>1]|0;J=b[h+(g<<1)>>1]|0;I=b[h+(l<<1)>>1]|0;G=b[h+(m<<1)>>1]|0;F=b[h+(n<<1)>>1]|0;E=b[h+(o<<1)>>1]|0;A=b[h+(p<<1)>>1]|0;B=b[h+(q<<1)>>1]|0;C=b[h+(r<<1)>>1]|0;a=b[h+(s<<1)>>1]|0;D=b[h+(t<<1)>>1]|0;c=(b[h+(k<<1)>>1]|0)+512+G+((J+K|0)*20|0)+(H(I+L|0,-5)|0)>>10;b[j>>1]=((e[j>>1]|0)+1+(c>>>0<512?c:0-c>>31&511)|0)>>>1;c=j+(d<<1)|0;L=L+512+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>10;b[c>>1]=((L>>>0<512?L:0-L>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=j+(u<<1)|0;K=K+512+E+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>10;b[c>>1]=((K>>>0<512?K:0-K>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=j+(v<<1)|0;J=J+512+A+((F+G|0)*20|0)+(H(E+I|0,-5)|0)>>10;b[c>>1]=((J>>>0<512?J:0-J>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=j+(w<<1)|0;I=I+512+B+((E+F|0)*20|0)+(H(A+G|0,-5)|0)>>10;b[c>>1]=((I>>>0<512?I:0-I>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=j+(x<<1)|0;G=G+512+C+((A+E|0)*20|0)+(H(B+F|0,-5)|0)>>10;b[c>>1]=((G>>>0<512?G:0-G>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=j+(y<<1)|0;F=F+512+a+((B+A|0)*20|0)+(H(C+E|0,-5)|0)>>10;b[c>>1]=((F>>>0<512?F:0-F>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=j+(z<<1)|0;A=E+512+D+((C+B|0)*20|0)+(H(a+A|0,-5)|0)>>10;b[c>>1]=((A>>>0<512?A:0-A>>31&511)+1+(e[c>>1]|0)|0)>>>1;j=j+2|0;h=h+2|0;i=i+1|0}return}function cG(c,e,f,g,h,i){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0;B=h*13|0;j=e;k=0;f=f+(0-(i<<1))|0;while(1){if((k|0)==13)break;y=f+1|0;z=f+-1|0;x=f+2|0;v=H((d[x>>0]|0)+(d[z>>0]|0)|0,-5)|0;w=f+3|0;b[j>>1]=(((d[y>>0]|0)+(d[f>>0]|0)|0)*20|0)+(d[f+-2>>0]|0)+v+(d[w>>0]|0);v=H((d[w>>0]|0)+(d[f>>0]|0)|0,-5)|0;u=f+4|0;b[j+2>>1]=(((d[x>>0]|0)+(d[y>>0]|0)|0)*20|0)+(d[z>>0]|0)+v+(d[u>>0]|0);v=H((d[u>>0]|0)+(d[y>>0]|0)|0,-5)|0;z=f+5|0;b[j+4>>1]=(((d[w>>0]|0)+(d[x>>0]|0)|0)*20|0)+(d[f>>0]|0)+v+(d[z>>0]|0);v=H((d[z>>0]|0)+(d[x>>0]|0)|0,-5)|0;A=f+6|0;b[j+6>>1]=(((d[u>>0]|0)+(d[w>>0]|0)|0)*20|0)+(d[y>>0]|0)+v+(d[A>>0]|0);v=H((d[A>>0]|0)+(d[w>>0]|0)|0,-5)|0;y=f+7|0;b[j+8>>1]=(((d[z>>0]|0)+(d[u>>0]|0)|0)*20|0)+(d[x>>0]|0)+v+(d[y>>0]|0);v=H((d[y>>0]|0)+(d[u>>0]|0)|0,-5)|0;x=f+8|0;b[j+10>>1]=(((d[A>>0]|0)+(d[z>>0]|0)|0)*20|0)+(d[w>>0]|0)+v+(d[x>>0]|0);v=H((d[x>>0]|0)+(d[z>>0]|0)|0,-5)|0;w=f+9|0;b[j+12>>1]=(((d[y>>0]|0)+(d[A>>0]|0)|0)*20|0)+(d[u>>0]|0)+v+(d[w>>0]|0);A=H((d[w>>0]|0)+(d[A>>0]|0)|0,-5)|0;b[j+14>>1]=(((d[x>>0]|0)+(d[y>>0]|0)|0)*20|0)+(d[z>>0]|0)+A+(d[f+10>>0]|0);j=j+(h<<1)|0;k=k+1|0;f=f+i|0}i=H(h,-2)|0;l=0-h|0;m=h<<1;n=h*3|0;o=h<<2;p=h*5|0;q=h*6|0;r=h*7|0;s=h<<3;t=h*9|0;u=h*10|0;v=g<<1;w=g*3|0;x=g<<2;y=g*5|0;z=g*6|0;A=g*7|0;k=c;f=e+(B<<1)+((H(h,-11)|0)<<1)|0;j=0;while(1){if((j|0)==8)break;M=b[f+(l<<1)>>1]|0;L=b[f>>1]|0;K=b[f+(h<<1)>>1]|0;J=b[f+(m<<1)>>1]|0;I=b[f+(n<<1)>>1]|0;G=b[f+(o<<1)>>1]|0;F=b[f+(p<<1)>>1]|0;e=b[f+(q<<1)>>1]|0;C=b[f+(r<<1)>>1]|0;D=b[f+(s<<1)>>1]|0;c=b[f+(t<<1)>>1]|0;E=b[f+(u<<1)>>1]|0;B=(b[f+(i<<1)>>1]|0)+512+I+((K+L|0)*20|0)+(H(J+M|0,-5)|0)>>10;a[k>>0]=((d[k>>0]|0)+1+((B>>>0>255?(B^-2147483648)>>31:B)&255)|0)>>>1;B=k+g|0;M=M+512+G+((J+K|0)*20|0)+(H(I+L|0,-5)|0)>>10;a[B>>0]=((d[B>>0]|0)+1+((M>>>0>255?(M^-2147483648)>>31:M)&255)|0)>>>1;B=k+v|0;L=L+512+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>10;a[B>>0]=(((L>>>0>255?(L^-2147483648)>>31:L)&255)+1+(d[B>>0]|0)|0)>>>1;B=k+w|0;K=K+512+e+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>10;a[B>>0]=(((K>>>0>255?(K^-2147483648)>>31:K)&255)+1+(d[B>>0]|0)|0)>>>1;B=k+x|0;J=J+512+C+((F+G|0)*20|0)+(H(e+I|0,-5)|0)>>10;a[B>>0]=(((J>>>0>255?(J^-2147483648)>>31:J)&255)+1+(d[B>>0]|0)|0)>>>1;B=k+y|0;I=I+512+D+((e+F|0)*20|0)+(H(C+G|0,-5)|0)>>10;a[B>>0]=(((I>>>0>255?(I^-2147483648)>>31:I)&255)+1+(d[B>>0]|0)|0)>>>1;B=k+z|0;G=G+512+c+((C+e|0)*20|0)+(H(D+F|0,-5)|0)>>10;a[B>>0]=(((G>>>0>255?(G^-2147483648)>>31:G)&255)+1+(d[B>>0]|0)|0)>>>1;B=k+A|0;e=F+512+E+((D+C|0)*20|0)+(H(c+e|0,-5)|0)>>10;a[B>>0]=(((e>>>0>255?(e^-2147483648)>>31:e)&255)+1+(d[B>>0]|0)|0)>>>1;k=k+1|0;f=f+2|0;j=j+1|0}return}function dG(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;k=h>>1;A=g*13|0;i=c;j=0;h=d+(0-(k<<1)<<1)|0;while(1){if((j|0)==13)break;x=h+2|0;y=h+-2|0;w=h+4|0;u=H((e[w>>1]|0)+(e[y>>1]|0)|0,-5)|0;v=h+6|0;b[i>>1]=(((e[x>>1]|0)+(e[h>>1]|0)|0)*20|0)+55306+(e[h+-4>>1]|0)+u+(e[v>>1]|0);u=H((e[v>>1]|0)+(e[h>>1]|0)|0,-5)|0;t=h+8|0;b[i+2>>1]=(((e[w>>1]|0)+(e[x>>1]|0)|0)*20|0)+55306+(e[y>>1]|0)+u+(e[t>>1]|0);u=H((e[t>>1]|0)+(e[x>>1]|0)|0,-5)|0;y=h+10|0;b[i+4>>1]=(((e[v>>1]|0)+(e[w>>1]|0)|0)*20|0)+55306+(e[h>>1]|0)+u+(e[y>>1]|0);u=H((e[y>>1]|0)+(e[w>>1]|0)|0,-5)|0;z=h+12|0;b[i+6>>1]=(((e[t>>1]|0)+(e[v>>1]|0)|0)*20|0)+55306+(e[x>>1]|0)+u+(e[z>>1]|0);u=H((e[z>>1]|0)+(e[v>>1]|0)|0,-5)|0;x=h+14|0;b[i+8>>1]=(((e[y>>1]|0)+(e[t>>1]|0)|0)*20|0)+55306+(e[w>>1]|0)+u+(e[x>>1]|0);u=H((e[x>>1]|0)+(e[t>>1]|0)|0,-5)|0;w=h+16|0;b[i+10>>1]=(((e[z>>1]|0)+(e[y>>1]|0)|0)*20|0)+55306+(e[v>>1]|0)+u+(e[w>>1]|0);u=H((e[w>>1]|0)+(e[y>>1]|0)|0,-5)|0;v=h+18|0;b[i+12>>1]=(((e[x>>1]|0)+(e[z>>1]|0)|0)*20|0)+55306+(e[t>>1]|0)+u+(e[v>>1]|0);z=H((e[v>>1]|0)+(e[z>>1]|0)|0,-5)|0;b[i+14>>1]=(((e[w>>1]|0)+(e[x>>1]|0)|0)*20|0)+55306+(e[y>>1]|0)+z+(e[h+20>>1]|0);i=i+(g<<1)|0;j=j+1|0;h=h+(k<<1)|0}d=f>>1;k=H(g,-2)|0;f=0-g|0;l=g<<1;m=g*3|0;n=g<<2;o=g*5|0;p=g*6|0;q=g*7|0;r=g<<3;s=g*9|0;t=g*10|0;u=d<<1;v=d*3|0;w=d<<2;x=d*5|0;y=d*6|0;z=d*7|0;j=a;h=c+(A<<1)+((H(g,-11)|0)<<1)|0;i=0;while(1){if((i|0)==8)break;R=b[h+(f<<1)>>1]|0;P=b[h>>1]|0;Q=P+10230|0;N=b[h+(g<<1)>>1]|0;O=N+10230|0;L=b[h+(l<<1)>>1]|0;M=L+10230|0;J=b[h+(m<<1)>>1]|0;K=J+10230|0;G=b[h+(n<<1)>>1]|0;I=G+10230|0;E=b[h+(o<<1)>>1]|0;F=E+10230|0;A=(b[h+(p<<1)>>1]|0)+10230|0;B=(b[h+(q<<1)>>1]|0)+10230|0;C=(b[h+(r<<1)>>1]|0)+10230|0;a=(b[h+(s<<1)>>1]|0)+10230|0;D=b[h+(t<<1)>>1]|0;c=(b[h+(k<<1)>>1]|0)+10742+K+((O+Q|0)*20|0)+(H(M+(R+10230)|0,-5)|0)>>10;b[j>>1]=((e[j>>1]|0)+1+(c>>>0<1024?c:0-c>>31&1023)|0)>>>1;c=j+(d<<1)|0;Q=R+10742+I+((M+O|0)*20|0)+(H(K+Q|0,-5)|0)>>10;b[c>>1]=((e[c>>1]|0)+1+(Q>>>0<1024?Q:0-Q>>31&1023)|0)>>>1;c=j+(u<<1)|0;O=P+10742+F+((K+M|0)*20|0)+(H(I+O|0,-5)|0)>>10;b[c>>1]=((O>>>0<1024?O:0-O>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=j+(v<<1)|0;M=N+10742+A+((I+K|0)*20|0)+(H(F+M|0,-5)|0)>>10;b[c>>1]=((M>>>0<1024?M:0-M>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=j+(w<<1)|0;K=L+10742+B+((F+I|0)*20|0)+(H(A+K|0,-5)|0)>>10;b[c>>1]=((K>>>0<1024?K:0-K>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=j+(x<<1)|0;I=J+10742+C+((A+F|0)*20|0)+(H(B+I|0,-5)|0)>>10;b[c>>1]=((I>>>0<1024?I:0-I>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=j+(y<<1)|0;F=G+10742+a+((B+A|0)*20|0)+(H(C+F|0,-5)|0)>>10;b[c>>1]=((F>>>0<1024?F:0-F>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=j+(z<<1)|0;A=E+20972+D+((C+B|0)*20|0)+(H(a+A|0,-5)|0)>>10;b[c>>1]=((A>>>0<1024?A:0-A>>31&1023)+1+(e[c>>1]|0)|0)>>>1;j=j+2|0;h=h+2|0;i=i+1|0}return}function eG(a,d,f,g,h,i){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0;l=i>>1;B=h*13|0;j=d;k=0;i=f+(0-(l<<1)<<1)|0;while(1){if((k|0)==13)break;A=e[i>>1]|0;y=e[i+2>>1]|0;z=e[i+-2>>1]|0;x=e[i+4>>1]|0;v=H(x+z|0,-5)|0;w=e[i+6>>1]|0;c[j>>2]=((y+A|0)*20|0)+(e[i+-4>>1]|0)+v+w;v=H(w+A|0,-5)|0;u=e[i+8>>1]|0;c[j+4>>2]=((x+y|0)*20|0)+z+v+u;v=H(u+y|0,-5)|0;z=e[i+10>>1]|0;c[j+8>>2]=((w+x|0)*20|0)+A+v+z;v=H(z+x|0,-5)|0;A=e[i+12>>1]|0;c[j+12>>2]=((u+w|0)*20|0)+y+v+A;v=H(A+w|0,-5)|0;y=e[i+14>>1]|0;c[j+16>>2]=((z+u|0)*20|0)+x+v+y;v=H(y+u|0,-5)|0;x=e[i+16>>1]|0;c[j+20>>2]=((A+z|0)*20|0)+w+v+x;v=H(x+z|0,-5)|0;w=e[i+18>>1]|0;c[j+24>>2]=((y+A|0)*20|0)+u+v+w;A=H(w+A|0,-5)|0;c[j+28>>2]=((x+y|0)*20|0)+z+A+(e[i+20>>1]|0);j=j+(h<<2)|0;k=k+1|0;i=i+(l<<1)|0}f=g>>1;l=H(h,-2)|0;g=0-h|0;m=h<<1;n=h*3|0;o=h<<2;p=h*5|0;q=h*6|0;r=h*7|0;s=h<<3;t=h*9|0;u=h*10|0;v=f<<1;w=f*3|0;x=f<<2;y=f*5|0;z=f*6|0;A=f*7|0;k=a;i=d+(B<<2)+((H(h,-11)|0)<<2)|0;j=0;while(1){if((j|0)==8)break;M=c[i+(g<<2)>>2]|0;L=c[i>>2]|0;K=c[i+(h<<2)>>2]|0;J=c[i+(m<<2)>>2]|0;I=c[i+(n<<2)>>2]|0;G=c[i+(o<<2)>>2]|0;F=c[i+(p<<2)>>2]|0;B=c[i+(q<<2)>>2]|0;C=c[i+(r<<2)>>2]|0;D=c[i+(s<<2)>>2]|0;a=c[i+(t<<2)>>2]|0;E=c[i+(u<<2)>>2]|0;d=(c[i+(l<<2)>>2]|0)+512+I+((K+L|0)*20|0)+(H(J+M|0,-5)|0)>>10;b[k>>1]=((d>>>0<4096?d:0-d>>31&4095)+1+(e[k>>1]|0)|0)>>>1;d=k+(f<<1)|0;M=M+512+G+((J+K|0)*20|0)+(H(I+L|0,-5)|0)>>10;b[d>>1]=((M>>>0<4096?M:0-M>>31&4095)+1+(e[d>>1]|0)|0)>>>1;d=k+(v<<1)|0;L=L+512+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>10;b[d>>1]=((L>>>0<4096?L:0-L>>31&4095)+1+(e[d>>1]|0)|0)>>>1;d=k+(w<<1)|0;K=K+512+B+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>10;b[d>>1]=((K>>>0<4096?K:0-K>>31&4095)+1+(e[d>>1]|0)|0)>>>1;d=k+(x<<1)|0;J=J+512+C+((F+G|0)*20|0)+(H(B+I|0,-5)|0)>>10;b[d>>1]=((J>>>0<4096?J:0-J>>31&4095)+1+(e[d>>1]|0)|0)>>>1;d=k+(y<<1)|0;I=I+512+D+((B+F|0)*20|0)+(H(C+G|0,-5)|0)>>10;b[d>>1]=((I>>>0<4096?I:0-I>>31&4095)+1+(e[d>>1]|0)|0)>>>1;d=k+(z<<1)|0;G=G+512+a+((C+B|0)*20|0)+(H(D+F|0,-5)|0)>>10;b[d>>1]=((G>>>0<4096?G:0-G>>31&4095)+1+(e[d>>1]|0)|0)>>>1;d=k+(A<<1)|0;B=F+512+E+((D+C|0)*20|0)+(H(a+B|0,-5)|0)>>10;b[d>>1]=((B>>>0<4096?B:0-B>>31&4095)+1+(e[d>>1]|0)|0)>>>1;k=k+2|0;i=i+4|0;j=j+1|0}return}function fG(a,d,f,g,h,i){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0;l=i>>1;B=h*13|0;j=d;k=0;i=f+(0-(l<<1)<<1)|0;while(1){if((k|0)==13)break;A=e[i>>1]|0;y=e[i+2>>1]|0;z=e[i+-2>>1]|0;x=e[i+4>>1]|0;v=H(x+z|0,-5)|0;w=e[i+6>>1]|0;c[j>>2]=((y+A|0)*20|0)+(e[i+-4>>1]|0)+v+w;v=H(w+A|0,-5)|0;u=e[i+8>>1]|0;c[j+4>>2]=((x+y|0)*20|0)+z+v+u;v=H(u+y|0,-5)|0;z=e[i+10>>1]|0;c[j+8>>2]=((w+x|0)*20|0)+A+v+z;v=H(z+x|0,-5)|0;A=e[i+12>>1]|0;c[j+12>>2]=((u+w|0)*20|0)+y+v+A;v=H(A+w|0,-5)|0;y=e[i+14>>1]|0;c[j+16>>2]=((z+u|0)*20|0)+x+v+y;v=H(y+u|0,-5)|0;x=e[i+16>>1]|0;c[j+20>>2]=((A+z|0)*20|0)+w+v+x;v=H(x+z|0,-5)|0;w=e[i+18>>1]|0;c[j+24>>2]=((y+A|0)*20|0)+u+v+w;A=H(w+A|0,-5)|0;c[j+28>>2]=((x+y|0)*20|0)+z+A+(e[i+20>>1]|0);j=j+(h<<2)|0;k=k+1|0;i=i+(l<<1)|0}f=g>>1;l=H(h,-2)|0;g=0-h|0;m=h<<1;n=h*3|0;o=h<<2;p=h*5|0;q=h*6|0;r=h*7|0;s=h<<3;t=h*9|0;u=h*10|0;v=f<<1;w=f*3|0;x=f<<2;y=f*5|0;z=f*6|0;A=f*7|0;k=a;i=d+(B<<2)+((H(h,-11)|0)<<2)|0;j=0;while(1){if((j|0)==8)break;M=c[i+(g<<2)>>2]|0;L=c[i>>2]|0;K=c[i+(h<<2)>>2]|0;J=c[i+(m<<2)>>2]|0;I=c[i+(n<<2)>>2]|0;G=c[i+(o<<2)>>2]|0;F=c[i+(p<<2)>>2]|0;B=c[i+(q<<2)>>2]|0;C=c[i+(r<<2)>>2]|0;D=c[i+(s<<2)>>2]|0;a=c[i+(t<<2)>>2]|0;E=c[i+(u<<2)>>2]|0;d=(c[i+(l<<2)>>2]|0)+512+I+((K+L|0)*20|0)+(H(J+M|0,-5)|0)>>10;b[k>>1]=((d>>>0<16384?d:0-d>>31&16383)+1+(e[k>>1]|0)|0)>>>1;d=k+(f<<1)|0;M=M+512+G+((J+K|0)*20|0)+(H(I+L|0,-5)|0)>>10;b[d>>1]=((M>>>0<16384?M:0-M>>31&16383)+1+(e[d>>1]|0)|0)>>>1;d=k+(v<<1)|0;L=L+512+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>10;b[d>>1]=((L>>>0<16384?L:0-L>>31&16383)+1+(e[d>>1]|0)|0)>>>1;d=k+(w<<1)|0;K=K+512+B+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>10;b[d>>1]=((K>>>0<16384?K:0-K>>31&16383)+1+(e[d>>1]|0)|0)>>>1;d=k+(x<<1)|0;J=J+512+C+((F+G|0)*20|0)+(H(B+I|0,-5)|0)>>10;b[d>>1]=((J>>>0<16384?J:0-J>>31&16383)+1+(e[d>>1]|0)|0)>>>1;d=k+(y<<1)|0;I=I+512+D+((B+F|0)*20|0)+(H(C+G|0,-5)|0)>>10;b[d>>1]=((I>>>0<16384?I:0-I>>31&16383)+1+(e[d>>1]|0)|0)>>>1;d=k+(z<<1)|0;G=G+512+a+((C+B|0)*20|0)+(H(D+F|0,-5)|0)>>10;b[d>>1]=((G>>>0<16384?G:0-G>>31&16383)+1+(e[d>>1]|0)|0)>>>1;d=k+(A<<1)|0;B=F+512+E+((D+C|0)*20|0)+(H(a+B|0,-5)|0)>>10;b[d>>1]=((B>>>0<16384?B:0-B>>31&16383)+1+(e[d>>1]|0)|0)>>>1;k=k+2|0;i=i+4|0;j=j+1|0}return}function gG(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0;z=d>>1;u=f>>1;v=H(u,-2)|0;w=0-u|0;x=u<<1;y=u*3|0;h=u<<2;i=u*5|0;j=u*6|0;k=u*7|0;l=u<<3;m=u*9|0;n=u*10|0;o=z<<1;p=z*3|0;q=z<<2;r=z*5|0;s=z*6|0;t=z*7|0;g=0;f=a;d=c;while(1){if((g|0)==8)break;L=e[d+(w<<1)>>1]|0;K=e[d>>1]|0;J=e[d+(u<<1)>>1]|0;I=e[d+(x<<1)>>1]|0;G=e[d+(y<<1)>>1]|0;F=e[d+(h<<1)>>1]|0;E=e[d+(i<<1)>>1]|0;a=e[d+(j<<1)>>1]|0;B=e[d+(k<<1)>>1]|0;C=e[d+(l<<1)>>1]|0;A=e[d+(m<<1)>>1]|0;D=e[d+(n<<1)>>1]|0;c=(e[d+(v<<1)>>1]|0)+16+G+((J+K|0)*20|0)+(H(I+L|0,-5)|0)>>5;b[f>>1]=((e[f>>1]|0)+1+(c>>>0<512?c:0-c>>31&511)|0)>>>1;c=f+(z<<1)|0;L=L+16+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>5;b[c>>1]=((L>>>0<512?L:0-L>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=f+(o<<1)|0;K=K+16+E+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>5;b[c>>1]=((K>>>0<512?K:0-K>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=f+(p<<1)|0;J=J+16+a+((F+G|0)*20|0)+(H(E+I|0,-5)|0)>>5;b[c>>1]=((J>>>0<512?J:0-J>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=f+(q<<1)|0;I=I+16+B+((E+F|0)*20|0)+(H(a+G|0,-5)|0)>>5;b[c>>1]=((I>>>0<512?I:0-I>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=f+(r<<1)|0;G=G+16+C+((a+E|0)*20|0)+(H(B+F|0,-5)|0)>>5;b[c>>1]=((G>>>0<512?G:0-G>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=f+(s<<1)|0;F=F+16+A+((B+a|0)*20|0)+(H(C+E|0,-5)|0)>>5;b[c>>1]=((F>>>0<512?F:0-F>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=f+(t<<1)|0;a=E+16+D+((C+B|0)*20|0)+(H(A+a|0,-5)|0)>>5;b[c>>1]=((a>>>0<512?a:0-a>>31&511)+1+(e[c>>1]|0)|0)>>>1;g=g+1|0;f=f+2|0;d=d+2|0}return}function hG(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0;s=H(f,-2)|0;t=0-f|0;u=f<<1;v=f*3|0;w=f<<2;x=f*5|0;h=f*6|0;i=f*7|0;j=f<<3;k=f*9|0;l=f*10|0;m=e<<1;n=e*3|0;o=e<<2;p=e*5|0;q=e*6|0;r=e*7|0;g=0;while(1){if((g|0)==8)break;L=d[c+t>>0]|0;K=d[c>>0]|0;J=d[c+f>>0]|0;I=d[c+u>>0]|0;G=d[c+v>>0]|0;F=d[c+w>>0]|0;E=d[c+x>>0]|0;z=d[c+h>>0]|0;B=d[c+i>>0]|0;C=d[c+j>>0]|0;A=d[c+k>>0]|0;D=d[c+l>>0]|0;y=(d[c+s>>0]|0)+16+G+((J+K|0)*20|0)+(H(I+L|0,-5)|0)>>5;a[b>>0]=((d[b>>0]|0)+1+((y>>>0>255?(y^-2147483648)>>31:y)&255)|0)>>>1;y=b+e|0;L=L+16+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>5;a[y>>0]=((d[y>>0]|0)+1+((L>>>0>255?(L^-2147483648)>>31:L)&255)|0)>>>1;y=b+m|0;K=K+16+E+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>5;a[y>>0]=(((K>>>0>255?(K^-2147483648)>>31:K)&255)+1+(d[y>>0]|0)|0)>>>1;y=b+n|0;J=J+16+z+((F+G|0)*20|0)+(H(E+I|0,-5)|0)>>5;a[y>>0]=(((J>>>0>255?(J^-2147483648)>>31:J)&255)+1+(d[y>>0]|0)|0)>>>1;y=b+o|0;I=I+16+B+((E+F|0)*20|0)+(H(z+G|0,-5)|0)>>5;a[y>>0]=(((I>>>0>255?(I^-2147483648)>>31:I)&255)+1+(d[y>>0]|0)|0)>>>1;y=b+p|0;G=G+16+C+((z+E|0)*20|0)+(H(B+F|0,-5)|0)>>5;a[y>>0]=(((G>>>0>255?(G^-2147483648)>>31:G)&255)+1+(d[y>>0]|0)|0)>>>1;y=b+q|0;F=F+16+A+((B+z|0)*20|0)+(H(C+E|0,-5)|0)>>5;a[y>>0]=(((F>>>0>255?(F^-2147483648)>>31:F)&255)+1+(d[y>>0]|0)|0)>>>1;y=b+r|0;z=E+16+D+((C+B|0)*20|0)+(H(A+z|0,-5)|0)>>5;a[y>>0]=(((z>>>0>255?(z^-2147483648)>>31:z)&255)+1+(d[y>>0]|0)|0)>>>1;g=g+1|0;b=b+1|0;c=c+1|0}return}function iG(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0;z=d>>1;u=f>>1;v=H(u,-2)|0;w=0-u|0;x=u<<1;y=u*3|0;h=u<<2;i=u*5|0;j=u*6|0;k=u*7|0;l=u<<3;m=u*9|0;n=u*10|0;o=z<<1;p=z*3|0;q=z<<2;r=z*5|0;s=z*6|0;t=z*7|0;g=0;f=a;d=c;while(1){if((g|0)==8)break;L=e[d+(w<<1)>>1]|0;K=e[d>>1]|0;J=e[d+(u<<1)>>1]|0;I=e[d+(x<<1)>>1]|0;G=e[d+(y<<1)>>1]|0;F=e[d+(h<<1)>>1]|0;E=e[d+(i<<1)>>1]|0;a=e[d+(j<<1)>>1]|0;B=e[d+(k<<1)>>1]|0;C=e[d+(l<<1)>>1]|0;A=e[d+(m<<1)>>1]|0;D=e[d+(n<<1)>>1]|0;c=(e[d+(v<<1)>>1]|0)+16+G+((J+K|0)*20|0)+(H(I+L|0,-5)|0)>>5;b[f>>1]=((e[f>>1]|0)+1+(c>>>0<1024?c:0-c>>31&1023)|0)>>>1;c=f+(z<<1)|0;L=L+16+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>5;b[c>>1]=((L>>>0<1024?L:0-L>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=f+(o<<1)|0;K=K+16+E+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>5;b[c>>1]=((K>>>0<1024?K:0-K>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=f+(p<<1)|0;J=J+16+a+((F+G|0)*20|0)+(H(E+I|0,-5)|0)>>5;b[c>>1]=((J>>>0<1024?J:0-J>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=f+(q<<1)|0;I=I+16+B+((E+F|0)*20|0)+(H(a+G|0,-5)|0)>>5;b[c>>1]=((I>>>0<1024?I:0-I>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=f+(r<<1)|0;G=G+16+C+((a+E|0)*20|0)+(H(B+F|0,-5)|0)>>5;b[c>>1]=((G>>>0<1024?G:0-G>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=f+(s<<1)|0;F=F+16+A+((B+a|0)*20|0)+(H(C+E|0,-5)|0)>>5;b[c>>1]=((F>>>0<1024?F:0-F>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=f+(t<<1)|0;a=E+16+D+((C+B|0)*20|0)+(H(A+a|0,-5)|0)>>5;b[c>>1]=((a>>>0<1024?a:0-a>>31&1023)+1+(e[c>>1]|0)|0)>>>1;g=g+1|0;f=f+2|0;d=d+2|0}return}function jG(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0;z=d>>1;u=f>>1;v=H(u,-2)|0;w=0-u|0;x=u<<1;y=u*3|0;h=u<<2;i=u*5|0;j=u*6|0;k=u*7|0;l=u<<3;m=u*9|0;n=u*10|0;o=z<<1;p=z*3|0;q=z<<2;r=z*5|0;s=z*6|0;t=z*7|0;g=0;f=a;d=c;while(1){if((g|0)==8)break;L=e[d+(w<<1)>>1]|0;K=e[d>>1]|0;J=e[d+(u<<1)>>1]|0;I=e[d+(x<<1)>>1]|0;G=e[d+(y<<1)>>1]|0;F=e[d+(h<<1)>>1]|0;E=e[d+(i<<1)>>1]|0;a=e[d+(j<<1)>>1]|0;B=e[d+(k<<1)>>1]|0;C=e[d+(l<<1)>>1]|0;A=e[d+(m<<1)>>1]|0;D=e[d+(n<<1)>>1]|0;c=(e[d+(v<<1)>>1]|0)+16+G+((J+K|0)*20|0)+(H(I+L|0,-5)|0)>>5;b[f>>1]=((e[f>>1]|0)+1+(c>>>0<4096?c:0-c>>31&4095)|0)>>>1;c=f+(z<<1)|0;L=L+16+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>5;b[c>>1]=((L>>>0<4096?L:0-L>>31&4095)+1+(e[c>>1]|0)|0)>>>1;c=f+(o<<1)|0;K=K+16+E+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>5;b[c>>1]=((K>>>0<4096?K:0-K>>31&4095)+1+(e[c>>1]|0)|0)>>>1;c=f+(p<<1)|0;J=J+16+a+((F+G|0)*20|0)+(H(E+I|0,-5)|0)>>5;b[c>>1]=((J>>>0<4096?J:0-J>>31&4095)+1+(e[c>>1]|0)|0)>>>1;c=f+(q<<1)|0;I=I+16+B+((E+F|0)*20|0)+(H(a+G|0,-5)|0)>>5;b[c>>1]=((I>>>0<4096?I:0-I>>31&4095)+1+(e[c>>1]|0)|0)>>>1;c=f+(r<<1)|0;G=G+16+C+((a+E|0)*20|0)+(H(B+F|0,-5)|0)>>5;b[c>>1]=((G>>>0<4096?G:0-G>>31&4095)+1+(e[c>>1]|0)|0)>>>1;c=f+(s<<1)|0;F=F+16+A+((B+a|0)*20|0)+(H(C+E|0,-5)|0)>>5;b[c>>1]=((F>>>0<4096?F:0-F>>31&4095)+1+(e[c>>1]|0)|0)>>>1;c=f+(t<<1)|0;a=E+16+D+((C+B|0)*20|0)+(H(A+a|0,-5)|0)>>5;b[c>>1]=((a>>>0<4096?a:0-a>>31&4095)+1+(e[c>>1]|0)|0)>>>1;g=g+1|0;f=f+2|0;d=d+2|0}return}function kG(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0;z=d>>1;u=f>>1;v=H(u,-2)|0;w=0-u|0;x=u<<1;y=u*3|0;h=u<<2;i=u*5|0;j=u*6|0;k=u*7|0;l=u<<3;m=u*9|0;n=u*10|0;o=z<<1;p=z*3|0;q=z<<2;r=z*5|0;s=z*6|0;t=z*7|0;g=0;f=a;d=c;while(1){if((g|0)==8)break;L=e[d+(w<<1)>>1]|0;K=e[d>>1]|0;J=e[d+(u<<1)>>1]|0;I=e[d+(x<<1)>>1]|0;G=e[d+(y<<1)>>1]|0;F=e[d+(h<<1)>>1]|0;E=e[d+(i<<1)>>1]|0;a=e[d+(j<<1)>>1]|0;B=e[d+(k<<1)>>1]|0;C=e[d+(l<<1)>>1]|0;A=e[d+(m<<1)>>1]|0;D=e[d+(n<<1)>>1]|0;c=(e[d+(v<<1)>>1]|0)+16+G+((J+K|0)*20|0)+(H(I+L|0,-5)|0)>>5;b[f>>1]=((e[f>>1]|0)+1+(c>>>0<16384?c:0-c>>31&16383)|0)>>>1;c=f+(z<<1)|0;L=L+16+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>5;b[c>>1]=((L>>>0<16384?L:0-L>>31&16383)+1+(e[c>>1]|0)|0)>>>1;c=f+(o<<1)|0;K=K+16+E+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>5;b[c>>1]=((K>>>0<16384?K:0-K>>31&16383)+1+(e[c>>1]|0)|0)>>>1;c=f+(p<<1)|0;J=J+16+a+((F+G|0)*20|0)+(H(E+I|0,-5)|0)>>5;b[c>>1]=((J>>>0<16384?J:0-J>>31&16383)+1+(e[c>>1]|0)|0)>>>1;c=f+(q<<1)|0;I=I+16+B+((E+F|0)*20|0)+(H(a+G|0,-5)|0)>>5;b[c>>1]=((I>>>0<16384?I:0-I>>31&16383)+1+(e[c>>1]|0)|0)>>>1;c=f+(r<<1)|0;G=G+16+C+((a+E|0)*20|0)+(H(B+F|0,-5)|0)>>5;b[c>>1]=((G>>>0<16384?G:0-G>>31&16383)+1+(e[c>>1]|0)|0)>>>1;c=f+(s<<1)|0;F=F+16+A+((B+a|0)*20|0)+(H(C+E|0,-5)|0)>>5;b[c>>1]=((F>>>0<16384?F:0-F>>31&16383)+1+(e[c>>1]|0)|0)>>>1;c=f+(t<<1)|0;a=E+16+D+((C+B|0)*20|0)+(H(A+a|0,-5)|0)>>5;b[c>>1]=((a>>>0<16384?a:0-a>>31&16383)+1+(e[c>>1]|0)|0)>>>1;g=g+1|0;f=f+2|0;d=d+2|0}return}function lG(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==8)break;k=c+2|0;j=c+-2|0;l=c+4|0;a=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+6|0;a=(((e[k>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+a+(e[m>>1]|0)>>5;b[d>>1]=((e[d>>1]|0)+1+(a>>>0<512?a:0-a>>31&511)|0)>>>1;a=d+2|0;n=H((e[m>>1]|0)+(e[c>>1]|0)|0,-5)|0;o=c+8|0;n=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+n+(e[o>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<512?n:0-n>>31&511)|0)>>>1;a=d+4|0;n=H((e[o>>1]|0)+(e[k>>1]|0)|0,-5)|0;j=c+10|0;n=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+n+(e[j>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<512?n:0-n>>31&511)|0)>>>1;a=d+6|0;n=H((e[j>>1]|0)+(e[l>>1]|0)|0,-5)|0;i=c+12|0;n=(((e[o>>1]|0)+(e[m>>1]|0)|0)*20|0)+16+(e[k>>1]|0)+n+(e[i>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<512?n:0-n>>31&511)|0)>>>1;a=d+8|0;n=H((e[i>>1]|0)+(e[m>>1]|0)|0,-5)|0;k=c+14|0;n=(((e[j>>1]|0)+(e[o>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+n+(e[k>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<512?n:0-n>>31&511)|0)>>>1;a=d+10|0;n=H((e[k>>1]|0)+(e[o>>1]|0)|0,-5)|0;l=c+16|0;n=(((e[i>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[m>>1]|0)+n+(e[l>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<512?n:0-n>>31&511)|0)>>>1;a=d+12|0;n=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+18|0;n=(((e[k>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[o>>1]|0)+n+(e[m>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<512?n:0-n>>31&511)|0)>>>1;a=d+14|0;i=H((e[m>>1]|0)+(e[i>>1]|0)|0,-5)|0;i=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+i+(e[c+20>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(i>>>0<512?i:0-i>>31&511)|0)>>>1;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function mG(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=0;while(1){if((g|0)==8)break;k=c+1|0;j=c+-1|0;l=c+2|0;h=H((d[l>>0]|0)+(d[j>>0]|0)|0,-5)|0;m=c+3|0;h=(((d[k>>0]|0)+(d[c>>0]|0)|0)*20|0)+16+(d[c+-2>>0]|0)+h+(d[m>>0]|0)>>5;a[b>>0]=((d[b>>0]|0)+1+((h>>>0>255?(h^-2147483648)>>31:h)&255)|0)>>>1;h=b+1|0;n=H((d[m>>0]|0)+(d[c>>0]|0)|0,-5)|0;o=c+4|0;n=(((d[l>>0]|0)+(d[k>>0]|0)|0)*20|0)+16+(d[j>>0]|0)+n+(d[o>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((n>>>0>255?(n^-2147483648)>>31:n)&255)|0)>>>1;h=b+2|0;n=H((d[o>>0]|0)+(d[k>>0]|0)|0,-5)|0;j=c+5|0;n=(((d[m>>0]|0)+(d[l>>0]|0)|0)*20|0)+16+(d[c>>0]|0)+n+(d[j>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((n>>>0>255?(n^-2147483648)>>31:n)&255)|0)>>>1;h=b+3|0;n=H((d[j>>0]|0)+(d[l>>0]|0)|0,-5)|0;i=c+6|0;n=(((d[o>>0]|0)+(d[m>>0]|0)|0)*20|0)+16+(d[k>>0]|0)+n+(d[i>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((n>>>0>255?(n^-2147483648)>>31:n)&255)|0)>>>1;h=b+4|0;n=H((d[i>>0]|0)+(d[m>>0]|0)|0,-5)|0;k=c+7|0;n=(((d[j>>0]|0)+(d[o>>0]|0)|0)*20|0)+16+(d[l>>0]|0)+n+(d[k>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((n>>>0>255?(n^-2147483648)>>31:n)&255)|0)>>>1;h=b+5|0;n=H((d[k>>0]|0)+(d[o>>0]|0)|0,-5)|0;l=c+8|0;n=(((d[i>>0]|0)+(d[j>>0]|0)|0)*20|0)+16+(d[m>>0]|0)+n+(d[l>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((n>>>0>255?(n^-2147483648)>>31:n)&255)|0)>>>1;h=b+6|0;n=H((d[l>>0]|0)+(d[j>>0]|0)|0,-5)|0;m=c+9|0;n=(((d[k>>0]|0)+(d[i>>0]|0)|0)*20|0)+16+(d[o>>0]|0)+n+(d[m>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((n>>>0>255?(n^-2147483648)>>31:n)&255)|0)>>>1;h=b+7|0;i=H((d[m>>0]|0)+(d[i>>0]|0)|0,-5)|0;i=(((d[l>>0]|0)+(d[k>>0]|0)|0)*20|0)+16+(d[j>>0]|0)+i+(d[c+10>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((i>>>0>255?(i^-2147483648)>>31:i)&255)|0)>>>1;c=c+f|0;b=b+e|0;g=g+1|0}return}function nG(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==8)break;k=c+2|0;j=c+-2|0;l=c+4|0;a=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+6|0;a=(((e[k>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+a+(e[m>>1]|0)>>5;b[d>>1]=((e[d>>1]|0)+1+(a>>>0<1024?a:0-a>>31&1023)|0)>>>1;a=d+2|0;n=H((e[m>>1]|0)+(e[c>>1]|0)|0,-5)|0;o=c+8|0;n=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+n+(e[o>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<1024?n:0-n>>31&1023)|0)>>>1;a=d+4|0;n=H((e[o>>1]|0)+(e[k>>1]|0)|0,-5)|0;j=c+10|0;n=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+n+(e[j>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<1024?n:0-n>>31&1023)|0)>>>1;a=d+6|0;n=H((e[j>>1]|0)+(e[l>>1]|0)|0,-5)|0;i=c+12|0;n=(((e[o>>1]|0)+(e[m>>1]|0)|0)*20|0)+16+(e[k>>1]|0)+n+(e[i>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<1024?n:0-n>>31&1023)|0)>>>1;a=d+8|0;n=H((e[i>>1]|0)+(e[m>>1]|0)|0,-5)|0;k=c+14|0;n=(((e[j>>1]|0)+(e[o>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+n+(e[k>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<1024?n:0-n>>31&1023)|0)>>>1;a=d+10|0;n=H((e[k>>1]|0)+(e[o>>1]|0)|0,-5)|0;l=c+16|0;n=(((e[i>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[m>>1]|0)+n+(e[l>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<1024?n:0-n>>31&1023)|0)>>>1;a=d+12|0;n=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+18|0;n=(((e[k>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[o>>1]|0)+n+(e[m>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<1024?n:0-n>>31&1023)|0)>>>1;a=d+14|0;i=H((e[m>>1]|0)+(e[i>>1]|0)|0,-5)|0;i=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+i+(e[c+20>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(i>>>0<1024?i:0-i>>31&1023)|0)>>>1;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function oG(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==8)break;k=c+2|0;j=c+-2|0;l=c+4|0;a=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+6|0;a=(((e[k>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+a+(e[m>>1]|0)>>5;b[d>>1]=((e[d>>1]|0)+1+(a>>>0<4096?a:0-a>>31&4095)|0)>>>1;a=d+2|0;n=H((e[m>>1]|0)+(e[c>>1]|0)|0,-5)|0;o=c+8|0;n=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+n+(e[o>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<4096?n:0-n>>31&4095)|0)>>>1;a=d+4|0;n=H((e[o>>1]|0)+(e[k>>1]|0)|0,-5)|0;j=c+10|0;n=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+n+(e[j>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<4096?n:0-n>>31&4095)|0)>>>1;a=d+6|0;n=H((e[j>>1]|0)+(e[l>>1]|0)|0,-5)|0;i=c+12|0;n=(((e[o>>1]|0)+(e[m>>1]|0)|0)*20|0)+16+(e[k>>1]|0)+n+(e[i>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<4096?n:0-n>>31&4095)|0)>>>1;a=d+8|0;n=H((e[i>>1]|0)+(e[m>>1]|0)|0,-5)|0;k=c+14|0;n=(((e[j>>1]|0)+(e[o>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+n+(e[k>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<4096?n:0-n>>31&4095)|0)>>>1;a=d+10|0;n=H((e[k>>1]|0)+(e[o>>1]|0)|0,-5)|0;l=c+16|0;n=(((e[i>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[m>>1]|0)+n+(e[l>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<4096?n:0-n>>31&4095)|0)>>>1;a=d+12|0;n=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+18|0;n=(((e[k>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[o>>1]|0)+n+(e[m>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<4096?n:0-n>>31&4095)|0)>>>1;a=d+14|0;i=H((e[m>>1]|0)+(e[i>>1]|0)|0,-5)|0;i=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+i+(e[c+20>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(i>>>0<4096?i:0-i>>31&4095)|0)>>>1;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function pG(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==8)break;k=c+2|0;j=c+-2|0;l=c+4|0;a=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+6|0;a=(((e[k>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+a+(e[m>>1]|0)>>5;b[d>>1]=((e[d>>1]|0)+1+(a>>>0<16384?a:0-a>>31&16383)|0)>>>1;a=d+2|0;n=H((e[m>>1]|0)+(e[c>>1]|0)|0,-5)|0;o=c+8|0;n=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+n+(e[o>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<16384?n:0-n>>31&16383)|0)>>>1;a=d+4|0;n=H((e[o>>1]|0)+(e[k>>1]|0)|0,-5)|0;j=c+10|0;n=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+n+(e[j>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<16384?n:0-n>>31&16383)|0)>>>1;a=d+6|0;n=H((e[j>>1]|0)+(e[l>>1]|0)|0,-5)|0;i=c+12|0;n=(((e[o>>1]|0)+(e[m>>1]|0)|0)*20|0)+16+(e[k>>1]|0)+n+(e[i>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<16384?n:0-n>>31&16383)|0)>>>1;a=d+8|0;n=H((e[i>>1]|0)+(e[m>>1]|0)|0,-5)|0;k=c+14|0;n=(((e[j>>1]|0)+(e[o>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+n+(e[k>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<16384?n:0-n>>31&16383)|0)>>>1;a=d+10|0;n=H((e[k>>1]|0)+(e[o>>1]|0)|0,-5)|0;l=c+16|0;n=(((e[i>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[m>>1]|0)+n+(e[l>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<16384?n:0-n>>31&16383)|0)>>>1;a=d+12|0;n=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+18|0;n=(((e[k>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[o>>1]|0)+n+(e[m>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<16384?n:0-n>>31&16383)|0)>>>1;a=d+14|0;i=H((e[m>>1]|0)+(e[i>>1]|0)|0,-5)|0;i=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+i+(e[c+20>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(i>>>0<16384?i:0-i>>31&16383)|0)>>>1;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function qG(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=0;while(1){if((g|0)>=(f|0))break;h=a;j=b;k=j;j=j+4|0;j=PE(c[h>>2]|0,c[h+4>>2]|0,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)|0;k=M()|0;h=a;c[h>>2]=j;c[h+4>>2]=k;h=a+8|0;k=h;j=b+8|0;i=j;j=j+4|0;j=PE(c[k>>2]|0,c[k+4>>2]|0,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)|0;i=M()|0;c[h>>2]=j;c[h+4>>2]=i;g=g+1|0;a=a+e|0;b=b+e|0}return}function rG(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=0;while(1){if((g|0)>=(f|0))break;c[a>>2]=UE(c[a>>2]|0,d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24)|0;h=a+4|0;i=b+4|0;c[h>>2]=UE(c[h>>2]|0,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24)|0;g=g+1|0;a=a+e|0;b=b+e|0}return}function sG(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=0;while(1){if((g|0)>=(f|0))break;h=a;j=b;k=j;j=j+4|0;j=PE(c[h>>2]|0,c[h+4>>2]|0,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)|0;k=M()|0;h=a;c[h>>2]=j;c[h+4>>2]=k;h=a+8|0;k=h;j=b+8|0;i=j;j=j+4|0;j=PE(c[k>>2]|0,c[k+4>>2]|0,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)|0;i=M()|0;c[h>>2]=j;c[h+4>>2]=i;g=g+1|0;a=a+e|0;b=b+e|0}return}function tG(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=0;while(1){if((g|0)>=(f|0))break;h=a;j=b;k=j;j=j+4|0;j=PE(c[h>>2]|0,c[h+4>>2]|0,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)|0;k=M()|0;h=a;c[h>>2]=j;c[h+4>>2]=k;h=a+8|0;k=h;j=b+8|0;i=j;j=j+4|0;j=PE(c[k>>2]|0,c[k+4>>2]|0,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)|0;i=M()|0;c[h>>2]=j;c[h+4>>2]=i;g=g+1|0;a=a+e|0;b=b+e|0}return}function uG(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=0;while(1){if((g|0)>=(f|0))break;h=a;j=b;k=j;j=j+4|0;j=PE(c[h>>2]|0,c[h+4>>2]|0,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)|0;k=M()|0;h=a;c[h>>2]=j;c[h+4>>2]=k;h=a+8|0;k=h;j=b+8|0;i=j;j=j+4|0;j=PE(c[k>>2]|0,c[k+4>>2]|0,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)|0;i=M()|0;c[h>>2]=j;c[h+4>>2]=i;g=g+1|0;a=a+e|0;b=b+e|0}return}function vG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;EF(a,b,c,d);EF(a+16|0,b+16|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;EF(a,b,c,d);EF(a+16|0,b+16|0,c,d);return}function wG(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==21)break;g=c;h=g;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=g+4|0;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;i=b;j=i;a[j>>0]=h;a[j+1>>0]=h>>8;a[j+2>>0]=h>>16;a[j+3>>0]=h>>24;i=i+4|0;a[i>>0]=g;a[i+1>>0]=g>>8;a[i+2>>0]=g>>16;a[i+3>>0]=g>>24;i=c+8|0;g=i;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;i=i+4|0;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=b+8|0;h=j;a[h>>0]=g;a[h+1>>0]=g>>8;a[h+2>>0]=g>>16;a[h+3>>0]=g>>24;j=j+4|0;a[j>>0]=i;a[j+1>>0]=i>>8;a[j+2>>0]=i>>16;a[j+3>>0]=i>>24;j=c+16|0;i=j;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=b+16|0;g=h;a[g>>0]=i;a[g+1>>0]=i>>8;a[g+2>>0]=i>>16;a[g+3>>0]=i>>24;h=h+4|0;a[h>>0]=j;a[h+1>>0]=j>>8;a[h+2>>0]=j>>16;a[h+3>>0]=j>>24;h=c+24|0;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+24|0;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;b=b+32|0;c=c+e|0}return}function xG(a,b,c){a=a|0;b=b|0;c=c|0;GF(a,b,c,32);GF(a+16|0,b+16|0,c,32);a=a+(c<<3)|0;GF(a,b+256|0,c,32);GF(a+16|0,b+272|0,c,32);return}function yG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;HF(a,b,c,d,e,32,16);HF(a+16|0,b+16|0,c+16|0,d,e,32,16);return}function zG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;IF(a,b,c,d);IF(a+8|0,b+8|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;IF(a,b,c,d);IF(a+8|0,b+8|0,c,d);return}function AG(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0;f=0;while(1){if((f|0)==21)break;h=d[c>>0]|d[c+1>>0]<<8|d[c+2>>0]<<16|d[c+3>>0]<<24;a[b>>0]=h;a[b+1>>0]=h>>8;a[b+2>>0]=h>>16;a[b+3>>0]=h>>24;h=c+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;g=c+8|0;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;h=b+8|0;a[h>>0]=g;a[h+1>>0]=g>>8;a[h+2>>0]=g>>16;a[h+3>>0]=g>>24;h=c+12|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+12|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;b=b+16|0;c=c+e|0}return}function BG(a,b,c){a=a|0;b=b|0;c=c|0;KF(a,b,c,16);KF(a+8|0,b+8|0,c,16);a=a+(c<<3)|0;KF(a,b+128|0,c,16);KF(a+8|0,b+136|0,c,16);return}function CG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;LF(a,b,c,d,e,16,16);LF(a+8|0,b+8|0,c+8|0,d,e,16,16);return}function DG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;MF(a,b,c,d);MF(a+16|0,b+16|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;MF(a,b,c,d);MF(a+16|0,b+16|0,c,d);return}function EG(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==21)break;g=c;h=g;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=g+4|0;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;i=b;j=i;a[j>>0]=h;a[j+1>>0]=h>>8;a[j+2>>0]=h>>16;a[j+3>>0]=h>>24;i=i+4|0;a[i>>0]=g;a[i+1>>0]=g>>8;a[i+2>>0]=g>>16;a[i+3>>0]=g>>24;i=c+8|0;g=i;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;i=i+4|0;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=b+8|0;h=j;a[h>>0]=g;a[h+1>>0]=g>>8;a[h+2>>0]=g>>16;a[h+3>>0]=g>>24;j=j+4|0;a[j>>0]=i;a[j+1>>0]=i>>8;a[j+2>>0]=i>>16;a[j+3>>0]=i>>24;j=c+16|0;i=j;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=b+16|0;g=h;a[g>>0]=i;a[g+1>>0]=i>>8;a[g+2>>0]=i>>16;a[g+3>>0]=i>>24;h=h+4|0;a[h>>0]=j;a[h+1>>0]=j>>8;a[h+2>>0]=j>>16;a[h+3>>0]=j>>24;h=c+24|0;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+24|0;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;b=b+32|0;c=c+e|0}return}function FG(a,b,c){a=a|0;b=b|0;c=c|0;OF(a,b,c,32);OF(a+16|0,b+16|0,c,32);a=a+(c<<3)|0;OF(a,b+256|0,c,32);OF(a+16|0,b+272|0,c,32);return}function GG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;PF(a,b,c,d,e,32,16);PF(a+16|0,b+16|0,c+16|0,d,e,32,16);return}function HG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;QF(a,b,c,d);QF(a+16|0,b+16|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;QF(a,b,c,d);QF(a+16|0,b+16|0,c,d);return}function IG(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==21)break;g=c;h=g;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=g+4|0;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;i=b;j=i;a[j>>0]=h;a[j+1>>0]=h>>8;a[j+2>>0]=h>>16;a[j+3>>0]=h>>24;i=i+4|0;a[i>>0]=g;a[i+1>>0]=g>>8;a[i+2>>0]=g>>16;a[i+3>>0]=g>>24;i=c+8|0;g=i;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;i=i+4|0;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=b+8|0;h=j;a[h>>0]=g;a[h+1>>0]=g>>8;a[h+2>>0]=g>>16;a[h+3>>0]=g>>24;j=j+4|0;a[j>>0]=i;a[j+1>>0]=i>>8;a[j+2>>0]=i>>16;a[j+3>>0]=i>>24;j=c+16|0;i=j;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=b+16|0;g=h;a[g>>0]=i;a[g+1>>0]=i>>8;a[g+2>>0]=i>>16;a[g+3>>0]=i>>24;h=h+4|0;a[h>>0]=j;a[h+1>>0]=j>>8;a[h+2>>0]=j>>16;a[h+3>>0]=j>>24;h=c+24|0;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+24|0;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;b=b+32|0;c=c+e|0}return}function JG(a,b,c){a=a|0;b=b|0;c=c|0;SF(a,b,c,32);SF(a+16|0,b+16|0,c,32);a=a+(c<<3)|0;SF(a,b+256|0,c,32);SF(a+16|0,b+272|0,c,32);return}function KG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;TF(a,b,c,d,e,32,16);TF(a+16|0,b+16|0,c+16|0,d,e,32,16);return}function LG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;UF(a,b,c,d);UF(a+16|0,b+16|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;UF(a,b,c,d);UF(a+16|0,b+16|0,c,d);return}function MG(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==21)break;g=c;h=g;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=g+4|0;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;i=b;j=i;a[j>>0]=h;a[j+1>>0]=h>>8;a[j+2>>0]=h>>16;a[j+3>>0]=h>>24;i=i+4|0;a[i>>0]=g;a[i+1>>0]=g>>8;a[i+2>>0]=g>>16;a[i+3>>0]=g>>24;i=c+8|0;g=i;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;i=i+4|0;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=b+8|0;h=j;a[h>>0]=g;a[h+1>>0]=g>>8;a[h+2>>0]=g>>16;a[h+3>>0]=g>>24;j=j+4|0;a[j>>0]=i;a[j+1>>0]=i>>8;a[j+2>>0]=i>>16;a[j+3>>0]=i>>24;j=c+16|0;i=j;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=b+16|0;g=h;a[g>>0]=i;a[g+1>>0]=i>>8;a[g+2>>0]=i>>16;a[g+3>>0]=i>>24;h=h+4|0;a[h>>0]=j;a[h+1>>0]=j>>8;a[h+2>>0]=j>>16;a[h+3>>0]=j>>24;h=c+24|0;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+24|0;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;b=b+32|0;c=c+e|0}return}function NG(a,b,c){a=a|0;b=b|0;c=c|0;WF(a,b,c,32);WF(a+16|0,b+16|0,c,32);a=a+(c<<3)|0;WF(a,b+256|0,c,32);WF(a+16|0,b+272|0,c,32);return}function OG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;XF(a,b,c,d,e,32,16);XF(a+16|0,b+16|0,c+16|0,d,e,32,16);return}function PG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;YF(a,b,c,d,32,e);f=b+16|0;YF(a+16|0,f,c+16|0,d,32,e);c=c+(e<<3)|0;a=a+(d<<3)|0;YF(a,b,c,d,32,e);YF(a+16|0,f,c+16|0,d,32,e);return}function QG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;ZF(a,b,c,d,16,e);f=b+16|0;ZF(a+8|0,f,c+8|0,d,16,e);c=c+(e<<3)|0;a=a+(d<<3)|0;ZF(a,b,c,d,16,e);ZF(a+8|0,f,c+8|0,d,16,e);return}function RG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;_F(a,b,c,d,32,e);f=b+16|0;_F(a+16|0,f,c+16|0,d,32,e);c=c+(e<<3)|0;a=a+(d<<3)|0;_F(a,b,c,d,32,e);_F(a+16|0,f,c+16|0,d,32,e);return}function SG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;$F(a,b,c,d,32,e);f=b+32|0;$F(a+16|0,f,c+16|0,d,32,e);c=c+(e<<3)|0;a=a+(d<<3)|0;$F(a,b,c,d,32,e);$F(a+16|0,f,c+16|0,d,32,e);return}function TG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;aG(a,b,c,d,32,e);f=b+32|0;aG(a+16|0,f,c+16|0,d,32,e);c=c+(e<<3)|0;a=a+(d<<3)|0;aG(a,b,c,d,32,e);aG(a+16|0,f,c+16|0,d,32,e);return}function UG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;bG(a,b,c,d,32,e);f=b+16|0;bG(a+16|0,f,c+16|0,d,32,e);c=c+(e<<3)|0;a=a+(d<<3)|0;bG(a,b,c,d,32,e);bG(a+16|0,f,c+16|0,d,32,e);return}function VG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;cG(a,b,c,d,16,e);f=b+16|0;cG(a+8|0,f,c+8|0,d,16,e);c=c+(e<<3)|0;a=a+(d<<3)|0;cG(a,b,c,d,16,e);cG(a+8|0,f,c+8|0,d,16,e);return}function WG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;dG(a,b,c,d,32,e);f=b+16|0;dG(a+16|0,f,c+16|0,d,32,e);c=c+(e<<3)|0;a=a+(d<<3)|0;dG(a,b,c,d,32,e);dG(a+16|0,f,c+16|0,d,32,e);return}function XG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;eG(a,b,c,d,32,e);f=b+32|0;eG(a+16|0,f,c+16|0,d,32,e);c=c+(e<<3)|0;a=a+(d<<3)|0;eG(a,b,c,d,32,e);eG(a+16|0,f,c+16|0,d,32,e);return}function YG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;fG(a,b,c,d,32,e);f=b+32|0;fG(a+16|0,f,c+16|0,d,32,e);c=c+(e<<3)|0;a=a+(d<<3)|0;fG(a,b,c,d,32,e);fG(a+16|0,f,c+16|0,d,32,e);return}function ZG(a,b,c){a=a|0;b=b|0;c=c|0;gG(a,b,c,32);gG(a+16|0,b+16|0,c,32);a=a+(c<<3)|0;gG(a,b+256|0,c,32);gG(a+16|0,b+272|0,c,32);return}function _G(a,b,c){a=a|0;b=b|0;c=c|0;hG(a,b,c,16);hG(a+8|0,b+8|0,c,16);a=a+(c<<3)|0;hG(a,b+128|0,c,16);hG(a+8|0,b+136|0,c,16);return}function $G(a,b,c){a=a|0;b=b|0;c=c|0;iG(a,b,c,32);iG(a+16|0,b+16|0,c,32);a=a+(c<<3)|0;iG(a,b+256|0,c,32);iG(a+16|0,b+272|0,c,32);return}function aH(a,b,c){a=a|0;b=b|0;c=c|0;jG(a,b,c,32);jG(a+16|0,b+16|0,c,32);a=a+(c<<3)|0;jG(a,b+256|0,c,32);jG(a+16|0,b+272|0,c,32);return}function bH(a,b,c){a=a|0;b=b|0;c=c|0;kG(a,b,c,32);kG(a+16|0,b+16|0,c,32);a=a+(c<<3)|0;kG(a,b+256|0,c,32);kG(a+16|0,b+272|0,c,32);return}function cH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;lG(a,b,c,d);lG(a+16|0,b+16|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;lG(a,b,c,d);lG(a+16|0,b+16|0,c,d);return}function dH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;mG(a,b,c,d);mG(a+8|0,b+8|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;mG(a,b,c,d);mG(a+8|0,b+8|0,c,d);return}function eH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;nG(a,b,c,d);nG(a+16|0,b+16|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;nG(a,b,c,d);nG(a+16|0,b+16|0,c,d);return}function fH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;oG(a,b,c,d);oG(a+16|0,b+16|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;oG(a,b,c,d);oG(a+16|0,b+16|0,c,d);return}function gH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;pG(a,b,c,d);pG(a+16|0,b+16|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;pG(a,b,c,d);pG(a+16|0,b+16|0,c,d);return}function hH(a,b,c){a=a|0;b=b|0;c=c|0;qG(a,b,c,16);qG(a+16|0,b+16|0,c,16);return}function iH(a,b,c){a=a|0;b=b|0;c=c|0;rG(a,b,c,16);rG(a+8|0,b+8|0,c,16);return}function jH(a,b,c){a=a|0;b=b|0;c=c|0;sG(a,b,c,16);sG(a+16|0,b+16|0,c,16);return}function kH(a,b,c){a=a|0;b=b|0;c=c|0;tG(a,b,c,16);tG(a+16|0,b+16|0,c,16);return}function lH(a,b,c){a=a|0;b=b|0;c=c|0;uG(a,b,c,16);uG(a+16|0,b+16|0,c,16);return}function mH(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==2)break;j=c+2|0;i=c+-2|0;k=c+4|0;l=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;a=c+6|0;l=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+l+(e[a>>1]|0)>>5;b[d>>1]=l>>>0<512?l:0-l>>31&511;a=H((e[a>>1]|0)+(e[c>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+8>>1]|0)>>5;b[d+2>>1]=a>>>0<512?a:0-a>>31&511;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function nH(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;f=0;while(1){if((f|0)==7)break;g=d[c>>0]|d[c+1>>0]<<8|d[c+2>>0]<<16|d[c+3>>0]<<24;a[b>>0]=g;a[b+1>>0]=g>>8;a[b+2>>0]=g>>16;a[b+3>>0]=g>>24;f=f+1|0;c=c+e|0;b=b+4|0}return}function oH(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=d>>1;f=0;d=c;while(1){if((f|0)==2)break;l=e[d+-4>>1]|0;c=e[d>>1]|0;i=e[d+4>>1]|0;j=e[d+8>>1]|0;h=e[d+12>>1]|0;k=e[d+16>>1]|0;m=(e[d+-8>>1]|0)+16+h+((i+c|0)*20|0)+(H(j+l|0,-5)|0)>>5;b[a>>1]=m>>>0<512?m:0-m>>31&511;c=l+16+k+((j+i|0)*20|0)+(H(h+c|0,-5)|0)>>5;b[a+(g<<1)>>1]=c>>>0<512?c:0-c>>31&511;f=f+1|0;a=a+2|0;d=d+2|0}return}function pH(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=0;while(1){if((h|0)==2)break;j=b+(H(h,g)|0)|0;i=e+(h<<2)|0;i=PE(d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24,0,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24,0)|0;M()|0;c[a+(H(h,f)|0)>>2]=i;h=h+1|0}return}function qH(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;g=0;while(1){if((g|0)==2)break;j=c+1|0;i=c+-1|0;k=c+2|0;l=H((d[k>>0]|0)+(d[i>>0]|0)|0,-5)|0;h=c+3|0;l=(((d[j>>0]|0)+(d[c>>0]|0)|0)*20|0)+16+(d[c+-2>>0]|0)+l+(d[h>>0]|0)>>5;a[b>>0]=l>>>0>255?(l^-2147483648)>>31:l;h=H((d[h>>0]|0)+(d[c>>0]|0)|0,-5)|0;h=(((d[k>>0]|0)+(d[j>>0]|0)|0)*20|0)+16+(d[i>>0]|0)+h+(d[c+4>>0]|0)>>5;a[b+1>>0]=h>>>0>255?(h^-2147483648)>>31:h;c=c+f|0;b=b+e|0;g=g+1|0}return}function rH(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;f=0;while(1){if((f|0)==7)break;g=d[c>>0]|d[c+1>>0]<<8;a[b>>0]=g;a[b+1>>0]=g>>8;f=f+1|0;c=c+e|0;b=b+2|0}return} +function sH(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=0;while(1){if((f|0)==2)break;l=d[c+-2>>0]|0;g=d[c>>0]|0;i=d[c+2>>0]|0;j=d[c+4>>0]|0;h=d[c+6>>0]|0;k=d[c+8>>0]|0;m=(d[c+-4>>0]|0)+16+h+((i+g|0)*20|0)+(H(j+l|0,-5)|0)>>5;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;g=l+16+k+((j+i|0)*20|0)+(H(h+g|0,-5)|0)>>5;a[b+e>>0]=g>>>0>255?(g^-2147483648)>>31:g;f=f+1|0;b=b+1|0;c=c+1|0}return}function tH(a,c,e,f,g){a=a|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=0;while(1){if((h|0)==2)break;j=c+(H(h,g)|0)|0;i=e+(h<<1)|0;b[a+(H(h,f)|0)>>1]=UE((d[j>>0]|d[j+1>>0]<<8)&65535,(d[i>>0]|d[i+1>>0]<<8)&65535)|0;h=h+1|0}return}function uH(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==2)break;j=c+2|0;i=c+-2|0;k=c+4|0;l=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;a=c+6|0;l=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+l+(e[a>>1]|0)>>5;b[d>>1]=l>>>0<1024?l:0-l>>31&1023;a=H((e[a>>1]|0)+(e[c>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+8>>1]|0)>>5;b[d+2>>1]=a>>>0<1024?a:0-a>>31&1023;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function vH(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;f=0;while(1){if((f|0)==7)break;g=d[c>>0]|d[c+1>>0]<<8|d[c+2>>0]<<16|d[c+3>>0]<<24;a[b>>0]=g;a[b+1>>0]=g>>8;a[b+2>>0]=g>>16;a[b+3>>0]=g>>24;f=f+1|0;c=c+e|0;b=b+4|0}return}function wH(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=d>>1;f=0;d=c;while(1){if((f|0)==2)break;l=e[d+-4>>1]|0;c=e[d>>1]|0;i=e[d+4>>1]|0;j=e[d+8>>1]|0;h=e[d+12>>1]|0;k=e[d+16>>1]|0;m=(e[d+-8>>1]|0)+16+h+((i+c|0)*20|0)+(H(j+l|0,-5)|0)>>5;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;c=l+16+k+((j+i|0)*20|0)+(H(h+c|0,-5)|0)>>5;b[a+(g<<1)>>1]=c>>>0<1024?c:0-c>>31&1023;f=f+1|0;a=a+2|0;d=d+2|0}return}function xH(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=0;while(1){if((h|0)==2)break;j=b+(H(h,g)|0)|0;i=e+(h<<2)|0;i=PE(d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24,0,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24,0)|0;M()|0;c[a+(H(h,f)|0)>>2]=i;h=h+1|0}return}function yH(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==2)break;j=c+2|0;i=c+-2|0;k=c+4|0;l=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;a=c+6|0;l=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+l+(e[a>>1]|0)>>5;b[d>>1]=l>>>0<4096?l:0-l>>31&4095;a=H((e[a>>1]|0)+(e[c>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+8>>1]|0)>>5;b[d+2>>1]=a>>>0<4096?a:0-a>>31&4095;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function zH(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;f=0;while(1){if((f|0)==7)break;g=d[c>>0]|d[c+1>>0]<<8|d[c+2>>0]<<16|d[c+3>>0]<<24;a[b>>0]=g;a[b+1>>0]=g>>8;a[b+2>>0]=g>>16;a[b+3>>0]=g>>24;f=f+1|0;c=c+e|0;b=b+4|0}return}function AH(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=d>>1;f=0;d=c;while(1){if((f|0)==2)break;l=e[d+-4>>1]|0;c=e[d>>1]|0;i=e[d+4>>1]|0;j=e[d+8>>1]|0;h=e[d+12>>1]|0;k=e[d+16>>1]|0;m=(e[d+-8>>1]|0)+16+h+((i+c|0)*20|0)+(H(j+l|0,-5)|0)>>5;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;c=l+16+k+((j+i|0)*20|0)+(H(h+c|0,-5)|0)>>5;b[a+(g<<1)>>1]=c>>>0<4096?c:0-c>>31&4095;f=f+1|0;a=a+2|0;d=d+2|0}return}function BH(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=0;while(1){if((h|0)==2)break;j=b+(H(h,g)|0)|0;i=e+(h<<2)|0;i=PE(d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24,0,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24,0)|0;M()|0;c[a+(H(h,f)|0)>>2]=i;h=h+1|0}return}function CH(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==2)break;j=c+2|0;i=c+-2|0;k=c+4|0;l=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;a=c+6|0;l=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+l+(e[a>>1]|0)>>5;b[d>>1]=l>>>0<16384?l:0-l>>31&16383;a=H((e[a>>1]|0)+(e[c>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+8>>1]|0)>>5;b[d+2>>1]=a>>>0<16384?a:0-a>>31&16383;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function DH(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;f=0;while(1){if((f|0)==7)break;g=d[c>>0]|d[c+1>>0]<<8|d[c+2>>0]<<16|d[c+3>>0]<<24;a[b>>0]=g;a[b+1>>0]=g>>8;a[b+2>>0]=g>>16;a[b+3>>0]=g>>24;f=f+1|0;c=c+e|0;b=b+4|0}return}function EH(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=d>>1;f=0;d=c;while(1){if((f|0)==2)break;l=e[d+-4>>1]|0;c=e[d>>1]|0;i=e[d+4>>1]|0;j=e[d+8>>1]|0;h=e[d+12>>1]|0;k=e[d+16>>1]|0;m=(e[d+-8>>1]|0)+16+h+((i+c|0)*20|0)+(H(j+l|0,-5)|0)>>5;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;c=l+16+k+((j+i|0)*20|0)+(H(h+c|0,-5)|0)>>5;b[a+(g<<1)>>1]=c>>>0<16384?c:0-c>>31&16383;f=f+1|0;a=a+2|0;d=d+2|0}return}function FH(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=0;while(1){if((h|0)==2)break;j=b+(H(h,g)|0)|0;i=e+(h<<2)|0;i=PE(d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24,0,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24,0)|0;M()|0;c[a+(H(h,f)|0)>>2]=i;h=h+1|0}return}function GH(a,c,d,f,g){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=g>>1;h=c;i=0;g=d+(0-(j<<1)<<1)|0;while(1){if((i|0)==7)break;l=g+2|0;k=g+-2|0;m=g+4|0;n=H((e[m>>1]|0)+(e[k>>1]|0)|0,-5)|0;d=g+6|0;b[h>>1]=(((e[l>>1]|0)+(e[g>>1]|0)|0)*20|0)+(e[g+-4>>1]|0)+n+(e[d>>1]|0);d=H((e[d>>1]|0)+(e[g>>1]|0)|0,-5)|0;b[h+2>>1]=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+(e[k>>1]|0)+d+(e[g+8>>1]|0);h=h+8|0;i=i+1|0;g=g+(j<<1)|0}i=f>>1;g=c+16|0;h=0;while(1){if((h|0)==2)break;f=b[g+-8>>1]|0;n=b[g>>1]|0;l=b[g+8>>1]|0;k=b[g+16>>1]|0;m=b[g+24>>1]|0;c=b[g+32>>1]|0;j=(b[g+-16>>1]|0)+512+m+((l+n|0)*20|0)+(H(k+f|0,-5)|0)>>10;b[a>>1]=j>>>0<512?j:0-j>>31&511;n=f+512+c+((k+l|0)*20|0)+(H(m+n|0,-5)|0)>>10;b[a+(i<<1)>>1]=n>>>0<512?n:0-n>>31&511;a=a+2|0;g=g+2|0;h=h+1|0}return}function HH(c,e,f,g,h){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=e;j=0;f=f+(0-(h<<1))|0;while(1){if((j|0)==7)break;m=f+1|0;l=f+-1|0;n=f+2|0;o=H((d[n>>0]|0)+(d[l>>0]|0)|0,-5)|0;k=f+3|0;b[i>>1]=(((d[m>>0]|0)+(d[f>>0]|0)|0)*20|0)+(d[f+-2>>0]|0)+o+(d[k>>0]|0);k=H((d[k>>0]|0)+(d[f>>0]|0)|0,-5)|0;b[i+2>>1]=(((d[n>>0]|0)+(d[m>>0]|0)|0)*20|0)+(d[l>>0]|0)+k+(d[f+4>>0]|0);i=i+4|0;j=j+1|0;f=f+h|0}f=e+8|0;i=0;while(1){if((i|0)==2)break;e=b[f+-4>>1]|0;o=b[f>>1]|0;m=b[f+4>>1]|0;l=b[f+8>>1]|0;n=b[f+12>>1]|0;k=b[f+16>>1]|0;h=(b[f+-8>>1]|0)+512+n+((m+o|0)*20|0)+(H(l+e|0,-5)|0)>>10;a[c>>0]=h>>>0>255?(h^-2147483648)>>31:h;o=e+512+k+((l+m|0)*20|0)+(H(n+o|0,-5)|0)>>10;a[c+g>>0]=o>>>0>255?(o^-2147483648)>>31:o;c=c+1|0;f=f+2|0;i=i+1|0}return}function IH(a,c,d,f,g){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=g>>1;h=c;i=0;g=d+(0-(j<<1)<<1)|0;while(1){if((i|0)==7)break;l=g+2|0;k=g+-2|0;m=g+4|0;n=H((e[m>>1]|0)+(e[k>>1]|0)|0,-5)|0;d=g+6|0;b[h>>1]=(((e[l>>1]|0)+(e[g>>1]|0)|0)*20|0)+55306+(e[g+-4>>1]|0)+n+(e[d>>1]|0);d=H((e[d>>1]|0)+(e[g>>1]|0)|0,-5)|0;b[h+2>>1]=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+55306+(e[k>>1]|0)+d+(e[g+8>>1]|0);h=h+8|0;i=i+1|0;g=g+(j<<1)|0}i=f>>1;g=c+16|0;h=0;while(1){if((h|0)==2)break;f=b[g+-8>>1]|0;n=(b[g>>1]|0)+10230|0;l=(b[g+8>>1]|0)+10230|0;k=(b[g+16>>1]|0)+10230|0;m=(b[g+24>>1]|0)+10230|0;c=b[g+32>>1]|0;j=(b[g+-16>>1]|0)+10742+m+((l+n|0)*20|0)+(H(k+(f+10230)|0,-5)|0)>>10;b[a>>1]=j>>>0<1024?j:0-j>>31&1023;n=f+20972+c+((k+l|0)*20|0)+(H(m+n|0,-5)|0)>>10;b[a+(i<<1)>>1]=n>>>0<1024?n:0-n>>31&1023;a=a+2|0;g=g+2|0;h=h+1|0}return}function JH(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=h>>1;i=d;j=0;h=f+(0-(k<<1)<<1)|0;while(1){if((j|0)==7)break;f=e[h>>1]|0;m=e[h+2>>1]|0;l=e[h+-2>>1]|0;n=e[h+4>>1]|0;p=H(n+l|0,-5)|0;o=e[h+6>>1]|0;c[i>>2]=((m+f|0)*20|0)+(e[h+-4>>1]|0)+p+o;f=H(o+f|0,-5)|0;c[i+4>>2]=((n+m|0)*20|0)+l+f+(e[h+8>>1]|0);i=i+16|0;j=j+1|0;h=h+(k<<1)|0}j=g>>1;h=d+32|0;i=0;while(1){if((i|0)==2)break;d=c[h+-16>>2]|0;p=c[h>>2]|0;n=c[h+16>>2]|0;m=c[h+32>>2]|0;o=c[h+48>>2]|0;l=c[h+64>>2]|0;g=(c[h+-32>>2]|0)+512+o+((n+p|0)*20|0)+(H(m+d|0,-5)|0)>>10;b[a>>1]=g>>>0<4096?g:0-g>>31&4095;p=d+512+l+((m+n|0)*20|0)+(H(o+p|0,-5)|0)>>10;b[a+(j<<1)>>1]=p>>>0<4096?p:0-p>>31&4095;a=a+2|0;h=h+4|0;i=i+1|0}return}function KH(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=h>>1;i=d;j=0;h=f+(0-(k<<1)<<1)|0;while(1){if((j|0)==7)break;f=e[h>>1]|0;m=e[h+2>>1]|0;l=e[h+-2>>1]|0;n=e[h+4>>1]|0;p=H(n+l|0,-5)|0;o=e[h+6>>1]|0;c[i>>2]=((m+f|0)*20|0)+(e[h+-4>>1]|0)+p+o;f=H(o+f|0,-5)|0;c[i+4>>2]=((n+m|0)*20|0)+l+f+(e[h+8>>1]|0);i=i+16|0;j=j+1|0;h=h+(k<<1)|0}j=g>>1;h=d+32|0;i=0;while(1){if((i|0)==2)break;d=c[h+-16>>2]|0;p=c[h>>2]|0;n=c[h+16>>2]|0;m=c[h+32>>2]|0;o=c[h+48>>2]|0;l=c[h+64>>2]|0;g=(c[h+-32>>2]|0)+512+o+((n+p|0)*20|0)+(H(m+d|0,-5)|0)>>10;b[a>>1]=g>>>0<16384?g:0-g>>31&16383;p=d+512+l+((m+n|0)*20|0)+(H(o+p|0,-5)|0)>>10;b[a+(j<<1)>>1]=p>>>0<16384?p:0-p>>31&16383;a=a+2|0;h=h+4|0;i=i+1|0}return}function LH(a,b,e){a=a|0;b=b|0;e=e|0;var f=0;f=0;while(1){if((f|0)==2)break;c[a>>2]=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;f=f+1|0;b=b+e|0;a=a+e|0}return}function MH(a,c,e){a=a|0;c=c|0;e=e|0;var f=0;f=0;while(1){if((f|0)==2)break;b[a>>1]=d[c>>0]|d[c+1>>0]<<8;f=f+1|0;c=c+e|0;a=a+e|0}return}function NH(a,b,e){a=a|0;b=b|0;e=e|0;var f=0;f=0;while(1){if((f|0)==2)break;c[a>>2]=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;f=f+1|0;b=b+e|0;a=a+e|0}return}function OH(a,b,e){a=a|0;b=b|0;e=e|0;var f=0;f=0;while(1){if((f|0)==2)break;c[a>>2]=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;f=f+1|0;b=b+e|0;a=a+e|0}return}function PH(a,b,e){a=a|0;b=b|0;e=e|0;var f=0;f=0;while(1){if((f|0)==2)break;c[a>>2]=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;f=f+1|0;b=b+e|0;a=a+e|0}return}function QH(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=0;while(1){if((h|0)==4)break;i=b+(H(h,g)|0)|0;l=i;i=i+4|0;k=e+(h<<3)|0;j=k;k=k+4|0;k=PE(d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24)|0;j=M()|0;i=a+(H(h,f)|0)|0;c[i>>2]=k;c[i+4>>2]=j;h=h+1|0}return}function RH(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=0;while(1){if((h|0)==4)break;j=b+(H(h,g)|0)|0;i=e+(h<<2)|0;c[a+(H(h,f)|0)>>2]=UE(d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24)|0;h=h+1|0}return}function SH(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=0;while(1){if((h|0)==4)break;i=b+(H(h,g)|0)|0;l=i;i=i+4|0;k=e+(h<<3)|0;j=k;k=k+4|0;k=PE(d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24)|0;j=M()|0;i=a+(H(h,f)|0)|0;c[i>>2]=k;c[i+4>>2]=j;h=h+1|0}return}function TH(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=0;while(1){if((h|0)==4)break;i=b+(H(h,g)|0)|0;l=i;i=i+4|0;k=e+(h<<3)|0;j=k;k=k+4|0;k=PE(d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24)|0;j=M()|0;i=a+(H(h,f)|0)|0;c[i>>2]=k;c[i+4>>2]=j;h=h+1|0}return}function UH(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=0;while(1){if((h|0)==4)break;i=b+(H(h,g)|0)|0;l=i;i=i+4|0;k=e+(h<<3)|0;j=k;k=k+4|0;k=PE(d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24)|0;j=M()|0;i=a+(H(h,f)|0)|0;c[i>>2]=k;c[i+4>>2]=j;h=h+1|0}return}function VH(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;f=0;while(1){if((f|0)==4)break;h=b;i=h;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=a;c[g>>2]=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;c[g+4>>2]=h;f=f+1|0;b=b+e|0;a=a+e|0}return}function WH(a,b,e){a=a|0;b=b|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;c[a>>2]=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;f=f+1|0;b=b+e|0;a=a+e|0}return}function XH(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;f=0;while(1){if((f|0)==4)break;h=b;i=h;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=a;c[g>>2]=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;c[g+4>>2]=h;f=f+1|0;b=b+e|0;a=a+e|0}return}function YH(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;f=0;while(1){if((f|0)==4)break;h=b;i=h;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=a;c[g>>2]=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;c[g+4>>2]=h;f=f+1|0;b=b+e|0;a=a+e|0}return}function ZH(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;f=0;while(1){if((f|0)==4)break;h=b;i=h;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=a;c[g>>2]=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;c[g+4>>2]=h;f=f+1|0;b=b+e|0;a=a+e|0}return}function _H(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=0;while(1){if((j|0)>=(i|0))break;n=H(j,g)|0;k=b+n|0;o=k;k=k+4|0;m=H(j,h)|0;p=e+m|0;l=p;p=p+4|0;p=PE(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24,d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24)|0;l=M()|0;k=H(j,f)|0;o=a+k|0;c[o>>2]=p;c[o+4>>2]=l;n=b+(n+8)|0;o=n;n=n+4|0;m=e+(m+8)|0;l=m;m=m+4|0;m=PE(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24)|0;l=M()|0;k=a+(k+8)|0;c[k>>2]=m;c[k+4>>2]=l;j=j+1|0}return}function $H(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;j=0;while(1){if((j|0)>=(i|0))break;m=H(j,g)|0;o=b+m|0;l=H(j,h)|0;n=e+l|0;k=H(j,f)|0;c[a+k>>2]=UE(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24)|0;m=b+(m+4)|0;l=e+(l+4)|0;c[a+(k+4)>>2]=UE(d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24)|0;j=j+1|0}return}function aI(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=0;while(1){if((j|0)>=(i|0))break;n=H(j,g)|0;k=b+n|0;o=k;k=k+4|0;m=H(j,h)|0;p=e+m|0;l=p;p=p+4|0;p=PE(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24,d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24)|0;l=M()|0;k=H(j,f)|0;o=a+k|0;c[o>>2]=p;c[o+4>>2]=l;n=b+(n+8)|0;o=n;n=n+4|0;m=e+(m+8)|0;l=m;m=m+4|0;m=PE(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24)|0;l=M()|0;k=a+(k+8)|0;c[k>>2]=m;c[k+4>>2]=l;j=j+1|0}return}function bI(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=0;while(1){if((j|0)>=(i|0))break;n=H(j,g)|0;k=b+n|0;o=k;k=k+4|0;m=H(j,h)|0;p=e+m|0;l=p;p=p+4|0;p=PE(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24,d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24)|0;l=M()|0;k=H(j,f)|0;o=a+k|0;c[o>>2]=p;c[o+4>>2]=l;n=b+(n+8)|0;o=n;n=n+4|0;m=e+(m+8)|0;l=m;m=m+4|0;m=PE(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24)|0;l=M()|0;k=a+(k+8)|0;c[k>>2]=m;c[k+4>>2]=l;j=j+1|0}return}function cI(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=0;while(1){if((j|0)>=(i|0))break;n=H(j,g)|0;k=b+n|0;o=k;k=k+4|0;m=H(j,h)|0;p=e+m|0;l=p;p=p+4|0;p=PE(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24,d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24)|0;l=M()|0;k=H(j,f)|0;o=a+k|0;c[o>>2]=p;c[o+4>>2]=l;n=b+(n+8)|0;o=n;n=n+4|0;m=e+(m+8)|0;l=m;m=m+4|0;m=PE(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24)|0;l=M()|0;k=a+(k+8)|0;c[k>>2]=m;c[k+4>>2]=l;j=j+1|0}return}function dI(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=0;while(1){if((g|0)>=(f|0))break;j=b;h=j;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;i=a;c[i>>2]=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;c[i+4>>2]=j;i=b+8|0;j=i;i=i+4|0;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;h=a+8|0;c[h>>2]=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;c[h+4>>2]=i;g=g+1|0;a=a+e|0;b=b+e|0}return}function eI(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0;g=0;while(1){if((g|0)>=(f|0))break;c[a>>2]=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;h=b+4|0;c[a+4>>2]=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=g+1|0;a=a+e|0;b=b+e|0}return}function fI(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=0;while(1){if((g|0)>=(f|0))break;j=b;h=j;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;i=a;c[i>>2]=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;c[i+4>>2]=j;i=b+8|0;j=i;i=i+4|0;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;h=a+8|0;c[h>>2]=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;c[h+4>>2]=i;g=g+1|0;a=a+e|0;b=b+e|0}return}function gI(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=0;while(1){if((g|0)>=(f|0))break;j=b;h=j;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;i=a;c[i>>2]=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;c[i+4>>2]=j;i=b+8|0;j=i;i=i+4|0;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;h=a+8|0;c[h>>2]=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;c[h+4>>2]=i;g=g+1|0;a=a+e|0;b=b+e|0}return}function hI(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=0;while(1){if((g|0)>=(f|0))break;j=b;h=j;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;i=a;c[i>>2]=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;c[i+4>>2]=j;i=b+8|0;j=i;i=i+4|0;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;h=a+8|0;c[h>>2]=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;c[h+4>>2]=i;g=g+1|0;a=a+e|0;b=b+e|0}return}function iI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;_H(a,b,c,d,e,32,16);_H(a+16|0,b+16|0,c+16|0,d,e,32,16);return}function jI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;$H(a,b,c,d,e,16,16);$H(a+8|0,b+8|0,c+8|0,d,e,16,16);return}function kI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;aI(a,b,c,d,e,32,16);aI(a+16|0,b+16|0,c+16|0,d,e,32,16);return}function lI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;bI(a,b,c,d,e,32,16);bI(a+16|0,b+16|0,c+16|0,d,e,32,16);return}function mI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;cI(a,b,c,d,e,32,16);cI(a+16|0,b+16|0,c+16|0,d,e,32,16);return}function nI(a,b,c){a=a|0;b=b|0;c=c|0;dI(a,b,c,16);dI(a+16|0,b+16|0,c,16);return}function oI(a,b,c){a=a|0;b=b|0;c=c|0;eI(a,b,c,16);eI(a+8|0,b+8|0,c,16);return}function pI(a,b,c){a=a|0;b=b|0;c=c|0;fI(a,b,c,16);fI(a+16|0,b+16|0,c,16);return}function qI(a,b,c){a=a|0;b=b|0;c=c|0;gI(a,b,c,16);gI(a+16|0,b+16|0,c,16);return}function rI(a,b,c){a=a|0;b=b|0;c=c|0;hI(a,b,c,16);hI(a+16|0,b+16|0,c,16);return}function sI(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;q=8-g|0;p=8-h|0;s=H(p,q)|0;p=H(p,g)|0;q=H(q,h)|0;o=H(h,g)|0;r=d>>1;a:do if(!o){o=p+q|0;if(!o){g=0;while(1){if((g|0)>=(f|0))break a;b[a>>1]=((H(s,e[c>>1]|0)|0)+32|0)>>>6;b[a+2>>1]=((H(s,e[c+2>>1]|0)|0)+32|0)>>>6;b[a+4>>1]=((H(s,e[c+4>>1]|0)|0)+32|0)>>>6;b[a+6>>1]=((H(s,e[c+6>>1]|0)|0)+32|0)>>>6;b[a+8>>1]=((H(s,e[c+8>>1]|0)|0)+32|0)>>>6;b[a+10>>1]=((H(s,e[c+10>>1]|0)|0)+32|0)>>>6;b[a+12>>1]=((H(s,e[c+12>>1]|0)|0)+32|0)>>>6;b[a+14>>1]=((H(s,e[c+14>>1]|0)|0)+32|0)>>>6;a=a+(r<<1)|0;g=g+1|0;c=c+(r<<1)|0}}h=q|0?r:1;d=h+1|0;i=h+2|0;j=h+3|0;k=h+4|0;l=h+5|0;m=h+6|0;n=h+7|0;g=0;while(1){if((g|0)>=(f|0))break a;q=H(s,e[c>>1]|0)|0;b[a>>1]=(q+32+(H(o,e[c+(h<<1)>>1]|0)|0)|0)>>>6;q=H(s,e[c+2>>1]|0)|0;b[a+2>>1]=(q+32+(H(o,e[c+(d<<1)>>1]|0)|0)|0)>>>6;q=H(s,e[c+4>>1]|0)|0;b[a+4>>1]=(q+32+(H(o,e[c+(i<<1)>>1]|0)|0)|0)>>>6;q=H(s,e[c+6>>1]|0)|0;b[a+6>>1]=(q+32+(H(o,e[c+(j<<1)>>1]|0)|0)|0)>>>6;q=H(s,e[c+8>>1]|0)|0;b[a+8>>1]=(q+32+(H(o,e[c+(k<<1)>>1]|0)|0)|0)>>>6;q=H(s,e[c+10>>1]|0)|0;b[a+10>>1]=(q+32+(H(o,e[c+(l<<1)>>1]|0)|0)|0)>>>6;q=H(s,e[c+12>>1]|0)|0;b[a+12>>1]=(q+32+(H(o,e[c+(m<<1)>>1]|0)|0)|0)>>>6;q=H(s,e[c+14>>1]|0)|0;b[a+14>>1]=(q+32+(H(o,e[c+(n<<1)>>1]|0)|0)|0)>>>6;a=a+(r<<1)|0;g=g+1|0;c=c+(r<<1)|0}}else{h=r+1|0;d=r+2|0;i=r+3|0;j=r+4|0;k=r+5|0;l=r+6|0;m=r+7|0;n=r+8|0;g=0;while(1){if((g|0)>=(f|0))break a;v=H(s,e[c>>1]|0)|0;u=c+2|0;x=H(p,e[u>>1]|0)|0;t=c+(r<<1)|0;y=H(q,e[t>>1]|0)|0;w=c+(h<<1)|0;b[a>>1]=(v+32+x+y+(H(o,e[w>>1]|0)|0)|0)>>>6;u=H(s,e[u>>1]|0)|0;y=c+4|0;x=H(p,e[y>>1]|0)|0;w=H(q,e[w>>1]|0)|0;v=c+(d<<1)|0;b[a+2>>1]=(u+32+x+w+(H(o,e[v>>1]|0)|0)|0)>>>6;y=H(s,e[y>>1]|0)|0;w=c+6|0;x=H(p,e[w>>1]|0)|0;v=H(q,e[v>>1]|0)|0;u=c+(i<<1)|0;b[a+4>>1]=(y+32+x+v+(H(o,e[u>>1]|0)|0)|0)>>>6;w=H(s,e[w>>1]|0)|0;v=c+8|0;x=H(p,e[v>>1]|0)|0;u=H(q,e[u>>1]|0)|0;y=c+(j<<1)|0;b[a+6>>1]=(w+32+x+u+(H(o,e[y>>1]|0)|0)|0)>>>6;v=H(s,e[v>>1]|0)|0;u=c+10|0;x=H(p,e[u>>1]|0)|0;y=H(q,e[y>>1]|0)|0;w=c+(k<<1)|0;b[a+8>>1]=(v+32+x+y+(H(o,e[w>>1]|0)|0)|0)>>>6;u=H(s,e[u>>1]|0)|0;y=c+12|0;x=H(p,e[y>>1]|0)|0;w=H(q,e[w>>1]|0)|0;v=c+(l<<1)|0;b[a+10>>1]=(u+32+x+w+(H(o,e[v>>1]|0)|0)|0)>>>6;y=H(s,e[y>>1]|0)|0;w=c+14|0;x=H(p,e[w>>1]|0)|0;v=H(q,e[v>>1]|0)|0;u=c+(m<<1)|0;b[a+12>>1]=(y+32+x+v+(H(o,e[u>>1]|0)|0)|0)>>>6;w=H(s,e[w>>1]|0)|0;v=H(p,e[c+16>>1]|0)|0;u=H(q,e[u>>1]|0)|0;b[a+14>>1]=(w+32+v+u+(H(o,e[c+(n<<1)>>1]|0)|0)|0)>>>6;a=a+(r<<1)|0;g=g+1|0;c=t}}while(0);return}function tI(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;r=8-g|0;q=8-h|0;s=H(q,r)|0;q=H(q,g)|0;r=H(r,h)|0;h=H(h,g)|0;a:do if(!h){p=q+r|0;if(!p){g=0;while(1){if((g|0)>=(f|0))break a;a[b>>0]=((H(s,d[c>>0]|0)|0)+32|0)>>>6;a[b+1>>0]=((H(s,d[c+1>>0]|0)|0)+32|0)>>>6;a[b+2>>0]=((H(s,d[c+2>>0]|0)|0)+32|0)>>>6;a[b+3>>0]=((H(s,d[c+3>>0]|0)|0)+32|0)>>>6;a[b+4>>0]=((H(s,d[c+4>>0]|0)|0)+32|0)>>>6;a[b+5>>0]=((H(s,d[c+5>>0]|0)|0)+32|0)>>>6;a[b+6>>0]=((H(s,d[c+6>>0]|0)|0)+32|0)>>>6;a[b+7>>0]=((H(s,d[c+7>>0]|0)|0)+32|0)>>>6;b=b+e|0;g=g+1|0;c=c+e|0}}h=r|0?e:1;i=h+1|0;j=h+2|0;k=h+3|0;l=h+4|0;m=h+5|0;n=h+6|0;o=h+7|0;g=0;while(1){if((g|0)>=(f|0))break a;r=H(s,d[c>>0]|0)|0;a[b>>0]=(r+32+(H(p,d[c+h>>0]|0)|0)|0)>>>6;r=H(s,d[c+1>>0]|0)|0;a[b+1>>0]=(r+32+(H(p,d[c+i>>0]|0)|0)|0)>>>6;r=H(s,d[c+2>>0]|0)|0;a[b+2>>0]=(r+32+(H(p,d[c+j>>0]|0)|0)|0)>>>6;r=H(s,d[c+3>>0]|0)|0;a[b+3>>0]=(r+32+(H(p,d[c+k>>0]|0)|0)|0)>>>6;r=H(s,d[c+4>>0]|0)|0;a[b+4>>0]=(r+32+(H(p,d[c+l>>0]|0)|0)|0)>>>6;r=H(s,d[c+5>>0]|0)|0;a[b+5>>0]=(r+32+(H(p,d[c+m>>0]|0)|0)|0)>>>6;r=H(s,d[c+6>>0]|0)|0;a[b+6>>0]=(r+32+(H(p,d[c+n>>0]|0)|0)|0)>>>6;r=H(s,d[c+7>>0]|0)|0;a[b+7>>0]=(r+32+(H(p,d[c+o>>0]|0)|0)|0)>>>6;b=b+e|0;g=g+1|0;c=c+e|0}}else{i=e+1|0;j=e+2|0;k=e+3|0;l=e+4|0;m=e+5|0;n=e+6|0;o=e+7|0;p=e+8|0;g=0;while(1){if((g|0)>=(f|0))break a;v=H(s,d[c>>0]|0)|0;u=c+1|0;x=H(q,d[u>>0]|0)|0;t=c+e|0;y=H(r,d[t>>0]|0)|0;w=c+i|0;a[b>>0]=(v+32+x+y+(H(h,d[w>>0]|0)|0)|0)>>>6;u=H(s,d[u>>0]|0)|0;y=c+2|0;x=H(q,d[y>>0]|0)|0;w=H(r,d[w>>0]|0)|0;v=c+j|0;a[b+1>>0]=(u+32+x+w+(H(h,d[v>>0]|0)|0)|0)>>>6;y=H(s,d[y>>0]|0)|0;w=c+3|0;x=H(q,d[w>>0]|0)|0;v=H(r,d[v>>0]|0)|0;u=c+k|0;a[b+2>>0]=(y+32+x+v+(H(h,d[u>>0]|0)|0)|0)>>>6;w=H(s,d[w>>0]|0)|0;v=c+4|0;x=H(q,d[v>>0]|0)|0;u=H(r,d[u>>0]|0)|0;y=c+l|0;a[b+3>>0]=(w+32+x+u+(H(h,d[y>>0]|0)|0)|0)>>>6;v=H(s,d[v>>0]|0)|0;u=c+5|0;x=H(q,d[u>>0]|0)|0;y=H(r,d[y>>0]|0)|0;w=c+m|0;a[b+4>>0]=(v+32+x+y+(H(h,d[w>>0]|0)|0)|0)>>>6;u=H(s,d[u>>0]|0)|0;y=c+6|0;x=H(q,d[y>>0]|0)|0;w=H(r,d[w>>0]|0)|0;v=c+n|0;a[b+5>>0]=(u+32+x+w+(H(h,d[v>>0]|0)|0)|0)>>>6;y=H(s,d[y>>0]|0)|0;w=c+7|0;x=H(q,d[w>>0]|0)|0;v=H(r,d[v>>0]|0)|0;u=c+o|0;a[b+6>>0]=(y+32+x+v+(H(h,d[u>>0]|0)|0)|0)>>>6;w=H(s,d[w>>0]|0)|0;v=H(q,d[c+8>>0]|0)|0;u=H(r,d[u>>0]|0)|0;a[b+7>>0]=(w+32+v+u+(H(h,d[c+p>>0]|0)|0)|0)>>>6;b=b+e|0;g=g+1|0;c=t}}while(0);return}function uI(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;m=8-g|0;l=8-h|0;o=H(l,m)|0;l=H(l,g)|0;m=H(m,h)|0;k=H(h,g)|0;n=d>>1;a:do if(!k){k=l+m|0;if(!k){g=0;while(1){if((g|0)>=(f|0))break a;b[a>>1]=((H(o,e[c>>1]|0)|0)+32|0)>>>6;b[a+2>>1]=((H(o,e[c+2>>1]|0)|0)+32|0)>>>6;b[a+4>>1]=((H(o,e[c+4>>1]|0)|0)+32|0)>>>6;b[a+6>>1]=((H(o,e[c+6>>1]|0)|0)+32|0)>>>6;a=a+(n<<1)|0;g=g+1|0;c=c+(n<<1)|0}}h=m|0?n:1;d=h+1|0;i=h+2|0;j=h+3|0;g=0;while(1){if((g|0)>=(f|0))break a;m=H(o,e[c>>1]|0)|0;b[a>>1]=(m+32+(H(k,e[c+(h<<1)>>1]|0)|0)|0)>>>6;m=H(o,e[c+2>>1]|0)|0;b[a+2>>1]=(m+32+(H(k,e[c+(d<<1)>>1]|0)|0)|0)>>>6;m=H(o,e[c+4>>1]|0)|0;b[a+4>>1]=(m+32+(H(k,e[c+(i<<1)>>1]|0)|0)|0)>>>6;m=H(o,e[c+6>>1]|0)|0;b[a+6>>1]=(m+32+(H(k,e[c+(j<<1)>>1]|0)|0)|0)>>>6;a=a+(n<<1)|0;g=g+1|0;c=c+(n<<1)|0}}else{h=n+1|0;d=n+2|0;i=n+3|0;j=n+4|0;g=0;while(1){if((g|0)>=(f|0))break a;r=H(o,e[c>>1]|0)|0;q=c+2|0;t=H(l,e[q>>1]|0)|0;p=c+(n<<1)|0;u=H(m,e[p>>1]|0)|0;s=c+(h<<1)|0;b[a>>1]=(r+32+t+u+(H(k,e[s>>1]|0)|0)|0)>>>6;q=H(o,e[q>>1]|0)|0;u=c+4|0;t=H(l,e[u>>1]|0)|0;s=H(m,e[s>>1]|0)|0;r=c+(d<<1)|0;b[a+2>>1]=(q+32+t+s+(H(k,e[r>>1]|0)|0)|0)>>>6;u=H(o,e[u>>1]|0)|0;s=c+6|0;t=H(l,e[s>>1]|0)|0;r=H(m,e[r>>1]|0)|0;q=c+(i<<1)|0;b[a+4>>1]=(u+32+t+r+(H(k,e[q>>1]|0)|0)|0)>>>6;s=H(o,e[s>>1]|0)|0;r=H(l,e[c+8>>1]|0)|0;q=H(m,e[q>>1]|0)|0;b[a+6>>1]=(s+32+r+q+(H(k,e[c+(j<<1)>>1]|0)|0)|0)>>>6;a=a+(n<<1)|0;g=g+1|0;c=p}}while(0);return}function vI(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;n=8-g|0;m=8-h|0;o=H(m,n)|0;m=H(m,g)|0;n=H(n,h)|0;h=H(h,g)|0;a:do if(!h){l=m+n|0;if(!l){g=0;while(1){if((g|0)>=(f|0))break a;a[b>>0]=((H(o,d[c>>0]|0)|0)+32|0)>>>6;a[b+1>>0]=((H(o,d[c+1>>0]|0)|0)+32|0)>>>6;a[b+2>>0]=((H(o,d[c+2>>0]|0)|0)+32|0)>>>6;a[b+3>>0]=((H(o,d[c+3>>0]|0)|0)+32|0)>>>6;b=b+e|0;g=g+1|0;c=c+e|0}}h=n|0?e:1;i=h+1|0;j=h+2|0;k=h+3|0;g=0;while(1){if((g|0)>=(f|0))break a;n=H(o,d[c>>0]|0)|0;a[b>>0]=(n+32+(H(l,d[c+h>>0]|0)|0)|0)>>>6;n=H(o,d[c+1>>0]|0)|0;a[b+1>>0]=(n+32+(H(l,d[c+i>>0]|0)|0)|0)>>>6;n=H(o,d[c+2>>0]|0)|0;a[b+2>>0]=(n+32+(H(l,d[c+j>>0]|0)|0)|0)>>>6;n=H(o,d[c+3>>0]|0)|0;a[b+3>>0]=(n+32+(H(l,d[c+k>>0]|0)|0)|0)>>>6;b=b+e|0;g=g+1|0;c=c+e|0}}else{i=e+1|0;j=e+2|0;k=e+3|0;l=e+4|0;g=0;while(1){if((g|0)>=(f|0))break a;r=H(o,d[c>>0]|0)|0;q=c+1|0;t=H(m,d[q>>0]|0)|0;p=c+e|0;u=H(n,d[p>>0]|0)|0;s=c+i|0;a[b>>0]=(r+32+t+u+(H(h,d[s>>0]|0)|0)|0)>>>6;q=H(o,d[q>>0]|0)|0;u=c+2|0;t=H(m,d[u>>0]|0)|0;s=H(n,d[s>>0]|0)|0;r=c+j|0;a[b+1>>0]=(q+32+t+s+(H(h,d[r>>0]|0)|0)|0)>>>6;u=H(o,d[u>>0]|0)|0;s=c+3|0;t=H(m,d[s>>0]|0)|0;r=H(n,d[r>>0]|0)|0;q=c+k|0;a[b+2>>0]=(u+32+t+r+(H(h,d[q>>0]|0)|0)|0)>>>6;s=H(o,d[s>>0]|0)|0;r=H(m,d[c+4>>0]|0)|0;q=H(n,d[q>>0]|0)|0;a[b+3>>0]=(s+32+r+q+(H(h,d[c+l>>0]|0)|0)|0)>>>6;b=b+e|0;g=g+1|0;c=p}}while(0);return}function wI(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;k=8-g|0;j=8-h|0;m=H(j,k)|0;j=H(j,g)|0;k=H(k,h)|0;i=H(h,g)|0;l=d>>1;a:do if(!i){i=j+k|0;if(!i){g=0;while(1){if((g|0)>=(f|0))break a;b[a>>1]=((H(m,e[c>>1]|0)|0)+32|0)>>>6;b[a+2>>1]=((H(m,e[c+2>>1]|0)|0)+32|0)>>>6;a=a+(l<<1)|0;c=c+(l<<1)|0;g=g+1|0}}h=k|0?l:1;d=h+1|0;g=0;while(1){if((g|0)>=(f|0))break a;k=H(m,e[c>>1]|0)|0;b[a>>1]=(k+32+(H(i,e[c+(h<<1)>>1]|0)|0)|0)>>>6;k=H(m,e[c+2>>1]|0)|0;b[a+2>>1]=(k+32+(H(i,e[c+(d<<1)>>1]|0)|0)|0)>>>6;a=a+(l<<1)|0;g=g+1|0;c=c+(l<<1)|0}}else{h=l+1|0;d=l+2|0;g=0;while(1){if((g|0)>=(f|0))break a;s=H(m,e[c>>1]|0)|0;q=c+2|0;r=H(j,e[q>>1]|0)|0;n=c+(l<<1)|0;p=H(k,e[n>>1]|0)|0;o=c+(h<<1)|0;b[a>>1]=(s+32+r+p+(H(i,e[o>>1]|0)|0)|0)>>>6;q=H(m,e[q>>1]|0)|0;p=H(j,e[c+4>>1]|0)|0;o=H(k,e[o>>1]|0)|0;b[a+2>>1]=(q+32+p+o+(H(i,e[c+(d<<1)>>1]|0)|0)|0)>>>6;a=a+(l<<1)|0;g=g+1|0;c=n}}while(0);return}function xI(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;l=8-g|0;k=8-h|0;m=H(k,l)|0;k=H(k,g)|0;l=H(l,h)|0;h=H(h,g)|0;a:do if(!h){j=k+l|0;if(!j){g=0;while(1){if((g|0)>=(f|0))break a;a[b>>0]=((H(m,d[c>>0]|0)|0)+32|0)>>>6;a[b+1>>0]=((H(m,d[c+1>>0]|0)|0)+32|0)>>>6;b=b+e|0;c=c+e|0;g=g+1|0}}h=l|0?e:1;i=h+1|0;g=0;while(1){if((g|0)>=(f|0))break a;l=H(m,d[c>>0]|0)|0;a[b>>0]=(l+32+(H(j,d[c+h>>0]|0)|0)|0)>>>6;l=H(m,d[c+1>>0]|0)|0;a[b+1>>0]=(l+32+(H(j,d[c+i>>0]|0)|0)|0)>>>6;b=b+e|0;g=g+1|0;c=c+e|0}}else{i=e+1|0;j=e+2|0;g=0;while(1){if((g|0)>=(f|0))break a;s=H(m,d[c>>0]|0)|0;q=c+1|0;r=H(k,d[q>>0]|0)|0;n=c+e|0;p=H(l,d[n>>0]|0)|0;o=c+i|0;a[b>>0]=(s+32+r+p+(H(h,d[o>>0]|0)|0)|0)>>>6;q=H(m,d[q>>0]|0)|0;p=H(k,d[c+2>>0]|0)|0;o=H(l,d[o>>0]|0)|0;a[b+1>>0]=(q+32+p+o+(H(h,d[c+j>>0]|0)|0)|0)>>>6;b=b+e|0;g=g+1|0;c=n}}while(0);return}function yI(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=8-g|0;j=8-h|0;m=H(j,k)|0;j=H(j,g)|0;k=H(k,h)|0;i=H(h,g)|0;l=d>>1;a:do if(!i){d=j+k|0;if(!d){g=0;while(1){if((g|0)>=(f|0))break a;b[a>>1]=((H(m,e[c>>1]|0)|0)+32|0)>>>6;a=a+(l<<1)|0;g=g+1|0;c=c+(l<<1)|0}}h=k|0?l:1;g=0;while(1){if((g|0)>=(f|0))break a;k=H(m,e[c>>1]|0)|0;b[a>>1]=(k+32+(H(d,e[c+(h<<1)>>1]|0)|0)|0)>>>6;a=a+(l<<1)|0;g=g+1|0;c=c+(l<<1)|0}}else{h=l+1|0;g=0;while(1){if((g|0)>=(f|0))break a;p=H(m,e[c>>1]|0)|0;o=H(j,e[c+2>>1]|0)|0;d=c+(l<<1)|0;n=H(k,e[d>>1]|0)|0;b[a>>1]=(p+32+o+n+(H(i,e[c+(h<<1)>>1]|0)|0)|0)>>>6;a=a+(l<<1)|0;g=g+1|0;c=d}}while(0);return}function zI(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=8-g|0;j=8-h|0;l=H(j,k)|0;j=H(j,g)|0;k=H(k,h)|0;h=H(h,g)|0;a:do if(!h){i=j+k|0;if(!i){g=0;while(1){if((g|0)>=(f|0))break a;a[b>>0]=((H(l,d[c>>0]|0)|0)+32|0)>>>6;b=b+e|0;g=g+1|0;c=c+e|0}}h=k|0?e:1;g=0;while(1){if((g|0)>=(f|0))break a;k=H(l,d[c>>0]|0)|0;a[b>>0]=(k+32+(H(i,d[c+h>>0]|0)|0)|0)>>>6;b=b+e|0;g=g+1|0;c=c+e|0}}else{i=e+1|0;g=0;while(1){if((g|0)>=(f|0))break a;p=H(l,d[c>>0]|0)|0;o=H(j,d[c+1>>0]|0)|0;m=c+e|0;n=H(k,d[m>>0]|0)|0;a[b>>0]=(p+32+o+n+(H(h,d[c+i>>0]|0)|0)|0)>>>6;b=b+e|0;g=g+1|0;c=m}}while(0);return}function AI(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;q=8-g|0;p=8-h|0;s=H(p,q)|0;p=H(p,g)|0;q=H(q,h)|0;o=H(h,g)|0;r=d>>1;a:do if(!o){o=p+q|0;if(!o){g=0;while(1){if((g|0)>=(f|0))break a;b[a>>1]=((e[a>>1]|0)+1+(((H(s,e[c>>1]|0)|0)+32|0)>>>6)|0)>>>1;q=a+2|0;b[q>>1]=((e[q>>1]|0)+1+(((H(s,e[c+2>>1]|0)|0)+32|0)>>>6)|0)>>>1;q=a+4|0;b[q>>1]=((e[q>>1]|0)+1+(((H(s,e[c+4>>1]|0)|0)+32|0)>>>6)|0)>>>1;q=a+6|0;b[q>>1]=((e[q>>1]|0)+1+(((H(s,e[c+6>>1]|0)|0)+32|0)>>>6)|0)>>>1;q=a+8|0;b[q>>1]=((e[q>>1]|0)+1+(((H(s,e[c+8>>1]|0)|0)+32|0)>>>6)|0)>>>1;q=a+10|0;b[q>>1]=((e[q>>1]|0)+1+(((H(s,e[c+10>>1]|0)|0)+32|0)>>>6)|0)>>>1;q=a+12|0;b[q>>1]=((e[q>>1]|0)+1+(((H(s,e[c+12>>1]|0)|0)+32|0)>>>6)|0)>>>1;q=a+14|0;b[q>>1]=((e[q>>1]|0)+1+(((H(s,e[c+14>>1]|0)|0)+32|0)>>>6)|0)>>>1;a=a+(r<<1)|0;g=g+1|0;c=c+(r<<1)|0}}h=q|0?r:1;d=h+1|0;i=h+2|0;j=h+3|0;k=h+4|0;l=h+5|0;m=h+6|0;n=h+7|0;g=0;while(1){if((g|0)>=(f|0))break a;q=H(s,e[c>>1]|0)|0;b[a>>1]=((e[a>>1]|0)+1+((q+32+(H(o,e[c+(h<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;q=a+2|0;p=H(s,e[c+2>>1]|0)|0;b[q>>1]=((e[q>>1]|0)+1+((p+32+(H(o,e[c+(d<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;q=a+4|0;p=H(s,e[c+4>>1]|0)|0;b[q>>1]=((e[q>>1]|0)+1+((p+32+(H(o,e[c+(i<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;q=a+6|0;p=H(s,e[c+6>>1]|0)|0;b[q>>1]=((e[q>>1]|0)+1+((p+32+(H(o,e[c+(j<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;q=a+8|0;p=H(s,e[c+8>>1]|0)|0;b[q>>1]=((e[q>>1]|0)+1+((p+32+(H(o,e[c+(k<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;q=a+10|0;p=H(s,e[c+10>>1]|0)|0;b[q>>1]=((e[q>>1]|0)+1+((p+32+(H(o,e[c+(l<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;q=a+12|0;p=H(s,e[c+12>>1]|0)|0;b[q>>1]=((e[q>>1]|0)+1+((p+32+(H(o,e[c+(m<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;q=a+14|0;p=H(s,e[c+14>>1]|0)|0;b[q>>1]=((e[q>>1]|0)+1+((p+32+(H(o,e[c+(n<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;a=a+(r<<1)|0;g=g+1|0;c=c+(r<<1)|0}}else{h=r+1|0;d=r+2|0;i=r+3|0;j=r+4|0;k=r+5|0;l=r+6|0;m=r+7|0;n=r+8|0;g=0;while(1){if((g|0)>=(f|0))break a;y=H(s,e[c>>1]|0)|0;v=c+2|0;z=H(p,e[v>>1]|0)|0;t=c+(r<<1)|0;u=H(q,e[t>>1]|0)|0;x=c+(h<<1)|0;b[a>>1]=((e[a>>1]|0)+1+((y+32+z+u+(H(o,e[x>>1]|0)|0)|0)>>>6)|0)>>>1;u=a+2|0;v=H(s,e[v>>1]|0)|0;z=c+4|0;y=H(p,e[z>>1]|0)|0;x=H(q,e[x>>1]|0)|0;w=c+(d<<1)|0;b[u>>1]=((e[u>>1]|0)+1+((v+32+y+x+(H(o,e[w>>1]|0)|0)|0)>>>6)|0)>>>1;u=a+4|0;z=H(s,e[z>>1]|0)|0;x=c+6|0;y=H(p,e[x>>1]|0)|0;w=H(q,e[w>>1]|0)|0;v=c+(i<<1)|0;b[u>>1]=((e[u>>1]|0)+1+((z+32+y+w+(H(o,e[v>>1]|0)|0)|0)>>>6)|0)>>>1;u=a+6|0;x=H(s,e[x>>1]|0)|0;w=c+8|0;y=H(p,e[w>>1]|0)|0;v=H(q,e[v>>1]|0)|0;z=c+(j<<1)|0;b[u>>1]=((e[u>>1]|0)+1+((x+32+y+v+(H(o,e[z>>1]|0)|0)|0)>>>6)|0)>>>1;u=a+8|0;w=H(s,e[w>>1]|0)|0;v=c+10|0;y=H(p,e[v>>1]|0)|0;z=H(q,e[z>>1]|0)|0;x=c+(k<<1)|0;b[u>>1]=((e[u>>1]|0)+1+((w+32+y+z+(H(o,e[x>>1]|0)|0)|0)>>>6)|0)>>>1;u=a+10|0;v=H(s,e[v>>1]|0)|0;z=c+12|0;y=H(p,e[z>>1]|0)|0;x=H(q,e[x>>1]|0)|0;w=c+(l<<1)|0;b[u>>1]=((e[u>>1]|0)+1+((v+32+y+x+(H(o,e[w>>1]|0)|0)|0)>>>6)|0)>>>1;u=a+12|0;z=H(s,e[z>>1]|0)|0;x=c+14|0;y=H(p,e[x>>1]|0)|0;w=H(q,e[w>>1]|0)|0;v=c+(m<<1)|0;b[u>>1]=((e[u>>1]|0)+1+((z+32+y+w+(H(o,e[v>>1]|0)|0)|0)>>>6)|0)>>>1;u=a+14|0;x=H(s,e[x>>1]|0)|0;w=H(p,e[c+16>>1]|0)|0;v=H(q,e[v>>1]|0)|0;b[u>>1]=((e[u>>1]|0)+1+((x+32+w+v+(H(o,e[c+(n<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;a=a+(r<<1)|0;g=g+1|0;c=t}}while(0);return}function BI(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;r=8-g|0;q=8-h|0;s=H(q,r)|0;q=H(q,g)|0;r=H(r,h)|0;h=H(h,g)|0;a:do if(!h){p=q+r|0;if(!p){g=0;while(1){if((g|0)>=(f|0))break a;a[b>>0]=((d[b>>0]|0)+1+(((H(s,d[c>>0]|0)|0)+32|0)>>>6)|0)>>>1;r=b+1|0;a[r>>0]=((d[r>>0]|0)+1+(((H(s,d[c+1>>0]|0)|0)+32|0)>>>6)|0)>>>1;r=b+2|0;a[r>>0]=((d[r>>0]|0)+1+(((H(s,d[c+2>>0]|0)|0)+32|0)>>>6)|0)>>>1;r=b+3|0;a[r>>0]=((d[r>>0]|0)+1+(((H(s,d[c+3>>0]|0)|0)+32|0)>>>6)|0)>>>1;r=b+4|0;a[r>>0]=((d[r>>0]|0)+1+(((H(s,d[c+4>>0]|0)|0)+32|0)>>>6)|0)>>>1;r=b+5|0;a[r>>0]=((d[r>>0]|0)+1+(((H(s,d[c+5>>0]|0)|0)+32|0)>>>6)|0)>>>1;r=b+6|0;a[r>>0]=((d[r>>0]|0)+1+(((H(s,d[c+6>>0]|0)|0)+32|0)>>>6)|0)>>>1;r=b+7|0;a[r>>0]=((d[r>>0]|0)+1+(((H(s,d[c+7>>0]|0)|0)+32|0)>>>6)|0)>>>1;b=b+e|0;g=g+1|0;c=c+e|0}}h=r|0?e:1;i=h+1|0;j=h+2|0;k=h+3|0;l=h+4|0;m=h+5|0;n=h+6|0;o=h+7|0;g=0;while(1){if((g|0)>=(f|0))break a;r=H(s,d[c>>0]|0)|0;a[b>>0]=((d[b>>0]|0)+1+((r+32+(H(p,d[c+h>>0]|0)|0)|0)>>>6)|0)>>>1;r=b+1|0;q=H(s,d[c+1>>0]|0)|0;a[r>>0]=((d[r>>0]|0)+1+((q+32+(H(p,d[c+i>>0]|0)|0)|0)>>>6)|0)>>>1;r=b+2|0;q=H(s,d[c+2>>0]|0)|0;a[r>>0]=((d[r>>0]|0)+1+((q+32+(H(p,d[c+j>>0]|0)|0)|0)>>>6)|0)>>>1;r=b+3|0;q=H(s,d[c+3>>0]|0)|0;a[r>>0]=((d[r>>0]|0)+1+((q+32+(H(p,d[c+k>>0]|0)|0)|0)>>>6)|0)>>>1;r=b+4|0;q=H(s,d[c+4>>0]|0)|0;a[r>>0]=((d[r>>0]|0)+1+((q+32+(H(p,d[c+l>>0]|0)|0)|0)>>>6)|0)>>>1;r=b+5|0;q=H(s,d[c+5>>0]|0)|0;a[r>>0]=((d[r>>0]|0)+1+((q+32+(H(p,d[c+m>>0]|0)|0)|0)>>>6)|0)>>>1;r=b+6|0;q=H(s,d[c+6>>0]|0)|0;a[r>>0]=((d[r>>0]|0)+1+((q+32+(H(p,d[c+n>>0]|0)|0)|0)>>>6)|0)>>>1;r=b+7|0;q=H(s,d[c+7>>0]|0)|0;a[r>>0]=((d[r>>0]|0)+1+((q+32+(H(p,d[c+o>>0]|0)|0)|0)>>>6)|0)>>>1;b=b+e|0;g=g+1|0;c=c+e|0}}else{i=e+1|0;j=e+2|0;k=e+3|0;l=e+4|0;m=e+5|0;n=e+6|0;o=e+7|0;p=e+8|0;g=0;while(1){if((g|0)>=(f|0))break a;y=H(s,d[c>>0]|0)|0;v=c+1|0;z=H(q,d[v>>0]|0)|0;t=c+e|0;u=H(r,d[t>>0]|0)|0;x=c+i|0;a[b>>0]=((d[b>>0]|0)+1+((y+32+z+u+(H(h,d[x>>0]|0)|0)|0)>>>6)|0)>>>1;u=b+1|0;v=H(s,d[v>>0]|0)|0;z=c+2|0;y=H(q,d[z>>0]|0)|0;x=H(r,d[x>>0]|0)|0;w=c+j|0;a[u>>0]=((d[u>>0]|0)+1+((v+32+y+x+(H(h,d[w>>0]|0)|0)|0)>>>6)|0)>>>1;u=b+2|0;z=H(s,d[z>>0]|0)|0;x=c+3|0;y=H(q,d[x>>0]|0)|0;w=H(r,d[w>>0]|0)|0;v=c+k|0;a[u>>0]=((d[u>>0]|0)+1+((z+32+y+w+(H(h,d[v>>0]|0)|0)|0)>>>6)|0)>>>1;u=b+3|0;x=H(s,d[x>>0]|0)|0;w=c+4|0;y=H(q,d[w>>0]|0)|0;v=H(r,d[v>>0]|0)|0;z=c+l|0;a[u>>0]=((d[u>>0]|0)+1+((x+32+y+v+(H(h,d[z>>0]|0)|0)|0)>>>6)|0)>>>1;u=b+4|0;w=H(s,d[w>>0]|0)|0;v=c+5|0;y=H(q,d[v>>0]|0)|0;z=H(r,d[z>>0]|0)|0;x=c+m|0;a[u>>0]=((d[u>>0]|0)+1+((w+32+y+z+(H(h,d[x>>0]|0)|0)|0)>>>6)|0)>>>1;u=b+5|0;v=H(s,d[v>>0]|0)|0;z=c+6|0;y=H(q,d[z>>0]|0)|0;x=H(r,d[x>>0]|0)|0;w=c+n|0;a[u>>0]=((d[u>>0]|0)+1+((v+32+y+x+(H(h,d[w>>0]|0)|0)|0)>>>6)|0)>>>1;u=b+6|0;z=H(s,d[z>>0]|0)|0;x=c+7|0;y=H(q,d[x>>0]|0)|0;w=H(r,d[w>>0]|0)|0;v=c+o|0;a[u>>0]=((d[u>>0]|0)+1+((z+32+y+w+(H(h,d[v>>0]|0)|0)|0)>>>6)|0)>>>1;u=b+7|0;x=H(s,d[x>>0]|0)|0;w=H(q,d[c+8>>0]|0)|0;v=H(r,d[v>>0]|0)|0;a[u>>0]=((d[u>>0]|0)+1+((x+32+w+v+(H(h,d[c+p>>0]|0)|0)|0)>>>6)|0)>>>1;b=b+e|0;g=g+1|0;c=t}}while(0);return}function CI(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;m=8-g|0;l=8-h|0;o=H(l,m)|0;l=H(l,g)|0;m=H(m,h)|0;k=H(h,g)|0;n=d>>1;a:do if(!k){k=l+m|0;if(!k){g=0;while(1){if((g|0)>=(f|0))break a;b[a>>1]=((e[a>>1]|0)+1+(((H(o,e[c>>1]|0)|0)+32|0)>>>6)|0)>>>1;m=a+2|0;b[m>>1]=((e[m>>1]|0)+1+(((H(o,e[c+2>>1]|0)|0)+32|0)>>>6)|0)>>>1;m=a+4|0;b[m>>1]=((e[m>>1]|0)+1+(((H(o,e[c+4>>1]|0)|0)+32|0)>>>6)|0)>>>1;m=a+6|0;b[m>>1]=((e[m>>1]|0)+1+(((H(o,e[c+6>>1]|0)|0)+32|0)>>>6)|0)>>>1;a=a+(n<<1)|0;g=g+1|0;c=c+(n<<1)|0}}h=m|0?n:1;d=h+1|0;i=h+2|0;j=h+3|0;g=0;while(1){if((g|0)>=(f|0))break a;m=H(o,e[c>>1]|0)|0;b[a>>1]=((e[a>>1]|0)+1+((m+32+(H(k,e[c+(h<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;m=a+2|0;l=H(o,e[c+2>>1]|0)|0;b[m>>1]=((e[m>>1]|0)+1+((l+32+(H(k,e[c+(d<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;m=a+4|0;l=H(o,e[c+4>>1]|0)|0;b[m>>1]=((e[m>>1]|0)+1+((l+32+(H(k,e[c+(i<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;m=a+6|0;l=H(o,e[c+6>>1]|0)|0;b[m>>1]=((e[m>>1]|0)+1+((l+32+(H(k,e[c+(j<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;a=a+(n<<1)|0;g=g+1|0;c=c+(n<<1)|0}}else{h=n+1|0;d=n+2|0;i=n+3|0;j=n+4|0;g=0;while(1){if((g|0)>=(f|0))break a;u=H(o,e[c>>1]|0)|0;r=c+2|0;v=H(l,e[r>>1]|0)|0;p=c+(n<<1)|0;q=H(m,e[p>>1]|0)|0;t=c+(h<<1)|0;b[a>>1]=((e[a>>1]|0)+1+((u+32+v+q+(H(k,e[t>>1]|0)|0)|0)>>>6)|0)>>>1;q=a+2|0;r=H(o,e[r>>1]|0)|0;v=c+4|0;u=H(l,e[v>>1]|0)|0;t=H(m,e[t>>1]|0)|0;s=c+(d<<1)|0;b[q>>1]=((e[q>>1]|0)+1+((r+32+u+t+(H(k,e[s>>1]|0)|0)|0)>>>6)|0)>>>1;q=a+4|0;v=H(o,e[v>>1]|0)|0;t=c+6|0;u=H(l,e[t>>1]|0)|0;s=H(m,e[s>>1]|0)|0;r=c+(i<<1)|0;b[q>>1]=((e[q>>1]|0)+1+((v+32+u+s+(H(k,e[r>>1]|0)|0)|0)>>>6)|0)>>>1;q=a+6|0;t=H(o,e[t>>1]|0)|0;s=H(l,e[c+8>>1]|0)|0;r=H(m,e[r>>1]|0)|0;b[q>>1]=((e[q>>1]|0)+1+((t+32+s+r+(H(k,e[c+(j<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;a=a+(n<<1)|0;g=g+1|0;c=p}}while(0);return}function DI(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;n=8-g|0;m=8-h|0;o=H(m,n)|0;m=H(m,g)|0;n=H(n,h)|0;h=H(h,g)|0;a:do if(!h){l=m+n|0;if(!l){g=0;while(1){if((g|0)>=(f|0))break a;a[b>>0]=((d[b>>0]|0)+1+(((H(o,d[c>>0]|0)|0)+32|0)>>>6)|0)>>>1;n=b+1|0;a[n>>0]=((d[n>>0]|0)+1+(((H(o,d[c+1>>0]|0)|0)+32|0)>>>6)|0)>>>1;n=b+2|0;a[n>>0]=((d[n>>0]|0)+1+(((H(o,d[c+2>>0]|0)|0)+32|0)>>>6)|0)>>>1;n=b+3|0;a[n>>0]=((d[n>>0]|0)+1+(((H(o,d[c+3>>0]|0)|0)+32|0)>>>6)|0)>>>1;b=b+e|0;g=g+1|0;c=c+e|0}}h=n|0?e:1;i=h+1|0;j=h+2|0;k=h+3|0;g=0;while(1){if((g|0)>=(f|0))break a;n=H(o,d[c>>0]|0)|0;a[b>>0]=((d[b>>0]|0)+1+((n+32+(H(l,d[c+h>>0]|0)|0)|0)>>>6)|0)>>>1;n=b+1|0;m=H(o,d[c+1>>0]|0)|0;a[n>>0]=((d[n>>0]|0)+1+((m+32+(H(l,d[c+i>>0]|0)|0)|0)>>>6)|0)>>>1;n=b+2|0;m=H(o,d[c+2>>0]|0)|0;a[n>>0]=((d[n>>0]|0)+1+((m+32+(H(l,d[c+j>>0]|0)|0)|0)>>>6)|0)>>>1;n=b+3|0;m=H(o,d[c+3>>0]|0)|0;a[n>>0]=((d[n>>0]|0)+1+((m+32+(H(l,d[c+k>>0]|0)|0)|0)>>>6)|0)>>>1;b=b+e|0;g=g+1|0;c=c+e|0}}else{i=e+1|0;j=e+2|0;k=e+3|0;l=e+4|0;g=0;while(1){if((g|0)>=(f|0))break a;u=H(o,d[c>>0]|0)|0;r=c+1|0;v=H(m,d[r>>0]|0)|0;p=c+e|0;q=H(n,d[p>>0]|0)|0;t=c+i|0;a[b>>0]=((d[b>>0]|0)+1+((u+32+v+q+(H(h,d[t>>0]|0)|0)|0)>>>6)|0)>>>1;q=b+1|0;r=H(o,d[r>>0]|0)|0;v=c+2|0;u=H(m,d[v>>0]|0)|0;t=H(n,d[t>>0]|0)|0;s=c+j|0;a[q>>0]=((d[q>>0]|0)+1+((r+32+u+t+(H(h,d[s>>0]|0)|0)|0)>>>6)|0)>>>1;q=b+2|0;v=H(o,d[v>>0]|0)|0;t=c+3|0;u=H(m,d[t>>0]|0)|0;s=H(n,d[s>>0]|0)|0;r=c+k|0;a[q>>0]=((d[q>>0]|0)+1+((v+32+u+s+(H(h,d[r>>0]|0)|0)|0)>>>6)|0)>>>1;q=b+3|0;t=H(o,d[t>>0]|0)|0;s=H(m,d[c+4>>0]|0)|0;r=H(n,d[r>>0]|0)|0;a[q>>0]=((d[q>>0]|0)+1+((t+32+s+r+(H(h,d[c+l>>0]|0)|0)|0)>>>6)|0)>>>1;b=b+e|0;g=g+1|0;c=p}}while(0);return}function EI(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;k=8-g|0;j=8-h|0;m=H(j,k)|0;j=H(j,g)|0;k=H(k,h)|0;i=H(h,g)|0;l=d>>1;a:do if(!i){i=j+k|0;if(!i){g=0;while(1){if((g|0)>=(f|0))break a;b[a>>1]=((e[a>>1]|0)+1+(((H(m,e[c>>1]|0)|0)+32|0)>>>6)|0)>>>1;k=a+2|0;b[k>>1]=((e[k>>1]|0)+1+(((H(m,e[c+2>>1]|0)|0)+32|0)>>>6)|0)>>>1;a=a+(l<<1)|0;g=g+1|0;c=c+(l<<1)|0}}h=k|0?l:1;d=h+1|0;g=0;while(1){if((g|0)>=(f|0))break a;k=H(m,e[c>>1]|0)|0;b[a>>1]=((e[a>>1]|0)+1+((k+32+(H(i,e[c+(h<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;k=a+2|0;j=H(m,e[c+2>>1]|0)|0;b[k>>1]=((e[k>>1]|0)+1+((j+32+(H(i,e[c+(d<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;a=a+(l<<1)|0;g=g+1|0;c=c+(l<<1)|0}}else{h=l+1|0;d=l+2|0;g=0;while(1){if((g|0)>=(f|0))break a;s=H(m,e[c>>1]|0)|0;r=c+2|0;q=H(j,e[r>>1]|0)|0;n=c+(l<<1)|0;o=H(k,e[n>>1]|0)|0;p=c+(h<<1)|0;b[a>>1]=((e[a>>1]|0)+1+((s+32+q+o+(H(i,e[p>>1]|0)|0)|0)>>>6)|0)>>>1;o=a+2|0;r=H(m,e[r>>1]|0)|0;q=H(j,e[c+4>>1]|0)|0;p=H(k,e[p>>1]|0)|0;b[o>>1]=((e[o>>1]|0)+1+((r+32+q+p+(H(i,e[c+(d<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;a=a+(l<<1)|0;g=g+1|0;c=n}}while(0);return}function FI(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;l=8-g|0;k=8-h|0;m=H(k,l)|0;k=H(k,g)|0;l=H(l,h)|0;h=H(h,g)|0;a:do if(!h){j=k+l|0;if(!j){g=0;while(1){if((g|0)>=(f|0))break a;a[b>>0]=((d[b>>0]|0)+1+(((H(m,d[c>>0]|0)|0)+32|0)>>>6)|0)>>>1;l=b+1|0;a[l>>0]=((d[l>>0]|0)+1+(((H(m,d[c+1>>0]|0)|0)+32|0)>>>6)|0)>>>1;b=b+e|0;g=g+1|0;c=c+e|0}}h=l|0?e:1;i=h+1|0;g=0;while(1){if((g|0)>=(f|0))break a;l=H(m,d[c>>0]|0)|0;a[b>>0]=((d[b>>0]|0)+1+((l+32+(H(j,d[c+h>>0]|0)|0)|0)>>>6)|0)>>>1;l=b+1|0;k=H(m,d[c+1>>0]|0)|0;a[l>>0]=((d[l>>0]|0)+1+((k+32+(H(j,d[c+i>>0]|0)|0)|0)>>>6)|0)>>>1;b=b+e|0;g=g+1|0;c=c+e|0}}else{i=e+1|0;j=e+2|0;g=0;while(1){if((g|0)>=(f|0))break a;s=H(m,d[c>>0]|0)|0;r=c+1|0;q=H(k,d[r>>0]|0)|0;n=c+e|0;o=H(l,d[n>>0]|0)|0;p=c+i|0;a[b>>0]=((d[b>>0]|0)+1+((s+32+q+o+(H(h,d[p>>0]|0)|0)|0)>>>6)|0)>>>1;o=b+1|0;r=H(m,d[r>>0]|0)|0;q=H(k,d[c+2>>0]|0)|0;p=H(l,d[p>>0]|0)|0;a[o>>0]=((d[o>>0]|0)+1+((r+32+q+p+(H(h,d[c+j>>0]|0)|0)|0)>>>6)|0)>>>1;b=b+e|0;g=g+1|0;c=n}}while(0);return}function GI(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=8-g|0;j=8-h|0;m=H(j,k)|0;j=H(j,g)|0;k=H(k,h)|0;i=H(h,g)|0;l=d>>1;a:do if(!i){d=j+k|0;if(!d){g=0;while(1){if((g|0)>=(f|0))break a;b[a>>1]=((e[a>>1]|0)+1+(((H(m,e[c>>1]|0)|0)+32|0)>>>6)|0)>>>1;a=a+(l<<1)|0;g=g+1|0;c=c+(l<<1)|0}}h=k|0?l:1;g=0;while(1){if((g|0)>=(f|0))break a;k=H(m,e[c>>1]|0)|0;b[a>>1]=((e[a>>1]|0)+1+((k+32+(H(d,e[c+(h<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;a=a+(l<<1)|0;g=g+1|0;c=c+(l<<1)|0}}else{h=l+1|0;g=0;while(1){if((g|0)>=(f|0))break a;p=H(m,e[c>>1]|0)|0;o=H(j,e[c+2>>1]|0)|0;d=c+(l<<1)|0;n=H(k,e[d>>1]|0)|0;b[a>>1]=((e[a>>1]|0)+1+((p+32+o+n+(H(i,e[c+(h<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;a=a+(l<<1)|0;g=g+1|0;c=d}}while(0);return}function HI(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=8-g|0;j=8-h|0;l=H(j,k)|0;j=H(j,g)|0;k=H(k,h)|0;h=H(h,g)|0;a:do if(!h){i=j+k|0;if(!i){g=0;while(1){if((g|0)>=(f|0))break a;a[b>>0]=((d[b>>0]|0)+1+(((H(l,d[c>>0]|0)|0)+32|0)>>>6)|0)>>>1;b=b+e|0;g=g+1|0;c=c+e|0}}h=k|0?e:1;g=0;while(1){if((g|0)>=(f|0))break a;k=H(l,d[c>>0]|0)|0;a[b>>0]=((d[b>>0]|0)+1+((k+32+(H(i,d[c+h>>0]|0)|0)|0)>>>6)|0)>>>1;b=b+e|0;g=g+1|0;c=c+e|0}}else{i=e+1|0;g=0;while(1){if((g|0)>=(f|0))break a;p=H(l,d[c>>0]|0)|0;o=H(j,d[c+1>>0]|0)|0;m=c+e|0;n=H(k,d[m>>0]|0)|0;a[b>>0]=((d[b>>0]|0)+1+((p+32+o+n+(H(h,d[c+i>>0]|0)|0)|0)>>>6)|0)>>>1;b=b+e|0;g=g+1|0;c=m}}while(0);return}function II(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0;h=f>>>1;g=d;f=a;a=0;while(1){if((a|0)==4)break;b[f>>1]=(c[g>>2]|0)+(e[f>>1]|0);i=f+2|0;b[i>>1]=(c[g+4>>2]|0)+(e[i>>1]|0);i=f+4|0;b[i>>1]=(c[g+8>>2]|0)+(e[i>>1]|0);i=f+6|0;b[i>>1]=(c[g+12>>2]|0)+(e[i>>1]|0);g=g+16|0;f=f+(h<<1)|0;a=a+1|0}f=d+64|0;do{b[d>>1]=0;d=d+2|0}while((d|0)<(f|0));return}function JI(c,f,g){c=c|0;f=f|0;g=g|0;var h=0,i=0,j=0;i=f;h=0;while(1){if((h|0)==4)break;a[c>>0]=(d[c>>0]|0)+(e[i>>1]|0);j=c+1|0;a[j>>0]=(d[j>>0]|0)+(e[i+2>>1]|0);j=c+2|0;a[j>>0]=(d[j>>0]|0)+(e[i+4>>1]|0);j=c+3|0;a[j>>0]=(d[j>>0]|0)+(e[i+6>>1]|0);i=i+8|0;c=c+g|0;h=h+1|0}c=f+32|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(c|0));return}function KI(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0;h=f>>>1;g=d;f=a;a=0;while(1){if((a|0)==8)break;b[f>>1]=(c[g>>2]|0)+(e[f>>1]|0);i=f+2|0;b[i>>1]=(c[g+4>>2]|0)+(e[i>>1]|0);i=f+4|0;b[i>>1]=(c[g+8>>2]|0)+(e[i>>1]|0);i=f+6|0;b[i>>1]=(c[g+12>>2]|0)+(e[i>>1]|0);i=f+8|0;b[i>>1]=(c[g+16>>2]|0)+(e[i>>1]|0);i=f+10|0;b[i>>1]=(c[g+20>>2]|0)+(e[i>>1]|0);i=f+12|0;b[i>>1]=(c[g+24>>2]|0)+(e[i>>1]|0);i=f+14|0;b[i>>1]=(c[g+28>>2]|0)+(e[i>>1]|0);g=g+32|0;f=f+(h<<1)|0;a=a+1|0}_W(d|0,0,256)|0;return}function LI(c,f,g){c=c|0;f=f|0;g=g|0;var h=0,i=0,j=0;i=f;h=0;while(1){if((h|0)==8)break;a[c>>0]=(d[c>>0]|0)+(e[i>>1]|0);j=c+1|0;a[j>>0]=(d[j>>0]|0)+(e[i+2>>1]|0);j=c+2|0;a[j>>0]=(d[j>>0]|0)+(e[i+4>>1]|0);j=c+3|0;a[j>>0]=(d[j>>0]|0)+(e[i+6>>1]|0);j=c+4|0;a[j>>0]=(d[j>>0]|0)+(e[i+8>>1]|0);j=c+5|0;a[j>>0]=(d[j>>0]|0)+(e[i+10>>1]|0);j=c+6|0;a[j>>0]=(d[j>>0]|0)+(e[i+12>>1]|0);j=c+7|0;a[j>>0]=(d[j>>0]|0)+(e[i+14>>1]|0);i=i+16|0;c=c+g|0;h=h+1|0}c=f+128|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(c|0));return}function MI(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c[d>>2]=(c[d>>2]|0)+32;g=0;while(1){if((g|0)==4)break;o=d+(g<<2)|0;n=c[o>>2]|0;k=d+(g+8<<2)|0;m=c[k>>2]|0;j=m+n|0;m=n-m|0;n=d+(g+4<<2)|0;h=c[n>>2]|0;i=d+(g+12<<2)|0;p=c[i>>2]|0;l=(h>>1)-p|0;h=(p>>1)+h|0;c[o>>2]=h+j;c[n>>2]=l+m;c[k>>2]=m-l;c[i>>2]=j-h;g=g+1|0}f=f>>1;h=f<<1;i=f*3|0;g=0;while(1){if((g|0)==4)break;p=g<<2;o=c[d+(p<<2)>>2]|0;l=c[d+((p|2)<<2)>>2]|0;n=l+o|0;l=o-l|0;o=c[d+((p|1)<<2)>>2]|0;p=c[d+((p|3)<<2)>>2]|0;m=(o>>1)-p|0;o=(p>>1)+o|0;p=a+(g<<1)|0;k=(o+n>>6)+(e[p>>1]|0)|0;b[p>>1]=k>>>0<512?k:0-k>>31&511;p=a+(g+f<<1)|0;k=(m+l>>6)+(e[p>>1]|0)|0;b[p>>1]=k>>>0<512?k:0-k>>31&511;p=a+(g+h<<1)|0;m=(l-m>>6)+(e[p>>1]|0)|0;b[p>>1]=m>>>0<512?m:0-m>>31&511;p=a+(g+i<<1)|0;o=(n-o>>6)+(e[p>>1]|0)|0;b[p>>1]=o>>>0<512?o:0-o>>31&511;g=g+1|0}g=d+64|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(g|0));return}function NI(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;c[d>>2]=(c[d>>2]|0)+32;g=0;while(1){if((g|0)==8)break;w=d+(g<<2)|0;o=c[w>>2]|0;m=d+(g+32<<2)|0;l=c[m>>2]|0;j=l+o|0;l=o-l|0;o=d+(g+16<<2)|0;k=c[o>>2]|0;p=d+(g+48<<2)|0;v=c[p>>2]|0;n=(k>>1)-v|0;k=(v>>1)+k|0;v=k+j|0;r=n+l|0;n=l-n|0;k=j-k|0;j=d+(g+24<<2)|0;l=c[j>>2]|0;i=d+(g+40<<2)|0;h=c[i>>2]|0;t=d+(g+56<<2)|0;q=c[t>>2]|0;u=h-l-q-(q>>1)|0;s=d+(g+8<<2)|0;x=c[s>>2]|0;y=q-((l>>1)+l)+x|0;q=q+h+(h>>1)-x|0;x=h+l+x+(x>>1)|0;l=(x>>2)+u|0;h=(q>>2)+y|0;q=(y>>2)-q|0;u=x-(u>>2)|0;c[w>>2]=u+v;c[t>>2]=v-u;c[s>>2]=q+r;c[p>>2]=r-q;c[o>>2]=h+n;c[i>>2]=n-h;c[j>>2]=l+k;c[m>>2]=k-l;g=g+1|0}i=f>>1;j=i<<1;k=i*3|0;l=i<<2;m=i*5|0;f=i*6|0;h=i*7|0;g=0;while(1){if((g|0)==8)break;y=g<<3;q=c[d+(y<<2)>>2]|0;t=c[d+((y|4)<<2)>>2]|0;r=t+q|0;t=q-t|0;q=c[d+((y|2)<<2)>>2]|0;w=c[d+((y|6)<<2)>>2]|0;s=(q>>1)-w|0;q=(w>>1)+q|0;w=q+r|0;u=s+t|0;s=t-s|0;q=r-q|0;r=c[d+((y|3)<<2)>>2]|0;t=c[d+((y|5)<<2)>>2]|0;v=c[d+((y|7)<<2)>>2]|0;x=t-r-v-(v>>1)|0;y=c[d+((y|1)<<2)>>2]|0;p=v-((r>>1)+r)+y|0;v=v+t+(t>>1)-y|0;y=t+r+y+(y>>1)|0;r=(y>>2)+x|0;t=(v>>2)+p|0;v=(p>>2)-v|0;x=y-(x>>2)|0;y=a+(g<<1)|0;p=(x+w>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<512?p:0-p>>31&511;y=a+(g+i<<1)|0;p=(v+u>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<512?p:0-p>>31&511;y=a+(g+j<<1)|0;p=(t+s>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<512?p:0-p>>31&511;y=a+(g+k<<1)|0;p=(r+q>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<512?p:0-p>>31&511;y=a+(g+l<<1)|0;r=(q-r>>6)+(e[y>>1]|0)|0;b[y>>1]=r>>>0<512?r:0-r>>31&511;y=a+(g+m<<1)|0;t=(s-t>>6)+(e[y>>1]|0)|0;b[y>>1]=t>>>0<512?t:0-t>>31&511;y=a+(g+f<<1)|0;v=(u-v>>6)+(e[y>>1]|0)|0;b[y>>1]=v>>>0<512?v:0-v>>31&511;y=a+(g+h<<1)|0;x=(w-x>>6)+(e[y>>1]|0)|0;b[y>>1]=x>>>0<512?x:0-x>>31&511;g=g+1|0}_W(d|0,0,256)|0;return}function OI(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;h=(c[d>>2]|0)+32>>6;g=f>>>1;c[d>>2]=0;d=0;while(1){if((d|0)==4)break;else f=0;while(1){if((f|0)==4)break;i=a+(f<<1)|0;j=h+(e[i>>1]|0)|0;b[i>>1]=j>>>0<512?j:0-j>>31&511;f=f+1|0}a=a+(g<<1)|0;d=d+1|0}return}function PI(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;h=(c[d>>2]|0)+32>>6;c[d>>2]=0;g=f>>>1;f=a;a=0;while(1){if((a|0)==8)break;else d=0;while(1){if((d|0)==8)break;i=f+(d<<1)|0;j=h+(e[i>>1]|0)|0;b[i>>1]=j>>>0<512?j:0-j>>31&511;d=d+1|0}f=f+(g<<1)|0;a=a+1|0}return}function QI(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=0;while(1){if((i|0)==16)break;switch(a[h+(d[150841+i>>0]|0)>>0]|0){case 0:break;case 1:{if(!(c[f+(i<<4<<2)>>2]|0))j=6;else OI(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);break}default:j=6}if((j|0)==6){j=0;MI(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}i=i+1|0}return}function RI(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=0;while(1){if((i|0)>=16)break;switch(a[h+(d[150841+i>>0]|0)>>0]|0){case 0:break;case 1:{if(!(c[f+(i<<4<<2)>>2]|0))j=6;else PI(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);break}default:j=6}if((j|0)==6){j=0;NI(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}i=i+4|0}return}function SI(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;i=1;while(1){if((i|0)==3)break;j=i<<4;k=j|4;l=b+(i+-1<<2)|0;while(1){if((j|0)>=(k|0))break;if(!(a[h+(d[150841+j>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)OI((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else MI((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}return}function TI(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=1;while(1){if((i|0)==3){i=1;break}j=i<<4;k=j|4;l=b+(i+-1<<2)|0;while(1){if((j|0)>=(k|0))break;if(!(a[h+(d[150841+j>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)OI((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else MI((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}while(1){if((i|0)==3)break;j=i<<4;k=j|8;l=b+(i+-1<<2)|0;j=j|4;while(1){if((j|0)>=(k|0))break;m=j+4|0;if(!(a[h+(d[150841+m>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)OI((c[l>>2]|0)+(c[e+(m<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else MI((c[l>>2]|0)+(c[e+(m<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}return}function UI(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;i=0;while(1){if((i|0)==16)break;if(!(a[h+(d[150841+i>>0]|0)>>0]|0)){if(c[f+(i<<4<<2)>>2]|0)OI(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}else MI(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);i=i+1|0}return}function VI(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=$c;$c=$c+64|0;if(($c|0)>=(ad|0))N(64);g=h;f=0;while(1){if((f|0)==4)break;p=f<<2;l=c[b+(p<<2)>>2]|0;m=p|1;j=c[b+(m<<2)>>2]|0;o=j+l|0;j=l-j|0;l=p|2;n=c[b+(l<<2)>>2]|0;i=p|3;q=c[b+(i<<2)>>2]|0;k=n-q|0;n=q+n|0;c[g+(p<<2)>>2]=n+o;c[g+(m<<2)>>2]=o-n;c[g+(l<<2)>>2]=j-k;c[g+(i<<2)>>2]=k+j;f=f+1|0}f=0;while(1){if((f|0)==4)break;q=d[150837+f>>0]|0;p=c[g+(f<<2)>>2]|0;m=c[g+(f+8<<2)>>2]|0;o=m+p|0;m=p-m|0;p=c[g+(f+4<<2)>>2]|0;l=c[g+(f+12<<2)>>2]|0;n=p-l|0;p=l+p|0;c[a+(q<<2)>>2]=(H(p+o|0,e)|0)+128>>8;c[a+(q+16<<2)>>2]=(H(n+m|0,e)|0)+128>>8;c[a+(q+64<<2)>>2]=(H(m-n|0,e)|0)+128>>8;c[a+(q+80<<2)>>2]=(H(o-p|0,e)|0)+128>>8;f=f+1|0}$c=h;return}function WI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=c[a>>2]|0;j=a+64|0;e=c[j>>2]|0;g=a+128|0;h=c[g>>2]|0;d=a+192|0;k=c[d>>2]|0;f=i-e|0;i=e+i|0;e=h-k|0;h=k+h|0;c[a>>2]=(H(h+i|0,b)|0)>>7;c[j>>2]=(H(e+f|0,b)|0)>>7;c[g>>2]=(H(i-h|0,b)|0)>>7;c[d>>2]=(H(f-e|0,b)|0)>>7;return}function XI(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);f=g;e=0;while(1){if((e|0)==4){e=0;break}i=e<<5;j=c[a+(i<<2)>>2]|0;i=c[a+((i|16)<<2)>>2]|0;h=e<<1;c[f+(h<<2)>>2]=i+j;c[f+((h|1)<<2)>>2]=j-i;e=e+1|0}while(1){if((e|0)==2)break;j=d[150835+e>>0]|0;i=c[f+(e<<2)>>2]|0;l=c[f+(e+4<<2)>>2]|0;h=l+i|0;l=i-l|0;i=c[f+(e+2<<2)>>2]|0;m=c[f+(e+6<<2)>>2]|0;k=i-m|0;i=m+i|0;c[a+(j<<2)>>2]=(H(i+h|0,b)|0)+128>>8;c[a+(j+32<<2)>>2]=(H(k+l|0,b)|0)+128>>8;c[a+(j+64<<2)>>2]=(H(l-k|0,b)|0)+128>>8;c[a+(j+96<<2)>>2]=(H(h-i|0,b)|0)+128>>8;e=e+1|0}$c=g;return}function YI(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<512?a:0-a>>31&511;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+8|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+10|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+12|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+14|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+16|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+18|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+20|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+22|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+24|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+26|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+28|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+30|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;c=c+(j<<1)|0;h=h+1|0}return}function ZI(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<512?a:0-a>>31&511;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+8|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+10|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+12|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+14|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;c=c+(j<<1)|0;h=h+1|0}return}function _I(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<512?a:0-a>>31&511;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;c=c+(j<<1)|0;h=h+1|0}return}function $I(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<512?a:0-a>>31&511;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;c=c+(j<<1)|0;h=h+1|0}return}function aJ(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<1|1)<=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<512?m:0-m>>31&511;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=H(e[c+8>>1]|0,i)|0;m=d+8|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=H(e[c+10>>1]|0,i)|0;a=d+10|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=H(e[c+12>>1]|0,i)|0;m=d+12|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=H(e[c+14>>1]|0,i)|0;a=d+14|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=H(e[c+16>>1]|0,i)|0;m=d+16|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=H(e[c+18>>1]|0,i)|0;a=d+18|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=H(e[c+20>>1]|0,i)|0;m=d+20|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=H(e[c+22>>1]|0,i)|0;a=d+22|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=H(e[c+24>>1]|0,i)|0;m=d+24|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=H(e[c+26>>1]|0,i)|0;a=d+26|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=H(e[c+28>>1]|0,i)|0;m=d+28|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=H(e[c+30>>1]|0,i)|0;a=d+30|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function bJ(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<1|1)<=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<512?m:0-m>>31&511;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=H(e[c+8>>1]|0,i)|0;m=d+8|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=H(e[c+10>>1]|0,i)|0;a=d+10|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=H(e[c+12>>1]|0,i)|0;m=d+12|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=H(e[c+14>>1]|0,i)|0;a=d+14|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function cJ(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<1|1)<=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<512?m:0-m>>31&511;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function dJ(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<1|1)<=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<512?m:0-m>>31&511;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function eJ(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=d>>1;B=f<<1;y=g<<1;z=0-C|0;A=H(C,-2)|0;w=H(C,-3)|0;x=C<<1;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<1;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==4)break a;p=l+(z<<1)|0;q=e[p>>1]|0;d=l+(A<<1)|0;r=e[d>>1]|0;f=e[l+(w<<1)>>1]|0;s=e[l>>1]|0;i=l+(C<<1)|0;t=e[i>>1]|0;j=e[l+(x<<1)>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(B|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(y|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(y|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(y|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(y|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<512?r:0-r>>31&511;t=s-t|0;b[l>>1]=t>>>0<512?t:0-t>>31&511}k=k+1|0;l=l+2|0}}while(0);c=c+8|0;u=u+1|0}return}function fJ(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=d>>1;y=f<<1;w=g<<1;x=z<<2;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<1;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==4)break a;p=l+-2|0;q=e[p>>1]|0;d=l+-4|0;r=e[d>>1]|0;f=e[l+-6>>1]|0;s=e[l>>1]|0;i=l+2|0;t=e[i>>1]|0;j=e[l+4>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(y|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(w|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(w|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<512?r:0-r>>31&511;t=s-t|0;b[l>>1]=t>>>0<512?t:0-t>>31&511}k=k+1|0;l=l+(z<<1)|0}}while(0);c=c+(x<<1)|0;u=u+1|0}return}function gJ(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=d>>1;y=f<<1;w=g<<1;x=z<<1;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<1;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==2)break a;p=l+-2|0;q=e[p>>1]|0;d=l+-4|0;r=e[d>>1]|0;f=e[l+-6>>1]|0;s=e[l>>1]|0;i=l+2|0;t=e[i>>1]|0;j=e[l+4>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(y|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(w|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(w|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<512?r:0-r>>31&511;t=s-t|0;b[l>>1]=t>>>0<512?t:0-t>>31&511}k=k+1|0;l=l+(z<<1)|0}}while(0);c=c+(x<<1)|0;u=u+1|0}return}function hJ(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=c>>1;z=d<<1;v=f<<1;w=H(A,-3)|0;x=H(A,-2)|0;y=0-A|0;r=A<<1;s=(z>>2)+2|0;t=H(A,-4)|0;u=A*3|0;j=0;while(1){if((j|0)==16)break;c=a+(w<<1)|0;i=e[c>>1]|0;d=a+(x<<1)|0;k=e[d>>1]|0;f=a+(y<<1)|0;l=e[f>>1]|0;m=e[a>>1]|0;n=a+(A<<1)|0;o=e[n>>1]|0;p=a+(r<<1)|0;q=e[p>>1]|0;g=l-m|0;g=(g|0)>-1?g:0-g|0;do if(((g|0)<(z|0)?(h=k-l|0,(((h|0)>-1?h:0-h|0)|0)<(v|0)):0)?(h=o-m|0,(((h|0)>-1?h:0-h|0)|0)<(v|0)):0){if((g|0)>=(s|0)){b[f>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}h=i-l|0;if((((h|0)>-1?h:0-h|0)|0)<(v|0)){B=e[a+(t<<1)>>1]|0;b[f>>1]=(i+4+o+(l+k+m<<1)|0)>>>3;b[d>>1]=(i+2+k+l+m|0)>>>2;f=c;d=3;g=4;h=m;c=(i*3|0)+k+(B<<1)|0}else{d=2;g=2;h=o;c=k<<1}b[f>>1]=(c+l+h+g|0)>>>d;B=q-m|0;if((((B|0)>-1?B:0-B|0)|0)<(v|0)){B=e[a+(u<<1)>>1]|0;b[a>>1]=(k+4+q+(m+l+o<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(l+4+m+o+(q*3|0)+(B<<1)|0)>>>3;break}else{b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}}while(0);a=a+2|0;j=j+1|0}return}function iJ(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=c>>1;t=d<<1;r=f<<1;s=(t>>2)+2|0;j=0;while(1){if((j|0)==16)break;g=a+-6|0;i=e[g>>1]|0;c=a+-4|0;k=e[c>>1]|0;d=a+-2|0;l=e[d>>1]|0;m=e[a>>1]|0;n=a+2|0;o=e[n>>1]|0;p=a+4|0;q=e[p>>1]|0;f=l-m|0;f=(f|0)>-1?f:0-f|0;do if(((f|0)<(t|0)?(h=k-l|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0)?(h=o-m|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0){if((f|0)>=(s|0)){b[d>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}h=i-l|0;if((((h|0)>-1?h:0-h|0)|0)<(r|0)){v=e[a+-8>>1]|0;b[d>>1]=(i+4+o+(l+k+m<<1)|0)>>>3;b[c>>1]=(i+2+k+l+m|0)>>>2;d=g;f=3;g=4;h=m;c=(i*3|0)+k+(v<<1)|0}else{f=2;g=2;h=o;c=k<<1}b[d>>1]=(c+l+h+g|0)>>>f;v=q-m|0;if((((v|0)>-1?v:0-v|0)|0)<(r|0)){v=e[a+6>>1]|0;b[a>>1]=(k+4+q+(m+l+o<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(l+4+m+o+(q*3|0)+(v<<1)|0)>>>3;break}else{b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}}while(0);a=a+(u<<1)|0;j=j+1|0}return}function jJ(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=c>>1;t=d<<1;r=f<<1;s=(t>>2)+2|0;j=0;while(1){if((j|0)==8)break;g=a+-6|0;i=e[g>>1]|0;c=a+-4|0;k=e[c>>1]|0;d=a+-2|0;l=e[d>>1]|0;m=e[a>>1]|0;n=a+2|0;o=e[n>>1]|0;p=a+4|0;q=e[p>>1]|0;f=l-m|0;f=(f|0)>-1?f:0-f|0;do if(((f|0)<(t|0)?(h=k-l|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0)?(h=o-m|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0){if((f|0)>=(s|0)){b[d>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}h=i-l|0;if((((h|0)>-1?h:0-h|0)|0)<(r|0)){v=e[a+-8>>1]|0;b[d>>1]=(i+4+o+(l+k+m<<1)|0)>>>3;b[c>>1]=(i+2+k+l+m|0)>>>2;d=g;f=3;g=4;h=m;c=(i*3|0)+k+(v<<1)|0}else{f=2;g=2;h=o;c=k<<1}b[d>>1]=(c+l+h+g|0)>>>f;v=q-m|0;if((((v|0)>-1?v:0-v|0)|0)<(r|0)){v=e[a+6>>1]|0;b[a>>1]=(k+4+q+(m+l+o<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(l+4+m+o+(q*3|0)+(v<<1)|0)>>>3;break}else{b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}}while(0);a=a+(u<<1)|0;j=j+1|0}return}function kJ(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=f<<1;s=g<<1;p=d>>1;q=0-p|0;r=H(p,-2)|0;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<1;o=f+-1|0;a:do if(m<<24>>24>=1){d=1-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+(q<<1)|0;j=e[i>>1]|0;k=e[g+(r<<1)>>1]|0;l=e[g>>1]|0;m=e[g+(p<<1)>>1]|0;u=j-l|0;if(((((u|0)>-1?u:0-u|0)|0)<(t|0)?(u=k-j|0,(((u|0)>-1?u:0-u|0)|0)<(s|0)):0)?(u=m-l|0,(((u|0)>-1?u:0-u|0)|0)<(s|0)):0){u=k+4-m+(l-j<<2)>>3;u=(u|0)<(d|0)?d:(u|0)>(o|0)?o:u;m=u+j|0;b[i>>1]=m>>>0<512?m:0-m>>31&511;u=l-u|0;b[g>>1]=u>>>0<512?u:0-u>>31&511}f=f+1|0;g=g+2|0}}while(0);c=c+4|0;n=n+1|0}return}function lJ(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<1;r=g<<1;p=d>>1;q=p<<1;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<1;o=f+-1|0;a:do if(m<<24>>24>=1){d=1-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<512?m:0-m>>31&511;t=l-t|0;b[g>>1]=t>>>0<512?t:0-t>>31&511}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function mJ(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<1;r=g<<1;p=d>>1;q=p<<2;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<1;o=f+-1|0;a:do if(m<<24>>24>=1){d=1-f|0;f=0;g=c;while(1){if((f|0)==4)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<512?m:0-m>>31&511;t=l-t|0;b[g>>1]=t>>>0<512?t:0-t>>31&511}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function nJ(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=f<<1;q=g<<1;p=d>>1;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<1;o=f+-1|0;a:do if(m<<24>>24>=1){d=1-f|0;f=0;g=c;while(1){if((f|0)==1)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;s=j-l|0;if(((((s|0)>-1?s:0-s|0)|0)<(r|0)?(s=k-j|0,(((s|0)>-1?s:0-s|0)|0)<(q|0)):0)?(s=m-l|0,(((s|0)>-1?s:0-s|0)|0)<(q|0)):0){s=k+4-m+(l-j<<2)>>3;s=(s|0)<(d|0)?d:(s|0)>(o|0)?o:s;m=s+j|0;b[i>>1]=m>>>0<512?m:0-m>>31&511;s=l-s|0;b[g>>1]=s>>>0<512?s:0-s>>31&511}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(p<<1)|0;n=n+1|0}return}function oJ(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<1;r=g<<1;p=d>>1;q=p<<1;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<1;o=f+-1|0;a:do if(m<<24>>24>=1){d=1-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<512?m:0-m>>31&511;t=l-t|0;b[g>>1]=t>>>0<512?t:0-t>>31&511}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function pJ(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=c>>1;m=d<<1;j=f<<1;k=0-n|0;l=H(n,-2)|0;i=0;while(1){if((i|0)==8)break;h=a+(k<<1)|0;c=e[h>>1]|0;d=e[a+(l<<1)>>1]|0;f=e[a>>1]|0;g=e[a+(n<<1)>>1]|0;o=c-f|0;if(((((o|0)>-1?o:0-o|0)|0)<(m|0)?(o=d-c|0,(((o|0)>-1?o:0-o|0)|0)<(j|0)):0)?(o=g-f|0,(((o|0)>-1?o:0-o|0)|0)<(j|0)):0){b[h>>1]=(c+2+(d<<1)+g|0)>>>2;b[a>>1]=(d+2+f+(g<<1)|0)>>>2}i=i+1|0;a=a+2|0}return}function qJ(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<1;j=f<<1;i=0;while(1){if((i|0)==8)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function rJ(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<1;j=f<<1;i=0;while(1){if((i|0)==16)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function sJ(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<1;j=f<<1;i=0;while(1){if((i|0)==4)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function tJ(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<1;j=f<<1;i=0;while(1){if((i|0)==8)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function uJ(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c[d>>2]=(c[d>>2]|0)+32;g=0;while(1){if((g|0)==4)break;o=d+(g<<2)|0;n=c[o>>2]|0;k=d+(g+8<<2)|0;m=c[k>>2]|0;j=m+n|0;m=n-m|0;n=d+(g+4<<2)|0;h=c[n>>2]|0;i=d+(g+12<<2)|0;p=c[i>>2]|0;l=(h>>1)-p|0;h=(p>>1)+h|0;c[o>>2]=h+j;c[n>>2]=l+m;c[k>>2]=m-l;c[i>>2]=j-h;g=g+1|0}f=f>>1;h=f<<1;i=f*3|0;g=0;while(1){if((g|0)==4)break;p=g<<2;o=c[d+(p<<2)>>2]|0;l=c[d+((p|2)<<2)>>2]|0;n=l+o|0;l=o-l|0;o=c[d+((p|1)<<2)>>2]|0;p=c[d+((p|3)<<2)>>2]|0;m=(o>>1)-p|0;o=(p>>1)+o|0;p=a+(g<<1)|0;k=(o+n>>6)+(e[p>>1]|0)|0;b[p>>1]=k>>>0<1024?k:0-k>>31&1023;p=a+(g+f<<1)|0;k=(m+l>>6)+(e[p>>1]|0)|0;b[p>>1]=k>>>0<1024?k:0-k>>31&1023;p=a+(g+h<<1)|0;m=(l-m>>6)+(e[p>>1]|0)|0;b[p>>1]=m>>>0<1024?m:0-m>>31&1023;p=a+(g+i<<1)|0;o=(n-o>>6)+(e[p>>1]|0)|0;b[p>>1]=o>>>0<1024?o:0-o>>31&1023;g=g+1|0}g=d+64|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(g|0));return}function vJ(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;c[d>>2]=(c[d>>2]|0)+32;g=0;while(1){if((g|0)==8)break;w=d+(g<<2)|0;o=c[w>>2]|0;m=d+(g+32<<2)|0;l=c[m>>2]|0;j=l+o|0;l=o-l|0;o=d+(g+16<<2)|0;k=c[o>>2]|0;p=d+(g+48<<2)|0;v=c[p>>2]|0;n=(k>>1)-v|0;k=(v>>1)+k|0;v=k+j|0;r=n+l|0;n=l-n|0;k=j-k|0;j=d+(g+24<<2)|0;l=c[j>>2]|0;i=d+(g+40<<2)|0;h=c[i>>2]|0;t=d+(g+56<<2)|0;q=c[t>>2]|0;u=h-l-q-(q>>1)|0;s=d+(g+8<<2)|0;x=c[s>>2]|0;y=q-((l>>1)+l)+x|0;q=q+h+(h>>1)-x|0;x=h+l+x+(x>>1)|0;l=(x>>2)+u|0;h=(q>>2)+y|0;q=(y>>2)-q|0;u=x-(u>>2)|0;c[w>>2]=u+v;c[t>>2]=v-u;c[s>>2]=q+r;c[p>>2]=r-q;c[o>>2]=h+n;c[i>>2]=n-h;c[j>>2]=l+k;c[m>>2]=k-l;g=g+1|0}i=f>>1;j=i<<1;k=i*3|0;l=i<<2;m=i*5|0;f=i*6|0;h=i*7|0;g=0;while(1){if((g|0)==8)break;y=g<<3;q=c[d+(y<<2)>>2]|0;t=c[d+((y|4)<<2)>>2]|0;r=t+q|0;t=q-t|0;q=c[d+((y|2)<<2)>>2]|0;w=c[d+((y|6)<<2)>>2]|0;s=(q>>1)-w|0;q=(w>>1)+q|0;w=q+r|0;u=s+t|0;s=t-s|0;q=r-q|0;r=c[d+((y|3)<<2)>>2]|0;t=c[d+((y|5)<<2)>>2]|0;v=c[d+((y|7)<<2)>>2]|0;x=t-r-v-(v>>1)|0;y=c[d+((y|1)<<2)>>2]|0;p=v-((r>>1)+r)+y|0;v=v+t+(t>>1)-y|0;y=t+r+y+(y>>1)|0;r=(y>>2)+x|0;t=(v>>2)+p|0;v=(p>>2)-v|0;x=y-(x>>2)|0;y=a+(g<<1)|0;p=(x+w>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<1024?p:0-p>>31&1023;y=a+(g+i<<1)|0;p=(v+u>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<1024?p:0-p>>31&1023;y=a+(g+j<<1)|0;p=(t+s>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<1024?p:0-p>>31&1023;y=a+(g+k<<1)|0;p=(r+q>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<1024?p:0-p>>31&1023;y=a+(g+l<<1)|0;r=(q-r>>6)+(e[y>>1]|0)|0;b[y>>1]=r>>>0<1024?r:0-r>>31&1023;y=a+(g+m<<1)|0;t=(s-t>>6)+(e[y>>1]|0)|0;b[y>>1]=t>>>0<1024?t:0-t>>31&1023;y=a+(g+f<<1)|0;v=(u-v>>6)+(e[y>>1]|0)|0;b[y>>1]=v>>>0<1024?v:0-v>>31&1023;y=a+(g+h<<1)|0;x=(w-x>>6)+(e[y>>1]|0)|0;b[y>>1]=x>>>0<1024?x:0-x>>31&1023;g=g+1|0}_W(d|0,0,256)|0;return}function wJ(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;h=(c[d>>2]|0)+32>>6;g=f>>>1;c[d>>2]=0;d=0;while(1){if((d|0)==4)break;else f=0;while(1){if((f|0)==4)break;i=a+(f<<1)|0;j=h+(e[i>>1]|0)|0;b[i>>1]=j>>>0<1024?j:0-j>>31&1023;f=f+1|0}a=a+(g<<1)|0;d=d+1|0}return}function xJ(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;h=(c[d>>2]|0)+32>>6;c[d>>2]=0;g=f>>>1;f=a;a=0;while(1){if((a|0)==8)break;else d=0;while(1){if((d|0)==8)break;i=f+(d<<1)|0;j=h+(e[i>>1]|0)|0;b[i>>1]=j>>>0<1024?j:0-j>>31&1023;d=d+1|0}f=f+(g<<1)|0;a=a+1|0}return}function yJ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=0;while(1){if((i|0)==16)break;switch(a[h+(d[150841+i>>0]|0)>>0]|0){case 0:break;case 1:{if(!(c[f+(i<<4<<2)>>2]|0))j=6;else wJ(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);break}default:j=6}if((j|0)==6){j=0;uJ(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}i=i+1|0}return}function zJ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=0;while(1){if((i|0)>=16)break;switch(a[h+(d[150841+i>>0]|0)>>0]|0){case 0:break;case 1:{if(!(c[f+(i<<4<<2)>>2]|0))j=6;else xJ(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);break}default:j=6}if((j|0)==6){j=0;vJ(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}i=i+4|0}return}function AJ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;i=1;while(1){if((i|0)==3)break;j=i<<4;k=j|4;l=b+(i+-1<<2)|0;while(1){if((j|0)>=(k|0))break;if(!(a[h+(d[150841+j>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)wJ((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else uJ((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}return}function BJ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=1;while(1){if((i|0)==3){i=1;break}j=i<<4;k=j|4;l=b+(i+-1<<2)|0;while(1){if((j|0)>=(k|0))break;if(!(a[h+(d[150841+j>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)wJ((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else uJ((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}while(1){if((i|0)==3)break;j=i<<4;k=j|8;l=b+(i+-1<<2)|0;j=j|4;while(1){if((j|0)>=(k|0))break;m=j+4|0;if(!(a[h+(d[150841+m>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)wJ((c[l>>2]|0)+(c[e+(m<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else uJ((c[l>>2]|0)+(c[e+(m<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}return}function CJ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;i=0;while(1){if((i|0)==16)break;if(!(a[h+(d[150841+i>>0]|0)>>0]|0)){if(c[f+(i<<4<<2)>>2]|0)wJ(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}else uJ(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);i=i+1|0}return}function DJ(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=$c;$c=$c+64|0;if(($c|0)>=(ad|0))N(64);g=h;f=0;while(1){if((f|0)==4)break;p=f<<2;l=c[b+(p<<2)>>2]|0;m=p|1;j=c[b+(m<<2)>>2]|0;o=j+l|0;j=l-j|0;l=p|2;n=c[b+(l<<2)>>2]|0;i=p|3;q=c[b+(i<<2)>>2]|0;k=n-q|0;n=q+n|0;c[g+(p<<2)>>2]=n+o;c[g+(m<<2)>>2]=o-n;c[g+(l<<2)>>2]=j-k;c[g+(i<<2)>>2]=k+j;f=f+1|0}f=0;while(1){if((f|0)==4)break;q=d[150837+f>>0]|0;p=c[g+(f<<2)>>2]|0;m=c[g+(f+8<<2)>>2]|0;o=m+p|0;m=p-m|0;p=c[g+(f+4<<2)>>2]|0;l=c[g+(f+12<<2)>>2]|0;n=p-l|0;p=l+p|0;c[a+(q<<2)>>2]=(H(p+o|0,e)|0)+128>>8;c[a+(q+16<<2)>>2]=(H(n+m|0,e)|0)+128>>8;c[a+(q+64<<2)>>2]=(H(m-n|0,e)|0)+128>>8;c[a+(q+80<<2)>>2]=(H(o-p|0,e)|0)+128>>8;f=f+1|0}$c=h;return}function EJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=c[a>>2]|0;j=a+64|0;e=c[j>>2]|0;g=a+128|0;h=c[g>>2]|0;d=a+192|0;k=c[d>>2]|0;f=i-e|0;i=e+i|0;e=h-k|0;h=k+h|0;c[a>>2]=(H(h+i|0,b)|0)>>7;c[j>>2]=(H(e+f|0,b)|0)>>7;c[g>>2]=(H(i-h|0,b)|0)>>7;c[d>>2]=(H(f-e|0,b)|0)>>7;return}function FJ(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);f=g;e=0;while(1){if((e|0)==4){e=0;break}i=e<<5;j=c[a+(i<<2)>>2]|0;i=c[a+((i|16)<<2)>>2]|0;h=e<<1;c[f+(h<<2)>>2]=i+j;c[f+((h|1)<<2)>>2]=j-i;e=e+1|0}while(1){if((e|0)==2)break;j=d[150835+e>>0]|0;i=c[f+(e<<2)>>2]|0;l=c[f+(e+4<<2)>>2]|0;h=l+i|0;l=i-l|0;i=c[f+(e+2<<2)>>2]|0;m=c[f+(e+6<<2)>>2]|0;k=i-m|0;i=m+i|0;c[a+(j<<2)>>2]=(H(i+h|0,b)|0)+128>>8;c[a+(j+32<<2)>>2]=(H(k+l|0,b)|0)+128>>8;c[a+(j+64<<2)>>2]=(H(l-k|0,b)|0)+128>>8;c[a+(j+96<<2)>>2]=(H(h-i|0,b)|0)+128>>8;e=e+1|0}$c=g;return}function GJ(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<1024?a:0-a>>31&1023;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+8|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+10|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+12|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+14|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+16|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+18|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+20|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+22|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+24|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+26|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+28|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+30|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;c=c+(j<<1)|0;h=h+1|0}return}function HJ(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<1024?a:0-a>>31&1023;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+8|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+10|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+12|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+14|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;c=c+(j<<1)|0;h=h+1|0}return}function IJ(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<1024?a:0-a>>31&1023;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;c=c+(j<<1)|0;h=h+1|0}return}function JJ(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<1024?a:0-a>>31&1023;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;c=c+(j<<1)|0;h=h+1|0}return}function KJ(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<2|1)<=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<1024?m:0-m>>31&1023;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=H(e[c+8>>1]|0,i)|0;m=d+8|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=H(e[c+10>>1]|0,i)|0;a=d+10|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=H(e[c+12>>1]|0,i)|0;m=d+12|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=H(e[c+14>>1]|0,i)|0;a=d+14|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=H(e[c+16>>1]|0,i)|0;m=d+16|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=H(e[c+18>>1]|0,i)|0;a=d+18|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=H(e[c+20>>1]|0,i)|0;m=d+20|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=H(e[c+22>>1]|0,i)|0;a=d+22|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=H(e[c+24>>1]|0,i)|0;m=d+24|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=H(e[c+26>>1]|0,i)|0;a=d+26|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=H(e[c+28>>1]|0,i)|0;m=d+28|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=H(e[c+30>>1]|0,i)|0;a=d+30|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function LJ(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<2|1)<=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<1024?m:0-m>>31&1023;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=H(e[c+8>>1]|0,i)|0;m=d+8|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=H(e[c+10>>1]|0,i)|0;a=d+10|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=H(e[c+12>>1]|0,i)|0;m=d+12|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=H(e[c+14>>1]|0,i)|0;a=d+14|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function MJ(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<2|1)<=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<1024?m:0-m>>31&1023;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function NJ(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<2|1)<=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<1024?m:0-m>>31&1023;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function OJ(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=d>>1;B=f<<2;y=g<<2;z=0-C|0;A=H(C,-2)|0;w=H(C,-3)|0;x=C<<1;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<2;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==4)break a;p=l+(z<<1)|0;q=e[p>>1]|0;d=l+(A<<1)|0;r=e[d>>1]|0;f=e[l+(w<<1)>>1]|0;s=e[l>>1]|0;i=l+(C<<1)|0;t=e[i>>1]|0;j=e[l+(x<<1)>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(B|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(y|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(y|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(y|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(y|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<1024?r:0-r>>31&1023;t=s-t|0;b[l>>1]=t>>>0<1024?t:0-t>>31&1023}k=k+1|0;l=l+2|0}}while(0);c=c+8|0;u=u+1|0}return}function PJ(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=d>>1;y=f<<2;w=g<<2;x=z<<2;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<2;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==4)break a;p=l+-2|0;q=e[p>>1]|0;d=l+-4|0;r=e[d>>1]|0;f=e[l+-6>>1]|0;s=e[l>>1]|0;i=l+2|0;t=e[i>>1]|0;j=e[l+4>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(y|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(w|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(w|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<1024?r:0-r>>31&1023;t=s-t|0;b[l>>1]=t>>>0<1024?t:0-t>>31&1023}k=k+1|0;l=l+(z<<1)|0}}while(0);c=c+(x<<1)|0;u=u+1|0}return}function QJ(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=d>>1;y=f<<2;w=g<<2;x=z<<1;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<2;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==2)break a;p=l+-2|0;q=e[p>>1]|0;d=l+-4|0;r=e[d>>1]|0;f=e[l+-6>>1]|0;s=e[l>>1]|0;i=l+2|0;t=e[i>>1]|0;j=e[l+4>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(y|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(w|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(w|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<1024?r:0-r>>31&1023;t=s-t|0;b[l>>1]=t>>>0<1024?t:0-t>>31&1023}k=k+1|0;l=l+(z<<1)|0}}while(0);c=c+(x<<1)|0;u=u+1|0}return}function RJ(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=c>>1;z=d<<2;v=f<<2;w=H(A,-3)|0;x=H(A,-2)|0;y=0-A|0;r=A<<1;s=(z>>2)+2|0;t=H(A,-4)|0;u=A*3|0;j=0;while(1){if((j|0)==16)break;c=a+(w<<1)|0;i=e[c>>1]|0;d=a+(x<<1)|0;k=e[d>>1]|0;f=a+(y<<1)|0;l=e[f>>1]|0;m=e[a>>1]|0;n=a+(A<<1)|0;o=e[n>>1]|0;p=a+(r<<1)|0;q=e[p>>1]|0;g=l-m|0;g=(g|0)>-1?g:0-g|0;do if(((g|0)<(z|0)?(h=k-l|0,(((h|0)>-1?h:0-h|0)|0)<(v|0)):0)?(h=o-m|0,(((h|0)>-1?h:0-h|0)|0)<(v|0)):0){if((g|0)>=(s|0)){b[f>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}h=i-l|0;if((((h|0)>-1?h:0-h|0)|0)<(v|0)){B=e[a+(t<<1)>>1]|0;b[f>>1]=(i+4+o+(l+k+m<<1)|0)>>>3;b[d>>1]=(i+2+k+l+m|0)>>>2;f=c;d=3;g=4;h=m;c=(i*3|0)+k+(B<<1)|0}else{d=2;g=2;h=o;c=k<<1}b[f>>1]=(c+l+h+g|0)>>>d;B=q-m|0;if((((B|0)>-1?B:0-B|0)|0)<(v|0)){B=e[a+(u<<1)>>1]|0;b[a>>1]=(k+4+q+(m+l+o<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(l+4+m+o+(q*3|0)+(B<<1)|0)>>>3;break}else{b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}}while(0);a=a+2|0;j=j+1|0}return}function SJ(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=c>>1;t=d<<2;r=f<<2;s=(t>>2)+2|0;j=0;while(1){if((j|0)==16)break;g=a+-6|0;i=e[g>>1]|0;c=a+-4|0;k=e[c>>1]|0;d=a+-2|0;l=e[d>>1]|0;m=e[a>>1]|0;n=a+2|0;o=e[n>>1]|0;p=a+4|0;q=e[p>>1]|0;f=l-m|0;f=(f|0)>-1?f:0-f|0;do if(((f|0)<(t|0)?(h=k-l|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0)?(h=o-m|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0){if((f|0)>=(s|0)){b[d>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}h=i-l|0;if((((h|0)>-1?h:0-h|0)|0)<(r|0)){v=e[a+-8>>1]|0;b[d>>1]=(i+4+o+(l+k+m<<1)|0)>>>3;b[c>>1]=(i+2+k+l+m|0)>>>2;d=g;f=3;g=4;h=m;c=(i*3|0)+k+(v<<1)|0}else{f=2;g=2;h=o;c=k<<1}b[d>>1]=(c+l+h+g|0)>>>f;v=q-m|0;if((((v|0)>-1?v:0-v|0)|0)<(r|0)){v=e[a+6>>1]|0;b[a>>1]=(k+4+q+(m+l+o<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(l+4+m+o+(q*3|0)+(v<<1)|0)>>>3;break}else{b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}}while(0);a=a+(u<<1)|0;j=j+1|0}return}function TJ(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=c>>1;t=d<<2;r=f<<2;s=(t>>2)+2|0;j=0;while(1){if((j|0)==8)break;g=a+-6|0;i=e[g>>1]|0;c=a+-4|0;k=e[c>>1]|0;d=a+-2|0;l=e[d>>1]|0;m=e[a>>1]|0;n=a+2|0;o=e[n>>1]|0;p=a+4|0;q=e[p>>1]|0;f=l-m|0;f=(f|0)>-1?f:0-f|0;do if(((f|0)<(t|0)?(h=k-l|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0)?(h=o-m|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0){if((f|0)>=(s|0)){b[d>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}h=i-l|0;if((((h|0)>-1?h:0-h|0)|0)<(r|0)){v=e[a+-8>>1]|0;b[d>>1]=(i+4+o+(l+k+m<<1)|0)>>>3;b[c>>1]=(i+2+k+l+m|0)>>>2;d=g;f=3;g=4;h=m;c=(i*3|0)+k+(v<<1)|0}else{f=2;g=2;h=o;c=k<<1}b[d>>1]=(c+l+h+g|0)>>>f;v=q-m|0;if((((v|0)>-1?v:0-v|0)|0)<(r|0)){v=e[a+6>>1]|0;b[a>>1]=(k+4+q+(m+l+o<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(l+4+m+o+(q*3|0)+(v<<1)|0)>>>3;break}else{b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}}while(0);a=a+(u<<1)|0;j=j+1|0}return}function UJ(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=f<<2;s=g<<2;p=d>>1;q=0-p|0;r=H(p,-2)|0;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<2;o=f+-3|0;a:do if(m<<24>>24>=1){d=3-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+(q<<1)|0;j=e[i>>1]|0;k=e[g+(r<<1)>>1]|0;l=e[g>>1]|0;m=e[g+(p<<1)>>1]|0;u=j-l|0;if(((((u|0)>-1?u:0-u|0)|0)<(t|0)?(u=k-j|0,(((u|0)>-1?u:0-u|0)|0)<(s|0)):0)?(u=m-l|0,(((u|0)>-1?u:0-u|0)|0)<(s|0)):0){u=k+4-m+(l-j<<2)>>3;u=(u|0)<(d|0)?d:(u|0)>(o|0)?o:u;m=u+j|0;b[i>>1]=m>>>0<1024?m:0-m>>31&1023;u=l-u|0;b[g>>1]=u>>>0<1024?u:0-u>>31&1023}f=f+1|0;g=g+2|0}}while(0);c=c+4|0;n=n+1|0}return}function VJ(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<2;r=g<<2;p=d>>1;q=p<<1;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<2;o=f+-3|0;a:do if(m<<24>>24>=1){d=3-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<1024?m:0-m>>31&1023;t=l-t|0;b[g>>1]=t>>>0<1024?t:0-t>>31&1023}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function WJ(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<2;r=g<<2;p=d>>1;q=p<<2;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<2;o=f+-3|0;a:do if(m<<24>>24>=1){d=3-f|0;f=0;g=c;while(1){if((f|0)==4)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<1024?m:0-m>>31&1023;t=l-t|0;b[g>>1]=t>>>0<1024?t:0-t>>31&1023}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function XJ(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=f<<2;q=g<<2;p=d>>1;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<2;o=f+-3|0;a:do if(m<<24>>24>=1){d=3-f|0;f=0;g=c;while(1){if((f|0)==1)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;s=j-l|0;if(((((s|0)>-1?s:0-s|0)|0)<(r|0)?(s=k-j|0,(((s|0)>-1?s:0-s|0)|0)<(q|0)):0)?(s=m-l|0,(((s|0)>-1?s:0-s|0)|0)<(q|0)):0){s=k+4-m+(l-j<<2)>>3;s=(s|0)<(d|0)?d:(s|0)>(o|0)?o:s;m=s+j|0;b[i>>1]=m>>>0<1024?m:0-m>>31&1023;s=l-s|0;b[g>>1]=s>>>0<1024?s:0-s>>31&1023}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(p<<1)|0;n=n+1|0}return}function YJ(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<2;r=g<<2;p=d>>1;q=p<<1;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<2;o=f+-3|0;a:do if(m<<24>>24>=1){d=3-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<1024?m:0-m>>31&1023;t=l-t|0;b[g>>1]=t>>>0<1024?t:0-t>>31&1023}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function ZJ(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=c>>1;m=d<<2;j=f<<2;k=0-n|0;l=H(n,-2)|0;i=0;while(1){if((i|0)==8)break;h=a+(k<<1)|0;c=e[h>>1]|0;d=e[a+(l<<1)>>1]|0;f=e[a>>1]|0;g=e[a+(n<<1)>>1]|0;o=c-f|0;if(((((o|0)>-1?o:0-o|0)|0)<(m|0)?(o=d-c|0,(((o|0)>-1?o:0-o|0)|0)<(j|0)):0)?(o=g-f|0,(((o|0)>-1?o:0-o|0)|0)<(j|0)):0){b[h>>1]=(c+2+(d<<1)+g|0)>>>2;b[a>>1]=(d+2+f+(g<<1)|0)>>>2}i=i+1|0;a=a+2|0}return}function _J(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<2;j=f<<2;i=0;while(1){if((i|0)==8)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function $J(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<2;j=f<<2;i=0;while(1){if((i|0)==16)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function aK(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<2;j=f<<2;i=0;while(1){if((i|0)==4)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function bK(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<2;j=f<<2;i=0;while(1){if((i|0)==8)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function cK(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c[d>>2]=(c[d>>2]|0)+32;g=0;while(1){if((g|0)==4)break;o=d+(g<<2)|0;n=c[o>>2]|0;k=d+(g+8<<2)|0;m=c[k>>2]|0;j=m+n|0;m=n-m|0;n=d+(g+4<<2)|0;h=c[n>>2]|0;i=d+(g+12<<2)|0;p=c[i>>2]|0;l=(h>>1)-p|0;h=(p>>1)+h|0;c[o>>2]=h+j;c[n>>2]=l+m;c[k>>2]=m-l;c[i>>2]=j-h;g=g+1|0}f=f>>1;h=f<<1;i=f*3|0;g=0;while(1){if((g|0)==4)break;p=g<<2;o=c[d+(p<<2)>>2]|0;l=c[d+((p|2)<<2)>>2]|0;n=l+o|0;l=o-l|0;o=c[d+((p|1)<<2)>>2]|0;p=c[d+((p|3)<<2)>>2]|0;m=(o>>1)-p|0;o=(p>>1)+o|0;p=a+(g<<1)|0;k=(o+n>>6)+(e[p>>1]|0)|0;b[p>>1]=k>>>0<4096?k:0-k>>31&4095;p=a+(g+f<<1)|0;k=(m+l>>6)+(e[p>>1]|0)|0;b[p>>1]=k>>>0<4096?k:0-k>>31&4095;p=a+(g+h<<1)|0;m=(l-m>>6)+(e[p>>1]|0)|0;b[p>>1]=m>>>0<4096?m:0-m>>31&4095;p=a+(g+i<<1)|0;o=(n-o>>6)+(e[p>>1]|0)|0;b[p>>1]=o>>>0<4096?o:0-o>>31&4095;g=g+1|0}g=d+64|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(g|0));return}function dK(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;c[d>>2]=(c[d>>2]|0)+32;g=0;while(1){if((g|0)==8)break;w=d+(g<<2)|0;o=c[w>>2]|0;m=d+(g+32<<2)|0;l=c[m>>2]|0;j=l+o|0;l=o-l|0;o=d+(g+16<<2)|0;k=c[o>>2]|0;p=d+(g+48<<2)|0;v=c[p>>2]|0;n=(k>>1)-v|0;k=(v>>1)+k|0;v=k+j|0;r=n+l|0;n=l-n|0;k=j-k|0;j=d+(g+24<<2)|0;l=c[j>>2]|0;i=d+(g+40<<2)|0;h=c[i>>2]|0;t=d+(g+56<<2)|0;q=c[t>>2]|0;u=h-l-q-(q>>1)|0;s=d+(g+8<<2)|0;x=c[s>>2]|0;y=q-((l>>1)+l)+x|0;q=q+h+(h>>1)-x|0;x=h+l+x+(x>>1)|0;l=(x>>2)+u|0;h=(q>>2)+y|0;q=(y>>2)-q|0;u=x-(u>>2)|0;c[w>>2]=u+v;c[t>>2]=v-u;c[s>>2]=q+r;c[p>>2]=r-q;c[o>>2]=h+n;c[i>>2]=n-h;c[j>>2]=l+k;c[m>>2]=k-l;g=g+1|0}i=f>>1;j=i<<1;k=i*3|0;l=i<<2;m=i*5|0;f=i*6|0;h=i*7|0;g=0;while(1){if((g|0)==8)break;y=g<<3;q=c[d+(y<<2)>>2]|0;t=c[d+((y|4)<<2)>>2]|0;r=t+q|0;t=q-t|0;q=c[d+((y|2)<<2)>>2]|0;w=c[d+((y|6)<<2)>>2]|0;s=(q>>1)-w|0;q=(w>>1)+q|0;w=q+r|0;u=s+t|0;s=t-s|0;q=r-q|0;r=c[d+((y|3)<<2)>>2]|0;t=c[d+((y|5)<<2)>>2]|0;v=c[d+((y|7)<<2)>>2]|0;x=t-r-v-(v>>1)|0;y=c[d+((y|1)<<2)>>2]|0;p=v-((r>>1)+r)+y|0;v=v+t+(t>>1)-y|0;y=t+r+y+(y>>1)|0;r=(y>>2)+x|0;t=(v>>2)+p|0;v=(p>>2)-v|0;x=y-(x>>2)|0;y=a+(g<<1)|0;p=(x+w>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<4096?p:0-p>>31&4095;y=a+(g+i<<1)|0;p=(v+u>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<4096?p:0-p>>31&4095;y=a+(g+j<<1)|0;p=(t+s>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<4096?p:0-p>>31&4095;y=a+(g+k<<1)|0;p=(r+q>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<4096?p:0-p>>31&4095;y=a+(g+l<<1)|0;r=(q-r>>6)+(e[y>>1]|0)|0;b[y>>1]=r>>>0<4096?r:0-r>>31&4095;y=a+(g+m<<1)|0;t=(s-t>>6)+(e[y>>1]|0)|0;b[y>>1]=t>>>0<4096?t:0-t>>31&4095;y=a+(g+f<<1)|0;v=(u-v>>6)+(e[y>>1]|0)|0;b[y>>1]=v>>>0<4096?v:0-v>>31&4095;y=a+(g+h<<1)|0;x=(w-x>>6)+(e[y>>1]|0)|0;b[y>>1]=x>>>0<4096?x:0-x>>31&4095;g=g+1|0}_W(d|0,0,256)|0;return}function eK(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;h=(c[d>>2]|0)+32>>6;g=f>>>1;c[d>>2]=0;d=0;while(1){if((d|0)==4)break;else f=0;while(1){if((f|0)==4)break;i=a+(f<<1)|0;j=h+(e[i>>1]|0)|0;b[i>>1]=j>>>0<4096?j:0-j>>31&4095;f=f+1|0}a=a+(g<<1)|0;d=d+1|0}return}function fK(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;h=(c[d>>2]|0)+32>>6;c[d>>2]=0;g=f>>>1;f=a;a=0;while(1){if((a|0)==8)break;else d=0;while(1){if((d|0)==8)break;i=f+(d<<1)|0;j=h+(e[i>>1]|0)|0;b[i>>1]=j>>>0<4096?j:0-j>>31&4095;d=d+1|0}f=f+(g<<1)|0;a=a+1|0}return}function gK(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=0;while(1){if((i|0)==16)break;switch(a[h+(d[150841+i>>0]|0)>>0]|0){case 0:break;case 1:{if(!(c[f+(i<<4<<2)>>2]|0))j=6;else eK(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);break}default:j=6}if((j|0)==6){j=0;cK(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}i=i+1|0}return}function hK(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=0;while(1){if((i|0)>=16)break;switch(a[h+(d[150841+i>>0]|0)>>0]|0){case 0:break;case 1:{if(!(c[f+(i<<4<<2)>>2]|0))j=6;else fK(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);break}default:j=6}if((j|0)==6){j=0;dK(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}i=i+4|0}return}function iK(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;i=1;while(1){if((i|0)==3)break;j=i<<4;k=j|4;l=b+(i+-1<<2)|0;while(1){if((j|0)>=(k|0))break;if(!(a[h+(d[150841+j>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)eK((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else cK((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}return}function jK(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=1;while(1){if((i|0)==3){i=1;break}j=i<<4;k=j|4;l=b+(i+-1<<2)|0;while(1){if((j|0)>=(k|0))break;if(!(a[h+(d[150841+j>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)eK((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else cK((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}while(1){if((i|0)==3)break;j=i<<4;k=j|8;l=b+(i+-1<<2)|0;j=j|4;while(1){if((j|0)>=(k|0))break;m=j+4|0;if(!(a[h+(d[150841+m>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)eK((c[l>>2]|0)+(c[e+(m<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else cK((c[l>>2]|0)+(c[e+(m<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}return}function kK(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;i=0;while(1){if((i|0)==16)break;if(!(a[h+(d[150841+i>>0]|0)>>0]|0)){if(c[f+(i<<4<<2)>>2]|0)eK(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}else cK(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);i=i+1|0}return}function lK(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=$c;$c=$c+64|0;if(($c|0)>=(ad|0))N(64);g=h;f=0;while(1){if((f|0)==4)break;p=f<<2;l=c[b+(p<<2)>>2]|0;m=p|1;j=c[b+(m<<2)>>2]|0;o=j+l|0;j=l-j|0;l=p|2;n=c[b+(l<<2)>>2]|0;i=p|3;q=c[b+(i<<2)>>2]|0;k=n-q|0;n=q+n|0;c[g+(p<<2)>>2]=n+o;c[g+(m<<2)>>2]=o-n;c[g+(l<<2)>>2]=j-k;c[g+(i<<2)>>2]=k+j;f=f+1|0}f=0;while(1){if((f|0)==4)break;q=d[150837+f>>0]|0;p=c[g+(f<<2)>>2]|0;m=c[g+(f+8<<2)>>2]|0;o=m+p|0;m=p-m|0;p=c[g+(f+4<<2)>>2]|0;l=c[g+(f+12<<2)>>2]|0;n=p-l|0;p=l+p|0;c[a+(q<<2)>>2]=(H(p+o|0,e)|0)+128>>8;c[a+(q+16<<2)>>2]=(H(n+m|0,e)|0)+128>>8;c[a+(q+64<<2)>>2]=(H(m-n|0,e)|0)+128>>8;c[a+(q+80<<2)>>2]=(H(o-p|0,e)|0)+128>>8;f=f+1|0}$c=h;return}function mK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=c[a>>2]|0;j=a+64|0;e=c[j>>2]|0;g=a+128|0;h=c[g>>2]|0;d=a+192|0;k=c[d>>2]|0;f=i-e|0;i=e+i|0;e=h-k|0;h=k+h|0;c[a>>2]=(H(h+i|0,b)|0)>>7;c[j>>2]=(H(e+f|0,b)|0)>>7;c[g>>2]=(H(i-h|0,b)|0)>>7;c[d>>2]=(H(f-e|0,b)|0)>>7;return}function nK(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);f=g;e=0;while(1){if((e|0)==4){e=0;break}i=e<<5;j=c[a+(i<<2)>>2]|0;i=c[a+((i|16)<<2)>>2]|0;h=e<<1;c[f+(h<<2)>>2]=i+j;c[f+((h|1)<<2)>>2]=j-i;e=e+1|0}while(1){if((e|0)==2)break;j=d[150835+e>>0]|0;i=c[f+(e<<2)>>2]|0;l=c[f+(e+4<<2)>>2]|0;h=l+i|0;l=i-l|0;i=c[f+(e+2<<2)>>2]|0;m=c[f+(e+6<<2)>>2]|0;k=i-m|0;i=m+i|0;c[a+(j<<2)>>2]=(H(i+h|0,b)|0)+128>>8;c[a+(j+32<<2)>>2]=(H(k+l|0,b)|0)+128>>8;c[a+(j+64<<2)>>2]=(H(l-k|0,b)|0)+128>>8;c[a+(j+96<<2)>>2]=(H(h-i|0,b)|0)+128>>8;e=e+1|0}$c=g;return}function oK(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<4096?a:0-a>>31&4095;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+8|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+10|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+12|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+14|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+16|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+18|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+20|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+22|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+24|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+26|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+28|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+30|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;c=c+(j<<1)|0;h=h+1|0}return}function pK(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<4096?a:0-a>>31&4095;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+8|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+10|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+12|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+14|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;c=c+(j<<1)|0;h=h+1|0}return}function qK(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<4096?a:0-a>>31&4095;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;c=c+(j<<1)|0;h=h+1|0}return}function rK(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<4096?a:0-a>>31&4095;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;c=c+(j<<1)|0;h=h+1|0}return}function sK(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<4|1)<=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<4096?m:0-m>>31&4095;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=H(e[c+8>>1]|0,i)|0;m=d+8|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=H(e[c+10>>1]|0,i)|0;a=d+10|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=H(e[c+12>>1]|0,i)|0;m=d+12|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=H(e[c+14>>1]|0,i)|0;a=d+14|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=H(e[c+16>>1]|0,i)|0;m=d+16|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=H(e[c+18>>1]|0,i)|0;a=d+18|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=H(e[c+20>>1]|0,i)|0;m=d+20|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=H(e[c+22>>1]|0,i)|0;a=d+22|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=H(e[c+24>>1]|0,i)|0;m=d+24|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=H(e[c+26>>1]|0,i)|0;a=d+26|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=H(e[c+28>>1]|0,i)|0;m=d+28|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=H(e[c+30>>1]|0,i)|0;a=d+30|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function tK(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<4|1)<=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<4096?m:0-m>>31&4095;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=H(e[c+8>>1]|0,i)|0;m=d+8|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=H(e[c+10>>1]|0,i)|0;a=d+10|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=H(e[c+12>>1]|0,i)|0;m=d+12|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=H(e[c+14>>1]|0,i)|0;a=d+14|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function uK(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<4|1)<=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<4096?m:0-m>>31&4095;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function vK(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<4|1)<=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<4096?m:0-m>>31&4095;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function wK(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=d>>1;B=f<<4;y=g<<4;z=0-C|0;A=H(C,-2)|0;w=H(C,-3)|0;x=C<<1;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<4;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==4)break a;p=l+(z<<1)|0;q=e[p>>1]|0;d=l+(A<<1)|0;r=e[d>>1]|0;f=e[l+(w<<1)>>1]|0;s=e[l>>1]|0;i=l+(C<<1)|0;t=e[i>>1]|0;j=e[l+(x<<1)>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(B|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(y|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(y|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(y|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(y|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<4096?r:0-r>>31&4095;t=s-t|0;b[l>>1]=t>>>0<4096?t:0-t>>31&4095}k=k+1|0;l=l+2|0}}while(0);c=c+8|0;u=u+1|0}return}function xK(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=d>>1;y=f<<4;w=g<<4;x=z<<2;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<4;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==4)break a;p=l+-2|0;q=e[p>>1]|0;d=l+-4|0;r=e[d>>1]|0;f=e[l+-6>>1]|0;s=e[l>>1]|0;i=l+2|0;t=e[i>>1]|0;j=e[l+4>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(y|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(w|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(w|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<4096?r:0-r>>31&4095;t=s-t|0;b[l>>1]=t>>>0<4096?t:0-t>>31&4095}k=k+1|0;l=l+(z<<1)|0}}while(0);c=c+(x<<1)|0;u=u+1|0}return}function yK(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=d>>1;y=f<<4;w=g<<4;x=z<<1;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<4;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==2)break a;p=l+-2|0;q=e[p>>1]|0;d=l+-4|0;r=e[d>>1]|0;f=e[l+-6>>1]|0;s=e[l>>1]|0;i=l+2|0;t=e[i>>1]|0;j=e[l+4>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(y|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(w|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(w|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<4096?r:0-r>>31&4095;t=s-t|0;b[l>>1]=t>>>0<4096?t:0-t>>31&4095}k=k+1|0;l=l+(z<<1)|0}}while(0);c=c+(x<<1)|0;u=u+1|0}return}function zK(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=c>>1;z=d<<4;v=f<<4;w=H(A,-3)|0;x=H(A,-2)|0;y=0-A|0;r=A<<1;s=z>>2|2;t=H(A,-4)|0;u=A*3|0;j=0;while(1){if((j|0)==16)break;c=a+(w<<1)|0;i=e[c>>1]|0;d=a+(x<<1)|0;k=e[d>>1]|0;f=a+(y<<1)|0;l=e[f>>1]|0;m=e[a>>1]|0;n=a+(A<<1)|0;o=e[n>>1]|0;p=a+(r<<1)|0;q=e[p>>1]|0;g=l-m|0;g=(g|0)>-1?g:0-g|0;do if(((g|0)<(z|0)?(h=k-l|0,(((h|0)>-1?h:0-h|0)|0)<(v|0)):0)?(h=o-m|0,(((h|0)>-1?h:0-h|0)|0)<(v|0)):0){if((g|0)>=(s|0)){b[f>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}h=i-l|0;if((((h|0)>-1?h:0-h|0)|0)<(v|0)){B=e[a+(t<<1)>>1]|0;b[f>>1]=(i+4+o+(l+k+m<<1)|0)>>>3;b[d>>1]=(i+2+k+l+m|0)>>>2;f=c;d=3;g=4;h=m;c=(i*3|0)+k+(B<<1)|0}else{d=2;g=2;h=o;c=k<<1}b[f>>1]=(c+l+h+g|0)>>>d;B=q-m|0;if((((B|0)>-1?B:0-B|0)|0)<(v|0)){B=e[a+(u<<1)>>1]|0;b[a>>1]=(k+4+q+(m+l+o<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(l+4+m+o+(q*3|0)+(B<<1)|0)>>>3;break}else{b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}}while(0);a=a+2|0;j=j+1|0}return}function AK(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=c>>1;t=d<<4;r=f<<4;s=t>>2|2;j=0;while(1){if((j|0)==16)break;g=a+-6|0;i=e[g>>1]|0;c=a+-4|0;k=e[c>>1]|0;d=a+-2|0;l=e[d>>1]|0;m=e[a>>1]|0;n=a+2|0;o=e[n>>1]|0;p=a+4|0;q=e[p>>1]|0;f=l-m|0;f=(f|0)>-1?f:0-f|0;do if(((f|0)<(t|0)?(h=k-l|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0)?(h=o-m|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0){if((f|0)>=(s|0)){b[d>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}h=i-l|0;if((((h|0)>-1?h:0-h|0)|0)<(r|0)){v=e[a+-8>>1]|0;b[d>>1]=(i+4+o+(l+k+m<<1)|0)>>>3;b[c>>1]=(i+2+k+l+m|0)>>>2;d=g;f=3;g=4;h=m;c=(i*3|0)+k+(v<<1)|0}else{f=2;g=2;h=o;c=k<<1}b[d>>1]=(c+l+h+g|0)>>>f;v=q-m|0;if((((v|0)>-1?v:0-v|0)|0)<(r|0)){v=e[a+6>>1]|0;b[a>>1]=(k+4+q+(m+l+o<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(l+4+m+o+(q*3|0)+(v<<1)|0)>>>3;break}else{b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}}while(0);a=a+(u<<1)|0;j=j+1|0}return}function BK(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=c>>1;t=d<<4;r=f<<4;s=t>>2|2;j=0;while(1){if((j|0)==8)break;g=a+-6|0;i=e[g>>1]|0;c=a+-4|0;k=e[c>>1]|0;d=a+-2|0;l=e[d>>1]|0;m=e[a>>1]|0;n=a+2|0;o=e[n>>1]|0;p=a+4|0;q=e[p>>1]|0;f=l-m|0;f=(f|0)>-1?f:0-f|0;do if(((f|0)<(t|0)?(h=k-l|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0)?(h=o-m|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0){if((f|0)>=(s|0)){b[d>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}h=i-l|0;if((((h|0)>-1?h:0-h|0)|0)<(r|0)){v=e[a+-8>>1]|0;b[d>>1]=(i+4+o+(l+k+m<<1)|0)>>>3;b[c>>1]=(i+2+k+l+m|0)>>>2;d=g;f=3;g=4;h=m;c=(i*3|0)+k+(v<<1)|0}else{f=2;g=2;h=o;c=k<<1}b[d>>1]=(c+l+h+g|0)>>>f;v=q-m|0;if((((v|0)>-1?v:0-v|0)|0)<(r|0)){v=e[a+6>>1]|0;b[a>>1]=(k+4+q+(m+l+o<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(l+4+m+o+(q*3|0)+(v<<1)|0)>>>3;break}else{b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}}while(0);a=a+(u<<1)|0;j=j+1|0}return}function CK(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=f<<4;s=g<<4;p=d>>1;q=0-p|0;r=H(p,-2)|0;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<4;o=f+-15|0;a:do if(m<<24>>24>=1){d=15-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+(q<<1)|0;j=e[i>>1]|0;k=e[g+(r<<1)>>1]|0;l=e[g>>1]|0;m=e[g+(p<<1)>>1]|0;u=j-l|0;if(((((u|0)>-1?u:0-u|0)|0)<(t|0)?(u=k-j|0,(((u|0)>-1?u:0-u|0)|0)<(s|0)):0)?(u=m-l|0,(((u|0)>-1?u:0-u|0)|0)<(s|0)):0){u=k+4-m+(l-j<<2)>>3;u=(u|0)<(d|0)?d:(u|0)>(o|0)?o:u;m=u+j|0;b[i>>1]=m>>>0<4096?m:0-m>>31&4095;u=l-u|0;b[g>>1]=u>>>0<4096?u:0-u>>31&4095}f=f+1|0;g=g+2|0}}while(0);c=c+4|0;n=n+1|0}return}function DK(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<4;r=g<<4;p=d>>1;q=p<<1;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<4;o=f+-15|0;a:do if(m<<24>>24>=1){d=15-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<4096?m:0-m>>31&4095;t=l-t|0;b[g>>1]=t>>>0<4096?t:0-t>>31&4095}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function EK(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<4;r=g<<4;p=d>>1;q=p<<2;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<4;o=f+-15|0;a:do if(m<<24>>24>=1){d=15-f|0;f=0;g=c;while(1){if((f|0)==4)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<4096?m:0-m>>31&4095;t=l-t|0;b[g>>1]=t>>>0<4096?t:0-t>>31&4095}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function FK(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=f<<4;q=g<<4;p=d>>1;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<4;o=f+-15|0;a:do if(m<<24>>24>=1){d=15-f|0;f=0;g=c;while(1){if((f|0)==1)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;s=j-l|0;if(((((s|0)>-1?s:0-s|0)|0)<(r|0)?(s=k-j|0,(((s|0)>-1?s:0-s|0)|0)<(q|0)):0)?(s=m-l|0,(((s|0)>-1?s:0-s|0)|0)<(q|0)):0){s=k+4-m+(l-j<<2)>>3;s=(s|0)<(d|0)?d:(s|0)>(o|0)?o:s;m=s+j|0;b[i>>1]=m>>>0<4096?m:0-m>>31&4095;s=l-s|0;b[g>>1]=s>>>0<4096?s:0-s>>31&4095}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(p<<1)|0;n=n+1|0}return} +function DS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;s=c[a>>2]|0;aa=c[a+124>>2]|0;Q=aa+s|0;aa=(s+2048-aa>>12)*4091|0;s=c[a+60>>2]|0;p=c[a+64>>2]|0;I=p+s|0;p=(s+2048-p>>12)*201|0;s=p+aa|0;p=(aa+2048-p>>12)*4076|0;aa=I+Q|0;I=(Q+2048-I>>12)*4076|0;Q=c[a+28>>2]|0;X=c[a+96>>2]|0;q=X+Q|0;X=(Q+2048-X>>12)*3035|0;Q=c[a+32>>2]|0;A=c[a+92>>2]|0;N=A+Q|0;A=(Q+2048-A>>12)*2751|0;Q=A+X|0;A=(X+2048-A>>12)*401|0;X=N+q|0;N=(q+2048-N>>12)*401|0;q=c[a+12>>2]|0;ba=c[a+112>>2]|0;m=ba+q|0;ba=(q+2048-ba>>12)*3857|0;q=c[a+48>>2]|0;n=c[a+76>>2]|0;G=n+q|0;n=(q+2048-n>>12)*1380|0;q=n+ba|0;n=(ba+2048-n>>12)*3166|0;ba=G+m|0;G=(m+2048-G>>12)*3166|0;m=c[a+16>>2]|0;T=c[a+108>>2]|0;r=T+m|0;T=(m+2048-T>>12)*3703|0;m=c[a+44>>2]|0;i=c[a+80>>2]|0;F=i+m|0;i=(m+2048-i>>12)*1751|0;m=i+T|0;i=(T+2048-i>>12)*2598|0;T=F+r|0;F=(r+2048-F>>12)*2598|0;r=c[a+4>>2]|0;$=c[a+120>>2]|0;k=$+r|0;$=(r+2048-$>>12)*4052|0;r=c[a+56>>2]|0;o=c[a+68>>2]|0;H=o+r|0;o=(r+2048-o>>12)*601|0;r=o+$|0;o=($+2048-o>>12)*3920|0;$=H+k|0;H=(k+2048-H>>12)*3920|0;k=c[a+24>>2]|0;R=c[a+100>>2]|0;Z=R+k|0;R=(k+2048-R>>12)*3290|0;k=c[a+36>>2]|0;g=c[a+88>>2]|0;D=g+k|0;g=(k+2048-g>>12)*2440|0;k=g+R|0;g=(R+2048-g>>12)*1189|0;R=D+Z|0;D=(Z+2048-D>>12)*1189|0;Z=c[a+8>>2]|0;_=c[a+116>>2]|0;l=_+Z|0;_=(Z+2048-_>>12)*3973|0;Z=c[a+52>>2]|0;x=c[a+72>>2]|0;Y=x+Z|0;x=(Z+2048-x>>12)*995|0;Z=x+_|0;x=(_+2048-x>>12)*3612|0;_=Y+l|0;Y=(l+2048-Y>>12)*3612|0;l=c[a+20>>2]|0;S=c[a+104>>2]|0;ca=S+l|0;S=(l+2048-S>>12)*3513|0;l=c[a+40>>2]|0;h=c[a+84>>2]|0;E=h+l|0;h=(l+2048-h>>12)*2106|0;l=h+S|0;h=(S+2048-h>>12)*1931|0;S=E+ca|0;E=(ca+2048-E>>12)*1931|0;ca=X+aa|0;X=(aa+2048-X>>12)*4017|0;aa=T+ba|0;T=(ba+2048-T>>12)*799|0;ba=R+$|0;R=($+2048-R>>12)*3406|0;$=S+_|0;S=(_+2048-S>>12)*2276|0;_=Q+s|0;Q=(s+2048-Q>>12)*4017|0;s=m+q|0;m=(q+2048-m>>12)*799|0;q=k+r|0;k=(r+2048-k>>12)*3406|0;r=l+Z|0;l=(Z+2048-l>>12)*2276|0;Z=N+I|0;N=(I+2048-N>>12)*4017|0;I=F+G|0;F=(G+2048-F>>12)*799|0;G=D+H|0;D=(H+2048-D>>12)*3406|0;H=E+Y|0;E=(Y+2048-E>>12)*2276|0;Y=A+p|0;A=(p+2048-A>>12)*4017|0;p=i+n|0;i=(n+2048-i>>12)*799|0;n=g+o|0;g=(o+2048-g>>12)*3406|0;o=h+x|0;h=(x+2048-h>>12)*2276|0;x=$+ba|0;w=aa+ca+2048|0;c[e+480+(b<<2)>>2]=w+x>>12;c[d+(b<<2)>>2]=((w-x>>12)*2896|0)+2048>>12;x=s+_|0;w=r+q|0;a=w+x|0;c[e+448+(b<<2)>>2]=a+2048>>12;M=I+Z|0;L=H+G|0;B=L+M|0;c[e+416+(b<<2)>>2]=B+2048>>12;z=p+Y|0;t=o+n|0;y=t+z|0;a=(y<<1)-a|0;c[e+384+(b<<2)>>2]=a+2048>>12;W=T+X|0;V=S+R|0;U=V+W|0;c[e+352+(b<<2)>>2]=U+2048>>12;P=m+Q|0;O=l+k|0;j=O+P|0;a=(j<<1)-a|0;c[e+320+(b<<2)>>2]=a+2048>>12;K=F+N|0;J=E+D|0;C=J+K|0;B=(C<<1)-B|0;c[e+288+(b<<2)>>2]=B+2048>>12;v=i+A|0;u=h+g|0;f=u+v|0;y=(f<<1)-y|0;a=(y<<1)-a|0;c[e+256+(b<<2)>>2]=a+2048>>12;aa=(ca+2048-aa>>12)*3784|0;$=(ba+2048-$>>12)*1567|0;ba=$+aa|0;c[e+224+(b<<2)>>2]=ba+2048>>12;c[d+256+(b<<2)>>2]=2048-ba+((aa+2048-$>>12)*5792|0)>>12;s=(_+2048-s>>12)*3784|0;r=(q+2048-r>>12)*1567|0;q=r+s|0;a=(q<<1)-a|0;c[e+192+(b<<2)>>2]=a+2048>>12;I=(Z+2048-I>>12)*3784|0;H=(G+2048-H>>12)*1567|0;G=H+I|0;B=(G<<1)-B|0;c[e+160+(b<<2)>>2]=B+2048>>12;p=(Y+2048-p>>12)*3784|0;o=(n+2048-o>>12)*1567|0;n=o+p|0;y=(n<<1)-y|0;a=(y<<1)-a|0;c[e+128+(b<<2)>>2]=a+2048>>12;T=(X+2048-T>>12)*3784|0;S=(R+2048-S>>12)*1567|0;R=S+T|0;U=(R<<1)-U|0;c[e+96+(b<<2)>>2]=U+2048>>12;U=((W+2048-V>>12)*5792|0)-U|0;c[d+128+(b<<2)>>2]=U+2048>>12;c[d+384+(b<<2)>>2]=2048-U+(((T+2048-S>>12)*5792|0)-R<<1)>>12;m=(Q+2048-m>>12)*3784|0;l=(k+2048-l>>12)*1567|0;k=l+m|0;j=(k<<1)-j|0;a=(j<<1)-a|0;c[e+64+(b<<2)>>2]=a+2048>>12;j=((P+2048-O>>12)*5792|0)-j|0;F=(N+2048-F>>12)*3784|0;E=(D+2048-E>>12)*1567|0;D=E+F|0;C=(D<<1)-C|0;B=(C<<1)-B|0;c[e+32+(b<<2)>>2]=B+2048>>12;B=((M+2048-L>>12)*5792|0)-B|0;c[d+64+(b<<2)>>2]=B+2048>>12;C=((K+2048-J>>12)*5792|0)-C|0;B=(C<<1)-B|0;c[d+192+(b<<2)>>2]=B+2048>>12;B=(((I+2048-H>>12)*5792|0)-G<<1)-B|0;c[d+320+(b<<2)>>2]=B+2048>>12;c[d+448+(b<<2)>>2]=((((F+2048-E>>12)*5792|0)-D<<1)-C<<1)+2048-B>>12;i=(A+2048-i>>12)*3784|0;h=(g+2048-h>>12)*1567|0;g=h+i|0;f=(g<<1)-f|0;y=(f<<1)-y|0;t=((z+2048-t>>12)*5792|0)-y|0;a=(y<<1)-a|0;c[e+(b<<2)>>2]=a+2048>>12;a=((x+2048-w>>12)*5792|0)-a|0;c[d+32+(b<<2)>>2]=a+2048>>12;a=(t<<1)-a|0;c[d+96+(b<<2)>>2]=a+2048>>12;a=(j<<1)-a|0;c[d+160+(b<<2)>>2]=a+2048>>12;f=((v+2048-u>>12)*5792|0)-f|0;e=(f<<1)-t|0;a=(e<<1)-a|0;c[d+224+(b<<2)>>2]=a+2048>>12;a=(((s+2048-r>>12)*5792|0)-q<<1)-a|0;c[d+288+(b<<2)>>2]=a+2048>>12;e=(((p+2048-o>>12)*5792|0)-n<<1)-e|0;a=(e<<1)-a|0;c[d+352+(b<<2)>>2]=a+2048>>12;a=((((m+2048-l>>12)*5792|0)-k<<1)-j<<1)-a|0;c[d+416+(b<<2)>>2]=a+2048>>12;c[d+480+(b<<2)>>2]=(((((i+2048-h>>12)*5792|0)-g<<1)-f<<1)-e<<1)+2048-a>>12;return}function ES(f,g,h,i,j,k){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;c[j>>2]=0;l=(h|0)!=0;t=(g|0)==1;c[k>>2]=l?(t?1:2):t?5:3;c[i>>2]=uS(f,l?8:9)|0;c[i+4>>2]=uS(f,c[k>>2]|0)|0;if(!l)if(!g)t=2;else{h=0;do{a[i+8+h>>0]=uS(f,4)|0;h=h+1|0}while((h|0)!=(g|0));t=2}else t=1;q=(g|0)==0;s=l?9:4;r=l?2:3;p=l^1;o=0;h=0;do{if(!q){n=0;do{l=i+10+(o*116|0)+(n*58|0)|0;b[l>>1]=uS(f,12)|0;m=i+10+(o*116|0)+(n*58|0)+2|0;b[m>>1]=uS(f,9)|0;b[i+10+(o*116|0)+(n*58|0)+4>>1]=uS(f,8)|0;b[i+10+(o*116|0)+(n*58|0)+6>>1]=uS(f,s)|0;c[j>>2]=(c[j>>2]|0)+(e[l>>1]|0);h=(h|0)==0&(e[m>>1]|0)>288?562:h;m=i+10+(o*116|0)+(n*58|0)+8|0;a[m>>0]=0;if(!(uS(f,1)|0)){a[i+10+(o*116|0)+(n*58|0)+9>>0]=0;a[i+10+(o*116|0)+(n*58|0)+10>>0]=uS(f,5)|0;a[i+10+(o*116|0)+(n*58|0)+11>>0]=uS(f,5)|0;a[i+10+(o*116|0)+(n*58|0)+12>>0]=uS(f,5)|0;a[i+10+(o*116|0)+(n*58|0)+16>>0]=uS(f,4)|0;a[i+10+(o*116|0)+(n*58|0)+17>>0]=uS(f,3)|0}else{u=uS(f,2)|0;k=u&255;l=i+10+(o*116|0)+(n*58|0)+9|0;a[l>>0]=k;h=(u&255|h|0)==0?563:h;if(k<<24>>24==2&p)h=((h|0)==0?(a[i+8+n>>0]|0)!=0:0)?564:h;k=i+10+(o*116|0)+(n*58|0)+16|0;a[k>>0]=7;a[i+10+(o*116|0)+(n*58|0)+17>>0]=36;if(!(uS(f,1)|0)){if((a[l>>0]|0)==2)a[k>>0]=8}else a[m>>0]=a[m>>0]|8;a[i+10+(o*116|0)+(n*58|0)+10>>0]=uS(f,5)|0;a[i+10+(o*116|0)+(n*58|0)+11>>0]=uS(f,5)|0;a[i+10+(o*116|0)+(n*58|0)+12>>0]=4;a[i+10+(o*116|0)+(n*58|0)+13>>0]=uS(f,3)|0;a[i+10+(o*116|0)+(n*58|0)+14>>0]=uS(f,3)|0;a[i+10+(o*116|0)+(n*58|0)+15>>0]=uS(f,3)|0}u=uS(f,r)|0;a[m>>0]=u|d[m>>0];n=n+1|0}while((n|0)!=(g|0))}o=o+1|0}while(o>>>0>>0);return h|0}function FS(f,h,i,j){f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0;Bb=$c;$c=$c+7296|0;if(($c|0)>=(ad|0))N(7296);yb=Bb+2448|0;xb=Bb+2432|0;wb=Bb+2416|0;ub=Bb+2400|0;tb=Bb+2384|0;sb=Bb+2368|0;zb=Bb+2352|0;vb=Bb+2336|0;rb=Bb+2320|0;qb=Bb+16|0;pb=Bb;ib=Bb+7224|0;ob=Bb+7216|0;Ab=Bb+2608|0;mb=Bb+2464|0;kb=h+28|0;gb=c[kb>>2]|0;lb=(gb&16384|0)==0;k=c[h+20>>2]<<((lb^1)&1);k=(k>>>15&1)+(lb?-8:-5)+(k>>>7&15)|0;gb=2-(gb>>>12&1)|0;if(!gb){Ab=0;$c=Bb;return Ab|0}jb=(j|0)==0;hb=80380+(k*12|0)|0;lb=80380+(k*12|0)+8|0;eb=80380+(k*12|0)+4|0;Ga=i+184|0;cb=h+8|0;Ha=qb+4|0;Sa=qb+8|0;Va=qb+12|0;Wa=qb+16|0;Xa=qb+20|0;Ya=qb+24|0;Za=qb+28|0;_a=qb+32|0;$a=qb+36|0;Ia=qb+40|0;Ja=qb+44|0;Ka=qb+48|0;La=qb+52|0;Ma=qb+56|0;Na=qb+60|0;Oa=qb+64|0;Pa=qb+68|0;Qa=qb+72|0;Ra=qb+76|0;Ta=qb+80|0;Ua=qb+84|0;R=c[28451]|0;bb=h+4|0;T=ib+4|0;U=ib+8|0;db=h+9264|0;V=qb+2|0;ea=qb+4|0;pa=qb+6|0;Aa=qb+8|0;Ba=qb+10|0;Ca=qb+12|0;Da=qb+14|0;Ea=qb+16|0;Fa=qb+18|0;W=qb+20|0;X=qb+22|0;Y=qb+24|0;Z=qb+26|0;_=qb+28|0;$=qb+30|0;aa=qb+32|0;ba=qb+34|0;ca=qb+36|0;da=qb+38|0;fa=qb+40|0;ga=qb+42|0;ha=qb+44|0;ia=qb+46|0;ja=qb+48|0;ka=qb+50|0;la=qb+52|0;ma=qb+54|0;na=qb+56|0;oa=qb+58|0;qa=qb+60|0;ra=qb+62|0;sa=qb+64|0;ua=qb+66|0;va=qb+68|0;wa=qb+70|0;xa=qb+72|0;ya=qb+74|0;za=qb+76|0;S=Ab+2304|0;ab=0;a:while(1){P=i+10+(ab*116|0)|0;if(!jb){K=c[hb>>2]|0;O=(ab|0)==0;L=0;do{w=i+10+(ab*116|0)+(L*58|0)|0;k=ob+(L<<2)|0;c[k>>2]=K;x=i+10+(ab*116|0)+(L*58|0)+9|0;n=(a[x>>0]|0)==2;if(n){J=c[((a[i+10+(ab*116|0)+(L*58|0)+8>>0]&8)==0?eb:lb)>>2]|0;c[k>>2]=J;k=J}else k=K;if(!(c[kb>>2]&4096)){if(O)m=0;else m=d[i+8+L>>0]|0;J=f;o=c[J+4>>2]|0;p=qb;c[p>>2]=c[J>>2];c[p+4>>2]=o;p=e[i+10+(ab*116|0)+(L*58|0)+6>>1]|0;o=d[178405+(p<<1)>>0]|0;p=d[178405+(p<<1)+1>>0]|0;if(n){l=18-((d[i+10+(ab*116|0)+(L*58|0)+8>>0]|0)>>>3&1)|0;m=l;n=0;while(1){m=m+-1|0;a[i+10+(ab*116|0)+(L*58|0)+18+n>>0]=uS(f,o)|0;if(!m)break;else n=n+1|0}a[i+10+(ab*116|0)+(L*58|0)+18+l>>0]=uS(f,p)|0;a[l+1+(i+10+(ab*116|0)+(L*58|0)+18)>>0]=uS(f,p)|0;a[l+2+(i+10+(ab*116|0)+(L*58|0)+18)>>0]=uS(f,p)|0;I=l|4;a[l+3+(i+10+(ab*116|0)+(L*58|0)+18)>>0]=uS(f,p)|0;a[i+10+(ab*116|0)+(L*58|0)+18+I>>0]=uS(f,p)|0;a[I+1+(i+10+(ab*116|0)+(L*58|0)+18)>>0]=uS(f,p)|0;a[I+2+(i+10+(ab*116|0)+(L*58|0)+18)>>0]=uS(f,p)|0;a[I+3+(i+10+(ab*116|0)+(L*58|0)+18)>>0]=uS(f,p)|0;a[I+4+(i+10+(ab*116|0)+(L*58|0)+18)>>0]=uS(f,p)|0;a[I+5+(i+10+(ab*116|0)+(L*58|0)+18)>>0]=uS(f,p)|0;a[I+6+(i+10+(ab*116|0)+(L*58|0)+18)>>0]=uS(f,p)|0;J=l|12;a[I+7+(i+10+(ab*116|0)+(L*58|0)+18)>>0]=uS(f,p)|0;a[i+10+(ab*116|0)+(L*58|0)+18+J>>0]=uS(f,p)|0;a[J+1+(i+10+(ab*116|0)+(L*58|0)+18)>>0]=uS(f,p)|0;a[J+2+(i+10+(ab*116|0)+(L*58|0)+18)>>0]=uS(f,p)|0;a[J+3+(i+10+(ab*116|0)+(L*58|0)+18)>>0]=uS(f,p)|0;a[J+4+(i+10+(ab*116|0)+(L*58|0)+18)>>0]=uS(f,p)|0;a[J+5+(i+10+(ab*116|0)+(L*58|0)+18)>>0]=uS(f,p)|0;J=w+(l|36)|0;a[J>>0]=0;a[J+1>>0]=0;a[J+2>>0]=0}else{if(!(m&8)){a[i+10+(ab*116|0)+(L*58|0)+18>>0]=uS(f,o)|0;a[i+10+(ab*116|0)+(L*58|0)+19>>0]=uS(f,o)|0;a[i+10+(ab*116|0)+(L*58|0)+20>>0]=uS(f,o)|0;a[i+10+(ab*116|0)+(L*58|0)+21>>0]=uS(f,o)|0;a[i+10+(ab*116|0)+(L*58|0)+22>>0]=uS(f,o)|0;l=(uS(f,o)|0)&255}else{a[i+10+(ab*116|0)+(L*58|0)+18>>0]=a[i+10+(L*58|0)+18>>0]|0;a[i+10+(ab*116|0)+(L*58|0)+19>>0]=a[i+10+(L*58|0)+19>>0]|0;a[i+10+(ab*116|0)+(L*58|0)+20>>0]=a[i+10+(L*58|0)+20>>0]|0;a[i+10+(ab*116|0)+(L*58|0)+21>>0]=a[i+10+(L*58|0)+21>>0]|0;a[i+10+(ab*116|0)+(L*58|0)+22>>0]=a[i+10+(L*58|0)+22>>0]|0;l=a[i+10+(L*58|0)+23>>0]|0}a[i+10+(ab*116|0)+(L*58|0)+23>>0]=l;if(!(m&4)){a[i+10+(ab*116|0)+(L*58|0)+24>>0]=uS(f,o)|0;a[i+10+(ab*116|0)+(L*58|0)+25>>0]=uS(f,o)|0;a[i+10+(ab*116|0)+(L*58|0)+26>>0]=uS(f,o)|0;a[i+10+(ab*116|0)+(L*58|0)+27>>0]=uS(f,o)|0;l=(uS(f,o)|0)&255}else{a[i+10+(ab*116|0)+(L*58|0)+24>>0]=a[i+10+(L*58|0)+24>>0]|0;a[i+10+(ab*116|0)+(L*58|0)+25>>0]=a[i+10+(L*58|0)+25>>0]|0;a[i+10+(ab*116|0)+(L*58|0)+26>>0]=a[i+10+(L*58|0)+26>>0]|0;a[i+10+(ab*116|0)+(L*58|0)+27>>0]=a[i+10+(L*58|0)+27>>0]|0;l=a[i+10+(L*58|0)+28>>0]|0}a[i+10+(ab*116|0)+(L*58|0)+28>>0]=l;if(!(m&2)){a[i+10+(ab*116|0)+(L*58|0)+29>>0]=uS(f,p)|0;a[i+10+(ab*116|0)+(L*58|0)+30>>0]=uS(f,p)|0;a[i+10+(ab*116|0)+(L*58|0)+31>>0]=uS(f,p)|0;a[i+10+(ab*116|0)+(L*58|0)+32>>0]=uS(f,p)|0;l=(uS(f,p)|0)&255}else{a[i+10+(ab*116|0)+(L*58|0)+29>>0]=a[i+10+(L*58|0)+29>>0]|0;a[i+10+(ab*116|0)+(L*58|0)+30>>0]=a[i+10+(L*58|0)+30>>0]|0;a[i+10+(ab*116|0)+(L*58|0)+31>>0]=a[i+10+(L*58|0)+31>>0]|0;a[i+10+(ab*116|0)+(L*58|0)+32>>0]=a[i+10+(L*58|0)+32>>0]|0;l=a[i+10+(L*58|0)+33>>0]|0}a[i+10+(ab*116|0)+(L*58|0)+33>>0]=l;if(!(m&1)){a[i+10+(ab*116|0)+(L*58|0)+34>>0]=uS(f,p)|0;a[i+10+(ab*116|0)+(L*58|0)+35>>0]=uS(f,p)|0;a[i+10+(ab*116|0)+(L*58|0)+36>>0]=uS(f,p)|0;a[i+10+(ab*116|0)+(L*58|0)+37>>0]=uS(f,p)|0;l=(uS(f,p)|0)&255}else{a[i+10+(ab*116|0)+(L*58|0)+34>>0]=a[i+10+(L*58|0)+34>>0]|0;a[i+10+(ab*116|0)+(L*58|0)+35>>0]=a[i+10+(L*58|0)+35>>0]|0;a[i+10+(ab*116|0)+(L*58|0)+36>>0]=a[i+10+(L*58|0)+36>>0]|0;a[i+10+(ab*116|0)+(L*58|0)+37>>0]=a[i+10+(L*58|0)+37>>0]|0;l=a[i+10+(L*58|0)+38>>0]|0}a[i+10+(ab*116|0)+(L*58|0)+38>>0]=l;a[i+10+(ab*116|0)+(L*58|0)+39>>0]=0}l=rS(qb,f)|0}else{t=(L|0)==0?0:Ga;l=c[cb>>2]|0;J=f;p=c[J+4>>2]|0;m=qb;c[m>>2]=c[J>>2];c[m+4>>2]=p;m=b[i+10+(ab*116|0)+(L*58|0)+6>>1]|0;p=m&65535;if(n)u=((d[i+10+(ab*116|0)+(L*58|0)+8>>0]|0)>>>3&1)+1&255;else u=0;if((t|0)!=0&(l&1|0)!=0){l=p>>>1;do if((m&65535)>=360)if((m&65535)<488){r=l+-180|0;s=4;m=r>>>4&3;q=r>>>2&3;r=r&3;break}else{r=l+-244|0;q=(r>>>0)/3|0;s=5;m=q;q=r-(q*3|0)|0;r=0;break}else{J=(l>>>0)%36|0;r=(J>>>0)/6|0;s=3;m=(p>>>0)/72|0;q=r;r=J-(r*6|0)|0}while(0);n=178333+(s*12|0)+(u<<2)|0;p=(1<>0]|0))l=0;else{o=0;while(1){J=uS(f,m)|0;a[i+10+(ab*116|0)+(L*58|0)+18+o>>0]=J;l=o+1|0;a[t+18+o>>0]=(J|0)==(p|0)&1;if(l>>>0<(d[n>>0]|0)>>>0)o=l;else break}}p=(1<>0]|0){o=0;m=l;while(1){J=uS(f,q)|0;a[i+10+(ab*116|0)+(L*58|0)+18+m>>0]=J;l=m+1|0;a[t+18+m>>0]=(J|0)==(p|0)&1;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}p=(1<>0]|0){o=0;m=l;while(1){J=uS(f,r)|0;a[i+10+(ab*116|0)+(L*58|0)+18+m>>0]=J;l=m+1|0;a[t+18+m>>0]=(J|0)==(p|0)&1;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}n=178333+(s*12|0)+(u<<2)+3|0;if(a[n>>0]|0){o=0;m=l;while(1){J=uS(f,0)|0;a[i+10+(ab*116|0)+(L*58|0)+18+m>>0]=J;l=m+1|0;a[t+18+m>>0]=(J|0)==0&1;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}if(l>>>0<39)do{a[i+10+(ab*116|0)+(L*58|0)+18+l>>0]=0;a[t+18+l>>0]=0;l=l+1|0}while((l|0)!=39)}else{do if((m&65535)>=400)if((m&65535)<500){q=p+-400|0;s=1;o=(q>>>0)/20|0;q=(q>>>2>>>0)%5|0;r=m&3;p=0;break}else{r=p+-500|0;q=(r>>>0)/3|0;s=i+10+(ab*116|0)+(L*58|0)+8|0;a[s>>0]=a[s>>0]|4;s=2;o=q;q=r-(q*3|0)|0;r=0;p=0;break}else{s=0;o=(p>>>0)/80|0;q=(p>>>4>>>0)%5|0;r=p>>>2&3;p=p&3}while(0);m=178333+(s*12|0)+(u<<2)|0;if(!(a[m>>0]|0))l=0;else{n=0;while(1){l=n+1|0;a[i+10+(ab*116|0)+(L*58|0)+18+n>>0]=uS(f,o)|0;if(l>>>0<(d[m>>0]|0)>>>0)n=l;else break}}n=178333+(s*12|0)+(u<<2)+1|0;if(a[n>>0]|0){o=0;m=l;while(1){l=m+1|0;a[i+10+(ab*116|0)+(L*58|0)+18+m>>0]=uS(f,q)|0;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}n=178333+(s*12|0)+(u<<2)+2|0;if(a[n>>0]|0){o=0;m=l;while(1){l=m+1|0;a[i+10+(ab*116|0)+(L*58|0)+18+m>>0]=uS(f,r)|0;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}n=178333+(s*12|0)+(u<<2)+3|0;if(a[n>>0]|0){o=0;m=l;while(1){l=m+1|0;a[i+10+(ab*116|0)+(L*58|0)+18+m>>0]=uS(f,p)|0;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}if(l>>>0<39)_W(w+(l+18)|0,0,39-l|0)|0}l=rS(qb,f)|0}v=Ab+(L*2304|0)|0;m=(e[w>>1]|0)-l|0;if((m|0)<0){nb=566;break a}r=(e[i+10+(ab*116|0)+(L*58|0)+4>>1]|0)+-210|0;J=i+10+(ab*116|0)+(L*58|0)+8|0;n=d[J>>0]|0;s=(n>>>1&1)+1|0;do if((a[x>>0]|0)==2){if(!(n&8)){l=0;n=0}else{o=n<<29>>31;l=0;n=0;while(1){c[qb+(n<<2)>>2]=r-((o&d[178437+n>>0])+(d[i+10+(ab*116|0)+(L*58|0)+18+n>>0]|0)<>0]|0)|0;if(l>>>0<36)n=p;else{n=p;break}}}p=r-(d[i+10+(ab*116|0)+(L*58|0)+13>>0]<<3)|0;q=r-(d[i+10+(ab*116|0)+(L*58|0)+14>>0]<<3)|0;o=r-(d[i+10+(ab*116|0)+(L*58|0)+15>>0]<<3)|0;if(l>>>0<576)while(1){c[qb+(n<<2)>>2]=p-(d[i+10+(ab*116|0)+(L*58|0)+18+n>>0]<>2]=q-(d[i+10+(ab*116|0)+(L*58|0)+18+I>>0]<>2]=o-(d[i+10+(ab*116|0)+(L*58|0)+18+I>>0]<>0]|0)*3|0)+l|0;if(l>>>0>=576)break;else n=n+3|0}}else{c[qb>>2]=r-(d[i+10+(ab*116|0)+(L*58|0)+18>>0]<>2]=r-(d[i+10+(ab*116|0)+(L*58|0)+19>>0]<>2]=r-(d[i+10+(ab*116|0)+(L*58|0)+20>>0]<>2]=r-(d[i+10+(ab*116|0)+(L*58|0)+21>>0]<>2]=r-(d[i+10+(ab*116|0)+(L*58|0)+22>>0]<>2]=r-(d[i+10+(ab*116|0)+(L*58|0)+23>>0]<>2]=r-(d[i+10+(ab*116|0)+(L*58|0)+24>>0]<>2]=r-(d[i+10+(ab*116|0)+(L*58|0)+25>>0]<>2]=r-(d[i+10+(ab*116|0)+(L*58|0)+26>>0]<>2]=r-(d[i+10+(ab*116|0)+(L*58|0)+27>>0]<>2]=r-(d[i+10+(ab*116|0)+(L*58|0)+28>>0]<>0]|0;if(!(n&4)){c[Ja>>2]=r-(l<>2]=r-(d[i+10+(ab*116|0)+(L*58|0)+30>>0]<>2]=r-(d[i+10+(ab*116|0)+(L*58|0)+31>>0]<>2]=r-(d[i+10+(ab*116|0)+(L*58|0)+32>>0]<>2]=r-(d[i+10+(ab*116|0)+(L*58|0)+33>>0]<>2]=r-(d[i+10+(ab*116|0)+(L*58|0)+34>>0]<>2]=r-(d[i+10+(ab*116|0)+(L*58|0)+35>>0]<>2]=r-(d[i+10+(ab*116|0)+(L*58|0)+36>>0]<>2]=r-(d[i+10+(ab*116|0)+(L*58|0)+37>>0]<>2]=r-(d[i+10+(ab*116|0)+(L*58|0)+38>>0]<>2]=r-(d[i+10+(ab*116|0)+(L*58|0)+39>>0]<>2]=r-(l+1<>2]=r-((d[i+10+(ab*116|0)+(L*58|0)+30>>0]|0)+1<>2]=r-((d[i+10+(ab*116|0)+(L*58|0)+31>>0]|0)+1<>2]=r-((d[i+10+(ab*116|0)+(L*58|0)+32>>0]|0)+1<>2]=r-((d[i+10+(ab*116|0)+(L*58|0)+33>>0]|0)+2<>2]=r-((d[i+10+(ab*116|0)+(L*58|0)+34>>0]|0)+2<>2]=r-((d[i+10+(ab*116|0)+(L*58|0)+35>>0]|0)+3<>2]=r-((d[i+10+(ab*116|0)+(L*58|0)+36>>0]|0)+3<>2]=r-((d[i+10+(ab*116|0)+(L*58|0)+37>>0]|0)+3<>2]=r-((d[i+10+(ab*116|0)+(L*58|0)+38>>0]|0)+2<>2]=r-(d[i+10+(ab*116|0)+(L*58|0)+39>>0]<>2]|0;o=c[o+4>>2]|0;s=pb;c[s>>2]=n;c[s+4>>2]=o;tS(f,m);o=TW(n|0,o|0,48)|0;M()|0;o=(31-o&-8)+o|0;n=uS(pb,o)|0;s=d[i+10+(ab*116|0)+(L*58|0)+10>>0]|0;q=c[77948+(s<<3)>>2]|0;if(!q){Q=165;break a}r=Ab+(L*2304|0)+(d[k>>0]<<2)|0;w=k+1|0;l=m-o|0;p=c[qb>>2]|0;k=b[i+10+(ab*116|0)+(L*58|0)+2>>1]|0;if((m|0)>0&k<<16>>16!=0){I=i+10+(ab*116|0)+(L*58|0)+17|0;G=k&65535;z=p;t=Ha;x=e[77948+(s<<3)+4>>1]|0;u=(d[i+10+(ab*116|0)+(L*58|0)+16>>0]|0)+1|0;m=0;y=0;p=e[77948+(s<<3)+6>>1]|0;F=0;D=v;while(1){G=G+-1|0;if((D|0)==(r|0)){v=w+1|0;r=D+(d[w>>0]<<2)|0;k=u+-1|0;if(!k){if(!m)k=(d[I>>0]|0)+1|0;else k=0;m=m+1|0;p=d[i+10+(ab*116|0)+(L*58|0)+10+m>>0]|0;q=c[77948+(p<<3)>>2]|0;if(!q){Q=165;break a}else{s=e[77948+(p<<3)+4>>1]|0;p=e[77948+(p<<3)+6>>1]|0}}else s=x;w=c[t>>2]|0;E=w;t=t+4|0;x=s;C=k;B=m;s=(z|0)==(w|0)?y:0;w=v;A=p}else{E=z;C=u;B=m;s=y;A=p}k=31-o&-8;if((o|0)<21){n=uS(pb,k)|0|n<>>(o-A|0)&(1<>0]&1)){m=A;do{o=o-m|0;k=b[q+(k<<1)>>1]|0;m=(k&65535)>>>1&7;k=(n>>>(o-m|0)&(1<>>4&65535)|0}while(!(a[q+(k<<1)>>0]&1))}y=q+(k<<1)|0;m=b[y>>1]|0;o=o-((m&65535)>>>1&7)|0;m=(m&65535)>>>4;k=m&15;u=k&65535;b:do if(!x){if(!(k<<16>>16)){m=s;k=0}else{k=1<>2]|0;m=k&134217727;k=(k>>>27)+((E|0)/4|0)|0;do if((k|0)>=0)if((k|0)>4){g[tb>>3]=+(m|0)*3.725290298461914e-09;c[tb+8>>2]=k;LU(R,178459,tb)|0;k=2147483647;break}else{k=m<>>0>31?0:(1<<~k)+m>>z}while(0);if(p)k=H((c[113316+(p+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;c[ib+(u<<2)>>2]=k;m=s}else{m=s;k=c[ib+(u<<2)>>2]|0}z=o+-1|0;o=z;k=(1<>2]=k;z=(e[y>>1]|0)>>>8&15;u=z&65535;if(!(z<<16>>16)){v=n;k=0;s=m}else{k=1<>2]|0;m=z&134217727;k=(z>>>27)+k|0;do if((k|0)>=0)if((k|0)>4){g[ub>>3]=+(m|0)*3.725290298461914e-09;c[ub+8>>2]=k;LU(R,178459,ub)|0;k=2147483647;break}else{k=m<>>0>31?0:(1<<~k)+m>>z}while(0);if(p)k=H((c[113316+(p+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;c[ib+(u<<2)>>2]=k;m=s}else k=c[ib+(u<<2)>>2]|0;s=o+-1|0;v=n;o=s;k=(1<>>0<(x+2|0)>>>0){n=uS(pb,16)|0|n<<16;l=l+-16|0;o=o+16|0}o=o-x|0;p=(E|0)%4|0;k=c[80488+((n>>>o&(1<>2]|0;m=k&134217727;k=(k>>>27)+((E|0)/4|0)|0;do if((k|0)>=0)if((k|0)>4){g[rb>>3]=+(m|0)*3.725290298461914e-09;c[rb+8>>2]=k;LU(R,178459,rb)|0;k=2147483647;break}else{k=m<>>0>31?0:(1<<~k)+m>>Q}while(0);if(!p){Q=118;break c}k=H((c[113316+(p+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;Q=118;break}default:{k=1<>2]|0;Q=118;break c}s=k|s;p=(E|0)%4|0;k=c[80488+(u<<2)>>2]|0;m=k&134217727;k=(k>>>27)+((E|0)/4|0)|0;do if((k|0)>=0)if((k|0)>4){g[vb>>3]=+(m|0)*3.725290298461914e-09;c[vb+8>>2]=k;LU(R,178459,vb)|0;k=2147483647;break}else{k=m<>>0>31?0:(1<<~k)+m>>Q}while(0);if(p)k=H((c[113316+(p+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;c[ib+(u<<2)>>2]=k;Q=118}}while(0);if((Q|0)==118){Q=0;z=o+-1|0;v=n;o=z;k=(1<>2]=k;z=(e[y>>1]|0)>>>8;u=z&15;d:do switch(z&15){case 0:{k=0;break b}case 15:{if(o>>>0<(x+1|0)>>>0){n=uS(pb,16)|0|v<<16;l=l+-16|0;o=o+16|0}else n=v;o=o-x|0;p=(E|0)%4|0;k=c[80488+((n>>>o&(1<>2]|0;m=k&134217727;k=(k>>>27)+((E|0)/4|0)|0;do if((k|0)>=0)if((k|0)>4){g[zb>>3]=+(m|0)*3.725290298461914e-09;c[zb+8>>2]=k;LU(R,178459,zb)|0;k=2147483647;break}else{k=m<>>0>31?0:(1<<~k)+m>>z}while(0);if(!p)break d;k=H((c[113316+(p+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;break}default:{k=1<>2]|0;break d}s=k|s;n=(E|0)%4|0;k=c[80488+(u<<2)>>2]|0;m=k&134217727;k=(k>>>27)+((E|0)/4|0)|0;do if((k|0)>=0)if((k|0)>4){g[sb>>3]=+(m|0)*3.725290298461914e-09;c[sb+8>>2]=k;LU(R,178459,sb)|0;k=2147483647;break}else{k=m<>>0>31?0:(1<<~k)+m>>z}while(0);if(n)k=H((c[113316+(n+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;c[ib+(u<<2)>>2]=k;n=v}}while(0);z=o+-1|0;v=n;o=z;k=(1<>2]=k;k=F+2|0;m=o+l|0;if(!((G|0)!=0&(m|0)>0)){u=o;s=E;q=w;break}else{n=v;z=E;u=C;m=B;y=s;p=A;F=k;D=Ab+(L*2304|0)+(k<<2)|0}}}else{v=n;u=o;s=p;t=Ha;q=w;k=0}if((m|0)<0){nb=568;break a}z=c[77940+((a[J>>0]&1)<<2)>>2]|0;o=(s|0)/4|0;p=s-(o<<2)|0;n=o+2|0;do if((s|0)>=-11)if((s|0)>11){g[wb>>3]=.25;c[wb+8>>2]=n;LU(R,178459,wb)|0;n=2147483647;break}else{n=67108864<>>0>31?0:(1<<-3-o)+67108864>>n}while(0);if(p)n=H((c[113316+(p+3<<2)>>2]|0)+32768>>16,n+2048>>12)|0;if((m|0)>0&k>>>0<573){m=v;v=q;while(1){x=Ab+(L*2304|0)+(k<<2)|0;if((u|0)<10){y=uS(pb,16)|0|m<<16;l=l+-16|0;m=u+16|0}else{y=m;m=u}q=m+-4|0;o=z+((y>>>q&15)<<1)|0;p=a[o>>0]|0;if(!(p&1)){p=b[o>>1]|0;o=(p&65535)>>>1&7;p=z+((y>>>(q-o|0)&(1<>>4&65535)<<1)|0;o=p;p=a[p>>0]|0;m=q}w=m-((p&255)>>>1&7)|0;if((x|0)==(r|0)){u=v+1|0;r=r+(d[v>>0]<<2)|0;q=c[t>>2]|0;do if((s|0)==(q|0))m=s;else{n=(q|0)/4|0;p=q-(n<<2)|0;m=n+2|0;do if((q|0)>=-11)if((q|0)>11){g[xb>>3]=.25;c[xb+8>>2]=m;LU(R,178459,xb)|0;n=2147483647;break}else{n=67108864<>>0>31?0:(1<<-3-n)+67108864>>J}while(0);if(!p){m=q;break}m=q;n=H((c[113316+(p+3<<2)>>2]|0)+32768>>16,n+2048>>12)|0}while(0);p=a[o>>0]|0;s=m;t=t+4|0;q=u}else q=v;v=(p&16)==0;J=w+-1|0;m=0-n|0;w=v?w:J;c[x>>2]=v?0:(1<>0]&32)==0;v=w+-1|0;w=J?w:v;c[x+4>>2]=J?0:(1<>0]<<2)|0;q=c[t>>2]|0;do if((s|0)==(q|0))m=s;else{n=(q|0)/4|0;p=q-(n<<2)|0;m=n+2|0;do if((q|0)>=-11)if((q|0)>11){g[yb>>3]=.25;c[yb+8>>2]=m;LU(R,178459,yb)|0;n=2147483647;break}else{n=67108864<>>0>31?0:(1<<-3-n)+67108864>>J}while(0);if(!p){m=q;break}m=q;n=H((c[113316+(p+3<<2)>>2]|0)+32768>>16,n+2048>>12)|0}while(0);s=m;t=t+4|0;p=n;q=u;m=0-n|0}else p=n;J=(a[o>>0]&64)==0;I=w+-1|0;u=J?w:I;c[v>>2]=J?0:(1<>0]|0)<0;J=u+-1|0;u=I?J:u;c[v+4>>2]=I?((1<>>0<573&(m|0)>0))break;else{m=y;n=p;v=q}}}if((l|0)<=-65){Q=202;break a}k=(m|0)<0?k+-4|0:k;if((k|0)<576)_W(Ab+(L*2304|0)+(k<<2)|0,0,((((k|0)==575?576:575)-k|0)>>>1<<3)+8|0)|0;L=L+1|0}while(L>>>0>>0)}if((c[bb>>2]|0)==2?(fb=c[cb>>2]|0,fb|0):0){u=c[ob>>2]|0;k=a[i+10+(ab*116|0)+9>>0]|0;if(k<<24>>24!=(a[i+10+(ab*116|0)+67>>0]|0)){Q=276;break}l=a[i+10+(ab*116|0)+66>>0]|0;if((l^a[i+10+(ab*116|0)+8>>0])&8){Q=276;break}O=fb&65535;b[qb>>1]=O;b[V>>1]=O;b[ea>>1]=O;b[pa>>1]=O;b[Aa>>1]=O;b[Ba>>1]=O;b[Ca>>1]=O;b[Da>>1]=O;b[Ea>>1]=O;b[Fa>>1]=O;b[W>>1]=O;b[X>>1]=O;b[Y>>1]=O;b[Z>>1]=O;b[_>>1]=O;b[$>>1]=O;b[aa>>1]=O;b[ba>>1]=O;b[ca>>1]=O;b[da>>1]=O;b[fa>>1]=O;b[ga>>1]=O;b[ha>>1]=O;b[ia>>1]=O;b[ja>>1]=O;b[ka>>1]=O;b[la>>1]=O;b[ma>>1]=O;b[na>>1]=O;b[oa>>1]=O;b[qa>>1]=O;b[ra>>1]=O;b[sa>>1]=O;b[ua>>1]=O;b[va>>1]=O;b[wa>>1]=O;b[xa>>1]=O;b[ya>>1]=O;b[za>>1]=O;e:do if(fb&1|0){t=c[kb>>2]|0;c[kb>>2]=t|256;if(k<<24>>24==2){c[U>>2]=0;c[T>>2]=0;c[ib>>2]=0;if(l&8){o=0;l=0;p=S;k=0;do{Q=k;k=k+1|0;Q=a[u+Q>>0]|0;n=Q&255;f:do if(Q<<24>>24){m=0;do{if(c[p+(m<<2)>>2]|0){l=k;break f}m=m+1|0}while(m>>>0>>0)}while(0);p=p+(n<<2)|0;o=o+n|0}while(o>>>0<36);if(o>>>0<576){m=p;Q=220}else Q=228}else{o=0;l=0;m=S;k=0;Q=220}if((Q|0)==220){Q=0;q=0;r=k;s=0;while(1){O=a[u+r>>0]|0;r=r+1|0;p=O&255;g:do if(!(O<<24>>24))n=q;else{n=0;while(1){if(c[m+(n<<2)>>2]|0)break;n=n+1|0;if(n>>>0>=p>>>0){n=q;break g}}c[ib+(s<<2)>>2]=r;n=r}while(0);o=o+p|0;if(o>>>0>=576)break;else{q=n;m=m+(p<<2)|0;s=((s+1|0)>>>0)%3|0}}if(!n)Q=228;else{l=k;o=n}}if((Q|0)==228){Q=0;o=0}if(l|0){m=fb&65534;n=0;do{b[qb+(n<<1)>>1]=m;n=n+1|0}while((n|0)!=(l|0))}if(k>>>0>>0){m=fb&65534;l=0;while(1){if(k>>>0<(c[ib+(l<<2)>>2]|0)>>>0)b[qb+(k<<1)>>1]=m;k=k+1|0;if((k|0)==(o|0))break;else l=((l+1|0)>>>0)%3|0}}}else{k=0;o=0;p=S;q=0;while(1){O=a[u+q>>0]|0;q=q+1|0;n=O&255;h:do if(!(O<<24>>24))m=k;else{l=0;while(1){if(c[p+(l<<2)>>2]|0){m=q;break h}l=l+1|0;if(l>>>0>=n>>>0){m=k;break}}}while(0);o=o+n|0;if(o>>>0>=576)break;else{k=m;p=p+(n<<2)|0}}if(m|0){k=fb&65534;l=0;do{b[qb+(l<<1)>>1]=k;l=l+1|0}while((l|0)!=(m|0))}}if(!(t&4096)){p=0;q=0;while(1){k=a[u+q>>0]|0;o=k&255;l=qb+(q<<1)|0;m=b[l>>1]|0;do if(m&1|0){P=a[i+10+(ab*116|0)+76+q>>0]|0;n=P&255;if((P&255)>6){b[l>>1]=m&65534;break}if(k<<24>>24){m=(c[113464+(n<<2)>>2]|0)+32768>>16;l=(c[113464+(6-n<<2)>>2]|0)+32768>>16;k=0;do{P=k+p|0;L=Ab+(P<<2)|0;O=(c[L>>2]|0)+2048>>12;c[L>>2]=H(O,m)|0;c[Ab+2304+(P<<2)>>2]=H(O,l)|0;k=k+1|0}while((k|0)!=(o|0))}}while(0);p=p+o|0;if(p>>>0>=576)break e;else q=q+1|0}}n=b[i+10+(ab*116|0)+64>>1]&1;p=0;q=0;while(1){m=a[u+q>>0]|0;o=m&255;k=qb+(q<<1)|0;l=b[k>>1]|0;i:do if(l&1|0){if(a[P+192+q>>0]|0){b[k>>1]=l&65534;break}k=a[i+10+(ab*116|0)+76+q>>0]|0;l=k&255;if(m<<24>>24){if(!(k<<24>>24)){k=0;while(1){O=k+p|0;c[Ab+2304+(O<<2)>>2]=c[Ab+(O<<2)>>2];k=k+1|0;if((k|0)==(o|0))break i}}m=(c[113344+(n*60|0)+((l+-1|0)>>>1<<2)>>2]|0)+32768>>16;if(!(l&1)){k=0;do{O=k+p|0;c[Ab+2304+(O<<2)>>2]=H((c[Ab+(O<<2)>>2]|0)+2048>>12,m)|0;k=k+1|0}while((k|0)!=(o|0))}else{k=0;do{O=k+p|0;K=Ab+(O<<2)|0;L=c[K>>2]|0;c[K>>2]=H(L+2048>>12,m)|0;c[Ab+2304+(O<<2)>>2]=L;k=k+1|0}while((k|0)!=(o|0))}}}while(0);p=p+o|0;if(p>>>0>=576)break;else q=q+1|0}}while(0);if(fb&2|0){c[kb>>2]=c[kb>>2]|512;m=0;n=0;while(1){P=a[u+n>>0]|0;k=P&255;if(P<<24>>24?(b[qb+(n<<1)>>1]|0)==2:0){l=0;do{P=l+m|0;K=Ab+(P<<2)|0;P=Ab+2304+(P<<2)|0;O=c[P>>2]|0;L=(c[K>>2]|0)+2048|0;c[K>>2]=(L+O>>12)*2896;c[P>>2]=(L-O>>12)*2896;l=l+1|0}while((l|0)!=(k|0))}m=m+k|0;if(m>>>0>=576)break;else n=n+1|0}}}if(!jb){y=ab*18|0;x=0;do{w=h+48+(x*4608|0)+(y<<7)|0;v=i+10+(ab*116|0)+(x*58|0)+9|0;u=Ab+(x*2304|0)|0;if((a[v>>0]|0)==2){k=c[ob+(x<<2)>>2]|0;t=(a[i+10+(ab*116|0)+(x*58|0)+8>>0]&8)==0;if(t)s=0;else{m=0;while(1){l=k+1|0;m=m+(d[k>>0]|0)|0;if(m>>>0>=36){s=2;k=l;break}else k=l}};c[pb>>2]=0;c[pb+4>>2]=0;c[pb+8>>2]=0;c[ib>>2]=s;c[T>>2]=s;c[U>>2]=s;r=s*18|0;m=d[k>>0]|0;q=r;k=k+1|0;l=0;while(1){if(!m){p=d[k>>0]|0;k=k+1|0;l=((l+1|0)>>>0)%3|0}else p=m;O=c[Ab+(x*2304|0)+(q<<2)>>2]|0;n=ib+(l<<2)|0;m=c[n>>2]|0;o=pb+(l<<2)|0;P=c[o>>2]|0;Q=P+1|0;c[o>>2]=Q;c[qb+(m*72|0)+(l*24|0)+(P<<2)>>2]=O;if((Q|0)==6){c[o>>2]=0;c[n>>2]=m+1}q=q+1|0;if((q|0)==576)break;else m=p+-1|0}YW(Ab+(x*2304|0)+(r<<2)|0,qb+(s*72|0)|0,(H(s,-72)|0)+2304|0)|0;if(!t)GS(u,36)}else GS(u,576);k=a[v>>0]|0;l=a[i+10+(ab*116|0)+(x*58|0)+8>>0]&8;if(k<<24>>24==2&l<<24>>24==0){JS(u,mb);IS(mb,(c[db>>2]|0)+(x*2304|0)|0,w,0);JS(Ab+(x*2304|0)+72|0,mb);IS(mb,(c[db>>2]|0)+(x*2304|0)+72|0,w,1)}else{Q=l<<24>>24==0?k&255:0;HS(u,mb,Q);IS(mb,(c[db>>2]|0)+(x*2304|0)|0,w,0);HS(Ab+(x*2304|0)+72|0,mb,Q);IS(mb,(c[db>>2]|0)+(x*2304|0)+72|0,w,1)}l=w+132|0;P=w+388|0;O=c[P>>2]|0;c[l>>2]=0-(c[l>>2]|0);l=w+644|0;Q=c[l>>2]|0;c[P>>2]=0-O;P=w+900|0;O=c[P>>2]|0;c[l>>2]=0-Q;l=w+1156|0;Q=c[l>>2]|0;c[P>>2]=0-O;P=w+1412|0;O=c[P>>2]|0;c[l>>2]=0-Q;l=w+1668|0;Q=c[l>>2]|0;c[P>>2]=0-O;P=w+1924|0;O=c[P>>2]|0;c[l>>2]=0-Q;l=w+2180|0;Q=c[l>>2]|0;c[P>>2]=0-O;c[l>>2]=0-Q;l=576;while(1){k=l;l=l+-1|0;if(c[Ab+(x*2304|0)+(l<<2)>>2]|0)break;if(l>>>0<=36){k=36;break}}t=32-(((576-k|0)>>>0)/18|0)|0;k=a[v>>0]|0;l=t>>>0>2;j:do if(k<<24>>24==2)if(l){k=36;l=2;while(1){JS(Ab+(x*2304|0)+(k<<2)|0,mb);IS(mb,(c[db>>2]|0)+(x*2304|0)+(l*72|0)|0,w,l);if(l&1|0){Q=w+128+(l<<2)|0;O=w+384+(l<<2)|0;L=c[O>>2]|0;c[Q>>2]=0-(c[Q>>2]|0);Q=w+640+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-L;O=w+896+(l<<2)|0;L=c[O>>2]|0;c[Q>>2]=0-P;Q=w+1152+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-L;O=w+1408+(l<<2)|0;L=c[O>>2]|0;c[Q>>2]=0-P;Q=w+1664+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-L;O=w+1920+(l<<2)|0;L=c[O>>2]|0;c[Q>>2]=0-P;Q=w+2176+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-L;c[Q>>2]=0-P}l=l+1|0;if(l>>>0>=t>>>0){Q=311;break}else k=k+18|0}}else Q=312;else if(l){m=36;l=2;while(1){HS(Ab+(x*2304|0)+(m<<2)|0,mb,k&255);IS(mb,(c[db>>2]|0)+(x*2304|0)+(l*72|0)|0,w,l);if(l&1|0){Q=w+128+(l<<2)|0;O=w+384+(l<<2)|0;L=c[O>>2]|0;c[Q>>2]=0-(c[Q>>2]|0);Q=w+640+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-L;O=w+896+(l<<2)|0;L=c[O>>2]|0;c[Q>>2]=0-P;Q=w+1152+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-L;O=w+1408+(l<<2)|0;L=c[O>>2]|0;c[Q>>2]=0-P;Q=w+1664+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-L;O=w+1920+(l<<2)|0;L=c[O>>2]|0;c[Q>>2]=0-P;Q=w+2176+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-L;c[Q>>2]=0-P}l=l+1|0;if(l>>>0>=t>>>0){Q=311;break j}k=a[v>>0]|0;m=m+18|0}}else Q=312;while(0);if((Q|0)==311?(Q=0,t>>>0<32):0)Q=312;if((Q|0)==312){Q=0;u=c[db>>2]|0;do{P=u+(x*2304|0)+(t*72|0)|0;c[h+48+(x*4608|0)+(y<<7)+(t<<2)>>2]=c[P>>2];c[P>>2]=0;P=u+(x*2304|0)+(t*72|0)+4|0;k=w+128+(t<<2)|0;c[k>>2]=c[P>>2];c[P>>2]=0;P=u+(x*2304|0)+(t*72|0)+8|0;c[w+256+(t<<2)>>2]=c[P>>2];c[P>>2]=0;P=u+(x*2304|0)+(t*72|0)+12|0;p=w+384+(t<<2)|0;c[p>>2]=c[P>>2];c[P>>2]=0;P=u+(x*2304|0)+(t*72|0)+16|0;c[w+512+(t<<2)>>2]=c[P>>2];c[P>>2]=0;P=u+(x*2304|0)+(t*72|0)+20|0;q=w+640+(t<<2)|0;c[q>>2]=c[P>>2];c[P>>2]=0;P=u+(x*2304|0)+(t*72|0)+24|0;c[w+768+(t<<2)>>2]=c[P>>2];c[P>>2]=0;P=u+(x*2304|0)+(t*72|0)+28|0;r=w+896+(t<<2)|0;c[r>>2]=c[P>>2];c[P>>2]=0;P=u+(x*2304|0)+(t*72|0)+32|0;c[w+1024+(t<<2)>>2]=c[P>>2];c[P>>2]=0;P=u+(x*2304|0)+(t*72|0)+36|0;s=w+1152+(t<<2)|0;c[s>>2]=c[P>>2];c[P>>2]=0;P=u+(x*2304|0)+(t*72|0)+40|0;c[w+1280+(t<<2)>>2]=c[P>>2];c[P>>2]=0;P=u+(x*2304|0)+(t*72|0)+44|0;l=w+1408+(t<<2)|0;c[l>>2]=c[P>>2];c[P>>2]=0;P=u+(x*2304|0)+(t*72|0)+48|0;c[w+1536+(t<<2)>>2]=c[P>>2];c[P>>2]=0;P=u+(x*2304|0)+(t*72|0)+52|0;m=w+1664+(t<<2)|0;c[m>>2]=c[P>>2];c[P>>2]=0;P=u+(x*2304|0)+(t*72|0)+56|0;c[w+1792+(t<<2)>>2]=c[P>>2];c[P>>2]=0;P=u+(x*2304|0)+(t*72|0)+60|0;n=w+1920+(t<<2)|0;c[n>>2]=c[P>>2];c[P>>2]=0;P=u+(x*2304|0)+(t*72|0)+64|0;c[w+2048+(t<<2)>>2]=c[P>>2];c[P>>2]=0;P=u+(x*2304|0)+(t*72|0)+68|0;o=w+2176+(t<<2)|0;c[o>>2]=c[P>>2];c[P>>2]=0;if(t&1|0){O=c[p>>2]|0;c[k>>2]=0-(c[k>>2]|0);P=c[q>>2]|0;c[p>>2]=0-O;O=c[r>>2]|0;c[q>>2]=0-P;P=c[s>>2]|0;c[r>>2]=0-O;O=c[l>>2]|0;c[s>>2]=0-P;P=c[m>>2]|0;c[l>>2]=0-O;O=c[n>>2]|0;c[m>>2]=0-P;P=c[o>>2]|0;c[n>>2]=0-O;c[o>>2]=0-P}t=t+1|0}while(t>>>0<32)}x=x+1|0}while((x|0)!=(j|0))}ab=ab+1|0;if(ab>>>0>=gb>>>0){k=0;Q=318;break}}if((Q|0)==165)nb=567;else if((Q|0)==202)ta(178492,178324,1253,178534);else if((Q|0)==276){Ab=569;$c=Bb;return Ab|0}else if((Q|0)==318){$c=Bb;return k|0}Ab=nb;$c=Bb;return Ab|0}function GS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=a+(b<<2)|0;if((b|0)<=18)return;b=a+72|0;do{g=b+-4|0;e=c[b>>2]|0;f=(c[g>>2]|0)+2048>>12;c[g>>2]=(H(2048-e>>12,-2107)|0)+(f*3512|0);c[b>>2]=(H(f,-2107)|0)+((e+2048>>12)*3512|0);e=b+-8|0;f=b+4|0;g=c[f>>2]|0;a=(c[e>>2]|0)+2048>>12;c[e>>2]=(H(2048-g>>12,-1932)|0)+(a*3612|0);c[f>>2]=(H(a,-1932)|0)+((g+2048>>12)*3612|0);f=b+-12|0;g=b+8|0;a=c[g>>2]|0;e=(c[f>>2]|0)+2048>>12;c[f>>2]=(H(2048-a>>12,-1284)|0)+(e*3890|0);c[g>>2]=(H(e,-1284)|0)+((a+2048>>12)*3890|0);g=b+-16|0;a=b+12|0;e=c[a>>2]|0;f=(c[g>>2]|0)+2048>>12;c[g>>2]=(H(2048-e>>12,-745)|0)+(f*4028|0);c[a>>2]=(H(f,-745)|0)+((e+2048>>12)*4028|0);a=b+-20|0;e=b+16|0;f=c[e>>2]|0;g=(c[a>>2]|0)+2048>>12;c[a>>2]=(H(2048-f>>12,-387)|0)+(g*4078|0);c[e>>2]=(H(g,-387)|0)+((f+2048>>12)*4078|0);e=b+-24|0;f=b+20|0;g=c[f>>2]|0;a=(c[e>>2]|0)+2048>>12;c[e>>2]=(H(2048-g>>12,-168)|0)+(a*4093|0);c[f>>2]=(H(a,-168)|0)+((g+2048>>12)*4093|0);f=b+-28|0;g=b+24|0;a=c[g>>2]|0;e=(c[f>>2]|0)+2048|0;c[f>>2]=(H(2048-a>>12,-58)|0)+(e&-4096);c[g>>2]=(H(e>>12,-58)|0)+(a+2048&-4096);g=b+-32|0;a=b+28|0;e=c[a>>2]|0;f=(c[g>>2]|0)+2048|0;c[g>>2]=(H(2048-e>>12,-15)|0)+(f&-4096);c[a>>2]=(H(f>>12,-15)|0)+(e+2048&-4096);b=b+72|0}while(b>>>0>>0);return}function HS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;o=((c[a>>2]|0)+2048>>12)*8184|0;g=((c[a+4>>2]|0)+2048>>12)*8122|0;O=((c[a+8>>2]|0)+2048>>12)*7998|0;Z=((c[a+12>>2]|0)+2048>>12)*7813|0;X=((c[a+16>>2]|0)+2048>>12)*7568|0;V=((c[a+20>>2]|0)+2048>>12)*7266|0;ca=((c[a+24>>2]|0)+2048>>12)*6909|0;M=((c[a+28>>2]|0)+2048>>12)*6499|0;Q=((c[a+32>>2]|0)+2048>>12)*6040|0;ba=((c[a+36>>2]|0)+2048>>12)*5534|0;P=((c[a+40>>2]|0)+2048>>12)*4987|0;f=((c[a+44>>2]|0)+2048>>12)*4402|0;z=((c[a+48>>2]|0)+2048>>12)*3783|0;R=((c[a+52>>2]|0)+2048>>12)*3135|0;m=((c[a+56>>2]|0)+2048>>12)*2463|0;t=((c[a+60>>2]|0)+2048>>12)*1773|0;N=((c[a+64>>2]|0)+2048>>12)*1069|0;W=((c[a+68>>2]|0)+2048>>12)*357|0;S=W+o|0;Y=N+g|0;e=t+O|0;a=m+Z|0;u=R+X|0;l=z+V|0;K=f+ca|0;_=P+M|0;L=ba+Q|0;$=a+l|0;l=a-l|0;a=e+K|0;e=K-e|0;K=Y+_|0;aa=S+L|0;S=L-S|0;L=a+$+aa|0;U=e+2048|0;n=H(U+l>>12,-5266)|0;l=l+2048|0;T=(l-S>>12)*8068|0;U=H(S+U>>12,-2802)|0;Y=H(2048-_+Y>>12,-7094)|0;_=H(a+2048-aa>>12,-7698)|0;$=$+2048|0;aa=H($-aa>>12,-1423)|0;a=H($-a>>12,-6275)|0;$=K+u|0;K=(u<<1)-K|0;W=(o+2048-W>>12)*8161|0;N=(g+2048-N>>12)*7913|0;t=(O+2048-t>>12)*7424|0;m=(Z+2048-m>>12)*6710|0;R=X+2048-R>>12;z=(V+2048-z>>12)*4699|0;f=(ca+2048-f>>12)*3462|0;P=(M+2048-P>>12)*2120|0;ba=(Q+2048-ba>>12)*714|0;Q=m+z|0;z=m-z|0;m=t+f|0;t=f-t|0;f=N+P|0;M=W+ba|0;W=ba-W|0;ba=m+Q+M|0;ca=t+2048|0;V=H(ca+z>>12,-5266)|0;z=z+2048|0;X=(z-W>>12)*8068|0;ca=H(W+ca>>12,-2802)|0;N=H(2048-P+N>>12,-7094)|0;P=H(m+2048-M>>12,-7698)|0;Q=Q+2048|0;M=H(Q-M>>12,-1423)|0;m=H(Q-m>>12,-6275)|0;Q=f+(R*5793|0)|0;f=(R*11586|0)-f|0;R=ba+Q|0;Z=V-N-R+X|0;O=m-f+P-Z|0;W=(H(z-t+W>>12,-7094)|0)-O|0;P=P+f-M-W|0;X=N-ca+X-P|0;Q=ba-(Q<<1)-X|0;ca=V+N+ca-Q|0;N=(L+$|0)/2|0;R=((R|0)/2|0)-N|0;V=((n-Y+T|0)/2|0)-R|0;Z=((Z|0)/2|0)-V|0;ba=((a-K+_|0)/2|0)-Z|0;O=((O|0)/2|0)-ba|0;S=(H(l-e+S>>12,-3547)|0)-O|0;W=((W|0)/2|0)-S|0;_=((_+K-aa|0)/2|0)-W|0;P=((P|0)/2|0)-_|0;T=((Y-U+T|0)/2|0)-P|0;X=((X|0)/2|0)-T|0;$=((L-($<<1)|0)/2|0)-X|0;Q=((Q|0)/2|0)-$|0;U=((n+Y+U|0)/2|0)-Q|0;Y=((ca|0)/2|0)-U|0;aa=((a+K+aa|0)/2|0)-Y|0;ca=((m+f+M-ca|0)/2|0)-aa|0;c[b>>2]=P;M=b+4|0;c[M>>2]=T;f=b+8|0;c[f>>2]=X;m=b+12|0;c[m>>2]=$;K=b+16|0;c[K>>2]=Q;a=b+20|0;c[a>>2]=U;n=b+24|0;c[n>>2]=Y;L=b+28|0;c[L>>2]=aa;e=b+32|0;c[e>>2]=ca;l=b+36|0;c[l>>2]=0-ca;t=b+40|0;c[t>>2]=0-aa;z=b+44|0;c[z>>2]=0-Y;g=b+48|0;c[g>>2]=0-U;o=b+52|0;c[o>>2]=0-Q;u=b+56|0;c[u>>2]=0-$;h=b+60|0;c[h>>2]=0-X;p=b+64|0;c[p>>2]=0-T;v=b+68|0;c[v>>2]=0-P;da=0-_|0;i=b+72|0;c[i>>2]=da;I=0-W|0;q=b+76|0;c[q>>2]=I;E=0-S|0;w=b+80|0;c[w>>2]=E;B=0-O|0;j=b+84|0;c[j>>2]=B;G=0-ba|0;r=b+88|0;c[r>>2]=G;D=0-Z|0;x=b+92|0;c[x>>2]=D;A=0-V|0;k=b+96|0;c[k>>2]=A;J=0-R|0;s=b+100|0;c[s>>2]=J;F=0-N|0;y=b+104|0;c[y>>2]=F;C=b+108|0;c[C>>2]=F;F=b+112|0;c[F>>2]=J;J=b+116|0;c[J>>2]=A;A=b+120|0;c[A>>2]=D;D=b+124|0;c[D>>2]=G;G=b+128|0;c[G>>2]=B;B=b+132|0;c[B>>2]=E;E=b+136|0;c[E>>2]=I;I=b+140|0;c[I>>2]=da;switch(d|0){case 0:{c[b>>2]=(P+2048>>12)*179;c[M>>2]=(T+2048>>12)*535;c[f>>2]=(X+2048>>12)*887;c[m>>2]=($+2048>>12)*1232;c[K>>2]=(Q+2048>>12)*1567;c[a>>2]=(U+2048>>12)*1891;c[n>>2]=(Y+2048>>12)*2201;c[L>>2]=(aa+2048>>12)*2493;c[e>>2]=(ca+2048>>12)*2767;c[l>>2]=(2048-ca>>12)*3020;c[t>>2]=(2048-aa>>12)*3250;c[z>>2]=(2048-Y>>12)*3455;c[g>>2]=(2048-U>>12)*3633;c[o>>2]=(2048-Q>>12)*3784;c[u>>2]=(2048-$>>12)*3906;c[h>>2]=(2048-X>>12)*3999;c[p>>2]=(2048-T>>12)*4061;c[v>>2]=(2048-P>>12)*4092;c[i>>2]=(2048-_>>12)*4092;c[q>>2]=(2048-W>>12)*4061;c[w>>2]=(2048-S>>12)*3999;c[j>>2]=(2048-O>>12)*3906;c[r>>2]=(2048-ba>>12)*3784;c[x>>2]=(2048-Z>>12)*3633;c[k>>2]=(2048-V>>12)*3455;c[s>>2]=((c[s>>2]|0)+2048>>12)*3250;c[y>>2]=((c[y>>2]|0)+2048>>12)*3020;c[C>>2]=((c[C>>2]|0)+2048>>12)*2767;c[F>>2]=((c[F>>2]|0)+2048>>12)*2493;c[J>>2]=((c[J>>2]|0)+2048>>12)*2201;c[A>>2]=((c[A>>2]|0)+2048>>12)*1891;c[D>>2]=((c[D>>2]|0)+2048>>12)*1567;c[G>>2]=((c[G>>2]|0)+2048>>12)*1232;c[B>>2]=((c[B>>2]|0)+2048>>12)*887;c[E>>2]=((c[E>>2]|0)+2048>>12)*535;c[I>>2]=((c[I>>2]|0)+2048>>12)*179;return}case 1:{c[b>>2]=(P+2048>>12)*179;c[M>>2]=(T+2048>>12)*535;c[f>>2]=(X+2048>>12)*887;c[m>>2]=($+2048>>12)*1232;c[K>>2]=(Q+2048>>12)*1567;c[a>>2]=(U+2048>>12)*1891;c[n>>2]=(Y+2048>>12)*2201;c[L>>2]=(aa+2048>>12)*2493;c[e>>2]=(ca+2048>>12)*2767;c[l>>2]=(2048-ca>>12)*3020;c[t>>2]=(2048-aa>>12)*3250;c[z>>2]=(2048-Y>>12)*3455;c[g>>2]=(2048-U>>12)*3633;c[o>>2]=(2048-Q>>12)*3784;c[u>>2]=(2048-$>>12)*3906;c[h>>2]=(2048-X>>12)*3999;c[p>>2]=(2048-T>>12)*4061;c[v>>2]=(2048-P>>12)*4092;da=2048-V>>12;c[k>>2]=da*4061;b=2048-R>>12;c[s>>2]=b*3784;d=2048-N>>12;c[y>>2]=d*3250;c[C>>2]=d*2493;c[F>>2]=b*1567;c[J>>2]=da*535;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[A+12>>2]=0;c[A+16>>2]=0;c[A+20>>2]=0;return}case 3:{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[n>>2]=(Y+2048>>12)*535;c[L>>2]=(aa+2048>>12)*1567;c[e>>2]=(ca+2048>>12)*2493;c[l>>2]=(2048-ca>>12)*3250;c[t>>2]=(2048-aa>>12)*3784;c[z>>2]=(2048-Y>>12)*4061;da=2048-_>>12;c[i>>2]=da*4092;b=2048-W>>12;c[q>>2]=b*4061;d=2048-S>>12;c[w>>2]=d*3999;ca=2048-O>>12;c[j>>2]=ca*3906;ba=2048-ba>>12;c[r>>2]=ba*3784;aa=2048-Z>>12;c[x>>2]=aa*3633;$=2048-V>>12;c[k>>2]=$*3455;_=2048-R>>12;c[s>>2]=_*3250;Z=2048-N>>12;c[y>>2]=Z*3020;c[C>>2]=Z*2767;c[F>>2]=_*2493;c[J>>2]=$*2201;c[A>>2]=aa*1891;c[D>>2]=ba*1567;c[G>>2]=ca*1232;c[B>>2]=d*887;c[E>>2]=b*535;c[I>>2]=da*179;return}default:return}}function IS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;c[d+(e<<2)>>2]=(c[b>>2]|0)+(c[a>>2]|0);c[b>>2]=c[a+72>>2];f=b+4|0;c[d+128+(e<<2)>>2]=(c[f>>2]|0)+(c[a+4>>2]|0);c[f>>2]=c[a+76>>2];f=b+8|0;c[d+256+(e<<2)>>2]=(c[f>>2]|0)+(c[a+8>>2]|0);c[f>>2]=c[a+80>>2];f=b+12|0;c[d+384+(e<<2)>>2]=(c[f>>2]|0)+(c[a+12>>2]|0);c[f>>2]=c[a+84>>2];f=b+16|0;c[d+512+(e<<2)>>2]=(c[f>>2]|0)+(c[a+16>>2]|0);c[f>>2]=c[a+88>>2];f=b+20|0;c[d+640+(e<<2)>>2]=(c[f>>2]|0)+(c[a+20>>2]|0);c[f>>2]=c[a+92>>2];f=b+24|0;c[d+768+(e<<2)>>2]=(c[f>>2]|0)+(c[a+24>>2]|0);c[f>>2]=c[a+96>>2];f=b+28|0;c[d+896+(e<<2)>>2]=(c[f>>2]|0)+(c[a+28>>2]|0);c[f>>2]=c[a+100>>2];f=b+32|0;c[d+1024+(e<<2)>>2]=(c[f>>2]|0)+(c[a+32>>2]|0);c[f>>2]=c[a+104>>2];f=b+36|0;c[d+1152+(e<<2)>>2]=(c[f>>2]|0)+(c[a+36>>2]|0);c[f>>2]=c[a+108>>2];f=b+40|0;c[d+1280+(e<<2)>>2]=(c[f>>2]|0)+(c[a+40>>2]|0);c[f>>2]=c[a+112>>2];f=b+44|0;c[d+1408+(e<<2)>>2]=(c[f>>2]|0)+(c[a+44>>2]|0);c[f>>2]=c[a+116>>2];f=b+48|0;c[d+1536+(e<<2)>>2]=(c[f>>2]|0)+(c[a+48>>2]|0);c[f>>2]=c[a+120>>2];f=b+52|0;c[d+1664+(e<<2)>>2]=(c[f>>2]|0)+(c[a+52>>2]|0);c[f>>2]=c[a+124>>2];f=b+56|0;c[d+1792+(e<<2)>>2]=(c[f>>2]|0)+(c[a+56>>2]|0);c[f>>2]=c[a+128>>2];f=b+60|0;c[d+1920+(e<<2)>>2]=(c[f>>2]|0)+(c[a+60>>2]|0);c[f>>2]=c[a+132>>2];f=b+64|0;c[d+2048+(e<<2)>>2]=(c[f>>2]|0)+(c[a+64>>2]|0);c[f>>2]=c[a+136>>2];b=b+68|0;c[d+2176+(e<<2)>>2]=(c[b>>2]|0)+(c[a+68>>2]|0);c[b>>2]=c[a+140>>2];return}function JS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);e=d;n=(c[a>>2]|0)+2048>>12;l=(c[a+4>>2]|0)+2048>>12;j=H(l,-3784)|0;h=(c[a+8>>2]|0)+2048>>12;i=j+(n*2493|0)+(H(h,-535)|0)|0;g=(c[a+12>>2]|0)+2048>>12;k=(c[a+16>>2]|0)+2048>>12;f=H(k,-1567)|0;m=(c[a+20>>2]|0)+2048>>12;i=i+(g*4061|0)+f+(H(m,-3250)|0)|0;c[e>>2]=i;c[e+20>>2]=0-i;i=(l*1567|0)+(H(n,-3250)|0)+(h*4061|0)+(g*535|0)+(H(k,-3784)|0)+(H(m,-2493)|0)|0;c[e+24>>2]=i;c[e+44>>2]=i;i=j+(n*1567|0)+(h*3784|0)+(H(g,-1567)|0)+f+(m*3784|0)|0;c[e+4>>2]=i;c[e+16>>2]=0-i;l=H(l,-1567)|0;k=k*3784|0;i=l+(H(n,-3784)|0)+(h*1567|0)+(g*3784|0)+k+(m*1567|0)|0;c[e+28>>2]=i;c[e+40>>2]=i;k=l+(n*535|0)+(h*2493|0)+(H(g,-3250)|0)+k+(H(m,-4061)|0)|0;c[e+8>>2]=k;c[e+12>>2]=0-k;m=j+(H(n,-4061)|0)+(H(h,-3250)|0)+(H(g,-2493)|0)+f+(H(m,-535)|0)|0;c[e+32>>2]=m;c[e+36>>2]=m;m=(c[a+24>>2]|0)+2048>>12;f=(c[a+28>>2]|0)+2048>>12;g=H(f,-3784)|0;h=(c[a+32>>2]|0)+2048>>12;n=g+(m*2493|0)+(H(h,-535)|0)|0;j=(c[a+36>>2]|0)+2048>>12;k=(c[a+40>>2]|0)+2048>>12;l=H(k,-1567)|0;i=(c[a+44>>2]|0)+2048>>12;n=n+(j*4061|0)+l+(H(i,-3250)|0)|0;c[e+48>>2]=n;c[e+68>>2]=0-n;n=(f*1567|0)+(H(m,-3250)|0)+(h*4061|0)+(j*535|0)+(H(k,-3784)|0)+(H(i,-2493)|0)|0;c[e+72>>2]=n;c[e+92>>2]=n;n=g+(m*1567|0)+(h*3784|0)+(H(j,-1567)|0)+l+(i*3784|0)|0;c[e+52>>2]=n;c[e+64>>2]=0-n;f=H(f,-1567)|0;k=k*3784|0;n=f+(H(m,-3784)|0)+(h*1567|0)+(j*3784|0)+k+(i*1567|0)|0;c[e+76>>2]=n;c[e+88>>2]=n;k=f+(m*535|0)+(h*2493|0)+(H(j,-3250)|0)+k+(H(i,-4061)|0)|0;c[e+56>>2]=k;c[e+60>>2]=0-k;i=g+(H(m,-4061)|0)+(H(h,-3250)|0)+(H(j,-2493)|0)+l+(H(i,-535)|0)|0;c[e+80>>2]=i;c[e+84>>2]=i;i=(c[a+48>>2]|0)+2048>>12;l=(c[a+52>>2]|0)+2048>>12;j=H(l,-3784)|0;h=(c[a+56>>2]|0)+2048>>12;m=j+(i*2493|0)+(H(h,-535)|0)|0;g=(c[a+60>>2]|0)+2048>>12;k=(c[a+64>>2]|0)+2048>>12;f=H(k,-1567)|0;a=(c[a+68>>2]|0)+2048>>12;m=m+(g*4061|0)+f+(H(a,-3250)|0)|0;c[e+96>>2]=m;c[e+116>>2]=0-m;m=(l*1567|0)+(H(i,-3250)|0)+(h*4061|0)+(g*535|0)+(H(k,-3784)|0)+(H(a,-2493)|0)|0;c[e+120>>2]=m;c[e+140>>2]=m;m=j+(i*1567|0)+(h*3784|0)+(H(g,-1567)|0)+f+(a*3784|0)|0;c[e+100>>2]=m;c[e+112>>2]=0-m;l=H(l,-1567)|0;k=k*3784|0;m=l+(H(i,-3784)|0)+(h*1567|0)+(g*3784|0)+k+(a*1567|0)|0;c[e+124>>2]=m;c[e+136>>2]=m;k=l+(i*535|0)+(h*2493|0)+(H(g,-3250)|0)+k+(H(a,-4061)|0)|0;c[e+104>>2]=k;c[e+108>>2]=0-k;a=j+(H(i,-4061)|0)+(H(h,-3250)|0)+(H(g,-2493)|0)+f+(H(a,-535)|0)|0;c[e+128>>2]=a;c[e+132>>2]=a;c[b>>2]=0;c[b+24>>2]=((c[e>>2]|0)+2048>>12)*535;c[b+48>>2]=(((c[e+48>>2]|0)+2048>>12)*535|0)+(((c[e+24>>2]|0)+2048>>12)*4061|0);c[b+72>>2]=(((c[e+96>>2]|0)+2048>>12)*535|0)+(((c[e+72>>2]|0)+2048>>12)*4061|0);c[b+96>>2]=((c[e+120>>2]|0)+2048>>12)*4061;c[b+120>>2]=0;c[b+4>>2]=0;c[b+28>>2]=((c[e+4>>2]|0)+2048>>12)*1567;c[b+52>>2]=(((c[e+52>>2]|0)+2048>>12)*1567|0)+(((c[e+28>>2]|0)+2048>>12)*3784|0);c[b+76>>2]=(((c[e+100>>2]|0)+2048>>12)*1567|0)+(((c[e+76>>2]|0)+2048>>12)*3784|0);c[b+100>>2]=((c[e+124>>2]|0)+2048>>12)*3784;c[b+124>>2]=0;c[b+8>>2]=0;c[b+32>>2]=((c[e+8>>2]|0)+2048>>12)*2493;c[b+56>>2]=(((c[e+56>>2]|0)+2048>>12)*2493|0)+(((c[e+32>>2]|0)+2048>>12)*3250|0);c[b+80>>2]=(((c[e+104>>2]|0)+2048>>12)*2493|0)+(((c[e+80>>2]|0)+2048>>12)*3250|0);c[b+104>>2]=((c[e+128>>2]|0)+2048>>12)*3250;c[b+128>>2]=0;c[b+12>>2]=0;c[b+36>>2]=((c[e+12>>2]|0)+2048>>12)*3250;c[b+60>>2]=(((c[e+60>>2]|0)+2048>>12)*3250|0)+(((c[e+36>>2]|0)+2048>>12)*2493|0);c[b+84>>2]=(((c[e+108>>2]|0)+2048>>12)*3250|0)+(((c[e+84>>2]|0)+2048>>12)*2493|0);c[b+108>>2]=((c[e+132>>2]|0)+2048>>12)*2493;c[b+132>>2]=0;c[b+16>>2]=0;c[b+40>>2]=((c[e+16>>2]|0)+2048>>12)*3784;c[b+64>>2]=(((c[e+64>>2]|0)+2048>>12)*3784|0)+(((c[e+40>>2]|0)+2048>>12)*1567|0);c[b+88>>2]=(((c[e+112>>2]|0)+2048>>12)*3784|0)+(((c[e+88>>2]|0)+2048>>12)*1567|0);c[b+112>>2]=((c[e+136>>2]|0)+2048>>12)*1567;c[b+136>>2]=0;c[b+20>>2]=0;c[b+44>>2]=((c[e+20>>2]|0)+2048>>12)*4061;c[b+68>>2]=(((c[e+68>>2]|0)+2048>>12)*4061|0)+(((c[e+44>>2]|0)+2048>>12)*535|0);c[b+92>>2]=(((c[e+116>>2]|0)+2048>>12)*4061|0)+(((c[e+92>>2]|0)+2048>>12)*535|0);c[b+116>>2]=((c[e+140>>2]|0)+2048>>12)*535;c[b+140>>2]=0;$c=d;return}function KS(b){b=b|0;var e=0,f=0,g=0,h=0;h=b+28|0;e=sS(h)|0;g=c[b+4>>2]|0;f=g+-1|0;a:do if(e>>>0>>0){b=e;while(1){e=b+1|0;if((a[b>>0]|0)==-1?(d[e>>0]|0)>223:0){e=b;break a}if(e>>>0>>0)b=e;else break}}while(0);if((g-e|0)<8){h=-1;return h|0}qS(h,e);h=0;return h|0}function LS(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=j;g=a+28|0;c[g>>2]=0;h=a+32|0;c[h>>2]=0;i=d+28|0;tS(i,11);if(!(uS(i,1)|0))c[g>>2]=c[g>>2]|16384;k=(uS(i,1)|0)==0;e=c[g>>2]|0;if(!k){if(e&16384|0){c[d+60>>2]=257;k=-1;$c=j;return k|0}}else c[g>>2]=e|4096;k=uS(i,2)|0;c[a>>2]=4-k;if(!k){c[d+60>>2]=258;k=-1;$c=j;return k|0}if(!(uS(i,1)|0)){c[g>>2]=c[g>>2]|16;c[f>>2]=c[i>>2];c[f+4>>2]=c[i+4>>2];b[a+24>>1]=vS(f,16,-1)|0}e=uS(i,4)|0;if((e|0)==15){c[d+60>>2]=259;k=-1;$c=j;return k|0}k=c[a>>2]|0;c[a+16>>2]=c[113492+(((c[g>>2]&4096|0)==0?k+-1|0:(k>>>1)+3|0)*60|0)+(e<<2)>>2];e=uS(i,2)|0;if((e|0)==3){c[d+60>>2]=260;k=-1;$c=j;return k|0}e=c[113792+(e<<2)>>2]|0;d=a+20|0;c[d>>2]=e;f=c[g>>2]|0;if(f&4096|0?(c[d>>2]=e>>>1,f&16384|0):0)c[d>>2]=e>>>2;if(uS(i,1)|0)c[g>>2]=c[g>>2]|128;if(uS(i,1)|0)c[h>>2]=c[h>>2]|256;c[a+4>>2]=3-(uS(i,2)|0);c[a+8>>2]=uS(i,2)|0;if(uS(i,1)|0)c[g>>2]=c[g>>2]|32;if(uS(i,1)|0)c[g>>2]=c[g>>2]|64;c[a+12>>2]=uS(i,2)|0;if(!(c[g>>2]&16)){k=0;$c=j;return k|0}b[a+26>>1]=uS(i,16)|0;k=0;$c=j;return k|0}function MS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;c[a>>2]=b;if(d>>>0>=e>>>0&(e|0)!=0){h=(d>>>0)/(e>>>0)|0;i=h+b|0;c[a>>2]=i;d=d-(H(h,e)|0)|0}else i=b;a:do if((e|0)>=16e3){if((e|0)<32e3){if((e|0)<22050){switch(e|0){case 16e3:break;default:{f=4;break a}}d=d*22050|0;b=a+4|0;c[b>>2]=d;break}switch(e|0){case 22050:{d=d*16e3|0;b=a+4|0;c[b>>2]=d;break a}case 24e3:{d=d*14700|0;b=a+4|0;c[b>>2]=d;break a}default:{f=4;break a}}}if((e|0)<48e3)if((e|0)<44100){switch(e|0){case 32e3:break;default:{f=4;break a}}d=d*11025|0;b=a+4|0;c[b>>2]=d;break}else{switch(e|0){case 44100:break;default:{f=4;break a}}d=d*8e3|0;b=a+4|0;c[b>>2]=d;break}else if((e|0)<3528e5){switch(e|0){case 48e3:break;default:{f=4;break a}}d=d*7350|0;b=a+4|0;c[b>>2]=d;break}else{switch(e|0){case 3528e5:break;default:{f=4;break a}}b=a+4|0;c[b>>2]=d;break}}else{if((e|0)<8e3){switch(e|0){case 1:case 0:break;case 1e3:{d=d*352800|0;b=a+4|0;c[b>>2]=d;break a}default:{f=4;break a}}c[a+4>>2]=0;return}if((e|0)<11025){switch(e|0){case 8e3:break;default:{f=4;break a}}d=d*44100|0;b=a+4|0;c[b>>2]=d;break}switch(e|0){case 11025:{d=d*32e3|0;b=a+4|0;c[b>>2]=d;break a}case 12e3:{d=d*29400|0;b=a+4|0;c[b>>2]=d;break a}default:{f=4;break a}}}while(0);if((f|0)==4){b=d;f=e;while(1){b=(b>>>0)%(f>>>0)|0;if(!b)break;else{h=f;f=b;b=h}}g=(d>>>0)/(f>>>0)|0;h=(e>>>0)/(f>>>0)|0;if(f>>>0>e>>>0)f=3528e5;else{d=3528e5;f=h;while(1){d=(d>>>0)%(f>>>0)|0;if(!d)break;else{e=f;f=d;d=e}}}d=3528e5/(f>>>0)|0;b=(h>>>0)/(f>>>0)|0;if(f>>>0>h>>>0)ta(179215,179226,144,179234);do if(b>>>0>=d>>>0)if(b>>>0>>0){h=(g>>>0)/(b>>>0)|0;d=(((H(g-(H(h,b)|0)|0,d)|0)>>>0)/(b>>>0)|0)+(H(h,d)|0)|0;break}else{d=((H(d,g)|0)>>>0)/(b>>>0)|0;break}else{h=(d>>>0)/(b>>>0)|0;d=(((H(d-(H(h,b)|0)|0,g)|0)>>>0)/(b>>>0)|0)+(H(h,g)|0)|0}while(0);b=a+4|0;c[b>>2]=d}if(d>>>0<=352799999)return;h=(d>>>0)/3528e5|0;c[a>>2]=i+h;c[b>>2]=d-(H(h,3528e5)|0);return}function NS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=$c;$c=$c+112|0;if(($c|0)>=(ad|0))N(112);j=t+48|0;i=t;r=a+28|0;q=r;p=c[q>>2]|0;q=c[q+4>>2]|0;m=c[b+28>>2]|0;d=m>>>7&1;m=(c[b>>2]|0)==3?((m&4096|0)==0?144:72):144;if(!(KS(a)|0)){k=i+20|0;l=b+20|0;o=a+20|0;n=4-(d<<2)|0;h=d^1;d=0;do{e=j;f=a;g=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));e=i;f=b;g=e+44|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));if(((LS(i,j)|0)==0?(c[i>>2]|0)==(c[b>>2]|0):0)?(c[k>>2]|0)==(c[l>>2]|0):0){d=sS(r)|0;g=(c[b>>2]|0)==1;g=((H(c[l>>2]|0,(g?n:h)+(d-(c[o>>2]|0))|0)|0)>>>0)/((g?48:m)>>>0)|0;d=(g>>>0)/1e3|0;if(g>>>0>=8e3){s=8;break}}tS(r,8)}while((KS(a)|0)==0);s=r;c[s>>2]=p;c[s+4>>2]=q;if(d>>>0>=8?!(d>>>0>640&(c[b>>2]|0)==3):0){c[a+16>>2]=d*1e3;s=0;$c=t;return s|0}}else{s=r;c[s>>2]=p;c[s+4>>2]=q}c[a+60>>2]=257;s=-1;$c=t;return s|0}function OS(a){a=a|0;var b=0;_W(a|0,0,1024)|0;b=0;do{c[a+1536+(b<<5)>>2]=0;c[a+1024+(b<<5)>>2]=0;c[a+1536+(b<<5)+4>>2]=0;c[a+1024+(b<<5)+4>>2]=0;c[a+1536+(b<<5)+8>>2]=0;c[a+1024+(b<<5)+8>>2]=0;c[a+1536+(b<<5)+12>>2]=0;c[a+1024+(b<<5)+12>>2]=0;c[a+1536+(b<<5)+16>>2]=0;c[a+1024+(b<<5)+16>>2]=0;c[a+1536+(b<<5)+20>>2]=0;c[a+1024+(b<<5)+20>>2]=0;c[a+1536+(b<<5)+24>>2]=0;c[a+1024+(b<<5)+24>>2]=0;c[a+1536+(b<<5)+28>>2]=0;c[a+1024+(b<<5)+28>>2]=0;b=b+1|0}while((b|0)!=16);_W(a+2048|0,0,1024)|0;b=0;do{c[a+3584+(b<<5)>>2]=0;c[a+3072+(b<<5)>>2]=0;c[a+3584+(b<<5)+4>>2]=0;c[a+3072+(b<<5)+4>>2]=0;c[a+3584+(b<<5)+8>>2]=0;c[a+3072+(b<<5)+8>>2]=0;c[a+3584+(b<<5)+12>>2]=0;c[a+3072+(b<<5)+12>>2]=0;c[a+3584+(b<<5)+16>>2]=0;c[a+3072+(b<<5)+16>>2]=0;c[a+3584+(b<<5)+20>>2]=0;c[a+3072+(b<<5)+20>>2]=0;c[a+3584+(b<<5)+24>>2]=0;c[a+3072+(b<<5)+24>>2]=0;c[a+3584+(b<<5)+28>>2]=0;c[a+3072+(b<<5)+28>>2]=0;b=b+1|0}while((b|0)!=16);return}function PS(a){a=a|0;var b=0;_W(a+48|0,0,9216)|0;a=c[a+9264>>2]|0;if(!a)return;_W(a|0,0,2304)|0;b=0;do{c[a+2304+(b<<2)>>2]=0;c[a+2376+(b<<2)>>2]=0;c[a+2448+(b<<2)>>2]=0;c[a+2520+(b<<2)>>2]=0;c[a+2592+(b<<2)>>2]=0;c[a+2664+(b<<2)>>2]=0;c[a+2736+(b<<2)>>2]=0;c[a+2808+(b<<2)>>2]=0;c[a+2880+(b<<2)>>2]=0;c[a+2952+(b<<2)>>2]=0;c[a+3024+(b<<2)>>2]=0;c[a+3096+(b<<2)>>2]=0;c[a+3168+(b<<2)>>2]=0;c[a+3240+(b<<2)>>2]=0;c[a+3312+(b<<2)>>2]=0;c[a+3384+(b<<2)>>2]=0;c[a+3456+(b<<2)>>2]=0;c[a+3528+(b<<2)>>2]=0;c[a+3600+(b<<2)>>2]=0;c[a+3672+(b<<2)>>2]=0;c[a+3744+(b<<2)>>2]=0;c[a+3816+(b<<2)>>2]=0;c[a+3888+(b<<2)>>2]=0;c[a+3960+(b<<2)>>2]=0;c[a+4032+(b<<2)>>2]=0;c[a+4104+(b<<2)>>2]=0;c[a+4176+(b<<2)>>2]=0;c[a+4248+(b<<2)>>2]=0;c[a+4320+(b<<2)>>2]=0;c[a+4392+(b<<2)>>2]=0;c[a+4464+(b<<2)>>2]=0;c[a+4536+(b<<2)>>2]=0;b=b+1|0}while((b|0)!=18);return}function QS(){RS(0);return}function RS(a){a=a|0;Za(58632,179249);Oa(58648,179254,1,1,0);Va(58656,179259,1,-128,127);Va(58672,179264,1,-128,127);Va(58664,179276,1,0,255);Va(58680,179290,2,-32768,32767);Va(58688,179296,2,0,65535);Va(58696,179311,4,-2147483648,2147483647);Va(58704,179315,4,0,-1);Va(58712,179328,4,-2147483648,2147483647);Va(58720,179333,4,0,-1);Ua(58728,179347,4);Ua(58736,179353,8);Xa(9528,179360);Xa(57912,179372);Ya(57936,4,179405);Ta(9552,179418);Wa(57960,0,179434);Wa(57968,0,179464);Wa(57976,1,179501);Wa(57984,2,179540);Wa(57992,3,179571);Wa(58e3,4,179611);Wa(58008,5,179640);Wa(58016,4,179678);Wa(58024,5,179708);Wa(57968,0,179747);Wa(57976,1,179779);Wa(57984,2,179812);Wa(57992,3,179845);Wa(58e3,4,179879);Wa(58008,5,179912);Wa(58032,6,179946);Wa(58040,7,179977);Wa(58048,7,180009);return}function SS(a){a=a|0;return yU(c[a+4>>2]|0)|0}function TS(a){a=a|0;var b=0,d=0;b=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);d=b;c[d>>2]=YS(c[a+60>>2]|0)|0;a=WS(La(6,d|0)|0)|0;$c=b;return a|0}function US(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);k=m+32|0;g=m+16|0;f=m;i=a+28|0;e=c[i>>2]|0;c[f>>2]=e;j=a+20|0;e=(c[j>>2]|0)-e|0;c[f+4>>2]=e;c[f+8>>2]=b;c[f+12>>2]=d;e=e+d|0;h=a+60|0;c[g>>2]=c[h>>2];c[g+4>>2]=f;c[g+8>>2]=2;g=WS(Ga(146,g|0)|0)|0;a:do if((e|0)!=(g|0)){b=2;while(1){if((g|0)<0)break;e=e-g|0;o=c[f+4>>2]|0;n=g>>>0>o>>>0;f=n?f+8|0:f;b=b+(n<<31>>31)|0;o=g-(n?o:0)|0;c[f>>2]=(c[f>>2]|0)+o;n=f+4|0;c[n>>2]=(c[n>>2]|0)-o;c[k>>2]=c[h>>2];c[k+4>>2]=f;c[k+8>>2]=b;g=WS(Ga(146,k|0)|0)|0;if((e|0)==(g|0)){l=3;break a}}c[a+16>>2]=0;c[i>>2]=0;c[j>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[f+4>>2]|0)|0}else l=3;while(0);if((l|0)==3){o=c[a+44>>2]|0;c[a+16>>2]=o+(c[a+48>>2]|0);c[i>>2]=o;c[j>>2]=o}$c=m;return d|0}function VS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);h=g+8|0;f=g;c[h>>2]=c[a+60>>2];c[h+4>>2]=d;c[h+8>>2]=b;c[h+12>>2]=f;c[h+16>>2]=e;if((WS(Fa(140,h|0)|0)|0)<0){a=f;c[a>>2]=-1;c[a+4>>2]=-1;a=-1;b=-1}else{b=f;a=c[b+4>>2]|0;b=c[b>>2]|0}L(a|0);$c=g;return b|0}function WS(a){a=a|0;if(a>>>0>4294963200){c[(XS()|0)>>2]=0-a;a=-1}return a|0}function XS(){return 185316}function YS(a){a=a|0;return a|0}function ZS(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);f=g;c[b+36>>2]=3;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21523,c[f+8>>2]=g+16,Ka(54,f|0)|0):0)a[b+75>>0]=-1;f=US(b,d,e)|0;$c=g;return f|0}function _S(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);h=j;c[h>>2]=0;i=h+4|0;c[i>>2]=a;c[h+44>>2]=a;g=h+8|0;c[g>>2]=(a|0)<0?-1:a+2147483647|0;c[h+76>>2]=-1;$S(h,0,0);d=aT(h,d,1,e,f)|0;e=M()|0;if(b|0)c[b>>2]=a+((c[i>>2]|0)+(c[h+120>>2]|0)-(c[g>>2]|0));L(e|0);$c=j;return d|0}function $S(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=a+112|0;c[f>>2]=b;c[f+4>>2]=d;f=c[a+8>>2]|0;e=c[a+4>>2]|0;g=f-e|0;h=((g|0)<0)<<31>>31;i=a+120|0;c[i>>2]=g;c[i+4>>2]=h;if(((b|0)!=0|(d|0)!=0)&((h|0)>(d|0)|(h|0)==(d|0)&g>>>0>b>>>0))c[a+104>>2]=e+b;else c[a+104>>2]=f;return}function aT(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[(XS()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+104|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=bT(b)|0}while((cT(i)|0)!=0);b:do switch(i|0){case 43:case 45:{i=((i|0)==45)<<31>>31;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;p=i;i=d[j>>0]|0;break b}else{p=i;i=bT(b)|0;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=bT(b)|0;if((i|32|0)!=120)if(j){o=8;n=47;break}else{n=32;break}i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=bT(b)|0;if((d[273+i>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){$S(b,0,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{o=16;n=47}}else{e=j?10:e;if(e>>>0>(d[273+i>>0]|0)>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;$S(b,0,0);c[(XS()|0)>>2]=22;h=0;g=0;break a}}while(0);c:do if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;do{i=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=bT(b)|0;e=j+-48|0}while(e>>>0<10&i>>>0<429496729);if(e>>>0<10){m=0;do{f=PW(i|0,m|0,10,0)|0;k=M()|0;l=((e|0)<0)<<31>>31;o=~l;if(k>>>0>o>>>0|(k|0)==(o|0)&f>>>0>~e>>>0){f=10;e=m;n=76;break c}i=JW(f|0,k|0,e|0,l|0)|0;m=M()|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=bT(b)|0;e=j+-48|0}while(e>>>0<10&(m>>>0<429496729|(m|0)==429496729&i>>>0<2576980378));if(e>>>0>9){j=p;e=m}else{f=10;e=m;n=76}}else{j=p;e=0}}else{j=p;e=0;i=0}}else{o=e;n=47}while(0);d:do if((n|0)==47){if(!(o+-1&o)){n=a[180544+((o*23|0)>>>5&7)>>0]|0;f=a[273+i>>0]|0;e=f&255;if(o>>>0>e>>>0){i=0;do{i=e|i<>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=bT(b)|0;f=a[273+j>>0]|0;e=f&255}while(i>>>0<134217728&o>>>0>e>>>0);k=e;e=0}else{j=i;k=e;e=0;i=0}l=TW(-1,-1,n|0)|0;m=M()|0;if(o>>>0<=k>>>0|(m>>>0>>0|(m|0)==(e|0)&l>>>0>>0)){f=o;n=76;break}while(1){i=UW(i|0,e|0,n|0)|0;e=M()|0;i=i|f&255;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=bT(b)|0;f=a[273+j>>0]|0;if(o>>>0<=(f&255)>>>0|(e>>>0>m>>>0|(e|0)==(m|0)&i>>>0>l>>>0)){f=o;n=76;break d}}}e=a[273+i>>0]|0;f=e&255;if(o>>>0>f>>>0){i=0;do{i=f+(H(i,o)|0)|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=bT(b)|0;e=a[273+j>>0]|0;f=e&255}while(i>>>0<119304647&o>>>0>f>>>0);k=e;e=0}else{j=i;k=e;i=0;e=0}if(o>>>0>f>>>0){m=RW(-1,-1,o|0,0)|0;n=M()|0;f=k;while(1){if(e>>>0>n>>>0|(e|0)==(n|0)&i>>>0>m>>>0){f=o;n=76;break d}k=PW(i|0,e|0,o|0,0)|0;l=M()|0;f=f&255;if(l>>>0>4294967295|(l|0)==-1&k>>>0>~f>>>0){f=o;n=76;break d}i=JW(k|0,l|0,f|0,0)|0;e=M()|0;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=bT(b)|0;f=a[273+j>>0]|0;if(o>>>0<=(f&255)>>>0){f=o;n=76;break}}}else{f=o;n=76}}while(0);if((n|0)==76)if(f>>>0>(d[273+j>>0]|0)>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=bT(b)|0}while(f>>>0>(d[273+i>>0]|0)>>>0);c[(XS()|0)>>2]=34;j=(g&1|0)==0&0==0?p:0;e=h;i=g}else j=p;if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(e>>>0>>0|(e|0)==(h|0)&i>>>0>>0)){if(!((g&1|0)!=0|0!=0|(j|0)!=0)){c[(XS()|0)>>2]=34;g=JW(g|0,h|0,-1,-1)|0;h=M()|0;break}if(e>>>0>h>>>0|(e|0)==(h|0)&i>>>0>g>>>0){c[(XS()|0)>>2]=34;break}}g=((j|0)<0)<<31>>31;g=KW(i^j|0,e^g|0,j|0,g|0)|0;h=M()|0}while(0);L(h|0);return g|0}function bT(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=b+112|0;f=g;e=c[f>>2]|0;f=c[f+4>>2]|0;if(!((e|0)==0&(f|0)==0)?(i=b+120|0,h=c[i+4>>2]|0,!((h|0)<(f|0)|((h|0)==(f|0)?(c[i>>2]|0)>>>0>>0:0))):0)j=4;else{e=dT(b)|0;if((e|0)>=0){f=c[g>>2]|0;g=c[g+4>>2]|0;i=c[b+8>>2]|0;if(!((f|0)==0&(g|0)==0)){h=c[b+4>>2]|0;k=i-h|0;l=((k|0)<0)<<31>>31;m=b+120|0;f=KW(f|0,g|0,c[m>>2]|0,c[m+4>>2]|0)|0;m=M()|0;g=i;if((m|0)>(l|0)|(m|0)==(l|0)&f>>>0>k>>>0)j=9;else c[b+104>>2]=h+(f+-1)}else{g=i;j=9}if((j|0)==9)c[b+104>>2]=i;f=b+4|0;if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;k=g+1-f|0;m=b+120|0;l=m;k=JW(c[l>>2]|0,c[l+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0;l=M()|0;c[m>>2]=k;c[m+4>>2]=l}f=f+-1|0;if((e|0)!=(d[f>>0]|0|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+104>>2]=0;e=-1}return e|0}function cT(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function dT(a){a=a|0;var b=0,e=0;e=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);b=e;if((eT(a)|0)==0?(id[c[a+32>>2]&15](a,b,1)|0)==1:0)a=d[b>>0]|0;else a=-1;$c=e;return a|0}function eT(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=b+20|0;e=b+28|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)id[c[b+36>>2]&15](b,0,0)|0;c[b+16>>2]=0;c[e>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(!(d&4)){e=(c[b+44>>2]|0)+(c[b+48>>2]|0)|0;c[b+8>>2]=e;c[b+4>>2]=e;d=d<<27>>31}else{c[b>>2]=d|32;d=-1}return d|0}function fT(a,b,c){a=a|0;b=b|0;c=c|0;c=_S(a,b,c,0,-2147483648)|0;L(M()|0);return c|0}function gT(a,b,c){a=a|0;b=b|0;c=c|0;c=_S(a,b,c,-1,0)|0;M()|0;return c|0}function hT(a,b,c){a=a|0;b=b|0;c=c|0;c=_S(a,b,c,-2147483648,0)|0;M()|0;return c|0}function iT(a,b){a=+a;b=+b;var d=0.0,e=0,f=0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);l=p+24|0;m=p+16|0;n=p+8|0;o=p;g[h>>3]=a;s=c[h>>2]|0;i=c[h+4>>2]|0;g[h>>3]=b;e=c[h>>2]|0;i=i&2147483647;f=c[h+4>>2]&2147483647;j=i>>>0>>0|(i|0)==(f|0)&s>>>0>>0;r=j?e:s;q=j?f:i;e=j?s:e;f=j?i:f;i=TW(r|0,q|0,52)|0;M()|0;j=TW(e|0,f|0,52)|0;M()|0;c[h>>2]=r;c[h+4>>2]=q;a=+g[h>>3];c[h>>2]=e;c[h+4>>2]=f;k=+g[h>>3];do if((j|0)!=2047){if(!((e|0)==0&(f|0)==0|(i|0)==2047)){if((i-j|0)>64){a=a+k;break}if((i|0)>1533){d=5260135901548373507240989.0e186;b=a*1.90109156629516e-211;a=k*1.90109156629516e-211}else{s=(j|0)<573;d=s?1.90109156629516e-211:1.0;b=s?a*5260135901548373507240989.0e186:a;a=s?k*5260135901548373507240989.0e186:k}jT(l,m,b);jT(n,o,a);a=d*+v(+(+g[o>>3]+ +g[m>>3]+ +g[n>>3]+ +g[l>>3]))}}else a=k;while(0);$c=p;return +a}function jT(a,b,c){a=a|0;b=b|0;c=+c;var d=0.0,e=0.0;e=c*134217729.0;e=e+(c-e);d=c-e;c=c*c;g[a>>3]=c;g[b>>3]=d*d+(e*e-c+e*2.0*d);return}function kT(a,b){a=+a;b=+b;var d=0,e=0;g[h>>3]=a;e=c[h>>2]|0;d=c[h+4>>2]|0;g[h>>3]=b;d=c[h+4>>2]&-2147483648|d&2147483647;c[h>>2]=e;c[h+4>>2]=d;return +(+g[h>>3])}function lT(a){a=+a;var b=0;g[h>>3]=a;b=c[h+4>>2]&2147483647;c[h>>2]=c[h>>2];c[h+4>>2]=b;a=+g[h>>3];do if(b>>>0<1072049730)if(b>>>0<1045430272)a=1.0;else{a=+nT(a);a=a*a/((a+1.0)*2.0)+1.0}else if(b>>>0<1082535490){a=+E(+a);a=(a+1.0/a)*.5;break}else{a=+oT(a);break}while(0);return +a}function mT(a){a=+a;var b=0.0,d=0,e=0.0;g[h>>3]=a;d=c[h+4>>2]|0;e=(d|0)<0?-.5:.5;d=d&2147483647;c[h>>2]=c[h>>2];c[h+4>>2]=d;b=+g[h>>3];do if(d>>>0<1082535490){b=+nT(b);if(d>>>0>=1072693248){a=e*(b+b/(b+1.0));break}if(d>>>0>=1045430272)a=e*(b*2.0-b*b/(b+1.0))}else a=e*2.0*+oT(b);while(0);return +a}function nT(a){a=+a;var b=0,d=0,e=0.0,f=0.0,i=0.0,j=0,k=0,l=0.0;g[h>>3]=a;d=c[h+4>>2]|0;b=d&2147483647;d=TW(c[h>>2]|0,d|0,63)|0;M()|0;do if(b>>>0>1078159481){j=pT(a)|0;b=(M()|0)&2147483647;if(!(b>>>0>2146435072|(b|0)==2146435072&j>>>0>0))if(!d)if(a>709.782712893384)a=a*8988465674311579538646525.0e283;else k=11;else a=-1.0}else{if(b>>>0<=1071001154)if(b>>>0<1016070144)break;else{i=0.0;j=0;k=14;break}if(b>>>0<1072734898)if(!d){b=1;e=a+-.6931471803691238;f=1.9082149292705877e-10;k=12;break}else{b=-1;e=a+.6931471803691238;f=-1.9082149292705877e-10;k=12;break}else k=11}while(0);if((k|0)==11){b=~~(a*1.4426950408889634+((d|0)==0?.5:-.5));f=+(b|0);e=a-f*.6931471803691238;f=f*1.9082149292705877e-10;k=12}if((k|0)==12){i=e-f;a=i;i=e-i-f;j=b;k=14}a:do if((k|0)==14){f=a*.5;e=a*f;l=e*(e*(e*(e*(4.008217827329362e-06-e*2.0109921818362437e-07)+-7.93650757867488e-05)+1.5873015872548146e-03)+-.03333333333333313)+1.0;f=3.0-f*l;f=e*((l-f)/(6.0-a*f));if(!j){a=a-(a*f-e);break}f=a*(f-i)-i-e;switch(j|0){case -1:{a=(a-f)*.5+-.5;break a}case 1:if(a<-.25){a=(f-(a+.5))*-2.0;break a}else{a=(a-f)*2.0+1.0;break a}default:{d=UW(j+1023|0,0,52)|0;k=M()|0;c[h>>2]=d;c[h+4>>2]=k;i=+g[h>>3];if(j>>>0>56){a=a-f+1.0;a=((j|0)==1024?a*2.0*8988465674311579538646525.0e283:a*i)+-1.0;break a}b=UW(1023-j|0,0,52)|0;d=M()|0;if((j|0)<20){c[h>>2]=b;c[h+4>>2]=d;e=1.0-+g[h>>3];a=a-f}else{c[h>>2]=b;c[h+4>>2]=d;e=a-(f+ +g[h>>3]);a=1.0}a=(e+a)*i;break a}}}while(0);return +a}function oT(a){a=+a;return +(+E(+(a+-1416.0996898839683))*2247116418577894884661631.0e283*2247116418577894884661631.0e283)}function pT(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;L(c[h+4>>2]|0);return b|0}function qT(b,c){b=b|0;c=c|0;var d=0,e=0;d=a[b>>0]|0;e=a[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24)b=e;else{do{b=b+1|0;c=c+1|0;d=a[b>>0]|0;e=a[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));b=e}return (d&255)-(b&255)|0}function rT(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)b=0;else{while(1){e=a[b>>0]|0;f=a[c>>0]|0;if(e<<24>>24!=f<<24>>24)break;d=d+-1|0;if(!d){b=0;break a}else{b=b+1|0;c=c+1|0}}b=(e&255)-(f&255)|0}while(0);return b|0}function sT(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;if(!e)f=0;else{f=a[b>>0]|0;a:do if(!(f<<24>>24))f=0;else while(1){e=e+-1|0;g=a[c>>0]|0;if(!(f<<24>>24==g<<24>>24&((e|0)!=0&g<<24>>24!=0)))break a;b=b+1|0;c=c+1|0;f=a[b>>0]|0;if(!(f<<24>>24)){f=0;break}}while(0);f=(f&255)-(d[c>>0]|0)|0}return f|0}function tT(a){a=a|0;return (a+-48|0)>>>0<10|0}function uT(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=$c;$c=$c+160|0;if(($c|0)>=(ad|0))N(160);g=j+144|0;i=j;YW(i|0,58344,144)|0;if((d+-1|0)>>>0>2147483646)if(!d){b=g;d=1;h=4}else{c[(XS()|0)>>2]=75;d=-1}else h=4;if((h|0)==4){h=-2-b|0;h=d>>>0>h>>>0?h:d;c[i+48>>2]=h;g=i+20|0;c[g>>2]=b;c[i+44>>2]=b;d=b+h|0;b=i+16|0;c[b>>2]=d;c[i+28>>2]=d;d=vT(i,e,f)|0;if(h){i=c[g>>2]|0;a[i+(((i|0)==(c[b>>2]|0))<<31>>31)>>0]=0}}$c=j;return d|0}function vT(a,b,c){a=a|0;b=b|0;c=c|0;return yT(a,b,c,1,206)|0}function wT(b,e,f,g,h,i){b=b|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=$c;$c=$c+560|0;if(($c|0)>=(ad|0))N(560);l=F+32|0;u=F+536|0;E=F;D=E;m=F+540|0;c[u>>2]=0;C=m+12|0;QT(e)|0;j=M()|0;if((j|0)<0){e=-e;QT(e)|0;B=1;A=180570;j=M()|0}else{B=(h&2049|0)!=0&1;A=(h&2048|0)==0?((h&1|0)==0?180571:180576):180573}do if(0==0&(j&2146435072|0)==2146435072){E=(i&32|0)!=0;j=B+3|0;JT(b,32,f,j,h&-65537);CT(b,A,B);CT(b,e!=e|0.0!=0.0?(E?180612:180597):E?180589:180593,3);JT(b,32,f,j,h^8192)}else{q=+RT(e,u)*2.0;j=q!=0.0;if(j)c[u>>2]=(c[u>>2]|0)+-1;t=i|32;if((t|0)==97){o=i&32;r=(o|0)==0?A:A+9|0;p=B|2;j=12-g|0;do if(!(g>>>0>11|(j|0)==0)){e=8.0;do{j=j+-1|0;e=e*16.0}while((j|0)!=0);if((a[r>>0]|0)==45){e=-(e+(-q-e));break}else{e=q+e-e;break}}else e=q;while(0);k=c[u>>2]|0;j=(k|0)<0?0-k|0:k;j=HT(j,((j|0)<0)<<31>>31,C)|0;if((j|0)==(C|0)){j=m+11|0;a[j>>0]=48}a[j+-1>>0]=(k>>31&2)+43;n=j+-2|0;a[n>>0]=i+15;k=(g|0)<1;l=(h&8|0)==0;m=E;do{B=~~e;j=m+1|0;a[m>>0]=o|d[1008+B>>0];e=(e-+(B|0))*16.0;if((j-D|0)==1?!(l&(k&e==0.0)):0){a[j>>0]=46;m=m+2|0}else m=j}while(e!=0.0);if((g|0)!=0?(-2-D+m|0)<(g|0):0){k=C;l=n;j=g+2+k-l|0}else{k=C;l=n;j=k-D-l+m|0}C=j+p|0;JT(b,32,f,C,h);CT(b,r,p);JT(b,48,f,C,h^65536);D=m-D|0;CT(b,E,D);E=k-l|0;JT(b,48,j-(D+E)|0,0,0);CT(b,n,E);JT(b,32,f,C,h^8192);j=C;break}k=(g|0)<0?6:g;if(j){j=(c[u>>2]|0)+-28|0;c[u>>2]=j;e=q*268435456.0}else{e=q;j=c[u>>2]|0}z=(j|0)<0?l:l+288|0;l=z;do{x=~~e>>>0;c[l>>2]=x;l=l+4|0;e=(e-+(x>>>0))*1.0e9}while(e!=0.0);x=z;if((j|0)>0){o=z;while(1){n=(j|0)<29?j:29;j=l+-4|0;if(j>>>0>=o>>>0){m=0;do{s=UW(c[j>>2]|0,0,n|0)|0;s=JW(s|0,M()|0,m|0,0)|0;v=M()|0;m=RW(s|0,v|0,1e9,0)|0;w=PW(m|0,M()|0,1e9,0)|0;w=KW(s|0,v|0,w|0,M()|0)|0;M()|0;c[j>>2]=w;j=j+-4|0}while(j>>>0>=o>>>0);if(m){w=o+-4|0;c[w>>2]=m;m=w}else m=o}else m=o;a:do if(l>>>0>m>>>0){j=l;while(1){l=j+-4|0;if(c[l>>2]|0){l=j;break a}if(l>>>0>m>>>0)j=l;else break}}while(0);j=(c[u>>2]|0)-n|0;c[u>>2]=j;if((j|0)>0)o=m;else break}}else m=z;if((j|0)<0){g=((k+25|0)/9|0)+1|0;s=(t|0)==102;do{r=0-j|0;r=(r|0)<9?r:9;if(m>>>0>>0){n=(1<>>r;p=0;j=m;do{w=c[j>>2]|0;c[j>>2]=(w>>>r)+p;p=H(w&n,o)|0;j=j+4|0}while(j>>>0>>0);m=(c[m>>2]|0)==0?m+4|0:m;if(p){c[l>>2]=p;l=l+4|0}}else m=(c[m>>2]|0)==0?m+4|0:m;j=s?z:m;l=(l-j>>2|0)>(g|0)?j+(g<<2)|0:l;j=(c[u>>2]|0)+r|0;c[u>>2]=j}while((j|0)<0);s=m}else s=m;if(s>>>0>>0){j=(x-s>>2)*9|0;n=c[s>>2]|0;if(n>>>0>=10){m=10;do{m=m*10|0;j=j+1|0}while(n>>>0>=m>>>0)}}else j=0;v=(t|0)==103;w=(k|0)!=0;m=k-((t|0)==102?0:j)+((w&v)<<31>>31)|0;if((m|0)<(((l-x>>2)*9|0)+-9|0)){u=m+9216|0;m=(u|0)/9|0;g=z+4+(m+-1024<<2)|0;m=u-(m*9|0)|0;if((m|0)<8){n=10;while(1){n=n*10|0;if((m|0)<7)m=m+1|0;else break}}else n=10;p=c[g>>2]|0;m=(p>>>0)/(n>>>0)|0;r=p-(H(m,n)|0)|0;o=(g+4|0)==(l|0);if(!(o&(r|0)==0)){q=(m&1|0)==0?9007199254740992.0:9007199254740994.0;u=n>>>1;e=r>>>0>>0?.5:o&(r|0)==(u|0)?1.0:1.5;if(B){u=(a[A>>0]|0)==45;e=u?-e:e;q=u?-q:q}m=p-r|0;c[g>>2]=m;if(q+e!=q){u=m+n|0;c[g>>2]=u;if(u>>>0>999999999){n=g;j=s;while(1){m=n+-4|0;c[n>>2]=0;if(m>>>0>>0){j=j+-4|0;c[j>>2]=0}u=(c[m>>2]|0)+1|0;c[m>>2]=u;if(u>>>0>999999999)n=m;else{n=j;break}}}else{m=g;n=s}j=(x-n>>2)*9|0;p=c[n>>2]|0;if(p>>>0>=10){o=10;do{o=o*10|0;j=j+1|0}while(p>>>0>=o>>>0)}}else{m=g;n=s}}else{m=g;n=s}u=m+4|0;l=l>>>0>u>>>0?u:l}else n=s;g=0-j|0;b:do if(l>>>0>n>>>0)while(1){m=l+-4|0;if(c[m>>2]|0){u=l;t=1;break b}if(m>>>0>n>>>0)l=m;else{u=m;t=0;break}}else{u=l;t=0}while(0);do if(v){k=k+((w^1)&1)|0;if((k|0)>(j|0)&(j|0)>-5){o=i+-1|0;k=k+-1-j|0}else{o=i+-2|0;k=k+-1|0}if(!(h&8)){if(t?(y=c[u+-4>>2]|0,(y|0)!=0):0)if(!((y>>>0)%10|0)){m=0;l=10;do{l=l*10|0;m=m+1|0}while(!((y>>>0)%(l>>>0)|0|0))}else m=0;else m=9;l=((u-x>>2)*9|0)+-9|0;if((o|32|0)==102){i=l-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}else{i=l+j-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}}}else o=i;while(0);s=(k|0)!=0;p=s?1:h>>>3&1;r=(o|32|0)==102;if(r){v=0;j=(j|0)>0?j:0}else{l=(j|0)<0?g:j;l=HT(l,((l|0)<0)<<31>>31,C)|0;m=C;if((m-l|0)<2)do{l=l+-1|0;a[l>>0]=48}while((m-l|0)<2);a[l+-1>>0]=(j>>31&2)+43;j=l+-2|0;a[j>>0]=o;v=j;j=m-j|0}j=B+1+k+p+j|0;JT(b,32,f,j,h);CT(b,A,B);JT(b,48,f,j,h^65536);if(r){p=n>>>0>z>>>0?z:n;r=E+9|0;n=r;o=E+8|0;m=p;do{l=HT(c[m>>2]|0,0,r)|0;if((m|0)==(p|0)){if((l|0)==(r|0)){a[o>>0]=48;l=o}}else if(l>>>0>E>>>0){_W(E|0,48,l-D|0)|0;do l=l+-1|0;while(l>>>0>E>>>0)}CT(b,l,n-l|0);m=m+4|0}while(m>>>0<=z>>>0);if(!((h&8|0)==0&(s^1)))CT(b,180601,1);if(m>>>0>>0&(k|0)>0)while(1){l=HT(c[m>>2]|0,0,r)|0;if(l>>>0>E>>>0){_W(E|0,48,l-D|0)|0;do l=l+-1|0;while(l>>>0>E>>>0)}CT(b,l,(k|0)<9?k:9);m=m+4|0;l=k+-9|0;if(!(m>>>0>>0&(k|0)>9)){k=l;break}else k=l}JT(b,48,k+9|0,9,0)}else{u=t?u:n+4|0;if(n>>>0>>0&(k|0)>-1){g=E+9|0;s=(h&8|0)==0;t=g;p=0-D|0;r=E+8|0;o=n;do{l=HT(c[o>>2]|0,0,g)|0;if((l|0)==(g|0)){a[r>>0]=48;l=r}do if((o|0)==(n|0)){m=l+1|0;CT(b,l,1);if(s&(k|0)<1){l=m;break}CT(b,180601,1);l=m}else{if(l>>>0<=E>>>0)break;_W(E|0,48,l+p|0)|0;do l=l+-1|0;while(l>>>0>E>>>0)}while(0);D=t-l|0;CT(b,l,(k|0)>(D|0)?D:k);k=k-D|0;o=o+4|0}while(o>>>0>>0&(k|0)>-1)}JT(b,48,k+18|0,18,0);CT(b,v,C-v|0)}JT(b,32,f,j,h^8192)}while(0);$c=F;return ((j|0)<(f|0)?f:j)|0}function xT(a,b){a=a|0;b=b|0;var d=0.0,e=0;e=(c[b>>2]|0)+(8-1)&~(8-1);d=+g[e>>3];c[b>>2]=e+8;g[a>>3]=d;return}function yT(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=$c;$c=$c+224|0;if(($c|0)>=(ad|0))N(224);p=t+208|0;q=t+160|0;r=t+80|0;s=t;h=q;i=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));c[p>>2]=c[e>>2];if((zT(0,d,p,r,q,f,g)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)o=AT(b)|0;else o=0;e=c[b>>2]|0;n=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;h=b+48|0;if(!(c[h>>2]|0)){i=b+44|0;j=c[i>>2]|0;c[i>>2]=s;k=b+28|0;c[k>>2]=s;l=b+20|0;c[l>>2]=s;c[h>>2]=80;m=b+16|0;c[m>>2]=s+80;e=zT(b,d,p,r,q,f,g)|0;if(j){id[c[b+36>>2]&15](b,0,0)|0;e=(c[l>>2]|0)==0?-1:e;c[i>>2]=j;c[h>>2]=0;c[m>>2]=0;c[k>>2]=0;c[l>>2]=0}}else e=zT(b,d,p,r,q,f,g)|0;h=c[b>>2]|0;c[b>>2]=h|n;if(o|0)BT(b);e=(h&32|0)==0?e:-1}$c=t;return e|0}function zT(d,e,f,h,i,j,k){d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,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;I=$c;$c=$c+64|0;if(($c|0)>=(ad|0))N(64);F=I+56|0;H=I+40|0;A=I;C=I+48|0;D=I+60|0;c[F>>2]=e;x=(d|0)!=0;y=A+40|0;z=y;A=A+39|0;B=C+4|0;l=0;e=0;n=0;a:while(1){do{do if((e|0)>-1)if((l|0)>(2147483647-e|0)){c[(XS()|0)>>2]=75;e=-1;break}else{e=l+e|0;break}while(0);r=c[F>>2]|0;l=a[r>>0]|0;if(!(l<<24>>24)){w=92;break a}m=r;b:while(1){switch(l<<24>>24){case 37:{w=10;break b}case 0:{l=m;break b}default:{}}v=m+1|0;c[F>>2]=v;l=a[v>>0]|0;m=v}c:do if((w|0)==10){w=0;l=m;do{if((a[m+1>>0]|0)!=37)break c;l=l+1|0;m=m+2|0;c[F>>2]=m}while((a[m>>0]|0)==37)}while(0);l=l-r|0;if(x)CT(d,r,l)}while((l|0)!=0);v=(tT(a[(c[F>>2]|0)+1>>0]|0)|0)==0;m=c[F>>2]|0;if(!v?(a[m+2>>0]|0)==36:0){t=(a[m+1>>0]|0)+-48|0;p=1;l=3}else{t=-1;p=n;l=1}l=m+l|0;c[F>>2]=l;m=a[l>>0]|0;n=(m<<24>>24)+-32|0;if(n>>>0>31|(1<>2]=l;m=a[l>>0]|0;n=(m<<24>>24)+-32|0}while(!(n>>>0>31|(1<>24==42){if((tT(a[l+1>>0]|0)|0)!=0?(G=c[F>>2]|0,(a[G+2>>0]|0)==36):0){l=G+1|0;c[i+((a[l>>0]|0)+-48<<2)>>2]=10;l=c[h+((a[l>>0]|0)+-48<<3)>>2]|0;n=1;m=G+3|0}else{if(p|0){e=-1;break}if(x){v=(c[f>>2]|0)+(4-1)&~(4-1);l=c[v>>2]|0;c[f>>2]=v+4}else l=0;n=0;m=(c[F>>2]|0)+1|0}c[F>>2]=m;v=(l|0)<0;u=v?0-l|0:l;o=v?o|8192:o;v=n}else{l=DT(F)|0;if((l|0)<0){e=-1;break}u=l;v=p;m=c[F>>2]|0}do if((a[m>>0]|0)==46){l=m+1|0;if((a[l>>0]|0)!=42){c[F>>2]=l;l=DT(F)|0;m=c[F>>2]|0;break}if(tT(a[m+2>>0]|0)|0?(E=c[F>>2]|0,(a[E+3>>0]|0)==36):0){l=E+2|0;c[i+((a[l>>0]|0)+-48<<2)>>2]=10;l=c[h+((a[l>>0]|0)+-48<<3)>>2]|0;m=E+4|0;c[F>>2]=m;break}if(v|0){e=-1;break a}if(x){s=(c[f>>2]|0)+(4-1)&~(4-1);l=c[s>>2]|0;c[f>>2]=s+4}else l=0;m=(c[F>>2]|0)+2|0;c[F>>2]=m}else l=-1;while(0);s=0;while(1){if(((a[m>>0]|0)+-65|0)>>>0>57){e=-1;break a}n=m;m=m+1|0;c[F>>2]=m;n=a[(a[n>>0]|0)+-65+(544+(s*58|0))>>0]|0;p=n&255;if((p+-1|0)>>>0>=8)break;else s=p}if(!(n<<24>>24)){e=-1;break}q=(t|0)>-1;do if(n<<24>>24==19)if(q){e=-1;break a}else w=54;else{if(q){c[i+(t<<2)>>2]=p;q=h+(t<<3)|0;t=c[q+4>>2]|0;w=H;c[w>>2]=c[q>>2];c[w+4>>2]=t;w=54;break}if(!x){e=0;break a}ET(H,p,f,k);m=c[F>>2]|0;w=55}while(0);if((w|0)==54){w=0;if(x)w=55;else l=0}d:do if((w|0)==55){w=0;m=a[m+-1>>0]|0;m=(s|0)!=0&(m&15|0)==3?m&-33:m;n=o&-65537;t=(o&8192|0)==0?o:n;e:do switch(m|0){case 110:switch((s&255)<<24>>24){case 0:{c[c[H>>2]>>2]=e;l=0;break d}case 1:{c[c[H>>2]>>2]=e;l=0;break d}case 2:{l=c[H>>2]|0;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=0;break d}case 3:{b[c[H>>2]>>1]=e;l=0;break d}case 4:{a[c[H>>2]>>0]=e;l=0;break d}case 6:{c[c[H>>2]>>2]=e;l=0;break d}case 7:{l=c[H>>2]|0;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=0;break d}default:{l=0;break d}}case 112:{m=120;l=l>>>0>8?l:8;n=t|8;w=67;break}case 88:case 120:{n=t;w=67;break}case 111:{q=H;q=GT(c[q>>2]|0,c[q+4>>2]|0,y)|0;n=z-q|0;o=0;p=180553;l=(t&8|0)==0|(l|0)>(n|0)?l:n+1|0;n=t;w=73;break}case 105:case 100:{n=H;m=c[n>>2]|0;n=c[n+4>>2]|0;if((n|0)<0){m=KW(0,0,m|0,n|0)|0;n=M()|0;o=H;c[o>>2]=m;c[o+4>>2]=n;o=1;p=180553;w=72;break e}else{o=(t&2049|0)!=0&1;p=(t&2048|0)==0?((t&1|0)==0?180553:180555):180554;w=72;break e}}case 117:{n=H;o=0;p=180553;m=c[n>>2]|0;n=c[n+4>>2]|0;w=72;break}case 99:{a[A>>0]=c[H>>2];r=A;o=0;p=180553;q=1;m=n;l=z;break}case 115:{s=c[H>>2]|0;s=(s|0)==0?180563:s;t=IT(s,0,l)|0;J=(t|0)==0;r=s;o=0;p=180553;q=J?l:t-s|0;m=n;l=J?s+l|0:t;break}case 67:{c[C>>2]=c[H>>2];c[B>>2]=0;c[H>>2]=C;p=-1;w=79;break}case 83:{if(!l){JT(d,32,u,0,t);l=0;w=89}else{p=l;w=79}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{l=gd[j&1](d,+g[H>>3],u,l,t,m)|0;break d}default:{o=0;p=180553;q=l;m=t;l=z}}while(0);f:do if((w|0)==67){q=H;q=FT(c[q>>2]|0,c[q+4>>2]|0,y,m&32)|0;p=H;p=(n&8|0)==0|(c[p>>2]|0)==0&(c[p+4>>2]|0)==0;o=p?0:2;p=p?180553:180553+(m>>>4)|0;w=73}else if((w|0)==72){q=HT(m,n,y)|0;n=t;w=73}else if((w|0)==79){w=0;o=c[H>>2]|0;l=0;while(1){m=c[o>>2]|0;if(!m)break;m=KT(D,m)|0;n=(m|0)<0;if(n|m>>>0>(p-l|0)>>>0){w=83;break}l=m+l|0;if(p>>>0>l>>>0)o=o+4|0;else break}if((w|0)==83){w=0;if(n){e=-1;break a}}JT(d,32,u,l,t);if(!l){l=0;w=89}else{n=c[H>>2]|0;o=0;while(1){m=c[n>>2]|0;if(!m){w=89;break f}m=KT(D,m)|0;o=m+o|0;if((o|0)>(l|0)){w=89;break f}CT(d,D,m);if(o>>>0>=l>>>0){w=89;break}else n=n+4|0}}}while(0);if((w|0)==73){w=0;m=H;m=(c[m>>2]|0)!=0|(c[m+4>>2]|0)!=0;J=(l|0)!=0|m;m=z-q+((m^1)&1)|0;r=J?q:y;q=J?((l|0)>(m|0)?l:m):0;m=(l|0)>-1?n&-65537:n;l=z}else if((w|0)==89){w=0;JT(d,32,u,l,t^8192);l=(u|0)>(l|0)?u:l;break}t=l-r|0;s=(q|0)<(t|0)?t:q;J=s+o|0;l=(u|0)<(J|0)?J:u;JT(d,32,l,J,m);CT(d,p,o);JT(d,48,l,J,m^65536);JT(d,48,s,t,0);CT(d,r,t);JT(d,32,l,J,m^8192)}while(0);n=v}g:do if((w|0)==92)if(!d)if(!n)e=0;else{e=1;while(1){l=c[i+(e<<2)>>2]|0;if(!l)break;ET(h+(e<<3)|0,l,f,k);e=e+1|0;if(e>>>0>=10){e=1;break g}}while(1){if(c[i+(e<<2)>>2]|0){e=-1;break g}e=e+1|0;if(e>>>0>=10){e=1;break}}}while(0);$c=I;return e|0}function AT(a){a=a|0;return 1}function BT(a){a=a|0;return}function CT(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))OT(b,d,a)|0;return}function DT(b){b=b|0;var d=0,e=0;if(!(tT(a[c[b>>2]>>0]|0)|0))d=0;else{d=0;do{e=c[b>>2]|0;d=(d*10|0)+-48+(a[e>>0]|0)|0;e=e+1|0;c[b>>2]=e}while((tT(a[e>>0]|0)|0)!=0)}return d|0}function ET(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{b=(c[d>>2]|0)+(4-1)&~(4-1);e=c[b>>2]|0;c[d>>2]=b+4;c[a>>2]=e;break a}case 10:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);h=+g[f>>3];c[d>>2]=f+8;g[a>>3]=h;break a}case 18:{od[e&255](a,d);break a}default:break a}while(0);while(0);return}function FT(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;if(!((b|0)==0&(c|0)==0))do{e=e+-1|0;a[e>>0]=d[1008+(b&15)>>0]|0|f;b=TW(b|0,c|0,4)|0;c=M()|0}while(!((b|0)==0&(c|0)==0));return e|0}function GT(b,c,d){b=b|0;c=c|0;d=d|0;if(!((b|0)==0&(c|0)==0))do{d=d+-1|0;a[d>>0]=b&7|48;b=TW(b|0,c|0,3)|0;c=M()|0}while(!((b|0)==0&(c|0)==0));return d|0}function HT(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295){do{e=b;b=RW(b|0,c|0,10,0)|0;f=c;c=M()|0;g=PW(b|0,c|0,10,0)|0;g=KW(e|0,f|0,g|0,M()|0)|0;M()|0;d=d+-1|0;a[d>>0]=g&255|48}while(f>>>0>9|(f|0)==9&e>>>0>4294967295);c=b}else c=b;if(c)do{g=c;c=(c>>>0)/10|0;d=d+-1|0;a[d>>0]=g-(c*10|0)|48}while(g>>>0>=10);return d|0}function IT(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(f)i=6;else i=16;b:do if((i|0)==6){g=d&255;if((a[b>>0]|0)==g<<24>>24)if(!e){i=16;break}else break;f=H(h,16843009)|0;c:do if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009|0)break c;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break}}else i=11;while(0);if((i|0)==11)if(!e){i=16;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;e=e+-1|0;if(!e){i=16;break}else b=b+1|0}}while(0);if((i|0)==16)b=0;return b|0}function JT(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;g=$c;$c=$c+256|0;if(($c|0)>=(ad|0))N(256);f=g;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;_W(f|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{CT(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}CT(a,f,e)}$c=g;return}function KT(a,b){a=a|0;b=b|0;if(!a)a=0;else a=LT(a,b,0)|0;return a|0}function LT(b,d,e){b=b|0;d=d|0;e=e|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(!(c[c[(MT()|0)+188>>2]>>2]|0))if((d&-128|0)==57216){a[b>>0]=d;b=1;break}else{c[(XS()|0)>>2]=84;b=-1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{c[(XS()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function MT(){return NT()|0}function NT(){return 113812}function OT(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(PT(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){j=e+20|0;i=c[j>>2]|0;f=i;if((g-i|0)>>>0>>0){f=id[c[e+36>>2]&15](e,b,d)|0;break}b:do if((a[e+75>>0]|0)<0|(d|0)==0){h=0;g=b}else{i=d;while(1){g=i+-1|0;if((a[b+g>>0]|0)==10)break;if(!g){h=0;g=b;break b}else i=g}f=id[c[e+36>>2]&15](e,b,i)|0;if(f>>>0>>0)break a;h=i;g=b+i|0;d=d-i|0;f=c[j>>2]|0}while(0);YW(f|0,g|0,d|0)|0;c[j>>2]=(c[j>>2]|0)+d;f=h+d|0}while(0);return f|0}function PT(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;e=c[b+44>>2]|0;c[b+28>>2]=e;c[b+20>>2]=e;c[b+16>>2]=e+(c[b+48>>2]|0);b=0}else{c[b>>2]=d|32;b=-1}return b|0}function QT(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;L(c[h+4>>2]|0);return b|0}function RT(a,b){a=+a;b=b|0;var d=0,e=0,f=0;g[h>>3]=a;d=c[h>>2]|0;e=c[h+4>>2]|0;f=TW(d|0,e|0,52)|0;M()|0;switch(f&2047){case 0:{if(a!=0.0){a=+RT(a*18446744073709551616.0,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=(f&2047)+-1022;c[h>>2]=d;c[h+4>>2]=e&-2146435073|1071644672;a=+g[h>>3]}}return +a}function ST(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;YW(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function TT(a){a=a|0;var b=0,d=0;b=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);d=b;c[d>>2]=YS(a)|0;a=La(6,d|0)|0;a=WS((a|0)==-4?0:a)|0;$c=b;return a|0}function UT(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=$c;$c=$c+192|0;if(($c|0)>=(ad|0))N(192);i=r+168|0;h=r+152|0;q=r+136|0;p=r+120|0;o=r+112|0;l=r+96|0;k=r+80|0;f=r+64|0;m=r+48|0;g=r+32|0;e=r+16|0;s=r;j=r+184|0;c[s>>2]=d;d=(c[s>>2]|0)+(4-1)&~(4-1);n=c[d>>2]|0;c[s>>2]=d+4;n=(b|0)==4?n|32768:n;a:do switch(b|0){case 14:{c[e>>2]=a;c[e+4>>2]=14;c[e+8>>2]=n;d=WS(Ha(221,e|0)|0)|0;break}case 9:{c[g>>2]=a;c[g+4>>2]=16;c[g+8>>2]=j;d=Ha(221,g|0)|0;switch(d|0){case -22:{c[m>>2]=a;c[m+4>>2]=9;c[m+8>>2]=n;d=Ha(221,m|0)|0;break}case 0:{d=c[j+4>>2]|0;d=(c[j>>2]|0)==2?0-d|0:d;break}default:d=WS(d)|0}break}case 1030:{c[f>>2]=a;c[f+4>>2]=1030;c[f+8>>2]=n;d=Ha(221,f|0)|0;if((d|0)!=-22){if((d|0)>-1){c[k>>2]=d;c[k+4>>2]=2;c[k+8>>2]=1;Ha(221,k|0)|0}d=WS(d)|0;break a}c[l>>2]=a;c[l+4>>2]=1030;c[l+8>>2]=0;d=Ha(221,l|0)|0;if((d|0)==-22){c[p>>2]=a;c[p+4>>2]=0;c[p+8>>2]=n;d=Ha(221,p|0)|0;if((d|0)>-1){c[q>>2]=d;c[q+4>>2]=2;c[q+8>>2]=1;Ha(221,q|0)|0}d=WS(d)|0;break a}else{if((d|0)>-1){c[o>>2]=d;La(6,o|0)|0}d=WS(-22)|0;break a}}case 15:case 16:case 12:case 13:{c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=n;d=WS(Ha(221,h|0)|0)|0;break}default:{c[i>>2]=a;c[i+4>>2]=b;c[i+8>>2]=n;d=WS(Ha(221,i|0)|0)|0}}while(0);$c=r;return d|0}function VT(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);g=h+32|0;f=h+16|0;e=h;if(!(b&4194368))e=0;else{c[e>>2]=d;i=(c[e>>2]|0)+(4-1)&~(4-1);d=c[i>>2]|0;c[e>>2]=i+4;e=d}c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=e;e=Ja(5,f|0)|0;if(!((b&524288|0)==0|(e|0)<0)){c[g>>2]=e;c[g+4>>2]=2;c[g+8>>2]=1;Ha(221,g|0)|0}i=WS(e)|0;$c=h;return i|0}function WT(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;switch(e|0){case 0:{l=-149;m=24;j=4;break}case 1:{l=-1074;m=53;j=4;break}case 2:{l=-1074;m=53;j=4;break}default:g=0.0}a:do if((j|0)==4){o=b+4|0;n=b+104|0;do{e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=bT(b)|0}while((cT(e)|0)!=0);b:do switch(e|0){case 43:case 45:{i=1-(((e|0)==45&1)<<1)|0;e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;h=d[e>>0]|0;break b}else{h=bT(b)|0;break b}}default:{h=e;i=1}}while(0);e=0;while(1){if((h|32|0)!=(a[180603+e>>0]|0))break;do if(e>>>0<7){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0;break}else{h=bT(b)|0;break}}while(0);e=e+1|0;if(e>>>0>=8){e=8;break}}c:do switch(e&2147483647|0){case 8:break;case 3:{j=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{j=23;break c}d:do if(!e){e=0;while(1){if((h|32|0)!=(a[180612+e>>0]|0))break d;do if(e>>>0<2){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0;break}else{h=bT(b)|0;break}}while(0);e=e+1|0;if(e>>>0>=3){e=3;break}}}while(0);switch(e|0){case 3:{e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=bT(b)|0;if((e|0)!=40){if(!(c[n>>2]|0)){g=r;break a}c[o>>2]=(c[o>>2]|0)+-1;g=r;break a}e=1;while(1){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0}else h=bT(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=r;break a}h=(c[n>>2]|0)==0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if(!k){c[(XS()|0)>>2]=22;$S(b,0,0);g=0.0;break a}if(!e){g=r;break a}while(1){e=e+-1|0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if(!e){g=r;break a}}}case 0:{if((h|0)==48){e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=bT(b)|0;if((e|32|0)==120){g=+XT(b,m,l,i,f);break a}if(!(c[n>>2]|0))e=48;else{c[o>>2]=(c[o>>2]|0)+-1;e=48}}else e=h;g=+YT(b,e,m,l,i,f);break a}default:{if(c[n>>2]|0)c[o>>2]=(c[o>>2]|0)+-1;c[(XS()|0)>>2]=22;$S(b,0,0);g=0.0;break a}}}}while(0);if((j|0)==23){h=(c[n>>2]|0)==0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[o>>2]=(c[o>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(i|0)*s}while(0);return +g}function XT(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0.0,i=0,j=0,k=0.0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=a+4|0;i=c[y>>2]|0;x=a+104|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=bT(a)|0;j=0;a:while(1){switch(i|0){case 46:{w=10;break a}case 48:break;default:{p=0;m=j;l=0;j=0;break a}}i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=bT(a)|0;j=1}if((w|0)==10){i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=bT(a)|0;if((i|0)==48){l=0;j=0;do{i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=bT(a)|0;l=JW(l|0,j|0,-1,-1)|0;j=M()|0}while((i|0)==48);p=1;m=1}else{p=1;m=j;l=0;j=0}}o=0;n=1.0;h=0.0;v=0;s=p;t=m;u=0;m=0;while(1){q=i+-48|0;p=i|32;if(q>>>0>=10){r=(i|0)==46;if(!(r|(p+-97|0)>>>0<6))break;if(r)if(!s){s=1;k=n;q=v;r=t;l=m;j=u;p=u}else{i=46;break}else w=24}else w=24;if((w|0)==24){w=0;i=(i|0)>57?p+-87|0:q;do if(!((u|0)<0|(u|0)==0&m>>>0<8))if((u|0)<0|(u|0)==0&m>>>0<14){n=n*.0625;k=n;h=h+n*+(i|0);i=v;break}else{i=(o|0)!=0|(i|0)==0;o=i?o:1;k=n;h=i?h:h+n*.5;i=v;break}else{k=n;i=i+(v<<4)|0}while(0);m=JW(m|0,u|0,1,0)|0;q=i;r=1;p=M()|0}i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=bT(a)|0;n=k;v=q;t=r;u=p}do if(!t){i=(c[x>>2]|0)==0;if(!i)c[y>>2]=(c[y>>2]|0)+-1;if(g){if(!i?(c[y>>2]=(c[y>>2]|0)+-1,!((s|0)==0|i)):0)c[y>>2]=(c[y>>2]|0)+-1}else $S(a,0,0);h=+(f|0)*0.0}else{o=(s|0)==0;p=o?m:l;o=o?u:j;if((u|0)<0|(u|0)==0&m>>>0<8){j=v;l=u;do{j=j<<4;w=m;m=JW(m|0,l|0,1,0)|0;v=l;l=M()|0}while((v|0)<0|(v|0)==0&w>>>0<7);m=j}else m=v;if((i|32|0)==112){j=ZT(a,g)|0;i=M()|0;if((j|0)==0&(i|0)==-2147483648){if(!g){$S(a,0,0);h=0.0;break}if(!(c[x>>2]|0)){j=0;i=0}else{c[y>>2]=(c[y>>2]|0)+-1;j=0;i=0}}}else if(!(c[x>>2]|0)){j=0;i=0}else{c[y>>2]=(c[y>>2]|0)+-1;j=0;i=0}l=UW(p|0,o|0,2)|0;l=JW(l|0,M()|0,-32,-1)|0;l=JW(l|0,M()|0,j|0,i|0)|0;i=M()|0;if(!m){h=+(f|0)*0.0;break}y=0-e|0;g=((y|0)<0)<<31>>31;if((i|0)>(g|0)|(i|0)==(g|0)&l>>>0>y>>>0){c[(XS()|0)>>2]=34;h=+(f|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}y=e+-106|0;g=((y|0)<0)<<31>>31;if((i|0)<(g|0)|(i|0)==(g|0)&l>>>0>>0){c[(XS()|0)>>2]=34;h=+(f|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((m|0)>-1){j=m;do{y=!(h>=.5);j=j<<1|(y^1)&1;h=h+(y?h:h+-1.0);l=JW(l|0,i|0,-1,-1)|0;i=M()|0}while((j|0)>-1);n=h;m=j}else n=h;y=((b|0)<0)<<31>>31;e=KW(32,0,e|0,((e|0)<0)<<31>>31|0)|0;i=JW(e|0,M()|0,l|0,i|0)|0;e=M()|0;if((e|0)<(y|0)|(e|0)==(y|0)&i>>>0>>0)if((i|0)>0)w=65;else{j=0;i=84;w=67}else{i=b;w=65}if((w|0)==65)if((i|0)<53){j=i;i=84-i|0;w=67}else{k=0.0;h=+(f|0)}if((w|0)==67){h=+(f|0);k=+$T(+_T(1.0,i),h);i=j}f=(m&1|0)==0&(n!=0.0&(i|0)<32);h=(f?0.0:n)*h+(k+h*+((m+(f&1)|0)>>>0))-k;if(!(h!=0.0))c[(XS()|0)>>2]=34;h=+bU(h,l)}while(0);return +h}function YT(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0.0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0,t=0.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,I=0.0;G=$c;$c=$c+512|0;if(($c|0)>=(ad|0))N(512);D=G;E=f+e|0;F=0-E|0;C=a+4|0;B=a+104|0;j=0;a:while(1){switch(b|0){case 46:{z=7;break a}case 48:break;default:{v=0;p=j;j=0;o=0;break a}}b=c[C>>2]|0;if(b>>>0<(c[B>>2]|0)>>>0){c[C>>2]=b+1;b=d[b>>0]|0}else b=bT(a)|0;j=1}if((z|0)==7){b=c[C>>2]|0;if(b>>>0<(c[B>>2]|0)>>>0){c[C>>2]=b+1;b=d[b>>0]|0}else b=bT(a)|0;if((b|0)==48){j=0;b=0;while(1){j=JW(j|0,b|0,-1,-1)|0;o=M()|0;b=c[C>>2]|0;if(b>>>0<(c[B>>2]|0)>>>0){c[C>>2]=b+1;b=d[b>>0]|0}else b=bT(a)|0;if((b|0)==48)b=o;else{v=1;p=1;break}}}else{v=1;p=j;j=0;o=0}}c[D>>2]=0;n=b+-48|0;m=(b|0)==46;b:do if(m|n>>>0<10){A=D+496|0;w=0;l=0;s=0;x=v;y=p;z=n;p=0;n=0;c:while(1){do if(m)if(!x){x=1;j=p;o=n}else break c;else{p=JW(p|0,n|0,1,0)|0;n=M()|0;v=(b|0)!=48;if((l|0)>=125){if(!v)break;c[A>>2]=c[A>>2]|1;break}m=D+(l<<2)|0;if(!w)b=z;else b=b+-48+((c[m>>2]|0)*10|0)|0;c[m>>2]=b;w=w+1|0;y=(w|0)==9;w=y?0:w;l=l+(y&1)|0;s=v?p:s;y=1}while(0);b=c[C>>2]|0;if(b>>>0<(c[B>>2]|0)>>>0){c[C>>2]=b+1;b=d[b>>0]|0}else b=bT(a)|0;z=b+-48|0;m=(b|0)==46;if(!(m|z>>>0<10)){v=x;m=y;z=31;break b}}b=w;m=(y|0)!=0;z=39}else{w=0;l=0;s=0;m=p;p=0;n=0;z=31}while(0);do if((z|0)==31){A=(v|0)==0;j=A?p:j;o=A?n:o;m=(m|0)!=0;if(!(m&(b|32|0)==101))if((b|0)>-1){b=w;z=39;break}else{b=w;z=41;break}m=ZT(a,h)|0;b=M()|0;if((m|0)==0&(b|0)==-2147483648){if(!h){$S(a,0,0);i=0.0;break}if(!(c[B>>2]|0)){m=0;b=0}else{c[C>>2]=(c[C>>2]|0)+-1;m=0;b=0}}j=JW(m|0,b|0,j|0,o|0)|0;b=w;o=M()|0;z=43}while(0);if((z|0)==39)if(c[B>>2]|0){c[C>>2]=(c[C>>2]|0)+-1;if(m)z=43;else z=42}else z=41;if((z|0)==41)if(m)z=43;else z=42;do if((z|0)==42){c[(XS()|0)>>2]=22;$S(a,0,0);i=0.0}else if((z|0)==43){m=c[D>>2]|0;if(!m){i=+(g|0)*0.0;break}if(((n|0)<0|(n|0)==0&p>>>0<10)&((j|0)==(p|0)&(o|0)==(n|0))?(e|0)>30|(m>>>e|0)==0:0){i=+(g|0)*+(m>>>0);break}a=(f|0)/-2|0;C=((a|0)<0)<<31>>31;if((o|0)>(C|0)|(o|0)==(C|0)&j>>>0>a>>>0){c[(XS()|0)>>2]=34;i=+(g|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}a=f+-106|0;C=((a|0)<0)<<31>>31;if((o|0)<(C|0)|(o|0)==(C|0)&j>>>0>>0){c[(XS()|0)>>2]=34;i=+(g|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(b){if((b|0)<9){n=D+(l<<2)|0;m=c[n>>2]|0;while(1){m=m*10|0;if((b|0)>=8)break;else b=b+1|0}c[n>>2]=m}l=l+1|0}if((s|0)<9?(s|0)<=(j|0)&(j|0)<18:0){if((j|0)==9){i=+(g|0)*+((c[D>>2]|0)>>>0);break}if((j|0)<9){i=+(g|0)*+((c[D>>2]|0)>>>0)/+(c[1024+(8-j<<2)>>2]|0);break}a=e+27+(H(j,-3)|0)|0;b=c[D>>2]|0;if((a|0)>30|(b>>>a|0)==0){i=+(g|0)*+(b>>>0)*+(c[1024+(j+-10<<2)>>2]|0);break}}b=(j|0)%9|0;if(!b)m=0;else{s=(j|0)>-1?b:b+9|0;o=c[1024+(8-s<<2)>>2]|0;if(l){p=1e9/(o|0)|0;n=0;m=0;b=0;do{B=D+(b<<2)|0;C=c[B>>2]|0;a=(C>>>0)/(o>>>0)|0;C=C-(H(a,o)|0)|0;a=a+n|0;c[B>>2]=a;n=H(p,C)|0;a=(b|0)==(m|0)&(a|0)==0;j=a?j+-9|0:j;m=a?m+1&127:m;b=b+1|0}while((b|0)!=(l|0));if(!n)b=l;else{c[D+(l<<2)>>2]=n;b=l+1|0}}else{m=0;b=0}l=b;j=9-s+j|0}b=0;d:while(1){v=(j|0)<18;w=(j|0)==18;x=D+(m<<2)|0;while(1){if(!v){if(!w)break d;if((c[x>>2]|0)>>>0>=9007199){j=18;break d}}n=0;y=l;l=l+127|0;while(1){p=l&127;o=D+(p<<2)|0;l=UW(c[o>>2]|0,0,29)|0;l=JW(l|0,M()|0,n|0,0)|0;n=M()|0;if(n>>>0>0|(n|0)==0&l>>>0>1e9){s=RW(l|0,n|0,1e9,0)|0;a=PW(s|0,M()|0,1e9,0)|0;l=KW(l|0,n|0,a|0,M()|0)|0;M()|0}else s=0;c[o>>2]=l;a=(p|0)==(m|0);o=(p|0)!=(y+127&127|0)|a?y:(l|0)==0?p:y;if(a)break;else{n=s;y=o;l=p+-1|0}}b=b+-29|0;if(!s)l=y;else break}m=m+127&127;l=o+127&127;n=D+((o+126&127)<<2)|0;if((m|0)==(o|0))c[n>>2]=c[n>>2]|c[D+(l<<2)>>2];else l=y;c[D+(m<<2)>>2]=s;j=j+9|0}e:while(1){w=l+1&127;x=D+((l+127&127)<<2)|0;while(1){p=(j|0)==18;v=(j|0)>27?9:1;y=m;while(1){o=0;while(1){m=o+y&127;if((m|0)==(l|0)){z=92;break}m=c[D+(m<<2)>>2]|0;n=c[114056+(o<<2)>>2]|0;if(m>>>0>>0){z=92;break}if(m>>>0>n>>>0)break;if((o+1|0)>>>0<2)o=1;else{z=92;break}}if((z|0)==92?(z=0,p):0)break e;b=v+b|0;if((y|0)==(l|0))y=l;else break}p=(1<>>v;o=0;m=y;n=y;do{B=D+(n<<2)|0;C=c[B>>2]|0;a=(C>>>v)+o|0;c[B>>2]=a;o=H(C&p,s)|0;a=(n|0)==(m|0)&(a|0)==0;j=a?j+-9|0:j;m=a?m+1&127:m;n=n+1&127}while((n|0)!=(l|0));if(o|0){if((w|0)!=(m|0))break;c[x>>2]=c[x>>2]|1}}c[D+(l<<2)>>2]=o;l=w}i=0.0;j=l;m=0;do{n=m+y&127;l=j+1&127;if((n|0)==(j|0)){c[D+(l+-1<<2)>>2]=0;j=l}i=i*1.0e9+ +((c[D+(n<<2)>>2]|0)>>>0);m=m+1|0}while((m|0)!=2);t=+(g|0);k=i*t;n=b+53|0;o=n-f|0;p=(o|0)<(e|0);m=p?((o|0)>0?o:0):e;if((m|0)<53){I=+$T(+_T(1.0,105-m|0),k);q=+aU(k,+_T(1.0,53-m|0));r=I;i=q;q=I+(k-q)}else{r=0.0;i=0.0;q=k}l=y+2&127;if((l|0)!=(j|0)){l=c[D+(l<<2)>>2]|0;do if(l>>>0>=5e8){if((l|0)!=5e8){i=t*.75+i;break}if((y+3&127|0)==(j|0)){i=t*.5+i;break}else{i=t*.75+i;break}}else{if((l|0)==0?(y+3&127|0)==(j|0):0)break;i=t*.25+i}while(0);if((53-m|0)>1?!(+aU(i,1.0)!=0.0):0)k=i+1.0;else k=i}else k=i;i=q+k-r;do if((n&2147483647|0)>(-2-E|0)){E=!(+u(+i)>=9007199254740992.0);b=b+((E^1)&1)|0;i=E?i:i*.5;if((b+50|0)<=(F|0)?!(k!=0.0&(p&((m|0)!=(o|0)|E))):0)break;c[(XS()|0)>>2]=34}while(0);i=+bU(i,b)}while(0);$c=G;return +i}function ZT(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=a+4|0;e=c[i>>2]|0;j=a+104|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;f=d[e>>0]|0}else f=bT(a)|0;switch(f|0){case 43:case 45:{g=(f|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=bT(a)|0;f=e+-48|0;if((b|0)!=0&f>>>0>9)if(!(c[j>>2]|0)){f=0;e=-2147483648}else{c[i>>2]=(c[i>>2]|0)+-1;k=14}else k=12;break}default:{g=0;e=f;f=f+-48|0;k=12}}if((k|0)==12)if(f>>>0>9)k=14;else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=bT(a)|0;b=e+-48|0}while(b>>>0<10&(f|0)<214748364);h=((f|0)<0)<<31>>31;if(b>>>0<10){do{l=PW(f|0,h|0,10,0)|0;b=M()|0;e=JW(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=JW(e|0,M()|0,l|0,b|0)|0;h=M()|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=bT(a)|0;b=e+-48|0}while(b>>>0<10&((h|0)<21474836|(h|0)==21474836&f>>>0<2061584302));if(b>>>0<10){do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=bT(a)|0}while((e+-48|0)>>>0<10);e=h}else e=h}else e=h;if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;j=(g|0)==0;i=KW(0,0,f|0,e|0)|0;l=M()|0;f=j?f:i;e=j?e:l}if((k|0)==14)if(!(c[j>>2]|0)){f=0;e=-2147483648}else{c[i>>2]=(c[i>>2]|0)+-1;f=0;e=-2147483648}L(e|0);return f|0}function _T(a,b){a=+a;b=b|0;var d=0,e=0;if((b|0)<=1023){if((b|0)<-1022){a=a*2.2250738585072014e-308;e=(b|0)<-2044;d=b+2044|0;a=e?a*2.2250738585072014e-308:a;b=e?((d|0)>-1022?d:-1022):b+1022|0}}else{a=a*8988465674311579538646525.0e283;d=(b|0)>2046;e=b+-2046|0;a=d?a*8988465674311579538646525.0e283:a;b=d?((e|0)<1023?e:1023):b+-1023|0}d=UW(b+1023|0,0,52)|0;e=M()|0;c[h>>2]=d;c[h+4>>2]=e;return +(a*+g[h>>3])}function $T(a,b){a=+a;b=+b;return +(+kT(a,b))}function aU(a,b){a=+a;b=+b;return +(+cU(a,b))}function bU(a,b){a=+a;b=b|0;return +(+_T(a,b))}function cU(a,b){a=+a;b=+b;var d=0,e=0,f=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g[h>>3]=a;j=c[h>>2]|0;l=c[h+4>>2]|0;g[h>>3]=b;n=c[h>>2]|0;o=c[h+4>>2]|0;e=TW(j|0,l|0,52)|0;M()|0;e=e&2047;m=TW(n|0,o|0,52)|0;M()|0;m=m&2047;p=l&-2147483648;i=UW(n|0,o|0,1)|0;k=M()|0;a:do if(!((i|0)==0&(k|0)==0)?(f=dU(b)|0,d=(M()|0)&2147483647,!((e|0)==2047|(d>>>0>2146435072|(d|0)==2146435072&f>>>0>0))):0){d=UW(j|0,l|0,1)|0;f=M()|0;if(!(f>>>0>k>>>0|(f|0)==(k|0)&d>>>0>i>>>0))return +((d|0)==(i|0)&(f|0)==(k|0)?a*0.0:a);if(!e){d=UW(j|0,l|0,12)|0;f=M()|0;if((f|0)>-1|(f|0)==-1&d>>>0>4294967295){e=0;do{e=e+-1|0;d=UW(d|0,f|0,1)|0;f=M()|0}while((f|0)>-1|(f|0)==-1&d>>>0>4294967295)}else e=0;j=UW(j|0,l|0,1-e|0)|0;i=M()|0}else i=l&1048575|1048576;if(!m){f=UW(n|0,o|0,12)|0;k=M()|0;if((k|0)>-1|(k|0)==-1&f>>>0>4294967295){d=0;do{d=d+-1|0;f=UW(f|0,k|0,1)|0;k=M()|0}while((k|0)>-1|(k|0)==-1&f>>>0>4294967295)}else d=0;n=UW(n|0,o|0,1-d|0)|0;m=d;l=M()|0}else l=o&1048575|1048576;f=KW(j|0,i|0,n|0,l|0)|0;d=M()|0;k=(d|0)>-1|(d|0)==-1&f>>>0>4294967295;b:do if((e|0)>(m|0)){while(1){if(k){if((f|0)==0&(d|0)==0)break}else{f=j;d=i}j=UW(f|0,d|0,1)|0;i=M()|0;e=e+-1|0;f=KW(j|0,i|0,n|0,l|0)|0;d=M()|0;k=(d|0)>-1|(d|0)==-1&f>>>0>4294967295;if((e|0)<=(m|0))break b}b=a*0.0;break a}while(0);if(k){if((f|0)==0&(d|0)==0){b=a*0.0;break}}else{d=i;f=j}if(d>>>0<1048576|(d|0)==1048576&f>>>0<0)do{f=UW(f|0,d|0,1)|0;d=M()|0;e=e+-1|0}while(d>>>0<1048576|(d|0)==1048576&f>>>0<0);if((e|0)>0){o=JW(f|0,d|0,0,-1048576)|0;d=M()|0;e=UW(e|0,0,52)|0;d=d|(M()|0);e=o|e}else{e=TW(f|0,d|0,1-e|0)|0;d=M()|0}c[h>>2]=e;c[h+4>>2]=d|p;b=+g[h>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function dU(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;L(c[h+4>>2]|0);return b|0}function eU(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=5;else{d=f;while(1){if(!(a[b>>0]|0)){b=d;break a}b=b+1|0;d=b;if(!(d&3)){e=5;break}}}while(0);if((e|0)==5){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function fU(b,c){b=b|0;c=c|0;b=gU(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function gU(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(eU(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=H(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function hU(a,b){a=a|0;b=b|0;var e=0;a=iU(a)|0;if(((a|0)!=-1?(e=iU(b)|0,(e|0)!=-1):0)?(d[1056+a>>0]|0)<=207:0)a=e<<16|a;else{c[(XS()|0)>>2]=22;a=-1}return a|0}function iU(b){b=b|0;var c=0,d=0,e=0;d=(a[b>>0]|0)==0?1056:b;b=1056;while(1){if(!(jU(d,b)|0)){e=3;break}b=b+((eU(b)|0)+1)|0;c=a[b>>0]|0;if(!(c<<24>>24)){c=a[b+1>>0]|0;if((c&255)>128)c=2;else c=(((128-(c&255)|0)>>>2)*5|0)+2|0;c=b+c|0;b=c;c=a[c>>0]|0}if(!(c<<24>>24)){b=-1;break}}if((e|0)==3){if(a[b>>0]|0)do b=b+((eU(b)|0)+1)|0;while((a[b>>0]|0)!=0);b=b+1-1056|0}return b|0}function jU(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=a[b>>0]|0;a:do if(!(d<<24>>24)){d=0;g=9}else while(1){f=a[c>>0]|0;if(!(f<<24>>24)){g=9;break a}e=d;d=d&255;while(1){if(!((d+-48|0)>>>0>10&((d|32)+-97|0)>>>0>26)){d=e;break}b=b+1|0;d=a[b>>0]|0;if(!(d<<24>>24)){d=0;break}else{e=d;d=d&255}}if((d|32)<<24>>24!=f<<24>>24){d=1;break a}b=b+1|0;c=c+1|0;d=a[b>>0]|0;if(!(d<<24>>24)){d=0;g=9;break}}while(0);if((g|0)==9)d=d<<24>>24!=(a[c>>0]|0)&1;return d|0}function kU(a){a=a|0;return 0}function lU(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;l=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);h=l;j=(g|0)==0?185320:g;g=c[j>>2]|0;a:do if(!e)if(!g)g=0;else k=19;else{i=(b|0)==0?h:b;if(!f)g=-2;else{if(!g){g=a[e>>0]|0;if(g<<24>>24>-1){c[i>>2]=g&255;g=g<<24>>24!=0&1;break}h=(c[c[(mU()|0)+188>>2]>>2]|0)==0;g=a[e>>0]|0;if(h){c[i>>2]=g<<24>>24&57343;g=1;break}g=(g&255)+-194|0;if(g>>>0>50){k=19;break}g=c[64+(g<<2)>>2]|0;h=f+-1|0;if(h){e=e+1|0;k=11}}else{h=f;k=11}b:do if((k|0)==11){b=d[e>>0]|0;m=b>>>3;if((m+-16|m+(g>>26))>>>0>7){k=19;break a}g=b+-128|g<<6;b=h+-1|0;if((g|0)<0)do{e=e+1|0;if(!b)break b;h=a[e>>0]|0;if((h&-64)<<24>>24!=-128){k=19;break a}g=(h&255)+-128|g<<6;b=b+-1|0}while((g|0)<0);c[j>>2]=0;c[i>>2]=g;g=f-b|0;break a}while(0);c[j>>2]=g;g=-2}}while(0);if((k|0)==19){c[j>>2]=0;c[(XS()|0)>>2]=84;g=-1}$c=l;return g|0}function mU(){return NT()|0}function nU(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);g=f;c[g>>2]=e;e=uT(a,b,d,g)|0;$c=f;return e|0}function oU(a,b){a=a|0;b=b|0;pU(a,b)|0;return a|0}function pU(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break;else f=b}}f=10}else f=10;while(0);if((f|0)==10){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function qU(a){a=+a;var b=0,d=0,e=0,f=0.0,i=0.0;g[h>>3]=a;b=c[h+4>>2]|0;d=b&2147483647;do if(d>>>0>1083174911){b=(b|0)>-1|(b|0)==-1&(c[h>>2]|0)>>>0>4294967295;if(b&d>>>0>1083179007){a=a*8988465674311579538646525.0e283;break}if(d>>>0<=2146435071)if(!(a<=-1075.0)|b){e=9;break}else{a=0.0;break}else{a=-1.0/a;break}}else if(d>>>0<1016070144)a=a+1.0;else e=9;while(0);if((e|0)==9){i=a+26388279066624.0;g[h>>3]=i;e=(c[h>>2]|0)+128|0;d=e<<1&510;f=+g[5424+(d<<3)>>3];a=a-(i+-26388279066624.0)-+g[5424+((d|1)<<3)>>3];a=+_T(f+f*a*(a*(a*(a*(a*1.3333559164630223e-03+.009618129842126066)+.0555041086648214)+.2402265069591)+.6931471805599453),(e&-256|0)/256|0)}return +a}function rU(a){a=+a;a=+sU(a);L((+u(a)>=1.0?(a>0.0?~~+I(+t(a/4294967296.0),4294967295.0)>>>0:~~+G((a-+(~~a>>>0))/4294967296.0)>>>0):0)|0);return ~~a>>>0|0}function sU(a){a=+a;var b=0,d=0;g[h>>3]=a;b=c[h+4>>2]|0;d=b&2146435072;if(!(d>>>0>1126170624|(d|0)==1126170624&0>0)){b=(b|0)<0;a=b?a+-4503599627370496.0+4503599627370496.0:a+4503599627370496.0+-4503599627370496.0;if(a==0.0)a=b?-0.0:0.0}return +a}function tU(a){a=+a;var b=0,d=0;g[h>>3]=a;d=c[h+4>>2]|0;b=d&2147483647;c[h>>2]=c[h>>2];c[h+4>>2]=b;a=+g[h>>3];do if(b>>>0>1071748074)if(b>>>0>1077149696){a=1.0-0.0/a;break}else{a=1.0-2.0/(+nT(a*2.0)+2.0);break}else{if(b>>>0>1070618798){a=+nT(a*2.0);a=a/(a+2.0);break}if(b>>>0>1048575){a=+nT(a*-2.0);a=-a/(a+2.0)}}while(0);return +((d|0)<0?-a:a)}function uU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;d=WS(Ia(3,f|0)|0)|0;$c=e;return d|0}function vU(a,b){a=a|0;b=b|0;var c=0;c=eU(a)|0;return ((wU(a,1,c,b)|0)!=(c|0))<<31>>31|0}function wU(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=H(d,b)|0;d=(b|0)==0?0:d;if((c[e+76>>2]|0)>-1){g=(AT(e)|0)==0;a=OT(a,f,e)|0;if(!g)BT(e)}else a=OT(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function xU(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);j=l;k=e&255;a[j>>0]=k;g=b+16|0;h=c[g>>2]|0;if(!h)if(!(PT(b)|0)){h=c[g>>2]|0;i=4}else f=-1;else i=4;do if((i|0)==4){i=b+20|0;g=c[i>>2]|0;if(g>>>0>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[i>>2]=g+1;a[g>>0]=k;break}if((id[c[b+36>>2]&15](b,j,1)|0)==1)f=d[j>>0]|0;else f=-1}while(0);$c=l;return f|0}function yU(a){a=a|0;var b=0,c=0;b=(eU(a)|0)+1|0;c=XU(b)|0;if(!c)a=0;else a=YW(c|0,a|0,b|0)|0;return a|0}function zU(){Ca(185324);return 185332}function AU(){Ma(185324);return}function BU(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=CU(a)|0;break}d=(AT(a)|0)==0;b=CU(a)|0;if(!d)BT(a)}else{if(!(c[28452]|0))b=0;else b=BU(c[28452]|0)|0;a=c[(zU()|0)>>2]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=AT(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=CU(a)|0|b;if(d|0)BT(a);a=c[a+56>>2]|0}while((a|0)!=0);AU()}while(0);return b|0}function CU(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;h=a+28|0;if((c[b>>2]|0)>>>0>(c[h>>2]|0)>>>0?(id[c[a+36>>2]&15](a,0,0)|0,(c[b>>2]|0)==0):0)a=-1;else{d=a+4|0;e=c[d>>2]|0;f=a+8|0;g=c[f>>2]|0;if(e>>>0>>0){g=e-g|0;jd[c[a+40>>2]&3](a,g,((g|0)<0)<<31>>31,1)|0;M()|0}c[a+16>>2]=0;c[h>>2]=0;c[b>>2]=0;c[f>>2]=0;c[d>>2]=0;a=0}return a|0}function DU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=e;c[f>>2]=d;d=EU(a,b,f)|0;$c=e;return d|0}function EU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);f=e;_W(f|0,0,144)|0;c[f+32>>2]=12;c[f+44>>2]=a;c[f+76>>2]=-1;c[f+84>>2]=a;d=GU(f,b,d)|0;$c=e;return d|0}function FU(a,b,c){a=a|0;b=b|0;c=c|0;return KU(a,b,c)|0} +function pi(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0;ka=$c;$c=$c+128|0;if(($c|0)>=(ad|0))N(128);ga=ka;X=ka+116|0;Y=ka+112|0;_=ka+48|0;$=ka+16|0;ja=e+564|0;ea=c[ja>>2]|0;r=e+556|0;fa=c[r>>2]|0;h=c[e+560>>2]|0;q=e+704|0;f=c[q>>2]|0;if((f|0)!=0?(c[f>>2]|0)!=0:0){f=(c[f+72>>2]|0)+15>>4;f=(h|0)>(f|0)?f:h}else f=h;g=c[e+736>>2]|0;if((g|0)!=0?(c[g>>2]|0)!=0:0){ia=(c[g+72>>2]|0)+15>>4;ia=(f|0)>(ia|0)?ia:f}else ia=f;v=c[e+584>>2]|0;T=H(h,ea)|0;w=v+(T<<3)|0;T=w+(T<<3)|0;vi(e,X,Y);i=e+712|0;if(c[i>>2]|0)oi(c[e+708>>2]|0,ia+-1|0,0);U=H(ia,fa)|0;j=e+548|0;o=e+580|0;p=e+696|0;k=c[Y>>2]|0;l=c[X>>2]|0;V=e+680|0;m=e+720|0;W=e+688|0;h=0;f=0;while(1){if((h|0)>=(U|0))break;g=c[(c[j>>2]|0)+(h<<2)>>2]|0;S=(a[(c[o>>2]|0)+g>>0]&8)==0?8:(c[(c[p>>2]|0)+(g<<2)>>2]&7|0)==0?0:8;a[T+g>>0]=S;if((S|0)!=8){if((c[c[q>>2]>>2]|0)!=0?(n=c[i>>2]|0,(n|0)!=0):0){S=c[ja>>2]|0;S=H((H(k,(g|0)/(S|0)|0)|0)+((g|0)%(S|0)|0)|0,l)|0;R=c[V>>2]|0;b[R+(S<<2)>>1]=b[n+(S<<2)>>1]|0;b[R+(S<<2)+2>>1]=b[n+(S<<2)+2>>1]|0;S=g<<2;a[(c[W>>2]|0)+S>>0]=a[(c[m>>2]|0)+S>>0]|0}}else f=f+1|0;h=h+1|0}a:do if((f|0)>((fa|0)/2|0|0)?(c[(c[e>>2]|0)+572>>2]&1|0)!=0:0){f=0;j=0;b:while(1){if((j|0)>=(ia|0))break;k=H(j,ea)|0;l=(j|0)==0;m=j+1|0;n=(m|0)<(ia|0);o=j+-1|0;g=0;while(1){while(1){if((g|0)>=(fa|0)){j=m;continue b}h=g+k|0;if((a[T+h>>0]|0)==8)break;g=g+1|0}if((g|0)!=0?(s=T+(h+-1)|0,(a[s>>0]|0)==0):0){a[s>>0]=1;c[v+(f<<3)>>2]=g+-1;c[v+(f<<3)+4>>2]=j;f=f+1|0}if(!l?(t=T+(h-ea)|0,(a[t>>0]|0)==0):0){a[t>>0]=1;c[v+(f<<3)>>2]=g;c[v+(f<<3)+4>>2]=o;f=f+1|0}i=g+1|0;if((i|0)<(fa|0)?(u=T+(h+1)|0,(a[u>>0]|0)==0):0){a[u>>0]=1;c[v+(f<<3)>>2]=i;c[v+(f<<3)+4>>2]=j;f=f+1|0}if(!n){g=i;continue}h=T+(h+ea)|0;if(a[h>>0]|0){g=i;continue}a[h>>0]=1;c[v+(f<<3)>>2]=g;c[v+(f<<3)+4>>2]=m;g=i;f=f+1|0}}O=_+4|0;P=e+672|0;Q=e+608|0;R=e+612|0;S=e+800|0;M=e+804|0;L=f;while(1){f=1;K=0;g=1;while(1){if(!((K|0)<10&((K|0)<2|(f|0)!=0)))break;J=(K|0)>1;I=0;f=0;while(1){if((I|0)>=(L|0))break;E=c[v+(I<<3)>>2]|0;F=c[v+(I<<3)+4>>2]|0;G=(H(F,ea)|0)+E|0;c:do if(!((E^K^F)&1)){z=(E|0)>0;if(z)h=d[T+(G+-1)>>0]|0;else h=0;A=(E+1|0)<(fa|0);if(A)h=h|d[T+(G+1)>>0];y=(F|0)>0;if(y)h=h|d[T+(G-ea)>>0];x=(F+1|0)<(ia|0);if(x)h=h|d[T+(G+ea)>>0];if(!(J&(h&4|0)==0)){B=c[Y>>2]|0;D=(H(B,F)|0)+E|0;C=c[X>>2]|0;D=H(D,C)|0;if(z?(Z=G+-1|0,(d[T+Z>>0]|0)>1):0){e=c[V>>2]|0;g=D-C|0;c[_>>2]=b[e+(g<<2)>>1];c[O>>2]=b[e+(g<<2)+2>>1];c[$>>2]=a[(c[W>>2]|0)+(Z<<2)>>0];g=1}else g=0;do if(A){h=G+1|0;if((d[T+h>>0]|0)<=1)break;u=c[V>>2]|0;e=C+D|0;c[_+(g<<3)>>2]=b[u+(e<<2)>>1];c[_+(g<<3)+4>>2]=b[u+(e<<2)+2>>1];c[$+(g<<2)>>2]=a[(c[W>>2]|0)+(h<<2)>>0];g=g+1|0}while(0);do if(y){if((d[T+(G-ea)>>0]|0)<=1)break;u=c[V>>2]|0;e=D-(H(C,B)|0)|0;c[_+(g<<3)>>2]=b[u+(e<<2)>>1];c[_+(g<<3)+4>>2]=b[u+(e<<2)+2>>1];c[$+(g<<2)>>2]=a[(c[W>>2]|0)+(G-(c[ja>>2]|0)<<2)>>0];g=g+1|0}while(0);do if(x){if((d[T+(G+ea)>>0]|0)<=1){ha=73;break}u=c[V>>2]|0;e=(H(C,B)|0)+D|0;c[_+(g<<3)>>2]=b[u+(e<<2)>>1];c[_+(g<<3)+4>>2]=b[u+(e<<2)+2>>1];c[$+(g<<2)>>2]=a[(c[W>>2]|0)+((c[ja>>2]|0)+G<<2)>>0];g=g+1|0}else ha=73;while(0);if((ha|0)==73){ha=0;if(!g){g=0;break}}d:do if((g|0)>1){h=0;i=0;j=0;k=0;while(1){if((k|0)>=(g|0))break;j=(c[_+(k<<3)>>2]|0)+j|0;i=(c[_+(k<<3)+4>>2]|0)+i|0;e=c[$+(k<<2)>>2]|0;h=e+h|0;if(k|0?(e|0)!=(c[$+(k+-1<<2)>>2]|0):0)break d;k=k+1|0}c[_+(g<<3)>>2]=(j|0)/(k|0)|0;c[_+(g<<3)+4>>2]=(i|0)/(k|0)|0;c[$+(g<<2)>>2]=(h|0)/(k|0)|0;k=(g|0)>2;l=k?-99999:0;k=k?99999:0;p=k;q=l;n=k;o=l;m=0;while(1){if((m|0)==(g|0))break;e=c[_+(m<<3)>>2]|0;u=c[_+(m<<3)+4>>2]|0;t=c[$+(m<<2)>>2]|0;p=(p|0)>(t|0)?t:p;q=(q|0)>(t|0)?q:t;n=(n|0)>(u|0)?u:n;k=(k|0)>(e|0)?e:k;o=(o|0)>(u|0)?o:u;l=(l|0)>(e|0)?l:e;m=m+1|0}l=j-l-k|0;e=g+1|0;m=_+(e<<3)|0;c[m>>2]=l;j=i-o-n|0;k=_+(e<<3)+4|0;c[k>>2]=j;h=h-q-p|0;i=$+(e<<2)|0;c[i>>2]=h;if((g|0)==4){c[m>>2]=(l|0)/2|0;c[k>>2]=(j|0)/2|0;c[i>>2]=(h|0)/2|0}g=g+2|0}else g=1;while(0);c[$+(g<<2)>>2]=0;c[_+(g<<3)+4>>2]=0;c[_+(g<<3)>>2]=0;m=g+1|0;e=c[V>>2]|0;u=b[e+(D<<2)>>1]|0;e=b[e+(D<<2)+2>>1]|0;n=a[(c[W>>2]|0)+(G<<2)>>0]|0;c[_+(m<<3)>>2]=u;c[_+(m<<3)+4>>2]=e;c[$+(m<<2)>>2]=n;m=g+2|0;n=E<<4;o=F<<4;p=T+(G+-1)|0;q=T+(G+1)|0;r=T+(G-ea)|0;s=T+(G+ea)|0;t=0;g=1073741824;l=0;while(1){if((l|0)>=(m|0))break;k=c[P>>2]|0;j=k+32|0;k=(c[k>>2]|0)+n+(H(o,c[j>>2]|0)|0)|0;i=c[_+(l<<3)>>2]|0;c[Q>>2]=i;h=c[V>>2]|0;b[h+(D<<2)>>1]=i;i=c[_+(l<<3)+4>>2]|0;c[R>>2]=i;b[h+(D<<2)+2>>1]=i;h=c[$+(l<<2)>>2]|0;if((h|0)<0)h=t;else{ud[c[S>>2]&1](c[M>>2]|0,h,1,0,Q,E,F,0,0);e:do if(z){if((d[p>>0]|0)>1){h=0;i=0}else{i=0;break}while(1){if((h|0)==16)break e;la=H(c[j>>2]|0,h)|0;la=(d[k+(la+-1)>>0]|0)-(d[k+la>>0]|0)|0;h=h+1|0;i=((la|0)>-1?la:0-la|0)+i|0}}else i=0;while(0);f:do if(A){if((d[q>>0]|0)>1)h=0;else break;while(1){if((h|0)==16)break f;la=H(c[j>>2]|0,h)|0;la=(d[k+(la+15)>>0]|0)-(d[k+(la+16)>>0]|0)|0;h=h+1|0;i=((la|0)>-1?la:0-la|0)+i|0}}while(0);g:do if(y){if((d[r>>0]|0)>1)h=0;else break;while(1){if((h|0)==16)break g;la=(d[k+(h-(c[j>>2]|0))>>0]|0)-(d[k+h>>0]|0)|0;h=h+1|0;i=((la|0)>-1?la:0-la|0)+i|0}}while(0);h:do if(x){if((d[s>>0]|0)>1)h=0;else break;while(1){if((h|0)==16)break h;la=c[j>>2]|0;la=(d[k+((la*15|0)+h)>>0]|0)-(d[k+((la<<4)+h)>>0]|0)|0;h=h+1|0;i=((la|0)>-1?la:0-la|0)+i|0}}while(0);la=(i|0)>(g|0);h=la?t:l;g=la?g:i}t=h;l=l+1|0}i=c[_+(t<<3)>>2]|0;c[Q>>2]=i;j=c[_+(t<<3)+4>>2]|0;c[R>>2]=j;i=i&65535;j=j&65535;g=0;while(1){if((g|0)>=(C|0))break;k=g+D|0;h=0;while(1){if((h|0)==(C|0))break;A=c[V>>2]|0;la=(H(B,h)|0)+k|0;b[A+(la<<2)>>1]=i;b[A+(la<<2)+2>>1]=j;h=h+1|0}g=g+1|0}ud[c[S>>2]&1](c[M>>2]|0,c[$+(t<<2)>>2]|0,1,0,Q,E,F,0,0);do if((c[Q>>2]|0)==(u|0)){if((c[R>>2]|0)!=(e|0))break;a[T+G>>0]=2;g=0;break c}while(0);a[T+G>>0]=4;g=0;f=f+1|0}}while(0);I=I+1|0}K=K+1|0}if(!g){f=0;k=0}else break a;while(1){if((k|0)>=(L|0))break;i=c[v+(k<<3)>>2]|0;h=c[v+(k<<3)+4>>2]|0;j=(H(h,ea)|0)+i|0;g=T+j|0;if(a[g>>0]&14){a[g>>0]=8;if((i|0)>0?(aa=T+(j+-1)|0,(a[aa>>0]|0)==0):0){a[aa>>0]=1;c[w+(f<<3)>>2]=i+-1;c[w+(f<<3)+4>>2]=h;f=f+1|0}if((h|0)>0?(ba=T+(j-ea)|0,(a[ba>>0]|0)==0):0){a[ba>>0]=1;c[w+(f<<3)>>2]=i;c[w+(f<<3)+4>>2]=h+-1;f=f+1|0}g=i+1|0;if((g|0)<(fa|0)?(ca=T+(j+1)|0,(a[ca>>0]|0)==0):0){a[ca>>0]=1;c[w+(f<<3)>>2]=g;c[w+(f<<3)+4>>2]=h;f=f+1|0}g=h+1|0;if((g|0)<(ia|0)?(da=T+(j+ea)|0,(a[da>>0]|0)==0):0){a[da>>0]=1;c[w+(f<<3)>>2]=i;c[w+(f<<3)+4>>2]=g;f=f+1|0}}k=k+1|0}if((f|0)>(U|0))break;else{la=w;L=f;w=v;v=la}}c[ga>>2]=135611;c[ga+4>>2]=133230;c[ga+8>>2]=716;mf(0,0,164250,ga);ub()}else{k=e+608|0;l=e+612|0;m=e+800|0;i=e+804|0;h=0;while(1){if((h|0)<(ia|0))g=0;else break a;while(1){if((g|0)>=(c[r>>2]|0))break;j=(H(c[ja>>2]|0,h)|0)+g|0;f=c[q>>2]|0;if(!f)f=2;else f=c[f>>2]|0?1:2;if((c[(c[p>>2]|0)+(j<<2)>>2]&7|0)==0?a[(c[o>>2]|0)+j>>0]&8:0){c[k>>2]=0;c[l>>2]=0;ud[c[m>>2]&1](c[i>>2]|0,0,f,0,k,g,h,0,0)}g=g+1|0}h=h+1|0}}while(0);$c=ka;return}function qi(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,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;z=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);j=z;x=z+8|0;y=z+4|0;w=bh(h,g<<3)|0;c[x>>2]=w;v=bh(h,g<<4)|0;c[y>>2]=v;a:do if((v|0)!=0&(w|0)!=0){v=d+564|0;w=d+696|0;u=d+580|0;n=0;while(1){if((n|0)>=(g|0)){n=0;break}o=n>>i;p=H(n,h)|0;l=0;j=1024;d=-1;while(1){if((l|0)>=(f|0)){k=f;j=1024;d=-1;break}t=(H(c[v>>2]|0,o)|0)+(l>>i)|0;if((c[(c[w>>2]|0)+(t<<2)>>2]&7|0)!=0?(a[(c[u>>2]|0)+t>>0]&4)!=0:0)k=l+p|0;else{k=l+p|0;j=b[e+(k<<1)>>1]|0;d=l}b[(c[x>>2]|0)+(k<<3)+2>>1]=j;c[(c[y>>2]|0)+(k<<4)+4>>2]=(d|0)>-1?l-d|0:9999;l=l+1|0}while(1){m=k+-1|0;if((k|0)<=0)break;t=(H(c[v>>2]|0,o)|0)+(m>>i)|0;if((c[(c[w>>2]|0)+(t<<2)>>2]&7|0)!=0?(a[(c[u>>2]|0)+t>>0]&4)!=0:0){l=j;j=m+p|0}else{j=m+p|0;l=b[e+(j<<1)>>1]|0;d=m}b[(c[x>>2]|0)+(j<<3)>>1]=l;c[(c[y>>2]|0)+(j<<4)>>2]=(d|0)>-1?d-m|0:9999;k=m;j=l}n=n+1|0}while(1){if((n|0)>=(f|0)){k=0;break}o=n>>i;j=1024;d=-1;l=0;while(1){if((l|0)>=(g|0)){k=g;j=1024;d=-1;break}t=(H(c[v>>2]|0,l>>i)|0)+o|0;if((c[(c[w>>2]|0)+(t<<2)>>2]&7|0)!=0?(a[(c[u>>2]|0)+t>>0]&4)!=0:0)k=(H(l,h)|0)+n|0;else{k=(H(l,h)|0)+n|0;j=b[e+(k<<1)>>1]|0;d=l}b[(c[x>>2]|0)+(k<<3)+6>>1]=j;c[(c[y>>2]|0)+(k<<4)+12>>2]=(d|0)>-1?l-d|0:9999;l=l+1|0}while(1){m=k+-1|0;if((k|0)<=0)break;t=(H(c[v>>2]|0,m>>i)|0)+o|0;if((c[(c[w>>2]|0)+(t<<2)>>2]&7|0)!=0?(a[(c[u>>2]|0)+t>>0]&4)!=0:0){l=j;j=(H(m,h)|0)+n|0}else{j=(H(m,h)|0)+n|0;l=b[e+(j<<1)>>1]|0;d=m}b[(c[x>>2]|0)+(j<<3)+4>>1]=l;c[(c[y>>2]|0)+(j<<4)+8>>2]=(d|0)>-1?d-m|0:9999;k=m;j=l}n=n+1|0}while(1){if((k|0)>=(g|0))break a;l=k>>i;m=H(k,h)|0;d=0;while(1){if((d|0)>=(f|0))break;t=(H(c[v>>2]|0,l)|0)+(d>>i)|0;if((c[(c[w>>2]|0)+(t<<2)>>2]&120|0)==0?a[(c[u>>2]|0)+t>>0]&4:0){n=c[y>>2]|0;o=d+m|0;p=c[x>>2]|0;j=0;q=0;r=0;s=0;t=0;while(1){if((j|0)==4)break;A=c[n+(o<<4)+(j<<2)>>2]|0;A=268435456/((A>>>0>1?A:1)>>>0)|0;C=b[p+(o<<3)+(j<<1)>>1]|0;C=PW(C|0,((C|0)<0)<<31>>31|0,A|0,0)|0;C=JW(C|0,M()|0,q|0,r|0)|0;B=M()|0;A=JW(s|0,t|0,A|0,0)|0;j=j+1|0;q=C;r=B;s=A;t=M()|0}C=NW(s|0,t|0,2,0)|0;C=JW(C|0,M()|0,q|0,r|0)|0;C=NW(C|0,M()|0,s|0,t|0)|0;M()|0;b[e+(o<<1)>>1]=C}d=d+1|0}k=k+1|0}}else mf(c[d>>2]|0,16,135582,j);while(0);hf(x);hf(y);$c=z;return}function ri(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=d+-1|0;h=c+-1|0;c=1;while(1){if((c|0)>=(i|0)){c=1;break}g=H(c,e)|0;d=1;f=b[a+(g<<1)>>1]|0;while(1){if((d|0)>=(h|0))break;l=a+(d+g<<1)|0;j=b[l>>1]|0;k=d+1|0;b[l>>1]=((((j<<3)-f-(b[a+(k+g<<1)>>1]|0)|0)*10923|0)+32768|0)>>>16;d=k;f=j}c=c+1|0}while(1){if((c|0)>=(h|0))break;d=b[a+(c<<1)>>1]|0;f=1;while(1){if((f|0)>=(i|0))break;j=a+((H(f,e)|0)+c<<1)|0;k=b[j>>1]|0;l=f+1|0;b[j>>1]=((((k<<3)-d-(b[a+((H(l,e)|0)+c<<1)>>1]|0)|0)*10923|0)+32768|0)>>>16;d=k;f=l}c=c+1|0}return}function si(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=c[d+672>>2]|0;t=v+32|0;u=d+588|0;m=h<<1;n=i<<1;o=d+568|0;k=0;while(1){if((k|0)==4)break;q=k&1;r=k>>1;p=b[(c[u>>2]|0)+((H(c[o>>2]|0,r+n|0)|0)+(q|m)<<1)>>1]|0;p=p<<16>>16>0?((p<<16>>16<2040?p:2040)&65535)>>>3&255:0;q=q<<3;r=r<<3;l=0;while(1){if((l|0)==8)break;s=l+r|0;j=0;while(1){if((j|0)==8)break;a[e+(j+q+(H(c[t>>2]|0,s)|0))>>0]=p;j=j+1|0}l=l+1|0}k=k+1|0}k=(H(c[d+564>>2]|0,i)|0)+h|0;j=b[(c[d+592>>2]|0)+(k<<1)>>1]|0;k=b[(c[d+596>>2]|0)+(k<<1)>>1]|0;a:do if(g|0){m=j<<16>>16>0?((j<<16>>16<2040?j:2040)&65535)>>>3&255:0;n=v+36|0;e=k<<16>>16>0?((k<<16>>16<2040?k:2040)&65535)>>>3&255:0;l=v+40|0;k=0;while(1){if((k|0)==8)break a;else j=0;while(1){if((j|0)==8)break;a[f+((H(c[n>>2]|0,k)|0)+j)>>0]=m;a[g+((H(c[l>>2]|0,k)|0)+j)>>0]=e;j=j+1|0}k=k+1|0}}while(0);return}function ti(e,f,g,h,i,j){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0;P=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);M=P+4|0;I=P;vi(e,M,I);O=c[M>>2]>>j;c[M>>2]=O;M=H(c[I>>2]|0,O)|0;c[I>>2]=M;I=g+-1|0;J=e+580|0;K=e+564|0;L=e+696|0;C=e+680|0;B=0;while(1){if((B|0)>=(h|0))break;D=B>>j;E=H(B,i)|0;F=H(M,B)|0;g=0;a:while(1){if((g|0)>=(I|0))break;x=c[J>>2]|0;l=H(c[K>>2]|0,D)|0;k=l+(g>>j)|0;y=a[x+k>>0]|0;G=g+1|0;l=l+(G>>j)|0;x=a[x+l>>0]|0;m=c[L>>2]|0;o=g+E<<3;n=c[C>>2]|0;g=(H(O,g)|0)+F|0;e=(H(O,G)|0)+F|0;z=(y&14)!=0;A=(x&14)!=0;if(!((x|y)&14)){g=G;continue}if(((c[m+(k<<2)>>2]|c[m+(l<<2)>>2])&7|0)==0?(y=(b[n+(g<<2)>>1]|0)-(b[n+(e<<2)>>1]|0)|0,x=(b[n+(e<<2)+2>>1]|0)+(b[n+(g<<2)+2>>1]|0)|0,(((x|0)>-1?x:0-x|0)+((y|0)>-1?y:0-y|0)|0)<2):0){g=G;continue}r=o|7;s=o|6;t=o+8|0;u=o+9|0;y=z&A;v=o|5;w=o|4;x=o+10|0;l=o+11|0;e=0;while(1){if((e|0)==8){g=G;continue a}m=H(e,i)|0;n=f+(m+r)|0;o=d[n>>0]|0;p=f+(m+s)|0;R=o-(d[p>>0]|0)|0;q=f+(t+m)|0;g=d[q>>0]|0;Q=g-o|0;k=f+(u+m)|0;g=(d[k>>0]|0)-g|0;g=((Q|0)>-1?Q:0-Q|0)-(((R|0)>-1?R:0-R|0)+1+((g|0)>-1?g:0-g|0)>>1)|0;g=(g|0)>0?g:0;g=(Q|0)<0?0-g|0:g;if(g|0){g=y?g:(g<<4|0)/9|0;if(z){a[n>>0]=a[134284+((g*7>>4)+o)>>0]|0;a[p>>0]=a[134284+((g*5>>4)+(d[p>>0]|0))>>0]|0;R=f+(m+v)|0;a[R>>0]=a[134284+((g*3>>4)+(d[R>>0]|0))>>0]|0;R=f+(m+w)|0;a[R>>0]=a[134284+((g>>4)+(d[R>>0]|0))>>0]|0}if(A){a[q>>0]=a[134284+((d[q>>0]|0)-(g*7>>4))>>0]|0;a[k>>0]=a[134284+((d[k>>0]|0)-(g*5>>4))>>0]|0;R=f+(x+m)|0;a[R>>0]=a[134284+((d[R>>0]|0)-(g*3>>4))>>0]|0;R=f+(l+m)|0;a[R>>0]=a[134284+((d[R>>0]|0)-(g>>4))>>0]|0}}e=e+1|0}}B=B+1|0}$c=P;return}function ui(e,f,g,h,i,j){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;S=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);Q=S+4|0;L=S;vi(e,Q,L);R=c[Q>>2]>>j;c[Q>>2]=R;Q=H(c[L>>2]|0,R)|0;c[L>>2]=Q;L=h+-1|0;M=e+580|0;O=e+564|0;P=e+696|0;x=e+680|0;y=i*7|0;z=i*6|0;A=i<<3;B=i*9|0;C=i*5|0;D=i<<2;E=i*10|0;F=i*11|0;h=0;a:while(1){if((h|0)>=(L|0))break;G=h>>j;I=h+1|0;J=I>>j;K=H(h,i)|0;s=H(Q,h)|0;t=H(Q,I)|0;r=0;while(1){if((r|0)>=(g|0)){h=I;continue a}T=c[M>>2]|0;e=r>>j;k=c[O>>2]|0;h=(H(k,G)|0)+e|0;q=a[T+h>>0]|0;e=(H(k,J)|0)+e|0;T=a[T+e>>0]|0;k=c[P>>2]|0;u=r+K<<3;l=c[x>>2]|0;o=H(R,r)|0;m=o+s|0;n=l+(m<<2)|0;o=o+t|0;p=l+(o<<2)|0;v=(q&14)!=0;w=(T&14)!=0;b:do if((T|q)&14){if(((c[k+(h<<2)>>2]|c[k+(e<<2)>>2])&7|0)==0?(T=(b[n>>1]|0)-(b[p>>1]|0)|0,q=(b[l+(o<<2)+2>>1]|0)+(b[l+(m<<2)+2>>1]|0)|0,(((q|0)>-1?q:0-q|0)+((T|0)>-1?T:0-T|0)|0)<2):0)break;q=v&w;e=0;while(1){if((e|0)==8)break b;l=e+u|0;m=f+(l+y)|0;n=d[m>>0]|0;o=f+(l+z)|0;U=n-(d[o>>0]|0)|0;p=f+(l+A)|0;h=d[p>>0]|0;T=h-n|0;k=f+(l+B)|0;h=(d[k>>0]|0)-h|0;h=((T|0)>-1?T:0-T|0)-(((U|0)>-1?U:0-U|0)+1+((h|0)>-1?h:0-h|0)>>1)|0;h=(h|0)>0?h:0;h=(T|0)<0?0-h|0:h;if(h|0){h=q?h:(h<<4|0)/9|0;if(v){a[m>>0]=a[134284+((h*7>>4)+n)>>0]|0;a[o>>0]=a[134284+((h*5>>4)+(d[o>>0]|0))>>0]|0;U=f+(l+C)|0;a[U>>0]=a[134284+((h*3>>4)+(d[U>>0]|0))>>0]|0;U=f+(l+D)|0;a[U>>0]=a[134284+((h>>4)+(d[U>>0]|0))>>0]|0}if(w){a[p>>0]=a[134284+((d[p>>0]|0)-(h*7>>4))>>0]|0;a[k>>0]=a[134284+((d[k>>0]|0)-(h*5>>4))>>0]|0;U=f+(l+E)|0;a[U>>0]=a[134284+((d[U>>0]|0)-(h*3>>4))>>0]|0;U=f+(l+F)|0;a[U>>0]=a[134284+((d[U>>0]|0)-(h>>4))>>0]|0}}e=e+1|0}}while(0);r=r+1|0}}$c=S;return}function vi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=g;do if((c[(c[a>>2]|0)+16>>2]|0)==27)if(!(c[a+788>>2]|0)){c[f>>2]=135564;c[f+4>>2]=133230;c[f+8>>2]=47;mf(0,0,164250,f);ub()}else{c[b>>2]=4;e=c[a+556>>2]<<2;break}else{c[b>>2]=2;e=c[a+568>>2]|0}while(0);c[d>>2]=e;$c=g;return}function wi(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);h=i;e=a+8|0;f=c[e>>2]|0;g=c[a+16>>2]|0;a=(c[a>>2]|0)+(f>>>3)|0;a=(WW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(f&7);do if(a>>>0<=134217727){k=a>>>0>65535;j=k?a>>>16:a;k=k?16:0;b=(j&65280|0)==0;j=(b?k:k|8)+(d[120639+(b?j:j>>>8)>>0]|0)|0;b=j<<1;f=63-b+f|0;c[e>>2]=g>>>0>f>>>0?f:g;if(j>>>0<19){mf(0,16,155998,h);a=-1094995529;break}else{a=(a>>>(b+-31|0))+-1|0;break}}else{a=a>>>23;k=f+(d[126608+a>>0]|0)|0;c[e>>2]=g>>>0>k>>>0?k:g;a=d[127120+a>>0]|0}while(0);$c=i;return a|0}function xi(a){a=a|0;var b=0,e=0,f=0;b=a+8|0;f=c[b>>2]|0;e=c[a+16>>2]|0;a=(c[a>>2]|0)+(f>>>3)|0;a=(WW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(f&7)>>>23;f=f+(d[126608+a>>0]|0)|0;c[b>>2]=e>>>0>f>>>0?f:e;return d[127120+a>>0]|0|0}function yi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=e;c[f>>2]=d;Li(0,a,b,f);$c=e;return}function zi(a){a=a|0;var b=0,e=0,f=0;e=a+8|0;f=c[e>>2]|0;b=(d[(c[a>>2]|0)+(f>>>3)>>0]|0)<<(f&7)>>>7&1;c[e>>2]=f+((f|0)<(c[a+16>>2]|0)&1);return b|0}function Ai(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=a+8|0;g=c[e>>2]|0;f=c[a+16>>2]|0;a=(c[a>>2]|0)+(g>>>3)|0;a=(WW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(g&7)>>>(32-b|0);b=g+b|0;c[e>>2]=f>>>0>b>>>0?b:f;return a|0}function Bi(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+8|0;g=c[f>>2]|0;h=c[b+16>>2]|0;e=c[b>>2]|0;b=e+(g>>>3)|0;b=(WW(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24|0)|0)<<(g&7);if(b>>>0>134217727){b=b>>>23;g=g+(d[126608+b>>0]|0)|0;c[f>>2]=h>>>0>g>>>0?g:h;b=a[127632+b>>0]|0}else{j=b>>>0>65535;b=j?b>>>16:b;j=j?16:0;i=(b&65280|0)==0;b=(i?j:j|8)+(d[120639+(i?b:b>>>8)>>0]|0)|0;i=31-b+g|0;i=h>>>0>i>>>0?i:h;g=e+(i>>>3)|0;g=(WW(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24|0)|0)<<(i&7)>>>b;b=i+(32-b)|0;c[f>>2]=h>>>0>b>>>0?b:h;b=g&1;b=(g>>>1^0-b)+b|0}return b|0}function Ci(a){a=a|0;return c[a+8>>2]|0}function Di(a,b){a=a|0;b=b|0;var d=0;d=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);switch(c[a+4>>2]|0){case 66:case 77:case 88:{if(!(c[a+1196>>2]&7))a=1;else{mf(b,40,136254,d);a=0}break}default:a=1}$c=d;return a|0}function Ei(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;j=(e|0)!=0;if(j)h=0;else h=(c[b+668>>2]|0)!=0;i=h?b+768|0:135986;k=h?b+960|0:136050;if(!(zi(a)|0))return 0;l=Ki(a,f,16,136114,h?b+672|0:136114)|0;m=f+16|0;l=Ki(a,m,16,136114,f)|0|l;m=l|(Ki(a,f+32|0,16,136114,m)|0);l=f+48|0;m=m|(Ki(a,l,16,136130,h?b+720|0:136130)|0);h=f+64|0;l=m|(Ki(a,h,16,136130,l)|0);h=l|(Ki(a,f+80|0,16,136130,h)|0);if(!(!j?(c[d+64>>2]|0)==0:0)){h=Ki(a,g,64,135986,i)|0|h;f=g+192|0;h=h|(Ki(a,f,64,136050,k)|0);if((c[b+12>>2]|0)==3){m=g+64|0;l=Ki(a,m,64,135986,g)|0|h;h=g+256|0;l=l|(Ki(a,h,64,136050,f)|0);m=l|(Ki(a,g+128|0,64,135986,m)|0);h=m|(Ki(a,g+320|0,64,136050,h)|0)}}return ((h|0)==0?e:h)|0}function Fi(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=e+-8|0;h=f*6|0;g=h+51|0;h=h+52|0;e=0;while(1){if((e|0)>=(h|0))break;i=e+d|0;a[b+548+(c*88|0)+e>>0]=a[((i|0)<0?0:(i|0)>(g|0)?g:i)+(128503+(f*88|0))>>0]|0;e=e+1|0}return}function Gi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;Ii(a,b);f=a+173812|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;f=a+64|0;if(c[f>>2]|0)Ji(a,b);a:do if(c[b+16>>2]|0){d=0;while(1){if((d|0)==6)break;e=a+173788+(d<<2)|0;b=0;while(1){if((b|0)==16)break;c[(c[e>>2]|0)+(b<<2)>>2]=64;b=b+1|0}d=d+1|0}if(c[f>>2]|0){d=0;while(1){if((d|0)==6)break a;e=a+173812+(d<<2)|0;b=0;while(1){if((b|0)==64)break;c[(c[e>>2]|0)+(b<<2)>>2]=64;b=b+1|0}d=d+1|0}}}while(0);return}function Hi(a,b){a=a|0;b=b|0;Tf(a+128+(b<<2)|0);return}function Ii(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=((c[b+1184>>2]|0)*6|0)+4|0;h=0;while(1){if((h|0)==6)break;f=a+173788+(h<<2)|0;c[f>>2]=a+4828+(h*5632|0);b=a+68+(h<<4)|0;e=0;while(1){if((e|0)>=(h|0)){g=0;b=8;break}if(!(rT(a+68+(e<<4)|0,b,16)|0)){b=6;break}e=e+1|0}a:do if((b|0)==6)c[f>>2]=a+4828+(e*5632|0);else if((b|0)==8)while(1){if((g|0)>=(i|0))break a;e=(d[128415+g>>0]|0)+2|0;f=d[128327+g>>0]|0;b=0;while(1){if((b|0)==16)break;j=b>>2;c[a+4828+(h*5632|0)+(g<<6)+((b<<2&12|j)<<2)>>2]=(H(d[a+68+(h<<4)+b>>0]|0,d[(j&1)+(b&1)+(128257+(f*3|0))>>0]|0)|0)<>2]|0)*6|0)+4|0;h=0;while(1){if((h|0)==6)break;f=a+173812+(h<<2)|0;c[f>>2]=a+38620+(h*22528|0);b=a+164+(h<<6)|0;e=0;while(1){if((e|0)>=(h|0)){g=0;b=8;break}if(!(rT(a+164+(e<<6)|0,b,64)|0)){b=6;break}e=e+1|0}a:do if((b|0)==6)c[f>>2]=a+38620+(e*22528|0);else if((b|0)==8)while(1){if((g|0)>=(i|0))break a;e=d[128415+g>>0]|0;f=d[128327+g>>0]|0;b=0;while(1){if((b|0)==64)break;c[a+38620+(h*22528|0)+(g<<8)+((b<<3&56|b>>3)<<2)>>2]=(H(d[a+164+(h<<6)+b>>0]|0,d[(d[128275+(b>>>1&12|b&3)>>0]|0)+(128291+(f*6|0))>>0]|0)|0)<=(ad|0))N(16);l=m;k=(f|0)==16?136146:136163;a:do if(zi(b)|0){i=0;h=8;j=8;while(1){if((i|0)>=(f|0)){h=0;break a}if(!h)h=0;else{h=Bi(b)|0;if((h+128|0)>>>0>255){i=7;break}h=h+j&255}if(!(h|i)){i=9;break}n=h|0?h:j;a[e+(d[k+i>>0]|0)>>0]=n;i=i+1|0;j=n}if((i|0)==7){c[l>>2]=h;mf(0,16,136227,l);h=-1094995529;break}else if((i|0)==9){YW(e|0,g|0,f|0)|0;h=0;break}}else{YW(e|0,h|0,f|0)|0;h=0}while(0);$c=m;return h|0}function Li(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);nf(b,24,c,d);mf(b,24,136319,e);if(a|0)mf(b,24,136495,e+8|0);$c=e;return}function Mi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(b|0)!=0&d>>>0<2147483640;d=e?d:0;b=e?b:0;c[a>>2]=b;c[a+12>>2]=d;c[a+16>>2]=d+8;c[a+4>>2]=b+(d+7>>3);c[a+8>>2]=0;return (e?0:-1094995529)|0}function Ni(a){a=a|0;var b=0,d=0;b=a+8|0;a=c[a+16>>2]|0;d=(c[b>>2]|0)+2|0;c[b>>2]=a>>>0>d>>>0?d:a;return}function Oi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);k=l+24|0;i=l+16|0;h=l+8|0;f=l;do if(zi(a)|0){e=Ai(a,8)|0;if((e|0)==255){c[d+100>>2]=Ai(a,16)|0;c[d+104>>2]=Ai(a,16)|0;g=8;break}if(e>>>0<17){e=75140+(e<<3)|0;f=c[e+4>>2]|0;g=d+100|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;g=8;break}else{mf(b,16,137297,f);e=-1094995529;break}}else{c[d+104>>2]=0;c[d+100>>2]=0;g=8}while(0);do if((g|0)==8){if(zi(a)|0)zi(a)|0;g=zi(a)|0;c[d+108>>2]=g;if(g|0?(Ai(a,3)|0,c[d+112>>2]=zi(a)|0,g=zi(a)|0,c[d+116>>2]=g,g|0):0){e=d+120|0;c[e>>2]=Ai(a,8)|0;f=d+124|0;c[f>>2]=Ai(a,8)|0;g=d+128|0;c[g>>2]=Ai(a,8)|0;if(!(Ri(c[e>>2]|0)|0))c[e>>2]=2;if(!(Si(c[f>>2]|0)|0))c[f>>2]=2;if(!(Ti(c[g>>2]|0)|0))c[g>>2]=2}if(zi(a)|0){c[b+332>>2]=(wi(a)|0)+1;wi(a)|0}if(Ui(a)|0?(Pi(a)|0)<10:0){mf(b,24,137319,h);e=0;break}h=zi(a)|0;e=d+132|0;c[e>>2]=h;if(h|0){f=Vi(a,32)|0;g=Vi(a,32)|0;if((f|0)!=0&(g|0)!=0){c[d+136>>2]=f;c[d+140>>2]=g}else{c[i>>2]=g;c[i+4>>2]=f;mf(b,16,137334,i);c[e>>2]=0}c[d+144>>2]=zi(a)|0}i=zi(a)|0;e=d+1152|0;c[e>>2]=i;if(i|0?(Wi(a,b,d)|0)<0:0){e=-1094995529;break}i=zi(a)|0;f=d+1156|0;c[f>>2]=i;if(i|0?(Wi(a,b,d)|0)<0:0){e=-1094995529;break}if(!((c[e>>2]|0)==0?!(c[f>>2]|0):0))zi(a)|0;c[d+1160>>2]=zi(a)|0;if((Pi(a)|0)!=0?(i=zi(a)|0,j=d+660|0,c[j>>2]=i,(i|0)!=0):0){zi(a)|0;wi(a)|0;wi(a)|0;wi(a)|0;wi(a)|0;f=d+664|0;c[f>>2]=wi(a)|0;wi(a)|0;if((Pi(a)|0)<0){c[f>>2]=0;c[j>>2]=0;e=0;break}e=c[f>>2]|0;if(e>>>0>16){c[k>>2]=e;mf(b,16,137395,k);c[f>>2]=16;e=-1094995529}else e=0}else e=0}while(0);$c=l;return e|0}function Pi(a){a=a|0;var b=0;b=c[a+12>>2]|0;return b-(Ci(a)|0)|0}function Qi(a,b){a=a|0;b=b|0;Tf(a+(b<<2)|0);return}function Ri(a){a=a|0;if(a>>>0<23)a=c[72440+(a<<2)>>2]|0;else a=0;return a|0}function Si(a){a=a|0;if(a>>>0<19)a=c[72364+(a<<2)>>2]|0;else a=0;return a|0}function Ti(a){a=a|0;if(a>>>0<15)a=c[72304+(a<<2)>>2]|0;else a=0;return a|0}function Ui(a){a=a|0;return _i(a)|0}function Vi(a,b){a=a|0;b=b|0;var c=0;do if(b)if((b|0)<26){a=Ai(a,b)|0;break}else{b=b+-16|0;c=(Ai(a,16)|0)<=(ad|0))N(16);e=h;f=xi(a)|0;g=f+1|0;if(g>>>0>32){c[e>>2]=g;mf(b,16,137435,e);b=-1094995529}else{Ai(a,4)|0;Ai(a,4)|0;b=0;while(1){if((b|0)>(f|0))break;Xi(a);Xi(a);zi(a)|0;b=b+1|0}c[d+1172>>2]=(Ai(a,5)|0)+1;c[d+1176>>2]=(Ai(a,5)|0)+1;c[d+1180>>2]=(Ai(a,5)|0)+1;c[d+1164>>2]=Ai(a,5)|0;c[d+1168>>2]=g;b=0}$c=h;return b|0}function Xi(a){a=a|0;var b=0,c=0,e=0;e=Yi(a)|0;b=e>>>0>65535;e=b?e>>>16:e;b=b?16:0;c=(e&65280|0)==0;b=31-(d[120639+(c?e:e>>>8)>>0]|0)-(c?b:b|8)|0;Zi(a,b);Vi(a,b+1|0)|0;return}function Yi(a){a=a|0;var b=0,d=0;b=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);d=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[d+16>>2]=c[a+16>>2];a=Vi(d,32)|0;$c=b;return a|0}function Zi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+8|0;e=c[d>>2]|0;f=0-e|0;a=(c[a+16>>2]|0)-e|0;c[d>>2]=((f|0)>(b|0)?f:(a|0)<(b|0)?a:b)+e;return}function _i(a){a=a|0;var b=0;b=c[a+8>>2]|0;a=(c[a>>2]|0)+(b>>>3)|0;return (WW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(b&7)>>>31|0}function $i(a){a=a|0;var b=0;b=c[a+12>>2]|0;return b-(cj(a)|0)|0}function aj(a,b){a=a|0;b=b|0;var e=0;e=c[a+8>>2]|0;a=(c[a>>2]|0)+(e>>>3)|0;return (WW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(e&7)>>>(32-b|0)|0}function bj(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=a+8|0;g=c[e>>2]|0;f=c[a+16>>2]|0;a=(c[a>>2]|0)+(g>>>3)|0;a=(WW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(g&7)>>>(32-b|0);b=g+b|0;c[e>>2]=f>>>0>b>>>0?b:f;return a|0}function cj(a){a=a|0;return c[a+8>>2]|0}function dj(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);l=m+8|0;j=m;i=0;g=c[e+1164>>2]|0;while(1){h=(g|0)!=0;if((i|0)==32)break;if(!(h?(c[g+20>>2]|0)!=0:0)){h=c[e+(i<<2)>>2]|0;if(h)g=c[h+4>>2]|0}i=i+1|0}do if(h){if(!((c[g+1152>>2]|0)==0?!(c[g+1156>>2]|0):0)){c[a+16>>2]=tj(b,c[g+1176>>2]|0)|0;c[a+12>>2]=tj(b,c[g+1180>>2]|0)|0}if(c[g+1160>>2]|0){h=bj(b,4)|0;j=a+4|0;c[j>>2]=h;k=a+8|0;c[k>>2]=0;if(h>>>0>8){g=-1094995529;break}e=d[137950+h>>0]|0;h=g+1164|0;g=0;while(1){if((g|0)==(e|0))break;if(bj(b,1)|0){i=1<<(bj(b,2)|0);c[k>>2]=c[k>>2]|i;oj(b,1);oj(b,5);i=bj(b,1)|0;oj(b,1);oj(b,1);oj(b,8);if(!i){if((bj(b,1)|0?(oj(b,6),bj(b,1)|0):0)?(oj(b,6),bj(b,1)|0):0)oj(b,5)}else{oj(b,6);oj(b,6);oj(b,5)}i=c[h>>2]|0;if((i|0)>0)oj(b,i)}g=g+1|0}b=c[j>>2]|0;c[l>>2]=c[k>>2];c[l+4>>2]=b;mf(f,48,137959,l)}c[a>>2]=1;g=0}else{mf(f,16,137908,j);g=-1397768184}while(0);$c=m;return g|0}function ej(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;a:do if((c|0)<7)c=-1094995529;else{if((bj(b,8)|0)==255){oj(b,8);c=c+-8|0}else c=c+-7|0;oj(b,8);oj(b,8);d=tj(b,32)|0;b:do if((d|0)<1195456820){switch(d|0){case 1146373937:break;default:break b}c=vj(a+20|0,b,c)|0;break a}else{switch(d|0){case 1195456820:break;default:break b}c=wj(a+28|0,b,c)|0;break a}while(0);oj(b,c<<3);c=0}while(0);return c|0}function fj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);g=j;h=j+4|0;if((e+-16|0)>>>0<=2147483614){f=e+16|0;i=uf(e+17|0)|0;if(!i)e=-12;else{e=0;while(1){if((e|0)>=(f|0))break;a[i+e>>0]=bj(d,8)|0;e=e+1|0}a[i+e>>0]=0;f=i+16|0;c[g>>2]=h;d=(DU(f,137876,g)|0)==1;e=c[h>>2]|0;if(d&(e|0)>0)c[b>>2]=e;if(d&(e|0)==1?(sT(f,137891,16)|0)==0:0)c[b>>2]=67;jf(i);e=0}}else e=-1094995529;$c=j;return e|0}function gj(a,b){a=a|0;b=b|0;c[a>>2]=qj(b)|0;oj(b,4);return}function hj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);i=j;f=uj(b)|0;g=f>>>0>31;if(!g?(h=c[d+(f<<2)>>2]|0,(h|0)!=0):0){g=c[h+4>>2]|0;a:do if(c[g+1152>>2]|0){e=g+1168|0;f=g+1172|0;d=0;while(1){if((d|0)>=(c[e>>2]|0))break a;c[a+4+(d<<2)>>2]=tj(b,c[f>>2]|0)|0;oj(b,c[f>>2]|0);d=d+1|0}}while(0);b:do if(c[g+1156>>2]|0){f=g+1168|0;e=g+1172|0;d=0;while(1){if((d|0)>=(c[f>>2]|0))break b;c[a+4+(d<<2)>>2]=tj(b,c[e>>2]|0)|0;oj(b,c[e>>2]|0);d=d+1|0}}while(0);c[a>>2]=1;d=0}else{c[i>>2]=f;mf(e,16,137824,i);d=g?-1094995529:-1397768184}$c=j;return d|0}function ij(a,b){a=a|0;b=b|0;var d=0,e=0;c[a+4>>2]=qj(b)|0;d=pj(b)|0;c[a+8>>2]=d;d=(d|0)==0;c[a>>2]=d&1;if(d){d=a+12|0;c[d>>2]=bj(b,7)|0;e=a+24|0;c[e>>2]=pj(b)|0;c[a+20>>2]=bj(b,6)|0;oj(b,3);c[a+28>>2]=pj(b)|0;oj(b,2);if((c[e>>2]|0)==0?(c[d>>2]|0)!=5:0)oj(b,16);oj(b,8);c[a+16>>2]=qj(b)|0}rj(b);return}function jj(a,b){a=a|0;b=b|0;var d=0;d=(pj(b)|0)==0;c[a>>2]=d&1;if(d){c[a+8>>2]=pj(b)|0;c[a+12>>2]=pj(b)|0;c[a+4>>2]=bj(b,16)|0;qj(b)|0;rj(b)}return}function kj(c,d){c=c|0;d=d|0;var e=0;e=(bj(d,8)|0)&255;a[c>>0]=e;switch(e<<24>>24){case 0:{e=(bj(d,8)|0)&255;a[c+1>>0]=e;switch(e<<24>>24){case 2:{b[c+2>>1]=bj(d,16)|0;break}case 3:{b[c+4>>1]=bj(d,16)|0;break}default:{}}a[c+6>>0]=bj(d,8)|0;a[c+7>>0]=bj(d,8)|0;a[c+8>>0]=bj(d,8)|0;a[c+9>>0]=bj(d,8)|0;break}case 1:{a[c+10>>0]=bj(d,8)|0;b[c+12>>1]=bj(d,16)|0;break}default:{}}return}function lj(a,b){a=a|0;b=b|0;c[a>>2]=1;c[a+4>>2]=bj(b,8)|0;return}function mj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+8|0;e=c[d>>2]|0;f=0-e|0;a=(c[a+16>>2]|0)-e|0;c[d>>2]=((f|0)>(b|0)?f:(a|0)<(b|0)?a:b)+e;return}function nj(a){a=a|0;var b=0;b=0-(cj(a)|0)&7;if(b|0)oj(a,b);return}function oj(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=c[a+16>>2]|0;b=(c[d>>2]|0)+b|0;c[d>>2]=a>>>0>b>>>0?b:a;return}function pj(a){a=a|0;var b=0,e=0,f=0;e=a+8|0;f=c[e>>2]|0;b=(d[(c[a>>2]|0)+(f>>>3)>>0]|0)<<(f&7)>>>7&1;c[e>>2]=f+((f|0)<(c[a+16>>2]|0)&1);return b|0}function qj(a){a=a|0;var b=0,c=0,e=0;e=sj(a)|0;b=e>>>0>65535;e=b?e>>>16:e;b=b?16:0;c=(e&65280|0)==0;b=31-(d[120639+(c?e:e>>>8)>>0]|0)-(c?b:b|8)|0;mj(a,b);return (tj(a,b+1|0)|0)+-1|0}function rj(a){a=a|0;oj(a,1);return}function sj(a){a=a|0;var b=0,d=0;b=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);d=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[d+16>>2]=c[a+16>>2];a=tj(d,32)|0;$c=b;return a|0}function tj(a,b){a=a|0;b=b|0;var c=0;do if(b)if((b|0)<26){a=bj(a,b)|0;break}else{b=b+-16|0;c=(bj(a,16)|0)<>2]|0;e=c[a+16>>2]|0;a=(c[a>>2]|0)+(f>>>3)|0;a=(WW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(f&7)>>>23;f=f+(d[126608+a>>0]|0)|0;c[b>>2]=e>>>0>f>>>0?f:e;return d[127120+a>>0]|0|0}function vj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=1){oj(d,1);f=bj(d,1)|0;oj(d,6);if(f)if((e|0)<2)b=-1094995529;else{oj(d,4);a[b+4>>0]=bj(d,4)|0;c[b>>2]=1;b=0}else b=0}else b=-1094995529;return b|0}function wj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;a:do if((e|0)>=3){if((bj(d,8)|0)!=3){f=e+-1|0;e=0;while(1){if((e|0)==(f|0)){e=0;break a}oj(d,8);e=e+1|0}}oj(d,1);if(((bj(d,1)|0)!=0?(oj(d,1),g=bj(d,5)|0,oj(d,8),(g|0)!=0):0)?(e+-2|0)>=(g*3|0):0){e=c[b>>2]|0;f=PW(g|0,((g|0)<0)<<31>>31|0,3,0)|0;e=JW(f|0,M()|0,e|0,((e|0)<0)<<31>>31|0)|0;f=M()|0;if(!(f>>>0>0|(f|0)==0&e>>>0>2147483647)){f=b+4|0;e=xj(f,e)|0;if((e|0)>=0){e=0;while(1){if((e|0)>=(g|0))break;j=(bj(d,8)|0)&255;i=c[f>>2]|0;h=c[b>>2]|0;c[b>>2]=h+1;a[i+h>>0]=j;h=(bj(d,8)|0)&255;i=c[f>>2]|0;j=c[b>>2]|0;c[b>>2]=j+1;a[i+j>>0]=h;j=(bj(d,8)|0)&255;i=c[f>>2]|0;h=c[b>>2]|0;c[b>>2]=h+1;a[i+h>>0]=j;e=e+1|0}oj(d,8);e=0}}else e=-22}else e=0}else e=-22;while(0);return e|0}function xj(b,c){b=b|0;c=c|0;do if(c){c=tf(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24,c)|0;if(!c){hf(b);c=-12;break}else{a[b>>0]=c;a[b+1>>0]=c>>8;a[b+2>>0]=c>>16;a[b+3>>0]=c>>24;c=0;break}}else{hf(b);c=0}while(0);return c|0}function yj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=$c;$c=$c+64|0;if(($c|0)>=(ad|0))N(64);p=B+56|0;o=B+48|0;u=B+32|0;s=B+24|0;t=B+16|0;f=B;x=c[d>>2]|0;A=d+21788|0;r=c[A>>2]|0;y=d+868|0;z=c[y>>2]|0;w=c[c[x+24312>>2]>>2]|0;b=c[w+32>>2]|0;e=d+21772|0;c[e>>2]=b;c[d+21776>>2]=c[w+36>>2];b=Ej(d,b)|0;a:do if((b|0)>=0){n=d+21816|0;c[n>>2]=-1;if((c[x+26036>>2]|0)!=(((c[e>>2]|0)*12|0)+(12<>2])|0)){c[f>>2]=139080;c[f+4>>2]=138054;c[f+8>>2]=2536;mf(0,0,164250,f);ub()}if(c[x+25708>>2]|0)c[y>>2]=0;v=x+26376|0;if(!(c[v>>2]|0))b=(c[x+26380>>2]|0)!=3;else b=1;c[d+21820>>2]=b&1;w=x+4|0;if(((((c[(c[w>>2]|0)+696>>2]&2|0)==0?(c[x+26380>>2]|0)==3:0)?(h=c[x+25628>>2]|0,i=c[h+604>>2]|0,i|0):0)?(q=(H(c[x+27012>>2]|0,c[d+21804>>2]|0)|0)+(c[d+21800>>2]|0)|0,g=(c[x+27020>>2]|0)+-1|0,g=(q|0)>(g|0)?g:q,!((q|0)<0|(g|0)==0)):0)?(a[i+(c[(c[h+572>>2]|0)+(g+-1<<2)>>2]|0)>>0]&-2)<<24>>24!=112:0)c[h+600>>2]=1;do if(!(c[(c[x+28212>>2]|0)+4>>2]|0)){m=d+21792|0;f=x+27012|0;i=d+21812|0;l=d+4|0;j=x+26380|0;k=x+27008|0;e=r;while(1){u=(H(c[f>>2]|0,c[m>>2]|0)|0)+(c[A>>2]|0)|0;b=c[i>>2]|0;if((u|0)>=(b|0)){f=46;break}b=Qj(x,d)|0;if((b|0)<=-1){f=52;break}Mj(x,d);if(c[v>>2]|0){c[m>>2]=(c[m>>2]|0)+1;b=Qj(x,d)|0;if((b|0)<=-1){f=50;break}Mj(x,d);c[m>>2]=(c[m>>2]|0)+-1}b=(c[A>>2]|0)+1|0;c[A>>2]=b;if((b|0)>=(c[f>>2]|0)){zj(x,d,e,b);c[A>>2]=0;Oj(x,d);b=c[m>>2]|0;e=b+1|0;c[m>>2]=e;if(!(c[v>>2]|0)){if((c[j>>2]|0)!=3){e=b+2|0;c[m>>2]=e}}else{b=b+2|0;c[m>>2]=b;if((b|0)<(c[k>>2]|0)){Pj(x,d);e=c[m>>2]|0}else e=b}if((e|0)<(c[k>>2]|0))h=0;else{f=61;break}}else h=e;g=Hj(l)|0;if((g|0)>=1){e=h;continue}if((c[n>>2]|0)<1){f=68;break}else e=h}if((f|0)==46){z=c[w>>2]|0;c[o>>2]=b;mf(z,16,139207,o);Kj(d,c[d+21800>>2]|0,c[d+21804>>2]|0,c[A>>2]|0,c[m>>2]|0,14);b=-1094995529;break a}else if((f|0)==50){e=(c[m>>2]|0)+-1|0;c[m>>2]=e}else if((f|0)==52)e=c[m>>2]|0;else if((f|0)==61){b=Hj(l)|0;do if(b|0){if((b|0)>0?(c[(c[w>>2]|0)+580>>2]&262144|0)==0:0)break;Kj(d,c[d+21800>>2]|0,c[d+21804>>2]|0,c[A>>2]|0,e,112);b=-1094995529;break a}while(0);Kj(d,c[d+21800>>2]|0,c[d+21804>>2]|0,(c[A>>2]|0)+-1|0,e,112);break}else if((f|0)==68){b=c[d+21800>>2]|0;e=c[d+21804>>2]|0;f=c[A>>2]|0;if(g|0){Kj(d,b,e,f,c[m>>2]|0,14);b=-1094995529;break a}Kj(d,b,e,f+-1|0,c[m>>2]|0,112);b=c[A>>2]|0;if((b|0)<=(h|0))break;zj(x,d,h,b);break}z=c[w>>2]|0;c[p>>2]=c[A>>2];c[p+4>>2]=e;mf(z,16,139311,p);Kj(d,c[d+21800>>2]|0,c[d+21804>>2]|0,c[A>>2]|0,c[m>>2]|0,14);break a}else{b=d+4|0;Fj(b);o=d+32856|0;q=c[b>>2]|0;q=q+((Gj(b)|0)/8|0)|0;b=Ij(o,q,((Hj(b)|0)+7|0)/8|0)|0;if((b|0)<0)break a;Jj(x,d);q=d+21792|0;i=x+27012|0;j=d+21812|0;k=x+25700|0;p=d+32872|0;n=d+32876|0;l=x+27008|0;m=x+26380|0;h=r;b=c[q>>2]|0;while(1){r=(H(c[i>>2]|0,b)|0)+(c[A>>2]|0)|0;b=c[j>>2]|0;if((r|0)>=(b|0)){f=19;break}b=Lj(x,d)|0;if((b|0)>-1?(Mj(x,d),(c[v>>2]|0)!=0):0){c[q>>2]=(c[q>>2]|0)+1;b=Lj(x,d)|0;if((b|0)>-1)Mj(x,d);c[q>>2]=(c[q>>2]|0)+-1}g=Nj(o)|0;e=c[p>>2]|0;f=c[n>>2]|0;if((c[k>>2]&16384|0)!=0&e>>>0>(f+2|0)>>>0){f=26;break}if(e>>>0>(f+2|0)>>>0){r=c[w>>2]|0;c[s>>2]=f-e;mf(r,48,139239,s)}if((b|0)<0){f=31;break}b=c[p>>2]|0;e=c[n>>2]|0;if(b>>>0>(e+4|0)>>>0){f=33;break}b=(c[A>>2]|0)+1|0;c[A>>2]=b;do if((b|0)>=(c[i>>2]|0)){zj(x,d,h,b);c[A>>2]=0;Oj(x,d);b=c[q>>2]|0;c[q>>2]=b+1;if(!(c[v>>2]|0)){if((c[m>>2]|0)==3){e=0;break}c[q>>2]=b+2;e=0;break}else{r=b+2|0;c[q>>2]=r;if((r|0)>=(c[l>>2]|0)){e=0;break}Pj(x,d);e=0;break}}else e=h;while(0);b=c[q>>2]|0;if(g|0){f=43;break}if((b|0)>=(c[l>>2]|0)){f=43;break}else h=e}if((f|0)==19){z=c[w>>2]|0;c[t>>2]=b;mf(z,16,139207,t);Kj(d,c[d+21800>>2]|0,c[d+21804>>2]|0,c[A>>2]|0,c[q>>2]|0,14);b=-1094995529;break a}else if((f|0)==26){Kj(d,c[d+21800>>2]|0,c[d+21804>>2]|0,(c[A>>2]|0)+-1|0,c[q>>2]|0,112);b=c[A>>2]|0;if((b|0)<(h|0))break;zj(x,d,h,b+1|0);break}else if((f|0)==31){e=c[n>>2]|0;b=c[p>>2]|0}else if((f|0)!=33)if((f|0)==43){Kj(d,c[d+21800>>2]|0,c[d+21804>>2]|0,(c[A>>2]|0)+-1|0,b,112);b=c[A>>2]|0;if((b|0)<=(e|0))break;zj(x,d,e,b);break}z=c[w>>2]|0;y=c[q>>2]|0;c[u>>2]=c[A>>2];c[u+4>>2]=y;c[u+8>>2]=e-b;mf(z,16,139264,u);Kj(d,c[d+21800>>2]|0,c[d+21804>>2]|0,c[A>>2]|0,c[q>>2]|0,14);b=-1094995529;break a}while(0);c[y>>2]=z;b=0}while(0);$c=B;return b|0}function zj(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;aa=e+21792|0;_=b+26376|0;h=c[_>>2]|0;ba=h+(c[aa>>2]|0)|0;ca=e+836|0;$=c[ca>>2]|0;X=b+25664|0;Y=c[X>>2]|0;Z=16>>>(c[b+25680>>2]|0);if(!(c[b+25708>>2]|0)){a:do if(!(c[e+868>>2]|0)){l=b+28212|0;k=e+852|0;j=e+856|0;i=e+21788|0}else{J=b+27016|0;K=e+21796|0;L=b+24364|0;i=e+21788|0;M=b+24316|0;N=e+21772|0;O=b+28216|0;P=e+21776|0;Q=e+21828|0;R=e+21780|0;S=e+21784|0;l=b+28212|0;T=b+24340|0;k=e+852|0;j=e+856|0;U=e+21832|0;V=e+27796|0;W=1-Z|0;while(1){h=c[_>>2]|0;if((f|0)>=(g|0))break a;I=f<(ba|0))break;F=(H(c[J>>2]|0,E)|0)+f|0;c[K>>2]=F;G=c[(c[L>>2]|0)+(F<<2)>>2]|0;t=(c[_>>2]|0)==0;h=G>>>7&1;if(t)h=c[Q>>2]|0;else{c[Q>>2]=h;c[U>>2]=h}c[i>>2]=f;c[aa>>2]=E;C=c[M>>2]|0;p=c[N>>2]|0;m=(c[C>>2]|0)+((H(p,E)|0)+I<<4)|0;s=c[(c[O>>2]|0)+12>>2]|0;z=(s|0)==3;D=H(8<<(z&1),I)|0;r=c[P>>2]|0;o=H(H(E,Z)|0,r)|0;n=(c[C+4>>2]|0)+D+o|0;o=(c[C+8>>2]|0)+D+o|0;if(h){h=p<<1;c[R>>2]=h;q=r<<1;c[S>>2]=q;if(!(E&1)){D=n;C=o;p=h}else{C=H(W,r)|0;m=m+(H(p,-15)|0)|0;D=n+C|0;C=o+C|0;p=h}}else{c[R>>2]=p;c[S>>2]=r;D=n;C=o;q=r}w=c[X>>2]|0;x=(s|0)==2;v=m+(0-p)|0;B=0-q|0;y=D+B|0;B=C+B|0;do if(!t){h=(c[U>>2]|0)!=0;if(!(E&1))if(h){h=0;u=f;A=33;break}else break;if(!h){t=c[V>>2]|0;h=v+(p*15|0)|0;s=h;A=c[s+4>>2]|0;u=t+(f*96|0)|0;c[u>>2]=c[s>>2];c[u+4>>2]=A;u=h+8|0;A=c[u+4>>2]|0;s=t+(f*96|0)+8|0;c[s>>2]=c[u>>2];c[s+4>>2]=A;s=(w|0)!=0;h=h+16|0;if(s){A=h;u=c[A+4>>2]|0;r=t+(f*96|0)+16|0;c[r>>2]=c[A>>2];c[r+4>>2]=u;r=h+8|0;u=c[r+4>>2]|0;A=t+(f*96|0)+24|0;c[A>>2]=c[r>>2];c[A+4>>2]=u}do if(z){h=q*15|0;n=y+h|0;r=n;o=c[r>>2]|0;r=c[r+4>>2]|0;if(s){A=t+(f*96|0)+32|0;c[A>>2]=o;c[A+4>>2]=r;A=n+8|0;u=c[A+4>>2]|0;s=t+(f*96|0)+40|0;c[s>>2]=c[A>>2];c[s+4>>2]=u;n=n+16|0;s=n;u=c[s+4>>2]|0;A=t+(f*96|0)+48|0;c[A>>2]=c[s>>2];c[A+4>>2]=u;n=n+8|0;A=c[n+4>>2]|0;u=t+(f*96|0)+56|0;c[u>>2]=c[n>>2];c[u+4>>2]=A;h=B+h|0;u=h;A=c[u+4>>2]|0;n=t+(f*96|0)+64|0;c[n>>2]=c[u>>2];c[n+4>>2]=A;n=h+8|0;A=c[n+4>>2]|0;u=t+(f*96|0)+72|0;c[u>>2]=c[n>>2];c[u+4>>2]=A;h=h+16|0;u=h;A=c[u+4>>2]|0;n=t+(f*96|0)+80|0;c[n>>2]=c[u>>2];c[n+4>>2]=A;n=88;h=h+8|0;break}else{A=t+(f*96|0)+16|0;c[A>>2]=o;c[A+4>>2]=r;n=n+8|0;A=c[n+4>>2]|0;u=t+(f*96|0)+24|0;c[u>>2]=c[n>>2];c[u+4>>2]=A;h=B+h|0;u=h;A=c[u+4>>2]|0;n=t+(f*96|0)+32|0;c[n>>2]=c[u>>2];c[n+4>>2]=A;n=40;h=h+8|0;break}}else if(x){r=q*15|0;h=y+r|0;o=h;n=c[o>>2]|0;o=c[o+4>>2]|0;if(s){A=t+(f*96|0)+32|0;c[A>>2]=n;c[A+4>>2]=o;A=h+8|0;u=c[A+4>>2]|0;h=t+(f*96|0)+40|0;c[h>>2]=c[A>>2];c[h+4>>2]=u;h=B+r|0;u=h;A=c[u+4>>2]|0;n=t+(f*96|0)+48|0;c[n>>2]=c[u>>2];c[n+4>>2]=A;n=56;h=h+8|0;break}else{h=t+(f*96|0)+16|0;c[h>>2]=n;c[h+4>>2]=o;n=24;h=B+r|0;break}}else{r=q*7|0;h=y+r|0;o=h;n=c[o>>2]|0;o=c[o+4>>2]|0;if(s){A=t+(f*96|0)+32|0;c[A>>2]=n;c[A+4>>2]=o;A=h+8|0;u=c[A+4>>2]|0;h=t+(f*96|0)+40|0;c[h>>2]=c[A>>2];c[h+4>>2]=u;h=B+r|0;u=h;A=c[u+4>>2]|0;n=t+(f*96|0)+48|0;c[n>>2]=c[u>>2];c[n+4>>2]=A;n=56;h=h+8|0;break}else{h=t+(f*96|0)+16|0;c[h>>2]=n;c[h+4>>2]=o;n=24;h=B+r|0;break}}while(0);A=h;u=c[A+4>>2]|0;h=t+(f*96|0)+n|0;c[h>>2]=c[A>>2];c[h+4>>2]=u;h=1;u=c[i>>2]|0;A=33}else{h=1;u=f;A=33}}else{h=1;u=f;A=33}while(0);if((A|0)==33){A=0;t=c[e+27796+(h<<2)>>2]|0;r=p<<4;h=v+r|0;s=h;v=c[s+4>>2]|0;o=t+(u*96|0)|0;c[o>>2]=c[s>>2];c[o+4>>2]=v;o=h+8|0;v=c[o+4>>2]|0;s=t+(u*96|0)+8|0;c[s>>2]=c[o>>2];c[s+4>>2]=v;s=(w|0)!=0;h=h+16|0;if(s){w=h;v=c[w+4>>2]|0;o=t+(u*96|0)+16|0;c[o>>2]=c[w>>2];c[o+4>>2]=v;o=h+8|0;v=c[o+4>>2]|0;w=t+(u*96|0)+24|0;c[w>>2]=c[o>>2];c[w+4>>2]=v}do if(z){h=y+r|0;o=h;n=c[o>>2]|0;o=c[o+4>>2]|0;if(s){z=t+(u*96|0)+32|0;c[z>>2]=n;c[z+4>>2]=o;z=h+8|0;y=c[z+4>>2]|0;n=t+(u*96|0)+40|0;c[n>>2]=c[z>>2];c[n+4>>2]=y;n=h+16|0;y=n;h=c[y+4>>2]|0;z=t+(u*96|0)+48|0;c[z>>2]=c[y>>2];c[z+4>>2]=h;n=n+8|0;z=c[n+4>>2]|0;h=t+(u*96|0)+56|0;c[h>>2]=c[n>>2];c[h+4>>2]=z;h=B+r|0;z=h;B=c[z+4>>2]|0;n=t+(u*96|0)+64|0;c[n>>2]=c[z>>2];c[n+4>>2]=B;n=h+8|0;B=c[n+4>>2]|0;z=t+(u*96|0)+72|0;c[z>>2]=c[n>>2];c[z+4>>2]=B;h=h+16|0;z=h;B=c[z+4>>2]|0;n=t+(u*96|0)+80|0;c[n>>2]=c[z>>2];c[n+4>>2]=B;n=88;h=h+8|0;break}else{z=t+(u*96|0)+16|0;c[z>>2]=n;c[z+4>>2]=o;n=h+8|0;z=c[n+4>>2]|0;h=t+(u*96|0)+24|0;c[h>>2]=c[n>>2];c[h+4>>2]=z;h=B+r|0;z=h;B=c[z+4>>2]|0;n=t+(u*96|0)+32|0;c[n>>2]=c[z>>2];c[n+4>>2]=B;n=40;h=h+8|0;break}}else if(x){r=q<<4;h=y+r|0;o=h;n=c[o>>2]|0;o=c[o+4>>2]|0;if(s){z=t+(u*96|0)+32|0;c[z>>2]=n;c[z+4>>2]=o;n=h+8|0;z=c[n+4>>2]|0;h=t+(u*96|0)+40|0;c[h>>2]=c[n>>2];c[h+4>>2]=z;h=B+r|0;z=h;B=c[z+4>>2]|0;n=t+(u*96|0)+48|0;c[n>>2]=c[z>>2];c[n+4>>2]=B;n=56;h=h+8|0;break}else{h=t+(u*96|0)+16|0;c[h>>2]=n;c[h+4>>2]=o;n=24;h=B+r|0;break}}else{r=q<<3;h=y+r|0;o=h;n=c[o>>2]|0;o=c[o+4>>2]|0;if(s){z=t+(u*96|0)+32|0;c[z>>2]=n;c[z+4>>2]=o;n=h+8|0;z=c[n+4>>2]|0;h=t+(u*96|0)+40|0;c[h>>2]=c[n>>2];c[h+4>>2]=z;h=B+r|0;z=h;B=c[z+4>>2]|0;n=t+(u*96|0)+48|0;c[n>>2]=c[z>>2];c[n+4>>2]=B;n=56;h=h+8|0;break}else{h=t+(u*96|0)+16|0;c[h>>2]=n;c[h+4>>2]=o;n=24;h=B+r|0;break}}while(0);y=h;z=c[y+4>>2]|0;B=t+(u*96|0)+n|0;c[B>>2]=c[y>>2];c[B+4>>2]=z}do if(!(Aj(b,e,G)|0)){G=c[l>>2]|0;F=(c[T>>2]|0)+F|0;c[k>>2]=d[(a[F>>0]|0)+(G+548)>>0];c[j>>2]=d[(a[F>>0]|0)+(G+636)>>0];if(!(c[_>>2]|0)){Cj(b,e,f,E,m,D,C,p,q);break}else{Bj(b,e,f,E,m,D,C,p,q);break}}while(0);E=E+1|0}f=f+1|0}}while(0);c[ca>>2]=$;c[i>>2]=g;c[aa>>2]=ba-h;ba=c[l>>2]|0;ca=c[e+848>>2]|0;c[k>>2]=d[ba+548+ca>>0];c[j>>2]=d[ba+636+ca>>0]}return}function Aj(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;u=c[f+21796>>2]|0;o=d+27016|0;m=c[o>>2]|0;h=u-(m<>2])|0;j=u+-1|0;n=d+26376|0;do if(!(c[n>>2]|0)){t=j;s=j}else{i=c[d+24364>>2]|0;k=c[i+(j<<2)>>2]&128;l=g&128;if(c[f+21792>>2]&1|0){t=j-((k|0)==(l|0)?0:m)|0;s=j;break}if(l)h=(((c[i+(h<<2)>>2]|0)>>>7&1)+-1&m)+h|0;t=j;s=j+((k|0)==(l|0)?0:m)|0}while(0);c[f+21712>>2]=h;c[f+21720>>2]=t;c[f+21724>>2]=s;i=c[f+860>>2]|0;j=c[d+24340>>2]|0;k=a[j+u>>0]|0;do if((i|0)>=(k|0)){l=(t|0)<0;if(!l?(k+1+(a[j+t>>0]|0)>>1|0)>(i|0):0){p=17;break}if((h|0)>=0?(k+1+(a[j+h>>0]|0)>>1|0)>(i|0):0){p=17;break}if(c[n>>2]|0){if(!l?(k+1+(a[j+s>>0]|0)>>1|0)>(i|0):0){p=17;break}r=c[o>>2]|0;if((h|0)>=(r|0)?(k+1+(a[j+(h-r)>>0]|0)>>1|0)>(i|0):0)p=17;else h=1}else h=1}else p=17;while(0);if((p|0)==17){l=c[d+24364>>2]|0;i=c[l+(h<<2)>>2]|0;k=c[l+(t<<2)>>2]|0;l=c[l+(s<<2)>>2]|0;o=d+26372|0;j=c[o>>2]|0;n=b[j+(h<<1)>>1]|0;if((c[f+868>>2]|0)==2){r=c[f+832>>2]|0;p=(r|0)==(e[j+(s<<1)>>1]|0);r=(r|0)==(n&65535|0)?i:0;q=p?k:0;p=p?l:0}else{p=(b[j+(s<<1)>>1]|0)==-1;r=n<<16>>16==-1?0:i;q=p?0:k;p=p?0:l}c[f+21732>>2]=r;c[f+21740>>2]=q;c[f+21744>>2]=p;if(!(g&7)){i=d+26368|0;j=c[i>>2]|0;k=f+28e3|0;l=f+28284|0;m=(g&376|0)==0;do if(!m){if(!(r&12288)){n=f+27968|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[f+28276>>2]=-1}else{y=(c[(c[d+26360>>2]|0)+(h<<2)>>2]|0)+(j*3|0)|0;v=h<<2;w=d+29940+((n&31)<<9)+((c[f+21832>>2]|0?20:2)<<2)|0;x=d+24352|0;A=(c[x>>2]|0)+(y<<2)|0;z=c[A+4>>2]|0;n=f+27968|0;c[n>>2]=c[A>>2];c[n+4>>2]=z;y=(c[x>>2]|0)+(y<<2)+8|0;x=c[y+4>>2]|0;n=f+27976|0;c[n>>2]=c[y>>2];c[n+4>>2]=x;n=d+24384|0;x=c[w+(a[(c[n>>2]|0)+(v|2)>>0]<<2)>>2]&255;a[f+28277>>0]=x;a[f+28276>>0]=x;n=c[w+(a[(c[n>>2]|0)+(v|3)>>0]<<2)>>2]&255;a[f+28279>>0]=n;a[f+28278>>0]=n}if(!((q^g)&128))if(!(q&12288)){c[f+27996>>2]=0;c[f+28028>>2]=0;c[f+28060>>2]=0;c[f+28092>>2]=0;a[f+28307>>0]=-1;a[f+28299>>0]=-1;a[f+28291>>0]=-1;a[f+28283>>0]=-1;break}else{z=(c[(c[d+26360>>2]|0)+(t<<2)>>2]|0)+3|0;A=t<<2;y=d+29940+((b[(c[o>>2]|0)+(t<<1)>>1]&31)<<9)+((c[f+21832>>2]|0?20:2)<<2)|0;x=d+24352|0;c[f+27996>>2]=c[(c[x>>2]|0)+(z<<2)>>2];c[f+28028>>2]=c[(c[x>>2]|0)+(z+j<<2)>>2];c[f+28060>>2]=c[(c[x>>2]|0)+(z+(j<<1)<<2)>>2];c[f+28092>>2]=c[(c[x>>2]|0)+(z+(j*3|0)<<2)>>2];z=d+24384|0;x=c[y+(a[(c[z>>2]|0)+(A|1)>>0]<<2)>>2]&255;a[f+28291>>0]=x;a[f+28283>>0]=x;A=c[y+(a[(c[z>>2]|0)+(A|3)>>0]<<2)>>2]&255;a[f+28307>>0]=A;a[f+28299>>0]=A;break}}while(0);if(!(g&12288)){y=f+28032|0;z=f+28064|0;A=f+28096|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;c[y+12>>2]=0;c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;c[z+12>>2]=0;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[A+12>>2]=0;c[l>>2]=-1;c[f+28292>>2]=-1;c[f+28300>>2]=-1;c[f+28308>>2]=-1}else{y=(c[d+24384>>2]|0)+(u<<2)|0;A=d+29940+((c[f+832>>2]&31)<<9)+((c[f+21832>>2]|0?20:2)<<2)|0;x=(c[A+(a[y+1>>0]<<2)>>2]<<16&16711680|c[A+(a[y>>0]<<2)>>2]&255)*257|0;y=(c[A+(a[y+3>>0]<<2)>>2]<<16&16711680|c[A+(a[y+2>>0]<<2)>>2]&255)*257|0;c[l>>2]=x;c[f+28292>>2]=x;c[f+28300>>2]=y;c[f+28308>>2]=y;y=(c[d+24352>>2]|0)+((H(c[f+21792>>2]|0,j)|0)+(c[f+21788>>2]|0)<<2<<2)|0;x=y;A=c[x+4>>2]|0;z=k;c[z>>2]=c[x>>2];c[z+4>>2]=A;z=y+8|0;A=c[z+4>>2]|0;x=f+28008|0;c[x>>2]=c[z>>2];c[x+4>>2]=A;x=y+(j<<2)|0;A=x;z=c[A+4>>2]|0;w=f+28032|0;c[w>>2]=c[A>>2];c[w+4>>2]=z;x=x+8|0;w=c[x+4>>2]|0;z=f+28040|0;c[z>>2]=c[x>>2];c[z+4>>2]=w;z=y+(j<<1<<2)|0;w=z;x=c[w+4>>2]|0;A=f+28064|0;c[A>>2]=c[w>>2];c[A+4>>2]=x;z=z+8|0;A=c[z+4>>2]|0;x=f+28072|0;c[x>>2]=c[z>>2];c[x+4>>2]=A;y=y+(j*3<<2)|0;x=y;A=c[x+4>>2]|0;z=f+28096|0;c[z>>2]=c[x>>2];c[z+4>>2]=A;y=y+8|0;z=c[y+4>>2]|0;A=f+28104|0;c[A>>2]=c[y>>2];c[A+4>>2]=z}do if((c[f+23412>>2]|0)==2){i=c[i>>2]|0;j=f+28160|0;k=f+28324|0;do if(!m){if(!(r&49152)){A=f+28128|0;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[A+12>>2]=0;c[f+28316>>2]=-1}else{w=(c[(c[d+26360>>2]|0)+(h<<2)>>2]|0)+(i*3|0)|0;A=h<<2;y=d+29940+((b[(c[o>>2]|0)+(h<<1)>>1]&31)<<9)+256+((c[f+21832>>2]|0?20:2)<<2)|0;x=d+24356|0;n=(c[x>>2]|0)+(w<<2)|0;v=c[n+4>>2]|0;z=f+28128|0;c[z>>2]=c[n>>2];c[z+4>>2]=v;w=(c[x>>2]|0)+(w<<2)+8|0;x=c[w+4>>2]|0;z=f+28136|0;c[z>>2]=c[w>>2];c[z+4>>2]=x;z=d+24388|0;x=c[y+(a[(c[z>>2]|0)+(A|2)>>0]<<2)>>2]&255;a[f+28317>>0]=x;a[f+28316>>0]=x;A=c[y+(a[(c[z>>2]|0)+(A|3)>>0]<<2)>>2]&255;a[f+28319>>0]=A;a[f+28318>>0]=A}if(!((q^g)&128))if(!(q&49152)){c[f+28156>>2]=0;c[f+28188>>2]=0;c[f+28220>>2]=0;c[f+28252>>2]=0;a[f+28347>>0]=-1;a[f+28339>>0]=-1;a[f+28331>>0]=-1;a[f+28323>>0]=-1;break}else{z=(c[(c[d+26360>>2]|0)+(t<<2)>>2]|0)+3|0;A=t<<2;y=d+29940+((b[(c[o>>2]|0)+(t<<1)>>1]&31)<<9)+256+((c[f+21832>>2]|0?20:2)<<2)|0;x=d+24356|0;c[f+28156>>2]=c[(c[x>>2]|0)+(z<<2)>>2];c[f+28188>>2]=c[(c[x>>2]|0)+(z+i<<2)>>2];c[f+28220>>2]=c[(c[x>>2]|0)+(z+(i<<1)<<2)>>2];c[f+28252>>2]=c[(c[x>>2]|0)+(z+(i*3|0)<<2)>>2];z=d+24388|0;x=c[y+(a[(c[z>>2]|0)+(A|1)>>0]<<2)>>2]&255;a[f+28331>>0]=x;a[f+28323>>0]=x;A=c[y+(a[(c[z>>2]|0)+(A|3)>>0]<<2)>>2]&255;a[f+28347>>0]=A;a[f+28339>>0]=A;break}}while(0);if(!(g&49152)){y=f+28192|0;z=f+28224|0;A=f+28256|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;c[y+12>>2]=0;c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;c[z+12>>2]=0;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[A+12>>2]=0;c[k>>2]=-1;c[f+28332>>2]=-1;c[f+28340>>2]=-1;c[f+28348>>2]=-1;break}else{y=(c[d+24388>>2]|0)+(u<<2)|0;A=d+29940+((c[f+832>>2]&31)<<9)+256+((c[f+21832>>2]|0?20:2)<<2)|0;x=(c[A+(a[y+1>>0]<<2)>>2]<<16&16711680|c[A+(a[y>>0]<<2)>>2]&255)*257|0;y=(c[A+(a[y+3>>0]<<2)>>2]<<16&16711680|c[A+(a[y+2>>0]<<2)>>2]&255)*257|0;c[k>>2]=x;c[f+28332>>2]=x;c[f+28340>>2]=y;c[f+28348>>2]=y;y=(c[d+24356>>2]|0)+((H(c[f+21792>>2]|0,i)|0)+(c[f+21788>>2]|0)<<2<<2)|0;x=y;A=c[x+4>>2]|0;z=j;c[z>>2]=c[x>>2];c[z+4>>2]=A;z=y+8|0;A=c[z+4>>2]|0;x=f+28168|0;c[x>>2]=c[z>>2];c[x+4>>2]=A;x=y+(i<<2)|0;A=x;z=c[A+4>>2]|0;w=f+28192|0;c[w>>2]=c[A>>2];c[w+4>>2]=z;x=x+8|0;w=c[x+4>>2]|0;z=f+28200|0;c[z>>2]=c[x>>2];c[z+4>>2]=w;z=y+(i<<1<<2)|0;w=z;x=c[w+4>>2]|0;A=f+28224|0;c[A>>2]=c[w>>2];c[A+4>>2]=x;z=z+8|0;A=c[z+4>>2]|0;x=f+28232|0;c[x>>2]=c[z>>2];c[x+4>>2]=A;y=y+(i*3<<2)|0;x=y;A=c[x+4>>2]|0;z=f+28256|0;c[z>>2]=c[x>>2];c[z+4>>2]=A;y=y+8|0;z=c[y+4>>2]|0;A=f+28264|0;c[A>>2]=c[y>>2];c[A+4>>2]=z;break}}while(0);j=d+25972|0;o=c[j>>2]|0;k=f+27836|0;c[k>>2]=c[o+(u*48|0)>>2];l=f+27844|0;c[l>>2]=c[o+(u*48|0)+4>>2];m=f+27852|0;c[m>>2]=c[o+(u*48|0)+8>>2];n=f+27860|0;c[n>>2]=c[o+(u*48|0)+12>>2];o=d+26392|0;i=e[(c[o>>2]|0)+(u<<1)>>1]|0;c[f+21856>>2]=i;if(r|0)c[f+27828>>2]=c[(c[j>>2]|0)+(h*48|0)+12>>2];if(q|0){A=c[j>>2]|0;a[f+27835>>0]=a[A+(t*48|0)+3>>0]|0;a[f+27843>>0]=a[A+(t*48|0)+7>>0]|0;a[f+27851>>0]=a[A+(t*48|0)+11>>0]|0;a[f+27859>>0]=a[A+(t*48|0)+15>>0]|0}A=c[d+28212>>2]|0;if((c[A+4>>2]|0)==0?(c[A+64>>2]|0)!=0:0){if(r&16777216|0){A=(e[(c[o>>2]|0)+(h<<1)>>1]|0)>>>12&4;a[f+27829>>0]=A;a[f+27828>>0]=A;A=(e[(c[o>>2]|0)+(h<<1)>>1]|0)>>>12&8;a[f+27831>>0]=A;a[f+27830>>0]=A}if(q&16777216|0){A=(e[(c[o>>2]|0)+(t<<1)>>1]|0)>>>12&2;a[f+27843>>0]=A;a[f+27835>>0]=A}if(p&16777216|0){A=(e[(c[o>>2]|0)+(s<<1)>>1]|0)>>>12&8;a[f+27859>>0]=A;a[f+27851>>0]=A}if(g&16777216){h=i>>>12;A=h&1;a[f+27845>>0]=A;a[l>>0]=A;a[f+27837>>0]=A;a[k>>0]=A;A=h&2;a[f+27847>>0]=A;a[f+27846>>0]=A;a[f+27839>>0]=A;a[f+27838>>0]=A;A=h&4;a[f+27861>>0]=A;a[n>>0]=A;a[f+27853>>0]=A;a[m>>0]=A;h=h&8;a[f+27863>>0]=h;a[f+27862>>0]=h;a[f+27855>>0]=h;a[f+27854>>0]=h;h=0}else h=0}else h=0}else h=0}return h|0}function Bj(f,g,h,i,j,k,l,m,n){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,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;Qa=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);Oa=Qa+16|0;Ka=Qa;La=f+27016|0;Ba=(H(c[La>>2]|0,i)|0)+h|0;Ca=f+24364|0;Da=c[(c[Ca>>2]|0)+(Ba<<2)>>2]|0;Ea=(Da>>>6&2^2)+2|0;Fa=f+28216|0;Ia=c[Fa>>2]|0;Ga=(c[Ia+12>>2]|0)!=0;Ia=(H(c[Ia+1184>>2]|0,-6)|0)+48|0;Ha=(c[g+872>>2]|0)+52+Ia|0;Ia=(c[g+876>>2]|0)+52+Ia|0;Ja=f+26376|0;Aa=g+21740|0;if((c[Ja>>2]|0)!=0?(za=c[Aa>>2]|0,!((za|0)==0|((za^Da)&128|0)==0)):0){a:do if(!(Da&7)){v=c[g+21828>>2]|0;r=i&1;h=f+28212|0;s=f+25972|0;t=f+26392|0;u=(v|0)!=0;q=0;while(1){if((q|0)==8){o=v;break a}p=u?q>>2:q&1;o=c[g+21720+(p<<2)>>2]|0;p=c[g+21740+(p<<2)>>2]|0;if(!(p&7)){if((p&16777216|0)==0?1:(c[(c[h>>2]|0)+4>>2]|0)!=0)o=d[(d[139032+(v<<4)+(r<<3)+q>>0]|0)+((c[s>>2]|0)+(o*48|0))>>0]|0;else o=((u?q&2:r)|0?32768:8192)&e[(c[t>>2]|0)+(o<<1)>>1];o=o|d[(q>>>1<<3)+12+(g+27824)>>0]|0?2:1}else o=4;b[Ka+(q<<1)>>1]=o;q=q+1|0}}else{h=Ka;c[h>>2]=262148;c[h+4>>2]=262148;h=Ka+8|0;c[h>>2]=262148;c[h+4>>2]=262148;h=f+28212|0;o=c[g+21828>>2]|0}while(0);y=c[f+24340>>2]|0;ya=a[y+Ba>>0]|0;x=a[y+(c[g+21720>>2]|0)>>0]|0;y=a[y+(c[g+21724>>2]|0)>>0]|0;t=ya+1|0;za=c[h>>2]|0;w=(d[za+548+ya>>0]|0)+1|0;ya=(d[za+636+ya>>0]|0)+1|0;h=t+x>>1;u=(w+(d[za+548+x>>0]|0)|0)>>>1;x=(ya+(d[za+636+x>>0]|0)|0)>>>1;t=t+y>>1;w=(w+(d[za+548+y>>0]|0)|0)>>>1;y=(ya+(d[za+636+y>>0]|0)|0)>>>1;do if(!o){s=m<<1;p=h+Ha|0;q=d[138252+p>>0]|0;za=h+Ia|0;h=d[138096+za>>0]|0;do if(!(p>>>0<68|za>>>0<68)){o=b[Ka>>1]|0;if(o<<16>>16>3){qd[c[f+68>>2]&255](j,s,q,h);break}else{a[Oa>>0]=a[(o<<16>>16)+(138408+(p<<2))>>0]|0;a[Oa+1>>0]=a[(b[Ka+4>>1]|0)+(138408+(p<<2))>>0]|0;a[Oa+2>>0]=a[(b[Ka+8>>1]|0)+(138408+(p<<2))>>0]|0;a[Oa+3>>0]=a[(b[Ka+12>>1]|0)+(138408+(p<<2))>>0]|0;rd[c[f+56>>2]&127](j,s,q,h,Oa);break}}while(0);p=j+m|0;v=Ka+2|0;q=t+Ha|0;r=d[138252+q>>0]|0;za=t+Ia|0;h=d[138096+za>>0]|0;do if(!(q>>>0<68|za>>>0<68)){o=b[v>>1]|0;if(o<<16>>16>3){qd[c[f+68>>2]&255](p,s,r,h);break}else{a[Oa>>0]=a[(o<<16>>16)+(138408+(q<<2))>>0]|0;a[Oa+1>>0]=a[(b[Ka+6>>1]|0)+(138408+(q<<2))>>0]|0;a[Oa+2>>0]=a[(b[Ka+10>>1]|0)+(138408+(q<<2))>>0]|0;a[Oa+3>>0]=a[(b[Ka+14>>1]|0)+(138408+(q<<2))>>0]|0;rd[c[f+56>>2]&127](p,s,r,h,Oa);break}}while(0);if(Ga){s=n<<1;p=u+Ha|0;q=d[138252+p>>0]|0;h=u+Ia|0;o=d[138096+h>>0]|0;h=p>>>0<68|h>>>0<68;if((c[(c[Fa>>2]|0)+12>>2]|0)==3){do if(!h){h=b[Ka>>1]|0;if(h<<16>>16>3){qd[c[f+68>>2]&255](k,s,q,o);break}else{a[Oa>>0]=a[(h<<16>>16)+(138408+(p<<2))>>0]|0;a[Oa+1>>0]=a[(b[Ka+4>>1]|0)+(138408+(p<<2))>>0]|0;a[Oa+2>>0]=a[(b[Ka+8>>1]|0)+(138408+(p<<2))>>0]|0;a[Oa+3>>0]=a[(b[Ka+12>>1]|0)+(138408+(p<<2))>>0]|0;rd[c[f+56>>2]&127](k,s,q,o,Oa);break}}while(0);p=k+n|0;q=w+Ha|0;r=d[138252+q>>0]|0;za=w+Ia|0;h=d[138096+za>>0]|0;do if(!(q>>>0<68|za>>>0<68)){o=b[v>>1]|0;if(o<<16>>16>3){qd[c[f+68>>2]&255](p,s,r,h);break}else{a[Oa>>0]=a[(o<<16>>16)+(138408+(q<<2))>>0]|0;a[Oa+1>>0]=a[(b[Ka+6>>1]|0)+(138408+(q<<2))>>0]|0;a[Oa+2>>0]=a[(b[Ka+10>>1]|0)+(138408+(q<<2))>>0]|0;a[Oa+3>>0]=a[(b[Ka+14>>1]|0)+(138408+(q<<2))>>0]|0;rd[c[f+56>>2]&127](p,s,r,h,Oa);break}}while(0);p=x+Ha|0;q=d[138252+p>>0]|0;za=x+Ia|0;h=d[138096+za>>0]|0;do if(!(p>>>0<68|za>>>0<68)){o=b[Ka>>1]|0;if(o<<16>>16>3){qd[c[f+68>>2]&255](l,s,q,h);break}else{a[Oa>>0]=a[(o<<16>>16)+(138408+(p<<2))>>0]|0;a[Oa+1>>0]=a[(b[Ka+4>>1]|0)+(138408+(p<<2))>>0]|0;a[Oa+2>>0]=a[(b[Ka+8>>1]|0)+(138408+(p<<2))>>0]|0;a[Oa+3>>0]=a[(b[Ka+12>>1]|0)+(138408+(p<<2))>>0]|0;rd[c[f+56>>2]&127](l,s,q,h,Oa);break}}while(0);p=l+n|0;q=y+Ha|0;r=d[138252+q>>0]|0;za=y+Ia|0;o=d[138096+za>>0]|0;if(q>>>0<68|za>>>0<68)break;h=b[v>>1]|0;if(h<<16>>16>3){qd[c[f+68>>2]&255](p,s,r,o);break}else{a[Oa>>0]=a[(h<<16>>16)+(138408+(q<<2))>>0]|0;a[Oa+1>>0]=a[(b[Ka+6>>1]|0)+(138408+(q<<2))>>0]|0;a[Oa+2>>0]=a[(b[Ka+10>>1]|0)+(138408+(q<<2))>>0]|0;a[Oa+3>>0]=a[(b[Ka+14>>1]|0)+(138408+(q<<2))>>0]|0;rd[c[f+56>>2]&127](p,s,r,o,Oa);break}}else{do if(!h){h=b[Ka>>1]|0;if(h<<16>>16>3){qd[c[f+92>>2]&255](k,s,q,o);break}else{a[Oa>>0]=(d[(h<<16>>16)+(138408+(p<<2))>>0]|0)+1;a[Oa+1>>0]=(d[(b[Ka+4>>1]|0)+(138408+(p<<2))>>0]|0)+1;a[Oa+2>>0]=(d[(b[Ka+8>>1]|0)+(138408+(p<<2))>>0]|0)+1;a[Oa+3>>0]=(d[(b[Ka+12>>1]|0)+(138408+(p<<2))>>0]|0)+1;rd[c[f+80>>2]&127](k,s,q,o,Oa);break}}while(0);p=k+n|0;q=w+Ha|0;r=d[138252+q>>0]|0;za=w+Ia|0;h=d[138096+za>>0]|0;do if(!(q>>>0<68|za>>>0<68)){o=b[v>>1]|0;if(o<<16>>16>3){qd[c[f+92>>2]&255](p,s,r,h);break}else{a[Oa>>0]=(d[(o<<16>>16)+(138408+(q<<2))>>0]|0)+1;a[Oa+1>>0]=(d[(b[Ka+6>>1]|0)+(138408+(q<<2))>>0]|0)+1;a[Oa+2>>0]=(d[(b[Ka+10>>1]|0)+(138408+(q<<2))>>0]|0)+1;a[Oa+3>>0]=(d[(b[Ka+14>>1]|0)+(138408+(q<<2))>>0]|0)+1;rd[c[f+80>>2]&127](p,s,r,h,Oa);break}}while(0);p=x+Ha|0;q=d[138252+p>>0]|0;za=x+Ia|0;h=d[138096+za>>0]|0;do if(!(p>>>0<68|za>>>0<68)){o=b[Ka>>1]|0;if(o<<16>>16>3){qd[c[f+92>>2]&255](l,s,q,h);break}else{a[Oa>>0]=(d[(o<<16>>16)+(138408+(p<<2))>>0]|0)+1;a[Oa+1>>0]=(d[(b[Ka+4>>1]|0)+(138408+(p<<2))>>0]|0)+1;a[Oa+2>>0]=(d[(b[Ka+8>>1]|0)+(138408+(p<<2))>>0]|0)+1;a[Oa+3>>0]=(d[(b[Ka+12>>1]|0)+(138408+(p<<2))>>0]|0)+1;rd[c[f+80>>2]&127](l,s,q,h,Oa);break}}while(0);p=l+n|0;q=y+Ha|0;r=d[138252+q>>0]|0;za=y+Ia|0;o=d[138096+za>>0]|0;if(q>>>0<68|za>>>0<68)break;h=b[v>>1]|0;if(h<<16>>16>3){qd[c[f+92>>2]&255](p,s,r,o);break}else{a[Oa>>0]=(d[(h<<16>>16)+(138408+(q<<2))>>0]|0)+1;a[Oa+1>>0]=(d[(b[Ka+6>>1]|0)+(138408+(q<<2))>>0]|0)+1;a[Oa+2>>0]=(d[(b[Ka+10>>1]|0)+(138408+(q<<2))>>0]|0)+1;a[Oa+3>>0]=(d[(b[Ka+14>>1]|0)+(138408+(q<<2))>>0]|0)+1;rd[c[f+80>>2]&127](p,s,r,o,Oa);break}}}}else{p=h+Ha|0;q=d[138252+p>>0]|0;za=h+Ia|0;h=d[138096+za>>0]|0;do if(!(p>>>0<68|za>>>0<68)){o=b[Ka>>1]|0;if(o<<16>>16>3){qd[c[f+68>>2]&255](j,m,q,h);break}else{a[Oa>>0]=a[(o<<16>>16)+(138408+(p<<2))>>0]|0;a[Oa+1>>0]=a[(b[Ka+2>>1]|0)+(138408+(p<<2))>>0]|0;a[Oa+2>>0]=a[(b[Ka+4>>1]|0)+(138408+(p<<2))>>0]|0;a[Oa+3>>0]=a[(b[Ka+6>>1]|0)+(138408+(p<<2))>>0]|0;rd[c[f+56>>2]&127](j,m,q,h,Oa);break}}while(0);p=j+(m<<3)|0;v=Ka+8|0;q=t+Ha|0;r=d[138252+q>>0]|0;za=t+Ia|0;h=d[138096+za>>0]|0;do if(!(q>>>0<68|za>>>0<68)){o=b[v>>1]|0;if(o<<16>>16>3){qd[c[f+68>>2]&255](p,m,r,h);break}else{a[Oa>>0]=a[(o<<16>>16)+(138408+(q<<2))>>0]|0;a[Oa+1>>0]=a[(b[Ka+10>>1]|0)+(138408+(q<<2))>>0]|0;a[Oa+2>>0]=a[(b[Ka+12>>1]|0)+(138408+(q<<2))>>0]|0;a[Oa+3>>0]=a[(b[Ka+14>>1]|0)+(138408+(q<<2))>>0]|0;rd[c[f+56>>2]&127](p,m,r,h,Oa);break}}while(0);if(Ga){h=c[(c[Fa>>2]|0)+12>>2]|0;if((h|0)==3){p=u+Ha|0;q=d[138252+p>>0]|0;za=u+Ia|0;h=d[138096+za>>0]|0;do if(!(p>>>0<68|za>>>0<68)){o=b[Ka>>1]|0;if(o<<16>>16>3){qd[c[f+68>>2]&255](k,n,q,h);break}else{a[Oa>>0]=a[(o<<16>>16)+(138408+(p<<2))>>0]|0;a[Oa+1>>0]=a[(b[Ka+2>>1]|0)+(138408+(p<<2))>>0]|0;a[Oa+2>>0]=a[(b[Ka+4>>1]|0)+(138408+(p<<2))>>0]|0;a[Oa+3>>0]=a[(b[Ka+6>>1]|0)+(138408+(p<<2))>>0]|0;rd[c[f+56>>2]&127](k,n,q,h,Oa);break}}while(0);s=n<<3;p=k+s|0;q=w+Ha|0;r=d[138252+q>>0]|0;za=w+Ia|0;h=d[138096+za>>0]|0;do if(!(q>>>0<68|za>>>0<68)){o=b[v>>1]|0;if(o<<16>>16>3){qd[c[f+68>>2]&255](p,n,r,h);break}else{a[Oa>>0]=a[(o<<16>>16)+(138408+(q<<2))>>0]|0;a[Oa+1>>0]=a[(b[Ka+10>>1]|0)+(138408+(q<<2))>>0]|0;a[Oa+2>>0]=a[(b[Ka+12>>1]|0)+(138408+(q<<2))>>0]|0;a[Oa+3>>0]=a[(b[Ka+14>>1]|0)+(138408+(q<<2))>>0]|0;rd[c[f+56>>2]&127](p,n,r,h,Oa);break}}while(0);p=x+Ha|0;q=d[138252+p>>0]|0;za=x+Ia|0;h=d[138096+za>>0]|0;do if(!(p>>>0<68|za>>>0<68)){o=b[Ka>>1]|0;if(o<<16>>16>3){qd[c[f+68>>2]&255](l,n,q,h);break}else{a[Oa>>0]=a[(o<<16>>16)+(138408+(p<<2))>>0]|0;a[Oa+1>>0]=a[(b[Ka+2>>1]|0)+(138408+(p<<2))>>0]|0;a[Oa+2>>0]=a[(b[Ka+4>>1]|0)+(138408+(p<<2))>>0]|0;a[Oa+3>>0]=a[(b[Ka+6>>1]|0)+(138408+(p<<2))>>0]|0;rd[c[f+56>>2]&127](l,n,q,h,Oa);break}}while(0);p=l+s|0;q=y+Ha|0;r=d[138252+q>>0]|0;za=y+Ia|0;o=d[138096+za>>0]|0;if(q>>>0<68|za>>>0<68)break;h=b[v>>1]|0;if(h<<16>>16>3){qd[c[f+68>>2]&255](p,n,r,o);break}else{a[Oa>>0]=a[(h<<16>>16)+(138408+(q<<2))>>0]|0;a[Oa+1>>0]=a[(b[Ka+10>>1]|0)+(138408+(q<<2))>>0]|0;a[Oa+2>>0]=a[(b[Ka+12>>1]|0)+(138408+(q<<2))>>0]|0;a[Oa+3>>0]=a[(b[Ka+14>>1]|0)+(138408+(q<<2))>>0]|0;rd[c[f+56>>2]&127](p,n,r,o,Oa);break}}p=(h|0)==2;q=u+Ha|0;r=d[138252+q>>0]|0;za=u+Ia|0;h=d[138096+za>>0]|0;do if(!(q>>>0<68|za>>>0<68)){o=b[Ka>>1]|0;if(o<<16>>16>3){qd[c[f+92>>2]&255](k,n,r,h);break}else{a[Oa>>0]=(d[(o<<16>>16)+(138408+(q<<2))>>0]|0)+1;a[Oa+1>>0]=(d[(b[Ka+2>>1]|0)+(138408+(q<<2))>>0]|0)+1;a[Oa+2>>0]=(d[(b[Ka+4>>1]|0)+(138408+(q<<2))>>0]|0)+1;a[Oa+3>>0]=(d[(b[Ka+6>>1]|0)+(138408+(q<<2))>>0]|0)+1;rd[c[f+80>>2]&127](k,n,r,h,Oa);break}}while(0);if(p){s=n<<3;p=k+s|0;q=w+Ha|0;r=d[138252+q>>0]|0;za=w+Ia|0;h=d[138096+za>>0]|0;do if(!(q>>>0<68|za>>>0<68)){o=b[v>>1]|0;if(o<<16>>16>3){qd[c[f+92>>2]&255](p,n,r,h);break}else{a[Oa>>0]=(d[(o<<16>>16)+(138408+(q<<2))>>0]|0)+1;a[Oa+1>>0]=(d[(b[Ka+10>>1]|0)+(138408+(q<<2))>>0]|0)+1;a[Oa+2>>0]=(d[(b[Ka+12>>1]|0)+(138408+(q<<2))>>0]|0)+1;a[Oa+3>>0]=(d[(b[Ka+14>>1]|0)+(138408+(q<<2))>>0]|0)+1;rd[c[f+80>>2]&127](p,n,r,h,Oa);break}}while(0);p=x+Ha|0;q=d[138252+p>>0]|0;za=x+Ia|0;h=d[138096+za>>0]|0;do if(!(p>>>0<68|za>>>0<68)){o=b[Ka>>1]|0;if(o<<16>>16>3){qd[c[f+92>>2]&255](l,n,q,h);break}else{a[Oa>>0]=(d[(o<<16>>16)+(138408+(p<<2))>>0]|0)+1;a[Oa+1>>0]=(d[(b[Ka+2>>1]|0)+(138408+(p<<2))>>0]|0)+1;a[Oa+2>>0]=(d[(b[Ka+4>>1]|0)+(138408+(p<<2))>>0]|0)+1;a[Oa+3>>0]=(d[(b[Ka+6>>1]|0)+(138408+(p<<2))>>0]|0)+1;rd[c[f+80>>2]&127](l,n,q,h,Oa);break}}while(0);p=l+s|0;q=y+Ha|0;r=d[138252+q>>0]|0;za=y+Ia|0;o=d[138096+za>>0]|0;if(q>>>0<68|za>>>0<68)break;h=b[v>>1]|0;if(h<<16>>16>3){qd[c[f+92>>2]&255](p,n,r,o);break}else{a[Oa>>0]=(d[(h<<16>>16)+(138408+(q<<2))>>0]|0)+1;a[Oa+1>>0]=(d[(b[Ka+10>>1]|0)+(138408+(q<<2))>>0]|0)+1;a[Oa+2>>0]=(d[(b[Ka+12>>1]|0)+(138408+(q<<2))>>0]|0)+1;a[Oa+3>>0]=(d[(b[Ka+14>>1]|0)+(138408+(q<<2))>>0]|0)+1;rd[c[f+80>>2]&127](p,n,r,o,Oa);break}}else{s=n<<2;p=k+s|0;q=w+Ha|0;r=d[138252+q>>0]|0;za=w+Ia|0;h=d[138096+za>>0]|0;do if(!(q>>>0<68|za>>>0<68)){o=b[v>>1]|0;if(o<<16>>16>3){qd[c[f+92>>2]&255](p,n,r,h);break}else{a[Oa>>0]=(d[(o<<16>>16)+(138408+(q<<2))>>0]|0)+1;a[Oa+1>>0]=(d[(b[Ka+10>>1]|0)+(138408+(q<<2))>>0]|0)+1;a[Oa+2>>0]=(d[(b[Ka+12>>1]|0)+(138408+(q<<2))>>0]|0)+1;a[Oa+3>>0]=(d[(b[Ka+14>>1]|0)+(138408+(q<<2))>>0]|0)+1;rd[c[f+80>>2]&127](p,n,r,h,Oa);break}}while(0);p=x+Ha|0;q=d[138252+p>>0]|0;za=x+Ia|0;h=d[138096+za>>0]|0;do if(!(p>>>0<68|za>>>0<68)){o=b[Ka>>1]|0;if(o<<16>>16>3){qd[c[f+92>>2]&255](l,n,q,h);break}else{a[Oa>>0]=(d[(o<<16>>16)+(138408+(p<<2))>>0]|0)+1;a[Oa+1>>0]=(d[(b[Ka+2>>1]|0)+(138408+(p<<2))>>0]|0)+1;a[Oa+2>>0]=(d[(b[Ka+4>>1]|0)+(138408+(p<<2))>>0]|0)+1;a[Oa+3>>0]=(d[(b[Ka+6>>1]|0)+(138408+(p<<2))>>0]|0)+1;rd[c[f+80>>2]&127](l,n,q,h,Oa);break}}while(0);p=l+s|0;q=y+Ha|0;r=d[138252+q>>0]|0;za=y+Ia|0;o=d[138096+za>>0]|0;if(q>>>0<68|za>>>0<68)break;h=b[v>>1]|0;if(h<<16>>16>3){qd[c[f+92>>2]&255](p,n,r,o);break}else{a[Oa>>0]=(d[(h<<16>>16)+(138408+(q<<2))>>0]|0)+1;a[Oa+1>>0]=(d[(b[Ka+10>>1]|0)+(138408+(q<<2))>>0]|0)+1;a[Oa+2>>0]=(d[(b[Ka+12>>1]|0)+(138408+(q<<2))>>0]|0)+1;a[Oa+3>>0]=(d[(b[Ka+14>>1]|0)+(138408+(q<<2))>>0]|0)+1;rd[c[f+80>>2]&127](p,n,r,o,Oa);break}}}}while(0);ea=1}else ea=0;fa=Ba+-1|0;ga=g+21732|0;ha=Da>>>3&7;ia=g+21856|0;ja=Da&16777216;ka=(Da&7|0)==0;la=Ka+6|0;ma=Ka+4|0;na=Ka+2|0;oa=f+24340|0;pa=f+25664|0;qa=g+852|0;ra=g+856|0;sa=Oa+1|0;ta=Oa+2|0;ua=Oa+3|0;va=f+52|0;wa=f+76|0;xa=m<<2;ya=f+48|0;za=f+72|0;G=(i&1|0)==0;I=Da&128^128;J=m<<1;K=n<<1;L=f+28212|0;M=f+25972|0;O=f+26392|0;P=g+27836|0;Q=g+27837|0;R=Ka+2|0;S=Ka+4|0;T=Ka+6|0;U=g+27839|0;V=g+27838|0;W=Ka+2|0;X=Ka+4|0;Y=Ka+6|0;Z=Ka+6|0;_=Ka+4|0;$=Ka+2|0;aa=f+64|0;ba=f+88|0;ca=f+60|0;da=f+84|0;z=f+26380|0;A=g+21712|0;f=0;while(1){if((f|0)==2)break;i=(f|0)!=0;C=c[(c[Fa>>2]|0)+12>>2]|0;B=(C|0)==3;C=(C|0)==2;D=(f|0)==0;if(D)s=fa;else s=c[A>>2]|0;h=c[(D?Aa:ga)>>2]|0;F=a[139064+(f<<3)+ha>>0]|0;E=F&255;if(F<<24>>24==3)F=(c[ia>>2]&15|0)==0?1:4;else F=4;o=32>>>f|8;y=o&Da;r=i^1;b:do if(!(ea&r|(h|0)==0)){p=c[Ja>>2]|0;if(!((h&I|0)==0|G&((f|0)==1&(p|0)!=0)^1)){u=Ba-(c[La>>2]<<1)|0;v=0;while(1){if((v|0)==2)break b;h=c[(c[Ca>>2]|0)+(u<<2)>>2]|0;c:do if(!((h|Da)&7)){if((h&16777216|0)==0?1:(c[(c[L>>2]|0)+4>>2]|0)!=0){o=(c[M>>2]|0)+(u*48|0)+12|0;h=0;while(1){if((h|0)==4)break c;b[Ka+(h<<1)>>1]=(a[o+h>>0]|a[h+12+(g+27824)>>0])<<24>>24?2:1;h=h+1|0}}h=b[(c[O>>2]|0)+(u<<1)>>1]|0;if(!(h&16384)){b[Ka>>1]=(a[P>>0]|0)==0?1:2;if(!(a[Q>>0]|0))o=1;else Pa=128}else{b[Ka>>1]=2;Pa=128}if((Pa|0)==128){Pa=0;o=2}b[R>>1]=o;if(h<<16>>16>=0){b[S>>1]=(a[V>>0]|0)==0?1:2;if(!(a[U>>0]|0))h=1;else Pa=132}else{b[S>>1]=2;Pa=132}if((Pa|0)==132){Pa=0;h=2}b[T>>1]=h}else{x=Ka;c[x>>2]=196611;c[x+4>>2]=196611}while(0);p=c[oa>>2]|0;h=a[p+u>>0]|0;p=(a[p+Ba>>0]|0)+1+(h<<24>>24)>>1;o=p+Ha|0;p=p+Ia|0;if(!(o>>>0<68|p>>>0<68)){h=d[138096+p>>0]|0;x=d[138252+o>>0]|0;w=j+(H(v,m)|0)|0;a[Oa>>0]=a[(b[Ka>>1]|0)+(138408+(o<<2))>>0]|0;a[sa>>0]=a[(b[W>>1]|0)+(138408+(o<<2))>>0]|0;a[ta>>0]=a[(b[X>>1]|0)+(138408+(o<<2))>>0]|0;a[ua>>0]=a[(b[Y>>1]|0)+(138408+(o<<2))>>0]|0;rd[c[ya>>2]&127](w,J,x,h,Oa);h=a[(c[oa>>2]|0)+u>>0]|0}x=c[L>>2]|0;s=h<<24>>24;h=(c[qa>>2]|0)+1+(d[x+548+s>>0]|0)>>1;s=(c[ra>>2]|0)+1+(d[x+636+s>>0]|0)>>1;do if(Ga){t=H(v,n)|0;p=k+t|0;q=h+Ha|0;r=d[138252+q>>0]|0;o=h+Ia|0;h=d[138096+o>>0]|0;o=q>>>0<68|o>>>0<68;if(B){if(!o){a[Oa>>0]=a[(b[Ka>>1]|0)+(138408+(q<<2))>>0]|0;a[sa>>0]=a[(b[W>>1]|0)+(138408+(q<<2))>>0]|0;a[ta>>0]=a[(b[X>>1]|0)+(138408+(q<<2))>>0]|0;a[ua>>0]=a[(b[Y>>1]|0)+(138408+(q<<2))>>0]|0;rd[c[ya>>2]&127](p,K,r,h,Oa)}o=s+Ha|0;h=s+Ia|0;if(o>>>0<68|h>>>0<68)break;x=d[138096+h>>0]|0;w=d[138252+o>>0]|0;a[Oa>>0]=a[(b[Ka>>1]|0)+(138408+(o<<2))>>0]|0;a[sa>>0]=a[(b[W>>1]|0)+(138408+(o<<2))>>0]|0;a[ta>>0]=a[(b[X>>1]|0)+(138408+(o<<2))>>0]|0;a[ua>>0]=a[(b[Y>>1]|0)+(138408+(o<<2))>>0]|0;rd[c[ya>>2]&127](l+t|0,K,w,x,Oa);break}else{if(!o){a[Oa>>0]=(d[(b[Ka>>1]|0)+(138408+(q<<2))>>0]|0)+1;a[sa>>0]=(d[(b[W>>1]|0)+(138408+(q<<2))>>0]|0)+1;a[ta>>0]=(d[(b[X>>1]|0)+(138408+(q<<2))>>0]|0)+1;a[ua>>0]=(d[(b[Y>>1]|0)+(138408+(q<<2))>>0]|0)+1;rd[c[za>>2]&127](p,K,r,h,Oa)}o=s+Ha|0;h=s+Ia|0;if(o>>>0<68|h>>>0<68)break;x=d[138096+h>>0]|0;w=d[138252+o>>0]|0;a[Oa>>0]=(d[(b[Ka>>1]|0)+(138408+(o<<2))>>0]|0)+1;a[sa>>0]=(d[(b[W>>1]|0)+(138408+(o<<2))>>0]|0)+1;a[ta>>0]=(d[(b[X>>1]|0)+(138408+(o<<2))>>0]|0)+1;a[ua>>0]=(d[(b[Y>>1]|0)+(138408+(o<<2))>>0]|0)+1;rd[c[za>>2]&127](l+t|0,K,w,x,Oa);break}}while(0);u=(c[La>>2]|0)+u|0;v=v+1|0}}q=h|Da;d:do if(!(q&7)){if(!((p|0)==0|r)?((h^Da)&128|0)!=0:0){q=Ka;c[q>>2]=65537;c[q+4>>2]=65537;q=0}else if((y|0)==0|(h&o|0)==0)q=1;else{q=(Dj(g,12,i?4:11,Ea)|0)&65535;b[Z>>1]=q;b[_>>1]=q;b[$>>1]=q;b[Ka>>1]=q;q=0}r=i?8:1;p=0;while(1){if((p|0)==4)break;h=(D?p<<3:p)+12|0;o=h-r|0;if(!((a[g+27824+o>>0]|a[g+27824+h>>0])<<24>>24)){if(q){h=(Dj(g,h,o,Ea)|0)&65535;Pa=166}}else{h=2;Pa=166}if((Pa|0)==166){Pa=0;b[Ka+(p<<1)>>1]=h}p=p+1|0}x=b[Ka>>1]|0;h=b[$>>1]|0;o=b[_>>1]|0;p=b[Z>>1]|0}else{x=Ka;c[x>>2]=196611;c[x+4>>2]=196611;do if(q&128|0)if(!p)if(D&(c[z>>2]|0)!=3)break;else{x=3;h=3;o=3;p=3;break d}else if(D)break;else{x=3;h=3;o=3;p=3;break d}while(0);x=Ka;c[x>>2]=262148;c[x+4>>2]=262148;x=4;h=4;o=4;p=4}while(0);w=x<<16>>16;v=h<<16>>16;u=o<<16>>16;t=p<<16>>16;do if((v+u+w|0)!=(0-t|0)){q=c[oa>>2]|0;s=a[q+s>>0]|0;q=(a[q+Ba>>0]|0)+1+s>>1;h=c[L>>2]|0;r=(c[qa>>2]|0)+1+(d[h+548+s>>0]|0)>>1;s=(c[ra>>2]|0)+1+(d[h+636+s>>0]|0)>>1;h=q+Ha|0;o=d[138252+h>>0]|0;q=q+Ia|0;p=d[138096+q>>0]|0;q=h>>>0<68|q>>>0<68;if(D){do if(!q)if(x<<16>>16>3){qd[c[aa>>2]&255](j,m,o,p);break}else{a[Oa>>0]=a[138408+(h<<2)+w>>0]|0;a[sa>>0]=a[138408+(h<<2)+v>>0]|0;a[ta>>0]=a[138408+(h<<2)+u>>0]|0;a[ua>>0]=a[138408+(h<<2)+t>>0]|0;rd[c[va>>2]&127](j,m,o,p,Oa);break}while(0);if(!Ga)break;p=r+Ha|0;q=d[138252+p>>0]|0;o=r+Ia|0;h=d[138096+o>>0]|0;o=p>>>0<68|o>>>0<68;if(B){do if(!o)if(x<<16>>16>3){qd[c[aa>>2]&255](k,n,q,h);break}else{a[Oa>>0]=a[138408+(p<<2)+w>>0]|0;a[sa>>0]=a[138408+(p<<2)+v>>0]|0;a[ta>>0]=a[138408+(p<<2)+u>>0]|0;a[ua>>0]=a[138408+(p<<2)+t>>0]|0;rd[c[va>>2]&127](k,n,q,h,Oa);break}while(0);o=s+Ha|0;p=d[138252+o>>0]|0;s=s+Ia|0;h=d[138096+s>>0]|0;if(o>>>0<68|s>>>0<68)break;if(x<<16>>16>3){qd[c[aa>>2]&255](l,n,p,h);break}else{a[Oa>>0]=a[138408+(o<<2)+w>>0]|0;a[sa>>0]=a[138408+(o<<2)+v>>0]|0;a[ta>>0]=a[138408+(o<<2)+u>>0]|0;a[ua>>0]=a[138408+(o<<2)+t>>0]|0;rd[c[va>>2]&127](l,n,p,h,Oa);break}}else{do if(!o)if(x<<16>>16>3){qd[c[ba>>2]&255](k,n,q,h);break}else{a[Oa>>0]=(d[138408+(p<<2)+w>>0]|0)+1;a[sa>>0]=(d[138408+(p<<2)+v>>0]|0)+1;a[ta>>0]=(d[138408+(p<<2)+u>>0]|0)+1;a[ua>>0]=(d[138408+(p<<2)+t>>0]|0)+1;rd[c[wa>>2]&127](k,n,q,h,Oa);break}while(0);o=s+Ha|0;p=d[138252+o>>0]|0;s=s+Ia|0;h=d[138096+s>>0]|0;if(o>>>0<68|s>>>0<68)break;if(x<<16>>16>3){qd[c[ba>>2]&255](l,n,p,h);break}else{a[Oa>>0]=(d[138408+(o<<2)+w>>0]|0)+1;a[sa>>0]=(d[138408+(o<<2)+v>>0]|0)+1;a[ta>>0]=(d[138408+(o<<2)+u>>0]|0)+1;a[ua>>0]=(d[138408+(o<<2)+t>>0]|0)+1;rd[c[wa>>2]&127](l,n,p,h,Oa);break}}}else{do if(!q)if(x<<16>>16>3){qd[c[ca>>2]&255](j,m,o,p);break}else{a[Oa>>0]=a[138408+(h<<2)+w>>0]|0;a[sa>>0]=a[138408+(h<<2)+v>>0]|0;a[ta>>0]=a[138408+(h<<2)+u>>0]|0;a[ua>>0]=a[138408+(h<<2)+t>>0]|0;rd[c[ya>>2]&127](j,m,o,p,Oa);break}while(0);if(!Ga)break;p=r+Ha|0;q=d[138252+p>>0]|0;o=r+Ia|0;h=d[138096+o>>0]|0;o=p>>>0<68|o>>>0<68;if(B){do if(!o)if(x<<16>>16>3){qd[c[ca>>2]&255](k,n,q,h);break}else{a[Oa>>0]=a[138408+(p<<2)+w>>0]|0;a[sa>>0]=a[138408+(p<<2)+v>>0]|0;a[ta>>0]=a[138408+(p<<2)+u>>0]|0;a[ua>>0]=a[138408+(p<<2)+t>>0]|0;rd[c[ya>>2]&127](k,n,q,h,Oa);break}while(0);o=s+Ha|0;p=d[138252+o>>0]|0;s=s+Ia|0;h=d[138096+s>>0]|0;if(o>>>0<68|s>>>0<68)break;if(x<<16>>16>3){qd[c[ca>>2]&255](l,n,p,h);break}else{a[Oa>>0]=a[138408+(o<<2)+w>>0]|0;a[sa>>0]=a[138408+(o<<2)+v>>0]|0;a[ta>>0]=a[138408+(o<<2)+u>>0]|0;a[ua>>0]=a[138408+(o<<2)+t>>0]|0;rd[c[ya>>2]&127](l,n,p,h,Oa);break}}else{do if(!o)if(x<<16>>16>3){qd[c[da>>2]&255](k,n,q,h);break}else{a[Oa>>0]=(d[138408+(p<<2)+w>>0]|0)+1;a[sa>>0]=(d[138408+(p<<2)+v>>0]|0)+1;a[ta>>0]=(d[138408+(p<<2)+u>>0]|0)+1;a[ua>>0]=(d[138408+(p<<2)+t>>0]|0)+1;rd[c[za>>2]&127](k,n,q,h,Oa);break}while(0);o=s+Ha|0;p=d[138252+o>>0]|0;s=s+Ia|0;h=d[138096+s>>0]|0;if(o>>>0<68|s>>>0<68)break;if(x<<16>>16>3){qd[c[da>>2]&255](l,n,p,h);break}else{a[Oa>>0]=(d[138408+(o<<2)+w>>0]|0)+1;a[sa>>0]=(d[138408+(o<<2)+v>>0]|0)+1;a[ta>>0]=(d[138408+(o<<2)+u>>0]|0)+1;a[ua>>0]=(d[138408+(o<<2)+t>>0]|0)+1;rd[c[za>>2]&127](l,n,p,h,Oa);break}}}}while(0)}while(0);x=D|C^1;w=(y|0)==0;v=i?8:1;u=1;while(1){if((u|0)>=(F|0))break;r=(ja&u<<24|0)==0;do if(!(x&(r^1))){if(ka){if(!(u&E))if(w)p=1;else{p=(H(u,v)|0)+12|0;p=(Dj(g,p,p-v|0,Ea)|0)&65535;b[la>>1]=p;b[ma>>1]=p;b[na>>1]=p;b[Ka>>1]=p;p=0}else{p=Ka;c[p>>2]=0;c[p+4>>2]=0;p=0}q=0;while(1){if((q|0)==4)break;h=(D?u:q)+12+((D?q:u)<<3)|0;o=h-v|0;if(!((a[g+27824+o>>0]|a[g+27824+h>>0])<<24>>24)){if(p){h=(Dj(g,h,o,Ea)|0)&65535;Pa=230}}else{h=2;Pa=230}if((Pa|0)==230){Pa=0;b[Ka+(q<<1)>>1]=h}q=q+1|0}h=b[Ka>>1]|0;o=b[na>>1]|0;p=b[ma>>1]|0;q=b[la>>1]|0;if(((o<<16>>16)+(h<<16>>16)+(p<<16>>16)|0)==(0-(q<<16>>16)|0))break;else t=q}else{h=Ka;c[h>>2]=196611;c[h+4>>2]=196611;h=3;o=3;p=3;t=3}q=a[(c[oa>>2]|0)+Ba>>0]|0;if(D){s=u<<2;r=Ha+q|0;q=Ia+q|0;if(!(r>>>0<68|q>>>0<68)){i=d[138096+q>>0]|0;y=d[138252+r>>0]|0;q=j+(s<>2])|0;a[Oa>>0]=a[(h<<16>>16)+(138408+(r<<2))>>0]|0;a[sa>>0]=a[(o<<16>>16)+(138408+(r<<2))>>0]|0;a[ta>>0]=a[(p<<16>>16)+(138408+(r<<2))>>0]|0;a[ua>>0]=a[(t<<16>>16)+(138408+(r<<2))>>0]|0;rd[c[va>>2]&127](q,m,y,i,Oa)}if(!Ga)break;if(B){r=c[qa>>2]|0;q=r+Ha|0;r=r+Ia|0;if(!(q>>>0<68|r>>>0<68)){i=d[138096+r>>0]|0;y=d[138252+q>>0]|0;r=k+(s<>2])|0;a[Oa>>0]=a[(h<<16>>16)+(138408+(q<<2))>>0]|0;a[sa>>0]=a[(o<<16>>16)+(138408+(q<<2))>>0]|0;a[ta>>0]=a[(p<<16>>16)+(138408+(q<<2))>>0]|0;a[ua>>0]=a[(t<<16>>16)+(138408+(q<<2))>>0]|0;rd[c[va>>2]&127](r,n,y,i,Oa)}r=c[ra>>2]|0;q=r+Ha|0;r=r+Ia|0;if(q>>>0<68|r>>>0<68)break;i=d[138096+r>>0]|0;y=d[138252+q>>0]|0;s=l+(s<>2])|0;a[Oa>>0]=a[(h<<16>>16)+(138408+(q<<2))>>0]|0;a[sa>>0]=a[(o<<16>>16)+(138408+(q<<2))>>0]|0;a[ta>>0]=a[(p<<16>>16)+(138408+(q<<2))>>0]|0;a[ua>>0]=a[(t<<16>>16)+(138408+(q<<2))>>0]|0;rd[c[va>>2]&127](s,n,y,i,Oa);break}if(u&1|0)break;s=u<<1;r=c[qa>>2]|0;q=r+Ha|0;r=r+Ia|0;if(!(q>>>0<68|r>>>0<68)){i=d[138096+r>>0]|0;y=d[138252+q>>0]|0;r=k+(s<>2])|0;a[Oa>>0]=(d[(h<<16>>16)+(138408+(q<<2))>>0]|0)+1;a[sa>>0]=(d[(o<<16>>16)+(138408+(q<<2))>>0]|0)+1;a[ta>>0]=(d[(p<<16>>16)+(138408+(q<<2))>>0]|0)+1;a[ua>>0]=(d[(t<<16>>16)+(138408+(q<<2))>>0]|0)+1;rd[c[wa>>2]&127](r,n,y,i,Oa)}r=c[ra>>2]|0;q=r+Ha|0;r=r+Ia|0;if(q>>>0<68|r>>>0<68)break;i=d[138096+r>>0]|0;y=d[138252+q>>0]|0;s=l+(s<>2])|0;a[Oa>>0]=(d[(h<<16>>16)+(138408+(q<<2))>>0]|0)+1;a[sa>>0]=(d[(o<<16>>16)+(138408+(q<<2))>>0]|0)+1;a[ta>>0]=(d[(p<<16>>16)+(138408+(q<<2))>>0]|0)+1;a[ua>>0]=(d[(t<<16>>16)+(138408+(q<<2))>>0]|0)+1;rd[c[wa>>2]&127](s,n,y,i,Oa);break}if(C){if(r?(Ma=Ha+q|0,Na=Ia+q|0,!(Ma>>>0<68|Na>>>0<68)):0){i=d[138096+Na>>0]|0;y=d[138252+Ma>>0]|0;s=j+(H(xa,u)|0)|0;a[Oa>>0]=a[(h<<16>>16)+(138408+(Ma<<2))>>0]|0;a[sa>>0]=a[(o<<16>>16)+(138408+(Ma<<2))>>0]|0;a[ta>>0]=a[(p<<16>>16)+(138408+(Ma<<2))>>0]|0;a[ua>>0]=a[(t<<16>>16)+(138408+(Ma<<2))>>0]|0;rd[c[ya>>2]&127](s,m,y,i,Oa)}if(!Ga)break;s=H(u<<2,n)|0;r=c[qa>>2]|0;q=r+Ha|0;r=r+Ia|0;if(!(q>>>0<68|r>>>0<68)){i=d[138096+r>>0]|0;y=d[138252+q>>0]|0;a[Oa>>0]=(d[(h<<16>>16)+(138408+(q<<2))>>0]|0)+1;a[sa>>0]=(d[(o<<16>>16)+(138408+(q<<2))>>0]|0)+1;a[ta>>0]=(d[(p<<16>>16)+(138408+(q<<2))>>0]|0)+1;a[ua>>0]=(d[(t<<16>>16)+(138408+(q<<2))>>0]|0)+1;rd[c[za>>2]&127](k+s|0,n,y,i,Oa)}r=c[ra>>2]|0;q=r+Ha|0;r=r+Ia|0;if(q>>>0<68|r>>>0<68)break;i=d[138096+r>>0]|0;y=d[138252+q>>0]|0;a[Oa>>0]=(d[(h<<16>>16)+(138408+(q<<2))>>0]|0)+1;a[sa>>0]=(d[(o<<16>>16)+(138408+(q<<2))>>0]|0)+1;a[ta>>0]=(d[(p<<16>>16)+(138408+(q<<2))>>0]|0)+1;a[ua>>0]=(d[(t<<16>>16)+(138408+(q<<2))>>0]|0)+1;rd[c[za>>2]&127](l+s|0,n,y,i,Oa);break}r=u<<2;s=Ha+q|0;q=Ia+q|0;if(!(s>>>0<68|q>>>0<68)){i=d[138096+q>>0]|0;y=d[138252+s>>0]|0;q=j+(H(r,m)|0)|0;a[Oa>>0]=a[(h<<16>>16)+(138408+(s<<2))>>0]|0;a[sa>>0]=a[(o<<16>>16)+(138408+(s<<2))>>0]|0;a[ta>>0]=a[(p<<16>>16)+(138408+(s<<2))>>0]|0;a[ua>>0]=a[(t<<16>>16)+(138408+(s<<2))>>0]|0;rd[c[ya>>2]&127](q,m,y,i,Oa)}if(Ga){if(B){s=H(r,n)|0;r=c[qa>>2]|0;q=r+Ha|0;r=r+Ia|0;if(!(q>>>0<68|r>>>0<68)){i=d[138096+r>>0]|0;y=d[138252+q>>0]|0;a[Oa>>0]=a[(h<<16>>16)+(138408+(q<<2))>>0]|0;a[sa>>0]=a[(o<<16>>16)+(138408+(q<<2))>>0]|0;a[ta>>0]=a[(p<<16>>16)+(138408+(q<<2))>>0]|0;a[ua>>0]=a[(t<<16>>16)+(138408+(q<<2))>>0]|0;rd[c[ya>>2]&127](k+s|0,n,y,i,Oa)}r=c[ra>>2]|0;q=r+Ha|0;r=r+Ia|0;if(q>>>0<68|r>>>0<68)break;i=d[138096+r>>0]|0;y=d[138252+q>>0]|0;a[Oa>>0]=a[(h<<16>>16)+(138408+(q<<2))>>0]|0;a[sa>>0]=a[(o<<16>>16)+(138408+(q<<2))>>0]|0;a[ta>>0]=a[(p<<16>>16)+(138408+(q<<2))>>0]|0;a[ua>>0]=a[(t<<16>>16)+(138408+(q<<2))>>0]|0;rd[c[ya>>2]&127](l+s|0,n,y,i,Oa);break}if(!(u&1)){s=H(u<<1,n)|0;r=c[qa>>2]|0;q=r+Ha|0;r=r+Ia|0;if(!(q>>>0<68|r>>>0<68)){i=d[138096+r>>0]|0;y=d[138252+q>>0]|0;a[Oa>>0]=(d[(h<<16>>16)+(138408+(q<<2))>>0]|0)+1;a[sa>>0]=(d[(o<<16>>16)+(138408+(q<<2))>>0]|0)+1;a[ta>>0]=(d[(p<<16>>16)+(138408+(q<<2))>>0]|0)+1;a[ua>>0]=(d[(t<<16>>16)+(138408+(q<<2))>>0]|0)+1;rd[c[za>>2]&127](k+s|0,n,y,i,Oa)}r=c[ra>>2]|0;q=r+Ha|0;r=r+Ia|0;if(!(q>>>0<68|r>>>0<68)){i=d[138096+r>>0]|0;y=d[138252+q>>0]|0;a[Oa>>0]=(d[(h<<16>>16)+(138408+(q<<2))>>0]|0)+1;a[sa>>0]=(d[(o<<16>>16)+(138408+(q<<2))>>0]|0)+1;a[ta>>0]=(d[(p<<16>>16)+(138408+(q<<2))>>0]|0)+1;a[ua>>0]=(d[(t<<16>>16)+(138408+(q<<2))>>0]|0)+1;rd[c[za>>2]&127](l+s|0,n,y,i,Oa)}}}}while(0);u=u+1|0}f=f+1|0}$c=Qa;return}function Cj(e,f,g,h,i,j,k,l,m){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0;ta=$c;$c=$c+80|0;if(($c|0)>=(ad|0))N(80);ra=ta+64|0;na=ta;o=c[e+96>>2]|0;do if((o|0)!=0?(n=c[e+28212>>2]|0,(c[n+724>>2]|0)==0):0){ea=c[e+25664>>2]|0;qa=c[e+28216>>2]|0;u=c[qa+12>>2]|0;ka=(u|0)!=0;ma=(u|0)==3;u=(u|0)==2;W=c[f+21796>>2]|0;h=c[f+21740>>2]|0;ia=c[f+21732>>2]|0;qa=(H(c[qa+1184>>2]|0,-6)|0)+48|0;pa=(c[f+872>>2]|0)+52+qa|0;qa=(c[f+876>>2]|0)+52+qa|0;r=c[(c[e+24364>>2]|0)+(W<<2)>>2]|0;ja=c[e+24340>>2]|0;la=a[ja+W>>0]|0;W=a[ja+(W+-1)>>0]|0;ja=a[ja+(c[f+21712>>2]|0)>>0]|0;oa=d[n+548+la>>0]|0;ha=la+1|0;t=ha+W>>1;ha=ha+ja>>1;g=oa+1|0;W=(g+(d[n+548+W>>0]|0)|0)>>>1;ja=(g+(d[n+548+ja>>0]|0)|0)>>>1;if(r&7|0){I=(c[e+26380>>2]|0)!=3?114576:114584;q=(h|0)!=0;if(q?(p=t+pa|0,s=t+qa|0,!(p>>>0<68|s>>>0<68)):0)qd[c[e+64>>2]&255](i,l,d[138252+p>>0]|0,d[138096+s>>0]|0);f=(r&16777216|0)!=0;o=pa+la|0;p=138252+o|0;n=qa+la|0;h=138096+n|0;n=o>>>0<68|n>>>0<68;if(f){if(!n){na=d[h>>0]|0;la=d[p>>0]|0;_W(ra|0,a[138408+(o<<2)+3>>0]|0,4)|0;rd[c[e+52>>2]&127](i+(8<>0]|0,na=ha+qa|0,x=d[138096+na>>0]|0,!(v>>>0<68|na>>>0<68)):0){g=b[I>>1]|0;if(g<<16>>16>3){qd[c[e+60>>2]&255](i,l,w,x);break}else{a[ra>>0]=a[(g<<16>>16)+(138408+(v<<2))>>0]|0;a[ra+1>>0]=a[(b[I+2>>1]|0)+(138408+(v<<2))>>0]|0;a[ra+2>>0]=a[(b[I+4>>1]|0)+(138408+(v<<2))>>0]|0;a[ra+3>>0]=a[(b[I+6>>1]|0)+(138408+(v<<2))>>0]|0;rd[c[e+48>>2]&127](i,l,w,x,ra);break}}while(0);if(!n){na=d[h>>0]|0;la=d[p>>0]|0;_W(ra|0,a[138408+(o<<2)+3>>0]|0,4)|0;rd[c[e+48>>2]&127](i+(l<<3)|0,l,la,na,ra)}}else{if(!n){na=d[h>>0]|0;la=d[p>>0]|0;fa=a[138408+(o<<2)+3>>0]|0;ga=e+52|0;_W(ra|0,fa|0,4)|0;rd[c[ga>>2]&127](i+(4<>2]&127](i+(8<>2]&127](i+(12<>0]|0,na=ha+qa|0,A=d[138096+na>>0]|0,!(y>>>0<68|na>>>0<68)):0){g=b[I>>1]|0;if(g<<16>>16>3){qd[c[e+60>>2]&255](i,l,z,A);break}else{a[ra>>0]=a[(g<<16>>16)+(138408+(y<<2))>>0]|0;a[ra+1>>0]=a[(b[I+2>>1]|0)+(138408+(y<<2))>>0]|0;a[ra+2>>0]=a[(b[I+4>>1]|0)+(138408+(y<<2))>>0]|0;a[ra+3>>0]=a[(b[I+6>>1]|0)+(138408+(y<<2))>>0]|0;rd[c[e+48>>2]&127](i,l,z,A,ra);break}}while(0);if(!n){na=d[h>>0]|0;la=d[p>>0]|0;ga=a[138408+(o<<2)+3>>0]|0;ha=e+48|0;_W(ra|0,ga|0,4)|0;rd[c[ha>>2]&127](i+(l<<2)|0,l,la,na,ra);_W(ra|0,ga|0,4)|0;rd[c[ha>>2]&127](i+(l<<3)|0,l,la,na,ra);_W(ra|0,ga|0,4)|0;rd[c[ha>>2]&127](i+(l*12|0)|0,l,la,na,ra)}}if(!ka)break;if(ma){if(q?(B=W+pa|0,C=W+qa|0,!(B>>>0<68|C>>>0<68)):0){m=d[138096+C>>0]|0;na=d[138252+B>>0]|0;ma=e+64|0;qd[c[ma>>2]&255](j,l,na,m);qd[c[ma>>2]&255](k,l,na,m)}if(f){g=8<>>0<68|n>>>0<68;if(!n){m=d[h>>0]|0;oa=d[o>>0]|0;ma=a[138408+(f<<2)+3>>0]|0;na=e+52|0;_W(ra|0,ma|0,4)|0;rd[c[na>>2]&127](j+g|0,l,oa,m,ra);_W(ra|0,ma|0,4)|0;rd[c[na>>2]&127](k+g|0,l,oa,m,ra)}do if(ia|0?(J=ja+pa|0,K=d[138252+J>>0]|0,qa=ja+qa|0,L=d[138096+qa>>0]|0,!(J>>>0<68|qa>>>0<68)):0){g=b[I>>1]|0;if(g<<16>>16>3){qa=e+60|0;qd[c[qa>>2]&255](j,l,K,L);qd[c[qa>>2]&255](k,l,K,L);break}else{la=a[(g<<16>>16)+(138408+(J<<2))>>0]|0;a[ra>>0]=la;i=a[(b[I+2>>1]|0)+(138408+(J<<2))>>0]|0;ma=ra+1|0;a[ma>>0]=i;na=a[(b[I+4>>1]|0)+(138408+(J<<2))>>0]|0;oa=ra+2|0;a[oa>>0]=na;m=a[(b[I+6>>1]|0)+(138408+(J<<2))>>0]|0;pa=ra+3|0;a[pa>>0]=m;qa=e+48|0;rd[c[qa>>2]&127](j,l,K,L,ra);a[ra>>0]=la;a[ma>>0]=i;a[oa>>0]=na;a[pa>>0]=m;rd[c[qa>>2]&127](k,l,K,L,ra);break}}while(0);g=l<<3;if(n)break;qa=d[h>>0]|0;pa=d[o>>0]|0;m=a[138408+(f<<2)+3>>0]|0;e=e+48|0;_W(ra|0,m|0,4)|0;rd[c[e>>2]&127](j+g|0,l,pa,qa,ra);_W(ra|0,m|0,4)|0;rd[c[e>>2]&127](k+g|0,l,pa,qa,ra);break}else{g=4<>>0<68|n>>>0<68;if(!n){m=d[h>>0]|0;oa=d[o>>0]|0;i=a[138408+(f<<2)+3>>0]|0;ma=e+52|0;_W(ra|0,i|0,4)|0;rd[c[ma>>2]&127](j+g|0,l,oa,m,ra);_W(ra|0,i|0,4)|0;rd[c[ma>>2]&127](k+g|0,l,oa,m,ra);na=8<>2]&127](j+na|0,l,oa,m,ra);_W(ra|0,i|0,4)|0;rd[c[ma>>2]&127](k+na|0,l,oa,m,ra);na=12<>2]&127](j+na|0,l,oa,m,ra);_W(ra|0,i|0,4)|0;rd[c[ma>>2]&127](k+na|0,l,oa,m,ra)}do if(ia|0?(M=ja+pa|0,O=d[138252+M>>0]|0,qa=ja+qa|0,P=d[138096+qa>>0]|0,!(M>>>0<68|qa>>>0<68)):0){g=b[I>>1]|0;if(g<<16>>16>3){qa=e+60|0;qd[c[qa>>2]&255](j,l,O,P);qd[c[qa>>2]&255](k,l,O,P);break}else{la=a[(g<<16>>16)+(138408+(M<<2))>>0]|0;a[ra>>0]=la;i=a[(b[I+2>>1]|0)+(138408+(M<<2))>>0]|0;ma=ra+1|0;a[ma>>0]=i;na=a[(b[I+4>>1]|0)+(138408+(M<<2))>>0]|0;oa=ra+2|0;a[oa>>0]=na;m=a[(b[I+6>>1]|0)+(138408+(M<<2))>>0]|0;pa=ra+3|0;a[pa>>0]=m;qa=e+48|0;rd[c[qa>>2]&127](j,l,O,P,ra);a[ra>>0]=la;a[ma>>0]=i;a[oa>>0]=na;a[pa>>0]=m;rd[c[qa>>2]&127](k,l,O,P,ra);break}}while(0);g=l<<2;if(n)break;qa=d[h>>0]|0;pa=d[o>>0]|0;oa=a[138408+(f<<2)+3>>0]|0;m=e+48|0;_W(ra|0,oa|0,4)|0;rd[c[m>>2]&127](j+g|0,l,pa,qa,ra);_W(ra|0,oa|0,4)|0;rd[c[m>>2]&127](k+g|0,l,pa,qa,ra);e=l<<3;_W(ra|0,oa|0,4)|0;rd[c[m>>2]&127](j+e|0,l,pa,qa,ra);_W(ra|0,oa|0,4)|0;rd[c[m>>2]&127](k+e|0,l,pa,qa,ra);e=l*12|0;_W(ra|0,oa|0,4)|0;rd[c[m>>2]&127](j+e|0,l,pa,qa,ra);_W(ra|0,oa|0,4)|0;rd[c[m>>2]&127](k+e|0,l,pa,qa,ra);break}}if(u){if(q?(D=W+pa|0,E=W+qa|0,!(D>>>0<68|E>>>0<68)):0){l=d[138096+E>>0]|0;na=d[138252+D>>0]|0;ma=e+88|0;qd[c[ma>>2]&255](j,m,na,l);qd[c[ma>>2]&255](k,m,na,l)}g=4<>>0<68|n>>>0<68;if(!n){l=d[h>>0]|0;oa=d[o>>0]|0;ma=(d[138408+(f<<2)+3>>0]|0)+1&255;na=e+76|0;_W(ra|0,ma|0,4)|0;rd[c[na>>2]&127](j+g|0,m,oa,l,ra);_W(ra|0,ma|0,4)|0;rd[c[na>>2]&127](k+g|0,m,oa,l,ra)}do if(ia|0?(Q=ja+pa|0,R=d[138252+Q>>0]|0,l=ja+qa|0,S=d[138096+l>>0]|0,!(Q>>>0<68|l>>>0<68)):0){g=b[I>>1]|0;if(g<<16>>16>3){l=e+84|0;qd[c[l>>2]&255](j,m,R,S);qd[c[l>>2]&255](k,m,R,S);break}else{la=(d[(g<<16>>16)+(138408+(Q<<2))>>0]|0)+1&255;a[ra>>0]=la;i=(d[(b[I+2>>1]|0)+(138408+(Q<<2))>>0]|0)+1&255;ma=ra+1|0;a[ma>>0]=i;na=(d[(b[I+4>>1]|0)+(138408+(Q<<2))>>0]|0)+1&255;oa=ra+2|0;a[oa>>0]=na;pa=(d[(b[I+6>>1]|0)+(138408+(Q<<2))>>0]|0)+1&255;qa=ra+3|0;a[qa>>0]=pa;l=e+72|0;rd[c[l>>2]&127](j,m,R,S,ra);a[ra>>0]=la;a[ma>>0]=i;a[oa>>0]=na;a[qa>>0]=pa;rd[c[l>>2]&127](k,m,R,S,ra);break}}while(0);g=m<<2;if(n)break;l=d[h>>0]|0;qa=d[o>>0]|0;oa=(d[138408+(f<<2)+3>>0]|0)+1&255;pa=e+72|0;_W(ra|0,oa|0,4)|0;rd[c[pa>>2]&127](j+g|0,m,qa,l,ra);_W(ra|0,oa|0,4)|0;rd[c[pa>>2]&127](k+g|0,m,qa,l,ra);e=m<<3;_W(ra|0,oa|0,4)|0;rd[c[pa>>2]&127](j+e|0,m,qa,l,ra);_W(ra|0,oa|0,4)|0;rd[c[pa>>2]&127](k+e|0,m,qa,l,ra);e=m*12|0;_W(ra|0,oa|0,4)|0;rd[c[pa>>2]&127](j+e|0,m,qa,l,ra);_W(ra|0,oa|0,4)|0;rd[c[pa>>2]&127](k+e|0,m,qa,l,ra);break}else{if(q?(F=W+pa|0,G=W+qa|0,!(F>>>0<68|G>>>0<68)):0){l=d[138096+G>>0]|0;na=d[138252+F>>0]|0;ma=e+88|0;qd[c[ma>>2]&255](j,m,na,l);qd[c[ma>>2]&255](k,m,na,l)}g=4<>>0<68|n>>>0<68;if(!n){l=d[h>>0]|0;oa=d[o>>0]|0;ma=(d[138408+(f<<2)+3>>0]|0)+1&255;na=e+76|0;_W(ra|0,ma|0,4)|0;rd[c[na>>2]&127](j+g|0,m,oa,l,ra);_W(ra|0,ma|0,4)|0;rd[c[na>>2]&127](k+g|0,m,oa,l,ra)}do if(ia|0?(T=ja+pa|0,U=d[138252+T>>0]|0,l=ja+qa|0,V=d[138096+l>>0]|0,!(T>>>0<68|l>>>0<68)):0){g=b[I>>1]|0;if(g<<16>>16>3){l=e+84|0;qd[c[l>>2]&255](j,m,U,V);qd[c[l>>2]&255](k,m,U,V);break}else{la=(d[(g<<16>>16)+(138408+(T<<2))>>0]|0)+1&255;a[ra>>0]=la;i=(d[(b[I+2>>1]|0)+(138408+(T<<2))>>0]|0)+1&255;ma=ra+1|0;a[ma>>0]=i;na=(d[(b[I+4>>1]|0)+(138408+(T<<2))>>0]|0)+1&255;oa=ra+2|0;a[oa>>0]=na;pa=(d[(b[I+6>>1]|0)+(138408+(T<<2))>>0]|0)+1&255;qa=ra+3|0;a[qa>>0]=pa;l=e+72|0;rd[c[l>>2]&127](j,m,U,V,ra);a[ra>>0]=la;a[ma>>0]=i;a[oa>>0]=na;a[qa>>0]=pa;rd[c[l>>2]&127](k,m,U,V,ra);break}}while(0);g=m<<2;if(n)break;l=d[h>>0]|0;qa=d[o>>0]|0;pa=(d[138408+(f<<2)+3>>0]|0)+1&255;e=e+72|0;_W(ra|0,pa|0,4)|0;rd[c[e>>2]&127](j+g|0,m,qa,l,ra);_W(ra|0,pa|0,4)|0;rd[c[e>>2]&127](k+g|0,m,qa,l,ra);break}}p=(r&16777216|0)!=0;g=c[f+21856>>2]|0;if(p?!(ma|(g&7|0)!=7):0){o=na;c[o>>2]=131074;c[o+4>>2]=131074;o=na+16|0;c[o>>2]=131074;c[o+4>>2]=131074;o=na+32|0;c[o>>2]=131074;c[o+4>>2]=131074;o=na+48|0;c[o>>2]=131074;c[o+4>>2]=131074;o=4}else{U=0-((r*5|0)>>>5&1)&3|r>>4;V=4-(0-(r>>>3&(g&15|0)==0)&3)|0;vd[o&3](na,f+27824|0,f+28272|0,f+27952|0,(c[f+23412>>2]|0)==2&1,V,(r>>24)+1|0,0-((h*5|0)>>>5&1&U>>>1)&3,U,(c[e+26380>>2]|0)!=3&1);o=V}if(h&7|0){V=na;c[V>>2]=262148;c[V+4>>2]=262148}if(ia&7|0){U=(c[e+26380>>2]|0)!=3;V=na+32|0;c[V>>2]=U?196611:262148;c[V+4>>2]=U?196611:262148}do if(h|0?(V=na,U=c[V>>2]|0,q=U&65535,!((U|0)==0&(c[V+4>>2]|0)==0)):0){h=t+pa|0;n=d[138252+h>>0]|0;V=t+qa|0;g=d[138096+V>>0]|0;do if(!(h>>>0<68|V>>>0<68))if(q<<16>>16>3){qd[c[e+64>>2]&255](i,l,n,g);break}else{a[ra>>0]=a[(q<<16>>16)+(138408+(h<<2))>>0]|0;a[ra+1>>0]=a[(b[na+2>>1]|0)+(138408+(h<<2))>>0]|0;a[ra+2>>0]=a[(b[na+4>>1]|0)+(138408+(h<<2))>>0]|0;a[ra+3>>0]=a[(b[na+6>>1]|0)+(138408+(h<<2))>>0]|0;rd[c[e+52>>2]&127](i,l,n,g,ra);break}while(0);if(ka){n=W+pa|0;f=d[138252+n>>0]|0;g=W+qa|0;h=d[138096+g>>0]|0;g=n>>>0<68|g>>>0<68;if(ma){if(g)break;g=b[na>>1]|0;if(g<<16>>16>3)qd[c[e+64>>2]&255](j,l,f,h);else{a[ra>>0]=a[(g<<16>>16)+(138408+(n<<2))>>0]|0;a[ra+1>>0]=a[(b[na+2>>1]|0)+(138408+(n<<2))>>0]|0;a[ra+2>>0]=a[(b[na+4>>1]|0)+(138408+(n<<2))>>0]|0;a[ra+3>>0]=a[(b[na+6>>1]|0)+(138408+(n<<2))>>0]|0;rd[c[e+52>>2]&127](j,l,f,h,ra)}g=b[na>>1]|0;if(g<<16>>16>3){qd[c[e+64>>2]&255](k,l,f,h);break}else{a[ra>>0]=a[(g<<16>>16)+(138408+(n<<2))>>0]|0;a[ra+1>>0]=a[(b[na+2>>1]|0)+(138408+(n<<2))>>0]|0;a[ra+2>>0]=a[(b[na+4>>1]|0)+(138408+(n<<2))>>0]|0;a[ra+3>>0]=a[(b[na+6>>1]|0)+(138408+(n<<2))>>0]|0;rd[c[e+52>>2]&127](k,l,f,h,ra);break}}else{if(g)break;g=b[na>>1]|0;if(g<<16>>16>3)qd[c[e+88>>2]&255](j,m,f,h);else{a[ra>>0]=(d[(g<<16>>16)+(138408+(n<<2))>>0]|0)+1;a[ra+1>>0]=(d[(b[na+2>>1]|0)+(138408+(n<<2))>>0]|0)+1;a[ra+2>>0]=(d[(b[na+4>>1]|0)+(138408+(n<<2))>>0]|0)+1;a[ra+3>>0]=(d[(b[na+6>>1]|0)+(138408+(n<<2))>>0]|0)+1;rd[c[e+76>>2]&127](j,m,f,h,ra)}g=b[na>>1]|0;if(g<<16>>16>3){qd[c[e+88>>2]&255](k,m,f,h);break}else{a[ra>>0]=(d[(g<<16>>16)+(138408+(n<<2))>>0]|0)+1;a[ra+1>>0]=(d[(b[na+2>>1]|0)+(138408+(n<<2))>>0]|0)+1;a[ra+2>>0]=(d[(b[na+4>>1]|0)+(138408+(n<<2))>>0]|0)+1;a[ra+3>>0]=(d[(b[na+6>>1]|0)+(138408+(n<<2))>>0]|0)+1;rd[c[e+76>>2]&127](k,m,f,h,ra);break}}}}while(0);do if((o|0)==1){if(ia|0?(Z=na+32|0,oa=Z,la=c[oa>>2]|0,I=la&65535,!((la|0)==0&(c[oa+4>>2]|0)==0)):0){h=ha+pa|0;n=d[138252+h>>0]|0;oa=ha+qa|0;g=d[138096+oa>>0]|0;do if(!(h>>>0<68|oa>>>0<68))if(I<<16>>16>3){qd[c[e+60>>2]&255](i,l,n,g);break}else{a[ra>>0]=a[(I<<16>>16)+(138408+(h<<2))>>0]|0;a[ra+1>>0]=a[(b[na+34>>1]|0)+(138408+(h<<2))>>0]|0;a[ra+2>>0]=a[(b[na+36>>1]|0)+(138408+(h<<2))>>0]|0;a[ra+3>>0]=a[(b[na+38>>1]|0)+(138408+(h<<2))>>0]|0;rd[c[e+48>>2]&127](i,l,n,g,ra);break}while(0);if(ka){n=ja+pa|0;f=d[138252+n>>0]|0;g=ja+qa|0;h=d[138096+g>>0]|0;g=n>>>0<68|g>>>0<68;if(ma){if(g)break;g=b[Z>>1]|0;if(g<<16>>16>3)qd[c[e+60>>2]&255](j,l,f,h);else{a[ra>>0]=a[(g<<16>>16)+(138408+(n<<2))>>0]|0;a[ra+1>>0]=a[(b[na+34>>1]|0)+(138408+(n<<2))>>0]|0;a[ra+2>>0]=a[(b[na+36>>1]|0)+(138408+(n<<2))>>0]|0;a[ra+3>>0]=a[(b[na+38>>1]|0)+(138408+(n<<2))>>0]|0;rd[c[e+48>>2]&127](j,l,f,h,ra)}g=b[Z>>1]|0;if(g<<16>>16>3){qd[c[e+60>>2]&255](k,l,f,h);break}else{a[ra>>0]=a[(g<<16>>16)+(138408+(n<<2))>>0]|0;a[ra+1>>0]=a[(b[na+34>>1]|0)+(138408+(n<<2))>>0]|0;a[ra+2>>0]=a[(b[na+36>>1]|0)+(138408+(n<<2))>>0]|0;a[ra+3>>0]=a[(b[na+38>>1]|0)+(138408+(n<<2))>>0]|0;rd[c[e+48>>2]&127](k,l,f,h,ra);break}}else{if(g)break;g=b[Z>>1]|0;if(g<<16>>16>3)qd[c[e+84>>2]&255](j,m,f,h);else{a[ra>>0]=(d[(g<<16>>16)+(138408+(n<<2))>>0]|0)+1;a[ra+1>>0]=(d[(b[na+34>>1]|0)+(138408+(n<<2))>>0]|0)+1;a[ra+2>>0]=(d[(b[na+36>>1]|0)+(138408+(n<<2))>>0]|0)+1;a[ra+3>>0]=(d[(b[na+38>>1]|0)+(138408+(n<<2))>>0]|0)+1;rd[c[e+72>>2]&127](j,m,f,h,ra)}g=b[Z>>1]|0;if(g<<16>>16>3){qd[c[e+84>>2]&255](k,m,f,h);break}else{a[ra>>0]=(d[(g<<16>>16)+(138408+(n<<2))>>0]|0)+1;a[ra+1>>0]=(d[(b[na+34>>1]|0)+(138408+(n<<2))>>0]|0)+1;a[ra+2>>0]=(d[(b[na+36>>1]|0)+(138408+(n<<2))>>0]|0)+1;a[ra+3>>0]=(d[(b[na+38>>1]|0)+(138408+(n<<2))>>0]|0)+1;rd[c[e+72>>2]&127](k,m,f,h,ra);break}}}}}else{if(p){p=na+16|0;ga=p;f=c[ga>>2]|0;do if(!((f|0)==0&(c[ga+4>>2]|0)==0)){g=1<>>0<68|n>>>0<68)){ga=d[138096+n>>0]|0;fa=d[138252+h>>0]|0;a[ra>>0]=a[(f<<16>>16)+(138408+(h<<2))>>0]|0;a[ra+1>>0]=a[(b[na+18>>1]|0)+(138408+(h<<2))>>0]|0;a[ra+2>>0]=a[(b[na+20>>1]|0)+(138408+(h<<2))>>0]|0;a[ra+3>>0]=a[(b[na+22>>1]|0)+(138408+(h<<2))>>0]|0;rd[c[e+52>>2]&127](i+o|0,l,fa,ga,ra)}if(ka)if(ma){g=pa+oa|0;h=qa+oa|0;if(g>>>0<68|h>>>0<68)break;ga=d[138096+h>>0]|0;fa=d[138252+g>>0]|0;a[ra>>0]=a[(b[p>>1]|0)+(138408+(g<<2))>>0]|0;Y=na+18|0;Z=ra+1|0;a[Z>>0]=a[(b[Y>>1]|0)+(138408+(g<<2))>>0]|0;aa=na+20|0;ba=ra+2|0;a[ba>>0]=a[(b[aa>>1]|0)+(138408+(g<<2))>>0]|0;ca=na+22|0;da=ra+3|0;a[da>>0]=a[(b[ca>>1]|0)+(138408+(g<<2))>>0]|0;ea=e+52|0;rd[c[ea>>2]&127](j+o|0,l,fa,ga,ra);a[ra>>0]=a[(b[p>>1]|0)+(138408+(g<<2))>>0]|0;a[Z>>0]=a[(b[Y>>1]|0)+(138408+(g<<2))>>0]|0;a[ba>>0]=a[(b[aa>>1]|0)+(138408+(g<<2))>>0]|0;a[da>>0]=a[(b[ca>>1]|0)+(138408+(g<<2))>>0]|0;rd[c[ea>>2]&127](k+o|0,l,fa,ga,ra);break}else{g=g<<2;h=pa+oa|0;n=qa+oa|0;if(h>>>0<68|n>>>0<68)break;ga=d[138096+n>>0]|0;fa=d[138252+h>>0]|0;a[ra>>0]=(d[(b[p>>1]|0)+(138408+(h<<2))>>0]|0)+1;Y=na+18|0;Z=ra+1|0;a[Z>>0]=(d[(b[Y>>1]|0)+(138408+(h<<2))>>0]|0)+1;aa=na+20|0;ba=ra+2|0;a[ba>>0]=(d[(b[aa>>1]|0)+(138408+(h<<2))>>0]|0)+1;ca=na+22|0;da=ra+3|0;a[da>>0]=(d[(b[ca>>1]|0)+(138408+(h<<2))>>0]|0)+1;ea=e+76|0;rd[c[ea>>2]&127](j+g|0,m,fa,ga,ra);a[ra>>0]=(d[(b[p>>1]|0)+(138408+(h<<2))>>0]|0)+1;a[Z>>0]=(d[(b[Y>>1]|0)+(138408+(h<<2))>>0]|0)+1;a[ba>>0]=(d[(b[aa>>1]|0)+(138408+(h<<2))>>0]|0)+1;a[da>>0]=(d[(b[ca>>1]|0)+(138408+(h<<2))>>0]|0)+1;rd[c[ea>>2]&127](k+g|0,m,fa,ga,ra);break}}while(0);do if(ia|0?($=na+32|0,ia=$,ga=c[ia>>2]|0,_=ga&65535,!((ga|0)==0&(c[ia+4>>2]|0)==0)):0){h=ha+pa|0;n=d[138252+h>>0]|0;ia=ha+qa|0;g=d[138096+ia>>0]|0;do if(!(h>>>0<68|ia>>>0<68))if(_<<16>>16>3){qd[c[e+60>>2]&255](i,l,n,g);break}else{a[ra>>0]=a[(_<<16>>16)+(138408+(h<<2))>>0]|0;a[ra+1>>0]=a[(b[na+34>>1]|0)+(138408+(h<<2))>>0]|0;a[ra+2>>0]=a[(b[na+36>>1]|0)+(138408+(h<<2))>>0]|0;a[ra+3>>0]=a[(b[na+38>>1]|0)+(138408+(h<<2))>>0]|0;rd[c[e+48>>2]&127](i,l,n,g,ra);break}while(0);if(ka){n=ja+pa|0;f=d[138252+n>>0]|0;g=ja+qa|0;h=d[138096+g>>0]|0;g=n>>>0<68|g>>>0<68;if(ma){if(g)break;g=b[$>>1]|0;if(g<<16>>16>3)qd[c[e+60>>2]&255](j,l,f,h);else{a[ra>>0]=a[(g<<16>>16)+(138408+(n<<2))>>0]|0;a[ra+1>>0]=a[(b[na+34>>1]|0)+(138408+(n<<2))>>0]|0;a[ra+2>>0]=a[(b[na+36>>1]|0)+(138408+(n<<2))>>0]|0;a[ra+3>>0]=a[(b[na+38>>1]|0)+(138408+(n<<2))>>0]|0;rd[c[e+48>>2]&127](j,l,f,h,ra)}g=b[$>>1]|0;if(g<<16>>16>3){qd[c[e+60>>2]&255](k,l,f,h);break}else{a[ra>>0]=a[(g<<16>>16)+(138408+(n<<2))>>0]|0;a[ra+1>>0]=a[(b[na+34>>1]|0)+(138408+(n<<2))>>0]|0;a[ra+2>>0]=a[(b[na+36>>1]|0)+(138408+(n<<2))>>0]|0;a[ra+3>>0]=a[(b[na+38>>1]|0)+(138408+(n<<2))>>0]|0;rd[c[e+48>>2]&127](k,l,f,h,ra);break}}else{if(g)break;g=b[$>>1]|0;if(g<<16>>16>3)qd[c[e+84>>2]&255](j,m,f,h);else{a[ra>>0]=(d[(g<<16>>16)+(138408+(n<<2))>>0]|0)+1;a[ra+1>>0]=(d[(b[na+34>>1]|0)+(138408+(n<<2))>>0]|0)+1;a[ra+2>>0]=(d[(b[na+36>>1]|0)+(138408+(n<<2))>>0]|0)+1;a[ra+3>>0]=(d[(b[na+38>>1]|0)+(138408+(n<<2))>>0]|0)+1;rd[c[e+72>>2]&127](j,m,f,h,ra)}g=b[$>>1]|0;if(g<<16>>16>3){qd[c[e+84>>2]&255](k,m,f,h);break}else{a[ra>>0]=(d[(g<<16>>16)+(138408+(n<<2))>>0]|0)+1;a[ra+1>>0]=(d[(b[na+34>>1]|0)+(138408+(n<<2))>>0]|0)+1;a[ra+2>>0]=(d[(b[na+36>>1]|0)+(138408+(n<<2))>>0]|0)+1;a[ra+3>>0]=(d[(b[na+38>>1]|0)+(138408+(n<<2))>>0]|0)+1;rd[c[e+72>>2]&127](k,m,f,h,ra);break}}}}while(0);o=na+48|0;ja=o;h=c[ja>>2]|0;if((h|0)==0&(c[ja+4>>2]|0)==0)break;f=l<<3;n=pa+la|0;g=qa+la|0;if(!(n>>>0<68|g>>>0<68)){la=d[138096+g>>0]|0;ja=d[138252+n>>0]|0;a[ra>>0]=a[(h<<16>>16)+(138408+(n<<2))>>0]|0;a[ra+1>>0]=a[(b[na+50>>1]|0)+(138408+(n<<2))>>0]|0;a[ra+2>>0]=a[(b[na+52>>1]|0)+(138408+(n<<2))>>0]|0;a[ra+3>>0]=a[(b[na+54>>1]|0)+(138408+(n<<2))>>0]|0;rd[c[e+48>>2]&127](i+f|0,l,ja,la,ra)}if(!ka)break;if(ma){h=pa+oa|0;g=qa+oa|0;if(h>>>0<68|g>>>0<68)break;qa=d[138096+g>>0]|0;pa=d[138252+h>>0]|0;a[ra>>0]=a[(b[o>>1]|0)+(138408+(h<<2))>>0]|0;ka=na+50|0;la=ra+1|0;a[la>>0]=a[(b[ka>>1]|0)+(138408+(h<<2))>>0]|0;i=na+52|0;ma=ra+2|0;a[ma>>0]=a[(b[i>>1]|0)+(138408+(h<<2))>>0]|0;oa=na+54|0;m=ra+3|0;a[m>>0]=a[(b[oa>>1]|0)+(138408+(h<<2))>>0]|0;e=e+48|0;rd[c[e>>2]&127](j+f|0,l,pa,qa,ra);a[ra>>0]=a[(b[o>>1]|0)+(138408+(h<<2))>>0]|0;a[la>>0]=a[(b[ka>>1]|0)+(138408+(h<<2))>>0]|0;a[ma>>0]=a[(b[i>>1]|0)+(138408+(h<<2))>>0]|0;a[m>>0]=a[(b[oa>>1]|0)+(138408+(h<<2))>>0]|0;rd[c[e>>2]&127](k+f|0,l,pa,qa,ra);break}else{n=m<<2;h=pa+oa|0;g=qa+oa|0;if(h>>>0<68|g>>>0<68)break;l=d[138096+g>>0]|0;qa=d[138252+h>>0]|0;a[ra>>0]=(d[(b[o>>1]|0)+(138408+(h<<2))>>0]|0)+1;ka=na+50|0;la=ra+1|0;a[la>>0]=(d[(b[ka>>1]|0)+(138408+(h<<2))>>0]|0)+1;i=na+52|0;ma=ra+2|0;a[ma>>0]=(d[(b[i>>1]|0)+(138408+(h<<2))>>0]|0)+1;oa=na+54|0;pa=ra+3|0;a[pa>>0]=(d[(b[oa>>1]|0)+(138408+(h<<2))>>0]|0)+1;e=e+72|0;rd[c[e>>2]&127](j+n|0,m,qa,l,ra);a[ra>>0]=(d[(b[o>>1]|0)+(138408+(h<<2))>>0]|0)+1;a[la>>0]=(d[(b[ka>>1]|0)+(138408+(h<<2))>>0]|0)+1;a[ma>>0]=(d[(b[i>>1]|0)+(138408+(h<<2))>>0]|0)+1;a[pa>>0]=(d[(b[oa>>1]|0)+(138408+(h<<2))>>0]|0)+1;rd[c[e>>2]&127](k+n|0,m,qa,l,ra);break}}g=na+8|0;$=g;h=c[$>>2]|0;if(!((h|0)==0&(c[$+4>>2]|0)==0)){n=4<>>0<68|o>>>0<68)){$=d[138096+o>>0]|0;_=d[138252+f>>0]|0;a[ra>>0]=a[(h<<16>>16)+(138408+(f<<2))>>0]|0;a[ra+1>>0]=a[(b[na+10>>1]|0)+(138408+(f<<2))>>0]|0;a[ra+2>>0]=a[(b[na+12>>1]|0)+(138408+(f<<2))>>0]|0;a[ra+3>>0]=a[(b[na+14>>1]|0)+(138408+(f<<2))>>0]|0;rd[c[e+52>>2]&127](i+n|0,l,_,$,ra)}if(ma?(X=pa+oa|0,Y=qa+oa|0,!(X>>>0<68|Y>>>0<68)):0){$=d[138096+Y>>0]|0;_=d[138252+X>>0]|0;a[ra>>0]=a[(b[g>>1]|0)+(138408+(X<<2))>>0]|0;S=na+10|0;T=ra+1|0;a[T>>0]=a[(b[S>>1]|0)+(138408+(X<<2))>>0]|0;U=na+12|0;V=ra+2|0;a[V>>0]=a[(b[U>>1]|0)+(138408+(X<<2))>>0]|0;W=na+14|0;Y=ra+3|0;a[Y>>0]=a[(b[W>>1]|0)+(138408+(X<<2))>>0]|0;Z=e+52|0;rd[c[Z>>2]&127](j+n|0,l,_,$,ra);a[ra>>0]=a[(b[g>>1]|0)+(138408+(X<<2))>>0]|0;a[T>>0]=a[(b[S>>1]|0)+(138408+(X<<2))>>0]|0;a[V>>0]=a[(b[U>>1]|0)+(138408+(X<<2))>>0]|0;a[Y>>0]=a[(b[W>>1]|0)+(138408+(X<<2))>>0]|0;rd[c[Z>>2]&127](k+n|0,l,_,$,ra)}}p=na+16|0;$=p;g=c[$>>2]|0;do if(!((g|0)==0&(c[$+4>>2]|0)==0)){h=1<>>0<68|f>>>0<68)){$=d[138096+f>>0]|0;_=d[138252+n>>0]|0;a[ra>>0]=a[(g<<16>>16)+(138408+(n<<2))>>0]|0;a[ra+1>>0]=a[(b[na+18>>1]|0)+(138408+(n<<2))>>0]|0;a[ra+2>>0]=a[(b[na+20>>1]|0)+(138408+(n<<2))>>0]|0;a[ra+3>>0]=a[(b[na+22>>1]|0)+(138408+(n<<2))>>0]|0;rd[c[e+52>>2]&127](i+o|0,l,_,$,ra)}if(ka)if(ma){g=pa+oa|0;h=qa+oa|0;if(g>>>0<68|h>>>0<68)break;$=d[138096+h>>0]|0;_=d[138252+g>>0]|0;a[ra>>0]=a[(b[p>>1]|0)+(138408+(g<<2))>>0]|0;T=na+18|0;U=ra+1|0;a[U>>0]=a[(b[T>>1]|0)+(138408+(g<<2))>>0]|0;V=na+20|0;W=ra+2|0;a[W>>0]=a[(b[V>>1]|0)+(138408+(g<<2))>>0]|0;X=na+22|0;Y=ra+3|0;a[Y>>0]=a[(b[X>>1]|0)+(138408+(g<<2))>>0]|0;Z=e+52|0;rd[c[Z>>2]&127](j+o|0,l,_,$,ra);a[ra>>0]=a[(b[p>>1]|0)+(138408+(g<<2))>>0]|0;a[U>>0]=a[(b[T>>1]|0)+(138408+(g<<2))>>0]|0;a[W>>0]=a[(b[V>>1]|0)+(138408+(g<<2))>>0]|0;a[Y>>0]=a[(b[X>>1]|0)+(138408+(g<<2))>>0]|0;rd[c[Z>>2]&127](k+o|0,l,_,$,ra);break}else{g=h<<2;h=pa+oa|0;n=qa+oa|0;if(h>>>0<68|n>>>0<68)break;$=d[138096+n>>0]|0;_=d[138252+h>>0]|0;a[ra>>0]=(d[(b[p>>1]|0)+(138408+(h<<2))>>0]|0)+1;T=na+18|0;U=ra+1|0;a[U>>0]=(d[(b[T>>1]|0)+(138408+(h<<2))>>0]|0)+1;V=na+20|0;W=ra+2|0;a[W>>0]=(d[(b[V>>1]|0)+(138408+(h<<2))>>0]|0)+1;X=na+22|0;Y=ra+3|0;a[Y>>0]=(d[(b[X>>1]|0)+(138408+(h<<2))>>0]|0)+1;Z=e+76|0;rd[c[Z>>2]&127](j+g|0,m,_,$,ra);a[ra>>0]=(d[(b[p>>1]|0)+(138408+(h<<2))>>0]|0)+1;a[U>>0]=(d[(b[T>>1]|0)+(138408+(h<<2))>>0]|0)+1;a[W>>0]=(d[(b[V>>1]|0)+(138408+(h<<2))>>0]|0)+1;a[Y>>0]=(d[(b[X>>1]|0)+(138408+(h<<2))>>0]|0)+1;rd[c[Z>>2]&127](k+g|0,m,_,$,ra);break}}while(0);f=na+24|0;$=f;o=c[$>>2]|0;if(!((o|0)==0&(c[$+4>>2]|0)==0)){g=12<>>0<68|n>>>0<68)){ea=d[138096+n>>0]|0;$=d[138252+h>>0]|0;a[ra>>0]=a[(o<<16>>16)+(138408+(h<<2))>>0]|0;a[ra+1>>0]=a[(b[na+26>>1]|0)+(138408+(h<<2))>>0]|0;a[ra+2>>0]=a[(b[na+28>>1]|0)+(138408+(h<<2))>>0]|0;a[ra+3>>0]=a[(b[na+30>>1]|0)+(138408+(h<<2))>>0]|0;rd[c[e+52>>2]&127](i+g|0,l,$,ea,ra)}if(ma?(aa=pa+oa|0,ba=qa+oa|0,!(aa>>>0<68|ba>>>0<68)):0){ea=d[138096+ba>>0]|0;ba=d[138252+aa>>0]|0;a[ra>>0]=a[(b[f>>1]|0)+(138408+(aa<<2))>>0]|0;V=na+26|0;W=ra+1|0;a[W>>0]=a[(b[V>>1]|0)+(138408+(aa<<2))>>0]|0;X=na+28|0;Y=ra+2|0;a[Y>>0]=a[(b[X>>1]|0)+(138408+(aa<<2))>>0]|0;Z=na+30|0;_=ra+3|0;a[_>>0]=a[(b[Z>>1]|0)+(138408+(aa<<2))>>0]|0;$=e+52|0;rd[c[$>>2]&127](j+g|0,l,ba,ea,ra);a[ra>>0]=a[(b[f>>1]|0)+(138408+(aa<<2))>>0]|0;a[W>>0]=a[(b[V>>1]|0)+(138408+(aa<<2))>>0]|0;a[Y>>0]=a[(b[X>>1]|0)+(138408+(aa<<2))>>0]|0;a[_>>0]=a[(b[Z>>1]|0)+(138408+(aa<<2))>>0]|0;rd[c[$>>2]&127](k+g|0,l,ba,ea,ra)}}do if(ia|0?(da=na+32|0,ia=da,ea=c[ia>>2]|0,ca=ea&65535,!((ea|0)==0&(c[ia+4>>2]|0)==0)):0){h=ha+pa|0;n=d[138252+h>>0]|0;ia=ha+qa|0;g=d[138096+ia>>0]|0;do if(!(h>>>0<68|ia>>>0<68))if(ca<<16>>16>3){qd[c[e+60>>2]&255](i,l,n,g);break}else{a[ra>>0]=a[(ca<<16>>16)+(138408+(h<<2))>>0]|0;a[ra+1>>0]=a[(b[na+34>>1]|0)+(138408+(h<<2))>>0]|0;a[ra+2>>0]=a[(b[na+36>>1]|0)+(138408+(h<<2))>>0]|0;a[ra+3>>0]=a[(b[na+38>>1]|0)+(138408+(h<<2))>>0]|0;rd[c[e+48>>2]&127](i,l,n,g,ra);break}while(0);if(ka){n=ja+pa|0;f=d[138252+n>>0]|0;g=ja+qa|0;h=d[138096+g>>0]|0;g=n>>>0<68|g>>>0<68;if(ma){if(g)break;g=b[da>>1]|0;if(g<<16>>16>3)qd[c[e+60>>2]&255](j,l,f,h);else{a[ra>>0]=a[(g<<16>>16)+(138408+(n<<2))>>0]|0;a[ra+1>>0]=a[(b[na+34>>1]|0)+(138408+(n<<2))>>0]|0;a[ra+2>>0]=a[(b[na+36>>1]|0)+(138408+(n<<2))>>0]|0;a[ra+3>>0]=a[(b[na+38>>1]|0)+(138408+(n<<2))>>0]|0;rd[c[e+48>>2]&127](j,l,f,h,ra)}g=b[da>>1]|0;if(g<<16>>16>3){qd[c[e+60>>2]&255](k,l,f,h);break}else{a[ra>>0]=a[(g<<16>>16)+(138408+(n<<2))>>0]|0;a[ra+1>>0]=a[(b[na+34>>1]|0)+(138408+(n<<2))>>0]|0;a[ra+2>>0]=a[(b[na+36>>1]|0)+(138408+(n<<2))>>0]|0;a[ra+3>>0]=a[(b[na+38>>1]|0)+(138408+(n<<2))>>0]|0;rd[c[e+48>>2]&127](k,l,f,h,ra);break}}else{if(g)break;g=b[da>>1]|0;if(g<<16>>16>3)qd[c[e+84>>2]&255](j,m,f,h);else{a[ra>>0]=(d[(g<<16>>16)+(138408+(n<<2))>>0]|0)+1;a[ra+1>>0]=(d[(b[na+34>>1]|0)+(138408+(n<<2))>>0]|0)+1;a[ra+2>>0]=(d[(b[na+36>>1]|0)+(138408+(n<<2))>>0]|0)+1;a[ra+3>>0]=(d[(b[na+38>>1]|0)+(138408+(n<<2))>>0]|0)+1;rd[c[e+72>>2]&127](j,m,f,h,ra)}g=b[da>>1]|0;if(g<<16>>16>3){qd[c[e+84>>2]&255](k,m,f,h);break}else{a[ra>>0]=(d[(g<<16>>16)+(138408+(n<<2))>>0]|0)+1;a[ra+1>>0]=(d[(b[na+34>>1]|0)+(138408+(n<<2))>>0]|0)+1;a[ra+2>>0]=(d[(b[na+36>>1]|0)+(138408+(n<<2))>>0]|0)+1;a[ra+3>>0]=(d[(b[na+38>>1]|0)+(138408+(n<<2))>>0]|0)+1;rd[c[e+72>>2]&127](k,m,f,h,ra);break}}}}while(0);g=na+40|0;ja=g;h=c[ja>>2]|0;if(!((h|0)==0&(c[ja+4>>2]|0)==0)){n=l<<2;f=pa+la|0;o=qa+la|0;if(!(f>>>0<68|o>>>0<68)){ja=d[138096+o>>0]|0;ia=d[138252+f>>0]|0;a[ra>>0]=a[(h<<16>>16)+(138408+(f<<2))>>0]|0;a[ra+1>>0]=a[(b[na+42>>1]|0)+(138408+(f<<2))>>0]|0;a[ra+2>>0]=a[(b[na+44>>1]|0)+(138408+(f<<2))>>0]|0;a[ra+3>>0]=a[(b[na+46>>1]|0)+(138408+(f<<2))>>0]|0;rd[c[e+48>>2]&127](i+n|0,l,ia,ja,ra)}if(ma?(fa=pa+oa|0,ga=qa+oa|0,!(fa>>>0<68|ga>>>0<68)):0){ja=d[138096+ga>>0]|0;ia=d[138252+fa>>0]|0;a[ra>>0]=a[(b[g>>1]|0)+(138408+(fa<<2))>>0]|0;aa=na+42|0;ba=ra+1|0;a[ba>>0]=a[(b[aa>>1]|0)+(138408+(fa<<2))>>0]|0;ca=na+44|0;da=ra+2|0;a[da>>0]=a[(b[ca>>1]|0)+(138408+(fa<<2))>>0]|0;ea=na+46|0;ga=ra+3|0;a[ga>>0]=a[(b[ea>>1]|0)+(138408+(fa<<2))>>0]|0;ha=e+48|0;rd[c[ha>>2]&127](j+n|0,l,ia,ja,ra);a[ra>>0]=a[(b[g>>1]|0)+(138408+(fa<<2))>>0]|0;a[ba>>0]=a[(b[aa>>1]|0)+(138408+(fa<<2))>>0]|0;a[da>>0]=a[(b[ca>>1]|0)+(138408+(fa<<2))>>0]|0;a[ga>>0]=a[(b[ea>>1]|0)+(138408+(fa<<2))>>0]|0;rd[c[ha>>2]&127](k+n|0,l,ia,ja,ra)}}o=na+48|0;ja=o;g=c[ja>>2]|0;do if(!((g|0)==0&(c[ja+4>>2]|0)==0)){f=l<<3;h=pa+la|0;n=qa+la|0;if(!(h>>>0<68|n>>>0<68)){ja=d[138096+n>>0]|0;ia=d[138252+h>>0]|0;a[ra>>0]=a[(g<<16>>16)+(138408+(h<<2))>>0]|0;a[ra+1>>0]=a[(b[na+50>>1]|0)+(138408+(h<<2))>>0]|0;a[ra+2>>0]=a[(b[na+52>>1]|0)+(138408+(h<<2))>>0]|0;a[ra+3>>0]=a[(b[na+54>>1]|0)+(138408+(h<<2))>>0]|0;rd[c[e+48>>2]&127](i+f|0,l,ia,ja,ra)}if(ka)if(ma){g=pa+oa|0;h=qa+oa|0;if(g>>>0<68|h>>>0<68)break;m=d[138096+h>>0]|0;ka=d[138252+g>>0]|0;a[ra>>0]=a[(b[o>>1]|0)+(138408+(g<<2))>>0]|0;da=na+50|0;ea=ra+1|0;a[ea>>0]=a[(b[da>>1]|0)+(138408+(g<<2))>>0]|0;fa=na+52|0;ga=ra+2|0;a[ga>>0]=a[(b[fa>>1]|0)+(138408+(g<<2))>>0]|0;ha=na+54|0;ia=ra+3|0;a[ia>>0]=a[(b[ha>>1]|0)+(138408+(g<<2))>>0]|0;ja=e+48|0;rd[c[ja>>2]&127](j+f|0,l,ka,m,ra);a[ra>>0]=a[(b[o>>1]|0)+(138408+(g<<2))>>0]|0;a[ea>>0]=a[(b[da>>1]|0)+(138408+(g<<2))>>0]|0;a[ga>>0]=a[(b[fa>>1]|0)+(138408+(g<<2))>>0]|0;a[ia>>0]=a[(b[ha>>1]|0)+(138408+(g<<2))>>0]|0;rd[c[ja>>2]&127](k+f|0,l,ka,m,ra);break}else{g=m<<2;h=pa+oa|0;n=qa+oa|0;if(h>>>0<68|n>>>0<68)break;ka=d[138096+n>>0]|0;ja=d[138252+h>>0]|0;a[ra>>0]=(d[(b[o>>1]|0)+(138408+(h<<2))>>0]|0)+1;ca=na+50|0;da=ra+1|0;a[da>>0]=(d[(b[ca>>1]|0)+(138408+(h<<2))>>0]|0)+1;ea=na+52|0;fa=ra+2|0;a[fa>>0]=(d[(b[ea>>1]|0)+(138408+(h<<2))>>0]|0)+1;ga=na+54|0;ha=ra+3|0;a[ha>>0]=(d[(b[ga>>1]|0)+(138408+(h<<2))>>0]|0)+1;ia=e+72|0;rd[c[ia>>2]&127](j+g|0,m,ja,ka,ra);a[ra>>0]=(d[(b[o>>1]|0)+(138408+(h<<2))>>0]|0)+1;a[da>>0]=(d[(b[ca>>1]|0)+(138408+(h<<2))>>0]|0)+1;a[fa>>0]=(d[(b[ea>>1]|0)+(138408+(h<<2))>>0]|0)+1;a[ha>>0]=(d[(b[ga>>1]|0)+(138408+(h<<2))>>0]|0)+1;rd[c[ia>>2]&127](k+g|0,m,ja,ka,ra);break}}while(0);f=na+56|0;m=f;h=c[m>>2]|0;if(!((h|0)==0&(c[m+4>>2]|0)==0)){o=l*12|0;n=pa+la|0;g=qa+la|0;if(!(n>>>0<68|g>>>0<68)){m=d[138096+g>>0]|0;la=d[138252+n>>0]|0;a[ra>>0]=a[(h<<16>>16)+(138408+(n<<2))>>0]|0;a[ra+1>>0]=a[(b[na+58>>1]|0)+(138408+(n<<2))>>0]|0;a[ra+2>>0]=a[(b[na+60>>1]|0)+(138408+(n<<2))>>0]|0;a[ra+3>>0]=a[(b[na+62>>1]|0)+(138408+(n<<2))>>0]|0;rd[c[e+48>>2]&127](i+o|0,l,la,m,ra)}if(ma){h=pa+oa|0;g=qa+oa|0;if(h>>>0<68|g>>>0<68)break;qa=d[138096+g>>0]|0;pa=d[138252+h>>0]|0;a[ra>>0]=a[(b[f>>1]|0)+(138408+(h<<2))>>0]|0;ka=na+58|0;la=ra+1|0;a[la>>0]=a[(b[ka>>1]|0)+(138408+(h<<2))>>0]|0;i=na+60|0;ma=ra+2|0;a[ma>>0]=a[(b[i>>1]|0)+(138408+(h<<2))>>0]|0;oa=na+62|0;m=ra+3|0;a[m>>0]=a[(b[oa>>1]|0)+(138408+(h<<2))>>0]|0;e=e+48|0;rd[c[e>>2]&127](j+o|0,l,pa,qa,ra);a[ra>>0]=a[(b[f>>1]|0)+(138408+(h<<2))>>0]|0;a[la>>0]=a[(b[ka>>1]|0)+(138408+(h<<2))>>0]|0;a[ma>>0]=a[(b[i>>1]|0)+(138408+(h<<2))>>0]|0;a[m>>0]=a[(b[oa>>1]|0)+(138408+(h<<2))>>0]|0;rd[c[e>>2]&127](k+o|0,l,pa,qa,ra)}}}while(0)}else sa=3;while(0);if((sa|0)==3)Bj(e,f,g,h,i,j,k,l,m);$c=ta;return}function Dj(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;j=a[d+28272+e>>0]|0;k=a[d+28272+f>>0]|0;h=j<<24>>24!=k<<24>>24;if(!(j<<24>>24==-1|h)){h=(b[d+27952+(e<<2)+2>>1]|0)-(b[d+27952+(f<<2)+2>>1]|0)|0;h=(((h|0)>-1?h:0-h|0)|0)>=(g|0)?1:((b[d+27952+(e<<2)>>1]|0)+3-(b[d+27952+(f<<2)>>1]|0)|0)>>>0>6}do if((c[d+23412>>2]|0)==2){if(!h){i=a[d+28312+e>>0]|0;h=a[d+28312+f>>0]|0;l=(b[d+28112+(e<<2)+2>>1]|0)-(b[d+28112+(f<<2)+2>>1]|0)|0;if(!((i<<24>>24!=h<<24>>24?1:((b[d+28112+(e<<2)>>1]|0)+3-(b[d+28112+(f<<2)>>1]|0)|0)>>>0>6)|(((l|0)>-1?l:0-l|0)|0)>=(g|0))){h=0;break}}else{h=a[d+28312+f>>0]|0;i=a[d+28312+e>>0]|0}if(j<<24>>24!=h<<24>>24?1:i<<24>>24!=k<<24>>24)h=1;else{l=(b[d+27952+(e<<2)+2>>1]|0)-(b[d+28112+(f<<2)+2>>1]|0)|0;h=(b[d+28112+(e<<2)+2>>1]|0)-(b[d+27952+(f<<2)+2>>1]|0)|0;h=((((l|0)>-1?l:0-l|0)|0)>=(g|0)?1:((b[d+27952+(e<<2)>>1]|0)+3-(b[d+28112+(f<<2)>>1]|0)|0)>>>0>6)|((b[d+28112+(e<<2)>>1]|0)+3-(b[d+27952+(f<<2)>>1]|0)|0)>>>0>6|(((h|0)>-1?h:0-h|0)|0)>=(g|0)}}while(0);return h&1|0}function Ej(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=c[a>>2]|0;d=((b|0)>-1?b:0-b|0)+63&-32;f=a+27788|0;g=a+27804|0;gl(f,g,d*96|0);b=a+27792|0;gl(b,a+27808|0,d*42|0);d=a+27796|0;h=h+27012|0;hl(d,a+27812|0,(c[h>>2]|0)*96|0);e=a+27800|0;hl(e,a+27816|0,(c[h>>2]|0)*96|0);if((((c[f>>2]|0)!=0?(c[b>>2]|0)!=0:0)?(c[d>>2]|0)!=0:0)?(c[e>>2]|0)!=0:0)b=0;else{hf(f);hf(b);hf(d);hf(e);c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;b=-12}return b|0}function Fj(a){a=a|0;var b=0;b=0-(Gj(a)|0)&7;if(b|0)fl(a,b);return}function Gj(a){a=a|0;return c[a+8>>2]|0}function Hj(a){a=a|0;var b=0;b=c[a+12>>2]|0;return b-(Gj(a)|0)|0}function Ij(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0;g=a+16|0;c[a+12>>2]=b;c[a+20>>2]=b+e;h=b+1|0;c[g>>2]=h;f=(d[b>>0]|0)<<18;c[a>>2]=f;e=b+2|0;c[g>>2]=e;f=(d[h>>0]|0)<<10|f;c[a>>2]=f;if(!(e&1))e=512;else{c[g>>2]=b+3;e=(d[e>>0]|0)<<2|2}h=f+e|0;c[a>>2]=h;c[a+4>>2]=510;return ((h|0)>66846720?-1094995529:0)|0}function Jj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;b=(c[d+848>>2]|0)+48+(H(c[(c[b+28216>>2]|0)+1184>>2]|0,-6)|0)|0;b=(b|0)>0?((b|0)<51?b:51):0;if((c[d+840>>2]|0)==1)f=146740;else f=140596+(c[d+33928>>2]<<11)|0;e=0;while(1){if((e|0)==1024)break;g=(H(b,a[f+(e<<1)>>0]|0)|0)>>4;g=(g+(a[f+(e<<1)+1>>0]|0)<<1)+-127|0;g=g>>31^g;a[d+32904+e>>0]=(g|0)>124?g&1|124:g;e=e+1|0}return}function Kj(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a=c[a>>2]|0;if(c[a+29672>>2]|0)el((c[a+25628>>2]|0)+24|0,b,d,e,f,g);return} +function Lj(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;oa=$c;$c=$c+80|0;if(($c|0)>=(ad|0))N(80);ga=oa+40|0;ba=oa+32|0;q=oa+24|0;r=oa+16|0;n=oa+8|0;s=oa;ja=oa+72|0;_=oa+56|0;$=oa+52|0;V=oa+48|0;ia=f+28216|0;da=c[ia>>2]|0;ka=f+28212|0;m=c[(c[ka>>2]|0)+64>>2]|0;k=da+12|0;ca=((c[k>>2]|0)+-1|0)>>>0<2;la=c[f+25664>>2]|0;ea=g+21788|0;h=c[ea>>2]|0;fa=g+21792|0;i=c[fa>>2]|0;Y=f+27016|0;na=(H(c[Y>>2]|0,i)|0)+h|0;ma=g+21796|0;c[ma>>2]=na;aa=g+840|0;X=f+26376|0;if((c[aa>>2]|0)!=1){if(!((c[X>>2]|0)==0|(i&1|0)==0)?(c[g+21648>>2]|0)!=0:0)h=c[g+21652>>2]|0;else h=Hk(f,g,h,i)|0;if(h){if((c[X>>2]|0?(c[fa>>2]&1|0)==0:0)?(c[(c[f+24364>>2]|0)+(na<<2)>>2]=2048,ma=Hk(f,g,c[ea>>2]|0,(c[fa>>2]|0)+1|0)|0,c[g+21652>>2]=ma,(ma|0)==0):0){ma=Ik(f,g)|0;c[g+21828>>2]=ma;c[g+21832>>2]=ma}Jk(f,g);b[(c[f+26392>>2]|0)+(na<<1)>>1]=0;a[(c[f+26396>>2]|0)+na>>0]=0;c[g+864>>2]=0;h=0}else ha=12}else ha=12;a:do if((ha|0)==12){if(c[X>>2]|0?(c[fa>>2]&1|0)==0:0){Z=Ik(f,g)|0;c[g+21828>>2]=Z;c[g+21832>>2]=Z}c[g+21648>>2]=0;W=g+21828|0;Kk(f,g,0-(c[W>>2]|0)|0);b:do switch(c[aa>>2]|0){case 3:{j=g+32856|0;c:do if(!(Lk(j,28-(((c[g+21740>>2]|0)+511|0)>>>8&1)+(((c[g+21732>>2]|0)+511|0)>>>8&1^1)+(g+32904)|0)|0)){c[ja>>2]=0;h=0}else{if(!(Lk(j,g+32934|0)|0)){h=(Lk(j,g+32936|0)|0)+1|0;c[ja>>2]=h;break}i=(Lk(j,g+32935|0)|0)<<3;h=g+32936|0;i=((Lk(j,h)|0)<<2)+i|0;i=i+((Lk(j,h)|0)<<1)|0;i=i+(Lk(j,h)|0)|0;if((i|0)<8){h=i+3|0;c[ja>>2]=h;break}switch(i|0){case 13:{h=Mk(g,32,0)|0;c[ja>>2]=h;ha=36;break b}case 14:{c[ja>>2]=11;h=11;break c}case 15:{c[ja>>2]=22;h=22;break c}default:{h=(i<<1)+-4+(Lk(j,h)|0)|0;c[ja>>2]=h;break c}}}while(0);i=a[114424+(h<<2)+2>>0]|0;h=e[114424+(h<<2)>>1]|0;c[ja>>2]=h;Z=0;break}case 2:{h=g+32856|0;if(Lk(h,g+32918|0)|0){h=Mk(g,17,0)|0;c[ja>>2]=h;ha=36;break b}if(!(Lk(h,g+32919|0)|0))h=(Lk(h,g+32920|0)|0)*3|0;else h=2-(Lk(h,g+32921|0)|0)|0;i=a[114388+(h<<2)+2>>0]|0;h=e[114388+(h<<2)>>1]|0;c[ja>>2]=h;Z=0;break}default:{h=Mk(g,3,1)|0;c[ja>>2]=h;if(h|0?(c[g+836>>2]|0)==5:0){h=h+-1|0;c[ja>>2]=h;ha=36}else ha=36}}while(0);if((ha|0)==36){Z=d[114284+(h<<2)+3>>0]|0;c[g+21660>>2]=d[114284+(h<<2)+2>>0];h=e[114284+(h<<2)>>1]|0;c[ja>>2]=h;i=0}if(c[W>>2]|0){h=h|128;c[ja>>2]=h}b[(c[f+26372>>2]|0)+(na<<1)>>1]=c[g+832>>2];if(h&4|0){i=(H(c[da+1184>>2]|0,e[114568+(c[k>>2]<<1)>>1]|0)|0)>>3;j=g+32856|0;h=c[g+32872>>2]|0;k=c[j>>2]|0;h=(k&1|0)==0?h:h+-1|0;h=(k&511|0)==0?h:h+-1|0;k=c[g+32876>>2]|0;if((k-h|0)<(i|0)){h=-1;break}c[g+27780>>2]=h;h=h+i|0;h=Ij(j,h,k-h|0)|0;if((h|0)<0)break;b[(c[f+26392>>2]|0)+(na<<1)>>1]=-2065;a[(c[f+26396>>2]|0)+na>>0]=0;a[(c[f+24340>>2]|0)+na>>0]=0;j=(c[f+25972>>2]|0)+(na*48|0)|0;k=j+48|0;do{a[j>>0]=16;j=j+1|0}while((j|0)<(k|0));c[(c[f+24364>>2]|0)+(na<<2)>>2]=c[ja>>2];c[g+864>>2]=0;h=0;break}Nk(f,g,h);d:do if(!(h&7)){if(i<<24>>24==4){e:do if((c[aa>>2]|0)==3){h=0;while(1){if((h|0)==4)break;U=Qk(g)|0;c[_+(h<<2)>>2]=d[114516+((U&65535)<<2)+2>>0];b[g+28552+(h<<1)>>1]=b[114516+((U&65535)<<2)>>1]|0;h=h+1|0}if((b[g+28554>>1]|b[g+28552>>1]|b[g+28556>>1]|b[g+28558>>1])&256){ck(f,g,ja);a[g+28342>>0]=-2;a[g+28302>>0]=-2;a[g+28326>>0]=-2;a[g+28286>>0]=-2;h=0;while(1){if((h|0)==4)break e;U=(d[150841+(h<<2)>>0]|0)+(g+28512)|0;T=((e[g+28552+(h<<1)>>1]|0)>>>1&255)*257&65535;b[U>>1]=T;b[U+8>>1]=T;h=h+1|0}}}else{h=0;while(1){if((h|0)==4)break e;U=Rk(g)|0;c[_+(h<<2)>>2]=d[114408+((U&65535)<<2)+2>>0];b[g+28552+(h<<1)>>1]=b[114408+((U&65535)<<2)>>1]|0;h=h+1|0}}while(0);U=g+23412|0;p=g+21832|0;o=0;f:while(1){h=c[U>>2]|0;if(o>>>0>=h>>>0){ha=80;break}l=4096<<(o<<1);n=g+23404+(o<<2)|0;k=0;while(1){if((k|0)>=4)break;h=e[g+28552+(k<<1)>>1]|0;if(!(h&256)){if(l&h){i=c[n>>2]<>2];if(i>>>0>1){j=k<<2;h=Sk(g,o,j)|0;if(h>>>0>=i>>>0){ha=75;break f}}else{h=0;ha=76}}else{h=-1;ha=76}if((ha|0)==76){ha=0;j=k<<2}S=h&255;T=d[150841+j>>0]|0;a[T+9+(g+28272+(o*40|0))>>0]=S;a[T+8+(g+28272+(o*40|0))>>0]=S;a[T+1+(g+28272+(o*40|0))>>0]=S}k=k+1|0}o=o+1|0}do if((ha|0)==75){g=c[f+4>>2]|0;c[s>>2]=h;c[s+4>>2]=i;mf(g,16,140144,s);h=-1}else if((ha|0)==80){if(!m)m=0;else{T=(c[(c[ia>>2]|0)+72>>2]|0)==0;m=g+28552|0;m=(((T?24117616:7340144)&c[m>>2]|0)==0?((T?24117616:7340144)&c[m+4>>2]|0)==0:0)&1}P=f+24312|0;Q=g+21740|0;R=g+21720|0;S=f+26360|0;T=f+26368|0;O=0;g:while(1){if(O>>>0>=h>>>0){ha=129;break}K=O<<1;G=4096<=4)break;M=F<<2;h=d[150841+M>>0]|0;a[g+28272+(O*40|0)+h>>0]=a[h+1+(g+28272+(O*40|0))>>0]|0;i=e[g+28552+(F<<1)>>1]|0;h:do if(!(i&256)){if(!(G&i)){c[g+27952+(O*160|0)+(h<<2)>>2]=0;c[g+27952+(O*160|0)+(h<<2)+4>>2]=0;c[g+27952+(O*160|0)+(h<<2)+32>>2]=0;c[g+27952+(O*160|0)+(h<<2)+36>>2]=0;ha=125;break}B=i&24|0?2:1;C=c[_+(F<<2)>>2]|0;D=(i&8|0)==0;E=(i&16|0)==0;x=(i&32|0)==0;w=0;while(1){if((w|0)>=(C|0))break h;h=a[150841+((H(w,B)|0)+M)>>0]|0;y=h&255;z=g+27952+(O*160|0)+(y<<2)|0;A=g+28352+(O*80|0)+(y<<1)|0;o=a[g+28272+(O*40|0)+y>>0]|0;p=o<<24>>24;u=y+-8|0;r=a[g+28272+(O*40|0)+u>>0]|0;v=y+-1|0;s=a[g+28272+(O*40|0)+v>>0]|0;q=g+27952+(O*160|0)+(v<<2)|0;t=g+27952+(O*160|0)+(u<<2)|0;i=u+B|0;j=a[g+28272+(O*40|0)+i>>0]|0;k=j<<24>>24;j=j<<24>>24==-2;do if((y&7|0)==4&((h&255)>19&(j&(c[X>>2]|0)!=0))){if((a[I>>0]|0)==-2){ha=99;break}n=c[(c[P>>2]|0)+48>>2]|0;c[J>>2]=0;l=(c[Q>>2]&128|0)==0;if(!(c[W>>2]|0)){if(l){ha=99;break}l=c[Y>>2]|0;h=l+(c[R>>2]|0)|0;i=(c[fa>>2]<<1&2)+(y>>>5)|0;if(!(c[n+((H(i>>>2,l)|0)+h<<2)>>2]&K)){l=J;k=-1;break}k=c[P>>2]|0;n=c[k+36+(O<<2)>>2]|0;l=(c[(c[S>>2]|0)+(h<<2)>>2]|0)+3+(H(c[T>>2]|0,i)|0)|0;b[J>>1]=b[n+(l<<2)>>1]|0;b[L>>1]=b[n+(l<<2)+2>>1]<<1;l=J;k=a[(c[k+68+(O<<2)>>2]|0)+((i&14)+(h<<2|1))>>0]>>1;break}else{if(!l){ha=99;break}h=c[g+21720+(((h&255)>35&1)<<2)>>2]|0;i=y>>>2;if(!(c[n+(h<<2)>>2]&K)){l=J;k=-1;break}k=c[P>>2]|0;n=c[k+36+(O<<2)>>2]|0;l=(c[(c[S>>2]|0)+(h<<2)>>2]|0)+3+(H(c[T>>2]|0,i&3)|0)|0;b[J>>1]=b[n+(l<<2)>>1]|0;b[L>>1]=(b[n+(l<<2)+2>>1]|0)/2|0;l=J;k=a[(c[k+68+(O<<2)>>2]|0)+(i&2|h<<2|1)>>0]<<1;break}}else ha=99;while(0);do if((ha|0)==99){ha=0;if(j){k=y+-9|0;l=g+27952+(O*160|0)+(k<<2)|0;k=a[g+28272+(O*40|0)+k>>0]|0;break}else{l=g+27952+(O*160|0)+(i<<2)|0;break}}while(0);j=r<<24>>24==o<<24>>24;i=s<<24>>24==o<<24>>24;h=(i&1)+(j&1)+((k|0)==(p|0)&1)|0;do if(h>>>0<=1){if((h|0)!=1){h=b[q>>1]|0;if(s<<24>>24!=-2&(r<<24>>24==-2&(k|0)==-2)){i=b[g+27952+(O*160|0)+(v<<2)+2>>1]|0;break}else{h=Tk(h,b[t>>1]|0,b[l>>1]|0)|0;i=Tk(b[g+27952+(O*160|0)+(v<<2)+2>>1]|0,b[g+27952+(O*160|0)+(u<<2)+2>>1]|0,b[l+2>>1]|0)|0;break}}if(i){h=b[q>>1]|0;i=b[g+27952+(O*160|0)+(v<<2)+2>>1]|0;break}if(j){h=b[t>>1]|0;i=b[g+27952+(O*160|0)+(u<<2)+2>>1]|0;break}else{h=b[l>>1]|0;i=b[l+2>>1]|0;break}}else{h=Tk(b[q>>1]|0,b[t>>1]|0,b[l>>1]|0)|0;i=Tk(b[g+27952+(O*160|0)+(v<<2)+2>>1]|0,b[g+27952+(O*160|0)+(u<<2)+2>>1]|0,b[l+2>>1]|0)|0}while(0);n=(d[g+28352+(O*80|0)+(u<<1)+1>>0]|0)+(d[g+28352+(O*80|0)+(v<<1)+1>>0]|0)|0;u=Uk(g,40,(d[g+28352+(O*80|0)+(u<<1)>>0]|0)+(d[g+28352+(O*80|0)+(v<<1)>>0]|0)|0,$)|0;v=Uk(g,47,n,V)|0;n=u+h|0;l=v+i|0;if((u|0)==-2147483648|(v|0)==-2147483648){ha=123;break g}do if(D){if(!E){b[z+4>>1]=n;b[z+6>>1]=l;i=c[$>>2]|0;a[A+2>>0]=i;h=c[V>>2]|0;j=h&255;k=1;ha=121;break}if(x){i=c[$>>2]|0;h=c[V>>2]|0;break}else{b[z+32>>1]=n;b[z+34>>1]=l;i=c[$>>2]|0;a[A+16>>0]=i;h=c[V>>2]|0;j=h&255;k=8;ha=121;break}}else{i=n&65535;b[z+36>>1]=i;b[z+32>>1]=i;b[z+4>>1]=i;i=l&65535;b[z+38>>1]=i;b[z+34>>1]=i;b[z+6>>1]=i;i=c[$>>2]|0;h=i&255;a[A+18>>0]=h;a[A+16>>0]=h;a[A+2>>0]=h;h=c[V>>2]|0;j=h&255;a[A+19>>0]=j;a[A+17>>0]=j;k=1;ha=121}while(0);if((ha|0)==121){ha=0;a[A+(k<<1)+1>>0]=j}b[z>>1]=n;b[g+27952+(O*160|0)+(y<<2)+2>>1]=l;a[A>>0]=i;a[g+28352+(O*80|0)+(y<<1)+1>>0]=h;w=w+1|0}}else ha=125;while(0);if((ha|0)==125){ha=0;c[g+28352+(O*80|0)+(h<<1)>>2]=0;c[g+28352+(O*80|0)+(h<<1)+16>>2]=0}F=F+1|0}O=O+1|0;h=c[U>>2]|0}if((ha|0)==123){h=-1094995529;break}else if((ha|0)==129)break d}while(0);break a}if(h&256|0){ck(f,g,ja);c[g+28376>>2]=0;c[g+28380>>2]=0;c[g+28392>>2]=0;c[g+28396>>2]=0;c[g+28408>>2]=0;c[g+28412>>2]=0;c[g+28424>>2]=0;c[g+28428>>2]=0;c[g+28456>>2]=0;c[g+28460>>2]=0;c[g+28472>>2]=0;c[g+28476>>2]=0;c[g+28488>>2]=0;c[g+28492>>2]=0;c[g+28504>>2]=0;c[g+28508>>2]=0;m=c[da+72>>2]&m;break}if(h&8|0){t=g+23412|0;k=c[ja>>2]|0;l=g+21832|0;j=0;while(1){h=c[t>>2]|0;if(j>>>0>=h>>>0)break;if(k&4096<<(j<<1)|0){i=c[g+23404+(j<<2)>>2]<>2];if(i>>>0>1){h=Sk(g,j,0)|0;if(h>>>0>=i>>>0){ha=140;break}}else h=0;Y=H(h,16843009)|0;c[g+28272+(j*40|0)+12>>2]=Y;c[g+28272+(j*40|0)+20>>2]=Y;c[g+28272+(j*40|0)+28>>2]=Y;c[g+28272+(j*40|0)+36>>2]=Y}j=j+1|0}if((ha|0)==140){g=c[f+4>>2]|0;c[n>>2]=h;c[n+4>>2]=i;mf(g,16,140144,n);h=-1;break a}s=0;while(1){if(s>>>0>=h>>>0)break d;if(c[ja>>2]&4096<<(s<<1)){i=a[g+28272+(s*40|0)+12>>0]|0;o=a[g+28272+(s*40|0)+4>>0]|0;p=a[g+28272+(s*40|0)+11>>0]|0;n=g+27952+(s*160|0)+44|0;q=g+27952+(s*160|0)+16|0;h=a[g+28272+(s*40|0)+8>>0]|0;if(h<<24>>24==-2){r=g+27952+(s*160|0)+12|0;l=a[g+28272+(s*40|0)+3>>0]|0}else{r=g+27952+(s*160|0)+32|0;l=h<<24>>24}j=o<<24>>24==i<<24>>24;k=p<<24>>24==i<<24>>24;h=(k&1)+(j&1)+((l|0)==(i<<24>>24|0)&1)|0;do if(h>>>0<=1){if((h|0)!=1){k=b[n>>1]|0;if(p<<24>>24!=-2&(o<<24>>24==-2&(l|0)==-2)){h=b[g+27952+(s*160|0)+46>>1]|0;break}else{k=Tk(k,b[q>>1]|0,b[r>>1]|0)|0;h=Tk(b[g+27952+(s*160|0)+46>>1]|0,b[g+27952+(s*160|0)+18>>1]|0,b[r+2>>1]|0)|0;break}}if(k){k=b[n>>1]|0;h=b[g+27952+(s*160|0)+46>>1]|0;break}if(j){k=b[q>>1]|0;h=b[g+27952+(s*160|0)+18>>1]|0;break}else{k=b[r>>1]|0;h=b[r+2>>1]|0;break}}else{k=Tk(b[n>>1]|0,b[q>>1]|0,b[r>>1]|0)|0;h=Tk(b[g+27952+(s*160|0)+46>>1]|0,b[g+27952+(s*160|0)+18>>1]|0,b[r+2>>1]|0)|0}while(0);j=(d[g+28352+(s*80|0)+9>>0]|0)+(d[g+28352+(s*80|0)+23>>0]|0)|0;i=Uk(g,40,(d[g+28352+(s*80|0)+8>>0]|0)+(d[g+28352+(s*80|0)+22>>0]|0)|0,_)|0;j=Uk(g,47,j,$)|0;if((i|0)==-2147483648|(j|0)==-2147483648)break;Y=(c[$>>2]<<8&65280|c[_>>2]&255)*65537|0;c[g+28352+(s*80|0)+24>>2]=Y;c[g+28352+(s*80|0)+28>>2]=Y;c[g+28352+(s*80|0)+40>>2]=Y;c[g+28352+(s*80|0)+44>>2]=Y;c[g+28352+(s*80|0)+56>>2]=Y;c[g+28352+(s*80|0)+60>>2]=Y;c[g+28352+(s*80|0)+72>>2]=Y;c[g+28352+(s*80|0)+76>>2]=Y;h=j+h<<16|i+k&65535;c[g+27952+(s*160|0)+48>>2]=h;c[g+27952+(s*160|0)+52>>2]=h;c[g+27952+(s*160|0)+56>>2]=h;c[g+27952+(s*160|0)+60>>2]=h;c[g+27952+(s*160|0)+80>>2]=h;c[g+27952+(s*160|0)+84>>2]=h;c[g+27952+(s*160|0)+88>>2]=h;c[g+27952+(s*160|0)+92>>2]=h;c[g+27952+(s*160|0)+112>>2]=h;c[g+27952+(s*160|0)+116>>2]=h;c[g+27952+(s*160|0)+120>>2]=h;c[g+27952+(s*160|0)+124>>2]=h;c[g+27952+(s*160|0)+144>>2]=h;c[g+27952+(s*160|0)+148>>2]=h;c[g+27952+(s*160|0)+152>>2]=h;c[g+27952+(s*160|0)+156>>2]=h;h=c[t>>2]|0}s=s+1|0}h=-1094995529;break a}T=g+23412|0;o=c[ja>>2]|0;p=g+21832|0;if(!(h&16))n=0;else{n=0;i:while(1){h=c[T>>2]|0;if(n>>>0>=h>>>0)break;k=n<<1;l=g+23404+(n<<2)|0;j=0;while(1){if((j|0)>=2)break;if(!(o&4096<>2]<>2];if(i>>>0>1){h=Sk(g,n,j<<3)|0;if(h>>>0>=i>>>0){ha=171;break i}}else h=0;h=H(h,16843009)|0}V=(j<<4|12)+(g+28272+(n*40|0))|0;c[V>>2]=h;c[V+8>>2]=h;j=j+1|0}n=n+1|0}if((ha|0)==171){g=c[f+4>>2]|0;c[r>>2]=h;c[r+4>>2]=i;mf(g,16,140144,r);h=-1;break a}O=f+24312|0;P=g+21740|0;Q=g+21720|0;R=f+26360|0;S=f+26368|0;M=0;j:while(1){if(M>>>0>=h>>>0)break d;z=M<<1;A=g+28272+(M*40|0)+4|0;B=g+27952+(M*160|0)+16|0;C=g+27952+(M*160|0)+18|0;D=g+28272+(M*40|0)+11|0;E=g+27952+(M*160|0)+40|0;F=12288<=2)break;if(!(c[ja>>2]&4096<>2]=0;c[g+28352+(M*80|0)+(V<<1)+4>>2]=0;c[g+28352+(M*80|0)+(V<<1)+16>>2]=0;c[g+28352+(M*80|0)+(V<<1)+20>>2]=0;U=g+27952+(M*160|0)+(V<<2)|0;V=g+27952+(M*160|0)+(V<<2)+32|0;c[U>>2]=0;c[U+4>>2]=0;c[U+8>>2]=0;c[U+12>>2]=0;c[V>>2]=0;c[V+4>>2]=0;c[V+8>>2]=0;c[V+12>>2]=0}else{x=y<<3;L=y<<4|12;p=a[g+28272+(M*40|0)+L>>0]|0;q=p<<24>>24;do if(!y){if((a[A>>0]|0)!=p<<24>>24){ha=183;break}k=b[B>>1]|0;j=b[C>>1]|0}else{if((a[I>>0]|0)!=p<<24>>24){ha=183;break}k=b[J>>1]|0;j=b[K>>1]|0}while(0);do if((ha|0)==183){ha=0;k=a[150841+x>>0]|0;n=k&255;w=n+-8|0;u=a[g+28272+(M*40|0)+w>>0]|0;v=n+-1|0;s=a[g+28272+(M*40|0)+v>>0]|0;r=g+27952+(M*160|0)+(v<<2)|0;t=g+27952+(M*160|0)+(w<<2)|0;h=n+-4|0;i=a[g+28272+(M*40|0)+h>>0]|0;l=i<<24>>24;i=i<<24>>24==-2;do if((n&7|0)==4&((k&255)>19&(i&(c[X>>2]|0)!=0))){if((a[D>>0]|0)==-2){ha=192;break}o=c[(c[O>>2]|0)+48>>2]|0;c[E>>2]=0;j=(c[P>>2]&128|0)==0;if(!(c[W>>2]|0)){if(j){ha=192;break}V=c[Y>>2]|0;i=V+(c[Q>>2]|0)|0;h=(c[fa>>2]<<1&2)+(n>>>5)|0;if(!(c[o+((H(h>>>2,V)|0)+i<<2)>>2]&F)){n=E;l=-1;break}l=c[O>>2]|0;V=c[l+36+(M<<2)>>2]|0;n=(c[(c[R>>2]|0)+(i<<2)>>2]|0)+3+(H(c[S>>2]|0,h)|0)|0;b[E>>1]=b[V+(n<<2)>>1]|0;b[G>>1]=b[V+(n<<2)+2>>1]<<1;n=E;l=a[(c[l+68+(M<<2)>>2]|0)+((h&14)+(i<<2|1))>>0]>>1;break}else{if(!j){ha=192;break}i=c[g+21720+(((k&255)>35&1)<<2)>>2]|0;h=n>>>2;if(!(c[o+(i<<2)>>2]&F)){n=E;l=-1;break}l=c[O>>2]|0;V=c[l+36+(M<<2)>>2]|0;n=(c[(c[R>>2]|0)+(i<<2)>>2]|0)+3+(H(c[S>>2]|0,h&3)|0)|0;b[E>>1]=b[V+(n<<2)>>1]|0;b[G>>1]=(b[V+(n<<2)+2>>1]|0)/2|0;n=E;l=a[(c[l+68+(M<<2)>>2]|0)+(h&2|i<<2|1)>>0]<<1;break}}else ha=192;while(0);do if((ha|0)==192){ha=0;if(i){l=n+-9|0;n=g+27952+(M*160|0)+(l<<2)|0;l=a[g+28272+(M*40|0)+l>>0]|0;break}else{n=g+27952+(M*160|0)+(h<<2)|0;break}}while(0);j=u<<24>>24==p<<24>>24;i=s<<24>>24==p<<24>>24;h=(i&1)+(j&1)+((l|0)==(q|0)&1)|0;if(h>>>0>1){k=Tk(b[r>>1]|0,b[t>>1]|0,b[n>>1]|0)|0;j=Tk(b[g+27952+(M*160|0)+(v<<2)+2>>1]|0,b[g+27952+(M*160|0)+(w<<2)+2>>1]|0,b[n+2>>1]|0)|0;break}if((h|0)!=1){k=b[r>>1]|0;if(s<<24>>24!=-2&(u<<24>>24==-2&(l|0)==-2)){j=b[g+27952+(M*160|0)+(v<<2)+2>>1]|0;break}else{k=Tk(k,b[t>>1]|0,b[n>>1]|0)|0;j=Tk(b[g+27952+(M*160|0)+(v<<2)+2>>1]|0,b[g+27952+(M*160|0)+(w<<2)+2>>1]|0,b[n+2>>1]|0)|0;break}}if(i){k=b[r>>1]|0;j=b[g+27952+(M*160|0)+(v<<2)+2>>1]|0;break}if(j){k=b[t>>1]|0;j=b[g+27952+(M*160|0)+(w<<2)+2>>1]|0;break}else{k=b[n>>1]|0;j=b[n+2>>1]|0;break}}while(0);V=d[150841+x>>0]|0;h=V+-1|0;V=V+-8|0;i=(d[g+28352+(M*80|0)+(V<<1)+1>>0]|0)+(d[g+28352+(M*80|0)+(h<<1)+1>>0]|0)|0;h=Uk(g,40,(d[g+28352+(M*80|0)+(V<<1)>>0]|0)+(d[g+28352+(M*80|0)+(h<<1)>>0]|0)|0,_)|0;i=Uk(g,47,i,$)|0;if((h|0)==-2147483648|(i|0)==-2147483648)break j;V=(c[$>>2]<<8&65280|c[_>>2]&255)*65537|0;c[g+28352+(M*80|0)+(L<<1)>>2]=V;c[g+28352+(M*80|0)+(L<<1)+4>>2]=V;c[g+28352+(M*80|0)+(L<<1)+16>>2]=V;c[g+28352+(M*80|0)+(L<<1)+20>>2]=V;V=i+j<<16|h+k&65535;c[g+27952+(M*160|0)+(L<<2)>>2]=V;c[g+27952+(M*160|0)+(L<<2)+4>>2]=V;c[g+27952+(M*160|0)+(L<<2)+8>>2]=V;c[g+27952+(M*160|0)+(L<<2)+12>>2]=V;c[g+27952+(M*160|0)+(L<<2)+32>>2]=V;c[g+27952+(M*160|0)+(L<<2)+36>>2]=V;c[g+27952+(M*160|0)+(L<<2)+40>>2]=V;c[g+27952+(M*160|0)+(L<<2)+44>>2]=V}y=y+1|0}M=M+1|0;h=c[T>>2]|0}h=-1094995529;break a}k:while(1){h=c[T>>2]|0;if(n>>>0>=h>>>0)break;k=n<<1;l=g+23404+(n<<2)|0;j=0;while(1){if((j|0)>=2)break;if(!(o&4096<>2]<>2];if(i>>>0>1){h=Sk(g,n,j<<2)|0;if(h>>>0>=i>>>0){ha=220;break k}}else h=0;h=h*257&65535}V=(j<<1)+12+(g+28272+(n*40|0))|0;b[V>>1]=h;b[V+8>>1]=h;b[V+16>>1]=h;b[V+24>>1]=h;j=j+1|0}n=n+1|0}if((ha|0)==220){g=c[f+4>>2]|0;c[q>>2]=h;c[q+4>>2]=i;mf(g,16,140144,q);h=-1;break a}O=f+24312|0;P=g+21740|0;Q=g+21720|0;R=f+26360|0;S=f+26368|0;M=0;l:while(1){if(M>>>0>=h>>>0)break d;z=M<<1;A=g+28272+(M*40|0)+11|0;B=g+27952+(M*160|0)+44|0;C=g+27952+(M*160|0)+46|0;D=g+27952+(M*160|0)+40|0;E=12288<=2)break;if(!(c[ja>>2]&4096<>2]=0;c[g+28352+(M*80|0)+(V<<1)+16>>2]=0;c[g+28352+(M*80|0)+(V<<1)+32>>2]=0;c[g+28352+(M*80|0)+(V<<1)+48>>2]=0;c[g+27952+(M*160|0)+(V<<2)>>2]=0;c[g+27952+(M*160|0)+(V<<2)+4>>2]=0;c[g+27952+(M*160|0)+(V<<2)+32>>2]=0;c[g+27952+(M*160|0)+(V<<2)+36>>2]=0;c[g+27952+(M*160|0)+(V<<2)+64>>2]=0;c[g+27952+(M*160|0)+(V<<2)+68>>2]=0;c[g+27952+(M*160|0)+(V<<2)+96>>2]=0;c[g+27952+(M*160|0)+(V<<2)+100>>2]=0}else{x=y<<2;L=(y<<1)+12|0;q=a[g+28272+(M*40|0)+L>>0]|0;u=q<<24>>24;do if(!y)if((a[A>>0]|0)==q<<24>>24){k=b[B>>1]|0;j=b[C>>1]|0}else ha=234;else{h=a[G>>0]|0;if(h<<24>>24==-2){i=I;h=a[J>>0]|0}else i=K;if(h<<24>>24!=q<<24>>24){ha=234;break}k=b[i>>1]|0;j=b[i+2>>1]|0}while(0);do if((ha|0)==234){ha=0;h=a[150841+x>>0]|0;n=h&255;v=n+-8|0;r=a[g+28272+(M*40|0)+v>>0]|0;w=n+-1|0;s=a[g+28272+(M*40|0)+w>>0]|0;p=g+27952+(M*160|0)+(w<<2)|0;t=g+27952+(M*160|0)+(v<<2)|0;i=n+-6|0;j=a[g+28272+(M*40|0)+i>>0]|0;l=j<<24>>24;j=j<<24>>24==-2;do if((n&7|0)==4&((h&255)>19&(j&(c[X>>2]|0)!=0))){if((a[A>>0]|0)==-2){ha=243;break}o=c[(c[O>>2]|0)+48>>2]|0;c[D>>2]=0;k=(c[P>>2]&128|0)==0;if(!(c[W>>2]|0)){if(k){ha=243;break}V=c[Y>>2]|0;i=V+(c[Q>>2]|0)|0;h=(c[fa>>2]<<1&2)+(n>>>5)|0;if(!(c[o+((H(h>>>2,V)|0)+i<<2)>>2]&E)){n=D;l=-1;break}l=c[O>>2]|0;V=c[l+36+(M<<2)>>2]|0;n=(c[(c[R>>2]|0)+(i<<2)>>2]|0)+3+(H(c[S>>2]|0,h)|0)|0;b[D>>1]=b[V+(n<<2)>>1]|0;b[F>>1]=b[V+(n<<2)+2>>1]<<1;n=D;l=a[(c[l+68+(M<<2)>>2]|0)+((h&14)+(i<<2|1))>>0]>>1;break}else{if(!k){ha=243;break}i=c[g+21720+(((h&255)>35&1)<<2)>>2]|0;h=n>>>2;if(!(c[o+(i<<2)>>2]&E)){n=D;l=-1;break}l=c[O>>2]|0;V=c[l+36+(M<<2)>>2]|0;n=(c[(c[R>>2]|0)+(i<<2)>>2]|0)+3+(H(c[S>>2]|0,h&3)|0)|0;b[D>>1]=b[V+(n<<2)>>1]|0;b[F>>1]=(b[V+(n<<2)+2>>1]|0)/2|0;n=D;l=a[(c[l+68+(M<<2)>>2]|0)+(h&2|i<<2|1)>>0]<<1;break}}else ha=243;while(0);do if((ha|0)==243){ha=0;if(j){l=n+-9|0;n=g+27952+(M*160|0)+(l<<2)|0;l=a[g+28272+(M*40|0)+l>>0]|0;break}else{n=g+27952+(M*160|0)+(i<<2)|0;break}}while(0);j=r<<24>>24==q<<24>>24;i=s<<24>>24==q<<24>>24;h=(i&1)+(j&1)+((l|0)==(u|0)&1)|0;if(h>>>0>1){k=Tk(b[p>>1]|0,b[t>>1]|0,b[n>>1]|0)|0;j=Tk(b[g+27952+(M*160|0)+(w<<2)+2>>1]|0,b[g+27952+(M*160|0)+(v<<2)+2>>1]|0,b[n+2>>1]|0)|0;break}if((h|0)!=1){k=b[p>>1]|0;if(s<<24>>24!=-2&(r<<24>>24==-2&(l|0)==-2)){j=b[g+27952+(M*160|0)+(w<<2)+2>>1]|0;break}else{k=Tk(k,b[t>>1]|0,b[n>>1]|0)|0;j=Tk(b[g+27952+(M*160|0)+(w<<2)+2>>1]|0,b[g+27952+(M*160|0)+(v<<2)+2>>1]|0,b[n+2>>1]|0)|0;break}}if(i){k=b[p>>1]|0;j=b[g+27952+(M*160|0)+(w<<2)+2>>1]|0;break}if(j){k=b[t>>1]|0;j=b[g+27952+(M*160|0)+(v<<2)+2>>1]|0;break}else{k=b[n>>1]|0;j=b[n+2>>1]|0;break}}while(0);V=d[150841+x>>0]|0;h=V+-1|0;V=V+-8|0;i=(d[g+28352+(M*80|0)+(V<<1)+1>>0]|0)+(d[g+28352+(M*80|0)+(h<<1)+1>>0]|0)|0;h=Uk(g,40,(d[g+28352+(M*80|0)+(V<<1)>>0]|0)+(d[g+28352+(M*80|0)+(h<<1)>>0]|0)|0,_)|0;i=Uk(g,47,i,$)|0;if((h|0)==-2147483648|(i|0)==-2147483648)break l;V=(c[$>>2]<<8&65280|c[_>>2]&255)*65537|0;c[g+28352+(M*80|0)+(L<<1)>>2]=V;c[g+28352+(M*80|0)+(L<<1)+16>>2]=V;c[g+28352+(M*80|0)+(L<<1)+32>>2]=V;c[g+28352+(M*80|0)+(L<<1)+48>>2]=V;V=i+j<<16|h+k&65535;c[g+27952+(M*160|0)+(L<<2)>>2]=V;c[g+27952+(M*160|0)+(L<<2)+4>>2]=V;c[g+27952+(M*160|0)+(L<<2)+32>>2]=V;c[g+27952+(M*160|0)+(L<<2)+36>>2]=V;c[g+27952+(M*160|0)+(L<<2)+64>>2]=V;c[g+27952+(M*160|0)+(L<<2)+68>>2]=V;c[g+27952+(M*160|0)+(L<<2)+96>>2]=V;c[g+27952+(M*160|0)+(L<<2)+100>>2]=V}y=y+1|0}M=M+1|0;h=c[T>>2]|0}h=-1094995529;break a}else{if(!(h&1)){_=g+21660|0;$=ak(c[f+4>>2]|0,c[g+21760>>2]|0,c[g+21768>>2]|0,c[_>>2]|0,0)|0;c[_>>2]=$;if(($|0)<0){h=-1;break a}}else{m:do if((m|0)!=0?(Lk(g+32856|0,(c[g+21840>>2]|0)+399+(g+32904)|0)|0)!=0:0){c[ja>>2]=h|16777216;h=0;while(1){if((h|0)>=16)break m;$=d[150841+h>>0]|0;_=a[$+-1+(g+21664)>>0]|0;Y=a[$+-8+(g+21664)>>0]|0;_=(_|0)>(Y|0)?Y:_;$=g+21664+$|0;_=(Ok(g,(_|0)<0?2:_)|0)*257&65535;b[$>>1]=_;b[$+8>>1]=_;h=h+4|0}}else{h=0;ha=50}while(0);n:do if((ha|0)==50)while(1){ha=0;if((h|0)==16)break n;ha=d[150841+h>>0]|0;$=a[ha+-1+(g+21664)>>0]|0;_=a[ha+-8+(g+21664)>>0]|0;$=($|0)>(_|0)?_:$;a[g+21664+ha>>0]=Ok(g,($|0)<0?2:$)|0;h=h+1|0;ha=50}while(0);$=(c[g+21704>>2]|0)+(c[(c[f+26364>>2]|0)+(c[ma>>2]<<2)>>2]|0)|0;c[$>>2]=c[g+21700>>2];a[$+4>>0]=a[g+21695>>0]|0;a[$+5>>0]=a[g+21687>>0]|0;a[$+6>>0]=a[g+21679>>0]|0;if(($j(g+21664|0,c[f+4>>2]|0,c[g+21760>>2]|0,c[g+21768>>2]|0)|0)<0){h=-1;break a}}if(ca){h=Pk(f,g)|0;a[(c[f+26396>>2]|0)+na>>0]=h;h=ak(c[f+4>>2]|0,c[g+21760>>2]|0,c[g+21768>>2]|0,h,1)|0;if((h|0)<0){h=-1;break a}}else h=6;c[g+21656>>2]=h}while(0);if(c[ja>>2]&120|0){a[(c[f+26396>>2]|0)+na>>0]=0;k=c[ja>>2]|0;h=c[f+26368>>2]|0;i=(H(h<<2,c[fa>>2]|0)|0)+(c[ea>>2]<<2)|0;l=c[ma>>2]<<2;if(!(k&12288)){$=(c[f+24384>>2]|0)+l|0;b[$>>1]=-1;b[$+2>>1]=-1}else{j=(c[f+24352>>2]|0)+(i<<2)|0;_=g+28e3|0;$=c[_+4>>2]|0;X=j;c[X>>2]=c[_>>2];c[X+4>>2]=$;X=g+28008|0;$=c[X+4>>2]|0;_=j+8|0;c[_>>2]=c[X>>2];c[_+4>>2]=$;_=g+28032|0;$=c[_+4>>2]|0;X=j+(h<<2)|0;Y=X;c[Y>>2]=c[_>>2];c[Y+4>>2]=$;Y=g+28040|0;$=c[Y+4>>2]|0;X=X+8|0;c[X>>2]=c[Y>>2];c[X+4>>2]=$;X=g+28064|0;$=c[X+4>>2]|0;Y=j+(h<<1<<2)|0;_=Y;c[_>>2]=c[X>>2];c[_+4>>2]=$;_=g+28072|0;$=c[_+4>>2]|0;Y=Y+8|0;c[Y>>2]=c[_>>2];c[Y+4>>2]=$;Y=g+28096|0;$=c[Y+4>>2]|0;j=j+(h*3<<2)|0;_=j;c[_>>2]=c[Y>>2];c[_+4>>2]=$;_=g+28104|0;$=c[_+4>>2]|0;j=j+8|0;c[j>>2]=c[_>>2];c[j+4>>2]=$;j=(c[g+32848>>2]|0)+(c[(c[f+26364>>2]|0)+(c[ma>>2]<<2)>>2]<<1)|0;if(!(k&2048)){Y=g+28424|0;_=c[Y+4>>2]|0;$=j;c[$>>2]=c[Y>>2];c[$+4>>2]=_;$=j+6|0;b[$+6>>1]=b[g+28382>>1]|0;b[$+4>>1]=b[g+28398>>1]|0;b[$+2>>1]=b[g+28414>>1]|0}else{c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0}$=(c[f+24384>>2]|0)+l|0;a[$>>0]=a[g+28284>>0]|0;a[$+1>>0]=a[g+28286>>0]|0;a[$+2>>0]=a[g+28300>>0]|0;a[$+3>>0]=a[g+28302>>0]|0}if(k&49152|0){_=(c[f+24356>>2]|0)+(i<<2)|0;X=g+28160|0;$=c[X+4>>2]|0;W=_;c[W>>2]=c[X>>2];c[W+4>>2]=$;W=g+28168|0;$=c[W+4>>2]|0;X=_+8|0;c[X>>2]=c[W>>2];c[X+4>>2]=$;X=g+28192|0;$=c[X+4>>2]|0;W=_+(h<<2)|0;Y=W;c[Y>>2]=c[X>>2];c[Y+4>>2]=$;Y=g+28200|0;$=c[Y+4>>2]|0;W=W+8|0;c[W>>2]=c[Y>>2];c[W+4>>2]=$;W=g+28224|0;$=c[W+4>>2]|0;Y=_+(h<<1<<2)|0;X=Y;c[X>>2]=c[W>>2];c[X+4>>2]=$;X=g+28232|0;$=c[X+4>>2]|0;Y=Y+8|0;c[Y>>2]=c[X>>2];c[Y+4>>2]=$;Y=g+28256|0;$=c[Y+4>>2]|0;h=_+(h*3<<2)|0;_=h;c[_>>2]=c[Y>>2];c[_+4>>2]=$;_=g+28264|0;$=c[_+4>>2]|0;h=h+8|0;c[h>>2]=c[_>>2];c[h+4>>2]=$;h=(c[g+32852>>2]|0)+(c[(c[f+26364>>2]|0)+(c[ma>>2]<<2)>>2]<<1)|0;if(!(k&2048)){Y=g+28504|0;_=c[Y+4>>2]|0;$=h;c[$>>2]=c[Y>>2];c[$+4>>2]=_;$=h+6|0;b[$+6>>1]=b[g+28462>>1]|0;b[$+4>>1]=b[g+28478>>1]|0;b[$+2>>1]=b[g+28494>>1]|0}else{c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0}$=(c[f+24388>>2]|0)+l|0;a[$>>0]=a[g+28324>>0]|0;a[$+1>>0]=a[g+28326>>0]|0;a[$+2>>0]=a[g+28340>>0]|0;a[$+3>>0]=a[g+28342>>0]|0}if(!((k&64|0)==0|(c[aa>>2]|0)!=3)){aa=(c[f+26408>>2]|0)+(c[ma>>2]<<2)|0;a[aa+1>>0]=(e[g+28554>>1]|0)>>>1;a[aa+2>>0]=(e[g+28556>>1]|0)>>>1;a[aa+3>>0]=(e[g+28558>>1]|0)>>>1}}if(!(c[ja>>2]&2)){h=Vk(g)|0;if(ca)u=(Wk(g)|0)<<4|h;else u=h}else if(Z>>>0>15&(ca^1)){mf(c[f+4>>2]|0,16,140164,ba);h=-1094995529;break}else u=Z;c[g+21856>>2]=u;b[(c[f+26392>>2]|0)+(na<<1)>>1]=u;s=(u&15|0)==0;if(!((m|0)==0|s)?(c[ja>>2]&7|0)==0:0){ca=(Lk(g+32856|0,(c[g+21840>>2]|0)+399+(g+32904)|0)|0)<<24;c[ja>>2]=c[ja>>2]|ca}k=c[ja>>2]|0;do if(!((k&16777216|0)==0?1:(c[(c[ia>>2]|0)+12>>2]|0)!=3)){if((c[f+25704>>2]|0)>>>0>=151){h=0;while(1){if((h|0)==2)break;i=c[g+21740+(h<<2)>>2]|0;if((i|0)!=0&(i&16777216|0)==0){ba=i<<4&64;ca=h<<4;a[ca+99+(g+27824)>>0]=ba;a[ca+91+(g+27824)>>0]=ba;a[ca+59+(g+27824)>>0]=ba;a[ca+51+(g+27824)>>0]=ba;a[ca+19+(g+27824)>>0]=ba;a[(ca|11)+(g+27824)>>0]=ba}h=h+1|0}ca=c[g+21732>>2]|0;h=(ca&4|0)==0?0:1077952576;if(!((ca|0)!=0&(ca&16777216|0)==0))break;c[g+27828>>2]=h;c[g+27868>>2]=h;c[g+27908>>2]=h;break}i=k&7;j=i|0?64:0;h=0;while(1){if((h|0)==2)break;ca=c[g+21740+(h<<2)>>2]|0;if((ca|0)!=0&(ca&16777216|0)==0){ca=h<<4;a[ca+99+(g+27824)>>0]=j;a[ca+91+(g+27824)>>0]=j;a[ca+59+(g+27824)>>0]=j;a[ca+51+(g+27824)>>0]=j;a[ca+19+(g+27824)>>0]=j;a[(ca|11)+(g+27824)>>0]=j}h=h+1|0}ca=c[g+21732>>2]|0;if((ca|0)!=0&(ca&16777216|0)==0){ca=(i|0)==0?0:1077952576;c[g+27828>>2]=ca;c[g+27868>>2]=ca;c[g+27908>>2]=ca}}while(0);c[(c[f+24364>>2]|0)+(na<<2)>>2]=k;if((u|0)==0?(c[ja>>2]&2|0)==0:0){c[g+27836>>2]=0;c[g+27844>>2]=0;c[g+27852>>2]=0;c[g+27860>>2]=0;c[g+27876>>2]=0;c[g+27884>>2]=0;c[g+27892>>2]=0;c[g+27900>>2]=0;c[g+27916>>2]=0;c[g+27924>>2]=0;c[g+27932>>2]=0;c[g+27940>>2]=0;c[g+864>>2]=0;h=g+848|0}else ha=302;o:do if((ha|0)==302){v=g+32856|0;m=g+864|0;do if(Lk(v,(c[m>>2]|0?61:60)+(g+32904)|0)|0){k=(c[da+1184>>2]|0)*6|0;l=k+3|0;i=l<<1;h=62;j=1;while(1){if(!(Lk(v,g+32904+h|0)|0)){ha=306;break}if((j|0)<(i|0)){h=63;j=j+1|0}else{ha=429;break}}if((ha|0)==306){q=j+1>>1;q=(j&1|0)==0?0-q|0:q;c[m>>2]=q;h=g+848|0;q=(c[h>>2]|0)+q|0;q=(q>>>0>l>>>0?((q|0)<0?k+4|0:-4-k|0):0)+q|0;c[h>>2]=q;ha=c[ka>>2]|0;c[g+852>>2]=d[ha+548+q>>0];c[g+856>>2]=d[ha+636+q>>0];break}else if((ha|0)==429){h=c[f+4>>2]|0;g=c[fa>>2]|0;c[ga>>2]=c[ea>>2];c[ga+4>>2]=g;mf(h,16,140177,ga);h=-1;break a}}else{c[m>>2]=0;q=g+848|0;h=q;q=c[q>>2]|0}while(0);i=c[ja>>2]|0;ha=(i&128|0)==0;r=(q|0)!=0;t=ha?(r?f+26428|0:f+26716|0):r?f+26572|0:f+26860|0;r=ha?(r?f+26444|0:f+26732|0):r?f+26588|0:f+26876|0;p:do if(!(i&2)){p=i&7|0?0:3;o=(i&16777216|0)==0;n=0;while(1){if((n|0)==4)break p;q:do if(!(1<>0]|0)+(g+27824)|0;b[ha>>1]=0;b[ha+8>>1]=0}else{if(!o){i=n<<2;j=g+28560+(n<<6<>2]|0)+173812+(p<<2)>>2]|0)+(q<<8)|0;do if((c[(c[ia>>2]|0)+12>>2]|0)==3){l=d[150841+i>>0]|0;ha=(a[l+-1+(g+27824)>>0]|0)!=0&1;if(Xk(v,((a[l+-8+(g+27824)>>0]|0?ha|2:ha)|1012)+(g+32904)|0)|0)break;ha=g+27824+l|0;b[ha>>1]=0;b[ha+8>>1]=0;break q}while(0);Zk(f,g,j,5,i,r,k,64);break}j=(c[(c[ka>>2]|0)+173788+(p<<2)>>2]|0)+(q<<6)|0;k=n<<2;i=0;while(1){if((i|0)==4)break q;l=i+k|0;m=d[150841+l>>0]|0;ha=(a[m+-1+(g+27824)>>0]|0)!=0&1;if(!(Xk(v,(a[m+-8+(g+27824)>>0]|0?ha|2:ha)+93+(g+32904)|0)|0))a[g+27824+m>>0]=0;else Zk(f,g,g+28560+(l<<4<>2]=0;j=j+4|0}while((j|0)<(k|0));if(!(Xk(v,((c[g+21860>>2]|0)>>>7&2|(c[g+21864>>2]|0)>>>8&1)+85+(g+32904)|0)|0))a[g+27824>>0]=0;else Yk(f,g,i,0,48,t,16);if(s){c[g+27836>>2]=0;c[g+27844>>2]=0;c[g+27852>>2]=0;c[g+27860>>2]=0;break}j=(c[(c[ka>>2]|0)+173788>>2]|0)+(q<<6)|0;k=t+1|0;i=0;while(1){if((i|0)==16)break p;l=d[150841+i>>0]|0;ha=(a[l+-1+(g+27824)>>0]|0)!=0&1;if(!(Xk(v,(a[l+-8+(g+27824)>>0]|0?ha|2:ha)+89+(g+32904)|0)|0))a[g+27824+l>>0]=0;else Zk(f,g,g+28560+(i<<4<>2]|0)+12>>2]|0;if((j|0)!=3){i=(u&48|0)!=0;if((j|0)!=2){r:do if(i){j=g+21864|0;k=g+21860|0;i=0;while(1){if((i|0)==2)break r;l=i+49|0;ha=1<>2]&ha|0)!=0&1;if(!(Xk(v,(c[k>>2]&ha|0?ia|2:ia)+97+(g+32904)|0)|0))a[(d[150841+l>>0]|0)+(g+27824)>>0]=0;else Yk(f,g,g+28560+((i<<8)+256<>2]=0;c[g+27884>>2]=0;c[g+27892>>2]=0;c[g+27900>>2]=0;c[g+27916>>2]=0;c[g+27924>>2]=0;c[g+27932>>2]=0;c[g+27940>>2]=0;break}m=t+1|0;i=0;s:while(1){if((i|0)==2)break o;n=i+1|0;o=(c[(c[ka>>2]|0)+173788+((c[ja>>2]&7|0?0:3)+n<<2)>>2]|0)+(c[g+852+(i<<2)>>2]<<6)|0;j=(i<<4)+16|0;i=0;while(1){if((i|0)==4){i=n;continue s}k=j+i|0;l=d[150841+k>>0]|0;ia=(a[l+-1+(g+27824)>>0]|0)!=0&1;if(!(Xk(v,(a[l+-8+(g+27824)>>0]|0?ia|2:ia)+101+(g+32904)|0)|0))a[g+27824+l>>0]=0;else Zk(f,g,g+28560+(k<<4<>2]&ha|0)!=0&1;if(!(Xk(v,(c[k>>2]&ha|0?ia|2:ia)+97+(g+32904)|0)|0))a[(d[150841+l>>0]|0)+(g+27824)>>0]=0;else _k(f,g,g+28560+((i<<8)+256<>2]=0;c[g+27884>>2]=0;c[g+27892>>2]=0;c[g+27900>>2]=0;c[g+27916>>2]=0;c[g+27924>>2]=0;c[g+27932>>2]=0;c[g+27940>>2]=0;break}u=16<>2]|0)+173788+((c[ja>>2]&7|0?0:3)+t<<2)>>2]|0)+(c[g+852+(i<<2)>>2]<<6)|0;i=g+28560+(s<<4<>0]|0;ia=(a[p+-1+(g+27824)>>0]|0)!=0&1;if(!(Xk(v,(a[p+-8+(g+27824)>>0]|0?ia|2:ia)+101+(g+32904)|0)|0))a[g+27824+p>>0]=0;else Zk(f,g,l,4,o,q,m,15);k=k+1|0;l=l+(u<<1)|0}i=i+(r<<1)|0;j=j+1|0}}}i=c[ja>>2]|0;q=c[g+852>>2]|0;v:do if(!(i&2)){p=i&7|0?1:4;o=(i&16777216|0)==0;n=0;while(1){if((n|0)==4)break v;w:do if(!(1<>0]|0)+(g+27824)|0;b[ia>>1]=0;b[ia+8>>1]=0}else{if(!o){i=(n<<2)+16|0;j=c[(c[ka>>2]|0)+173812+(p<<2)>>2]|0;k=d[150841+i>>0]|0;ia=(a[k+-1+(g+27824)>>0]|0)!=0&1;if(!(Xk(v,((a[k+-8+(g+27824)>>0]|0?ia|2:ia)|1016)+(g+32904)|0)|0)){ia=g+27824+k|0;b[ia>>1]=0;b[ia+8>>1]=0;break}else{Zk(f,g,g+28560+(i<<4<>2]|0)+173788+(p<<2)>>2]|0)+(q<<6)|0;k=(n<<2)+16|0;i=0;while(1){if((i|0)==4)break w;l=k+i|0;m=d[150841+l>>0]|0;ia=(a[m+-1+(g+27824)>>0]|0)!=0&1;if(!(Xk(v,((a[m+-8+(g+27824)>>0]|0?ia|2:ia)|468)+(g+32904)|0)|0))a[g+27824+m>>0]=0;else Zk(f,g,g+28560+(l<<4<>2]=0;j=j+4|0}while((j|0)<(k|0));if(!(Xk(v,((c[g+21864>>2]|0)>>>9&1|(c[g+21860>>2]|0)>>>8&2|460)+(g+32904)|0)|0))a[g+27864>>0]=0;else Yk(f,g,i,6,49,t,16);if(s){c[g+27876>>2]=0;c[g+27884>>2]=0;c[g+27892>>2]=0;c[g+27900>>2]=0;break}j=(c[(c[ka>>2]|0)+173792>>2]|0)+(q<<6)|0;k=t+1|0;i=0;while(1){if((i|0)==16)break v;l=i+16|0;m=d[150841+l>>0]|0;ia=(a[m+-1+(g+27824)>>0]|0)!=0&1;if(!(Xk(v,((a[m+-8+(g+27824)>>0]|0?ia|2:ia)|464)+(g+32904)|0)|0))a[g+27824+m>>0]=0;else Zk(f,g,g+28560+(l<<4<>2]|0;q=c[g+856>>2]|0;if(i&2|0){i=g+31760|0;j=i;k=j+64|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0));if(!(Xk(v,((c[g+21864>>2]|0)>>>10&1|(c[g+21860>>2]|0)>>>9&2|472)+(g+32904)|0)|0))a[g+27904>>0]=0;else Yk(f,g,i,10,50,t,16);if(s){c[g+27916>>2]=0;c[g+27924>>2]=0;c[g+27932>>2]=0;c[g+27940>>2]=0;break}m=(c[(c[ka>>2]|0)+173796>>2]|0)+(q<<6)|0;j=t+1|0;i=0;while(1){if((i|0)==16)break o;k=i+32|0;l=d[150841+k>>0]|0;ka=(a[l+-1+(g+27824)>>0]|0)!=0&1;if(!(Xk(v,((a[l+-8+(g+27824)>>0]|0?ka|2:ka)|476)+(g+32904)|0)|0))a[g+27824+l>>0]=0;else Zk(f,g,g+28560+(k<<4<>0]|0)+(g+27824)|0;b[ja>>1]=0;b[ja+8>>1]=0}else{if(!o){i=(n<<2)+32|0;j=c[(c[ka>>2]|0)+173812+(p<<2)>>2]|0;k=d[150841+i>>0]|0;ja=(a[k+-1+(g+27824)>>0]|0)!=0&1;if(!(Xk(v,((a[k+-8+(g+27824)>>0]|0?ja|2:ja)|1020)+(g+32904)|0)|0)){ja=g+27824+k|0;b[ja>>1]=0;b[ja+8>>1]=0;break}else{Zk(f,g,g+28560+(i<<4<>2]|0)+173788+(p<<2)>>2]|0)+(q<<6)|0;k=(n<<2)+32|0;i=0;while(1){if((i|0)==4)break x;l=k+i|0;m=d[150841+l>>0]|0;ja=(a[m+-1+(g+27824)>>0]|0)!=0&1;if(!(Xk(v,((a[m+-8+(g+27824)>>0]|0?ja|2:ja)|480)+(g+32904)|0)|0))a[g+27824+m>>0]=0;else Zk(f,g,g+28560+(l<<4<>2]|0)+na>>0]=c[h>>2];h=c[ma>>2]|0;i=c[f+25972>>2]|0;c[i+(h*48|0)>>2]=c[g+27836>>2];c[i+(h*48|0)+4>>2]=c[g+27844>>2];c[i+(h*48|0)+8>>2]=c[g+27852>>2];c[i+(h*48|0)+12>>2]=c[g+27860>>2];c[i+(h*48|0)+16>>2]=c[g+27876>>2];c[i+(h*48|0)+20>>2]=c[g+27884>>2];c[i+(h*48|0)+32>>2]=c[g+27916>>2];c[i+(h*48|0)+36>>2]=c[g+27924>>2];if(!(c[f+25680>>2]|0)){c[i+(h*48|0)+24>>2]=c[g+27892>>2];c[i+(h*48|0)+28>>2]=c[g+27900>>2];c[i+(h*48|0)+40>>2]=c[g+27932>>2];c[i+(h*48|0)+44>>2]=c[g+27940>>2];h=0}else h=0}while(0);$c=oa;return h|0}function Mj(a,b){a=a|0;b=b|0;if((c[(c[a+28216>>2]|0)+12>>2]|0)==3)uk(a,b);else vk(a,b);return}function Nj(a){a=a|0;var b=0,d=0;d=a+4|0;b=(c[d>>2]|0)+-2|0;c[d>>2]=b;if((c[a>>2]|0)<(b<<17|0)){sk(a);a=0}else a=(c[a+16>>2]|0)-(c[a+12>>2]|0)|0;return a|0}function Oj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=a+26380|0;h=(c[i>>2]|0)!=3&1;k=c[b+21792>>2]>>h<<4;h=c[a+27008>>2]<<4>>h;g=c[a+26376>>2]|0;d=16<>2]|0)==0;d=(j|(k+d|0)<(h|0)?0:g)+d|0;g=k-(j?0:g)|0;if((!((h|0)<=(g|0)|(d+g|0)<0)?(f=h-g|0,e=(g|0)<0,f=((d|0)>(f|0)?f:d)+(e?g:0)|0,e=e?0:g,rk(a,b,e,f),(c[a+25684>>2]|0)==0):0)?(c[(c[(c[b>>2]|0)+25628>>2]|0)+600>>2]|0)==0:0)Sh((c[a+24312>>2]|0)+4|0,e+-1+f|0,(c[i>>2]|0)==2&1);return}function Pj(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0;f=c[a+27016>>2]|0;g=(H(f,c[b+21792>>2]|0)|0)+(c[b+21788>>2]|0)|0;h=c[a+26372>>2]|0;d=g+-1|0;i=c[b+832>>2]|0;if((i|0)!=(e[h+(d<<1)>>1]|0|0)){d=g-f|0;if((i|0)==(e[h+(d<<1)>>1]|0|0))j=3;else d=0}else j=3;if((j|0)==3)d=(c[(c[a+24364>>2]|0)+(d<<2)>>2]|0)>>>7&1;c[b+21828>>2]=d;c[b+21832>>2]=d;return}function Qj(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;oa=$c;$c=$c+208|0;if(($c|0)>=(ad|0))N(208);ga=oa+128|0;$=oa+120|0;ca=oa+104|0;ba=oa+88|0;r=oa+80|0;q=oa+72|0;p=oa+64|0;s=oa+56|0;n=oa+40|0;o=oa+24|0;m=oa+16|0;k=oa;ia=oa+192|0;U=oa+176|0;V=oa+144|0;la=f+28212|0;W=c[(c[la>>2]|0)+64>>2]|0;ha=f+28216|0;aa=((c[(c[ha>>2]|0)+12>>2]|0)+-1|0)>>>0<2;ka=c[f+25664>>2]|0;ea=g+21788|0;fa=g+21792|0;Z=f+27016|0;na=(H(c[Z>>2]|0,c[fa>>2]|0)|0)+(c[ea>>2]|0)|0;ma=g+21796|0;c[ma>>2]=na;l=g+840|0;if((c[l>>2]|0)!=1){j=g+21816|0;h=c[j>>2]|0;if((h|0)==-1){h=Rj(g+4|0)|0;c[j>>2]=h}i=h+-1|0;c[j>>2]=i;if(h){if(c[f+26376>>2]|0?(c[fa>>2]&1|i|0)==0:0){na=Sj(g+4|0)|0;c[g+21828>>2]=na;c[g+21832>>2]=na}Tj(f,g);h=0}else da=9}else da=9;a:do if((da|0)==9){Y=f+26376|0;if(c[Y>>2]|0?(c[fa>>2]&1|0)==0:0){ja=Sj(g+4|0)|0;c[g+21828>>2]=ja;c[g+21832>>2]=ja}c[g+21648>>2]=0;ja=g+4|0;i=Uj(ja)|0;c[ia>>2]=i;b:do switch(c[l>>2]|0){case 3:if(i>>>0<23){_=a[114424+(i<<2)+2>>0]|0;h=e[114424+(i<<2)>>1]|0;c[ia>>2]=h;i=_;_=0;break b}else{h=i+-23|0;c[ia>>2]=h;da=21;break b}case 2:if(i>>>0<5){_=a[114388+(i<<2)+2>>0]|0;h=e[114388+(i<<2)>>1]|0;c[ia>>2]=h;i=_;_=0;break b}else{h=i+-5|0;c[ia>>2]=h;da=21;break b}default:{h=i+-1|0;if(i|0?(c[g+836>>2]|0)==5:0){c[ia>>2]=h;da=21}else{h=i;da=21}}}while(0);do if((da|0)==21)if(h>>>0>25){f=c[f+4>>2]|0;ma=(mi(c[g+836>>2]|0)|0)<<24>>24;na=c[ea>>2]|0;g=c[fa>>2]|0;c[k>>2]=h;c[k+4>>2]=ma;c[k+8>>2]=na;c[k+12>>2]=g;mf(f,16,139342,k);h=-1;break a}else{_=d[114284+(h<<2)+3>>0]|0;c[g+21660>>2]=d[114284+(h<<2)+2>>0];h=e[114284+(h<<2)>>1]|0;c[ia>>2]=h;i=0;break}while(0);X=g+21828|0;if(c[X>>2]|0){h=h|128;c[ia>>2]=h}b[(c[f+26372>>2]|0)+(na<<1)>>1]=c[g+832>>2];if(h&4|0){h=c[ha>>2]|0;h=H(c[h+1184>>2]|0,e[114568+(c[h+12>>2]<<1)>>1]|0)|0;c[g+27780>>2]=Vj(ja)|0;if((Wj(ja)|0)<(h|0)){mf(c[f+4>>2]|0,16,139385,m);h=-1094995529;break}else{Xj(ja,h);a[(c[f+24340>>2]|0)+na>>0]=0;k=(c[f+25972>>2]|0)+(na*48|0)|0;l=k+48|0;do{a[k>>0]=16;k=k+1|0}while((k|0)<(l|0));c[(c[f+24364>>2]|0)+(na<<2)>>2]=c[ia>>2];h=0;break}}Yj(f,g,h);Zj(f,g,h);c:do if(!(h&7)){if(i<<24>>24==4){d:do if((c[l>>2]|0)==3){h=0;while(1){if((h|0)>=4)break;i=bk(ja)|0;j=g+28552+(h<<1)|0;b[j>>1]=i;k=i&65535;if(k>>>0>12){da=52;break}c[U+(h<<2)>>2]=d[114516+(k<<2)+2>>0];b[j>>1]=b[114516+((i&65535)<<2)>>1]|0;h=h+1|0}if((da|0)==52){g=c[f+4>>2]|0;na=c[ea>>2]|0;f=c[fa>>2]|0;c[o>>2]=k;c[o+4>>2]=na;c[o+8>>2]=f;mf(g,16,139426,o);break}if(!((b[g+28554>>1]|b[g+28552>>1]|b[g+28556>>1]|b[g+28558>>1])&256))da=56;else{ck(f,g,ia);a[g+28342>>0]=-2;a[g+28302>>0]=-2;a[g+28326>>0]=-2;a[g+28286>>0]=-2;da=56}}else{h=0;while(1){if((h|0)>=4){da=56;break d}i=bk(ja)|0;j=g+28552+(h<<1)|0;b[j>>1]=i;k=i&65535;if(k>>>0>3)break;c[U+(h<<2)>>2]=d[114408+(k<<2)+2>>0];b[j>>1]=b[114408+((i&65535)<<2)>>1]|0;h=h+1|0}g=c[f+4>>2]|0;na=c[ea>>2]|0;f=c[fa>>2]|0;c[n>>2]=k;c[n+4>>2]=na;c[n+8>>2]=f;mf(g,16,139466,n)}while(0);do if((da|0)==56){T=g+23412|0;m=g+21832|0;l=0;e:while(1){h=c[T>>2]|0;if(l>>>0>=h>>>0)break;if(!(c[ia>>2]&512))k=c[g+23404+(l<<2)>>2]<>2];else k=1;j=4096<<(l<<1);i=0;while(1){if((i|0)>=4)break;h=e[g+28552+(i<<1)>>1]|0;if(!(h&256)){f:do if(!(j&h))h=-1;else switch(k|0){case 1:{h=0;break f}case 2:{h=(Sj(ja)|0)^1;break f}default:{h=bk(ja)|0;if(h>>>0>>0)break f;else{da=73;break e}}}while(0);c[V+(l<<4)+(i<<2)>>2]=h}i=i+1|0}l=l+1|0}if((da|0)==73){g=c[f+4>>2]|0;c[s>>2]=h;mf(g,16,139506,s);break}if(!W)l=0;else{W=(c[(c[ha>>2]|0)+72>>2]|0)==0;l=g+28552|0;l=(((W?24117616:7340144)&c[l>>2]|0)==0?((W?24117616:7340144)&c[l+4>>2]|0)==0:0)&1}O=f+24312|0;P=g+21740|0;Q=g+21720|0;R=f+26360|0;S=f+26368|0;M=0;while(1){if(M>>>0>=h>>>0)break;J=M<<1;F=4096<>1]&256)){W=c[V+(M<<4)+(E<<2)>>2]&255;L=E<<2;i=d[150841+L>>0]|0;a[i+9+(g+28272+(M*40|0))>>0]=W;a[i+8+(g+28272+(M*40|0))>>0]=W;a[i+1+(g+28272+(M*40|0))>>0]=W;a[g+28272+(M*40|0)+i>>0]=W;h=e[h>>1]|0;if(!(F&h)){c[g+27952+(M*160|0)+(i<<2)+36>>2]=0;c[g+27952+(M*160|0)+(i<<2)+32>>2]=0;c[g+27952+(M*160|0)+(i<<2)+4>>2]=0;c[g+27952+(M*160|0)+(i<<2)>>2]=0;break}A=h&24|0?2:1;B=c[U+(E<<2)>>2]|0;C=(h&8|0)==0;D=(h&16|0)==0;x=(h&32|0)==0;w=0;while(1){if((w|0)>=(B|0))break g;h=a[150841+((H(w,A)|0)+L)>>0]|0;y=h&255;z=g+27952+(M*160|0)+(y<<2)|0;o=a[g+28272+(M*40|0)+y>>0]|0;p=o<<24>>24;u=y+-8|0;r=a[g+28272+(M*40|0)+u>>0]|0;v=y+-1|0;s=a[g+28272+(M*40|0)+v>>0]|0;q=g+27952+(M*160|0)+(v<<2)|0;t=g+27952+(M*160|0)+(u<<2)|0;i=u+A|0;j=a[g+28272+(M*40|0)+i>>0]|0;k=j<<24>>24;j=j<<24>>24==-2;do if((y&7|0)==4&((h&255)>19&(j&(c[Y>>2]|0)!=0))){if((a[G>>0]|0)==-2){da=95;break}n=c[(c[O>>2]|0)+48>>2]|0;c[I>>2]=0;m=(c[P>>2]&128|0)==0;if(!(c[X>>2]|0)){if(m){da=95;break}W=c[Z>>2]|0;h=W+(c[Q>>2]|0)|0;i=(c[fa>>2]<<1&2)+(y>>>5)|0;if(!(c[n+((H(i>>>2,W)|0)+h<<2)>>2]&J)){m=I;k=-1;break}k=c[O>>2]|0;W=c[k+36+(M<<2)>>2]|0;m=(c[(c[R>>2]|0)+(h<<2)>>2]|0)+3+(H(c[S>>2]|0,i)|0)|0;b[I>>1]=b[W+(m<<2)>>1]|0;b[K>>1]=b[W+(m<<2)+2>>1]<<1;m=I;k=a[(c[k+68+(M<<2)>>2]|0)+((i&14)+(h<<2|1))>>0]>>1;break}else{if(!m){da=95;break}h=c[g+21720+(((h&255)>35&1)<<2)>>2]|0;i=y>>>2;if(!(c[n+(h<<2)>>2]&J)){m=I;k=-1;break}k=c[O>>2]|0;W=c[k+36+(M<<2)>>2]|0;m=(c[(c[R>>2]|0)+(h<<2)>>2]|0)+3+(H(c[S>>2]|0,i&3)|0)|0;b[I>>1]=b[W+(m<<2)>>1]|0;b[K>>1]=(b[W+(m<<2)+2>>1]|0)/2|0;m=I;k=a[(c[k+68+(M<<2)>>2]|0)+(i&2|h<<2|1)>>0]<<1;break}}else da=95;while(0);do if((da|0)==95){da=0;if(j){k=y+-9|0;m=g+27952+(M*160|0)+(k<<2)|0;k=a[g+28272+(M*40|0)+k>>0]|0;break}else{m=g+27952+(M*160|0)+(i<<2)|0;break}}while(0);j=r<<24>>24==o<<24>>24;i=s<<24>>24==o<<24>>24;h=(i&1)+(j&1)+((k|0)==(p|0)&1)|0;do if(h>>>0<=1){if((h|0)!=1){i=b[q>>1]|0;if(s<<24>>24!=-2&(r<<24>>24==-2&(k|0)==-2)){h=b[g+27952+(M*160|0)+(v<<2)+2>>1]|0;break}else{i=dk(i,b[t>>1]|0,b[m>>1]|0)|0;h=dk(b[g+27952+(M*160|0)+(v<<2)+2>>1]|0,b[g+27952+(M*160|0)+(u<<2)+2>>1]|0,b[m+2>>1]|0)|0;break}}if(i){i=b[q>>1]|0;h=b[g+27952+(M*160|0)+(v<<2)+2>>1]|0;break}if(j){i=b[t>>1]|0;h=b[g+27952+(M*160|0)+(u<<2)+2>>1]|0;break}else{i=b[m>>1]|0;h=b[m+2>>1]|0;break}}else{i=dk(b[q>>1]|0,b[t>>1]|0,b[m>>1]|0)|0;h=dk(b[g+27952+(M*160|0)+(v<<2)+2>>1]|0,b[g+27952+(M*160|0)+(u<<2)+2>>1]|0,b[m+2>>1]|0)|0}while(0);k=(ek(ja)|0)+i|0;i=(ek(ja)|0)+h|0;do if(C){if(!D){b[z+4>>1]=k;h=i&65535;j=1;da=115;break}if(x)break;b[z+32>>1]=k;h=i&65535;j=8;da=115}else{h=k&65535;b[z+36>>1]=h;b[z+32>>1]=h;b[z+4>>1]=h;h=i&65535;b[z+38>>1]=h;b[z+34>>1]=h;j=1;da=115}while(0);if((da|0)==115){da=0;b[z+(j<<2)+2>>1]=h}b[z>>1]=k;b[g+27952+(M*160|0)+(y<<2)+2>>1]=i;w=w+1|0}}else{W=d[150841+(E<<2)>>0]|0;a[g+28272+(M*40|0)+W>>0]=a[W+1+(g+28272+(M*40|0))>>0]|0}while(0);E=E+1|0}M=M+1|0;h=c[T>>2]|0}break c}while(0);h=-1;break a}if(h&256|0){ck(f,g,ia);l=c[(c[ha>>2]|0)+72>>2]&W;break}if(h&8|0){s=g+23412|0;t=c[ia>>2]|0;k=g+21832|0;j=0;h:while(1){h=c[s>>2]|0;if(j>>>0>=h>>>0){r=0;break}if(t&4096<<(j<<1)|0){i=c[g+23404+(j<<2)>>2]<>2];switch(i|0){case 1:{h=0;break}case 2:{h=(Sj(ja)|0)^1;break}default:{h=bk(ja)|0;if(h>>>0>=i>>>0){da=132;break h}}}Z=H(h,16843009)|0;c[g+28272+(j*40|0)+12>>2]=Z;c[g+28272+(j*40|0)+20>>2]=Z;c[g+28272+(j*40|0)+28>>2]=Z;c[g+28272+(j*40|0)+36>>2]=Z}j=j+1|0}if((da|0)==132){g=c[f+4>>2]|0;c[p>>2]=h;mf(g,16,139506,p);h=-1;break a}while(1){if(r>>>0>=h>>>0){l=W;break c}if(t&4096<<(r<<1)){i=a[g+28272+(r*40|0)+12>>0]|0;n=a[g+28272+(r*40|0)+4>>0]|0;o=a[g+28272+(r*40|0)+11>>0]|0;m=g+27952+(r*160|0)+44|0;p=g+27952+(r*160|0)+16|0;h=a[g+28272+(r*40|0)+8>>0]|0;if(h<<24>>24==-2){q=g+27952+(r*160|0)+12|0;l=a[g+28272+(r*40|0)+3>>0]|0}else{q=g+27952+(r*160|0)+32|0;l=h<<24>>24}j=n<<24>>24==i<<24>>24;k=o<<24>>24==i<<24>>24;h=(k&1)+(j&1)+((l|0)==(i<<24>>24|0)&1)|0;do if(h>>>0<=1){if((h|0)!=1){i=b[m>>1]|0;if(o<<24>>24!=-2&(n<<24>>24==-2&(l|0)==-2)){h=b[g+27952+(r*160|0)+46>>1]|0;break}else{i=dk(i,b[p>>1]|0,b[q>>1]|0)|0;h=dk(b[g+27952+(r*160|0)+46>>1]|0,b[g+27952+(r*160|0)+18>>1]|0,b[q+2>>1]|0)|0;break}}if(k){i=b[m>>1]|0;h=b[g+27952+(r*160|0)+46>>1]|0;break}if(j){i=b[p>>1]|0;h=b[g+27952+(r*160|0)+18>>1]|0;break}else{i=b[q>>1]|0;h=b[q+2>>1]|0;break}}else{i=dk(b[m>>1]|0,b[p>>1]|0,b[q>>1]|0)|0;h=dk(b[g+27952+(r*160|0)+46>>1]|0,b[g+27952+(r*160|0)+18>>1]|0,b[q+2>>1]|0)|0}while(0);Z=(ek(ja)|0)+i|0;h=(ek(ja)|0)+h<<16|Z&65535;c[g+27952+(r*160|0)+48>>2]=h;c[g+27952+(r*160|0)+52>>2]=h;c[g+27952+(r*160|0)+56>>2]=h;c[g+27952+(r*160|0)+60>>2]=h;c[g+27952+(r*160|0)+80>>2]=h;c[g+27952+(r*160|0)+84>>2]=h;c[g+27952+(r*160|0)+88>>2]=h;c[g+27952+(r*160|0)+92>>2]=h;c[g+27952+(r*160|0)+112>>2]=h;c[g+27952+(r*160|0)+116>>2]=h;c[g+27952+(r*160|0)+120>>2]=h;c[g+27952+(r*160|0)+124>>2]=h;c[g+27952+(r*160|0)+144>>2]=h;c[g+27952+(r*160|0)+148>>2]=h;c[g+27952+(r*160|0)+152>>2]=h;c[g+27952+(r*160|0)+156>>2]=h;h=c[s>>2]|0}r=r+1|0}}R=g+23412|0;S=c[ia>>2]|0;n=g+21832|0;if(!(h&16))m=0;else{m=0;i:while(1){h=c[R>>2]|0;if(m>>>0>=h>>>0)break;k=m<<1;l=g+23404+(m<<2)|0;j=0;while(1){if((j|0)>=2)break;j:do if(!(S&4096<>2]<>2];switch(i|0){case 1:{h=0;break j}case 2:{h=(Sj(ja)|0)^1;break j}default:{h=bk(ja)|0;if(h>>>0>>0)break j;else{da=161;break i}}}}while(0);V=(j<<4|12)+(g+28272+(m*40|0))|0;U=H(h,16843009)|0;c[V>>2]=U;c[V+8>>2]=U;j=j+1|0}m=m+1|0}if((da|0)==161){g=c[f+4>>2]|0;c[q>>2]=h;mf(g,16,139506,q);h=-1;break a}L=f+24312|0;M=g+21740|0;O=g+21720|0;P=f+26360|0;Q=f+26368|0;K=0;while(1){if(K>>>0>=h>>>0){l=W;break c}y=K<<1;z=g+28272+(K*40|0)+4|0;A=g+27952+(K*160|0)+16|0;B=g+27952+(K*160|0)+18|0;C=g+28272+(K*40|0)+11|0;D=g+27952+(K*160|0)+40|0;E=12288<>0]|0;q=p<<24>>24;do if(!x){if((a[z>>0]|0)!=p<<24>>24){da=174;break}j=b[A>>1]|0;i=b[B>>1]|0}else{if((a[G>>0]|0)!=p<<24>>24){da=174;break}j=b[I>>1]|0;i=b[J>>1]|0}while(0);do if((da|0)==174){da=0;i=a[150841+i>>0]|0;n=i&255;v=n+-8|0;s=a[g+28272+(K*40|0)+v>>0]|0;w=n+-1|0;t=a[g+28272+(K*40|0)+w>>0]|0;r=g+27952+(K*160|0)+(w<<2)|0;u=g+27952+(K*160|0)+(v<<2)|0;j=n+-4|0;k=a[g+28272+(K*40|0)+j>>0]|0;l=k<<24>>24;k=k<<24>>24==-2;do if((n&7|0)==4&((i&255)>19&(k&(c[Y>>2]|0)!=0))){if((a[C>>0]|0)==-2){da=183;break}o=c[(c[L>>2]|0)+48>>2]|0;c[D>>2]=0;m=(c[M>>2]&128|0)==0;if(!(c[X>>2]|0)){if(m){da=183;break}V=c[Z>>2]|0;j=V+(c[O>>2]|0)|0;i=(c[fa>>2]<<1&2)+(n>>>5)|0;if(!(c[o+((H(i>>>2,V)|0)+j<<2)>>2]&E)){m=D;l=-1;break}l=c[L>>2]|0;V=c[l+36+(K<<2)>>2]|0;m=(c[(c[P>>2]|0)+(j<<2)>>2]|0)+3+(H(c[Q>>2]|0,i)|0)|0;b[D>>1]=b[V+(m<<2)>>1]|0;b[F>>1]=b[V+(m<<2)+2>>1]<<1;m=D;l=a[(c[l+68+(K<<2)>>2]|0)+((i&14)+(j<<2|1))>>0]>>1;break}else{if(!m){da=183;break}j=c[g+21720+(((i&255)>35&1)<<2)>>2]|0;i=n>>>2;if(!(c[o+(j<<2)>>2]&E)){m=D;l=-1;break}l=c[L>>2]|0;V=c[l+36+(K<<2)>>2]|0;m=(c[(c[P>>2]|0)+(j<<2)>>2]|0)+3+(H(c[Q>>2]|0,i&3)|0)|0;b[D>>1]=b[V+(m<<2)>>1]|0;b[F>>1]=(b[V+(m<<2)+2>>1]|0)/2|0;m=D;l=a[(c[l+68+(K<<2)>>2]|0)+(i&2|j<<2|1)>>0]<<1;break}}else da=183;while(0);do if((da|0)==183){da=0;if(k){l=n+-9|0;m=g+27952+(K*160|0)+(l<<2)|0;l=a[g+28272+(K*40|0)+l>>0]|0;break}else{m=g+27952+(K*160|0)+(j<<2)|0;break}}while(0);k=s<<24>>24==p<<24>>24;j=t<<24>>24==p<<24>>24;i=(j&1)+(k&1)+((l|0)==(q|0)&1)|0;if(i>>>0>1){j=dk(b[r>>1]|0,b[u>>1]|0,b[m>>1]|0)|0;i=dk(b[g+27952+(K*160|0)+(w<<2)+2>>1]|0,b[g+27952+(K*160|0)+(v<<2)+2>>1]|0,b[m+2>>1]|0)|0;break}if((i|0)!=1){j=b[r>>1]|0;if(t<<24>>24!=-2&(s<<24>>24==-2&(l|0)==-2)){i=b[g+27952+(K*160|0)+(w<<2)+2>>1]|0;break}else{j=dk(j,b[u>>1]|0,b[m>>1]|0)|0;i=dk(b[g+27952+(K*160|0)+(w<<2)+2>>1]|0,b[g+27952+(K*160|0)+(v<<2)+2>>1]|0,b[m+2>>1]|0)|0;break}}if(j){j=b[r>>1]|0;i=b[g+27952+(K*160|0)+(w<<2)+2>>1]|0;break}if(k){j=b[u>>1]|0;i=b[g+27952+(K*160|0)+(v<<2)+2>>1]|0;break}else{j=b[m>>1]|0;i=b[m+2>>1]|0;break}}while(0);V=(ek(ja)|0)+j|0;i=(ek(ja)|0)+i<<16|V&65535}c[g+27952+(K*160|0)+(h<<2)>>2]=i;c[g+27952+(K*160|0)+(h<<2)+4>>2]=i;c[g+27952+(K*160|0)+(h<<2)+8>>2]=i;c[g+27952+(K*160|0)+(h<<2)+12>>2]=i;c[g+27952+(K*160|0)+(h<<2)+32>>2]=i;c[g+27952+(K*160|0)+(h<<2)+36>>2]=i;c[g+27952+(K*160|0)+(h<<2)+40>>2]=i;c[g+27952+(K*160|0)+(h<<2)+44>>2]=i;x=x+1|0}K=K+1|0;h=c[R>>2]|0}}k:while(1){h=c[R>>2]|0;if(m>>>0>=h>>>0)break;k=m<<1;l=g+23404+(m<<2)|0;j=0;while(1){if((j|0)>=2)break;l:do if(!(S&4096<>2]<>2];switch(i|0){case 1:{h=0;break l}case 2:{h=(Sj(ja)|0)^1;break l}default:{h=bk(ja)|0;if(h>>>0>>0)break l;else{da=208;break k}}}}while(0);V=(j<<1)+12+(g+28272+(m*40|0))|0;U=h*257&65535;b[V>>1]=U;b[V+8>>1]=U;b[V+16>>1]=U;b[V+24>>1]=U;j=j+1|0}m=m+1|0}if((da|0)==208){g=c[f+4>>2]|0;c[r>>2]=h;mf(g,16,139506,r);h=-1;break a}L=f+24312|0;M=g+21740|0;O=g+21720|0;P=f+26360|0;Q=f+26368|0;K=0;while(1){if(K>>>0>=h>>>0){l=W;break c}y=K<<1;z=g+28272+(K*40|0)+11|0;A=g+27952+(K*160|0)+44|0;B=g+27952+(K*160|0)+46|0;C=g+27952+(K*160|0)+40|0;D=12288<>0]|0;w=t<<24>>24;do if(!x)if((a[z>>0]|0)==t<<24>>24){j=b[A>>1]|0;i=b[B>>1]|0}else da=223;else{i=a[F>>0]|0;if(i<<24>>24==-2){k=G;i=a[I>>0]|0}else k=J;if(i<<24>>24!=t<<24>>24){da=223;break}j=b[k>>1]|0;i=b[k+2>>1]|0}while(0);do if((da|0)==223){da=0;i=a[150841+j>>0]|0;n=i&255;u=n+-8|0;q=a[g+28272+(K*40|0)+u>>0]|0;v=n+-1|0;r=a[g+28272+(K*40|0)+v>>0]|0;p=g+27952+(K*160|0)+(v<<2)|0;s=g+27952+(K*160|0)+(u<<2)|0;j=n+-6|0;k=a[g+28272+(K*40|0)+j>>0]|0;l=k<<24>>24;k=k<<24>>24==-2;do if((n&7|0)==4&((i&255)>19&(k&(c[Y>>2]|0)!=0))){if((a[z>>0]|0)==-2){da=232;break}o=c[(c[L>>2]|0)+48>>2]|0;c[C>>2]=0;m=(c[M>>2]&128|0)==0;if(!(c[X>>2]|0)){if(m){da=232;break}V=c[Z>>2]|0;j=V+(c[O>>2]|0)|0;i=(c[fa>>2]<<1&2)+(n>>>5)|0;if(!(c[o+((H(i>>>2,V)|0)+j<<2)>>2]&D)){m=C;l=-1;break}l=c[L>>2]|0;V=c[l+36+(K<<2)>>2]|0;m=(c[(c[P>>2]|0)+(j<<2)>>2]|0)+3+(H(c[Q>>2]|0,i)|0)|0;b[C>>1]=b[V+(m<<2)>>1]|0;b[E>>1]=b[V+(m<<2)+2>>1]<<1;m=C;l=a[(c[l+68+(K<<2)>>2]|0)+((i&14)+(j<<2|1))>>0]>>1;break}else{if(!m){da=232;break}j=c[g+21720+(((i&255)>35&1)<<2)>>2]|0;i=n>>>2;if(!(c[o+(j<<2)>>2]&D)){m=C;l=-1;break}l=c[L>>2]|0;V=c[l+36+(K<<2)>>2]|0;m=(c[(c[P>>2]|0)+(j<<2)>>2]|0)+3+(H(c[Q>>2]|0,i&3)|0)|0;b[C>>1]=b[V+(m<<2)>>1]|0;b[E>>1]=(b[V+(m<<2)+2>>1]|0)/2|0;m=C;l=a[(c[l+68+(K<<2)>>2]|0)+(i&2|j<<2|1)>>0]<<1;break}}else da=232;while(0);do if((da|0)==232){da=0;if(k){l=n+-9|0;m=g+27952+(K*160|0)+(l<<2)|0;l=a[g+28272+(K*40|0)+l>>0]|0;break}else{m=g+27952+(K*160|0)+(j<<2)|0;break}}while(0);k=q<<24>>24==t<<24>>24;j=r<<24>>24==t<<24>>24;i=(j&1)+(k&1)+((l|0)==(w|0)&1)|0;if(i>>>0>1){j=dk(b[p>>1]|0,b[s>>1]|0,b[m>>1]|0)|0;i=dk(b[g+27952+(K*160|0)+(v<<2)+2>>1]|0,b[g+27952+(K*160|0)+(u<<2)+2>>1]|0,b[m+2>>1]|0)|0;break}if((i|0)!=1){j=b[p>>1]|0;if(r<<24>>24!=-2&(q<<24>>24==-2&(l|0)==-2)){i=b[g+27952+(K*160|0)+(v<<2)+2>>1]|0;break}else{j=dk(j,b[s>>1]|0,b[m>>1]|0)|0;i=dk(b[g+27952+(K*160|0)+(v<<2)+2>>1]|0,b[g+27952+(K*160|0)+(u<<2)+2>>1]|0,b[m+2>>1]|0)|0;break}}if(j){j=b[p>>1]|0;i=b[g+27952+(K*160|0)+(v<<2)+2>>1]|0;break}if(k){j=b[s>>1]|0;i=b[g+27952+(K*160|0)+(u<<2)+2>>1]|0;break}else{j=b[m>>1]|0;i=b[m+2>>1]|0;break}}while(0);V=(ek(ja)|0)+j|0;i=(ek(ja)|0)+i<<16|V&65535}c[g+27952+(K*160|0)+(h<<2)>>2]=i;c[g+27952+(K*160|0)+(h<<2)+4>>2]=i;c[g+27952+(K*160|0)+(h<<2)+32>>2]=i;c[g+27952+(K*160|0)+(h<<2)+36>>2]=i;c[g+27952+(K*160|0)+(h<<2)+64>>2]=i;c[g+27952+(K*160|0)+(h<<2)+68>>2]=i;c[g+27952+(K*160|0)+(h<<2)+96>>2]=i;c[g+27952+(K*160|0)+(h<<2)+100>>2]=i;x=x+1|0}K=K+1|0;h=c[R>>2]|0}}else{if(!(h&1)){Y=g+21660|0;Z=ak(c[f+4>>2]|0,c[g+21760>>2]|0,c[g+21768>>2]|0,c[Y>>2]|0,0)|0;c[Y>>2]=Z;if((Z|0)<0){h=-1;break a}}else{if((W|0)!=0?(Sj(ja)|0)!=0:0){c[ia>>2]=h|16777216;j=4}else j=1;k=(j|0)==4;i=0;while(1){if((i|0)>=16)break;l=d[150841+i>>0]|0;h=a[l+-1+(g+21664)>>0]|0;Z=a[l+-8+(g+21664)>>0]|0;h=(h|0)>(Z|0)?Z:h;h=(h|0)<0?2:h;if(!(Sj(ja)|0)){Z=_j(ja,3)|0;h=Z+((Z|0)>=(h|0)&1)|0}if(k){Z=g+21664+l|0;Y=h*257&65535;b[Z>>1]=Y;b[Z+8>>1]=Y}else a[g+21664+l>>0]=h;i=i+j|0}Z=(c[g+21704>>2]|0)+(c[(c[f+26364>>2]|0)+(c[ma>>2]<<2)>>2]|0)|0;c[Z>>2]=c[g+21700>>2];a[Z+4>>0]=a[g+21695>>0]|0;a[Z+5>>0]=a[g+21687>>0]|0;a[Z+6>>0]=a[g+21679>>0]|0;if(($j(g+21664|0,c[f+4>>2]|0,c[g+21760>>2]|0,c[g+21768>>2]|0)|0)<=-1){h=-1;break a}}if(aa){Y=c[f+4>>2]|0;Z=c[g+21760>>2]|0;h=c[g+21768>>2]|0;h=ak(Y,Z,h,bk(ja)|0,1)|0;if((h|0)<0){h=-1;break a}}else h=6;c[g+21656>>2]=h;l=W}while(0);h=c[ia>>2]|0;if(h&120|0){i=c[f+26368>>2]|0;j=(H(i<<2,c[fa>>2]|0)|0)+(c[ea>>2]<<2)|0;k=c[ma>>2]<<2;if(!(h&12288)){Z=(c[f+24384>>2]|0)+k|0;b[Z>>1]=-1;b[Z+2>>1]=-1}else{Z=(c[f+24352>>2]|0)+(j<<2)|0;X=g+28e3|0;Y=c[X+4>>2]|0;V=Z;c[V>>2]=c[X>>2];c[V+4>>2]=Y;V=g+28008|0;Y=c[V+4>>2]|0;X=Z+8|0;c[X>>2]=c[V>>2];c[X+4>>2]=Y;X=g+28032|0;Y=c[X+4>>2]|0;V=Z+(i<<2)|0;W=V;c[W>>2]=c[X>>2];c[W+4>>2]=Y;W=g+28040|0;Y=c[W+4>>2]|0;V=V+8|0;c[V>>2]=c[W>>2];c[V+4>>2]=Y;V=g+28064|0;Y=c[V+4>>2]|0;W=Z+(i<<1<<2)|0;X=W;c[X>>2]=c[V>>2];c[X+4>>2]=Y;X=g+28072|0;Y=c[X+4>>2]|0;W=W+8|0;c[W>>2]=c[X>>2];c[W+4>>2]=Y;W=g+28096|0;Y=c[W+4>>2]|0;Z=Z+(i*3<<2)|0;X=Z;c[X>>2]=c[W>>2];c[X+4>>2]=Y;X=g+28104|0;Y=c[X+4>>2]|0;Z=Z+8|0;c[Z>>2]=c[X>>2];c[Z+4>>2]=Y;Z=(c[f+24384>>2]|0)+k|0;a[Z>>0]=a[g+28284>>0]|0;a[Z+1>>0]=a[g+28286>>0]|0;a[Z+2>>0]=a[g+28300>>0]|0;a[Z+3>>0]=a[g+28302>>0]|0}if(h&49152|0){Z=(c[f+24356>>2]|0)+(j<<2)|0;X=g+28160|0;Y=c[X+4>>2]|0;V=Z;c[V>>2]=c[X>>2];c[V+4>>2]=Y;V=g+28168|0;Y=c[V+4>>2]|0;X=Z+8|0;c[X>>2]=c[V>>2];c[X+4>>2]=Y;X=g+28192|0;Y=c[X+4>>2]|0;V=Z+(i<<2)|0;W=V;c[W>>2]=c[X>>2];c[W+4>>2]=Y;W=g+28200|0;Y=c[W+4>>2]|0;V=V+8|0;c[V>>2]=c[W>>2];c[V+4>>2]=Y;V=g+28224|0;Y=c[V+4>>2]|0;W=Z+(i<<1<<2)|0;X=W;c[X>>2]=c[V>>2];c[X+4>>2]=Y;X=g+28232|0;Y=c[X+4>>2]|0;W=W+8|0;c[W>>2]=c[X>>2];c[W+4>>2]=Y;W=g+28256|0;Y=c[W+4>>2]|0;Z=Z+(i*3<<2)|0;X=Z;c[X>>2]=c[W>>2];c[X+4>>2]=Y;X=g+28264|0;Y=c[X+4>>2]|0;Z=Z+8|0;c[Z>>2]=c[X>>2];c[Z+4>>2]=Y;Z=(c[f+24388>>2]|0)+k|0;a[Z>>0]=a[g+28324>>0]|0;a[Z+1>>0]=a[g+28326>>0]|0;a[Z+2>>0]=a[g+28340>>0]|0;a[Z+3>>0]=a[g+28342>>0]|0}}h=c[ia>>2]|0;if(h&2)if(_>>>0>15&(aa^1)){mf(c[f+4>>2]|0,16,140164,$);h=-1094995529;break}else w=_;else{i=Uj(ja)|0;do if(aa){if(i>>>0>47){h=c[f+4>>2]|0;f=c[ea>>2]|0;g=c[fa>>2]|0;c[ba>>2]=i;c[ba+4>>2]=f;c[ba+8>>2]=g;mf(h,16,139523,ba);h=-1;break a}h=c[ia>>2]|0;if(!(h&1)){i=128197+i|0;break}else{i=128149+i|0;break}}else{if(i>>>0>15){h=c[f+4>>2]|0;f=c[ea>>2]|0;g=c[fa>>2]|0;c[ca>>2]=i;c[ca+4>>2]=f;c[ca+8>>2]=g;mf(h,16,139523,ca);h=-1;break a}h=c[ia>>2]|0;if(!(h&1)){i=139568+i|0;break}else{i=139552+i|0;break}}while(0);w=d[i>>0]|0}u=(w&15|0)==0;if((h&7|0)==0&(((l|0)==0|u)^1)){h=(Sj(ja)|0)<<24;h=c[ia>>2]|h;c[ia>>2]=h}r=f+26392|0;b[(c[r>>2]|0)+(na<<1)>>1]=w;c[g+21856>>2]=w&65535;c[(c[f+24364>>2]|0)+(na<<2)>>2]=h;if((w|0)==0?(c[ia>>2]&2|0)==0:0){c[g+27836>>2]=0;c[g+27844>>2]=0;c[g+27852>>2]=0;c[g+27860>>2]=0;c[g+27876>>2]=0;c[g+27884>>2]=0;c[g+27892>>2]=0;c[g+27900>>2]=0;c[g+27916>>2]=0;c[g+27924>>2]=0;c[g+27932>>2]=0;c[g+27940>>2]=0;h=g+848|0}else da=274;m:do if((da|0)==274){i=(c[(c[ha>>2]|0)+1184>>2]|0)*6|0;k=i+3|0;l=ek(ja)|0;h=g+848|0;j=(c[h>>2]|0)+l|0;c[h>>2]=j;if(j>>>0>k>>>0){i=((j|0)<0?i+4|0:-4-i|0)+j|0;c[h>>2]=i;if(i>>>0>k>>>0){g=c[f+4>>2]|0;na=c[ea>>2]|0;f=c[fa>>2]|0;c[ga>>2]=l;c[ga+4>>2]=na;c[ga+8>>2]=f;mf(g,16,139584,ga);c[h>>2]=k;h=-1;break a}else j=i}i=c[la>>2]|0;q=g+852|0;c[q>>2]=d[i+548+j>>0];s=g+856|0;c[s>>2]=d[i+636+j>>0];i=c[ia>>2]|0;ga=(i&128|0)==0;t=(j|0)!=0;v=ga?(t?f+26428|0:f+26716|0):t?f+26572|0:f+26860|0;t=ga?(t?f+26508|0:f+26796|0):t?f+26652|0:f+26940|0;n:do if(!(i&2)){p=i&7|0?0:3;o=(i&16777216|0)==0;i=0;n=0;while(1){if((n|0)>=4)break;o:do if(1<=4)break o;k=l+m|0;if((fk(f,g,ja,g+28560+(k<<4<>2]|0)+173788+(p<<2)>>2]|0)+(j<<6)|0,16)|0)<0){h=-1;break a}l=l+1|0;i=d[(d[150841+k>>0]|0)+(g+27824)>>0]<=4)break;if((fk(f,g,ja,l,k+m|0,t+(k<<4)|0,(c[(c[la>>2]|0)+173812+(p<<2)>>2]|0)+(j<<8)|0,16)|0)>-1)k=k+1|0;else{h=-1;break a}}fa=(d[150841+m>>0]|0)+(g+27824)|0;ga=(d[fa+8>>0]|0)+(d[fa+1>>0]|0)+(d[fa+9>>0]|0)+(d[fa>>0]|0)&255;a[fa>>0]=ga;i=(ga<<24>>24!=0&1)<>0]|0)+(g+27824)|0;a[ga+9>>0]=0;a[ga+8>>0]=0;a[ga+1>>0]=0;a[ga>>0]=0}while(0);n=n+1|0}if((i|0)<0){h=-1;break a}}else{i=g+31632|0;k=i;l=k+64|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));if((fk(f,g,ja,i,48,v,0,16)|0)<0){h=-1;break a}if(u){c[g+27836>>2]=0;c[g+27844>>2]=0;c[g+27852>>2]=0;c[g+27860>>2]=0;i=0;break}l=v+1|0;k=0;while(1){if((k|0)>=4){i=15;break n}m=k<<2;i=0;while(1){if((i|0)>=4)break;ga=i+m|0;if((fk(f,g,ja,g+28560+(ga<<4<>2]|0)+173788>>2]|0)+(j<<6)|0,15)|0)>-1)i=i+1|0;else{h=-1;break a}}k=k+1|0}}while(0);r=(c[r>>2]|0)+(na<<1)|0;b[r>>1]=i<<12|e[r>>1];r=c[(c[ha>>2]|0)+12>>2]|0;if((r|0)!=3){p:do if(w&48|0){j=r<<2;i=0;while(1){if((i|0)>=2)break p;if((fk(f,g,ja,g+28560+((i<<8)+256<>2]|0)+12>>2]|0)==2?128249:128245,0,j)|0)<0){h=-1;break a}else i=i+1|0}}while(0);if(!(w&32)){c[g+27876>>2]=0;c[g+27884>>2]=0;c[g+27892>>2]=0;c[g+27900>>2]=0;c[g+27916>>2]=0;c[g+27924>>2]=0;c[g+27932>>2]=0;c[g+27940>>2]=0;break}n=v+1|0;o=16<=2)break m;p=i+1|0;q=(c[(c[la>>2]|0)+173788+((c[ia>>2]&7|0?0:3)+p<<2)>>2]|0)+(c[g+852+(i<<2)>>2]<<6)|0;l=(i<<4)+16|0;i=g+28560+(l<<4<=(r|0)){i=p;continue q}m=(j<<3)+l|0;k=0;while(1){if((k|0)>=4)break;if((fk(f,g,ja,i,m+k|0,n,q,15)|0)<=-1){h=-1;break a}k=k+1|0;i=i+(o<<1)|0}j=j+1|0}}}i=c[ia>>2]|0;p=c[q>>2]|0;r:do if(!(i&2)){o=i&7|0?1:4;n=(i&16777216|0)==0;i=0;m=0;while(1){if((m|0)>=4)break;s:do if(1<=4)break s;j=l+k|0;if((fk(f,g,ja,g+28560+(j<<4<>2]|0)+173788+(o<<2)>>2]|0)+(p<<6)|0,16)|0)<0){h=-1;break a}k=k+1|0;i=d[(d[150841+j>>0]|0)+(g+27824)>>0]<=4)break;if((fk(f,g,ja,k,j+l|0,t+(j<<4)|0,(c[(c[la>>2]|0)+173812+(o<<2)>>2]|0)+(p<<8)|0,16)|0)>-1)j=j+1|0;else{h=-1;break a}}ga=(d[150841+l>>0]|0)+(g+27824)|0;ha=(d[ga+8>>0]|0)+(d[ga+1>>0]|0)+(d[ga+9>>0]|0)+(d[ga>>0]|0)&255;a[ga>>0]=ha;i=(ha<<24>>24!=0&1)<>0]|0)+(g+27824)|0;a[ha+9>>0]=0;a[ha+8>>0]=0;a[ha+1>>0]=0;a[ha>>0]=0}while(0);m=m+1|0}if((i|0)<0){h=-1;break a}}else{i=g+31696|0;k=i;l=k+64|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));if((fk(f,g,ja,i,49,v,0,16)|0)<0){h=-1;break a}if(u){c[g+27876>>2]=0;c[g+27884>>2]=0;c[g+27892>>2]=0;c[g+27900>>2]=0;break}k=v+1|0;j=0;while(1){if((j|0)>=4)break r;l=(j<<2)+16|0;i=0;while(1){if((i|0)>=4)break;ha=l+i|0;if((fk(f,g,ja,g+28560+(ha<<4<>2]|0)+173792>>2]|0)+(p<<6)|0,15)|0)>-1)i=i+1|0;else{h=-1;break a}}j=j+1|0}}while(0);i=c[ia>>2]|0;p=c[s>>2]|0;if(i&2|0){i=g+31760|0;k=i;l=k+64|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));if((fk(f,g,ja,i,50,v,0,16)|0)<0){h=-1;break a}if(u){c[g+27916>>2]=0;c[g+27924>>2]=0;c[g+27932>>2]=0;c[g+27940>>2]=0;break}k=v+1|0;j=0;while(1){if((j|0)>=4)break m;l=(j<<2)+32|0;i=0;while(1){if((i|0)>=4)break;ia=l+i|0;if((fk(f,g,ja,g+28560+(ia<<4<>2]|0)+173796>>2]|0)+(p<<6)|0,15)|0)>-1)i=i+1|0;else{h=-1;break a}}j=j+1|0}}o=i&7|0?2:5;n=(i&16777216|0)==0;i=0;m=0;while(1){if((m|0)>=4)break;t:do if(1<=4)break t;j=l+k|0;if((fk(f,g,ja,g+28560+(j<<4<>2]|0)+173788+(o<<2)>>2]|0)+(p<<6)|0,16)|0)<0){h=-1;break a}k=k+1|0;i=d[(d[150841+j>>0]|0)+(g+27824)>>0]<=4)break;if((fk(f,g,ja,k,j+l|0,t+(j<<4)|0,(c[(c[la>>2]|0)+173812+(o<<2)>>2]|0)+(p<<8)|0,16)|0)>-1)j=j+1|0;else{h=-1;break a}}ha=(d[150841+l>>0]|0)+(g+27824)|0;ia=(d[ha+8>>0]|0)+(d[ha+1>>0]|0)+(d[ha+9>>0]|0)+(d[ha>>0]|0)&255;a[ha>>0]=ia;i=(ia<<24>>24!=0&1)<>0]|0)+(g+27824)|0;a[ia+9>>0]=0;a[ia+8>>0]=0;a[ia+1>>0]=0;a[ia>>0]=0}while(0);m=m+1|0}if((i|0)<0){h=-1;break a}}while(0);a[(c[f+24340>>2]|0)+na>>0]=c[h>>2];h=c[ma>>2]|0;i=c[f+25972>>2]|0;c[i+(h*48|0)>>2]=c[g+27836>>2];c[i+(h*48|0)+4>>2]=c[g+27844>>2];c[i+(h*48|0)+8>>2]=c[g+27852>>2];c[i+(h*48|0)+12>>2]=c[g+27860>>2];c[i+(h*48|0)+16>>2]=c[g+27876>>2];c[i+(h*48|0)+20>>2]=c[g+27884>>2];c[i+(h*48|0)+32>>2]=c[g+27916>>2];c[i+(h*48|0)+36>>2]=c[g+27924>>2];if(!(c[f+25680>>2]|0)){c[i+(h*48|0)+24>>2]=c[g+27892>>2];c[i+(h*48|0)+28>>2]=c[g+27900>>2];c[i+(h*48|0)+40>>2]=c[g+27932>>2];c[i+(h*48|0)+44>>2]=c[g+27940>>2];h=0}else h=0}while(0);$c=oa;return h|0}function Rj(a){a=a|0;var b=0,c=0,e=0;e=pk(a)|0;b=e>>>0>65535;e=b?e>>>16:e;b=b?16:0;c=(e&65280|0)==0;b=31-(d[120639+(c?e:e>>>8)>>0]|0)-(c?b:b|8)|0;Xj(a,b);return (qk(a,b+1|0)|0)+-1|0}function Sj(a){a=a|0;var b=0,e=0;b=a+8|0;e=c[b>>2]|0;a=(d[(c[a>>2]|0)+(e>>>3)>>0]|0)<<(e&7)>>>7&1;c[b>>2]=e+1;return a|0}function Tj(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);v=z+4|0;x=z;w=f+21796|0;y=c[w>>2]|0;c[x>>2]=0;g=(c[e+25972>>2]|0)+(y*48|0)|0;h=g+48|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));u=f+21828|0;if(!(c[u>>2]|0))g=0;else{c[x>>2]=128;g=128}if((c[f+840>>2]|0)==3){g=g|63744;c[x>>2]=g;if(c[f+21844>>2]|0){Yj(e,f,g);Zj(e,f,g)}ck(e,f,x);j=c[x>>2]|2048;c[x>>2]=j;g=e+26368|0}else{j=g|14344;c[x>>2]=j;Yj(e,f,j);o=c[e+24384>>2]|0;p=c[e+24352>>2]|0;g=e+26368|0;q=c[g>>2]|0;c[f+28284>>2]=0;c[f+28292>>2]=0;c[f+28300>>2]=0;c[f+28308>>2]=0;k=c[f+21740>>2]|0;if(!(k&12288))if(!k)h=0;else{t=183140;r=-1;l=16}else{h=c[f+21720>>2]|0;t=d[c[f+21748>>2]>>0]|0;i=a[o+((t&254)+(h<<2|1))>>0]|0;h=p+((H(q,t)|0)+3+(c[(c[e+26360>>2]|0)+(h<<2)>>2]|0)<<2)|0;do if(c[e+26376>>2]|0){k=(k&128|0)!=0;if(!(c[u>>2]|0)){if(!k)break;h=c[h>>2]|0;c[v>>2]=h;b[v+2>>1]=h>>16<<1;h=v;i=i>>1;break}else{if(k)break;h=c[h>>2]|0;c[v>>2]=h;b[v+2>>1]=((h>>>16&65535)<<16>>16)/2|0;h=v;i=i<<1;break}}while(0);if(!(c[h>>2]|i))h=0;else{t=h;r=i;l=16}}do if((l|0)==16){k=c[f+21732>>2]|0;if(!(k&12288))if(!k){h=0;break}else{m=-1;n=183140}else{i=c[f+21712>>2]|0;h=a[o+(i<<2|2)>>0]|0;i=p+((c[(c[e+26360>>2]|0)+(i<<2)>>2]|0)+(q*3|0)<<2)|0;do if(c[e+26376>>2]|0){k=(k&128|0)!=0;if(!(c[u>>2]|0)){if(!k)break;n=c[i>>2]|0;i=v+4|0;c[i>>2]=n;b[v+6>>1]=n>>16<<1;h=h>>1;break}else{if(k)break;n=c[i>>2]|0;i=v+4|0;c[i>>2]=n;b[v+6>>1]=((n>>>16&65535)<<16>>16)/2|0;h=h<<1;break}}while(0);if(!(c[i>>2]|h)){h=0;break}else{m=h;n=i}}i=c[f+21736>>2]|0;do if(!(i&12288))if((i|0)==0?(s=c[f+21728>>2]|0,(s&12288|0)!=0):0){k=c[f+21708>>2]|0;l=c[f+21752>>2]|0;h=a[o+(k<<2|l&2|1)>>0]|0;k=p+(q+3+(l&q<<1)+(c[(c[e+26360>>2]|0)+(k<<2)>>2]|0)<<2)|0;if(c[e+26376>>2]|0){i=(s&128|0)!=0;if(!(c[u>>2]|0)){if(!i){l=k;break}u=c[k>>2]|0;l=v+8|0;c[l>>2]=u;b[v+10>>1]=u>>16<<1;h=h>>1;break}else{if(i){l=k;break}u=c[k>>2]|0;l=v+8|0;c[l>>2]=u;b[v+10>>1]=((u>>>16&65535)<<16>>16)/2|0;h=h<<1;break}}else l=k}else{l=183140;h=-1}else{k=c[f+21716>>2]|0;h=a[o+(k<<2|2)>>0]|0;k=p+((c[(c[e+26360>>2]|0)+(k<<2)>>2]|0)+(q*3|0)<<2)|0;if(c[e+26376>>2]|0){i=(i&128|0)!=0;if(!(c[u>>2]|0)){if(!i){l=k;break}u=c[k>>2]|0;l=v+8|0;c[l>>2]=u;b[v+10>>1]=u>>16<<1;h=h>>1;break}else{if(i){l=k;break}u=c[k>>2]|0;l=v+8|0;c[l>>2]=u;b[v+10>>1]=((u>>>16&65535)<<16>>16)/2|0;h=h<<1;break}}else l=k}while(0);k=(m|0)!=0;i=(r|0)!=0;h=((k^1)&1)+((i^1)&1)+((h|0)==0&1)|0;do if(h>>>0<=1){if((h|0)!=1){h=dk(b[t>>1]|0,b[n>>1]|0,b[l>>1]|0)|0;i=dk(b[t+2>>1]|0,b[n+2>>1]|0,b[l+2>>1]|0)|0;break}if(!i){i=b[t+2>>1]|0;h=b[t>>1]|0;break}if(k){i=b[l+2>>1]|0;h=b[l>>1]|0;break}else{i=b[n+2>>1]|0;h=b[n>>1]|0;break}}else{h=dk(b[t>>1]|0,b[n>>1]|0,b[l>>1]|0)|0;i=dk(b[t+2>>1]|0,b[n+2>>1]|0,b[l+2>>1]|0)|0}while(0);h=i<<16|h&65535}while(0);c[f+28e3>>2]=h;c[f+28004>>2]=h;c[f+28008>>2]=h;c[f+28012>>2]=h;c[f+28032>>2]=h;c[f+28036>>2]=h;c[f+28040>>2]=h;c[f+28044>>2]=h;c[f+28064>>2]=h;c[f+28068>>2]=h;c[f+28072>>2]=h;c[f+28076>>2]=h;c[f+28096>>2]=h;c[f+28100>>2]=h;c[f+28104>>2]=h;c[f+28108>>2]=h}h=c[g>>2]|0;i=(H(h<<2,c[f+21792>>2]|0)|0)+(c[f+21788>>2]<<2)|0;g=c[w>>2]<<2;if(!(j&12288)){w=(c[e+24384>>2]|0)+g|0;b[w>>1]=-1;b[w+2>>1]=-1}else{w=(c[e+24352>>2]|0)+(i<<2)|0;u=f+28e3|0;v=c[u+4>>2]|0;s=w;c[s>>2]=c[u>>2];c[s+4>>2]=v;s=f+28008|0;v=c[s+4>>2]|0;u=w+8|0;c[u>>2]=c[s>>2];c[u+4>>2]=v;u=f+28032|0;v=c[u+4>>2]|0;s=w+(h<<2)|0;t=s;c[t>>2]=c[u>>2];c[t+4>>2]=v;t=f+28040|0;v=c[t+4>>2]|0;s=s+8|0;c[s>>2]=c[t>>2];c[s+4>>2]=v;s=f+28064|0;v=c[s+4>>2]|0;t=w+(h<<1<<2)|0;u=t;c[u>>2]=c[s>>2];c[u+4>>2]=v;u=f+28072|0;v=c[u+4>>2]|0;t=t+8|0;c[t>>2]=c[u>>2];c[t+4>>2]=v;t=f+28096|0;v=c[t+4>>2]|0;w=w+(h*3<<2)|0;u=w;c[u>>2]=c[t>>2];c[u+4>>2]=v;u=f+28104|0;v=c[u+4>>2]|0;w=w+8|0;c[w>>2]=c[u>>2];c[w+4>>2]=v;w=(c[e+24384>>2]|0)+g|0;a[w>>0]=a[f+28284>>0]|0;a[w+1>>0]=a[f+28286>>0]|0;a[w+2>>0]=a[f+28300>>0]|0;a[w+3>>0]=a[f+28302>>0]|0}if(j&49152|0){w=(c[e+24356>>2]|0)+(i<<2)|0;u=f+28160|0;v=c[u+4>>2]|0;s=w;c[s>>2]=c[u>>2];c[s+4>>2]=v;s=f+28168|0;v=c[s+4>>2]|0;u=w+8|0;c[u>>2]=c[s>>2];c[u+4>>2]=v;u=f+28192|0;v=c[u+4>>2]|0;s=w+(h<<2)|0;t=s;c[t>>2]=c[u>>2];c[t+4>>2]=v;t=f+28200|0;v=c[t+4>>2]|0;s=s+8|0;c[s>>2]=c[t>>2];c[s+4>>2]=v;s=f+28224|0;v=c[s+4>>2]|0;t=w+(h<<1<<2)|0;u=t;c[u>>2]=c[s>>2];c[u+4>>2]=v;u=f+28232|0;v=c[u+4>>2]|0;t=t+8|0;c[t>>2]=c[u>>2];c[t+4>>2]=v;t=f+28256|0;v=c[t+4>>2]|0;w=w+(h*3<<2)|0;u=w;c[u>>2]=c[t>>2];c[u+4>>2]=v;u=f+28264|0;v=c[u+4>>2]|0;w=w+8|0;c[w>>2]=c[u>>2];c[w+4>>2]=v;w=(c[e+24388>>2]|0)+g|0;a[w>>0]=a[f+28324>>0]|0;a[w+1>>0]=a[f+28326>>0]|0;a[w+2>>0]=a[f+28340>>0]|0;a[w+3>>0]=a[f+28342>>0]|0}c[(c[e+24364>>2]|0)+(y<<2)>>2]=c[x>>2];a[(c[e+24340>>2]|0)+y>>0]=c[f+848>>2];b[(c[e+26372>>2]|0)+(y<<1)>>1]=c[f+832>>2];c[f+21648>>2]=1;$c=z;return}function Uj(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0;h=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);g=h;e=a+8|0;f=c[e>>2]|0;b=(c[a>>2]|0)+(f>>>3)|0;b=(WW(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24|0)|0)<<(f&7);do if(b>>>0<=134217727){j=b>>>0>65535;i=j?b>>>16:b;j=j?16:0;a=(i&65280|0)==0;i=(a?j:j|8)+(d[120639+(a?i:i>>>8)>>0]|0)|0;a=i<<1;c[e>>2]=f+63-a;if(i>>>0<19){mf(0,16,155998,g);a=-1094995529;break}else{a=(b>>>(a+-31|0))+-1|0;break}}else{a=b>>>23;c[e>>2]=f+(d[126608+a>>0]|0);a=d[127120+a>>0]|0}while(0);$c=h;return a|0}function Vj(a){a=a|0;var b=0;b=0-(ok(a)|0)&7;if(b|0)ik(a,b);return (c[a>>2]|0)+(c[a+8>>2]>>3)|0}function Wj(a){a=a|0;var b=0;b=c[a+12>>2]|0;return b-(ok(a)|0)|0}function Xj(a,b){a=a|0;b=b|0;a=a+8|0;c[a>>2]=(c[a>>2]|0)+b;return}function Yj(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=c[b+21796>>2]|0;j=b+21752|0;c[j>>2]=-1;o=c[a+27016>>2]|0;m=i-(o<>2])|0;f=m+-1|0;g=m+1|0;h=i+-1|0;n=b+21748|0;c[n>>2]=14e4;q=c[a+24364>>2]|0;do if(c[a+26376>>2]|0){k=c[q+(h<<2)>>2]&128;l=d&128;if(!(c[b+21792>>2]&1)){i=(l|0)!=0;if(i){d=(((c[q+(m<<2)>>2]|0)>>>7&1)+-1&o)+m|0;g=(((c[q+(g<<2)>>2]|0)>>>7&1)+-1&o)+g|0;f=(((c[q+(f<<2)>>2]|0)>>>7&1)+-1&o)+f|0}else d=m;if((k|0)==(l|0)){p=d;n=f;m=h;d=h;break}c[n>>2]=i?140096:140064;p=d;n=f;m=h;d=h+(i?o:0)|0;break}else{if((k|0)==(l|0)){p=m;n=f;m=h;d=h;break}i=i-o+-1|0;if(!l){c[j>>2]=0;f=o+f|0;d=140032;h=i}else d=140096;c[n>>2]=d;p=m;n=f;m=i;d=h;break}}else{p=m;n=f;m=h;d=h}while(0);c[b+21708>>2]=n;c[b+21712>>2]=p;c[b+21716>>2]=g;c[b+21720>>2]=m;c[b+21724>>2]=d;h=b+21728|0;c[h>>2]=c[q+(n<<2)>>2];i=b+21732|0;c[i>>2]=c[q+(p<<2)>>2];j=b+21736|0;c[j>>2]=c[q+(g<<2)>>2];k=b+21740|0;c[k>>2]=c[q+(m<<2)>>2];l=b+21744|0;c[l>>2]=c[q+(d<<2)>>2];f=c[a+26372>>2]|0;d=c[b+832>>2]|0;if((d|0)!=(e[f+(n<<1)>>1]|0|0)){c[h>>2]=0;if((d|0)!=(e[f+(p<<1)>>1]|0|0))c[i>>2]=0;if((d|0)!=(e[f+(m<<1)>>1]|0|0)){c[l>>2]=0;c[k>>2]=0}}if((d|0)!=(e[f+(g<<1)>>1]|0|0))c[j>>2]=0;return}function Zj(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0;ia=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);_=ia+8|0;$=ia;fa=c[f+21748>>2]|0;ha=c[f+21708>>2]|0;T=c[f+21712>>2]|0;U=c[f+21716>>2]|0;V=c[f+21720>>2]|0;c[_>>2]=V;c[_+4>>2]=c[f+21724>>2];W=c[f+21728>>2]|0;X=c[f+21732>>2]|0;Y=c[f+21736>>2]|0;Z=c[f+21740>>2]|0;c[$>>2]=Z;r=c[f+21744>>2]|0;c[$+4>>2]=r;a:do if(!(g&2048)){b:do if(g&7|0){o=c[(c[e+28212>>2]|0)+56>>2]|0?7:-1;j=f+21768|0;c[j>>2]=65535;h=f+21760|0;c[h>>2]=65535;l=f+21756|0;c[l>>2]=65535;m=f+21764|0;c[m>>2]=61162;n=(o&X|0)!=0;if(n){h=65535;k=60138}else{c[l>>2]=46079;c[h>>2]=13311;c[m>>2]=9962;h=46079;k=8938}i=g&128;do if((i|0)==(Z&128|0)){if(!(Z&o)){h=h&57183;c[l>>2]=h;c[j>>2]=24415}}else{if(!i){if(!((Z&o|0)==0?1:(c[(c[e+24364>>2]|0)+((c[e+27016>>2]|0)+V<<2)>>2]&o|0)==0))break;h=h&57183;c[l>>2]=h;c[j>>2]=24415;break}if(!(Z&o)){h=h&57343;c[l>>2]=h;c[j>>2]=24575;i=24415}else i=65375;if(!(r&o)){h=h&65375;c[l>>2]=h;c[j>>2]=i}}while(0);if(!(o&W))c[l>>2]=h&32767;if(!(o&Y))c[m>>2]=k;if(g&1|0){if(!(X&1)){_W(f+21668|0,(n?2:-1)|0,4)|0;k=f+21704|0;l=e+26364|0}else{k=f+21704|0;l=e+26364|0;c[f+21668>>2]=c[(c[k>>2]|0)+(c[(c[l>>2]|0)+(T<<2)>>2]|0)>>2]}j=0;while(1){if((j|0)==2)break b;h=c[$+(j<<2)>>2]|0;if(!(h&1)){h=(h&o|0)==0?-1:2;i=j<<4;a[i+19+(f+21664)>>0]=h;i=i|11}else{S=(c[k>>2]|0)+(c[(c[l>>2]|0)+(c[_+(j<<2)>>2]<<2)>>2]|0)|0;h=j<<1;i=j<<4;a[(i|11)+(f+21664)>>0]=a[S+(6-(d[fa+h>>0]|0))>>0]|0;h=a[S+(6-(d[fa+(h|1)>>0]|0))>>0]|0;i=i+19|0}a[f+21664+i>>0]=h;j=j+1|0}}}while(0);if(!X){c[f+27828>>2]=1077952576;c[f+27868>>2]=1077952576;p=e+25972|0;h=1077952576}else{p=e+25972|0;h=c[p>>2]|0;c[f+27828>>2]=c[h+(T*48|0)+12>>2];S=(c[e+25680>>2]|0)==0;c[f+27868>>2]=c[(S?28:20)+(h+(T*48|0))>>2];h=c[(S?44:36)+(h+(T*48|0))>>2]|0}c[f+27908>>2]=h;o=e+28216|0;n=0;while(1){if((n|0)==2)break a;if(!(c[$+(n<<2)>>2]|0)){i=n<<4;a[i+99+(f+27824)>>0]=64;a[i+91+(f+27824)>>0]=64;a[i+59+(f+27824)>>0]=64;a[i+51+(f+27824)>>0]=64;a[i+19+(f+27824)>>0]=64;i=i|11;h=64}else{l=c[p>>2]|0;m=c[_+(n<<2)>>2]|0;h=n<<1;j=fa+(h+8)|0;i=n<<4;a[(i|11)+(f+27824)>>0]=a[(d[j>>0]|0)+(l+(m*48|0))>>0]|0;k=fa+(h+9)|0;a[i+19+(f+27824)>>0]=a[(d[k>>0]|0)+(l+(m*48|0))>>0]|0;switch(c[(c[o>>2]|0)+12>>2]|0){case 3:{a[i+51+(f+27824)>>0]=a[(d[j>>0]|0)+16+(l+(m*48|0))>>0]|0;a[i+59+(f+27824)>>0]=a[(d[k>>0]|0)+16+(l+(m*48|0))>>0]|0;a[i+91+(f+27824)>>0]=a[(d[j>>0]|0)+32+(l+(m*48|0))>>0]|0;k=(d[k>>0]|0)+32|0;h=i+99|0;break}case 2:{a[i+51+(f+27824)>>0]=a[(d[j>>0]|0)+14+(l+(m*48|0))>>0]|0;a[i+59+(f+27824)>>0]=a[(d[k>>0]|0)+14+(l+(m*48|0))>>0]|0;a[i+91+(f+27824)>>0]=a[(d[j>>0]|0)+30+(l+(m*48|0))>>0]|0;h=(d[k>>0]|0)+30|0;j=99;q=39;break}default:{i=n<<3;a[i+51+(f+27824)>>0]=a[(d[fa+(h+12)>>0]|0)+(l+(m*48|0))>>0]|0;h=d[fa+(h+13)>>0]|0;j=91;q=39}}if((q|0)==39){q=0;k=h;h=j+i|0}i=h;h=a[l+(m*48|0)+k>>0]|0}a[f+27824+i>>0]=h;n=n+1|0}}while(0);if(!(g&120)){if(g&256|0?c[f+21844>>2]|0:0)q=46}else q=46;c:do if((q|0)==46){x=c[e+26368>>2]|0;y=f+23412|0;z=X|0?-1:-16843010;A=(g&80|0)==0;B=Z|0?-1:-2;C=e+26360|0;D=V<<2|1;E=Y|0?-1:-2;F=W|0?-1:-2;G=f+21752|0;I=x<<1;J=x+3|0;K=ha<<2;L=(g&2304|0)==0;M=e+26376|0;O=f+21828|0;P=(W&128|0)!=0;Q=(X&128|0)==0;R=(Y&128|0)==0;S=(Z&128|0)==0;s=(r&128|0)==0;t=x*3|0;u=U<<2|2;w=T<<2;v=w|2;w=w|3;r=0;while(1){if(r>>>0>=(c[y>>2]|0)>>>0)break c;m=f+28272+(r*40|0)+12|0;o=c[e+24384+(r<<2)>>2]|0;n=f+27952+(r*160|0)+48|0;p=c[e+24352+(r<<2)>>2]|0;q=12288<<(r<<1);do if(q&g|0){if(!(q&X)){l=f+27952+(r*160|0)+16|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[f+28272+(r*40|0)+4>>2]=z}else{j=(c[(c[C>>2]|0)+(T<<2)>>2]|0)+t|0;i=p+(j<<2)|0;l=c[i+4>>2]|0;k=f+27952+(r*160|0)+16|0;c[k>>2]=c[i>>2];c[k+4>>2]=l;j=p+(j<<2)+8|0;k=c[j+4>>2]|0;l=f+27952+(r*160|0)+24|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;l=a[o+v>>0]|0;a[f+28272+(r*40|0)+5>>0]=l;a[f+28272+(r*40|0)+4>>0]=l;l=a[o+w>>0]|0;a[f+28272+(r*40|0)+7>>0]=l;a[f+28272+(r*40|0)+6>>0]=l}d:do if(A){if(!(Z&q)){c[f+27952+(r*160|0)+44>>2]=0;h=B}else{c[f+27952+(r*160|0)+44>>2]=c[p+((c[(c[C>>2]|0)+(V<<2)>>2]|0)+3+(H(x,d[fa>>0]|0)|0)<<2)>>2];h=a[o+(D+(a[fa>>0]&-2&255))>>0]|0}a[f+28272+(r*40|0)+11>>0]=h}else{l=0;while(1){if((l|0)==2)break d;i=l<<1;j=l<<4;h=j+-1|0;k=c[$+(l<<2)>>2]|0;if(!(k&q)){c[n+(h<<2)>>2]=0;j=j|7;c[n+(j<<2)>>2]=0;i=k|0?-1:-2;a[m+j>>0]=i}else{ja=c[_+(l<<2)>>2]|0;la=(c[(c[C>>2]|0)+(ja<<2)>>2]|0)+3|0;ja=ja<<2|1;ka=fa+i|0;c[n+(h<<2)>>2]=c[p+((H(x,d[ka>>0]|0)|0)+la<<2)>>2];i=fa+(i|1)|0;k=j|7;c[n+(k<<2)>>2]=c[p+((H(x,d[i>>0]|0)|0)+la<<2)>>2];a[m+h>>0]=a[o+(ja+(a[ka>>0]&-2&255))>>0]|0;i=a[o+(ja+(a[i>>0]&-2&255))>>0]|0;h=k}a[m+h>>0]=i;l=l+1|0}}while(0);if(!(q&Y)){c[f+27952+(r*160|0)+32>>2]=0;h=E}else{c[f+27952+(r*160|0)+32>>2]=c[p+((c[(c[C>>2]|0)+(U<<2)>>2]|0)+t<<2)>>2];h=a[o+u>>0]|0}k=f+28272+(r*40|0)+8|0;a[k>>0]=h;j=f+28272+(r*40|0)+6|0;if((a[j>>0]|h)<<24>>24<0){if(!(q&W)){c[f+27952+(r*160|0)+12>>2]=0;h=F}else{h=c[G>>2]|0;c[f+27952+(r*160|0)+12>>2]=c[p+(J+(c[(c[C>>2]|0)+(ha<<2)>>2]|0)+(h&I)<<2)>>2];h=a[o+(K|h&2|1)>>0]|0}a[f+28272+(r*40|0)+3>>0]=h}if(L){a[f+28272+(r*40|0)+30>>0]=-2;a[f+28272+(r*40|0)+14>>0]=-2;c[f+27952+(r*160|0)+56>>2]=0;c[f+27952+(r*160|0)+120>>2]=0;if(!(c[M>>2]|0))break}else if(!(c[M>>2]|0))break;if(!(c[O>>2]|0)){if(P?(da=f+28272+(r*40|0)+3|0,ea=a[da>>0]|0,ea<<24>>24>-1):0){a[da>>0]=(ea&255)>>>1;la=f+27952+(r*160|0)+14|0;b[la>>1]=b[la>>1]<<1;la=f+28352+(r*80|0)+7|0;a[la>>0]=d[la>>0]<<1}do if(!Q){h=f+28272+(r*40|0)+4|0;i=a[h>>0]|0;if(i<<24>>24>-1){a[h>>0]=(i&255)>>>1;la=f+27952+(r*160|0)+18|0;b[la>>1]=b[la>>1]<<1;la=f+28352+(r*80|0)+9|0;a[la>>0]=d[la>>0]<<1}h=f+28272+(r*40|0)+5|0;i=a[h>>0]|0;if(i<<24>>24>-1){a[h>>0]=(i&255)>>>1;la=f+27952+(r*160|0)+22|0;b[la>>1]=b[la>>1]<<1;la=f+28352+(r*80|0)+11|0;a[la>>0]=d[la>>0]<<1}h=a[j>>0]|0;if(h<<24>>24>-1){a[j>>0]=(h&255)>>>1;la=f+27952+(r*160|0)+26|0;b[la>>1]=b[la>>1]<<1;la=f+28352+(r*80|0)+13|0;a[la>>0]=d[la>>0]<<1}h=f+28272+(r*40|0)+7|0;i=a[h>>0]|0;if(i<<24>>24<=-1)break;a[h>>0]=(i&255)>>>1;la=f+27952+(r*160|0)+30|0;b[la>>1]=b[la>>1]<<1;la=f+28352+(r*80|0)+15|0;a[la>>0]=d[la>>0]<<1}while(0);if(!R?(ga=a[k>>0]|0,ga<<24>>24>-1):0){a[k>>0]=(ga&255)>>>1;la=f+27952+(r*160|0)+34|0;b[la>>1]=b[la>>1]<<1;la=f+28352+(r*80|0)+17|0;a[la>>0]=d[la>>0]<<1}do if(!S){h=f+28272+(r*40|0)+11|0;i=a[h>>0]|0;if(i<<24>>24>-1){a[h>>0]=(i&255)>>>1;la=f+27952+(r*160|0)+46|0;b[la>>1]=b[la>>1]<<1;la=f+28352+(r*80|0)+23|0;a[la>>0]=d[la>>0]<<1}h=f+28272+(r*40|0)+19|0;i=a[h>>0]|0;if(i<<24>>24<=-1)break;a[h>>0]=(i&255)>>>1;la=f+27952+(r*160|0)+78|0;b[la>>1]=b[la>>1]<<1;la=f+28352+(r*80|0)+39|0;a[la>>0]=d[la>>0]<<1}while(0);if(s)break;h=f+28272+(r*40|0)+27|0;i=a[h>>0]|0;if(i<<24>>24>-1){a[h>>0]=(i&255)>>>1;la=f+27952+(r*160|0)+110|0;b[la>>1]=b[la>>1]<<1;la=f+28352+(r*80|0)+55|0;a[la>>0]=d[la>>0]<<1}h=f+28272+(r*40|0)+35|0;i=a[h>>0]|0;if(i<<24>>24<=-1)break;a[h>>0]=(i&255)>>>1;la=f+27952+(r*160|0)+142|0;b[la>>1]=b[la>>1]<<1;la=f+28352+(r*80|0)+71|0;a[la>>0]=d[la>>0]<<1;break}else{if(!P?(aa=f+28272+(r*40|0)+3|0,ba=a[aa>>0]|0,ba<<24>>24>-1):0){a[aa>>0]=ba<<24>>24<<1;la=f+27952+(r*160|0)+14|0;b[la>>1]=(b[la>>1]|0)/2|0;la=f+28352+(r*80|0)+7|0;a[la>>0]=(d[la>>0]|0)>>>1}do if(Q){h=f+28272+(r*40|0)+4|0;i=a[h>>0]|0;if(i<<24>>24>-1){a[h>>0]=i<<24>>24<<1;la=f+27952+(r*160|0)+18|0;b[la>>1]=(b[la>>1]|0)/2|0;la=f+28352+(r*80|0)+9|0;a[la>>0]=(d[la>>0]|0)>>>1}h=f+28272+(r*40|0)+5|0;i=a[h>>0]|0;if(i<<24>>24>-1){a[h>>0]=i<<24>>24<<1;la=f+27952+(r*160|0)+22|0;b[la>>1]=(b[la>>1]|0)/2|0;la=f+28352+(r*80|0)+11|0;a[la>>0]=(d[la>>0]|0)>>>1}h=a[j>>0]|0;if(h<<24>>24>-1){a[j>>0]=h<<24>>24<<1;la=f+27952+(r*160|0)+26|0;b[la>>1]=(b[la>>1]|0)/2|0;la=f+28352+(r*80|0)+13|0;a[la>>0]=(d[la>>0]|0)>>>1}h=f+28272+(r*40|0)+7|0;i=a[h>>0]|0;if(i<<24>>24<=-1)break;a[h>>0]=i<<24>>24<<1;la=f+27952+(r*160|0)+30|0;b[la>>1]=(b[la>>1]|0)/2|0;la=f+28352+(r*80|0)+15|0;a[la>>0]=(d[la>>0]|0)>>>1}while(0);if(R?(ca=a[k>>0]|0,ca<<24>>24>-1):0){a[k>>0]=ca<<24>>24<<1;la=f+27952+(r*160|0)+34|0;b[la>>1]=(b[la>>1]|0)/2|0;la=f+28352+(r*80|0)+17|0;a[la>>0]=(d[la>>0]|0)>>>1}do if(S){h=f+28272+(r*40|0)+11|0;i=a[h>>0]|0;if(i<<24>>24>-1){a[h>>0]=i<<24>>24<<1;la=f+27952+(r*160|0)+46|0;b[la>>1]=(b[la>>1]|0)/2|0;la=f+28352+(r*80|0)+23|0;a[la>>0]=(d[la>>0]|0)>>>1}h=f+28272+(r*40|0)+19|0;i=a[h>>0]|0;if(i<<24>>24<=-1)break;a[h>>0]=i<<24>>24<<1;la=f+27952+(r*160|0)+78|0;b[la>>1]=(b[la>>1]|0)/2|0;la=f+28352+(r*80|0)+39|0;a[la>>0]=(d[la>>0]|0)>>>1}while(0);if(!s)break;h=f+28272+(r*40|0)+27|0;i=a[h>>0]|0;if(i<<24>>24>-1){a[h>>0]=i<<24>>24<<1;la=f+27952+(r*160|0)+110|0;b[la>>1]=(b[la>>1]|0)/2|0;la=f+28352+(r*80|0)+55|0;a[la>>0]=(d[la>>0]|0)>>>1}h=f+28272+(r*40|0)+35|0;i=a[h>>0]|0;if(i<<24>>24<=-1)break;a[h>>0]=i<<24>>24<<1;la=f+27952+(r*160|0)+142|0;b[la>>1]=(b[la>>1]|0)/2|0;la=f+28352+(r*80|0)+71|0;a[la>>0]=(d[la>>0]|0)>>>1;break}}while(0);r=r+1|0}}while(0);c[f+21840>>2]=(Z>>>24&1)+(X>>>24&1);$c=ia;return}function _j(a,b){a=a|0;b=b|0;var e=0,f=0;e=a+8|0;f=c[e>>2]|0;a=(c[a>>2]|0)+(f>>>3)|0;a=(WW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(f&7)>>>(32-b|0);c[e>>2]=f+b;return a|0}function $j(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);l=m+8|0;j=m;a:do if(!(e&32768)){e=0;while(1){if((e|0)>=4){k=8;break a}i=b+(e+12)|0;g=a[i>>0]|0;h=a[139870+g>>0]|0;if(249>>>g&1|0)break;if(253>>>g&1|0)a[i>>0]=h;e=e+1|0}c[j>>2]=h<<24>>24;mf(d,16,139882,j);e=-1094995529}else k=8;while(0);b:do if((k|0)==8)if((f&34952|0)==34952)e=0;else{e=0;while(1){if((e|0)>=4){e=0;break b}if(!(c[72628+(e<<2)>>2]&f)){g=b+((e<<3)+12)|0;h=a[g>>0]|0;i=a[139933+h>>0]|0;if(370>>>h&1|0)break;if(886>>>h&1|0)a[g>>0]=i}e=e+1|0}c[l>>2]=i<<24>>24;mf(d,16,139945,l);e=-1094995529}while(0);$c=m;return e|0}function ak(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);h=i+16|0;g=i+8|0;do if(e>>>0<=3){if(!(c&32768)){c=a[139764+e>>0]|0;if((e|1|0)==3){mf(b,16,139768,g);c=-1094995529;break}}else c=e;e=d&32896;if((e|0)!=32896)if((c|2|0)==3){mf(b,16,139816,h);c=-1094995529;break}else{$c=i;return ((e|0)==0|(f|0)==0?a[139865+c>>0]|0:8-(d>>>15&1)+(((c|0)==4&1)<<1)|0)|0}}else{mf(b,16,139727,i);c=-1094995529}while(0);$c=i;return c|0}function bk(a){a=a|0;var b=0,e=0;b=a+8|0;e=c[b>>2]|0;a=(c[a>>2]|0)+(e>>>3)|0;a=(WW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(e&7)>>>23;c[b>>2]=e+(d[126608+a>>0]|0);return d[127120+a>>0]|0|0}function ck(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[b+21844>>2]|0))lk(a,b,d);else kk(a,b,d);return}function dk(a,b,c){a=a|0;b=b|0;c=c|0;if((a|0)>(b|0))return ((c|0)>(b|0)?((c|0)>(a|0)?a:c):b)|0;else return ((b|0)>(c|0)?((c|0)>(a|0)?c:a):b)|0;return 0}function ek(b){b=b|0;var e=0,f=0,g=0,h=0,i=0;f=b+8|0;g=c[f>>2]|0;b=c[b>>2]|0;e=b+(g>>>3)|0;e=(WW(d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24|0)|0)<<(g&7);if(e>>>0>134217727){b=e>>>23;c[f>>2]=g+(d[126608+b>>0]|0);b=a[127632+b>>0]|0}else{i=e>>>0>65535;h=i?e>>>16:e;i=i?16:0;e=(h&65280|0)==0;h=(e?i:i|8)+(d[120639+(e?h:h>>>8)>>0]|0)|0;e=31-h+g|0;g=b+(e>>>3)|0;g=(WW(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24|0)|0)<<(e&7)>>>h;c[f>>2]=32-h+e;b=g&1;b=(g>>>1^0-b)+b|0}return b|0}function fk(e,f,g,h,i,j,k,l){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=$c;$c=$c+112|0;if(($c|0)>=(ad|0))N(112);y=z+32|0;v=z+24|0;t=z+16|0;s=z;x=z+40|0;u=(l|0)<9;do if(!u)if((i|0)>47){r=c[182500+(c[72532+((gk(f,(i<<4)+-768|0)|0)<<2)>>2]<<4)+4>>2]|0;m=g+8|0;q=c[m>>2]|0;o=c[g>>2]|0;w=o+(q>>>3)|0;w=(WW(d[w>>0]|d[w+1>>0]<<8|d[w+2>>0]<<16|d[w+3>>0]<<24|0)|0)<<(q&7)>>>24;n=b[r+(w<<2)>>1]|0;w=b[r+(w<<2)+2>>1]|0;p=w<<16>>16;if(w<<16>>16<0){w=q+8|0;o=o+(w>>>3)|0;n=((WW(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24|0)|0)<<(w&7)>>>(p+32|0))+n|0;p=b[r+(n<<2)+2>>1]|0;o=w;n=b[r+(n<<2)>>1]|0}else o=q;o=p+o|0;break}else{r=c[182500+(c[72532+((gk(f,i)|0)<<2)>>2]<<4)+4>>2]|0;m=g+8|0;q=c[m>>2]|0;o=c[g>>2]|0;w=o+(q>>>3)|0;w=(WW(d[w>>0]|d[w+1>>0]<<8|d[w+2>>0]<<16|d[w+3>>0]<<24|0)|0)<<(q&7)>>>24;n=b[r+(w<<2)>>1]|0;w=b[r+(w<<2)+2>>1]|0;p=w<<16>>16;if(w<<16>>16<0){w=q+8|0;o=o+(w>>>3)|0;n=((WW(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24|0)|0)<<(w&7)>>>(p+32|0))+n|0;p=b[r+(n<<2)+2>>1]|0;o=w;n=b[r+(n<<2)>>1]|0}else o=q;o=p+o|0;break}else{o=(l|0)==4;w=o?c[45618]|0:c[45622]|0;m=g+8|0;r=c[m>>2]|0;n=(c[g>>2]|0)+(r>>>3)|0;n=(WW(d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24|0)|0)<<(r&7);o=n>>>(o?24:19);n=b[w+(o<<2)>>1]|0;o=r+(b[w+(o<<2)+2>>1]|0)|0}while(0);c[m>>2]=o;w=n>>2;a[(d[150841+i>>0]|0)+(f+27824)>>0]=w;a:do if(w){if(w>>>0>l>>>0){m=c[e+4>>2]|0;y=c[f+21792>>2]|0;c[s>>2]=c[f+21788>>2];c[s+4>>2]=y;c[s+8>>2]=w;mf(m,16,139619,s);m=-1;break}o=n&3;s=hk(g,3)|0;ik(g,o);c[x>>2]=1-(s>>>1&2);c[x+4>>2]=1-(s&2);c[x+8>>2]=1-(s<<1&2);b:do if((o|0)<(w|0)){p=(o|0)!=3;n=(w|0)>10&p;q=n&1;r=hk(g,8)|0;s=a[258520+(q<<9)+(r<<1)>>0]|0;m=s<<24>>24;ik(g,a[258520+(q<<9)+(r<<1)+1>>0]|0);if(s<<24>>24>99){m=m+-100|0;if((m|0)==8)m=(jk(g)|0)+8|0;do if((m|0)<14){if(n)m=(Sj(g)|0)+(m<<1)|0}else{if((m|0)==14)if(n){m=(Sj(g)|0)+28|0;break}else{m=(_j(g,4)|0)+14|0;break}do if((m|0)>15)if((m|0)>28){mf(c[e+4>>2]|0,16,139664,t);m=-1;break a}else{n=m+-3|0;m=(1<>1^0-m)+m|0}else{m=(p?m>>31|1:0)+m|0;n=(m+3|0)>>>0>6?2:1}c[x+(o<<2)>>2]=m;while(1){o=o+1|0;if((o|0)>=(w|0))break b;s=hk(g,8)|0;t=a[258520+(n<<9)+(s<<1)>>0]|0;m=t<<24>>24;ik(g,a[258520+(n<<9)+(s<<1)+1>>0]|0);if(t<<24>>24>99){m=m+-100|0;if((m|0)==8)m=(jk(g)|0)+8|0;if((m|0)>=15){p=15<28)break;t=m+-3|0;m=p+-4096+(1<>1^0-m)+m|0}c[x+(o<<2)>>2]=m;t=c[72600+(n<<2)>>2]|0;n=n+((t+m|0)>>>0>t<<1>>>0&1)|0}mf(c[e+4>>2]|0,16,139664,v);m=-1094995529;break a}while(0);if((w|0)==(l|0))m=0;else{do if(u)if((l|0)==4){m=29;n=182564+(w<<4)+4|0;break}else{m=27;n=182628+(w<<4)+4|0;break}else{m=23;n=182756+(w<<4)+4|0}while(0);l=c[n>>2]|0;v=g+8|0;t=c[v>>2]|0;u=(c[g>>2]|0)+(t>>>3)|0;u=(WW(d[u>>0]|d[u+1>>0]<<8|d[u+2>>0]<<16|d[u+3>>0]<<24|0)|0)<<(t&7)>>>m;m=b[l+(u<<2)>>1]|0;c[v>>2]=t+(b[l+(u<<2)+2>>1]|0)}o=j+(w+-1+m)|0;n=(i|0)>47;p=c[x>>2]|0;c:do if(!(c[e+25664>>2]|0))if(n){b[h+(d[o>>0]<<1)>>1]=p;l=g+8|0;n=1;while(1){if(!((n|0)<(w|0)&(m|0)>0))break;if((m|0)<7){k=c[183012+(m<<4)+4>>2]|0;i=c[l>>2]|0;p=(c[g>>2]|0)+(i>>>3)|0;p=(WW(d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24|0)|0)<<(i&7)>>>29;q=b[k+(p<<2)>>1]|0;p=i+(b[k+(p<<2)+2>>1]|0)|0}else{t=c[45782]|0;s=c[l>>2]|0;q=c[g>>2]|0;k=q+(s>>>3)|0;k=(WW(d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24|0)|0)<<(s&7)>>>26;p=b[t+(k<<2)>>1]|0;k=b[t+(k<<2)+2>>1]|0;r=k<<16>>16;if(k<<16>>16<0){s=s+6|0;k=q+(s>>>3)|0;p=((WW(d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24|0)|0)<<(s&7)>>>(r+32|0))+p|0;r=b[t+(p<<2)+2>>1]|0;p=b[t+(p<<2)>>1]|0}q=p;p=r+s|0}c[l>>2]=p;k=o+~q|0;b[h+(d[k>>0]<<1)>>1]=c[x+(n<<2)>>2];m=m-q|0;o=k;n=n+1|0}while(1){if((n|0)>=(w|0))break c;g=o+-1|0;b[h+(d[g>>0]<<1)>>1]=c[x+(n<<2)>>2];o=g;n=n+1|0}}else{l=d[o>>0]|0;b[h+(l<<1)>>1]=((H(c[k+(l<<2)>>2]|0,p)|0)+32|0)>>>6;l=g+8|0;n=1;while(1){if(!((n|0)<(w|0)&(m|0)>0))break;if((m|0)<7){i=c[183012+(m<<4)+4>>2]|0;j=c[l>>2]|0;p=(c[g>>2]|0)+(j>>>3)|0;p=(WW(d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24|0)|0)<<(j&7)>>>29;q=b[i+(p<<2)>>1]|0;p=j+(b[i+(p<<2)+2>>1]|0)|0}else{t=c[45782]|0;s=c[l>>2]|0;q=c[g>>2]|0;i=q+(s>>>3)|0;i=(WW(d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24|0)|0)<<(s&7)>>>26;p=b[t+(i<<2)>>1]|0;i=b[t+(i<<2)+2>>1]|0;r=i<<16>>16;if(i<<16>>16<0){s=s+6|0;i=q+(s>>>3)|0;p=((WW(d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24|0)|0)<<(s&7)>>>(r+32|0))+p|0;r=b[t+(p<<2)+2>>1]|0;p=b[t+(p<<2)>>1]|0}q=p;p=r+s|0}c[l>>2]=p;i=o+~q|0;j=d[i>>0]|0;b[h+(j<<1)>>1]=((H(c[k+(j<<2)>>2]|0,c[x+(n<<2)>>2]|0)|0)+32|0)>>>6;m=m-q|0;o=i;n=n+1|0}while(1){if((n|0)>=(w|0))break c;g=o+-1|0;i=d[g>>0]|0;b[h+(i<<1)>>1]=((H(c[k+(i<<2)>>2]|0,c[x+(n<<2)>>2]|0)|0)+32|0)>>>6;o=g;n=n+1|0}}else if(n){c[h+(d[o>>0]<<2)>>2]=p;l=g+8|0;n=1;while(1){if(!((n|0)<(w|0)&(m|0)>0))break;if((m|0)<7){k=c[183012+(m<<4)+4>>2]|0;i=c[l>>2]|0;p=(c[g>>2]|0)+(i>>>3)|0;p=(WW(d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24|0)|0)<<(i&7)>>>29;q=b[k+(p<<2)>>1]|0;p=i+(b[k+(p<<2)+2>>1]|0)|0}else{t=c[45782]|0;s=c[l>>2]|0;q=c[g>>2]|0;k=q+(s>>>3)|0;k=(WW(d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24|0)|0)<<(s&7)>>>26;p=b[t+(k<<2)>>1]|0;k=b[t+(k<<2)+2>>1]|0;r=k<<16>>16;if(k<<16>>16<0){s=s+6|0;k=q+(s>>>3)|0;p=((WW(d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24|0)|0)<<(s&7)>>>(r+32|0))+p|0;r=b[t+(p<<2)+2>>1]|0;p=b[t+(p<<2)>>1]|0}q=p;p=r+s|0}c[l>>2]=p;k=o+~q|0;c[h+(d[k>>0]<<2)>>2]=c[x+(n<<2)>>2];o=k;m=m-q|0;n=n+1|0}while(1){if((n|0)>=(w|0))break c;g=o+-1|0;c[h+(d[g>>0]<<2)>>2]=c[x+(n<<2)>>2];o=g;n=n+1|0}}else{l=d[o>>0]|0;c[h+(l<<2)>>2]=(H(c[k+(l<<2)>>2]|0,p)|0)+32>>6;l=g+8|0;n=1;while(1){if(!((n|0)<(w|0)&(m|0)>0))break;if((m|0)<7){i=c[183012+(m<<4)+4>>2]|0;j=c[l>>2]|0;p=(c[g>>2]|0)+(j>>>3)|0;p=(WW(d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24|0)|0)<<(j&7)>>>29;q=b[i+(p<<2)>>1]|0;p=j+(b[i+(p<<2)+2>>1]|0)|0}else{t=c[45782]|0;s=c[l>>2]|0;q=c[g>>2]|0;i=q+(s>>>3)|0;i=(WW(d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24|0)|0)<<(s&7)>>>26;p=b[t+(i<<2)>>1]|0;i=b[t+(i<<2)+2>>1]|0;r=i<<16>>16;if(i<<16>>16<0){s=s+6|0;i=q+(s>>>3)|0;p=((WW(d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24|0)|0)<<(s&7)>>>(r+32|0))+p|0;r=b[t+(p<<2)+2>>1]|0;p=b[t+(p<<2)>>1]|0}q=p;p=r+s|0}c[l>>2]=p;i=o+~q|0;j=d[i>>0]|0;c[h+(j<<2)>>2]=(H(c[k+(j<<2)>>2]|0,c[x+(n<<2)>>2]|0)|0)+32>>6;o=i;m=m-q|0;n=n+1|0}while(1){if((n|0)>=(w|0))break c;g=o+-1|0;i=d[g>>0]|0;c[h+(i<<2)>>2]=(H(c[k+(i<<2)>>2]|0,c[x+(n<<2)>>2]|0)|0)+32>>6;o=g;n=n+1|0}}while(0);if((m|0)<0){m=c[e+4>>2]|0;e=c[f+21792>>2]|0;c[y>>2]=c[f+21788>>2];c[y+4>>2]=e;mf(m,16,139686,y);m=-1}else m=0}else m=0;while(0);$c=z;return m|0}function gk(a,b){a=a|0;b=b|0;b=d[150841+b>>0]|0;b=(d[b+-8+(a+27824)>>0]|0)+(d[b+-1+(a+27824)>>0]|0)|0;return (b>>>0<64?(b+1|0)>>>1:b)&31|0}function hk(a,b){a=a|0;b=b|0;var e=0;e=c[a+8>>2]|0;a=(c[a>>2]|0)+(e>>>3)|0;return (WW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(e&7)>>>(32-b|0)|0}function ik(a,b){a=a|0;b=b|0;a=a+8|0;c[a>>2]=(c[a>>2]|0)+b;return}function jk(a){a=a|0;var b=0,e=0,f=0,g=0;b=a+8|0;e=c[b>>2]|0;g=(c[a>>2]|0)+(e>>>3)|0;g=(WW(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24|0)|0)<<(e&7);a=g>>>0>65535;g=a?g>>>16:g;a=a?16:0;f=(g&65280|0)==0;a=32-(d[120639+(f?g:g>>>8)>>0]|0)-(f?a:a|8)|0;c[b>>2]=a+e;return a+-1|0}function kk(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;U=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);C=U+16|0;B=U+8|0;w=U;y=c[f+26368>>2]|0;k=c[g+21796>>2]|0;A=g+21792|0;p=c[A>>2]|0;T=c[h>>2]|0;S=T&64;z=g+25336|0;mk(f,z,(T>>>7&1)+p|0);T=(S|0)==0;i=61440;u=0;while(1){if((u|0)==2)break;m=a[g+28272+(u*40|0)+11>>0]|0;s=a[g+28272+(u*40|0)+4>>0]|0;j=a[g+28272+(u*40|0)+8>>0]|0;if(j<<24>>24==-2){q=a[g+28272+(u*40|0)+3>>0]|0;r=g+27952+(u*160|0)+12|0}else{q=j<<24>>24;r=g+27952+(u*160|0)+32|0}t=m>>>0>s>>>0?s:m;j=t>>>0>q>>>0?q:t;l=B+(u<<2)|0;c[l>>2]=j;if((j|0)>-1){n=g+27952+(u*160|0)+44|0;o=g+27952+(u*160|0)+16|0;l=(j|0)==(m|0);j=(j|0)==(s|0);do if(((j&1)+(q>>>0<=t>>>0&1)+(l&1)|0)>>>0<=1){if(l){j=c[n>>2]|0;break}if(j){j=c[o>>2]|0;break}else{j=c[r>>2]|0;break}}else{j=nk(b[n>>1]|0,b[o>>1]|0,b[r>>1]|0)|0;j=(nk(b[g+27952+(u*160|0)+46>>1]|0,b[g+27952+(u*160|0)+18>>1]|0,b[r+2>>1]|0)|0)<<16|j&65535}while(0);c[w+(u<<2)>>2]=j}else{j=~(12288<<(u<<1));c[w+(u<<2)>>2]=0;c[l>>2]=-1;if(T)c[h>>2]=c[h>>2]&j;i=i&j}u=u+1|0}j=c[B>>2]|0;if((j|0)<0?(v=B+4|0,(c[v>>2]|0)<0):0){c[v>>2]=0;c[B>>2]=0;if(T)c[h>>2]=c[h>>2]|61440;s=i|61440;u=0}else{s=i;u=j}i=c[w>>2]|0;j=c[w+4>>2]|0;do if(i|S|j){R=g+25372|0;r=c[(c[R>>2]|0)+48>>2]|0;o=c[r+(k<<2)>>2]|0;t=c[h>>2]|0;l=(t&128|0)!=0;do if(!(o&128))if(l){q=c[A>>2]&-2;n=c[f+27016>>2]|0;k=H(q,n)|0;k=k+(c[g+21788>>2]|0)|0;o=c[r+(k<<2)>>2]|0;c[C>>2]=o;l=c[r+(n+k<<2)>>2]|0;m=C+4|0;c[m>>2]=l;n=n<<2|2;p=y*6|0;if((o^l)&128){o=o&-129;c[C>>2]=o;l=l&-129;c[m>>2]=l}m=s|264;if(o&15|0?!((S|0)!=0|(l&15|0)==0):0){P=p;p=q;r=m;l=272;break}P=p;p=q;r=m;l=64}else{n=2;Q=36}else{if(l){m=c[g+21852>>2]|0;n=2;o=m+p|0;l=c[f+27016>>2]|0}else{l=(c[A>>2]&-2)+(c[g+21848>>2]|0)|0;n=0;o=l;k=c[g+21788>>2]|0;m=c[f+27016>>2]|0}Q=k+(H(l,m)|0)|0;k=Q;p=o;o=c[r+(Q<<2)>>2]|0;Q=36}while(0);do if((Q|0)==36){c[C+4>>2]=o;c[C>>2]=o;m=s|264;l=(S|0)!=0;if(l|(o&15|0)==0){if(!l?(x=o&48,x|0):0){P=y;r=m;l=x|256;break}P=y;r=(c[(c[f+28216>>2]|0)+72>>2]|0)==0?m+56|0:m;l=64}else{P=y;r=m;l=264}}while(0);c[h>>2]=t|l;mk(f,z,p);q=c[R>>2]|0;m=c[(c[f+26360>>2]|0)+(k<<2)>>2]|0;l=(c[q+36>>2]|0)+(m<<2)|0;m=(c[q+40>>2]|0)+(m<<2)|0;p=k<<2;k=(c[q+68>>2]|0)+p|0;p=(c[q+72>>2]|0)+p|0;if(!n){L=(c[A>>2]&1|0)==0;M=P<<1;O=L?l:l+(M<<2)|0;m=L?m:m+(M<<2)|0;M=L?k:k+2|0;p=L?p:p+2|0}else{O=l;M=k}k=c[h>>2]|0;if((o^k)&128|0){x=r&65535;y=(u&255)*257&65535;t=c[B+4>>2]|0;w=(t&255)*257&65535;v=(u|0)>0?i:0;t=(t|0)>0?j:0;k=0;u=0;while(1){if((u|0)==4)break;r=u&1;o=u>>1;q=(H(o,n)|0)+r|0;r=(0-r&3)+(H(o,P)|0)|0;l=g+28552+(u<<1)|0;if(!(!T?(b[l>>1]&256)==0:0)){b[l>>1]=x;s=d[150841+(u<<2)>>0]|0;Q=g+28272+s|0;b[Q>>1]=y;b[Q+8>>1]=y;Q=g+28312+s|0;b[Q>>1]=w;b[Q+8>>1]=w;do if((c[C+(o<<2)>>2]&7|0)==0?(c[(c[R>>2]|0)+100>>2]|0)==0:0){l=a[M+q>>0]|0;if(!(l<<24>>24)){L=b[O+(r<<2)>>1]|0;Q=L<<16>>16;if(((L<<16>>16>-1?Q:0-Q|0)|0)>=2){l=j;o=i;break}L=b[O+(r<<2)+2>>1]|0;Q=L<<16>>16;if(((L<<16>>16>-1?Q:0-Q|0)|0)>=2){l=j;o=i;break}}else{if(l<<24>>24>=0){l=j;o=i;break}if(a[p+q>>0]|0){l=j;o=i;break}L=b[m+(r<<2)>>1]|0;Q=L<<16>>16;if(((L<<16>>16>-1?Q:0-Q|0)|0)>=2){l=j;o=i;break}L=b[m+(r<<2)+2>>1]|0;Q=L<<16>>16;if(((L<<16>>16>-1?Q:0-Q|0)|0)>=2){l=j;o=i;break}}l=t;o=v;k=k+1|0}else{l=j;o=i}while(0);Q=g+27952+(s<<2)|0;c[Q>>2]=o;c[Q+4>>2]=o;c[Q+32>>2]=o;c[Q+36>>2]=o;Q=g+28112+(s<<2)|0;c[Q>>2]=l;c[Q+4>>2]=l;c[Q+32>>2]=l;c[Q+36>>2]=l}u=u+1|0}if(k&3|S|0)break;c[h>>2]=c[h>>2]&-41337|264;break}if(k&8|0){l=H(u&255,16843009)|0;c[g+28284>>2]=l;c[g+28292>>2]=l;c[g+28300>>2]=l;c[g+28308>>2]=l;l=c[B+4>>2]|0;h=H(l&255,16843009)|0;c[g+28324>>2]=h;c[g+28332>>2]=h;c[g+28340>>2]=h;c[g+28348>>2]=h;do if((o&7|0)==0?(c[q+100>>2]|0)==0:0){k=a[M>>0]|0;if(!(k<<24>>24)){T=b[O>>1]|0;h=T<<16>>16;if(((T<<16>>16>-1?h:0-h|0)|0)>=2)break;T=b[O+2>>1]|0;h=T<<16>>16;if(((T<<16>>16>-1?h:0-h|0)|0)>=2)break}else{if(k<<24>>24>=0)break;if(a[p>>0]|0)break;T=b[m>>1]|0;h=T<<16>>16;if(((T<<16>>16>-1?h:0-h|0)|0)>=2)break;T=b[m+2>>1]|0;h=T<<16>>16;if(((T<<16>>16>-1?h:0-h|0)|0)>=2)break;if((c[f+25704>>2]|0)>>>0<=33)break}j=(l|0)>0?j:0;i=(u|0)>0?i:0}while(0);c[g+28e3>>2]=i;c[g+28004>>2]=i;c[g+28008>>2]=i;c[g+28012>>2]=i;c[g+28032>>2]=i;c[g+28036>>2]=i;c[g+28040>>2]=i;c[g+28044>>2]=i;c[g+28064>>2]=i;c[g+28068>>2]=i;c[g+28072>>2]=i;c[g+28076>>2]=i;c[g+28096>>2]=i;c[g+28100>>2]=i;c[g+28104>>2]=i;c[g+28108>>2]=i;c[g+28160>>2]=j;c[g+28164>>2]=j;c[g+28168>>2]=j;c[g+28172>>2]=j;c[g+28192>>2]=j;c[g+28196>>2]=j;c[g+28200>>2]=j;c[g+28204>>2]=j;c[g+28224>>2]=j;c[g+28228>>2]=j;c[g+28232>>2]=j;c[g+28236>>2]=j;c[g+28256>>2]=j;c[g+28260>>2]=j;c[g+28264>>2]=j;c[g+28268>>2]=j;break}K=r&65535;L=(u&255)*257&65535;E=c[B+4>>2]|0;J=(E&255)*257&65535;I=(o&7|0)==0;F=(r&8|0)==0;G=P*3|0;D=(u|0)==0;E=(E|0)==0;C=f+25704|0;k=0;f=0;while(1){if((f|0)==4)break;o=f&1;q=f>>1;A=g+28552+(f<<1)|0;if(!(!T?(b[A>>1]&256)==0:0))Q=79;do if((Q|0)==79){Q=0;b[A>>1]=K;B=f<<2;z=d[150841+B>>0]|0;r=g+27952+(z<<2)|0;c[r>>2]=i;s=r+4|0;c[s>>2]=i;t=r+32|0;c[t>>2]=i;u=r+36|0;c[u>>2]=i;v=g+28112+(z<<2)|0;c[v>>2]=j;w=v+4|0;c[w>>2]=j;x=v+32|0;c[x>>2]=j;y=v+36|0;c[y>>2]=j;n=g+28272+z|0;b[n>>1]=L;b[n+8>>1]=L;z=g+28312+z|0;b[z>>1]=J;b[z+8>>1]=J;if(I?(c[(c[R>>2]|0)+100>>2]|0)==0:0){l=a[M+f>>0]|0;n=l<<24>>24==0;if(!n){if(l<<24>>24>=0)break;if(a[p+f>>0]|0)break;if((c[C>>2]|0)>>>0<=33)break}z=n?O:m;if(!F){l=(H(G,q)|0)+(0-o&3)|0;A=b[z+(l<<2)>>1]|0;B=A<<16>>16;if(((A<<16>>16>-1?B:0-B|0)|0)>=2)break;A=b[z+(l<<2)+2>>1]|0;B=A<<16>>16;if(((A<<16>>16>-1?B:0-B|0)|0)>=2)break;if(D){c[r>>2]=0;c[s>>2]=0;c[t>>2]=0;c[u>>2]=0}if(E){c[v>>2]=0;c[w>>2]=0;c[x>>2]=0;c[y>>2]=0}k=k+4|0;break}r=o<<1;q=q<<1;l=0;o=0;while(1){if((o|0)==4)break;n=(H((o>>1)+q|0,P)|0)+(o&1|r)|0;x=b[z+(n<<2)>>1]|0;y=x<<16>>16;if(((x<<16>>16>-1?y:0-y|0)|0)<2?(x=b[z+(n<<2)+2>>1]|0,y=x<<16>>16,((x<<16>>16>-1?y:0-y|0)|0)<2):0){if(D)c[g+27952+(d[150841+(o+B)>>0]<<2)>>2]=0;if(E)c[g+28112+(d[150841+(o+B)>>0]<<2)>>2]=0;l=l+1|0}o=o+1|0}if(!(l&3))b[A>>1]=(e[A>>1]|0)+65480;k=l+k|0}}while(0);f=f+1|0}if(!(k&15|S))c[h>>2]=c[h>>2]&-41337|264}else{M=H(u&255,16843009)|0;c[g+28284>>2]=M;c[g+28292>>2]=M;c[g+28300>>2]=M;c[g+28308>>2]=M;M=H(c[B+4>>2]&255,16843009)|0;c[g+28324>>2]=M;c[g+28332>>2]=M;c[g+28340>>2]=M;c[g+28348>>2]=M;M=g+28e3|0;O=g+28032|0;P=g+28064|0;Q=g+28096|0;R=g+28160|0;S=g+28192|0;T=g+28224|0;g=g+28256|0;c[M>>2]=0;c[M+4>>2]=0;c[M+8>>2]=0;c[M+12>>2]=0;c[O>>2]=0;c[O+4>>2]=0;c[O+8>>2]=0;c[O+12>>2]=0;c[P>>2]=0;c[P+4>>2]=0;c[P+8>>2]=0;c[P+12>>2]=0;c[Q>>2]=0;c[Q+4>>2]=0;c[Q+8>>2]=0;c[Q+12>>2]=0;c[R>>2]=0;c[R+4>>2]=0;c[R+8>>2]=0;c[R+12>>2]=0;c[S>>2]=0;c[S+4>>2]=0;c[S+8>>2]=0;c[S+12>>2]=0;c[T>>2]=0;c[T+4>>2]=0;c[T+8>>2]=0;c[T+12>>2]=0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[h>>2]=c[h>>2]&-41337|264}while(0);$c=U;return}function lk(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0;F=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);C=F;q=c[f+26368>>2]|0;i=c[g+21796>>2]|0;u=g+21792|0;m=c[u>>2]|0;s=c[h>>2]|0;v=s&64;r=g+25336|0;mk(f,r,(s>>>7&1)+m|0);s=g+25372|0;p=c[(c[s>>2]|0)+48>>2]|0;k=c[p+(i<<2)>>2]|0;t=c[h>>2]|0;j=(t&128|0)!=0;do if(!(k&128))if(j){o=c[u>>2]&-2;l=c[f+27016>>2]|0;n=(H(l,o)|0)+(c[g+21788>>2]|0)|0;k=c[p+(n<<2)>>2]|0;c[C>>2]=k;i=c[p+(l+n<<2)>>2]|0;j=C+4|0;c[j>>2]=i;l=l<<2|2;m=q*6|0;if((k^i)&128){k=k&-129;c[C>>2]=k;i=i&-129;c[j>>2]=i}if(k&15|0?!((v|0)!=0|(i&15|0)==0):0){E=m;i=n;m=o;p=20744;j=61712;o=k;break}E=m;i=n;m=o;p=20744;j=61504;o=k}else{l=2;D=12}else{if(j){k=c[g+21852>>2]|0;l=2;m=k+m|0;j=c[f+27016>>2]|0}else{j=(c[u>>2]&-2)+(c[g+21848>>2]|0)|0;l=0;m=j;i=c[g+21788>>2]|0;k=c[f+27016>>2]|0}k=i+(H(j,k)|0)|0;i=k;k=c[p+(k<<2)>>2]|0;D=12}while(0);do if((D|0)==12){c[C+4>>2]=k;c[C>>2]=k;j=(v|0)!=0;if(j|(k&15|0)==0){if(!j?(n=k&48,n|0):0){E=q;p=20744;j=n|61696;o=k;break}E=q;p=(c[(c[f+28216>>2]|0)+72>>2]|0)==0?20800:20744;j=61504;o=k}else{E=q;p=20744;j=20744;o=k}}while(0);c[h>>2]=t|j;mk(f,r,m);n=c[s>>2]|0;k=c[(c[f+26360>>2]|0)+(i<<2)>>2]|0;j=(c[n+36>>2]|0)+(k<<2)|0;k=(c[n+40>>2]|0)+(k<<2)|0;m=i<<2;i=(c[n+68>>2]|0)+m|0;m=(c[n+72>>2]|0)+m|0;if(!l){z=(c[u>>2]&1|0)==0;A=E<<1;B=z?j:j+(A<<2)|0;A=z?k:k+(A<<2)|0;y=z?i:i+2|0;m=z?m:m+2|0}else{B=j;A=k;y=i}k=c[h>>2]|0;if((c[f+26376>>2]|0)==0|(k&128|0)==0){z=g+21868|0;j=g+22252|0;w=g+22444|0}else{w=c[u>>2]&1;z=g+21996+(w<<7)|0;j=g+22636+(w*384|0)|0;w=g+22636+(w*384|0)+192|0}x=o>>3&c[n+632>>2]<<4;i=k&128;a:do if((i|0)==(o&128|0)){if(k&8|0){c[g+28324>>2]=0;c[g+28332>>2]=0;c[g+28340>>2]=0;c[g+28348>>2]=0;if(!(o&7)){i=a[y>>0]|0;k=i<<24>>24>-1;if(!k){j=w;i=a[m>>0]|0}E=c[j+(x+(i<<24>>24)<<2)>>2]|0;C=c[z+(E<<2)>>2]|0;D=k?B:A;i=b[D>>1]|0;j=(H(C,i)|0)+128>>8;D=b[D+2>>1]|0;k=(H(C,D)|0)+128>>8;i=k-D<<16|j-i&65535;j=k<<16|j&65535;k=H(E,16843009)|0}else{i=0;j=0;k=0}c[g+28284>>2]=k;c[g+28292>>2]=k;c[g+28300>>2]=k;c[g+28308>>2]=k;c[g+28e3>>2]=j;c[g+28004>>2]=j;c[g+28008>>2]=j;c[g+28012>>2]=j;c[g+28032>>2]=j;c[g+28036>>2]=j;c[g+28040>>2]=j;c[g+28044>>2]=j;c[g+28064>>2]=j;c[g+28068>>2]=j;c[g+28072>>2]=j;c[g+28076>>2]=j;c[g+28096>>2]=j;c[g+28100>>2]=j;c[g+28104>>2]=j;c[g+28108>>2]=j;c[g+28160>>2]=i;c[g+28164>>2]=i;c[g+28168>>2]=i;c[g+28172>>2]=i;c[g+28192>>2]=i;c[g+28196>>2]=i;c[g+28200>>2]=i;c[g+28204>>2]=i;c[g+28224>>2]=i;c[g+28228>>2]=i;c[g+28232>>2]=i;c[g+28236>>2]=i;c[g+28256>>2]=i;c[g+28260>>2]=i;c[g+28264>>2]=i;c[g+28268>>2]=i;break}u=(v|0)==0;v=p&65535;h=(p&8|0)==0;f=E*3|0;t=(o&7|0)==0;s=0;while(1){if((s|0)==4)break a;o=s&1;p=s>>1;i=g+28552+(s<<1)|0;if(!(!u?!(b[i>>1]&256):0))D=43;b:do if((D|0)==43){D=0;b[i>>1]=v;r=s<<2;l=d[150841+r>>0]|0;C=g+28312+l|0;b[C>>1]=0;b[C+8>>1]=0;if(!t){C=g+28272+l|0;b[C>>1]=0;b[C+8>>1]=0;C=g+27952+(l<<2)|0;c[C>>2]=0;c[C+4>>2]=0;c[C+32>>2]=0;c[C+36>>2]=0;C=g+28112+(l<<2)|0;c[C>>2]=0;c[C+4>>2]=0;c[C+32>>2]=0;c[C+36>>2]=0;break}i=a[y+s>>0]|0;if(i<<24>>24>-1){q=B;k=j}else{q=A;i=a[m+s>>0]|0;k=w}k=c[k+(x+(i<<24>>24)<<2)>>2]|0;n=c[z+(k<<2)>>2]|0;C=g+28272+l|0;k=k*257&65535;b[C>>1]=k;b[C+8>>1]=k;if(!h){o=(H(f,p)|0)+(0-o&3)|0;r=b[q+(o<<2)>>1]|0;p=(H(n,r<<16>>16)|0)+128>>8;q=b[q+(o<<2)+2>>1]|0;o=(H(n,q<<16>>16)|0)+128>>8;C=g+27952+(l<<2)|0;n=o<<16|p&65535;c[C>>2]=n;c[C+4>>2]=n;c[C+32>>2]=n;c[C+36>>2]=n;C=g+28112+(l<<2)|0;r=o-(q&65535)<<16|p-(r&65535)&65535;c[C>>2]=r;c[C+4>>2]=r;c[C+32>>2]=r;c[C+36>>2]=r;break}l=o<<1;k=p<<1;i=0;while(1){if((i|0)==4)break b;G=(H((i>>1)+k|0,E)|0)+(i&1|l)|0;p=q+(G<<2)|0;C=d[150841+(i+r)>>0]|0;o=((H(n,b[p>>1]|0)|0)+128|0)>>>8;b[g+27952+(C<<2)>>1]=o;G=q+(G<<2)+2|0;I=((H(n,b[G>>1]|0)|0)+128|0)>>>8;b[g+27952+(C<<2)+2>>1]=I;c[g+28112+(C<<2)>>2]=I-(e[G>>1]|0)<<16|o-(e[p>>1]|0)&65535;i=i+1|0}}while(0);s=s+1|0}}else{h=i>>>6^2;t=(v|0)==0;s=p&65535;r=0;while(1){if((r|0)==4)break a;o=r&1;p=r>>1;i=g+28552+(r<<1)|0;if(!(!t?!(b[i>>1]&256):0)){b[i>>1]=s;q=d[150841+(r<<2)>>0]|0;I=g+28312+q|0;b[I>>1]=0;b[I+8>>1]=0;if(!(c[C+(p<<2)>>2]&7)){k=(H(p,l)|0)+o|0;i=a[y+k>>0]|0;if(i<<24>>24>-1){n=B;k=j}else{n=A;i=a[m+k>>0]|0;k=w}i=c[k+(x+(i<<24>>24)<<2)>>2]|0;I=c[z+(i<<2)>>2]|0;G=g+28272+q|0;i=i*257&65535;b[G>>1]=i;b[G+8>>1]=i;G=(0-o&3)+(H(p,E)|0)|0;i=(b[n+(G<<2)+2>>1]<>1]|0;D=(H(I,G<<16>>16)|0)+128>>8;I=(H(i,I)|0)+128>>8;v=g+27952+(q<<2)|0;u=I<<16|D&65535;c[v>>2]=u;c[v+4>>2]=u;c[v+32>>2]=u;c[v+36>>2]=u;i=D-(G&65535)&65535|I-i<<16}else{i=g+28272+q|0;b[i>>1]=0;b[i+8>>1]=0;i=g+27952+(q<<2)|0;c[i>>2]=0;c[i+4>>2]=0;c[i+32>>2]=0;c[i+36>>2]=0;i=0}I=g+28112+(q<<2)|0;c[I>>2]=i;c[I+4>>2]=i;c[I+32>>2]=i;c[I+36>>2]=i}r=r+1|0}}while(0);$c=F;return}function mk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=c[b+36>>2]|0;f=c[e+636>>2]|0;if(c[(c[a+4>>2]|0)+696>>2]&1|0){a=c[a+27008>>2]<<4>>f;d=d<<4>>f;oi(e+4|0,(d|0)<(a|0)?d:a+-1|0,(f|0?(c[b+24>>2]|0)!=1:0)&1)}return}function nk(a,b,c){a=a|0;b=b|0;c=c|0;if((a|0)>(b|0))return ((c|0)>(b|0)?((c|0)>(a|0)?a:c):b)|0;else return ((b|0)>(c|0)?((c|0)>(a|0)?c:a):b)|0;return 0}function ok(a){a=a|0;return c[a+8>>2]|0}function pk(a){a=a|0;var b=0,d=0;b=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);d=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[d+16>>2]=c[a+16>>2];a=qk(d,32)|0;$c=b;return a|0}function qk(a,b){a=a|0;b=b|0;var c=0;do if(b)if((b|0)<26){a=_j(a,b)|0;break}else{b=b+-16|0;c=(_j(a,16)|0)<=(ad|0))N(32);h=l;i=c[a+4>>2]|0;j=c[a+24316>>2]|0;b=d[(Hg(c[i+112>>2]|0)|0)+6>>0]|0;g=c[a+26380>>2]|0;n=(g|0)!=3;p=n&1;o=f<>2]|0)-f|0;e=(o|0)>(e|0)?e:o;if(!((n?(c[a+26384>>2]|0)!=0:0)?!(c[i+240>>2]&2|0):0))k=4;if((k|0)==4?(m=c[i+116>>2]|0,m|0):0){c[h>>2]=H(c[j+32>>2]|0,f)|0;b=H(c[j+36>>2]|0,f>>b)|0;c[h+8>>2]=b;c[h+4>>2]=b;b=3;while(1){if((b|0)==8)break;c[h+(b<<2)>>2]=0;b=b+1|0}sd[m&63](i,j,h,f,g,e)}$c=l;return}function sk(a){a=a|0;var b=0,d=0,e=0;d=a+4|0;e=c[d>>2]|0;b=(e+-256|0)>>>31;c[d>>2]=e<>2]<>2]=b;if(!(b&65535))tk(a);return}function tk(a){a=a|0;var b=0,e=0;b=a+16|0;e=c[b>>2]|0;c[a>>2]=(c[a>>2]|0)+-65535+((d[e+1>>0]|0)<<1|(d[e>>0]|0)<<9);if(e>>>0<(c[a+20>>2]|0)>>>0)c[b>>2]=e+2;return} +function GU(e,h,i){e=e|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0.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,O=0,P=0,Q=0,R=0;R=$c;$c=$c+288|0;if(($c|0)>=(ad|0))N(288);J=R+264|0;K=R;L=R+260|0;O=R+272|0;if((c[e+76>>2]|0)>-1)Q=AT(e)|0;else Q=0;j=a[h>>0]|0;a:do if(j<<24>>24){B=e+4|0;C=e+104|0;D=e+120|0;E=e+8|0;F=K+10|0;G=K+33|0;H=K+46|0;I=K+94|0;A=J+4|0;m=h;h=0;k=0;l=j;j=0;u=0;v=0;b:while(1){c:do if(!(cT(l&255)|0)){n=(a[m>>0]|0)==37;d:do if(n){l=m+1|0;o=a[l>>0]|0;e:do switch(o<<24>>24){case 37:break d;case 42:{z=0;l=m+2|0;break}default:{if(tT(o&255)|0?(a[m+2>>0]|0)==36:0){z=HU(i,(d[l>>0]|0)+-48|0)|0;l=m+3|0;break e}y=(c[i>>2]|0)+(4-1)&~(4-1);z=c[y>>2]|0;c[i>>2]=y+4}}while(0);if(!(tT(d[l>>0]|0)|0)){r=0;o=l}else{m=0;do{m=(m*10|0)+-48+(d[l>>0]|0)|0;l=l+1|0}while((tT(d[l>>0]|0)|0)!=0);r=m;o=l}n=a[o>>0]|0;q=o+1|0;if(n<<24>>24==109){l=(z|0)!=0&1;k=0;m=q;o=o+2|0;n=a[q>>0]|0;j=0}else{l=0;m=o;o=q}switch(n<<24>>24){case 104:{y=(a[o>>0]|0)==104;n=y?-2:-1;m=y?m+2|0:o;break}case 108:{y=(a[o>>0]|0)==108;n=y?3:1;m=y?m+2|0:o;break}case 106:{n=3;m=o;break}case 116:case 122:{n=1;m=o;break}case 76:{n=2;m=o;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{n=0;break}default:{P=143;break b}}s=d[m>>0]|0;t=(s&47|0)==3;s=t?s|32:s;t=t?1:n;q=s&255;switch(q<<24>>24){case 99:{y=(r|0)>1?r:1;break}case 91:{y=r;break}case 110:{IU(z,t,u,v);n=u;o=v;break c}default:{$S(e,0,0);do{n=c[B>>2]|0;if(n>>>0<(c[C>>2]|0)>>>0){c[B>>2]=n+1;n=d[n>>0]|0}else n=bT(e)|0}while((cT(n)|0)!=0);if(!(c[C>>2]|0))n=c[B>>2]|0;else{n=(c[B>>2]|0)+-1|0;c[B>>2]=n}x=D;y=n-(c[E>>2]|0)|0;u=JW(c[x>>2]|0,c[x+4>>2]|0,u|0,v|0)|0;u=JW(u|0,M()|0,y|0,((y|0)<0)<<31>>31|0)|0;y=r;v=M()|0}}x=((y|0)<0)<<31>>31;$S(e,y,x);o=c[B>>2]|0;n=c[C>>2]|0;if(o>>>0>>0)c[B>>2]=o+1;else{if((bT(e)|0)<0){P=143;break b}n=c[C>>2]|0}if(n|0)c[B>>2]=(c[B>>2]|0)+-1;f:do switch(q<<24>>24){case 91:case 99:case 115:{w=(s|0)==99;g:do if((s|16|0)==115){_W(K|0,-1,257)|0;a[K>>0]=0;if((s|0)==115){a[G>>0]=0;b[F>>1]=0;b[F+2>>1]=0;a[F+4>>0]=0}}else{s=m+1|0;r=(a[s>>0]|0)==94;n=r&1;m=r?m+2|0:s;_W(K|0,n|0,257)|0;a[K>>0]=0;switch(a[m>>0]|0){case 45:{q=(n^1)&255;a[H>>0]=q;m=m+1|0;break}case 93:{q=(n^1)&255;a[I>>0]=q;m=m+1|0;break}default:q=(n^1)&255}while(1){n=a[m>>0]|0;h:do switch(n<<24>>24){case 0:{P=143;break b}case 93:break g;case 45:{o=m+1|0;n=a[o>>0]|0;switch(n<<24>>24){case 93:case 0:{n=45;break h}default:{}}m=a[m+-1>>0]|0;if((m&255)<(n&255)){m=m&255;do{m=m+1|0;a[K+m>>0]=q;n=a[o>>0]|0}while(m>>>0<(n&255)>>>0);m=o}else m=o;break}default:{}}while(0);a[K+((n&255)+1)>>0]=q;m=m+1|0}}while(0);n=w?y+1|0:31;s=(t|0)==1;t=(l|0)!=0;i:do if(s){if(t){j=XU(n<<2)|0;if(!j){k=0;j=0;P=143;break b}}else j=z;c[J>>2]=0;c[A>>2]=0;k=0;j:while(1){q=(j|0)==0;do{k:while(1){o=c[B>>2]|0;if(o>>>0<(c[C>>2]|0)>>>0){c[B>>2]=o+1;o=d[o>>0]|0}else o=bT(e)|0;if(!(a[K+(o+1)>>0]|0))break j;a[O>>0]=o;switch(lU(L,O,1,J)|0){case -1:{k=0;P=143;break b}case -2:break;default:break k}}if(!q){c[j+(k<<2)>>2]=c[L>>2];k=k+1|0}}while(!(t&(k|0)==(n|0)));n=n<<1|1;o=_U(j,n<<2)|0;if(!o){k=0;P=143;break b}else j=o}if(!(JU(J)|0)){k=0;P=143;break b}else{q=k;k=0;r=j}}else{if(t){k=XU(n)|0;if(!k){k=0;j=0;P=143;break b}j=0;while(1){q=j;do{j=c[B>>2]|0;if(j>>>0<(c[C>>2]|0)>>>0){c[B>>2]=j+1;j=d[j>>0]|0}else j=bT(e)|0;if(!(a[K+(j+1)>>0]|0)){r=0;j=0;break i}r=q;q=q+1|0;a[k+r>>0]=j}while((q|0)!=(n|0));n=n<<1|1;o=_U(k,n)|0;if(!o){j=0;P=143;break b}else{j=q;k=o}}}if(!z)while(1){j=c[B>>2]|0;if(j>>>0<(c[C>>2]|0)>>>0){c[B>>2]=j+1;j=d[j>>0]|0}else j=bT(e)|0;if(!(a[K+(j+1)>>0]|0)){q=0;k=0;r=0;j=0;break i}}k=0;while(1){j=c[B>>2]|0;if(j>>>0<(c[C>>2]|0)>>>0){c[B>>2]=j+1;j=d[j>>0]|0}else j=bT(e)|0;if(!(a[K+(j+1)>>0]|0)){q=k;k=z;r=0;j=0;break i}a[z+k>>0]=j;k=k+1|0}}while(0);if(!(c[C>>2]|0))n=c[B>>2]|0;else{n=(c[B>>2]|0)+-1|0;c[B>>2]=n}o=D;n=n-(c[E>>2]|0)|0;n=JW(c[o>>2]|0,c[o+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;o=M()|0;if((n|0)==0&(o|0)==0)break b;if(!((n|0)==(y|0)&(o|0)==(x|0)|w^1))break b;do if(t)if(s){c[z>>2]=r;break}else{c[z>>2]=k;break}while(0);if(!w){if(r|0)c[r+(q<<2)>>2]=0;if(!k){k=0;break f}a[k+q>>0]=0}break}case 120:case 88:case 112:{n=16;P=131;break}case 111:{n=8;P=131;break}case 117:case 100:{n=10;P=131;break}case 105:{n=0;P=131;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{p=+WT(e,t,0);y=D;w=c[y>>2]|0;y=c[y+4>>2]|0;x=(c[B>>2]|0)-(c[E>>2]|0)|0;x=KW(0,0,x|0,((x|0)<0)<<31>>31|0)|0;if((w|0)==(x|0)&(y|0)==(M()|0))break b;if(z)switch(t|0){case 0:{f[z>>2]=p;break f}case 1:{g[z>>3]=p;break f}case 2:{g[z>>3]=p;break f}default:break f}break}default:{}}while(0);do if((P|0)==131){P=0;n=aT(e,n,0,-1,-1)|0;o=M()|0;y=D;w=c[y>>2]|0;y=c[y+4>>2]|0;x=(c[B>>2]|0)-(c[E>>2]|0)|0;x=KW(0,0,x|0,((x|0)<0)<<31>>31|0)|0;if((w|0)==(x|0)&(y|0)==(M()|0))break b;if((z|0)!=0&(s|0)==112){c[z>>2]=n;break}else{IU(z,t,n,o);break}}while(0);o=D;n=(c[B>>2]|0)-(c[E>>2]|0)|0;o=JW(c[o>>2]|0,c[o+4>>2]|0,u|0,v|0)|0;n=JW(o|0,M()|0,n|0,((n|0)<0)<<31>>31|0)|0;h=h+((z|0)!=0&1)|0;o=M()|0;break c}while(0);m=m+(n&1)|0;$S(e,0,0);l=c[B>>2]|0;if(l>>>0<(c[C>>2]|0)>>>0){c[B>>2]=l+1;l=d[l>>0]|0}else l=bT(e)|0;if((l|0)!=(d[m>>0]|0)){P=23;break b}n=JW(u|0,v|0,1,0)|0;o=M()|0}else{while(1){l=m+1|0;if(!(cT(d[l>>0]|0)|0))break;else m=l}$S(e,0,0);do{l=c[B>>2]|0;if(l>>>0<(c[C>>2]|0)>>>0){c[B>>2]=l+1;l=d[l>>0]|0}else l=bT(e)|0}while((cT(l)|0)!=0);if(!(c[C>>2]|0))l=c[B>>2]|0;else{l=(c[B>>2]|0)+-1|0;c[B>>2]=l}o=D;n=l-(c[E>>2]|0)|0;o=JW(c[o>>2]|0,c[o+4>>2]|0,u|0,v|0)|0;n=JW(o|0,M()|0,n|0,((n|0)<0)<<31>>31|0)|0;o=M()|0}while(0);m=m+1|0;l=a[m>>0]|0;if(!(l<<24>>24))break a;else{u=n;v=o}}if((P|0)==23){if(c[C>>2]|0)c[B>>2]=(c[B>>2]|0)+-1;if((h|0)!=0|(l|0)>-1)break;else{l=0;h=k;P=144}}else if((P|0)==143)if(!h){h=k;P=144}if((P|0)==144){k=h;h=-1}if(l){YU(k);YU(j)}}else h=0;while(0);if(Q|0)BT(e);$c=R;return h|0}function HU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);d=e;c[d>>2]=c[a>>2];while(1){f=(c[d>>2]|0)+(4-1)&~(4-1);a=c[f>>2]|0;c[d>>2]=f+4;if(b>>>0>1)b=b+-1|0;else break}$c=e;return a|0}function IU(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;a:do if(d|0)switch(e|0){case -2:{a[d>>0]=f;break a}case -1:{b[d>>1]=f;break a}case 0:{c[d>>2]=f;break a}case 1:{c[d>>2]=f;break a}case 3:{e=d;c[e>>2]=f;c[e+4>>2]=g;break a}default:break a}while(0);return}function JU(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0&1;return a|0}function KU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=IT(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0>>0?f:d;YW(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function LU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=e;c[f>>2]=d;d=vT(a,b,f)|0;$c=e;return d|0}function MU(b,c){b=b|0;c=c|0;var d=0;d=a[c>>0]|0;do if(d<<24>>24){b=fU(b,d<<24>>24)|0;if(b){if(a[c+1>>0]|0)if(a[b+1>>0]|0){if(!(a[c+2>>0]|0)){b=NU(b,c)|0;break}if(a[b+2>>0]|0){if(!(a[c+3>>0]|0)){b=OU(b,c)|0;break}if(a[b+3>>0]|0)if(!(a[c+4>>0]|0)){b=PU(b,c)|0;break}else{b=QU(b,c)|0;break}else b=0}else b=0}else b=0}else b=0}while(0);return b|0}function NU(b,c){b=b|0;c=c|0;var e=0,f=0;f=(d[c>>0]|0)<<8|(d[c+1>>0]|0);c=b+1|0;e=a[c>>0]|0;a:do if(!(e<<24>>24))c=0;else{e=(d[b>>0]|0)<<8|e&255;while(1){b=e&65535;if((b|0)==(f|0))break;c=c+1|0;e=a[c>>0]|0;if(!(e<<24>>24)){c=0;break a}else e=b<<8|e&255}c=c+-1|0}while(0);return c|0}function OU(b,c){b=b|0;c=c|0;var e=0,f=0;f=(d[c+1>>0]|0)<<16|(d[c>>0]|0)<<24|(d[c+2>>0]|0)<<8;e=b+2|0;c=a[e>>0]|0;b=(d[b+1>>0]|0)<<16|(d[b>>0]|0)<<24|(c&255)<<8;c=c<<24>>24==0;if(!((b|0)==(f|0)|c))do{e=e+1|0;c=a[e>>0]|0;b=(b|c&255)<<8;c=c<<24>>24==0}while(!((b|0)==(f|0)|c));return (c?0:e+-2|0)|0}function PU(b,c){b=b|0;c=c|0;var e=0,f=0;f=(d[c+1>>0]|0)<<16|(d[c>>0]|0)<<24|(d[c+2>>0]|0)<<8|(d[c+3>>0]|0);e=b+3|0;c=a[e>>0]|0;b=(d[b+1>>0]|0)<<16|(d[b>>0]|0)<<24|(d[b+2>>0]|0)<<8|c&255;c=c<<24>>24==0;if(!((b|0)==(f|0)|c))do{e=e+1|0;c=a[e>>0]|0;b=b<<8|c&255;c=c<<24>>24==0}while(!((b|0)==(f|0)|c));return (c?0:e+-3|0)|0}function QU(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=$c;$c=$c+1056|0;if(($c|0)>=(ad|0))N(1056);u=w+1024|0;v=w;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;c[u+24>>2]=0;c[u+28>>2]=0;f=a[e>>0]|0;a:do if(f<<24>>24){p=0;do{if(!(a[b+p>>0]|0)){f=0;break a}t=f&255;s=u+(t>>>5<<2)|0;c[s>>2]=c[s>>2]|1<<(t&31);p=p+1|0;c[v+(t<<2)>>2]=p;f=a[e+p>>0]|0}while(f<<24>>24!=0);m=p>>>0>1;if(m){k=1;j=1;l=0;i=-1;n=1;while(1){f=a[e+(j+i)>>0]|0;g=a[e+n>>0]|0;do if(f<<24>>24==g<<24>>24)if((j|0)==(k|0)){h=k;f=1;g=k+l|0;break}else{h=k;f=j+1|0;g=l;break}else if((f&255)>(g&255)){h=n-i|0;f=1;g=n;break}else{h=1;f=1;g=l+1|0;i=l;break}while(0);n=f+g|0;if(n>>>0>=p>>>0)break;else{k=h;j=f;l=g}}if(m){m=1;l=1;n=0;g=-1;o=1;while(1){f=a[e+(l+g)>>0]|0;j=a[e+o>>0]|0;do if(f<<24>>24==j<<24>>24)if((l|0)==(m|0)){f=m;j=1;k=m+n|0;break}else{f=m;j=l+1|0;k=n;break}else if((f&255)<(j&255)){f=o-g|0;j=1;k=o;break}else{f=1;j=1;k=n+1|0;g=n;break}while(0);o=j+k|0;if(o>>>0>=p>>>0){t=p;j=25;break}else{m=f;l=j;n=k}}}else{t=p;f=1;g=-1;j=25}}else{h=1;i=-1;t=p;f=1;g=-1;j=25}}else{h=1;i=-1;t=0;f=1;g=-1;j=25}while(0);b:do if((j|0)==25){r=(g+1|0)>>>0>(i+1|0)>>>0;f=r?f:h;r=r?g:i;s=r+1|0;if(!(rT(e,e+f|0,s)|0)){m=t-f|0;q=m;l=f}else{m=t-r+-1|0;m=(r>>>0>m>>>0?r:m)+1|0;q=0;l=m;m=t-m|0}n=t|63;o=t+-1|0;p=(q|0)!=0;f=b;k=0;g=b;while(1){h=f;do if((g-h|0)>>>0>>0){i=IT(g,0,n)|0;if(i)if((i-h|0)>>>0>>0){f=0;break b}else break;else{i=g+n|0;break}}else i=g;while(0);g=d[f+o>>0]|0;c:do if(!(1<<(g&31)&c[u+(g>>>5<<2)>>2])){h=0;g=t}else{g=t-(c[v+(g<<2)>>2]|0)|0;if(g|0){h=0;g=p&(k|0)!=0&g>>>0>>0?m:g;break}j=s>>>0>k>>>0;g=j?s:k;h=a[e+g>>0]|0;d:do if(h<<24>>24){while(1){if(h<<24>>24!=(a[f+g>>0]|0))break;g=g+1|0;h=a[e+g>>0]|0;if(!(h<<24>>24))break d}h=0;g=g-r|0;break c}while(0);if(!j)break b;g=s;while(1){g=g+-1|0;if((a[e+g>>0]|0)!=(a[f+g>>0]|0)){h=q;g=l;break c}if(g>>>0<=k>>>0)break b}}while(0);f=f+g|0;k=h;g=i}}while(0);$c=w;return f|0}function RU(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);f=g;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;e=a[d>>0]|0;do if(!(e<<24>>24))d=0;else{if(!(a[d+1>>0]|0)){d=b;while(1)if((a[d>>0]|0)==e<<24>>24)d=d+1|0;else break;d=d-b|0;break}do{i=e&255;h=f+(i>>>5<<2)|0;c[h>>2]=c[h>>2]|1<<(i&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);e=a[b>>0]|0;a:do if(!(e<<24>>24))d=b;else{d=b;do{i=e&255;if(!(c[f+(i>>>5<<2)>>2]&1<<(i&31)))break a;d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0)}while(0);d=d-b|0}while(0);$c=g;return d|0}function SU(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((c[d+76>>2]|0)>=0?(AT(d)|0)!=0:0){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(i=d+20|0,j=c[i>>2]|0,j>>>0<(c[d+16>>2]|0)>>>0):0){c[i>>2]=j+1;a[j>>0]=f}else e=xU(d,b)|0;BT(d)}else k=3;do if((k|0)==3){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(g=d+20|0,h=c[g>>2]|0,h>>>0<(c[d+16>>2]|0)>>>0):0){c[g>>2]=h+1;a[h>>0]=f;break}e=xU(d,b)|0}while(0);return e|0}function TU(a,b){a=a|0;b=b|0;return +(+UU(a,b,1))}function UU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0,h=0,i=0;g=$c;$c=$c+144|0;if(($c|0)>=(ad|0))N(144);e=g;_W(e|0,0,144)|0;i=e+4|0;c[i>>2]=a;h=e+8|0;c[h>>2]=-1;c[e+44>>2]=a;c[e+76>>2]=-1;$S(e,0,0);f=+WT(e,d,1);e=e+120|0;d=(c[i>>2]|0)-(c[h>>2]|0)|0;d=JW(c[e>>2]|0,c[e+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;e=M()|0;if(b|0)c[b>>2]=(d|0)==0&(e|0)==0?a:a+d|0;$c=g;return +f}function VU(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;a:do if(!c)b=0;else{h=b;while(1){g=c>>>1;b=h+(H(g,d)|0)|0;f=hd[e&15](a,b)|0;if(!f)break a;if((c|0)==1){b=0;break a}f=(f|0)<0;c=f?g:c-g|0;if(!c){b=0;break}else h=f?h:b}}while(0);return b|0}function WU(a){a=a|0;var b=0,d=0;b=$c;$c=$c+32|0;if(($c|0)>=(ad|0))N(32);d=b;c[d>>2]=a;c[d+4>>2]=21523;c[d+8>>2]=b+16;a=(WS(Ka(54,d|0)|0)|0)==0&1;$c=b;return a|0}function XU(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);n=w;do if(a>>>0<245){k=a>>>0<11?16:a+11&-8;a=k>>>3;m=c[46334]|0;d=m>>>a;if(d&3|0){b=(d&1^1)+a|0;a=185376+(b<<1<<2)|0;d=a+8|0;e=c[d>>2]|0;f=e+8|0;g=c[f>>2]|0;if((g|0)==(a|0))c[46334]=m&~(1<>2]=a;c[d>>2]=g}v=b<<3;c[e+4>>2]=v|3;v=e+v+4|0;c[v>>2]=c[v>>2]|1;v=f;$c=w;return v|0}l=c[46336]|0;if(k>>>0>l>>>0){if(d|0){b=2<>>12&16;b=b>>>i;d=b>>>5&8;b=b>>>d;g=b>>>2&4;b=b>>>g;a=b>>>1&2;b=b>>>a;e=b>>>1&1;e=(d|i|g|a|e)+(b>>>e)|0;b=185376+(e<<1<<2)|0;a=b+8|0;g=c[a>>2]|0;i=g+8|0;d=c[i>>2]|0;if((d|0)==(b|0)){a=m&~(1<>2]=b;c[a>>2]=d;a=m}v=e<<3;h=v-k|0;c[g+4>>2]=k|3;f=g+k|0;c[f+4>>2]=h|1;c[g+v>>2]=h;if(l|0){e=c[46339]|0;b=l>>>3;d=185376+(b<<1<<2)|0;b=1<>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[46336]=h;c[46339]=f;v=i;$c=w;return v|0}g=c[46335]|0;if(g){d=(g&0-g)+-1|0;f=d>>>12&16;d=d>>>f;e=d>>>5&8;d=d>>>e;h=d>>>2&4;d=d>>>h;i=d>>>1&2;d=d>>>i;j=d>>>1&1;j=c[185640+((e|f|h|i|j)+(d>>>j)<<2)>>2]|0;d=j;i=j;j=(c[j+4>>2]&-8)-k|0;while(1){a=c[d+16>>2]|0;if(!a){a=c[d+20>>2]|0;if(!a)break}h=(c[a+4>>2]&-8)-k|0;f=h>>>0>>0;d=a;i=f?a:i;j=f?h:j}h=i+k|0;if(h>>>0>i>>>0){f=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){d=0;break}}while(1){e=b+20|0;d=c[e>>2]|0;if(!d){e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}else{b=d;a=e}}c[a>>2]=0;d=b}else{d=c[i+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);do if(f|0){b=c[i+28>>2]|0;a=185640+(b<<2)|0;if((i|0)==(c[a>>2]|0)){c[a>>2]=d;if(!d){c[46335]=g&~(1<>2]|0)==(i|0)?v:f+20|0)>>2]=d;if(!d)break}c[d+24>>2]=f;b=c[i+16>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}b=c[i+20>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}while(0);if(j>>>0<16){v=j+k|0;c[i+4>>2]=v|3;v=i+v+4|0;c[v>>2]=c[v>>2]|1}else{c[i+4>>2]=k|3;c[h+4>>2]=j|1;c[h+j>>2]=j;if(l|0){e=c[46339]|0;b=l>>>3;d=185376+(b<<1<<2)|0;b=1<>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[46336]=j;c[46339]=h}v=i+8|0;$c=w;return v|0}else m=k}else m=k}else m=k}else if(a>>>0<=4294967231){a=a+11|0;k=a&-8;e=c[46335]|0;if(e){f=0-k|0;a=a>>>8;if(a)if(k>>>0>16777215)j=31;else{m=(a+1048320|0)>>>16&8;q=a<>>16&4;q=q<>>16&2;j=14-(i|m|j)+(q<>>15)|0;j=k>>>(j+7|0)&1|j<<1}else j=0;d=c[185640+(j<<2)>>2]|0;a:do if(!d){d=0;a=0;q=61}else{a=0;i=k<<((j|0)==31?0:25-(j>>>1)|0);g=0;while(1){h=(c[d+4>>2]&-8)-k|0;if(h>>>0>>0)if(!h){a=d;f=0;q=65;break a}else{a=d;f=h}q=c[d+20>>2]|0;d=c[d+16+(i>>>31<<2)>>2]|0;g=(q|0)==0|(q|0)==(d|0)?g:q;if(!d){d=g;q=61;break}else i=i<<1}}while(0);if((q|0)==61){if((d|0)==0&(a|0)==0){a=2<>>12&16;m=m>>>h;g=m>>>5&8;m=m>>>g;i=m>>>2&4;m=m>>>i;j=m>>>1&2;m=m>>>j;d=m>>>1&1;a=0;d=c[185640+((g|h|i|j|d)+(m>>>d)<<2)>>2]|0}if(!d){i=a;h=f}else q=65}if((q|0)==65){g=d;while(1){m=(c[g+4>>2]&-8)-k|0;d=m>>>0>>0;f=d?m:f;a=d?g:a;d=c[g+16>>2]|0;if(!d)d=c[g+20>>2]|0;if(!d){i=a;h=f;break}else g=d}}if(((i|0)!=0?h>>>0<((c[46336]|0)-k|0)>>>0:0)?(l=i+k|0,l>>>0>i>>>0):0){g=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){b=0;break}}while(1){f=b+20|0;d=c[f>>2]|0;if(!d){f=b+16|0;d=c[f>>2]|0;if(!d)break;else{b=d;a=f}}else{b=d;a=f}}c[a>>2]=0}else{v=c[i+8>>2]|0;c[v+12>>2]=b;c[b+8>>2]=v}while(0);do if(g){a=c[i+28>>2]|0;d=185640+(a<<2)|0;if((i|0)==(c[d>>2]|0)){c[d>>2]=b;if(!b){e=e&~(1<>2]|0)==(i|0)?v:g+20|0)>>2]=b;if(!b)break}c[b+24>>2]=g;a=c[i+16>>2]|0;if(a|0){c[b+16>>2]=a;c[a+24>>2]=b}a=c[i+20>>2]|0;if(a){c[b+20>>2]=a;c[a+24>>2]=b}}while(0);b:do if(h>>>0<16){v=h+k|0;c[i+4>>2]=v|3;v=i+v+4|0;c[v>>2]=c[v>>2]|1}else{c[i+4>>2]=k|3;c[l+4>>2]=h|1;c[l+h>>2]=h;b=h>>>3;if(h>>>0<256){d=185376+(b<<1<<2)|0;a=c[46334]|0;b=1<>2]|0}c[a>>2]=l;c[b+12>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;break}b=h>>>8;if(b)if(h>>>0>16777215)d=31;else{u=(b+1048320|0)>>>16&8;v=b<>>16&4;v=v<>>16&2;d=14-(t|u|d)+(v<>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;b=185640+(d<<2)|0;c[l+28>>2]=d;a=l+16|0;c[a+4>>2]=0;c[a>>2]=0;a=1<>2]=l;c[l+24>>2]=b;c[l+12>>2]=l;c[l+8>>2]=l;break}b=c[b>>2]|0;c:do if((c[b+4>>2]&-8|0)!=(h|0)){e=h<<((d|0)==31?0:25-(d>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(h|0)){b=a;break c}else{e=e<<1;b=a}}c[d>>2]=l;c[l+24>>2]=b;c[l+12>>2]=l;c[l+8>>2]=l;break b}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=l;c[u>>2]=l;c[l+8>>2]=v;c[l+12>>2]=b;c[l+24>>2]=0}while(0);v=i+8|0;$c=w;return v|0}else m=k}else m=k}else m=-1;while(0);d=c[46336]|0;if(d>>>0>=m>>>0){b=d-m|0;a=c[46339]|0;if(b>>>0>15){v=a+m|0;c[46339]=v;c[46336]=b;c[v+4>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=m|3}else{c[46336]=0;c[46339]=0;c[a+4>>2]=d|3;v=a+d+4|0;c[v>>2]=c[v>>2]|1}v=a+8|0;$c=w;return v|0}h=c[46337]|0;if(h>>>0>m>>>0){t=h-m|0;c[46337]=t;v=c[46340]|0;u=v+m|0;c[46340]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;$c=w;return v|0}if(!(c[46452]|0)){c[46454]=4096;c[46453]=4096;c[46455]=-1;c[46456]=-1;c[46457]=0;c[46445]=0;c[46452]=n&-16^1431655768;a=4096}else a=c[46454]|0;i=m+48|0;j=m+47|0;g=a+j|0;f=0-a|0;k=g&f;if(k>>>0<=m>>>0){v=0;$c=w;return v|0}a=c[46444]|0;if(a|0?(l=c[46442]|0,n=l+k|0,n>>>0<=l>>>0|n>>>0>a>>>0):0){v=0;$c=w;return v|0}d:do if(!(c[46445]&4)){d=c[46340]|0;e:do if(d){e=185784;while(1){n=c[e>>2]|0;if(n>>>0<=d>>>0?(n+(c[e+4>>2]|0)|0)>>>0>d>>>0:0)break;a=c[e+8>>2]|0;if(!a){q=128;break e}else e=a}b=g-h&f;if(b>>>0<2147483647){a=aX(b|0)|0;if((a|0)==((c[e>>2]|0)+(c[e+4>>2]|0)|0)){if((a|0)!=(-1|0)){h=b;g=a;q=145;break d}}else{e=a;q=136}}else b=0}else q=128;while(0);do if((q|0)==128){d=aX(0)|0;if((d|0)!=(-1|0)?(b=d,o=c[46453]|0,p=o+-1|0,b=((p&b|0)==0?0:(p+b&0-o)-b|0)+k|0,o=c[46442]|0,p=b+o|0,b>>>0>m>>>0&b>>>0<2147483647):0){n=c[46444]|0;if(n|0?p>>>0<=o>>>0|p>>>0>n>>>0:0){b=0;break}a=aX(b|0)|0;if((a|0)==(d|0)){h=b;g=d;q=145;break d}else{e=a;q=136}}else b=0}while(0);do if((q|0)==136){d=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(e|0)!=(-1|0))))if((e|0)==(-1|0)){b=0;break}else{h=b;g=e;q=145;break d}a=c[46454]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=b;g=e;q=145;break d}if((aX(a|0)|0)==(-1|0)){aX(d|0)|0;b=0;break}else{h=a+b|0;g=e;q=145;break d}}while(0);c[46445]=c[46445]|4;q=143}else{b=0;q=143}while(0);if(((q|0)==143?k>>>0<2147483647:0)?(t=aX(k|0)|0,p=aX(0)|0,r=p-t|0,s=r>>>0>(m+40|0)>>>0,!((t|0)==(-1|0)|s^1|t>>>0

>>0&((t|0)!=(-1|0)&(p|0)!=(-1|0))^1)):0){h=s?r:b;g=t;q=145}if((q|0)==145){b=(c[46442]|0)+h|0;c[46442]=b;if(b>>>0>(c[46443]|0)>>>0)c[46443]=b;j=c[46340]|0;f:do if(j){b=185784;while(1){a=c[b>>2]|0;d=c[b+4>>2]|0;if((g|0)==(a+d|0)){q=154;break}e=c[b+8>>2]|0;if(!e)break;else b=e}if(((q|0)==154?(u=b+4|0,(c[b+12>>2]&8|0)==0):0)?g>>>0>j>>>0&a>>>0<=j>>>0:0){c[u>>2]=d+h;v=(c[46337]|0)+h|0;t=j+8|0;t=(t&7|0)==0?0:0-t&7;u=j+t|0;t=v-t|0;c[46340]=u;c[46337]=t;c[u+4>>2]=t|1;c[j+v+4>>2]=40;c[46341]=c[46456];break}if(g>>>0<(c[46338]|0)>>>0)c[46338]=g;d=g+h|0;b=185784;while(1){if((c[b>>2]|0)==(d|0)){q=162;break}a=c[b+8>>2]|0;if(!a)break;else b=a}if((q|0)==162?(c[b+12>>2]&8|0)==0:0){c[b>>2]=g;l=b+4|0;c[l>>2]=(c[l>>2]|0)+h;l=g+8|0;l=g+((l&7|0)==0?0:0-l&7)|0;b=d+8|0;b=d+((b&7|0)==0?0:0-b&7)|0;k=l+m|0;i=b-l-m|0;c[l+4>>2]=m|3;g:do if((j|0)==(b|0)){v=(c[46337]|0)+i|0;c[46337]=v;c[46340]=k;c[k+4>>2]=v|1}else{if((c[46339]|0)==(b|0)){v=(c[46336]|0)+i|0;c[46336]=v;c[46339]=k;c[k+4>>2]=v|1;c[k+v>>2]=v;break}a=c[b+4>>2]|0;if((a&3|0)==1){h=a&-8;e=a>>>3;h:do if(a>>>0<256){a=c[b+8>>2]|0;d=c[b+12>>2]|0;if((d|0)==(a|0)){c[46334]=c[46334]&~(1<>2]=d;c[d+8>>2]=a;break}}else{g=c[b+24>>2]|0;a=c[b+12>>2]|0;do if((a|0)==(b|0)){d=b+16|0;e=d+4|0;a=c[e>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}}else d=e;while(1){f=a+20|0;e=c[f>>2]|0;if(!e){f=a+16|0;e=c[f>>2]|0;if(!e)break;else{a=e;d=f}}else{a=e;d=f}}c[d>>2]=0}else{v=c[b+8>>2]|0;c[v+12>>2]=a;c[a+8>>2]=v}while(0);if(!g)break;d=c[b+28>>2]|0;e=185640+(d<<2)|0;do if((c[e>>2]|0)!=(b|0)){v=g+16|0;c[((c[v>>2]|0)==(b|0)?v:g+20|0)>>2]=a;if(!a)break h}else{c[e>>2]=a;if(a|0)break;c[46335]=c[46335]&~(1<>2]=g;d=b+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(!d)break;c[a+20>>2]=d;c[d+24>>2]=a}while(0);b=b+h|0;f=h+i|0}else f=i;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[k+4>>2]=f|1;c[k+f>>2]=f;b=f>>>3;if(f>>>0<256){d=185376+(b<<1<<2)|0;a=c[46334]|0;b=1<>2]|0}c[a>>2]=k;c[b+12>>2]=k;c[k+8>>2]=b;c[k+12>>2]=d;break}b=f>>>8;do if(!b)e=0;else{if(f>>>0>16777215){e=31;break}u=(b+1048320|0)>>>16&8;v=b<>>16&4;v=v<>>16&2;e=14-(t|u|e)+(v<>>15)|0;e=f>>>(e+7|0)&1|e<<1}while(0);b=185640+(e<<2)|0;c[k+28>>2]=e;a=k+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[46335]|0;d=1<>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break}b=c[b>>2]|0;i:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(f|0)){b=a;break i}else{e=e<<1;b=a}}c[d>>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break g}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=k;c[u>>2]=k;c[k+8>>2]=v;c[k+12>>2]=b;c[k+24>>2]=0}while(0);v=l+8|0;$c=w;return v|0}b=185784;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(v=a+(c[b+4>>2]|0)|0,v>>>0>j>>>0):0)break;b=c[b+8>>2]|0}f=v+-47|0;a=f+8|0;a=f+((a&7|0)==0?0:0-a&7)|0;f=j+16|0;a=a>>>0>>0?j:a;b=a+8|0;d=h+-40|0;t=g+8|0;t=(t&7|0)==0?0:0-t&7;u=g+t|0;t=d-t|0;c[46340]=u;c[46337]=t;c[u+4>>2]=t|1;c[g+d+4>>2]=40;c[46341]=c[46456];d=a+4|0;c[d>>2]=27;c[b>>2]=c[46446];c[b+4>>2]=c[46447];c[b+8>>2]=c[46448];c[b+12>>2]=c[46449];c[46446]=g;c[46447]=h;c[46449]=0;c[46448]=b;b=a+24|0;do{u=b;b=b+4|0;c[b>>2]=7}while((u+8|0)>>>0>>0);if((a|0)!=(j|0)){g=a-j|0;c[d>>2]=c[d>>2]&-2;c[j+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){d=185376+(b<<1<<2)|0;a=c[46334]|0;b=1<>2]|0}c[a>>2]=j;c[b+12>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{u=(b+1048320|0)>>>16&8;v=b<>>16&4;v=v<>>16&2;e=14-(t|u|e)+(v<>>15)|0;e=g>>>(e+7|0)&1|e<<1}else e=0;d=185640+(e<<2)|0;c[j+28>>2]=e;c[j+20>>2]=0;c[f>>2]=0;b=c[46335]|0;a=1<>2]=j;c[j+24>>2]=d;c[j+12>>2]=j;c[j+8>>2]=j;break}b=c[d>>2]|0;j:do if((c[b+4>>2]&-8|0)!=(g|0)){e=g<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(g|0)){b=a;break j}else{e=e<<1;b=a}}c[d>>2]=j;c[j+24>>2]=b;c[j+12>>2]=j;c[j+8>>2]=j;break f}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=j;c[u>>2]=j;c[j+8>>2]=v;c[j+12>>2]=b;c[j+24>>2]=0}}else{v=c[46338]|0;if((v|0)==0|g>>>0>>0)c[46338]=g;c[46446]=g;c[46447]=h;c[46449]=0;c[46343]=c[46452];c[46342]=-1;c[46347]=185376;c[46346]=185376;c[46349]=185384;c[46348]=185384;c[46351]=185392;c[46350]=185392;c[46353]=185400;c[46352]=185400;c[46355]=185408;c[46354]=185408;c[46357]=185416;c[46356]=185416;c[46359]=185424;c[46358]=185424;c[46361]=185432;c[46360]=185432;c[46363]=185440;c[46362]=185440;c[46365]=185448;c[46364]=185448;c[46367]=185456;c[46366]=185456;c[46369]=185464;c[46368]=185464;c[46371]=185472;c[46370]=185472;c[46373]=185480;c[46372]=185480;c[46375]=185488;c[46374]=185488;c[46377]=185496;c[46376]=185496;c[46379]=185504;c[46378]=185504;c[46381]=185512;c[46380]=185512;c[46383]=185520;c[46382]=185520;c[46385]=185528;c[46384]=185528;c[46387]=185536;c[46386]=185536;c[46389]=185544;c[46388]=185544;c[46391]=185552;c[46390]=185552;c[46393]=185560;c[46392]=185560;c[46395]=185568;c[46394]=185568;c[46397]=185576;c[46396]=185576;c[46399]=185584;c[46398]=185584;c[46401]=185592;c[46400]=185592;c[46403]=185600;c[46402]=185600;c[46405]=185608;c[46404]=185608;c[46407]=185616;c[46406]=185616;c[46409]=185624;c[46408]=185624;v=h+-40|0;t=g+8|0;t=(t&7|0)==0?0:0-t&7;u=g+t|0;t=v-t|0;c[46340]=u;c[46337]=t;c[u+4>>2]=t|1;c[g+v+4>>2]=40;c[46341]=c[46456]}while(0);b=c[46337]|0;if(b>>>0>m>>>0){t=b-m|0;c[46337]=t;v=c[46340]|0;u=v+m|0;c[46340]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;$c=w;return v|0}}c[(XS()|0)>>2]=12;v=0;$c=w;return v|0}function YU(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!a)return;d=a+-8|0;f=c[46338]|0;a=c[a+-4>>2]|0;b=a&-8;j=d+b|0;do if(!(a&1)){e=c[d>>2]|0;if(!(a&3))return;h=d+(0-e)|0;g=e+b|0;if(h>>>0>>0)return;if((c[46339]|0)==(h|0)){a=j+4|0;b=c[a>>2]|0;if((b&3|0)!=3){i=h;b=g;break}c[46336]=g;c[a>>2]=b&-2;c[h+4>>2]=g|1;c[h+g>>2]=g;return}d=e>>>3;if(e>>>0<256){a=c[h+8>>2]|0;b=c[h+12>>2]|0;if((b|0)==(a|0)){c[46334]=c[46334]&~(1<>2]=b;c[b+8>>2]=a;i=h;b=g;break}}f=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){b=h+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){a=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0}else{i=c[h+8>>2]|0;c[i+12>>2]=a;c[a+8>>2]=i}while(0);if(f){b=c[h+28>>2]|0;d=185640+(b<<2)|0;if((c[d>>2]|0)==(h|0)){c[d>>2]=a;if(!a){c[46335]=c[46335]&~(1<>2]|0)==(h|0)?i:f+20|0)>>2]=a;if(!a){i=h;b=g;break}}c[a+24>>2]=f;b=h+16|0;d=c[b>>2]|0;if(d|0){c[a+16>>2]=d;c[d+24>>2]=a}b=c[b+4>>2]|0;if(b){c[a+20>>2]=b;c[b+24>>2]=a;i=h;b=g}else{i=h;b=g}}else{i=h;b=g}}else{i=d;h=d}while(0);if(h>>>0>=j>>>0)return;a=j+4|0;e=c[a>>2]|0;if(!(e&1))return;if(!(e&2)){if((c[46340]|0)==(j|0)){j=(c[46337]|0)+b|0;c[46337]=j;c[46340]=i;c[i+4>>2]=j|1;if((i|0)!=(c[46339]|0))return;c[46339]=0;c[46336]=0;return}if((c[46339]|0)==(j|0)){j=(c[46336]|0)+b|0;c[46336]=j;c[46339]=h;c[i+4>>2]=j|1;c[h+j>>2]=j;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){b=c[j+8>>2]|0;a=c[j+12>>2]|0;if((a|0)==(b|0)){c[46334]=c[46334]&~(1<>2]=a;c[a+8>>2]=b;break}}else{g=c[j+24>>2]|0;a=c[j+12>>2]|0;do if((a|0)==(j|0)){b=j+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){d=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0;d=a}else{d=c[j+8>>2]|0;c[d+12>>2]=a;c[a+8>>2]=d;d=a}while(0);if(g|0){a=c[j+28>>2]|0;b=185640+(a<<2)|0;if((c[b>>2]|0)==(j|0)){c[b>>2]=d;if(!d){c[46335]=c[46335]&~(1<>2]|0)==(j|0)?e:g+20|0)>>2]=d;if(!d)break}c[d+24>>2]=g;a=j+16|0;b=c[a>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}a=c[a+4>>2]|0;if(a|0){c[d+20>>2]=a;c[a+24>>2]=d}}}while(0);c[i+4>>2]=f|1;c[h+f>>2]=f;if((i|0)==(c[46339]|0)){c[46336]=f;return}}else{c[a>>2]=e&-2;c[i+4>>2]=b|1;c[h+b>>2]=b;f=b}a=f>>>3;if(f>>>0<256){d=185376+(a<<1<<2)|0;b=c[46334]|0;a=1<>2]|0}c[b>>2]=i;c[a+12>>2]=i;c[i+8>>2]=a;c[i+12>>2]=d;return}a=f>>>8;if(a)if(f>>>0>16777215)e=31;else{h=(a+1048320|0)>>>16&8;j=a<>>16&4;j=j<>>16&2;e=14-(g|h|e)+(j<>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;a=185640+(e<<2)|0;c[i+28>>2]=e;c[i+20>>2]=0;c[i+16>>2]=0;b=c[46335]|0;d=1<>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i}else{a=c[a>>2]|0;b:do if((c[a+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=a+16+(e>>>31<<2)|0;b=c[d>>2]|0;if(!b)break;if((c[b+4>>2]&-8|0)==(f|0)){a=b;break b}else{e=e<<1;a=b}}c[d>>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i;break a}while(0);h=a+8|0;j=c[h>>2]|0;c[j+12>>2]=i;c[h>>2]=i;c[i+8>>2]=j;c[i+12>>2]=a;c[i+24>>2]=0}while(0);j=(c[46342]|0)+-1|0;c[46342]=j;if(j|0)return;a=185792;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[46342]=-1;return}function ZU(a,b){a=a|0;b=b|0;var d=0;if(a){d=H(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;a=XU(d)|0;if(!a)return a|0;if(!(c[a+-4>>2]&3))return a|0;_W(a|0,0,d|0)|0;return a|0}function _U(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){b=XU(b)|0;return b|0}if(b>>>0>4294967231){c[(XS()|0)>>2]=12;b=0;return b|0}d=$U(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){b=d+8|0;return b|0}d=XU(b)|0;if(!d){b=0;return b|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;YW(d|0,a|0,(e>>>0>>0?e:b)|0)|0;YU(a);b=d;return b|0}function $U(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=a+4|0;m=c[l>>2]|0;d=m&-8;i=a+d|0;if(!(m&3)){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[46454]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;k=a+b|0;c[l>>2]=m&1|b|2;c[k+4>>2]=d|3;m=i+4|0;c[m>>2]=c[m>>2]|1;aV(k,d);return a|0}if((c[46340]|0)==(i|0)){k=(c[46337]|0)+d|0;d=k-b|0;e=a+b|0;if(k>>>0<=b>>>0){a=0;return a|0}c[l>>2]=m&1|b|2;c[e+4>>2]=d|1;c[46340]=e;c[46337]=d;return a|0}if((c[46339]|0)==(i|0)){e=(c[46336]|0)+d|0;if(e>>>0>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){k=a+b|0;e=a+e|0;c[l>>2]=m&1|b|2;c[k+4>>2]=d|1;c[e>>2]=d;e=e+4|0;c[e>>2]=c[e>>2]&-2;e=k}else{c[l>>2]=m&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[46336]=d;c[46339]=e;return a|0}e=c[i+4>>2]|0;if(e&2|0){a=0;return a|0}j=(e&-8)+d|0;if(j>>>0>>0){a=0;return a|0}k=j-b|0;f=e>>>3;do if(e>>>0<256){e=c[i+8>>2]|0;d=c[i+12>>2]|0;if((d|0)==(e|0)){c[46334]=c[46334]&~(1<>2]=d;c[d+8>>2]=e;break}}else{h=c[i+24>>2]|0;d=c[i+12>>2]|0;do if((d|0)==(i|0)){e=i+16|0;f=e+4|0;d=c[f>>2]|0;if(!d){d=c[e>>2]|0;if(!d){f=0;break}}else e=f;while(1){g=d+20|0;f=c[g>>2]|0;if(!f){g=d+16|0;f=c[g>>2]|0;if(!f)break;else{d=f;e=g}}else{d=f;e=g}}c[e>>2]=0;f=d}else{f=c[i+8>>2]|0;c[f+12>>2]=d;c[d+8>>2]=f;f=d}while(0);if(h|0){d=c[i+28>>2]|0;e=185640+(d<<2)|0;if((c[e>>2]|0)==(i|0)){c[e>>2]=f;if(!f){c[46335]=c[46335]&~(1<>2]|0)==(i|0)?g:h+20|0)>>2]=f;if(!f)break}c[f+24>>2]=h;d=i+16|0;e=c[d>>2]|0;if(e|0){c[f+16>>2]=e;c[e+24>>2]=f}d=c[d+4>>2]|0;if(d|0){c[f+20>>2]=d;c[d+24>>2]=f}}}while(0);if(k>>>0<16){c[l>>2]=m&1|j|2;m=a+j+4|0;c[m>>2]=c[m>>2]|1;return a|0}else{i=a+b|0;c[l>>2]=m&1|b|2;c[i+4>>2]=k|3;m=a+j+4|0;c[m>>2]=c[m>>2]|1;aV(i,k);return a|0}return 0}function aV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){f=c[a>>2]|0;if(!(d&3))return;h=a+(0-f)|0;b=f+b|0;if((c[46339]|0)==(h|0)){a=i+4|0;d=c[a>>2]|0;if((d&3|0)!=3)break;c[46336]=b;c[a>>2]=d&-2;c[h+4>>2]=b|1;c[i>>2]=b;return}e=f>>>3;if(f>>>0<256){a=c[h+8>>2]|0;d=c[h+12>>2]|0;if((d|0)==(a|0)){c[46334]=c[46334]&~(1<>2]=d;c[d+8>>2]=a;break}}g=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){d=h+16|0;e=d+4|0;a=c[e>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}}else d=e;while(1){f=a+20|0;e=c[f>>2]|0;if(!e){f=a+16|0;e=c[f>>2]|0;if(!e)break;else{a=e;d=f}}else{a=e;d=f}}c[d>>2]=0}else{f=c[h+8>>2]|0;c[f+12>>2]=a;c[a+8>>2]=f}while(0);if(g){d=c[h+28>>2]|0;e=185640+(d<<2)|0;if((c[e>>2]|0)==(h|0)){c[e>>2]=a;if(!a){c[46335]=c[46335]&~(1<>2]|0)==(h|0)?f:g+20|0)>>2]=a;if(!a)break}c[a+24>>2]=g;d=h+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(d){c[a+20>>2]=d;c[d+24>>2]=a}}}else h=a;while(0);a=i+4|0;e=c[a>>2]|0;if(!(e&2)){if((c[46340]|0)==(i|0)){i=(c[46337]|0)+b|0;c[46337]=i;c[46340]=h;c[h+4>>2]=i|1;if((h|0)!=(c[46339]|0))return;c[46339]=0;c[46336]=0;return}if((c[46339]|0)==(i|0)){i=(c[46336]|0)+b|0;c[46336]=i;c[46339]=h;c[h+4>>2]=i|1;c[h+i>>2]=i;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){a=c[i+8>>2]|0;b=c[i+12>>2]|0;if((b|0)==(a|0)){c[46334]=c[46334]&~(1<>2]=b;c[b+8>>2]=a;break}}else{g=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+16|0;d=a+4|0;b=c[d>>2]|0;if(!b){b=c[a>>2]|0;if(!b){d=0;break}}else a=d;while(1){e=b+20|0;d=c[e>>2]|0;if(!d){e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}else{b=d;a=e}}c[a>>2]=0;d=b}else{d=c[i+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);if(g|0){b=c[i+28>>2]|0;a=185640+(b<<2)|0;if((c[a>>2]|0)==(i|0)){c[a>>2]=d;if(!d){c[46335]=c[46335]&~(1<>2]|0)==(i|0)?e:g+20|0)>>2]=d;if(!d)break}c[d+24>>2]=g;b=i+16|0;a=c[b>>2]|0;if(a|0){c[d+16>>2]=a;c[a+24>>2]=d}b=c[b+4>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}}while(0);c[h+4>>2]=f|1;c[h+f>>2]=f;if((h|0)==(c[46339]|0)){c[46336]=f;return}}else{c[a>>2]=e&-2;c[h+4>>2]=b|1;c[h+b>>2]=b;f=b}b=f>>>3;if(f>>>0<256){d=185376+(b<<1<<2)|0;a=c[46334]|0;b=1<>2]|0}c[a>>2]=h;c[b+12>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;return}b=f>>>8;if(b)if(f>>>0>16777215)e=31;else{g=(b+1048320|0)>>>16&8;i=b<>>16&4;i=i<>>16&2;e=14-(d|g|e)+(i<>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;b=185640+(e<<2)|0;c[h+28>>2]=e;c[h+20>>2]=0;c[h+16>>2]=0;a=c[46335]|0;d=1<>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;return}b=c[b>>2]|0;a:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(f|0)){b=a;break a}else{e=e<<1;b=a}}c[d>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;return}while(0);g=b+8|0;i=c[g>>2]|0;c[i+12>>2]=h;c[g>>2]=h;c[h+8>>2]=i;c[h+12>>2]=b;c[h+24>>2]=0;return}function bV(a,b){a=a|0;b=b|0;if(a>>>0<9){b=XU(b)|0;return b|0}else{b=cV(a,b)|0;return b|0}return 0}function cV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=a>>>0>16?a:16;if(!(d+-1&d))a=d;else{a=16;while(1)if(a>>>0>>0)a=a<<1;else break}if((-64-a|0)>>>0<=b>>>0){c[(XS()|0)>>2]=12;h=0;return h|0}g=b>>>0<11?16:b+11&-8;d=XU(g+12+a|0)|0;if(!d){h=0;return h|0}f=d+-8|0;do if(a+-1&d){e=(d+a+-1&0-a)+-8|0;b=f;e=(e-b|0)>>>0>15?e:e+a|0;b=e-b|0;a=d+-4|0;i=c[a>>2]|0;d=(i&-8)-b|0;if(!(i&3)){c[e>>2]=(c[f>>2]|0)+b;c[e+4>>2]=d;a=e;b=e;break}else{i=e+4|0;c[i>>2]=d|c[i>>2]&1|2;d=e+d+4|0;c[d>>2]=c[d>>2]|1;c[a>>2]=b|c[a>>2]&1|2;c[i>>2]=c[i>>2]|1;aV(f,b);a=e;b=e;break}}else{a=f;b=f}while(0);a=a+4|0;d=c[a>>2]|0;if(d&3|0?(h=d&-8,h>>>0>(g+16|0)>>>0):0){i=h-g|0;f=b+g|0;c[a>>2]=g|d&1|2;c[f+4>>2]=i|3;h=b+h+4|0;c[h>>2]=c[h>>2]|1;aV(f,i)}i=b+8|0;return i|0}function dV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;do if((b|0)!=8){e=b>>>2;if((b&3|0)!=0|(e|0)==0){a=22;return a|0}if(e+1073741823&e|0){a=22;return a|0}if((-64-b|0)>>>0>>0){a=12;return a|0}else{b=cV(b>>>0>16?b:16,d)|0;break}}else b=XU(d)|0;while(0);if(!b){a=12;return a|0}c[a>>2]=b;a=0;return a|0}function eV(a,b){a=a|0;b=b|0;return 0}function fV(a){a=a|0;return 0}function gV(a){a=a|0;return 0}function hV(a){a=a|0;return 0}function iV(a,b){a=a|0;b=b|0;if(!a){b=22;return b|0}b=XU(8)|0;c[b>>2]=0;c[b+4>>2]=38177486;c[a>>2]=b;b=0;return b|0}function jV(a){a=a|0;if((c[a+4>>2]|0)!=38177486){a=0;return a|0}a=c[a>>2]|0;return a|0}function kV(a,b){a=a|0;b=b|0;if((c[a+4>>2]|0)!=38177486){b=22;return b|0}c[a>>2]=b;b=0;return b|0}function lV(a,b){a=a|0;b=b|0;if((c[a>>2]|0)==324508639)return 0;md[b&7]();c[a>>2]=324508639;return 0}function mV(){ua(185848);return}function nV(){return 185832}function oV(){return 185840}function pV(){return 185844}function qV(){return 185848}function rV(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=XU(b)|0;if(a|0)break;a=GW()|0;if(!a){a=0;break}md[a&7]()}return a|0}function sV(a){a=a|0;YU(a);return}function tV(a,b){a=a|0;b=b|0;var d=0,e=0;e=eU(b)|0;d=rV(e+13|0)|0;c[d>>2]=e;c[d+4>>2]=e;c[d+8>>2]=0;d=uV(d)|0;YW(d|0,b|0,e+1|0)|0;c[a>>2]=d;return}function uV(a){a=a|0;return a+12|0}function vV(a,b){a=a|0;b=b|0;c[a>>2]=114156;tV(a+4|0,b);return}function wV(a){a=a|0;return 1}function xV(a){a=a|0;ub()}function yV(a){a=a|0;ub()}function zV(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);f=g;if(e>>>0>4294967279)xV(b);if(e>>>0<11)a[b+11>>0]=e;else{i=e+16&-16;h=rV(i)|0;c[b>>2]=h;c[b+8>>2]=i|-2147483648;c[b+4>>2]=e;b=h}AV(b,d,e)|0;a[f>>0]=0;BV(b+e|0,f);$c=g;return}function AV(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)YW(a|0,b|0,c|0)|0;return a|0}function BV(b,c){b=b|0;c=c|0;a[b>>0]=a[c>>0]|0;return}function CV(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)_W(a|0,(DV(c)|0)&255|0,b|0)|0;return a|0}function DV(a){a=a|0;return a&255|0}function EV(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;g=a[d+11>>0]|0;h=g<<24>>24<0;g=h?c[d+4>>2]|0:g&255;if(g>>>0>>0)yV(b);else{g=g-e|0;zV(b,(h?c[d>>2]|0:d)+e|0,g>>>0>>0?g:f);return}}function FV(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;o=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);n=o;if((-18-d|0)>>>0>>0)xV(b);if((a[b+11>>0]|0)<0)m=c[b>>2]|0;else m=b;if(d>>>0<2147483623){k=e+d|0;l=d<<1;k=k>>>0>>0?l:k;k=k>>>0<11?11:k+16&-16}else k=-17;l=rV(k)|0;if(g|0)AV(l,m,g)|0;if(i|0)AV(l+g|0,j,i)|0;e=f-h|0;f=e-g|0;if(f|0)AV(l+g+i|0,m+g+h|0,f)|0;if((d|0)!=10)sV(m);c[b>>2]=l;c[b+8>>2]=k|-2147483648;i=e+i|0;c[b+4>>2]=i;a[n>>0]=0;BV(l+i|0,n);$c=o;return}function GV(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);g=j;h=b+11|0;f=a[h>>0]|0;i=f<<24>>24<0;if(i)f=c[b+4>>2]|0;else f=f&255;do if(f>>>0>=d>>>0)if(i){i=(c[b>>2]|0)+d|0;a[g>>0]=0;BV(i,g);c[b+4>>2]=d;break}else{a[g>>0]=0;BV(b+d|0,g);a[h>>0]=d;break}else HV(b,d-f|0,e)|0;while(0);$c=j;return}function HV(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);i=k;if(d|0){j=b+11|0;f=a[j>>0]|0;if(f<<24>>24<0){g=(c[b+8>>2]&2147483647)+-1|0;h=c[b+4>>2]|0}else{g=10;h=f&255}if((g-h|0)>>>0>>0){IV(b,g,h+d-g|0,h,h,0,0);f=a[j>>0]|0}if(f<<24>>24<0)g=c[b>>2]|0;else g=b;CV(g+h|0,d,e)|0;f=h+d|0;if((a[j>>0]|0)<0)c[b+4>>2]=f;else a[j>>0]=f;a[i>>0]=0;BV(g+f|0,i)}$c=k;return b|0}function IV(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((-17-d|0)>>>0>>0)xV(b);if((a[b+11>>0]|0)<0)l=c[b>>2]|0;else l=b;if(d>>>0<2147483623){j=e+d|0;k=d<<1;j=j>>>0>>0?k:j;j=j>>>0<11?11:j+16&-16}else j=-17;k=rV(j)|0;if(g|0)AV(k,l,g)|0;e=f-h-g|0;if(e|0)AV(k+g+i|0,l+g+h|0,e)|0;if((d|0)!=10)sV(l);c[b>>2]=k;c[b+8>>2]=j|-2147483648;return}function JV(b,d){b=b|0;d=d|0;var e=0,f=0;e=a[b+11>>0]|0;f=e<<24>>24<0;if(f)e=c[b+4>>2]|0;else e=e&255;if(e>>>0<=d>>>0)yV(b);if(f)b=c[b>>2]|0;return b+d|0}function KV(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);i=k;j=b+11|0;f=a[j>>0]|0;h=f<<24>>24<0;if(h){g=(c[b+8>>2]&2147483647)+-1|0;f=c[b+4>>2]|0}else{g=10;f=f&255}if((g-f|0)>>>0>=e>>>0){if(e|0){if(h)g=c[b>>2]|0;else g=b;AV(g+f|0,d,e)|0;f=f+e|0;if((a[j>>0]|0)<0)c[b+4>>2]=f;else a[j>>0]=f;a[i>>0]=0;BV(g+f|0,i)}}else FV(b,g,f+e-g|0,f,f,0,e,d);$c=k;return b|0}function LV(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0;a=$c;$c=$c+48|0;if(($c|0)>=(ad|0))N(48);h=a+32|0;d=a+24|0;i=a+16|0;g=a;e=a+36|0;a=MV()|0;if(a|0?(f=c[a>>2]|0,f|0):0){a=f+48|0;b=c[a>>2]|0;a=c[a+4>>2]|0;if(!((b&-256|0)==1126902528&(a|0)==1129074247)){c[d>>2]=180752;NV(180702,d)}if((b|0)==1126902529&(a|0)==1129074247)a=c[f+44>>2]|0;else a=f+80|0;c[e>>2]=a;f=c[f>>2]|0;a=c[f+4>>2]|0;if(id[c[(c[14622]|0)+16>>2]&15](58488,f,e)|0){i=c[e>>2]|0;i=fd[c[(c[i>>2]|0)+8>>2]&31](i)|0;c[g>>2]=180752;c[g+4>>2]=a;c[g+8>>2]=i;NV(180616,g)}else{c[i>>2]=180752;c[i+4>>2]=a;NV(180661,i)}}NV(180740,h)}function MV(){var a=0,b=0;a=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);if(!(lV(185852,6)|0)){b=jV(c[46464]|0)|0;$c=a;return b|0}else NV(180891,a);return 0}function NV(a,b){a=a|0;b=b|0;var d=0,e=0;d=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=d;c[e>>2]=b;d=c[28451]|0;vT(d,a,e)|0;SU(10,d)|0;ub()}function OV(a){a=a|0;return}function PV(a){a=a|0;OV(a);sV(a);return}function QV(a){a=a|0;return}function RV(a){a=a|0;return}function SV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=$c;$c=$c+64|0;if(($c|0)>=(ad|0))N(64);f=h;if(!(WV(a,b,0)|0))if((b|0)!=0?(g=_V(b,58512,58496,0)|0,(g|0)!=0):0){b=f+4|0;e=b+52|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));c[f>>2]=g;c[f+8>>2]=a;c[f+12>>2]=-1;c[f+48>>2]=1;qd[c[(c[g>>2]|0)+28>>2]&255](g,f,c[d>>2]|0,1);if((c[f+24>>2]|0)==1){c[d>>2]=c[f+16>>2];b=1}else b=0}else b=0;else b=1;$c=h;return b|0}function TV(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(WV(a,c[b+8>>2]|0,g)|0)ZV(0,b,d,e,f);return}function UV(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;do if(!(WV(b,c[d+8>>2]|0,g)|0)){if(WV(b,c[d>>2]|0,g)|0){if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;c[h>>2]=e;g=d+40|0;c[g>>2]=(c[g>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1;c[d+44>>2]=4;break}if((f|0)==1)c[d+32>>2]=1}}else YV(0,d,e,f);while(0);return}function VV(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(WV(a,c[b+8>>2]|0,0)|0)XV(0,b,d,e);return}function WV(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function XV(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;b=d+16|0;g=c[b>>2]|0;do if(g){if((g|0)!=(e|0)){f=d+36|0;c[f>>2]=(c[f>>2]|0)+1;c[d+24>>2]=2;a[d+54>>0]=1;break}b=d+24|0;if((c[b>>2]|0)==2)c[b>>2]=f}else{c[b>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1}while(0);return}function YV(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if((c[b+4>>2]|0)==(d|0)?(f=b+28|0,(c[f>>2]|0)!=1):0)c[f>>2]=e;return}function ZV(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a[d+53>>0]=1;do if((c[d+4>>2]|0)==(f|0)){a[d+52>>0]=1;b=d+16|0;f=c[b>>2]|0;if(!f){c[b>>2]=e;c[d+24>>2]=g;c[d+36>>2]=1;if(!((g|0)==1?(c[d+48>>2]|0)==1:0))break;a[d+54>>0]=1;break}if((f|0)!=(e|0)){g=d+36|0;c[g>>2]=(c[g>>2]|0)+1;a[d+54>>0]=1;break}f=d+24|0;b=c[f>>2]|0;if((b|0)==2){c[f>>2]=g;b=g}if((b|0)==1?(c[d+48>>2]|0)==1:0)a[d+54>>0]=1}while(0);return}function _V(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=$c;$c=$c+64|0;if(($c|0)>=(ad|0))N(64);n=p;m=c[d>>2]|0;o=d+(c[m+-8>>2]|0)|0;m=c[m+-4>>2]|0;c[n>>2]=f;c[n+4>>2]=d;c[n+8>>2]=e;c[n+12>>2]=g;d=n+16|0;e=n+20|0;g=n+24|0;h=n+28|0;i=n+32|0;j=n+40|0;k=d;l=k+36|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));b[d+36>>1]=0;a[d+38>>0]=0;a:do if(WV(m,f,0)|0){c[n+48>>2]=1;sd[c[(c[m>>2]|0)+20>>2]&63](m,n,o,o,1,0);d=(c[g>>2]|0)==1?o:0}else{rd[c[(c[m>>2]|0)+24>>2]&127](m,n,o,1,0);switch(c[n+36>>2]|0){case 0:{d=(c[j>>2]|0)==1&(c[h>>2]|0)==1&(c[i>>2]|0)==1?c[e>>2]|0:0;break a}case 1:break;default:{d=0;break a}}if((c[g>>2]|0)!=1?!((c[j>>2]|0)==0&(c[h>>2]|0)==1&(c[i>>2]|0)==1):0){d=0;break}d=c[d>>2]|0}while(0);$c=p;return d|0}function $V(a){a=a|0;OV(a);sV(a);return}function aW(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(WV(a,c[b+8>>2]|0,g)|0)ZV(0,b,d,e,f);else{a=c[a+8>>2]|0;sd[c[(c[a>>2]|0)+20>>2]&63](a,b,d,e,f,g)}return}function bW(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;do if(!(WV(b,c[d+8>>2]|0,g)|0)){if(!(WV(b,c[d>>2]|0,g)|0)){i=c[b+8>>2]|0;rd[c[(c[i>>2]|0)+24>>2]&127](i,d,e,f,g);break}if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;i=d+44|0;if((c[i>>2]|0)==4)break;f=d+52|0;a[f>>0]=0;j=d+53|0;a[j>>0]=0;b=c[b+8>>2]|0;sd[c[(c[b>>2]|0)+20>>2]&63](b,d,e,e,1,g);if(a[j>>0]|0)if(!(a[f>>0]|0)){f=1;b=11}else b=15;else{f=0;b=11}do if((b|0)==11){c[h>>2]=e;j=d+40|0;c[j>>2]=(c[j>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0){a[d+54>>0]=1;if(f){b=15;break}else{f=4;break}}if(f)b=15;else f=4}while(0);if((b|0)==15)f=3;c[i>>2]=f;break}if((f|0)==1)c[d+32>>2]=1}else YV(0,d,e,f);while(0);return}function cW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(WV(a,c[b+8>>2]|0,0)|0)XV(0,b,d,e);else{a=c[a+8>>2]|0;qd[c[(c[a>>2]|0)+28>>2]&255](a,b,d,e)}return}function dW(a){a=a|0;return}function eW(){var a=0;a=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);if(!(iV(185856,33)|0)){$c=a;return}else NV(180940,a)}function fW(a){a=a|0;var b=0;b=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);YU(a);if(!(kV(c[46464]|0,0)|0)){$c=b;return}else NV(180990,b)}function gW(){var a=0,b=0;a=MV()|0;if((a|0?(b=c[a>>2]|0,b|0):0)?(a=b+48|0,(c[a>>2]&-256|0)==1126902528?(c[a+4>>2]|0)==1129074247:0):0)hW(c[b+12>>2]|0);hW(iW()|0)}function hW(a){a=a|0;var b=0;b=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);md[a&7]();NV(181043,b)}function iW(){var a=0;a=c[28516]|0;c[28516]=a+0;return a|0}function jW(a){a=a|0;return}function kW(a){a=a|0;c[a>>2]=114156;oW(a+4|0);return}function lW(a){a=a|0;kW(a);sV(a);return}function mW(a){a=a|0;return nW(a+4|0)|0}function nW(a){a=a|0;return c[a>>2]|0}function oW(a){a=a|0;var b=0,d=0;if(wV(a)|0?(b=pW(c[a>>2]|0)|0,d=b+8|0,a=c[d>>2]|0,c[d>>2]=a+-1,(a+-1|0)<0):0)sV(b);return}function pW(a){a=a|0;return a+-12|0}function qW(a){a=a|0;kW(a);sV(a);return}function rW(a){a=a|0;OV(a);sV(a);return}function sW(a,b,c){a=a|0;b=b|0;c=c|0;return WV(a,b,0)|0}function tW(a){a=a|0;OV(a);sV(a);return}function uW(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=$c;$c=$c+64|0;if(($c|0)>=(ad|0))N(64);h=j;c[d>>2]=c[c[d>>2]>>2];if(!(vW(a,b,0)|0))if(((b|0)!=0?(e=_V(b,58512,58600,0)|0,(e|0)!=0):0)?(c[e+8>>2]&~c[a+8>>2]|0)==0:0){a=a+12|0;b=e+12|0;if(!(WV(c[a>>2]|0,c[b>>2]|0,0)|0)?!(WV(c[a>>2]|0,58632,0)|0):0){a=c[a>>2]|0;if((((a|0)!=0?(g=_V(a,58512,58496,0)|0,(g|0)!=0):0)?(f=c[b>>2]|0,(f|0)!=0):0)?(i=_V(f,58512,58496,0)|0,(i|0)!=0):0){a=h+4|0;b=a+52|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[h>>2]=i;c[h+8>>2]=g;c[h+12>>2]=-1;c[h+48>>2]=1;qd[c[(c[i>>2]|0)+28>>2]&255](i,h,c[d>>2]|0,1);if((c[h+24>>2]|0)==1){c[d>>2]=c[h+16>>2];a=1}else a=0}else a=0}else a=1}else a=0;else a=1;$c=j;return a|0}function vW(a,b,c){a=a|0;b=b|0;c=c|0;if(WV(a,b,0)|0)a=1;else a=WV(b,58640,0)|0;return a|0}function wW(a){a=a|0;OV(a);sV(a);return}function xW(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if(WV(b,c[d+8>>2]|0,h)|0)ZV(0,d,e,f,g);else{p=d+52|0;i=a[p>>0]|0;j=d+53|0;k=a[j>>0]|0;o=c[b+12>>2]|0;l=b+16+(o<<3)|0;a[p>>0]=0;a[j>>0]=0;BW(b+16|0,d,e,f,g,h);a:do if((o|0)>1){m=d+24|0;n=b+8|0;o=d+54|0;b=b+24|0;do{if(a[o>>0]|0)break a;if(!(a[p>>0]|0)){if(a[j>>0]|0?(c[n>>2]&1|0)==0:0)break a}else{if((c[m>>2]|0)==1)break a;if(!(c[n>>2]&2))break a}a[p>>0]=0;a[j>>0]=0;BW(b,d,e,f,g,h);b=b+8|0}while(b>>>0>>0)}while(0);a[p>>0]=i;a[j>>0]=k}return}function yW(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;a:do if(!(WV(b,c[d+8>>2]|0,g)|0)){if(!(WV(b,c[d>>2]|0,g)|0)){q=c[b+12>>2]|0;k=b+16+(q<<3)|0;CW(b+16|0,d,e,f,g);h=b+24|0;if((q|0)<=1)break;b=c[b+8>>2]|0;if((b&2|0)==0?(j=d+36|0,(c[j>>2]|0)!=1):0){if(!(b&1)){b=d+54|0;while(1){if(a[b>>0]|0)break a;if((c[j>>2]|0)==1)break a;CW(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}b=d+24|0;i=d+54|0;while(1){if(a[i>>0]|0)break a;if((c[j>>2]|0)==1?(c[b>>2]|0)==1:0)break a;CW(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}b=d+54|0;while(1){if(a[b>>0]|0)break a;CW(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}if((c[d+16>>2]|0)!=(e|0)?(q=d+20|0,(c[q>>2]|0)!=(e|0)):0){c[d+32>>2]=f;p=d+44|0;if((c[p>>2]|0)==4)break;k=b+16+(c[b+12>>2]<<3)|0;f=d+52|0;l=d+53|0;n=d+54|0;m=b+8|0;o=d+24|0;h=0;i=b+16|0;j=0;b:while(1){if(i>>>0>=k>>>0){b=18;break}a[f>>0]=0;a[l>>0]=0;BW(i,d,e,e,1,g);if(a[n>>0]|0){b=18;break}do if(a[l>>0]|0){if(!(a[f>>0]|0))if(!(c[m>>2]&1)){h=1;b=18;break b}else{h=1;b=j;break}if((c[o>>2]|0)==1){b=23;break b}if(!(c[m>>2]&2)){b=23;break b}else{h=1;b=1}}else b=j;while(0);i=i+8|0;j=b}do if((b|0)==18){if((!j?(c[q>>2]=e,e=d+40|0,c[e>>2]=(c[e>>2]|0)+1,(c[d+36>>2]|0)==1):0)?(c[o>>2]|0)==2:0){a[n>>0]=1;if(h){b=23;break}else{h=4;break}}if(h)b=23;else h=4}while(0);if((b|0)==23)h=3;c[p>>2]=h;break}if((f|0)==1)c[d+32>>2]=1}else YV(0,d,e,f);while(0);return}function zW(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do if(!(WV(b,c[d+8>>2]|0,0)|0)){h=c[b+12>>2]|0;g=b+16+(h<<3)|0;AW(b+16|0,d,e,f);if((h|0)>1){h=d+54|0;b=b+24|0;do{AW(b,d,e,f);if(a[h>>0]|0)break a;b=b+8|0}while(b>>>0>>0)}}else XV(0,d,e,f);while(0);return}function AW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=c[a+4>>2]|0;f=g>>8;if(g&1)f=c[(c[d>>2]|0)+f>>2]|0;a=c[a>>2]|0;qd[c[(c[a>>2]|0)+28>>2]&255](a,b,d+f|0,(g&2|0)==0?2:e);return}function BW(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=c[a+4>>2]|0;h=i>>8;if(i&1)h=c[(c[e>>2]|0)+h>>2]|0;a=c[a>>2]|0;sd[c[(c[a>>2]|0)+20>>2]&63](a,b,d,e+h|0,(i&2|0)==0?2:f,g);return}function CW(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=c[a+4>>2]|0;g=h>>8;if(h&1)g=c[(c[d>>2]|0)+g>>2]|0;a=c[a>>2]|0;rd[c[(c[a>>2]|0)+24>>2]&127](a,b,d+g|0,(h&2|0)==0?2:e,f);return}function DW(b){b=b|0;if((a[b>>0]|0)==1)b=0;else{a[b>>0]=1;b=1}return b|0}function EW(a){a=a|0;return}function FW(a){a=a|0;return}function GW(){var a=0;a=c[46465]|0;c[46465]=a+0;return a|0}function HW(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=$c;$c=$c+16|0;if(($c|0)>=(ad|0))N(16);e=f;c[e>>2]=c[d>>2];a=id[c[(c[a>>2]|0)+16>>2]&15](a,b,e)|0;if(a)c[d>>2]=c[e>>2];$c=f;return a&1|0}function IW(a){a=a|0;if(!a)a=0;else a=(_V(a,58512,58600,0)|0)!=0&1;return a|0}function JW(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|0),c|0)|0}function KW(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|0),a-c>>>0|0)|0}function LW(a){a=a|0;return (a?31-(J(a^a-1)|0)|0:32)|0}function MW(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (L(n|0),f)|0}else{if(!g){n=0;f=0;return (L(n|0),f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (L(n|0),f)|0}}g=(i|0)==0;do if(h){if(!g){g=(J(i|0)|0)-(J(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (L(n|0),f)|0}g=h-1|0;if(g&h|0){i=(J(h|0)|0)+33-(J(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (L(o|0),p)|0}else{p=LW(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (L(o|0),p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (L(o|0),p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (L(o|0),p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((LW(i|0)|0)>>>0);return (L(o|0),p)|0}g=(J(i|0)|0)-(J(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (L(o|0),p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=JW(m|0,l|0,-1,-1)|0;d=M()|0;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;KW(k|0,d|0,e|0,n|0)|0;p=M()|0;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=KW(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=M()|0;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (L(o|0),p)|0}function NW(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=KW(j^a|0,i^b|0,j|0,i|0)|0;g=M()|0;a=f^j;b=e^i;return KW((MW(h,g,KW(f^c|0,e^d|0,f|0,e|0)|0,M()|0,0)|0)^a|0,(M()|0)^b|0,a|0,b|0)|0}function OW(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=H(e,f)|0;d=a>>>16;a=(c>>>16)+(H(e,d)|0)|0;e=b>>>16;b=H(e,f)|0;return (L((a>>>16)+(H(e,d)|0)+(((a&65535)+b|0)>>>16)|0),a+b<<16|c&65535|0)|0}function PW(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=OW(e,f)|0;a=M()|0;return (L((H(b,f)|0)+(H(d,e)|0)+a|a&0|0),c|0|0)|0}function QW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=$c;$c=$c+16|0;i=f|0;h=b>>31|((b|0)<0?-1:0)<<1;g=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;k=e>>31|((e|0)<0?-1:0)<<1;j=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;a=KW(h^a|0,g^b|0,h|0,g|0)|0;b=M()|0;MW(a,b,KW(k^d|0,j^e|0,k|0,j|0)|0,M()|0,i)|0;e=KW(c[i>>2]^h|0,c[i+4>>2]^g|0,h|0,g|0)|0;d=M()|0;$c=f;return (L(d|0),e)|0}function RW(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return MW(a,b,c,d,0)|0}function SW(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){L(b>>c|0);return a>>>c|(b&(1<>c-32|0}function TW(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){L(b>>>c|0);return a>>>c|(b&(1<>>c-32|0}function UW(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){L(b<>>32-c|0);return a<>8&255|0}function WW(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function XW(a){a=+a;return a>=0.0?+t(a+.5):+G(a-.5)}function YW(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192){Fb(b|0,d|0,e|0)|0;return b|0}h=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return h|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}e=g&-4|0;f=e-64|0;while((b|0)<=(f|0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(e|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{e=g-4|0;while((b|0)<(e|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return h|0}function ZW(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else YW(b,c,d)|0;return b|0}function _W(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=b+e|0;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}f=h&-4|0;i=d|d<<8|d<<16|d<<24;g=f-64|0;while((b|0)<=(g|0)){c[b>>2]=i;c[b+4>>2]=i;c[b+8>>2]=i;c[b+12>>2]=i;c[b+16>>2]=i;c[b+20>>2]=i;c[b+24>>2]=i;c[b+28>>2]=i;c[b+32>>2]=i;c[b+36>>2]=i;c[b+40>>2]=i;c[b+44>>2]=i;c[b+48>>2]=i;c[b+52>>2]=i;c[b+56>>2]=i;c[b+60>>2]=i;b=b+64|0}while((b|0)<(f|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}return h-e|0}function $W(a){a=a|0;return 0}function aX(a){a=a|0;var b=0,d=0,e=0;e=Cb()|0;d=c[i>>2]|0;b=d+a|0;if((a|0)>0&(b|0)<(d|0)|(b|0)<0){ac(b|0)|0;Ea(12);return -1}if((b|0)>(e|0))if(!(Gb(b|0)|0)){Ea(12);return -1}c[i>>2]=b;return d|0}function bX(a,b){a=a|0;b=+b;return +cd[a&15](+b)}function cX(a,b,c){a=a|0;b=b|0;c=+c;return +dd[a&0](b|0,+c)}function dX(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;return +ed[a&0](b|0,+c,+d)}function eX(a,b){a=a|0;b=b|0;return fd[a&31](b|0)|0}function fX(a,b,c,d,e,f,g){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;return gd[a&1](b|0,+c,d|0,e|0,f|0,g|0)|0}function gX(a,b,c){a=a|0;b=b|0;c=c|0;return hd[a&15](b|0,c|0)|0}function hX(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return id[a&15](b|0,c|0,d|0)|0}function iX(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return jd[a&3](b|0,c|0,d|0,e|0)|0}function jX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return kd[a&63](b|0,c|0,d|0,e|0,f|0)|0}function kX(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 ld[a&7](b|0,c|0,d|0,e|0,f|0,g|0)|0}function lX(a){a=a|0;md[a&7]()}function mX(a,b){a=a|0;b=b|0;nd[a&63](b|0)}function nX(a,b,c){a=a|0;b=b|0;c=c|0;od[a&255](b|0,c|0)}function oX(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;pd[a&1023](b|0,c|0,d|0)}function pX(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;qd[a&255](b|0,c|0,d|0,e|0)}function qX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;rd[a&127](b|0,c|0,d|0,e|0,f|0)}function rX(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;sd[a&63](b|0,c|0,d|0,e|0,f|0,g|0)}function sX(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;td[a&31](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function tX(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;ud[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function uX(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;vd[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function vX(a){a=+a;O(0);return 0.0}function wX(a){a=+a;return +Yb(+a)}function xX(a){a=+a;return +zb(+a)}function yX(a){a=+a;return +_b(+a)}function zX(a){a=+a;return +xb(+a)}function AX(a){a=+a;return +wb(+a)}function BX(a){a=+a;return +vb(+a)}function CX(a){a=+a;return +Hb(+a)}function DX(a){a=+a;return +Qb(+a)}function EX(a){a=+a;return +Ib(+a)}function FX(a,b){a=a|0;b=+b;P(1);return 0.0}function GX(a,b,c){a=a|0;b=+b;c=+c;Q(2);return 0.0}function HX(a){a=a|0;R(3);return 0}function IX(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=d|0;e=e|0;f=f|0;S(4);return 0}function JX(a,b){a=a|0;b=b|0;T(5);return 0}function KX(a,b,c){a=a|0;b=b|0;c=c|0;U(6);return 0}function LX(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;V(7);return 0}function MX(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;W(8);return 0}function NX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;X(9);return 0}function OX(){Y(10)}function PX(){za()}function QX(a){a=a|0;Z(11)}function RX(a,b){a=a|0;b=b|0;_(12)}function SX(a,b,c){a=a|0;b=b|0;c=c|0;$(13)}function TX(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;aa(14)}function UX(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ba(15)}function VX(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(16)}function WX(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;da(17)}function XX(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;ea(18)}function YX(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;fa(19)} // EMSCRIPTEN_END_FUNCS -var cd=[uX,lT,kT,sU,vX,wX,xX,yX,zX,AX,BX,CX,DX,XP,uX,uX];var dd=[EX];var ed=[FX];var fd=[GX,df,dg,fg,hg,oh,lN,pR,rR,sR,ER,SS,lW,te,Ce,Ee,Fe,Mg,Rg,Ql,CQ,AQ,PQ,YQ,aR,dS,GX,GX,GX,GX,GX,GX];var gd=[HX,vT];var hd=[IX,eg,$O,qR,DR,ye,Ae,bg,xj,bM,eM,tQ,IX,IX,IX,IX];var id=[JX,oN,KN,TS,YS,RT,RV,rW,tW,Ie,bf,qg,EU,JX,JX,JX];var jd=[KX,gg,US,KX];var kd=[LX,Df,Rl,Sl,Tl,Ul,Vl,Wl,Xl,Yl,Zl,_l,$l,am,bm,cm,dm,em,fm,gm,hm,im,jm,km,lm,mm,nm,om,pm,qm,rm,sm,tm,um,vm,wm,xm,ym,zm,Am,Bm,oR,hS,LX,LX,LX,LX,LX,LX,LX,LX,LX,LX,LX,LX,LX,LX,LX,LX,LX,LX,LX,LX,LX];var ld=[MX,ef,mN,IN,nR,gS,MX,MX];var md=[NX,OX,KV,eN,UQ,VQ,dW,NX];var nd=[PX,Je,Ke,Me,Oe,Pe,Qe,Re,Se,We,Xe,Ye,ff,ig,nN,JN,NV,OV,PV,QV,_V,jW,kW,pW,qW,sW,vW,ue,Fd,Gd,De,He,eS,eW,PX,PX,PX,PX,PX,PX,PX,PX,PX,PX,PX,PX,PX,PX,PX,PX,PX,PX,PX,PX,PX,PX,PX,PX,PX,PX,PX,PX,PX,PX];var od=[QX,Ue,_e,Dd,Ed,xe,Hd,Id,Jd,Kd,Ld,Md,Nd,Od,Pd,Qd,Rd,Ge,Cg,Fg,Pm,WI,VI,EJ,DJ,mK,lK,WK,VK,EL,DL,_n,Zn,ao,$n,co,bo,eo,fo,go,ho,io,jo,ko,lo,mo,no,oo,po,qo,ro,so,to,uo,zo,yo,Ao,Bo,Co,Do,Eo,Jo,Ko,Lo,vp,up,xp,wp,zp,yp,Ap,Bp,Cp,Dp,Ep,Fp,Gp,Hp,Ip,Jp,Kp,Lp,Mp,Rp,Qp,Sp,Tp,Up,Vp,Yp,Zp,_p,Kq,Jq,Mq,Lq,Oq,Nq,Pq,Qq,Rq,Sq,Tq,Uq,Vq,Wq,Xq,Yq,Zq,_q,$q,er,dr,fr,gr,hr,ir,lr,mr,nr,Zr,Yr,$r,_r,bs,as,cs,ds,es,fs,gs,hs,is,js,ks,ls,ms,ns,os,ts,ss,us,vs,ws,xs,As,Bs,Cs,mt,lt,ot,nt,qt,pt,rt,st,tt,ut,vt,wt,xt,yt,zt,At,Bt,Ct,Dt,It,Ht,Jt,Kt,Lt,Mt,Pt,Qt,Rt,xo,wo,vo,Io,Ho,Go,Fo,Pp,Op,Np,Xp,Wp,cr,br,ar,kr,jr,rs,qs,ps,zs,ys,Gt,Ft,Et,Ot,Nt,xO,kP,jP,wT,QX,QX,QX,QX,QX,QX,QX,QX,QX,QX,QX,QX,QX,QX,QX,QX,QX,QX,QX,QX,QX,QX,QX,QX,QX,QX,QX,QX,QX,QX,QX,QX,QX,QX,QX,QX,QX,QX,QX,QX,QX,QX,QX,QX,QX,QX,QX,QX,QX];var pd=[RX,Te,Ve,Ze,ve,we,ze,Be,II,HI,KI,JI,LI,MI,NI,OI,UI,tJ,uJ,vJ,wJ,CJ,bK,cK,dK,eK,kK,LK,MK,NK,OK,UK,tL,uL,vL,wL,CL,uu,zu,Eu,Ju,Ou,Tu,Yu,bv,gv,lv,qv,vv,Av,Fv,Kv,Pv,Uv,Zv,cw,hw,mw,rw,ww,Bw,Gw,Lw,Qw,Vw,_w,dx,ix,nx,sx,xx,Cx,Hx,Mx,Rx,Wx,$x,ey,jy,oy,ty,yy,Dy,Iy,Ny,Sy,Xy,az,fz,kz,pz,uz,zz,Ez,Jz,Oz,Tz,Yz,bA,gA,lA,qA,vA,AA,FA,KA,PA,UA,ZA,cB,hB,mB,rB,wB,BB,GB,LB,QB,VB,_B,dC,iC,nC,sC,xC,CC,HC,MC,RC,WC,$C,eD,jD,oD,tD,yD,DD,ID,ND,SD,XD,aE,fE,kE,pE,uE,zE,EE,JE,tu,yu,Du,Iu,Nu,Su,Xu,av,fv,kv,pv,uv,zv,Ev,Jv,Ov,Tv,Yv,bw,gw,lw,qw,vw,Aw,Fw,Kw,Pw,Uw,Zw,cx,hx,mx,rx,wx,Bx,Gx,Lx,Qx,Vx,_x,dy,iy,ny,sy,xy,Cy,Hy,My,Ry,Wy,$y,ez,jz,oz,tz,yz,Dz,Iz,Nz,Sz,Xz,aA,fA,kA,pA,uA,zA,EA,JA,OA,TA,YA,bB,gB,lB,qB,vB,AB,FB,KB,PB,UB,ZB,cC,hC,mC,rC,wC,BC,GC,LC,QC,VC,_C,dD,iD,nD,sD,xD,CD,HD,MD,RD,WD,$D,eE,jE,oE,tE,yE,DE,IE,su,xu,Cu,Hu,Mu,Ru,Wu,$u,ev,jv,ov,tv,yv,Dv,Iv,Nv,Sv,Xv,aw,fw,kw,pw,uw,zw,Ew,Jw,Ow,Tw,Yw,bx,gx,lx,qx,vx,Ax,Fx,Kx,Px,Ux,Zx,cy,hy,my,ry,wy,By,Gy,Ly,Qy,Vy,_y,dz,iz,nz,sz,xz,Cz,Hz,Mz,Rz,Wz,$z,eA,jA,oA,tA,yA,DA,IA,NA,SA,XA,aB,fB,kB,pB,uB,zB,EB,JB,OB,TB,YB,bC,gC,lC,qC,vC,AC,FC,KC,PC,UC,ZC,cD,hD,mD,rD,wD,BD,GD,LD,QD,VD,_D,dE,iE,nE,sE,xE,CE,HE,ru,wu,Bu,Gu,Lu,Qu,Vu,_u,dv,iv,nv,sv,xv,Cv,Hv,Mv,Rv,Wv,$v,ew,jw,ow,tw,yw,Dw,Iw,Nw,Sw,Xw,ax,fx,kx,px,ux,zx,Ex,Jx,Ox,Tx,Yx,by,gy,ly,qy,vy,Ay,Fy,Ky,Py,Uy,Zy,cz,hz,mz,rz,wz,Bz,Gz,Lz,Qz,Vz,_z,dA,iA,nA,sA,xA,CA,HA,MA,RA,WA,$A,eB,jB,oB,tB,yB,DB,IB,NB,SB,XB,aC,fC,kC,pC,uC,zC,EC,JC,OC,TC,YC,bD,gD,lD,qD,vD,AD,FD,KD,PD,UD,ZD,cE,hE,mE,rE,wE,BE,GE,qu,vu,Au,Fu,Ku,Pu,Uu,Zu,cv,hv,mv,rv,wv,Bv,Gv,Lv,Qv,Vv,_v,dw,iw,nw,sw,xw,Cw,Hw,Mw,Rw,Ww,$w,ex,jx,ox,tx,yx,Dx,Ix,Nx,Sx,Xx,ay,fy,ky,py,uy,zy,Ey,Jy,Oy,Ty,Yy,bz,gz,lz,qz,vz,Az,Fz,Kz,Pz,Uz,Zz,cA,hA,mA,rA,wA,BA,GA,LA,QA,VA,_A,dB,iB,nB,sB,xB,CB,HB,MB,RB,WB,$B,eC,jC,oC,tC,yC,DC,IC,NC,SC,XC,aD,fD,kD,pD,uD,zD,ED,JD,OD,TD,YD,bE,gE,lE,qE,vE,AE,FE,sn,un,tn,vn,wn,xn,zn,yn,An,Bn,Cn,Dn,En,on,qn,Gn,Hn,In,Fn,Jn,Kn,Ln,Mo,No,Oo,Po,Yo,Zo,_o,$o,ap,bp,cp,dp,ep,fp,Wo,Xo,gp,hp,$p,aq,bq,cq,lq,mq,nq,oq,pq,qq,rq,sq,tq,uq,jq,kq,vq,wq,or,pr,qr,rr,Ar,Br,Cr,Dr,Er,Fr,Gr,Hr,Ir,Jr,yr,zr,Kr,Lr,Ds,Es,Fs,Gs,Ps,Qs,Rs,Ss,Ts,Us,Vs,Ws,Xs,Ys,Ns,Os,Zs,_s,St,Tt,Ut,Vt,pn,rn,Mn,ln,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX];var qd=[SX,UV,bW,yW,nf,gJ,hJ,iJ,oJ,qJ,pJ,sJ,rJ,QJ,RJ,SJ,YJ,_J,ZJ,aK,$J,yK,zK,AK,GK,IK,HK,KK,JK,gL,hL,iL,oL,qL,pL,sL,rL,QL,RL,SL,YL,_L,ZL,aM,$L,Nn,On,Pn,Qn,Rn,Sn,Tn,Un,Vn,Wn,Xn,Yn,To,So,Vo,Uo,ip,jp,kp,lp,mp,np,op,pp,qp,rp,sp,tp,gq,fq,iq,hq,xq,yq,zq,Aq,Bq,Cq,Dq,Eq,Fq,Gq,Hq,Iq,vr,ur,xr,wr,Mr,Nr,Or,Pr,Qr,Rr,Sr,Tr,Ur,Vr,Wr,Xr,Ks,Js,Ms,Ls,$s,at,bt,ct,dt,et,ft,gt,ht,it,jt,kt,Zt,Yt,$t,_t,eu,ju,du,iu,cu,hu,bu,gu,au,fu,BS,AS,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX];var rd=[TX,TV,aW,xW,PI,QI,SI,RI,TI,dJ,eJ,fJ,jJ,lJ,kJ,nJ,mJ,xJ,yJ,AJ,zJ,BJ,NJ,OJ,PJ,TJ,VJ,UJ,XJ,WJ,fK,gK,iK,hK,jK,vK,wK,xK,BK,DK,CK,FK,EK,PK,QK,SK,RK,TK,dL,eL,fL,jL,lL,kL,nL,mL,xL,yL,AL,zL,BL,NL,OL,PL,TL,VL,UL,XL,WL,Qo,Ro,dq,eq,sr,tr,Hs,Is,Wt,Xt,fS,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX];var sd=[UX,SV,$V,wW,gh,XI,YI,ZI,_I,FJ,GJ,HJ,IJ,nK,oK,pK,qK,XK,YK,ZK,_K,FL,GL,HL,IL,sI,rI,uI,tI,wI,vI,yI,xI,AI,zI,CI,BI,EI,DI,GI,FI,UX,UX,UX,UX,UX,UX,UX,UX,UX,UX,UX,UX,UX,UX,UX,UX,UX,UX,UX,UX,UX,UX,UX];var td=[VX,$I,aJ,bJ,cJ,JJ,KJ,LJ,MJ,rK,sK,tK,uK,$K,aL,bL,cL,JL,KL,LL,ML,VX,VX,VX,VX,VX,VX,VX,VX,VX,VX,VX];var ud=[WX,kn];var vd=[XX,nn,mn,XX];return{___cxa_can_catch:GW,___cxa_is_pointer_type:HW,___divdi3:MW,___errno_location:WS,___getTypeName:RS,___muldi3:OW,___remdi3:PW,___udivdi3:QW,__get_daylight:nV,__get_environ:pV,__get_timezone:oV,__get_tzname:mV,_bitshift64Ashr:RW,_bitshift64Lshr:SW,_bitshift64Shl:TW,_fflush:AU,_free:XU,_i64Add:IW,_i64Subtract:JW,_llvm_bswap_i16:UW,_llvm_bswap_i32:VW,_llvm_round_f64:WW,_main:Bd,_malloc:WU,_memalign:aV,_memcpy:XW,_memmove:YW,_memset:ZW,_pthread_cond_broadcast:_W,_sbrk:$W,_strlen:dU,dynCall_dd:aX,dynCall_did:bX,dynCall_didd:cX,dynCall_ii:dX,dynCall_iidiiii:eX,dynCall_iii:fX,dynCall_iiii:gX,dynCall_iiiii:hX,dynCall_iiiiii:iX,dynCall_iiiiiii:jX,dynCall_v:kX,dynCall_vi:lX,dynCall_vii:mX,dynCall_viii:nX,dynCall_viiii:oX,dynCall_viiiii:pX,dynCall_viiiiii:qX,dynCall_viiiiiiii:rX,dynCall_viiiiiiiii:sX,dynCall_viiiiiiiiii:tX,establishStackSpace:Ad,globalCtors:wd,stackAlloc:xd,stackRestore:zd,stackSave:yd}}) +var cd=[vX,mT,lT,tU,wX,xX,yX,zX,AX,BX,CX,DX,EX,YP,vX,vX];var dd=[FX];var ed=[GX];var fd=[HX,ef,eg,gg,ig,ph,mN,qR,sR,tR,FR,TS,mW,we,Fe,He,Ie,Ng,Sg,Rl,DQ,BQ,QQ,ZQ,bR,eS,HX,HX,HX,HX,HX,HX];var gd=[IX,wT];var hd=[JX,fg,aP,rR,ER,Be,De,cg,yj,cM,fM,uQ,JX,JX,JX,JX];var id=[KX,pN,LN,US,ZS,ST,SV,sW,uW,Le,cf,rg,FU,KX,KX,KX];var jd=[LX,hg,VS,LX];var kd=[MX,Ef,Sl,Tl,Ul,Vl,Wl,Xl,Yl,Zl,_l,$l,am,bm,cm,dm,em,fm,gm,hm,im,jm,km,lm,mm,nm,om,pm,qm,rm,sm,tm,um,vm,wm,xm,ym,zm,Am,Bm,Cm,pR,iS,MX,MX,MX,MX,MX,MX,MX,MX,MX,MX,MX,MX,MX,MX,MX,MX,MX,MX,MX,MX,MX];var ld=[NX,ff,nN,JN,oR,hS,NX,NX];var md=[OX,PX,LV,fN,VQ,WQ,eW,OX];var nd=[QX,Me,Ne,Pe,Se,Te,Ve,We,oe,Ye,Ze,se,gf,jg,oN,KN,OV,PV,QV,RV,$V,kW,lW,qW,rW,tW,wW,xe,Fd,Gd,Ge,Ke,fS,fW,QX,QX,QX,QX,QX,QX,QX,QX,QX,QX,QX,QX,QX,QX,QX,QX,QX,QX,QX,QX,QX,QX,QX,QX,QX,QX,QX,QX,QX,QX];var od=[RX,fe,$e,Dd,Ed,Ae,Hd,Id,Jd,Kd,Ld,Md,Nd,Od,Pd,Qd,Rd,Je,Dg,Gg,Qm,XI,WI,FJ,EJ,nK,mK,XK,WK,FL,EL,$n,_n,bo,ao,eo,co,fo,go,ho,io,jo,ko,lo,mo,no,oo,po,qo,ro,so,to,uo,vo,Ao,zo,Bo,Co,Do,Eo,Fo,Ko,Lo,Mo,wp,vp,yp,xp,Ap,zp,Bp,Cp,Dp,Ep,Fp,Gp,Hp,Ip,Jp,Kp,Lp,Mp,Np,Sp,Rp,Tp,Up,Vp,Wp,Zp,_p,$p,Lq,Kq,Nq,Mq,Pq,Oq,Qq,Rq,Sq,Tq,Uq,Vq,Wq,Xq,Yq,Zq,_q,$q,ar,fr,er,gr,hr,ir,jr,mr,nr,or,_r,Zr,as,$r,cs,bs,ds,es,fs,gs,hs,is,js,ks,ls,ms,ns,os,ps,us,ts,vs,ws,xs,ys,Bs,Cs,Ds,nt,mt,pt,ot,rt,qt,st,tt,ut,vt,wt,xt,yt,zt,At,Bt,Ct,Dt,Et,Jt,It,Kt,Lt,Mt,Nt,Qt,Rt,St,yo,xo,wo,Jo,Io,Ho,Go,Qp,Pp,Op,Yp,Xp,dr,cr,br,lr,kr,ss,rs,qs,As,zs,Ht,Gt,Ft,Pt,Ot,yO,lP,kP,xT,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX,RX];var pd=[SX,ee,Xe,_e,ye,ze,Ce,Ee,JI,II,LI,KI,MI,NI,OI,PI,VI,uJ,vJ,wJ,xJ,DJ,cK,dK,eK,fK,lK,MK,NK,OK,PK,VK,uL,vL,wL,xL,DL,vu,Au,Fu,Ku,Pu,Uu,Zu,cv,hv,mv,rv,wv,Bv,Gv,Lv,Qv,Vv,_v,dw,iw,nw,sw,xw,Cw,Hw,Mw,Rw,Ww,$w,ex,jx,ox,tx,yx,Dx,Ix,Nx,Sx,Xx,ay,fy,ky,py,uy,zy,Ey,Jy,Oy,Ty,Yy,bz,gz,lz,qz,vz,Az,Fz,Kz,Pz,Uz,Zz,cA,hA,mA,rA,wA,BA,GA,LA,QA,VA,_A,dB,iB,nB,sB,xB,CB,HB,MB,RB,WB,$B,eC,jC,oC,tC,yC,DC,IC,NC,SC,XC,aD,fD,kD,pD,uD,zD,ED,JD,OD,TD,YD,bE,gE,lE,qE,vE,AE,FE,KE,uu,zu,Eu,Ju,Ou,Tu,Yu,bv,gv,lv,qv,vv,Av,Fv,Kv,Pv,Uv,Zv,cw,hw,mw,rw,ww,Bw,Gw,Lw,Qw,Vw,_w,dx,ix,nx,sx,xx,Cx,Hx,Mx,Rx,Wx,$x,ey,jy,oy,ty,yy,Dy,Iy,Ny,Sy,Xy,az,fz,kz,pz,uz,zz,Ez,Jz,Oz,Tz,Yz,bA,gA,lA,qA,vA,AA,FA,KA,PA,UA,ZA,cB,hB,mB,rB,wB,BB,GB,LB,QB,VB,_B,dC,iC,nC,sC,xC,CC,HC,MC,RC,WC,$C,eD,jD,oD,tD,yD,DD,ID,ND,SD,XD,aE,fE,kE,pE,uE,zE,EE,JE,tu,yu,Du,Iu,Nu,Su,Xu,av,fv,kv,pv,uv,zv,Ev,Jv,Ov,Tv,Yv,bw,gw,lw,qw,vw,Aw,Fw,Kw,Pw,Uw,Zw,cx,hx,mx,rx,wx,Bx,Gx,Lx,Qx,Vx,_x,dy,iy,ny,sy,xy,Cy,Hy,My,Ry,Wy,$y,ez,jz,oz,tz,yz,Dz,Iz,Nz,Sz,Xz,aA,fA,kA,pA,uA,zA,EA,JA,OA,TA,YA,bB,gB,lB,qB,vB,AB,FB,KB,PB,UB,ZB,cC,hC,mC,rC,wC,BC,GC,LC,QC,VC,_C,dD,iD,nD,sD,xD,CD,HD,MD,RD,WD,$D,eE,jE,oE,tE,yE,DE,IE,su,xu,Cu,Hu,Mu,Ru,Wu,$u,ev,jv,ov,tv,yv,Dv,Iv,Nv,Sv,Xv,aw,fw,kw,pw,uw,zw,Ew,Jw,Ow,Tw,Yw,bx,gx,lx,qx,vx,Ax,Fx,Kx,Px,Ux,Zx,cy,hy,my,ry,wy,By,Gy,Ly,Qy,Vy,_y,dz,iz,nz,sz,xz,Cz,Hz,Mz,Rz,Wz,$z,eA,jA,oA,tA,yA,DA,IA,NA,SA,XA,aB,fB,kB,pB,uB,zB,EB,JB,OB,TB,YB,bC,gC,lC,qC,vC,AC,FC,KC,PC,UC,ZC,cD,hD,mD,rD,wD,BD,GD,LD,QD,VD,_D,dE,iE,nE,sE,xE,CE,HE,ru,wu,Bu,Gu,Lu,Qu,Vu,_u,dv,iv,nv,sv,xv,Cv,Hv,Mv,Rv,Wv,$v,ew,jw,ow,tw,yw,Dw,Iw,Nw,Sw,Xw,ax,fx,kx,px,ux,zx,Ex,Jx,Ox,Tx,Yx,by,gy,ly,qy,vy,Ay,Fy,Ky,Py,Uy,Zy,cz,hz,mz,rz,wz,Bz,Gz,Lz,Qz,Vz,_z,dA,iA,nA,sA,xA,CA,HA,MA,RA,WA,$A,eB,jB,oB,tB,yB,DB,IB,NB,SB,XB,aC,fC,kC,pC,uC,zC,EC,JC,OC,TC,YC,bD,gD,lD,qD,vD,AD,FD,KD,PD,UD,ZD,cE,hE,mE,rE,wE,BE,GE,tn,vn,un,wn,xn,yn,An,zn,Bn,Cn,Dn,En,Fn,pn,rn,Hn,In,Jn,Gn,Kn,Ln,Mn,No,Oo,Po,Qo,Zo,_o,$o,ap,bp,cp,dp,ep,fp,gp,Xo,Yo,hp,ip,aq,bq,cq,dq,mq,nq,oq,pq,qq,rq,sq,tq,uq,vq,kq,lq,wq,xq,pr,qr,rr,sr,Br,Cr,Dr,Er,Fr,Gr,Hr,Ir,Jr,Kr,zr,Ar,Lr,Mr,Es,Fs,Gs,Hs,Qs,Rs,Ss,Ts,Us,Vs,Ws,Xs,Ys,Zs,Os,Ps,_s,$s,Tt,Ut,Vt,Wt,qn,sn,Nn,mn,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX,SX];var qd=[TX,VV,cW,zW,of,hJ,iJ,jJ,pJ,rJ,qJ,tJ,sJ,RJ,SJ,TJ,ZJ,$J,_J,bK,aK,zK,AK,BK,HK,JK,IK,LK,KK,hL,iL,jL,pL,rL,qL,tL,sL,RL,SL,TL,ZL,$L,_L,bM,aM,On,Pn,Qn,Rn,Sn,Tn,Un,Vn,Wn,Xn,Yn,Zn,Uo,To,Wo,Vo,jp,kp,lp,mp,np,op,pp,qp,rp,sp,tp,up,hq,gq,jq,iq,yq,zq,Aq,Bq,Cq,Dq,Eq,Fq,Gq,Hq,Iq,Jq,wr,vr,yr,xr,Nr,Or,Pr,Qr,Rr,Sr,Tr,Ur,Vr,Wr,Xr,Yr,Ls,Ks,Ns,Ms,at,bt,ct,dt,et,ft,gt,ht,it,jt,kt,lt,_t,Zt,au,$t,fu,ku,eu,ju,du,iu,cu,hu,bu,gu,CS,BS,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX,TX];var rd=[UX,UV,bW,yW,QI,RI,TI,SI,UI,eJ,fJ,gJ,kJ,mJ,lJ,oJ,nJ,yJ,zJ,BJ,AJ,CJ,OJ,PJ,QJ,UJ,WJ,VJ,YJ,XJ,gK,hK,jK,iK,kK,wK,xK,yK,CK,EK,DK,GK,FK,QK,RK,TK,SK,UK,eL,fL,gL,kL,mL,lL,oL,nL,yL,zL,BL,AL,CL,OL,PL,QL,UL,WL,VL,YL,XL,Ro,So,eq,fq,tr,ur,Is,Js,Xt,Yt,gS,UX,UX,UX,UX,UX,UX,UX,UX,UX,UX,UX,UX,UX,UX,UX,UX,UX,UX,UX,UX,UX,UX,UX,UX,UX,UX,UX,UX,UX,UX,UX,UX,UX,UX,UX,UX,UX,UX,UX,UX,UX,UX,UX,UX,UX,UX,UX,UX];var sd=[VX,TV,aW,xW,hh,YI,ZI,_I,$I,GJ,HJ,IJ,JJ,oK,pK,qK,rK,YK,ZK,_K,$K,GL,HL,IL,JL,tI,sI,vI,uI,xI,wI,zI,yI,BI,AI,DI,CI,FI,EI,HI,GI,VX,VX,VX,VX,VX,VX,VX,VX,VX,VX,VX,VX,VX,VX,VX,VX,VX,VX,VX,VX,VX,VX,VX];var td=[WX,aJ,bJ,cJ,dJ,KJ,LJ,MJ,NJ,sK,tK,uK,vK,aL,bL,cL,dL,KL,LL,ML,NL,WX,WX,WX,WX,WX,WX,WX,WX,WX,WX,WX];var ud=[XX,ln];var vd=[YX,on,nn,YX];return{___cxa_can_catch:HW,___cxa_is_pointer_type:IW,___divdi3:NW,___errno_location:XS,___getTypeName:SS,___muldi3:PW,___remdi3:QW,___udivdi3:RW,__get_daylight:oV,__get_environ:qV,__get_timezone:pV,__get_tzname:nV,_bitshift64Ashr:SW,_bitshift64Lshr:TW,_bitshift64Shl:UW,_fflush:BU,_free:YU,_i64Add:JW,_i64Subtract:KW,_llvm_bswap_i16:VW,_llvm_bswap_i32:WW,_llvm_round_f64:XW,_main:Bd,_malloc:XU,_memalign:bV,_memcpy:YW,_memmove:ZW,_memset:_W,_pthread_cond_broadcast:$W,_sbrk:aX,_strlen:eU,dynCall_dd:bX,dynCall_did:cX,dynCall_didd:dX,dynCall_ii:eX,dynCall_iidiiii:fX,dynCall_iii:gX,dynCall_iiii:hX,dynCall_iiiii:iX,dynCall_iiiiii:jX,dynCall_iiiiiii:kX,dynCall_v:lX,dynCall_vi:mX,dynCall_vii:nX,dynCall_viii:oX,dynCall_viiii:pX,dynCall_viiiii:qX,dynCall_viiiiii:rX,dynCall_viiiiiiii:sX,dynCall_viiiiiiiii:tX,dynCall_viiiiiiiiii:uX,establishStackSpace:Ad,globalCtors:wd,stackAlloc:xd,stackRestore:zd,stackSave:yd}}) // EMSCRIPTEN_END_ASM diff --git a/public/index.html b/public/index.html index b7e41895..e332af78 100644 --- a/public/index.html +++ b/public/index.html @@ -8,7 +8,7 @@ - +

@@ -22,7 +22,8 @@ function test() { // h5lc.play("ws://10.24.13.58:8088/live/user1.flv", canvas) - h5lc.play("ws://localhost:8080/live/user1", canvas) + h5lc.play("wss://pulls.1234326.cn/live/L01.flv", canvas) + // h5lc.play("ws://localhost:8080/live/user1", canvas) // h5lc.play("ws://test.qihaipi.com/gnddragon/test.flv", canvas) } diff --git a/settings.js b/settings.js new file mode 100644 index 00000000..1ca127d6 --- /dev/null +++ b/settings.js @@ -0,0 +1,1254 @@ +// Copyright 2010 The Emscripten Authors. All rights reserved. +// Emscripten is available under two separate licenses, the MIT license and the +// University of Illinois/NCSA Open Source License. Both these licenses can be +// found in the LICENSE file. + +// +// Various compiling-to-JS parameters. These are simply variables present when the +// JS compiler runs. To set them, do something like +// +// emcc -s OPTION1=VALUE1 -s OPTION2=VALUE2 [..other stuff..] +// +// See https://github.com/kripken/emscripten/wiki/Code-Generation-Modes/ +// +// Note that the values here are the defaults in -O0, that is, unoptimized +// mode. See apply_opt_level in tools/shared.py for how -O1,2,3 affect these +// flags. +// +// These flags should only have an effect when compiling to JS, so there +// should not be a need to have them when just compiling source to +// bitcode. However, there will also be no harm either, so it is ok to. +// + +// Tuning + +// This is the size of an individual field in a structure. 1 would +// lead to e.g. doubles and chars both taking 1 memory address. This +// is a form of 'compressed' memory, with shrinking and stretching +// according to the type, when compared to C/C++. On the other hand +// the normal value of 4 means all fields take 4 memory addresses, +// as per the norm on a 32-bit machine. +// +// Changing this from the default of 4 is deprecated. +var QUANTUM_SIZE = 4; + +// Whether we should add runtime assertions, for example to +// check that each allocation to the stack does not +// exceed its size, whether all allocations (stack and static) are +// of positive size, etc., whether we should throw if we encounter a bad __label__, i.e., +// if code flow runs into a fault +// ASSERTIONS == 2 gives even more runtime checks +var ASSERTIONS = 1; + +// Whether extra logging should be enabled. +// This logging isn't quite assertion-quality in that it isn't necessarily a +// symptom that something is wrong. +var RUNTIME_LOGGING = 0; + +// Chooses what kind of stack smash checks to emit to generated code: +// 0: Stack overflows are not checked. +// 1: Adds a security cookie at the top of the stack, which is checked at end of +// each tick and at exit (practically zero performance overhead) +// 2: Same as above, but also adds an explicit check for allocate() calls which +// call ALLOC_STACK. Has a small performance cost. +// -s ASSERTIONS=1 automatically enables -s STACK_OVERFLOW_CHECK=2. +var STACK_OVERFLOW_CHECK = 0; + +// When set to 1, will generate more verbose output during compilation. +var VERBOSE = 0; + +// Whether we will run the main() function. Disable if you embed the generated +// code in your own, and will call main() yourself at the right time (which you +// can do with Module.callMain(), with an optional parameter of commandline args). +var INVOKE_RUN = 1; + +// If 0, the runtime is not quit when main() completes (allowing code to +// run afterwards, for example from the browser main event loop). atexit()s +// are also not executed, and we can avoid including code for runtime shutdown, +// like flushing the stdio streams. +// Set this to 1 if you do want atexit()s or stdio streams to be flushed +// on exit. +var EXIT_RUNTIME = 0; + +// How to represent the initial memory content. +// 0: embed a base64 string literal representing the initial memory data +// 1: create a *.mem file containing the binary data of the initial memory; + +// use the --memory-init-file command line switch to select this method +// 2: embed a string literal representing that initial memory data +var MEM_INIT_METHOD = 0; + +// The total stack size. There is no way to enlarge the stack, so this +// value must be large enough for the program's requirements. If +// assertions are on, we will assert on not exceeding this, otherwise, +// it will fail silently. +var TOTAL_STACK = 5*1024*1024; + +// The total amount of memory to use. Using more memory than this will +// cause us to expand the heap, which can be costly with typed arrays: +// we need to copy the old heap into a new one in that case. +var TOTAL_MEMORY = 16777216; + +// What malloc()/free() to use, out of +// * dlmalloc - a powerful general-purpose malloc +// * emmalloc - a simple and compact malloc designed for emscripten +// dlmalloc is necessary for multithreading, split memory, and other special +// modes, and will be used automatically in those cases. +// In general, if you don't need one of those special modes, and if you don't +// allocate very many small objects, you should use emmalloc since it's +// smaller. Otherwise, if you do allocate many small objects, dlmalloc +// is usually worth the extra size. +var MALLOC = "dlmalloc"; + +// If 1, then when malloc would fail we abort(). This is nonstandard behavior, +// but makes sense for the web since we have a fixed amount of memory that +// must all be allocated up front, and so (a) failing mallocs are much more +// likely than on other platforms, and (b) people need a way to find out +// how big that initial allocation (TOTAL_MEMORY) must be. +// If you set this to 0, then you get the standard malloc behavior of +// returning NULL (0) when it fails. +var ABORTING_MALLOC = 1; + +// If false, we abort with an error if we try to allocate more memory than +// we can (TOTAL_MEMORY). If true, we will grow the memory arrays at +// runtime, seamlessly and dynamically. This has a performance cost in asm.js, +// both during the actual growth and in general (the latter is because in +// that case we must be careful about optimizations, in particular the +// eliminator), but in wasm it is efficient and should be used whenever relevant. +// See https://code.google.com/p/v8/issues/detail?id=3907 regarding +// memory growth performance in chrome. +// Note that growing memory means we replace the JS typed array views, as +// once created they cannot be resized. (This happens both in asm.js and in +// wasm - in wasm we can grow the Memory, but still need to create new +// views for JS.) +// Setting this option on will disable ABORTING_MALLOC, in other words, +// ALLOW_MEMORY_GROWTH enables fully standard behavior, of both malloc +// returning 0 when it fails, and also of being able to allocate more +// memory from the system as necessary. +var ALLOW_MEMORY_GROWTH = 0; + +// where global data begins; the start of static memory. -1 means use the +// default, any other value will be used as an override +var GLOBAL_BASE = -1; + +// where the stack will begin. -1 means use the default. if the stack cannot +// start at the value specified here, it may start at a higher location. +// this is useful when debugging two builds that may differ in their static +// allocations, by forcing the stack to start in the same place their +// memory usage patterns would be the same. + +// Code embetterments +var STACK_START = -1; + +// How to load and store 64-bit doubles. A potential risk is that doubles may +// be only 32-bit aligned. Forcing 64-bit alignment in Clang itself should be +// able to solve that, or as a workaround in DOUBLE_MODE 1 we will carefully +// load in parts, in a way that requires only 32-bit alignment. In DOUBLE_MODE 0 +// we will simply store and load doubles as 32-bit floats, so when they are +// stored/loaded they will truncate from 64 to 32 bits, and lose precision. This +// is faster, and might work for some code (but probably that code should just +// use floats and not doubles anyhow). Note that a downside of DOUBLE_MODE 1 is +// that we currently store the double in parts, then load it aligned, and that +// load-store will make JS engines alter it if it is being stored to a typed +// array for security reasons. That will 'fix' the number from being a NaN or an +// infinite number. +var DOUBLE_MODE = 1; + +// If enabled, all memory accesses are assumed to be unaligned. In unaligned +// memory mode, you can run nonportable code that typically would break in JS +// (or on ARM for that matter, which also cannot do unaligned reads/writes), at +// the cost of slowness +var UNALIGNED_MEMORY = 0; + +// If enabled, assumes all reads and writes are fully aligned for the type they +// use. This is true in proper C code (no undefined behavior), but is sadly +// common enough that we can't do it by default. See SAFE_HEAP. For ways to +// help find places in your code where unaligned reads/writes are done - you +// might be able to refactor your codebase to prevent them, which leads to +// smaller and faster code, or even the option to turn this flag on. +var FORCE_ALIGNED_MEMORY = 0; + +// Warn at compile time about instructions that LLVM tells us are not fully +// aligned. This is useful to find places in your code where you might refactor +// to ensure proper alignment. This is currently only supported in asm.js, not +// wasm. +var WARN_UNALIGNED = 0; + +// If enabled, i64 addition etc. is emulated - which is slow but precise. If +// disabled, we use the 'double trick' which is fast but incurs rounding at high +// values. If set to 2, we always include the i64 math code, which is necessary +// in the case that we can't know at compile time that 64-bit math is needed. +// For example, if you print 64-bit values with printf, but never add them, we +// can't know at compile time and you need to set this to 2. +var PRECISE_I64_MATH = 1; + +// 0: Use JS numbers for floating-point values. These are 64-bit and do not model C++ +// floats exactly, which are 32-bit. +// 1: Model C++ floats precisely, using Math.fround, polyfilling when necessary. This +// can be slow if the polyfill is used on heavy float32 computation. See note on +// browser support below. +// 2: Model C++ floats precisely using Math.fround if available in the JS engine, otherwise +// use an empty polyfill. This will have much less of a speed penalty than using the full +// polyfill in cases where engine support is not present. In addition, we can +// remove the empty polyfill calls themselves on the client when generating html, +// which should mean that this gives you the best of both worlds of 0 and 1, and is +// therefore recommended, *unless* you need a guarantee of proper float32 precision +// (in that case, use option 1). +// XXX Note: To optimize float32-using code, we use the 'const' keyword in the emitted +// code. This allows us to avoid unnecessary calls to Math.fround, which would +// slow down engines not yet supporting that function. 'const' is present in +// all modern browsers, including Firefox, Chrome and Safari, but in IE is only +// present in IE11 and above. Therefore if you need to support legacy versions of +// IE, you should not enable PRECISE_F32 1 or 2. +var PRECISE_F32 = 0; + +// Whether to allow autovectorized SIMD code +// (https://github.com/johnmccutchan/ecmascript_simd). SIMD intrinsics are +// always compiled to SIMD code, so you only need this option if you also want +// the autovectorizer to run. Note that SIMD support in browsers is not yet +// there (as of Sep 2, 2014), so you will be running in a polyfill, which is not +// fast. +var SIMD = 0; + +// Whether closure compiling is being run on this output +var USE_CLOSURE_COMPILER = 0; + +// Ignore closure warnings and errors (like on duplicate definitions) +var IGNORE_CLOSURE_COMPILER_ERRORS = 0; + +// When enabled, does not push/pop the stack at all in functions that have no +// basic stack usage. But, they may allocate stack later, and in a loop, this +// can be very bad. In particular, when debugging, printf()ing a lot can exhaust +// the stack very fast, with this option. In particular, be careful with the +// autodebugger! (We do turn this off automatically in that case, though.) +var SKIP_STACK_IN_SMALL = 1; + +// A limit on inlining. If 0, we will inline normally in LLVM and closure. If +// greater than 0, we will *not* inline in LLVM, and we will prevent inlining of +// functions of this size or larger in closure. 50 is a reasonable setting if +// you do not want inlining +var INLINING_LIMIT = 0; + +// A function size above which we try to automatically break up functions into +// smaller ones, to avoid the downsides of very large functions (JS engines +// often compile them very slowly, compile them with lower optimizations, or do +// not optimize them at all). If 0, we do not perform outlining at all. To see +// which funcs are large, you can inspect the source in a debug build (-g2 or -g +// for example), and can run tools/find_bigfuncs.py on that to get a sorted list +// by size. Another possibility is to look in the web console in firefox, which +// will note slowly-compiling functions. You will probably want to experiment +// with various values to see the impact on compilation time, code size and +// runtime throughput. It is hard to say what values to start testing with, but +// something around 20,000 to 100,000 might make sense. (The unit size is +// number of AST nodes.) Outlining decreases maximum function size, but does so +// at the cost of increasing overall code size as well as performance (outlining +// itself makes code less optimized, and requires emscripten to disable some +// passes that are incompatible with it). +// Note: For wasm there is usually no need to set OUTLINING_LIMIT, as VMs can +// handle large functions well anyhow. +var OUTLINING_LIMIT = 0; + +// Run aggressiveVariableElimination in js-optimizer.js +var AGGRESSIVE_VARIABLE_ELIMINATION = 0; + +// Whether to simplify ifs in js-optimizer.js + +// Generated code debugging options +var SIMPLIFY_IFS = 1; + +// Check each write to the heap, for example, this will give a clear +// error on what would be segfaults in a native build (like dereferencing +// 0). See preamble.js for the actual checks performed. +var SAFE_HEAP = 0; + +// Log out all SAFE_HEAP operations +var SAFE_HEAP_LOG = 0; + +// In asm.js mode, we cannot simply add function pointers to function tables, so +// we reserve some slots for them. An alternative to this is to use +// EMULATED_FUNCTION_POINTERS, in which case we don't need to reserve. +var RESERVED_FUNCTION_POINTERS = 0; + +// Whether to allow function pointers to alias if they have a different type. +// This can greatly decrease table sizes in asm.js, but can break code that +// compares function pointers across different types. +var ALIASING_FUNCTION_POINTERS = 0; + +// asm.js: By default we implement function pointers using asm.js function +// tables, which is very fast. With this option, we implement them more flexibly +// by emulating them: we call out into JS, which handles the function tables. +// 1: Full emulation. This means you can modify the +// table in JS fully dynamically, not just add to +// the end. +// 2: Optimized emulation. Assumes once something is +// added to the table, it will not change. This allows +// dynamic linking while keeping performance fast, +// as we can do a fast call into the internal table +// if the fp is in the right range. Shared modules +// (MAIN_MODULE, SIDE_MODULE) do this by default. +// This requires RELOCATABLE to be set. +// wasm: +// By default we use a wasm Table for function pointers, which is fast and +// efficient. When enabling emulation, we also use the Table *outside* the wasm +// module, exactly as when emulating in asm.js, just replacing the plain JS +// array with a Table. However, Tables have some limitations currently, like not +// being able to assign an arbitrary JS method to them, which we have yet to +// work around. +var EMULATED_FUNCTION_POINTERS = 0; + +// Allows function pointers to be cast, wraps each call of an incorrect type +// with a runtime correction. This adds overhead and should not be used +// normally. It also forces ALIASING_FUNCTION_POINTERS to 0. Aside from making +// calls not fail, this tries to convert values as best it can. In asm.js, this +// uses doubles as the JS number type, so if you send a double to a parameter +// accepting an int, it will be |0-d into a (signed) int. In wasm, we have i64s +// so that is not valid, and instead we use 64 bits to represent values, as if +// we wrote the sent value to memory and loaded the received type from the same +// memory (using truncs/extends/ reinterprets). This means that when types do +// not match the emulated values may differ between asm.js and wasm (and native, +// for that matter - this is all undefined behavior). In any case, both +// approaches appear good enough to support Python, which is the main use case +// motivating this feature. +var EMULATE_FUNCTION_POINTER_CASTS = 0; + +// Print out exceptions in emscriptened code. Does not work in asm.js mode +var EXCEPTION_DEBUG = 0; + +// If 1, build in libcxxabi's full c++ demangling code, to allow stackTrace() +// to emit fully proper demangled c++ names +var DEMANGLE_SUPPORT = 0; + +// Print out when we enter a library call (library*.js). You can also unset +// Runtime.debug at runtime for logging to cease, and can set it when you want +// it back. A simple way to set it in C++ is +// emscripten_run_script("Runtime.debug = ...;"); +var LIBRARY_DEBUG = 0; + +// Print out all syscalls +var SYSCALL_DEBUG = 0; + +// Log out socket/network data transfer. +var SOCKET_DEBUG = 0; + +// Select socket backend, either webrtc or websockets. XXX webrtc is not +// currently tested, may be broken + +// As well as being configurable at compile time via the "-s" option the +// WEBSOCKET_URL and WEBSOCKET_SUBPROTOCOL +// settings may configured at run time via the Module object e.g. +// Module['websocket'] = {subprotocol: 'base64, binary, text'}; +// Module['websocket'] = {url: 'wss://', subprotocol: 'base64'}; +// You can set 'subprotocol' to null, if you don't want to specify it +// Run time configuration may be useful as it lets an application select +// multiple different services. +var SOCKET_WEBRTC = 0; + +// A string containing either a WebSocket URL prefix (ws:// or wss://) or a complete +// RFC 6455 URL - "ws[s]:" "//" host [ ":" port ] path [ "?" query ]. +// In the (default) case of only a prefix being specified the URL will be constructed from +// prefix + addr + ':' + port +// where addr and port are derived from the socket connect/bind/accept calls. +var WEBSOCKET_URL = 'ws://'; + +// A string containing a comma separated list of WebSocket subprotocols +// as would be present in the Sec-WebSocket-Protocol header. +var WEBSOCKET_SUBPROTOCOL = 'binary'; + +// Print out debugging information from our OpenAL implementation. +var OPENAL_DEBUG = 0; + +// Adds extra checks for error situations in the GL library. Can impact +// performance. +var GL_ASSERTIONS = 0; + +// If enabled, prints out all API calls to WebGL contexts. (*very* verbose) +var TRACE_WEBGL_CALLS = 0; + +// Enables more verbose debug printing of WebGL related operations. As with +// LIBRARY_DEBUG, this is toggleable at runtime with option GL.debug. +var GL_DEBUG = 0; + +// When enabled, sets preserveDrawingBuffer in the context, to allow tests to +// work (but adds overhead) +var GL_TESTING = 0; + +// How large GL emulation temp buffers are +var GL_MAX_TEMP_BUFFER_SIZE = 2097152; + +// Enables some potentially-unsafe optimizations in GL emulation code +var GL_UNSAFE_OPTS = 1; + +// Forces support for all GLES2 features, not just the WebGL-friendly subset. +var FULL_ES2 = 0; + +// Enables WebGL2 native functions. This mode will also create a WebGL2 +// context by default if no version is specified. +var USE_WEBGL2 = 0; + +// If true, emulates some WebGL 1 features on WebGL 2 contexts, meaning that +// applications that use WebGL 1/GLES 2 can initialize a WebGL 2/GLES3 context, +// but still keep using WebGL1/GLES 2 functionality that no longer is supported +// in WebGL2/GLES3. Currently this emulates GL_EXT_shader_texture_lod extension +// in GLSLES 1.00 shaders, support for unsized internal texture formats, and the +// GL_HALF_FLOAT_OES != GL_HALF_FLOAT mixup. +var WEBGL2_BACKWARDS_COMPATIBILITY_EMULATION = 0; + +// Forces support for all GLES3 features, not just the WebGL2-friendly subset. +var FULL_ES3 = 0; + +// Includes code to emulate various desktop GL features. Incomplete but useful +// in some cases, see +// http://kripken.github.io/emscripten-site/docs/porting/multimedia_and_graphics/OpenGL-support.html +var LEGACY_GL_EMULATION = 0; + +// If you specified LEGACY_GL_EMULATION = 1 and only use fixed function pipeline +// in your code, you can also set this to 1 to signal the GL emulation layer +// that it can perform extra optimizations by knowing that the user code does +// not use shaders at all. If LEGACY_GL_EMULATION = 0, this setting has no +// effect. +var GL_FFP_ONLY = 0; + +// If you want to create the WebGL context up front in JS code, set this to 1 +// and set Module['preinitializedWebGLContext'] to a precreated WebGL context. +// WebGL initialization afterwards will use this GL context to render. +var GL_PREINITIALIZED_CONTEXT = 0; + +// Enables building of stb-image, a tiny public-domain library for decoding +// images, allowing decoding of images without using the browser's built-in +// decoders. The benefit is that this can be done synchronously, however, it +// will not be as fast as the browser itself. When enabled, stb-image will be +// used automatically from IMG_Load and IMG_Load_RW. You can also call the +// stbi_* functions directly yourself. +var STB_IMAGE = 0; + +// Enable this to get support for non-modern browsers, node.js, etc. This gives you +// the highest possible probability of the code working everywhere, even in rare old +// browsers and shell environments. Specifically: +// * Add polyfilling for Math.clz32, Math.trunc, Math.imul, Math.fround. +// * Disable WebAssembly. +var LEGACY_VM_SUPPORT = 0; + +// By default, emscripten output will run on the web, in a web worker, +// in node.js, or in a JS shell like d8, js, or jsc. You can set this option to +// specify that the output should only run in one particular environment, which +// must be one of +// 'web' - the normal web environment. +// 'worker' - a web worker environment. +// 'node' - Node.js. +// 'shell' - a JS shell like d8, js, or jsc. +// (There is also a 'pthread' environment, see shell.js, but it cannot be specified +// manually yet TODO) +var ENVIRONMENT = ''; + +// Enable this to support lz4-compressed file packages. They are stored compressed in memory, and +// decompressed on the fly, avoiding storing the entire decompressed data in memory at once. +// If you run the file packager separately, you still need to build the main program with this flag, +// and also pass --lz4 to the file packager. +// (You can also manually compress one on the client, using LZ4.loadPackage(), but that is less +// recommended.) +// Limitations: +// * LZ4-compressed files are only decompressed when needed, so they are not available +// for special preloading operations like pre-decoding of images using browser codecs, +// preloadPlugin stuff, etc. +// * LZ4 files are read-only. +var LZ4 = 0; + +// Disables generating code to actually catch exceptions. This disabling is on +// by default as the overhead of exceptions is quite high in size and speed +// currently (in the future, wasm should improve that). When exceptions are +// disabled, if an exception actually happens then it will not be caught +// and the program will halt (so this will not introduce silent failures). +// There are 3 specific modes here: +// DISABLE_EXCEPTION_CATCHING = 0 - generate code to actually catch exceptions +// DISABLE_EXCEPTION_CATCHING = 1 - disable exception catching at all +// DISABLE_EXCEPTION_CATCHING = 2 - disable exception catching, but enables +// catching in whitelist +// XXX note that this removes *catching* of exceptions, which is the main +// issue for speed, but you should build source files with +// -fno-exceptions to really get rid of all exceptions code overhead, +// as it may contain thrown exceptions that are never caught (e.g. +// just using std::vector can have that). -fno-rtti may help as well. +var DISABLE_EXCEPTION_CATCHING = 1; + +// Enables catching exception in the listed functions only, if +// DISABLE_EXCEPTION_CATCHING = 2 is set +var EXCEPTION_CATCHING_WHITELIST = []; + +// By default we handle exit() in node, by catching the Exit exception. However, +// this means we catch all process exceptions. If you disable this, then we no +// longer do that, and exceptions work normally, which can be useful for libraries +// or programs that don't need exit() to work. + +// For more explanations of this option, please visit +// https://github.com/kripken/emscripten/wiki/Asyncify +var NODEJS_CATCH_EXIT = 1; + +// Whether to enable asyncify transformation +// This allows to inject some async functions to the C code that appear to be sync +// e.g. emscripten_sleep +var ASYNCIFY = 0; + +// Functions that call any function in the list, directly or indirectly +var ASYNCIFY_FUNCTIONS = ['emscripten_sleep', + 'emscripten_wget', // will be transformed + 'emscripten_yield']; +// Functions in this list are never considered async, even if they appear in ASYNCIFY_FUNCTIONS +var ASYNCIFY_WHITELIST = ['qsort', + 'trinkle', // In the asyncify transformation, any function that calls a function pointer is considered async + '__toread', // This whitelist is useful when a function is known to be sync + '__uflow', // currently this link contains some functions in libc + '__fwritex', + 'MUSL_vfprintf']; + +// Runtime elements that are exported on Module by default. We used to export +// quite a lot here, but have removed them all, so this option is redundant +// given that EXTRA_EXPORTED_RUNTIME_METHODS exists, and so this option exists +// only for backwards compatibility. You should use +// EXTRA_EXPORTED_RUNTIME_METHODS for things you want to export from the +// runtime. Note that methods on this list are only exported if they are +// included (either automatically from linking, or due to being in +// DEFAULT_LIBRARY_FUNCS_TO_INCLUDE). +// Note that the name may be slightly misleading, as this is for any JS library +// element, and not just methods. For example, we export the Runtime object by +// having "Runtime" in this list. +var EXPORTED_RUNTIME_METHODS = []; + +// Additional methods to those in EXPORTED_RUNTIME_METHODS. Adjusting that list +// lets you remove methods that would be exported by default; setting values in +// this list lets you add to the default list without modifying it. +var EXTRA_EXPORTED_RUNTIME_METHODS = []; + +// Log all FS operations. This is especially helpful when you're porting a new +// project and want to see a list of file system operations happening so that +// you can create a virtual file system with all of the required files. +var FS_LOG = 0; + +// If set to nonzero, the provided virtual filesystem if treated +// case-insensitive, like Windows and OSX do. If set to 0, the VFS is +// case-sensitive, like on Linux. +var CASE_INSENSITIVE_FS = 0; + +// If set to nonzero, MEMFS will always utilize typed arrays as the backing +// store for appending data to files. The default behavior is to use typed +// arrays for files when the file size doesn't change after initial creation, +// and for files that do change size, use normal JS arrays instead. +var MEMFS_APPEND_TO_TYPED_ARRAYS = 0; + +// If set to 0, does not build in any filesystem support. Useful if you are just +// doing pure computation, but not reading files or using any streams (including +// fprintf, and other stdio.h things) or anything related. The one exception is +// there is partial support for printf, and puts, hackishly. The compiler will +// automatically set this if it detects that syscall usage (which is static) +// does not require a full filesystem. If you still want filesystem support, use +// FORCE_FILESYSTEM +var FILESYSTEM = 1; + +// Makes full filesystem support be included, even if statically it looks like +// it is not used. For example, if your C code uses no files, but you include +// some JS that does, you might need this. +var FORCE_FILESYSTEM = 0; + +// This mode is intended for use with Node.js (and will throw if the build runs +// in other engines). The File System API will directly use Node.js API without +// requiring `FS.mount()`. The initial working directory will be same as +// process.cwd() instead of VFS root directory. Because this mode directly uses +// Node.js to access the real local filesystem on your OS, the code will not +// necessarily be portable between OSes - it will be as portable as a Node.js +// program would be, which means that differences in how the underlying OS +// handles permissions and errors and so forth may be noticeable. This has +// mostly been tested on Linux so far. +var NODERAWFS = 0; + +// Functions that are explicitly exported. These functions are kept alive +// through LLVM dead code elimination, and also made accessible outside of the +// generated code even after running closure compiler (on "Module"). Note the +// necessary prefix of "_". +// +// Note also that this is the full list of exported functions - if you have a +// main() function and want it to run, you must include it in this list (as +// _main is by default in this value, and if you override it without keeping it +// there, you are in effect removing it). +var EXPORTED_FUNCTIONS = ['_main']; + +// If true, we export all the symbols. Note that this does *not* affect LLVM, so +// it can still eliminate functions as dead. This just exports them on the +// Module object. +var EXPORT_ALL = 0; + +// Export all bindings generator functions (prefixed with emscripten_bind_). This +// is necessary to use the WebIDL binder with asm.js +var EXPORT_BINDINGS = 0; + +// If true, export all the functions appearing in a function table, and the +// tables themselves. +var EXPORT_FUNCTION_TABLES = 0; + +// Remembers the values of these settings, and makes them accessible +// through Runtime.getCompilerSetting and emscripten_get_compiler_setting. +// To see what is retained, look for compilerSettings in the generated code. + +var RETAIN_COMPILER_SETTINGS = 0; + +// this will contain the emscripten version. you should not modify it. This +// and the following few settings are useful in combination with +// RETAIN_COMPILER_SETTINGS +var EMSCRIPTEN_VERSION = ''; + +// this will contain the optimization level (-Ox). you should not modify it. +var OPT_LEVEL = 0; + +// this will contain the debug level (-gx). you should not modify it. +var DEBUG_LEVEL = 0; + +// Whether we are profiling functions. you should not modify it. +var PROFILING_FUNCS = 0; + +// JS library elements (C functions implemented in JS) that we include by +// default. If you want to make sure something is included by the JS compiler, +// add it here. For example, if you do not use some emscripten_* C API call +// from C, but you want to call it from JS, add it here (and in EXPORTED +// FUNCTIONS with prefix "_", if you use closure compiler). Note that the name +// may be slightly misleading, as this is for any JS library element, and not +// just functions. For example, you can include the Browser object by adding +// "$Browser" to this list. +var DEFAULT_LIBRARY_FUNCS_TO_INCLUDE = ['memcpy', 'memset', 'malloc', 'free']; + +// This list is also used to determine auto-exporting of library dependencies +// (i.e., functions that might be dependencies of JS library functions, that if +// so we must export so that if they are implemented in C they will be +// accessible, in ASM_JS mode). +var LIBRARY_DEPS_TO_AUTOEXPORT = ['memcpy']; + +// Include all JS library functions instead of the sum of +// DEFAULT_LIBRARY_FUNCS_TO_INCLUDE + any functions used by the generated code. +// This is needed when dynamically loading (i.e. dlopen) modules that make use +// of runtime library functions that are not used in the main module. Note that +// this only applies to js libraries, *not* C. You will need the main file to +// include all needed C libraries. For example, if a module uses malloc or new, +// you will need to use those in the main file too to pull in malloc for use by +// the module. +var INCLUDE_FULL_LIBRARY = 0; + +// Set this to a string to override the shell file used +var SHELL_FILE = 0; + +// If set to 1, we emit relocatable code from the LLVM backend; both +// globals and function pointers are all offset (by gb and fp, respectively) +var RELOCATABLE = 0; + +// A main module is a file compiled in a way that allows us to link it to +// a side module using emlink.py. +// 1: Normal main module. +// 2: DCE'd main module. We eliminate dead code normally. If a side +// module needs something from main, it is up to you to make sure +// it is kept alive. +var MAIN_MODULE = 0; + +// Corresponds to MAIN_MODULE (also supports modes 1 and 2) +var SIDE_MODULE = 0; + +// If this is a main module (MAIN_MODULE == 1), then +// we will link these at runtime. They must have been built with +// SIDE_MODULE == 1. +var RUNTIME_LINKED_LIBS = []; + +// (deprecated option TODO: remove) +var BUILD_AS_SHARED_LIB = 0; + +// If set to 1, this is a worker library, a special kind of library that is run +// in a worker. See emscripten.h +var BUILD_AS_WORKER = 0; + +// If set to 1, we build the project into a js file that will run in a worker, +// and generate an html file that proxies input and output to/from it. +var PROXY_TO_WORKER = 0; + +// If set, the script file name the main thread loads. Useful if your project +// doesn't run the main emscripten- generated script immediately but does some +// setup before +var PROXY_TO_WORKER_FILENAME = ''; + +// If set to 1, compiles in a small stub main() in between the real main() which +// calls pthread_create() to run the application main() in a pthread. This is +// something that applications can do manually as well if they wish, this option +// is provided as convenience. +var PROXY_TO_PTHREAD = 0; + +// If set to 1, this file can be linked with others, either as a shared library +// or as the main file that calls a shared library. To enable that, we will not +// internalize all symbols and cull the unused ones, in other words, we will not +// remove unused functions and globals, which might be used by another module we +// are linked with. +// +// BUILD_AS_SHARED_LIB > 0 implies this, so it is only important to set this to +// 1 when building the main file, and *if* that main file has symbols that the +// library it will open will then access through an extern. LINKABLE of 0 is +// very useful in that we can reduce the size of the generated code very +// significantly, by removing everything not actually used. +var LINKABLE = 0; + +// Emscripten 'strict' build mode: Drop supporting any deprecated build options. +// Set the environment variable EMCC_STRICT=1 or pass -s STRICT=1 to test that a +// codebase builds nicely in forward compatible manner. +var STRICT = 0; + +// If set to 1, we will warn on any undefined symbols that are not resolved by +// the library_*.js files. Note that it is common in large projects to not +// implement everything, when you know what is not going to actually be called +// (and don't want to mess with the existing buildsystem), and functions might +// be implemented later on, say in --pre-js, so you may want to build with -s +// WARN_ON_UNDEFINED_SYMBOLS=0 to disable the warnings if they annoy you. See +// also ERROR_ON_UNDEFINED_SYMBOLS. Any undefined symbols that are listed in- +// EXPORTED_FUNCTIONS will also be reported. +var WARN_ON_UNDEFINED_SYMBOLS = 1; + +// If set to 1, we will give a link-time error on any undefined symbols (see +// WARN_ON_UNDEFINED_SYMBOLS). The default value is 1. To allow undefined +// symbols at link time set this to 0, in which case if an undefined function is +// called a runtime error will occur. Any undefined symbols that are listed in +// EXPORTED_FUNCTIONS will also be reported. +var ERROR_ON_UNDEFINED_SYMBOLS = 1; + +// If set to 1, any -lfoo directives pointing to nonexisting library files will +// issue a linker error. + +// The default value for this is currently 0, but will be transitioned to 1 in +// the future. To keep relying on building with -s ERROR_ON_MISSING_LIBRARIES=0 +// setting, prefer to set that option explicitly in your build system. +var ERROR_ON_MISSING_LIBRARIES = 0; + +// Specifies a list of Emscripten-provided JS libraries to link against. +// (internal, use -lfoo or -lfoo.js to link to Emscripten system JS libraries) +var SYSTEM_JS_LIBRARIES = []; + +// Use small chunk size for binary synchronous XHR's in Web Workers. Used for +// testing. See test_chunked_synchronous_xhr in runner.py and library.js. +var SMALL_XHR_CHUNKS = 0; + +// If 1, will include shim code that tries to 'fake' a browser environment, in +// order to let you run a browser program (say, using SDL) in the shell. +// Obviously nothing is rendered, but this can be useful for benchmarking and +// debugging if actual rendering is not the issue. Note that the shim code is +// very partial - it is hard to fake a whole browser! - so keep your +// expectations low for this to work. +var HEADLESS = 0; + +// If 1, we force Date.now(), Math.random, etc. to return deterministic results. +// Good for comparing builds for debugging purposes (and nothing else) +var DETERMINISTIC = 0; + +// By default we emit all code in a straightforward way into the output +// .js file. That means that if you load that in a script tag in a web +// page, it will use the global scope. With MODULARIZE set, we will instead emit +// +// var EXPORT_NAME = function(Module) { +// Module = Module || {}; +// // .. all the emitted code from emscripten .. +// return Module; +// }; +// +// where EXPORT_NAME is from the option of the same name (so, by default +// it will be var Module = ..., and so you should change EXPORT_NAME if +// you want more than one module in the same web page). +// +// You can then use this by something like +// +// var instance = EXPORT_NAME(); +// +// or +// +// var instance = EXPORT_NAME({ option: value, ... }); +// +// Note the parentheses - we are calling EXPORT_NAME in order to instantiate +// the module. (This allows, in particular, for you to create multiple +// instantiations, etc.) +// +// If you add --pre-js or --post-js files, they will be included inside +// the module with the rest of the emitted code. That way, they can be +// optimized together with it. (If you want something outside of the module, +// that is, literally before or after all the code including the extra +// MODULARIZE code, you can do that by modifying the JS yourself after +// emscripten runs. While --pre-js and --post-js happen to do that in +// non-modularize mode, their big feature is that they add code to be +// optimized with the rest of the emitted code, allowing better dead code +// elimination and minification.) +// +// Modularize also provides a promise-like API, +// +// var instance = EXPORT_NAME().then(function(Module) { .. }); +// +// The callback is called when it is safe to run compiled code, similar +// to the onRuntimeInitialized callback (i.e., it waits for all +// necessary async events). It receives the instance as a parameter, +// for convenience. +// +// Note that in MODULARIZE mode we do *not* look at the global `Module` +// object, so if you define things there they will be ignored. The reason +// is that you will be constructing the instances manually, and can +// provide Module there, or something else, as you want. This differs +// in MODULARIZE_INSTANCE mode, where we *do* look at the global, since +// as in non-MODULARIZE mode there is just one global instance, and it +// is constructed by the setup code. +var MODULARIZE = 0; + +// Similar to MODULARIZE, but while that mode exports a function, with which you +// can create multiple instances, this option exports a singleton instance. In +// other words, it's the same as if you used MODULARIZE and did EXPORT_NAME = +// EXPORT_NAME() to create the instance manually. +// +// Note that the promise-like API MODULARIZE provides isn't available here +// (since you arean't creating the instance yourself). +var MODULARIZE_INSTANCE = 0; + +// Export using an ES6 Module export rather than a UMD export. MODULARIZE must +// be enabled for ES6 exports. +var EXPORT_ES6 = 0; + +// If 1, will just time how long main() takes to execute, and not print out +// anything at all whatsoever. This is useful for benchmarking. +var BENCHMARK = 0; + +// If 1, generate code in asm.js format. If 2, emits the same code except for +// omitting 'use asm' +var ASM_JS = 1; + +// If 1, will finalize the final emitted code, including operations that prevent +// later js optimizer passes from running, like converting +5 into 5.0 (the js +// optimizer sees 5.0 as just 5). +var FINALIZE_ASM_JS = 1; + +// If 1, then all exports from the asm/wasm module will be accessed indirectly, +// which allow the module to be swapped later, simply by replacing +// Module['asm']. +// +// Note: It is very important that the replacement module be built with the same +// optimizations and so forth, as we depend on them being a drop-in replacement +// for each other (same globals on the heap at the same locations, etc.) +var SWAPPABLE_ASM_MODULE = 0; + +// see emcc --separate-asm +var SEPARATE_ASM = 0; + +// This disables linking and other causes of adding extra code automatically, +// and as a result, your output compiled code (in the .asm.js file, if you emit +// with --separate-asm) will contain only the functions you provide. +var ONLY_MY_CODE = 0; + +// Enables profile-guided optimization in the form of runtime checks for which +// functions are actually called. Emits a list during shutdown that you can pass +// to DEAD_FUNCTIONS (you can also emit the list manually by calling +// PGOMonitor.dump()); +var PGO = 0; + +// JS library functions on this list are not converted to JS, and calls to them +// are turned into abort()s. This is potentially useful for reducing code size. +// If a dead function is actually called, you will get a runtime error. +// +// TODO: make this work on compiled methods as well, perhaps by adding a JS +// optimizer pass? +var DEAD_FUNCTIONS = []; + +// If 1, generate an explicit conversion of zext i1 to i32, using ?: +var EXPLICIT_ZEXT = 0; + +// Global variable to export the module as for environments without a +// standardized module loading system (e.g. the browser and SM shell). +var EXPORT_NAME = 'Module'; + +// When set to 0, we do not emit eval() and new Function(), which disables some functionality +// (causing runtime errors if attempted to be used), but allows the emitted code to be +// acceptable in places that disallow dynamic code execution (chrome packaged app, +// privileged firefox app, etc.). Pass this flag when developing an Emscripten application +// that is targeting a privileged or a certified execution environment, see +// Firefox Content Security Policy (CSP) webpage for details: +// https://developer.mozilla.org/en-US/Apps/Build/Building_apps_for_Firefox_OS/CSP +// When this flag is set, the following features (linker flags) are unavailable: +// --closure 1: When using closure compiler, eval() would be needed to locate the Module object. +// -s RELOCATABLE=1: the function Runtime.loadDynamicLibrary would need to eval(). +// --bind: Embind would need to eval(). +// Additionally, the following Emscripten runtime functions are unavailable when +// DYNAMIC_EXECUTION=0 is set, and an attempt to call them will throw an exception: +// - emscripten_run_script(), +// - emscripten_run_script_int(), +// - emscripten_run_script_string(), +// - dlopen(), +// - the functions ccall() and cwrap() are still available, but they are restricted to only +// being able to call functions that have been exported in the Module object in advance. +// When set to -s DYNAMIC_EXECUTION=2 flag is set, attempts to call to eval() are demoted +// to warnings instead of throwing an exception. +var DYNAMIC_EXECUTION = 1; + +// Runs tools/emterpretify on the compiler output +var EMTERPRETIFY = 0; + +// If defined, a file to write bytecode to, otherwise the default is to embed it +// in text JS arrays (which is less efficient). When emitting HTML, we +// automatically generate code to load this file and set it to +// Module.emterpreterFile. If you emit JS, you need to make sure that +// Module.emterpreterFile contains an ArrayBuffer with the bytecode, when the +// code loads. Note: You might need to quote twice in the shell, something like +// -s 'EMTERPRETIFY_FILE="waka"' +var EMTERPRETIFY_FILE = ''; + +// Functions to not emterpret, that is, to run normally at full speed +var EMTERPRETIFY_BLACKLIST = []; + +// If this contains any functions, then only the functions in this list are +// emterpreted (as if all the rest are blacklisted; this overrides the +// BLACKLIST) +var EMTERPRETIFY_WHITELIST = []; + +// Allows sync code in the emterpreter, by saving the call stack, doing an async +// delay, and resuming it +var EMTERPRETIFY_ASYNC = 0; + +// Performs a static analysis to suggest which functions should be run in the +// emterpreter, as it appears they can be on the stack when a sync function is +// called in the EMTERPRETIFY_ASYNC option. After showing the suggested list, +// compilation will halt. You can apply the provided list as an emcc argument +// when compiling later. +var EMTERPRETIFY_ADVISE = 0; + +// If you have additional custom synchronous functions, add them to this list +// and the advise mode will include them in its analysis. +var EMTERPRETIFY_SYNCLIST = []; + +// If > 0, we split memory into chunks, of the size given in this parameter. +// * TOTAL_MEMORY becomes the maximum amount of memory, as chunks are allocated on +// demand. That means this achieves a result similar to ALLOW_MEMORY_GROWTH, but +// better since it can free chunks in the middle. You still to set +// ALLOW_MEMORY_GROWTH if you want memory to grow beyond the initial TOTAL_MEMORY +// target. +// * Larger SPLIT_MEMORY sizes are generally faster to run. +// TODO: more docs +// TODO: add malloc-split to embuilder +var SPLIT_MEMORY = 0; + +// Similar to SAFE_HEAP, but for SPLIT_MEMORY. +var SAFE_SPLIT_MEMORY = 0; + +// whether js opts will be run, after the main compiler +var RUNNING_JS_OPTS = 0; + +// whether we are in the generate struct_info bootstrap phase +var BOOTSTRAPPING_STRUCT_INFO = 0; + +// struct_info that is either generated or cached +var STRUCT_INFO = ''; + +// Add some calls to emscripten tracing APIs +var EMSCRIPTEN_TRACING = 0; + +// Specify the GLFW version that is being linked against. Only relevant, if you +// are linking against the GLFW library. Valid options are 2 for GLFW2 and 3 +// for GLFW3. +var USE_GLFW = 2; + +// Whether to use compile code to WebAssembly. Set this to 0 to compile to +// asm.js. This will fetch the binaryen port and build it. (If, instead, you +// set BINARYEN_ROOT in your ~/.emscripten file, then we use that instead of the +// port, which can useful for local dev work on binaryen itself). +var WASM = 1; + +// Whether to use the WebAssembly backend that is in development in LLVM. You +// should not set this yourself, instead set EMCC_WASM_BACKEND=1 in the +// environment. +var WASM_BACKEND = 0; + +// Whether to compile object files as wasm as opposed to the default +// of using LLVM IR. +var WASM_OBJECT_FILES = 0; + +// How we should run WebAssembly code. By default, we run it natively. +// See binaryen's src/js/wasm.js-post.js for more details and options. +var BINARYEN_METHOD = "native-wasm"; + +// An optional comma-separated list of script hooks to run after binaryen, +// in binaryen's /scripts dir. +var BINARYEN_SCRIPTS = ""; + +// Whether to ignore implicit traps when optimizing in binaryen. Implicit traps +// are the unlikely traps that happen in a load that is out of bounds, or +// div/rem of 0, etc. We can reorder them, but we can't ignore that they have +// side effects, so turning on this flag lets us do a little more to reduce code +// size. +var BINARYEN_IGNORE_IMPLICIT_TRAPS = 0; + +// How we handle wasm operations that may trap, which includes integer +// div/rem of 0 and float-to-int of values too large to fit in an int. +// js: do exactly what js does. this can be slower. +// clamp: avoid traps by clamping to a reasonable value. this can be +// faster than "js". +// allow: allow creating operations that can trap. this is the most +// compact, as we just emit a single wasm operation, with no +// guards to trapping values, and also often the fastest. +var BINARYEN_TRAP_MODE = "allow"; + +// A comma-separated list of passes to run in the binaryen optimizer, for +// example, "dce,precompute,vacuum". When set, this overrides the default +// passes we would normally run. +var BINARYEN_PASSES = ""; + +// Set the maximum size of memory in the wasm module (in bytes). Without this, +// TOTAL_MEMORY is used (as it is used for the initial value), or if memory +// growth is enabled, the default value here (-1) is to have no limit, but you +// can set this to set a maximum size that growth will stop at. +// +// (This option was formerly called BINARYEN_MEM_MAX) +var WASM_MEM_MAX = -1; + +// Whether to compile the wasm asynchronously, which is more efficient and does +// not block the main thread. This is currently required for all but the +// smallest modules to run in V8 +var BINARYEN_ASYNC_COMPILATION = 1; + +// Directory where we can find Binaryen. Will be automatically set for you, but +// you can set it to override if you are a Binaryen developer. +var BINARYEN_ROOT = ""; + +// Whether to legalize the JS FFI interfaces (imports/exports) by wrapping them +// to automatically demote i64 to i32 and promote f32 to f64. This is necessary +// in order to interface with JavaScript, both for asm.js and wasm. For +// non-web/non-JS embeddings, setting this to 0 may be desirable. +// LEGALIZE_JS_FFI=0 is incompatible with RUNNING_JS_OPTS and using non-wasm +// BINARYEN_METHOD settings. +var LEGALIZE_JS_FFI = 1; + +// Ports + +// Specify the SDL version that is being linked against. +// 1, the default, is 1.3, which is implemented in JS +// 2 is a port of the SDL C code on emscripten-ports +var USE_SDL = 1; + +// Specify the SDL_gfx version that is being linked against. Must match USE_SDL +var USE_SDL_GFX = 0; + +// Specify the SDL_image version that is being linked against. Must match USE_SDL +var USE_SDL_IMAGE = 1; + +// Specify the SDL_ttf version that is being linked against. Must match USE_SDL +var USE_SDL_TTF = 1; + +// Specify the SDL_net version that is being linked against. Must match USE_SDL +var USE_SDL_NET = 1; + +// 1 = use icu from emscripten-ports +var USE_ICU = 0; + +// 1 = use zlib from emscripten-ports +var USE_ZLIB = 0; + +// 1 = use libpng from emscripten-ports +var USE_LIBPNG = 0; + +// 1 = use bullet from emscripten-ports +var USE_BULLET = 0; + +// 1 = use vorbis from emscripten-ports +var USE_VORBIS = 0; + +// 1 = use ogg from emscripten-ports +var USE_OGG = 0; + +// 1 = use freetype from emscripten-ports +var USE_FREETYPE = 0; + +// 1 = use harfbuzz from harfbuzz upstream +var USE_HARFBUZZ = 0; + +// 3 = use cocos2d v3 from emscripten-ports +var USE_COCOS2D = 0; + +// Formats to support in SDL2_image. Valid values: bmp, gif, lbm, pcx, png, pnm, tga, xcf, xpm, xv +var SDL2_IMAGE_FORMATS = []; + +// Compiler debugging options +// +// Some useful items: +// framework +// frameworkLines +// gconst +// types +// vars +// unparsedFunctions +// metadata +// legalizer +var DEBUG_TAGS_SHOWING = []; + +// For internal use only +var ORIGINAL_EXPORTED_FUNCTIONS = []; + +// The list of defines (C_DEFINES) was moved into struct_info.json in the same +// directory. That file is automatically parsed by tools/gen_struct_info.py. +// If you modify the headers, just clear your cache and emscripten libc should +// see the new values. + +// If true, the current build is performed for the Emscripten test harness. +var IN_TEST_HARNESS = 0; + +// If true, enables support for pthreads. +var USE_PTHREADS = 0; + +// Specifies the number of web workers that are preallocated before runtime is +// initialized. If 0, workers are created on demand. +var PTHREAD_POOL_SIZE = 0; + +// If not explicitly specified, this is the stack size to use for newly created +// pthreads. According to +// http://man7.org/linux/man-pages/man3/pthread_create.3.html, default stack +// size on Linux/x86-32 for a new thread is 2 megabytes, so follow the same +// convention. Use pthread_attr_setstacksize() at thread creation time to +// explicitly specify the stack size, in which case this value is ignored. Note +// that the asm.js/wasm function call control flow stack is separate from this +// stack, and this stack only contains certain function local variables, such as +// those that have their addresses taken, or ones that are too large to fit as +// local vars in asm.js/wasm code. +var DEFAULT_PTHREAD_STACK_SIZE = 2*1024*1024; + +// Specifies the value returned by the function emscripten_num_logical_cores() +// if navigator.hardwareConcurrency is not supported. Pass in a negative number +// to show a popup dialog at startup so the user can configure this dynamically. +var PTHREAD_HINT_NUM_CORES = 4; + +// True when building with --threadprofiler +var PTHREADS_PROFILING = 0; + +// If true, add in debug traces for diagnosing pthreads related issues. +var PTHREADS_DEBUG = 0; + +var MAX_GLOBAL_ALIGN = -1; // received from the backend +var IMPLEMENTED_FUNCTIONS = []; // received from the backend +var JSCALL_START_INDEX = 0; // received from the backend +var JSCALL_SIG_ORDER = {}; // received from the backend + +// Duplicate function elimination. This coalesces function bodies that are +// identical, which can happen e.g. if two methods have different C/C++ or LLVM +// types, but end up identical at the asm.js level (all pointers are the same as +// int32_t in asm.js, for example). +// +// This option is quite slow to run, as it processes and hashes all methods in +// the codebase in multiple passes. +var ELIMINATE_DUPLICATE_FUNCTIONS = 0; // disabled by default +var ELIMINATE_DUPLICATE_FUNCTIONS_DUMP_EQUIVALENT_FUNCTIONS = 0; +var ELIMINATE_DUPLICATE_FUNCTIONS_PASSES = 5; + +// This tries to evaluate global ctors at compile-time, applying their effects +// into the mem init file. This saves running code during startup, and also +// allows removing the global ctor functions and other code that only they used, +// so this is also good for reducing code size. However, this does make the +// compile step much slower. +// +// This basically runs the ctors during compile time, seeing if they execute +// safely in a sandbox. Any ffi access out of asm.js causes failure, as it could +// do something nondeterministic and/or alter some other state we don't see. If +// all the global ctor does is pure computation inside asm.js, it should be ok. +// Run with EMCC_DEBUG=1 in the env to see logging, and errors when it fails to +// eval (you'll see a message, or a stack trace; in the latter case, the +// functions on the stack should give you an idea of what ffi was called and +// why, and perhaps you can refactor your code to avoid it, e.g., remove +// mallocs, printfs in global ctors). +// +// This optimization can increase the size of the mem init file, because ctors +// can write to memory that would otherwise be in a zeroinit area. This may not +// be a significant increase after gzip, if there are mostly zeros in there, and +// in any case the mem init increase would be offset by a code size decrease. +// (Unless you have a small ctor that writes 'random' data to memory, which +// would reduce little code but add potentially lots of uncompressible data.) +// +// LLVM's GlobalOpt *almost* does this operation. It does in simple cases, where +// LLVM IR is not too complex for its logic to evaluate, but it isn't powerful +// enough for e.g. libc++ iostream ctors. It is just hard to do at the LLVM IR +// level - LLVM IR is complex and getting more complex, this would require +// GlobalOpt to have a full interpreter, plus a way to write back into LLVM IR +// global objects. At the asm.js level, however, everything has been lowered +// into a simple low level, and we also just need to write bytes into an array, +// so this is easy for us to do, but not for LLVM. A further issue for LLVM is +// that it doesn't know that we will not link in further code, so it only tries +// to optimize ctors with lowest priority. We do know that, and can optimize all +// the ctors. +var EVAL_CTORS = 0; + +// see http://kripken.github.io/emscripten-site/docs/debugging/CyberDWARF.html +var CYBERDWARF = 0; + +// Path to the CyberDWARF debug file passed to the compiler +var BUNDLED_CD_DEBUG_FILE = ""; + +// Is enabled, use the JavaScript TextDecoder API for string marshalling. +// Enabled by default, set this to 0 to disable. +var TEXTDECODER = 1; + +// Embind specific: If enabled, assume UTF-8 encoded data in std::string binding. +// Disable this to support binary data transfer. +var EMBIND_STD_STRING_IS_UTF8 = 1; + +// If set to 1, enables support for transferring canvases to pthreads and +// creating WebGL contexts in them, as well as explicit swap control for GL +// contexts. This needs browser support for the OffscreenCanvas specification. +var OFFSCREENCANVAS_SUPPORT = 0; + +// If set to 1, enables support for WebGL contexts to render to an offscreen +// render target, to avoid the implicit swap behavior of WebGL where exiting any +// event callback would automatically perform a "flip" to present rendered +// content on screen. When an Emscripten GL context has Offscreen Framebuffer +// enabled, a single frame can be composited from multiple event callbacks, and +// the swap function emscripten_webgl_commit_frame() is then explicitly called +// to present the rendered content on screen. +// +// The OffscreenCanvas feature also enables explicit GL frame swapping support, +// and also, -s OFFSCREEN_FRAMEBUFFER=1 feature can be used to polyfill support +// for accessing WebGL in multiple threads in the absence of OffscreenCanvas +// support in browser, at the cost of some performance and latency. +// OffscreenCanvas and Offscreen Framebuffer support can be enabled at the same +// time, and allows one to utilize OffscreenCanvas where available, and to fall +// back to Offscreen Framebuffer otherwise. +var OFFSCREEN_FRAMEBUFFER = 0; + +// If nonzero, prints out debugging information in library_fetch.js +var FETCH_DEBUG = 0; + +// If nonzero, enables emscripten_fetch API. +var FETCH = 0; + +// If set to 1, uses the multithreaded filesystem that is implemented within the +// asm.js module, using emscripten_fetch. Implies -s FETCH=1. +var ASMFS = 0; + +// If set to 1, embeds all subresources in the emitted file as base64 string +// literals. Embedded subresources may include (but aren't limited to) wasm, +// asm.js, and static memory initialization code. +// +// When using code that depends on this option, your Content Security Policy may +// need to be updated. Specifically, embedding asm.js requires the script-src +// directive to whitelist 'unsafe-inline', and using a Worker requires the +// child-src directive to whitelist blob:. If you aren't using Content Security +// Policy, or your CSP header doesn't include either script-src or child-src, +// then you can safely ignore this warning. +var SINGLE_FILE = 0; + +// For internal use only (name of the file containing wasm text, if relevant). +var WASM_TEXT_FILE = ''; + +// For internal use only (name of the file containing wasm binary, if relevant). +var WASM_BINARY_FILE = ''; + +// For internal use only (name of the file containing asm.js, if relevant). +var ASMJS_CODE_FILE = ''; + +// Base URL the source mapfile, if relevant +var SOURCE_MAP_BASE = ''; + +// for internal use only +var MEM_INIT_IN_WASM = 0; + +// If set to 1, src/base64Utils.js will be included in the bundle. +// This is set internally when needed (SINGLE_FILE) +var SUPPORT_BASE64_EMBEDDING = 0; + +// For internal use only, the possible environments the code may run in. +var ENVIRONMENT_MAY_BE_WEB = 1; +var ENVIRONMENT_MAY_BE_WORKER = 1; +var ENVIRONMENT_MAY_BE_NODE = 1; +var ENVIRONMENT_MAY_BE_SHELL = 1; +var ENVIRONMENT_MAY_BE_WEB_OR_WORKER = 1; diff --git a/thirdparty/libhevc b/thirdparty/libhevc new file mode 160000 index 00000000..d961f28a --- /dev/null +++ b/thirdparty/libhevc @@ -0,0 +1 @@ +Subproject commit d961f28a3ee95abef7322d7bea0c084b939bff16